TWI661353B - 用來於一記憶裝置中為錯誤處置進行資料處理之方法、記憶裝置及其控制器以及電子裝置 - Google Patents

用來於一記憶裝置中為錯誤處置進行資料處理之方法、記憶裝置及其控制器以及電子裝置 Download PDF

Info

Publication number
TWI661353B
TWI661353B TW106129536A TW106129536A TWI661353B TW I661353 B TWI661353 B TW I661353B TW 106129536 A TW106129536 A TW 106129536A TW 106129536 A TW106129536 A TW 106129536A TW I661353 B TWI661353 B TW I661353B
Authority
TW
Taiwan
Prior art keywords
data
volatile memory
controller
memory
circuit
Prior art date
Application number
TW106129536A
Other languages
English (en)
Other versions
TW201913354A (zh
Inventor
謝閎恩
吳哲逸
Original Assignee
慧榮科技股份有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 慧榮科技股份有限公司 filed Critical 慧榮科技股份有限公司
Priority to TW106129536A priority Critical patent/TWI661353B/zh
Priority to US15/865,266 priority patent/US10942803B2/en
Priority to CN201810664948.5A priority patent/CN109426582B/zh
Publication of TW201913354A publication Critical patent/TW201913354A/zh
Application granted granted Critical
Publication of TWI661353B publication Critical patent/TWI661353B/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/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/1012Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using codes or arrangements adapted for a specific type of error
    • 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/1048Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using arrangements adapted for a specific error detection or correction feature
    • 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/1004Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum
    • 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/1064Adding 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 cache or content addressable memories
    • 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/1076Parity data used in redundant arrays of independent storages, e.g. in RAID systems
    • G06F11/108Parity data distribution in semiconductor storages, e.g. in SSD
    • 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
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/09Error detection only, e.g. using cyclic redundancy check [CRC] codes or single parity bit

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)
  • Computer Security & Cryptography (AREA)
  • Probability & Statistics with Applications (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

本發明提供一種用來於一記憶裝置中為錯誤處置進行資料處理之方法、相關之記憶裝置及其控制器以及相關之電子裝置。該方法可包含:將一組資料之一碼字寫入揮發性記憶體,其中該碼字包含該組資料與奇偶校驗碼;從該揮發性記憶體讀取該碼字,以產生該碼字之讀出資料;依據該組資料之讀出版本以及該奇偶校驗碼之讀出版本判斷該些讀出資料是否正確;以及當判斷該些讀出資料為正確時,輸出該組資料之該讀出版本作為該組資料以供該處理電路進一步使用,否則,傳送一預定訊號至該處理電路、且將關於該組資料之錯誤資訊儲存於該控制器之一暫存器中。

Description

用來於一記憶裝置中為錯誤處置進行資料處理之方法、記憶裝置及其控制器以及電子裝置
本發明係有關於快閃記憶體(Flash memory)之存取(access),尤指一種用來於一記憶裝置中為錯誤處置(error handling)進行資料處理之方法、相關之記憶裝置及其控制器以及相關之電子裝置。
近年來由於記憶體的技術不斷地發展,各種可攜式或非可攜式記憶裝置(例如:符合SD/MMC、CF、MS、XD或UFS標準之記憶卡;又例如:固態硬碟;又例如:符合UFS或EMMC規格之嵌入式(embedded)儲存裝置)被廣泛地實施於諸多應用中。因此,這些記憶裝置中之記憶體的存取控制遂成為相當熱門的議題。
以常用的NAND型快閃記憶體而言,其主要可區分為單階細胞(single level cell, SLC)與多階細胞(multiple level cell, MLC)兩大類之快閃記憶體。單階細胞快閃記憶體中之每個被當作記憶細胞(memory cell)的電晶體只有兩種電荷值,分別用來表示邏輯值0與邏輯值1。另外,多階細胞快閃記憶體中之每個被當作記憶單元的電晶體的儲存能力則被充分利用,係採用較高的電壓來驅動,以透過不同級別的電壓在一個電晶體中記錄至少兩組位元資訊(諸如00、01、11、10);理論上,多階細胞快閃記憶體的記錄密度可以達到單階細胞快閃記憶體的記錄密度之至少兩倍,這對於曾經在發展過程中遇到瓶頸的NAND型快閃記憶體之相關產業而言,是非常好的消息。
相較於單階細胞快閃記憶體,由於多階細胞快閃記憶體之價格較便宜,並且在有限的空間裡可提供較大的容量,故多階細胞快閃記憶體很快地成為市面上之記憶裝置競相採用的主流。然而,多階細胞快閃記憶體的不穩定性所導致的問題也一一浮現。為了確保記憶裝置對快閃記憶體之存取控制能符合相關規範,快閃記憶體的控制器通常備有某些管理機制以妥善地管理資料之存取。
依據相關技術,有了這些管理機制的記憶裝置還是有不足之處。舉例來說,用來暫時儲存資料之靜態隨機存取記憶體(Static Random Access Memory, SRAM)可能採用先進製程諸如16奈米(nanometer, nm)製程來實施。此狀況下,其內的資料可能因為外在的溫度或其它因素的影響,而有某個位元(bit)被翻轉。若上述資料是重要的系統資料,則位元翻轉可能造成系統當機(crash)。因此,需要一種新穎的方法及相關架構,以在沒有副作用或較不可能帶來副作用之狀況下提昇記憶裝置之效能。
本發明之一目的在於提供一種用來於一記憶裝置中為錯誤處置(error handling)進行資料處理之方法、相關之記憶裝置及其控制器以及相關之電子裝置,以解決上述問題。
本發明之另一目的在於提供一種用來於一記憶裝置中為錯誤處置進行資料處理之方法、相關之記憶裝置及其控制器以及相關之電子裝置,以在沒有副作用或較不可能帶來副作用之狀況下提昇記憶裝置之效能。
本發明之至少一實施例提供一種用來於一記憶裝置中為錯誤處置進行資料處理之方法,其中該記憶裝置包含一非揮發性記憶體(non-volatile memory, NV memory),且該非揮發性記憶體包含至少一非揮發性記憶體元件(NV memory element)。該方法可包含:當該記憶裝置之一控制器正在控制該記憶裝置之至少一運作時,從該控制器之一處理電路接收一組資料,以供寫入該控制器之一揮發性記憶體,其中該控制器係位於該記憶裝置中、且位於該至少一非揮發性記憶體元件以外,該處理電路與該揮發性記憶體中之任一者係位於該控制器中、且位於該處理電路與該揮發性記憶體中之另一者以外,以及該組資料係關於該控制器所控制的該至少一運作;於將該組資料寫入該揮發性記憶體之前,對該組資料進行編碼以產生該組資料之一奇偶校驗碼(parity-check code);將該組資料之一碼字(codeword)寫入該揮發性記憶體,其中該碼字包含該組資料與該奇偶校驗碼;從該揮發性記憶體讀取該碼字,以產生該碼字之讀出資料,其中該些讀出資料包含該組資料之一讀出版本以及該奇偶校驗碼之一讀出版本;依據該組資料之該讀出版本以及該奇偶校驗碼之該讀出版本,判斷該些讀出資料是否正確;以及當判斷該些讀出資料為正確時,輸出該組資料之該讀出版本作為該組資料以供該處理電路進一步使用,否則,傳送一預定訊號至該處理電路、且將關於該組資料之錯誤資訊儲存於該控制器之一暫存器中,其中該暫存器係位於該控制器中、且位於該處理電路與該揮發性記憶體中之任一者以外。
本發明之至少一實施例提供一種記憶裝置,其可包含:一非揮發性記憶體,用來儲存資訊,其中該非揮發性記憶體包含至少一非揮發性記憶體元件;以及一控制器,耦接至該非揮發性記憶體,用來控制該記憶裝置之至少一運作。該控制器可包含一處理電路、一揮發性記憶體、一編碼及解碼電路以及一暫存器,其中該編碼及解碼電路包含一編碼器電路與一解碼器電路,該編碼器電路與該解碼器電路中之每一者係耦接至該處理電路與該揮發性記憶體,且該暫存器係耦接至該解碼器電路。例如:該處理電路可依據來自一主裝置(host device)的一指令控制該控制器,以容許該主裝置透過該控制器存取(access)該非揮發性記憶體。該揮發性記憶體可提供內部儲存空間給該控制器,以容許該控制器控制該記憶裝置之該至少一運作。該編碼及解碼電路可進行資料處理。另外,當該控制器正在控制該記憶裝置之該至少一運作時,該編碼器電路可從該處理電路接收一組資料,以供寫入該揮發性記憶體,其中該組資料係關於該控制器所控制的該至少一運作。於將該組資料寫入該揮發性記憶體之前,該編碼器電路可對該組資料進行編碼以產生該組資料之一奇偶校驗碼。該編碼器電路可將該組資料之一碼字寫入該揮發性記憶體,其中該碼字包含該組資料與該奇偶校驗碼。此外,該解碼器電路可從該揮發性記憶體讀取該碼字,以產生該碼字之讀出資料,其中該些讀出資料包含該組資料之一讀出版本以及該奇偶校驗碼之一讀出版本。該解碼器電路可依據該組資料之該讀出版本以及該奇偶校驗碼之該讀出版本,判斷該些讀出資料是否正確。當判斷該些讀出資料為正確時,該解碼器電路可輸出該組資料之該讀出版本作為該組資料以供該處理電路進一步使用,否則,該解碼器電路可傳送一預定訊號至該處理電路、且將關於該組資料之錯誤資訊儲存於該暫存器中,其中該暫存器可用來儲存關於該組資料之該錯誤資訊。
依據某些實施例,本發明另提供一種電子裝置,其可包含上述之記憶裝置,且另包含:該主裝置,耦接至該記憶裝置。該主裝置可包含:至少一處理器,用來控制該主裝置之運作。另外,該記憶裝置可用來提供儲存空間給該主裝置。
本發明之至少一實施例提供一種記憶裝置之控制器,其中該記憶裝置包含該控制器與一非揮發性記憶體,且該非揮發性記憶體包含至少一非揮發性記憶體元件。該控制器可包含一處理電路、一揮發性記憶體、一編碼及解碼電路以及一暫存器,其中該編碼及解碼電路包含一編碼器電路與一解碼器電路,該編碼器電路與該解碼器電路中之每一者係耦接至該處理電路與該揮發性記憶體,且該暫存器係耦接至該解碼器電路。例如:該處理電路可依據來自一主裝置的一指令控制該控制器,以容許該主裝置透過該控制器存取該非揮發性記憶體。該揮發性記憶體可提供內部儲存空間給該控制器,以容許該控制器控制該記憶裝置之該至少一運作。該編碼及解碼電路可進行資料處理。另外,當該控制器正在控制該記憶裝置之該至少一運作時,該編碼器電路可從該處理電路接收一組資料,以供寫入該揮發性記憶體,其中該組資料係關於該控制器所控制的該至少一運作。於將該組資料寫入該揮發性記憶體之前,該編碼器電路可對該組資料進行編碼以產生該組資料之一奇偶校驗碼。該編碼器電路可將該組資料之一碼字寫入該揮發性記憶體,其中該碼字包含該組資料與該奇偶校驗碼。此外,該解碼器電路可從該揮發性記憶體讀取該碼字,以產生該碼字之讀出資料,其中該些讀出資料包含該組資料之一讀出版本以及該奇偶校驗碼之一讀出版本。該解碼器電路可依據該組資料之該讀出版本以及該奇偶校驗碼之該讀出版本,判斷該些讀出資料是否正確。當判斷該些讀出資料為正確時,該解碼器電路可輸出該組資料之該讀出版本作為該組資料以供該處理電路進一步使用,否則,該解碼器電路可傳送一預定訊號至該處理電路、且將關於該組資料之錯誤資訊儲存於該暫存器中,其中該暫存器可用來儲存關於該組資料之該錯誤資訊。
本發明的好處之一是,本發明能針對該控制器的運作進行妥善的控制,以避免記憶裝置中不明原因的錯誤變得無法追蹤。另外,依據本發明之相關實施例來實施並不會增加許多額外的成本。因此,相關技術的問題可被解決,且整體成本不會增加太多。相較於相關技術,本發明能在沒有副作用或較不可能帶來副作用之狀況下提昇記憶裝置之效能。
I. 記憶體系統
第1圖為依據本發明一實施例之一種電子裝置10的示意圖,其中電子裝置10包含一主裝置(host device)50與一記憶裝置100。主裝置50可包含至少一處理器(未顯示),其可用來控制主裝置50之運作,而記憶裝置100可用來提供儲存空間給主裝置50。主裝置50的例子可包含(但不限於):多功能行動電話(multifunctional mobile phone)、平板電腦(tablet)、可穿戴裝置(wearable device)以及個人電腦(personal computer)諸如桌上型電腦與膝上型電腦。記憶裝置100的例子可包含(但不限於):可攜式記憶裝置(諸如符合SD/MMC、CF、MS、XD或UFS標準之記憶卡)、固態硬碟(solid state drive, SSD)以及各種嵌入式(embedded)儲存裝置(諸如符合UFS或EMMC規格之嵌入式儲存裝置)。依據本實施例,記憶裝置100可包含一控制器諸如記憶體控制器110,且可另包含一非揮發性記憶體(non-volatile memory, NV memory)120,其中該控制器係用來存取(access)非揮發性記憶體120,且非揮發性記憶體120係用來儲存資訊。非揮發性記憶體120可包含至少一非揮發性記憶體元件(NV memory element)(例如一或多個非揮發性記憶體元件),諸如複數個非揮發性記憶體元件122-1、122-2、…與122-N,其中符號「N」可代表大於一的正整數。例如:非揮發性記憶體120可為一快閃記憶體(Flash memory),而非揮發性記憶體元件122-1、122-2、…與122-N可分別為複數個快閃記憶體晶片(Flash memory chip;可簡稱為快閃晶片)或複數個快閃記憶體裸晶(Flash memory die;可簡稱為快閃裸晶),但本發明不限於此。
如第1圖所示,記憶體控制器110可包含處理電路諸如微處理器112、儲存器諸如唯讀記憶體(Read Only Memory, ROM)112M、控制邏輯電路114、編碼及解碼電路115、揮發性記憶體116與傳輸介面電路118,其中這些元件中之至少一部分(例如一部分或全部)可透過匯流排彼此耦接。揮發性記憶體116係以隨機存取記憶體(Random Access Memory, RAM)來實施。例如揮發性記憶體116可為靜態隨機存取記憶體(Static RAM, SRAM),但本發明不限於此。揮發性記憶體116可用來提供內部儲存空間給記憶體控制器110,例如可暫時地儲存資料,且編碼及解碼電路115可用來進行資料處理,例如可為錯誤處置(error handling)進行資料處理,但本發明不限於此。另外,本實施例之唯讀記憶體112M係用來儲存一程式碼112C,而微處理器112則用來執行程式碼112C以控制對非揮發性記憶體120之存取。請注意,程式碼112C亦得儲存在揮發性記憶體116或任何形式之記憶體內。此外,控制邏輯電路114可包含一錯誤更正碼電路(未顯示),以保護資料、及/或進行錯誤更正,而傳輸介面電路118可符合一特定通訊標準(諸如串列高級技術附件(Serial Advanced Technology Attachment, SATA)標準、通用序列匯流排(Universal Serial Bus, USB)標準、快捷外設互聯(Peripheral Component Interconnect Express, PCIE)標準、嵌入式多媒體記憶卡(embedded Multi Media Card, eMMC)標準、或通用快閃記憶體儲存(Universal Flash Storage, UFS)標準)且可依據該特定通訊標準進行通訊。
於本實施例中,主裝置50可藉由傳送主裝置指令(host command)與對應的邏輯位址予記憶體控制器110來間接地存取記憶裝置100。記憶體控制器110接收主裝置指令與邏輯位址,並將主裝置指令轉譯成記憶體操作指令(可簡稱為操作指令),再以操作指令控制非揮發性記憶體120讀取或寫入(write)/編程(program)非揮發性記憶體120當中特定實體位址之記憶單位(memory unit)或資料頁(page),其中實體位址對應於邏輯位址。
II. 資料處理暨錯誤處置架構
記憶體控制器110可從主裝置50接收多個主裝置指令且執行該多個主裝置指令,並且回傳操作結果至主裝置50。尤其是,微處理器112可依據來自主裝置50的一指令(例如該多個主裝置指令中之任一者)控制記憶體控制器110,以容許主裝置50透過記憶體控制器110存取非揮發性記憶體120。在記憶體控制器110正在控制記憶裝置100的期間,揮發性記憶體116諸如靜態隨機存取記憶體中的資料可能不預期地改變,例如外在的溫度或其它因素可能導致資料中之某個位元被翻轉。此狀況下,假設忽略位元翻轉且不理會它,可能發生系統錯誤或系統當機。本發明採用資料處理暨錯誤處置架構來管理記憶體系統,可有效地降低系統錯誤或系統當機的發生之機率,並可提昇記憶裝置100之整體效能。
第2圖繪示第1圖所示記憶裝置100於一實施例中之實施細節。編碼及解碼電路115可包含編碼器電路210與解碼器電路220,且記憶體控制器110可包含暫存器230,其中編碼器電路210與解碼器電路220中之每一者係耦接至微處理器112與揮發性記憶體116,且暫存器230係耦接至解碼器電路220。依據本實施例,微處理器112可位於記憶體控制器110之一第一電源域(power domain)DOMAIN(1),且暫存器230可位於記憶體控制器110之一第二電源域DOMAIN(2)。第一電源域DOMAIN(1)與第二電源域DOMAIN(2)係彼此獨立。例如第二電源域DOMAIN(2)可被安排持續地供電給暫存器230,不論第一電源域DOMAIN(1)中是否發生停電(power failure)。另外,編碼器電路可進行編碼,例如可將64位元的資料轉換為72位元的編碼後資料並將編碼後資料儲存進入揮發性記憶體116,但本發明不限於此。解碼器電路220可進行解碼,例如可將72位元的編碼後資料轉換為64位元的資料且偵測是否發生位元翻轉,但本發明不限於此。當發生位元翻轉時,解碼器電路220可將相關資訊(諸如錯誤資訊)儲存於暫存器230,且可輸出一預定訊號INT至微處理器112以通知微處理器122,其中預定訊號INT可為中斷訊號,但本發明不限於此。例如:位元翻轉可能導致微處理器112故障(malfunction)(尤其是,發生系統錯誤或系統當機),且因此第一電源域DOMAIN(1)中可能發生短暫時間的停電。此狀況下,由於第二電源域DOMAIN(2)持續地供電給暫存器230,故微處理器122可於恢復正常運作時從暫存器230取得相關資訊諸如錯誤資訊)以供進一步處理。又例如:位元翻轉可能並未導致微處理器112故障。此狀況下,微處理器122可即時進行至少一復原(recovery)運作,其可基於儲存於暫存器230中之相關資訊(諸如錯誤資訊)來進行,但本發明不限於此。上述至少一復原運作的例子可包含(但不限於):重新取得正確的資料、重新進行資料存取以及重新進行對應的運作。
III. 系統管理
第3圖為依據本發明一實施例之一種用來於一記憶裝置中為錯誤處置進行資料處理之方法300的流程圖,其中方法300可應用於電子裝置10及記憶裝置100,且可應用於該控制器諸如記憶體控制器110。例如:在該處理電路諸如微處理器112之控制下,記憶體控制器110可控制記憶裝置100之至少一運作。
在步驟310中,當記憶體控制器110正在控制記憶裝置100之該至少一運作時,編碼器電路210可從該處理電路諸如微處理器112接收一組資料,以供寫入揮發性記憶體116,其中該組資料係關於記憶體控制器110所控制的該至少一運作。
在步驟312中,於將該組資料寫入揮發性記憶體116之前,編碼器電路210可對該組資料進行編碼以產生該組資料之一奇偶校驗碼(parity-check code)。
在步驟314中,編碼器電路210可將該組資料之一碼字(codeword)寫入揮發性記憶體116,其中該碼字包含該組資料與該奇偶校驗碼。
在步驟320中,解碼器電路220可從揮發性記憶體116讀取該碼字,以產生該碼字之讀出資料,其中該些讀出資料包含該組資料之一讀出版本以及該奇偶校驗碼之一讀出版本。
在步驟322中,解碼器電路220可依據該組資料之該讀出版本以及該奇偶校驗碼之該讀出版本,判斷該些讀出資料是否正確。當判斷該些讀出資料為正確時,進入步驟324;否則,進入步驟326。
在步驟324中,解碼器電路220可輸出該組資料之該讀出版本作為該組資料,以供該處理電路諸如微處理器112進一步使用。
在步驟326中,解碼器電路220可傳送預定訊號INT至該處理電路諸如微處理器112、且將關於該組資料之錯誤資訊儲存於暫存器230中。例如:因應該組資料之該讀出版本,微處理器112可能故障,其中第二電源域DOMAIN(2)可持續地供電給暫存器230,以保護暫存器230中之該錯誤資訊。又例如:微處理器112可能並未故障,並可依據暫存器230中之該錯誤資訊進行上述至少一復原運作,但本發明不限於此。
依據本實施例,記憶體控制器110(例如微處理器112或解碼器電路220)可將暫存器230中之該錯誤資訊儲存至非揮發性記憶體120中,以供進一步處理。另外,暫存器230中之該錯誤資訊可包含揮發性記憶體116之一記憶體位址,且該記憶體位址可指出揮發性記憶體116當中用來儲存該組資料的位置。例如,該錯誤資訊可另包含揮發性記憶體116之一硬體辨識碼,且該硬體辨識碼可用來辨識揮發性記憶體116,但本發明不限於此。此外,預定訊號INT可指出關於該些讀出資料之一記憶體錯誤的發生。例如,因應微處理器112所執行之一讀取運作,該碼字之該些讀出資料可從揮發性記憶體116被讀取出來。當偵測到該記憶體錯誤發生時(假設該些讀出資料中之某一位元已被翻轉),微處理器112已執行下一運作,其中下一運作可能是基於該些讀出資料,諸如有誤的資料。雖然微處理器112可能沒有時間處理該記憶體錯誤,微處理器112可進行上述至少一復原運作。
依據某些實施例,記憶體控制器110所控制的該至少一運作可包含下列運作中之至少一者:存取(例如讀取或寫入/編程)非揮發性記憶體120;以及對非揮發性記憶體120進行資料管理(例如垃圾收集(garbage collection)或耗損平均(wear leveling))。
第4圖繪示第3圖所示方法300於一實施例中之資料處理方案。編碼及解碼電路115可包含至少一互斥或(exclusive OR, XOR)電路,諸如互斥或電路410。例如:編碼器電路210可包含互斥或電路410,且解碼器電路220可包含互斥或電路410之一複製品,但本發明不限於此。依據某些實施例,編碼器電路210可包含互斥或電路410,且解碼器電路220可共享互斥或電路410。
如第4圖所示,互斥或電路410可包含多個互斥或閘(XOR gate),分別用來進行互斥或運算。位於最左側的四個互斥或閘可分別接收一個位元組(byte)中之位元{B0, B1, B2, B3, B4, B5, B6, B7},位於中央的兩個互斥或閘可分別接收這四個互斥或閘之互斥或運算結果,且位於最右側的一個互斥或閘可接收這兩個互斥或閘之互斥或運算結果,其中互斥或電路410可利用這一個互斥或閘之互斥或運算結果,作為位元{B0, B1, B2, B3, B4, B5, B6, B7}之奇偶校驗碼P,但本發明不限於此。依據本實施例,在步驟312中,編碼器電路210可利用互斥或電路410對該組資料中之任一位元組進行編碼,其中這個位元組之各個位元可被接收作為位元{B0, B1, B2, B3, B4, B5, B6, B7},且奇偶校驗碼P可被輸出作為這個位元組之奇偶校驗碼,諸如該組資料之該奇偶校驗碼之一子集合。另外,在步驟322中,解碼器電路220可利用互斥或電路410之該複製品對該組資料之該讀出版本進行編碼以產生另一奇偶校驗碼,尤其是,可對該組資料之該讀出版本中之任一位元組進行編碼以產生這個位元組之奇偶校驗碼,諸如該另一奇偶校驗碼之一子集合。解碼器電路220可比較該奇偶校驗碼之該讀出版本以及該另一奇偶校驗碼以判斷該些讀出資料是否正確。例如:當該奇偶校驗碼之該讀出版本以及該另一奇偶校驗碼係彼此相同,則解碼器電路220可判斷該些讀出資料為正確,所以進入可步驟324;否則,解碼器電路220可判斷該些讀出資料為錯誤,所以進入可步驟326。本實施例與前述實施例相仿的內容在此不重複贅述。
第5圖繪示第3圖所示方法300於一實施例中之編碼及測試方案。在步驟312中,編碼器電路210可利用互斥或電路410分別對該組資料中之八個位元組{Byte7, Byte6, Byte5, Byte4, Byte3, Byte2, Byte1, Byte0}進行編碼以產生對應的奇偶校驗碼{ P7, P6, P5, P4, P3, P2, P1, P0},且輸出編碼後資料{P7, Byte7, P6, Byte6, P5, Byte5, P4, Byte4, P3, Byte3, P2, Byte2, P1, Byte1, P0, Byte0}。另外,記憶體控制器110(例如微處理器110)可利用致能訊號PARITY_INV_EN致能(enable)或控制一特定奇偶校驗碼位元翻轉,以供測試本發明的錯誤處置架構。
第6圖繪示第3圖所示方法300於一實施例中之解碼及錯誤偵測方案。在步驟322中,解碼器電路220可利用互斥或電路410之該複製品對該組資料之該讀出版本,諸如編碼後資料{P7, Byte7, P6, Byte6, P5, Byte5, P4, Byte4, P3, Byte3, P2, Byte2, P1, Byte1, P0, Byte0},進行編碼以產生該另一奇偶校驗碼。於是,解碼器電路220可比較該奇偶校驗碼之該讀出版本以及該另一奇偶校驗碼以判斷該些讀出資料是否正確。例如:在步驟324中,解碼器電路220可輸出這八個位元組{Byte7, Byte6, Byte5, Byte4, Byte3, Byte2, Byte1, Byte0}。又例如:在步驟326中,解碼器電路220可輸出錯誤資訊訊號SERR_ERROR_ADDR至暫存器230,以將關於該組資料之錯誤資訊儲存於暫存器230中,其中錯誤資訊訊號SERR_ERROR_ADDR可載有揮發性記憶體116之一記憶體位址,諸如發生錯誤的位置。解碼器電路220可輸出錯誤資訊訊號SERR_ERROR_EVENT至微處理器112,以告知此錯誤之相關資訊,其中錯誤資訊訊號SERR_ERROR_EVENT可作為預定訊號INT之另一例。另外,記憶體控制器110(例如微處理器110)可利用致能訊號PARITY_DETECT_EN致能或禁能(disable)解碼器電路220之錯誤偵測功能。
依據某些實施例,步驟310中所述之該組資料的資料來源可予以變化。例如:該組資料的資料來源可為傳輸介面電路118。依據某些實施例,步驟310可取代為步驟310’:
在步驟310’中,當記憶體控制器110正在控制記憶裝置100之該至少一運作時,編碼器電路210可從傳輸介面電路118接收一組資料,以供寫入揮發性記憶體116,其中該組資料係關於記憶體控制器110所控制的該至少一運作。 以上所述僅為本發明之較佳實施例,凡依本發明申請專利範圍所做之均等變化與修飾,皆應屬本發明之涵蓋範圍。
10 電子裝置 50 主裝置 100 記憶裝置 110 記憶體控制器 112 微處理器 112C 程式碼 112M 唯讀記憶體 114 控制邏輯電路 115 編碼及解碼電路 116 揮發性記憶體 118 傳輸介面電路 120 非揮發性記憶體 122-1, 122-2, …, 122-N 非揮發性記憶體元件 210 編碼器電路 220 解碼器電路 230 暫存器 300 用來於記憶裝置中為錯誤處置進行資料處理之方法 310 從處理電路接收一組資料之步驟 312 對該組資料進行編碼以產生奇偶校驗碼之步驟 314 將該組資料之碼字寫入揮發性記憶體之步驟 320 從揮發性記憶體讀取碼字以產生讀出資料之步驟 322 判斷讀出資料是否正確之步驟 324 輸出該組資料之讀出版本作為該組資料之步驟 326 傳送預定訊號至處理電路且將錯誤資訊儲存於暫存器中之步驟 410 互斥或電路 B0, B1, B2, B3, B4, B5, B6, B7 位元 Byte7, Byte6, Byte5, Byte4, Byte3, Byte2, Byte1, Byte0 位元組 DOMAIN(1) 第一電源域 DOMAIN(2) 第二電源域 INT 預定訊號 P, P7, P6, P5, P4, P3, P2, P1, P0 奇偶校驗碼 PARITY_DETECT_EN, PARITY_INV_EN 致能訊號 SERR_ERROR_ADDR, SERR_ERROR_EVENT 錯誤資訊訊號
第1圖為依據本發明一實施例之一種電子裝置的示意圖。 第2圖繪示第1圖所示記憶裝置於一實施例中之實施細節。 第3圖為依據本發明一實施例之一種用來於一記憶裝置中為錯誤處置(error handling)進行資料處理之方法的流程圖。 第4圖繪示第3圖所示方法於一實施例中之資料處理方案。 第5圖繪示第3圖所示方法於一實施例中之編碼及測試方案。 第6圖繪示第3圖所示方法於一實施例中之解碼及錯誤偵測方案。

