CN109426582A - 用于存储装置为错误处置进行数据处理的方法及控制器 - Google Patents

用于存储装置为错误处置进行数据处理的方法及控制器 Download PDF

Info

Publication number
CN109426582A
CN109426582A CN201810664948.5A CN201810664948A CN109426582A CN 109426582 A CN109426582 A CN 109426582A CN 201810664948 A CN201810664948 A CN 201810664948A CN 109426582 A CN109426582 A CN 109426582A
Authority
CN
China
Prior art keywords
data
group
controller
volatile memory
reading
Prior art date
Legal status (The legal status 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 status listed.)
Granted
Application number
CN201810664948.5A
Other languages
English (en)
Other versions
CN109426582B (zh
Inventor
谢闳恩
吴哲逸
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Silicon Motion Inc
Original Assignee
Silicon Motion Inc
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 Silicon Motion Inc filed Critical Silicon Motion Inc
Publication of CN109426582A publication Critical patent/CN109426582A/zh
Application granted granted Critical
Publication of CN109426582B publication Critical patent/CN109426582B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/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/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/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

用于存储装置为错误处置进行数据处理的方法及控制器
技术领域
本发明涉及快闪存储器的访问,特别关于一种用于存储装置中为错误处置进行数据处理的方法、相关的存储装置及其控制器以及相关的电子装置。
背景技术
近年来由于存储器的技术不断地发展,各种可携式或非可携式存储装置(例如:符合SD/MMC、CF、MS、XD或UFS标准的存储卡(memory card);又例如:固态硬盘;又例如:符合UFS或EMMC规格的嵌入式(embedded)存储装置)被广泛地实现于许多应用中。因此,这些存储装置中的存储器的访问控制便成为相当热门的议题。
以常用的NAND型闪存而言,其主要可区分为单阶存储单元(single level cell,SLC)与多阶存储单元(multiple level cell,MLC)两大类别的闪存。单阶存储单元闪存中,每个被当作存储单元的晶体管只有两种电荷值,分别用来表示逻辑值0与逻辑值1。另外,多阶存储单元闪存中,每个被当作存储单元的晶体管的存储能力则被充分利用,这种存储单元被较高的电压驱动,并通过不同级别的电压在一个晶体管中记录至少两组比特的信息(例如00、01、11、10);理论上,多阶存储单元闪存的记录密度可以达到单阶存储单元闪存的记录密度的至少两倍,这对于曾经在发展过程中遇到瓶颈的NAND型闪存的相关产业而言,是非常好的消息。
相对于单阶存储单元闪存,由于多阶存储单元闪存的价格较便宜,并且在有限的空间内可提供较大的容量,所以多阶存储单元闪存很快地成为市面上的存储装置竞相采用的主流。然而,多阶存储单元闪存的不稳定性所导致的问题也一一浮现。为了确保存储装置对闪存的访问控制能符合相关规范,闪存的控制器通常具备某些管理机制以妥善地管理数据的访问。
根据相关技术,有了这些管理机制的存储装置还是有不足的地方。举例来说,用来暂时存储数据的静态随机存取存储器(Static Random Access Memory,SRAM)可能采用先进制造工艺,例如16奈米(nanometer,nm)制造工艺来实现。在这种状况下,内部的数据可能因为外在的温度或其它因素的影响,导致某个比特被翻转。如果上述数据是重要的系统数据,则比特翻转可能造成系统崩溃。因此,需要一种新颖的方法与相关结构,以在没有副作用或较不可能带来副作用的状况下提高存储装置性能。
发明内容
本发明的一个目的在于提供一种用于存储装置中为错误处置(error handling)进行数据处理的方法、相关存储装置及其控制器以及相关电子装置,以解决上述问题。
本发明的另一个目的在于提供一种用于存储装置中为错误处置进行数据处理的方法、相关存储装置及其控制器以及相关电子装置,以在没有副作用或较不可能带来副作用的状况下提高存储装置的性能。
本发明的至少一个实施例提供一种用于存储装置中为错误处置进行数据处理的方法,其中所述存储装置包含非易失性存储器(non-volatile memory,NV memory),且所述非易失性存储器包含至少一个非易失性存储器元件(NV memory element)。所述方法可包含:当所述存储装置的控制器正在控制所述存储装置的至少一个运作时,从所述控制器的处理电路接收一组数据,以供写入所述控制器的易失性存储器,其中控制器位于所述存储装置中、且位于所述至少一个非易失性存储器元件以外,所述处理电路与所述易失性存储器中的任何一个位于所述控制器中、且位于所述处理电路与所述易失性存储器中的另一个以外,以及所述一组数据关于所述控制器所控制的所述至少一个运作;在将所述一组数据写入所述易失性存储器之前,对所述一组数据进行编码以产生所述一组数据的奇偶校验码(parity-check code);将所述一组数据的码字(codeword)写入所述易失性存储器,其中所述码字包含所述一组数据与所述奇偶校验码;从所述易失性存储器读取所述码字,以产生所述码字的读出数据,其中所述多个读出数据包含所述一组数据的读出版本以及所述奇偶校验码的读出版本;根据所述一组数据的所述读出版本以及所述奇偶校验码的所述读出版本,判断所述多个读出数据是否正确;以及当判断所述多个读出数据为正确时,输出所述一组数据的所述读出版本作为所述一组数据以供所述处理电路进一步使用,否则,传送一预定信号至所述处理电路、且将相关于所述一组数据的错误信息存储于所述控制器的寄存器中,其中所述寄存器位于所述控制器中、且位于所述处理电路与所述易失性存储器中的任何一个以外。
本发明的至少一个实施例提供一种存储装置,其可包含:非易失性存储器,用来存储信息,其中所述非易失性存储器包含至少一个非易失性存储器元件;以及控制器,耦接至所述非易失性存储器,用来控制所述存储装置的至少一个运作。所述控制器可包含处理电路、易失性存储器、编码及解码电路以及寄存器,其中所述编码及解码电路包含编码器电路与解码器电路,所述编码器电路与所述解码器电路中的每一个耦接所述处理电路与所述易失性存储器,且所述寄存器耦接至所述解码器电路。例如:所述处理电路可根据来自主控装置(host device)的一个命令控制所述控制器,以容许所述主控装置通过所述控制器访问(access)所述非易失性存储器。所述易失性存储器可提供内部存储空间给所述控制器,以容许所述控制器控制所述存储装置的所述至少一个运作。所述编码及解码电路可进行数据处理。另外,当所述控制器正在控制所述存储装置的所述至少一个运作时,所述编码器电路可从所述处理电路接收一组数据,以供写入所述易失性存储器,其中所述一组数据相关于所述控制器所控制的所述至少一个运作。在将所述一组数据写入所述易失性存储器之前,所述编码器电路可对所述一组数据进行编码以产生所述一组数据的奇偶校验码。所述编码器电路可将所述一组数据的码字写入所述易失性存储器,其中所述码字包含所述一组数据与所述奇偶校验码。此外,所述解码器电路可从所述易失性存储器读取所述码字,以产生所述码字的读出数据,其中所述多个读出数据包含所述一组数据的读出版本以及所述奇偶校验码的读出版本。所述解码器电路可根据所述一组数据的所述读出版本以及所述奇偶校验码的所述读出版本,判断所述多个读出数据是否正确。当判断所述多个读出数据为正确时,所述解码器电路可输出所述一组数据的所述读出版本作为所述一组数据以供所述处理电路进一步使用,否则,所述解码器电路可传送预定信号至所述处理电路、且将关于所述一组数据的错误信息存储于所述寄存器中,其中所述寄存器可用来存储相关于所述一组数据的所述错误信息。
根据某些实施例,本发明另提供一种电子装置,其可包含上述的存储装置,并且还包含:所述主控装置,耦接至所述存储装置。所述主控装置可包含:至少一个处理器,用来控制所述主控装置的运作。另外,所述存储装置可用来提供存储空间给所述主控装置。
本发明的至少一个实施例提供一种存储装置的控制器,其中所述存储装置包含所述控制器与非易失性存储器,且所述非易失性存储器包含至少一个非易失性存储器元件。所述控制器可包含处理电路、易失性存储器、编码及解码电路以及寄存器,其中所述编码及解码电路包含编码器电路与解码器电路,所述编码器电路与所述解码器电路中的每一个耦接所述处理电路与所述易失性存储器,且所述寄存器耦接至所述解码器电路。例如:所述处理电路可根据来自主控装置的一个命令控制所述控制器,以容许所述主控装置通过所述控制器访问所述非易失性存储器。所述易失性存储器可提供内部存储空间给所述控制器,以容许所述控制器控制所述存储装置的所述至少一个运作。所述编码及解码电路可进行数据处理。另外,当所述控制器正在控制所述存储装置的所述至少一个运作时,所述编码器电路可从所述处理电路接收一组数据,以供写入所述易失性存储器,其中所述一组数据关于所述控制器所控制的所述至少一个运作。于将所述一组数据写入所述易失性存储器之前,所述编码器电路可对所述一组数据进行编码以产生所述一组数据的奇偶校验码。所述编码器电路可将所述一组数据的码字写入所述易失性存储器,其中所述码字包含所述一组数据与所述奇偶校验码。此外,所述解码器电路可从所述易失性存储器读取所述码字,以产生所述码字的读出数据,其中所述多个读出数据包含所述一组数据的读出版本以及所述奇偶校验码的读出版本。所述解码器电路可根据所述一组数据的所述读出版本以及所述奇偶校验码的所述读出版本,判断所述多个读出数据是否正确。当判断所述多个读出数据为正确时,所述解码器电路可输出所述一组数据的所述读出版本作为所述一组数据以供所述处理电路进一步使用,否则,所述解码器电路可传送一个预定信号至所述处理电路、且将关于所述一组数据的错误信息存储于所述寄存器中,其中所述寄存器可用来存储关于所述一组数据的所述错误信息。
本发明的一个好处为,本发明能针对所述控制器的运作进行妥善的控制,从而避免存储装置中不明原因的错误变得无法追踪。另外,根据本发明的相关实施例来实施并不会增加许多额外的成本。因此,相关技术的问题可被解决,且整体成本不会增加太多。相较于相关技术,本发明能在没有副作用或较不可能带来副作用的状况下提升存储装置的性能。
附图说明
图1为根据本发明实施例的电子装置的示意图。
图2绘示图1中的存储装置在一个实施例中的实施细节。
图3为根据本发明实施例的一种用于存储装置中为错误处置进行数据处理的方法的流程图。
图4绘示图3中的方法在一个实施例中的数据处理方案。
图5绘示图3中的方法在一个实施例中的编码及测试方案。
图6绘示图3中的方法在一个实施例中的解码及错误侦测方案。
其中,附图标记说明如下:
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 错误信息信号
具体实施方式
I.存储器系统
图1为根据本发明的一个实施例的一种电子装置10的示意图,其中电子装置10包含主控装置(host device)50与存储装置100。主控装置50可包含至少一个处理器(未显示),其可用来控制主控装置50的运作,而存储装置100可用来提供存储空间给主控装置50。主控装置50的例子可包含(但不限于):多功能移动电话(multifunctional mobilephone)、平板电脑(tablet)、可穿戴装置(wearable device)以及个人电脑(personalcomputer)例如台式机与笔记本电脑。存储装置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)标准、快捷外设互联(PeripheralComponent Interconnect Express,PCIE)标准、嵌入式多媒体存储卡(embedded MultiMedia 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的第一电源域(powerdomain)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所示的方法30在一个实施例中的数据处理方案。编码及解码电路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所控制的所述至少一个运作。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (20)

1.一种用于存储装置中为错误处置进行数据处理的方法,所述存储装置包含非易失性存储器,所述非易失性存储器包含至少一个非易失性存储器单元,所述方法包含有:
当所述存储装置的控制器正在控制所述存储装置的至少一个运作时,从所述控制器的处理电路接收一组数据,以供写入所述控制器的易失性存储器,其中所述控制器位于所述存储装置中、且位于所述至少一个非易失性存储器元件以外,所述处理电路与所述易失性存储器中的任何一个位于所述控制器中、且位于所述处理电路与所述易失性存储器中的另一个以外,以及所述一组数据相关于所述控制器控制的所述至少一个运作;
在将所述一组数据写入所述易失性存储器之前,对所述一组数据进行编码以产生所述一组数据的奇偶校验码;
将所述一组数据的码字写入所述易失性存储器,其中所述码字包含所述一组数据与所述奇偶校验码;
从所述易失性存储器读取所述码字,以产生所述码字的读出数据,其中所述多个读出数据包含所述一组数据的读出版本以及所述奇偶校验码的读出版本;
根据所述一组数据的所述读出版本以及所述奇偶校验码的所述读出版本,判断所述多个读出数据是否正确;以及
当判断所述多个读出数据为正确时,输出所述一组数据的所述读出版本作为所述一组数据以供所述处理电路进一步使用,否则,传送预定信号至所述处理电路、且将相关于所述一组数据的错误信息存储于所述控制器的寄存器中,其中所述寄存器位于所述控制器中、且位于所述处理电路与所述易失性存储器中的任何一个以外。
2.如权利要求1所述的方法,其特征在于,所述处理电路位于所述控制器的第一电源域,且所述寄存器位于所述控制器的第二电源域,其中所述第一电源域与所述第二电源域彼此独立。
3.如权利要求2所述的方法,其特征在于,因应所述一组数据的所述读出版本,所述处理电路故障;以及所述第二电源域被安排持续地供电给所述寄存器,以保护所述寄存器中的所述错误信息。
4.如权利要求2所述的方法,其特征在于,所述第二电源域被安排持续地供电给所述寄存器,不论所述第一电源域中是否发生停电。
5.如权利要求1所述的方法,其特征在于,所述的方法另包含:
将所述寄存器中的所述错误信息存储至所述非易失性存储器中,以供进一步处理。
6.如权利要求1所述的方法,其特征在于,所述错误信息包含所述易失性存储器的一个存储器地址,且所述存储器地址指出所述易失性存储器当中用来存储所述一组数据的位置。
7.如权利要求6所述的方法,其特征在于,所述错误信息还包含所述易失性存储器的硬体辨识码,且所述硬体辨识码用来辨识所述易失性存储器。
8.如权利要求1所述的方法,其特征在于,所述预定信号指出相关于所述多个读出数据的存储器错误的发生。
9.如权利要求8所述的方法,其特征在于,因应所述处理电路执行的一个读取运作,所述码字的所述多个读出数据从所述易失性存储器被读取出来;以及当侦测到所述存储器错误发生时,所述处理电路已执行下一个运作。
10.如权利要求1所述的方法,其特征在于,所述控制器控制的所述至少一个运作包含下列运作中的至少一个:
访问所述非易失性存储器;以及
对所述非易失性存储器进行数据管理。
11.一种存储装置,包含有:
非易失性存储器,用来存储信息,其中所述非易失性存储器包含至少一个非易失性存储器元件;以及
控制器,耦接至所述非易失性存储器,用来控制所述存储装置的至少一个运作,其中所述控制器包含:
处理电路,用来根据来自主控装置的命令控制所述控制器,以容许所述主控装置通过所述控制器访问所述非易失性存储器;
易失性存储器,用来提供内部存储空间给所述控制器,以容许所述控制器控制所述存储装置的所述至少一个运作;
编码及解码电路,用来进行数据处理,其中所述编码及解码电路包含:
编码器电路,耦接至所述处理电路与所述易失性存储器,
其中:
当所述控制器正在控制所述存储装置的所述至少一个运作时,所述编码器电路从所述处理电路接收一组数据,以供写入所述易失性存储器,其中所述一组数据相关于所述控制器所控制的所述至少一个运作;
在将所述一组数据写入所述易失性存储器之前,所述编码器电路对所述一组数据进行编码以产生所述一组数据的奇偶校验码;以及
所述编码器电路将所述一组数据的码字写入所述易失性存储器,其中所述码字包含所述一组数据与所述奇偶校验码;以及
解码器电路,耦接至所述处理电路与所述易失性存储器,
其中:
所述解码器电路从所述易失性存储器读取所述码字,以产生所述码字的读出数据,其中所述多个读出数据包含所述一组数据的读出版本以及所述奇偶校验码的读出版本;
所述解码器电路根据所述一组数据的所述读出版本以及所述奇偶校验码的所述读出版本,判断所述多个读出数据是否正确;以及
当判断所述多个读出数据为正确时,所述解码器电路输出所述一组数据的所述读出版本作为所述一组数据以供所述处理电路进一步使用,否则,所述解码器电路传送预定信号至所述处理电路、且将相关于所述一组数据的错误信息存储于所述控制器的寄存器中;以及
所述寄存器,耦接至所述解码器电路,用来存储关于所述一组数据的所述错误信息。
12.如权利要求11所述的存储装置,其特征在于,所述处理电路位于所述控制器的第一电源域,且所述寄存器位于所述控制器的第二电源域,其中所述第一电源域与所述第二电源域彼此独立。
13.如权利要求12所述的存储装置,其特征在于,因应所述一组数据的所述读出版本,所述处理电路故障;以及所述第二电源域被安排持续地供电给所述寄存器,以保护所述寄存器中的所述错误信息。
14.如权利要求12所述的存储装置,其特征在于,所述第二电源域被安排持续地供电给所述寄存器,不论所述第一电源域中是否发生停电。
15.如权利要求11所述的存储装置,其特征在于,所述控制器将所述寄存器中的所述错误信息存储在所述非易失性存储器中,以供进一步处理。
16.一种电子装置,其包含如权利要求11所述的存储装置,还另外包含:
所述主控装置,耦接至所述存储装置,其中所述主控装置包含:
至少一个处理器,用来控制所述主控装置的运作;
其中所述存储装置用来提供存储空间给所述主控装置。
17.一种存储装置的控制器,所述存储装置包含所述控制器与非易失性存储器,所述非易失性存储器包含至少一个非易失性存储器元件,所述控制器包含有:
处理电路,用来根据来自主控装置的命令控制所述控制器,以容许所述主控装置通过所述控制器访问所述非易失性存储器;
易失性存储器,用来提供内部存储空间给所述控制器,以容许所述控制器控制所述存储装置的至少一个运作;
编码及解码电路,用来进行数据处理,其中所述编码及解码电路包含:
编码器电路,耦接至所述处理电路与所述易失性存储器,其中:
当所述控制器正在控制所述存储装置的所述至少一个运作时,所述编码器电路从所述处理电路接收一组数据,以供写入所述易失性存储器,其中所述一组数据相关于所述控制器所控制的所述至少一个运作;
在将所述一组数据写入所述易失性存储器以前,所述编码器电路对所述一组数据进行编码以产生所述一组数据的奇偶校验码;以及
所述编码器电路将所述一组数据的码字写入所述易失性存储器,其中所述码字包含所述一组数据与所述奇偶校验码;以及
解码器电路,耦接至所述处理电路与所述易失性存储器,其中:
所述解码器电路从所述易失性存储器读取所述码字,以产生所述码字的读出数据,其中所述多个读出数据包含所述一组数据的读出版本以及所述奇偶校验码的读出版本;
所述解码器电路根据所述一组数据的所述读出版本以及所述奇偶校验码的所述读出版本,判断所述多个读出数据是否正确;以及
当判断所述多个读出数据为正确时,所述解码器电路输出所述一组数据的所述读出版本作为所述一组数据以供所述处理电路进一步使用,否则,所述解码器电路传送预定信号至所述处理电路、且将相关于所述一组数据的错误信息存储于所述控制器的寄存器中;以及
所述寄存器,耦接至所述解码器电路,用来存储关于所述一组数据的所述错误信息。
18.如权利要求17所述的控制器,其特征在于,所述处理电路位于所述控制器的第一电源域,且所述寄存器位于所述控制器的第二电源域,其中所述第一电源域与所述第二电源域彼此独立。
19.如权利要求18所述的控制器,其特征在于,因应所述一组数据的所述读出版本,所述处理电路故障;以及所述第二电源域被安排持续地供电给所述寄存器,以保护所述寄存器中的所述错误信息。
20.如权利要求18所述的控制器,其特征在于,所述第二电源域被安排持续地供电给所述寄存器,不论所述第一电源域中是否发生停电。
CN201810664948.5A 2017-08-30 2018-06-25 用于存储装置为错误处置进行数据处理的方法及控制器 Active CN109426582B (zh)

Applications Claiming Priority (2)

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

Publications (2)

Publication Number Publication Date
CN109426582A true CN109426582A (zh) 2019-03-05
CN109426582B CN109426582B (zh) 2022-05-13

Family

ID=65435198

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810664948.5A Active CN109426582B (zh) 2017-08-30 2018-06-25 用于存储装置为错误处置进行数据处理的方法及控制器

Country Status (3)

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

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112363864A (zh) * 2020-11-09 2021-02-12 海光信息技术股份有限公司 检测数据维持有效性的方法、检测装置和芯片
CN113741802A (zh) * 2020-05-28 2021-12-03 西部数据技术公司 用于集成存储器组件的片上复制

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111078462B (zh) * 2019-12-26 2023-09-22 海光信息技术股份有限公司 数据校验方法及电路

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102034555A (zh) * 2011-01-19 2011-04-27 哈尔滨工业大学 一种利用奇偶校验码进行故障在线纠错装置及方法
US20120198310A1 (en) * 2010-09-28 2012-08-02 Texas Instruments Incorporated Configurable source based/requestor based error detection and correction for soft errors in multi-level cache memory to minimize cpu interrupt service routines
CN103988182A (zh) * 2011-12-16 2014-08-13 英特尔公司 使用奇偶校验和冗余行的动态错误处理
US20160335145A1 (en) * 2014-01-24 2016-11-17 Hitachi, Ltd. Programmable Device, Error Storage System, and Electronic System Device
US20170046218A1 (en) * 2015-08-11 2017-02-16 Qualcomm Incorporated Systems and methods of memory bit flip identification for debugging and power management
CN107045462A (zh) * 2015-12-14 2017-08-15 三星电子株式会社 存储装置

Family Cites Families (13)

* 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 装置
US8819691B2 (en) * 2011-05-04 2014-08-26 International Business Machines Corporation Logical partition defragmentation within a data processing system
US8954822B2 (en) * 2011-11-18 2015-02-10 Sandisk Enterprise Ip Llc Data encoder and decoder using memory-specific parity-check matrix
US9026888B2 (en) * 2012-12-21 2015-05-05 Intel Corporation Method, system and apparatus for providing access to error correction information
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
US9406377B2 (en) * 2014-12-08 2016-08-02 Sandisk Technologies Llc Rewritable multibit non-volatile memory with soft decode optimization
US10382064B2 (en) * 2015-10-13 2019-08-13 SK Hynix Inc. Efficient LDPC encoder for irregular code
TWI592937B (zh) * 2016-07-05 2017-07-21 大心電子(英屬維京群島)股份有限公司 解碼方法、記憶體儲存裝置及記憶體控制電路單元
KR20180023267A (ko) * 2016-08-25 2018-03-07 에스케이하이닉스 주식회사 메모리 시스템 및 그의 동작 방법

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120198310A1 (en) * 2010-09-28 2012-08-02 Texas Instruments Incorporated Configurable source based/requestor based error detection and correction for soft errors in multi-level cache memory to minimize cpu interrupt service routines
CN102034555A (zh) * 2011-01-19 2011-04-27 哈尔滨工业大学 一种利用奇偶校验码进行故障在线纠错装置及方法
CN103988182A (zh) * 2011-12-16 2014-08-13 英特尔公司 使用奇偶校验和冗余行的动态错误处理
US20160335145A1 (en) * 2014-01-24 2016-11-17 Hitachi, Ltd. Programmable Device, Error Storage System, and Electronic System Device
US20170046218A1 (en) * 2015-08-11 2017-02-16 Qualcomm Incorporated Systems and methods of memory bit flip identification for debugging and power management
CN107045462A (zh) * 2015-12-14 2017-08-15 三星电子株式会社 存储装置

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113741802A (zh) * 2020-05-28 2021-12-03 西部数据技术公司 用于集成存储器组件的片上复制
CN112363864A (zh) * 2020-11-09 2021-02-12 海光信息技术股份有限公司 检测数据维持有效性的方法、检测装置和芯片
CN112363864B (zh) * 2020-11-09 2023-10-27 海光信息技术股份有限公司 检测数据维持有效性的方法、检测装置和芯片

Also Published As

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

Similar Documents

Publication Publication Date Title
US20140089561A1 (en) Techniques Associated with Protecting System Critical Data Written to Non-Volatile Memory
TWI656442B (zh) 用來於一記憶裝置中進行存取控制之方法以及記憶裝置及其控制器
CN109426582A (zh) 用于存储装置为错误处置进行数据处理的方法及控制器
US11868202B2 (en) Granular error reporting on multi-pass programming of non-volatile memory
TWI692771B (zh) 用來控制一記憶裝置的運作之方法、記憶裝置及其控制器以及電子裝置
US11625298B2 (en) Memory block defect detection and management
CN116266473A (zh) 存储器装置交叉矩阵奇偶校验
US11514995B2 (en) Memory sub-system self-testing operations
CN110196816B (zh) 控制器、其操作方法以及包括控制器的存储器系统
TWI698742B (zh) 用來於一記憶裝置中進行存取控制之方法以及記憶裝置及其控制器
TWI693520B (zh) 用來於一記憶裝置中進行系統備份的方法、相關記憶裝置及其控制器、以及相關電子裝置
CN104252317A (zh) 数据写入方法、存储器控制器与存储器存储装置
CN112051963B (zh) 数据写入方法、存储器控制电路单元以及存储器存储装置
US11886718B2 (en) Descrambling of scrambled linear codewords using non-linear scramblers
CN113094307B (zh) 映射信息管理方法、存储器存储装置及存储器控制器
TWI738359B (zh) 資料儲存裝置與資料處理方法
US11437119B2 (en) Error read flow component
CN117632579B (zh) 存储器控制方法和存储器存储装置
CN111638993B (zh) 一种存储介质的纠错方法、及其应用的系统及存储系统
US20230186995A1 (en) Performing data integrity checks to identify defective wordlines
US11137944B1 (en) Combined QLC programming method
US20230317195A1 (en) Error Correction in a Memory Device having an Error Correction Code of a Predetermined Code Rate
US20210373787A1 (en) Changing of memory components to be used for a stripe based on an endurance condition
CN115729451A (zh) 存储器存取管理

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant