CN1311354C - 用于闪速存储器允许可更改位的系统和存储数据的方法 - Google Patents

用于闪速存储器允许可更改位的系统和存储数据的方法 Download PDF

Info

Publication number
CN1311354C
CN1311354C CNB028013549A CN02801354A CN1311354C CN 1311354 C CN1311354 C CN 1311354C CN B028013549 A CNB028013549 A CN B028013549A CN 02801354 A CN02801354 A CN 02801354A CN 1311354 C CN1311354 C CN 1311354C
Authority
CN
China
Prior art keywords
word
flash memory
data
error correction
redundant
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.)
Expired - Fee Related
Application number
CNB028013549A
Other languages
English (en)
Other versions
CN1529852A (zh
Inventor
S·加皮施
C·P·M·J·巴根
A·G·J·斯伦特
H·-J·格尔克
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.)
Koninklijke Philips NV
Original Assignee
Koninklijke Philips Electronics 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 Koninklijke Philips Electronics NV filed Critical Koninklijke Philips Electronics NV
Publication of CN1529852A publication Critical patent/CN1529852A/zh
Application granted granted Critical
Publication of CN1311354C publication Critical patent/CN1311354C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Read Only Memory (AREA)
  • Detection And Correction Of Errors (AREA)

Abstract

系统(70)包括微处理器(74),一个用于往闪速存储器器件(71)中写数据的数据总线(75)和一个用于从闪速存储器器件(71)中读数据的数据总线(75),闪速存储器器件(71)包括错误修正编码器(72)、闪速存储器(71)、错误修正解码器(73)、和闪速存储器数据总线,所述数据总线用于互连错误修正编码器(72)、闪速存储器(71)和错误修正解码器(73)。数据在由错误修正编码器(72)处理时被转换为包括状态字(51)、数据字(52)、和冗余字(53)的字。这一方法允许以单一位改变修正错误。

Description

用于闪速存储器允许可更改位的系统和存储数据的方法
                      技术领域
本发明涉及闪速存储器器件领域。更具体说,本发明涉及一种错误修正模式,它能使闪速存储器的位可更改。
                      背景技术
许多当今的消费和嵌入式系统产品通常包括三类不同的存储器部件,用于支持产品所需要的特征。例如,在一种典型的蜂窝电话中,使用闪速存储器部件来存储代码,SRAM提供堆栈和易失数据的存储,而第三部件,亦即EEPROM器件,提供为经常更新或变更的数据提供非易失存储。这三组数据的内容以不同速率和在不同时间改变,取决于产品的类型。显然,所有这些数据需要存储在它可以被最好地检索以及改变的地方。
使用闪速存储器来存储和检索需要非易失存储数据的消费和工业应用已有多年。例如,可以使用闪速存储器提供磁盘模拟,代替转动磁盘。换句话说,可以使用闪速存储器作为读/写介质来代替转动磁盘。
一种增加闪速存储器器件中数据可更改性的方法在美国专利6,041,001中公开。使用一种错误修正码,称为汉明码,和把闪速存储器单元细分为块。每一这种块进一步被分为段。所述美国专利集中在闪速存储器中的数据组织。使用大功率错误修正来执行错误检测和错误改正。
闪速存储器是一种可电重写的非易失数字存储器器件,它不需要电源来保持它的存储器内容。典型的闪速存储器在浮置栅上存储电荷来表示二进制状态系统的第一逻辑状态,而没有存储的电荷表示二进制状态系统的第二逻辑状态。另外,典型的闪速存储器器件能够执行写操作、读操作、和擦除操作。
在大量消费应用中,闪速存储器一直主要用于代码存储,虽然闪速存储器在电路中的写能力也允许它应用于数据存储。直到最近,在闪速存储器内部存储的代码正被执行时不能写(或擦除),这一点曾阻止它替换在某些产品中的EEPROM。然而,新系列闪速存储器部件在单一闪速存储器内提供这种同时的‘读同时写’(RWW)功能。这一特征开辟了在同一闪速存储器器件中存储非易失数据和可执行代码的道路。这种闪速存储器部件提供可执行代码和存储经常更新的数据的能力允许在多种产品中去掉EEPROM。如图1A所示,迄今为止的常规产品通常包括闪速存储器10、EEPROM 11、和SRAM 12。将来可以实现从产品中完全去除EEPROM器件的产品,能够节约芯片面积和各产品的成本。这种未来产品的一个例子在图1B中表示。它包括闪速存储器13和SRAM 14。
新产品开发使得具有大存储容量的闪速存储器成为必需。今天,闪速存储器容量逐年翻番。大闪速存储器必须使用错误修正,以便实现合格产品的可靠性。错误修正基于产生冗余位,亦即奇偶位,它们与数据位一起存储在存储器中。在读取存储器时,使用这些冗余位检测和改正位错误。使用闪速存储器的错误修正有一个大的缺点:一旦给该闪速存储器编程一个数据字,则这一数据字不再能在不妨碍正确地产生冗余位的条件下改变。换句话说,当使用常规错误修正模式时失去了数据字的单个位可改变性。
通常,不要任何错误修正模式使用闪速存储器。在这些常规闪速存储器中,如果希望改变一个闪速存储器数据字的话,则必须擦除整个闪速存储器(或至少其大部分)。
在数字存储器设计中使用错误修正来处理位错误。通常,使用一个适当的逻辑电路,该电路实现错误修正代码(ECC)。ECC允许检查正被读或传输的数据位的错误,和必要时,在运行中改正这些错误。
由于使用的闪速存储器日益增加的规模,提供某种错误修正变得越来越重要。一些最新的闪速存储器系统装置有错误修正模式,该模式使用一个编码器给闪速存储器写数据,和一个解码器从闪速存储器读数据。
然而,可更改位是一个非常重要的特征,例如,当在闪速存储器上模拟EEPROM功能时,该技术由所有主要的闪速存储器制造商使用,例如Intel,AMD,Atmel,和其他制造商。
本发明的一个目的是提供一种模式,它允许闪速存储器用于当今和未来的多种应用。因此,本发明的一个目的是提供一种模式,它能当在闪速存储器上模拟EEPROM功能时实现位的更改。
                      发明内容
