TW201830253A - 儲存裝置及操作儲存裝置的方法 - Google Patents

儲存裝置及操作儲存裝置的方法 Download PDF

Info

Publication number
TW201830253A
TW201830253A TW106137130A TW106137130A TW201830253A TW 201830253 A TW201830253 A TW 201830253A TW 106137130 A TW106137130 A TW 106137130A TW 106137130 A TW106137130 A TW 106137130A TW 201830253 A TW201830253 A TW 201830253A
Authority
TW
Taiwan
Prior art keywords
data
metadata
error
volatile memory
directory
Prior art date
Application number
TW106137130A
Other languages
English (en)
Other versions
TWI741054B (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 三星電子股份有限公司
Publication of TW201830253A publication Critical patent/TW201830253A/zh
Application granted granted Critical
Publication of TWI741054B publication Critical patent/TWI741054B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0793Remedial or corrective actions
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0766Error or fault reporting or storing
    • G06F11/0772Means for error signaling, e.g. using interrupts, exception flags, dedicated error registers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding 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/1044Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices with specific ECC/EDC distribution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1435Saving, restoring, recovering or retrying at system level using file system or storage system metadata
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1448Management of the data involved in backup or backup restore
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1448Management of the data involved in backup or backup restore
    • G06F11/1451Management of the data involved in backup or backup restore by selection of backup contents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1469Backup restoration techniques
    • 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/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • G06F12/0615Address space extension
    • G06F12/0623Address space extension for memory modules
    • 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/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • G06F12/0646Configuration or reconfiguration
    • 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/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0815Cache consistency protocols
    • G06F12/0817Cache consistency protocols using directory methods
    • 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/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
    • G06F12/0873Mapping of cache memory to specific storage devices or parts thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/16Protection against loss of memory contents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • 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/068Hybrid storage device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/073Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a memory management context, e.g. virtual memory or cache management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0766Error or fault reporting or storing
    • G06F11/0769Readable error formats, e.g. cross-platform generic formats, human understandable formats
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Library & Information Science (AREA)
  • Human Computer Interaction (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

一種操作儲存裝置的方法包括:從主機接收第一邏輯位址;判斷儲存在所述儲存裝置的揮發性記憶體中且與所述第一邏輯位址相關聯的第一元資料是否已損壞;當確定所述第一元資料已損壞時,將所述第一元資料作為不可修正的錯誤進行處理;在將所述第一元資料作為所述不可修正的錯誤進行處理時,向所述主機提供錯誤消息,所述錯誤消息表示無法對與所述第一邏輯位址相關聯的資料執行操作;在提供所述錯誤消息之後,從所述主機接收第二邏輯位址;判斷儲存在所述揮發性記憶體中且與所述第二邏輯位址相關聯的第二元資料是否損壞;以及當確定所述第二元資料未損壞時,基於所述第二元資料來執行對所述非揮發性記憶體進行存取的操作。

Description

儲存裝置及操作儲存裝置的方法
本發明是有關於一種儲存裝置,且特別是有關於一種用於處理已損壞元資料(metadata)的儲存裝置及操作所述儲存裝置的方法。
非揮發性記憶體是一種即使在不再供應電力時也可檢索所儲存的資訊的記憶體。快閃記憶體是非揮發性記憶體的實例。包括快閃記憶體(例如,固態狀態驅動器(solid state drive,SSD)及記憶體卡)的儲存裝置已得到廣泛應用。儲存裝置用於儲存或移動大量資料。儲存裝置的儲存容量已大大增加。儲存裝置可使用元資料來儲存資料。然而,即使是少量的元資料被損壞時,儲存裝置也無法正常運行。
根據本發明概念的示例性實施例,提供一種操作包括非揮發性記憶體及揮發性記憶體的儲存裝置的方法。所述方法包括:從主機接收第一邏輯位址;判斷儲存在所述揮發性記憶體中且與所述第一邏輯位址相關聯的第一元資料是否已損壞;當確定所述第一元資料已損壞時,將所述第一元資料作為不可修正的錯誤進行處理;在將所述第一元資料作為所述不可修正的錯誤進行處理時,向所述主機提供錯誤消息,所述錯誤消息表示無法對與所述第一邏輯位址相關聯的資料執行操作;在提供所述錯誤消息之後,從所述主機接收第二邏輯位址;判斷儲存在所述揮發性記憶體中且與所述第二邏輯位址相關聯的第二元資料是否損壞;以及,當確定所述第二元資料未損壞時,基於所述第二元資料來執行對所述非揮發性記憶體進行存取的操作。
根據本發明概念的示例性實施例,提供一種操作包括非揮發性記憶體及揮發性記憶體的儲存裝置的方法。所述方法包括:當所述儲存裝置被供電時,將儲存在所述非揮發性記憶體中的目錄載入到所述揮發性記憶體,其中所述目錄包括多個目錄資料,所述多個目錄資料表示分別與多個元資料對應的物理位址;判斷在被載入到所述揮發性記憶體的所述目錄中的所述多個目錄資料是否已損壞;判斷被確定為已損壞的所述多個目錄資料中的第一目錄資料是否是可恢復的;當所述第一目錄資料已損壞且是不可恢復的時,將與第一目錄資料對應的第一元資料作為不可修正的錯誤進行處理;以及將與第二目錄資料對應的第二元資料從所述非揮發性記憶體載入到所述揮發性記憶體。所述第二目錄資料在所述多個目錄資料中未損壞。
根據本發明概念的示例性實施例,提供一種儲存裝置,所述儲存裝置包括非揮發性記憶體以及控制器,所述控制器包括包括揮發性記憶體。所述揮發性記憶體被配置成儲存與第一邏輯位址相關聯的第一元資料以及與第二邏輯位址相關聯的第二元資料。當所述控制器從主機接收所述第一邏輯位址時,所述控制器被配置成判斷所述第一元資料是否已損壞,如果所述元資料已損壞,則將所述第一元資料作為不可修正的錯誤進行處理。然後,當所述控制器從所述主機接收所述第二邏輯位址時,所述控制器被配置成判斷所述第二元資料是否已損壞,如果所述第二元資料未損壞,則基於所述第二元資料來控制對所述非揮發性記憶體進行存取的操作。
根據本發明概念的示例性實施例,提供一種儲存裝置,所述儲存裝置包括非揮發性記憶體以及控制器,所述控制器包括被配置成儲存與邏輯位址相關聯的原始元資料的揮發性記憶體。所述控制器被配置成從主機接收所述邏輯位址,判斷當所述原始元資料已損壞時是否存在備份元資料,當存在所述備份元資料時基於所述備份元資料來存取所述非揮發性記憶體,且當不存在所述備份元資料時將所述原始元資料作為不可修正的錯誤進行處理,其中所述備份元資料是在所述原始元資料損壞之前所述原始元資料的副本。
為讓本發明的上述特徵和優點能更明顯易懂,下文特舉實施例,並配合所附圖式作詳細說明如下。
圖1是根據本發明概念示例性實施例的儲存系統10的方塊圖。
參照圖1,儲存系統10包括儲存裝置100及主機200。儲存裝置100包括控制器110及非揮發性記憶體(non-volatile memory,NVM)120。控制器110可回應於來自主機200的寫入請求/讀取請求來對非揮發性記憶體120進行控制,以從非揮發性記憶體120讀取資料或將資料寫入非揮發性記憶體120。主機200可通過各種類型的介面與儲存裝置100進行通信,且可向儲存裝置100傳送寫入請求/讀取請求。主機200可通過應用處理器(application processor,AP)或系統晶片(system-on-chip,SoC)來實作。
非揮發性記憶體120可包括記憶體單元陣列MCA。記憶體單元陣列MCA包括用於儲存元資料的元區域121及用於儲存使用者資料的儲存區域122。記憶體單元陣列MCA可包括快閃記憶體單元,所述快閃記憶體單元可為與非(NAND)快閃記憶體單元。然而,本發明概念並非僅限於此。舉例來說,記憶體單元可為電阻性記憶體單元(例如電阻性隨機存取記憶體(resistive random access memory,ReRAM)單元)、相變隨機存取記憶體(phase-change RAM,PRAM)單元、或磁性隨機存取記憶體(magnetic RAM,MRAM)單元。
在示例性實施例中,元資料包括選自以下資料中的至少一個要素:表示主機200的邏輯位址與非揮發性記憶體120的物理位址之間的映射資訊的映射資料;表示與非揮發性記憶體120的每一物理區塊中所包括的頁面有關的資訊的物理區塊資訊;表示從主機200擦除的資料的剪裁資料;以及表示非揮發性記憶體120的元區域121中儲存有例如映射資料或物理區塊資訊等元資料的物理位址的目錄。當儲存裝置100被供電時(例如,當儲存系統10被啟動時),儲存在非揮發性記憶體120的元區域121中的元資料可被載入到控制器110。
控制器110包括元資料處理模組MDP及元資料記憶元件MDS。儲存在元區域121中的元資料被載入到元資料記憶元件MDS。在示例性實施例中,元資料記憶元件MDS被實作為揮發性記憶體(例如,動態隨機存取記憶體(dynamic RAM,DRAM)或靜態隨機存取記憶體(static RAM,SRAM))。儘管在圖1所示的實施例中元資料記憶元件MDS包括在控制器110中,然而本發明概念並非僅限於此。舉例來說,元資料記憶元件MDS也可被實作為位於控制器110外部的揮發性記憶體。
在實施例中,元資料處理模組MDP根據載入到元資料記憶元件MDS的元資料是否已損壞來對所載入的元資料進行處理。在實施例中,元資料處理模組MDP判斷元資料是否已損壞且將已損壞的元資料作為不可修正的錯誤進行處理。舉例來說,元資料處理模組MDP判斷已損壞的元資料是否可被恢復並將無法恢復的元資料作為不可修正的錯誤進行處理。不可修正的錯誤可對應於不可修正的錯誤修正碼(UECC)錯誤。
當儲存裝置100從主機200接收到邏輯位址及讀取請求、且與邏輯位址相關的元資料被損壞時,儲存裝置100可向主機200提供錯誤消息,所述錯誤消息表示無法針對讀取請求進行讀取。舉例來說,儲存裝置100可向主機200提供錯誤消息,所述錯誤消息表示無法執行與邏輯位址相關聯的操作(例如,針對讀取請求進行的讀取)。之後,當儲存裝置100接收到針對另一邏輯位址的讀取請求時,儲存裝置100根據讀取請求正常地執行讀取操作以存取讀取資料並將所讀取資料提供到主機200。當儲存裝置100接收到對另一邏輯位址的寫入請求時,儲存裝置100根據寫入請求正常地執行寫入操作。因此,當少量的元資料損壞時,儲存裝置100繼續執行正常操作,但對已損壞的元資料除外。
儲存系統10可被實作為個人電腦(personal computer,PC)、資料伺服器、網路附接儲存器(network-attached storage,NAS)、物聯網(internet-of-things,IoT)裝置、或可攜式電子裝置。所述可攜式電子裝置可為膝上型電腦、手機(cellular phone)、智慧型電話、平板個人電腦、個人數位助理(personal digital assistant,PDA)、企業數位助理(enterprise digital assistant,EDA)、數位照相機、數位攝像機、音訊裝置、可攜式多媒體播放機(portable multimedia player,PMP)、個人導航裝置(personal navigation device,PND)、MP3播放機、掌上型遊戲機、電子書、或可穿戴式裝置。
儲存裝置100可為被嵌入到電子裝置的內部記憶體。舉例來說,儲存裝置100可為固態驅動器(SSD)、嵌入式通用快閃儲存(universal flash storage,UFS)裝置、或嵌入式多媒體卡(embedded multimedia card,eMMC)。作為另外一種選擇,儲存裝置100可為可從電子裝置拆卸的外部記憶體。舉例來說,儲存裝置100可為通用快閃儲存卡、緊湊式快閃(compact flash,CF)卡、安全數位(secure digital,SD)卡、微型安全數位(micro-secure digital,micro-SD)卡、迷你型安全數位(mini-secure digital,mini-SD)卡、極限數位(extreme digital,xD)卡、或記憶棒(memory stick)。
圖2是圖1所示控制器110的實例110a的方塊圖。
參照圖2,控制器110a包括可經由匯流排118彼此通信的記憶體MEMa、處理器114、主機介面(interface,IF)115、非揮發性記憶體介面116、及唯讀記憶體(read-only memory,ROM)117。處理器114可包括中央處理器(central processing unit,CPU)或微處理器,且可對控制器110a的所有操作進行控制。記憶體MEMa可根據處理器114的控制來運行,且可用作工作記憶體、緩衝記憶體或快取記憶體記憶體。記憶體MEMa可被實作為揮發性記憶體(例如,動態隨機存取記憶體或靜態隨機存取記憶體)或非揮發性記憶體(例如,相變隨機存取記憶體或快閃記憶體)。記憶體MEMa在以下闡述的實施例中被實作為揮發性記憶體(例如,動態隨機存取記憶體)。因此,動態隨機存取記憶體可指代元資料所載入到的記憶體。
圖1所示元資料處理模組MDP可通過軟體或硬體來實作且可被載入到記憶體MEMa。元資料處理模組MDP可被實作為快閃轉譯層(flash translation layer,FTL)111且可被載入到記憶體MEMa。然而,本發明概念並非僅限於此。舉例來說,元資料處理模組MDP可由硬體來實作。在實施例中,圖1所示元資料記憶元件MDS對應於作為記憶體MEMa的一部分的元資料區域112。在實施例中,快閃轉譯層111與元資料區域112形成在一個晶片上。然而,本發明概念並非僅限於此。舉例來說,快閃轉譯層111與元資料區域112可形成在不同的晶片上。
快閃轉譯層111可包括不可修正的錯誤修正碼處理模組111a。當載入到元資料區域112的元資料已損壞且是不可恢復的時,不可修正的錯誤修正碼處理模組111a可將元資料作為不可修正的錯誤修正碼錯誤(即,不可修正的錯誤)進行處理。在實施例中,在不可修正的錯誤修正碼處理期間,不可修正的錯誤修正碼處理模組111a通過將元資料的物理位址改變成新物理位址來更新映射表。快閃轉譯層111也可根據由硬體實作的功能而包括位址映射模組、耗損均衡模組(ware-leveling module)、不良區塊管理模組(bad block management module)、無用單元收集模組(garbage collection module)、或加密/解密模組(encryption/decryption module)。
在實施例中,元資料區域112包括邏輯至物理(L2P)映射表區域112a及物理區塊資訊區域112b。在實施例中,邏輯至物理映射表區域112a儲存包含用於將邏輯位址轉譯成物理位址的多個映射資料的映射表。在實施例中,物理區塊資訊區域112b儲存物理區塊資訊,所述物理區塊資訊表示與物理區塊中所包括的頁面有關的資訊。稍後將參照圖3A及圖3B來闡述映射資料及物理區塊資訊。
主機介面115在主機200與控制器110a之間提供介面。主機介面115可提供根據以下協定的介面:通用序列匯流排(universal serial bus,USB)、多媒體卡(multimedia card,MMC)、快速周邊元件連接(peripheral component interconnect express,PCI-E)、高級技術附接(advanced technology attachment,ATA)、串列高級技術附接(serial ATA,SATA)、並行高級技術附接(parallel ATA,PATA)、小型電腦系統介面(small computer system interface,SCSI)、串列附接小型電腦系統介面(serial attached SCSI,SAS)、增強型小型磁片介面(enhanced small disk interface,ESDI)、或集成式驅動電子裝置(integrated drive electronics,IDE)。非揮發性記憶體介面116在控制器110a與非揮發性記憶體120之間提供介面。舉例來說,可通過非揮發性記憶體介面116在控制器110a與非揮發性記憶體120之間傳送邏輯至物理映射表、區塊資訊、寫入資料、及讀取資料。唯讀記憶體117可儲存在儲存裝置100進行初始啟動時所需的碼資料(例如,可執行指令)。
圖3A是根據本發明概念示例性實施例的邏輯至物理映射表L2P_T的圖。邏輯至物理映射表L2P可被載入到圖2所示邏輯至物理映射表區域112a。參照圖1至圖3A,邏輯至物理映射表L2P_T包括多個映射資料。每一個映射資料表示與邏輯頁面號碼(logical page number,LPN)對應的物理頁面號碼(physical page number,PPN)。舉例來說,與第二邏輯位址LPN2對應的第二物理位址是PPN2,PPN2可為非揮發性記憶體120的儲存區域122中所包括的第二區塊BLK2的第一頁面PAGE1。邏輯至物理映射表L2P_T可包括多個行,其中每一行將邏輯位址(例如,邏輯頁面位址)映射到物理位址(例如,物理頁面位址),且物理位址識別儲存區域122內的所選擇的區塊的位置及所選擇的區塊內的頁面的位置。在實施例中,從邏輯至物理映射表L2P_T省略掉邏輯位址且使用每一行的位置來推斷其邏輯位址。
圖3B是根據本發明概念示例性實施例的物理區塊資訊BI的圖。物理區塊資訊BI可被載入到圖2所示的物理區塊資訊區域112b。參照圖1至圖3B,物理區塊資訊BI將第一區塊BLK1及第二區塊BLK2中的每一個中所包括的多個頁面PAGE1至PAGEm中的每一個的狀態表示為有效的或無效的。舉例來說,第二區塊BLK2中所包括的第一頁面PAGE1及第四頁面PAGE4被示出無效的且第二頁面PAGE2及第三頁面PAGE3被示出為有效的。物理區塊資訊BI也可儲存有效頁面計數,所述有效頁面計數表示第一區塊BLK1及第二區塊BLK2中的每一個中所包括的有效頁面的數目。
圖4是根據本發明概念示例性實施例的操作儲存裝置的方法的流程圖。
參照圖4,所述操作儲存裝置的方法涉及當從主機接收到讀取請求時處理不可恢復的元資料的方法且可包括例如在圖1所示儲存裝置100中按時間循序執行的操作。以下將參照圖1至圖4來闡述操作儲存裝置的方法。
在操作S110中,儲存裝置100從主機200接收讀取請求及邏輯位址。在操作S120中,儲存裝置100判斷元資料是否已損壞。在實施例中,儲存裝置100判斷被載入到揮發性記憶體的元資料中的映射資料是否已損壞,所述映射資料表示與邏輯位址對應的物理位址。舉例來說,控制器110a中所包括的不可修正的錯誤修正碼處理模組111a可基於被載入到物理區塊資訊區域112b的物理區塊資訊BI來判斷被載入到邏輯至物理映射表區域112a的映射表資料是否已損壞。
在操作S130中判斷所述元資料是否是可恢復的。在實施例中,不可修正的錯誤修正碼處理模組111a判斷是否存在元資料的備份資料,且當存在備份資料時確定所述元資料是可恢復的。當確定所述元資料是不可恢復的時,執行操作S140。當確定所述元資料是可恢復的時,執行操作S150。在操作S140中,將元資料作為不可修正的錯誤修正碼錯誤進行處理。舉例來說,不可修正的錯誤修正碼處理模組111a可將元資料作為不可修正的錯誤修正碼錯誤進行處理並向主機200提供錯誤消息,所述錯誤消息表示無法針對讀取請求進行讀取。所述錯誤消息可表示無法執行與邏輯位址相關聯的讀取操作。在操作S150中對元資料進行恢復且對讀取請求進行處理。讀取請求的處理可包括使用備份資料來判斷與邏輯位址對應的物理位址。可利用備份資料來取代在邏輯至物理映射表L2P_T內發現的已損壞的元資料。
儘管圖中未示出,然而儲存裝置100可隨後從主機200接收讀取請求或寫入請求以及另一個邏輯位址。此時,儲存裝置100可判斷表示與當前邏輯位址對應的物理位址的映射資料是否已損壞。當判斷映射資料未損壞或者是可恢復的時,儲存裝置100根據讀取請求正常地執行讀取操作或者根據寫入請求執行寫入操作。
圖5是根據本發明概念示例性實施例的對不可恢復的元資料進行處理的操作的圖。
參照圖2及圖5,控制器110a從主機接收讀取請求或寫入請求及邏輯位址。在實施例中,圖5中所示的第一映射資訊11對應於圖3中所示的邏輯至物理映射表L2P_T,且圖5中所示的物理區塊資訊BI對應於圖3B中所示的物理區塊資訊BI。當邏輯位址是LPN2時,被映射到LPN2的物理位址是PPN2。
在實施例中,不可修正的錯誤修正碼(UECC)處理模組111a通過檢查物理區塊資訊BI來檢查PPN2是有效的還是無效的,並判斷與PPN2對應的映射資料是否已損壞。舉例來說,當如圖3B所示,與PPN2對應的第二區塊BLK2的第一頁面PAGE1是無效的時,不可修正的錯誤修正碼處理模組111a確定與邏輯位址相關聯的映射資料已損壞。
然而,本發明概念並非僅限於此。在實施例中,當PPN2不表示真實的物理位址時,不可修正的錯誤修正碼處理模組111a確定與PPN2對應的映射資料已損壞,而無需檢查物理區塊資訊BI。舉例來說,當非揮發性記憶體包括第一區塊至第一百區塊且PPN2表示第一百零一個區塊中所包括的頁面時,可確定與PPN2對應的映射資料已損壞。舉例來說,控制器110a可儲存可用區塊的數目的計數,且當與映射資料相關聯的物理位址表示超過所述計數的區塊數目時,可得出映射資料已損壞的結論。
另外,在示例性實施例中,不可修正的錯誤修正碼處理模組111a通過檢查儲存在非揮發性記憶體120中且由PPN2表示的邏輯位址來判斷PPN2是有效的還是無效的。在實施例中,儲存區域122中的由PPN2表示的頁面中的備用區域(spare area)儲存與PPN2對應的邏輯位址(例如,LPN)。當第一映射資訊11表明與PPN2對應的邏輯位址是LPN2、而儲存在由PPN2表示的物理位址的備用區域中的邏輯位址不是LPN2時,不可修正的錯誤修正碼處理模組111a確定與PPN2對應的映射資料已損壞。
之後,不可修正的錯誤修正碼處理模組111a判斷已損壞的元資料是否是可恢復的,當已損壞的元資料是可恢復的時恢復已損壞的元資料,且使用已恢復的元資料根據讀取請求來執行讀取操作或者根據寫入請求來執行寫入操作。在實施例中,當已損壞的資料是不可恢復的時,不可修正的錯誤修正碼處理模組111a將不可恢復的元資料作為不可修正的錯誤修正碼錯誤進行處理且通過修正PPN2以第二映射資訊12更新第一映射資訊11。控制器110a可向主機提供錯誤消息,所述錯誤消息表示無法針對讀取請求進行讀取。針對寫入請求,控制器110a可使用第二映射資訊12來執行寫入操作。
圖6是根據本發明概念示例性實施例的操作儲存裝置的方法的流程圖。
參照圖6,操作儲存裝置的方法涉及當從主機接收到寫入請求時處理不可恢復的元資料的方法且可包括例如在圖1所示儲存裝置100中按時間循序執行的操作。以下將參照圖1至圖3B及圖6來闡述操作儲存裝置的方法。
在操作S210中,儲存裝置100從主機200接收寫入請求及邏輯位址。在操作S220中,儲存裝置100判斷元資料是否已損壞。元資料與邏輯位址相關聯。在示例性實施例中,儲存裝置100判斷被載入到揮發性記憶體的元資料中的映射資料是否已損壞,所述映射資料表示與邏輯位址對應的物理位址。舉例來說,控制器110a中所包括的不可修正的錯誤修正碼處理模組111a可基於被載入到物理區塊資訊區域112b的物理區塊資訊BI來判斷所述映射資料是否已損壞。
在操作S230中判斷所述元資料是否是可恢復的。舉例來說,不可修正的錯誤修正碼處理模組111a判斷是否存在元資料的備份資料,且當存在備份資料時確定所述元資料是可恢復的。當確定所述元資料是不可恢復的時,執行操作S240。當確定所述元資料是可恢復的時,執行操作S260。在操作S240中,儲存裝置100產生用於寫入資料的新物理位址並修正所述元資料。在操作S250中,儲存裝置100將資料寫入新物理位址。在操作S260中,儲存裝置100對所述元資料進行恢復並對寫入請求進行處理。如果所述元資料是不可恢復的,則可能無法確定哪一個物理位址對應於所接收的邏輯位址。新物理位址的產生可包括確定哪一物理位址未使用,並將未使用的物理位址分配給所接收到的邏輯位址。當所述元資料得到恢復時,寫入請求的處理可包括從所恢復的元資料確定物理位址,以及向所確定的物理位址寫入資料。可與寫入請求及邏輯位址一起接收要寫入的資料。
圖7A及圖7B是根據本發明概念示例性實施例的對映射資料執行的不可修正的錯誤修正碼處理操作的圖。參照圖7A及圖7B,第一映射資訊13對應於邏輯至物理映射表L2P_T1且第二映射資訊14對應於邏輯至物理映射表L2P_T1a。第一映射資訊13及第二映射資訊14可被載入到儲存裝置中所包括的揮發性記憶體(例如,動態隨機存取記憶體)。
第一映射資訊13可包括分別與LPN1至LPN5對應的PPN1至PPN5。PPN1至PPN5可被稱為映射資料。當與第一映射資訊13中的PPN2對應的映射資料是不可恢復的時,將所述不可恢復的映射資料修正成不可修正的錯誤修正碼簽名SIG UECC以使得以第二映射資訊14來更新第一映射資訊13。在實施例中,不可修正的錯誤修正碼簽名SIG UECC對應於不存在於非揮發性記憶體120中的物理位址PPNu。舉例來說,當非揮發性記憶體120包括PPN1至PPN1000時,不可修正的錯誤修正碼簽名SIG UECC可為PPN1001。然而,本發明概念並非僅限於此且不可修正的錯誤修正碼簽名SIG UECC可為隨機標記,所述隨機標記表示無法根據當前映射資料執行讀取操作。舉例來說,當試圖從與不可修正的錯誤修正碼簽名相關聯的邏輯位址進行讀取時,如果不可修正的錯誤修正碼簽名是高於非揮發性記憶體120的物理位址的上限的物理位址,則控制器(例如,110)可得出無法從所述邏輯位址進行讀取的結論。舉例來說,控制器可儲存所述上限以便控制器可判斷映射資料中的物理位址是否是不可修正的錯誤修正碼簽名。
圖8是根據本發明概念示例性實施例在圖7A及圖7B所示不可修正的錯誤修正碼處理操作中在主機200與控制器110之間執行的操作的流程圖。在實施例中,主機200及控制器110分別對應於圖1所示主機200及控制器110。以下將參照圖1及圖8來闡述所述操作。
在操作S310中,主機200向控制器110傳送邏輯位址LA及讀取請求。在操作S320中,控制器110檢查與邏輯位址LA相關聯的元資料。舉例來說,控制器110可通過參照將邏輯位址LA連結到元資料的表來檢查與邏輯位址LA相關聯的元資料。在操作S330中,控制器110判斷與元資料對應的物理位址是否與物理區塊資訊一致。在實施例中,當與元資料對應的物理位址與物理區塊資訊不一致時,則確定所述元資料已損壞。
在操作S340中,當確定元資料已損壞時,控制器110判斷已損壞的元資料是否是可恢復的。當確定已損壞的資料是不可修復的時,在操作S350中,控制器110更新邏輯至物理映射表。在實施例中,控制器110以邏輯至物理映射表中的不可修正的錯誤修正碼簽名來改寫已修復的元資料。在操作S360中,控制器110向主機傳送錯誤消息,所述錯誤消息表示無法針對讀取請求進行讀取。
根據本發明概念的示例性實施例,儲存裝置100的控制器110更新邏輯至物理映射表並根據不可修正的錯誤修正碼簽名來向主機200傳送錯誤消息。因此,回應於在被處理時將需要使用已損壞的元資料的讀取請求,不在儲存裝置100中執行控制器110與非揮發性記憶體120之間的通信(例如,資料登錄/輸出操作),但主機200與控制器110之間的通信正常地繼續進行。結果,儲存裝置100對在被處理時將需要使用已損壞的元資料的讀取請求的處理時間可減少且功耗可降低。
圖9A及圖9B是根據本發明概念示例性實施例的對映射資料執行的不可修正的錯誤修正碼處理操作的圖。詳細來說,圖9A示出被載入到儲存裝置中所包括的揮發性記憶體(例如,動態隨機存取記憶體)的第一映射資訊15及第二映射資訊16以及在儲存裝置中所包括的非揮發性記憶體(例如,與非記憶體)的頁面17。圖9B示出與第一映射資訊15對應的映射表L2P_T1、與第二映射資訊16對應的映射表L2P_T1b、及非揮發性記憶體的儲存區域(例如,圖1中的儲存區域122)。
第一映射資訊15可包括分別與LPN1至LPN5對應的PPN1至PPN5。PPN1至PPN5可被稱為映射資料。當與第一映射資訊15中的PPN2對應的映射資料是不可恢復的時,將所述不可恢復的映射資料中所包括的物理位址(即,PPN2)修正成新物理位址(即,PPN2),以使得將第一映射資訊15更新成第二映射資訊16。
新物理位址(即,PPN2)是用於儲存表示不可修正的錯誤修正碼的資料的物理位址。新物理位址(即,PPN2)可被分配到有效地位址。舉例來說,新物理位址(即,PPN2)可對應於儲存區域122中所包括的第二區塊BLK2的第二頁面PAGE2且舊的物理位址(即,PPN2)在物理區塊資訊中可改變成無效狀態。新物理位址(即,PPN2)對於每一個邏輯位址來說可均為不同的。然而,本發明概念並非僅限於此。舉例來說,新物理位址(即,PPN2)可不論邏輯位址如何均為相同的。
圖10是根據本發明概念示例性實施例在圖9A及圖9B所示不可修正的錯誤修正碼處理操作中在主機200、與控制器110、及非揮發性記憶體120之間執行的操作的流程圖。在實施例中,主機200、控制器110、及非揮發性記憶體120分別對應於圖1所示主機200、控制器110、及非揮發性記憶體120。
圖10所說明的操作是圖8所說明的操作的修改形式。操作S310至S340與圖8所示操作實質上相同。因此將不再對其重複說明予以贅述。在操作S350a中,控制器110更新邏輯到位址映射表。在實施例中,控制器110通過將已損壞的元資料中所包括的物理位址修正成邏輯至物理映射表中的新物理位址PA來更新LTP映射表。
在操作S370中,控制器110向非揮發性記憶體120傳送新物理位址PA及寫入命令WCMD。在操作S380中,非揮發性記憶體120將表示不可修正的錯誤修正碼的資料寫入新物理位址PA。新物理位址PA可對應於儲存區域122中所包括的備用區域。在操作S390中,非揮發性記憶體120向控制器發送回應訊息,所述回應訊息表示寫入操作已完成。在操作S360a中,控制器110向主機200傳送錯誤消息,所述錯誤消息表示無法針對讀取請求進行讀取。
圖11是根據本發明概念示例性實施例的對剪裁資料執行的不可修正的錯誤修正碼處理操作的圖。
參照圖11,被載入到儲存裝置中所包括的揮發性記憶體(例如,動態隨機存取記憶體)的第一元頁面21包括邏輯至物理區域及剪裁點陣圖(trim bitmap),邏輯至物理區域儲存表示與邏輯位址對應的物理位址的映射資料,剪裁點陣圖儲存表示從主機擦除的資料的剪裁資料。當儲存裝置支援剪裁功能時,第一元頁面21包括剪裁點陣圖。在示例性實施例中,當主機擦除已寫入到儲存裝置的資料時,對應的區塊的資料不會從非揮發性記憶體被實際刪除,而是僅在剪裁點陣圖中包括的剪裁資料中標記資料的擦除。在實施例中,剪裁資料包括多個位且每一個位表示與映射資料對應的使用者資料被擦除或不被擦除。舉例來說,剪裁資料的第一位可表示與PPN1相關聯的資料是否被擦除,剪裁資料的第二位元可表示與PPN2相關聯的資料是否被擦除,等等。
當在第一元頁面21中剪裁資料已損壞時,對與已損壞的剪裁資料有關的映射資料進行檢查。可根據各個位元的放置順序來檢查相關的映射資料。與已損壞的剪裁資料相關的映射資料可為PPN2。通過對PPN2執行不可修正的錯誤修正碼處理,可將第一元頁面21修正成第二元頁面。PPN2在第二元頁面22中可被表達為不可修正的錯誤修正碼簽名。在實施例中,PPN2在第二元頁面22中被修正成新物理位址(即,PPN2)。
圖12是根據本發明概念示例性實施例的儲存裝置100的方塊圖。
參照圖12,儲存裝置100包括控制器110及非揮發性記憶體120。儲存裝置100是圖1所示儲存裝置100的修改形式。因此將不再對其重複說明予以贅述。不同於圖1所示控制器110,控制器110進一步包括錯誤檢查及修正(error checking and correction,ECC)模組113。在實施例中,錯誤檢查及修正模組113通過對元資料執行錯誤修正及檢查操作來檢測儲存在元資料記憶元件MDS中的元資料中的錯誤位元並修正所述錯誤位元。錯誤檢查及修正模組113可對每一個錯誤修正及檢查資料塊執行錯誤修正及檢查操作。
圖13是圖12所示控制器110的實例110b的方塊圖。參照圖13,控制器110b是圖2所示控制器110a的修改形式。因此將不再對其重複說明予以贅述。不同於圖2中所示的記憶體MEMa,記憶體MEMb進一步包括錯誤檢查及修正模組113。錯誤檢查及修正模組113可由軟體或硬體來實作且可被載入到記憶體MEMb。作為另外一種選擇,錯誤檢查及修正模組113可由記憶體MEMb中的硬體(例如,電路)來實作。儘管快閃轉譯層111與錯誤檢查及修正模組113在圖13中彼此分開,然而本發明概念並非僅限於此。在示例性實施例中,錯誤檢查及修正模組113被實作為快閃轉譯層111的一部分。儘管錯誤檢查及修正模組113在圖13中位於記憶體MEMb內部,然而本發明概念並非僅限於此。在示例性實施例中,錯誤檢查及修正模組113位於記憶體MEMb外部。
圖14是根據本發明概念示例性實施例的操作儲存裝置的方法的流程圖。
參照圖14,所述操作儲存裝置的方法涉及當從主機接收到讀取請求時處理不可恢復的元資料的方法且可包括例如在圖12所示的儲存裝置100中按時間循序執行的操作。以下將參照圖12至圖14來闡述操作儲存裝置的方法。
在操作S410中,儲存裝置100從主機接收讀取請求及邏輯位址。在操作S420中,儲存裝置100判斷元資料是否已損壞。舉例來說,元資料與所接收的邏輯位址相關聯。在實施例中,儲存裝置100通過對元資料的每一個錯誤檢查及修正模組資料塊執行錯誤檢查及修正操作來檢查是否存在錯誤位元,從而判斷元資料是否已損壞。舉例來說,控制器110b中所包括的不可修正的錯誤修正碼處理模組111a可基於錯誤檢查及修正模組113的輸出來判斷元資料是否已損壞,而無需參照被載入到物理區塊資訊區域112b的物理區塊資訊BI。
在操作S430中判斷錯誤位元的數目是否超過錯誤檢查及修正允許限值(tolerance limit)。錯誤檢查及修正允許限值是可由錯誤檢查及修正模組113修正的錯誤位元的數目。舉例來說,錯誤檢查及修正模組113的錯誤檢查及修正允許限值可對應於1。當確定錯誤位元的數目超過錯誤檢查及修正允許限值時,執行操作S440。當確定錯誤位元的數目不超過錯誤檢查及修正允許限值時,執行操作S450。之後將參照圖15來詳細闡述操作S430。
在操作S440中,將錯誤檢查及修正資料塊中的所有元資料作為不可修正的錯誤修正碼錯誤進行處理。舉例來說,當錯誤位元的數目超過錯誤檢查及修正允許限值時,不可修正的錯誤修正碼處理模組111a可將錯誤檢查及修正資料塊中所包含的所有元資料作為不可修正的錯誤修正碼錯誤進行處理。在操作S450中對錯誤位元進行恢復且對讀取請求進行處理。舉例來說,錯誤檢查及修正模組113可修復錯誤位元且儲存裝置100可根據讀取請求執行讀取操作。在實施例中,錯誤位元在錯誤檢查及修正模組113能夠修正元資料時得到恢復,且儲存裝置100使用經修正的元資料執行讀取操作。當錯誤檢查及修正模組113不能修正元資料時,儲存裝置100不能執行讀取操作。
圖15是根據本發明概念示例性實施例的基於元資料中的錯誤位元的數目執行的錯誤檢查及修正操作的圖。
參照圖13及圖15,錯誤檢查及修正模組113的錯誤檢查及修正允許限值是一個錯誤位元。當物理位址PPNa中存在一位元錯誤時,物理位址PPNa被改變成第一個已損壞的物理位址PPNa¢。由於錯誤位元的數目是1,因此錯誤檢查及修正模組113可修正1位元錯誤,且因此,第一個已損壞的物理位址PPNa¢被修正成正常物理位址PPNa。
然而,當物理位址PPNa中存在兩位元錯誤時,物理位址PPNa被改變成第二個已損壞的物理位址PPNa²。由於錯誤位元的數目是二,因此錯誤檢查及修正模組113可檢測到兩位元錯誤但無法修正所述兩位元錯誤。因此,第二個已損壞的物理位址PPNa²可對應於不可恢復的元資料。
圖16是根據本發明概念示例性實施例的對不可恢復的元資料進行處理的操作的圖。
參照圖12及圖16,第一錯誤檢查及修正資料塊31儲存在圖13所示的記憶體MEMb的元資料區域112中,且記憶體MEMb可為動態隨機存取記憶體。第一錯誤檢查及修正資料塊31可包括多個映射資料PPN1至PPN7及奇偶性(parity)。每一個映射資料的大小可為4位元組,且第一錯誤檢查及修正資料塊31的大小可為32位元組,但本發明並非僅限於此。舉例來說,映射資料PPN5可具有超過錯誤檢查及修正允許限值的錯誤位元。
在實施例中,錯誤檢查及修正模組113通過檢查奇偶性來檢測第一錯誤檢查及修正資料塊31中的錯誤位元並在錯誤檢查及修正允許限值內修正錯誤位元。然而,當所檢測的錯誤位元的數目超過錯誤檢查及修正允許限值時,錯誤檢查及修正模組113無法修正錯誤位元。當錯誤數目超過錯誤檢查及修正允許限值時,元資料處理模組MDP確定第一錯誤檢查及修正資料塊31中所包含的所有映射資料PPN1至PPN7是不可恢復的元資料。
在實施例中,元資料處理模組MDP根據第一錯誤檢查及修正資料塊31中所包含的映射資料PPN1至PPN7的當前狀態來將奇偶性重置(reset),並將所有映射資料PPN1至PPN7作為不可修正的錯誤修正碼錯誤進行處理,從而將第一錯誤檢查及修正資料塊31修正成第二錯誤檢查及修正資料塊32。在修正之後,可執行不可修正的錯誤修正碼寫入操作進行不可修正的錯誤修正碼處理。可對儲存裝置100的非揮發性記憶體120執行不可修正的錯誤修正碼寫入操作。作為另外一種選擇,可對儲存裝置100的揮發性記憶體(例如,動態隨機存取記憶體)執行不可修正的錯誤修正碼寫入操作,且揮發性記憶體可包含在控制器110中。
當儲存裝置100接收到與第二錯誤檢查及修正資料塊32中所包含的多個映射資料相關的讀取請求時,儲存裝置100可向主機提供錯誤消息,所述錯誤消息表示無法針對讀取請求進行讀取。以下將參照圖17A至圖19來闡述將映射資料作為不可修正的錯誤修正碼錯誤進行處理的操作。
圖17A及圖17B是根據本發明概念示例性實施例的對映射資料執行的不可修正的錯誤修正碼處理操作的圖。參照圖17A及圖17B,第一錯誤檢查及修正資料塊33可對應於邏輯至物理映射表L2P_T1且第二錯誤檢查及修正資料塊34可對應於邏輯至物理映射表L2P_T1a。第一錯誤檢查及修正資料塊33及第二錯誤檢查及修正資料塊34可被儲存在儲存裝置中所包括的揮發性記憶體(例如,動態隨機存取記憶體)中。
第一錯誤檢查及修正資料塊33可包括分別與LPN1至LPN7對應的PPN1至PPN7。PPN1至PPN7可被稱為映射資料。當接收到針對LPN1至LPN7中的一個的讀取請求時,可通過檢查第一錯誤檢查及修正資料塊33中所包含的奇偶性資料來檢測第一錯誤檢查及修正資料塊33中的錯誤位元,且可在錯誤檢查及修正允許限值內對錯誤位元進行修正。然而,當所檢測到的錯誤位元的數目超過錯誤檢查及修正允許限值時,可確定第一錯誤檢查及修正資料塊33中所包含的所有映射資料PPN1至PPN7是不可恢復的元資料。
此時,可通過將第一錯誤檢查及修正資料塊33中所包含的所有映射資料PPN1至PPN7修正成不可修正的錯誤修正碼簽名SIG UECC來以第二錯誤檢查及修正資料塊34更新第一錯誤檢查及修正資料塊33。不可修正的錯誤修正碼簽名SIG UECC可對應於不存在於非揮發性記憶體120中的物理位址PPNu。因此,與第二錯誤檢查及修正資料塊34對應的每一個物理位址可對應於映射表L2P_T1a中的PPNu。儘管與LPN1至LPN3對應的所有PPN均是映射表L2P_T1a中的PPNu,然而本發明概念並非僅限於此。在示例性實施例中,與不同的邏輯位址對應的不可修正的錯誤修正碼簽名可彼此不同。
圖18是根據本發明概念示例性實施例的對映射資料執行的不可修正的錯誤修正碼處理操作的圖。圖18示出儲存在儲存裝置中所包括的揮發性記憶體(例如,動態隨機存取記憶體)中的第一錯誤檢查及修正資料塊33及第二錯誤檢查及修正資料塊35以及在儲存裝置中所包括的非揮發性記憶體(例如,與非記憶體)的頁面36。以下說明將參照圖12及圖18。
當儲存在動態隨機存取記憶體中的第一錯誤檢查及修正資料塊33中所包含的映射資料已損壞且不可恢復時,通過將第一錯誤檢查及修正資料塊33中所包含的所有映射資料作為不可修正的錯誤修正碼錯誤進行處理來以第二錯誤檢查及修正資料塊35更新第一錯誤檢查及修正資料塊33。PPN1至PPN7可被修正成不同的新物理位址PPN1¢至PPN7¢,且奇偶性可根據第二錯誤檢查及修正資料塊35中的新物理位址PPN1¢至PPN7¢而被修正成奇偶性¢。新物理位址PPN1¢至PPN7¢中的每一個可為用於儲存表示不可修正的錯誤修正碼錯誤的資料的物理位址且可被分配到有效位址。
之後,可將表示不可修正的錯誤修正碼錯誤的資料儲存在非揮發性記憶體120的頁面36中。頁面36可為非揮發性記憶體120的儲存區域122中所包括的多個頁面中的一個頁面。表示不可修正的錯誤修正碼錯誤的資料可被儲存在頁面36中所包括的備用區域或預留區域中。儘管新物理位址PPN1¢至PPN7¢對應於圖18中的一個區塊中的一個頁面36,然而本發明概念並非僅限於此。新物理位址PPN1¢至PPN7¢中的每一個可對應於元區域121的不同區塊或不同頁面。
當儲存裝置100¢接收到針對與第二錯誤檢查及修正資料塊35中所包含的多個映射資料中的一個對應的邏輯位址的讀取請求時,儲存裝置100¢讀取由與所述邏輯位址對應的物理位址表示的非揮發性記憶體120的頁面36且將讀取結果提供到主機。舉例來說,當儲存裝置100¢接收到針對LPN2的讀取請求時,儲存裝置100¢讀取由PPN2¢表示的非揮發性記憶體120的頁面36且可向主機提供錯誤消息,所述錯誤消息表示無法針對讀取請求進行讀取。
圖19是根據本發明概念示例性實施例的對映射資料執行的不可修正的錯誤修正碼處理操作的圖。圖19示出儲存在儲存裝置中所包括的揮發性記憶體(例如,動態隨機存取記憶體)的第一錯誤檢查及修正資料塊33及第二錯誤檢查及修正資料塊37以及在儲存裝置中所包括的非揮發性記憶體(例如,與非記憶體)的頁面38。以下說明將參照圖12及圖19。
當儲存在動態隨機存取記憶體中的第一錯誤檢查及修正資料塊33中所包含的映射資料已損壞且不可恢復時,通過將第一錯誤檢查及修正資料塊33中所包含的所有映射資料作為不可修正的錯誤修正碼錯誤進行處理來以第二錯誤檢查及修正資料塊37更新第一錯誤檢查及修正資料塊33。PPN1至PPN7可被修正成一個固定的物理位址PPNf,且奇偶性可根據第二錯誤檢查及修正資料塊37中的固定的物理位址PPNf而被修正成奇偶性²。所述固定的物理位址PPNf可為被預定義成儲存表示不可修正的錯誤修正碼錯誤的資料的物理位址且可被分配到有效位址。
之後,可將表示不可修正的錯誤修正碼錯誤的資料儲存在非揮發性記憶體120的頁面38中。頁面38可為非揮發性記憶體120的儲存區域122中所包括的多個頁面中的一個頁面。表示不可修正的錯誤修正碼錯誤的資料可被儲存在頁面38中所包括的備用區域或預留區域中。
當儲存裝置100¢接收到針對與第二錯誤檢查及修正資料塊37中所包含的多個映射資料中的一個對應的邏輯位址的讀取請求時,儲存裝置100¢讀取由固定的物理位址PPNf表示的非揮發性記憶體120的頁面38且將讀取結果提供到主機。舉例來說,當儲存裝置100¢接收到針對LPN2的讀取請求時,儲存裝置100¢讀取由PPNf表示的非揮發性記憶體120的頁面38且可向主機提供錯誤消息,所述錯誤消息表示無法針對讀取請求進行讀取。
圖20是根據本發明概念示例性實施例的操作儲存裝置的方法的流程圖。
參照圖20,所述操作儲存裝置的方法涉及當從主機接收到讀取請求時處理不可恢復的元資料的方法且可包括例如在圖12所示儲存裝置100¢中按時間循序執行的操作。以下將參照圖12及圖20來闡述操作儲存裝置的方法。
在操作S510中,儲存裝置100¢接收讀取請求及邏輯位址。在操作S520中,儲存裝置100¢判斷剪裁資料是否已損壞。在實施例中,儲存裝置100¢通過對剪裁資料的每一個錯誤檢查及修正資料塊執行錯誤檢查及修正操作來檢查是否存在錯誤位元,從而判斷剪裁資料是否已損壞。舉例來說,控制器110b中所包括的不可修正的錯誤修正碼處理模組111a可基於錯誤檢查及修正模組113的輸出來判斷剪裁資料是否已損壞,而無需參照被載入到物理區塊資訊區域112b的物理區塊資訊BI。
在操作S530中,判斷錯誤位元的數目是否超過錯誤檢查及修正允許限值(tolerance limit)。操作S530可實質上相同於圖14所示的操作S430。在操作S540中,將與剪裁資料對應的映射錯誤檢查及修正資料塊作為不可修正的錯誤修正碼錯誤進行處理。舉例來說,不可修正的錯誤修正碼處理模組111a可將每一個映射錯誤檢查及修正資料塊中所包含的所有元資料作為不可修正的錯誤修正碼錯誤進行處理。在操作S550中對錯誤位元進行恢復且對讀取請求進行處理。
圖21是根據本發明概念示例性實施例的對不可恢復的剪裁資料執行的不可修正的錯誤修正碼處理操作的圖。
參照圖12及圖21,第一元頁面41可儲存在例如圖13所示記憶體MEMb的元資料區域112中。記憶體MEMb可為動態隨機存取記憶體。第一元頁面41包括邏輯至物理區域及剪裁點陣圖,邏輯至物理區域包括表示與邏輯位址對應的物理位址的映射資料,剪裁點陣圖包括表示從主機擦除的資料的剪裁資料。
邏輯至物理區域可包括多個映射錯誤檢查及修正資料塊EC1至EC5且剪裁點陣圖可包括第一剪裁錯誤檢查及修正資料塊ECa及第二剪裁錯誤檢查及修正資料塊ECb。舉例來說,第一剪裁錯誤檢查及修正資料塊ECa可已損壞且可與第三映射錯誤檢查及修正資料塊EC3及第四映射錯誤檢查及修正資料塊EC4相關。換句話說,第一剪裁錯誤檢查及修正資料塊ECa可表示與第三映射錯誤檢查及修正資料塊EC3及第四映射錯誤檢查及修正資料塊EC4中所包含的映射資料對應的使用者資料被擦除或不被擦除。
可通過對與已損壞的第一剪裁錯誤檢查及修正資料塊ECa相關的第三映射錯誤檢查及修正資料塊EC3及第四映射錯誤檢查及修正資料塊EC4執行不可修正的錯誤修正碼處理而將第一元頁面41修正成第二元頁面42。因此,第三映射錯誤檢查及修正資料塊EC3中所包含的多個映射資料及第四映射錯誤檢查及修正資料塊EC4中所包含的多個映射資料均可接受不可修正的錯誤修正碼處理。第三映射錯誤檢查及修正資料塊EC3可對應於圖16所示的第一錯誤檢查及修正資料塊31。已損壞的第一剪裁錯誤檢查及修正資料塊ECa可被重置成ECa¢。
圖22是根據本發明概念示例性實施例的控制器110c的方塊圖。參照圖22,控制器110c是圖2所示控制器110a的修改形式。因此將不再對其重複說明予以贅述。不同於圖2所示元資料區域112,元資料區域112¢進一步包括儲存目錄的目錄區域112c。以下說明將參照圖1及圖22。
目錄區域112c儲存目錄,當儲存裝置被供電時,可將目錄從非揮發性記憶體120的元區域121載入到記憶體MEMc。所述目錄可包括多個目錄資料。每一個目錄資料可表示儲存有元資料的物理位址。舉例來說,目錄可表示非揮發性記憶體120的元區域121中儲存有例如映射表或物理區塊資訊等元資料的物理位址。
圖23是根據本發明概念示例性實施例的操作儲存裝置的方法的流程圖。
參照圖23,操作儲存裝置的方法涉及處理已損壞的目錄資料的方法且可包括例如在圖1所示儲存裝置100及圖22所示控制器110c中按時間循序執行的操作。以下將參照圖1、圖22及圖23來闡述所述操作儲存裝置100的方法。
在操作S610中,向儲存裝置100供電。在操作S620中,將儲存在非揮發性記憶體120中的目錄載入到揮發性記憶體MEMc。可將儲存在非揮發性記憶體120的元區域121中的目錄載入到揮發性記憶體MEMc的目錄區域112c。在操作S630中,判斷多個目錄資料是否已損壞。舉例來說,控制器110c中所包括的不可修正的錯誤修正碼處理模組111a可基於被載入到物理區塊資訊區域112b的物理區塊資訊BI來判斷被載入到目錄區域112c的目錄資料是否已損壞。
在操作S640中,判斷已損壞的目錄資料是否是可恢復的。舉例來說,不可修正的錯誤修正碼處理模組111a可判斷是否存在目錄資料的備份資料,且當存在備份資料時確定已損壞的目錄資料是可恢復的。當確定所述已損壞的目錄資料是不可恢復的時,執行操作S650。當確定所述已損壞的目錄資料是可恢復的時,執行操作S660。在操作S650中,將與已損壞的第一目錄資料對應的第一元資料作為不可修正的錯誤修正碼錯誤進行處理。在操作S660中,對已損壞的第一目錄資料進行恢復且將元資料載入到揮發性記憶體MEMc。如果所述多個目錄資料均未被損壞,則不會將與目錄資料相關聯的元資料中的任一個作為不可修正的錯誤修正碼錯誤進行處理。
圖24A是根據本發明概念示例性實施例的圖1所示非揮發性記憶體120中所包括的記憶體單元陣列MCA的圖。圖24B是根據本發明概念示例性實施例的圖24A所示儲存區域122中所包括的記憶體區塊的圖。以下說明將參照圖1、圖24A及圖24B。
參照圖24A,元區域121包括多個映射表L2P_T1至L2P_T13,所述多個映射表L2P_T1至L2P_T13儲存與儲存在儲存區域122中的使用者資料相關的映射資訊。儲存區域122可在物理上或在邏輯上被劃分成各種單元。舉例來說,儲存區域122可包括多個平面PL1及PL2,所述多個平面PL1及PL2中的每一個可包括多個區塊BLK1及BLK2。每一個區塊BLK1或BLK2可為非揮發性記憶體120的擦除單元。即使在要刪除擦除單元(例如,區塊)的僅單個頁面時,這種刪除也可能需要刪除整個擦除單元。
參照圖24B,區塊BLK可對應於圖24A所示區塊BLK1及BLK2中的一個。區塊BLK可包括多個頁面PAGE1及PAGE2。頁面PAGE1及PAGE2中的每一個中包括的多個記憶體單元可連接到一條字線。非揮發性記憶體120的寫入/讀取單元可對應於每一個頁面的大小。舉例來說,當寫入單元是頁面的大小時,即使要將大小比頁面小的資料寫入非揮發性記憶體120,這種寫入也可能需要對整個頁面進行寫入。第一頁面PAGE1包括資料區域DA及備用區域SA。控制器110所請求寫入的使用者資料可被寫入到資料區域DA。
備用區域SA可為第一頁面PAGE1中的除數據區域DA之外的空閒空間。備用區域SA可儲存備用資料,例如是,恢復資訊。用於在儲存裝置100異常停止時恢復儲存在控制器110的元資料記憶元件MDS(例如,動態隨機存取記憶體)中的元資料的恢復資訊可被寫入備用區域SA。恢復資訊可包括與第一頁面PAGE1對應的邏輯位址(例如,LPN)。因此,可將儲存在元資料記憶元件MDS中的元資料與儲存在備用區域SA中的恢復資訊中所包括的邏輯位址進行比較,以判斷儲存在元資料記憶元件MDS中的元資料是有效的還是無效的。用於檢測及/或修正在要寫入資料區域DA的資料中出現的錯誤的錯誤檢查及修正奇偶性也可被寫入備用區域SA。
圖25是根據本發明概念示例性實施例的目錄DRT的圖。
參照圖25,目錄DRT可包括第一元物理位址MetaPPN1至第五元物理位址MetaPPN5,第一邏輯至物理映射表L2P_T1至第五邏輯至物理映射表L2P_T5分別在非揮發性記憶體120的元區域121中儲存在第一元物理位址MetaPPN1至第五元物理位址MetaPPN5處。第一元物理位址MetaPPN1至第五元物理位址MetaPPN5可被稱為第一目錄資料至第五目錄資料。舉例來說,第二邏輯至物理映射表L2P_T2可被儲存在元區域121的第二元物理位址MetaPPN2處,且第二元物理位址MetaPPN2可對應於元區域121的第二區塊BLK2的第一頁面PAGE1。
圖26是根據本發明概念示例性實施例的對目錄執行的不可修正的錯誤修正碼處理操作的圖。
參照圖22、圖25、及圖26,被載入到儲存裝置的揮發性記憶體(例如,動態隨機存取記憶體)的目錄51可包括第一目錄資料至第五目錄資料,第一目錄資料至第五目錄資料可分別對應於第一元物理位址MetaPPN1至第五元物理位址MetaPPN5。
不可修正的錯誤修正碼處理模組111a可基於儲存在物理區塊資訊區域112b中的物理區塊資訊BI來判斷第一目錄資料至第五目錄資料是否已損壞。舉例來說,不可修正的錯誤修正碼處理模組111a可判斷第二目錄資料是否與物理區塊資訊BI一致。當第二目錄資料與物理區塊資訊BI不一致時,不可修正的錯誤修正碼處理模組111a可判斷第二目錄資料是否是可恢復的。
當確定第二目錄資料是可恢復的時,不可修正的錯誤修正碼處理模組111a可恢復第二目錄資料且可根據第二目錄資料將第二邏輯至物理映射表L2P_T2從元區域121載入到動態隨機存取記憶體。在實施例中,當存在第二目錄資料的備份副本時,第二目錄資料是可恢復的。當從元區域121讀取第二邏輯至物理映射表L2P_T2的操作失敗且第二邏輯至物理映射表L2P_T2未被載入到動態隨機存取記憶體時,將第二邏輯至物理映射表L2P_T2中所包含的所有映射資料作為不可修正的錯誤修正碼錯誤進行處理。
舉例來說,可將第二邏輯至物理映射表L2P_T2儲存在與第二目錄資料對應的第二元物理位址MetaPPN2處。此時,由於第二目錄資料是作為不可修正的錯誤修正碼錯誤進行處理,因此可將與一個頁面大小對應的第二邏輯至物理映射表L2P_T2作為不可修正的錯誤修正碼錯誤進行處理。因此,當從主機接收到針對第二邏輯至物理映射表L2P_T2中所包括的邏輯位址的讀取請求時,儲存裝置可向主機提供錯誤消息,所述錯誤消息表示無法針對讀取請求進行讀取。
圖27是根據本發明概念示例性實施例在圖26所示不可修正的錯誤修正碼處理操作中在控制器110c與非揮發性記憶體120之間執行的操作的流程圖。控制器110c可對應於圖22所示控制器110c且非揮發性記憶體120可對應於圖1所示非揮發性記憶體120。以下說明參照圖22及圖27。
在操作S710中,向儲存裝置100供電。在操作S720中,非揮發性記憶體120向控制器110c傳送目錄,且因此目錄被載入到控制器110c中的記憶體MEMc。在操作S730中,控制器110c對載入到記憶體MEMc中的目錄進行檢查。在操作S740中,控制器110c判斷目錄中所包含的多個目錄資料是否已損壞。在操作S750中,控制器110c判斷已損壞的目錄資料是否是可恢復的。當確定所述已損壞的目錄資料是可恢復的時,執行操作S760。當確定所述已損壞的目錄資料是不可恢復的時,執行操作S780。在操作S760中,非揮發性記憶體120向控制器110c傳送元資料。在操作S770中,控制器110c判斷讀取是否失敗。所述讀取可基於所傳送的元資料。當確定讀取失敗時,執行操作S780。在操作S780中,控制器110c更新儲存在記憶體MEMc的映射表區域112a中的映射表。
圖28是根據本發明概念示例性實施例的控制器110d的方塊圖。
參照圖28,控制器110d是圖13所示控制器110b的修改形式。因此將不再對其重複說明予以贅述。不同於圖2所示元資料區域112,元資料區域112進一步包括儲存目錄的目錄區域112c。目錄區域112c可實質上相同於圖22所示目錄區域112c。因此將不再對其重複說明予以贅述。
記憶體MEMd包括錯誤檢查及修正模組113。錯誤檢查及修正模組113可對儲存在元資料區域112中的資料執行錯誤檢查及修正操作。在實施例中,錯誤檢查及修正模組113對被載入到目錄區域112c的目錄資料執行錯誤檢查及修正操作。錯誤檢查及修正模組113也可對被載入到邏輯至物理映射表區域112a的映射資料及被載入到物理區塊資訊區域112b的物理區塊資訊執行錯誤檢查及修正操作。
圖29是根據本發明概念示例性實施例的操作儲存裝置的方法的流程圖。
參照圖29,所述操作儲存裝置的方法涉及處理已損壞的目錄資料的方法且可包括例如在圖12所示儲存裝置100¢及圖28所示控制器110d中按時間循序執行的操作。以下將參照圖12、圖28及圖29來闡述所述操作儲存裝置100¢的方法。
在操作S610中,向儲存裝置100¢供電。在操作S620中,將儲存在非揮發性記憶體120中的目錄載入到揮發性記憶體MEMd。在實施例中,將儲存在非揮發性記憶體120的元區域121中的目錄載入到揮發性記憶體MEMd的目錄區域112c。在操作S630中,判斷多個目錄資料是否已損壞。在操作S670中,判斷錯誤位元的數目是否超過錯誤檢查及修正允許限值。當確定錯誤位元的數目超過錯誤檢查及修正允許限值時,執行操作S680。當確定錯誤位元的數目不超過錯誤檢查及修正允許限值時,執行操作S690。在操作S680中,將錯誤檢查及修正資料塊中的所包含的所有目錄資料作為不可修正的錯誤修正碼錯誤進行處理。在操作S690中,對錯誤位元進行恢復且將元資料載入到揮發性記憶體MEMd。
圖30是根據本發明概念示例性實施例的對目錄執行的不可修正的錯誤修正碼處理操作的圖。
參照圖28及圖30,第一錯誤檢查及修正資料塊53可被儲存在儲存裝置的揮發性記憶體MEMd中。揮發性記憶體MEMd可為動態隨機存取記憶體。第一錯誤檢查及修正資料塊53可包括多個目錄資料MetaPPN1至MetaPPN7及奇偶性。每一個目錄資料的大小可為4位元組,且第一錯誤檢查及修正資料塊53的大小可為32位元組,但本發明概念並非僅限於此。舉例來說,目錄資料MetaPPN2可具有超過錯誤檢查及修正允許限值的錯誤位元。
錯誤檢查及修正模組113可通過檢查奇偶性來檢測第一錯誤檢查及修正資料塊53中的錯誤位元並在錯誤檢查及修正允許限值內修正錯誤位元。然而,當所檢測的錯誤位元的數目超過錯誤檢查及修正允許限值時,錯誤檢查及修正模組113無法修正錯誤位元。因此,元資料處理模組MDP可確定第一錯誤檢查及修正資料塊53中所包含的所有目錄資料MetaPPN1至MetaPPN7均為不可恢復的目錄資料。
元資料處理模組MDP可根據第一錯誤檢查及修正資料塊53中所包含的目錄資料MetaPPN1至MetaPPN7的當前狀態來將奇偶性重置,並將所有目錄資料MetaPPN1至MetaPPN7作為不可修正的錯誤修正碼錯誤進行處理,從而將第一錯誤檢查及修正資料塊53修正成第二錯誤檢查及修正資料塊54。在修正之後,可執行不可修正的錯誤修正碼寫入操作以進行不可修正的錯誤修正碼處理。可對儲存裝置的非揮發性記憶體執行不可修正的錯誤修正碼寫入操作。作為另外一種選擇,可對儲存裝置的揮發性記憶體MEMd執行不可修正的錯誤修正碼寫入操作。
當與讀取請求一起從主機接收到的邏輯位址對應於與第二錯誤檢查及修正資料塊54中所包含的多個目錄資料中的一個目錄資料對應的映射表中所包含的映射資料時,儲存裝置可向主機提供錯誤消息,所述錯誤消息表示無法針對讀取請求進行讀取。
根據本發明概念的實施例,由於所有的第一目錄資料至第七目錄資料均作為不可修正的錯誤修正碼錯誤進行處理,因此分別儲存在第一元物理位址MetaPPN1至第七元物理位址MetaPPN7處的第一邏輯至物理映射表至第七邏輯至物理映射表均被作為不可修正的錯誤修正碼錯誤進行處理。舉例來說,與七個頁面的大小對應的所有的第一邏輯至物理映射表至第七邏輯至物理映射表可作為不可修正的錯誤修正碼錯誤進行處理。因此,第一邏輯至物理映射表至第七邏輯至物理映射表中的每一個中所包含的所有映射資料均作為不可修正的錯誤修正碼錯誤進行處理。舉例來說,當從主機接收到針對分別儲存在第一元物理位址MetaPPN1至第七元物理位址MetaPPN7處的第一邏輯至物理映射表至第七邏輯至物理映射表中的一個中所包括的邏輯位址的讀取請求時,儲存裝置可向主機提供錯誤消息,所述錯誤消息表示無法針對讀取請求進行讀取。
圖31是根據本發明概念示例性實施例的電子裝置1000的方塊圖。
參照圖31,電子裝置1000包括處理器1100、記憶體裝置1200、儲存裝置1300、數據機1400、輸入/輸出(input/output,I/O)裝置1500、及電源1600。當儲存裝置1300接收到與不可恢復的元資料相關的讀取請求時,儲存裝置1300可將元資料作為不可恢復的錯誤進行處理。之後,當儲存裝置1300接收到與未損壞或者是可恢復的元資料相關的讀取或寫入請求時,儲存裝置1300根據讀取請求執行讀取操作或者根據寫入請求執行寫入操作。因此,儲存裝置1300可連續地提供正常服務。
雖然本發明已以實施例揭露如上,然其並非用以限定本發明,任何所屬技術領域中具有通常知識者,在不脫離本發明的精神和範圍內,當可作些許的更動與潤飾,故本發明的保護範圍當視後附的申請專利範圍所界定者為準。
10‧‧‧儲存系統
11、13、15‧‧‧第一映射資訊
12、14、16‧‧‧第二映射資訊
17、36、38‧‧‧頁面
21、41‧‧‧第一元頁面
22、42‧‧‧第二元頁面
31、33、53‧‧‧第一錯誤檢查及修正資料塊
32、34、35、37、54‧‧‧第二錯誤檢查及修正資料塊
51‧‧‧目錄
100、100¢‧‧‧儲存裝置
110、110¢、110a、110b、110c、110d‧‧‧控制器
111‧‧‧快閃轉譯層
111a‧‧‧不可修正的錯誤修正碼處理模組
112、112'‧‧‧元資料區域
112a‧‧‧邏輯至物理映射表區域/映射表區域
112b‧‧‧物理區塊資訊區域
112c‧‧‧目錄區域
113‧‧‧錯誤檢查及修正模組
114‧‧‧處理器
115‧‧‧主機介面
116‧‧‧非揮發性記憶體介面
117‧‧‧唯讀記憶體
118‧‧‧匯流排
120‧‧‧非揮發性記憶體
121‧‧‧元區域
122‧‧‧儲存區域
200‧‧‧主機
1000‧‧‧電子裝置
1100‧‧‧處理器
1200‧‧‧記憶體裝置
1300‧‧‧儲存裝置
1400‧‧‧數據機
1500‧‧‧輸入/輸出裝置
1600‧‧‧電源
BI‧‧‧物理區塊資訊
BLK‧‧‧區塊
BLK1‧‧‧第一區塊/區塊
BLK2‧‧‧第二區塊/區塊
DA‧‧‧資料區域
DRT‧‧‧目錄
EC1、EC2、EC5‧‧‧映射錯誤檢查及修正資料塊
EC3‧‧‧第三映射錯誤檢查及修正資料塊/映射錯誤檢查及修正資料塊
EC4‧‧‧第四映射錯誤檢查及修正資料塊/映射錯誤檢查及修正資料塊
ECa、ECa¢‧‧‧第一剪裁錯誤檢查及修正資料塊
ECb‧‧‧第二剪裁錯誤檢查及修正資料塊
L2P、L2P_T、L2P_T1a‧‧‧邏輯至物理映射表
L2P_T1‧‧‧邏輯至物理映射表/映射表/第一邏輯至物理映射表
L2P_T1b‧‧‧映射表
L2P_T2‧‧‧第二邏輯至物理映射表/映射表
L2P_T3‧‧‧第三邏輯至物理映射表/映射表
L2P_T4‧‧‧第四邏輯至物理映射表/映射表
L2P_T5‧‧‧第五邏輯至物理映射表/映射表
L2P_T6~L2P_T11、L2P_T12、L2P_T13‧‧‧映射表
L2P_T1a'‧‧‧邏輯至物理映射表/映射表
LA‧‧‧邏輯位址
LPN1、LPN3、LPN4、LPN5‧‧‧邏輯位址
LPN2‧‧‧邏輯位址/第一邏輯位址
MCA‧‧‧記憶體單元陣列
MDP‧‧‧元資料處理模組
MDS‧‧‧元資料記憶元件
MEMa、MEMb‧‧‧記憶體
MEMc、MEMd‧‧‧記憶體/揮發性記憶體
MetaPPN1‧‧‧第一元物理位址/目錄資料
MetaPPN2‧‧‧第二元物理位址/目錄資料
MetaPPN3‧‧‧第三元物理位址/目錄資料
MetaPPN4‧‧‧第四元物理位址/目錄資料
MetaPPN5‧‧‧第五元物理位址/目錄資料
MetaPPN6‧‧‧第六元物理位址/目錄資料
MetaPPN7‧‧‧第七元物理位址/目錄資料
PA、PPN1¢、PPN2¢、PPN3¢、PPN4¢、PPN5¢、PPN6¢、PPN7¢‧‧‧新物理位址
PAGE1‧‧‧第一頁面/頁面
PAGE2‧‧‧第二頁面/頁面
PAGE3‧‧‧第三頁面/頁面
PAGE4‧‧‧第四頁面/頁面
PAGE5~PAGEm‧‧‧頁面
PL1、PL2‧‧‧平面
PPN1、PPN3、PPN4、PPN5、PPN6、PPN7‧‧‧映射資料/物理位址
PPN2‧‧‧物理位址/映射資料/第二物理位址
PPNa‧‧‧物理位址/正常物理位址
PPNa¢‧‧‧第一個已損壞的物理位址
PPNa²‧‧‧第二個已損壞的物理位址
PPNf‧‧‧固定的物理位址
PPNu‧‧‧物理位址
SIG UECC‧‧‧不可修正的錯誤修正碼簽名
S110、S120、S130、S140、S150、S210、S220、S230、S240、S250、S260、S310、S320、S330、S340、S350、S350a、S360、S360a、S370、S380、S390、S410、S420、S430、S440、S450、S510、S520、S530、S540、S550、S610、S620、S630、S640、S650、S660、S670、S680、S690、S710、S720、S730、S740、S750、S760、S770、S780‧‧‧操作
SA‧‧‧備用區域
WCMD‧‧‧寫入命令
圖1是根據本發明概念示例性實施例的儲存系統的方塊圖。 圖2是圖1所示控制器的實例的方塊圖。 圖3A是根據本發明概念示例性實施例的邏輯至物理(logical-to-physical,L2P)映射表的圖。 圖3B是根據本發明概念示例性實施例的物理區塊資訊的圖。 圖4是根據本發明概念示例性實施例的操作儲存裝置的方法的流程圖。 圖5是根據本發明概念示例性實施例的對不可恢復的元資料進行處理的操作的圖。 圖6是根據本發明概念示例性實施例的操作儲存裝置的方法的流程圖。 圖7A及圖7B是根據本發明概念示例性實施例的對映射資料執行不可修正的錯誤修正碼(uncorrectable error correction code,UECC)處理的操作的圖。 圖8是根據本發明概念示例性實施例在圖7A及圖7B所示不可修正的錯誤修正碼處理操作中在主機與控制器之間執行的操作的流程圖。 圖9A及圖9B是根據本發明概念示例性實施例的對映射資料執行的不可修正的錯誤修正碼處理操作的圖。 圖10是根據本發明概念示例性實施例在圖9A及圖9B所示不可修正的錯誤修正碼(UECC)處理操作中在主機、控制器、及非揮發性記憶體之間執行的操作的流程圖。 圖11是根據本發明概念示例性實施例對剪裁資料(trim data)執行的不可修正的錯誤修正碼(UECC)處理操作的圖。 圖12是根據本發明概念示例性實施例的儲存裝置的方塊圖。 圖13是圖12所示控制器的實例的方塊圖。 圖14是根據本發明概念示例性實施例的操作儲存裝置的方法的流程圖。 圖15是根據本發明概念示例性實施例的基於元資料中的錯誤位元的數目執行的錯誤檢查及修正(error checking and correction,ECC)操作的圖。 圖16是根據本發明概念示例性實施例的對不可恢復的元資料進行處理的操作的圖。 圖17A至圖19是根據本發明概念示例性實施例的對映射資料執行的不可修正的錯誤修正碼(UECC)處理操作的圖。 圖20是根據本發明概念示例性實施例的操作儲存裝置的方法的流程圖。 圖21是根據本發明概念示例性實施例的對不可恢復的剪裁資料執行的不可修正的錯誤修正碼(UECC)處理操作的圖。 圖22是根據本發明概念示例性實施例的控制器的方塊圖。 圖23是根據本發明概念示例性實施例的操作儲存裝置的方法的流程圖。 圖24A是根據本發明概念示例性實施例的圖1所示非揮發性記憶體中所包括的記憶體單元陣列的圖。 圖24B是根據本發明概念示例性實施例的圖24A所示儲存區域中所包括的記憶體區塊的圖。 圖25是根據本發明概念示例性實施例的目錄的圖。 圖26是根據本發明概念示例性實施例的對目錄執行的不可修正的錯誤修正碼處理操作的圖。 圖27是根據本發明概念示例性實施例在圖26所示不可修正的錯誤修正碼處理操作中在控制器與非揮發性記憶體之間執行的操作的流程圖。 圖28是根據本發明概念示例性實施例的控制器的方塊圖。 圖29是根據本發明概念實施例的操作儲存裝置的方法的流程圖。 圖30是根據本發明概念示例性實施例的對目錄執行的不可修正的錯誤修正碼處理操作的圖。 圖31是根據本發明概念示例性實施例的電子裝置的方塊圖。

Claims (25)

  1. 一種操作包括非揮發性記憶體及揮發性記憶體的儲存裝置的方法,包括: 從主機接收第一邏輯位址; 判斷儲存在所述揮發性記憶體中且與所述第一邏輯位址相關聯的第一元資料是否已損壞; 當確定所述第一元資料已損壞時,將所述第一元資料作為不可修正的錯誤進行處理; 在將所述第一元資料作為所述不可修正的錯誤進行處理時,向所述主機提供錯誤消息,所述錯誤消息表示無法對與所述第一邏輯位址相關聯的資料執行操作; 在提供所述錯誤消息之後,從所述主機接收第二邏輯位址; 判斷儲存在所述揮發性記憶體中且與所述第二邏輯位址相關聯的第二元資料是否損壞;以及 當確定所述第二元資料未損壞時,基於所述第二元資料來執行對所述非揮發性記憶體進行存取的操作。
  2. 如申請專利範圍第1項所述的方法,其中所述第一元資料包括映射資料,所述映射資料表示與所述第一邏輯位址對應的第一物理位址;以及 所述第一元資料的所述處理包括當所述映射資料是不可恢復的時,將所述映射資料作為所述不可修正的錯誤進行處理。
  3. 如申請專利範圍第2項所述的方法,其中所述判斷所述第一元資料是否已損壞包括:基於所述揮發性記憶體中儲存的物理區塊資訊來判斷所述映射資料是否已損壞。
  4. 如申請專利範圍第2項所述的方法,其中所述第一元資料的所述處理進一步包括:將所述第一物理位元址修正成第二物理位元址。
  5. 如申請專利範圍第4項所述的方法,其中所述第二物理位址對應於簽名,所述簽名表示不存在於所述非揮發性記憶體中的物理位址,且 所述提供所述錯誤消息包括:根據所述簽名將所述錯誤消息提供到所述主機而不存取所述非揮發性記憶體。
  6. 如申請專利範圍第4項所述的方法,其中所述第二物理位址對應於用於將表示所述不可修正的錯誤的資料儲存在所述非揮發性記憶體中的新物理位址,且所述第一元資料的所述處理進一步包括將所述資料寫入所述第二物理位址。
  7. 如申請專利範圍第1項所述的方法,其中所述第一元資料包括表示從所述主機擦除的資料的剪裁資料;且 所述第一元資料的所述處理包括:當所述剪裁資料是不可恢復的時,將與所述剪裁資料對應的映射資料作為所述不可修正的錯誤進行處理。
  8. 如申請專利範圍第1項所述的方法,其中所述揮發性記憶體包括錯誤檢查及修正模組;且 所述第一元資料的所述處理包括:當所述第一元資料無法通過所述錯誤檢查及修正模組進行修正時,將所述第一元資料作為所述不可修正的錯誤進行處理。
  9. 如申請專利範圍第8項所述的方法,其中所述第一元資料包括映射資料,所述映射資料表示與所述第一邏輯位址對應的第一物理位址,且 所述第一元資料的所述處理包括:將具有所述映射資料的錯誤檢查及修正資料塊中所包含的所有映射資料作為所述不可修正的錯誤進行處理。
  10. 如申請專利範圍第9項所述的方法,其中所述處理所有所述映射資料包括: 根據所述錯誤檢查及修正資料塊中所包含的所有所述映射資料來將所述錯誤檢查及修正資料塊的奇偶性重置;以及 將所述錯誤檢查及修正資料塊中所包含的所有所述映射資料的物理位址改變成經修正物理位址。
  11. 如申請專利範圍第10項所述的方法,其中所述經修正物理位址對應於簽名,所述簽名表示不存在於所述非揮發性記憶體中的物理位址。
  12. 如申請專利範圍第10項所述的方法,其中所述改變所述物理位址包括:將所述錯誤檢查及修正資料塊中所包含的所有所述映射資料的所述物理位址改變成不同的新物理位址,且 所述處理所有所述映射資料進一步包括將表示所述不可修正的錯誤的寫入資料寫入到所述不同的新物理位址中的每一個。
  13. 如申請專利範圍第10項所述的方法,其中所述改變所述物理位址包括:將所述錯誤檢查及修正資料塊中所包含的所有所述映射資料的所述物理位址改變成一個預定義物理位址,且 所述處理所有所述映射資料進一步包括:將表示所述不可修正的錯誤的資料寫入所述一個預定義物理位址。
  14. 如申請專利範圍第8項所述的方法,其中所述第一元資料包括表示與所述第一邏輯位址對應的第一物理位址的映射資料及表示從所述主機擦除的資料的剪裁資料,且 所述處理所述第一元資料包括將與所述剪裁資料對應的多個映射錯誤檢查及修正資料塊作為所述不可修正的錯誤進行處理。
  15. 如申請專利範圍第14項所述的方法,其中所述處理所述多個映射錯誤檢查及修正資料塊包括: 將具有所述剪裁資料的剪裁錯誤檢查及修正資料塊重置; 將所述映射錯誤檢查及修正資料塊中的每一個中所包含的所有映射資料作為所述不可修正的錯誤進行處理;以及 將所述映射錯誤檢查及修正資料塊中的每一個中所包含的所有所述映射資料的物理位址改變成經修正物理位址。
  16. 一種操作包括非揮發性記憶體及揮發性記憶體的儲存裝置的方法,包括: 當所述儲存裝置被供電時,將儲存在所述非揮發性記憶體中的目錄載入到所述揮發性記憶體,其中所述目錄包括多個目錄資料,所述多個目錄資料表示分別與多個元資料對應的物理位址; 判斷在被載入到所述揮發性記憶體的所述目錄中的所述多個目錄資料是否已損壞; 判斷被確定為已損壞的所述多個目錄資料中的第一目錄資料是否是可恢復的; 當所述第一目錄資料已損壞且是不可恢復的時,將與所述第一目錄資料對應的第一元資料作為不可修正的錯誤進行處理;以及 將與第二目錄資料對應的第二元資料從所述非揮發性記憶體載入到所述揮發性記憶體,其中所述第二目錄資料在所述多個目錄資料中未損壞。
  17. 如申請專利範圍第16項所述的方法,進一步包括: 從主機接收邏輯位址; 當所述邏輯位址對應於所述第一元資料時,向所述主機提供錯誤消息,所述錯誤消息表示無法對與所述邏輯位址相關聯的資料執行操作;以及 當所述邏輯位址對應於所述第二元資料時,執行所述操作。
  18. 如申請專利範圍第16項所述的方法,其中所述揮發性記憶體包括錯誤檢查及修正模組,且 所述處理所述第一元資料包括:當所述第一目錄資料無法通過所述錯誤檢查及修正模組進行修正時,將所述第一目錄資料作為所述不可修正的錯誤進行處理。
  19. 如申請專利範圍第18項所述的方法,其中所述處理所述第一目錄資料包括: 將具有所述第一目錄資料的錯誤檢查及修正資料塊中所包含的所有目錄資料作為所述不可修正的錯誤進行處理;以及 將與所有所述目錄資料對應的多個元資料作為所述不可修正的錯誤進行處理。
  20. 如申請專利範圍第16項所述的方法,進一步包括:將儲存在所述非揮發性記憶體中的所述多個元資料載入到所述揮發性記憶體, 其中所述多個元資料包括以下中的至少一個:表示與邏輯位址對應的物理位址的映射資料,表示與所述非揮發性記憶體中所包含的每一物理區塊的頁面有關的資訊的物理區塊資訊,或者表示從主機擦除的資料的剪裁資料。
  21. 如申請專利範圍第20項所述的方法,進一步包括: 從所述主機接收邏輯位址; 判斷被載入到所述揮發性記憶體的所述多個元資料中與所述邏輯位址相關的元資料是否已損壞; 當所述元資料已損壞時,將所述元資料作為所述不可修正的錯誤進行處理;以及 向所述主機提供錯誤消息,所述錯誤消息表示無法對與所述邏輯位址相關聯的資料執行操作。
  22. 一種儲存裝置,包括: 非揮發性記憶體;以及 控制器,包括揮發性記憶體,所述揮發性記憶體被配置成儲存與第一邏輯位址相關聯的第一元資料以及與第二邏輯位址相關聯的第二元資料, 其中,當所述控制器從主機接收所述第一邏輯位址時,所述控制器被配置成判斷所述第一元資料是否已損壞,如果所述元資料已損壞,則將所述第一元資料作為不可修正的錯誤進行處理,且 然後,當所述控制器從所述主機接收所述第二邏輯位址時,所述控制器被配置成判斷所述第二元資料是否已損壞,如果所述第二元資料未損壞,則基於所述第二元資料來控制對所述非揮發性記憶體進行存取的操作。
  23. 如申請專利範圍第22項所述的儲存裝置,其中所述第一元資料以及所述第二元資料包括以下中的至少一個:表示與邏輯位址對應的物理位址的映射資料,表示與所述非揮發性記憶體中所包含的每一物理區塊的頁面有關的資訊的物理區塊資訊,或表示從主機擦除的資料的剪裁資料。
  24. 如申請專利範圍第22項所述的儲存裝置,其中所述揮發性記憶體包括錯誤檢查及修正模組,且 當所述第一元資料已損壞且無法通過所述錯誤檢查及修正模組進行修正時,所述控制器進一步被配置成將具有所述第一元資料的錯誤檢查及修正資料塊中所包含的所有元資料作為所述不可修正的錯誤進行處理。
  25. 如申請專利範圍第22項所述的儲存裝置,其中所述揮發性記憶體進一步被配置成儲存目錄,所述目錄表示分別與所述第一元資料以及所述第二元資料對應的物理位址,且 所述控制器進一步被配置成判斷所述目錄中所包含的多個目錄資料是否已損壞,且將與所述多個目錄資料中已損壞的第一目錄資料對應的元資料作為所述不可修正的錯誤進行處理。
TW106137130A 2017-02-06 2017-10-27 儲存裝置及操作儲存裝置的方法 TWI741054B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
??10-2017-0016266 2017-02-06
KR10-2017-0016266 2017-02-06
KR1020170016266A KR20180091296A (ko) 2017-02-06 2017-02-06 손상된 메타 데이터를 처리하는 스토리지 장치 및 상기 스토리지 장치의 동작 방법

Publications (2)

Publication Number Publication Date
TW201830253A true TW201830253A (zh) 2018-08-16
TWI741054B TWI741054B (zh) 2021-10-01

Family

ID=62909802

Family Applications (1)

Application Number Title Priority Date Filing Date
TW106137130A TWI741054B (zh) 2017-02-06 2017-10-27 儲存裝置及操作儲存裝置的方法

Country Status (5)

Country Link
US (2) US10545830B2 (zh)
KR (1) KR20180091296A (zh)
CN (1) CN108399134B (zh)
DE (1) DE102017124079B4 (zh)
TW (1) TWI741054B (zh)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180091296A (ko) 2017-02-06 2018-08-16 삼성전자주식회사 손상된 메타 데이터를 처리하는 스토리지 장치 및 상기 스토리지 장치의 동작 방법
KR102557993B1 (ko) * 2018-10-02 2023-07-20 삼성전자주식회사 메모리 이용 효율을 향상한 보안 처리기를 포함하는 시스템 온 칩, 메모리 시스템 및 시스템 온 칩의 동작방법
US11416408B2 (en) 2019-07-05 2022-08-16 SK Hynix Inc. Memory system, memory controller and method for operating memory system
KR20200139433A (ko) 2019-06-04 2020-12-14 에스케이하이닉스 주식회사 컨트롤러의 동작 방법 및 메모리 시스템
US11422942B2 (en) * 2019-04-02 2022-08-23 SK Hynix Inc. Memory system for utilizing a memory included in an external device
KR20200137181A (ko) 2019-05-29 2020-12-09 에스케이하이닉스 주식회사 메모리 시스템에서 맵정보를 전송하는 장치
KR20200123684A (ko) 2019-04-22 2020-10-30 에스케이하이닉스 주식회사 메모리 시스템에서 맵 정보를 전송하는 장치
CN112130750B (zh) * 2019-06-25 2023-11-07 慧荣科技股份有限公司 数据储存装置以及非挥发式存储器控制方法
CN112882650B (zh) * 2019-11-29 2024-04-30 慧荣科技股份有限公司 数据储存装置以及非挥发式存储器控制方法
US11579970B2 (en) * 2020-07-30 2023-02-14 Micron Technology, Inc. Maintenance command interfaces for a memory system
KR20220023476A (ko) * 2020-08-21 2022-03-02 에스케이하이닉스 주식회사 레이드 데이터 저장 장치 및 이를 포함하는 데이터 저장 시스템
CN112634975A (zh) * 2020-12-24 2021-04-09 杭州华澜微电子股份有限公司 一种数据存储纠错方法、装置及电子设备
US11990200B2 (en) * 2021-01-28 2024-05-21 Micron Technology, Inc. Bit retiring to mitigate bit errors
TWI766582B (zh) * 2021-02-17 2022-06-01 群聯電子股份有限公司 有效資料合併方法、記憶體儲存裝置及記憶體控制電路單元
CN112925481B (zh) * 2021-03-09 2024-04-05 合肥兆芯电子有限公司 存储器管理方法、存储器存储装置及存储器控制电路单元
US11507296B2 (en) 2021-03-10 2022-11-22 Micron Technology, Inc. Repair operation techniques
EP4092539A1 (en) * 2021-05-17 2022-11-23 Elektrobit Automotive GmbH Re-partitioning of a flash memory device
CN113791930A (zh) * 2021-09-14 2021-12-14 浙江大华存储科技有限公司 读命令的处理方法和装置、存储介质及电子装置
US11960757B2 (en) 2021-10-04 2024-04-16 Samsung Electronics Co., Ltd. Flash translation layer with rewind

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7139864B2 (en) 2003-12-30 2006-11-21 Sandisk Corporation Non-volatile memory and method with block management system
US9286198B2 (en) 2005-04-21 2016-03-15 Violin Memory Method and system for storage of data in non-volatile media
US9495241B2 (en) * 2006-12-06 2016-11-15 Longitude Enterprise Flash S.A.R.L. Systems and methods for adaptive data storage
US9116823B2 (en) * 2006-12-06 2015-08-25 Intelligent Intellectual Property Holdings 2 Llc Systems and methods for adaptive error-correction coding
US8281227B2 (en) * 2009-05-18 2012-10-02 Fusion-10, Inc. Apparatus, system, and method to increase data integrity in a redundant storage system
US8307258B2 (en) * 2009-05-18 2012-11-06 Fusion-10, Inc Apparatus, system, and method for reconfiguring an array to operate with less storage elements
US8478796B2 (en) * 2010-03-23 2013-07-02 Apple Inc. Uncorrectable error handling schemes for non-volatile memories
KR101678919B1 (ko) 2011-05-02 2016-11-24 삼성전자주식회사 메모리 시스템 및 에러 정정 방법
KR101301828B1 (ko) 2011-09-29 2013-08-29 한양대학교 산학협력단 플래시 메모리에 기반한 ssd에서의 전원-손실 복구 방법 및 장치
US9037949B1 (en) 2012-06-21 2015-05-19 Rambus Inc. Error correction in a memory device
US8924832B1 (en) * 2012-06-26 2014-12-30 Western Digital Technologies, Inc. Efficient error handling mechanisms in data storage systems
US8990670B2 (en) * 2012-09-28 2015-03-24 Intel Corporation Endurance aware error-correcting code (ECC) protection for non-volatile memories
TWI514140B (zh) 2013-02-05 2015-12-21 Via Tech Inc 非揮發性記憶裝置及其操作方法
US20150032982A1 (en) 2013-07-26 2015-01-29 Fusion-Io, Inc. Systems and methods for storage consistency
US9292434B2 (en) 2013-08-22 2016-03-22 CNEXLABS, Inc. Method and apparatus for restoring flash translation layer (FTL) in non-volatile storage device
KR101548452B1 (ko) * 2014-02-11 2015-08-28 한양대학교 산학협력단 비휘발성 메모리 기반의 전자 장치의 메타 데이터 복원 방법 및 장치
US9317357B2 (en) 2014-03-20 2016-04-19 International Business Machines Corporation Management of microcode errors in a storage operation
KR102147970B1 (ko) * 2014-08-05 2020-08-25 삼성전자주식회사 비휘발성 메모리 기반의 스토리지 디바이스의 복구 방법 및 상기 스토리지 디바이스를 포함하는 전자 시스템의 동작 방법
US9959059B2 (en) * 2014-10-20 2018-05-01 Sandisk Technologies Llc Storage error management
KR20180091296A (ko) 2017-02-06 2018-08-16 삼성전자주식회사 손상된 메타 데이터를 처리하는 스토리지 장치 및 상기 스토리지 장치의 동작 방법
US10489244B2 (en) * 2017-10-03 2019-11-26 Microsoft Technology Licensing, Llc Systems and methods for detecting and correcting memory corruptions in software

Also Published As

Publication number Publication date
US10545830B2 (en) 2020-01-28
US11113149B2 (en) 2021-09-07
DE102017124079A1 (de) 2018-08-09
TWI741054B (zh) 2021-10-01
CN108399134A (zh) 2018-08-14
US20200167231A1 (en) 2020-05-28
US20180225176A1 (en) 2018-08-09
DE102017124079B4 (de) 2022-05-05
CN108399134B (zh) 2021-12-17
KR20180091296A (ko) 2018-08-16

Similar Documents

Publication Publication Date Title
TWI741054B (zh) 儲存裝置及操作儲存裝置的方法
US10013307B1 (en) Systems and methods for data storage devices to use external resources
TWI720588B (zh) 用以在記憶裝置中進行存取管理的方法、相關記憶裝置及其控制器以及相關電子裝置
US10289323B2 (en) Handling thermal shutdown for memory devices
US8055873B2 (en) Data writing method for flash memory, and controller and system using the same
TWI502594B (zh) 用於快閃儲存裝置之半區塊管理
US20190324859A1 (en) Method and Apparatus for Restoring Data after Power Failure for An Open-Channel Solid State Drive
US20170206033A1 (en) Mechanism enabling the use of slow memory to achieve byte addressability and near-dram performance with page remapping scheme
US10866906B2 (en) Address mapping method and operation method of storage device
US10459803B2 (en) Method for management tables recovery
KR20210001508A (ko) 메모리 시스템의 MLC(Multi Level Cell)영역에 데이터를 안전하게 저장하기 위한 장치 및 그 방법
KR20200122685A (ko) 메모리 시스템 내에서 서로 다른 종류의 데이터를 처리하기 위한 장치 및 방법
KR20190048457A (ko) 메모리 시스템 및 그것의 동작방법
TWI693520B (zh) 用來於一記憶裝置中進行系統備份的方法、相關記憶裝置及其控制器、以及相關電子裝置
US11314653B2 (en) Memory controller
CN113590503A (zh) 一种非挥发性记忆体存储器的垃圾回收方法与垃圾回收系统
CN113590502A (zh) 一种非挥发性记忆体存储设备的垃圾回收方法与垃圾回收系统
TW201935232A (zh) 記憶體管理方法及使用所述方法的儲存控制器
US11144380B2 (en) Memory controller and storage device including the same
US20190361608A1 (en) Data storage device and operation method for recovery, and storage system having the same
US11620057B2 (en) Storage device and operating method thereof
US11281381B2 (en) Storage node of distributed storage system and method of operating the same
US11662940B2 (en) Data storage device and data processing method for restoring MLC/TLC memory to avoid degradation of access performance of a memory device caused by word line short
US20210132848A1 (en) Memory system and controller
CN111752475A (zh) 在存储服务器中进行数据存取管理的方法与装置