TWI684865B - 用來進行適應性鎖定範圍管理之方法以及資料儲存裝置及其控制器 - Google Patents
用來進行適應性鎖定範圍管理之方法以及資料儲存裝置及其控制器 Download PDFInfo
- Publication number
- TWI684865B TWI684865B TW108109171A TW108109171A TWI684865B TW I684865 B TWI684865 B TW I684865B TW 108109171 A TW108109171 A TW 108109171A TW 108109171 A TW108109171 A TW 108109171A TW I684865 B TWI684865 B TW I684865B
- Authority
- TW
- Taiwan
- Prior art keywords
- range
- logical block
- new
- block address
- old
- Prior art date
Links
Images
Landscapes
- Storage Device Security (AREA)
- Memory System (AREA)
Abstract
本發明提供一種用來進行適應性鎖定範圍管理之方法以及資料儲存裝置及其控制器。該方法可包含:從該資料儲存裝置之外接收安全指令,其中該安全指令是關於將舊鎖定範圍變更為新鎖定範圍;依據該安全指令取得該新鎖定範圍的起始LBA以及長度值;判斷該新鎖定範圍的該起始LBA是否小於該舊鎖定範圍的結束LBA,且判斷該新鎖定範圍的該結束LBA是否大於該舊鎖定範圍的起始LBA;以及因應該新鎖定範圍的該起始LBA小於該舊鎖定範圍的該結束LBA以及該新鎖定範圍的該結束LBA大於該舊鎖定範圍的起始LBA,對該新鎖定範圍以及該舊鎖定範圍未重疊的部分執行資料修剪。
Description
本發明係有關於快閃記憶體(Flash memory)之存取(access),尤指一種用來進行適應性鎖定範圍管理(adaptive locking range management)之方法以及相關之資料儲存裝置及其控制器。
快閃記憶體可廣泛地應用於各種可攜式或非可攜式資料儲存裝置(例如:符合SD/MMC、CF、MS、XD或UFS標準之記憶卡;又例如:固態硬碟;又例如:符合UFS或EMMC規格之嵌入式(embedded)儲存裝置)中。以常用的NAND型快閃記憶體而言,最初有單階細胞(single level cell,SLC)、多階細胞(multiple level cell,MLC)等類型的快閃記憶體。由於記憶體的技術不斷地發展,較新的資料儲存裝置產品可採用三階細胞(triple level cell,TLC)快閃記憶體,甚至四階細胞(quadruple level cell,QLC)快閃記憶體。為了確保資料儲存裝置對快閃記憶體之存取控制能符合相關規範,快閃記憶體的控制器通常備有某些管理機制以妥善地管理其內部運作。
依據相關技術,有了這些管理機制的資料儲存裝置還是有不足之處。舉例來說,當製造商嘗試將資料儲存裝置實施成符合關於資料加密的某些規範時,相關操作可能需要被修改,這可導致這些管理機制中的某些部分變得更複雜。於是,資料儲存裝置之整體效能可能降低。因此,需要一種新穎的方
法及相關架構,以在沒有副作用或較不可能帶來副作用之狀況下實現具有可靠的管理機制之資料儲存裝置。
本發明之一目的在於提供一種用來進行適應性鎖定範圍管理之方法以及相關之資料儲存裝置及其控制器,以解決上述問題。
本發明之另一目的在於提供一種用來進行適應性鎖定範圍管理之方法以及相關之資料儲存裝置及其控制器,以在沒有副作用或較不可能帶來副作用之狀況下將可靠的管理機制賦予資料儲存裝置。
本發明之至少一實施例提供一種用來進行適應性鎖定範圍管理之方法,其中該方法係應用於一資料儲存裝置,該資料儲存裝置包含一非揮發性記憶體(non-volatile memory,NV memory),且該非揮發性記憶體包含至少一非揮發性記憶體元件(NV memory element)。該方法可包含:從該資料儲存裝置之外接收一安全(Security)指令,其中該安全指令是關於將一舊鎖定範圍(Locking Range)變更為一新鎖定範圍;依據該安全指令取得該新鎖定範圍的一起始邏輯區塊位址(Logical Block Address,LBA)以及一長度值,其中該新鎖定範圍的一結束邏輯區塊位址為該新鎖定範圍的該起始邏輯區塊位址與該長度值之總和;判斷該新鎖定範圍的該起始邏輯區塊位址是否小於該舊鎖定範圍的一結束邏輯區塊位址,且判斷該新鎖定範圍的該結束邏輯區塊位址是否大於該舊鎖定範圍的一起始邏輯區塊位址;以及因應該新鎖定範圍的該起始邏輯區塊位址小於該舊鎖定範圍的該結束邏輯區塊位址以及該新鎖定範圍的該結束邏輯區塊位址大於該舊鎖定範圍的該起始邏輯區塊位址,對該新鎖定範圍以及該舊鎖定範圍未重疊的部分執行資料修剪(Data Trimming)。
本發明之至少一實施例提供一種資料儲存裝置,其可包含:一非揮
發性記憶體,用來儲存資訊,其中該非揮發性記憶體包含至少一非揮發性記憶體元件;以及一控制器,耦接至該非揮發性記憶體,用來控制該資料儲存裝置之運作。該控制器可包含一處理電路,而該處理電路可依據來自一主機(host device)的複數個主機指令(host command)控制該控制器,以容許該主機透過該控制器存取該非揮發性記憶體。例如:該控制器從該主機接收一安全指令,其中該安全指令是關於將一舊鎖定範圍變更為一新鎖定範圍;該控制器依據該安全指令取得該新鎖定範圍的一起始邏輯區塊位址(LBA)以及一長度值,其中該新鎖定範圍的一結束邏輯區塊位址為該新鎖定範圍的該起始邏輯區塊位址與該長度值之總和;該控制器判斷該新鎖定範圍的該起始邏輯區塊位址是否小於該舊鎖定範圍的一結束邏輯區塊位址,且判斷該新鎖定範圍的該結束邏輯區塊位址是否大於該舊鎖定範圍的一起始邏輯區塊位址;以及因應該新鎖定範圍的該起始邏輯區塊位址小於該舊鎖定範圍的該結束邏輯區塊位址以及該新鎖定範圍的該結束邏輯區塊位址大於該舊鎖定範圍的該起始邏輯區塊位址,該控制器對該新鎖定範圍以及該舊鎖定範圍未重疊的部分執行資料修剪。
本發明之至少一實施例提供一種資料儲存裝置之控制器,其中該資料儲存裝置包含該控制器與一非揮發性記憶體,且該非揮發性記憶體包含至少一非揮發性記憶體元件。該控制器可包含一處理電路,而該處理電路可依據來自一主機的複數個主機指令控制該控制器,以容許該主機透過該控制器存取該非揮發性記憶體。例如:該控制器從該主機接收一安全指令,其中該安全指令是關於將一舊鎖定範圍變更為一新鎖定範圍;該控制器依據該安全指令取得該新鎖定範圍的一起始邏輯區塊位址(LBA)以及一長度值,其中該新鎖定範圍的一結束邏輯區塊位址為該新鎖定範圍的該起始邏輯區塊位址與該長度值之總和;該控制器判斷該新鎖定範圍的該起始邏輯區塊位址是否小於該舊鎖定範圍的一結束邏輯區塊位址,且判斷該新鎖定範圍的該結束邏輯區塊位址是否大於
該舊鎖定範圍的一起始邏輯區塊位址;以及因應該新鎖定範圍的該起始邏輯區塊位址小於該舊鎖定範圍的該結束邏輯區塊位址以及該新鎖定範圍的該結束邏輯區塊位址大於該舊鎖定範圍的該起始邏輯區塊位址,該控制器對該新鎖定範圍以及該舊鎖定範圍未重疊的部分執行資料修剪。
本發明的好處之一是,透過仔細設計之管理機制,本發明能針對該控制器的運作進行妥善的控制,尤其,能在不降低整體效能之狀況下實現符合某些規範之資料加密架構。另外,依據本發明之實施例來實施並不會增加許多額外的成本。因此,相關技術的問題可被解決,且整體成本不會增加太多。相較於傳統架構,本發明能在沒有副作用或較不可能帶來副作用之狀況下達到資料儲存裝置之最佳化效能。
50‧‧‧主機
100‧‧‧資料儲存裝置
110‧‧‧記憶體控制器
112‧‧‧微處理器
112C‧‧‧程式碼
112M‧‧‧唯讀記憶體
114‧‧‧控制邏輯電路
116‧‧‧緩衝記憶體
118‧‧‧傳輸介面電路
120‧‧‧非揮發性記憶體
122、122-1、122-2、...、122-N‧‧‧非揮發性記憶體元件
LBA#0、LBA#Max、LBA#A、LBA#B、LBA#C、LBA#D、LBA#E、LBA#F、LBA#A’、LBA#B’、LBA#C’、LBA#D’、LBA#E’、LBA#F’‧‧‧邏輯區塊位址
S12、S14、S16、S18、S20、S22‧‧‧步驟
第1圖為依據本發明一實施例之一種資料儲存裝置與一主機(host device)的示意圖。
第2圖繪示一全球範圍(Global Range)以及多個鎖定範圍(Locking Range)的例子。
第3圖為依據本發明一實施例之一種用來進行適應性鎖定範圍管理之方法的工作流程。
第4圖繪示依據本發明一實施例之該方法之一鎖定範圍更新方案。
第5圖為依據本發明一實施例之一種適應性鎖定範圍管理方法的示意圖。
請參考第1圖,第1圖為依據本發明一第一實施例之一種資料儲存裝
置100與一主機(host device)50的示意圖。例如:資料儲存裝置100可為固態硬碟(Solid State Drive,SSD)。另外,主機50的例子可包含(但不限於):多功能行動電話(multifunctional mobile phone)、平板電腦(tablet)、以及個人電腦(personal computer)諸如桌上型電腦與膝上型電腦。依據本實施例,資料儲存裝置100可包含一控制器諸如記憶體控制器110,且可另包含一非揮發性記憶體(non-volatile memory,NV memory)120,其中該控制器係用來存取(access)非揮發性記憶體120,且非揮發性記憶體120係用來儲存資訊。
非揮發性記憶體120可包含複數個非揮發性記憶體元件(NV memory element)122-1、122-2、...與122-N,其中符號「N」可代表大於一的正整數。例如:非揮發性記憶體120可為一快閃記憶體(Flash memory),而非揮發性記憶體元件122-1、122-2、...與122-N可分別為複數個快閃記憶體晶片(Flash memory chip;可簡稱為快閃晶片)或複數個快閃記憶體裸晶(Flash memory die;可簡稱為快閃裸晶),但本發明並不限於此。此外,資料儲存裝置100可更包括一揮發性記憶體元件以緩存資料,其中,該揮發性記憶體元件較佳為動態隨機存取記憶體(Dynamic Random Access Memory,簡稱DRAM)。揮發性記憶體元件可提供適當的資料暫存空間以緩存資料,或是僅提供小量的資料暫存空間以緩存小量資料。
記憶體控制器110可包含處理電路諸如微處理器112、儲存器諸如一唯讀記憶體(Read Only Memory,ROM)112M、控制邏輯電路114、緩衝記憶體116、與傳輸介面電路118,其中這些元件可透過一匯流排彼此耦接。緩衝記憶體116較佳為靜態隨機存取記憶體(Static Random Access Memory,簡稱SRAM)。舉例來說,如果資料儲存裝置100更配置有隨機存取記憶體(Dynamic Random Access Memory,簡稱DRAM),則記憶體控制器110可利用緩衝記憶體116作為第一層快取(Cache),並利用DRAM作為第二層快取。DRAM的資料儲
存量較佳大於緩衝記憶體116的資料儲存量,且DRAM所緩存的資料來自於緩衝記憶體116或非揮發性記憶體120。
本實施例之唯讀記憶體112M係用來儲存一程式碼112C,而微處理器112則用來執行程式碼112C以控制對非揮發性記憶體120之存取。請注意,程式碼112C亦得儲存在緩衝記憶體116或任何形式之記憶體內。此外,控制邏輯電路114可包含一錯誤更正碼電路(未顯示),以保護資料、及/或進行錯誤更正,而傳輸介面電路118可符合一特定通訊標準(諸如串列高級技術附件(Serial Advanced Technology Attachment,SATA)標準、快捷外設互聯(Peripheral Component Interconnect Express,PCIE)標準或非揮發性記憶體快捷(Non-Volatile Memory Express,NVME)標準)且可依據該特定通訊標準進行通訊。
於本實施例中,主機50可藉由傳送複數個主機指令(Host Command)至資料儲存裝置100以透過記憶體控制器110於非揮發性記憶體120中存取(例如讀取或寫入)資料,尤其,存取資料儲存裝置100中非揮發性記憶體120所儲存的資料(或稱為使用者資料),主機指令包括邏輯位址,例如:邏輯區塊位址(Logical Block Address,簡稱LBA)。記憶體控制器110接收主機指令並將主機指令分別轉譯成記憶體操作指令(簡稱操作指令),再以操作指令控制非揮發性記憶體120讀取、寫入(Write)/編程(Program)非揮發性記憶體120當中特定實體位址之頁面(Page)。記憶體控制器110將資料的邏輯位址與實體位址之間的映射關係記錄於邏輯對實體位址映射表(Logical-to-Physical Address Mapping Table,簡稱「L2P表」),其中,實體位址可由通道(Channel)編號、邏輯單元編號(Logical Unit Number,LUN)、平面(Plane)編號、區塊編號、頁面編號以及偏移量(Offset)所組成。於某些實施例中,實體位址的實施可予以變化。例如,實體位址可包含通道編號、邏輯單元編號、平面編號、區塊編號、頁面編號、及/或偏移量。
L2P表可儲存於非揮發性記憶體120中之一管理表中,且可分割成多個群組(Group),而記憶體控制器110可依緩衝記憶體116的容量大小而將該多個群組中之一個群組或全部群組從非揮發性記憶體120載入緩衝記憶體116中作為一暫時L2P表,以供快速參考,但本發明不限於此。當使用者資料更新時,記憶體控制器110可依據使用者資料的最新映射關係來更新該暫時L2P表、及/或該管理表中的L2P表。L2P表的一個群組的大小較佳等於非揮發性記憶體元件122-n的一個頁面(Page)的大小,例如16KB,其中符號「n」可代表區間[1,N]中之任一整數。又例如,該管理表中的該L2P表的一個群組的大小可等於多個非揮發性記憶體元件122的一個頁面(Page)的大小,例如在N=4的情況下,4個非揮發性記憶體元件122的一個頁面(Page)的大小,即64KB,其中這4個非揮發性記憶體元件122的頁面(Page)亦可稱為超級頁面(Super Page)。
對主機50而言,於資料儲存裝置100中可用的儲存空間可透過一系列LBA來存取。為了便於理解,假設主機50於資料儲存裝置100中寫滿資料。此情況下,每一筆資料都有一個獨一無二的LBA。例如,該系列LBA可包含一預定數量的LBA,而這些LBA的值落入從LBA#0到LBA#Max之範圍,其中Max為正整數。從LBA#0到LBA#Max之範圍可稱為全球範圍(Global Range)。主機50可設定全球範圍的存取權限的類別,例如,正常、讀取鎖定(Read-Locked)、寫入鎖定(Write-Locked)等等。另外,LBA的值可為連續的或不連續的,LBA的起始值可為0或任一正整數。
資料可區分成可存取資料以及限制存取資料。針對限制存取資料,主機50可在全球範圍中建立一或多個鎖定範圍(Locking Range)並設定該一或多個鎖定範圍的存取權限的類別,例如,正常、讀取鎖定(Read-Locked)、寫入鎖定(Write-Locked)等等。例如,該一或多個鎖定範圍可包含複數個鎖定範圍,諸如第2圖所示之鎖定範圍#0、鎖定範圍#1與鎖定範圍#2。之後,主機50可依據
使用者相關資訊(諸如使用者身份、使用者群組等)來設定使用者對於限制存取資料的存取權限。
針對鎖定範圍的資料,主機50較佳命令資料儲存裝置100使用金鑰將資料加密成密文(Ciphertext),亦可使用金鑰而直接將資料加密成密文後,再將密文儲存至資料儲存裝置100。假設全球範圍的存取權限為正常,鎖定範圍#0的資料以金鑰#0加密,存取權限為讀取鎖定。當未授權的使用者欲藉由主機50而讀取鎖定範圍#0的資料時,資料儲存裝置100乃回傳一回傳訊息(諸如資料存取錯誤或資料保護)至主機50。鎖定範圍#1的資料較佳以金鑰#1加密,或仍以金鑰#0加密,存取權限為寫入鎖定。當未授權的使用者欲藉由主機50而更新或寫入鎖定範圍#1的資料時,資料儲存裝置100乃回傳一回傳訊息(諸如資料存取錯誤或資料保護)至主機50。另外,金鑰#0與金鑰#1較佳以金鑰#2加密成密文,以保護金鑰#0與金鑰#1。另外,加密或解密較佳由資料儲存裝置100的記憶體控制器110所執行。
主機50可輸出安全(Security)指令或信任(Trusted)指令至資料儲存裝置100(尤其,記憶體控制器110)以調整或設定鎖定範圍。當鎖定範圍變更後,不在(新)鎖定範圍內的資料必需執行資料修剪(Trim),以保護原鎖定範圍內資料的機密性,而新增的鎖定範圍內的資料也需執行資料修剪。由於鎖定範圍會影響使用者存取資料的權利,因此,當鎖定範圍被調整或設定之後,如何快速地讓(新)鎖定範圍生效,並快速地完成資料修剪已成為技術上的一門重要課題。
本發明至少一實施例揭露一種用來進行適應性鎖定範圍管理之方法,此方法可應用於資料儲存裝置100,並由資料儲存裝置100的記憶體控制器110所執行,且可快速地讓(新)鎖定範圍生效,例如透過其高效率的工作流程,如第3圖所示。另外,為簡述說明,全球範圍的存取權限假設為正常,且資料儲
存裝置100已有(舊)鎖定範圍#0~#2,例如:(舊)鎖定範圍#0具有一起始LBA諸如LBA#A,且具有一結束LBA諸如LBA#B,並且其存取權限為讀取鎖定;(舊)鎖定範圍#1具有一起始LBA諸如LBA#C,且具有一結束LBA諸如LBA#D,並且其存取權限為寫入鎖定;以及(舊)鎖定範圍#2具有一起始LBA諸如LBA#E,且具有一結束LBA諸如LBA#F,存取權限為讀取鎖定。
於步驟S12中,記憶體控制器110接收來自外部的一安全指令。依據本實施例,記憶體控制器110可從資料儲存裝置100之外接收多個安全指令(諸如主機50所傳送之安全指令),而第3圖所示之工作流程可執行多次以分別針對該多個安全指令進行對應的操作,其中這些安全指令可指出主機50要求記憶體控制器110更新或變更該複數個鎖定範圍中之對應的鎖定範圍。上述對應的鎖定範圍可包含第2圖所示之鎖定範圍#0、鎖定範圍#1與鎖定範圍#2。記憶體控制器110可依據這些安全指令變更鎖定範圍#0、鎖定範圍#1與鎖定範圍#2,尤其,從鎖定範圍#0、鎖定範圍#1與鎖定範圍#2之各自的原始版本或舊版本(於第4圖中標示為「(舊)」)變更為鎖定範圍#0、鎖定範圍#1與鎖定範圍#2之各自的新版本(於第4圖中標示為「(新)」)。
於步驟S14中,記憶體控制器110依據該安全指令而取得(新)鎖定範圍的鎖定範圍編號、起始LBA以及長度值,該安全指令可更包括(新)鎖定範圍的存取權限。例如,在該多個安全指令中,第一個安全指令指出:針對(新)鎖定範圍#0,起始LBA為LBA#A’,結束LBA為LBA#B’,且存取權限為讀取鎖定。第二個安全指令指出:針對(新)鎖定範圍#1,起始LBA為LBA#C’,結束LBA為LBA#D’,且存取權限為寫入鎖定。第三個安全指令指出:針對(新)鎖定範圍#2,起始LBA為LBA#E’,結束LBA為LBA#F’,且存取權限為讀取鎖定,如第4圖所示。針對這些鎖定範圍中之任一鎖定範圍,記憶體控制器110可依據其起始LBA與長度值決定其結束LBA,其中,結束LBA的值為起始LBA的值加
上長度值。記憶體控制器110可利用起始LBA與長度值之總和作為結束LBA。
於步驟S16中,記憶體控制器110判斷(新)鎖定範圍的起始LBA是否小於(舊)鎖定範圍的結束LBA?如果正確(即判斷結果為「真」(True)),則執行步驟S18,如果不正確(即判斷結果為「偽」(False)),則執行步驟S20。當判斷(新)鎖定範圍#0時,由於LBA#A’小於LBA#B,所以執行步驟S18;當判斷(新)鎖定範圍#1時,由於LBA#C’小於LBA#D,所以執行步驟S18;當判斷(新)鎖定範圍#2時,由於LBA#E’小於LBA#F,所以執行步驟S18。
於步驟S18中,記憶體控制器110判斷(新)鎖定範圍的結束LBA是否大於(舊)鎖定範圍的起始LBA?如果正確(即判斷結果為「真」),則執行步驟S22,如果不正確(即判斷結果為「偽」),則執行步驟S20。當判斷(新)鎖定範圍#0時,由於LBA#B’大於LBA#A,這表示(舊)鎖定範圍#0與(新)鎖定範圍#0有部分鎖定範圍為重疊(Overlap),所以執行步驟S22;當判斷(新)鎖定範圍#1時,由於LBA#D’大於LBA#C,這表示(舊)鎖定範圍#1與(新)鎖定範圍#1有部分鎖定範圍為重疊,所以執行步驟S22;當判斷(新)鎖定範圍#2時,由於LBA#F’小於LBA#E,這表示(舊)鎖定範圍#2與(新)鎖定範圍#2完全不重疊,所以執行步驟S20。
於步驟S20中,記憶體控制器110分別對(新)鎖定範圍以及(舊)鎖定範圍執行資料修剪。以鎖定範圍#2為例,由於(新)鎖定範圍#2以及(舊)鎖定範圍#2完全不重疊,所以,記憶體控制器110對(新)鎖定範圍#2,即LBA#E’~F’,以及(舊)鎖定範圍#2,即LBA#E~F,分別執行資料修剪。
於步驟S22中,記憶體控制器110對(新)鎖定範圍以及(舊)鎖定範圍未重疊的部分執行資料修剪,其中上述未重疊的部分包含(新)鎖定範圍之未被(舊)鎖定範圍重疊之任何部分以及(舊)鎖定範圍之未被(新)鎖定範圍重疊之任何部分。以鎖定範圍#0為例,未重疊的部分為LBA#A至LBA#A’
以及LBA#B’至LBA#B,其中,由於LBA#A的值小於LBA#A’,且LBA#B’的值小於LBA#B,因此,記憶體控制器110分別對LBA#A~A’以及LBA#B’~B執行資料修剪。以鎖定範圍#1為例,未重疊的部分為LBA#C’至LBA#C以及LBA#D’至LBA#D,其中,由於LBA#C’的值小於LBA#C,且LBA#D’的值小於LBA#D,因此,記憶體控制器110分別對LBA#C’~C以及LBA#D’~D執行資料修剪。
為了更好地理解,該方法可用第3圖所示之工作流程來說明,但本發明不限於此。依據某些實施例,一個或多個步驟可於第3圖所示之工作流程中增加、刪除或修改。舉例來說,對於步驟S16與步驟S18中之任一步驟而言,若判斷結果為「偽」,則執行步驟S20,這表示:於第3圖所示之工作流程中,執行步驟S16與步驟S18的順序可以對調,而不影響執行步驟S20或步驟S22之正確性。依據一實施例,可採納這樣的改變。尤其,於執行步驟S14之後,執行步驟S18;若步驟S18的判斷結果為「真」,則執行步驟S16;若步驟S18的判斷結果為「偽」,則執行步驟S20;若步驟S16的判斷結果為「真」,則執行步驟S22;以及若步驟S16的判斷結果為「偽」,則執行步驟S20。為了簡明起見,該實施例與前述實施例相仿的內容在此不重複贅述。
第5圖為依據本發明一實施例之一種適應性鎖定範圍管理方法的示意圖,其中第5圖可視為第3圖的簡化版本,可用以說明本發明之適應性鎖定範圍管理方法的優點。首先,記憶體控制器110先判斷(新)鎖定範圍以及(舊)鎖定範圍是否重疊,如步驟S16~S18所示。如果判斷的結果為未重疊,則分別對(新)鎖定範圍以及(舊)鎖定範圍執行資料修剪,如步驟S20所示。如果判斷的結果為有重疊,則僅對未重疊的部分執行資料修剪,如步驟S22所示。由於本發明之適應性鎖定範圍管理方法容易執行,因此,鎖定範圍的變更可快速地執行及生效,達到本發明的目的。
另外,主機50在設定鎖定範圍時,如果不同鎖定範圍編號的鎖定範
圍有重疊的話,則記憶體控制器110直接回傳一回傳訊息諸如無效指令回主機50,不會執行資料修剪;如果不同存取權限的鎖定範圍有重疊的話,則記憶體控制器110也會直接回傳一回傳訊息諸如無效指令回主機50。
在主機50輸出安全指令且記憶體控制器110完成本發明用來進行適應性鎖定範圍管理之方法之後,鎖定範圍的更新已經完成。之後,主機50可輸出主機指令以存取資料儲存裝置100的資料,如果欲存取的資料的LBA未在鎖定範圍內,則資料儲存裝置100可回傳資料至主機50;如果欲存取的資料的LBA置於任何鎖定範圍時,資料儲存裝置100可回傳一回傳訊息(諸如資料存取錯誤或資料保護)至主機50。
以上所述僅為本發明之較佳實施例,凡依本發明申請專利範圍所做之均等變化與修飾,皆應屬本發明之涵蓋範圍。
S12、S14、S16、S18、S20、S22‧‧‧步驟
Claims (20)
- 一種用來進行適應性鎖定範圍管理之方法,該方法係應用於一資料儲存裝置,該資料儲存裝置包含一非揮發性記憶體(non-volatile memory,NV memory),該非揮發性記憶體包含至少一非揮發性記憶體元件(NV memory element),該方法包含有:從該資料儲存裝置之外接收一安全(Security)指令,其中該安全指令是關於將一舊鎖定範圍(Locking Range)變更為一新鎖定範圍;依據該安全指令取得該新鎖定範圍的一起始邏輯區塊位址(Logical Block Address,LBA)以及一長度值,其中該新鎖定範圍的一結束邏輯區塊位址為該新鎖定範圍的該起始邏輯區塊位址與該長度值之總和;判斷該新鎖定範圍的該起始邏輯區塊位址是否小於該舊鎖定範圍的一結束邏輯區塊位址,且判斷該新鎖定範圍的該結束邏輯區塊位址是否大於該舊鎖定範圍的一起始邏輯區塊位址;以及因應該新鎖定範圍的該起始邏輯區塊位址小於該舊鎖定範圍的該結束邏輯區塊位址以及該新鎖定範圍的該結束邏輯區塊位址大於該舊鎖定範圍的該起始邏輯區塊位址,對該新鎖定範圍以及該舊鎖定範圍未重疊的部分執行資料修剪(Data Trimming)。
- 如申請專利範圍第1項所述之用來進行適應性鎖定範圍管理之方法,其另包含:從該資料儲存裝置之外接收另一安全指令,其中該另一安全指令是關於將另一舊鎖定範圍變更為另一新鎖定範圍;依據該另一安全指令取得該另一新鎖定範圍的一起始邏輯區塊位址以及一長度值,其中該另一新鎖定範圍的一結束邏輯區塊位址為該另一 新鎖定範圍的該起始邏輯區塊位址與該長度值之總和;判斷該另一新鎖定範圍的該起始邏輯區塊位址是否小於該另一舊鎖定範圍的一結束邏輯區塊位址;因應該另一新鎖定範圍的該起始邏輯區塊位址小於該另一舊鎖定範圍的該結束邏輯區塊位址,判斷該另一新鎖定範圍的該結束邏輯區塊位址是否大於該另一舊鎖定範圍的一起始邏輯區塊位址;以及因應該另一新鎖定範圍的該結束邏輯區塊位址不大於該另一舊鎖定範圍的該起始邏輯區塊位址,分別對該另一新鎖定範圍以及該另一舊鎖定範圍執行資料修剪。
- 如申請專利範圍第2項所述之用來進行適應性鎖定範圍管理之方法,其另包含:從該資料儲存裝置之外接收又一安全指令,其中該又一安全指令是關於將又一舊鎖定範圍變更為又一新鎖定範圍;依據該又一安全指令取得該又一新鎖定範圍的一起始邏輯區塊位址以及一長度值,其中該又一新鎖定範圍的一結束邏輯區塊位址為該又一新鎖定範圍的該起始邏輯區塊位址與該長度值之總和;判斷該又一新鎖定範圍的該起始邏輯區塊位址是否小於該又一舊鎖定範圍的一結束邏輯區塊位址;以及因應該又一新鎖定範圍的該起始邏輯區塊位址不小於該又一舊鎖定範圍的該結束邏輯區塊位址,分別對該又一新鎖定範圍以及該又一舊鎖定範圍執行資料修剪。
- 如申請專利範圍第3項所述之用來進行適應性鎖定範圍管理之方 法,其中該舊鎖定範圍與該新鎖定範圍有部分鎖定範圍為重疊,該另一新鎖定範圍以及該另一舊鎖定範圍完全不重疊,以及該又一新鎖定範圍以及該又一舊鎖定範圍完全不重疊。
- 如申請專利範圍第2項所述之用來進行適應性鎖定範圍管理之方法,其中該舊鎖定範圍與該新鎖定範圍有部分鎖定範圍為重疊,以及該另一新鎖定範圍以及該另一舊鎖定範圍完全不重疊。
- 如申請專利範圍第1項所述之用來進行適應性鎖定範圍管理之方法,其中該舊鎖定範圍與該新鎖定範圍有部分鎖定範圍為重疊。
- 如申請專利範圍第1項所述之用來進行適應性鎖定範圍管理之方法,其另包含:從該資料儲存裝置之外接收另一安全指令,其中該另一安全指令是關於將另一舊鎖定範圍變更為另一新鎖定範圍;依據該另一安全指令取得該另一新鎖定範圍的一起始邏輯區塊位址以及一長度值,其中該另一新鎖定範圍的一結束邏輯區塊位址為該另一新鎖定範圍的該起始邏輯區塊位址與該長度值之總和;判斷該另一新鎖定範圍的該起始邏輯區塊位址是否小於該另一舊鎖定範圍的一結束邏輯區塊位址;以及因應該另一新鎖定範圍的該起始邏輯區塊位址不小於該另一舊鎖定範圍的該結束邏輯區塊位址,分別對該另一新鎖定範圍以及該另一舊鎖定範圍執行資料修剪。
- 如申請專利範圍第7項所述之用來進行適應性鎖定範圍管理之方法,其中該舊鎖定範圍與該新鎖定範圍有部分鎖定範圍為重疊,以及該另一新鎖定範圍以及該另一舊鎖定範圍完全不重疊。
- 一種資料儲存裝置,包含有:一非揮發性記憶體(non-volatile memory,NV memory),用來儲存資訊,其中該非揮發性記憶體包含至少一非揮發性記憶體元件(NV memory element);以及一控制器,耦接至該非揮發性記憶體,用來控制該資料儲存裝置之運作,其中該控制器包含:一處理電路,用來依據來自一主機(host device)的複數個主機指令(host command)控制該控制器,以容許該主機透過該控制器存取(access)該非揮發性記憶體,其中:該控制器從該主機接收一安全(Security)指令,其中該安全指令是關於將一舊鎖定範圍(Locking Range)變更為一新鎖定範圍;該控制器依據該安全指令取得該新鎖定範圍的一起始邏輯區塊位址(Logical Block Address,LBA)以及一長度值,其中該新鎖定範圍的一結束邏輯區塊位址為該新鎖定範圍的該起始邏輯區塊位址與該長度值之總和;該控制器判斷該新鎖定範圍的該起始邏輯區塊位址是否小於該舊鎖定範圍的一結束邏輯區塊位址,且判斷該新鎖定範圍的該結束邏輯區塊位址是否大於該舊鎖定範圍的一起始邏輯區塊位址;以及 因應該新鎖定範圍的該起始邏輯區塊位址小於該舊鎖定範圍的該結束邏輯區塊位址以及該新鎖定範圍的該結束邏輯區塊位址大於該舊鎖定範圍的該起始邏輯區塊位址,該控制器對該新鎖定範圍以及該舊鎖定範圍未重疊的部分執行資料修剪(Data Trimming)。
- 如申請專利範圍第9項所述之資料儲存裝置,其中該控制器從該資料儲存裝置之外接收另一安全指令,其中該另一安全指令是關於將另一舊鎖定範圍變更為另一新鎖定範圍;該控制器依據該另一安全指令取得該另一新鎖定範圍的一起始邏輯區塊位址以及一長度值,其中該另一新鎖定範圍的一結束邏輯區塊位址為該另一新鎖定範圍的該起始邏輯區塊位址與該長度值之總和;該控制器判斷該另一新鎖定範圍的該起始邏輯區塊位址是否小於該另一舊鎖定範圍的一結束邏輯區塊位址;因應該另一新鎖定範圍的該起始邏輯區塊位址小於該另一舊鎖定範圍的該結束邏輯區塊位址,該控制器判斷該另一新鎖定範圍的該結束邏輯區塊位址是否大於該另一舊鎖定範圍的一起始邏輯區塊位址;以及因應該另一新鎖定範圍的該結束邏輯區塊位址不大於該另一舊鎖定範圍的該起始邏輯區塊位址,該控制器分別對該另一新鎖定範圍以及該另一舊鎖定範圍執行資料修剪。
- 如申請專利範圍第10項所述之資料儲存裝置,其中該控制器從該資料儲存裝置之外接收又一安全指令,其中該又一安全指令是關於將又一舊鎖定範圍變更為又一新鎖定範圍;該控制器依據該又一安全指令取得該又一新鎖定範圍的一起始邏輯區塊位址以及一長度值,其中該又一新鎖定範圍的一結束邏輯區塊位址為該又一新鎖定範圍的該起始邏輯區塊位址與 該長度值之總和;該控制器判斷該又一新鎖定範圍的該起始邏輯區塊位址是否小於該又一舊鎖定範圍的一結束邏輯區塊位址;以及因應該又一新鎖定範圍的該起始邏輯區塊位址不小於該又一舊鎖定範圍的該結束邏輯區塊位址,該控制器分別對該又一新鎖定範圍以及該又一舊鎖定範圍執行資料修剪。
- 如申請專利範圍第11項所述之資料儲存裝置,其中該舊鎖定範圍與該新鎖定範圍有部分鎖定範圍為重疊,該另一新鎖定範圍以及該另一舊鎖定範圍完全不重疊,以及該又一新鎖定範圍以及該又一舊鎖定範圍完全不重疊。
- 如申請專利範圍第10項所述之資料儲存裝置,其中該舊鎖定範圍與該新鎖定範圍有部分鎖定範圍為重疊,以及該另一新鎖定範圍以及該另一舊鎖定範圍完全不重疊。
- 如申請專利範圍第9項所述之資料儲存裝置,其中該舊鎖定範圍與該新鎖定範圍有部分鎖定範圍為重疊。
- 如申請專利範圍第9項所述之資料儲存裝置,其中該控制器從該資料儲存裝置之外接收另一安全指令,其中該另一安全指令是關於將另一舊鎖定範圍變更為另一新鎖定範圍;該控制器依據該另一安全指令取得該另一新鎖定範圍的一起始邏輯區塊位址以及一長度值,其中該另一新鎖定範圍的一結束邏輯區塊位址為該另一新鎖定範圍的該起始邏輯區塊位址與該長度值之總和;該控制器判斷該另一新鎖定範圍的該起始邏輯區塊位址是 否小於該另一舊鎖定範圍的一結束邏輯區塊位址;以及因應該另一新鎖定範圍的該起始邏輯區塊位址不小於該另一舊鎖定範圍的該結束邏輯區塊位址,該控制器分別對該另一新鎖定範圍以及該另一舊鎖定範圍執行資料修剪。
- 如申請專利範圍第15項所述之資料儲存裝置,其中該舊鎖定範圍與該新鎖定範圍有部分鎖定範圍為重疊,以及該另一新鎖定範圍以及該另一舊鎖定範圍完全不重疊。
- 一種資料儲存裝置之控制器,該資料儲存裝置包含該控制器與一非揮發性記憶體(non-volatile memory,NV memory),該非揮發性記憶體包含至少一非揮發性記憶體元件(NV memory element),該控制器包含有:一處理電路,用來依據來自一主機(host device)的複數個主機指令(host command)控制該控制器,以容許該主機透過該控制器存取(access)該非揮發性記憶體,其中:該控制器從該主機接收一安全(Security)指令,其中該安全指令是關於將一舊鎖定範圍(Locking Range)變更為一新鎖定範圍;該控制器依據該安全指令取得該新鎖定範圍的一起始邏輯區塊位址(Logical Block Address,LBA)以及一長度值,其中該新鎖定範圍的一結束邏輯區塊位址為該新鎖定範圍的該起始邏輯區塊位址與該長度值之總和;該控制器判斷該新鎖定範圍的該起始邏輯區塊位址是否小於該舊鎖定範圍的一結束邏輯區塊位址,且判斷該新鎖定範圍的該結束邏輯區塊位址是否大於該舊鎖定範圍的一起始邏輯區塊位 址;以及因應該新鎖定範圍的該起始邏輯區塊位址小於該舊鎖定範圍的該結束邏輯區塊位址以及該新鎖定範圍的該結束邏輯區塊位址大於該舊鎖定範圍的該起始邏輯區塊位址,該控制器對該新鎖定範圍以及該舊鎖定範圍未重疊的部分執行資料修剪(Data Trimming)。
- 如申請專利範圍第17項所述之控制器,其中該控制器從該資料儲存裝置之外接收另一安全指令,其中該另一安全指令是關於將另一舊鎖定範圍變更為另一新鎖定範圍;該控制器依據該另一安全指令取得該另一新鎖定範圍的一起始邏輯區塊位址以及一長度值,其中該另一新鎖定範圍的一結束邏輯區塊位址為該另一新鎖定範圍的該起始邏輯區塊位址與該長度值之總和;該控制器判斷該另一新鎖定範圍的該起始邏輯區塊位址是否小於該另一舊鎖定範圍的一結束邏輯區塊位址;因應該另一新鎖定範圍的該起始邏輯區塊位址小於該另一舊鎖定範圍的該結束邏輯區塊位址,該控制器判斷該另一新鎖定範圍的該結束邏輯區塊位址是否大於該另一舊鎖定範圍的一起始邏輯區塊位址;以及因應該另一新鎖定範圍的該結束邏輯區塊位址不大於該另一舊鎖定範圍的該起始邏輯區塊位址,該控制器分別對該另一新鎖定範圍以及該另一舊鎖定範圍執行資料修剪。
- 如申請專利範圍第18項所述之控制器,其中該控制器從該資料儲存裝置之外接收又一安全指令,其中該又一安全指令是關於將又一舊鎖定範圍變更為又一新鎖定範圍;該控制器依據該又一安全指令取得該又一新鎖定範圍的一起始邏輯區塊位址以及一長度值,其中該又一新鎖定範圍的一 結束邏輯區塊位址為該又一新鎖定範圍的該起始邏輯區塊位址與該長度值之總和;該控制器判斷該又一新鎖定範圍的該起始邏輯區塊位址是否小於該又一舊鎖定範圍的一結束邏輯區塊位址;以及因應該又一新鎖定範圍的該起始邏輯區塊位址不小於該又一舊鎖定範圍的該結束邏輯區塊位址,該控制器分別對該又一新鎖定範圍以及該又一舊鎖定範圍執行資料修剪。
- 如申請專利範圍第19項所述之控制器,其中該舊鎖定範圍與該新鎖定範圍有部分鎖定範圍為重疊,該另一新鎖定範圍以及該另一舊鎖定範圍完全不重疊,以及該又一新鎖定範圍以及該又一舊鎖定範圍完全不重疊。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/503,591 US10884954B2 (en) | 2018-09-17 | 2019-07-04 | Method for performing adaptive locking range management, associated data storage device and controller thereof |
CN201910756356.0A CN110908597B (zh) | 2018-09-17 | 2019-08-16 | 适应性锁定范围管理的方法、数据存储装置及其控制器 |
US17/106,206 US11360912B2 (en) | 2018-09-17 | 2020-11-30 | Method for performing adaptive locking range management, associated data storage device and controller thereof |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201862731993P | 2018-09-17 | 2018-09-17 | |
US62/731,993 | 2018-09-17 |
Publications (2)
Publication Number | Publication Date |
---|---|
TWI684865B true TWI684865B (zh) | 2020-02-11 |
TW202013194A TW202013194A (zh) | 2020-04-01 |
Family
ID=70413522
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW108102004A TWI721365B (zh) | 2018-09-17 | 2019-01-18 | 高效能垃圾收集方法以及資料儲存裝置及其控制器 |
TW108109171A TWI684865B (zh) | 2018-09-17 | 2019-03-18 | 用來進行適應性鎖定範圍管理之方法以及資料儲存裝置及其控制器 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW108102004A TWI721365B (zh) | 2018-09-17 | 2019-01-18 | 高效能垃圾收集方法以及資料儲存裝置及其控制器 |
Country Status (1)
Country | Link |
---|---|
TW (2) | TWI721365B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113641597A (zh) * | 2020-04-27 | 2021-11-12 | 慧荣科技股份有限公司 | 管理数据存储的方法及装置以及计算机可读取存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6141728A (en) * | 1997-09-29 | 2000-10-31 | Quantum Corporation | Embedded cache manager |
TWI430090B (zh) * | 2009-12-15 | 2014-03-11 | Intel Corp | 非揮發性快閃媒體上之資料的修整系統及方法和儲存媒體 |
US8949512B2 (en) * | 2012-02-17 | 2015-02-03 | Apple Inc. | Trim token journaling |
US9703699B2 (en) * | 2014-09-17 | 2017-07-11 | Kabushiki Kaisha Toshiba | Hybrid-HDD policy for what host-R/W data goes into NAND |
TWI619017B (zh) * | 2017-01-23 | 2018-03-21 | 美光科技公司 | 部分寫入區塊處置 |
US10025534B1 (en) * | 2017-12-20 | 2018-07-17 | Seagate Technology Llc | Shingled magnetic recording trim operation |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9323667B2 (en) * | 2012-04-12 | 2016-04-26 | Violin Memory Inc. | System and method for managing trim operations in a flash memory system using mapping tables and block status tables |
TWI524183B (zh) * | 2014-01-09 | 2016-03-01 | 群聯電子股份有限公司 | 資料寫入方法、記憶體控制電路單元與記憶體儲存裝置 |
US10185658B2 (en) * | 2016-02-23 | 2019-01-22 | Sandisk Technologies Llc | Efficient implementation of optimized host-based garbage collection strategies using xcopy and multiple logical stripes |
TWI622923B (zh) * | 2016-05-04 | 2018-05-01 | 群聯電子股份有限公司 | 整理指令處理方法、記憶體控制電路單元與記憶體儲存裝置 |
TWI619018B (zh) * | 2016-11-10 | 2018-03-21 | 慧榮科技股份有限公司 | 可用於資料儲存裝置之垃圾蒐集方法 |
TWI653533B (zh) * | 2017-03-07 | 2019-03-11 | 慧榮科技股份有限公司 | 資料儲存裝置以及其操作方法 |
TWI634424B (zh) * | 2017-05-08 | 2018-09-01 | 慧榮科技股份有限公司 | 資料儲存裝置以及其操作方法 |
-
2019
- 2019-01-18 TW TW108102004A patent/TWI721365B/zh active
- 2019-03-18 TW TW108109171A patent/TWI684865B/zh active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6141728A (en) * | 1997-09-29 | 2000-10-31 | Quantum Corporation | Embedded cache manager |
TWI430090B (zh) * | 2009-12-15 | 2014-03-11 | Intel Corp | 非揮發性快閃媒體上之資料的修整系統及方法和儲存媒體 |
US8949512B2 (en) * | 2012-02-17 | 2015-02-03 | Apple Inc. | Trim token journaling |
US9703699B2 (en) * | 2014-09-17 | 2017-07-11 | Kabushiki Kaisha Toshiba | Hybrid-HDD policy for what host-R/W data goes into NAND |
TWI619017B (zh) * | 2017-01-23 | 2018-03-21 | 美光科技公司 | 部分寫入區塊處置 |
US10025534B1 (en) * | 2017-12-20 | 2018-07-17 | Seagate Technology Llc | Shingled magnetic recording trim operation |
Also Published As
Publication number | Publication date |
---|---|
TWI721365B (zh) | 2021-03-11 |
TW202013194A (zh) | 2020-04-01 |
TW202013183A (zh) | 2020-04-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI720588B (zh) | 用以在記憶裝置中進行存取管理的方法、相關記憶裝置及其控制器以及相關電子裝置 | |
US20200364159A1 (en) | Storage system and method for performing and authenticating write-protection thereof | |
US10331457B2 (en) | Byte-addressable non-volatile read-write main memory partitioned into regions including metadata region | |
TWI667590B (zh) | 資料儲存裝置以及韌體加密及更新方法 | |
US11030093B2 (en) | High efficiency garbage collection method, associated data storage device and controller thereof | |
US8886963B2 (en) | Secure relocation of encrypted files | |
US20220091760A1 (en) | Storage device, host device, electronic device including storage device and host device, and method of operating the same | |
US11868624B2 (en) | Computing system and operating method thereof | |
TWI684865B (zh) | 用來進行適應性鎖定範圍管理之方法以及資料儲存裝置及其控制器 | |
CN110908597B (zh) | 适应性锁定范围管理的方法、数据存储装置及其控制器 | |
US20220091757A1 (en) | Apparatus including data storage device and method of operating the same | |
US11113399B2 (en) | Electronic apparatus and control method of electronic apparatus | |
US20230134534A1 (en) | Memory controller and storage device | |
US20230289071A1 (en) | Electronic device and method of operating the same | |
KR20230064538A (ko) | 메모리 컨트롤러 및 스토리지 장치 |