TWI782868B - 資料儲存管理方法和儲存裝置 - Google Patents
資料儲存管理方法和儲存裝置 Download PDFInfo
- Publication number
- TWI782868B TWI782868B TW111104633A TW111104633A TWI782868B TW I782868 B TWI782868 B TW I782868B TW 111104633 A TW111104633 A TW 111104633A TW 111104633 A TW111104633 A TW 111104633A TW I782868 B TWI782868 B TW I782868B
- Authority
- TW
- Taiwan
- Prior art keywords
- external memory
- mapping table
- mapping
- storage device
- data
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
- G06F12/0615—Address space extension
- G06F12/0623—Address space extension for memory modules
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
- G06F12/1009—Address translation using page tables, e.g. page table structures
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
一種可調整映射表的資料管理方法,可以根據外部記憶體的大小、有無和儲存裝置總容量的規格,動態選擇最利於效能的運行模式,來管理映射表。首先,該儲存裝置在開機後,執行韌體中的程序,以檢查儲存裝置中是否配置有外部記憶體。當該儲存裝置配置有該外部記憶體並為可用狀態,進一步計算該儲存單元陣列和該外部記憶體的可用容量的容量比例。當該容量比例不大於臨界值,使用該外部記憶體執行一級映射模式。當該容量比例大於等於該臨界值,使用該外部記憶體和該控制晶片中的內部記憶體執行二級映射模式。當該外部記憶體不存在或不可用,使用該內部記憶體和該儲存單元陣列執行該二級映射模式。
Description
本申請涉及儲存設備領域,尤其涉及一種可動態調整管理映射表的方法。
儲存裝置(例如:固態硬碟、隨身碟、…)內部維護了一張邏輯分頁到實體分頁位址轉換的映射表(Map Table),用戶每寫入一個邏輯分頁,就會產生一個新的映射關係,這個映射關係會加入(第一次寫)或者更改(覆蓋寫)映射表;當用戶讀取某個邏輯分頁時, 儲存裝置首先查找映射表中該邏輯分頁對應的實體頁,然後再存取快閃記憶體(Flash Memory)讀取相應的資料。
對於配置有大容量外部記憶體(例如:動態記憶體(DRAM))的儲存裝置,一般會將映射表全部儲存在外部記憶體上,即全外部記憶體模式,映射關係可以快速存取。另一種配置小容量外部記憶體的儲存裝置,會將部分映射表儲存在外部記憶體上,即部分外部記憶體模式。還有一種無外部記憶體模式(RAM-less Mode)的儲存裝置,採用二級映射。一級映射是指所有的資料都由一個映射表直接管理。二級映射會新增、更新第二個較小的映射表在控制晶片的內部記憶體中,用來管理第一個映射表,再由第一個映射表來管理整個資料。所謂的外部記憶體系位於控制晶片之外的記憶體,而所謂的內部記憶體系位於控制晶片之內的記憶體,而外部記憶體與內部記憶體皆位於儲存裝置之內。
對於大部分儲存裝置,不同硬件架構和快閃記憶體容量,會採用不同的映射管理方式,就會發布不同版本的韌體(Firmware),相互之間無法搭配。因此,一種可動態調整的映射管理表的方法,來匹配上述三種儲存管理映射表的方式,減少韌體開發和維護成本,是有待開發的。
為了解決不同硬件條件下的儲存裝置管理映射表的問題,本申請提出了一種可動態調整映射表的資料管理方法,可以根據外部記憶體的有無、大小和儲存裝置總容量的規格,選擇最利於效能的運行模式,來管理映射表。
在一實施例中,提出了一種資料儲存管理方法,用於使儲存裝置進行資料存取。該儲存裝置至少可包括控制晶片,韌體,及儲存單元陣列。該儲存裝置可能包含或不包外部記憶體。本資料儲存管理方法可以實時判斷是否有外部記憶體,來決定運行模式。
首先,該儲存裝置在開機後,執行韌體中的程序,以檢查儲存裝置中是否配置有不在該控制晶片中的外部記憶體。當該儲存裝置配置有該外部記憶體並為可用狀態,進一步計算該儲存單元陣列和該外部記憶體的可用容量的容量比例。
當該容量比例不大於臨界值,使用該外部記憶體執行一級映射模式。
當該容量比例大於等於該臨界值,使用該外部記憶體和該控制晶片中的內部記憶體執行二級映射模式。
當該外部記憶體不存在或不可用,使用該內部記憶體和該儲存單元陣列執行該二級映射模式。
在進一步的實施例中,該儲存裝置連接一主機,用於接收存取要求。該存取要求包含資料的邏輯位址。當使用該外部記憶體執行該一級映射模式時,在該外部記憶體中建立第一映射表,用於對應該存取要求中的邏輯位址至該儲存單元陣列中的實體位址。
在進一步的實施例中,當使用該外部記憶體和該內部記憶體執行該二級映射模式時,在該外部記憶體中建立第一映射表,用於對應該存取要求中的邏輯位址至該儲存單元陣列中的實體位址,並在該內部記憶體中建立第二映射表,用於管理該第一映射表。更進一步地,該儲存裝置可根據該外部記憶體和該內部記憶體的大小比例,調整該第一映射表和該第二映射表的映射粒度。
在進一步的實施例中,當使用該內部記憶體和該儲存單元陣列執行該二級映射模式時,在該儲存單元陣列中建立第三映射表,用於對應該存取要求中的邏輯位址至該儲存單元陣列中的實體位址,並在該內部記憶體中建立該第二映射表,用於管理該第三映射表。更進一步地,該儲存裝置可根據該內部記憶體和該儲存單元陣列的大小比例,調整該第二映射表和該第三映射表的映射粒度。
本申請另一實施例提出了一種儲存裝置,用於進接主機,接收存取要求以進行資料存取。其中至少包含儲存單元陣列,控制晶片,及韌體。該儲存單元陣列中包含多個實體區塊,每個實體區塊包含多個分頁,用於存放資料。該控制晶片連接該儲存單元陣列,包含轉換電路和內部記憶體,用於根據該存取要求存取該儲存單元陣列中的資料。所述韌體,連接該控制晶片,用於使該控制晶片中的該轉換電路執行資料管理方法。在執行該資料管理方法時,該控制晶片判斷該儲存裝置中是否配置有外部記憶體。當該儲存裝置配置有該外部記憶體並為可用狀態,該控制晶片計算該儲存單元陣列和該外部記憶體的可用容量的容量比例。當該容量比例不大於臨界值時,該控制晶片使用該外部記憶體執行一級映射模式。當該容量比例大於等於該臨界值時,該控制晶片使用該外部記憶體和該控制晶片中的內部記憶體執行二級映射模式。當該外部記憶體不存在或不可用,使用該內部記憶體和該儲存單元陣列執行該二級映射模式。
綜上所述,本申請的儲存裝置可在外部記憶體、內部記憶體,及儲存單元陣列中分別配置映射表,並調整這些映射表的映射粒度和快閃記憶體轉換層(Flash Transition Layer;FTL)算法,以搭配該儲存裝置中的各種不同的硬件條件變化。本實施例的優勢包含,只需要設計一套韌體,就能在生產線上搭配不同的硬件架構和快閃記憶體容量,大大減少了韌體開發時間和維護成本。產品售出後,若在使用中發生記憶體故障、或是擴充記憶體,儲存裝置100也能在開機後通過自我檢測而彈性地調整運作模式。
下面將結合本申請實施例中的圖式,對本申請實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例是本申請一部分實施例,而不是全部的實施例。基於本申請中的實施例,本領域普通技術人員在沒有作出創造性勞動前提下所獲得的所有其他實施例,都屬於本申請保護的範圍。
圖1是本申請實施例的儲存裝置100和接收主機130架構圖。本申請的實施例提出了一種儲存裝置100,可通過匯流排進接主機130,接收主機130傳送的各種存取要求以進行資料存取。儲存裝置100至少包含一或多個儲存單元陣列200,一個控制晶片110,及韌體104。該儲存單元陣列200中可包含多個實體區塊,每個實體區塊包含多個分頁,而每個分頁中包含多個儲存單元,每個儲存單元分別可用於存放一或多個位元的資料。該控制晶片110連接該儲存單元陣列200,其中包含轉換電路112和內部記憶體114,用於根據所述主機130傳送的存取要求而對該儲存單元陣列200中的資料進行讀取或寫入。所述韌體104連接該控制晶片110,用於使該控制晶片110中的該轉換電路112執行資料管理方法。
該轉換電路112通常又稱為快閃記憶體轉換層(Flash Transition Layer;FTL),負責將主機130的存取要求中的邏輯位址(Logical Block Address; LBA)轉換為實體位址(Physical Block Address; PBA)。位址轉換的運作需要使用映射表(Mapping Table)。映射表中儲存邏輯位址和實體位址的對應關係。邏輯位址是主機130對資料存放位置的理解。由於儲存裝置100可能是自各種不同規格的設備架構,主機130實質上無法管理儲存裝置100中的儲存單元陣列200,所以主機130對資料的存取是以一致化的邏輯位址來表達。至於資料實際上存放的實體位址,皆由控制晶片110中的轉換電路112根據映射表而進行轉換。舉例來說,由控制晶片110中的轉換電路112從映射表中讀取映射資訊#M,來處理主機130對資料#D的讀出或寫入要求。
在儲存裝置100中,映射表的使用方式通常針對不同的硬件條件會有所不同。舉例來說,儲存裝置100中的外部記憶體120大小和儲存單元陣列200的容量比例,會影響映射表配置方式和粒度(Granularity)。在某些不具備外部記憶體120的儲存裝置100中,映射表的配置參數又完全不同。更進一步地說,通常外部記憶體120中會劃分一個區域做為緩衝器124。緩衝器124的使用情況也會影響外部記憶體120的剩餘空間,進一步影響映射表的配置粒度。在使用的過程中,外部記憶體120也有可能發生故障而被禁能或是需要擴充升級替換,使得原本配置的映射表參數不再適用。當一個儲存裝置100出廠時,韌體104中的FTL算法和映射表配置參數已經是確定的。若是需要應付各種不同的情況,就必須準備多種版本的韌體來更新替換,程序繁雜,有實現上的困難。因此,本申請提出一種具有彈性調整能力的資料管理方法,說明如下。
在儲存裝置100開機後,該控制晶片110從韌體104中載入並執行資料管理程序,以判斷該儲存裝置100中是否配置有外部記憶體120。根據外部記憶體120是否存在,是否可用,以及其可用容量與儲存單元陣列200的容量比例,可以區分為下列三種使用情況。
當該儲存裝置100確認配置有外部記憶體120,且該外部記憶體120為可用狀態時,該控制晶片110計算該儲存單元陣列200和該外部記憶體120的可用容量的容量比例。該外部記憶體120可能劃分一部份空間做為資料存取的緩衝器124,也可能有一部份是損壞的,或是用於儲存其他內部運作需要的資料。因此可用容量可能比原設計的總容量少。
一般來說,映射表每個單元儲存的是實體位址,其大小是32bits,指向4kB的資料空間,那麽映射表的大小是儲存裝置總容量的1/1000。此映射粒度僅為舉例,是綜合效能和成本的考量所獲得的平衡值,在實現設計時實際上所使用的映射粒度並不限為1/1000。
換句話說,本實施例可依據儲存裝置中的儲存單元陣列200總容量和外部記憶體120大小的比例來做為動態調整映射管理表的依據。該容量比例P可以表示為:
P=儲存單元陣列容量/外部記憶體可用容量
舉例來說,如果儲存單元陣列容量 = 1TB,外部記憶體可用容量 = 2GB,則P=500。
當該容量比例P不大於臨界值時,該控制晶片110使用該外部記憶體120執行一級映射模式。在本實施例中,該臨界值可設定為1000。一級映射模式是指,使用一個映射表來處理全部的邏輯對實體位址轉換。更具體地說,當使用該外部記憶體120執行該一級映射模式時,該控制晶片110在該外部記憶體120中建立第一映射表122,用於對應主機130使用的邏輯位址至儲存單元陣列200中的實體位址。
當該容量比例P大於等於該臨界值時,該控制晶片110使用該外部記憶體120和該控制晶片110中的內部記憶體114執行二級映射模式。在使用該外部記憶體120和該內部記憶體114執行該二級映射模式時,該控制晶片110在該外部記憶體120中建立第一映射表122,用於對應所述主機130所使用的邏輯位址至該儲存單元陣列200中的實體位址,並在該內部記憶體114中建立第二映射表116,用於管理該第一映射表122。內部記憶體114的容量通常小於外部記憶體120,但是速度效能較外部記憶體120為佳。換句話說,儲存單元陣列200的容量超過外部記憶體120的可用容量的1000倍以上時,外部記憶體120中的第一映射表122無法有效管理儲存單元陣列200中的位址轉換。本實施例可彈性地針對這種情況,使用一個較小的第二映射表116與該第一映射表122搭配運行於二級映射模式,借此有效的管理資料存取。更進一步地說,該儲存裝置100可根據該外部記憶體120和該內部記憶體114的大小比例,調整該第一映射表122和該第二映射表116的映射粒度,以優化管理效能。
在該儲存裝置100中沒有配置有外部記憶體120,該外部記憶體120的狀態無法使用,或該外部記憶體120的可用容量不足的情況下,該控制晶片110可使用該內部記憶體114,搭配該儲存單元陣列200執行該二級映射模式。更具體地說,在使用該內部記憶體114和該儲存單元陣列200執行該二級映射模式時,該控制晶片110在該儲存單元陣列200中建立第三映射表212,用於對應主機130所使用的邏輯位址至該儲存單元陣列200中的實體位址,並在該內部記憶體114中建立該第二映射表116,用於管理該第三映射表212。通常儲存單元陣列200中的容量足夠大,可以劃分一實體塊區域來做為該第三映射表212。然而由於儲存單元陣列200通常是使用快閃記憶體,在存取的速度效能方面無法和外部記憶體120和內部記憶體114相比。為了平衡效能和容量,本申請實施例採用二級映射模式使第二映射表116和第三映射表212協同運作。更進一步地說,該儲存裝置100可根據該內部記憶體114和該儲存單元陣列200的大小比例,調整該第二映射表116和該第三映射表212的映射粒度,以使資料管理的效能優化。
圖2是本申請實施例的儲存單元陣列200架構圖。在儲存單元陣列200中,通常包含多個晶粒206排列,每個晶粒206(Die)又稱為LUN,其中又可分為多個面208(Plane)。每個面208中包含多個實體塊202(Block)。每一個實體塊202中,又可進一步細切為多個頁(Page)(未圖示)。每一個實體塊202具有獨立的位址,而其中每一分頁的位置可由該位址加上偏移量(Offset)而查找。而每一分頁中包含多個儲存單元,每一儲存單元用於儲存一或多個位元資料。
實體塊202和分頁是映射表中常見做為資料儲存的映射粒度單位。舉例來說,控制晶片110的主要工作其一就是把主機130 使用的邏輯位址轉為儲存單元陣列200中的實體位址,而這種對應關係就存在本實施例所述的映射表中。為了存取效率,映射表的內容會被快取在外部記憶體120中,並提供斷電保護。
根據實體塊202和分頁所實現的資料管理方法,基本上包含幾種類型。一般來說,頁級映射(page level mapping)是直接簡單的映射模式。每個邏輯分頁都對應到各自的實體頁。但由於儲存單元陣列200中的分頁數量非常龐大,需要極更大容量的記憶體來處理,因此成本過高。
另一種實現映射模式的方法是塊級映射(block level mapping),可大量節省映射表所需要佔用的記憶體。但由於每次資料寫入的動作是以實體塊為單位進行,而且每一個實體塊所對應的儲存容量較大。如果出現大數量的小資料寫入,會使實體塊的利用率嚴重下降。
換句話說,頁級映射和塊級映射是兩種極端情況的應用,後來出現各種可以平衡兩者優點的混合映射方式,例如記錄實體塊映射(log-block mapping)。簡單地說,就是大數量的小資料寫入要求會先暫時被映射到緩衝器124中,直到累積成完整的實體塊資料,才正式將資料複製到一個獨立的實體塊中,並使邏輯塊位址映射指向所述獨立的實體塊。
由上所述,本實施例所述的一級映射模式和二級映射模式,即是採用不同的儲存方案和不同的映射表大小來搭配映射算法,彈性地適應各種不同的應用情況,有效率的實現位址轉換功能。當轉換電路112在使用該第一映射表122,第二映射表116,及第三映射表212時,還能進一步搭配各種不同的FTL算法,來進一步優化管理效能,例如垃圾收集(Garbage Collection),正向映射(Direct Mapping),反向映射(Inverse Mapping),變長映射(Variable Length Mapping),需求基底轉換層(Demand-based FTL),惰性轉換層(Lazy FTL),叢集頁級映射(Clustered page-level Mapping),及更多變體映射算法等。因此,本申請並不在於限定使用何種FTL算法及映射表的詳細內部格式。只要基於本實施例提出的架構,各種硬件條件下可能遇到的情況皆能彈性的適應。
每個面208中又分別包含一個暫存器204,可存放關於所述面208的細部參數設定,例如時延參數,階數(Cell Level)或其他屬性。階數可用來決定每個儲存單元可代表的位元數,例如一層單元(Single Level Cell; SLC),多層單元(Multi LC;MLC),三層單元(Triple LC;TLC),四層單元(Quad LC; QLC)等。儲存單元陣列200中包含一連接埠210,可通過控制晶片110連接至主機130。
圖3是本申請實施例的資料管理方法流程圖。本申請的資料管理方法可總結為圖3的流程圖。在步驟301中,使儲存裝置100開機。在步驟303中,由儲存裝置100獲取硬件資訊,例如儲存單元陣列200是否存在,及其大小。舉例來說,韌體104中可以儲存機碼,記錄儲存裝置100出廠時的硬件配置資訊。另一方面,儲存裝置100開機時也可以進行自我檢測,以確認硬件狀態。在步驟305中,如果檢測出儲存裝置100中包含可用的外部記憶體120,則進行步驟307,計算儲存單元陣列200和外部記憶體120的容量比例P。
在步驟309中,判斷該容量比例P是否大於臨界值。舉例來說,如果P小於等於1000,則進行步驟313,使用外部記憶體120執行一級映射模式。這個步驟完全使用外部記憶體120來進行映射,又稱為全記憶體模式(Full RAM Mode)。其中,控制晶片110中的FTL算法也可隨著調整,例如選用適當的映射粒度和映射規則。
另一方面,如果在步驟309中判斷容量比例P大於1000,則進行步驟311,使用外部記憶體120和內部記憶體114執行二級映射模式。這種情況又可稱為部份記憶體模式(Partial RAM Mode)。
如果步驟305中發現儲存裝置100中不存在外部記憶體120,或是外部記憶體120的狀態不可用,則進行步驟315中,使用內部記憶體114和儲存單元陣列200來執行二級映射模式。這種情況下,由於沒有使用到外部記憶體120,又可稱為無記憶體模式(RAM-less Mode)。最後,在步驟317中結束本實施例之映射表的使用模式的判定程序。
在本申請的實施例中,儲存裝置100可以是一個儲存裝置。與主機130的連接可以是通用序列匯流排(USB) 或是外部序列工業標準連接埠(e-SATA)。外部記憶體120可以是一種同步動態隨機存取記憶體(SDRAM)。在進一步的實施例中,與該儲存裝置100連接的所述主機130中,也可在主機記憶體132中配置一個外部映射表134,做為與該第一映射表122或該第三映射表212的替代或同步備份。當主機130在存取儲存裝置100時,可通過所述外部映射表134增加效能,例如整理大量細碎的存取要求,或是快取大量重複的存取動作。雖然本實施例以圖1所示的硬件架構表示,但可以理解的是,圖1僅為功能上的示例,在實體設計中,儲存裝置100中還可以包含其他運作上的必要元件,而控制晶片110和儲存單元陣列200的內部安排也可能存在其他的不同的變化。
在進一步的實施例中,雖未圖示,但可理解該第三映射表212可以是由控制晶片110從儲存單元陣列200中選擇一或多個面208中的多個實體塊202所映射而成。
綜上所述,本申請的儲存裝置100可在外部記憶體120、內部記憶體114,及儲存單元陣列200中分別配置映射表,並調整這些映射表的映射粒度,以配合該儲存裝置100中的各種不同的硬件條件變化。本實施例的優勢包含,只需要設計一套韌體,就能在生產線上搭配不同的硬件架構和快閃記憶體容量,大大減少了韌體開發時間和維護成本。產品售出後,若在使用中發生記憶體故障、或是擴充記憶體,儲存裝置100也能在開機後通過自我檢測而彈性地調整運作模式。
需要說明的是,在本文中,術語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者裝置不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者裝置所固有的要素。在沒有更多限制的情況下,由語句“包括一個……”限定的要素,並不排除在包括該要素的過程、方法、物品或者裝置中還存在另外的相同要素。
上面結合圖式對本申請的實施例進行了描述,但是本申請並不局限於上述的具體實施方式,上述的具體實施方式僅僅是示意性的,而不是限制性的,本領域的普通技術人員在本申請的啓示下,在不脫離本申請宗旨和權利要求所保護的範圍情況下,還可做出很多形式,均屬本申請的保護之內。
130:主機
132:主機記憶體
134:外部映射表
120:外部記憶體
124:緩衝器
122:第一映射表
104:韌體
110:控制晶片
112:轉換電路
116:第二映射表
114:內部記憶體
100:儲存裝置
200:儲存單元陣列
#D:資料
#M:映射資訊
202:實體塊
204:暫存器
206:晶粒
208:面
210:連接埠
212:第三映射表
301-317:步驟
此處所說明的圖式用來提供對本申請的進一步理解,構成本申請的一部分,本申請的示意性實施例及其說明用於解釋本申請,並不構成對本申請的不當限定。在圖式中:
圖1是本申請實施例的儲存裝置100和主機130架構圖;
圖2是本申請實施例的儲存單元陣列200架構圖;及
圖3是本申請實施例的資料管理方法流程圖。
301-317:步驟
Claims (10)
- 一種資料儲存管理方法,用於使一儲存裝置進行資料存取,該儲存裝置至少包括一控制晶片,一韌體,及一儲存單元陣列;該資料儲存管理方法包含:判斷該儲存裝置中是否配置有不在該控制晶片中的一外部記憶體;當該儲存裝置配置有該外部記憶體並為可用狀態,計算該儲存單元陣列和該外部記憶體的可用容量的一容量比例;當該容量比例不大於一臨界值,使用該外部記憶體執行一一級映射模式;當該容量比例大於等於該臨界值,使用該外部記憶體和該控制晶片中的一內部記憶體執行一二級映射模式;及當該外部記憶體不存在或不可用,使用該內部記憶體和該儲存單元陣列執行該二級映射模式。
- 如請求項1所述的資料儲存管理方法,其中:該儲存裝置接收一存取要求,該存取要求包含欲存取的資料的邏輯位址;其中:當使用該外部記憶體執行該一級映射模式時,在該外部記憶體中建立一第一映射表,用於對應該存取要求中的邏輯位址至該儲存單元陣列中的實體位址。
- 如請求項1所述的資料儲存管理方法,其中:該儲存裝置接收一存取要求,該存取要求包含欲存取的資料的邏輯位址;其中:當使用該外部記憶體和該內部記憶體執行該二級映射模式時,在該外部記憶體中建立一第一映射表,用於對應該存取要求中的邏輯位址至該儲存單元陣列中的實體位址,並在該內部記憶體中建立一第二映射表,用於管理該第一映射表。
- 如請求項3所述的資料儲存管理方法,進一步包含:根據該外部記憶體和該內部記憶體的該容量比例,調整該第一映射表和該第二映射表的映射粒度。
- 如請求項1所述的資料儲存管理方法,其中該儲存裝置接收一存取要求,該存取要求包含欲存取的資料的邏輯位址,該資料儲存管理方法進一步包含:當使用該內部記憶體和該儲存單元陣列執行該二級映射模式時,在該儲存單元陣列中建立一第三映射表,用於對應該存取要求中的邏輯位址至該儲存單元陣列中的實體位址,並在該內部記憶體中建立一第二映射表,用於管理該第三映射表。
- 一種儲存裝置,用於連接一主機以接收一存取要求以進行資料存取,該儲存裝置包含:一儲存單元陣列,包含多個實體區塊,每個實體區塊包含多個分頁,用於存放資料;一控制晶片,連接該儲存單元陣列,包含一轉換電路和一內部記憶體,用於根據該存取要求存取該儲存單元陣列中的資料;一韌體,連接該控制晶片,用於使該控制晶片中的該轉換電路執行一資料管理方法;其中:在執行該資料管理方法時,判斷該儲存裝置中是否配置有不在該控制晶片中的一外部記憶體;當該儲存裝置配置有該外部記憶體並為可用狀態,計算該儲存單元陣列和該外部記憶體的可用容量的一容量比例;當該容量比例不大於一臨界值,使用該外部記憶體執行一一級映射模式; 當該容量比例大於等於該臨界值,使用該外部記憶體和該控制晶片中的該內部記憶體執行一二級映射模式;及當該外部記憶體不存在或不可用,使用該內部記憶體和該儲存單元陣列執行該二級映射模式。
- 如請求項6所述的儲存裝置,其中:該存取要求包含欲存取的資料的邏輯位址;當使用該外部記憶體執行該一級映射模式時,該控制晶片在該外部記憶體中建立一第一映射表,用於對應該存取要求中的邏輯位址至該儲存單元陣列中的實體位址。
- 如請求項6所述的儲存裝置,其中:該存取要求包含欲存取的資料的邏輯位址;當使用該外部記憶體和該內部記憶體執行該二級映射模式時,該控制晶片在該外部記憶體中建立一第一映射表,用於對應該存取要求中的邏輯位址至該儲存單元陣列中的實體位址,並在該內部記憶體中建立一第二映射表,用於管理該第一映射表。
- 如請求項8所述的儲存裝置,其中:該控制晶片根據該外部記憶體和該內部記憶體的該容量比例,調整該第一映射表和該第二映射表的映射粒度。
- 如請求項6所述的儲存裝置,其特徵在於:該存取要求包含欲存取的資料的邏輯位址;當使用該內部記憶體和該儲存單元陣列執行該二級映射模式時,該控制晶片在該儲存單元陣列中建立一第三映射表,用於對應該存取要求中的邏輯位址至該儲存單元陣列中的實體位址,並在該內部記憶體中建立一第二映射表,用於管理該第三映射表。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111548852.0 | 2021-12-17 | ||
CN202111548852.0A CN114238158A (zh) | 2021-12-17 | 2021-12-17 | 数据存储管理方法和存储装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
TWI782868B true TWI782868B (zh) | 2022-11-01 |
TW202326437A TW202326437A (zh) | 2023-07-01 |
Family
ID=80757767
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW111104633A TWI782868B (zh) | 2021-12-17 | 2022-02-08 | 資料儲存管理方法和儲存裝置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN114238158A (zh) |
TW (1) | TWI782868B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW201812600A (zh) * | 2016-09-06 | 2018-04-01 | 宏碁股份有限公司 | 儲存裝置及其資料映射方法 |
TW201826133A (zh) * | 2017-01-12 | 2018-07-16 | 韓商愛思開海力士有限公司 | 記憶體系統及其操作方法 |
TW201939286A (zh) * | 2018-03-07 | 2019-10-01 | 宏碁股份有限公司 | 儲存系統及儲存方法 |
TW202001573A (zh) * | 2018-06-19 | 2020-01-01 | 旺宏電子股份有限公司 | 記憶系統 |
US20200042470A1 (en) * | 2018-08-06 | 2020-02-06 | SK Hynix Inc. | Data processing system and operating method thereof |
TW202028982A (zh) * | 2019-01-21 | 2020-08-01 | 慧榮科技股份有限公司 新竹縣竹北市台元街36 號8樓之1 | 資料儲存裝置及用於存取邏輯至物理位址映射表之方法 |
TWI738442B (zh) * | 2020-07-29 | 2021-09-01 | 慧榮科技股份有限公司 | 資料儲存裝置與資料處理方法 |
TW202144991A (zh) * | 2020-01-06 | 2021-12-01 | 日商鎧俠股份有限公司 | 用於收集儲存裝置統計量之系統及方法 |
-
2021
- 2021-12-17 CN CN202111548852.0A patent/CN114238158A/zh active Pending
-
2022
- 2022-02-08 TW TW111104633A patent/TWI782868B/zh active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW201812600A (zh) * | 2016-09-06 | 2018-04-01 | 宏碁股份有限公司 | 儲存裝置及其資料映射方法 |
TW201826133A (zh) * | 2017-01-12 | 2018-07-16 | 韓商愛思開海力士有限公司 | 記憶體系統及其操作方法 |
TW201939286A (zh) * | 2018-03-07 | 2019-10-01 | 宏碁股份有限公司 | 儲存系統及儲存方法 |
TW202001573A (zh) * | 2018-06-19 | 2020-01-01 | 旺宏電子股份有限公司 | 記憶系統 |
US20200042470A1 (en) * | 2018-08-06 | 2020-02-06 | SK Hynix Inc. | Data processing system and operating method thereof |
TW202028982A (zh) * | 2019-01-21 | 2020-08-01 | 慧榮科技股份有限公司 新竹縣竹北市台元街36 號8樓之1 | 資料儲存裝置及用於存取邏輯至物理位址映射表之方法 |
TW202144991A (zh) * | 2020-01-06 | 2021-12-01 | 日商鎧俠股份有限公司 | 用於收集儲存裝置統計量之系統及方法 |
TWI738442B (zh) * | 2020-07-29 | 2021-09-01 | 慧榮科技股份有限公司 | 資料儲存裝置與資料處理方法 |
Also Published As
Publication number | Publication date |
---|---|
TW202326437A (zh) | 2023-07-01 |
CN114238158A (zh) | 2022-03-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11797180B2 (en) | Apparatus and method to provide cache move with non-volatile mass memory system | |
CN103608782B (zh) | Lsb页面和msb页面中的选择性数据存储 | |
US11372753B2 (en) | Memory system and method | |
KR102088403B1 (ko) | 저장장치, 이를 포함하는 컴퓨터 시스템 및 이의 동작 방법 | |
TWI405209B (zh) | 資料管理方法及使用此方法的快閃儲存系統與控制器 | |
WO2017219364A1 (zh) | 处理数据的方法、存储装置、固态硬盘和存储系统 | |
US20130073798A1 (en) | Flash memory device and data management method | |
TWI584122B (zh) | 緩衝記憶體管理方法、記憶體控制電路單元及記憶體儲存裝置 | |
US20140095555A1 (en) | File management device and method for storage system | |
CN105117180A (zh) | 一种数据存储方法和装置以及固态硬盘 | |
TWI498899B (zh) | 資料寫入方法、記憶體控制電路單元與記憶體儲存裝置 | |
US20180373626A1 (en) | Quality of service aware storage class memory/nand flash hybrid solid state drive | |
TWI698749B (zh) | 資料儲存裝置與資料處理方法 | |
TWI602061B (zh) | 資料寫入方法、記憶體儲存裝置與記憶體控制電路單元 | |
US11132291B2 (en) | System and method of FPGA-executed flash translation layer in multiple solid state drives | |
JP2020154525A (ja) | メモリシステムおよび情報処理システム | |
US20220100406A1 (en) | Hard disk control method and related device | |
CN116364148A (zh) | 一种面向分布式全闪存储系统的磨损均衡方法及系统 | |
WO2021035555A1 (zh) | 一种固态硬盘的数据存储方法、装置及固态硬盘ssd | |
TWI782868B (zh) | 資料儲存管理方法和儲存裝置 | |
CN115203079A (zh) | 一种将数据写入固态硬盘的方法 | |
TW202203033A (zh) | 儲存元件以及管理儲存元件中命名空間之系統與方法 | |
US11977773B2 (en) | Validity table for solid state drives | |
US20220300185A1 (en) | Storage device, storage system, and control method | |
CN113778333A (zh) | 组合芯片、存储设备和对存储对象的操作方法 |