CN1898657A - 对要存储在非易失性存储器阵列上的数据进行编码的电路、系统和方法 - Google Patents

对要存储在非易失性存储器阵列上的数据进行编码的电路、系统和方法 Download PDF

Info

Publication number
CN1898657A
CN1898657A CNA2004800346610A CN200480034661A CN1898657A CN 1898657 A CN1898657 A CN 1898657A CN A2004800346610 A CNA2004800346610 A CN A2004800346610A CN 200480034661 A CN200480034661 A CN 200480034661A CN 1898657 A CN1898657 A CN 1898657A
Authority
CN
China
Prior art keywords
ecc
piece
stored
nvm
data block
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.)
Pending
Application number
CNA2004800346610A
Other languages
English (en)
Inventor
M·拉茨
Z·科亨
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.)
Qimonda Flash GmbH
Infineon Technologies Flash Ltd
Original Assignee
Infineon Technologies Flash Ltd
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 Infineon Technologies Flash Ltd filed Critical Infineon Technologies Flash Ltd
Publication of CN1898657A publication Critical patent/CN1898657A/zh
Pending legal-status Critical Current

Links

Images

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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2211/00Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
    • G06F2211/10Indexing scheme relating to G06F11/10
    • G06F2211/1002Indexing scheme relating to G06F11/1076
    • G06F2211/109Sector level checksum or ECC, i.e. sector or stripe level checksum or ECC in addition to the RAID parity calculation

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)
  • Error Detection And Correction (AREA)
  • Detection And Correction Of Errors (AREA)

Abstract

本发明是用于将位存储在非易失性存储器(“NVM”)阵列上的方法、电路和系统。根据本发明的一些实施例,位加扰块可以按照分散模式重新排列所接收的位块。纠错码块可以根据初始位块或根据重新排列的位块产生纠错码(ECC),以及数据存储电路可以将ECC和位块存储在NVM阵列中,该ECC不是从该位块中得出的。

Description