Claims (20)

  1. 一種用來於一記憶裝置中為錯誤處置(error handling)進行資料處理之方法,該記憶裝置包含一非揮發性記憶體(non-volatile memory, NV memory),該非揮發性記憶體包含至少一非揮發性記憶體元件(NV memory element),該方法包含有: 當該記憶裝置之一控制器正在控制該記憶裝置之至少一運作時,從該控制器之一處理電路接收一組資料,以供寫入該控制器之一揮發性記憶體,其中該控制器係位於該記憶裝置中、且位於該至少一非揮發性記憶體元件以外,該處理電路與該揮發性記憶體中之任一者係位於該控制器中、且位於該處理電路與該揮發性記憶體中之另一者以外,以及該組資料係關於該控制器所控制的該至少一運作; 於將該組資料寫入該揮發性記憶體之前,對該組資料進行編碼以產生該組資料之一奇偶校驗碼(parity-check code); 將該組資料之一碼字(codeword)寫入該揮發性記憶體,其中該碼字包含該組資料與該奇偶校驗碼; 從該揮發性記憶體讀取該碼字,以產生該碼字之讀出資料,其中該些讀出資料包含該組資料之一讀出版本以及該奇偶校驗碼之一讀出版本; 依據該組資料之該讀出版本以及該奇偶校驗碼之該讀出版本,判斷該些讀出資料是否正確;以及 當判斷該些讀出資料為正確時,輸出該組資料之該讀出版本作為該組資料以供該處理電路進一步使用,否則,傳送一預定訊號至該處理電路、且將關於該組資料之錯誤資訊儲存於該控制器之一暫存器中,其中該暫存器係位於該控制器中、且位於該處理電路與該揮發性記憶體中之任一者以外。
  2. 如申請專利範圍第1項所述之方法,其中該處理電路係位於該控制器之一第一電源域(power domain),且該暫存器係位於該控制器之一第二電源域,其中該第一電源域與該第二電源域係彼此獨立。
  3. 如申請專利範圍第2項所述之方法,其中因應該組資料之該讀出版本,該處理電路故障(malfunction);以及該第二電源域係被安排持續地供電給該暫存器,以保護該暫存器中之該錯誤資訊。
  4. 如申請專利範圍第2項所述之方法,其中該第二電源域係被安排持續地供電給該暫存器,不論該第一電源域中是否發生停電(power failure)。
  5. 如申請專利範圍第1項所述之方法,其另包含: 將該暫存器中之該錯誤資訊儲存至該非揮發性記憶體中,以供進一步處理。
  6. 如申請專利範圍第1項所述之方法,其中該錯誤資訊包含該揮發性記憶體之一記憶體位址,且該記憶體位址指出該揮發性記憶體當中用來儲存該組資料的位置。
  7. 如申請專利範圍第6項所述之方法,其中該錯誤資訊另包含該揮發性記憶體之一硬體辨識碼,且該硬體辨識碼係用來辨識該揮發性記憶體。
  8. 如申請專利範圍第1項所述之方法,其中該預定訊號指出關於該些讀出資料之一記憶體錯誤的發生。
  9. 如申請專利範圍第8項所述之方法,其中因應該處理電路所執行之一讀取運作,該碼字之該些讀出資料係從該揮發性記憶體被讀取出來;以及當偵測到該記憶體錯誤發生時,該處理電路已執行一下一運作。
  10. 如申請專利範圍第1項所述之方法,其中該控制器所控制的該至少一運作包含下列運作中之至少一者: 存取(access)該非揮發性記憶體;以及 對該非揮發性記憶體進行資料管理。
  11. 一種記憶裝置,包含有: 一非揮發性記憶體(non-volatile memory, NV memory),用來儲存資訊,其中該非揮發性記憶體包含至少一非揮發性記憶體元件(NV memory element);以及 一控制器,耦接至該非揮發性記憶體,用來控制該記憶裝置之至少一運作,其中該控制器包含: 一處理電路,用來依據來自一主裝置(host device)的一指令控制該控制器,以容許該主裝置透過該控制器存取(access)該非揮發性記憶體; 一揮發性記憶體,用來提供內部儲存空間給該控制器,以容許該控制器控制該記憶裝置之該至少一運作; 一編碼及解碼電路,用來進行資料處理,其中該編碼及解碼電路包含: 一編碼器電路,耦接至該處理電路與該揮發性記憶體,其中: 當該控制器正在控制該記憶裝置之該至少一運作時,該編碼器電路從該處理電路接收一組資料,以供寫入該揮發性記憶體,其中該組資料係關於該控制器所控制的該至少一運作; 於將該組資料寫入該揮發性記憶體之前,該編碼器電路對該組資料進行編碼以產生該組資料之一奇偶校驗碼(parity-check code);以及 該編碼器電路將該組資料之一碼字(codeword)寫入該揮發性記憶體,其中該碼字包含該組資料與該奇偶校驗碼;以及 一解碼器電路,耦接至該處理電路與該揮發性記憶體,其中: 該解碼器電路從該揮發性記憶體讀取該碼字,以產生該碼字之讀出資料,其中該些讀出資料包含該組資料之一讀出版本以及該奇偶校驗碼之一讀出版本; 該解碼器電路依據該組資料之該讀出版本以及該奇偶校驗碼之該讀出版本,判斷該些讀出資料是否正確;以及 當判斷該些讀出資料為正確時,該解碼器電路輸出該組資料之該讀出版本作為該組資料以供該處理電路進一步使用,否則,該解碼器電路傳送一預定訊號至該處理電路、且將關於該組資料之錯誤資訊儲存於該控制器之一暫存器中;以及 該暫存器,耦接至該解碼器電路,用來儲存關於該組資料之該錯誤資訊。
  12. 如申請專利範圍第11項所述之記憶裝置,其中該處理電路係位於該控制器之一第一電源域(power domain),且該暫存器係位於該控制器之一第二電源域,其中該第一電源域與該第二電源域係彼此獨立。
  13. 如申請專利範圍第12項所述之記憶裝置,其中因應該組資料之該讀出版本,該處理電路故障(malfunction);以及該第二電源域係被安排持續地供電給該暫存器,以保護該暫存器中之該錯誤資訊。
  14. 如申請專利範圍第12項所述之記憶裝置,其中該第二電源域係被安排持續地供電給該暫存器,不論該第一電源域中是否發生停電(power failure)。
  15. 如申請專利範圍第11項所述之記憶裝置,其中該控制器將該暫存器中之該錯誤資訊儲存至該非揮發性記憶體中,以供進一步處理。
  16. 一種電子裝置,其包含如申請專利範圍第11項所述之記憶裝置,且另包含: 該主裝置,耦接至該記憶裝置,其中該主裝置包含: 至少一處理器,用來控制該主裝置之運作; 其中該記憶裝置係用來提供儲存空間給該主裝置。
  17. 一種記憶裝置之控制器,該記憶裝置包含該控制器與一非揮發性記憶體(non-volatile memory, NV memory),該非揮發性記憶體包含至少一非揮發性記憶體元件(NV memory element),該控制器包含有: 一處理電路,用來依據來自一主裝置(host device)的一指令控制該控制器,以容許該主裝置透過該控制器存取(access)該非揮發性記憶體; 一揮發性記憶體,用來提供內部儲存空間給該控制器,以容許該控制器控制該記憶裝置之至少一運作; 一編碼及解碼電路,用來進行資料處理,其中該編碼及解碼電路包含: 一編碼器電路,耦接至該處理電路與該揮發性記憶體,其中: 當該控制器正在控制該記憶裝置之該至少一運作時,該編碼器電路從該處理電路接收一組資料,以供寫入該揮發性記憶體,其中該組資料係關於該控制器所控制的該至少一運作; 於將該組資料寫入該揮發性記憶體之前,該編碼器電路對該組資料進行編碼以產生該組資料之一奇偶校驗碼(parity-check code);以及 該編碼器電路將該組資料之一碼字(codeword)寫入該揮發性記憶體,其中該碼字包含該組資料與該奇偶校驗碼;以及 一解碼器電路,耦接至該處理電路與該揮發性記憶體,其中: 該解碼器電路從該揮發性記憶體讀取該碼字,以產生該碼字之讀出資料,其中該些讀出資料包含該組資料之一讀出版本以及該奇偶校驗碼之一讀出版本; 該解碼器電路依據該組資料之該讀出版本以及該奇偶校驗碼之該讀出版本,判斷該些讀出資料是否正確;以及 當判斷該些讀出資料為正確時,該解碼器電路輸出該組資料之該讀出版本作為該組資料以供該處理電路進一步使用,否則,該解碼器電路傳送一預定訊號至該處理電路、且將關於該組資料之錯誤資訊儲存於該控制器之一暫存器中;以及 該暫存器,耦接至該解碼器電路,用來儲存關於該組資料之該錯誤資訊。
  18. 如申請專利範圍第17項所述之控制器,其中該處理電路係位於該控制器之一第一電源域(power domain),且該暫存器係位於該控制器之一第二電源域,其中該第一電源域與該第二電源域係彼此獨立。
  19. 如申請專利範圍第18項所述之控制器,其中因應該組資料之該讀出版本,該處理電路故障(malfunction);以及該第二電源域係被安排持續地供電給該暫存器,以保護該暫存器中之該錯誤資訊。
  20. 如申請專利範圍第18項所述之控制器,其中該第二電源域係被安排持續地供電給該暫存器,不論該第一電源域中是否發生停電(power failure)。