通过改进闪速存储器的结构和使用这种闪速存储器的方式实现了这些和其它目的。
本发明涉及一种模式,其中,一个错误修正块应用一种编码模式,它使位的改变在闪速存储器上变得可能。
根据本发明,提供一种系统,包括一个微处理器、一个用于往闪速存储器器件中写数据和用于从闪速存储器器件中读数据的数据总线,该闪速存储器器件包括:错误修正编码器,用于接收将被存储的数据及用于生成一个冗余字,该将被存储的数据和该冗余字被提供给闪速存储器;闪速存储器,用于存储冗余字和数据字;错误修正解码器,用于在从闪速存储器读出数据字和冗余字期间接收该数据字和该冗余字;和闪速存储器数据总线,用于互连错误修正编码器、闪速存储器和错误修正解码器,其中该将被存储的数据,一旦经错误修正编码器处理,就被转换成数据字,该数据字包括状态字和数据字段,其中,为位变化预留的状态字通过保持错误修正,提供一种位的可更改性。
根据本发明的第二到第十五方面,提供优选系统的实现。
根据本发明,提供一种用于在闪速存储器器件存储数据的方法,包括步骤:把所述数据供给具有奇偶位发生器的错误修正编码器,在奇偶位发生器的输出上产生一个冗余字,产生一个状态字,组合数据字段和冗余字和状态字为一个字,及写所述一个字到闪速存储器器件中,其中闪速存储器器件中的一个字的状态字可以采取多个预先规定的值中的一个,不需要一定改变该字的冗余字。
根据本发明的第二到第四方面,提出几种有利的方法。
提出的本发明是一种能使用错误修正在大闪速存储器上进行EEPROM模拟的技术。
本发明的一个优点是,制造商可以使用闪速存储器部件而不是EEPROM存储可执行代码和非易失数据。
本发明的另一个优点是它允许EEPROM功能有选择地添加在一个闪速存储器阵列上。
                      附图说明
为更完整说明本发明和本发明另外的目的和优点,参考下面结合附图的说明书,其中:
图1A是一个具有闪速存储器、EEPROM和SRAM的常规计算设备。
图1B是一个具有闪速存储器和SRAM的常规计算设备。
图2表示编程不应用错误修正的闪速存储器数据字。
图3是一个方框图,表示具有错误修正设备的已知闪速存储器。
图4表示编程应用错误修正的闪速存储器数据字。
图5原理表示根据本发明的数据字的组织。
图6表示应用本发明编程具有错误修正的闪速存储器数据字。
图7原理表示为在闪速存储器上模拟EEPROM的数据组织。
图8是一个方框图,表示本发明的第一实施例。
图9是一个方框图,表示本发明的第二实施例。
图10A是一个方框图,表示根据本发明的一个实施例的错误修正编码器。
图10B是一个方框图,表示根据本发明的一个实施例的错误修正解码器。
                     具体实施方式
