TW201818249A - 操作對多重名稱空間進行管理的儲存裝置的方法 - Google Patents
操作對多重名稱空間進行管理的儲存裝置的方法 Download PDFInfo
- Publication number
- TW201818249A TW201818249A TW106123127A TW106123127A TW201818249A TW 201818249 A TW201818249 A TW 201818249A TW 106123127 A TW106123127 A TW 106123127A TW 106123127 A TW106123127 A TW 106123127A TW 201818249 A TW201818249 A TW 201818249A
- Authority
- TW
- Taiwan
- Prior art keywords
- namespace
- address space
- logical address
- mapping information
- mapping
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/0292—User address space allocation, e.g. contiguous or non contiguous base addressing using tables or multilevel address translation means
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1016—Performance improvement
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1041—Resource optimization
- G06F2212/1044—Space efficiency improvement
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7201—Logical to physical mapping or translation of blocks or pages
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7205—Cleaning, compaction, garbage collection, erase control
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Memory System (AREA)
Abstract
一種操作對多重名稱空間進行管理的儲存裝置的方法,包括:回應於要創建第一名稱空間的請求,將第一映射資訊儲存至映射表,所述第一映射資訊包括第一邏輯位址空間與第一物理位址空間之間的映射,所述第一邏輯位址空間被分配給所述第一名稱空間;以及回應於要創建第二名稱空間的請求,將第二映射資訊儲存至所述映射表,所述第二映射資訊包括第二邏輯位址空間與第二物理位址空間之間的映射,所述第二邏輯位址空間被分配給所述第二名稱空間且是與所述第一邏輯位址空間連續的。
Description
本發明概念涉及一種儲存裝置,且更具體來說,涉及一種能夠對多重名稱空間進行管理的儲存裝置及一種操作所述儲存裝置的方法。
作為非揮發性記憶體的快閃記憶體即使在斷電時也可維持儲存在其中的資料。快閃記憶體儲存裝置(例如固態硬碟(solid state drive,SSD)及記憶卡)用以儲存或傳送大量資料。單個儲存裝置可支援名稱空間功能,此使得另一裝置能夠將所述單個儲存裝置感知為多個裝置。
根據本發明概念的示例性實施例,提供一種操作對多重名稱空間進行管理的儲存裝置的方法,所述方法包括:回應於要創建第一名稱空間的請求,將第一映射資訊儲存至映射表,所述第一映射資訊包括第一邏輯位址空間與第一物理位址空間之間的映射,所述第一邏輯位址空間被分配給所述第一名稱空間;以及回應於要創建第二名稱空間的請求,將第二映射資訊儲存至所述映射表,所述第二映射資訊包括第二邏輯位址空間與第二物理位址空間之間的映射,所述第二邏輯位址空間被分配給所述第二名稱空間且是與所述第一邏輯位址空間連續的。
根據本發明概念的示例性實施例,提供一種操作對多重名稱空間進行管理的儲存裝置的方法,所述方法包括:回應於要創建第一名稱空間及第二名稱空間的請求,將彼此連續的第一邏輯位址空間與第二邏輯位址空間分別分配給所述第一名稱空間及所述第二名稱空間並將關於所述第一邏輯位址空間的第一映射資訊及關於所述第二邏輯位址空間的第二映射資訊儲存至映射表;以及回應於要刪除所述第一名稱空間的請求,對所述映射表中的所述第一映射資訊及所述第二映射資訊進行重新定位。
根據本發明概念的示例性實施例,提供一種操作對多重名稱空間進行管理的儲存裝置的方法,所述方法包括:管理映射表,以使第一名稱空間、第二名稱空間及第三名稱空間具有連續的邏輯位址空間;以及回應於要刪除所述第二名稱空間的請求,更新所述映射表以使所述第一名稱空間與所述第三名稱空間具有連續的邏輯位址空間。
根據本發明概念的示例性實施例,提供一種對多重名稱空間進行管理的儲存裝置,所述儲存裝置包括:非揮發性記憶體;以及控制器,回應於要創建第一名稱空間的請求,藉由將第一邏輯位址空間分配給所述第一名稱空間來動態地創建所述第一名稱空間並將所述第一名稱空間的第一映射資訊儲存至映射表,所述第一邏輯位址空間是與先前所創建的名稱空間的邏輯位址空間連續的。
根據本發明概念的示例性實施例,提供一種對多重名稱空間進行管理的儲存裝置,所述儲存裝置包括非揮發性記憶體及控制器。所述非揮發性儲存器具有映射表,所述映射表儲存包括第一邏輯位址空間與第一物理位址空間之間的映射的第一映射資訊以及包括第二邏輯位址空間與第二物理位址空間之間的映射的第二映射資訊。所述第一邏輯位址空間被分配給第一名稱空間。所述第二邏輯位址空間被分配給第二名稱空間。所述第二邏輯位址空間是與所述第一邏輯位址空間連續的。所述控制器被配置成回應於來自主機的要刪除所述第一名稱空間的請求而對所述映射表中的所述第一映射資訊及所述第二映射資訊進行重新定位。
在下文中,將參照附圖來詳細闡述本發明概念的實施例。
圖1是說明根據本發明概念示例性實施例的儲存系統10的框圖。
參照圖1,儲存系統10包括儲存裝置100及主機200(例如,主機裝置),且儲存裝置100包括控制器110及非揮發性記憶體(non-volatile memory,NVM)120。回應於來自主機200的寫入請求/讀取請求,控制器110可對非揮發性記憶體120進行控制,以便讀取儲存在非揮發性記憶體120中的資料或將資料寫入至非揮發性記憶體120。
在一實施例中,儲存裝置100支援名稱空間功能。在本文中,術語“名稱空間”可被定義為某一量的非揮發性記憶體120,其被格式化成多個邏輯區塊,且大小為n的名稱空間是具有從0至n-1的邏輯區塊位址的邏輯區塊的集合。術語“名稱空間功能”是指從一個物理裝置提供多個邏輯裝置的功能。具體來說,名稱空間功能是一種將儲存裝置100劃分成多個名稱空間並給每一名稱空間分配唯一的邏輯區塊位址(logical block address,LBA)的技術。在實施例中,主機200將單個儲存裝置100感知為多個儲存裝置,其中所述多個儲存裝置中的第一者對應於第一組邏輯區塊位址,所述多個儲存裝置中的第二者對應於第二組邏輯區塊位址,且第一組邏輯區塊位址不同於第二組邏輯區塊位址。
儲存裝置100可對多重名稱空間進行管理,且因此被闡述為提供多重名稱空間功能。具體來說,儲存裝置100可動態地創建多個名稱空間。對多重名稱空間進行管理的儲存裝置100可動態地刪除所述多個所創建名稱空間中的某些所創建名稱空間。舉例來說,儲存裝置100可為高速非揮發性記憶體固態硬碟(non-volatile memory express solid state drive,NVMe SSD)裝置。
控制器110包括名稱空間管理器111a,且名稱空間管理器111a可藉由使用單個映射表來對動態地創建及刪除名稱空間的操作進行管理。控制器110可由儲存裝置100的處理器來實作。在實施例中,名稱空間管理器111a在創建及刪除名稱空間的操作期間更新映射表,以使多個名稱空間具有連續的邏輯位址空間。在實施例中,名稱空間管理器111a是藉由快閃記憶體轉換層(flash translation layer,FTL)來實現。在下文中,將闡述名稱空間管理器111a的具體操作。
在一實施例中,名稱空間管理器111a基於使用者請求而動態地創建名稱空間。舉例來說,名稱空間管理器111a可回應於來自主機200的名稱空間創建請求而動態地創建名稱空間。在實施例中,名稱空間管理器111a藉由將與先前所創建名稱空間的邏輯位址空間連續的邏輯位址空間分配給將新創建的名稱空間來創建名稱空間。舉例來說,如果先前已為第一名稱空間創建第一邏輯位址空間,且將回應於創建請求而創建第二名稱空間,則創建與第一邏輯位址空間連續的第二邏輯位址空間並將第二邏輯位址空間指派給第二名稱空間。另外,名稱空間管理器111a可更新關於所創建名稱空間的邏輯位址空間及物理位址空間的映射資訊。物理位址空間可對應於記憶體裝置120內的實際物理位置或區塊。
另外,名稱空間管理器111a可基於用戶請求(即,回應於來自主機200的名稱空間刪除請求)而動態地刪除名稱空間。在實施例中,名稱空間管理器111a藉由對映射表中的映射資訊進行重新定位來刪除名稱空間,以使在刪除操作之後保留的名稱空間具有彼此連續的邏輯位址空間。舉例來說,在一個實施例中,如果映射表指示第一名稱空間具有以第一起始值起始並以第一結束值結束的第一邏輯位址空間、第二名稱空間具有以與第一結束值相鄰的第二起始值起始並以第二結束值結束的第二邏輯位址空間、第三名稱空間具有以與第二結束值相鄰的第三起始值起始並以第三結束值結束的第三邏輯位址空間,且第二名稱空間被刪除,則第一結束值改變為第二結束值或第三起始值改變為第二起始值,以使第一邏輯位址空間與第三邏輯位址空間保持是連續的。另外,名稱空間管理器111a可對映射表中將要刪除的名稱空間的映射資訊執行解映射操作。在實施例中,所述解映射操作在映射資訊中設定指示名稱空間已被解映射的旗標,且當需要將映射資訊指派給新的名稱空間時,旗標被清除。
非揮發性記憶體120包括記憶體單元陣列MCA,且記憶體單元陣列MCA包括用於儲存使用者資料的儲存區域120a及用於儲存元資料的元區域120b。在一實施例中,記憶體單元陣列MCA包括多個快閃記憶體單元。舉例來說,所述多個快閃記憶體單元可以是反及(NAND)快閃記憶體單元。然而,本發明概念並非僅限於此,且記憶體單元可以是電阻性記憶體單元(例如電阻性隨機存取記憶體(resistive RAM,ReRAM))、相變隨機存取記憶體(phase change RAM,PRAM)及磁性隨機存取記憶體(magnetic RAM,MRAM)。
在一實施例中,元區域120b儲存映射表,在所述映射表中儲存包括邏輯位址與物理位址之間的映射的映射資訊。當電力施加至儲存裝置100時或當儲存系統10被啟動時,儲存在非揮發性記憶體120中的映射表被載入至控制器110內部或外部的揮發性記憶體(例如,動態隨機存取記憶體(dynamic random access memory,DRAM)或靜態隨機存取記憶體(static random access memory,SRAM))中。名稱空間管理器111a可根據動態地創建及刪除名稱空間的操作來更新被載入至揮發性記憶體中的映射表。
主機200可藉由各種介面與儲存裝置100進行通信。在實施例中,主機200能夠向儲存裝置100傳送讀取命令或寫入命令,以控制資料處理操作,例如,對儲存裝置100進行的資料讀取操作或資料寫入操作。在此實施例中,主機200進一步向儲存裝置100傳送名稱空間管理命令,例如名稱空間創建請求及名稱空間刪除請求或要在非揮發性記憶體120中創建自由區塊的修整命令(trim command)。在實施例中,主機200是應用處理器(application processor,AP)。在實施例中,主機200由系統晶片(system on a chip,SoC)來實現。
儲存系統10可由例如個人電腦(personal computer,PC)、資料伺服器、網路附加儲存裝置(network-attached storage,NAS)、物聯網(internet-of-things,IoT)裝置、或可擕式電子裝置來實現。所述可擕式電子裝置可以是膝上型電腦、行動電話、智慧型電話、平板個人電腦、個人數位助理(personal digital assistant,PDA)、企業數位助理(enterprise digital assistant,EDA)、數位照相機、數位攝像機、音訊裝置、可擕式多媒體播放機(portable multimedia player,PMP)、個人導航裝置(personal navigation device,PND)、動態影像專家壓縮標準音頻層面3(Moving Picture Experts Group Audio Layer III,MP3)播放機、掌上型遊戲機、電子書閱讀器、或可穿戴式裝置。
在示例性實施例中,儲存裝置100是被嵌入電子裝置的內部記憶體。舉例來說,儲存裝置100可以是固態硬碟(solid state disk,SSD)、嵌入式通用快閃記憶體儲存(universal flash storage,UFS)記憶體裝置、或嵌入式多媒體卡(embedded multimedia card,eMMC)。在實施例中,儲存裝置100是可從電子裝置拆卸的外部記憶體。舉例來說,儲存裝置100可以是通用快閃記憶體記憶卡、緊湊式快閃(compact flash,CF)卡、安全數位(secure digital,SD)卡、微型安全數位(micro-secure digital,micro-SD)卡、小型安全數位(mini-secure digital,mini-SD)卡、極限數位(extreme digital,xD)卡、或儲存棒(memory stick)。
圖2A說明根據比較性實施例,不支援名稱空間功能的儲存裝置的邏輯至物理映射操作。
參照圖2A,藉由使用由儲存裝置的快閃記憶體轉換層管理的邏輯至物理(L2P)映射表內的資訊,主機邏輯區塊位址被轉換成非揮發性記憶體(NVM)的物理位址。當儲存裝置不支援名稱空間功能時,邏輯至物理映射表需要能夠將所有主機邏輯區塊位址映射至非揮發性記憶體的物理位址空間。此處,邏輯至物理映射表的大小與邏輯區塊位址的位址空間成比例,以便於進行映射。
圖2B說明根據本發明概念的示例性實施例,支援名稱空間功能的儲存裝置的邏輯至物理映射操作。
參照圖2B,當在儲存裝置(例如,圖1所示儲存裝置100)中創建名稱空間NS1時,從一個物理裝置提供一個邏輯裝置。因此,名稱空間NS1的大小可等於由儲存裝置提供的整個邏輯位址空間的大小。此處,由邏輯至物理映射表為名稱空間NS1管理的邏輯位址空間與非揮發性記憶體的物理位址空間重合。因此,邏輯至物理映射表的大小可等於圖2A所示大小。
圖3A說明根據比較性實施例,支援多重名稱空間功能的儲存裝置的邏輯至物理映射操作。
參照圖3A,當在儲存裝置中創建三個名稱空間NS1至NS3時,從一個物理裝置提供三個邏輯裝置。當為每一名稱空間NS1、NS2或NS3管理一個映射表時,每一名稱空間可具有最大位址空間。因此,由於每一名稱空間的邏輯至物理映射表可使用最大容量,因而三個名稱空間NS1至NS3的邏輯至物理映射表的量會顯著增加。因此,非揮發性記憶體中用於儲存邏輯至物理映射表的儲存空間以及儲存裝置的控制器內部的記憶體(例如,動態隨機存取記憶體)中用於載入邏輯至物理映射表的儲存空間會顯著增加。
圖3B說明根據本發明概念的示例性實施例,支援多重名稱空間功能的儲存裝置的邏輯至物理映射操作。
參照圖3B,在儲存裝置(例如,圖1所示儲存裝置100)中創建三個名稱空間NS1至NS3。根據此實施例,名稱空間NS1至NS3的邏輯位址空間與物理位址空間是以1:1方式映射至彼此。因此,由名稱空間NS1至NS3提供的整個邏輯位址空間小於或等於非揮發性記憶體的物理位址空間。另外,根據此實施例,三個名稱空間NS1至NS3可共用一個映射表。
整個邏輯位址空間中的局部位址空間(例如,LBA0至LBA3)可被分配給第一名稱空間NS1;整個邏輯位址空間中與分配給第一名稱空間NS1的位址空間連續的局部位址空間(例如,LBA4至LBA7)可被分配給第二名稱空間NS2;且整個邏輯位址空間中與分配給第二名稱空間NS2的位址空間連續的局部位址空間(例如,LBA8至LBA11)可被分配給第三名稱空間NS3。因此,藉由邏輯至物理映射表為第一名稱空間NS1至第三名稱空間NS3管理的邏輯位址空間與非揮發性記憶體的物理位址空間重合。因此,邏輯至物理映射表的大小可等於圖2B所示大小。
圖4是說明根據本發明概念的示例性實施例,圖1所示控制器的實例(控制器110a)的框圖。
參照圖1及圖4,控制器110a包括記憶體111、處理器112、唯讀記憶體(read-only memory,ROM)113、主機介面114、及非揮發性記憶體介面115,且這些構件可藉由匯流排116彼此進行通信。在此實施例中,名稱空間管理器111a可由軟體或固件來實現,且可被載入至記憶體111中。處理器112可包括中央處理器或微處理器,且可對控制器110a的所有操作進行控制。
記憶體111可在處理器112的控制下運作,且可用作緩衝記憶體或高速緩衝記憶體。舉例來說,記憶體111可由動態隨機存取記憶體(DRAM)、靜態隨機存取記憶體(SRAM)、相變隨機存取記憶體、或快閃記憶體來實現。在此實施例中,快閃記憶體轉換層可被載入至記憶體111中,且可包括名稱空間管理器111a。具體來說,快閃記憶體轉換層可包括固件,且視由固件實現的功能而定,可進一步包括耗損均衡模組(wear-leveling module)、不良區塊管理模組(bad block management module)、無用單元收集模組(garbage collection module)、加密/解密模組、或映射表管理模組。
在一實施例中,名稱空間管理器111a回應於從主機200接收到的名稱空間創建請求或名稱空間刪除請求而動態地創建或刪除名稱空間。在一實施例中,映射表MT包括用於將邏輯位址轉換成物理位址的映射資訊,且可從非揮發性記憶體120的元區域120b被載入至記憶體111中。在一實施例中,回應於名稱空間創建請求,名稱空間管理器111a將邏輯位址空間分配給名稱空間並將關於所創建名稱空間的映射資訊更新至映射表MT。在實施例中,回應於名稱空間刪除請求,名稱空間管理器111a對映射表MT中將要刪除的名稱空間的映射資訊進行重新定位並對將要刪除的名稱空間的映射資訊執行解映射操作。在一實施例中,回應於從主機200接收到的修整命令,名稱空間管理器111a對儲存在映射表MT中的某些映射資訊執行解映射操作。
唯讀記憶體113可儲存進行初始引導時所需的代碼資料。主機介面114可在主機200與控制器110a之間提供介面,且可提供例如根據以下的介面:通用序列匯流排(universal serial bus,USB)、多媒體卡(multimedia card,MMC)、快速周邊元件互連(PCI express,PCI-E)、高階技術配置(AT attachment,ATA)、串列高階技術配置(serial AT attachment,SATA)、並行高階技術配置(parallel AT attachment,PATA)、小型電腦系統介面(small computer system interface,SCSI)、串列附接小型電腦系統介面(serial attached SCSI,SAS)、增強型小型磁片介面(enhanced small disk interface,ESDI)、或整合驅動電子裝置(integrated drive electronics,IDE)。非揮發性記憶體介面115可在控制器110a與非揮發性記憶體120之間提供介面。舉例來說,可藉由非揮發性記憶體介面115在控制器110a與非揮發性記憶體120之間發送及接收邏輯至物理映射表、區塊資訊、被寫入資料、及被讀取資料。
圖5是說明根據本發明概念的示例性實施例,圖1所示控制器110的另一實例(控制器110b)的框圖。
參照圖5,控制器110b包括名稱空間管理器111a、記憶體111'、處理器112、唯讀記憶體113、主機介面114、及非揮發性記憶體介面115,且這些構件可藉由匯流排116彼此進行通信。控制器110b是圖4所示控制器110a的修改形式,且將不再對其予以贅述。在此實施例中,名稱空間管理器111a由硬體(例如,處理器)來實現,且名稱空間管理器111a的操作可與圖4所示實施例中的操作實質上相同。
圖6說明根據本發明概念的示例性實施例,動態地創建及刪除名稱空間的操作,所述操作是在圖1所示儲存裝置100中執行。
參照圖1及圖6,名稱空間管理器111a在儲存裝置100的邏輯位址空間61中依序創建第一名稱空間NS1至第五名稱空間NS5。舉例來說,邏輯位址空間61可具有大小70,且可包括LBA0至LBA69。舉例來說,第一名稱空間NS1可具有大小10,第二名稱空間NS2可具有大小20,第三名稱空間NS3可具有大小10,第四名稱空間NS4可具有大小20,且第五名稱空間NS5可具有大小10。此處,邏輯位址空間61是以1:1方式映射至非揮發性記憶體120的物理位址空間,且可等於或小於非揮發性記憶體120的儲存容量。
根據此實施例,第一名稱空間NS1至第五名稱空間NS5具有彼此連續的邏輯位址空間,且因此,第一名稱空間NS1至第五名稱空間NS5之間不存在自由空間。具體來說,名稱空間管理器111a根據第一名稱空間NS1至第五名稱空間NS5的創建次序而依序給第一名稱空間NS1至第五名稱空間NS5分配邏輯位址空間。
舉例來說,從LBA0至LBA9的第一邏輯位址空間可被分配給大小為10的第一名稱空間NS1,從LBA10至LBA29的第二邏輯位址空間可被分配給大小為20的第二名稱空間NS2,且從LBA30至LBA39的第三邏輯位址空間可被分配給大小為10的第三名稱空間NS3。接下來,從LBA40至LBA59的第四邏輯位址空間可被分配給大小為20的第四名稱空間NS4,且從LBA60至LBA69的第五邏輯位址空間可被分配給大小為10的第五名稱空間NS5。
在圖6所示實例中,儲存裝置100從主機200接收要刪除第三名稱空間NS3及第五名稱空間NS5的請求(例如,藉由一個或多個命令)。在實施例中,主機200向儲存裝置100發送識別一個或多個將要刪除的名稱空間的命令。回應於所接收的刪除請求,名稱空間管理器111a可從邏輯位址空間62動態地刪除第三名稱空間NS3及第五名稱空間NS5。具體來說,名稱空間管理器111a可在邏輯位址空間62中對分配給第三名稱空間NS3及第五名稱空間NS5的第三邏輯位址空間及第五邏輯位址空間執行解映射操作。因此,主機200可確定第三名稱空間NS3及第五名稱空間NS5已被刪除,如邏輯位址空間62中所示。
根據此實施例,在刪除第三名稱空間NS3及第五名稱空間NS5之後,對第四名稱空間NS4的映射資訊進行重新定位,以使第一名稱空間NS1、第二名稱空間NS2及第四名稱空間NS4具有彼此連續的邏輯位址空間。具體來說,第四名稱空間NS4的映射資訊可被重新定位至從LBA30至LBA49的邏輯位址空間,以使第二名稱空間NS2與第四名稱空間NS4之間不存在自由空間。
在圖6所示實例中,在第三名稱空間NS3及第五名稱空間NS5被刪除之後,儲存裝置100從主機200接收要創建大小為20的新的第三名稱空間NS3的請求(例如,命令)。舉例來說,主機200可向儲存裝置100發送請求創建名稱空間的命令。此外,所述命令可識別將要創建的名稱空間的大小,或儲存裝置100可基於儲存在儲存裝置100內的預定義參數來確定大小。回應於所接收創建請求,名稱空間管理器111a可在邏輯位址空間63中動態地創建新的第三名稱空間NS3。具體來說,名稱空間管理器111a可將從LBA50至LBA69的邏輯位址空間分配給新的第三名稱空間NS3,以使第四名稱空間NS4及第三名稱空間NS3在邏輯位址空間63中具有彼此連續的邏輯位址空間。因此,先前所創建的第四名稱空間NS4與新創建的第三名稱空間NS3之間不存在自由空間。
圖7是說明根據本發明概念的示例性實施例,一種操作儲存裝置的方法的流程圖。圖8說明根據圖7所示方法進行的名稱空間創建操作。在下文中,將參照圖1、圖7及圖8來闡述操作儲存裝置的方法。
參照圖7及圖8,根據此實施例,操作儲存裝置的方法是在儲存裝置中動態地創建名稱空間的操作,且可例如包括在儲存裝置100中執行的時間序列操作。參照圖1至圖6所作的說明也可適用於此實施例,且將不再對其予以贅述。
在操作S110中,回應於要創建第一名稱空間NS1的請求,將第一邏輯位址空間分配給第一名稱空間NS1。舉例來說,第一名稱空間NS1可具有大小10,且邏輯位址空間81中從LBA0至LBA9的第一邏輯位址空間可被分配給第一名稱空間NS1。
在操作S130中,回應於要創建第二名稱空間NS2的請求,將與第一邏輯位址空間連續的第二邏輯位址空間分配給第二名稱空間NS2。舉例來說,第二名稱空間NS2可具有大小20,且邏輯位址空間82中從LBA10至LBA29的第二邏輯位址空間可被分配給第二名稱空間NS2。
在操作S150中,回應於要創建第三名稱空間NS3的請求,將與第二邏輯位址空間連續的第三邏輯位址空間分配給第三名稱空間NS3。舉例來說,第三名稱空間NS3可具有大小10,且邏輯位址空間83中從LBA30至LBA49的第三邏輯位址空間可被分配給第三名稱空間NS3。
圖9是說明根據本發明概念的示例性實施例,主機200與儲存裝置100之間的操作的流程圖。圖10說明根據圖9中所說明的名稱空間創建操作來修改映射表。在下文中,將參照圖9及圖10來詳細地闡述一種創建名稱空間的方法。
參照圖9及圖10,在操作S210中,主機200向儲存裝置100傳送要創建第一名稱空間NS1的請求(例如,命令)。在操作S220中,回應於要創建第一名稱空間NS1的請求,儲存裝置100將第一邏輯位址空間分配給第一名稱空間NS1。
在操作S225中,儲存裝置100將第一映射資訊儲存至映射表,所述第一映射資訊包括第一邏輯位址空間與對應於第一邏輯位址空間的第一物理位址空間之間的映射。舉例來說,在映射表101中,第一邏輯位址空間可包括從邏輯頁面編號0(Logical Page Number 0,LPN0)至LPN9的邏輯位址,對應於LPN0的物理位址可以是物理頁面編號a(Physical Page Number a,PPNa),且對應於LPN9的物理位址可以是PPNb。
在操作S230中,儲存裝置100向主機200傳送指示已完成創建第一名稱空間NS1的回應訊息。在一實施例中,如果儲存裝置100無法創建第一名稱空間NS1,則儲存裝置100不發出回應訊息。在此實施例中,如果主機200在從其傳送要創建第一名稱空間NS1的請求時起的某一時間量內未接收到回應訊息,則主機200可向儲存裝置100重新發送請求。在一實施例中,回應訊息指示是否成功創建名稱空間。對指示已完成創建第一名稱空間NS1的回應訊息的輸出是可選的。
在操作S240中,主機200向儲存裝置100傳送要創建第二名稱空間NS2的請求。在操作S250中,回應於要創建第二名稱空間NS2的請求,儲存裝置100將與第一邏輯位址空間連續的第二邏輯位址空間分配給第二名稱空間NS2。
在操作S255中,儲存裝置100將第二映射資訊更新至映射表,所述第二映射資訊包括第二邏輯位址空間與對應於第二邏輯位址空間的第二物理位址空間之間的映射。舉例來說,在經更新的映射表102中,第二邏輯位址空間可包括從LPN10至LPN29的邏輯位址,對應於LPN10的物理位址可以是PPNc,且對應於LPN29的物理位址可以是PPNd。
在操作S260中,儲存裝置100向主機200傳送指示已完成創建第二名稱空間NS2的回應訊息。對指示已完成創建第二名稱空間NS2的回應訊息的輸出是可選的。
在操作S270中,主機200向儲存裝置100傳送要創建第三名稱空間NS3的請求。在操作S280中,回應於要創建第三名稱空間NS3的請求,儲存裝置100將與第二邏輯位址空間連續的第三邏輯位址空間分配給第三名稱空間NS3。
在操作S285中,儲存裝置100將第三映射資訊更新至映射表,所述第三映射資訊包括第三邏輯位址空間與第三物理位址空間之間的映射。舉例來說,在經更新的映射表103中,第三邏輯位址空間可包括從LPN30至LPN39的邏輯位址,對應於LPN30的物理位址可以是PPNe,且對應於LPN39的物理位址可以是PPNf。
在操作S290中,儲存裝置100向主機200傳送指示已完成創建第三名稱空間NS3的回應訊息。對指示已完成創建第三名稱空間NS3的回應訊息的輸出是可選的。
圖11是說明根據本發明概念的示例性實施例,一種操作儲存裝置的方法的流程圖。圖12說明根據圖11所示方法進行的名稱空間刪除操作。在下文中,將參照圖1、圖11及圖12來詳細地闡述操作儲存裝置的方法。
參照圖11及12,根據此實施例,操作儲存裝置的方法可例如包括在儲存裝置100中執行的時間序列操作,即在儲存裝置中動態地創建及刪除名稱空間的操作。參照圖1至6所作的說明也可適用於此實施例,且將不再對其予以贅述。
在操作S310中,回應於要創建第一名稱空間NS1及第二名稱空間NS2的請求,將彼此連續的第一邏輯位址空間及第二邏輯位址空間分別分配給第一名稱空間NS1及第二名稱空間NS2。舉例來說,第一名稱空間NS1可具有大小10,且邏輯位址空間121中從LBA0至LBA9的第一邏輯位址空間可被分配給第一名稱空間NS1。舉例來說,第二名稱空間NS2可具有大小20,且邏輯位址空間121中從LBA10至LBA29的第二邏輯位址空間可被分配給第二名稱空間NS2。
在此實施例中,邏輯位址空間121可以1:1方式映射至物理位址空間,且可等於或小於儲存裝置100的儲存容量。在實施例中,創建第一名稱空間NS1的操作及創建第二名稱空間NS2的操作是實質上同時執行。在實施例中,創建第一名稱空間NS1的操作及創建第二名稱空間NS2的操作是依序執行。
在操作S330中,回應於要刪除第一名稱空間NS1的請求,對映射表中關於第一名稱空間NS1的第一映射資訊及關於第二名稱空間NS2的第二映射資訊進行重新定位。舉例來說,在邏輯位址空間122中,改變第一映射資訊的位置及第二映射資訊的位置,從而可將第二映射資訊重新定位至從LBA0至LBA19的邏輯位址空間,且可將第一映射資訊重新定位至從LBA20至LBA29的邏輯位址空間。然而,本發明概念並非僅限於此。根據至少一個實施例,在接收到要刪除第一名稱空間NS1的請求之後,對邏輯位址空間122中連續的邏輯位址空間進行確定,且當連續的邏輯位址空間不足時,對第一映射資訊及第二映射資訊執行重新定位。
在操作S350中,對第一名稱空間NS1的第一映射資訊執行解映射操作。因此,邏輯位址空間123中僅保留第二名稱空間NS2的第二映射資訊,且根據第一映射資訊儲存在物理位址中的資料可被無效。因此,非揮發性記憶體120中自由區塊的數目可增加,且由此,可有效地執行無用單元收集。舉例來說,解映射操作可作為後臺操作來執行。在一實施例中,在操作S350之後,可進一步執行更新區塊資訊的操作,如下文參照圖26至圖28所述。
圖13是說明根據本發明概念的示例性實施例,主機200與儲存裝置100之間的操作的流程圖。圖14說明根據圖13中所說明的名稱空間刪除操作來修改映射表。在下文中,將參照圖13及圖14來詳細地闡述一種刪除名稱空間的方法。
參照圖13及圖14,在操作S410中,主機200向儲存裝置100傳送要創建第一名稱空間NS1及第二名稱空間NS2的請求。在操作S420中,回應於要創建第一名稱空間NS1及第二名稱空間NS2的請求,儲存裝置100將彼此連續的第一邏輯位址空間及第二邏輯位址空間分別分配給第一名稱空間NS1及第二名稱空間NS2。
在操作S430中,儲存裝置100將第一映射資訊及第二映射資訊儲存至映射表,所述第一映射資訊包括第一邏輯位址空間與第一物理位址空間之間的映射,所述第二映射資訊包括第二邏輯位址空間與第二物理位址空間之間的映射。舉例來說,在映射表141中,第一邏輯位址空間可包括從LPN0至LPN9的邏輯位址,且第二邏輯位址空間可包括從LPN10至LPN29的邏輯位址。在操作S440中,儲存裝置100向主機200傳送指示已完成創建第一名稱空間NS1及第二名稱空間NS2的回應訊息。對回應訊息的傳送是可選的。
在操作S450中,主機200向儲存裝置100傳送要刪除第一名稱空間NS1的請求。在操作S460中,儲存裝置100對映射表中的第一映射資訊及第二映射資訊進行重新定位。舉例來說,在映射表142中,如果已被第一名稱空間NS1使用的包括第一邏輯位址空間與第一物理位址空間之間的映射的第一映射資訊被刪除,而第一物理位址空間仍原樣保留,則儲存裝置100中的邏輯位址空間可被碎片化(fragment)。
根據此實施例,在映射表142中,可藉由將第一邏輯位址空間分配給第二名稱空間NS2來收集有效位址空間。具體來說,可將已被包含在第一邏輯位址空間中的LPN0至LPN9以及已被包含在第二邏輯位址空間中的LPN10至LPN19分配給第二名稱空間NS2。因此,映射表142可被更新成使得過去對應於LPN10的PPNc與LPN0相對應,且使得過去對應於LPN29的PPNd與LPN19相對應。另外,可將已被包含在第二邏輯位址空間中的LPN20至LPN29分配給第一名稱空間NS1。因此,映射表142可被更新成使得過去對應於LPN0的PPNa與LPN20相對應,且使得過去對應於LPN9的PPNb與LPN29相對應。然而,本發明概念並非僅限於此。根據至少一個實施例,在操作S450之後,對邏輯位址空間中連續的邏輯位址空間進行確定,且當連續的邏輯位址空間不足時,執行操作S460。
在操作S470中,儲存裝置100對映射表中第一名稱空間NS1的第一映射資訊執行解映射操作。舉例來說,在映射表143中,對介於從LPN20與PPNa之間的映射資訊至LPN29與PPNb之間的映射資訊的範圍內的數條映射資訊進行解映射。接下來,可修改對應於PPNa至PPNb的區塊資訊。在示例性實施例中,在所述區塊資訊中,根據解映射操作來修改PPNa至PPNb的有效頁面的數目。因此,儲存在PPNa至PPNb中的資料可被無效,且藉由增加非揮發性記憶體120中自由區塊的數目,無用單元收集可得以有效地執行。在操作S480中,儲存裝置100向主機200傳送指示已完成刪除第一名稱空間NS1的回應訊息。對回應訊息的傳送是可選的。
圖15是說明根據本發明概念的示例性實施例,主機200與儲存裝置100之間的操作的流程圖。
參照圖15,此實施例是刪除名稱空間的操作的實例,具體來說,是圖13所示操作S450至S480的具體實例。在操作S510中,主機200向儲存裝置100傳送要刪除第一名稱空間NS1的請求。在操作S520中,儲存裝置100判斷連續的邏輯位址空間是否不足。當刪除名稱空間將造成碎片化時,連續的邏輯位址空間即可為不足的。作為所述判斷的結果,如果連續的邏輯位址空間是不足的,則執行操作S530,而如果連續的邏輯位址空間並非是不足的,則執行操作S540。在操作S530中,儲存裝置100對映射表中的第一映射資訊及第二映射資訊進行重新定位。
在操作S540中,儲存裝置100對映射表中的第一映射資訊執行解映射操作。因此,儲存在第一映射資訊內所包含的物理位址中的資料可被無效,且非揮發性記憶體120中自由區塊的數目可增加。在操作S550中,儲存裝置100向主機200傳送指示已完成解映射操作的回應訊息。對回應訊息的傳送是可選的。
圖16是說明根據本發明概念的示例性實施例,一種操作儲存裝置的方法的流程圖。圖17說明根據圖16中所說明的名稱空間刪除操作來修改映射表。圖18說明根據圖16中所說明的名稱空間刪除操作來修改映射表。在下文中,將參照圖16至圖18來詳細地闡述一種刪除名稱空間的方法。
參照圖16至圖18,根據此實施例,操作儲存裝置的方法可對應於圖11中所說明的方法(即,在儲存裝置中動態地創建及刪除名稱空間的操作)的修改形式。根據此實施例的方法可例如包括在圖1所示儲存裝置100中執行的時間序列操作。參照圖1至圖6所作的說明也可適用於此實施例,且將不再對其予以贅述。
在操作S610中,回應於要創建第一名稱空間NS1及第二名稱空間NS2的請求,將彼此連續的第一邏輯位址空間及第二邏輯位址空間分別分配給第一名稱空間NS1及第二名稱空間NS2。舉例來說,在邏輯位址空間171中,第一邏輯位址空間可被分配給大小為10的第一名稱空間NS1,且第二邏輯位址空間可被分配給大小為20的第二名稱空間NS2。
在此實施例中,邏輯位址空間171可以1:1方式映射至物理位址空間,且可等於或小於儲存裝置100的儲存容量。舉例來說,在映射表181中,第一邏輯位址空間可包括從LNP0至LPN9的邏輯位址,且第二邏輯位址空間可包括從LNP10至LPN29的邏輯位址。
在操作S630中,回應於要刪除第二名稱空間NS2的請求,對映射表中的第二映射資訊執行解映射操作。因此,邏輯位址空間172中僅保留第一名稱空間NS1的第一映射資訊,且映射表182中僅保留介於從LPN0與PPNa之間的映射資訊至LPN9與PPNb之間的映射資訊的範圍內的數條映射資訊。因此,儲存在PPNc至PPNd中的資料可被無效,且非揮發性記憶體120中自由區塊的數目可增加。舉例來說,解映射操作可作為後臺操作來執行。
圖19是說明根據本發明概念的示例性實施例,一種操作儲存裝置的方法的流程圖。圖20說明根據圖19所示方法,儲存裝置的名稱空間刪除操作。圖21說明根據圖19所示方法來修改映射表。
參照圖19至圖21,在操作S710中,儲存裝置100管理映射表,以使第一名稱空間NS1、第二名稱空間NS2及第三名稱空間NS3具有連續的邏輯位址空間。舉例來說,在邏輯位址空間201中,第一邏輯位址空間可被分配給大小為10的第一名稱空間NS1,與第一邏輯位址空間連續的第二邏輯位址空間可被分配給大小為20的第二名稱空間NS2,且與第二邏輯位址空間連續的第三邏輯位址空間可被分配給大小為10的第三名稱空間NS3。
在此實施例中,邏輯位址空間201可以1:1方式映射至物理位址空間,且可等於或小於儲存裝置100的儲存容量。舉例來說,在映射表211中,第一邏輯位址空間可包括從LNP0至LPN9的邏輯位址,第二邏輯位址空間可包括從LNP10至LPN29的邏輯位址,且第三邏輯位址空間可包括從LNP30至LPN39的邏輯位址。
在操作S730中,回應於要刪除第二名稱空間NS2的請求,儲存裝置100更新映射表,以使第一名稱空間NS1及第三名稱空間NS3具有連續的邏輯位址空間。具體來說,在邏輯位址空間202中,關於第二名稱空間NS2的第二映射資訊及關於第三名稱空間NS3的第三映射資訊經歷位置改變。舉例來說,第三映射資訊可被重新定位至從LBA10至LBA19的邏輯位址空間,且第二映射資訊可被重新定位至從LBA20至LBA39的邏輯位址空間。
根據此實施例,在映射表212中,可藉由將第二邏輯位址空間分配給第三名稱空間NS3來收集有效位址空間。具體來說,可將已被包含在第二邏輯位址空間中的LPN10至LPN19分配給第三名稱空間NS3。因此,映射表212可被更新成使得過去對應於LPN30的PPNe與LPN10相對應,且使得過去對應於LPN39的PPNf與LPN19相對應。另外,可將已被包含在第二邏輯位址空間中的LPN20至LPN29以及已被包含在第三邏輯位址空間中的LPN30至LPN39分配給第二名稱空間NS2。因此,映射表212可被更新成使得過去對應於LPN10的PPNc與LPN20相對應,且使得過去對應於LPN29的PPNd與LPN39相對應。
在操作S750中,儲存裝置100對映射表中第二名稱空間NS2的映射資訊執行解映射操作。因此,邏輯位址空間203中僅保留第一名稱空間NS1的第一映射資訊及第三名稱空間NS3的第三映射資訊,且根據第二映射資訊儲存在物理位址中的資料可被無效。舉例來說,在映射表213中,介於從LPN20與PPNc之間的映射資訊至LPN39與PPNd之間的映射資訊的範圍內的數條映射資訊被解映射。因此,儲存在PPNc至PPNd中的資料可失效,且非揮發性記憶體120中自由區塊的數目可增加。舉例來說,解映射操作可作為後臺操作來執行。
圖22是說明根據本發明概念的示例性實施例,當名稱空間被刪除時,控制器110與非揮發性記憶體120之間的操作的流程圖。圖23說明根據圖22所示操作的實例進行的映射表更新操作。
參照圖22及23,在操作S810中,控制器110接收要刪除多個名稱空間中的一個名稱空間的請求。舉例來說,所述多個名稱空間可以是第一名稱空間NS1至第三名稱空間NS3,且控制器110可接收要刪除第二名稱空間NS2的請求。
在操作S820中,控制器110將當前映射表提供至非揮發性記憶體120。具體來說,控制器110可將被載入至控制器110中所包括的揮發性記憶體(例如,圖4所示記憶體111或圖5所示記憶體111')中的當前映射表提供至非揮發性記憶體120的元區域120b。在操作S830中,非揮發性記憶體120將當前映射表儲存至元區域120b。
舉例來說,被載入至動態隨機存取記憶體中的當前映射表231可包括第一名稱空間NS1至第三名稱空間NS3的映射資訊。第一名稱空間NS1的元資料可儲存在第一區塊BLK0的第一頁面P0至第四頁面P3中,第二名稱空間NS2的元資料可儲存在第二區塊BLK1的第一頁面P0至第四頁面P3及第三區塊BLK2的第一頁面P0至第四頁面P3中,且第三名稱空間NS3的元資料可儲存在第四區塊BLK3中。
在此實施例中,將被載入至動態隨機存取記憶體中的當前映射表231提供至非揮發性記憶體120,從而使非揮發性記憶體120儲存與當前映射表231相同的映射表232。因此,儲存在非揮發性記憶體120中的映射表232也包括第一名稱空間NS1至第三名稱空間NS3的映射資訊。因此,在執行名稱空間刪除操作後,控制器110與非揮發性記憶體120之間便發生第一資料登錄/輸出。然而,本發明概念並非僅限於此,而是可省略操作S820及S830。具體來說,如果已儲存在非揮發性記憶體120中的映射表與被載入至動態隨機存取記憶體中的當前映射表231相同,則可省略操作S820及830。
在操作S840中,非揮發性記憶體120將所儲存映射表提供至控制器110。在操作S850中,控制器110對由非揮發性記憶體120提供的映射表中的映射資訊進行重新定位及載入。具體來說,控制器110可將其中映射資訊被重新定位的經修改映射表載入至控制器110中所包括的記憶體中。然而,本發明概念並非僅限於此,且控制器110可將其中映射資訊被重新定位的經修改映射表載入至控制器110外部的記憶體中。
在此實施例中,當映射資訊從非揮發性記憶體120被讀取至動態隨機存取記憶體時,第三名稱空間NS3的映射資訊及第二名稱空間NS2的映射資訊可經歷位置改變,且因此,經修改映射表233可被載入至動態隨機存取記憶體中。
因此,在執行名稱空間刪除操作後,控制器110與非揮發性記憶體120之間便發生第二資料登錄/輸出。
根據此實施例,在經修改映射表233中,第一名稱空間NS1與第三名稱空間NS3具有彼此連續的邏輯位址空間。因此,即使第二名稱空間NS2被刪除,各邏輯位址空間之間也不會發生碎片化,且有效邏輯位址空間可得以收集。
在操作S860中,控制器110將經修改映射表提供至非揮發性記憶體120。在操作S870中,非揮發性記憶體120將經修改映射表儲存在元區域120b中。在此實施例中,將經修改映射表233提供至非揮發性記憶體120,從而使非揮發性記憶體120儲存與經修改映射表233相同的映射表234。因此,在執行名稱空間刪除操作後,控制器110與非揮發性記憶體120之間便發生第三資料登錄/輸出。
圖24是說明根據本發明概念的示例性實施例,當名稱空間被刪除時,控制器110與非揮發性記憶體120之間的操作的流程圖。圖25說明根據圖24所示操作的實例進行的映射表更新操作。
參照圖24及圖25,在操作S910中,控制器110接收要刪除多個名稱空間中的一個名稱空間的請求。舉例來說,所述多個名稱空間可以是第一名稱空間NS1至第三名稱空間NS3,且控制器110可接收要刪除第二名稱空間NS2的請求。在操作S920中,控制器110對將要刪除的名稱空間的映射資訊執行解映射操作。
舉例來說,被載入至動態隨機存取記憶體中的映射表251可包括第一名稱空間NS1至第三名稱空間NS3的映射資訊。第一名稱空間NS1的元資料可儲存在第一區塊BLK0的第一頁面P0至第四頁面P3中,第二名稱空間NS2的元資料可儲存在第二區塊BLK1的第一頁面P0至第四頁面P3以及第三區塊BLK2的第一頁面P0至第四頁面P3中,且第三名稱空間NS3的元資料可儲存在第四區塊BLK3中。
在此實施例中,在映射表252中,第二名稱空間NS2的元資料可由解映射操作刪除。具體來說,儲存在第二區塊BLK1的第一頁面P0至第四頁面P3以及第三區塊BLK2的第一頁面P0至第四頁面P3中的第二名稱空間NS 2的元資料被解映射。因此,儲存在第二區塊BLK1的第一頁面P0至第四頁面P3以及第三區塊BLK2的第一頁面P0至第四頁面P3中的物理位址有效頁面的數目(即,其中儲存使用者資料的物理位址有效頁面的數目)可改變。
在操作S930中,控制器110將下一名稱空間的映射資訊複製至已分配給將要刪除的名稱空間的邏輯位址空間中。舉例來說,所述下一名稱空間可以是第三名稱空間NS3。在此實施例中,將第三名稱空間NS3的映射資訊複製至第二名稱空間NS2的邏輯位址空間中,從而在動態隨機存取記憶體中創建經修改映射表253。
舉例來說,當已分配給第二名稱空間NS2的邏輯位址空間是LBA100至LBA199且已分配給第三名稱空間NS3的邏輯位址空間是LBA200至LBA250時,可將第三名稱空間NS3的介於從LBA200至LBA250的範圍內的映射資訊複製至介於從LBA100至LBA150的範圍內的映射資訊中。因此,經修改映射表253可包括第一名稱空間NS1至第三名稱空間NS3的映射資訊。
在操作S940中,控制器110將經修改映射表提供至非揮發性記憶體120。在操作S950中,非揮發性記憶體120將經修改映射表儲存至元區域120b。在此實施例中,將在動態隨機存取記憶體中創建的經修改映射表253提供至非揮發性記憶體120,從而使非揮發性記憶體120儲存與經修改映射表253相同的映射表254。因此,在執行名稱空間刪除操作後,控制器110與非揮發性記憶體120之間便發生資料登錄/輸出。
在下文中,將參照圖1及圖26至圖28來闡述在名稱空間刪除操作後執行的區塊資訊更新操作。參照圖1至圖25所作的說明可適用於以下實施例,且將不再對其予以贅述。
圖26說明根據本發明概念示例性實施例的示例性元資料261。
參照圖1及圖26,元資料261包括邏輯至物理映射表L2P及區塊資訊BI。元資料261可儲存在儲存裝置100的非揮發性記憶體120中,且可在對儲存裝置100施加電力時從非揮發性記憶體120被載入至揮發性記憶體中。此處,所述記憶體可佈置在儲存裝置100的控制器110內部或外部。
邏輯至物理映射表L2P可例如包括關於分別與LPN0至LPNn對應的各物理位址空間的映射資訊。此處,n可以是任意自然數。在此實施例中,邏輯至物理映射表L2P可包括在儲存裝置100中創建的多個名稱空間的所有映射資訊,且所述多個名稱空間可共用邏輯至物理映射表L2P。
區塊資訊BI可分別為物理區塊編號0(Physical Block Number 0,PBN0)至PBNm儲存有效頁面計數(valid page count,VPC)(圖27及圖28所示有效頁面計數)。此處,n可以是任意自然數。此處,每一有效頁面計數是指每一區塊內所包括的多個頁面中有效頁面的數目。
控制器110的快閃記憶體轉換層可參考區塊資訊BI來對非揮發性記憶體120執行無用單元收集操作或抹除操作。舉例來說,如果PBN0的有效頁面計數是0,則快閃記憶體轉換層可將PBN0視為無效區塊且可對PBN0執行抹除操作。舉例來說,如果PBN1的有效頁面計數等於或小於參考值,則快閃記憶體轉換層可對PBN1執行無用單元收集。舉例來說,無用單元收集可包括將有效頁面計數等於或小於參考值的多個區塊的資料複製至自由區塊並對所述多個區塊執行抹除操作。
圖27說明根據本發明概念的示例性實施例,用於對多重名稱空間進行管理的邏輯至物理映射表271及區塊資訊272。
參照圖27,邏輯至物理映射表271包括第一名稱空間NS1至第三名稱空間NS3的映射資訊。舉例來說,LPN0至LPN3被分配給第一名稱空間NS1,LPN4至LPN7被分配給第二名稱空間NS2,且LPN8至LPN11被分配給第三名稱空間NS3。
舉例來說,根據邏輯至物理映射表271,LPN4至LPN7分別映射至非揮發性記憶體NVM的第二區塊BLK1的第一頁面PAGE0至第四頁面PAGE3。舉例來說,根據邏輯至物理映射表271,由於第一區塊BLK0(即,PBN0)的所有第一頁面PAGE0至第四頁面PAGE3均是有效的,因而在區塊資訊272中,PBN0的有效頁面計數是4。另外,根據邏輯至物理映射表271,由於第二區塊BLK1(即,PBN1)的所有第一頁面PAGE0至第四頁面PAGE3也是有效的,因而在區塊資訊272中,PBN1的有效頁面計數也是4。非揮發性記憶體NVM的區段273包括第一區塊BLK0、第二區塊BLK1及第三區塊BLK2。
圖28說明根據本發明概念的示例性實施例,因名稱空間刪除操作而被修改的邏輯至物理映射表281及區塊資訊282。
參照圖28,邏輯至物理映射表281可包括第一名稱空間NS1的映射資訊及第三名稱空間NS3的映射資訊。舉例來說,當第二名稱空間NS2被刪除時,可在邏輯至物理映射表281中對第二名稱空間NS2的映射資訊執行解映射操作。因此,已分配給第二名稱空間NS2的LPN4至LPN7不再映射至第二區塊BLK1的第一頁面PAGE0至第四頁面PAGE3。
因此,第二區塊BLK1的第一頁面PAGE0至第四頁面PAGE3並非儲存有效資料,而是被視為儲存無效資料。因此,由於第二區塊BLK1(即,PBN1)的第一頁面PAGE0至第四頁面PAGE3中的任一者均非有效的,因而PBN1的有效頁面計數(VPC)改變為0。由於PBN1不包含有效頁面,因而快閃記憶體轉換層可對PBN1執行抹除操作,且PBN1可藉由所述抹除操作而變為自由區塊。邏輯至物理映射表281對應於非揮發性記憶體中包括第一區塊BLK0、第二區塊BLK1及第三區塊BLK2的區段283。
舉例來說,當第二區塊BLK1(即,PBN1)的第一頁面PAGE0是有效的而第二區塊BLK1的第二頁面PAGE1至第四頁面PAGE3並非有效時,PBN1的有效頁面計數(VPC)改變為1。此處,快閃記憶體轉換層可將PBN1的第一頁面PAGE0寫入至另一任意區塊並對PBN1執行抹除操作,且PBN1可藉由所述抹除操作而變為自由區塊。
圖29是說明根據本發明概念示例性實施例的電子裝置1000的框圖。
參照圖29,電子裝置1000包括處理器1100、記憶體裝置1200、儲存裝置1300、數據機1400、輸入/輸出裝置1500、及電源1600。在此實施例中,儲存裝置1300支援名稱空間功能並對多重名稱空間進行管理。儲存裝置1300可回應於名稱空間創建請求或名稱空間刪除請求而動態地創建或刪除名稱空間,且可根據對名稱空間的創建或刪除來更新映射表。參照圖1至圖28所作的說明可適用於儲存裝置1300。
儘管已參照本發明概念的實施例具體顯示並闡述了本發明概念,然而,應理解,在不背離本發明概念的精神及範圍的條件下,可在本文中對形式及細節作出各種改變。
10‧‧‧儲存系統
61、62、63、81、82、83、121、122、123、171、172、201、202、203、232‧‧‧邏輯位址空間
100、1300‧‧‧儲存裝置
101、141、142、143、181、182、211、212、213、234、251、252、254、MT‧‧‧映射表
102、103‧‧‧經更新的映射表
110、110a、110b‧‧‧控制器
111、111'‧‧‧記憶體
111a‧‧‧名稱空間管理器
112、1100‧‧‧處理器
113‧‧‧唯讀記憶體
114‧‧‧主機介面
115‧‧‧非揮發性記憶體介面
116‧‧‧匯流排
120‧‧‧非揮發性記憶體/記憶體裝置
120a‧‧‧儲存區域
120b‧‧‧元區域
200‧‧‧主機
231‧‧‧當前映射表
233、253‧‧‧經修改映射表
261‧‧‧元資料
271、281、L2P‧‧‧邏輯至物理映射表
272、282‧‧‧區塊信息
273、283‧‧‧區段
1000‧‧‧電子裝置
1200‧‧‧記憶體裝置
1400‧‧‧數據機
1500‧‧‧輸入/輸出裝置
1600‧‧‧電源
BI‧‧‧區塊信息
BLK0‧‧‧第一區塊
BLK1‧‧‧第二區塊
BLK2‧‧‧第三區塊
BLK3‧‧‧第四區塊
LPN0~LPNn‧‧‧邏輯頁面編號0~邏輯頁面編號n
MCA‧‧‧記憶體單元陣列
NS1‧‧‧第一名稱空間/名稱空間
NS2‧‧‧第二名稱空間/名稱空間
NS3‧‧‧第三名稱空間/名稱空間
NS4‧‧‧第四名稱空間
NS5‧‧‧第五名稱空間
P0、PAGE0‧‧‧第一頁面
P1、PAGE1‧‧‧第二頁面
P2、PAGE2‧‧‧第三頁面
P3、PAGE3‧‧‧第四頁面
PBN0~PBNm‧‧‧物理區塊編號0~物理區塊編號m
PPNa、PPNb、PPNc、PPNd、PPNe、PPNf‧‧‧物理頁面編號a~物理頁面編號f
S110、S130、S150、S210、S220、S225、S230、S240、S250、S255、S260、S270、S280、S285、S290、S310、S330、S350、S410、S420、S430、S440、S450、S460、S470、S480、S510、S520、S530、S540、S550、S610、S630、S710、S730、S750、S810、S820、S830、S840、S850、S860、S870、S910、S920、S930、S940、S950‧‧‧操作
結合附圖閱讀以下詳細說明,將會更清晰地理解本發明概念的實施例,在附圖中:
圖1是說明根據示例性實施例的儲存系統的框圖。
圖2A說明根據比較性實施例,不支援名稱空間功能的儲存裝置的邏輯至物理(logical to physical,L2P)映射操作,且圖2B說明根據本發明概念的示例性實施例,支援名稱空間功能的儲存裝置的邏輯至物理映射操作。
圖3A說明根據比較性實施例,支援多重名稱空間功能的儲存裝置的邏輯至物理映射操作,且圖3B說明根據本發明概念的示例性實施例,支援多重名稱空間功能的儲存裝置的邏輯至物理映射操作。
圖4是說明根據本發明概念的示例性實施例,圖1所示控制器的實例的框圖。
圖5是說明根據本發明概念的示例性實施例,圖1所示控制器的另一實例的框圖。
圖6說明根據本發明概念的示例性實施例,動態地創建及刪除名稱空間的操作,所述操作是在圖1所示儲存裝置中執行。
圖7是說明根據本發明概念的示例性實施例,一種操作儲存裝置的方法的流程圖。
圖8說明根據圖7所示方法進行的名稱空間創建操作。
圖9是說明根據本發明概念的示例性實施例,主機與儲存裝置之間的操作的流程圖。
圖10說明根據圖9中所說明的名稱空間創建操作來修改映射表。
圖11是說明根據本發明概念的示例性實施例,一種操作儲存裝置的方法的流程圖。
圖12說明根據圖11所示方法進行的名稱空間刪除操作。
圖13是說明根據本發明概念的示例性實施例,主機與儲存裝置之間的操作的流程圖。
圖14說明根據圖13中所說明的名稱空間刪除操作來修改映射表。
圖15是說明根據本發明概念的示例性實施例,主機與儲存裝置之間的操作的流程圖。
圖16是說明根據本發明概念的示例性實施例,一種操作儲存裝置的方法的流程圖。
圖17說明根據圖16中所說明的名稱空間刪除操作來修改映射表。
圖18說明根據圖16中所說明的名稱空間刪除操作來修改映射表。
圖19是說明根據本發明概念的示例性實施例,一種操作儲存裝置的方法的流程圖。
圖20說明根據圖19所示方法,儲存裝置的名稱空間刪除操作。
圖21說明根據圖19所示方法來修改映射表。
圖22是說明根據本發明概念的示例性實施例,當名稱空間被刪除時,控制器與非揮發性記憶體之間的操作的流程圖。
圖23說明根據圖22所示操作的實例進行的映射表更新操作。
圖24是說明根據本發明概念的示例性實施例,當名稱空間被刪除時,控制器與非揮發性記憶體之間的操作的流程圖。
圖25說明根據圖24所示操作的實例進行的映射表更新操作。
圖26說明根據本發明概念示例性實施例的示例性元資料。
圖27說明根據本發明概念的示例性實施例,用於管理多個名稱空間的邏輯至物理映射表及區塊資訊。
圖28說明根據本發明概念的示例性實施例,因名稱空間刪除操作而被修改的邏輯至物理映射表及區塊資訊。
圖29是說明根據本發明概念示例性實施例的電子裝置的框圖。
Claims (20)
- 一種操作對多重名稱空間進行管理的儲存裝置的方法,所述方法包括: 回應於要創建第一名稱空間的請求,將第一映射資訊儲存至映射表,所述第一映射資訊包括第一邏輯位址空間與第一物理位址空間之間的映射,所述第一邏輯位址空間被分配給所述第一名稱空間;以及 回應於要創建第二名稱空間的請求,將第二映射資訊儲存至所述映射表,所述第二映射資訊包括第二邏輯位址空間與第二物理位址空間之間的映射,所述第二邏輯位址空間被分配給所述第二名稱空間且是與所述第一邏輯位址空間連續的。
- 如申請專利範圍第1項所述的方法,其中所述第一邏輯位址空間與所述第二邏輯位址空間之和等於或小於所述儲存裝置的儲存容量。
- 如申請專利範圍第1項所述的方法,更包括: 回應於要刪除所述第一名稱空間的請求,對所述映射表中的所述第一映射資訊及所述第二映射資訊進行重新定位。
- 如申請專利範圍第3項所述的方法,所述對所述第一映射資訊及所述第二映射資訊進行重新定位包括將所述第一邏輯位址空間分配給所述第二名稱空間,並更新所述映射表以使所述第二物理位址空間對應於所述第一邏輯位址空間。
- 如申請專利範圍第3項所述的方法,更包括: 在所述對所述第一映射資訊及所述第二映射資訊進行重新定位之後,對所述映射表中的所述第一映射資訊執行解映射操作,以使儲存在所述第一物理位址空間中的資料失效。
- 如申請專利範圍第3項所述的方法,所述儲存裝置包括揮發性記憶體及非揮發性記憶體,且所述對所述第一映射資訊及所述第二映射資訊進行重新定位包括: 對儲存在所述非揮發性記憶體中的所述映射表中的所述第一映射資訊及所述第二映射資訊進行重新定位,以產生經修改的映射表;以及 將所述經修改的映射表載入至所述揮發性記憶體中。
- 如申請專利範圍第6項所述的方法,所述對所述第一映射資訊及所述第二映射資訊進行重新定位更包括在所述載入所述經修改的映射表之前將被載入至所述揮發性記憶體中的所述映射表儲存至所述非揮發性記憶體。
- 如申請專利範圍第7項所述的方法,所述對所述第一映射資訊及所述第二映射資訊進行重新定位更包括在所述載入所述經修改的映射表之後,將所述經修改的映射表儲存至所述非揮發性記憶體。
- 如申請專利範圍第3項所述的方法,所述對所述第一映射資訊及所述第二映射資訊進行重新定位包括: 對所述映射表中的所述第一映射資訊執行解映射操作;以及 藉由將所述第二映射資訊複製至所述映射表中的所述第一邏輯位址空間來修改所述映射表,以產生經修改的映射表。
- 如申請專利範圍第9項所述的方法,所述儲存裝置包括非揮發性記憶體,且 所述對所述第一映射資訊及所述第二映射資訊進行重新定位更包括將所述經修改的映射表儲存至所述非揮發性記憶體。
- 如申請專利範圍第1項所述的方法,更包括: 回應於要刪除所述第一名稱空間的請求,判斷所述儲存裝置的邏輯位址空間中的連續的邏輯位址空間是否不足;以及 當所述連續的邏輯位址空間被確定為不足時,在所述映射表中對所述第一映射資訊及所述第二映射資訊進行重新定位。
- 如申請專利範圍第1項所述的方法,更包括: 回應於要刪除所述第二名稱空間的請求,對所述映射表中的所述第二映射資訊執行解映射操作,以使儲存在所述第二物理位址空間中的資料失效。
- 如申請專利範圍第1項所述的方法,更包括: 回應於要創建第三名稱空間的請求,將第三映射資訊儲存至所述映射表,所述第三映射資訊包括第三邏輯位址空間與第三物理位址空間之間的映射,所述第三邏輯位址空間被分配給所述第三名稱空間且是與所述第二邏輯位址空間連續的。
- 如申請專利範圍第13項所述的方法,所述第一邏輯位址空間與所述第三邏輯位址空間之和等於或小於所述儲存裝置的儲存容量。
- 如申請專利範圍第13項所述的方法,更包括: 回應於要刪除所述第二名稱空間的請求,對所述映射表中的所述第二映射資訊及所述第三映射資訊進行重新定位。
- 如申請專利範圍第15項所述的方法,所述對所述第二映射資訊及所述第三映射資訊進行重新定位包括將所述第二邏輯位址空間分配給所述第三名稱空間以使所述第三名稱空間具有與所述第一邏輯位址空間連續的邏輯位址空間,並更新所述映射表以使所述第三物理位址空間對應於所述第二邏輯位址空間。
- 一種操作對多重名稱空間進行管理的儲存裝置的方法,所述方法包括: 回應於要創建第一名稱空間及第二名稱空間的請求,將彼此連續的第一邏輯位址空間及第二邏輯位址空間分別分配給所述第一名稱空間及所述第二名稱空間,並將關於所述第一邏輯位址空間的第一映射資訊及關於所述第二邏輯位址空間的第二映射資訊儲存至映射表;以及 回應於要刪除所述第一名稱空間的請求,對所述映射表中的所述第一映射資訊及所述第二映射資訊進行重新定位。
- 如申請專利範圍第17項所述的方法,所述對所述第一映射資訊及所述第二映射資訊進行重新定位包括將所述第一邏輯位址空間分配給所述第二名稱空間,並更新所述映射表。
- 如申請專利範圍第17項所述的方法,更包括: 在所述對所述第一映射資訊及所述第二映射資訊進行重新定位之後,對所述映射表中的所述第一映射資訊執行解映射操作。
- 一種操作對多重名稱空間進行管理的儲存裝置的方法,所述方法包括: 管理映射表,以使第一名稱空間、第二名稱空間及第三名稱空間具有連續的邏輯位址空間;以及 回應於要刪除所述第二名稱空間的請求,更新所述映射表以使所述第一名稱空間與所述第三名稱空間具有連續的邏輯位址空間。
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| KR1020160143424A KR102765301B1 (ko) | 2016-10-31 | 2016-10-31 | 멀티 네임스페이스를 관리하는 스토리지 장치 및 상기 스토리지 장치의 동작 방법 |
| ??10-2016-0143424 | 2016-10-31 | ||
| KR10-2016-0143424 | 2016-10-31 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| TW201818249A true TW201818249A (zh) | 2018-05-16 |
| TWI739859B TWI739859B (zh) | 2021-09-21 |
Family
ID=61912211
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| TW106123127A TWI739859B (zh) | 2016-10-31 | 2017-07-11 | 操作對多重名稱空間進行管理的儲存裝置的方法 |
Country Status (5)
| Country | Link |
|---|---|
| US (1) | US10324834B2 (zh) |
| KR (1) | KR102765301B1 (zh) |
| CN (1) | CN108021510B (zh) |
| DE (1) | DE102017112925A1 (zh) |
| TW (1) | TWI739859B (zh) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| TWI678618B (zh) * | 2018-06-22 | 2019-12-01 | 慧榮科技股份有限公司 | 快閃記憶裝置的命名空間操作方法及裝置 |
| CN112115068A (zh) * | 2019-06-21 | 2020-12-22 | 慧荣科技股份有限公司 | 多命名空间的数据存取及计算机可读取存储介质 |
Families Citing this family (43)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US11032259B1 (en) * | 2012-09-26 | 2021-06-08 | Pure Storage, Inc. | Data protection in a storage system |
| TWI602074B (zh) * | 2016-12-29 | 2017-10-11 | 慧榮科技股份有限公司 | 建立多重命名空間方法與存取多重命名空間的資料的方法 |
| CN108959108B (zh) * | 2017-05-26 | 2021-08-24 | 上海宝存信息科技有限公司 | 固态硬盘访问方法以及使用该方法的装置 |
| CN109656833B (zh) * | 2017-10-12 | 2022-11-11 | 慧荣科技股份有限公司 | 数据储存装置 |
| CN109656834B (zh) * | 2017-10-12 | 2022-11-11 | 慧荣科技股份有限公司 | 数据管理方法以及数据储存系统 |
| US10503404B2 (en) * | 2017-10-23 | 2019-12-10 | Micron Technology, Inc. | Namespace management in non-volatile memory devices |
| US10642488B2 (en) * | 2017-10-23 | 2020-05-05 | Micron Technology, Inc. | Namespace size adjustment in non-volatile memory devices |
| US10437476B2 (en) | 2017-10-23 | 2019-10-08 | Micron Technology, Inc. | Namespaces allocation in non-volatile memory devices |
| US11580034B2 (en) | 2017-11-16 | 2023-02-14 | Micron Technology, Inc. | Namespace encryption in non-volatile memory devices |
| US10915440B2 (en) | 2017-11-16 | 2021-02-09 | Micron Technology, Inc. | Namespace mapping optimization in non-volatile memory devices |
| US10223254B1 (en) | 2017-11-16 | 2019-03-05 | Micron Technology, Inc. | Namespace change propagation in non-volatile memory devices |
| US10678703B2 (en) | 2017-11-16 | 2020-06-09 | Micron Technology, Inc. | Namespace mapping structual adjustment in non-volatile memory devices |
| KR102571629B1 (ko) * | 2018-05-23 | 2023-08-29 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작방법 |
| CN110908926B (zh) | 2018-09-14 | 2022-03-22 | 慧荣科技股份有限公司 | 数据储存装置及逻辑至物理地址映射表的写入方法 |
| CN110908927A (zh) * | 2018-09-14 | 2020-03-24 | 慧荣科技股份有限公司 | 数据储存装置及其删除命名空间的方法 |
| TWI715116B (zh) * | 2018-09-14 | 2021-01-01 | 慧榮科技股份有限公司 | 資料儲存裝置及其刪除命名空間之方法 |
| KR20200032404A (ko) * | 2018-09-18 | 2020-03-26 | 에스케이하이닉스 주식회사 | 데이터 저장 장치 및 동작 방법, 이를 포함하는 스토리지 시스템 |
| US10691592B2 (en) * | 2018-10-30 | 2020-06-23 | Micron Technology, Inc. | Error-checking in namespaces on storage devices using a namespace table and metadata |
| KR102837303B1 (ko) | 2018-12-12 | 2025-07-24 | 삼성전자주식회사 | 저장 장치 및 그것의 동작 방법 |
| KR102837223B1 (ko) * | 2019-04-18 | 2025-07-22 | 에스케이하이닉스 주식회사 | 메모리 시스템 내에서 서로 다른 종류의 데이터를 처리하기 위한 장치 및 방법 |
| CN110046170B (zh) * | 2019-04-22 | 2021-07-27 | 深圳乐信软件技术有限公司 | 基于多文件管理的语句执行方法、装置、设备和介质 |
| KR102869315B1 (ko) * | 2019-07-24 | 2025-10-14 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작 방법 |
| US11579910B2 (en) * | 2019-09-20 | 2023-02-14 | Netapp, Inc. | Policy enforcement and performance monitoring at sub-LUN granularity |
| KR102879913B1 (ko) * | 2019-11-28 | 2025-11-03 | 에스케이하이닉스 주식회사 | 컨트롤러 및 이를 포함하는 메모리 시스템 |
| JP7475989B2 (ja) * | 2020-06-26 | 2024-04-30 | キオクシア株式会社 | メモリシステムおよび制御方法 |
| US11061770B1 (en) * | 2020-06-30 | 2021-07-13 | EMC IP Holding Company LLC | Reconstruction of logical pages in a storage system |
| US11256678B2 (en) * | 2020-06-30 | 2022-02-22 | EMC IP Holding Company LLC | Reconstruction of links between logical pages in a storage system |
| KR20220021796A (ko) | 2020-08-14 | 2022-02-22 | 에스케이하이닉스 주식회사 | 스토리지 장치 및 그 동작 방법 |
| KR102809393B1 (ko) | 2020-08-28 | 2025-05-21 | 에스케이하이닉스 주식회사 | 저장 장치 및 그 동작 방법 |
| KR20220053808A (ko) | 2020-10-23 | 2022-05-02 | 삼성전자주식회사 | 멀티 네임스페이스 스토리지 장치, 상기 스토리지 장치를 포함하는 전자 시스템 및 상기 스토리지 장치의 동작 방법 |
| CN114594901B (zh) | 2020-12-04 | 2024-09-06 | 伊姆西Ip控股有限责任公司 | 访问存储系统的方法、电子设备和计算机程序产品 |
| US12088470B2 (en) * | 2020-12-18 | 2024-09-10 | Western Digital Technologies, Inc. | Management of non-volatile memory express nodes |
| JP7547231B2 (ja) * | 2021-01-27 | 2024-09-09 | キオクシア株式会社 | メモリシステムおよび制御方法 |
| JP2023001573A (ja) | 2021-06-21 | 2023-01-06 | キオクシア株式会社 | メモリシステムおよび制御方法 |
| CN114281408B (zh) * | 2021-12-27 | 2025-09-02 | 杭州电子科技大学 | 一种物联网数据监控点和寄存器地址自适应映射方法 |
| US11914898B2 (en) | 2022-01-26 | 2024-02-27 | Kioxia Corporation | Systems, methods, and non-transitory computer-readable media for thin provisioning in non-volatile memory storage devices |
| US11947816B1 (en) * | 2022-09-19 | 2024-04-02 | Kioxia Corporation | Solid state drives with improved format handling |
| US12386564B2 (en) * | 2022-11-02 | 2025-08-12 | Intel Corporation | Reducing write amplification and over-provisioning using flash translation layer synchronization |
| KR20240065774A (ko) * | 2022-11-07 | 2024-05-14 | 에스케이하이닉스 주식회사 | 네임스페이스의 순차성을 기초로 논리 주소를 변환하는 스토리지 장치 및 그 동작 방법 |
| KR20240114205A (ko) | 2023-01-16 | 2024-07-23 | 삼성전자주식회사 | 멀티 네임스페이스를 지원하는 스토리지 장치 및 그것의 동작 방법 |
| US12461853B2 (en) | 2023-06-27 | 2025-11-04 | Western Digital Technologies, Inc. | Data storage device with key-value delete management for multi-host namespaces |
| US20250130960A1 (en) * | 2023-10-24 | 2025-04-24 | Western Digital Technologies, Inc. | Namespace Management Using Mastership In Multi-Host Storage Systems |
| US20250383814A1 (en) * | 2024-05-08 | 2025-12-18 | Micron Technology, Inc. | Sub Block Access via Memory Namespace Command Set |
Family Cites Families (26)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6408298B1 (en) * | 1999-12-15 | 2002-06-18 | Microsoft Corporation | Methods and systems for copying and moving across virtual namespaces |
| KR100392382B1 (ko) * | 2001-07-27 | 2003-07-23 | 한국전자통신연구원 | 동적 크기 변경 및 메타 데이터 양의 최소화를 위한 논리볼륨 관리 방법 |
| US8914429B2 (en) * | 2002-02-08 | 2014-12-16 | Willaim Pitts | Method for creating global distributed namespace |
| US7496565B2 (en) * | 2004-11-30 | 2009-02-24 | Microsoft Corporation | Method and system for maintaining namespace consistency with a file system |
| US8738621B2 (en) * | 2009-01-27 | 2014-05-27 | EchoStar Technologies, L.L.C. | Systems and methods for managing files on a storage device |
| WO2012129191A2 (en) | 2011-03-18 | 2012-09-27 | Fusion-Io, Inc. | Logical interfaces for contextual storage |
| US9727570B2 (en) | 2011-06-03 | 2017-08-08 | Apple Inc. | Mount-time unmapping of unused logical addresses in non-volatile memory systems |
| US8635326B1 (en) * | 2011-09-29 | 2014-01-21 | Juniper Networks, Inc. | Mobile gateway having reduced forwarding state for anchoring mobile subscribers |
| US9086820B2 (en) * | 2012-12-10 | 2015-07-21 | Infinidat Ltd. | System and methods for managing storage space allocation |
| US9003071B2 (en) | 2013-03-13 | 2015-04-07 | Futurewei Technologies, Inc. | Namespace access control in NVM express PCIe NVM with SR-IOV |
| US9524300B2 (en) * | 2013-03-14 | 2016-12-20 | Microsoft Technology Licensing, Llc | Heterogenic volume generation and use system |
| US9430412B2 (en) | 2013-06-26 | 2016-08-30 | Cnex Labs, Inc. | NVM express controller for remote access of memory and I/O over Ethernet-type networks |
| US9292379B2 (en) * | 2013-09-28 | 2016-03-22 | Intel Corporation | Apparatus and method to manage high capacity storage devices |
| US9245140B2 (en) * | 2013-11-15 | 2016-01-26 | Kabushiki Kaisha Toshiba | Secure data encryption in shared storage using namespaces |
| US9619155B2 (en) | 2014-02-07 | 2017-04-11 | Coho Data Inc. | Methods, systems and devices relating to data storage interfaces for managing data address spaces in data storage devices |
| US9294567B2 (en) | 2014-05-02 | 2016-03-22 | Cavium, Inc. | Systems and methods for enabling access to extensible storage devices over a network as local storage via NVME controller |
| US20170228173A9 (en) | 2014-05-02 | 2017-08-10 | Cavium, Inc. | Systems and methods for enabling local caching for remote storage devices over a network via nvme controller |
| US9501245B2 (en) | 2014-05-02 | 2016-11-22 | Cavium, Inc. | Systems and methods for NVMe controller virtualization to support multiple virtual machines running on a host |
| KR102430198B1 (ko) | 2014-06-12 | 2022-08-05 | 삼성전자주식회사 | 플래시 저장 장치의 어드레스 매핑 테이블 정리 방법 |
| US10380026B2 (en) | 2014-09-04 | 2019-08-13 | Sandisk Technologies Llc | Generalized storage virtualization interface |
| JP6276208B2 (ja) * | 2014-10-30 | 2018-02-07 | 東芝メモリ株式会社 | メモリシステム及びプログラム |
| JP2016122227A (ja) * | 2014-12-24 | 2016-07-07 | 株式会社東芝 | メモリシステムおよび情報処理システム |
| US9696935B2 (en) * | 2015-04-24 | 2017-07-04 | Kabushiki Kaisha Toshiba | Storage device that secures a block for a stream or namespace and system having the storage device |
| US20160342463A1 (en) * | 2015-05-20 | 2016-11-24 | Kabushiki Kaisha Toshiba | Data protection in a namespace |
| US10402092B2 (en) * | 2016-06-01 | 2019-09-03 | Western Digital Technologies, Inc. | Resizing namespaces for storage devices |
| US10866732B2 (en) * | 2017-03-10 | 2020-12-15 | Toshiba Memory Corporation | Namespace re-sizing |
-
2016
- 2016-10-31 KR KR1020160143424A patent/KR102765301B1/ko active Active
-
2017
- 2017-06-01 US US15/611,364 patent/US10324834B2/en active Active
- 2017-06-13 DE DE102017112925.1A patent/DE102017112925A1/de active Pending
- 2017-07-06 CN CN201710546576.1A patent/CN108021510B/zh active Active
- 2017-07-11 TW TW106123127A patent/TWI739859B/zh active
Cited By (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| TWI678618B (zh) * | 2018-06-22 | 2019-12-01 | 慧榮科技股份有限公司 | 快閃記憶裝置的命名空間操作方法及裝置 |
| TWI708144B (zh) * | 2018-06-22 | 2020-10-21 | 慧榮科技股份有限公司 | 快閃記憶體的命名空間操作裝置及電腦程式產品 |
| US11307992B2 (en) | 2018-06-22 | 2022-04-19 | Silicon Motion, Inc. | Method and apparatus for performing operations to namespaces of a flash memory device |
| US12189538B2 (en) | 2018-06-22 | 2025-01-07 | Silicon Motion, Inc. | Method and apparatus for performing operations to namespaces of a flash memory device |
| CN112115068A (zh) * | 2019-06-21 | 2020-12-22 | 慧荣科技股份有限公司 | 多命名空间的数据存取及计算机可读取存储介质 |
| US11288182B2 (en) | 2019-06-21 | 2022-03-29 | Silicon Motion, Inc. | Method and computer program product and apparatus for multi-namespace data access |
| TWI766207B (zh) * | 2019-06-21 | 2022-06-01 | 慧榮科技股份有限公司 | 多命名空間的資料存取方法及電腦程式產品 |
| CN112115068B (zh) * | 2019-06-21 | 2024-07-02 | 慧荣科技股份有限公司 | 多命名空间的数据存取方法及计算机可读取存储介质 |
Also Published As
| Publication number | Publication date |
|---|---|
| TWI739859B (zh) | 2021-09-21 |
| CN108021510B (zh) | 2023-02-17 |
| KR20180047402A (ko) | 2018-05-10 |
| DE102017112925A1 (de) | 2018-05-03 |
| US20180121344A1 (en) | 2018-05-03 |
| KR102765301B1 (ko) | 2025-02-07 |
| US10324834B2 (en) | 2019-06-18 |
| CN108021510A (zh) | 2018-05-11 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| TWI739859B (zh) | 操作對多重名稱空間進行管理的儲存裝置的方法 | |
| US12019872B2 (en) | Storage device that writes data from a host during garbage collection | |
| JP6785205B2 (ja) | メモリシステムおよび制御方法 | |
| CN110781096B (zh) | 用于通过预测需求时间来执行垃圾收集的设备和方法 | |
| CN109240938B (zh) | 存储系统以及控制非易失性存储器的控制方法 | |
| US10282288B2 (en) | Memory system and method for controlling nonvolatile memory | |
| KR102569545B1 (ko) | 키-밸류 스토리지 장치 및 상기 키-밸류 스토리지 장치의 동작 방법 | |
| US9946643B2 (en) | Memory system and method for controlling nonvolatile memory | |
| JP6785204B2 (ja) | メモリシステムおよび制御方法 | |
| JP2019079464A (ja) | メモリシステムおよび制御方法 | |
| CN101937319A (zh) | 存储器系统及其映射方法 | |
| CN105930094A (zh) | 数据处理系统及其操作方法 | |
| CN112684976A (zh) | 用于执行迁移操作的存储器系统及其操作方法 | |
| JP7013546B2 (ja) | メモリシステム | |
| JP2019148913A (ja) | メモリシステム | |
| US12353332B2 (en) | Storage device supporting multi-namespace and method of operating the same | |
| KR20220159270A (ko) | 스토리지 장치 및 그 동작 방법 | |
| KR20220096013A (ko) | 컨트롤러 및 이를 포함하는 메모리 시스템 | |
| JP7204020B2 (ja) | 制御方法 | |
| US20220164119A1 (en) | Controller, and memory system and data processing system including the same | |
| JP2023021450A (ja) | メモリシステム | |
| JP2022019787A (ja) | メモリシステムおよび制御方法 |