TW106129536A 2017-08-30 2017-08-30 用來於一記憶裝置中為錯誤處置進行資料處理之方法、記憶裝置及其控制器以及電子裝置 TWI661353B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
TW106129536A TWI661353B (zh) 2017-08-30 2017-08-30 用來於一記憶裝置中為錯誤處置進行資料處理之方法、記憶裝置及其控制器以及電子裝置
US15/865,266 US10942803B2 (en) 2017-08-30 2018-01-09 Method for performing data processing for error handling in memory device, associated memory device and controller thereof, and associated electronic device
CN201810664948.5A CN109426582B (zh) 2017-08-30 2018-06-25 用于存储装置为错误处置进行数据处理的方法及控制器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW106129536A TWI661353B (zh) 2017-08-30 2017-08-30 用來於一記憶裝置中為錯誤處置進行資料處理之方法、記憶裝置及其控制器以及電子裝置

Publications (2)

Publication Number Publication Date
TW201913354A TW201913354A (zh) 2019-04-01
TWI661353B true TWI661353B (zh) 2019-06-01

Family

ID=65435198

Family Applications (1)

Application Number Title Priority Date Filing Date
TW106129536A TWI661353B (zh) 2017-08-30 2017-08-30 用來於一記憶裝置中為錯誤處置進行資料處理之方法、記憶裝置及其控制器以及電子裝置