对要存储在非易失性存储器阵列上的数据 进行编码的电路、系统和方法
技术领域
本发明总体上涉及非易失性存储器(“NVM”)器件。更具体地说,本发明涉及对要写入NVM阵列的位进行编码或重新排列。
背景技术
非易失性存储器(“NVM”)单元通用的有多种单元结构,包括“浮置栅”和“氮化物只读存储器”(“NROM”)。NVM单元一般由具有可编程阈值电压的晶体管形成。这些晶体管具有阈值电压(“Vt”),通过对位于晶体管中控制栅和沟道之间的电荷存储区进行充电或放电来对该阈值电压进行编程或将其擦除。通过对存储单元的电荷存储区进行充电或放电将数据写入这种存储单元中,以获得与数据对应的阈值电压。NVM单元可以适于在单个电荷存储区中存储单个位、在多个电荷存储区中存储多个位、或者使用多级编程(“MLC”)在单个或多个电荷存储区中存储多个位。
NVM单元组可被构造成多种阵列结构,这些结构通常具有在每个交叉点处具有至少一个单元的列和行的网格。不同的NVM阵列结构可以工作在不同的操作模式下。例如,NVM单元可以(但是不限于)形成并作为可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)、和快速EEPROM存储器阵列工作。
NVM单元阵列一般制作在半导体衬底上,与适于编程阵列和向其及从其读取数据的电路相邻。编程和读取电路一般可被称为编码器/解码器的控制器。控制器一般具有允许该控制器与需要存取NVM阵列的设备或数字装置互连的接口线。不同的控制器遵照与外部设备或数字装置通信的不同标准,例如控制器可以适于使用智能卡或MMC标准进行通信。
由于基于NVM的器件在操作时具有一定的位读取或写入错误的可能性,因此控制器可以包括“错误检测”和/或“纠错编码”(“ECC”)功能。具有内置检错的NVM芯片或器件一般使用通常所说的奇偶校验法检查错误。奇偶校验的问题在于它发现错误但是并不纠正它们。重要的设备可能需要更高的容错水平,并由此当在NVM阵列上存储数据时,控制器可以产生与正在存储的数据相关联的ECC并且可以将该ECC与初始数据存储在一起。当从阵列读取数据时,控制器可以用数据的相关联ECC来恢复由于编程或读取数据时产生的错误而丢失的数据。
控制器还可以包括当将数据写入NVM阵列或从其中读取数据时临时存储数据的存储缓冲器。要存储在NVM阵列上的数据可以首先与数据的相关联的ECC一起存储在存储缓冲器上。存储缓冲器的每片可以被复制到NVM阵列中的行的一部分。
在包括双或多电荷存储区单元和/或MLC的存储器阵列中,其中多个位可以存储在单个单元上,存储缓冲器的片中的两个或更多相邻位可以被复制到NVM阵列上的单个存储单元上。在单个NVM单元上存储来自数据流或数据块的多个相邻位在单元失效的情况下可能具有与数据恢复有关的缺点。
发明内容
本发明是用于重新排列要存储在NVM阵列上的数据块的数据位的电路、系统和方法。作为本发明的一些实施例的部分,可以在产生ECC之前或期间重新排列这些位(即加扰),而在本发明的其它实施例中,可以在根据初始位产生ECC之后重新排列位。根据本发明的一些实施例,位可以按照重新排列的次序存储在NVM阵列上,而在本发明的其它实施例中,位可以按照它们的初始次序存储在NVM上。
根据其中位按照重新排列的次序存储在NVM阵列上的本发明实施例,当从NVM阵列读取位时,可以以与存储前重新排列数据位相反的方式再次重新排列读取位(即解扰的)以便恢复初始数据位。初始位可用于对读取位执行ECC检验和校正功能。
根据本发明的实施例,其中位按照它们的初始次序存储在NVM阵列上,当从NVM阵列读取位时,可以以与产生ECC前重新排列数据位相同的方式再次重新排列读取位。所述重新排列的位可以用于对读取位执行ECC检验和校正功能。
附图说明
在说明书的结束部分具体指出并且清楚地要求了本发明的主题。然而,通过阅读附图时参考以下详细描述,关于本发明的结构和操作方法及其包含物、特征和优点可以得到最佳理解,其中:
图1是示出根据本发明的一些实施例的具有位加扰器和纠错编码块的NVM阵列控制器的方框图,通过该控制器数据可以以加扰的方式存储在NVM阵列上;
图2是示出根据本发明的一些实施例的具有位加扰器和纠错编码块以及临时存储缓冲器的NVM阵列控制器的方框图,通过该控制器数据可以以加扰的方式存储在NVM阵列上;
图3是示出根据本发明的一些实施例的具有位加扰器和纠错编码块以及临时存储缓冲器的NVM阵列控制器的方框图,通过该控制器数据可以按照未加扰的次序存储在NVM阵列上;
图4是示出临时缓冲器(例如SRAM)的一列中的位可以如何映射到NVM阵列的一行上的实例的方框图;
图5是示出临时缓冲器(例如SRAM)的多列中的位可以如何映射到NVM阵列的多行上的实例的方框图,其中NVM阵列的每个单元可以存储两个位;
图6是示出根据本发明的多个实施例的数据加扰器&ECC块的特写的方框图;
图7是示出根据本发明的一些实施例的可以如何重新排列位或对位加扰的一个实例的图示;
图8是示出根据本发明的多个实施例的用于存储和恢复位的两种独立方法的步骤的流程图。
应当认识到,为了图解的简单和清楚起见,图中示出的元件没有必要按比例绘制。例如,为了清楚一些元件的尺寸可以相对于其它元件进行了放大。另外,在被认为适当的地方,参考标号可以在图之间重复以表示相应或类似的元件。
具体实施方式
本发明是用于重新排列要存储在NVM阵列上的数据块的数据位的电路、系统和方法。按照本发明的一些实施例的部分,可以在产生ECC之前或期间依照一种分散模式(spreading pattern)重新排列这些位(即加扰),而在本发明的其它实施例中,可以在根据初始位产生ECC之后重新排列位。根据本发明的一些实施例,位可以按照重新排列的次序存储在NVM阵列上,而在本发明的其它实施例中,位可以按照它们的初始次序存储在NVM上。
根据其中位按照重新排列的次序存储在NVM阵列上的本发明实施例,当从NVM阵列读取位时,可以以与存储前重新排列数据位的方式相反的方式再次重新排列读取位(即解扰的),以便恢复初始数据位。初始位可由ECC来操作并可对读取的位执行校正功能。
根据其中位按照它们的初始次序存储在NVM阵列上的本发明实施例,当从NVM阵列读取位时,可以按照所述分散模式以与产生ECC前重新排列数据位所采取的方式相同的方式再次重新排列读取的位。重新排列的位可由ECC来操作并可对读取的位执行校正功能。
现在转到图1,其示出了根据本发明的一些实施例的NVM阵列控制器100的方框图,包括位次序加扰器块110、纠错编码/解码块130、位次序解扰器块120、数据写入/编程电路140、和数据读取电路150。根据涉及图1的方框图的本发明的实施例,数据块可以存储在NVM阵列200上,它的位按照位分散模式被加扰或重新排列。图2示出基本上与图1所示的相同的控制器结构,以及附加的元件—存储缓冲器160。
图1和2都可以依照在图8的流程图中概述的方法中的一些步骤来工作。输入数据块可以进入控制器100,以准备被复制或存储到NVM阵列200上。对于该实例,数据块可以是八个连续的字节(即64位),即涉及NVM阵列时的标准大小。然而,本领域的技术人员当然能理解数据块大小的选择是任意的并且本发明并不局限于任何预定的数据块大小。
作为准备复制到NVM阵列200的部分,数据块可以由纠错编码块130检查或操作,该纠错编码块能够根据初始数据块产生ECC(步骤2000B)。纠错编码在本领域中是众所周知的,并且目前已知的或以后将要设计的任何纠错编码电路或方法都可应用于本发明。在根据初始数据块产生ECC码(步骤2000B)之前或之后,可以通过位次序加扰器块110产生数据块的已加扰版本(步骤1000)。
可以使用几乎无数多种加扰模式。然而,所使用的加扰模式的一个总体标准可以是该模式将数据块的位分散开。即,位次序加扰器110所使用的加扰或分散模式可以使得初始数据块中的相邻位被彼此远离地分散开。查看图4,示出了输入数据块中的位在没有受到加扰或分散时可以如何映射到存储缓冲器160上的实例。数据块中的相邻位在存储缓冲器内可以保持彼此相邻,并且几个相邻字节中的每一个的相同数字位(例如0位)可以映射到存储缓冲器160的相同列和相邻行上。
图5示出位可以如何从存储缓冲器复制到NVM阵列。缓冲器160的每一列可以被复制到NVM阵列200上的一行存储单元。如果NVM阵列200适于将多个位存储在相同存储单元上,那么来自存储缓冲器160上的相同列的几个位可以存储在NVM阵列200的相同存储单元上。
图7示出存储已经按照某一分散模式被加扰或分散的数据块的位的存储缓冲器160的实例。在本发明的各实施例之间,分散数据块的位所采用的具体模式可以不同。
暂时转向图6,示出了根据本发明的一些实施例的数据加扰器&纠错编码/解码块135的组合。当数据块进入时,该数据块的八个字节的每一个都可以进入单独的位检查和/或操作机器,其中每个字节可以被加扰、检验以为该块计算纠错码,或两者都进行。根据本发明的一些实施例,每个单独字节的每个数字位(例如位0或位1)用于产生单独的ECC(有时被称为dq)。即,对八个位中的每一个的所有0位进行统一分析以确定该位组(即0位组)的ECC值,对八个位中的每一个的所有1位进行统一分析以确定该位组(即1位组)的ECC等等。根据本发明的其它实施例,首先对每个字节的位加扰,其后根据加扰或分散的位产生ECC。
回到图1和2,以及其中示出的本发明的实施例,我们看到,在加扰或分散后,数据块连同与其相关联的ECC一起可以通过数据写入/编程电路140复制到NVM阵列200(步骤3000B)。在本发明的一些实施例中(图2),已加扰的数据块在被复制到NVM阵列200之前可以首先被复制到存储缓冲器160上。
当试图读取按照加扰或分散模式存储在NVM阵列上的数据时,根据以上描述的本发明的实施例,可以使用与存储数据块相反的步骤。已加扰的位及其相关联的ECC可以从NVM阵列中读取(步骤4000B)。可以通过位次序解扰器120、利用与用于加扰位的模式相反的模式,对已加扰的位解扰或解分散(步骤5000B)。可根据数据块的相关联ECC,通过纠错编码解码块130操作已解扰的数据位块(例如错误位调整的)(步骤5000B和6000B),由此产生应当与初始输入数据块相类似的输出数据块。根据图2所示的本发明的实施例,从NVM阵列中读取的数据也可以在存储缓冲器160中缓冲。
现在转向图3,示出了根据本发明的一些实施例的NVM阵列控制器100的方框图,包括位次序加扰器块110a和110b、纠错编码&解码块130、存储缓冲器160、数据写入/编程电路140和数据读取电路150。根据与图3相关联的本发明的实施例,数据块可以按照它们的初始未加扰的次序存储在NVM阵列200上。根据与图3相关联的本发明的实施例,可以通过如上所述的位次序加扰器110a对输入数据块的位进行加扰或分散(步骤1000),并且可以根据已加扰的数据块通过纠错编码&解码块130产生ECC(步骤2000A)。尽管数据块被加扰并且根据已加扰的块产生了ECC,但是初始数据块可以按照未加扰的次序复制到存储缓冲器160,数据写入/编程电路140可以将数据块连同它的相关联的ECC一起从该缓冲器160复制到NVM阵列200上(步骤3000A)。
简单查看图6所示的根据本发明的一些实施例的数据加扰器&纠错编码/解码块135,应当明白,输入数据块可以已经分解为子块(例如字节),每个子块可被加扰并且被加扰的子块可以用于计算或确定该块的ECC。根据其中数据块的初始版本将要存储在NVM阵列200上的本发明实施例,数据加扰器&纠错编码/解码块135的输出可以是基于数据块的已加扰版本的ECC。正如从图3和6中应当明白的,数据块的初始版本或其拷贝可以绕过数据加扰器&纠错编码/解码块135并且可以连同基于数据块的已加扰版本的相关联ECC一起存储在NVM阵列200上。在上述本发明的可供选择的实施例中,数据加扰器&纠错编码/解码块135可以根据初始未加扰的数据块产生ECC,并且可以产生或输出数据块的已加扰版本以存储在NVM阵列200上。
回到图3,可以看出,按照未加扰的次序存储在NVM阵列200上的数据块及其相关联的ECC可以通过数据读取电路150来读取(步骤4000A)并且可以在存储缓冲器160中缓冲。从NVM存储器阵列读取位以及将位写入NVM存储器阵列的电路、和NVM阵列一起使用的存储缓冲器以及控制器在本领域中是众所周知的。目前已知的或以后将要设计的任何这种电路都可应用于本发明。
由于和未加扰的数据块一起存储的ECC基于数据块的已加扰版本,因此纠错编码&解码块130可能需要读取数据块的已加扰版本以执行所需的错误位调整。类似在初始输入数据块上所使用的位次序加扰器110a或与其相同的位次序加扰器110b可用于产生从NVM阵列读取的数据块的加扰版本(步骤5000A)。在本发明的一些实施例中,位加扰器110a和110b可以是相同的电路。根据本发明的一些实施例,纠错编码&解码块130可以使用读取数据块的已加扰版本以及相关联的ECC来产生用于从NVM阵列读取的数据块的位的位调整指令(步骤6000A),由此产生输出数据块。
本领域的技术人员应当认识到,本发明并不限于上面所具体示出的和描述的。更确切地说,本发明的范围由下述权利要求来限定。

