CN108304277B - 闪速存储器中的纠错方法及装置 - Google Patents

闪速存储器中的纠错方法及装置 Download PDF

Info

Publication number
CN108304277B
CN108304277B CN201710763324.4A CN201710763324A CN108304277B CN 108304277 B CN108304277 B CN 108304277B CN 201710763324 A CN201710763324 A CN 201710763324A CN 108304277 B CN108304277 B CN 108304277B
Authority
CN
China
Prior art keywords
word
logical
error correction
correction code
words
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.)
Active
Application number
CN201710763324.4A
Other languages
English (en)
Other versions
CN108304277A (zh
Inventor
G·多克奎尔
A·戈塔拉
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.)
STMicroelectronics International NV
Original Assignee
Proton World International NV
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 Proton World International NV filed Critical Proton World International NV
Publication of CN108304277A publication Critical patent/CN108304277A/zh
Application granted granted Critical
Publication of CN108304277B publication Critical patent/CN108304277B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • 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/1068Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in sector programmable memories, e.g. flash disk
    • 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/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/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
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/38Response verification devices
    • G11C29/42Response verification devices using error correcting codes [ECC] or parity check
    • 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/61Aspects and characteristics of methods and arrangements for error correction or error detection, not provided for otherwise
    • H03M13/611Specific encoding aspects, e.g. encoding by means of decoding

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)
  • General Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Computer Security & Cryptography (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

一种方法,包括将数据和与数据相关的元数据以逻辑字存储在非易失性存储器中。对于存储在非易失性存储器中的每个逻辑字,生成对应的纠错码。所存储的每个物理字包含逻辑字和对应的纠错码。元数据可以包含原子性信息。非易失性存储器可以是闪速存储器。每个物理字可以包含基于存储在物理字中的逻辑字和对应的纠错码的奇偶校验位。可以使用编码表将逻辑字编码成包括对应的纠错码的物理字。数据和元数据可以被分割成逻辑字。

Description

闪速存储器中的纠错方法及装置
技术领域
本说明书总体涉及包括非易失性存储器的电子电路,并且更特别地,涉及操作闪速存储器的电路。本说明书更特别地涉及非易失性存储器中的检错和纠错,更具体地涉及闪速存储器中的检错和纠错。
背景技术
闪速存储器越来越多地用于微控制器中,以通过非易失性方式存储信息。
在闪速存储器中的数据存储受制于与执行的操作的粒度、按字节执行的写入和读取相关联的各种时间约束,而擦除是按页执行。
此外,与任何存储器一样,必须确保存储是长期可靠的并且不会变得不稳定。因此,存储必须与纠错机制相关联。
在某些应用中,需要确保执行和存储的事务符合原子性准则。事务的原子性需要确保存储在存储器中的数据实际上具有可操作的状态。这意味着确保非易失性存储器中的数据具有事务之前的状态或相关事务之后的状态,但不具有中间状态。因此,基于纠错码的纠错机制必须符合原子性准则。此外,还可以通过纠错机制来覆盖不同元数据启用的原子性管理。
发明内容
一个实施例提供了一种用于在非易失性存储器中存储数据和元数据的方法,其中非易失性存储器的每个物理字包含逻辑字和纠错码。
根据一个实施例,元数据包含原子性信息。
根据一个实施例,物理字的位数对应于用于写入存储器的最小粒度。
根据一个实施例,选择纠错码来检测每字节一位的反转 (inversion)。
根据一个实施例,纠错码是汉明码(Hamming code)。
根据一个实施例,存储器是闪速存储器。
根据一个实施例,每个物理字还包含针对逻辑字及其纠错码计算的奇偶校验位。
一个实施例提供了一种根据所描述的方法编程的闪速存储器。
一个实施例提供了一种包括闪速存储器的电子电路。
在实施例中,一种方法包括:将数据和与数据相关的元数据以逻辑字存储在非易失性存储器中;以及针对存储在非易失性存储器中的每个逻辑字生成对应的纠错码,其中存储在非易失性存储器中的每个物理字包含逻辑字和对应的纠错码。在实施例中,元数据包含原子性信息。在实施例中,物理字的位数对应于存储器的最小写入粒度。在实施例中,纠错码检测每字节一位的反转。在实施例中,纠错码是汉明码。在实施例中,非易失性存储器是闪速存储器。在实施例中,每个物理字包含基于存储在物理字中的逻辑字和对应的纠错码的奇偶校验位。在实施例中,生成对应的纠错码包括使用编码表来对该逻辑字进行编码。在实施例中,该方法包括将数据和元数据分割成逻辑字。
在实施例中,一种闪速存储器包括:存储器阵列;以及控制电路,其在操作时控制数据和与数据相关的元数据以存储器阵列的物理字的存储,其中存储在存储器阵列中的物理字包括数据的或元数据的逻辑字和对应于逻辑字的纠错码。在实施例中,元数据包含原子性信息。在实施例中,物理字的位数对应于闪速存储器的最小写入粒度。在实施例中,纠错码检测每字节一位的反转。在实施例中,纠错码是汉明码。在实施例中,存储在存储器阵列中的每个物理字包含基于物理字的逻辑字和对应的纠错码的奇偶校验位。在实施例中,通过使用编码表对逻辑字进行编码来生成物理字。在实施例中,数据和元数据被分割成逻辑字。
在实施例中,一种系统包括:处理电路;以及耦合到该处理电路的非易失性存储器阵列,其中处理电路在操作时控制数据和与数据相关的元数据以存储器阵列的逻辑字的存储,逻辑字的存储包括生成对应于逻辑字的纠错码以及生成包括逻辑字和对应的纠错码的物理字。在实施例中,元数据包含原子性信息。在实施例中,纠错码是汉明码。在实施例中,生成对应于逻辑字的纠错码以及生成包括逻辑字和对应的纠错码的物理字包括:使用编码表对逻辑字进行编码。在实施例中,存储器阵列包括控制电路,其在操作时控制物理字在存储器阵列中的存储。
在实施例中,非暂态计算机可读介质的内容使得包括非易失性存储器的计算系统执行以下方法,该方法包括:将数据以非易失性存储器的逻辑字进行存储;以及将与数据相关的元数据以非易失性存储器的逻辑字进行存储,其中逻辑字的存储包括:生成对应于逻辑字的纠错码以及将包括逻辑字和对应的纠错码的物理字存储在非易失性存储器中。在实施例中,元数据包含原子性信息。在实施例中,纠错码是汉明码。在实施例中,生成对应于逻辑字的纠错码以及将包括逻辑字和对应的纠错码的物理字存储在非易失性存储器中包括:使用编码表对逻辑字进行编码。
附图说明
将在以下关于附图以非限制性方式给出的特定实施例的描述中,详细解释这些特点和优点以及其他特点和优点,其中:
图1是应用到将要描述的实施例的类型的电子电路的示例的框图;
图2是示出用于组织闪速存储器的字节的方法的框图;以及
图3高度示意性地以框的形式示出了存储器的实施例。
具体实施方式
相同的元件在不同的图中由相同的附图标记表示。
为了清楚起见,仅示出和详细说明与对将要描述的实施例的理解相关的步骤和元素。特别地,闪速存储器在写入、读取和擦除步骤期间的电操作未详细描述,所描述的实施例与常规闪速存储器技术兼容。此外,使用原子性管理的应用也未详细说明,所描述的实施例也与常规应用兼容。
在下面的描述中,当提到术语“近似地”、“大约”和“在…的区域中”时,这意味着在10%以内或在5%以内。
图1高度示意性地以框的形式示出了应用到将要描述的实施例的类型的电子电路1的实施例。
电路1包括:
处理单元11(PU),例如状态机、微处理器、可编程逻辑电路等;
一个或多个易失性存储区域12(RAM),例如RAM存储器或寄存器,用以在处理操作期间临时存储信息(指令、地址、数据);
一个或多个非易失性存储区域(NVM),例如闪速存储器2,用于以永久方式存储信息,特别是当电路未通电时;
电路1内的不同元件之间的一个或多个数据、地址和/或控制总线 14;以及
输入/输出接口15(I/O),例如串行总线,用于与电路1的外部进行通信。
根据应用(例如加密处理器),电路1还可以集成由框16(FCT) 标示的其他功能、诸如例如用于非接触式近场通信(NFC)的其他接口、其他存储器等。
纠错必须是快速的,特别是在非接触式应用中,由于与电路1可以在其间与终端通信的时间段相关联的通信的短暂性质,事务必须非常快速地执行。
闪速存储器中的纠错通常使用硬件解决方案,根据该解决方案,通过应用纠错码来将读取的数据位进行组合,其结果与读取对应的数据期间存储的控制值进行比较。这些硬件解决方案必须在生产期间提供。这意味着它们通常是不适用的,特别是在纠错要求规范(必须检测的每字的位变化的最小数目)变化的情况下。
因此,所描述的实施例提出了一种软件解决方案,例如基于由处理单元执行的程序。
在闪速存储器中的数据存储受制于与执行的操作的粒度、按字 (例如一个或多个字节的)执行的读取和写入相关联的各种约束,而擦除是按页执行。
可以考虑实现一种类型的冗余,例如数据存储的复制。然而,这将仅检测错误的存在(如果两个读取的数据字不同),但是将不会确定哪个字是正确的字。即使通过提供三重存储来执行三个字之间的择多判定(majority decision),这也不足以满足一些要求规范。特别地,在一些应用中,期望能够校正可能在存储器的所有字中发生的错误,例如每字一位的状态的改变。即使三重(或更多)的存储也将不能实现这个目的。此外,这使必要的存储器大小增至三倍。
此外,存储冗余不能实现简单的原子性管理,因为这将增加要监控的字的数目。
在银行事务(例如付款)的情况下,事务的原子性质尤其重要,因为有必要确保存储在闪速存储器中的信息(例如电子钱包的余额或购买授权,或验证事务的标识符)以可靠的方式存储。
根据实施例,提供了将存储器的每个字(例如,表示写入模式中的编程粒度的每个实体)划分为包含数据的部分和包含用于第一部分的数据的纠错码的部分。因此,这需要在存储时减小(逻辑)数据字的大小,以便能够向数据字添加纠错码,从而创建要存储在存储器中的物理字。这些操作可以通过软件执行。
数据可以由数据本身或元数据组成,例如与存储的组织有关的信息,特别是为了管理每页的擦除和原子性。从纠错的角度来看,数据以相同的方式进行处理,无论它们是否是元数据。
下面将对(例如闪速存储器的)8位字的示例进行检查,其写入粒度是字节。然而,根据所使用的纠错码,整个描述更一般地应用于在数据位和纠错码位之间具有不同分布的任何字大小。
图2是在三个区域中示出了图1所示的闪速存储器2的物理字M 的框图。
四位包含数据位,例如逻辑字。三位包含逻辑字的纠错码。一个可选位包含其他七位的奇偶校验位。
纠错码例如是7/4汉明码。在这种情况下:
位b3、b5、b6和b7包含逻辑字的位,例如四个数据位d0、d1、 d2和d3;以及
位b1、b2和b4包含纠错码的三位h0、h1和h2。
在图2所示的示例中,位b0包含物理字的其他七位的奇偶校验位P。
纠错码的选择取决于应用,并且特别地,取决于非易失性存储器的物理字的大小和逻辑字所需的位数。例如,可以使用格雷(Golay)、里德-穆勒(Reed-Müller)等码或15/11汉明码(用于32位物理字和 11位逻辑字)或31/26汉明码(用于64位物理字和16位逻辑字)。然而,7/4码在码大小和使用小矩阵进行编码和解码的方便性方面提供了很好的折中。事实上,就处理速度而言,可以存储编码和解码矩阵以用于直接比较(不计算)。然后在设计期间预先计算表,并将表存储在非易失性存储器中,并且在电路通电时传送到非易失性存储器。7/4汉明码的编码和解码矩阵本身是已知的。
物理字的大小的选择取决于应用和存储器中的写入粒度。
图3高度示意性地并且以框的形式示出了闪速存储器,并且部分示出了处理单元11(PU)。存储器2包括存储器单元的阵列22 (ARRAY)和存储器控制器24(CTRL)。控制器24负责将地址总线14A上的逻辑地址ADD转换成存储器字的物理地址,该逻辑地址 ADD由处理单元11,或者更一般地,由访问存储器的任何实体提供。
应当注意,就存储器而言,其接收的字被认为是数据字,并且它不在数据位和纠错位之间进行区分。它在数据总线14D上接收要写入的8位字的地址和该字的内容。这表示与硬件解决方案相比的另一个区别。
在读取模式下,代码解码表的应用在逻辑数据字中直接校正错误。该错误进一步得到校正,无论它是存在于数据位还是存在于校正码的位中。
在上面的8位物理字(字节)和4位逻辑字的示例中,在存储器空间方面支付的价格加倍。然而,一个优点是以与元数据字相同的方式处理数据字。这允许将该方法应用到耐久性和/或原子性管理算法,并且其特性将被保留,同时使其具有抗错性。
已经描述的实施例的一个优点是它们改进了对诸如闪速存储器的非易失性存储器中的错误的管理。
所描述的实施例的另一个优点是纠错机制以相同的方式覆盖数据和元数据。此外,原子性元数据及它们各自的纠错码被存储在与写入模式下的闪速存储器的粒度对应的相同的物理字中。因此,它们在相同的操作期间被编程,从而防止原子性算法变得更加复杂。
已经描述了各种实施例。各种变型和修改对于本领域技术人员是显而易见的。此外,基于上面给出的功能指示和通过使用本身常规的电路,已经描述的实施例的实际实现在本领域技术人员的能力之内。特别地,存储器的寻址的组织以及适于其控制和其寻址的信号的生成使用本身常规的技术。
一些实施例可以采取计算机程序产品的形式或者包括计算机程序产品。例如,根据一个实施例,提供了一种包括计算机程序的计算机可读介质,该计算机程序适于执行上述方法或功能中的一个或多个方法或功能。介质可以是物理存储介质,诸如例如只读存储器(ROM) 芯片,或者诸如数字通用盘(DVD-ROM)、光盘(CD-ROM)、硬盘的盘,存储器,网络或便携式媒体物品,以由适当的驱动器或经由适当的连接来读取,包括以在一个或多个这样的计算机可读介质上存储的一个或多个条形码或其他相关码进行编码,并且可由适当的读取器设备读取。
此外,在一些实施例中,系统和/或模块和/或电路和/或框中的一些可以以其他方式实现或提供,例如至少部分地以固件和/或硬件提供,包括但不限于:一个或多个专用集成电路(ASIC)、数字信号处理器、分立电路、逻辑门、标准集成电路、状态机、查找表、控制器(例如,通过执行适当的指令,并且包括微控制器和/或嵌入式控制器)、现场可编程门阵列(FPGA)、复杂可编程逻辑器件(CPLD) 等,以及采用RFID技术的设备及其各种组合。
可以组合上述各种实施例以提供其他实施例。如果需要使用各种专利、应用和出版物的概念以提供另外的实施例,则可以修改实施例的方面。
可以根据上述详细描述对实施例进行这些和其他改变。通常,在所附权利要求中,所使用的术语不应被解释为将权利要求限制于说明书和权利要求书中公开的特定实施例,而应被解释为包括所有可能的实施例以及这些权利要求所提供的等同物的全部范围。因此,权利要求不受本公开的限制。

Claims (20)

1.一种用于数据存储的方法,包括:
将数据和与所述数据相关的元数据以逻辑字存储在非易失性存储器中,其中所述元数据包含原子性信息;以及
针对存储在所述非易失性存储器中的每个逻辑字,生成对应的纠错码,其中存储在所述非易失性存储器中的每个物理字包含逻辑字和所述对应的纠错码;以及其中物理字的位数对应于所述非易失性存储器的最小写入粒度。
2.根据权利要求1所述的方法,其中所述纠错码检测每字节一位的反转。
3.根据权利要求1所述的方法,其中所述纠错码是汉明码。
4.根据权利要求1所述的方法,其中所述非易失性存储器是闪速存储器。
5.根据权利要求1所述的方法,其中每个物理字包含基于存储在所述物理字中的所述逻辑字和所述对应的纠错码的奇偶校验位。
6.根据权利要求1所述的方法,其中生成所述对应的纠错码包括使用编码表对所述逻辑字进行编码。
7.根据权利要求1所述的方法,包括将所述数据和所述元数据分割成逻辑字。
8.一种闪速存储器,包括:
存储器阵列;以及
控制电路,所述控制电路在操作时,控制数据和与所述数据相关的元数据以所述存储器阵列的逻辑字的存储,所述元数据包含原子性信息,其中存储在所述存储器阵列中的物理字包括所述数据的或所述元数据的逻辑字以及对应于所述逻辑字的纠错码;以及
其中物理字的位数对应于所述闪速存储器的最小写入粒度。
9.根据权利要求8所述的闪速存储器,其中所述纠错码检测每字节一位的反转。
10.根据权利要求8所述的闪速存储器,其中所述纠错码是汉明码。
11.根据权利要求8所述的闪速存储器,其中存储在所述存储器阵列中的每个物理字包含基于所述物理字的所述逻辑字和所述对应的纠错码的奇偶校验位。
12.根据权利要求8所述的闪速存储器,其中通过使用编码表对逻辑字进行编码来生成物理字。
13.根据权利要求8所述的闪速存储器,其中所述数据和所述元数据被分割成逻辑字。
14.一种用于数据存储的系统,包括:
处理电路;以及
耦合到所述处理电路的非易失性存储器阵列,其中所述处理电路在操作时,控制数据和与所述数据相关的元数据以所述非易失性存储器阵列的逻辑字的存储,所述元数据包含原子性信息,所述逻辑字的存储包括生成与所述逻辑字对应的纠错码以及生成包括所述逻辑字和所述对应的纠错码的物理字;以及其中物理字的位数对应于所述非易失性存储器阵列的最小写入粒度。
15.根据权利要求14所述的系统,其中所述纠错码是汉明码。
16.根据权利要求14所述的系统,其中生成与所述逻辑字对应的纠错码以及生成包括所述逻辑字和所述对应的纠错码的物理字包括:使用编码表对所述逻辑字进行编码。
17.根据权利要求14所述的系统,其中所述非易失性存储器阵列包括控制电路,所述控制电路在操作时,控制物理字在所述非易失性存储器阵列中的存储。
18.一种非易失性计算机可读介质,具有使得包括非易失性存储器的计算系统执行以下方法的内容,所述方法包括:
将数据以所述非易失性存储器的逻辑字进行存储;以及
将与所述数据相关的元数据以所述非易失性存储器的逻辑字进行存储,所述元数据包含原子性信息,其中逻辑字的所述存储包括:生成与所述逻辑字对应的纠错码以及将包括所述逻辑字和所述对应的纠错码的物理字存储在所述非易失性存储器中;以及其中物理字的位数对应于所述非易失性存储器的最小写入粒度。
19.根据权利要求18所述的非易失性计算机可读介质,其中所述纠错码是汉明码。
20.根据权利要求18所述的非易失性计算机可读介质,其中生成与所述逻辑字对应的纠错码以及将包括所述逻辑字和所述对应的纠错码的物理字存储在所述非易失性存储器中包括:使用编码表对所述逻辑字进行编码。
CN201710763324.4A 2017-01-12 2017-08-30 闪速存储器中的纠错方法及装置 Active CN108304277B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR1750274 2017-01-12
FR1750274 2017-01-12

Publications (2)

Publication Number Publication Date
CN108304277A CN108304277A (zh) 2018-07-20
CN108304277B true CN108304277B (zh) 2021-08-17

Family

ID=58707707

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710763324.4A Active CN108304277B (zh) 2017-01-12 2017-08-30 闪速存储器中的纠错方法及装置

Country Status (2)

Country Link
US (1) US10547326B2 (zh)
CN (1) CN108304277B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109669804B (zh) * 2018-11-29 2022-04-19 中国电子产品可靠性与环境试验研究所((工业和信息化部电子第五研究所)(中国赛宝实验室)) 用于降低ecc存储器的存储区实际软错误率的方法和装置
CN109903806A (zh) * 2019-04-01 2019-06-18 江苏华存电子科技有限公司 一种双模式检错内存及双模式检错方法

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5195098A (en) 1991-05-10 1993-03-16 Echelon Corporation Binary data error correction using hint signal
FR2810152A1 (fr) 2000-06-13 2001-12-14 St Microelectronics Sa Memoire eeprom securisee comprenant un circuit de correction d'erreur
US6684289B1 (en) * 2000-11-22 2004-01-27 Sandisk Corporation Techniques for operating non-volatile memory systems with data sectors having different sizes than the sizes of the pages and/or blocks of the memory
US20030005219A1 (en) * 2001-06-29 2003-01-02 Royer Robert J. Partitioning cache metadata state
US7310711B2 (en) * 2004-10-29 2007-12-18 Hitachi Global Storage Technologies Netherlands B.V. Hard disk drive with support for atomic transactions
US20060294339A1 (en) * 2005-06-27 2006-12-28 Trika Sanjeev N Abstracted dynamic addressing
US7873878B2 (en) * 2007-09-24 2011-01-18 International Business Machines Corporation Data integrity validation in storage systems
JP2009104757A (ja) 2007-10-02 2009-05-14 Panasonic Corp 半導体記憶装置
CN101414489B (zh) * 2007-10-19 2012-09-05 中国科学院计算技术研究所 一种容错存储器及其纠错容错方法
EP2453352A1 (en) * 2010-11-08 2012-05-16 Gemalto SA Software updating process for an embedded device
CN102332288B (zh) * 2011-07-15 2014-01-15 北京兆易创新科技股份有限公司 存储器电路及应用所述存储器电路读取数据的方法
US20140089561A1 (en) * 2012-09-26 2014-03-27 Kiran Pangal Techniques Associated with Protecting System Critical Data Written to Non-Volatile Memory
US8990670B2 (en) * 2012-09-28 2015-03-24 Intel Corporation Endurance aware error-correcting code (ECC) protection for non-volatile memories
US9547524B2 (en) * 2012-12-20 2017-01-17 Massachusetts Institute Of Technology Methods and systems for enhancing hardware transactions using hardware transactions in software slow-path
US9448738B2 (en) * 2013-03-15 2016-09-20 Western Digital Technologies, Inc. Compression and formatting of data for data storage systems
US9984768B2 (en) * 2014-10-20 2018-05-29 Sandisk Technologies Llc Distributing storage of ECC code words
CN105808151B (zh) * 2014-12-29 2019-09-27 华为技术有限公司 固态硬盘存储设备和固态硬盘存储设备的数据存取方法
KR102254102B1 (ko) * 2015-01-23 2021-05-20 삼성전자주식회사 메모리 시스템 및 메모리 시스템의 동작 방법
US9690517B2 (en) * 2015-05-22 2017-06-27 Texas Instruments Incorporated Dual-mode error-correction code/write-once memory codec
US20170286311A1 (en) * 2016-04-01 2017-10-05 Dale J. Juenemann Repetitive address indirection in a memory

Also Published As

Publication number Publication date
US20180198464A1 (en) 2018-07-12
CN108304277A (zh) 2018-07-20
US10547326B2 (en) 2020-01-28

Similar Documents

Publication Publication Date Title
US10180805B2 (en) Memory system and operating method thereof
US8281065B2 (en) Systems and methods for determining the status of memory locations in a non-volatile memory
US10482038B2 (en) Programmable protocol independent bar memory for SSD controller
US20150154111A1 (en) Apparatus and method of offloading processing from a data storage device to a host device
CN105340022A (zh) 用于校正数据错误的电路、设备及方法
US10319461B2 (en) Low-overhead mechanism to detect address faults in ECC-protected memories
US9448926B2 (en) Bidirectional counter in a flash memory
CN107544925B (zh) 存储器系统及加速引导时间的方法
CN107807886B (zh) 闪存存储器中的索引管理
US10067826B2 (en) Marker programming in non-volatile memories
KR20180086816A (ko) 사전-검사된 에러율에 따른 적응형 에러정정을 수행하는 메모리장치 및 전자장치와, 메모리장치의 동작방법
CN108304277B (zh) 闪速存储器中的纠错方法及装置
JP2009064238A (ja) メモリシステム
US11907571B2 (en) Read threshold optimization systems and methods using domain transformation
CN111177041B (zh) 支持新能力的可配置集成电路
CN112051963A (zh) 数据写入方法、存储器控制电路单元以及存储器存储装置
KR102638789B1 (ko) 테스트방법 및 이를 이용한 반도체시스템
US11087846B1 (en) Memory system with single decoder, multiple memory sets and method for decoding multiple codewords from memory sets using the single decoder
US20210272641A1 (en) Read threshold optimization systems and methods by multi-dimensional search
CN110119247B (zh) 非易失性存储器
CN107402887B (zh) 闪速存储器中的计数器
US20200097416A1 (en) Data path protection parity determination for data patterns in storage devices
CN111796774A (zh) 存储器控制方法、存储器存储装置及存储器控制器
US9996412B2 (en) Enhanced chip-kill schemes by using sub-trunk CRC
KR20200113991A (ko) 컨트롤러 및 메모리 시스템

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
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20230207

Address after: Geneva, Switzerland

Patentee after: STMicroelectronics International N.V.

Address before: Diegem

Patentee before: PROTON WORLD INTERNATIONAL N.V.