本發明涉及固態硬盤,尤其涉及一種固態硬盤加密存儲保護系統。
背景技術:
1、在現代計算環境中,固態存儲設備(ssd)因其高速的讀寫能力和較高的耐用性而廣泛被采用。這些設備通常配備有易失性隨機存取存儲器(volatile?random-accessmemory,vram),用于臨時存儲待寫入數據,以此減少對非易失性存儲介質(nvm)的寫入操作,優化性能并延長設備壽命。然而,vram在電源中斷時無法保持數據,導致數據丟失的風險。
2、針對這一挑戰,部分高端ssd設計中集成了輔助電源解決方案,如超級電容器,以在電源中斷后提供短暫的電力支持,確保vram中的數據能夠被轉移到nvm中,從而保護數據不受損失。然而,由于超級電容器的成本和技術限制,它們提供的電力維持時間有限,且無法無限擴展。因此,在面對大量待寫入數據時,這種方案可能無法在短時間內將所有數據安全轉移,增加了關鍵數據丟失的潛在風險。
技術實現思路
1、鑒于以上技術問題,本發明提供了一種固態硬盤加密存儲保護系統,以解決現有技術中固態硬盤斷電后dram緩沖區中的數據容易丟失且無法恢復的問題。
2、本發明的其他特征和優點將通過下面的詳細描述變得顯然,或部分地通過本發明的實踐而習得。
3、根據本發明的一方面,公開一種固態硬盤加密存儲保護系統,所述系統包括:
4、數據選擇模塊,所述數據選擇模塊用于定義固態硬盤的選擇性保護接口,以使得應用程序將包含有標記或無標記的寫入數據寫入至所述固態硬盤中,所述固態硬盤根據所述寫入數據中是否包含所述標記,選擇性地將所述寫入數據分類為長期數據或低級數據;
5、緩沖區域劃分模塊,所述緩沖區域劃分模塊用于將所述固態硬盤的dram緩沖區域劃分為長期支持區和非支持區,將所述長期數據存儲在所述長期支持區,將所述低級數據存儲在所述非支持區,并基于緩沖區命中表和緩沖區列表,在應用程序執行數據讀取和寫入時,實現對所述長期數據或所述低級數據的讀取請求和順序寫入,所述長期支持區包括日志區域和預寫日志區域,所述日志區域用于存儲所述固態硬盤的管理文件系統的元數據,所述預寫日志區域用于存儲rocksdb的預寫日志,所述元數據和所述預寫日志屬于所述長期數據的一種;
6、加密保護模塊,所述加密保護模塊用于在所述固態硬盤斷電后及其內置電容臨時供電時,將所述長期數據的原始地址信息臨時寫入當前具有最低延遲的一個或多個nand內存的帶外區域中,并加密,以及,在所述固態硬盤恢復供電后,檢查每個所述nand內存的所述帶外區域,根據所檢查到所述原始地址信息,將對應的所述長期數據恢復至原始位置。
7、進一步的,在基于所述緩沖區命中表進行數據讀取時,包括:
8、所述緩沖區命中表為存儲在所述dram緩沖區中的每個扇區維護一個參考位,所述參考位用于指示對應扇區的數據是否當前存儲在所述dram緩沖區的所述長期支持區或所述非支持區中;
9、在應用程序執行數據讀取命令時,通過掃描所述緩沖區命中表來查找與命令提供的目標扇區號相對應的所述參考位,若在所述緩沖區命中表中找到對應的目標扇區號相對應的所述參考位,定位對應數據的位置,并直接進行讀取操作,若在所述緩沖區命中表中未找到相應的目標扇區號,則從所述nand內存中讀取數據并加載到所述dram緩沖區的所述長期支持區或所述非支持區中。
10、進一步的,在基于所述緩沖區列表進行數據寫入時,包括:
11、所述緩沖區列表為所述dram緩沖區每個單元的索引,在應用程序執行寫入命令時,根據所述緩沖區列表確定目標區域的緩沖區單元,并將數據寫入所述長期支持區或所述非支持區的相應緩沖區中,若所述長期支持區或所述非支持區中的緩沖區空間不足,基于緩存替換策略,將設定時間內最少使用的數據移出所述長期支持區或所述非支持區后,再執行寫入操作。
12、進一步的,所述緩沖區域劃分模塊還用于:停止所述長期支持區中的刷新寫入操作和設定閾值寫入操作,所述刷新寫入操作為定期將所述長期支持區內的數據寫入至所述nand內存的操作,所述閾值寫入操作為在所述長期支持區的數據超過閾值時,將所述長期支持區內的全部數據寫入至所述nand內存。
13、進一步的,所述緩沖區域劃分模塊還用于:創建緩沖池,所述緩沖池由所述dram緩沖區中的多個緩沖區組成,每個緩沖區具有單獨的元數據結構,在應用程序執行寫入命令時,從所述緩沖池中分配一個空閑的緩沖區,將需要寫入的數據寫入到分配的緩沖區中,并根據寫入數據是否包含有所述標記或所述無標記,將分配的緩沖區插入至所述長期支持區或所述非支持區的所述緩沖區列表中。
14、本發明的技術方案具有以下有益效果:
15、基于設置的標記和將dram緩沖區域劃分為長期支持區和非支持區,使得需要保護的數據可以有目的地寫入到長期支持區,使得固態硬盤在斷電恢復時有選擇地將長期支持區內的長期數據的原始地址信息寫入到nand內存中,大大減少了數據恢復量,簡化數據恢復過程,確保重要數據得到保護和恢復。
1.一種固態硬盤加密存儲保護系統,其特征在于,所述系統包括:
2.根據權利要求1所述的一種固態硬盤加密存儲保護系統,其特征在于,在基于所述緩沖區命中表進行數據讀取時,包括:
3.根據權利要求1所述的一種固態硬盤加密存儲保護系統,其特征在于,在基于所述緩沖區列表進行數據寫入時,包括:
4.根據權利要求1所述的一種固態硬盤加密存儲保護系統,其特征在于,所述緩沖區域劃分模塊還用于:停止所述長期支持區中的刷新寫入操作和設定閾值寫入操作,所述刷新寫入操作為定期將所述長期支持區內的數據寫入至所述nand內存的操作,所述閾值寫入操作為在所述長期支持區的數據超過閾值時,將所述長期支持區內的全部數據寫入至所述nand內存。
5.根據權利要求1所述的一種固態硬盤加密存儲保護系統,其特征在于,所述緩沖區域劃分模塊還用于:創建緩沖池,所述緩沖池由所述dram緩沖區中的多個緩沖區組成,每個緩沖區具有單獨的元數據結構,在應用程序執行寫入命令時,從所述緩沖池中分配一個空閑的緩沖區,將需要寫入的數據寫入到分配的緩沖區中,并根據寫入數據是否包含有所述標記或所述無標記,將分配的緩沖區插入至所述長期支持區或所述非支持區的所述緩沖區列表中。