Claims (8)

1.一种将位存储在非易失性存储器(“NVM”)阵列上的方法,包括:
接收特定次序的位块;
根据分散模式重新排列所接收的块中的位的次序;
基于位的初始块或基于位的重新排列的块产生纠错码(“ECC”);以及
将ECC和不是从其得到ECC的位块存储在所述NVM阵列中。
2.一种读取根据分散模式以重新排列的次序存储在非易失性存储器(“NVM”)阵列上的位块的方法,包括:
利用相反的分散模式重新排列所存储的块,并利用在根据分散模式重新排列并存储块之前产生的纠错码(“ECC”)来操作该块。
3.一种读取与纠错码(“ECC”)一起存储在非易失性存储器(“NVM”)阵列上的位块的方法,该ECC基于通过分散模式重新排列之后的位块,所述方法包括:
利用分散模式重新排列存储的块,并利用所存储的(“ECC”)来操作被重新排列的块;以及
利用相反的分散模式重新排列已操作的数据块。
4.一种用于将数据块的位存储在非易失性存储器(“NVM”)阵列上的控制电路,所述电路包括:
位加扰块,适于根据分散模式重新排列数据块的位;
纠错编码(“ECC”)块,适于基于初始数据块或基于重新排列的数据块产生ECC;以及
NVM存储电路,适于将ECC和不是从其得到ECC的位块存储在所述NVM阵列中。
5.根据权利要求4的控制电路,进一步包括适于从NVM阵列中读取所存储的位块的读取电路。
6.根据权利要求5的控制电路,进一步包括适于根据分散模式重新排列所存储的位块的解扰器。
7.根据权利要求6的控制电路,其中ECC块适于根据基于加扰前的初始数据块的ECC操作已解扰的数据块。
8.根据权利要求5的控制电路,其中如果数据块被未加扰地存储,则所述位加扰块适于对读取的数据块进行加扰,并且其中ECC块适于根据基于存储到NVM上之前的初始数据块的已加扰版本的ECC来操作已加扰的块。
CNA2004800346610A 2003-09-23 2004-08-30 对要存储在非易失性存储器阵列上的数据进行编码的电路、系统和方法 Pending CN1898657A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/667,481 US7197594B2 (en) 2003-09-23 2003-09-23 Circuit, system and method for encoding data to be stored on a non-volatile memory array
US10/667,481 2003-09-23

