CN1898657A - 对要存储在非易失性存储器阵列上的数据进行编码的电路、系统和方法 - Google Patents
对要存储在非易失性存储器阵列上的数据进行编码的电路、系统和方法 Download PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2211/00—Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
- G06F2211/10—Indexing scheme relating to G06F11/10
- G06F2211/1002—Indexing scheme relating to G06F11/1076
- G06F2211/109—Sector 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来操作已加扰的块。
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)
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)
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)
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 |
-
2003
- 2003-09-23 US US10/667,481 patent/US7197594B2/en active Active
-
2004
- 2004-08-30 DE DE112004001781T patent/DE112004001781B4/de active Active
- 2004-08-30 WO PCT/IL2004/000783 patent/WO2005029469A2/en active Application Filing
- 2004-08-30 CN CNA2004800346610A patent/CN1898657A/zh active Pending
Cited By (5)
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 |