闪速存储器与其它存储器类型例如SRAM对比,只允许在一个方向上的位改变。在闪速存储器单元中存储的逻辑“1”通过编程操作可以改变为逻辑“0”。然而,不能通过编程操作把逻辑“0”变成逻辑“1”。改变编程的单元(逻辑内容“0”)为逻辑“1”只能用擦除操作才可能。擦除操作不能对单个位执行,而只能对大量数据(称为块擦除)或甚至整个存储器(称为闪速擦除)执行。
图2表示在闪速存储器数据字20上的一种可能的数据操作。在本例中,闪速存储器数据字20有4位。开始时(初始状态),所有4位都被擦除,因此具有内容“1”。接着,编程数据字‘1010’(状态b)。在随后的步骤(步骤c),把最高位(MSB)21从‘1’改变为‘0’。最后,擦除数据字20(连同许多其它在图2中未示出的数据字),到初始化值‘1111’(状态d)。只要这种改变是从逻辑‘1’到逻辑‘0’,这种单个位改变是可能的(1->0)。
图3表示错误修正块30和闪速存储器31一起的应用。应该编程到闪速存储器31的数据通过输入线32(这里称为数据输入或Din)供给错误修正块30。该错误修正块30产生冗余位。一起编程数据与冗余位到闪速存储器31。数据通过线33写入闪速存储器31,通过线34写入冗余位。在读操作期间,数据和冗余位分别通过线35和36从闪速存储器31读取。使用存储在冗余位中的信息检测和改正数据字中可能的错误。最后,改正的数据在输出线37上输出(这里称为数据输出或Qout)。
当使用常规错误修正模式(例如基于汉明码的模式)-如在图4中所示-时,单个位不能像图4所示那样自由改变。(状态a)在擦除存储器的内容后,闪速存储器数据字40和冗余位41处在初始状态。也就是说,所有位(数据和冗余位)都是逻辑‘1’。(状态b)当编程数据字40时,根据适当的错误修正模式也编程冗余位41。非常适合的是诸如汉明码这样的错误修正码。可以使用汉明码检测和改正单个位错误和双位错误,这里,双位错误指两个不同的数据位包含错误。
(状态c)将会发现,数据字40的MSB 42仍可以从逻辑‘1’改变到逻辑‘0’。但是冗余位41不能相应改变,因为这将需要两个从逻辑‘0’到逻辑‘1’的改变。冗余位41的MSB 43和LSB 44应该从逻辑‘0’改变到逻辑‘1’,这是不可能的。其结果将是在闪速存储器中的一个不正确的字。该例演示当连同常规编码算法例如汉明码一起使用闪速存储器时,单个位可改变性失去。当使用常规错误修正模式时,单个位不能自由改变,如图4所示。
根据本发明,提出一种新的错误修正模式,它允许闪速存储器数据字上改进的位更改。图5表示具有根据本发明的编码模式的闪速存储器数据字50的组织。如图5所示,闪速存储器数据字50分成两个部分51和52。在给出的例子中,数据字50的4个最高位51为位改变预留。数据字50剩余的4位52用于随机数据。冗余位53的使用和常规编码模式相同。然而注意,需要较长的冗余位,因为由于引入字51,整个闪速存储器数据字50更长。请注意,闪速存储器数据字50的部分52通常比部分51长。
图6详细表示新编码模式的原理:(状态a)在擦除操作后闪速存储器数据字50的所有位和冗余字53都是逻辑‘1’。(状态b)数据编程到闪速存储器数据字50的数据部分52。在表示的本例中,编程数据‘1010’。为单一位改变预留的部分51在现在未被触及。冗余字53被编程为‘1001’。(状态c)现在通过编程为位改变为‘0001’而预留的数据字段51而修改闪速存储器数据字50。新闪速存储器数据字50是‘0001 1010’,它有和旧闪速存储器数据字‘111 1010’同样的冗余字53。其结果,闪速存储器数据字50的修改是正确的,并在读出该闪速存储器时将得到一个合法的代码字。
应该注意,位的可更改性是受限制的。位只可以在闪速存储器数据字的一个保留的部分内改变。此外,并非所有可能的位改变是允许的。在给定的例子中,为改变保留4位(部分51)。理论上说,16个位修改是可能的,但是这16个中只有两个是允许的(例如‘0001’和‘0100’)。可能的位改变这里称为‘魔术字’。因为使用循环编码模式(循环码)定义冗余字53,因此有一定的闪速存储器数据字50(魔术字),它们具有同样的冗余字53。
现在结合应用实例说明本模式的细节。
本发明例如可以应用于未来的移动电话系统。对于大闪速存储器容量(64Mb-128Mb)日益增加的需求使得错误修正成为必需。因此,使用没有错误修正模式的闪速存储器不是一种可行的选择。在蜂窝电话中,通常在专用EEPROM芯片中存储少量经常改变的数据(参数)(例如电话号码、税额等),该芯片允许在字节级擦除。为减少移动电话的成本和部件数,新的趋势是省去EEPROM芯片,而在闪速存储器上模拟EEPROM功能。这一技术由所有主要的制造商广泛传播。不像EEPROM,闪速存储器不能在字节级擦除,其在本说明书的引言部分已经讨论。因为闪速存储器中的字节不可能被改写,因此闪速存储器数据字的旧的出现在改变该闪速存储器数据字时被标记为“无效”。把更新的闪速存储器数据字写入下一可用闪速存储器位置。通常,使用闪速存储器管理软件,它跟踪闪速存储器数据的有效出现。图7表示当在闪速存储器上模拟EEPROM功能时闪速存储器数据字60是如何组织的。闪速存储器数据字60分成两个字段61和62。在闪速存储器数据字段62中,可以存储实际信息(随机数据)。在状态字段61中,编程一个标记以指示在闪速存储器数据字段62中包含的数据有效还是无效。该应用直接相应于这里说明的发明。在闪速存储器数据字段62已经编程后状态字段61需要单一位改变。当使用错误修正时,单一位改变到已经编程的数据是不可能的。根据该新模式的错误修正允许为EEPROM模拟所需要的位修正。
图8给出根据本发明的系统70的方框图。系统70是一个集成电路系统,具有一个非易失闪速存储器71。错误修正编码器72安放在闪速存储器71的输入侧。它使用一个错误修正算法用来给闪速存储器71写数据。在闪速存储器71的输出侧安放一个错误修正解码器73,用于从闪速存储器71中读存储的位。此外,系统70包括一个微处理器74。闪速存储器数据总线75连接错误修正编码器72到闪速存储器71和闪速存储器71到错误修正解码器73。闪速存储器数据总线75分成承载冗余位的位线76和承载闪速存储器数据位的位线77。数据位线77分成承载状态位的位线78和承载数据位的位线79。根据本发明,如果状态位改变改变为一定的优选值(“魔术字”),则错误修正编码器72不改变冗余位的组配。
如果要在错误修正编码器72的入口Din处编程入闪速存储器中的数据字具有128位,则闪速存储器数据总线75优选是136位宽,冗余字8位,闪速存储器数据字112位和状态位字16位,然后把它们传输到闪速存储器71。反之亦然,当从闪速存储器71读一个数据字时,冗余字有8位,闪速存储器数据字有112位,状态位字有16位。输出线66上的数据字是128位宽。在128位数据字、16位的状态位字和8位的冗余字的场合,有几个可用的魔术字。允许状态字采取一个魔术字。不允许魔术字以外的字。当有3个不同的16位魔术字时,状态字段可以存储3个魔术字中之一。注意,如果数据字段中的数据字改变,则根据本发明的奇偶位仍然改变。然而,如果状态信息从一个魔术字改变到另一个魔术字,则奇偶位不改变。用以控制微处理器的软件(微代码)‘认识’该魔术字。魔术字可以存储在例如闪速存储器中。
在根据本发明的另一个实施例的集成电路系统中,可以使用状态位61来决定内容部分62中的数据是否有效。
在本发明的另一个实施例中,以模拟EEPROM的方式使用闪速存储器71。
在本发明的再一个实施例中,使用一个循环冗余码,最好是一个对称的汉明码,作为集成电路系统70中的错误修正算法。
图9给出本发明的另外一个实施例。系统80包括微处理器84、微处理器总线91、RAM 83、I/O设备92和闪速存储器单元90。在闪速存储器单元90内实现本发明模式。它包括一个组合的错误修正编码器/解码器82(和可能有其它的控制电路),其通过闪速存储器数据总线连接到闪速存储器81。闪速存储器数据总线包括位线86和87。微处理器84可以经由总线91写数据到闪速存储器81中。这些数据由编码器/解码器82编码(在被编程到闪速存储器81中前)。通过位线86编程冗余位到闪速存储器81和经过数据线87编程闪速存储器数据字到闪速存储器81。编码器/解码器82产生具有两部分的闪速存储器数据字。第一部分表示位改变,而第二部分表示实际数据。为此目的,数据线87细分为承载闪速存储器数据字的第一部分的数据线88和承载实际数据字的数据线89。
编码器/解码器82包括多个门(诸如与门、或门和异或门)。
当从闪速存储器81中读数据时,通过数据线86和87取各数据。然后,应用一个算法来检验该数据有效还是无效。如果该数据被认为有效,则使它们成为可通过总线91为微处理器84可用。如果该数据被认为无效,则改正它们,然后使它们通过总线91为微处理器84可用。
图10A表示错误修正编码器72的细节。在本例中,用于在闪速存储器71中写入数据的输入总线Din是128位宽。通过总线线103把一个128位的数据字供给适配器100。适配器扩展该数据字,使得它在输出总线104上有136位。这通过在该数据字的末尾添加零而实现。然后通过总线104把该136位的数据字供给第一奇偶位发生器101。第一奇偶位发生器101应用一个编码模式(例如基于汉明码)以便产生相应于在输入Din处的数据字的冗余位。在本例中,有8个冗余位,它们在第一奇偶位发生器101的输出总线105上提供。8位冗余字和在输入Din处的128位的数据字组合,以便形成在输出总线75(Dout)上的一个136位的字。这一136位的字存储在闪速存储器71中为以后检索。
图10B表示错误修正解码器73的细节。当从闪速存储器71中取136位的字时,它通过总线108供给另一个第二奇偶位发生器106。这一第二奇偶位发生器106可以和第一奇偶位发生器101相同。第二奇偶位发生器106应用一个编码模式(例如基于汉明码),以便能够决定该136位的字中的任何位是否需要改正和识别哪一位必须被改正。在本例中,第二奇偶位发生器106在输出总线109上提供一个8位的字,它指示该136位的字中的任何位是否需要改正和哪一位必须被改正。应用修正单元107执行正被施加在它的输入总线108上的136位字的必需的改正。然后把改正的数据字(Qout)提供到输出总线110上。
错误修正编码器72和错误修正解码器73都可以使用标准数字逻辑实现。优选,两个功能块72和73都可以集成到和闪速存储器71同一个模子上。
根据本发明的闪速存储器的特征是以图5所示方式逻辑组织数据。每一闪速存储器数据字包括一个第一部分,其中存储为单个位改变保留的信息。闪速存储器数据字的第二部分包括实际数据。提供一个第三部分,使用它来存储冗余位。这些冗余位根据第一和第二部分中的信息计算。使用一个合适的代码(例如汉明码)来计算冗余位。根据本发明的一个实施例,可以规定错误修正代码的某些代码要求。第一条件将是该代码应该是对称的,亦即在其中所有位都是‘0’或所有位都是‘1’的代码字必须是合法的字。
可以使用下面的等式来产生第二奇偶位发生器106的输出总线109上的字ParGenQ:
ParGenQ=H·cT
ParGenQ是在总线109上的8位结果矢量。它通过用在输入总线108上的136位的字乘奇偶位矩阵H产生。第二奇偶位发生器106实现该矩阵H。
在闪速存储器71的输入侧,可以使用同样的矩阵H来产生输出总线105上的冗余字。
为结合本发明使用,可以规定表征奇偶位矩阵H的规则。这些规则可以根据不同的应用而不同。
应该注意,本发明不允许无限制的位更改,像在没有任何错误修正的闪速存储器中的情形。
介绍一种为模拟闪速存储器中电可擦可编程只读存储器(EEPROM)的成本有效的方法。这里介绍的方法使用具有关于闪速存储器数据字改进的位可更改性的标准闪速存储器部件,其足以满足大多数应用。
根据另一个实施例,例如,闪速存储器数据字具有128位的长度,和冗余字具有8位的长度。
本发明非常适合用于个人数字助理(PDA)、蜂窝电话、数字照相机、掌上型设备或多种其它设备。包括根据本发明的闪速存储器的系统非常适合用来存储万维网地址、备忘录、新的地址信息(例如新的电话号码)、账目(例如费用)等。
可以在其中使用本发明的一个例子是话音驱动(话音编码)蜂窝电话。例如,各话音样本存储在闪速存储器中。
本发明还非常适合用于这样的蜂窝电话,在这样的电话中,电话号码存储在闪速存储器中而不是SIM卡上。如果一个电话号码改变,则旧的电话号码必须标记为过时。为此目的,闪速存储器中的各数据字必须标记为无效。为实现这一点,必须改变单一位。在具有错误修正的常规闪速存储器中,这是不可能的。然而,使用本发明,可以改变单一位,只要新的数据字(其中一位要改变)和原来的数据字具有同样的冗余字。
本发明的一个优点是,它改善了任何计算设备的可靠性,而没有增加用于附加电路的更多开销或成本。
应该理解,为清楚起见,本发明的各种特征在一些个别实施例的上下文中说明,它们也可以在单一实施例中组合提供。相反,为简洁起见,在单一实施例的上下文中说明的本发明的各种特征也可以单独或者以任何适合的子组合提供。
在附图和说明书中,叙述了本发明的优选实施例,虽然使用了特定的术语,但是这样给出的说明在通用和说明性意义上使用这些术语,而不是为限制的目的。

