[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

TWI602074B - 建立多重命名空間方法與存取多重命名空間的資料的方法 - Google Patents

建立多重命名空間方法與存取多重命名空間的資料的方法 Download PDF

Info

Publication number
TWI602074B
TWI602074B TW105143898A TW105143898A TWI602074B TW I602074 B TWI602074 B TW I602074B TW 105143898 A TW105143898 A TW 105143898A TW 105143898 A TW105143898 A TW 105143898A TW I602074 B TWI602074 B TW I602074B
Authority
TW
Taiwan
Prior art keywords
namespace
data
namespaces
global
establishing
Prior art date
Application number
TW105143898A
Other languages
English (en)
Other versions
TW201824033A (zh
Inventor
周柏昇
Original Assignee
慧榮科技股份有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 慧榮科技股份有限公司 filed Critical 慧榮科技股份有限公司
Priority to TW105143898A priority Critical patent/TWI602074B/zh
Priority to CN201710667296.6A priority patent/CN108255415B/zh
Application granted granted Critical
Publication of TWI602074B publication Critical patent/TWI602074B/zh
Priority to US15/804,797 priority patent/US10565103B2/en
Publication of TW201824033A publication Critical patent/TW201824033A/zh
Priority to US16/672,536 priority patent/US10977171B2/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/1009Address translation using page tables, e.g. page table structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1041Resource optimization
    • G06F2212/1044Space efficiency improvement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1056Simplification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/20Employing a main memory using a specific memory technology
    • G06F2212/202Non-volatile memory
    • G06F2212/2022Flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/65Details of virtual memory and virtual address translation
    • G06F2212/657Virtual address space management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7201Logical to physical mapping or translation of blocks or pages
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7202Allocation control and policies

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

建立多重命名空間方法與存取多重命名空間的資料的方法
本發明是有關於資料存取之技術,尤其是有關於一種建立多重命名空間方法與一種存取多重命名空間的資料的方法。
傳統上,一個非揮發性儲存媒體僅支援單一邏輯劃分(partition),即僅視為單一邏輯裝置,並依據一個邏輯-物理位址對照表(host logical- flash physical address mapping table,H2F 對照表)來對非揮發性儲存媒體進行資料的存取及管理。然而,2012年版本的非揮發性記憶體儲存裝置(NVMe,Non-Volatile Memory Express)標準支援對一個非揮發性儲存媒體進行邏輯劃分(partition),而每一個邏輯劃分所產生的區域(area)稱之為命名空間(Namespace),每一命名空間可視為一個邏輯裝置。由於2012年版本的NVMe標準對於命名空間以及H2F 對照表的建立並無任何規範,因此,為了資料管理的目的,資料儲存裝置中的控制單元會針對每一命名空間建立一個對應的H2F 對照表,並在每一H2F 對照表中記錄其所對應之一命名空間的所有主機的邏輯區塊位址(logical block address,LBA)與非揮發性記憶體的物理位址的對應關係(簡稱對應關係)。來自於外部的存取命令中包含命名空間所對應的特定且唯一的命名空間編號以及LBA,資料儲存裝置中的控制單元可依據上述資訊來存取特定命名空間的資料,並據此更新此命名空間的H2F 對照表,完成資料的存取及管理。
然而,這樣的資料存取方法存在著明顯的缺失,例如,會使得控制單元必需對非揮發性儲存媒體的整體資源依據命名空間的數目進行劃分,再針對每一邏輯-物理位址對照表來管理其對應之一命名空間內的所有資源。存在多個邏輯-物理位址對照表增加了非揮發性儲存媒體在管理上的難度及複雜度,而這些命名空間的資源無法彼此共享,這也降低了非揮發性儲存媒體的管理上的彈性。因此,如何在支援多個命名空間的情況下維持非揮發性儲存媒體上資料管理的彈性成為一種技術上的需求。
本發明之一目的在提供一種建立多重命名空間方法,其在在支援多個命名空間的情況下能維持非揮發性儲存媒體上資料管理的彈性。
本發明之另一目的在提供一種對應於上述方法的存取多重命名空間的資料的方法。
本發明提出一種建立多重命名空間方法,其包括下列步驟:依據來自主機之查詢命令而回傳命名空間資料結構的資訊,此命名空間資料結構的資訊包含可建立之命名空間的最大數量以及總容量;收到並判斷用以建立複數個命名空間的建立命令是否正確,此建立命令包含命名空間數量以及每一命名空間容量的設定值;以及當判斷為是時,依據建立命令而建立全局H2F 對照表,其中,上述全局H2F 對照表的數目與上述最大數量以及上述命名空間數量無關。
本發明另提出一種存取多重命名空間的資料的方法,其包括下列步驟:接收命名空間的存取命令,此存取命令包含命名空間編號以及位址資料;將命名空間編號以及位址資料對應至全局H2F 對照表的邏輯區塊位址;以及依據全局H2F 對照表的邏輯區塊位址的紀錄來執行存取命令的動作。
由於本發明乃是採用一個全局位址對照表來統一管理資料儲存裝置之複數個命名空間,不但可以有效地支援多重命名空間,並且簡化多重命名空間的管理,更不會因為支援多重命名空間而造成系統資源,例如:備用空間的大小,被邏輯分割而缺乏或受限。
圖1繪有依照本發明一實施例之資料儲存裝置及其與主機的電性耦接關係。請參照圖1,主機100主要包括有中央處理單元110、連接介面120及揮發性儲存媒體130。連接介面120適於電性耦接資料儲存裝置200。中央處理單元110用以透過連接介面120傳送命令至資料儲存裝置200,例如是傳送讀取命令至資料儲存裝置200,讓資料儲存裝置200去揮發性儲存媒體130的指定位址去讀取資料。而在此例中,主機100包括以電腦、手機、平板、相機或是其他具運算功能的手持式電子裝置來實現。
資料儲存裝置200主要包括有控制單元210、非揮發性儲存媒體220與揮發性儲存媒體230。控制單元210係電性耦接非揮發性儲存媒體220與揮發性儲存媒體230,並用以控制非揮發性儲存媒體220與揮發性儲存媒體230的操作(例如進行資料的存取與抹除)。在此例中,非揮發性儲存媒體220例如是以快閃記憶體(Flash memory)、磁阻式隨機存取記憶體(Magnetoresistive RAM)、鐵電隨機存取記憶體(Ferroelectric RAM)、電阻式記憶體(Resistive RAM,RRAM)等具有長時間資料保存之記憶體裝置來實現,而揮發性儲存媒體230例如是以動態隨機存取記憶體(Dynamic Random Access Memory,DRAM)或靜態隨機存取記憶體(Static Random-Access Memory,SRAM)來實現。控制單元210主要包括有介面邏輯212、微處理器214與控制邏輯216。微處理器214電性耦接介面邏輯212與控制邏輯214。微處理器214用以透過控制邏輯216存取非揮發性儲存媒體220與揮發性儲存媒體230中的資料,且微處理器214還用以透過介面邏輯212接收來自主機100之命令及資料,或是接收來自主機100的通知(messaging),至指定的揮發性儲存媒體130的位址去讀取命令,命令包括:寫入命令、讀取命令、傾倒(flush)命令等,之後,控制單元210再執行命令以及存取資料。
圖2為依照本發明一實施例之建立多重命名空間方法的流程圖,請同時參照圖1與圖2。步驟S200:系統初始化。資料儲存裝置200初次電性耦接至主機100時進行初始化。
步驟S202:依據一查詢命令而回傳命名空間資料結構(namespace data structure)的資訊,其中,命名空間資料結構的資訊包含可建立之命名空間的最大數量以及總容量。主機100傳送識別(Identify)命令至資料儲存裝置200的控制單元210;控制單元210依據此識別命令而回傳命名空間資料結構的資訊至主機100,命名空間資料結構包括資料儲存裝置200可支援之命名空間的最大數量、命名空間大小(size)的最大值等支援參數。除了回傳命名空間資料結構至主機100,控制單元210依據同一識別命令或另一道識別命令而回傳控制單元資料結構(controller data structure)的資訊至主機100。
步驟S204:收到並判斷用以建立複數個命名空間的建立命令是否正確,其中,建立命令包含命名空間數量以及每一命名空間容量(capacity)的設定值;如果不正確則回傳一個失敗訊息至主機100(步驟S206),並結束本發明建立多重命名空間方法的流程;如果正確則回傳一個確認訊息(步驟S208)至主機100,接著執行步驟S210。在收到命名空間資料結構後,主機100可依據其實際的需求而產生一建立(Create)命令,並輸出此建立命令至資料儲存裝置200的控制單元210,此建立命令包含有主機100欲建立之命名空間的數量及每一命名空間容量(capacity)等設定值,其中,數量大於等於2。當收到建立命令後,控制單元210比對建立命令所包含的設定值與支援參數來判斷建立命令是否正確。例如,設定值的命名空間數量是否小於等於支援參數的可支援之命名空間的最大數量,設定值的每一命名空間容量的加總是否小於等於支援參數命名空間大小的最大值。此外,設定值可更包括:命名空間大小(namespace size)、格式化後LBA大小(formatted LBA size)等設定值。另外,在支援參數及設定值中,與空間大小以及空間容量有關的數值較佳以LBA的數量來表示,例如,一個LBA所對應的資料量為4KB,則16384個LBA的容量等於64MB,此時,命名空間大小以及命名空間容量可以用64MB來表示,但較佳以16384個LBA來表示。最後,如果比對失敗,則控制單元210回傳一個失敗訊息至主機100,並結束本發明建立多重命名空間方法的流程;如果比對成功,則控制單元210回傳一個確認訊息至主機100。需注意的是,雖然控制單元210回傳一個確認訊息至主機100,可是,控制單元210並未依建立命令而建立任何命名空間,或對非揮發性儲存媒體220進行邏輯劃分,僅僅回傳一個確認訊息至主機100而已。
步驟S210:依據建立命令而建立一全局H2F 對照表,其中,全局H2F 對照表的數目與設定值的命名空間數量無關,全局H2F 對照表的大小與設定值的每一命名空間容量的加總成正比。假設支援參數的可支援之命名空間的最大數量為4,且設定值的命名空間數量亦等於4,在傳統方法中,控制單元210會依據建立命令將非揮發性儲存媒體220劃分成四個區域以建立四個命名空間,即命名空間#0~3,並針對每一命名空間建立一個H2F 對照表,即H2F 對照表#0~3。圖3即為控制單元210依傳統方法所建立的H2F 對照表#0~#3,分別對應命名空間#0~#3。然而,在本發明中,控制單元210不會依據建立命令而建立命名空間#0~#3,不會對非揮發性儲存媒體220進行邏輯劃分,亦不會建立管理命名空間#0~#3的資料所需的H2F 對照表#0~#3。相反的,控制單元210會建立一全局H2F 對照表來統一管理命名空間#0~#3所儲存的資料。
圖4即為控制單元210依照本發明一實施例所建立的全局H2F 對照表。全局H2F 對照表的大小與設定值的每一命名空間容量的加總成正比,全局H2F 對照表可劃分成複數個區段,區段的數量等於建立命令中命名空間的數量。例如,全局H2F 對照表可劃分成四個區段,每一個區段可對應至一命名空間。假設設定值的每一命名空間容量的值皆相同,則每一區段全局H2F 對照表的長度皆相同。假設,全局H2F 對照表的每一筆資料大小是8B,用以記錄一筆來自於主機100的4K大小的資料的對應關係。如果欲建立的命名空間#0~#3的容量皆為64MB,分別儲存16384筆資料,則加總後的容量為256MB,則步驟S210所建立的全局H2F 對照表的大小為512KB並記錄有65536筆的LBA,例如LBA0~65535,以及物理位址,例如,資料區塊(Block)編號與資料頁(Page)編號,的對應關係。這65536個LBA較佳為依序接續並依序對應至欲建立的命名空間#0~#3。例如,第一個區段包含LBA0~16383,用以對應至命名空間#0的邏輯區塊位址LBA0~16383;第二個區段包含LBA 16384~32767,用以對應至命名空間#1的邏輯區塊位址LBA0~16383;第三個區段包含LBA32768~49151,用以對應至命名空間#2的邏輯區塊位址LBA0~16383;而第四個區段包含LBA49152~65535,用以對應至命名空間#3的邏輯區塊位址LBA 0~16383。
本發明建立多重命名空間方法可簡化多重命名空間的建立並有效地對多重命名空進行資料存取及管理,達到本發明的目的,同時系統資源無需因為支援多重命名空間而進行分割。此外,當主機100欲新增命名空間、刪除命名空間、重新設定命名空間的容量,利用本發明建立多重命名空間方法,適當地調整全局H2F 對照表的內容即能達到相同的效果。
依據建立命令的參數來建立全局H2F 對照表後,控制單元210以此全局H2F 對照表來進行多重命名空間的資料存取及管理。圖5即為依照本發明一實施例之存取多重命名空間的資料的方法的流程圖,請同時參照圖1、4與5。步驟S502:接收一命名空間的存取命令,此存取命令包含命名空間編號(namespace ID)以及位址資料;其中,此命名空間編號對應至其中之一複數命名空間;位址資料較佳為一個數值,例如:LBA,或者二個數值,第一LBA以及第二LBA,分別代表一段資料的起點位址以及終點位址,或者,LBA以及一個數量值,分別代表一段資料的起點位址以及資料的筆數。在下述說明中,以此存取命令為讀取命名空間#1的LBA1的資料為例進行說明,但不以此為限。
步驟S504:將命名空間編號以及位址資料對應至全局H2F 對照表的LBA。控制單元210依據下列的轉換公式將命名空間編號(namespace ID)以及位址資料對應至全局H2F 對照表的LBA,而轉換公式如下所示: 全局H2F 對照表的LBA=所有小於命名空間編號的命名空間的容量的加總+位址資料。
舉例而言,命名空間編號等於1,即對應至命名空間#1,則小於命名空間編號的所有命名空間僅包含命名空間#0,而命名空間#0的容量對應至16384個LBA,即LBA0~16383,位址資料為LBA1,依據上述轉換公式可以得到全局H2F 對照表的LBA16385 (=16384+1)。舉例而言,命名空間編號等於2且位址資料為LBA10~20,其對應至命名空間#2的LBA10-20,則小於命名空間#2的所有命名空間包含命名空間#0~1,命名空間#0~1的容量分別對應至16384個LBA,依據上述轉換公式可以得到全局H2F 對照表的LBA32778 (=16384*2+10)~ LBA32788 (=16384*2+20)。
步驟S506,依據全局H2F 對照表的LBA的記錄來執行存取命令的動作。命名空間#1的LBA1乃對應至全局H2F 對照表的LBA16385,控制單元210讀取全局H2F 對照表的LBA16385即能得知資料區塊編號以及資料頁編號,藉由讀取資料區塊編號所對應的資料區塊的資料頁編號所對應的資料頁即能完成存取命令。相同地,命名空間#2的LBA10~20乃對應至全局H2F 對照表的LBA32778~ LBA32788,控制單元210讀取全局H2F 對照表的LBA32778~ LBA32788即能得知資料區塊編號以及資料頁編號,藉由讀取資料區塊編號所對應的資料區塊的資料頁編號所對應的資料頁即能完成存取命令。
藉由上述各實施例之教示,可知由於本發明乃是採用一個全局位址對照表來統一管理資料儲存裝置之複數個命名空間,不但可以有效地支援多重命名空間,並且簡化多重命名空間的管理,更不會因為支援多重命名空間而造成系統資源,例如:備用空間的大小,被邏輯分割而缺乏或受限。
100‧‧‧主機
110‧‧‧中央處理單元
120‧‧‧連接介面
200‧‧‧資料儲存裝置
210‧‧‧控制單元
212‧‧‧介面邏輯
214‧‧‧微處理器
216‧‧‧控制邏輯
220‧‧‧非揮發性儲存媒體
130、230‧‧‧揮發性儲存媒體
S200~S210、S502~S506‧‧‧步驟
圖1繪有依照本發明一實施例之資料儲存裝置及其與主機的電性耦接關係; 圖2為依照本發明一實施例之建立多重命名空間方法的流程圖; 圖3為控制單元210依傳統方法所建立的H2F 對照表#0~#3; 圖4為控制單元210依照本發明一實施例所建立的全局H2F 對照表; 圖5為依照本發明一實施例之存取多重命名空間的資料的方法的流程圖。
S200~S210‧‧‧步驟

Claims (13)

  1. 一種建立多重命名空間方法,其包括: 依據來自一主機之一查詢命令而回傳一命名空間資料結構的資訊,該命名空間資料結構的資訊包含可建立之命名空間的一最大數量以及一總容量; 收到並判斷用以建立複數個命名空間的一建立命令是否正確,該建立命令包含一命名空間數量以及每一命名空間容量的設定值;以及 當判斷為是時,依據該建立命令而建立一全局H2F 對照表,其中,該全局H2F 對照表的數目與該最大數量以及該命名空間數量無關。
  2. 如申請專利範圍第1項所述之建立多重命名空間方法,其中當判斷為是時,更包括回傳一確認訊息至該主機。
  3. 如申請專利範圍第1項所述之建立多重命名空間方法,其中當判斷為否時,回傳一失敗訊息至該主機。
  4. 如申請專利範圍第1項所述之建立多重命名空間方法,其中判斷該建立命令是否正確之步驟包括: 判斷該命名空間數量是否小於等於可支援之命名空間的最大數量;以及 判斷每一命名空間容量的加總是否小於等於可支援之命名空間大小的最大值。
  5. 如申請專利範圍第1項所述之建立多重命名空間方法,其中該全局H2F 對照表的大小與欲建立之每一命名空間容量的加總成正比。
  6. 如申請專利範圍第1項所述之建立多重命名空間方法,其中該全局H2F 對照表係劃分成複數個區段,該些區段的數量等於該命名空間數量。
  7. 如申請專利範圍第1項所述之建立多重命名空間方法,其中該全局H2F 對照表記錄有複數個邏輯區塊位址、複數個資料區塊編號與複數個資料頁編號的對應關係。
  8. 一種存取多重命名空間的資料的方法,其包括: 接收一命名空間的一存取命令,該存取命令包含一命名空間編號以及一位址資料; 將該命名空間編號以及該位址資料對應至一全局H2F 對照表的一邏輯區塊位址;以及 依據該全局H2F 對照表的該邏輯區塊位址的紀錄來執行該存取命令的動作。
  9. 如申請專利範圍第8項所述之存取多重命名空間的資料的方法,其中該命名空間編號對應至其中之一複數命名空間。
  10. 如申請專利範圍第8項所述之存取多重命名空間的資料的方法,其中該位址資料包括是一邏輯區塊位址。
  11. 如申請專利範圍第8項所述之存取多重命名空間的資料的方法,其中該位址資料包括是一第一邏輯區塊位址與一第二邏輯區塊位址。
  12. 如申請專利範圍第8項所述之存取多重命名空間的資料的方法,其中該位址資料包括是一邏輯區塊位址與一資料的筆數。
  13. 如申請專利範圍第8項所述之存取多重命名空間的資料的方法,其中將該命名空間編號以及該位址資料對應至該全局H2F 對照表的該邏輯區塊位址包括以如下方式計算: 該全局H2F 對照表的該邏輯區塊位址等於所有小於該命名空間編號的命名空間的容量的加總再加上該位址資料。
TW105143898A 2016-12-29 2016-12-29 建立多重命名空間方法與存取多重命名空間的資料的方法 TWI602074B (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
TW105143898A TWI602074B (zh) 2016-12-29 2016-12-29 建立多重命名空間方法與存取多重命名空間的資料的方法
CN201710667296.6A CN108255415B (zh) 2016-12-29 2017-08-07 建立多重命名空间方法与存取多重命名空间的数据的方法
US15/804,797 US10565103B2 (en) 2016-12-29 2017-11-06 Method for creating multi-namespace and method for accessing data therein
US16/672,536 US10977171B2 (en) 2016-12-29 2019-11-04 Method for creating multi-namespace and accessing data therein

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW105143898A TWI602074B (zh) 2016-12-29 2016-12-29 建立多重命名空間方法與存取多重命名空間的資料的方法

Publications (2)

Publication Number Publication Date
TWI602074B true TWI602074B (zh) 2017-10-11
TW201824033A TW201824033A (zh) 2018-07-01

Family

ID=61010921

Family Applications (1)

Application Number Title Priority Date Filing Date
TW105143898A TWI602074B (zh) 2016-12-29 2016-12-29 建立多重命名空間方法與存取多重命名空間的資料的方法

Country Status (3)

Country Link
US (2) US10565103B2 (zh)
CN (1) CN108255415B (zh)
TW (1) TWI602074B (zh)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10866732B2 (en) 2017-03-10 2020-12-15 Toshiba Memory Corporation Namespace re-sizing
JP6892361B2 (ja) * 2017-09-21 2021-06-23 キオクシア株式会社 ストレージ装置
US10678703B2 (en) * 2017-11-16 2020-06-09 Micron Technology, Inc. Namespace mapping structual adjustment in non-volatile memory devices
US10223254B1 (en) * 2017-11-16 2019-03-05 Micron Technology, Inc. Namespace change propagation in non-volatile memory devices
US10691592B2 (en) * 2018-10-30 2020-06-23 Micron Technology, Inc. Error-checking in namespaces on storage devices using a namespace table and metadata
TWI693517B (zh) * 2018-11-16 2020-05-11 慧榮科技股份有限公司 用來進行儲存空間管理之方法以及資料儲存裝置及其控制器
CN112115067B (zh) 2019-06-21 2024-09-24 慧荣科技股份有限公司 闪存物理资源集合管理装置及方法及计算机可读取存储介质
CN110737605A (zh) * 2019-09-03 2020-01-31 深圳市金泰克半导体有限公司 命名空间的数据管理方法及系统
US11061770B1 (en) * 2020-06-30 2021-07-13 EMC IP Holding Company LLC Reconstruction of logical pages in a storage system
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
US20240061767A1 (en) * 2022-08-22 2024-02-22 Micron Technology, Inc. Logical address granularity configurations for logical address space partitions

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070055689A1 (en) * 1998-04-16 2007-03-08 Rhoads Geoffrey B Content Indexing and Searching using Content Identifiers and associated Metadata
TW200712949A (en) * 2005-07-15 2007-04-01 Microsoft Corp Intelligent container index and search

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100401723C (zh) * 2005-10-13 2008-07-09 华为技术有限公司 一种快速索引方法
US9015446B2 (en) * 2008-12-10 2015-04-21 Nvidia Corporation Chipset support for non-uniform memory access among heterogeneous processing units
US9208071B2 (en) * 2010-12-13 2015-12-08 SanDisk Technologies, Inc. Apparatus, system, and method for accessing memory
US9244833B2 (en) * 2012-05-30 2016-01-26 Silicon Motion, Inc. Data-storage device and flash memory control method
TWI574274B (zh) * 2015-05-07 2017-03-11 慧榮科技股份有限公司 循環區塊模式下的資料存取方法以及使用該方法的裝置
US20170344430A1 (en) * 2016-05-24 2017-11-30 Intel Corporation Method and apparatus for data checkpointing and restoration in a storage device
KR20180047402A (ko) * 2016-10-31 2018-05-10 삼성전자주식회사 멀티 네임스페이스를 관리하는 스토리지 장치 및 상기 스토리지 장치의 동작 방법
US20180239697A1 (en) * 2017-02-22 2018-08-23 CNEXLABS, Inc. a Delaware Corporation Method and apparatus for providing multi-namespace using mapping memory

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070055689A1 (en) * 1998-04-16 2007-03-08 Rhoads Geoffrey B Content Indexing and Searching using Content Identifiers and associated Metadata
TW200712949A (en) * 2005-07-15 2007-04-01 Microsoft Corp Intelligent container index and search

Also Published As

Publication number Publication date
TW201824033A (zh) 2018-07-01
US10565103B2 (en) 2020-02-18
US20180189174A1 (en) 2018-07-05
CN108255415A (zh) 2018-07-06
US10977171B2 (en) 2021-04-13
CN108255415B (zh) 2021-04-30
US20200065242A1 (en) 2020-02-27

Similar Documents

Publication Publication Date Title
TWI602074B (zh) 建立多重命名空間方法與存取多重命名空間的資料的方法
US10078453B1 (en) Storage system, computer program product, and method for managing a hybrid memory device system
US11354236B2 (en) Garbage collection method for data storage device
EP3436953B1 (en) Method and apparatus for processing sequential writes to a block group of physical blocks in a memory device
US10714141B2 (en) Method for accessing shingled magnetic recording SMR disk, and server
CN107111452B (zh) 应用于计算机系统的数据迁移方法和装置、计算机系统
TWI622890B (zh) 建立多重命名空間方法與存取多重命名空間的資料的方法
US10909031B2 (en) Memory system and operating method thereof
TW201732597A (zh) 資料儲存裝置和其操作方法
US11010079B2 (en) Concept for storing file system metadata within solid-stage storage devices
US8127072B2 (en) Data storage device and method for accessing flash memory
US11269783B2 (en) Operating method for data storage device
CN110389908A (zh) 存储器系统、数据处理系统和存储器系统的操作方法
JPWO2009096180A1 (ja) メモリコントローラ、不揮発性記憶装置、及び、不揮発性記憶システム
US11455241B2 (en) Data management method applicable to data storage device
TWI591533B (zh) 可用於資料儲存裝置之資料儲存方法與資料回復程序、以及採用這些方法的資料儲存裝置
US8370599B2 (en) Storage system and controlling system and method thereof
KR20190106008A (ko) 메모리 시스템, 그것의 동작 방법 및 전자 장치
CN208569620U (zh) 具有nid池的存储设备
TWI693517B (zh) 用來進行儲存空間管理之方法以及資料儲存裝置及其控制器
KR101165966B1 (ko) 커맨드에 의해 동기 모드 또는 비동기 모드로 액세스 가능한 메모리 시스템
CN110659216A (zh) Nid分配方法及其存储设备
TW201915740A (zh) 固態硬碟及其執行刪除命令的方法
TW202009714A (zh) 儲存裝置及快取區定址方法