TW201543215A - 快閃記憶體控制晶片以及資料儲存裝置以及快閃記憶體控制方法 - Google Patents
快閃記憶體控制晶片以及資料儲存裝置以及快閃記憶體控制方法 Download PDFInfo
- Publication number
- TW201543215A TW201543215A TW103116671A TW103116671A TW201543215A TW 201543215 A TW201543215 A TW 201543215A TW 103116671 A TW103116671 A TW 103116671A TW 103116671 A TW103116671 A TW 103116671A TW 201543215 A TW201543215 A TW 201543215A
- Authority
- TW
- Taiwan
- Prior art keywords
- flash memory
- root table
- indicator
- volatile memory
- root
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1068—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in sector programmable memories, e.g. flash disk
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1072—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in multilevel memories
-
- 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
- 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
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/38—Response verification devices
- G11C29/42—Response verification devices using error correcting codes [ECC] or parity check
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/52—Protection of memory contents; Detection of errors in memory contents
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Human Computer Interaction (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
所揭露之快閃記憶體控制技術係:使一主機與一快閃記憶體之間的邏輯-物理位址映射關係紀錄於該快閃記憶體上;使該快閃記憶體記錄一根表格,載有一映射關係指標指向上述邏輯-物理位址映射關係;且,提供一第一非揮發性記憶空間紀錄一根表格指標指向該根表格。關於主機下達的一復電命令,所揭露之技術係基於上述根表格指標探訪該快閃記憶體,以收集上述邏輯-物理位址映射關係。
Description
本發明係有關於資料儲存裝置,特別有關於快閃記憶體(FLASH memory)控制技術。
現今資料儲存裝置常以快閃記憶體(FLASH memory)為儲存媒體,常見型式包括非及閘型快閃記憶體(即NAND FLASH)。
快閃記憶體常用作記憶卡(memory card)、通用序列匯流排閃存裝置(USB flash device)、固態硬碟(SSD)…等產品。另外有一種應用是採多晶片封裝、將快閃記憶體與其控制晶片包裝在一起一稱為嵌入式快閃記憶體模組(eMMC)。
快閃記憶體的實體空間通常包括複數個區塊(blocks)。各區塊包括複數頁(pages)。一區塊需要完整抹除(erase)後方能被重新配置。快閃記憶體之資料更新並非對同樣儲存空間作複寫,而是將更新資料儲存在閒置空間,舊儲存內容則可視為無效。快閃記憶體如此操作特性使得其儲存空間之管理明顯複雜、且不同於其他類型的儲存記憶元件。為了要管理快閃記憶體,通常會在儲存空間中記錄主機與快閃記憶體之
間的邏輯-物理位址映射關係。伴隨著主機存取快閃記憶體時,此邏輯-物理位址映射關係通常需要隨之更新。然而當在更新過程被掉電事件中斷,且隨後的復電發生時,快閃記憶體需大量時間掃瞄其儲存空間的全部區塊,以取得正確的邏輯-物理位址映射關係。
根據本發明一種實施方式所實現的一快閃記憶體控制晶片係根據一主機所下達的指令操作一快閃記憶體、且包括一第一非揮發性記憶空間以及一微處理器。該微處理器使該主機與該快閃記憶體之間的邏輯-物理位址映射關係紀錄於該快閃記憶體上,並使該快閃記憶體記錄一根表格。該根表格載有一映射關係指標,指示上述邏輯-物理位址映射關係載於該快閃記憶體何處。此外,該微處理器更令該第一非揮發性記憶空間紀錄一根表格指標指向該快閃記憶體所載的該根表格,以於處理主機下達的一復電命令時基於該根表格指標自該快閃記憶體收集上述邏輯-物理位址映射關係。如此一來,相較於傳統技術,本案技術無須耗費時間逐空間掃描該快閃記憶體,即可迅速收集到該主機與該快閃記憶體之間的邏輯-物理位址映射關係。
另有一實施方式是將上述快閃記憶體控制晶片以及快閃記憶體結合製作成一資料儲存裝置。
另一種實施方式則是揭露一種快閃記憶體控制方法,包括以下步驟:提供一第一非揮發性記憶空間;使一主機與一快閃記憶體之間的邏輯-物理位址映射關係紀錄於該快閃
記憶體上;使該快閃記憶體記錄一根表格,載有一映射關係指標指向上述邏輯-物理位址映射關係;且以該第一非揮發性記憶空間紀錄一根表格指標指向該根表格,以隨主機下達的一復電命令基於該根表格指標自該快閃記憶體收集上述邏輯-物理位址映射關係。
下文特舉實施例,並配合所附圖式,詳細說明本發明內容。
100‧‧‧資料儲存裝置
102‧‧‧快閃記憶體控制晶片
104‧‧‧快閃記憶體
106‧‧‧主機
108、110‧‧‧信號傳輸介面
BLK1、BLK2‧‧‧區塊
CIS‧‧‧卡資訊結構指標
CIS_Data‧‧‧卡資訊結構資料
ECC1、ECC2‧‧‧校錯碼
FIFO‧‧‧緩衝單元
FW‧‧‧韌體程式碼指標
FW_Codes‧‧‧韌體程式碼
FW_RAM‧‧‧隨機存取記憶空間,用以儲存韌體程式碼
H2F‧‧‧映射關係指標
H2F_Table1、H2F_Table2‧‧‧邏輯-物理位址映射關係
MCU‧‧‧微處理器
NVM1、NVM2‧‧‧第一、第二非揮發性記憶空間
NVMR1、NVMR2‧‧‧分別指向根表格Root_Table1、Root_Table2的根表格指標
Page1…Page3‧‧‧頁
ROM‧‧‧唯讀記憶體
Root_Table1、Root_Table2‧‧‧根表格
S202…S206、S302、S304、S312…S330‧‧‧步驟
Table_RAM‧‧‧隨機存取記憶空間,用以儲存邏輯-物理位址映射表
第1圖根據本發明一種實施方式圖解一資料儲存裝置100,更圖解其中所使用的一快閃記憶體控制晶片102;第2圖為流程圖,根據本發明一種實施方式圖解一快閃記憶體的操作程序;第3A圖為流程圖,係基於第1圖所示架構詳述第2圖步驟S202內容;第3B圖為流程圖,係基於第1圖所示架構詳述第2圖步驟S206內容;第4圖示意第一與第二非揮發性記憶空間NVM1與NVM2的更新先後係如何分辨。
以下敘述列舉本發明的多種實施例。以下敘述介紹本發明的基本概念,且並非意圖限制本發明內容。實際發明範圍應依照申請專利範圍界定之。
第1圖根據本發明一種實施方式圖解一資料儲存
裝置100。資料儲存裝置100包括一快閃記憶體控制晶片102以及一快閃記憶體(FLASH memory)104。快閃記憶體控制晶片102係根據一主機106所下達的指令操作該快閃記憶體104。
參考第1圖所示之快閃記憶體控制晶片102架構,快閃記憶體控制晶片102可透過信號傳輸介面108與主機106溝通、並透過信號傳輸介面110與快閃記憶體104溝通。信號傳輸介面108與110之間設置有緩衝單元FIFO。此外,快閃記憶體控制晶片102尚設置了其他記憶空間作各種功用。緩衝單元FIFO以及上述的記憶空間皆由快閃記憶體控制晶片102之微處理器MCU操作。上述的記憶空間可為揮發性記憶空間以及非揮發性記憶空間。在本實施例中,揮發性記憶空間可為隨機存取空間Table_RAM以及隨機存取空間FW_RAM,而非揮發性記憶空間可為唯讀記憶體ROM、第一非揮發性記憶空間NVM1以及第二非揮發性記憶空間NVM2。隨機存取空間Table_RAM用來即時記錄主機106與快閃記憶體104之間的邏輯-物理位址映射關係。隨機存取空間FW_RAM用來暫存載自該快閃記憶體104的韌體程式。唯讀記憶體ROM則儲存唯讀程式碼(ROM codes)交由該微處理器MCU執行。第一非揮發性記憶空間NVM1以及一第二非揮發性記憶空間NVM2(可以MRAM、RRAM、或任何非揮發性記憶體實現),所儲存資訊便於該微處理器MCU收集該主機106與該快閃記憶體104之間的邏輯-物理位址映射關係。
在微處理器MCU運算下,主機106與快閃記憶體104之間的邏輯-物理位址映射關係會紀錄於快閃記憶體104上。上述邏輯-物理位址映射關係可以階層(hierarchy)方式、或
任何其他方式記載在該快閃記憶體104。此外,微處理器MCU會使該快閃記憶體104記錄一根表格(root table),此根表格載有一「映射關係指標」用以指向快閃記憶體104所記載的邏輯-物理位址映射關係。基於快閃記憶體104之資料更新特性(資料更新並非對同樣儲存空間作複寫,而是將更新資料儲存在閒置空間),邏輯-物理位址映射關係若有更新(如,由H2F_Table1變動為H2F_Table2),其於快閃記憶體104上的儲存位置會有變動。對應之,微處理器MCU係在快閃記憶體104不同位置紀錄根表格Root_Table1與Root_Table2。根表格Root_Table1所載之映射關係指標H2F係指示邏輯-物理位址映射關係H2F_Table1載於快閃記憶體104何處(例如為邏輯-物理位址映射關係H2F_Table1在快閃記憶體104的位址)。根表格Root_Table2所載之映射關係指標H2F係指示邏輯-物理位址映射關係H2F_Table2載於快閃記憶體104何處(例如為邏輯-物理位址映射關係H2F_Table2在快閃記憶體104的位址)。至於根表格Root_Table1與Root_Table2位置,微處理器MCU則是在該第一與該第二非揮發性記憶空間NVM1與NVM2分別儲存根表格指標NVMR1與NVMR2指示之。第一非揮發性記憶空間NVM1所紀錄的根表格指標NVMR1係指向該快閃記憶體104所載之根表格Root_Table1的位址。第二非揮發性記憶空間NVM2所紀錄的根表格指標NVMR2係指向該快閃記憶體104所載之根表格Root_Table2的位址。該第一與該第二非揮發性記憶空間NVM1與NVM2係隨「根表格」每次更新輪替紀錄「根表格指標」;所指示的根表格(參考Root_Table1與Root_Table2)係對應該快閃
記憶體104上、邏輯-物理位址映射關係的最末兩個版本(參考H2F_Table1與H2F_Table2,可互為備案),可用於回應掉電事件後的一復電命令。
例如,回應主機106下達的復電命令,微處理器MCU可以該第一或該第二非揮發性記憶空間NVM1或NVM2所載之「根表格指標」探訪該快閃記憶體104,尋得對應的「根表格」,繼而根據「根表格」所載之映射關係指標H2F尋得快閃記憶體104所載的一邏輯-物理位址映射關係。本案所揭露技術無須耗費時間逐空間掃描該快閃記憶體104即可快速獲得該主機106與該快閃記憶體104之間的邏輯-物理位址映射關係。
在一種實施方式中,微處理器MCU更使該第一與該第二非揮發性記憶空間NVM1與NVM2皆為所載之「根表格指標」載有校錯碼,分別為ECC1與ECC2。於處理一復電命令時,微處理器MCU係基於校錯碼ECC1與ECC2判斷該第一或該第二非揮發性記憶空間NVM1與NVM2之數據更新是否曾被掉電事件中斷。未通過校錯之空間代表其數據更新當下可能有掉電事件發生。藉由如此校錯程序,互為備案用的兩套非揮發性記憶空間NVM1與NVM2中未被掉電中斷者可優先考慮。也就是說,優先以未被掉電中斷者的根表格指標來收集快閃記憶體104中的邏輯-物理位址映射關係。
在某些實施方式中,微處理器MCU亦可使「根表格」內容係搭配校錯碼(如,亦可採ECC技術)紀錄於快閃記憶體104上,以於處理一復電命令時判斷「根表格」於該快閃記憶體104上的更新是否曾被掉電事件中斷。不可信賴的「根表
格」內容可藉此篩選出。
特別是,以上兩套根表格指標NVMR1與NVMR2是為了在最優先根表格指標(或其所指示之根表格)不可用時,尚有備案可取代之。
請注意,雖然上述實施例中,快閃記憶體控制晶片102以多個根表格指標取得正確的邏輯-物理位址映射關係。但本發明並不限於以多個根表格指標取得正確的邏輯-物理位址映射關係。在一實施例中,本發明僅記錄單一根表格指標,此技術亦屬於本案所揭露之內容。在單一個根表格指標的實施例中,快閃記憶體控制晶片102僅需提供一個非揮發性記憶空間(例如為第一NVM1)。當快閃記憶體控制晶片102處理主機106的復電命令時,可由上述的非揮發性記憶空間(例如為第一NVM1)的根表格指標(例如為根表格指標NVMR1)收集快閃記憶體收集上述邏輯-物理位址映射關係。
此外,快閃記憶體104所載之卡資訊結構(Card Information Structure,簡稱CIS)資料以及/或韌體程式碼也可由「根表格」所記載的指標標示。如圖所示,根表格Root_Table1與Root_Table2皆載有一卡資訊結構資料指標CIS,係指示卡資訊結構資料CIS_Data載於快閃記憶體104何處(例如為卡資訊結構資料CIS_Data的位址);且根表格Root_Table1與Root_Table2皆載有一韌體程式碼指標FW,係指示韌體程式碼FW_Codes載於該快閃記憶體104何處(例如為韌體程式碼FW_Codes的位址)。如此一來,復電操作時所需的卡資訊結構資料CIS_Data以及韌體程式碼FW_Codes也可基於快閃記憶體
控制晶片102所提供的非揮發性記憶空間(NVM1或NVM2)所載之根表格指標(NVMR1或NVMR2)快速自快閃記憶體104尋得。
除了以上所述之映射關係指標H2F、卡資訊結構資料指標CIS與韌體程式碼指標FW,所揭露之根表格更可記載或標示其他於復電操作中所需之資料內容或資料位置。
第2圖為流程圖,根據本發明一種實施方式圖解一快閃記憶體的操作程序。步驟S202對一快閃記憶體所載之「根表格」以及一快閃記憶體控制晶片之非揮發性記憶空間所載之「根表格指標」作動態更新,使之與該快閃記憶體內所儲存的邏輯-物理位址映射關係之更新同步。步驟S204若辨識出一掉電事件後有復電命令發生,流程進入步驟S206,根據快閃記憶體控制晶片之非揮發性記憶空間所載之「根表格指標」找到快閃記憶體所載之「根表格」,繼而尋得復電所需之資訊(包括邏輯-物理位址映射關係、甚至卡資訊結構資料與韌體程式碼…等)。
第3A圖係基於第1圖所示架構詳述第2圖步驟S202內容。步驟S302負責監控「根表格(root table)」是否有更新需求。倘若快閃記憶體104所載之邏輯-物理位址映射關係發生更新,則「根表格」需要更新,流程進行步驟S304。步驟S304以快閃記憶體104之閒置空間紀錄更新之「根表格」、並以該快閃記憶體控制晶片102之第一與第二非揮發性記憶空間NVM1以及NVM2中數據內容較舊者作「根表格指標」之更新。步驟S304後係回到步驟S302繼續監控「根表格(root table)」是否有更新需求。如此一來,該第一與該第二非揮發性記憶空間NVM1
與NVM2係隨「根表格」每次更新輪替紀錄「根表格指標」。
第3B圖係基於第1圖所示架構詳述第2圖步驟S206內容。步驟S312係基於校錯碼ECC1與ECC2對該第一以及該第二非揮發性記憶空間NVM1與NVM2所載之根表格指標NVMR1與NVMR2分別作校錯。若判定該第一以及該第二非揮發性記憶空間NVM1與NVM2僅其一所載數據通過校錯,流程進行步驟S314,採用通過校錯者所載之「根表格指標」。步驟S316係根據步驟S314所採用之「根表格指標」探訪該快閃記憶體104讀出對應之「根表格」,繼而自快閃記憶體104尋得復電所需之資訊(例如為邏輯-物理位址映射關係、韌體程式碼FW_Codes或卡資訊結構資料CIS-Data)。若判定該第一以及該第二非揮發性記憶空間NVM1與NVM2所載數據無一通過校錯,流程進行步驟S318,逐空間掃描該快閃記憶體104以收集復電所需之資訊。若判定該第一以及該第二非揮發性記憶空間NVM1與NVM2所載數據皆通過校錯,流程進行步驟S320,採用該第一以及該第二非揮發性記憶空間NVM1與NVM2中較末更新者所載之「根表格指標」。步驟S322係根據步驟S320所採用之「根表格指標」探訪快閃記憶體104尋得對應之「根表格」。倘若步驟S324判斷出目前尋得的「根表格」通過校錯,流程進入步驟S326,根據通過校錯的「根表格」自快閃記憶體104尋得復電所需之資訊。倘若步驟S324判斷出目前尋得的「根表格」不通過校錯,流程進入步驟S328,判斷第一與第二非揮發記憶空間NVM1以及NVM2中另一者所供應的「根表格指標」指向之「根表格」是否作過校錯程序。倘若尚有備案之「根表格」,則流
程進行步驟S330,切換採用該第一以及該第二非揮發性記憶空間NVM1與NVM2中另一者所載之「根表格指標」,再次執行步驟S322、S324。倘若步驟S328判定該第一以及該第二非揮發性記憶空間NVM1與NVM2中所載之根表格指標NVMR1與NVMR2皆已執行過校錯程序,則流程進行步驟S318,逐空間掃描該快閃記憶體104以收集復電所需之資訊。在此要說明的是,當進行到步驟S324時,即表示根表格指標NVMR1與NVMR2皆通過校錯。也就是說,微處理器MCU是正常寫入第一以及該第二非揮發性記憶空間NVM1與NVM2的數據而無發生掉電事件。但這並不表示微處理器MCU也是正常寫入根表格指標NVMR1或NVMR2所指向的根表格(例如根表格寫入時被掉電事件中斷)。因此本發明特別以步驟S324來確認根表格是否也正常寫入而未被中斷。當步驟S324的校錯不通過時,即表示微處理器MCU未正常寫入根表格,因此可向上一次正常寫入的根表格所指向的位址開始掃瞄,以取得正確的邏輯-物理位址映射關係(步驟S324)。然而當上一次的根表格也未通過校錯時,則必需花費較多的時間逐空間掃描該快閃記憶體104。
第4圖示意第一與第二非揮發性記憶空間NVM1與NVM2的更新先後係如何分辨。該第一以及該第二非揮發性記憶空間NVM1與NVM2所載之根表格指標NVMR1與NVMR2指向該快閃記憶體104同一區塊BLK1時(如,根表格指標NVMR1指向頁Page1、且根表格指標NVMR2指向頁Page2),該微處理器MCU判定其中「根表格指標」指示位址較高者(即NVMR2,所指向之Page2位址高於NVMR1所指向之Page1)為較末更新。
該第一以及該第二非揮發性記憶空間NVM1與NVM2所載之根表格指標NVMR1與NVMR2指向該快閃記憶體104不同區塊BLK1與BLK2時(如,根表格指標NVMR1指向頁Page2、且根表格指標NVMR2指向頁Page3),該微處理器MCU判定其中「根表格指標」指示位址較低者(即NVMR2,所指向之Page3位址低於NVMR1所指向之Page2)為較末更新。
在一種實施方式中,上述技術步驟皆可以程式化方式呈韌體實現;相關程式碼係載於唯讀記憶體ROM中,由微處理器MCU執行之。此外,其他採用同樣概念控制一快閃記憶體的技術都屬於本案所欲保護的範圍。本案更涉及快閃記憶體的控制方法,不限定以特定架構的控制晶片實現。
雖然本發明已以較佳實施例揭露如上,然其並非用以限定本發明,任何熟悉此項技藝者,在不脫離本發明之精神和範圍內,當可做些許更動與潤飾,因此本發明之保護範圍當視後附之申請專利範圍所界定者為準。
100‧‧‧資料儲存裝置
102‧‧‧快閃記憶體控制晶片
104‧‧‧快閃記憶體
106‧‧‧主機
108、110‧‧‧信號傳輸介面
CIS‧‧‧卡資訊結構指標
CIS_Data‧‧‧卡資訊結構資料
ECC1、ECC2‧‧‧校錯碼
FIFO‧‧‧緩衝單元
FW‧‧‧韌體程式碼指標
FW_Codes‧‧‧韌體程式碼
FW_RAM‧‧‧隨機存取記憶空間,用以儲存韌體程式碼
H2F‧‧‧映射關係指標
H2F_Table1、H2F_Table2‧‧‧邏輯-物理位址映射關係
MCU‧‧‧微處理器
NVM1、NVM2‧‧‧第一、第二非揮發性記憶空間
NVMR1、NVMR2‧‧‧分別指向根表格Root_Table1、Root_Table2的根表格指標
ROM‧‧‧唯讀記憶體
Root_Table1、Root_Table2‧‧‧根表格
Table_RAM‧‧‧隨機存取記憶空間,用以儲存邏輯-物理位址映射表
Claims (19)
- 一種快閃記憶體控制晶片,根據一主機所下達的指令操作一快閃記憶體,包括:一第一非揮發性記憶空間;以及一微處理器,使該主機與該快閃記憶體之間的邏輯-物理位址映射關係紀錄於該快閃記憶體上,並使該快閃記憶體記錄一根表格,該根表格載有一映射關係指標指示上述邏輯-物理位址映射關係載於該快閃記憶體何處,且該微處理器更令該第一非揮發性記憶空間紀錄一根表格指標指向該快閃記憶體所載的該根表格,其中,當處理該主機之一復電命令時,該微處理器基於該根表格指標自該快閃記憶體收集上述邏輯-物理位址映射關係。
- 如申請專利範圍第1項所述之快閃記憶體控制晶片,更提供一第二非揮發性記憶空間,用以隨該根表格每次更新時與該第一非揮發性記憶空間輪替紀錄該根表格指標。
- 如申請專利範圍第2項所述之快閃記憶體控制晶片,其中:該微處理器更使該第一與該第二非揮發性記憶空間皆為所載之根表格指標載有校錯碼,據以於處理該復電命令時判斷該第一或該第二非揮發性記憶空間之數據更新是否被一掉電事件中斷。
- 如申請專利範圍第2項所述之快閃記憶體控制晶片,其中:該微處理器更使該第一與該第二非揮發性記憶空間所載之上述根表格指標皆載有校錯碼; 該微處理器在處理該復電命令時,該微處理器根據該第一與該第二非揮發性記憶空間之上述根表格指標的校錯碼判定該第一以及該第二非揮發性記憶空間之根表格指標是否通過校錯,當判定該第一以及該第二非揮發性記憶空間僅其一所載之根表格指標通過校錯,係採用通過校錯之上述根表格指標探訪該快閃記憶體。
- 如申請專利範圍第2項所述之快閃記憶體控制晶片,其中:該微處理器更使該第一與該第二非揮發性記憶空間所載之上述根表格指標皆載有校錯碼;該微處理器在處理該復電命令時,該微處理器根據該第一與該第二非揮發性記憶空間之根表格指標的校錯碼判定上述第一以及該第二非揮發性記憶空間之根表格指標是否通過校錯,當判定該第一以及該第二非揮發性記憶空間所載的根表格指標皆通過校錯,係採用該第一以及該第二非揮發性記憶空間中較末更新者所載之上述根表格指標探訪該快閃記憶體。
- 如申請專利範圍第5項所述之快閃記憶體控制晶片,其中:該第一以及該第二非揮發性記憶空間所載之根表格指標指向該快閃記憶體同一區塊時,該微處理器判定其中根表格指標指示位址較高者為較末更新;且該第一以及該第二非揮發性記憶空間所載之根表格指標指向該快閃記憶體不同區塊時,該微處理器判定其中根表格指標指示位址較低者為較末更新。
- 如申請專利範圍第2項所述之快閃記憶體控制晶片,其中: 該微處理器係搭配校錯碼將該根表格紀錄於該快閃記憶體上,以於處理該復電命令時判斷該根表格於該快閃記憶體上的更新是否被一掉電事件中斷。
- 如申請專利範圍第7項所述之快閃記憶體控制晶片,其中:該微處理器於判定該第一與該第二非揮發性記憶空間其一所載之根表格指標所指向之數據不通過校錯時,切換以該第一與該第二非揮發性記憶空間中另一空間所載之根表格指標探訪該快閃記憶體。
- 如申請專利範圍第1項所述之快閃記憶體控制晶片,其中:該快閃記憶體上更儲存卡資訊結構資料,且該微處理器更令該根表格載有一卡資訊結構資料指標指示上述卡資訊結構資料係載於該快閃記憶體何處;以及該快閃記憶體更儲存一韌體程式碼,且該微處理器更令該根表格載有一韌體程式碼指標指示上述韌體程式碼係載於該快閃記憶體何處。
- 一種資料儲存裝置,包括如申請專利範圍第1項所述之快閃記憶體控制晶片以及快閃記憶體。
- 一種快閃記憶體控制方法,根據一主機所下達的指令操作一快閃記憶體,包括:提供一第一非揮發性記憶空間;使該主機與該快閃記憶體之間的邏輯-物理位址映射關係紀錄於該快閃記憶體上;使該快閃記憶體記錄一根表格,該根表格載有一映射關係指標指示上述邏輯-物理位址映射關係載於該快閃記憶體何 處;以及令該第一非揮發性記憶空間紀錄一根表格指標指向該快閃記憶體所載的該根表格,以隨該主機之一復電命令基於該根表格指標自該快閃記憶體收集上述邏輯-物理位址映射關係。
- 如申請專利範圍第11項所述之快閃記憶體控制方法,更包括:提供一第二非揮發性記憶空間,用以隨該根表格每次更新時與該第一非揮發性記憶空間輪替紀錄該根表格指標。
- 如申請專利範圍第12項所述之快閃記憶體控制方法,更包括:使該第一與該第二非揮發性記憶空間皆為所載之根表格指標載有校錯碼,據以隨該復電命令判斷該第一或該第二非揮發性記憶空間之數據更新是否被一掉電事件中斷。
- 如申請專利範圍第12項所述之快閃記憶體控制方法,更包括:使該第一與該第二非揮發性記憶空間皆為所載之根表格指標載有校錯碼;以及在隨該復電命令判定該第一以及該第二非揮發性記憶空間僅其一所載之根表格指標通過校錯時,採用通過校錯者所載之上述根表格指標探訪該快閃記憶體。
- 如申請專利範圍第12項所述之快閃記憶體控制方法,更包括:使該第一與該第二非揮發性記憶空間皆為所載之根表格指 標載有校錯碼;以及在隨該復電命令判定該第一以及該第二非揮發性記憶空間所載之根表格指標皆通過校錯時,採用該第一以及該第二非揮發性記憶空間中較末更新者所載之上述根表格指標探訪該快閃記憶體。
- 如申請專利範圍第15項所述之快閃記憶體控制方法,更包括:在該第一以及該第二非揮發性記憶空間所載之根表格指標指向該快閃記憶體同一區塊時,判定其中根表格指標指示位址較高者為較末更新;以及在該第一以及該第二非揮發性記憶空間所載之根表格指標指向該快閃記憶體不同區塊時,判定其中根表格指標指示位址較低者為較末更新。
- 如申請專利範圍第12項所述之快閃記憶體控制方法,更包括:搭配校錯碼將該根表格紀錄於該快閃記憶體上,以隨該復電命令判斷該根表格於該快閃記憶體上的更新是否被一掉電事件中斷。
- 如申請專利範圍第17項所述之快閃記憶體控制方法,更包括:於判定該第一與該第二非揮發性記憶空間其一所載之根表格指標所指向之數據不通過校錯時,切換以該第一與該第二非揮發性記憶空間中另一空間所載之根表格指標探訪該快閃記憶體。
- 如申請專利範圍第11項所述之快閃記憶體控制方法,更包括:令該根表格載有一卡資訊結構資料指標指示一卡資訊結構資料係載於該快閃記憶體何處;以及令該根表格載有一韌體程式碼指標指示一韌體程式碼係載於該快閃記憶體何處。
Priority Applications (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| TW103116671A TWI502345B (zh) | 2014-05-12 | 2014-05-12 | 快閃記憶體控制晶片以及資料儲存裝置以及快閃記憶體控制方法 |
| CN201410224752.6A CN104021089B (zh) | 2014-05-12 | 2014-05-26 | 快闪存储器控制芯片与存储装置以及快闪存储器控制方法 |
| US14/469,703 US9465538B2 (en) | 2014-05-12 | 2014-08-27 | Flash memory control chip and data storage device and flash memory control method |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| TW103116671A TWI502345B (zh) | 2014-05-12 | 2014-05-12 | 快閃記憶體控制晶片以及資料儲存裝置以及快閃記憶體控制方法 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| TWI502345B TWI502345B (zh) | 2015-10-01 |
| TW201543215A true TW201543215A (zh) | 2015-11-16 |
Family
ID=51437854
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| TW103116671A TWI502345B (zh) | 2014-05-12 | 2014-05-12 | 快閃記憶體控制晶片以及資料儲存裝置以及快閃記憶體控制方法 |
Country Status (3)
| Country | Link |
|---|---|
| US (1) | US9465538B2 (zh) |
| CN (1) | CN104021089B (zh) |
| TW (1) | TWI502345B (zh) |
Families Citing this family (10)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| TWI522804B (zh) * | 2014-04-23 | 2016-02-21 | 威盛電子股份有限公司 | 快閃記憶體控制器以及資料儲存裝置以及快閃記憶體控制方法 |
| US10712949B2 (en) * | 2017-11-09 | 2020-07-14 | Western Digital Technologies, Inc. | Adaptive device quality of service by host memory buffer range |
| JP7023103B2 (ja) * | 2017-12-22 | 2022-02-21 | キオクシア株式会社 | メモリシステム及び制御方法 |
| US11086852B2 (en) | 2018-09-28 | 2021-08-10 | Western Digital Technologies, Inc. | Hardware-assisted multi-table database with shared memory footprint |
| TWI688863B (zh) * | 2018-11-06 | 2020-03-21 | 慧榮科技股份有限公司 | 資料儲存裝置與資料處理方法 |
| US10996893B2 (en) | 2019-06-10 | 2021-05-04 | Microsoft Technology Licensing, Llc | Non-volatile storage partition identifier |
| US11809331B1 (en) * | 2022-05-25 | 2023-11-07 | Western Digital Technologies, Inc. | Storage system and method for avoiding header to improve parity |
| JP2024088470A (ja) | 2022-12-20 | 2024-07-02 | キオクシア株式会社 | メモリシステムおよび制御方法 |
| TWI845299B (zh) | 2023-05-10 | 2024-06-11 | 慧榮科技股份有限公司 | 快閃記憶體控制器、儲存裝置及快閃記憶體控制器的位址映射方法 |
| US20260037373A1 (en) * | 2024-07-30 | 2026-02-05 | SK Hynix Inc. | Data storage system with adaptive flash media scan |
Family Cites Families (16)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| GB0123415D0 (en) * | 2001-09-28 | 2001-11-21 | Memquest Ltd | Method of writing data to non-volatile memory |
| KR100457812B1 (ko) * | 2002-11-14 | 2004-11-18 | 삼성전자주식회사 | 플래시 메모리, 그에 따른 플래시 메모리 액세스 장치 및방법 |
| KR100622349B1 (ko) * | 2004-08-04 | 2006-09-14 | 삼성전자주식회사 | 불량 블록 관리 기능을 가지는 플레시 메모리 장치 및플레시 메모리 장치의 불량 블록 관리 방법. |
| DE102005001038B3 (de) * | 2005-01-07 | 2006-05-04 | Hyperstone Ag | Verfahren zur Umsetzung von logischen in reale Blockadressen in Flashspeichern |
| US7509474B2 (en) * | 2005-06-08 | 2009-03-24 | Micron Technology, Inc. | Robust index storage for non-volatile memory |
| CN101346704B (zh) * | 2005-12-22 | 2011-10-05 | Nxp股份有限公司 | 具有可擦除块单元的存储器和定位具有指针信息地块的联结指针链 |
| TWI317525B (en) * | 2006-10-17 | 2009-11-21 | Efortune Technology Corp | The method of index for logical to physical blocks translation in flash storage device |
| TW200823923A (en) * | 2006-11-23 | 2008-06-01 | Genesys Logic Inc | Caching method for address translation layer of flash memory |
| TW200832440A (en) * | 2007-01-25 | 2008-08-01 | Genesys Logic Inc | Flash memory translation layer system |
| US7917479B2 (en) * | 2007-03-20 | 2011-03-29 | Micron Technology, Inc. | Non-volatile memory devices, systems including same and associated methods |
| US8959280B2 (en) * | 2008-06-18 | 2015-02-17 | Super Talent Technology, Corp. | Super-endurance solid-state drive with endurance translation layer (ETL) and diversion of temp files for reduced flash wear |
| CN101727398B (zh) * | 2008-10-31 | 2012-07-11 | 西安奇维测控科技有限公司 | 经信息序列化实现闪存控制器管理数据存储与还原的方法 |
| US8516219B2 (en) * | 2009-07-24 | 2013-08-20 | Apple Inc. | Index cache tree |
| WO2012014140A2 (en) * | 2010-07-27 | 2012-02-02 | International Business Machines Corporation | Logical to physical address mapping in storage systems comprising solid state memory devices |
| TWI551987B (zh) * | 2012-03-15 | 2016-10-01 | 點序科技股份有限公司 | 快閃記憶體模組的位址對應方法 |
| US8966205B1 (en) * | 2012-05-10 | 2015-02-24 | Western Digital Technologies, Inc. | System data management using garbage collection and hybrid self mapping |
-
2014
- 2014-05-12 TW TW103116671A patent/TWI502345B/zh active
- 2014-05-26 CN CN201410224752.6A patent/CN104021089B/zh active Active
- 2014-08-27 US US14/469,703 patent/US9465538B2/en active Active
Also Published As
| Publication number | Publication date |
|---|---|
| US9465538B2 (en) | 2016-10-11 |
| CN104021089B (zh) | 2018-03-23 |
| TWI502345B (zh) | 2015-10-01 |
| CN104021089A (zh) | 2014-09-03 |
| US20150324283A1 (en) | 2015-11-12 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| TWI502345B (zh) | 快閃記憶體控制晶片以及資料儲存裝置以及快閃記憶體控制方法 | |
| US10657047B2 (en) | Data storage device and method of performing partial garbage collection | |
| US8046645B2 (en) | Bad block identifying method for flash memory, storage system, and controller thereof | |
| US9104329B2 (en) | Mount-time reconciliation of data availability | |
| US8407449B1 (en) | Non-volatile semiconductor memory storing an inverse map for rebuilding a translation table | |
| US20090307413A1 (en) | Data writing method for flash memory and storage system and controller using the same | |
| US8392797B2 (en) | Error correcting controller, flash memory chip system, and error correcting method thereof | |
| US8516184B2 (en) | Data updating using mark count threshold in non-volatile memory | |
| US8838877B2 (en) | File system derived metadata for management of non-volatile memory | |
| KR20100094241A (ko) | 예비 블록을 포함하지 않는 불휘발성 메모리 장치 | |
| US8825946B2 (en) | Memory system and data writing method | |
| US8489852B2 (en) | Method and system for manipulating data | |
| US8966157B2 (en) | Data management method, memory controller and memory storage apparatus | |
| JP4245585B2 (ja) | メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法 | |
| TWI459198B (zh) | 記憶體儲存裝置、其記憶體控制器與有效資料識別方法 | |
| TWI718709B (zh) | 資料儲存裝置以及非揮發式記憶體控制方法 | |
| US8656084B2 (en) | User device including flash memory storing index and index accessing method thereof | |
| JP4242245B2 (ja) | フラッシュrom制御装置 | |
| CN111324549B (zh) | 一种存储器及其控制方法和装置 | |
| US9329994B2 (en) | Memory system | |
| JP2012068765A (ja) | メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法 | |
| TW202449616A (zh) | 記憶裝置、快閃記憶體控制器及其控制方法 | |
| JP2013033338A (ja) | メモリシステム | |
| JP2012037971A (ja) | メモリコントローラ及びメモリコントローラを備える不揮発性メモリシステム、並びに不揮発性メモリの制御方法 | |
| US9003261B2 (en) | Memory system |