Claims (20)

1.一种系统,包括一个微处理器(74)、一个用于往闪速存储器器件中写数据和用于从该闪速存储器器件读数据的数据总线,该闪速存储器器件包括:
错误修正编码器(72),用于接收将被存储的数据及用于生成一个冗余字(53),将被存储的该数据和该冗余字(53)被提供给闪速存储器(71);
闪速存储器(71),用于存储冗余字(53)和数据字(50);
错误修正解码器(73),用于在从闪速存储器(71)读出期间接收该数据字(50)和该冗余字(53);和
闪速存储器数据总线(75),用于互连错误修正编码器(72)、闪速存储器(71)和错误修正解码器(73),其中将被存储的该数据,一旦经错误修正编码器(72)处理,就被转换成数据字(50),该数据字(50)包括状态字(51)和数据部分(52),其中,为位变化预留的状态字通过保持错误修正,提供一种位的可更改性。
2.如权利要求1所述的系统,其中,错误修正编码器(72)包括表示错误修正代码的逻辑电路。
3.如权利要求2所述的系统,其中,错误修正代码是一种对称汉明码。
4.如权利要求1、2或3所述的系统,其中,闪速存储器数据总线(75)包括用于写冗余字(53)到闪速存储器(71)中的位线和/或用于从闪速存储器(71)读冗余字(53)的位线。
5.如权利要求1、2或3所述的系统,其中,闪速存储器数据总线(75)包括用于写数据部分(52)到闪速存储器(71)中的位线和/或用于从闪速存储器(71)读数据部分(52)的位线。
6.如权利要求1、2或3所述的系统,其中,闪速存储器数据总线(75)包括用于写状态字(51)到闪速存储器(71)中的位线和/或用于从闪速存储器(71)读状态字(51)的位线。
7.如权利要求1所述的系统,其中,可以由错误修正解码器(73)使用存储在冗余字(53)内的信息来检测和改正数据字(50)中可能的错误。
8.如权利要求1所述的系统,在存储在所述闪速存储器器件中的数据字上提供位的可更改性。
9.如权利要求1所述的系统,其中,要编程到闪速存储器器件中的数据具有128位,冗余字具有8位,数据字具有112位,和状态字具有16位。
10.如权利要求1所述的系统,其中,状态字(51)确定数据字(50)中的数据部分(52)是否有效。
11.如权利要求2所述系统,其中,错误修正代码是循环冗余代码。
12.如权利要求1所述的系统,其中,数据以闪速存储器(71)中的三部分组织,这里,第一部分(51)包含一个状态字,第二部分(52)包含一个数据字,第三部分(53)包括一个冗余字。
13.如权利要求1所述的系统,其中,错误修正编码器(72)包括一个用于扩展数据宽度的适配器(100)和用于产生冗余字(53)的第一奇偶位发生器(101)。
14.如权利要求1所述的系统,其中,错误修正解码器(73)包括一个第二奇偶位发生器(106),用于产生和供给结果矢量(ParGenQ)给修正单元(107)。
15.如权利要求14所述的系统,其中,修正单元(107)使用结果矢量(ParGenQ)以便改正从闪速存储器(71)中读取的数据字。
16.一种用于在闪速存储器器件(71)存储数据的方法,包括步骤:
把所述数据供给具有第一奇偶位发生器(101)的错误修正编码器(72),
在第一奇偶位发生器(101)的输出(105)上产生一个冗余字(53),
产生一个状态字(51),
组合数据字段(52)和冗余字(53)和状态字(51)为一个字,及
写所述一个字到所述闪速存储器器件中,其中所述闪速存储器器件中的一个字的状态字(51)可以采取多个预先规定的值中的一个,而不需要一定改变该字的冗余字。
17.如权利要求16所述的方法,其中,字从闪速存储器器件(71;81)中读取,并由包括在错误修正解码器(73)中的第二奇偶位发生器(106)处理,以便检测位错误。
18.如权利要求17所述的方法,其中,第二奇偶位发生器(106)产生一个输出字,该输出字指示是否已发生位错误和必须改正该字中的哪一位。
19.如权利要求17所述的方法,其中,改正是根据在第二奇偶位发生器(106)的输出字中包含的信息进行的。
20.如权利要求16所述的方法,其中,使用状态字(51)指示在相应的数据字段(52)中的数据是有效数据还是无效数据。
CNB028013549A 2001-04-24 2002-04-12 用于闪速存储器允许可更改位的系统和存储数据的方法 Expired - Fee Related CN1311354C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP01109905 2001-04-24
EP01109905.8 2001-04-24

