TWI717953B - 儲存控制器、記憶體管理方法與儲存裝置 - Google Patents
儲存控制器、記憶體管理方法與儲存裝置 Download PDFInfo
- Publication number
- TWI717953B TWI717953B TW108147734A TW108147734A TWI717953B TW I717953 B TWI717953 B TW I717953B TW 108147734 A TW108147734 A TW 108147734A TW 108147734 A TW108147734 A TW 108147734A TW I717953 B TWI717953 B TW I717953B
- Authority
- TW
- Taiwan
- Prior art keywords
- mapping table
- target
- sl2p
- plane
- physical
- Prior art date
Links
- 238000007726 management method Methods 0.000 title claims abstract description 245
- 238000013507 mapping Methods 0.000 claims abstract description 741
- 230000004044 response Effects 0.000 claims abstract description 9
- 239000011159 matrix material Substances 0.000 claims description 39
- 238000000034 method Methods 0.000 claims description 18
- 230000008878 coupling Effects 0.000 claims description 4
- 238000010168 coupling process Methods 0.000 claims description 4
- 238000005859 coupling reaction Methods 0.000 claims description 4
- 230000001568 sexual effect Effects 0.000 claims description 2
- 238000010586 diagram Methods 0.000 description 27
- 101150107557 SMT-1 gene Proteins 0.000 description 17
- 230000005540 biological transmission Effects 0.000 description 14
- 101000969327 Homo sapiens Methylthioribose-1-phosphate isomerase Proteins 0.000 description 8
- 102100021415 Methylthioribose-1-phosphate isomerase Human genes 0.000 description 8
- 101100310497 Arabidopsis thaliana SMT2 gene Proteins 0.000 description 7
- 238000012937 correction Methods 0.000 description 7
- 238000013523 data management Methods 0.000 description 7
- 230000005055 memory storage Effects 0.000 description 7
- 101100478890 Caenorhabditis elegans smo-1 gene Proteins 0.000 description 6
- 101150102102 SMT3 gene Proteins 0.000 description 6
- 101150096255 SUMO1 gene Proteins 0.000 description 6
- 101100408688 Schizosaccharomyces pombe (strain 972 / ATCC 24843) pmt3 gene Proteins 0.000 description 6
- 238000006243 chemical reaction Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 230000002159 abnormal effect Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 238000011084 recovery Methods 0.000 description 3
- 230000003068 static effect Effects 0.000 description 3
- 238000012423 maintenance Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 1
- 238000010304 firing Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Images
Landscapes
- Memory System (AREA)
Abstract
一種記憶體管理方法,包括:維護多個區段邏輯轉實體位址映射表於儲存控制器的緩衝記憶體中,其中所述多個SL2P表各自用以記錄多個邏輯位址以及多個實體位址之間的映射關係;維護一區段映射表清單(Segment Mapping Table List,SMT清單)於所述緩衝記憶體中,其中所述SMT清單包括分別對應所述多個SL2P表的多個條目;反應於所述多個SL2P表中的第一SL2P表被儲存至可複寫式非揮發性記憶體模組中的第一系統實體位址,記錄所述第一系統實體位址至所述SMT清單的所述多個條目中對應所述第一SL2P表的第一條目;以及儲存所述SMT清單至所述可複寫式非揮發性記憶體模組中。
Description
本發明是有關於一種儲存控制器,且特別是有關於配置有可複寫式非揮發性記憶體模組的一種儲存控制器、記憶體管理方法與儲存裝置。
一般來說,對於配置有可複寫式非揮發性記憶體模組的儲存裝置,所述儲存裝置的儲存控制器會利用維護在緩衝記憶體中的邏輯轉實體位址映射表來管理所述可複寫式非揮發性記憶體模組的多個實體位址(如,實體頁面的位址)與對應於主機系統的多個邏輯位址(如,邏輯頁面的位址)的映射關係。
然而,隨著科技的進展,所述可複寫式非揮發性記憶體模組的容量越來越大(如,單一實體頁面的大小與多個實體頁面的總數量皆增長),維護在緩衝記憶體中的邏輯轉實體位址映射表所佔用的空間也變得越來越大,進而降低了相關於邏輯轉實體位址映射表的管理操作的執行效率與維護效率。
本發明提供一種儲存控制器、記憶體管理方法以及儲存裝置,可利用區段映射表清單來有效地管理多個區段邏輯轉實體位址映射表,進而提高多個邏輯位址與多個實體位址之間的映射關係的管理操作的效率。
本發明的一實施例提供用於控制配置有可複寫式非揮發性記憶體模組的儲存裝置的一種儲存控制器。所述儲存控制器包括連接介面電路、緩衝記憶體、記憶體介面控制電路、映射表管理電路單元以及處理器。所述連接介面電路用以耦接至一主機系統。所述記憶體介面控制電路用以耦接至所述可複寫式非揮發性記憶體模組,其中所述可複寫式非揮發性記憶體模組具有多個實體區塊,並且所述多個實體區塊各自具有多個實體頁面。處理器耦接至所述連接介面電路、所述緩衝記憶體、所述記憶體介面控制電路及所述映射表管理電路單元。所述處理器用以維護多個區段邏輯轉實體位址映射(Segment Logical To Physical addresses mapping,SL2P)表於所述緩衝記憶體中,其中所述多個SL2P表各自用以記錄多個邏輯位址以及多個實體位址之間的映射關係,其中所述多個實體位址對應至一部份的所述多個實體頁面,並且所述多個邏輯位址對應至一部份的被配置給所述主機系統的多個邏輯頁面。所述映射表管理電路單元用以維護一區段映射表清單(Segment Mapping Table List,SMT清單)於所述緩衝記憶體中,
其中所述SMT清單包括多個條目,其中所述多個條目分別對應所述多個SL2P表,並且所述多個條目各自包括系統區塊識別碼以及對應所述系統區塊識別碼的系統實體區塊中的系統實體位址,其中反應於所述多個SL2P表中的第一SL2P表被儲存至所述可複寫式非揮發性記憶體模組中的第一系統實體位址,所述映射表管理電路單元更用以記錄所述第一系統實體位址至所述SMT清單的所述多個條目中對應所述第一SL2P表的第一條目。所述處理器更用以儲存所述SMT清單至所述可複寫式非揮發性記憶體模組中。
本發明的一實施例提供適用於用以控制配置有一可複寫式非揮發性記憶體模組的一儲存裝置的儲存控制器的一種記憶體管理方法,其中所述可複寫式非揮發性記憶體模組具有多個實體區塊,並且所述多個實體區塊各自具有多個實體頁面。所述方法包括:維護多個區段邏輯轉實體位址映射(Segment Logical To Physical addresses mapping,SL2P)表於所述儲存控制器的緩衝記憶體中,其中所述多個SL2P表各自用以記錄多個邏輯位址以及多個實體位址之間的映射關係,其中所述多個實體位址對應至一部份的所述多個實體頁面,並且所述多個邏輯位址對應至一部份的被配置給所述主機系統的多個邏輯頁面;維護一區段映射表清單(Segment Mapping Table List,SMT清單)於所述緩衝記憶體中,其中所述SMT清單包括多個條目,其中所述多個條目分別對應所述多個SL2P表,並且所述多個條目各自包括系統區塊識別碼以及對應所述系統區塊識別碼的系統實體區塊中的系統實體位址;反
應於所述多個SL2P表中的第一SL2P表被儲存至所述可複寫式非揮發性記憶體模組中的第一系統實體位址,記錄所述第一系統實體位址至所述SMT清單的所述多個條目中對應所述第一SL2P表的第一條目;以及儲存所述SMT清單至所述可複寫式非揮發性記憶體模組中。
本發明的一實施例提供一種儲存裝置。所述儲存裝置包括可複寫式非揮發性記憶體模組以及儲存控制器。所述可複寫式非揮發性記憶體模組具有多個實體區塊,並且所述多個實體區塊各自具有多個實體頁面。所述儲存控制器耦接至所述可複寫式非揮發性記憶體模組。所述儲存控制器用以維護多個區段邏輯轉實體位址映射(Segment Logical To Physical addresses mapping,SL2P)表於所述緩衝記憶體中,其中所述多個SL2P表各自用以記錄多個邏輯位址以及多個實體位址之間的映射關係,其中所述多個實體位址對應至一部份的所述多個實體頁面,並且所述多個邏輯位址對應至一部份的被配置給所述主機系統的多個邏輯頁面,其中所述儲存控制器更用以維護一區段映射表清單(Segment Mapping Table List,SMT清單)於所述緩衝記憶體中,其中所述SMT清單包括多個條目,其中所述多個條目分別對應所述多個SL2P表,並且所述多個條目各自包括系統區塊識別碼以及對應所述系統區塊識別碼的系統實體區塊中的系統實體位址。此外,反應於所述多個SL2P表中的第一SL2P表被儲存至所述可複寫式非揮發性記憶體模組中的第一系統實體位址,所述儲存控制器更用
以記錄所述第一系統實體位址至所述SMT清單的所述多個條目中對應所述第一SL2P表的第一條目,其中所述儲存控制器更用以儲存所述SMT清單至所述可複寫式非揮發性記憶體模組中。
綜上所述,本發明的實施例所提供的儲存控制器、記憶體管理方法與儲存裝置,可利用區段映射表清單來產生對應的映射表載入指令佇列,以有效地管理多個區段邏輯轉實體位址映射表,進而提高多個邏輯位址與多個實體位址之間的映射關係的管理操作的效率。
10:主機系統
20:儲存裝置
110、211:處理器
120:主機記憶體
130:資料傳輸介面電路
210:儲存控制器
212:資料傳輸管理電路
213:記憶體介面控制電路
220:可複寫式非揮發性記憶體模組
230:連接介面電路
215:映射表管理電路單元
2151:映射表清單管理電路
2152:映射表載入管理電路
S210、S220、S230、S240:記憶體管理方法的流程步驟
SB(1)、B1~B5:系統實體區塊
PL1、PL2:平面
SMT1、SMT2、SMT3:區段映射表清單
SL2P(1)~SL2P(11):區段邏輯轉實體位址映射表
300、310:邏輯轉實體位址映射表
LCQ1~LCQ3:映射表載入指令佇列
PG1~PG3、Page(1.1)~Page(M.P):系統實體頁面/實體頁面
SPA(1)~SPA(N):實體位址
LA(0)~LA(2047):邏輯位址
A31、A32、A41、A61、A71、A72、A81~A88、A91~A97、
A1201:箭頭
BMP_B3、BMP_B4、BMP_B3’、BMP_B4’:映射表位圖
BMP_B3.1、BMP_B3.1’、BMP_B3.2、BMP_B3.2’、BMP_B4.1、BMP_B4.1’、BMP_B4.2、BMP_B4.2’:子矩陣
S1010、S1020:載入區段邏輯轉實體映射表的流程步驟
S1110、S1120、S1130、S1140:載入區段邏輯轉實體映射表的流程步驟
MRI1:映射表記錄資訊
圖1是根據本發明的一實施例所繪示的主機系統與儲存裝置的方塊示意圖。
圖2是根據本發明的一實施例所繪示的記憶體管理方法的流程圖。
圖3A是根據本發明的一實施例所繪示的系統實體區塊的架構示意圖。
圖3B是根據本發明的一實施例所繪示的儲存區段邏輯轉實體位址映射表至系統實體區塊的示意圖。
圖4是習知的載入多個區段邏輯轉實體位址映射表的示意圖。
圖5A是根據本發明的一實施例所繪示的根據區段映射表清
單來產生映射表載入指令佇列的示意圖。
圖5B是根據本發明的又一實施例所繪示的根據區段映射表清單來產生映射表載入指令佇列的示意圖。
圖6是習知的載入多個區段邏輯轉實體位址映射表的示意圖。
圖7是根據本發明的一實施例所繪示的根據區段映射表清單來產生映射表位圖的示意圖。
圖8A是根據本發明的一實施例所繪示的調整映射表位圖的示意圖。
圖8B是根據本發明的一實施例所繪示的根據已調整映射表位圖來產生映射表載入指令佇列的示意圖。
圖9A是根據本發明的又一實施例所繪示的調整映射表位圖的示意圖。
圖9B是根據本發明的又一實施例所繪示的根據已調整映射表位圖來產生映射表載入指令佇列的示意圖。
圖10是根據本發明的一實施例所繪示的載入區段邏輯轉實體映射表的流程圖。
圖11是根據本發明的又一實施例所繪示的載入區段邏輯轉實體映射表的流程圖。
圖12是根據本發明的一實施例所繪示的映射表記錄資訊的示意圖。
在本實施例中,儲存裝置包括可複寫式非揮發性記憶體模組(rewritable non-volatile memory module)與儲存裝置控制器(亦稱,儲存控制器或儲存控制電路)。此外,儲存裝置是與主機系統一起使用,以使主機系統可將資料寫入至儲存裝置或從儲存裝置中讀取資料。
圖1是根據本發明的一實施例所繪示的主機系統與儲存裝置的方塊示意圖。請參照圖1,主機系統(Host System)10包括處理器(Processor)110、主機記憶體(Host Memory)120及資料傳輸介面電路(Data Transfer Interface Circuit)130。在本實施例中,資料傳輸介面電路130耦接(亦稱,電性連接)至處理器110與主機記憶體120。在另一實施例中,處理器110、主機記憶體120與資料傳輸介面電路130之間利用系統匯流排(System Bus)彼此耦接。
儲存裝置20包括儲存控制器(Storage Controller)210、可複寫式非揮發性記憶體模組(Rewritable Non-Volatile Memory Module)220及連接介面電路(Connection Interface Circuit)230。其中,儲存控制器210包括處理器211、資料管理電路(Data Management Circuit)212與記憶體介面控制電路(Memory Interface Control Circuit)213。
在本實施例中,主機系統10是透過資料傳輸介面電路130與儲存裝置20的連接介面電路230耦接至儲存裝置20來進行資料的存取操作。例如,主機系統10可經由資料傳輸介面電路130
將資料儲存至儲存裝置20或從儲存裝置20中讀取資料。
在本實施例中,處理器110、主機記憶體120及資料傳輸介面電路130可設置在主機系統10的主機板上。資料傳輸介面電路130的數目可以是一或多個。透過資料傳輸介面電路130,主機板可以經由有線或無線方式耦接至儲存裝置20。儲存裝置20可例如是隨身碟、記憶卡、固態硬碟(Solid State Drive,SSD)或無線記憶體儲存裝置。無線記憶體儲存裝置可例如是近距離無線通訊(Near Field Communication,NFC)記憶體儲存裝置、無線傳真(WiFi)記憶體儲存裝置、藍牙(Bluetooth)記憶體儲存裝置或低功耗藍牙記憶體儲存裝置(例如,iBeacon)等以各式無線通訊技術為基礎的記憶體儲存裝置。此外,主機板也可以透過系統匯流排耦接至全球定位系統(Global Positioning System,GPS)模組、網路介面卡、無線傳輸裝置、鍵盤、螢幕、喇叭等各式I/O裝置。
在本實施例中,資料傳輸介面電路130與連接介面電路230是相容於高速周邊零件連接介面(Peripheral Component Interconnect Express,PCI Express)標準的介面電路。並且,資料傳輸介面電路130與連接介面電路230之間是利用快速非揮發性記憶體介面標準(Non-Volatile Memory express,NVMe)通訊協定來進行資料的傳輸。
然而,必須瞭解的是,本發明不限於此,資料傳輸介面電路130與連接介面電路230亦可以是符合並列先進附件(Parallel Advanced Technology Attachment,PATA)標準、電氣和電子工程師
協會(Institute of Electrical and Electronic Engineers,IEEE)1394標準、序列先進附件(Serial Advanced Technology Attachment,SATA)標準、通用序列匯流排(Universal Serial Bus,USB)標準、SD介面標準、超高速一代(Ultra High Speed-I,UHS-I)介面標準、超高速二代(Ultra High Speed-II,UHS-II)介面標準、記憶棒(Memory Stick,MS)介面標準、多晶片封裝(Multi-Chip Package)介面標準、多媒體儲存卡(Multi Media Card,MMC)介面標準、eMMC介面標準、通用快閃記憶體(Universal Flash Storage,UFS)介面標準、eMCP介面標準、CF介面標準、整合式驅動電子介面(Integrated Device Electronics,IDE)標準或其他適合的標準。此外,在另一實施例中,連接介面電路230可與儲存控制器210封裝在一個晶片中,或者連接介面電路230是佈設於一包含儲存控制器210之晶片外。
在本實施例中,主機記憶體120用以暫存處理器110所執行的指令或資料。例如,在本範例實施例中,主機記憶體120可以是動態隨機存取記憶體(Dynamic Random Access Memory,DRAM)、靜態隨機存取記憶體(Static Random Access Memory,SRAM)等。然而,必須瞭解的是,本發明不限於此,主機記憶體120也可以是其他適合的記憶體。
儲存控制器210用以執行以硬體型式或韌體型式實作的多個邏輯閘或控制指令並且根據主機系統10的指令在可複寫式非揮發性記憶體模組220中進行資料的寫入、讀取與抹除等運作。
更詳細來說,儲存控制器210中的處理器211為具備運
算能力的硬體,其用以控制儲存控制器210的整體運作。具體來說,處理器211具有多個控制指令,並且在儲存裝置20運作時,此些控制指令會被執行以進行資料的寫入、讀取與抹除等運作。
值得一提的是,在本實施例中,處理器110與處理器211例如是中央處理單元(Central Processing Unit,CPU)、微處理器(micro-processor)、或是其他可程式化之處理單元(Microprocessor)、數位訊號處理器(Digital Signal Processor,DSP)、可程式化控制器、特殊應用積體電路(Application Specific Integrated Circuits,ASIC)、可程式化邏輯裝置(Programmable Logic Device,PLD)或其他類似電路元件,本發明並不限於此。
在一實施例中,儲存控制器210還具有唯讀記憶體(未繪示)及隨機存取記憶體(未繪示)。特別是,此唯讀記憶體具有開機碼(boot code),並且當儲存控制器210被致能時,處理器211會先執行此開機碼來將儲存於可複寫式非揮發性記憶體模組220中之控制指令載入至儲存控制器210的隨機存取記憶體中。之後,處理器211會運轉此些控制指令以進行資料的寫入、讀取與抹除等運作。在另一實施例中,處理器211的控制指令亦可以程式碼型式儲存於可複寫式非揮發性記憶體模組220的特定區域,例如,可複寫式非揮發性記憶體模組220中專用於存放系統資料的實體儲存單元中。
在本實施例中,如上所述,儲存控制器210還包括資料管理電路212與記憶體介面控制電路213。應注意的是,儲存控制
器210各部件所執行的操作亦可視為儲存控制器210所執行的操作。
其中,資料管理電路212耦接至處理器211、記憶體介面控制電路213與連接介面電路230。資料管理電路212用以接受處理器211的指示來進行資料的傳輸。例如,經由連接介面電路230從主機系統10(如,主機記憶體120)讀取資料,並且將所讀取的資料經由記憶體介面控制電路213寫入至可複寫式非揮發性記憶體模組220中(如,根據來自主機系統10的寫入指令來進行寫入操作)。又例如,經由記憶體介面控制電路213從可複寫式非揮發性記憶體模組220的一或多個實體單元中讀取資料(資料可讀取自一或多個實體單元中的一或多個記憶胞),並且將所讀取的資料經由連接介面電路230寫入至主機系統10(如,主機記憶體120)中(如,根據來自主機系統10的讀取指令來進行讀取操作)。在另一實施例中,資料管理電路212亦可整合至處理器211中。
記憶體介面控制電路213用以接受處理器211的指示,配合資料管理電路212來進行對於可複寫式非揮發性記憶體模組220的寫入(亦稱,程式化,Programming)操作、讀取操作或抹除操作。
舉例來說,處理器211可執行寫入指令序列,以指示記憶體介面控制電路213將資料寫入至可複寫式非揮發性記憶體模組220中;處理器211可執行讀取指令序列,以指示記憶體介面控制電路213從可複寫式非揮發性記憶體模組220的對應讀取指
令的一或多個實體單元(亦稱,目標實體單元)中讀取資料;處理器211可執行抹除指令序列,以指示記憶體介面控制電路213對可複寫式非揮發性記憶體模組220進行抹除操作。寫入指令序列、讀取指令序列及抹除指令序列可各別包括一或多個程式碼或指令碼並且用以指示對可複寫式非揮發性記憶體模組220執行相對應的寫入、讀取及抹除等操作。在一實施例中,處理器211還可以下達其他類型的指令序列給記憶體介面控制電路213,以對可複寫式非揮發性記憶體模組220執行相對應的操作。
此外,欲寫入至可複寫式非揮發性記憶體模組220的資料會經由記憶體介面控制電路213轉換為可複寫式非揮發性記憶體模組220所能接受的格式。具體來說,若處理器211要存取可複寫式非揮發性記憶體模組220,處理器211會傳送對應的指令序列給記憶體介面控制電路213以指示記憶體介面控制電路213執行對應的操作。例如,這些指令序列可包括指示寫入資料的寫入指令序列、指示讀取資料的讀取指令序列、指示抹除資料的抹除指令序列、以及用以指示各種記憶體操作(例如,改變預設讀取電壓組的多個預設讀取電壓值以進行讀取操作,或執行垃圾回收程序等等)的相對應的指令序列。這些指令序列可包括一或多個訊號,或是在匯流排上的資料。這些訊號或資料可包括指令碼或程式碼。例如,在讀取指令序列中,會包括讀取的辨識碼、記憶體位址等資訊。
可複寫式非揮發性記憶體模組220是耦接至儲存控制器
210(記憶體介面控制電路213)並且用以儲存主機系統10所寫入之資料。可複寫式非揮發性記憶體模組220可以是單階記憶胞(Single Level Cell,SLC)NAND型快閃記憶體模組(即,一個記憶胞中可儲存1個位元的快閃記憶體模組)、多階記憶胞(Multi Level Cell,MLC)NAND型快閃記憶體模組(即,一個記憶胞中可儲存2個位元的快閃記憶體模組)、三階記憶胞(Triple Level Cell,TLC)NAND型快閃記憶體模組(即,一個記憶胞中可儲存3個位元的快閃記憶體模組)、四階記憶胞(Quadruple Level Cell,QLC)NAND型快閃記憶體模組(即,一個記憶胞中可儲存4個位元的快閃記憶體模組)、三維NAND型快閃記憶體模組(3D NAND flash memory module)或垂直NAND型快閃記憶體模組(Vertical NAND flash memory module)等其他快閃記憶體模組或其他具有相同特性的記憶體模組。可複寫式非揮發性記憶體模組220中的記憶胞是以陣列的方式設置。
在本實施例中,可複寫式非揮發性記憶體模組220具有多個字元線,其中所述多個字元線的每一個字元線耦接至多個記憶胞。同一條字元線上的多個記憶胞會組成一或多個實體程式化單元。此外,多個實體程式化單元可組成一個實體單元(實體區塊或實體抹除單元)。
在本實施例中,是以記憶胞作為寫入(程式化)資料的最小單位。實體單元為抹除之最小單位,即,每一實體單元含有最小數目之一併被抹除之記憶胞。
每一實體單元會具有多個實體子單元。實體子單元可為實體頁面(page)或是實體扇(sector)。在本實施例中,實體子單元包括資料位元區與冗餘(redundancy)位元區。資料位元區用以儲存使用者資料,而冗餘位元區用以儲存系統資料。系統資料例如為錯誤更正碼、錯誤檢查碼或元資料(Meta Data)。
應注意的是,在本實施例中,用以記錄一實體單元的資訊的系統資料可利用該實體單元中的一或多個實體子單元來記錄,或是利用一個系統區中用以記錄所有系統資料的特定實體單元(亦稱,系統實體區塊)的一或多個實體子單元來記錄。在本實施例中,所述對應一實體單元的系統資料包括該實體單元的抹除次數值(Program erase cycle,PEC)、區塊識別碼、區塊實體轉邏輯映射表等資訊。
圖3A是根據本發明的一實施例所繪示的系統實體區塊的架構示意圖。請參照圖3A,在本實施例中,一個系統實體區塊(如,第一系統實體區塊SB(1))可具有各自屬於多個平面(如,Plane(1)~Plane(M))的多個實體頁面(亦稱,系統實體頁面),如,屬於平面Plane(1)的系統實體頁面Page(1.1)、(1.2)~(1.P);屬於平面Plane(M)的系統實體頁面Page(M.1)、(M.2)~(M.P)。M表示一個系統實體區塊所具有的平面的總數量,為大於1的正整數;P表示每個平面所具有的系統實體頁面的總數量,為正整數。此外,每個系統實體頁面用以儲存多個碼字,並且每個碼字對應至一個系統實體位址。例如,系統實體頁面Page(1.1)可依序儲存N個碼
字,並且所述N個碼字各自被儲存至系統實體頁面Page(1.1)的多個系統實體位址SPA(1)~SPA(N)中。N為預先設定之正整數。應注意的是,本發明並不限於上述N、P、M的具體數值,並且廠商或本領域人員可依據需求或可複寫式非揮發性記憶體模組220的硬體規格來預先設定N、P、M的具體數值。
在以下實施例中,是以一個實體區塊作為一個實體單元的範例。然而,在另一實施例中,一個實體單元亦可以是指任意數目的記憶胞組成,視實務上的需求而定。此外,必須瞭解的是,當儲存控制器211對可複寫式非揮發性記憶體模組220中的記憶胞(或實體單元)進行分組以執行對應的管理操作時,此些記憶胞(或實體單元)是被邏輯地分組,而其實際位置並未更動。
儲存控制器210會配置多個邏輯單元給可複寫式非揮發性記憶體模組220。主機系統10是透過所配置的多個邏輯單元來存取儲存在多個實體單元中的使用者資料(所配置所述多個邏輯單元對應所述主機系統10)。在此,每一個邏輯單元可以是由一或多個邏輯位址組成。例如,邏輯單元可以是邏輯區塊(Logical Block)、邏輯頁面(Logical Page)或是邏輯扇區(Logical Sector)。一個邏輯單元可以是映射至一或多個實體單元,其中實體單元可以是一或多個實體位址、一或多個實體扇、一或多個實體程式化單元或者一或多個實體抹除單元。在本實施例中,邏輯單元為邏輯區塊,並且邏輯子單元為邏輯頁面。每一邏輯單元具有多個邏輯子單元。
此外,儲存控制器210會建立邏輯轉實體位址映射表(Logical To Physical address mapping table)與實體轉邏輯位址映射表(Physical To Logical address mapping table),以記錄配置給可複寫式非揮發性記憶體模組220的邏輯單元(如,邏輯區塊、邏輯頁面或邏輯扇區)與實體單元(如,實體抹除單元、實體程式化單元、實體扇區)之間的位址映射關係。換言之,儲存控制器210可藉由邏輯轉實體位址映射表來查找一邏輯單元所映射的實體單元,並且儲存控制器210可藉由實體轉邏輯位址映射表來查找一實體單元所映射的邏輯單元。例如,主機系統10可配置多個邏輯頁面,並且所述多個邏輯頁面可被映射至多個實體頁面。
圖3B是根據本發明的一實施例所繪示的儲存區段邏輯轉實體位址映射表至系統實體區塊的示意圖。請參照圖3B,在本實施例中,處理器211更將邏輯轉實體位址映射表300分割為多個區段邏輯轉實體位址映射表(如圖3B所示的多個區段邏輯轉實體位址映射表SL2P(1)、SL2P(2)...)。本發明並不限定於從一個邏輯轉實體位址映射表所分割的所述多個區段邏輯轉實體位址映射表的總數量。此外,每一個區段邏輯轉實體位址映射表所記錄的多個邏輯位址及所對應的多個實體位址的總數量也可被預先設定,並且本發明不限於此。例如,在本實施例中,一個區段邏輯轉實體位址映射表(如,區段邏輯轉實體位址映射表SL2P(1))用以記錄1024個邏輯位址(如,邏輯位址LA(0)~(1023))所映射的1024個實體位址(如,實體位址“PA(XXXX)”~“PA(XYXX)”)。然
而,在其他實施例中,每一個區段邏輯轉實體位址映射表所記錄的邏輯位址及實體位址的總數量也可大於或小於1024個。
此外,在本實施例中,當一個邏輯位址所映射的實體位址被改動時,處理器211可對應地更新維護在緩衝記憶體216中的所述邏輯位址所屬的區段邏輯轉實體位址映射表中所記錄的對應所述邏輯位址的實體位址的資訊/條目。在另一實施例中,反應於一個區段邏輯轉實體位址映射表被更新,處理器211更會將對應至所述區段邏輯轉實體位址映射表的一個更新標記的數值從第一數值(如,“0”)調整為第二數值(如,“1”)。藉此,處理器211可根據更新標記來識別出在緩衝記憶體216中已經被更新過的一或多個區段邏輯轉實體位址映射表。如此一來,在一些特定條件(如,執行正常關閉操作時,或判定儲存裝置已經閒置一段預定時間)下,處理器211可經由更新標記來識別出已被更新過的一或多個區段邏輯轉實體位址映射表,並且僅儲存於緩衝記憶體216中的已被更新過的一或多個區段邏輯轉實體位址映射表至可複寫式非揮發性記憶體模組220中的系統實體區塊(如,箭頭A31所示),以備份已被更新過的所述一或多個區段邏輯轉實體位址映射表,進而避免因去備份沒有被更新過的其他區段邏輯轉實體位址映射表所導致的時間/空間耗費。
在本實施例中,錯誤檢查與校正電路214是耦接至處理器211並且用以執行錯誤檢查與校正程序以確保資料的正確性。具體來說,當處理器211從主機系統10中接收到寫入指令時,錯
誤檢查與校正電路214會為對應此寫入指令的資料產生對應的錯誤更正碼(error correcting code,ECC)及/或錯誤檢查碼(error detecting code,EDC),並且處理器211會將對應此寫入指令的資料與對應的錯誤更正碼及/或錯誤檢查碼寫入至可複寫式非揮發性記憶體模組220中。之後,當處理器211從可複寫式非揮發性記憶體模組220中讀取資料時會同時讀取此資料對應的錯誤更正碼及/或錯誤檢查碼,並且錯誤檢查與校正電路214會依據此錯誤更正碼及/或錯誤檢查碼對所讀取的資料執行錯誤檢查與校正程序。
在一實施例中,儲存控制器210還包括緩衝記憶體216與電源管理電路217。緩衝記憶體216例如是靜態隨機存取記憶體、動態隨機存取記憶體或其他適合的高速記憶體。緩衝記憶體216是耦接至處理器211並且用以暫存來自於主機系統10的資料與指令、來自於可複寫式非揮發性記憶體模組220的資料或其他用以管理儲存裝置20的系統資料(如,多個區段邏輯轉實體位址映射表、區塊實體轉邏輯位址映射表、區段映射表清單、映射表位圖、映射表載入指令佇列等),以讓處理器211可快速地從緩衝記憶體216中存取所述資料、指令或系統資料。電源管理電路217是耦接至處理器211並且用以控制儲存裝置20的電源。
在本實施例中,映射表管理電路單元215包括映射表管理電路單元2151與映射表載入管理電路2152。所述映射表管理電路單元215用以管理對應可複寫式非揮發性記憶體模組220的邏輯轉實體位址映射表(或多個區段邏輯轉實體位址映射表)的資
訊。映射表管理電路單元215各部件的運作也可代表映射表管理電路單元215的運作。以下利用圖2來說明映射表管理電路單元215的功用以及對應的本實施例所提供的記憶體管理方法。
圖2是根據本發明的一實施例所繪示的記憶體管理方法的流程圖。請參照圖2,在步驟S210中,處理器211用以維護多個區段邏輯轉實體位址映射(Segment Logical To Physical addresses mapping,SL2P)表於緩衝記憶體216中,其中所述多個SL2P表各自用以記錄多個邏輯位址以及多個實體位址之間的映射關係,其中所述多個實體位址對應至可複寫式非揮發性記憶體模組的多個實體頁面中的一部分,並且所述多個邏輯位址對應至被配置給主機系統的多個邏輯頁面中的一部分(如,圖3B所示)。
接著,映射表管理電路單元215(或映射表清單管理電路2151)用以維護一區段映射表清單(Segment Mapping Table List,SMT清單)於所述緩衝記憶體216中,其中所述SMT清單包括多個條目,其中所述多個條目分別對應所述多個SL2P表,並且所述多個條目各自包括系統區塊識別碼以及對應所述系統區塊識別碼的系統實體區塊中的系統實體位址。
具體來說,在本實施例中。每當處理器211將一個SL2P表寫入至可複寫式非揮發性記憶體模組220中的一個系統實體區塊的一個系統實體位址時,映射表管理電路單元215會記錄對應所述系統實體區塊的資訊(如,系統區塊識別碼)以及對應所述
系統實體位址的資訊至所述SMT清單300。如,在步驟S230中,反應於所述多個SL2P表中的多個第一SL2P表被儲存至所述可複寫式非揮發性記憶體模組中的多個第一系統實體位址,映射表管理電路單元215(或映射表清單管理電路2151)記錄所述多個第一系統實體位址至所述SMT清單的所述多個條目中對應所述多個第一SL2P表的多個第一條目
請參照圖3B,舉例來說,如箭頭A31所示,假設處理器寫入區段邏輯轉實體位址映射表SL2P(1)至系統實體區塊SB(1)的系統實體頁面Page(1.1)中的系統實體位址SPA(1)中。如箭頭A42所示,在區段邏輯轉實體位址映射表SL2P(1)被寫入至系統實體區塊SB(1)的系統實體頁面Page(1.1)中的系統實體位址SPA(1)後,映射表管理電路單元215可辨識相關於所述系統實體位址SPA(1)的資訊,如,“system block(1),plane(1),page(1.1),SPA(1)”或“B1,PL1,PG1,CD1”,所述資訊的各個內容分別表示:系統實體區塊識別碼(System Block ID),平面識別碼(Plane ID),系統實體頁面識別碼(Page ID)以及碼字順序識別碼(Codeword ID)。所述映射表管理電路單元215(或處理器211)可藉由所述資訊中的系統實體區塊識別碼定位所述區段邏輯轉實體位址映射表SL2P(1)的儲存位置。所述資訊會經由映射表管理電路單元215(或處理器211)被記錄至SMT清單中對應至所述區段邏輯轉實體位址映射表SL2P(1)的條目。應注意的是,本發明並不限定於相關於用以儲存SL2P表的系統實體位址的資訊的具體格式/態樣。
接著,在步驟S240中,處理器211儲存所述SMT清單至所述可複寫式非揮發性記憶體模組220中。具體來說,在一些特定條件(如,執行正常關閉操作時,或判定儲存裝置已經閒置一段預定時間)下,處理器211可儲存所述SMT清單至所述可複寫式非揮發性記憶體模組220的預先設定的特定的系統實體位址/系統實體區塊中(在所有的區段邏輯轉實體映射表皆已備份至所述可複寫式非揮發性記憶體模組220後)。此外,在另一實施例中,當儲存裝置20發生不正常斷電事件時,處理器211也可將緩衝記憶體216中的SMT清單強制儲存至所述可複寫式非揮發性記憶體模組220的所述特定的系統實體位址/系統實體區塊中。如此一來,在儲存裝置20開啟時或儲存裝置20執行不正常斷電恢復操作時,映射表管理電路單元215(或映射表載入管理電路2152)可從所述特定的系統實體位址/系統實體區塊中讀取所儲存的最新的SMT清單。接著,映射表管理電路單元215(或映射表載入管理電路2152)可根據所述SMT清單產生一映射表載入指令佇列,以經由依序執行所產生的所述映射表載入指令佇列中的多個映射表載入指令來載入多個SL2P表至緩衝記憶體216(從所述可複寫式非揮發性記憶體模組220讀取所述多個SL2P表至緩衝記憶體216)。所載入的所述多個SL2P表可被組合為一個完整的對應所述可複寫式非揮發性記憶體模組220的邏輯轉實體位址映射表。
圖4是習知的載入多個區段邏輯轉實體位址映射表的示意圖。請參照圖4,假設邏輯轉實體位址映射表被分割為多個區段
邏輯轉實體位址映射表SL2P(1)~SL2P(6),系統實體區塊B1、B2中所儲存的有效的多個SL2P表(如圖4中的灰色區塊所示的區段邏輯轉實體位址映射表SL2P(1)~SL2P(6)),並且區段映射表清單SMT1的多個條目也記錄了用以儲存區段邏輯轉實體位址映射表SL2P(1)~SL2P(6)的系統實體位址的資訊。應注意的是,區段映射表清單SMT1的多個條目的順序被設定為區段邏輯轉實體位址映射表SL2P(1)~SL2P(6)於所屬的邏輯轉實體位址映射表的排列順序。如,區段映射表清單SMT1的第一個條目對應至邏輯轉實體位址映射表的第一個區段邏輯轉實體位址映射表SL2P(1)。又例如,區段映射表清單SMT1的最後一個條目對應至邏輯轉實體位址映射表的最後一個區段邏輯轉實體位址映射表SL2P(6)。
一般來說,如箭頭A41所示,傳統作法為,處理器211依據每個條目所記錄的區段邏輯轉實體位址映射表SL2P(1)~SL2P(6)各自的系統實體位址,直接產生多個對應的單平面映射表載入指令(經由單平面讀取的方式來讀取每一個SL2P表)。接著,處理器211依序執行所產生的所述多個單平面映射表載入指令,以從系統實體區塊B1、B2中讀取對應的區段邏輯轉實體位址映射表SL2P(1)~SL2P(6)至緩衝記憶體216。此外,所述多個區段邏輯轉實體位址映射表SL2P(1)~SL2P(6)可被組合成一整體的邏輯轉實體位址映射表310。
然而,在圖4的例子中,由於所產生的所述多個單平面映射表載入指令是經由單平面讀取的方式而非利用多平面讀取的
方式來讀取對應的一個SL2P表,整體的載入區段邏輯轉實體位址映射表SL2P(1)~SL2P(6)至緩衝記憶體216的效率是不高的。
基此,本發明的一實施例中,所述映射表管理電路單元215(或映射表載入管理電路2152)可根據SMT清單中所記錄的多個條目,以對應地產生單平面映射表載入指令(Single plane mapping table loading command,SPLC)或多平面映射表載入指令(Multiple planes mapping table loading command,MPLC)。所述單平面映射表載入指令用以指示經由單平面讀取的方式,從對應的系統實體位址讀取所儲存的一個SL2P表。所述多平面映射表載入指令用以指示經由多平面讀取的方式,一同從對應的分別屬於M個平面的多個系統實體位址讀取所儲存的多個SL2P表。M為大於1的正整數,用以表示系統實體區塊所具有的多個平面的總數量。如此一來,可經由執行所產生的多平面映射表載入指令來更有效率地載入對應的多個SL2P表。以下利用多個圖式來進行說明。
圖5A是根據本發明的一實施例所繪示的根據區段映射表清單來產生映射表載入指令佇列的示意圖。請參照圖5A,假設每個系統實體區塊具有2個平面(M=2),並且每個系統實體頁面可儲存2個SL2P表(N=2)。此外,假設邏輯轉實體位址映射表被分割為多個區段邏輯轉實體位址映射表SL2P(1)~SL2P(6),系統實體區塊B1、B2中所儲存的有效的多個SL2P表如圖5A中的灰色區塊所示的區段邏輯轉實體位址映射表SL2P(1)~SL2P(6),並且系統實體區塊B1、B2中所儲存的有效的多個SL2P表(如圖5A中的灰
色區塊所示的區段邏輯轉實體位址映射表SL2P(1)~SL2P(6)),並且映射表管理電路單元215(或映射表清單管理電路2151)也根據所儲存的區段邏輯轉實體位址映射表SL2P(1)~SL2P(6)產生了圖5A中的區段映射表清單SMT1。此外,所述區段映射表清單SMT1被儲存在可複寫式非揮發性記憶體模組220中的預先設定的特定系統實體區塊的特定系統實體位址中。
在此例子中,反應於儲存裝置20的開啟或處理器211執行不正常斷電恢復操作,所述映射表管理電路單元215(或映射表載入管理電路2152)從所述特定系統實體區塊的所述特定系統實體位址中讀取所述區段映射表清單SMT1,並且所述映射表管理電路單元215(或映射表載入管理電路2152)根據所述區段映射表清單SMT1產生所述映射表載入指令佇列(Mapping table loading command queue)LCQ1。
具體來說,在本實施例中,在所述根據所述SMT清單產生所述映射表載入指令佇列的運作中,映射表管理電路單元215(或映射表載入管理電路2152)辨識區段映射表清單SMT1的所述多個條目的所述多個系統實體位址各自所屬的平面為M個平面中的其中之一。例如,映射表管理電路單元215(或映射表載入管理電路2152)根據分別對應至區段邏輯轉實體位址映射表SL2P(1)~SL2P(6)的所述多個條目,辨識出儲存在可複寫式非揮發性記憶體模組220中的區段邏輯轉實體位址映射表SL2P(1)、SL2P(2)、SL2P(3)、SL2P(4)、SL2P(5)、SL2P(6)分別屬於系統實
體區塊B1的平面PL1、系統實體區塊B2的平面PL1、系統實體區塊B1的平面PL1、系統實體區塊B1的平面PL2、系統實體區塊B1的平面PL2、系統實體區塊B1的平面PL1以及系統實體區塊B1的平面PL1。
接著,映射表管理電路單元215(或映射表載入管理電路2152)根據所述多個條目的排列順序,判斷鄰接在一第一目標條目後是否有一或多個第二目標條目,其中所述第一目標條目所對應的第一系統實體位址與所述一或多個第二目標條目所對應的一或多個第二系統實體位址分別屬於一個系統實體區塊的M個平面的M個實體頁面。
反應於判定鄰接在所述第一目標條目後沒有所述一或多個第二目標條目,所述映射表管理電路單元記錄至所述第一系統實體位址至一個所述單平面映射表載入指令
例如,假設第一目標條目為區段映射表清單SMT1的對應SL2P(1)的條目,映射表管理電路單元215(或映射表載入管理電路2152)判定鄰接在對應SL2P(1)的條目後的對應SL2P(2)的條目所記錄的系統實體位址(如,“B2,PL1,PG1,CD1”)與對應SL2P(1)的條目所記錄的第一系統實體位址(如,“B1,PL1,PG1,CD1”)並非屬於同一個系統實體區塊的2個平面,映射表管理電路單元215(或映射表載入管理電路2152)判定對應SL2P(2)的條目並非第二目標條目,並且直接記錄對應SL2P(1)的條目所記錄的第一系統實體位址(如,“B1,PL1,PG1,CD1”)至映射表載入指令佇列
LCQ1中的一個單平面映射表載入指令(如,單平面映射表載入指令SPLC:“B1,PL1,PG1,CD1”)。
反應於判定鄰接在所述第一目標條目後有所述一或多個第二目標條目,所述映射表管理電路單元記錄至所述第一系統實體位址與所述一或多個第二系統實體位址至一個所述多平面映射表載入指令。
例如,假設第一目標條目為區段映射表清單SMT1的對應SL2P(3)的條目,映射表管理電路單元215(或映射表載入管理電路2152)判定鄰接在對應SL2P(3)的條目後的對應SL2P(4)的條目所記錄的系統實體位址(如,“B1,PL2,PG1,CD2”)與對應SL2P(3)的條目所記錄的第一系統實體位址(如,“B1,PL1,PG1,CD2”)屬於同一個系統實體區塊的2個平面,映射表管理電路單元215(或映射表載入管理電路2152)判定對應SL2P(4)的條目為對應至第一目標條目的第二目標條目,並且判定對應SL2P(4)的條目所記錄的系統實體位址為第二系統實體位址。此外,映射表管理電路單元215(或映射表載入管理電路2152)更記錄第一系統實體位址(如,“B1,PL1,PG1,CD2”)與第二系統實體位址(如,“B1,PL1,PG1,CD2”)至映射表載入指令佇列LCQ1中的一個多平面映射表載入指令(如,多平面映射表載入指令MPLC:“B1,PL1,PG1,CD2”,“B1,PL2,PG1,CD2”)。應注意的是,由於對應SL2P(5)的條目所記錄的系統實體位址與第二系統實體位址非屬於同一個系統實體頁面,對應SL2P(5)的條目所記錄的系統實體位址與第二系統實體位址
不能被多平面讀取操作所一同讀取,進而使映射表管理電路單元215(或映射表載入管理電路2152)判定對應SL2P(5)的條目並非對應第一目標條目的第二目標條目。
依此類推,在圖5A的例子中,映射表管理電路單元215(或映射表載入管理電路2152)最終依據區段映射表清單SMT1產生了所述映射表載入指令佇列LCQ1。
另一方面,在又一實施例中,在所述根據所述SMT清單產生所述映射表載入指令佇列的運作中,映射表管理電路單元215(或映射表載入管理電路2152)可直接選擇儲存在同一個系統實體區塊的分別屬於不同平面的不同系統實體頁面上的多個SL2P表來產生多平面映射表載入指令。
詳細來說,所述映射表管理電路單元215(或映射表載入管理電路2152)辨識所述SMT清單的所述多個條目的所述多個系統實體位址各自所屬的平面為M個平面中的其中之一。所述映射表管理電路單元215(或映射表載入管理電路2152)從所述多個系統實體位址中選擇多組的M個多平面系統實體位址,其中所選擇的每一組的所述M個多平面系統實體位址分別屬於不同的所述M個平面,並且將所選擇的所述多組的所述M個多平面系統實體位址各自記錄至一個所述多平面映射表載入指令,其中M為大於1的正整數。接著,所述映射表管理電路單元215(或映射表載入管理電路2152)將所述多個系統實體位址中尚未被選擇的多個剩餘的系統實體位址各自記錄至一個所述單平面映射表載入指令。
以下利用圖5B來說明。
圖5B是根據本發明的又一實施例所繪示的根據區段映射表清單來產生映射表載入指令佇列的示意圖。請參照圖5B,假設每個系統實體區塊具有2個平面(M=2),並且每個系統實體頁面可儲存2個SL2P表(N=2)。此外,假設邏輯轉實體位址映射表被分割為多個區段邏輯轉實體位址映射表SL2P(1)~SL2P(6),系統實體區塊B1、B2中所儲存的有效的多個SL2P表如圖5B中的灰色區塊所示的區段邏輯轉實體位址映射表SL2P(1)~SL2P(6),並且系統實體區塊B1、B2中所儲存的有效的多個SL2P表(如圖5B中的灰色區塊所示的區段邏輯轉實體位址映射表SL2P(1)~SL2P(6)),並且映射表管理電路單元215(或映射表清單管理電路2151)也根據所儲存的區段邏輯轉實體位址映射表SL2P(1)~SL2P(6)產生了圖5B中的區段映射表清單SMT1。此外,所述區段映射表清單SMT1被儲存在可複寫式非揮發性記憶體模組220中的預先設定的特定系統實體區塊的特定系統實體位址中。
在此例子中,映射表管理電路單元215(或映射表載入管理電路2152)可掃描區段映射表清單SMT1,以找出位於同一個系統區塊的分別屬於2個平面的2個系統實體頁面的多個SL2P表,以將所找到的所述多個SL2P表記錄至一個多平面映射表載入指令。例如,根據圖5B中的區段映射表清單SMT1,映射表管理電路單元215(或映射表載入管理電路2152)判定對應區段邏輯轉實體位址映射表SL2P(1)的條目所記錄的系統實體位址“B1,PL1,
PG1,CD1”、對應區段邏輯轉實體位址映射表SL2P(3)的條目所記錄的系統實體位址“B1,PL1,PG1,CD2”與對應區段邏輯轉實體位址映射表SL2P(3)的條目所記錄的系統實體位址“B1,PL2,PG1,CD2”為同一個系統實體區塊中的分別屬於2個平面的2個系統實體頁面上的多個系統實體位址,並且映射表管理電路單元215(或映射表載入管理電路2152)可如圖5B箭頭所示將所述多個系統實體位址“B1,PL1,PG1,CD1”、“B1,PL1,PG1,CD2”以及“B1,PL2,PG1,CD2”一同記錄至映射表載入指令佇列LCQ2中的一個多平面映射表載入指令中(即,多平面映射表載入指令「MPLC:“B1,PL1,PG1,CD1-2”,“B1,PL2,PG1,CD2”」)。其中,多平面映射表載入指令「MPLC:“B1,PL1,PG1,CD1-2”,“B1,PL2,PG1,CD2”」用以指示經由多平面讀取操作的方式,從系統實體區塊B1同時讀取位於平面PL1的系統實體頁面PG1的第一、第二個碼字,以及位於平面PL2的系統實體頁面PG1的第二個碼字。
依此類推,映射表管理電路單元215(或映射表載入管理電路2152)可更將所述多個系統實體位址“B1,PL2,PG3,CD1”(對應區段邏輯轉實體位址映射表SL2P(5)的條目)以及“B1,PL1,PG2,CD2”(對應區段邏輯轉實體位址映射表SL2P(6)的條目)一同記錄至映射表載入指令佇列LCQ2中的一個多平面映射表載入指令中(即,多平面映射表載入指令「MPLC:“B1,PL2,PG3,CD1”,“B1,PL1,PG2,CD2”」)。
應注意的是,在產生多平面映射表載入指令「MPLC:“B1,
PL1,PG1,CD1-2”,“B1,PL2,PG1,CD2”」以及多平面映射表載入指令「MPLC:“B1,PL2,PG3,CD1”,“B1,PL1,PG2,CD2”」後,映射表管理電路單元215(或映射表載入管理電路2152)辨識到剩餘的對應區段邏輯轉實體位址映射表SL2P(2)的條目,並且將區段邏輯轉實體位址映射表SL2P(2)的條目所記錄的系統實體位址“B2,PL1,PG1,CD1”記錄至映射表載入指令佇列LCQ2中的單平面映射表載入指令(即,多平面映射表載入指令「SPLC:“B2,PL1,PG1,CD1”」。
值得一提的是,相較於圖4中的多個映射表載入指令,於圖5A、5B所說明的本發明的記憶體管理方法,可有效地減少映射表載入指令的總數量,並且可應用多平面讀取操作來加速SL2P表的載入速度。
在一實施例中,映射表管理電路單元215(或映射表載入管理電路2152)更可經由多個映射表位圖來產生對應所述多個系統實體區塊的映射表載入指令佇列。
具體來說,映射表管理電路單元215(或映射表載入管理電路2152)可根據所述SMT清單,產生一多個映射表位圖,其中所述多個映射表位圖分別對應至多個系統實體區塊。其中,對應一個系統實體區塊的一個映射表位圖記錄分別對應至所述一個系統實體區塊的多個系統實體位址的多個位元值,其中所述多個位元值各自的數值包括0或1,其中為0的所述位元值用以表示所對應的系統實體位址儲存了無效的SL2P表或無效資料,並且為1的
所述位元值用以表示所對應的系統實體位址儲存了有效的SL2P表。
此外,映射表管理電路單元215(或映射表載入管理電路2152)更可根據所述多個映射表位圖產生對應所述多個系統實體區塊的映射表載入指令佇列,其中所述映射表載入指令佇列各自具有多個映射表載入指令,其中所述多個映射表載入指令各自包括單平面映射表載入指令與多平面映射表載入指令,其中當所述儲存裝置開啟時,所述映射表管理電路單元執行所述映射表載入指令佇列,以從所述可複寫式非揮發性記憶體模組載入所述多個SL2P表至所述緩衝記憶體中。以下利用圖6~9B來說明。
圖6是習知的載入多個區段邏輯轉實體位址映射表的示意圖。請參照圖6,假設邏輯轉實體位址映射表被分割為多個區段邏輯轉實體位址映射表SL2P(1)~SL2P(11),並且所述多個區段邏輯轉實體位址映射表SL2P(1)~SL2P(11)被儲存至系統實體區塊B3、B4中(如圖6中的灰色區塊所示的有效的區段邏輯轉實體位址映射表SL2P(1)~SL2P(11)),並且區段映射表清單SMT2的多個條目也記錄了用以儲存區段邏輯轉實體位址映射表SL2P(1)~SL2P(11)的系統實體位址的資訊。
一般來說,如箭頭A61所示,傳統作法為,處理器211依據每個條目所記錄的區段邏輯轉實體位址映射表SL2P(1)~SL2P(11)各自的系統實體位址,直接產生多個對應的單平面映射表載入指令(經由單平面讀取的方式來讀取每一個SL2P
表)。處理器211可依序執行所產生的所述多個單平面映射表載入指令,以從系統實體區塊B3、B4中讀取對應的區段邏輯轉實體位址映射表SL2P(1)~SL2P(11)至緩衝記憶體216。
在本實施例中,反應於儲存裝置20的開啟或處理器211執行不正常斷電恢復操作,所述映射表管理電路單元215(或映射表載入管理電路2152)從所述特定系統實體區塊的所述特定系統實體位址中讀取所述區段映射表清單SMT2,並且所述映射表管理電路單元215(或映射表載入管理電路2152)根據所述區段映射表清單SMT2產生對應的多個映射表位圖。在另一實施例中,反應於儲存裝置20的關閉,所述映射表管理電路單元215(或映射表載入管理電路2152)根據緩衝記憶體216中的區段映射表清單SMT2產生對應多個系統實體區塊的多個映射表位圖,並且將所述多個映射表位圖分別儲存至所對應的系統實體區塊中。
圖7是根據本發明的一實施例所繪示的根據區段映射表清單來產生映射表位圖的示意圖。請參照圖7,所述映射表管理電路單元215(或映射表載入管理電路2152)可根據所述區段映射表清單SMT2辨識出儲存在系統實體區塊B3中的有效的區段邏輯轉實體位址映射表SL2P(1)、SL2P(3)、SL2P(2)、SL2P(4)、SL2P(5)、SL2P(9)、SL2P(10)、SL2P(11)的多個位置,並且如箭頭A71所示,藉由所辨識的所述多個位置來產生對應系統實體區塊B3的映射表位圖BMP_B3。所述映射表位圖BMP_B3中的多個位元值為依據PxQ的矩陣形式排列,每個位元值的數值用以表示所對應的碼
字是否為有效的,如,為0的位元值表示所對應的碼字/SL2P表為無效的(無效碼字/無效SL2P表),並且為1的位元值表示所對應的碼字/SL2P表為有效的(有效碼字/有效SL2P表)。
依此類推,所述映射表管理電路單元215(或映射表載入管理電路2152)可根據所述區段映射表清單SMT2辨識出儲存在系統實體區塊B4中的有效的區段邏輯轉實體位址映射表SL2P(6)、SL2P(8)、SL2P(7)的多個位置,並且如箭頭A72所示,藉由所辨識的所述多個位置來產生對應系統實體區塊B4的映射表位圖BMP_B4。
在獲得多個映射表位圖後,所述映射表管理電路單元215(或映射表載入管理電路2152)可根據所述多個映射表位圖產生對應所述多個系統實體區塊的所述映射表載入指令佇列。
詳細來說,針對所述多個映射表位圖中的對應至目標系統實體區塊的目標映射表位圖(所述目標系統實體區塊為多個系統實體區塊中被選擇用以產生一或多個被輸入至所述映射表載入指令佇列的系統實體區塊),所述映射表管理電路單元215(或映射表載入管理電路2152)辨識依PxQ矩陣形式所排列的所述目標映射表位圖的多個目標位元值,其中P為所述目標系統實體區塊的多個目標系統實體頁面的總數量,並且所述多個目標系統實體頁面各自最多儲存Q個SL2P表至所述多個目標系統實體頁面各自的Q個系統實體位址,其中Q為正整數。所述映射表管理電路單元215(或映射表載入管理電路2152)辨識PxQ矩陣中的M個
子矩陣,其中所述M個子矩陣各自包括PxN個所述目標位元值,其中M*N等於Q。
接著,所述映射表管理電路單元215(或映射表載入管理電路2152)根據每一個子矩陣的P個行各自的所有的目標位元值的總和,由大至小,來重新排序每一個子矩陣的所述P個行,以獲得已調整目標映射表位圖。
接著,所述映射表管理電路單元215(或映射表載入管理電路2152)根據所述已調整目標映射表位圖的已排序的P個行來產生對應所述已排序P個行的多個映射表載入指令,並且依序將所產生的所述多個映射表載入指令輸入至所述映射表載入指令佇列中。其中,所述已排序的P個行中的一第一類型行的為1的一或多個位元值分佈於所述M個子矩陣中,並且對應所述第一類型行的為1的所述一或多個位元值的一或多個第一類型目標系統實體位址被記錄至所述映射表載入指令佇列中的一個所述多平面映射表載入指令;所述已排序的P個行中的一第二類型行的為1的一或多個位元值非分佈於所述M個子矩陣中,並且對應所述第二類型行的為1的所述一或多個位元值的一或多個第二類型目標系統實體位址被記錄至所述映射表載入指令佇列中的一個所述單平面映射表載入指令。簡單來說,位於第一類型行中的多個位元值會散佈在所有的子矩陣中(即,所述M個子矩陣的每個子矩陣的所述第一類型行皆具有至少一個為1的位元值)。反之,所述M個子矩陣(對應M個平面)的其中之一或多者的所述第二類型行可
僅具有為0的位元值。
圖8A是根據本發明的一實施例所繪示的調整映射表位圖的示意圖。請參照圖8A,假設在獲得映射表位圖BMP_B3、BMP_B4後,所述映射表管理電路單元215(或映射表載入管理電路2152)辨識映射表位圖BMP_B3的2個子矩陣(M=2)BMP_B3.1、BMP_B3.2以及映射表位圖BMP_B4的2個子矩陣(M=2)BMP_B4.1、BMP_B4.2。每個子矩陣皆具有對應至三個系統實體頁面的3個行(P=3),每個子矩陣的每個行可儲存2個SL2P表(N=2),並且每個子矩陣對應至1個平面。
在此例子之中,所述映射表管理電路單元215(或映射表載入管理電路2152)根據子矩陣BMP_B3.1的3個行(如,對應系統實體頁面PG1、PG2、PG3)各自的所有的位元值(目標位元值)的總和(如,2、0、1),由大至小,來重新排序子矩陣BMP_B3.1為子矩陣BMP_B3.1’(如箭頭A81所示)。子矩陣BMP_B3.1’的對應系統實體頁面PG1、PG3、PG2的3個行的目標位元值的總和為2、1、0。依此類推,所述映射表管理電路單元215(或映射表載入管理電路2152)重新調整子矩陣BMP_B3.2為子矩陣BMP_B3.2’(如箭頭A82所示);重新調整子矩陣BMP_B4.1為子矩陣BMP_B4.1’(如箭頭A83所示);重新調整子矩陣BMP_B4.2為子矩陣BMP_B4.2’(如箭頭A84所示)。
圖8B是根據本發明的一實施例所繪示的根據已調整映射表位圖來產生映射表載入指令佇列的示意圖。請參照圖8B,在
調整每個子矩陣後,已調整子矩陣BMP_B3.1’與已調整子矩陣BMP_B3.2’可結合為已調整映射表位圖BMP_B3’,並且已調整子矩陣BMP_B4.1’與已調整子矩陣BMP_B4.2’可結合為已調整映射表位圖BMP_B4’。
所述映射表管理電路單元215(或映射表載入管理電路2152)根據所述已調整目標映射表位圖BMP_B3’的已排序的3個行來產生對應所述已排序3個行的多個映射表載入指令,並且依序將所產生的所述多個映射表載入指令輸入至所述映射表載入指令佇列中。例如,如箭頭A85所示,所述映射表管理電路單元215(或映射表載入管理電路2152)辨識所述已調整目標映射表位圖BMP_B3’的第1行的多個目標位元值的多個位置,並且根據所述多個位置來產生多平面映射表載入指令「MPLC:“B3,PL1,PG1,CD1-2”,“B3,PL2,PG2,CD1-2”」;如箭頭A86所示,所述映射表管理電路單元215(或映射表載入管理電路2152)辨識所述已調整目標映射表位圖BMP_B3’的第2行的多個目標位元值的多個位置,並且根據所述多個位置來產生多平面映射表載入指令「MPLC:“B3,PL1,PG3,CD2”,“B3,PL2,PG3,CD1-2”」;如箭頭A87所示,所述映射表管理電路單元215(或映射表載入管理電路2152)辨識所述已調整目標映射表位圖BMP_B4’的第1行的多個目標位元值的多個位置,並且根據所述多個位置來產生多平面映射表載入指令「MPLC:“B4,PL1,PG3,CD1”,“B4,PL2,PG2,CD1-2”」。應注意的是,對應箭頭A85~87的多個行皆屬於第一類型行,並且
位於所述第一類型行的多個位元值屬於同一個系統實體區塊的2個平面的2個系統實體頁面。
在產生完對應多個第一類型行的多個多平面映射表載入指令後,所述映射表管理電路單元215(或映射表載入管理電路2152)開始根據已調整目標映射表位圖BMP_B3’中的第二類型行來產生單平面映射表載入指令。例如,如箭頭A88所示,所述映射表管理電路單元215(或映射表載入管理電路2152)辨識所述已調整目標映射表位圖BMP_B3’的第3行的多個目標位元值的多個位置,並且根據所述多個位置來產生多平面映射表載入指令「SPLC:“B3,PL2,PG1,CD2”」。如此一來,在所述映射表管理電路單元215(或映射表載入管理電路2152)根據所有的第一類型行與第二類型行的多個位元值來產生相應的多平面映射表載入指令或/及單平面映射表載入指令至映射表載入指令佇列LCQ3後,產生映射表載入指令佇列LCQ3的操作完成。
然而,在又一實施例中,所述映射表管理電路單元215(或映射表載入管理電路2152)可不經由調整子矩陣來調整目標映射表位圖。具體來說,針對所述多個映射表位圖中的對應至目標系統實體區塊的目標映射表位圖,所述映射表管理電路單元215(或映射表載入管理電路2152)辨識依PxQ矩陣形式所排列的所述目標映射表位圖的多個目標位元值,其中P為所述目標系統實體區塊的多個目標系統實體頁面的總數量,並且所述多個目標系統實體頁面各自最多儲存Q個SL2P表至所述多個目標系統實體
頁面各自的Q個系統實體位址,其中Q為正整數。所述映射表管理電路單元215(或映射表載入管理電路2152)直接根據所述目標映射表位圖的P個行各自的所有的目標位元值的總和,由大至小,來重新排序所述目標映射表位圖的P個行,以獲得已調整目標映射表位圖。接著,所述映射表管理電路單元215(或映射表載入管理電路2152)根據所述已調整目標映射表位圖的已排序的P個行來產生對應所述已排序P個行的多個映射表載入指令,並且依序將所產生的所述多個映射表載入指令輸入至所述映射表載入指令佇列中。相似地,所述已排序的P個行中的一第一類型行的為1的一或多個位元值分佈於M個平面中,並且對應所述第一類型行的為1的所述一或多個位元值的一或多個第一類型目標系統實體位址被記錄至所述映射表載入指令佇列中的一個所述多平面映射表載入指令;所述已排序的P個行中的一第二類型行的為1的一或多個位元值非分佈於所述M個平面中,並且對應所述第二類型行的為1的所述一或多個位元值的一或多個第二類型目標系統實體位址被記錄至所述映射表載入指令佇列中的一個所述單平面映射表載入指令。以下利用圖9A、9B來說明。
圖9A是根據本發明的又一實施例所繪示的調整映射表位圖的示意圖。請參照圖9A,假設已獲得映射表位圖BMP_B3、BMP_B4。所述映射表管理電路單元215(或映射表載入管理電路2152)可辨識映射表位圖BMP_B3、BMP_B4中的每個行的位元值的總和(亦稱,位元值總和)。例如,映射表位圖BMP_B3的第
1行(對應系統實體頁面PG1)的位元值總和為“3”;映射表位圖BMP_B3的第2行(對應系統實體頁面PG2)的位元值總和為“2”;映射表位圖BMP_B3的第3行(對應系統實體頁面PG1)的位元值總和為“3”。所述映射表管理電路單元215(或映射表載入管理電路2152)可根據映射表位圖BMP_B3的3個行各自的位元值總和的大小順序,由大至小來重新排序所述3個行,以獲得映射表位圖BMP_B3’(如,箭頭A91所示)。依此類推,所述映射表管理電路單元215(或映射表載入管理電路2152)可根據映射表位圖BMP_B4的3個行各自的位元值總和的大小順序,由大至小來重新排序所述3個行,以獲得映射表位圖BMP_B4’(如,箭頭A92所示)。
圖9B是根據本發明的又一實施例所繪示的根據已調整映射表位圖來產生映射表載入指令佇列的示意圖。請參照圖9B,在獲得已調整映射表位圖BMP_B3’、BMP_B4’後,所述映射表管理電路單元215(或映射表載入管理電路2152)根據所述已調整目標映射表位圖BMP_B3’的已排序的3個行來產生對應所述已排序3個行的多個映射表載入指令,並且依序將所產生的所述多個映射表載入指令輸入至所述映射表載入指令佇列中。例如,如箭頭A93所示,所述映射表管理電路單元215(或映射表載入管理電路2152)辨識所述已調整目標映射表位圖BMP_B3’的第1行的多個目標位元值的多個位置,並且根據所述多個位置來產生多平面映射表載入指令「MPLC:“B3,PL1,PG1,CD1-2”,“B3,PL2,
PG1,CD2”」;如箭頭A94所示,所述映射表管理電路單元215(或映射表載入管理電路2152)辨識所述已調整目標映射表位圖BMP_B3’的第2行的多個目標位元值的多個位置,並且根據所述多個位置來產生多平面映射表載入指令「MPLC:“B3,PL1,PG3,CD2”,“B3,PL2,PG3,CD1-2”」;如箭頭A95所示,所述映射表管理電路單元215(或映射表載入管理電路2152)辨識所述已調整目標映射表位圖BMP_B3’的第3行的多個目標位元值的多個位置,並且根據所述多個位置來產生單平面映射表載入指令「SPLC:“B3,PL2,PG2,CD1-2”」;如箭頭A96所示,所述映射表管理電路單元215(或映射表載入管理電路2152)辨識所述已調整目標映射表位圖BMP_B4’的第1行的多個目標位元值的多個位置,並且根據所述多個位置來產生單平面映射表載入指令「SPLC:“B4,PL2,PG2,CD1-2”」如箭頭A97所示,所述映射表管理電路單元215(或映射表載入管理電路2152)辨識所述已調整目標映射表位圖BMP_B4’的第2行的多個目標位元值的多個位置,並且根據所述多個位置來產生單平面映射表載入指令「SPLC:“B4,PL1,PG3,CD1”」。應注意的是,對應箭頭A93~94的多個行皆屬於第一類型行,並且位於所述第一類型行的多個位元值屬於同一個系統實體區塊的2個平面的2個系統實體頁面。此外,對應箭頭A95~97的多個行皆屬於第二類型行,並且位於所述第二類型行的多個位元值僅屬於同一個系統實體區塊的2個平面中的一個平面的1個系統實體頁面。
如此一來,在所述映射表管理電路單元215(或映射表載入管理電路2152)根據所有的第一類型行與第二類型行的多個位元值來產生相應的多平面映射表載入指令或/及單平面映射表載入指令至映射表載入指令佇列LCQ4後,產生映射表載入指令佇列LCQ4的操作完成。
在本實施例中,反應於映射表載入指令佇列LCQ4已產生完畢,所述映射表管理電路單元215(處理器211或映射表載入管理電路2152)可依序執行映射表載入指令佇列LCQ4中的多個映射表載入指令,以從可複寫式非揮發性記憶體模組220中載入所有的SL2P表至緩衝記憶體216中。如此一來,處理器211便可藉由所載入至緩衝記憶體216的所有的SL2P表來進行後續的管理操作或資料存取操作。
值得一提的是,相較於圖6中的多個映射表載入指令,於圖8B、9B所說明的本發明的記憶體管理方法,可有效地減少映射表載入指令的總數量,並且可應用多平面讀取操作來進一步加速SL2P表的載入速度。
此外,在一實施例中,映射表管理電路單元215也可僅更新/維護多個映射表位圖於緩衝記憶體216中(即,不利用SMT清單),以記錄儲存至可複寫式非揮發性記憶體模組220的有效的SL2P表的位置。緩衝記憶體216中的多個映射表位圖也可被備份至可複寫式非揮發性記憶體模組220中。爾後,映射表管理電路單元215可直接讀取所備份的多個映射表位圖,以產生相應的映
射表載入指令佇列,進而載入所有的SL2P表至緩衝記憶體216中。
圖10是根據本發明的一實施例所繪示的載入區段邏輯轉實體映射表的流程圖。請參照圖10,在步驟S1010中,映射表管理電路單元215(或映射表載入管理電路2152)從可複寫式非揮發性記憶體模組220中讀取區段映射表(SMT)清單,並且根據所讀取的SMT清單產生映射表載入指令佇列,其中所述映射表載入指令佇列具有多個映射表載入指令,其中所述多個映射表載入指令包括單平面映射表載入指令與多平面映射表載入指令。
接著,在步驟S1020中,映射表管理電路單元215(或映射表載入管理電路2152)根據所述映射表載入指令佇列的所述多個映射表載入指令的排列順序,執行所述多個映射表載入指令,以經由單平面讀取的方式,從對應的系統實體位址讀取所儲存的一個區段邏輯轉實體映射(SL2P)表,或經由多平面讀取的方式,一同從對應的分別屬於M個平面的多個系統實體位址讀取所儲存的多個SL2P表。
圖11是根據本發明的又一實施例所繪示的載入區段邏輯轉實體映射表的流程圖。請參照圖11,在步驟S1110中,映射表管理電路單元215(處理器211或映射表載入管理電路2152)從多個系統實體區塊的每一個系統實體區塊的最後一個系統實體頁面中來讀取映射表記錄資訊,並且根據從每一個系統實體區塊的所讀取所述映射表記錄資訊來產生每一個系統實體區塊的區段映射表(SMT)清單。具體來說,在本實施例中,映射表管理電路單元
215(處理器211或映射表清單管理電路2151)會在儲存裝置關閉時,將每個系統實體區塊的映射表記錄資訊記錄至每個系統實體區塊中排序在最後一個被使用的系統實體頁面後的系統實體頁面(亦稱,特定系統實體頁面)。所述映射表記錄資訊用以記錄儲存於所屬的系統實體區塊中的有效的多個SL2P表的系統實體位址與所述多個SL2P表的識別碼(亦稱,SL2P表識別碼)。處理器211可經由所述SL2P表識別碼辨識到所對應的SL2P表所具有的多個邏輯位址。例如,SL2P表識別碼“ST1”可被用以識別所對應的區段邏輯轉實體位址映射表SL2P(1)(如,“ST1”中的數字部份“2”),並且如圖3B所示,區段邏輯轉實體位址映射表SL2P(1)包含了邏輯位址LA(0)~LA(1023)(即,(1-1)*1024=0,並且1*1024-1=1023)。又例如,SL2P表識別碼“ST2”可被用以識別所對應的區段邏輯轉實體位址映射表SL2P(2)(如,“ST1”中的數字部份“2”),並且如圖3B所示,區段邏輯轉實體位址映射表SL2P(2)包含了邏輯位址LA(1024)~LA(2047)(即,(2-1)*1024=0,並且2*1024-1=2047)。
圖12是根據本發明的一實施例所繪示的映射表記錄資訊的示意圖。請參照圖12,在本實施例中,假設系統實體區塊B5儲存了多個有效的區段邏輯轉實體位址映射表SL2P(1)~SL2P(5),並且系統實體區塊B5最後一個被使用的實體頁面為平面PL1的實體頁面PG3(系統實體區塊B5還剩下平面PL2的實體頁面PG3尚未被使用)。映射表管理電路單元215(處
理器211或映射表清單管理電路2151)也對應地記錄了區段映射表清單SMT3。
在一實施例中,映射表管理電路單元215(處理器211或映射表清單管理電路2151)可根據區段映射表清單SMT3識別出相關於系統實體區塊B5的多個條目,並且根據相關於系統實體區塊B5的所述多個條目來產生系統實體區塊的映射表記錄資訊MRI1。在另一實施例中,映射表管理電路單元215(處理器211或映射表清單管理電路2151)不需根據區段映射表清單SMT3來產生系統實體區塊B5的映射表記錄資訊MRI1,並且可直接反應於多個有效的SL2P清單被儲存在系統實體區塊B5而記錄相關的資訊至映射表記錄資訊MRI1。映射表記錄資訊MRI亦可具有預定的標籤,已使映射表管理電路單元215(處理器211或映射表清單管理電路2151)識別所讀取的資料為映射表記錄資訊。
在特定時間點,如箭頭A1201所示,映射表記錄資訊MRI1可被儲存至系統實體區塊中的平面PL2的第1個可用實體位址/碼字。所述特定時間點包括但不限於:儲存裝置20關閉時;以及系統實體區塊B5被關閉時。所述映射表記錄資訊MRI1可被用以重建對應系統實體區塊B5的映射表清單SMT3。
接著,在步驟S1120中,反應於所述多個系統實體區塊中的一特定系統實體區塊的所述最後一個系統實體頁面不具有映射表記錄資訊,映射表管理電路單元215(處理器211或映射表載入管理電路2152)掃描所述特定系統實體區塊所儲存的所有的區
段邏輯轉實體位址映射表,以重建所述特定系統實體區塊的所述映射表記錄資訊,並且根據所述特定系統實體區塊的所重建的所述映射表記錄資訊來產生所述特定系統實體區塊的SMT清單。
具體來說,當映射表管理電路單元215(處理器211或映射表載入管理電路2152)經由所讀取的資料中的標籤來判定從系統實體區塊B5所讀取的最後一筆資料並非是映射表記錄資訊,映射表管理電路單元215(處理器211或映射表載入管理電路2152)需要重新掃描系統實體區塊B5所具有的所有的有效的SL2P表(如,判斷每次所讀取到的SL2P表中的資訊是否是有效的),以重建系統實體區塊B5的映射表記錄資訊MRI1,並且根據所重建的映射表記錄資訊MRI1來產生對應系統實體區塊B5的區段映射表清單SMT3。
接著,在步驟S1130中,映射表管理電路單元215(處理器211或映射表載入管理電路2152)根據所獲得的所有的SMT清單產生映射表載入指令佇列,其中所述映射表載入指令佇列具有多個映射表載入指令,其中所述多個映射表載入指令包括單平面映射表載入指令與多平面映射表載入指令。
接著,在步驟S1140中,映射表管理電路單元215(處理器211或映射表載入管理電路2152)根據所述映射表載入指令佇列的所述多個映射表載入指令的排列順序,執行所述多個映射表載入指令,以經由單平面讀取的方式,從對應的系統實體位址讀取所儲存的一個區段邏輯轉實體映射(SL2P)表,或經由多平面讀
取的方式,一同從對應的分別屬於M個平面的多個系統實體位址讀取所儲存的多個SL2P表。
值得一提的是,上述映射表管理電路單元215的功能是以硬體電路的方式來實作,但本發明不限於此。例如,在一實施例中,映射表管理電路單元215、映射表清單管理電路2151、映射表載入管理電路2152的功能可分別以軟體或韌體的方式來實作為可被處理器211所執行的程式碼。如,映射表管理電路單元215、映射表清單管理電路2151、映射表載入管理電路2152的功能可被實作為映射表管理程式模組、映射表清單管理程式模組、映射表載入管理程式模組,並且處理器211可載入且執行映射表管理程式模組、映射表清單管理程式模組、映射表載入管理程式模組以實現相應的功能。
綜上所述,本發明的實施例所提供的儲存控制器、記憶體管理方法與儲存裝置,可利用區段映射表清單來產生對應的映射表載入指令佇列,以有效地管理多個區段邏輯轉實體位址映射表,進而提高多個邏輯位址與多個實體位址之間的映射關係的管理操作的效率。
S210、S220、S230、S240:記憶體管理方法的流程步驟
Claims (21)
- 一種儲存控制器,用於控制配置有一可複寫式非揮發性記憶體模組的一儲存裝置,所述儲存控制器包括:一連接介面電路,用以耦接至一主機系統;一緩衝記憶體;一記憶體介面控制電路,用以耦接至所述可複寫式非揮發性記憶體模組,其中所述可複寫式非揮發性記憶體模組具有多個實體區塊,並且所述多個實體區塊各自具有多個實體頁面;一映射表管理電路單元,以及一處理器,耦接至所述連接介面電路、所述緩衝記憶體、所述記憶體介面控制電路及所述映射表管理電路單元,其中所述處理器用以維護多個區段邏輯轉實體位址映射(Segment Logical To Physical addresses mapping,SL2P)表於所述緩衝記憶體中,其中所述多個SL2P表各自用以記錄多個邏輯位址以及多個實體位址之間的映射關係,其中所述多個實體位址對應至一部份的所述多個實體頁面,並且所述多個邏輯位址對應至一部份的被配置給所述主機系統的多個邏輯頁面,其中所述映射表管理電路單元用以維護一區段映射表清單(Segment Mapping Table List,SMT清單)於所述緩衝記憶體中,其中所述SMT清單包括多個條目,其中所述多個條目分別對應所述多個SL2P表,並且所述多個條目各自包括系統區塊識別碼以及對應所述系統區塊識別碼的系統實體區塊中的系統實體位址, 其中反應於所述多個SL2P表中的第一SL2P表被儲存至所述可複寫式非揮發性記憶體模組中的第一系統實體位址,所述映射表管理電路單元更用以記錄所述第一系統實體位址至所述SMT清單的所述多個條目中對應所述第一SL2P表的第一條目,其中所述處理器更用以儲存所述SMT清單至所述可複寫式非揮發性記憶體模組中。
- 如申請專利範圍第1項所述的儲存控制器,其中所述映射表管理電路單元根據所述SMT清單產生一映射表載入指令佇列,其中所述映射表載入指令佇列具有多個映射表載入指令,其中所述多個映射表載入指令各自包括單平面映射表載入指令與多平面映射表載入指令,其中當所述儲存裝置開啟時,所述映射表管理電路單元執行所述映射表載入指令佇列,以從所述可複寫式非揮發性記憶體模組載入所述多個SL2P表至所述緩衝記憶體中。
- 如申請專利範圍第2項所述的儲存控制器,其中所述單平面映射表載入指令用以指示經由單平面讀取的方式,從對應的系統實體位址讀取所儲存的一個SL2P表,其中所述多平面映射表載入指令用以指示經由多平面讀取的方式,一同從對應的分別屬於M個平面的多個系統實體位址讀取所儲存的多個SL2P表,其中M為大於1的正整數。
- 如申請專利範圍第2項所述的儲存控制器,其中在所述根據所述SMT清單產生所述映射表載入指令佇列的運作中,所述映射表管理電路單元辨識所述SMT清單的所述多個條 目的所述多個系統實體位址各自所屬的平面為M個平面中的其中之一,所述映射表管理電路單元從所述多個系統實體位址中選擇多組的M個多平面系統實體位址,其中所選擇的每一組的所述M個多平面系統實體位址分別屬於不同的所述M個平面,並且將所選擇的所述多組的所述M個多平面系統實體位址各自記錄至一個所述多平面映射表載入指令,其中M為大於1的正整數,所述映射表管理電路單元將所述多個系統實體位址中尚未被選擇的多個剩餘的系統實體位址各自記錄至一個所述單平面映射表載入指令。
- 如申請專利範圍第2項所述的儲存控制器,其中在所述根據所述SMT清單產生所述映射表載入指令佇列的運作中,所述映射表管理電路單元辨識所述SMT清單的所述多個條目的所述多個系統實體位址各自所屬的平面為M個平面中的其中之一,其中所述映射表管理電路單元根據所述多個條目的排列順序,判斷鄰接在一第一目標條目後是否有一或多個第二目標條目,其中所述第一目標條目所對應的第一系統實體位址與所述一或多個第二目標條目所對應的一或多個第二系統實體位址分別屬於一個系統實體區塊的M個平面的M個實體頁面,其中反應於判定鄰接在所述第一目標條目後有所述一或多個第二目標條目,所述映射表管理電路單元記錄所述第一系統實體 位址與所述一或多個第二系統實體位址至一個所述多平面映射表載入指令,其中M為大於1的正整數,其中反應於判定鄰接在所述第一目標條目後沒有所述一或多個第二目標條目,所述映射表管理電路單元記錄所述第一系統實體位址至一個所述單平面映射表載入指令。
- 如申請專利範圍第1項所述的儲存控制器,其中所述映射表管理電路單元根據所述SMT清單產生一多個映射表位圖,其中所述多個映射表位圖分別對應至多個系統實體區塊,其中對應一個系統實體區塊的一個映射表位圖記錄分別對應至所述一個系統實體區塊的多個系統實體位址的多個位元值,其中所述多個位元值各自的數值包括0或1,其中為0的所述位元值用以表示所對應的系統實體位址儲存了無效的SL2P表或無效資料,並且為1的所述位元值用以表示所對應的系統實體位址儲存了有效的SL2P表。
- 如申請專利範圍第6項所述的儲存控制器,其中所述映射表管理電路單元根據所述多個映射表位圖產生對應所述多個系統實體區塊的映射表載入指令佇列,其中所述映射表載入指令佇列各自具有多個映射表載入指令,其中所述多個映射表載入指令各自包括單平面映射表載入指令與多平面映射表載入指令,其中當所述儲存裝置開啟時,所述映射表管理電路單元執行所述映射 表載入指令佇列,以從所述可複寫式非揮發性記憶體模組載入所述多個SL2P表至所述緩衝記憶體中。
- 如申請專利範圍第7項所述的儲存控制器,其中所述單平面映射表載入指令用以指示經由單平面讀取的方式,從對應的系統實體位址讀取所儲存的一個SL2P表,其中所述多平面映射表載入指令用以指示經由多平面讀取的方式,一同從對應的分別屬於M個平面的多個系統實體位址讀取所儲存的多個SL2P表,其中M為大於1的正整數。
- 如申請專利範圍第7項所述的儲存控制器,其中在根據所述多個映射表位圖產生對應所述多個系統實體區塊的所述映射表載入指令佇列的運作中,針對所述多個映射表位圖中的對應至目標系統實體區塊的目標映射表位圖,所述映射表管理電路單元辨識依PxQ矩陣形式所排列的所述目標映射表位圖的多個目標位元值,其中P為所述目標系統實體區塊的多個目標系統實體頁面的總數量,並且所述多個目標系統實體頁面各自最多儲存Q個SL2P表至所述多個目標系統實體頁面各自的Q個系統實體位址,其中Q為正整數,所述映射表管理電路單元辨識PxQ矩陣中的M個子矩陣,其中所述M個子矩陣各自包括PxN個所述目標位元值,其中M*N等於Q,其中所述映射表管理電路單元根據每一個子矩陣的P個 行各自的所有的目標位元值的總和,由大至小,來重新排序每一個子矩陣的所述P個行,以獲得已調整目標映射表位圖,其中所述映射表管理電路單元根據所述已調整目標映射表位圖的已排序的P個行來產生對應所述已排序P個行的多個映射表載入指令,並且依序將所產生的所述多個映射表載入指令輸入至所述映射表載入指令佇列中,其中所述已排序的P個行中的一第一類型行的為1的一或多個位元值分佈於所述M個子矩陣中,並且對應所述第一類型行的為1的所述一或多個位元值的一或多個第一類型目標系統實體位址被記錄至所述映射表載入指令佇列中的一個所述多平面映射表載入指令,其中所述已排序的P個行中的一第二類型行的為1的一或多個位元值非分佈於所述M個子矩陣中,並且對應所述第二類型行的為1的所述一或多個位元值的一或多個第二類型目標系統實體位址被記錄至所述映射表載入指令佇列中的一個所述單平面映射表載入指令。
- 如申請專利範圍第7項所述的儲存控制器,其中在根據所述多個映射表位圖產生對應所述多個系統實體區塊的多個映射表載入指令佇列的運作中,針對所述多個映射表位圖中的對應至目標系統實體區塊的目標映射表位圖,所述映射表管理電路單元辨識依PxQ矩陣形式所排列的 所述目標映射表位圖的多個目標位元值,其中P為所述目標系統實體區塊的多個目標系統實體頁面的總數量,並且所述多個目標系統實體頁面各自最多儲存Q個SL2P表至所述多個目標系統實體頁面各自的Q個系統實體位址,其中Q為正整數,其中所述映射表管理電路單元根據所述目標映射表位圖的P個行各自的所有的目標位元值的總和,由大至小,來重新排序所述目標映射表位圖的P個行,以獲得已調整目標映射表位圖,其中所述映射表管理電路單元根據所述已調整目標映射表位圖的已排序的P個行來產生對應所述已排序P個行的多個映射表載入指令,並且依序將所產生的所述多個映射表載入指令輸入至所述映射表載入指令佇列中,其中所述已排序的P個行中的一第一類型行的為1的一或多個位元值分佈於M個平面中,並且對應所述第一類型行的為1的所述一或多個位元值的一或多個第一類型目標系統實體位址被記錄至所述映射表載入指令佇列中的一個所述多平面映射表載入指令,其中所述已排序的P個行中的一第二類型行的為1的一或多個位元值非分佈於所述M個平面中,並且對應所述第二類型行的為1的所述一或多個位元值的一或多個第二類型目標系統實體位址被記錄至所述映射表載入指令佇列中的一個所述單平面映射表載入指令。
- 一種記憶體管理方法,適用於用以控制配置有一可複寫式非揮發性記憶體模組的一儲存裝置的儲存控制器,其中所述可複寫式非揮發性記憶體模組具有多個實體區塊,並且所述多個實體區塊各自具有多個實體頁面,所述方法包括:維護多個區段邏輯轉實體位址映射(Segment Logical To Physical addresses mapping,SL2P)表於所述儲存控制器的緩衝記憶體中,其中所述多個SL2P表各自用以記錄多個邏輯位址以及多個實體位址之間的映射關係,其中所述多個實體位址對應至一部份的所述多個實體頁面,並且所述多個邏輯位址對應至一部份的被配置給一主機系統的多個邏輯頁面;維護一區段映射表清單(Segment Mapping Table List,SMT清單)於所述緩衝記憶體中,其中所述SMT清單包括多個條目,其中所述多個條目分別對應所述多個SL2P表,並且所述多個條目各自包括系統區塊識別碼以及對應所述系統區塊識別碼的系統實體區塊中的系統實體位址;反應於所述多個SL2P表中的第一SL2P表被儲存至所述可複寫式非揮發性記憶體模組中的第一系統實體位址,記錄所述第一系統實體位址至所述SMT清單的所述多個條目中對應所述第一SL2P表的第一條目;以及儲存所述SMT清單至所述可複寫式非揮發性記憶體模組中。
- 如申請專利範圍第11項所述的記憶體管理方法,更包括: 根據所述SMT清單產生一映射表載入指令佇列,其中所述映射表載入指令佇列具有多個映射表載入指令,其中所述多個映射表載入指令各自包括單平面映射表載入指令與多平面映射表載入指令,其中當所述儲存裝置開啟時,所述映射表管理電路單元執行所述映射表載入指令佇列,以從所述可複寫式非揮發性記憶體模組載入所述多個SL2P表至所述緩衝記憶體中。
- 如申請專利範圍第12項所述的記憶體管理方法,其中所述單平面映射表載入指令用以指示經由單平面讀取的方式,從對應的系統實體位址讀取所儲存的一個SL2P表,其中所述多平面映射表載入指令用以指示經由多平面讀取的方式,一同從對應的分別屬於M個平面的多個系統實體位址讀取所儲存的多個SL2P表,其中M為大於1的正整數。
- 如申請專利範圍第12項所述的記憶體管理方法,其中所述根據所述SMT清單產生所述映射表載入指令佇列的步驟包括:辨識所述SMT清單的所述多個條目的所述多個系統實體位址各自所屬的平面為M個平面中的其中之一;從所述多個系統實體位址中選擇多組的M個多平面系統實體位址,其中所選擇的每一組的所述M個多平面系統實體位址分別屬於不同的所述M個平面,並且將所選擇的所述多組的所述M個多平面系統實體位址各自記錄至一個所述多平面映射表載入指令,其中M為大於1的正整數;以及 將所述多個系統實體位址中尚未被選擇的多個剩餘的系統實體位址各自記錄至一個所述單平面映射表載入指令。
- 如申請專利範圍第12項所述的記憶體管理方法,其中所述根據所述SMT清單產生所述映射表載入指令佇列的步驟包括:辨識所述SMT清單的所述多個條目的所述多個系統實體位址各自所屬的平面為M個平面中的其中之一;根據所述多個條目的排列順序,判斷鄰接在一第一目標條目後是否有一或多個第二目標條目,其中所述第一目標條目所對應的第一系統實體位址與所述一或多個第二目標條目所對應的一或多個第二系統實體位址分別屬於一個系統實體區塊的M個平面的M個實體頁面;反應於判定鄰接在所述第一目標條目後有所述一或多個第二目標條目,記錄所述第一系統實體位址與所述一或多個第二系統實體位址至一個所述多平面映射表載入指令,其中M為大於1的正整數;以及反應於判定鄰接在所述第一目標條目後沒有所述一或多個第二目標條目,記錄所述第一系統實體位址至一個所述單平面映射表載入指令。
- 如申請專利範圍第11項所述的記憶體管理方法,更包括:根據所述SMT清單產生一多個映射表位圖,其中所述多個映 射表位圖分別對應至多個系統實體區塊,其中對應一個系統實體區塊的一個映射表位圖記錄分別對應至所述一個系統實體區塊的多個系統實體位址的多個位元值,其中所述多個位元值各自的數值包括0或1,其中為0的所述位元值用以表示所對應的系統實體位址儲存了無效的SL2P表或無效資料,並且為1的所述位元值用以表示所對應的系統實體位址儲存了有效的SL2P表。
- 如申請專利範圍第16項所述的記憶體管理方法,更包括:根據所述多個映射表位圖產生對應所述多個系統實體區塊的映射表載入指令佇列,其中所述映射表載入指令佇列各自具有多個映射表載入指令,其中所述多個映射表載入指令各自包括單平面映射表載入指令與多平面映射表載入指令,其中當所述儲存裝置開啟時,執行所述映射表載入指令佇列,以從所述可複寫式非揮發性記憶體模組載入所述多個SL2P表至所述緩衝記憶體中。
- 如申請專利範圍第17項所述的記憶體管理方法,其中所述單平面映射表載入指令用以指示經由單平面讀取的方式,從對應的系統實體位址讀取所儲存的一個SL2P表,其中所述多平面映射表載入指令用以指示經由多平面讀取的方式,一同從對應的分別屬於M個平面的多個系統實體位址讀取所儲存的多個SL2P表,其中M為大於1的正整數。
- 如申請專利範圍第17項所述的記憶體管理方法,其中所述根據所述多個映射表位圖產生對應所述多個系統實體區塊的所述映射表載入指令佇列的步驟包括:針對所述多個映射表位圖中的對應至目標系統實體區塊的目標映射表位圖,辨識依PxQ矩陣形式所排列的所述目標映射表位圖的多個目標位元值,其中P為所述目標系統實體區塊的多個目標系統實體頁面的總數量,並且所述多個目標系統實體頁面各自最多儲存Q個SL2P表至所述多個目標系統實體頁面各自的Q個系統實體位址,其中Q為正整數;辨識PxQ矩陣中的M個子矩陣,其中所述M個子矩陣各自包括PxN個所述目標位元值,其中M*N等於Q;根據每一個子矩陣的P個行各自的所有的目標位元值的總和,由大至小,來重新排序每一個子矩陣的所述P個行,以獲得已調整目標映射表位圖;以及根據所述已調整目標映射表位圖的已排序的P個行來產生對應所述已排序P個行的多個映射表載入指令,並且依序將所產生的所述多個映射表載入指令輸入至所述映射表載入指令佇列,其中所述已排序的P個行中的一第一類型行的為1的一或多個位元值分佈於所述M個子矩陣中,並且對應所述第一類型行的為1的所述一或多個位元值的一或多個第一類型目標系統 實體位址被記錄至所述映射表載入指令佇列中的一個所述多平面映射表載入指令,其中所述已排序的P個行中的一第二類型行的為1的一或多個位元值非分佈於所述M個子矩陣中,並且對應所述第二類型行的為1的所述一或多個位元值的一或多個第二類型目標系統實體位址被記錄至所述映射表載入指令佇列中的一個所述單平面映射表載入指令。
- 如申請專利範圍第17項所述的記憶體管理方法,其中所述根據所述多個映射表位圖產生對應所述多個系統實體區塊的所述映射表載入指令佇列的步驟包括:針對所述多個映射表位圖中的對應至目標系統實體區塊的目標映射表位圖,辨識依PxQ矩陣形式所排列的所述目標映射表位圖的多個目標位元值,其中P為所述目標系統實體區塊的多個目標系統實體頁面的總數量,並且所述多個目標系統實體頁面各自最多儲存Q個SL2P表至所述多個目標系統實體頁面各自的Q個系統實體位址,其中Q為正整數;根據所述目標映射表位圖的P個行各自的所有的目標位元值的總和,由大至小,來重新排序所述目標映射表位圖的P個行,以獲得已調整目標映射表位圖;以及根據所述已調整目標映射表位圖的已排序的P個行來產生對應所述已排序P個行的多個映射表載入指令,並且依序將 所產生的所述多個映射表載入指令輸入至所述映射表載入指令佇列,其中所述已排序的P個行中的一第一類型行的為1的一或多個位元值分佈於M個平面中,並且對應所述第一類型行的為1的所述一或多個位元值的一或多個第一類型目標系統實體位址被記錄至所述映射表載入指令佇列中的一個所述多平面映射表載入指令,其中所述已排序的P個行中的一第二類型行的為1的一或多個位元值非分佈於所述M個平面中,並且對應所述第二類型行的為1的所述一或多個位元值的一或多個第二類型目標系統實體位址被記錄至所述映射表載入指令佇列中的一個所述單平面映射表載入指令。
- 一種儲存裝置,所述儲存裝置包括:一可複寫式非揮發性記憶體模組,其中所述可複寫式非揮發性記憶體模組具有多個實體區塊,並且所述多個實體區塊各自具有多個實體頁面;以及一儲存控制器,耦接至所述可複寫式非揮發性記憶體模組,其中所述儲存控制器用以維護多個區段邏輯轉實體位址映射(Segment Logical To Physical addresses mapping,SL2P)表於一緩衝記憶體中,其中所述多個SL2P表各自用以記錄多個邏輯位址以及多個實體位址之間的映射關係,其中所述多個實體位址對應至一部份的所述多個實體頁面,並且所述多個邏輯位址對應至一 部份的被配置給一主機系統的多個邏輯頁面,其中所述儲存控制器更用以維護一區段映射表清單(Segment Mapping Table List,SMT清單)於所述緩衝記憶體中,其中所述SMT清單包括多個條目,其中所述多個條目分別對應所述多個SL2P表,並且所述多個條目各自包括系統區塊識別碼以及對應所述系統區塊識別碼的系統實體區塊中的系統實體位址,其中反應於所述多個SL2P表中的第一SL2P表被儲存至所述可複寫式非揮發性記憶體模組中的第一系統實體位址,所述儲存控制器更用以記錄所述第一系統實體位址至所述SMT清單的所述多個條目中對應所述第一SL2P表的第一條目,其中所述儲存控制器更用以儲存所述SMT清單至所述可複寫式非揮發性記憶體模組中。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| TW108147734A TWI717953B (zh) | 2019-12-26 | 2019-12-26 | 儲存控制器、記憶體管理方法與儲存裝置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| TW108147734A TWI717953B (zh) | 2019-12-26 | 2019-12-26 | 儲存控制器、記憶體管理方法與儲存裝置 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| TWI717953B true TWI717953B (zh) | 2021-02-01 |
| TW202125263A TW202125263A (zh) | 2021-07-01 |
Family
ID=75745577
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| TW108147734A TWI717953B (zh) | 2019-12-26 | 2019-12-26 | 儲存控制器、記憶體管理方法與儲存裝置 |
Country Status (1)
| Country | Link |
|---|---|
| TW (1) | TWI717953B (zh) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| TWI817315B (zh) * | 2021-12-29 | 2023-10-01 | 大陸商合肥兆芯電子有限公司 | 映射表管理方法、記憶體控制電路單元與記憶體儲存裝置 |
| TWI846395B (zh) * | 2023-01-17 | 2024-06-21 | 大陸商合肥沛睿微電子股份有限公司 | 用於多個記憶體的資料存取方法及資料存取裝置 |
Families Citing this family (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| TWI859622B (zh) * | 2022-10-31 | 2024-10-21 | 群聯電子股份有限公司 | 資料讀取方法、記憶體儲存裝置及記憶體控制電路單元 |
| US12399822B2 (en) * | 2023-08-22 | 2025-08-26 | Silicon Motion, Inc. | Method and apparatus for performing data access management of memory device in predetermined communications architecture with aid of multi-table checking |
| TWI883606B (zh) * | 2023-10-24 | 2025-05-11 | 群聯電子股份有限公司 | 裝置控制方法、記憶體儲存裝置及記憶體控制電路單元 |
| TWI898586B (zh) * | 2024-05-10 | 2025-09-21 | 宜鼎國際股份有限公司 | 固態硬碟裝置之資料存取方法及固態硬碟裝置 |
Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| TW200951711A (en) * | 2008-06-02 | 2009-12-16 | A Data Technology Co Ltd | Method for memory space management |
| TW201044170A (en) * | 2009-06-06 | 2010-12-16 | A Data Technology Co Ltd | An electronic memory device and operation method thereof |
| WO2012094481A2 (en) * | 2011-01-06 | 2012-07-12 | Micron Technology, Inc. | Memory address translation |
| US20170102896A1 (en) * | 2015-10-12 | 2017-04-13 | Sandisk Technologies Inc. | Systems and methods of storing data |
-
2019
- 2019-12-26 TW TW108147734A patent/TWI717953B/zh active
Patent Citations (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| TW200951711A (en) * | 2008-06-02 | 2009-12-16 | A Data Technology Co Ltd | Method for memory space management |
| TW201044170A (en) * | 2009-06-06 | 2010-12-16 | A Data Technology Co Ltd | An electronic memory device and operation method thereof |
| WO2012094481A2 (en) * | 2011-01-06 | 2012-07-12 | Micron Technology, Inc. | Memory address translation |
| US20130227247A1 (en) * | 2011-01-06 | 2013-08-29 | Micron Technology, Inc. | Memory address translation |
| US20170102896A1 (en) * | 2015-10-12 | 2017-04-13 | Sandisk Technologies Inc. | Systems and methods of storing data |
| WO2017065918A1 (en) * | 2015-10-12 | 2017-04-20 | Sandisk Technologies Llc | Systems and methods of storing data |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| TWI817315B (zh) * | 2021-12-29 | 2023-10-01 | 大陸商合肥兆芯電子有限公司 | 映射表管理方法、記憶體控制電路單元與記憶體儲存裝置 |
| TWI846395B (zh) * | 2023-01-17 | 2024-06-21 | 大陸商合肥沛睿微電子股份有限公司 | 用於多個記憶體的資料存取方法及資料存取裝置 |
| US12131043B2 (en) | 2023-01-17 | 2024-10-29 | Raymx Microelectronics Corp. | Method and memory controller for accessing multiple memories |
Also Published As
| Publication number | Publication date |
|---|---|
| TW202125263A (zh) | 2021-07-01 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| TWI717953B (zh) | 儲存控制器、記憶體管理方法與儲存裝置 | |
| US9940189B2 (en) | Method and system for data rebuilding and memory control circuit unit thereof | |
| US9952806B2 (en) | Mapping table loading method and memory storage apparatus | |
| US9983799B2 (en) | Trim command processing method, memory control circuit unit and memory storage apparatus | |
| TWI661299B (zh) | 記憶體管理方法以及儲存控制器 | |
| US10635358B2 (en) | Memory management method and storage controller | |
| US9880742B2 (en) | Valid data merging method, memory controller and memory storage apparatus | |
| US10324651B2 (en) | Data transmission method, and storage controller and list management circuit using the same | |
| US20180095698A1 (en) | Memory management method and storage controller using the same | |
| US8589619B2 (en) | Data writing method, memory controller, and memory storage apparatus | |
| US20180024738A1 (en) | Data reading method, data writing method and storage controller using the same | |
| US10303367B2 (en) | Mapping table updating method without updating the first mapping information, memory control circuit unit and memory storage device | |
| CN113900582B (zh) | 数据处理方法及对应的数据储存装置 | |
| US10001928B2 (en) | Memory management method, memory control circuit unit and memory storage device | |
| US10564899B2 (en) | Data writing method for rewritable non-volatile memory modules based on use information, memory storage device and memory control circuit unit | |
| US11467758B2 (en) | Data writing method using different programming modes based on the number of available physical erasing units, memory control circuit unit and memory storage device | |
| US20150161042A1 (en) | Memory management method, memory controlling circuit unit, and memory storage device | |
| CN110471612B (zh) | 存储器管理方法以及存储控制器 | |
| US10509583B1 (en) | Memory management method and storage controller | |
| US10635583B2 (en) | Memory management method and storage controller | |
| CN111258505A (zh) | 快闪存储器的数据合并方法、控制电路单元与存储装置 | |
| US20190243774A1 (en) | Memory manage method and storage controller using the same | |
| CN110795025B (zh) | 存储器管理方法以及存储控制器 | |
| CN118363883B (zh) | 存储器管理方法及存储器控制器 | |
| US10067677B2 (en) | Memory management method for configuring super physical units of rewritable non-volatile memory modules, memory control circuit unit and memory storage device |