TWI736000B - 資料儲存裝置以及其操作方法 - Google Patents
資料儲存裝置以及其操作方法 Download PDFInfo
- Publication number
- TWI736000B TWI736000B TW108139663A TW108139663A TWI736000B TW I736000 B TWI736000 B TW I736000B TW 108139663 A TW108139663 A TW 108139663A TW 108139663 A TW108139663 A TW 108139663A TW I736000 B TWI736000 B TW I736000B
- Authority
- TW
- Taiwan
- Prior art keywords
- specific data
- data
- host
- storage device
- data storage
- Prior art date
Links
Images
Landscapes
- Storage Device Security (AREA)
Abstract
一種資料儲存裝置安全保護機制。該資料儲存裝置包括一非揮發式記憶體以及一控制單元。該控制單元讀取該非揮發式記憶體以取得一特定資料,加密該特定資料以取得一加密特定資料,並自主地上傳該加密特定資料至一主機的一動態隨機存取記憶體。
Description
本發明係有關於資料儲存裝置。
資料儲存裝置所採用的非揮發性記憶體可以是快閃記憶體(flash memory)、磁阻式隨機存取記憶體(Magnetoresistive RAM)、鐵電隨機存取記憶體(Ferroelectric RAM)、電阻式記憶體(Resistive RAM,RRAM)、自旋轉移力矩隨機存取記憶體(Spin Transfer Torque-RAM, 簡稱STT-RAM)…等,用於長時間資料保存。如何保護非揮發性記憶體不受駭客攻擊為本技術領域一項重要課題。
根據本案一種實施方式所實現的一資料儲存裝置包括一非揮發式記憶體以及一控制單元。該控制單元讀取該非揮發式記憶體以取得一特定資料,加密該特定資料以取得一加密特定資料,並自主地上傳該加密特定資料至一主機的一動態隨機存取記憶體。
根據本案一種實施方式所實現的一資料儲存裝置控制方法包括:讀取一非揮發式記憶體以取得一特定資料;加密該特定資料以取得一加密特定資料;以及自主地上傳該加密特定資料至一主機的一動態隨機存取記憶體。
本案對該主機的該動態隨機存取記憶體之應用屬於自主式,並非上傳該加密特定資料供該主機讀取。該特定資料可為映射表或是韌體。該主機無法解密該加密特定資料。
一種實施方式中,該控制單元自主地自該主機的該動態隨機存取記憶體取得該加密特定資料,解密該加密特定資料以還原出該特定資料,並依據該特定資料操作該非揮發式記憶體以回應來自該主機的一指令。
一種實施方式中,該控制單元更對該特定資料產生一驗證碼,並自主地上傳該驗證碼至該主機的該動態隨機存取記憶體。
一種實施方式中,所述之資料儲存裝置解密該加密特定資料以還原出該特定資料後,該控制單元更依據一驗證碼而對該特定資料進行驗證。
下文特舉實施例,並配合所附圖示,詳細說明本發明內容。
以下敘述列舉本發明的多種實施例。以下敘述介紹本發明的基本概念,且並非意圖限制本發明內容。實際發明範圍應依照申請專利範圍界定之。
關於一資料儲存裝置之實現,本案所使用的非揮發性記憶體可以是快閃記憶體(flash memory)、磁阻式隨機存取記憶體(Magnetoresistive RAM)、鐵電隨機存取記憶體(Ferroelectric RAM)、電阻式記憶體(Resistive RAM,RRAM)、自旋轉移力矩隨機存取記憶體(Spin Transfer Torque-RAM, 簡稱STT-RAM)…等,具有長時間資料保存之記憶體裝置。以下特別以快閃記憶體(flash memory)為例進行討論,但並不意圖限定之。
第1圖以方塊圖圖解根據本案一種實施方式所實現的一資料儲存裝置100,其中包括一快閃記憶體102、一控制單元104、一匯流排介面106以及一非揮發式記憶體介面控制器108。資料儲存裝置100透過該匯流排介面106與一主機110連結。該匯流排介面106由該非揮發式記憶體介面控制器108控制。控制單元104耦接在該非揮發式記憶體介面控制器108以及該快閃記憶體102之間,以根據主機110端發送而來的指令操作該快閃記憶體102。
快閃記憶體102之操作有其特殊性。一種實施方式中,快閃記憶體102包括複數個物理區塊(blocks)。各物理區塊包括複數個物理頁(pages),例如:256個物理頁。每一物理頁的資料區可劃分為複數個儲存單元。每一儲存單元可儲存至少一個邏輯區塊位址(LBA)所對應的資料。例如:每一儲存單元儲存4KB內容,對應8個邏輯區塊位址(如LBA#0~LBA#7之類)。快閃記憶體102儲存空間與邏輯區塊位址之間的映射關係可以上述儲存單元為單位做管理,記錄成一個表格或映射表H2F。映射表H2F較佳是以邏輯區塊位址LBA為索引。除了映射表H2F之外,使用者可建立其他類型的表格或映射表以管理快閃記憶體102所儲存的資料。例如,以物理區塊之物理空間為索引,記錄其儲存資料所對應的邏輯區塊位址LBA所產生的表格F2H,其中,加總後的表格F2H與映射表H2F的內容具有反向的關連。為了管理快閃記憶體102空間,控制單元104在運算中需要使用到大量資料暫存空間以儲存表格資訊。
另外,快閃記憶體102資料更新並非對同樣儲存空間作複寫,而是將更新資料儲存在閒置空間。原儲存空間的儲存內容則轉為無效。主機110端頻繁的寫入要求容易致使快閃記憶體102儲存空間充斥無效的儲存內容,致使快閃記憶體102的儲存內容的有效率低落。對於充斥無效物理頁的物理區塊,快閃記憶體102需要垃圾回收(Garbage Collection)機制。待整理之物理區塊的有效物理頁將被複製至其他物理區塊,使該物理區塊空留無效物理頁,得以藉抹除(erase)操作釋出其空間。然而,抹除操作對物理區塊的可靠度會有傷害,危及資料保存(data retention)。此外,快閃記憶體102更有讀取擾動議題(read disturbance issues)。讀取操作時,目標字線(WL)的周邊字線須備施加高電壓,將使得周邊字線的所操控的記憶單元內容產生擾動。快閃記憶體102可靠度也會因而降低。為了應付快閃記憶體102種種特殊的物理特性,控制單元104在操作快閃記憶體102時,需要使用到大空間儲存運算資料、甚至相關程式碼。
因應前述大尺寸的資料暫存需求,本案使用一種主機記憶體緩衝(Host Memory Buffer,簡稱HMB)技術。
參閱第1圖,主機110端包括運算單元112以及動態隨機存取記憶體114。關於前述大尺寸的資料暫存需求,控制單元104是以加密方式使用主機110端該動態隨機存取記憶體114的局部空間116。 特別是,本案控制單元104令加/解密密鑰保護於資料儲存裝置100端,例如:隱藏(hidden)區塊、保密(confidential)區塊、ROM image、ISP或e-fuse中,不隨著加密後的資料傳遞至主機110端儲存至該動態隨機存取記憶體114的該空間116。如此一來,入侵主機110的駭客在竊取動態隨機存取記憶體114該空間116內容時,只空得加密的亂碼,但不知密鑰為何。駭客將無從竊得該資料儲存裝置100的資訊。
如第1圖所示,控制單元104包括一記憶體120,其尺寸可遠小於動態隨機存取記憶體114提供的該空間116,大幅降低資料儲存裝置100之成本。關於動態隨機存取記憶體114該空間116之配置使用,其映射資訊可以是儲存在該記憶體120中。一種實施方式中,該記憶體120可以是靜態隨機存取記憶體SRAM。更有其他實施方式是以尺寸遠小於空間116的一動態隨機存取記憶體DRAM實現該記憶體120。
第1圖控制單元104更包括一加/解密模塊122,使欲採HMB技術的內容加密後再傳遞給主機110儲存至動態隨機存取記憶體114該空間116。自動態隨機存取記憶體114該空間116讀出並傳遞回該資料儲存裝置100的資料也是以該加/解密模塊122解密。一種實施方式是以高級加密標準(Advanced Encryption Standard,簡稱AES)實現該加/解密模塊122。加/解密模塊122可以是硬件或是以軟硬體結合設計形成。除了使用對稱性加/解密的AES之外,使用者亦可以選用非對稱性加/解密的方式,例如RSA,或者,兩者的結合。當使用非對稱性加/解密時,則公開金鑰及私密金鑰皆保護於資料儲存裝置100端。
第1圖中,為防止駭客竄改該動態隨機存取記憶體114中該空間116的資料,控制單元104更包括一驗證模塊124。關於主機記憶體緩衝HMB,該驗證模塊124負責依欲上傳至主機110端的內容產生驗證碼。驗證碼可附加在上傳的資料中,或是儲存在資料儲存裝置100的記憶體120。待資料自動態隨機存取記憶體114中該空間116讀出並傳遞回該資料儲存裝置100,驗證模塊124會重現驗證碼、並將之與讀回的附加驗證碼或是記憶體120所儲存的驗證碼比對,作為採HMB的資料在主機110的空間116是否被竄改的依據。一種實施方式以循環冗餘校驗(Cyclic Redundancy Check,簡稱CRC)實現該驗證模塊124。另一種實施方式以安全雜湊演算法(Secure Hash Algorithm,縮寫為SHA)實現該驗證模塊124。驗證模塊124可以是硬件或是以軟硬體結合設計形成。
所述資料儲存裝置100可為記憶卡(memory card)、通用序列匯流排閃存裝置(USB flash device)、固態硬碟(SSD) …等產品。有一種應用是採多晶片封裝、將快閃記憶體102與其控制單元104包裝在一起─稱為嵌入式快閃記憶體模組(如eMMC)。可攜式電子裝置(例如,手機、平板…等)之中央處理單元CPU以及尺寸甚至上達數G的動態隨機存取記憶體可分別為第1圖所示之運算單元112以及動態隨機存取記憶體114。可攜式電子裝置必定會配置的大尺寸動態隨機存取記憶體,可輕鬆提供空間116而不拖累系統效能。
關於欲利用主機110端該動態隨機存取記憶體114該空間116暫存的資料,第2A圖根據本案一種實施方式對比其在資料儲存裝置100端以及主機110端的格式。資料202可為前述之表格映射資訊、或快閃記憶體102操作所需之暫存資料或程式碼。驗證模塊124依據資料202產生驗證碼204。此實施方式中,加/解密模塊122是同時對資料202與驗證碼204都進行加密。如圖所示,傳遞至主機110端該動態隨機存取記憶體114該空間116暫存的資料206包括加密之資料202以及加密之驗證碼204。無密鑰資訊的主機110端無法自資料206獲知有意義內容。待資料206自主機110端讀回,其解密是保護在資料儲存裝置100端由該加/解密模塊122進行。解密所得的驗證碼204是被用來驗證主機110是否曾發生竄改事件。
相較於第2A圖,第2B圖描述本案另一種實施方式。此實施方式中,加/解密模塊122對資料202加密、但沒有加密驗證碼204。如圖所示,傳遞至主機110端該動態隨機存取記憶體114該空間116暫存的資料208不包括驗證碼204內容。如此一來,驗證碼204更被保護不會被駭客惡意在主機110端竄改。
第3圖圖解一映射表300,顯示控制單元104對主機110端該動態隨機存取記憶體114的使用狀況。控制單元110可發出一空間配置要求給該主機110,使主機110的運算單元112配置其動態隨機存取記憶體114提供空間116給該控制單元104運用。空間116可為連續空間或分散在該動態隨機存取記憶體114多個區域的零碎空間。控制單元104可根據資料編號記錄該映射表300,顯示各資料編號所使用的主機110端動態隨機存取記憶體114位址以及長度。各段資料可對應特定資料尺寸,如,2KB、4KB或16KB的內容。
第4圖為流程圖,描述資料儲存裝置100如何處理資料以儲存至主機110端動態隨機存取記憶體114。步驟S402依資料產生驗證碼。步驟S404加密資料。步驟S406配置主機110端的動態隨機存取記憶體114空間,並相應填寫映射表300。步驟S408傳遞已加密資料至主機110端,寫入步驟S406所配置之空間。步驟S402之驗證碼可選擇同樣進入後續加密以及傳遞步驟(第2A圖)或是保護於資料儲存裝置100端(第2B圖)。
第5圖為流程圖,描述資料如何自主機110端動態隨機存取記憶體114讀回資料儲存裝置100。步驟S502查詢映射表300,用於步驟S504之執行,據以自主機110端的該動態隨機存取記憶體114取得加密資料。步驟S506在資料儲存裝置100內部對加密資料進行解密。步驟S508進行資料驗證。對應第2A圖,步驟S508可以是在解密資料中獲得驗證碼。對應第2B圖,步驟S508可以是在資料儲存裝置100內部取得先前存下的驗證碼。
由於主機記憶體緩衝使用的是主機110的動態隨機存取記憶體114空間116,會隨斷電消失。控制單元104可定期訪問主機110的動態隨機存取記憶體114空間116,將資料寫入快閃記憶體102做非揮發式儲存。
一種實施方式中,資料儲存裝置100的韌體更新可以是先寫入快閃記憶體102。當韌體執行時,再利用本案的主機記憶體緩衝HMB技術將韌體載入主機110的動態隨機存取記憶體114空間116供控制單元104運行使用。控制單元104對主機110端該動態隨機存取記憶體114存取速度可由功能強大的該非揮發式記憶體介面控制器108確保。
其他採用上述概念達到安全使用主機端動態隨機存取記憶體空間的技術都屬於本案所欲保護的範圍。基於以上技術內容,本案更涉及資料儲存裝置操作方法。
雖然本發明已以較佳實施例揭露如上,然其並非用以限定本發明,任何熟悉此項技藝者,在不脫離本發明之精神和範圍內,當可做些許更動與潤飾,因此本發明之保護範圍當視後附之申請專利範圍所界定者為準。
100:資料儲存裝置
102:快閃記憶體
104:控制單元
106:匯流排介面
108:非揮發式記憶體介面控制器
110:主機
112:運算單元
114:動態隨機存取記憶體
116:動態隨機存取記憶體114的局部空間
120:記憶體
122:加/解密模塊
124:驗證模塊
202:資料
204:驗證碼
206:加密之資料202+加密之驗證碼204
208:加密之資料202
300:映射表
S402…S408與S502…S508:步驟
第1圖以方塊圖圖解根據本案一種實施方式所實現的一資料儲存裝置100;
第2A圖以及第2B圖根據本案兩種實施方式,圖解主機記憶體緩衝HMB技術下,資料在資料儲存裝置100端以及主機110端的格式;
第3圖圖解一映射表300,顯示控制單元104對主機110端該動態隨機存取記憶體114的使用狀況;
第4圖為流程圖,描述資料儲存裝置100如何處理資料以儲存至主機110端動態隨機存取記憶體114;且
第5圖為流程圖,描述資料如何自主機110端動態隨機存取記憶體114讀回資料儲存裝置100。
100:資料儲存裝置
102:快閃記憶體
104:控制單元
106:匯流排介面
108:非揮發式記憶體介面控制器
110:主機
112:運算單元
114:動態隨機存取記憶體
116:動態隨機存取記憶體114的局部空間
120:記憶體
122:加/解密模塊
124:驗證模塊
Claims (14)
- 一種資料儲存裝置,包括:一非揮發式記憶體;以及一控制單元,讀取該非揮發式記憶體以取得一特定資料,加密該特定資料以取得一加密特定資料,並自主地上傳該加密特定資料至一主機的一動態隨機存取記憶體,其中,該控制單元自主地自該主機的該動態隨機存取記憶體取得該加密特定資料,解密該加密特定資料以還原出該特定資料,並依據該特定資料操作該非揮發式記憶體以回應來自該主機的一指令。
- 如申請專利範圍第1項所述之資料儲存裝置,其中該特定資料為一映射表。
- 如申請專利範圍第1項所述之資料儲存裝置,其中該特定資料為一韌體。
- 如申請專利範圍第1項所述之資料儲存裝置,其中自主地上傳該加密特定資料表示該控制單元並非上傳該加密特定資料供該主機讀取。
- 如申請專利範圍第1項所述之資料儲存裝置,其中該主機無法解密該加密特定資料。
- 如申請專利範圍第1項所述之資料儲存裝置,其中該控制單元更對該特定資料產生一驗證碼,並自主地上傳該驗證碼至該主機的該動態隨機存取記憶體。
- 如申請專利範圍第1項所述之資料儲存裝置,其中解密該加密特定資料以還原出該特定資料後,該控制單元更依據一驗證碼而對該特定資料進行驗證。
- 一種資料儲存裝置操作方法,包括:讀取一非揮發式記憶體以取得一特定資料;加密該特定資料以取得一加密特定資料;以及自主地上傳該加密特定資料至一主機的一動態隨機存取記憶體,自主地自該主機的該動態隨機存取記憶體取得該加密特定資料;解密該加密特定資料以還原出該特定資料;以及依據該特定資料操作該非揮發式記憶體以回應來自該主機的一指令。
- 如申請專利範圍第8項所述之資料儲存裝置操作方法,其中該特定資料為一映射表。
- 如申請專利範圍第8項所述之資料儲存裝置操作方法,其中該特定資料為一韌體。
- 如申請專利範圍第8項所述之資料儲存裝置操作方法,其中自主地上傳該加密特定資料表示並非上傳該加密特定資料供該主機讀取。
- 如申請專利範圍第8項所述之資料儲存裝置操作方法,其中該主機無法解密該加密特定資料。
- 如申請專利範圍第8項所述之資料儲存裝置操作方法,更包括: 對該特定資料產生一驗證碼;以及自主地上傳該驗證碼至該主機的該動態隨機存取記憶體。
- 如申請專利範圍第8項所述之資料儲存裝置操作方法,更包括:解密該加密特定資料以還原出該特定資料;以及依據一驗證碼而對該特定資料進行驗證。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW108139663A TWI736000B (zh) | 2017-03-07 | 2017-03-07 | 資料儲存裝置以及其操作方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW108139663A TWI736000B (zh) | 2017-03-07 | 2017-03-07 | 資料儲存裝置以及其操作方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW202011248A TW202011248A (zh) | 2020-03-16 |
TWI736000B true TWI736000B (zh) | 2021-08-11 |
Family
ID=70766642
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW108139663A TWI736000B (zh) | 2017-03-07 | 2017-03-07 | 資料儲存裝置以及其操作方法 |
Country Status (1)
Country | Link |
---|---|
TW (1) | TWI736000B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11502832B2 (en) | 2020-06-04 | 2022-11-15 | PUFsecurity Corporation | Electronic device capable of protecting confidential data |
TWI775098B (zh) * | 2020-06-17 | 2022-08-21 | 和碩聯合科技股份有限公司 | 可移除儲存裝置及其資料保護方法 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101120349A (zh) * | 2004-12-21 | 2008-02-06 | 桑迪士克股份有限公司 | 带有流中数据加密/解密的存储器系统 |
-
2017
- 2017-03-07 TW TW108139663A patent/TWI736000B/zh active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101120349A (zh) * | 2004-12-21 | 2008-02-06 | 桑迪士克股份有限公司 | 带有流中数据加密/解密的存储器系统 |
Also Published As
Publication number | Publication date |
---|---|
TW202011248A (zh) | 2020-03-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI679554B (zh) | 資料儲存裝置以及其操作方法 | |
US10503934B2 (en) | Secure subsystem | |
US10896267B2 (en) | Input/output data encryption | |
US20230139330A1 (en) | Storage device for a blockchain network based on proof of space and system including the same | |
KR102223819B1 (ko) | 자기 암호화 드라이브를 위한 가상 밴드 집중 | |
US20140032935A1 (en) | Memory system and encryption method in memory system | |
US10749672B2 (en) | Computing system having an on-the-fly encryptor and an operating method thereof | |
US10671546B2 (en) | Cryptographic-based initialization of memory content | |
US20160062921A1 (en) | Application processor and data processing system including the same | |
US8886963B2 (en) | Secure relocation of encrypted files | |
US9298647B2 (en) | Method and apparatus to generate zero content over garbage data when encryption parameters are changed | |
TW201333701A (zh) | 資料保護方法、記憶體控制器與記憶體儲存裝置 | |
TWI736000B (zh) | 資料儲存裝置以及其操作方法 | |
US20100211801A1 (en) | Data storage device and data management method thereof | |
US20220393859A1 (en) | Secure Data Storage with a Dynamically Generated Key | |
TWI775284B (zh) | 記憶系統、其控制方法及資訊處理系統 | |
US20240220667A1 (en) | Storage device and computing device including the same | |
US20230359369A1 (en) | Storage compute services for encrypted data | |
US20230384954A1 (en) | Storage device and data processing method | |
TW202403773A (zh) | 半導體裝置及用以管理其之安全操作的系統與方法 | |
JP5978260B2 (ja) | 自己暗号化ドライブ用の仮想バンド集信 | |
Lee et al. | Secure Deletion for Flash-Based Self-Encrypting Drives |