TWI715116B - 資料儲存裝置及其刪除命名空間之方法 - Google Patents
資料儲存裝置及其刪除命名空間之方法 Download PDFInfo
- Publication number
- TWI715116B TWI715116B TW108126206A TW108126206A TWI715116B TW I715116 B TWI715116 B TW I715116B TW 108126206 A TW108126206 A TW 108126206A TW 108126206 A TW108126206 A TW 108126206A TW I715116 B TWI715116 B TW I715116B
- Authority
- TW
- Taiwan
- Prior art keywords
- namespace
- logical
- mapping table
- physical address
- global
- Prior art date
Links
Images
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
- Memory System (AREA)
Abstract
一種資料儲存裝置,包括:一快閃記憶體及一記憶體控制器。記憶體控制器係管理快閃記憶體一全域邏輯至物理位址映射表(全域L2P映射表),其中全域L2P映射表包括複數個命名空間,且上述命名空間係對應於快閃記憶體中的複數個物理空間。因應於記憶體控制器係接收來自主機之命名空間刪除指令,記憶體控制器係刪除上述命名空間中之目標命名空間及目標命名空間在全域L2P映射表中所對應的邏輯位址範圍。記憶體控制器更移動在目標命名空間之後的所有命名空間在全域L2P映射表所相應的邏輯位址範圍以更新全域L2P映射表。
Description
本發明係有關於一種資料儲存裝置,特別是有關於一種資料儲存裝置及其刪除命名空間之方法。
快閃記憶體裝置通常分為NOR快閃裝置與NAND快閃裝置。NOR快閃裝置為隨機存取裝置,而可於位址腳位上提供任何的位址,用以存取NOR快閃裝置的主裝置(host),並及時地由NOR快閃裝置的資料腳位上獲得儲存於該位址上的資料。相反地,NAND快閃裝置並非隨機存取,而是序列存取。NAND快閃裝置無法像NOR快閃裝置一樣,可以存取任何隨機位址,主裝置反而需要寫入序列的位元組(bytes)的值到NAND快閃裝置中,用以定義請求命令(command)的類型(如,讀取、寫入、抹除等),以及用在此命令上的位址。位址可指向一個頁面(在快閃記憶體中的一個寫入作業的最小資料塊)或一個區塊(在快閃記憶體中的一個抹除作業的最小資料塊)。實際上,NAND快閃裝置通常從記憶體單元(memory cells)上讀取或寫入完整的數頁資料。當一整頁的資料從陣列讀取到裝置中的緩存器(buffer)後,藉由使用提取訊號(strobe signal)順序地敲出(clock out)內容,讓主單元可逐位元組或字元組(words)存取資料。
此外,在快閃記憶體中往往會有多個命名空間,在快閃記憶體之邏輯至物理位址映射表中,各個命名空間均有對應的命名空間映射表。然而,當主機對快閃記憶體進行多次命名空間刪除及建立之操作時,在傳統的資料儲存裝置中之邏輯至物理位址映射表中之各命名空間映射表會逐漸變得零散,使得記憶體控制器不易管理及維護命名空間映射表。
因此,需要一種資料儲存裝置及刪除命名空間之方法以解決上述問題。
本發明係提供一種資料儲存裝置,包括:一快閃記憶體及一記憶體控制器。記憶體控制器係管理快閃記憶體一全域邏輯至物理位址映射表(全域L2P映射表),其中全域L2P映射表包括複數個命名空間,且上述命名空間係對應於快閃記憶體中的複數個物理空間。因應於記憶體控制器係接收來自主機之命名空間刪除指令,記憶體控制器係刪除上述命名空間中之目標命名空間及目標命名空間在全域L2P映射表中所對應的邏輯位址範圍。記憶體控制器更移動在目標命名空間之後的所有命名空間在全域L2P映射表所相應的邏輯位址範圍以更新全域L2P映射表。
本發明更提供一種刪除命名空間之方法,用於一資料儲存裝置,其中資料儲存裝置包括一快閃記憶體。該方法包括:管理該快閃記憶體之一全域邏輯至物理位址映射表,其中該全域邏輯至物理位址映射表包括複數個命名空間,且該等命名空間係對應於該快閃記憶體中之複數個物理空間;接收來自一主機之一命名空間刪除指令;依據該命名空間刪除指令以刪除該等命名空間中之一目標命名空間及該目標命名空間在該全域邏輯至物理位址映射表中所對應的邏輯位址範圍;以及移動在該目標命名空間之後的所有命名空間在該全域邏輯至物理位址映射表所相應的邏輯位址範圍以更新該全域邏輯至物理位址映射表。
本發明更提供一種資料儲存裝置,包括:一快閃記憶體以及一記憶體控制器。記憶體控制器係用以管理該快閃記憶體之一全域邏輯至物理位址映射表,其中該全域邏輯至物理位址映射表包括複數個命名空間,且該等命名空間係對應於該快閃記憶體中之複數個物理空間。記憶體控制器係接收來自一主機之一命名空間刪除指令,並刪除該等命名空間中之一第一目標命名空間及該第一目標命名空間在該全域邏輯至物理位址映射表中所對應的邏輯位址範圍。因應於該記憶體控制器從該主機接收欲建立一第二目標命名空間的一命名空間建立指令,該記憶體控制器更判斷是否能在該第一目標命名空間之邏輯位址範圍建立該第二目標命名空間。因應於該記憶體控制器判斷無法在該第一目標命名空間之邏輯位址範圍建立該第二目標命名空間,該記憶體控制器係移動在該第一目標命名空間之後的所有命名空間在該全域邏輯至物理位址映射表所相應的邏輯位址範圍以更新該全域邏輯至物理位址映射表,並將該第二目標命名空間建立在更新後之該全域邏輯至物理位址映射表中之剩餘邏輯位址範圍。
為使本發明之上述目的、特徵和優點能更明顯易懂,下文特舉一較佳實施例,並配合所附圖式,作詳細說明如下。
第1圖為依據本發明一實施例中之電子系統的方塊圖。電子系統100例如可為一個人電腦(personal computer)、一資料伺服器(data server)、一網路附加儲存裝置(network-attached storage,NAS),一可攜式電子裝置(portable electronic device)等等,但本發明並不限於此。可攜式電子裝置例如可為一筆記型電腦、手持行動電話、智慧型手機、平板電腦、個人數位助理(personal digital assistant,PDA)、數位相機(digital camera)、數位攝影機(digital video camera)、可攜式多媒體播放器(portable multimedia player)、個人導航裝置(personal navigation device)、手持遊戲主機(handheld game console)、電子書(e-book)等等,但本發明並不限於此。
電子裝置100包括主機(host)120以及資料儲存裝置140。資料儲存裝置140包括記憶體控制器160、快閃記憶體180以及動態隨機存取記憶體190。記憶體控制器160包括處理單元162、儲存單元163、靜態隨機存取記憶體(Static Random Access Memory,SRAM)166。處理單元162可使用多種方式實施,例如專用硬體電路或通用硬體實現(例如,單一處理器、具平行處理能力的多處理器或其他具運算能力的處理器)、上述實現方式例如可為通用處理器(general-purpose processor)、或微控制器(microcontroller),但本發明並不限於此。動態隨機存取記憶體190為非必要元件,並且可被主機記憶體緩存(Host Memory Buffer,HMB)所替代。動態隨機存取記憶體190的資料儲存空間大於靜態隨機存取記憶體166。
記憶體控制器160中的處理單元162可根據主機120所下達的命令操作,例如透過存取介面170寫入資料到快閃記憶體180中之指定位址、或是由快閃記憶體180中的指定位址讀取頁面資料。
處理單元162與快閃記憶體180間的資料與命令傳遞係透過數個電子信號進行協調,上述電子信號包括資料線(data line)、時脈訊號(clock signal)與控制訊號(control signal)。資料線可用以傳遞命令、位址、讀出及寫入的資料;控制訊號線可用以傳遞晶片致能(Chip Enable,CE)、位址提取致能(Address Latch Enable,ALE)、命令提取致能(Command Latch Enable,CLE)、寫入致能(Write Enable,WE)等控制訊號。
存取介面170可採用雙倍資料率(Double Data Rate,DDR)通訊協定與快閃記憶體180溝通,例如,開放NAND快閃(Open NAND Flash Interface,ONFI)、雙倍資料率開關(DDR Toggle)或其他介面。處理單元162另可使用存取介面150透過指定通訊協定與主機120進行溝通,例如,通用序列匯流排(Universal Serial Bus,USB)、先進技術附著(Advanced Technology Attachment,ATA)、序列先進技術附著(Serial Advanced Technology Attachment, SATA)、快速周邊元件互聯(Peripheral Component Interconnect Express,PCI-E)、非揮發性記憶體的傳輸規範(Non-Volatile Memory Express,NVMe)或其他介面。
儲存單元163可為非揮發性記憶體,例如為唯讀記憶體(Read-Only Memory,ROM)、可擦除式可程式化唯讀記憶體(Erasable Programmable Read-Only Memory,EPROM)、電子可擦除式可程式化唯讀記憶體(Electrically Erasable Programmable Read-Only Memory,EEPROM)或電子熔絲(E-Fuse)。儲存單元163係儲存啟動程式164,其包括啟動碼(Boot Code)或啟動程式(Bootloader),且可由處理單元162執行,記憶體控制器160基於啟動程式164而完成開機,並開始控制該快閃記憶體180的運作,例如,讀取線上燒錄(In-System Programming,ISP)碼。
快閃記憶體180例如為NAND快閃記憶體,且快閃記憶體180可包含多個儲存子單元,每一個儲存子單元實施於一個晶粒(die)或邏輯單元編號(Logical Unit Number,LUN)上,各自使用關聯的存取子介面與處理單元162進行溝通。
第2圖為依據本發明實施例之存取介面與儲存單元的方塊圖。資料儲存裝置140可包含j+1個存取子介面170_0至170_j,存取子介面又可稱為通道(channel),每一個存取子介面連接i+1個快閃記憶體晶粒。換句話說,i+1個快閃記憶體晶粒共享一個存取子介面。例如,當資料儲存裝置140包含4個通道(j=3)且每一個通道連接4個儲存單元(i=3)時,快閃記憶體180一共擁有16個快閃記憶體晶粒180_0_0至180_j_i。處理單元162可驅動存取子介面170_0至170_j中之一者,從指定的快閃記憶體晶粒讀取資料。每個快閃記憶體晶粒擁有獨立的晶片致能(CE)控制訊號。
換句話說,當欲對指定的快閃記憶體晶粒進行資料讀取時,需要驅動關聯的存取子介面致能此快閃記憶體晶粒的晶片致能控制訊號。第3圖為依據本發明實施例之一個存取子介面與多個快閃記憶體晶粒的連接示意圖。處理單元162可透過存取子介面170_0使用獨立的晶片致能控制訊號320_0_0至320_0_i來從連接的快閃記憶體晶粒180_0_0至180_0_i中選擇出其中一者,接著,透過共享的資料線310_0從選擇出的快閃記憶體晶粒的指定位置讀取資料。
在一實施例中,資料儲存裝置140運作時,記憶體控制器160建立並更新邏輯至物理位址映射表(L2P映射表),L2P映射表係標示邏輯位址至物理空間的映射資訊,且儲存於資料儲存裝置140之快閃記憶體180的快閃轉譯層181。在一些實施例中,資料儲存裝置140僅配置小容量的動態隨機存取記憶體190(又稱作部份動態隨機存取記憶體,Partial DRAM),或是資料儲存裝置140並未配置有動態隨機存取記憶體190而使用主機記憶體緩存(Host Memory Buffer,HMB),因此,無法將整個L2P映射表載入動態隨機存取記憶體190或主機記憶體緩存。在此條件下,記憶體控制器160僅將部分L2P映射表載入動態隨機存取記憶體190、靜態隨機存取記憶體166、或主機記憶體緩存。
邏輯位址較佳為邏輯區塊位址(Logical Block Address,LBA),可對應到512位元的使用者資料(簡稱資料)。在另一些實施例中,邏輯位址可為全域主機頁編號(Global Host Page,GHP),可對應到4K位元組或16K位元組的資料。為了簡化說明,在下述中將以LBA為例,但不以此為限。
第4A~4C圖為依據本發明一實施例中之L2P映射表的示意圖。為了便於說明,在下面實施例中,記憶體控制器160係將全部或部分的L2P映射表載入至動態隨機存取記憶體190,並依據來自主機120的命名空間操作指令(例如可為命名空間建立指令或命名空間刪除指令)以對L2P映射表中之命名空間映射表相進行相應的操作。
假設主機120未在資料儲存裝置140建立任何命名空間,或是,命名空間的數量等於1,資料儲存裝置140的儲存空間(或最大儲存空間)可用以儲存X筆使用者資料,每一筆使用者資料皆對應至一個LBA,邏輯位址範圍420從LBA(0)到LBA(X-1),LBA(0)為起始邏輯位址,LBA(X-1) 為結束邏輯位址,如第4A圖所示。邏輯位址範圍420中的邏輯位址較佳為連續;如果邏輯位址範圍420中的邏輯位址為不連續時,邏輯位址範圍420所表示的邏輯位址數量將小於數值X。
當主機100對資料儲存裝置140下達命名空間建立(create)指令以在資料儲存裝置140中建立新的命名空間,每一命名空間皆有一個特定的命名空間識別碼,例如:命名空間識別碼ID#1、ID#2、ID#3、ID#4,分別對應至命名空間NSID#1、NSID#2、NSID#3、NSID#4。在收到命名空間建立指令之後,記憶體控制器160會依據LBA總數來建立命名空間,例如,命名空間NSID#1具有邏輯位址範圍422,LBA總數等於數值A;命名空間NSID#2具有邏輯位址範圍424,LBA總數等於數值B;命名空間NSID#3具有邏輯位址範圍426,LBA總數等於數值C;命名空間NSID#4具有邏輯位址範圍428,LBA總數等於數值D,數值A加上B加上C加上D小於等於數值X。每一命名空間NSID的起始邏輯位址最佳為LBA(0)。另外,資料儲存裝置140可能仍有部份儲存空間未被使用,如剩餘邏輯位址範圍430所示。此外,命名空間NSID#1~NSID#4係分別對應至快閃記憶體180中之不同的物理空間。
由於每一命名空間NSID皆為獨立運作,因此,為了管理命名空間NSID#1、NSID#2、NSID#3、NSID#4,記憶體控制器160需建立4個L2P映射表,例如:L2P映射表#1、L2P映射表#2、L2P映射表#3、L2P映射表#4,以分別管理命名空間NSID#1、NSID#2、NSID#3、NSID#4內所儲存的資料。
如何有效率且正確地管理多個命名空間一直是個重要且困擾的技術課題。在本發明中,記憶體控制器160建立全域L2P映射表(Global L2P Mapping Table)來管理命名空間NSID#1、NSID#2、NSID#3、NSID#4內所儲存的資料,並將每一命名空間邏輯位址範圍彼此相鄰,如第4B圖所示,邏輯位址範圍422為LBA(0)至LBA(A-1),邏輯位址範圍424為LBA(A)至LBA(A+B-1),邏輯位址範圍426為LBA(A+B)至LBA(A+B+C-1),邏輯位址範圍428為LBA(A+B+C)至LBA(A+B+C+D-1)。記憶體控制器160藉由主機指令中的命名空間識別碼ID#1、ID#2、ID#3、ID#4來判斷主機指令所欲存取的命名空間,並將主機指令中的LBA對應至命名空間中的邏輯位址範圍,例如,主機指令包括命名空間識別碼ID#2以及LBA#100的讀取指令,則記憶體控制器160將LBA#100轉換成LBA#(A+100),再參照全域L2P映射表的內容,LBA#100所對應的物理位址。記憶體控制器160讀取並回傳此物理位址的內容以回覆主機指令。如此一來,記憶體控制器160可依據全域L2P映射表來有效率且正確地管理多個命名空間。
當主機120對特定命名空間寫入資料或刪除資料時,全域L2P映射表所記錄的邏輯至物理位址的映射關係亦會更新。記憶體控制器160較佳將全域L2P映射表上傳至動態隨機存取記憶體190或主機記憶體緩存,並在適當時機將更新後的全域L2P映射表寫入快閃記憶體180。
除了建立命名空間之外,主機120亦可對資料儲存裝置140進行命名空間之相關操作,例如,刪除命名空間(已存在的)。例如,當主機120傳送命名空間操作指令以刪除命名空間NSID#3,由於命名空間NSID#3對應至邏輯位址範圍426,所以記憶體控制器160會刪除全域L2P映射表中邏輯位址範圍426所記錄的映射關係,如第4C圖所示。為了簡化全域L2P映射表的管理,邏輯位址範圍426經過刪除/修剪之後就不會再使用了。之後,如果欲建立(新的)命名空間NSID,則會使用剩餘邏輯位址範圍430。由上述中可知,在重覆地執行建立命名空間以及刪除命名空間之後,剩餘邏輯位址範圍430很快會被消耗/使用完畢,這將造成資料儲存裝置140尚有資料儲存能力,但是主機120可能無法建立(新的)命名空間NSID的情況。因此,如何有效率且正確地刪除命名空間是個重要且困擾的技術課題。
第5圖為依據本發明一實施例刪除命名空間之方法的流程圖。在步驟S510,記憶體控制器160以全域L2P映射表管理複數命名空間。舉例來說,在第4A圖的條件下,記憶體控制器160建立命名空間NSID#1、NSID#2、NSID#3及NSID#4,如第4B圖所示,並以全域L2P映射表管理命名空間NSID#1、NSID#2、NSID#3及NSID#4中邏輯位址與物理位址的映射關係。
在步驟S520,記憶體控制器160接收命名空間刪除指令,其中,上述命名空間刪除指令來自主機120,目標命名空間為複數命名空間其中之一,且非為依序排列的複數命名空間中的最後一者,例如,命名空間NSID#3。
在步驟S530,記憶體控制器160刪除目標命名空間在全域L2P映射表中的邏輯位址範圍。命名空間NSID#3的邏輯位址範圍426為LBA(A+B)至LBA(A+B+C-1),因此,記憶體控制器160刪除全域L2P映射表中LBA(A+B)至LBA(A+B+C-1)所記錄的映射關係,如第4C圖所示。
在步驟S540,記憶體控制器160移動目標命名空間之後的所有命名空間在全域L2P映射表的邏輯位址範圍。命名空間NSID#3之後的所有命名空間為命名空間NSID#4。記憶體控制器160移動/複製命名空間NSID#4在全域L2P映射表的邏輯位址範圍428,即將邏輯位址範圍LBA(A+B+C)至LBA(A+B+C+D-1)所記錄的映射關係一一複製至LBA(A+B)至LBA(A+B+D-1),最後,再將LBA(A+B+D)至LBA(A+B+C+D-1)所記錄的映射關係予以刪除,如第4D圖所示,並且更新全域L2P映射表。如此一來,命名空間NSID#1、NSID#2及NSID#4的邏輯位址範圍422、424及428為相鄰的。因為命名空間NSID#4被移動往前填補被刪除的命名空間NSID#3的邏輯位址範圍,剩餘邏輯位址範圍430(未使用的儲存空間)則增加(變大)為剩餘邏輯位址範圍440。之後,如果主機120欲建立命名空間NSID#5,則記憶體控制器160可將命名空間NSID#5建立在剩餘邏輯位址範圍440之中,例如命名空間NSID#5可由剩餘邏輯位址範圍440的起始邏輯位址開始。
第6圖為依據本發明一實施例建立命名空間之方法的流程圖。在步驟S610,記憶體控制器160以全域L2P映射表管理複數命名空間。舉例來說,在第4A圖的條件下,記憶體控制器160建立命名空間NSID#1、NSID#2、NSID#3及NSID#4,如第4B圖所示,並以全域L2P映射表管理命名空間NSID#1、NSID#2、NSID#3及NSID#4中邏輯位址與物理位址的映射關係。
在步驟S620,記憶體控制器160接收刪除目標命名空間(例如為第一目標命名空間)的主機指令,並刪除目標命名空間在全域L2P映射表中的邏輯位址範圍。由於步驟S620與步驟S520~S530類似,被刪除的目標命名空間為命名空間NSID#3,故不多作說明。
在步驟S630,記憶體控制器160接收建立目標命名空間(例如為第二目標命名空間)的主機指令,其中,主機指令來自主機120,目標命名空間為新的命名空間,例如,命名空間NSID#5。
在步驟640,記憶體控制器160判斷是否能建立目標命名空間在被刪除命名空間。如果是,則執行步驟650,如果否,則執行步驟660。原命名空間NSID#3的邏輯位址範圍426為LBA(A+B)至LBA(A+B+C-1),LBA總數等於數值C。假如在步驟S630的主機指令表示命名空間NSID#5的LBA總數等於數值E,而數值E小於等於數值C,這表示命名空間NSID#5小於等於原命名空間NSID#3,則可在原命名空間NSID#3上建立命名空間NSID#5。相反的,如果數值E大於數值C,這表示命名空間NSID#5大於原命名空間NSID#3,則無法在原命名空間NSID#3上建立命名空間NSID#5。
在步驟650,記憶體控制器160將目標命名空間建立在被刪除命名空間。記憶體控制器160將命名空間NSID#5與命名空間NSID#2相鄰,命名空間NSID#5的邏輯位址範圍432的起始邏輯位址為LBA(A+B),結束邏輯位址為LBA(A+B+E-1),如第4E圖所示,完成目標命名空間的建立。此時,剩餘邏輯位址範圍包括原剩餘邏輯位址範圍430以及新增剩餘邏輯位址範圍434。
在步驟660,記憶體控制器160移動目標命名空間之後的所有命名空間在全域L2P映射表的邏輯位址範圍。由於步驟660與步驟540類似,故不多作說明,最終產生剩餘邏輯位址範圍440。
在步驟670,記憶體控制器160將目標命名空間建立在剩餘邏輯位址範圍。由於最後一個已建立命名空間NSID為命名空間NSID#4,記憶體控制器160將命名空間NSID#5與命名空間NSID#4相鄰,命名空間NSID#5的邏輯位址範圍442的起始邏輯位址為LBA(A+B+D),結束邏輯位址為LBA(A+B+E-1),如第4F圖所示,完成目標命名空間的建立。剩餘邏輯位址範圍440則變更(縮小)為剩餘邏輯位址範圍444。
綜上所述,本發明係提供一種資料儲存裝置、一種刪除命名空間方法以及一種建立命名空間方法,不但可迅速執行命名空間的刪除或建立,且不會浪費資料儲存裝置的任何儲存空間,達到本發明的目的。此外,記憶體控制器160可用較有效率的方式管理命名空間映射表,故可提升資料儲存裝置140之效能,且在設計啟動程式164之韌體或程式碼之階段時可縮短功能驗證之時間。
於權利要求中使用如"第一"、"第二"、"第三"等詞係用來修飾權利要求中的元件,並非用來表示之間具有優先權順序,先行關係,或者是一個元件先於另一個元件,或者是執行方法步驟時的時間先後順序,僅用來區別具有相同名字的元件。
本發明雖以較佳實施例揭露如上,然其並非用以限定本發明的範圍,任何所屬技術領域中具有通常知識者,在不脫離本發明之精神和範圍內,當可做些許的更動與潤飾,因此本發明之保護範圍當視後附之申請專利範圍所界定者為準。
100:電子系統;
120:主機;
140:資料儲存裝置;
150:存取介面;
160:記憶體控制器;
162:處理單元;
163:儲存單元;
164:啟動程式;
165:指令緩衝器;
166:靜態隨機存取記憶體;
170:存取介面;
180:快閃記憶體;
181:快閃轉譯層;
190:動態隨機存取記憶體;
170_0-170_j:存取子介面;
180_0_0-180_j_i:快閃記憶體晶粒;
320_0_0-320_0_i:晶片致能控制訊號;
420、422-428、432、442:邏輯位址範圍;
430、434、440、444:剩餘邏輯位址範圍;
LBA(0)、LBA(A-1)、LBA(A+B-1)、LBA(A+B+C-1)、LBA(A+B+C+D-1):邏輯位址;
LBA(X-1)、LBA(A+B+D-1)、LBA(A+B+E-1):邏輯位址;
NSID#1~NSID#5:命名空間;
S510-S540、S610-S670:步驟。
第1圖為依據本發明一實施例中之電子系統的方塊圖。
第2圖為依據本發明一實施例之存取介面與儲存單元的方塊圖。
第3圖為依據本發明一實施例之一個存取子介面與多個快閃記憶體晶粒的連接示意圖。
第4A~4F圖為依據本發明一實施例中之邏輯至物理位址映射表的示意圖。
第5圖為依據本發明一實施例中之刪除命名空間之方法的流程圖。
第6圖為依據本發明一實施例中之建立命名空間之方法的流程圖。
100:電子系統
120:主機
140:資料儲存裝置
150:存取介面
160:記憶體控制器
162:處理單元
163:儲存單元
164:啟動程式
165:指令緩衝器
166:靜態隨機存取記憶體
170:存取介面
180:快閃記憶體
181:快閃轉譯層
190:動態隨機存取記憶體
Claims (8)
- 一種資料儲存裝置,包括:一快閃記憶體;以及一記憶體控制器,用以管理該快閃記憶體之一全域邏輯至物理位址映射表,其中該全域邏輯至物理位址映射表包括複數個命名空間,且該等命名空間係對應於該快閃記憶體中之複數個物理空間,其中,因應於該記憶體控制器接收來自一主機之一命名空間刪除指令,該記憶體控制器係刪除該等命名空間中之一目標命名空間及該目標命名空間在該全域邏輯至物理位址映射表中所對應的邏輯位址範圍;其中,該記憶體控制器更移動在該目標命名空間之後的所有命名空間在該全域邏輯至物理位址映射表所相應的邏輯位址範圍以更新該全域邏輯至物理位址映射表,其中該記憶體控制器係先從該快閃記憶體讀取該全域邏輯至物理位址映射表至一揮發性記憶體,再依據該命名空間刪除指令在該揮發性記憶體上從該全域邏輯至物理位址映射表刪除該目標命名空間之邏輯位址範圍,並移動在該全域邏輯至物理位址映射表中位於該目標命名空間之後的各命名空間往前填補已刪除之該目標命名空間之邏輯位址範圍以更新該全域邏輯至物理位址映射表,其中該記憶體控制器更將更新後的該全域邏輯至物理位址映射表寫入該快閃記憶體。
- 如申請專利範圍第1項所述之資料儲存裝置,其中當該記憶體控制器由該主機接收一存取指令,該記憶體控制器係依據該存取指令中之相應於該等命名空間之其中一者的一命名空間辨識符及相應的一存取邏輯位址以計算出該存取指令在該全域邏輯至物理位址映射表之之邏輯位址。
- 如申請專利範圍第2項所述之資料儲存裝置,其中在更新該全域邏輯至物理位址映射表後,當該資料儲存裝置由該主機接收到一命名空間建立指令以建立一第一命名空間,該記憶體控制器係依據該命名空間建立指令以在更新後之該全域邏輯至物理位址映射表的最後一個該命名空間之邏輯位址範圍後加入該第一命名空間。
- 一種刪除命名空間之方法,用於一資料儲存裝置,其中該資料儲存裝置包括一快閃記憶體,該方法包括:管理該快閃記憶體之一全域邏輯至物理位址映射表,其中該全域邏輯至物理位址映射表包括複數個命名空間,且該等命名空間係對應於該快閃記憶體中之複數個物理空間;接收來自一主機之一命名空間刪除指令;依據該命名空間刪除指令以刪除該等命名空間中之一目標命名空間及該目標命名空間在該全域邏輯至物理位址映射表中所對應的邏輯位址範圍; 移動在該目標命名空間之後的所有命名空間在該全域邏輯至物理位址映射表所相應的邏輯位址範圍以更新該全域邏輯至物理位址映射表;從該快閃記憶體讀取該全域邏輯至物理位址映射表至一揮發性記憶體;依據該命名空間刪除指令在該揮發性記憶體上從該全域邏輯至物理位址映射表刪除該目標命名空間映射表之邏輯位址;移動在該全域邏輯至物理位址映射表中位於該目標命名空間之後的各命名空間往前填補已刪除之該目標命名空間映射表之邏輯位址範圍以更新該邏輯至物理位址映射表;以及將更新後的該邏輯至物理位址映射表寫入該快閃記憶體。
- 如申請專利範圍第4項所述之刪除命名空間之方法,更包括:當由該主機接收一存取指令,依據該存取指令中之相應於該等命名空間之其中一者的一命名空間辨識符及相應的一存取邏輯位址以計算出該存取指令在該全域邏輯至物理位址映射表之之邏輯位址。
- 如申請專利範圍第5項所述之刪除命名空間之方法,在更新該邏輯至物理位址映射表後,該方法更包括:當該資料儲存裝置由該主機接收到一命名空間建立指令以建立一第一命名空間,該記憶體控制器係依據該命名空間建立指令以在 更新後之該全域邏輯至物理位址映射表的最後一個該命名空間之邏輯位址範圍後加入該第一命名空間。
- 一種資料儲存裝置,包括:一快閃記憶體;以及一記憶體控制器,用以管理該快閃記憶體之一全域邏輯至物理位址映射表,其中該全域邏輯至物理位址映射表包括複數個命名空間,且該等命名空間係對應於該快閃記憶體中之複數個物理空間,其中,該記憶體控制器係接收來自一主機之一命名空間刪除指令,並刪除該等命名空間中之一第一目標命名空間及該第一目標命名空間在該全域邏輯至物理位址映射表中所對應的邏輯位址範圍,其中,因應於該記憶體控制器從該主機接收欲建立一第二目標命名空間的一命名空間建立指令,該記憶體控制器更判斷是否能在該第一目標命名空間之邏輯位址範圍建立該第二目標命名空間,其中,因應於該記憶體控制器判斷無法在該第一目標命名空間之邏輯位址範圍建立該第二目標命名空間,該記憶體控制器係移動在該第一目標命名空間之後的所有命名空間在該全域邏輯至物理位址映射表所相應的邏輯位址範圍以更新該全域邏輯至物理位址映射表,並將該第二目標命名空間建立在更新後之該全域邏輯至物理位址映射表中之剩餘邏輯位址範圍。
- 如申請專利範圍第7項所述之資料儲存裝置,其中該記憶體控制器係先從該快閃記憶體讀取該全域邏輯至物理位址映 射表至一揮發性記憶體,再依據該命名空間刪除指令在該揮發性記憶體上從該全域邏輯至物理位址映射表刪除該目標命名空間之邏輯位址範圍,並移動在該全域邏輯至物理位址映射表中位於該目標命名空間之後的各命名空間往前填補已刪除之該目標命名空間之邏輯位址範圍以更新該全域邏輯至物理位址映射表,其中,該記憶體控制器更將該第二目標命名空間建立在更新後之該全域邏輯至物理位址映射表中之剩餘邏輯位址範圍,且該第二目標命名空間係接續更新後之該全域邏輯至物理位址映射表中之最後一個該命名空間的邏輯位址範圍。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910807154.4A CN110908927A (zh) | 2018-09-14 | 2019-08-29 | 数据储存装置及其删除命名空间的方法 |
US16/560,016 US20200089619A1 (en) | 2018-09-14 | 2019-09-04 | Data storage device and method of deleting namespace thereof |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201862731137P | 2018-09-14 | 2018-09-14 | |
US62/731,137 | 2018-09-14 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW202011200A TW202011200A (zh) | 2020-03-16 |
TWI715116B true TWI715116B (zh) | 2021-01-01 |
Family
ID=70766523
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW108126206A TWI715116B (zh) | 2018-09-14 | 2019-07-24 | 資料儲存裝置及其刪除命名空間之方法 |
TW108126306A TWI712884B (zh) | 2018-09-14 | 2019-07-25 | 資料儲存裝置及邏輯至物理位址映射表之寫入方法 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW108126306A TWI712884B (zh) | 2018-09-14 | 2019-07-25 | 資料儲存裝置及邏輯至物理位址映射表之寫入方法 |
Country Status (1)
Country | Link |
---|---|
TW (2) | TWI715116B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI780696B (zh) | 2021-05-10 | 2022-10-11 | 創鑫智慧股份有限公司 | 查找表壓縮方法與查找表讀取方法及其計算設備、主機與裝置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW201312354A (zh) * | 2011-09-06 | 2013-03-16 | Mstar Semiconductor Inc | 嵌入式設備圖像記憶體管理方法及裝置 |
US20180260334A1 (en) * | 2017-03-10 | 2018-09-13 | Toshiba Memory Corporation | Namespace - resizing |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9959203B2 (en) * | 2014-06-23 | 2018-05-01 | Google Llc | Managing storage devices |
US10140036B2 (en) * | 2015-10-29 | 2018-11-27 | Sandisk Technologies Llc | Multi-processor non-volatile memory system having a lockless flow data path |
US9946469B2 (en) * | 2016-03-21 | 2018-04-17 | Smart Modular Technologies, Inc. | Solid state storage system with latency management mechanism and method of operation thereof |
KR20180047402A (ko) * | 2016-10-31 | 2018-05-10 | 삼성전자주식회사 | 멀티 네임스페이스를 관리하는 스토리지 장치 및 상기 스토리지 장치의 동작 방법 |
-
2019
- 2019-07-24 TW TW108126206A patent/TWI715116B/zh active
- 2019-07-25 TW TW108126306A patent/TWI712884B/zh active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW201312354A (zh) * | 2011-09-06 | 2013-03-16 | Mstar Semiconductor Inc | 嵌入式設備圖像記憶體管理方法及裝置 |
US20180260334A1 (en) * | 2017-03-10 | 2018-09-13 | Toshiba Memory Corporation | Namespace - resizing |
Non-Patent Citations (2)
Title |
---|
2015年12月30日公開文件Zuhaib Ahmed Shaikh " OPERATING SYSTEMS;Memory Management"https://zuhaib-shaikh.neocities.org/【Downloads-> Course Material-> Operating Systems-> Teaching Plan, Lecture_Slide-Real Memory Management】時間請參考Teaching Plan所列之時間 |
年12月30日公開文件Zuhaib Ahmed Shaikh " OPERATING SYSTEMS;Memory Management"https://zuhaib-shaikh.neocities.org/【Downloads-> Course Material-> Operating Systems-> Teaching Plan, Lecture_Slide-Real Memory Management】時間請參考Teaching Plan所列之時間 * |
Also Published As
Publication number | Publication date |
---|---|
TW202030613A (zh) | 2020-08-16 |
TW202011200A (zh) | 2020-03-16 |
TWI712884B (zh) | 2020-12-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11221914B2 (en) | Memory system for controlling nonvolatile memory | |
US10713161B2 (en) | Memory system and method for controlling nonvolatile memory | |
US10789162B2 (en) | Memory system and method for controlling nonvolatile memory | |
US20230273876A1 (en) | Memory system, data storage device, user device and data management method thereof | |
US20200089619A1 (en) | Data storage device and method of deleting namespace thereof | |
US11188259B2 (en) | Storage device and method of operating the storage device | |
JP6553566B2 (ja) | メモリシステムおよび制御方法 | |
TWI679537B (zh) | 資料移動方法及儲存控制器 | |
US20180121344A1 (en) | Storage device managing multi-namespace and method of operating the storage device | |
CN107908571B (zh) | 一种数据写入方法、闪存装置及存储设备 | |
US9176865B2 (en) | Data writing method, memory controller, and memory storage device | |
US11210226B2 (en) | Data storage device and method for first processing core to determine that second processing core has completed loading portion of logical-to-physical mapping table thereof | |
TW201216054A (en) | Memory storage device, memory controller thereof, and method for creating fill-file automatically thereof | |
US9389998B2 (en) | Memory formatting method, memory controller, and memory storage apparatus | |
US8433847B2 (en) | Memory drive that can be operated like optical disk drive and method for virtualizing memory drive as optical disk drive | |
KR20110018157A (ko) | 플래시 메모리 장치의 액세스 방법 | |
US10817624B2 (en) | Memory system and storage device capable of permanently deleting data stored in a non-volatile memory | |
WO2017213908A1 (en) | Method and apparatus for improving performance of sequential logging in a storage device | |
US10776280B1 (en) | Data storage device and method for updating logical-to-physical mapping table | |
US20210397375A1 (en) | Memory control method, memory storage device and memory control circuit unit | |
JP2018160189A (ja) | メモリシステム | |
CN115390747A (zh) | 存储设备及其操作方法 | |
TWI715116B (zh) | 資料儲存裝置及其刪除命名空間之方法 | |
US20240241835A1 (en) | Storage device supporting multi-namespace and method of operating the same | |
KR20220159270A (ko) | 스토리지 장치 및 그 동작 방법 |