Country Status (3)

Country Link
US (1) US10942803B2 (zh)
CN (1) CN109426582B (zh)
TW (1) TWI661353B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111078462B (zh) * 2019-12-26 2023-09-22 海光信息技术股份有限公司 数据校验方法及电路
US11170870B1 (en) * 2020-05-28 2021-11-09 Western Digital Technologies, Inc. On-chip-copy for integrated memory assembly
CN112363864B (zh) * 2020-11-09 2023-10-27 海光信息技术股份有限公司 检测数据维持有效性的方法、检测装置和芯片

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130145231A1 (en) * 2011-11-18 2013-06-06 Jack Edward Frayer Data Encoder and Decoder Using Memory-Specific Parity-Check Matrix
US20160163382A1 (en) * 2014-12-08 2016-06-09 Sandisk Technologies Inc. Rewritable Multibit Non-Volatile Memory With Soft Decode Optimization
TW201724761A (zh) * 2015-10-13 2017-07-01 愛思開海力士有限公司 用於不規則代碼的高效能ldpc編碼器
TWI592937B (zh) * 2016-07-05 2017-07-21 大心電子(英屬維京群島)股份有限公司 解碼方法、記憶體儲存裝置及記憶體控制電路單元

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5297263A (en) * 1987-07-17 1994-03-22 Mitsubishi Denki Kabushiki Kaisha Microprocessor with pipeline system having exception processing features
US7962836B1 (en) * 2000-01-06 2011-06-14 Supertalent Electronics, Inc. Electronic data flash card with bose, ray-chaudhuri, hocquenghem (BCH) error detection/correction
US6968469B1 (en) * 2000-06-16 2005-11-22 Transmeta Corporation System and method for preserving internal processor context when the processor is powered down and restoring the internal processor context when processor is restored
JP2009187049A (ja) * 2008-02-01 2009-08-20 Fujitsu Ltd 装置
US8904115B2 (en) * 2010-09-28 2014-12-02 Texas Instruments Incorporated Cache with multiple access pipelines
CN102034555B (zh) * 2011-01-19 2012-09-19 哈尔滨工业大学 一种利用奇偶校验码进行故障在线纠错装置及方法
US8819691B2 (en) * 2011-05-04 2014-08-26 International Business Machines Corporation Logical partition defragmentation within a data processing system
US9075741B2 (en) * 2011-12-16 2015-07-07 Intel Corporation Dynamic error handling using parity and redundant rows
US9026888B2 (en) * 2012-12-21 2015-05-05 Intel Corporation Method, system and apparatus for providing access to error correction information
US10095570B2 (en) * 2014-01-24 2018-10-09 Hitachi, Ltd. Programmable device, error storage system, and electronic system device
US9299457B2 (en) * 2014-02-23 2016-03-29 Qualcomm Incorporated Kernel masking of DRAM defects
FR3018952B1 (fr) * 2014-03-21 2016-04-15 Stmicroelectronics Rousset Structure integree comportant des transistors mos voisins
US20170046218A1 (en) * 2015-08-11 2017-02-16 Qualcomm Incorporated Systems and methods of memory bit flip identification for debugging and power management
KR102473209B1 (ko) * 2015-12-14 2022-12-02 삼성전자주식회사 스토리지 장치 및 스토리지 장치의 동작 방법
KR20180023267A (ko) * 2016-08-25 2018-03-07 에스케이하이닉스 주식회사 메모리 시스템 및 그의 동작 방법

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130145231A1 (en) * 2011-11-18 2013-06-06 Jack Edward Frayer Data Encoder and Decoder Using Memory-Specific Parity-Check Matrix
US20160163382A1 (en) * 2014-12-08 2016-06-09 Sandisk Technologies Inc. Rewritable Multibit Non-Volatile Memory With Soft Decode Optimization
TW201724761A (zh) * 2015-10-13 2017-07-01 愛思開海力士有限公司 用於不規則代碼的高效能ldpc編碼器
TWI592937B (zh) * 2016-07-05 2017-07-21 大心電子(英屬維京群島)股份有限公司 解碼方法、記憶體儲存裝置及記憶體控制電路單元