Publications (1)

Publication Number Publication Date
CN1898657A true CN1898657A (zh) 2007-01-17

Family

ID=34313316

Family Applications (1)

Application Number Title Priority Date Filing Date
CNA2004800346610A Pending CN1898657A (zh) 2003-09-23 2004-08-30 对要存储在非易失性存储器阵列上的数据进行编码的电路、系统和方法

Country Status (4)

Country Link
US (1) US7197594B2 (zh)
CN (1) CN1898657A (zh)
DE (1) DE112004001781B4 (zh)
WO (1) WO2005029469A2 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102929743A (zh) * 2012-11-28 2013-02-13 中国人民解放军国防科学技术大学 具有软错误容错功能的一级缓存数据存储方法及装置
CN103544073A (zh) * 2012-07-17 2014-01-29 慧荣科技股份有限公司 读取闪存中区块的数据的方法及相关的记忆装置
CN106128510A (zh) * 2015-05-07 2016-11-16 爱思开海力士有限公司 控制器、半导体存储系统及其操作方法

Families Citing this family (93)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7389375B2 (en) * 2004-07-30 2008-06-17 International Business Machines Corporation System, method and storage medium for a multi-mode memory buffer device
US7296129B2 (en) 2004-07-30 2007-11-13 International Business Machines Corporation System, method and storage medium for providing a serialized memory interface with a bus repeater
US7395476B2 (en) * 2004-10-29 2008-07-01 International Business Machines Corporation System, method and storage medium for providing a high speed test interface to a memory subsystem
US7277988B2 (en) * 2004-10-29 2007-10-02 International Business Machines Corporation System, method and storage medium for providing data caching and data compression in a memory subsystem
US20060095620A1 (en) * 2004-10-29 2006-05-04 International Business Machines Corporation System, method and storage medium for merging bus data in a memory subsystem
US7299313B2 (en) 2004-10-29 2007-11-20 International Business Machines Corporation System, method and storage medium for a memory subsystem command interface
US7512762B2 (en) * 2004-10-29 2009-03-31 International Business Machines Corporation System, method and storage medium for a memory subsystem with positional read data latency
US7331010B2 (en) 2004-10-29 2008-02-12 International Business Machines Corporation System, method and storage medium for providing fault detection and correction in a memory subsystem
US7305574B2 (en) * 2004-10-29 2007-12-04 International Business Machines Corporation System, method and storage medium for bus calibration in a memory subsystem
US7356737B2 (en) * 2004-10-29 2008-04-08 International Business Machines Corporation System, method and storage medium for testing a memory module
JP4571523B2 (ja) * 2005-03-04 2010-10-27 ルネサスエレクトロニクス株式会社 スクランブル回路、エンコード装置、エンコード方法及び記録装置
US7478259B2 (en) * 2005-10-31 2009-01-13 International Business Machines Corporation System, method and storage medium for deriving clocks in a memory system
US7685392B2 (en) 2005-11-28 2010-03-23 International Business Machines Corporation Providing indeterminate read data latency in a memory system
US8239735B2 (en) * 2006-05-12 2012-08-07 Apple Inc. Memory Device with adaptive capacity
US8156403B2 (en) * 2006-05-12 2012-04-10 Anobit Technologies Ltd. Combined distortion estimation and error correction coding for memory devices
CN103258572B (zh) 2006-05-12 2016-12-07 苹果公司 存储设备中的失真估计和消除
US7697326B2 (en) * 2006-05-12 2010-04-13 Anobit Technologies Ltd. Reducing programming error in memory devices
US7584336B2 (en) * 2006-06-08 2009-09-01 International Business Machines Corporation Systems and methods for providing data modification operations in memory subsystems
US7669086B2 (en) * 2006-08-02 2010-02-23 International Business Machines Corporation Systems and methods for providing collision detection in a memory system
WO2008026203A2 (en) 2006-08-27 2008-03-06 Anobit Technologies Estimation of non-linear distortion in memory devices
US7870459B2 (en) * 2006-10-23 2011-01-11 International Business Machines Corporation High density high reliability memory module with power gating and a fault tolerant address and command bus
WO2008053472A2 (en) 2006-10-30 2008-05-08 Anobit Technologies Ltd. Reading memory cells using multiple thresholds
WO2008053473A2 (en) 2006-10-30 2008-05-08 Anobit Technologies Ltd. Memory cell readout using successive approximation
US7924648B2 (en) 2006-11-28 2011-04-12 Anobit Technologies Ltd. Memory power and performance management
US8151163B2 (en) * 2006-12-03 2012-04-03 Anobit Technologies Ltd. Automatic defect management in memory devices
US7900102B2 (en) * 2006-12-17 2011-03-01 Anobit Technologies Ltd. High-speed programming of memory devices
US7593263B2 (en) * 2006-12-17 2009-09-22 Anobit Technologies Ltd. Memory device with reduced reading latency
US7721140B2 (en) 2007-01-02 2010-05-18 International Business Machines Corporation Systems and methods for improving serviceability of a memory system
US7751240B2 (en) * 2007-01-24 2010-07-06 Anobit Technologies Ltd. Memory device with negative thresholds
US8151166B2 (en) * 2007-01-24 2012-04-03 Anobit Technologies Ltd. Reduction of back pattern dependency effects in memory devices
TW200832436A (en) * 2007-01-26 2008-08-01 Holtek Semiconductor Inc Data securing method and structure for non-volatile storage device
WO2008111058A2 (en) * 2007-03-12 2008-09-18 Anobit Technologies Ltd. Adaptive estimation of memory cell read thresholds
US8001320B2 (en) * 2007-04-22 2011-08-16 Anobit Technologies Ltd. Command interface for memory devices
WO2008139441A2 (en) 2007-05-12 2008-11-20 Anobit Technologies Ltd. Memory device with internal signal processing unit
US8234545B2 (en) * 2007-05-12 2012-07-31 Apple Inc. Data storage with incremental redundancy
US7925936B1 (en) 2007-07-13 2011-04-12 Anobit Technologies Ltd. Memory device with non-uniform programming levels
US8259497B2 (en) 2007-08-06 2012-09-04 Apple Inc. Programming schemes for multi-level analog memory cells
US7876638B2 (en) * 2007-09-11 2011-01-25 Micron Technology, Inc. Storing operational information in an array of memory cells
US8174905B2 (en) * 2007-09-19 2012-05-08 Anobit Technologies Ltd. Programming orders for reducing distortion in arrays of multi-level analog memory cells
US7773413B2 (en) 2007-10-08 2010-08-10 Anobit Technologies Ltd. Reliable data storage in analog memory cells in the presence of temperature variations
WO2009050703A2 (en) * 2007-10-19 2009-04-23 Anobit Technologies Data storage in analog memory cell arrays having erase failures
US8000141B1 (en) 2007-10-19 2011-08-16 Anobit Technologies Ltd. Compensation for voltage drifts in analog memory cells
US8068360B2 (en) * 2007-10-19 2011-11-29 Anobit Technologies Ltd. Reading analog memory cells using built-in multi-threshold commands
KR101509836B1 (ko) * 2007-11-13 2015-04-06 애플 인크. 멀티 유닛 메모리 디바이스에서의 메모리 유닛의 최적화된 선택
US8225181B2 (en) 2007-11-30 2012-07-17 Apple Inc. Efficient re-read operations from memory devices
US8209588B2 (en) * 2007-12-12 2012-06-26 Anobit Technologies Ltd. Efficient interference cancellation in analog memory cell arrays
US8456905B2 (en) 2007-12-16 2013-06-04 Apple Inc. Efficient data storage in multi-plane memory devices
US8085586B2 (en) * 2007-12-27 2011-12-27 Anobit Technologies Ltd. Wear level estimation in analog memory cells
US20090172335A1 (en) * 2007-12-31 2009-07-02 Anand Krishnamurthi Kulkarni Flash devices with raid
CN101364444B (zh) 2008-02-05 2011-05-11 威盛电子股份有限公司 控制方法及运用该控制方法的存储器及处理系统
US8156398B2 (en) * 2008-02-05 2012-04-10 Anobit Technologies Ltd. Parameter estimation based on error correction code parity check equations
US7924587B2 (en) 2008-02-21 2011-04-12 Anobit Technologies Ltd. Programming of analog memory cells using a single programming pulse per state transition
US7864573B2 (en) 2008-02-24 2011-01-04 Anobit Technologies Ltd. Programming analog memory cells for reduced variance after retention
US8230300B2 (en) * 2008-03-07 2012-07-24 Apple Inc. Efficient readout from analog memory cells using data compression
US8400858B2 (en) 2008-03-18 2013-03-19 Apple Inc. Memory device with reduced sense time readout
US8059457B2 (en) * 2008-03-18 2011-11-15 Anobit Technologies Ltd. Memory device with multiple-accuracy read commands
US20090282267A1 (en) * 2008-05-09 2009-11-12 Ori Stern Partial scrambling to reduce correlation
US7924613B1 (en) 2008-08-05 2011-04-12 Anobit Technologies Ltd. Data storage in analog memory cells with protection against programming interruption
US7995388B1 (en) 2008-08-05 2011-08-09 Anobit Technologies Ltd. Data storage using modified voltages
US8169825B1 (en) 2008-09-02 2012-05-01 Anobit Technologies Ltd. Reliable data storage in analog memory cells subjected to long retention periods
US8949684B1 (en) 2008-09-02 2015-02-03 Apple Inc. Segmented data storage
US8482978B1 (en) 2008-09-14 2013-07-09 Apple Inc. Estimation of memory cell read thresholds by sampling inside programming level distribution intervals
US8000135B1 (en) 2008-09-14 2011-08-16 Anobit Technologies Ltd. Estimation of memory cell read thresholds by sampling inside programming level distribution intervals
US8239734B1 (en) 2008-10-15 2012-08-07 Apple Inc. Efficient data storage in storage device arrays
US8261159B1 (en) 2008-10-30 2012-09-04 Apple, Inc. Data scrambling schemes for memory devices
US8208304B2 (en) 2008-11-16 2012-06-26 Anobit Technologies Ltd. Storage at M bits/cell density in N bits/cell analog memory cell devices, M>N
US8174857B1 (en) 2008-12-31 2012-05-08 Anobit Technologies Ltd. Efficient readout schemes for analog memory cell devices using multiple read threshold sets
US8248831B2 (en) * 2008-12-31 2012-08-21 Apple Inc. Rejuvenation of analog memory cells
US8924661B1 (en) 2009-01-18 2014-12-30 Apple Inc. Memory system including a controller and processors associated with memory devices
US8228701B2 (en) 2009-03-01 2012-07-24 Apple Inc. Selective activation of programming schemes in analog memory cell arrays
US8259506B1 (en) 2009-03-25 2012-09-04 Apple Inc. Database of memory read thresholds
US8832354B2 (en) * 2009-03-25 2014-09-09 Apple Inc. Use of host system resources by memory controller
US8238157B1 (en) 2009-04-12 2012-08-07 Apple Inc. Selective re-programming of analog memory cells
US8479080B1 (en) 2009-07-12 2013-07-02 Apple Inc. Adaptive over-provisioning in memory systems
US8495465B1 (en) 2009-10-15 2013-07-23 Apple Inc. Error correction coding over multiple memory pages
US8375225B1 (en) 2009-12-11 2013-02-12 Western Digital Technologies, Inc. Memory protection
US8677054B1 (en) 2009-12-16 2014-03-18 Apple Inc. Memory management schemes for non-volatile memory devices
US8694814B1 (en) 2010-01-10 2014-04-08 Apple Inc. Reuse of host hibernation storage space by memory controller
US8572311B1 (en) 2010-01-11 2013-10-29 Apple Inc. Redundant data storage in multi-die memory systems
US8694853B1 (en) 2010-05-04 2014-04-08 Apple Inc. Read commands for reading interfering memory cells
US8572423B1 (en) 2010-06-22 2013-10-29 Apple Inc. Reducing peak current in memory systems
US8595591B1 (en) 2010-07-11 2013-11-26 Apple Inc. Interference-aware assignment of programming levels in analog memory cells
US9104580B1 (en) 2010-07-27 2015-08-11 Apple Inc. Cache memory for hybrid disk drives
US8767459B1 (en) 2010-07-31 2014-07-01 Apple Inc. Data storage in analog memory cells across word lines using a non-integer number of bits per cell
US8856475B1 (en) 2010-08-01 2014-10-07 Apple Inc. Efficient selection of memory blocks for compaction
US8694854B1 (en) 2010-08-17 2014-04-08 Apple Inc. Read threshold setting based on soft readout statistics
US9021181B1 (en) 2010-09-27 2015-04-28 Apple Inc. Memory management for unifying memory cell conditions by using maximum time intervals
US9042551B2 (en) 2012-06-04 2015-05-26 International Business Machines Corporation Electronically programmable fuse security encryption
US10108512B2 (en) * 2016-04-01 2018-10-23 Intel Corporation Validation of memory on-die error correction code
KR102375060B1 (ko) * 2016-10-18 2022-03-17 에스케이하이닉스 주식회사 데이터 저장 장치 및 그것의 동작 방법
US11086714B2 (en) * 2019-09-20 2021-08-10 Intel Corporation Permutation of bit locations to reduce recurrence of bit error patterns in a memory device
US11556416B2 (en) 2021-05-05 2023-01-17 Apple Inc. Controlling memory readout reliability and throughput by adjusting distance between read thresholds
US11847342B2 (en) 2021-07-28 2023-12-19 Apple Inc. Efficient transfer of hard data and confidence levels in reading a nonvolatile memory

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
IT1284244B1 (it) * 1996-08-05 1998-05-14 Texas Instruments Italia Spa Sistema per produrre moduli di memoria simm utilizzando chip di memoria aram e per il loro collaudo
US5768287A (en) * 1996-10-24 1998-06-16 Micron Quantum Devices, Inc. Apparatus and method for programming multistate memory device
US20030135798A1 (en) * 2001-12-13 2003-07-17 Yukari Katayama Optical disk device and data randomizing method for optical disk device

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103544073A (zh) * 2012-07-17 2014-01-29 慧荣科技股份有限公司 读取闪存中区块的数据的方法及相关的记忆装置
CN103544073B (zh) * 2012-07-17 2016-08-17 慧荣科技股份有限公司 读取闪存中区块的数据的方法及相关的记忆装置
CN102929743A (zh) * 2012-11-28 2013-02-13 中国人民解放军国防科学技术大学 具有软错误容错功能的一级缓存数据存储方法及装置
CN106128510A (zh) * 2015-05-07 2016-11-16 爱思开海力士有限公司 控制器、半导体存储系统及其操作方法
CN106128510B (zh) * 2015-05-07 2020-08-25 爱思开海力士有限公司 控制器、半导体存储系统及其操作方法