Publications (2)

Publication Number Publication Date
CN1529852A CN1529852A (zh) 2004-09-15
CN1311354C true CN1311354C (zh) 2007-04-18

Family

ID=8177215

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB028013549A Expired - Fee Related CN1311354C (zh) 2001-04-24 2002-04-12 用于闪速存储器允许可更改位的系统和存储数据的方法

Country Status (6)

Country Link
US (1) US20030046631A1 (zh)
EP (1) EP1399819A2 (zh)
JP (1) JP4417629B2 (zh)
KR (1) KR100870392B1 (zh)
CN (1) CN1311354C (zh)
WO (1) WO2002086719A2 (zh)

Families Citing this family (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2003278500A1 (en) * 2002-11-21 2004-06-15 Koninklijke Philips Electronics N.V. Electronic memory component or memory module, and mehtod of operating same
JP4550439B2 (ja) * 2003-02-28 2010-09-22 東芝メモリシステムズ株式会社 Ecc制御装置
PL363945A1 (en) * 2003-12-08 2005-06-13 Advanced Digital Broadcast Polska Spółka z o.o. Software method for eeprom memory emulation
US7334179B2 (en) * 2004-06-04 2008-02-19 Broadcom Corporation Method and system for detecting and correcting errors while accessing memory devices in microprocessor systems
US7263383B2 (en) * 2004-09-15 2007-08-28 Inventec Appliances Corp. Apparatus and a method for extending phone book records of a subscriber identification module (SIM) card
AU2005299985A1 (en) * 2004-10-22 2006-05-04 Dow Global Technologies, Inc. Inherently open-celled polypropylene foam with large cell size
ATE467893T1 (de) * 2005-11-22 2010-05-15 Sandisk Corp Verfahren und speichersystem für legacy-hosts
US8219886B1 (en) 2006-01-20 2012-07-10 Marvell International Ltd. High density multi-level memory
US8055979B2 (en) 2006-01-20 2011-11-08 Marvell World Trade Ltd. Flash memory with coding and signal processing
US7844879B2 (en) 2006-01-20 2010-11-30 Marvell World Trade Ltd. Method and system for error correction in flash memory
US7545681B2 (en) * 2006-11-27 2009-06-09 Sandisk Corporation Segmented bitscan for verification of programming
US7440319B2 (en) * 2006-11-27 2008-10-21 Sandisk Corporation Apparatus with segmented bitscan for verification of programming
US8127200B2 (en) * 2006-12-24 2012-02-28 Sandisk Il Ltd. Flash memory device and system with randomizing for suppressing errors
US8370561B2 (en) * 2006-12-24 2013-02-05 Sandisk Il Ltd. Randomizing for suppressing errors in a flash memory
US8583981B2 (en) 2006-12-29 2013-11-12 Marvell World Trade Ltd. Concatenated codes for holographic storage
KR100842680B1 (ko) * 2007-01-08 2008-07-01 삼성전자주식회사 플래시 메모리 장치의 오류 정정 컨트롤러 및 그것을포함하는 메모리 시스템
US7945840B2 (en) * 2007-02-12 2011-05-17 Micron Technology, Inc. Memory array error correction apparatus, systems, and methods
JP4160625B1 (ja) 2007-04-04 2008-10-01 シャープ株式会社 誤り検出制御システム
US7937647B2 (en) * 2007-07-27 2011-05-03 Actel Corporation Error-detecting and correcting FPGA architecture
KR101466694B1 (ko) 2007-08-28 2014-11-28 삼성전자주식회사 Ecc 회로, ecc 회로를 구비하는 메모리 시스템 및그의 오류 정정 방법
DE102008059352A1 (de) * 2008-11-27 2010-06-02 Giesecke & Devrient Gmbh Speicherzugriff auf einen portablen Datenträger
EP2323135A1 (en) * 2009-11-12 2011-05-18 SiTel Semiconductor B.V. Method and apparatus for emulating byte wise programmable functionality into sector wise erasable memory
US8291165B2 (en) * 2010-03-12 2012-10-16 Spansion Llc Electronic devices using removable and programmable active processing modules
US20110225327A1 (en) * 2010-03-12 2011-09-15 Spansion Llc Systems and methods for controlling an electronic device
US20110224810A1 (en) * 2010-03-12 2011-09-15 Spansion Llc Home and building automation
KR101438072B1 (ko) 2010-04-15 2014-09-03 라모트 앳 텔-아비브 유니버시티 리미티드 소거 없는 플래시 메모리의 다중 프로그래밍
US9405618B2 (en) 2014-05-28 2016-08-02 Infineon Technologies Ag Marker programming in non-volatile memories
US10379926B2 (en) * 2014-08-05 2019-08-13 Macronix International Co., Ltd. Method and device for monitoring data error status in a memory
US9519539B2 (en) * 2014-10-24 2016-12-13 Macronix International Co., Ltd. Monitoring data error status in a memory
KR102315314B1 (ko) * 2019-12-16 2021-10-19 주식회사 현대케피코 Eeprom 제어 장치 및 방법

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5448577A (en) * 1992-10-30 1995-09-05 Intel Corporation Method for reliably storing non-data fields in a flash EEPROM memory array

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE69033438T2 (de) * 1989-04-13 2000-07-06 Sandisk Corp., Santa Clara Austausch von fehlerhaften Speicherzellen einer EEprommatritze
US6122195A (en) * 1997-03-31 2000-09-19 Lexar Media, Inc. Method and apparatus for decreasing block write operation times performed on nonvolatile memory
US6360346B1 (en) * 1997-08-27 2002-03-19 Sony Corporation Storage unit, method of checking storage unit, reading and writing method
DE69932962T2 (de) * 1998-01-21 2007-02-01 Sony Corp. Kodierungsverfahren und Speicheranordnung
US6374337B1 (en) * 1998-11-17 2002-04-16 Lexar Media, Inc. Data pipelining method and apparatus for memory control circuit
US6041001A (en) 1999-02-25 2000-03-21 Lexar Media, Inc. Method of increasing data reliability of a flash memory device without compromising compatibility
JP4105819B2 (ja) * 1999-04-26 2008-06-25 株式会社ルネサステクノロジ 記憶装置およびメモリカード
KR100370014B1 (ko) * 2000-05-16 2003-01-29 엘지전자 주식회사 공기조화기의 실외기의 소음 저감구조

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5448577A (en) * 1992-10-30 1995-09-05 Intel Corporation Method for reliably storing non-data fields in a flash EEPROM memory array

Also Published As

Publication number Publication date
JP4417629B2 (ja) 2010-02-17
WO2002086719A3 (en) 2004-01-15
KR100870392B1 (ko) 2008-11-25
WO2002086719A2 (en) 2002-10-31
EP1399819A2 (en) 2004-03-24
KR20030011924A (ko) 2003-02-11
JP2004524636A (ja) 2004-08-12
CN1529852A (zh) 2004-09-15
US20030046631A1 (en) 2003-03-06

Similar Documents

Publication Publication Date Title
CN1311354C (zh) 用于闪速存储器允许可更改位的系统和存储数据的方法
CN103782266B (zh) 针对存储器持久性操作的设备及方法
US8176234B2 (en) Multi-write coding of non-volatile memories
CN1300706C (zh) 具用扇区指针存储器的存储器系统和集成电路及操作方法
CN103714856B (zh) 存储器系统及其读取回收方法
CN101685672B (zh) 在多级单元闪存装置中使用的最低有效位页恢复方法
US20070300130A1 (en) Method of Error Correction Coding for Multiple-Sector Pages in Flash Memory Devices
US20070271494A1 (en) Error Correction Coding for Multiple-Sector Pages in Flash Memory Devices
CN101727983B (zh) 存储设备及其编程方法
JP2016042380A (ja) クロス・ページ・セクタ、マルチ・ページ符号化およびパー・ページ符号化を使用して多重レベル・セル・フラッシュ・メモリ・デバイスにデータを記憶するための方法および装置
CN109542675A (zh) 存储器系统及其操作方法
US20120198135A1 (en) Mapping Data to Non-Volatile Memory
CN1242088A (zh) 利用错误定位码校正一个多级单元存储器的方法和装置
CN107918524B (zh) 数据储存装置及数据维护方法
CN107657982B (zh) 对多级非易失性存储器单元进行编程的方法和存储器装置
CN101558385A (zh) 高速缓存辅助的存储器检错和纠错的方法和装置
US9383929B2 (en) Data storing method and memory controller and memory storage device using the same
CN102543196A (zh) 数据读取方法、存储器储存装置及其控制器
US20130104000A1 (en) Nibble encoding for improved reliability of non-volatile memory
US8537596B2 (en) Overwriting a memory array
CN110532195A (zh) 存储器系统的工作负荷分簇及执行其的方法
CN113628655A (zh) 用以存取闪存模块的方法、闪存控制器与电子装置
Chen et al. Optimizing Lifetime Capacity and Read Performance of Bit-Alterable 3-D NAND Flash
CN106297881A (zh) 非挥发性存储器的健康管理
CN109308930A (zh) 数据写入方法、存储器控制电路单元及存储器存储装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
ASS Succession or assignment of patent right

Owner name: NXP CO., LTD.

Free format text: FORMER OWNER: ROYAL PHILIPS ELECTRONICS CO., LTD.

Effective date: 20071109

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20071109

Address after: Holland Ian Deho Finn

Patentee after: Koninkl Philips Electronics NV

Address before: Holland Ian Deho Finn

Patentee before: Koninklike Philips Electronics N. V.

C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20070418

Termination date: 20130412