Also Published As

Publication number Publication date
US20190065305A1 (en) 2019-02-28
TW201913354A (zh) 2019-04-01
CN109426582B (zh) 2022-05-13
US10942803B2 (en) 2021-03-09
CN109426582A (zh) 2019-03-05

Similar Documents

Publication Publication Date Title
US9817749B2 (en) Apparatus and method of offloading processing from a data storage device to a host device
US9124300B2 (en) Error correction coding in non-volatile memory
US20170177259A1 (en) Techniques to Use Open Bit Line Information for a Memory System
KR101369444B1 (ko) 정정 불가능한 에러를 해결하는 하이브리드 에러 정정 코딩
KR102571747B1 (ko) 데이터 저장 장치 및 그것의 동작 방법
TWI658364B (zh) 存取快閃記憶體模組的方法及相關的快閃記憶體控制器與電子裝置
TWI664634B (zh) 快閃記憶體控制器、管理快閃記憶體模組的方法及相關的電子裝置
TWI656442B (zh) 用來於一記憶裝置中進行存取控制之方法以及記憶裝置及其控制器
TWI661353B (zh) 用來於一記憶裝置中為錯誤處置進行資料處理之方法、記憶裝置及其控制器以及電子裝置
US11868202B2 (en) Granular error reporting on multi-pass programming of non-volatile memory
TWI692771B (zh) 用來控制一記憶裝置的運作之方法、記憶裝置及其控制器以及電子裝置
CN110196816B (zh) 控制器、其操作方法以及包括控制器的存储器系统
TWI655640B (zh) 資料儲存裝置與資料處理方法
TWI782644B (zh) 用來進行資料儲存管理以提升資料可靠度之方法、記憶裝置及其控制器以及電子裝置
TWI807919B (zh) 資料重讀方法、記憶體儲存裝置及記憶體控制電路單元
TWI698750B (zh) 存取快閃記憶體模組的方法及相關的快閃記憶體控制器與電子裝置
US11842787B2 (en) Error read flow component
TWI764856B (zh) 記憶體控制器與資料處理方法
TWI691967B (zh) 解碼方法及相關的快閃記憶體控制器與電子裝置
US20230214297A1 (en) Storage device including mapping memory and method of operating the same
US20240094912A1 (en) Method for accessing flash memory module, flash memory controller, and memory device
KR20220107733A (ko) 보호모드를 지원하는 비휘발성 메모리 장치 및 그를 포함하는 메모리 시스템