Also Published As

Publication number Publication date
DE112004001781T5 (de) 2007-01-11
US20050066110A1 (en) 2005-03-24
WO2005029469A3 (en) 2005-12-15
DE112004001781B4 (de) 2013-12-24
WO2005029469A2 (en) 2005-03-31
US7197594B2 (en) 2007-03-27

Similar Documents

Publication Publication Date Title
CN1898657A (zh) 对要存储在非易失性存储器阵列上的数据进行编码的电路、系统和方法
US8321760B2 (en) Semiconductor memory device and data processing method thereof
US10388384B2 (en) Determining data states of memory cells
EP2396791B1 (en) Apparatus and method for enhancing flash endurance by encoding data
US8127200B2 (en) Flash memory device and system with randomizing for suppressing errors
US8255643B2 (en) Memory system and data processing method thereof
KR20090101887A (ko) 치환 변환을 사용하여 플래시 메모리 내의 에러를 피하는 방법
US9465552B2 (en) Selection of redundant storage configuration based on available memory space
US10452471B2 (en) Non-volatile memory with dynamic write abort detection and recovery
EP1416380A2 (en) Method and apparatus for managing the integrity of data in a non-volatile memory system
US10141049B2 (en) Nonvolatile memory system storing system data in marginal word lines
US10133645B2 (en) Data recovery in three dimensional non-volatile memory array after word line short
CN110349616B (zh) 针对nand闪存中的位线故障的动态交织器变化
US11631457B2 (en) QLC programming method with staging of fine data
Grossi et al. Quality-of-service implications of enhanced program algorithms for charge-trapping NAND in future solid-state drives
US9098391B2 (en) Memory system and method of operating memory system using reconstructed data
CN114496054A (zh) 存储奇偶性的存储器设备和包括其的存储器系统
CN111383697A (zh) 用于部分页编程的位扫描方法,部分页编程方法及非易失性存储器
US7730357B2 (en) Integrated memory system
US11137944B1 (en) Combined QLC programming method

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication