CN101601094B - 使用多个门限读取存储单元的方法 - Google Patents
使用多个门限读取存储单元的方法 Download PDFInfo
- Publication number
- CN101601094B CN101601094B CN200780040493XA CN200780040493A CN101601094B CN 101601094 B CN101601094 B CN 101601094B CN 200780040493X A CN200780040493X A CN 200780040493XA CN 200780040493 A CN200780040493 A CN 200780040493A CN 101601094 B CN101601094 B CN 101601094B
- Authority
- CN
- China
- Prior art keywords
- thresholding
- read
- data
- memory cell
- analog memory
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/26—Sensing or reading circuits; Data output circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/56—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
- G11C11/5621—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
- G11C11/5642—Sensing or reading circuits; Data output circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/24—Bit-line control circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C27/00—Electric analogue stores, e.g. for storing instantaneous values
- G11C27/005—Electric analogue stores, e.g. for storing instantaneous values with non-volatile charge storage, e.g. on floating gate or MNOS
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/16—Storage of analogue signals in digital stores using an arrangement comprising analogue/digital [A/D] converters, digital memories and digital/analogue [D/A] converters
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Read Only Memory (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Analogue/Digital Conversion (AREA)
- Measurement Of Current Or Voltage (AREA)
Abstract
一种操作存储器(28)的方法,包括通过将选自标称值集的各个模拟输入值写入存储器的模拟存储单元(32),把数据存储在存储器的模拟存储单元中,所述数据以纠错码(ECC)编码。通过执行多次读取操作读取存储的数据,所述读取操作将所述模拟存储单元的模拟输出值和各个不同的读取门限相比较,从而为每个模拟存储单元生成多个比较结果,其中,至少有两个读取门限被置于标称值集内的一对彼此相邻的标称值之间。根据多个比较结果计算软度量。使用软度量解码ECC,从而提取被存储在模拟存储单元中的数据。
Description
相关申请的交叉引用
本申请要求下列专利申请的权益:2006年10月30日提交的美国临时专利申请60/863,506、2006年11月28日提交的美国临时专利申请60/867,399、2007年2月8日提交的美国临时专利申请60/888,828、2007年2月11日提交的美国临时专利申请60/889,277、2007年3月4日提交的美国临时专利申请60/892,869、2007年3月13日提交的美国临时专利申请60/894,456、2007年5月12日提交的美国临时专利申请60/917,653、2007年7月20日提交的美国临时专利申请60/950,884和2007年7月22日提交的美国临时专利申请60/951,215,各项专利申请的公开内容在此以援引的方式纳入本说明书。
发明领域
本发明总体涉及存储器件,具体涉及从一些存储单元中读取数据的方法和系统。
背景技术
几种类型的存储器件,如闪速存储器,使用模拟存储单元阵列存储数据。每个模拟存储单元存储一个模拟值的量(如电荷或电压),如电荷或电压,它们代表存储在单元中的信息。例如,在闪速存储器中,每个模拟存储单元存放一定量的电荷。可能的模拟值的范围通常被分成多个区,每个区对应一个或多个数据比特值。通过写入一个对应于所需比特的标称模拟值而将数据写入模拟存储单元。可被存储在模拟存储单元中的可能比特值也称为该单元的存储状态。
一些通常也被称为单层单元(SLC)器件的存储器件,在每个存储单元中存储1比特信息,即存储单元均可被编程以承担两种可能的存储状态。通常被称为多层单元(MLC)器件的更高密度的器件,在每个存储单元中存储两个或多个比特信息,即可被编程以承担两种以上可能的存储状态。
闪速存储器,例如如2003年4月在proceedings of the IEEE(volume91,number 4)第489-502页由Bez等人发表的“Introductionto Flash Memory”中所述,该文献在此处以援引方式全部纳入本文。例如,在纽约州纽约市举办的1996年的国际电子器件大会(IEDM)的学报(Proceeding of the 1996IEEE International Electron DevicesMeeting)的第169-172页上由Eitan等人发表的“Multilevel Flash Cellsand their Trade-Offs”,描述了多层闪速存储单元和器件,该文献在此以援引方式全部纳入本文。该文对比了几类多层闪速存储单元,如共地型、DINOR、AND、NOR和NAND存储单元。
在1999年9月21日-24日在日本东京举办的固态器件与材料国际会议(SSDM)的学报的(Proceedings of the 1999InternationalConference on Solid State Devices and Materials)第522-524页上由Eitan等人发表的“Can NROM,a 2-bit,Trapping Storage NVM Cell,Give a Real Challenge to Floating Gate Cells?”描述了另一种模拟存储设备,称为氮化物只读存储器(NROM),该文献在此以援引方式全部纳入本文。在2002年2月3日~7日在美国加州旧金山市举办的IEEE国际固体电路技术会议(ISSCC 2002)的学报(Proceedings of the 2002IEEE International Solid-State Circuits Conference)的第100-101页由Maayan等人发表的“A 512Mb NROM Flash Data StorageMemory with 8MB/s Data Rate”中,描述了NROM单元,其在此处以援引方式全部纳入本文。模拟存储单元的其它范例类型有:浮置栅极(FG)单元,铁电RAM(FRAM)单元,磁RAM(MRAM)单元,电荷捕获闪速存储(CTF)和相变RAM(PRAM,也称为相变存储器-PCM)单元。例如,在2004年5月16~19日在塞尔维亚和黑山(Serbia andMontenegro)的Nis举办的第24届微电子国际学会(MIEL)(Proceedings of the 24th international Conference onMicroelectronics)的学报第一卷的第377-484页上由Kim和Koh发表的“Future Memory Technology including Emerging NewMemories”中,描述了FRAM、MRAM和PRAM单元,其在此处以援引方式全部纳入本文。
从模拟存储单元读出的模拟值有时失真。失真可能有多种原因,如来自相邻存储单元的电场耦合、阵列中其它存储单元的访问操作产生的扰动噪声,以及器件老化引起的门限电压漂移。一些常见的失真机理,在如上文所引Bez等人的文中描述。在2002年5月的IEEE电子器件快报(IEEE Electron Device Letters)(23:5)第264-266页上发表的“Effects of Floating Gate Interference on NAND Flash MemoryCell Operation”中,Lee等人还描述了失真效应,其在此处以援引方式全部纳入本文。
从模拟存储单元读取数据常包括把存储在单元中的模拟值与一个或多个门限或参考电平进行对比。已知本技术领域几种确定适当门限值的方法。例如U.S.Patent 5,657,332描述了从固态存储系统中的硬错误得以恢复的方法,该专利的公开内容在此以引用的方式纳入本说明书。硬错误可能产生于其门限电压从其预期电平漂移而引起读取错误的单元处发生。存储系统包括存储单元阵列,每个单元都能让其门限电压被编程或擦除到预期电平。对众多单元组中的每一个都提供检错方案,用于识别其中的读取错误。在每一次对包含读取错误的个别单元组进行读取操作之前,调整读取参考电平,每一次该读取参考电平都从正常读取的参考电平偏置一个预定步长,直至错误检查装置不再指示读取错误。各存储单元的与读取错误关联的漂移门限电压被重新写为其预期电平。
U.S.Patent 7,023,735描述了读取闪速存储单元的方法,其不仅比较闪速存储单元的门限电压和整体参考电压,还比较门限电压和部分参考电压,该专利公开的内容在此以引用的方式纳入本说明书。
美国专利申请公开2007/0091677,描述了从一个或多个闪速存储单元中读取数据和从读取错误中恢复的方法、器件和计算机可读码,该申请公开的内容在此以引用的方式纳入本说明书。一些实施方案中,错误检查和校正模块纠错失败时,就使用一个或多个修正参考电压对闪速存储单元重新读取至少一次,直到能够实施成功纠错。一些实施方案中,成功纠错后,即处理后续的读请求,而期间不用将数据重新写入到闪速存储单元。
U.S.Patent 6,963,505描述了确定参考电压的方法、电路和系统,该专利公开的内容在此以引用的方式纳入本说明书。在一些实施方案中,建立了一组操作参考单元用于对非易失性存储(NVM)块或阵列中的单元的操作中。NVM块或阵列中的至少一个单元子组可以使用两组或多组测试参考单元中的每一组来读取,其中每一组测试参考单元可以产生或提供至少稍微偏离于每一个其它测试参考单元组的参考电压。对于用于读取NVM块的至少一个子组的每一组测试参考单元,可以计算或者确定读误差率。可以选择与相对低的读取误差率相关的一组测试参考单元作为用于操作NVM块或阵列中的所述单元子组之外的其它单元的操作参考单元组。
U.S.Patent 7,196,928和美国专利申请公开2006/0221692,2007/0103986,2007/0109845及2007/0109849中描述了几种读存储单元的方法,其中考虑了相邻的存储单元的编程状态,各专利申请公开的内容在此以引用的方式纳入本说明书。
在从存储单元中读取数据时,一些已知的方法使用与所存储数据的品质相关的信息。例如U.S.Patent 6,751,766描述了几种方法用于估计存储系统中存储的数据的品质,并根据估计的品质操作存储系统,该专利公开的内容在此以引用的方式纳入本说明书。数据品质有时在读取操作过程中被加以估计。随后通过使用纠错码(ECC),可以利用品质指示更加有效地检查和重构数据。或者,可以构造数据品质统计量,以及可以以一种修正方式关联数字化数据值,以防止数据损坏。
发明内容
本发明的实施方案提供了一种操作存储器的方法,包括:
通过将选自标称值集的各个模拟输入值写入存储器的模拟存储单元,把数据存储在存储器的模拟存储单元中,所述数据以纠错码(ECC)编码;
通过执行多次读取操作读取存储的数据,所述读取操作将所述模拟存储单元的模拟输出值和各个不同的读取门限相比较,从而为每个模拟存储单元生成多个比较结果,其中,至少有两个读取门限被置于标称值集内的一对彼此相邻的标称值之间;
根据多个比较结果计算软度量;和
使用软度量解码ECC,从而提取被存储在模拟存储单元中的数据。
在一些实施方案中,每个模拟存储单元存储该数据的一个或多个比特,并且每个软度量对应于其中的一个比特。在一个实施方案中,至少一些模拟存储单元中的每个模拟存储单元存储该数据的两个或多个比特,其中读取数据包括,对于所述至少一些模拟存储单元中的每个模拟存储单元,分别在两个或多个解码阶段,读取两个或多个数据比特,且其中计算软度量包括,根据在先于第一解码阶段的第二解码阶段读取的第二比特值,修改在第一解码阶段读取的第一比特的软度量。修改软度量可包括根据第二比特的值对第一比特的软度量进行条件反转。
在另一实施方案中,该方法包括进行一次初始尝试:使用初始读取门限集解码ECC,使初始集中不超过一个读取门限被置于每对彼此相邻的标称值之间,一旦初始尝试失败,将模拟输出值和多个读取门限进行比较。
在又一实施方案中,每个比较结果都具有第一和第二可能值中的一个,并且其中计算软度量包括确定分别具有第一和第二可能值的比较结果所对应的第一和第二计数,以及根据所述第一和第二计数计算软度量。
在又一实施方案中,所述方法还包括一旦解码ECC失败,增添一个或多个另加的读取门限到所述多个读取门限,根据另加的读取门限重新计算软度量,并使用重新计算的软度量解码ECC。增添另加的门限包括渐进地增加多个读取门限直至满足预定的条件。
在一公开的实施方案中,从第一组模拟存储单元中读取数据进一步包括估计由第二组模拟存储单元对第一组所造成的干扰和消除所估计的干扰。消除所估计的干扰包括根据所估计的干扰对第一组所关联的软度量进行修改。在一些实施方案中,该方法包括,一旦第一组内的ECC解码失败,选择是否执行下列之一:
重新读取第二组中的数据,从而重新估计和消除干扰;
通过读取第三组存储单元中的数据重新估计干扰;
和
增添一个或多个另加的读取门限,使用另加的读取门限重新读取第一组中的数据。
在一个实施方案中,计算软度量包括将软度量标准化以使不依赖于读取门限的数量。执行多次读取操作可包括设置以彼此不同的非均匀间隔间隔开的读取门限。
本发明另外还提供了一种数据存储设备,包括:
一个接口,其可操作地与包含众多模拟存储单元的存储器进行通信;和
一个存储器信号处理器(MSP)器件,其与该接口相连并被结合,用以通过将选自标称值集的各个模拟输入值写入模拟存储单元,把数据存储在模拟存储单元中,所述数据以纠错码(ECC)编码;用以通过执行多次读取操作读取所存储的数据,所述读取操作将所述模拟存储单元的模拟输出值和各个不同的读取门限相比较,从而对每个模拟存储单元生成多个比较结果,其中,至少有两个读取门限被置于标称值集内的一对彼此相邻的标称值之间;用以根据多个比较结果计算软度量;和使用软度量解码ECC,从而提取被存储在模拟存储单元中的数据。
本发明的实施方案还提供了一种数据存储设备,包括:
一个存储器件,包括:
多个模拟存储单元,其被配置以存储数据,所述数据被以纠错码(ECC)编码且作为选自标称值集的各模拟输入值而被写入模拟存储单元;以及
读取电路,该电路被结合以通过执行多次读取操作读取所存储的数据,所述读取操作将所述模拟存储单元的模拟输出值和各个不同的读取门限相比较,从而对每个模拟存储单元生成多个比较结果,其中,至少有两个读取门限被置于标称值集内的一对彼此相邻的标称值之间;用以根据多个比较结果计算软度量;和使用软度量解码ECC,以及输出计算出的软度量;和
一个存储器信号处理器(MSP)器件,其连接到存储器件并被结合用于接收读取电路所计算出来的软度量,以及使用软度量解码ECC。
根据本发明的一个实施方案,还提供了一种操作存储器的方法,包括:
通过将各模拟输入值写入存储器的模拟存储单元,把数据存储在存储器的模拟存储单元中,所述数据以纠错码(ECC)编码;
通过执行多次读取操作读取存储的数据,所述读取操作将所述模拟存储单元的模拟输出值和读取门限集相比较,从而为每个模拟存储单元生成多个比较结果;
根据多个比较结果计算软度量;和
使用软度量解码ECC,从而提取被存储在模拟存储单元中的数据;以及
一旦未能成功提取数据,通过增添一个或多个新的读取门限到读取门限集来扩展该集,根据扩展的读取门限集,更新多个比较结果,重新计算软软度量,并重新解码ECC,从而提取数据。
在一个实施方案中,扩展读取门限集包括根据模拟存储单元的输出模拟值选择一个或多个新的读取门限。选择一个或多个新的读取门限包括确定至少一个选自如下属性组的属性,所述属性组由所述多个新的读取门限和所述新的读取门限的值组成。
本发明将以其下列包含附图的实施方案的详细说明更加完全地被理解:
附图简要说明
图1示意性地示出了一种根据本发明一个实施方案的用于存储器信号处理的系统的框图;
图2是一根据本发明一个实施方案的存储单元阵列的示意图;
图3是根据本发明一个实施方案的单层单元(SLC)中的读取门限的示意图;
图4是根据本发明一个实施方案的多层单元(MLC)中的读取门限的示意图;
图5是根据本发明一个实施方案的从模拟存储单元读取数据的方法的流程示意图;
图6是根据本发明一个实施方案的计算软度量的方法的流程示意图;
图7是根据本发明一个实施方案的计算软度量的电路的示意框图;
图8是根据本发明另一个实施方案的从模拟存储单元读取数据方法的流程示意图;
图9是根据本发明又一个实施方案的从模拟存储单元读取数据的过程的示意图;
图10是根据本发明再一个实施方案的从模拟存储单元读取数据的方法的流程示意图;和
图11是根据本发明替代实施方案的存储器信号处理系统的示意框图;
具体实施方式
概述
本发明实施方案提供改进的用于从模拟存储单元,如闪速存储单元中,读取数据的方法和系统。在本文下述一些实施方案中,存储器信号处理器(MSP)把以纠错码(ECC)编码的数据存储在模拟存储单元阵列中。MSP通过把各自的模拟值写入模拟存储单元,来存储经编码的数据。模拟值选自一组标称模拟值(nominal analog value)集,这些标称模拟值代表数据。
MSP通过执行多个读取操作从模拟存储单元中读取数据,读取操作将写入存储单元的模拟值与多个读取门限进行比较。读取门限被设定为至少有两个读取门限置于一对相邻的标称值之间。所述多个门限比较为每个模拟存储单元生成多个比较结果。MSP根据多个比较结果计算软度量。软度量提供与读取自存储单元的值或存储单元中的单个比特的值相关的可信度或确定度的量化测量。MSP使用软度量对ECC解码。在一些实施方案中,MSP以迭代方式增加读取门限的个数,直至实现成功解码。
一些已知的读取方法在任一给定时间使用单个门限以区分相邻的存储状态。不同于这些已知方法,此处描述的方法和系统使用多个门限执行多个读取操作,所述多个门限位于相邻存储状态间。通常,多个门限位于相邻标称值之间的边界区域,以使多个比较结果传递和这些区域内的模拟值统计分布相关的有价值信息。从而,基于此信息的软度量使ECC解码过程中能够纠正更多的读取错误,并提供改进的整体错误概率。
一些已知的读取方法为了改善解码性能而修改门限值。不同于这些已知方法,本发明所描述的方法和系统不修改门限值,而是增添新的门限到已有集合中,通过提高软度量的精确度来增进解码性能。
本发明公开的方法和系统实现的增强的解码性能提高了数据存储的可靠性、存储密度和存储器件的数据保持时间,使给定性能级别的存储器件成本和复杂度降低。
系统描述
图1示意性地示出了一种根据本发明一个实施方案的用于存储器信号处理的系统20的框图;系统20可用于各种主机系统和器件中,如计算器、移动电话或其它通讯终端、可移除式存储模块(U盘(“disk-on-key”)器件)、数码相机、音乐及其它媒体播放器、和/或任何其它存储与取出数据的系统或器件。
系统20包含一个存储器件24,其将数据存储在存储单元阵列28中。存储阵列包含多个模拟存储单元32。在本发明专利申请的语境和权利要求中,术语“模拟存储单元”(analog memory cell)用来描述任何保存一个物理参数的连续模拟值(如电压或电荷)的存储单元。阵列28可包含任何类型的模拟存储单元,例如NAND、NOR和CTF型闪速存储单元,PCM、NROM、FRAM、MRAM和DRAM单元。存储在单元中的电荷电位,和/或单元中写入与读出的模拟电压或电流,在本文中总称为模拟值。
通过对单元编程使承担各自的存储状态,系统20把数据存储在模拟存储单元中。存储状态选自一有限的可能状态集,并且每个状态对应一定的标称模拟值。例如,通过把四种可能的标称模拟值之一写入该单元,2比特每单元的多层单元可被编程而承担四种可能的存储状态之一。
要存储在存储器件24中的数据被提供给该器件并缓存在数据缓冲器36中。然后借助于读写(R/W)单元40,该数据被转化成模拟电压并被写入存储单元32中,读写单元40的功能在下文具体说明。当从阵列28读出数据时,读写单元40将电荷,并由此而将存储单元32的模拟电压,转换成具有1比特或多比特分辨率的数字采样(sample)。采样缓存在缓冲器36中。存储器件24的操作和定时由控制逻辑单元48管理。
存储器信号处理器(MSP)52执行存储器件24中的数据的存入和取出。存储器信号处理器(MSP)52包含一个信号处理单元60,其处理写入存储器件24中的和从该存储器件中读出的数据。单元60使用纠错码(ECC)对要写入存储单元的数据进行编码,对取出的数据进行ECC解码。
特别地,MSP52通过把读取自存储单元的值与多个读取门限进行比较,从存储单元32中读出数据。单元60所使用的ECC解码方案基于软度量,软度量是根据多个门限比较结果计算得到的。读取数据和计算软度量的范例方法在下文具体说明。
许多已知的ECC解码方案能接受已编码比特或符号的软度量作为输入。例如,单元60可以采用分块码,如Bose-Chaudhuri-Hocquenghem(BCH)码、低密度奇偶校验(LDPC)码或Reed-Solomon(RS)码、格码、turbo码或其它任何适用的能运作在软度量上的ECC和解码方案。本文所描述的方法和系统不限于分块码,而是也能与卷积码连用。
MSP 52包含数据缓冲器72,其被单元60用于存储数据和与存储器件24接口。MSP 52也包含输入/输出(I/O)缓冲器56,其形成MSP与主机系统间的接口。控制器76管理MSP 52的操作和定时。信号处理单元60和控制器76可以以硬件实现。或者,单元60和/或控制器76可包含运行适用软件的微处理器,或者软件和硬件要素的组合。
图1的配置为一种范例系统配置,其仅为概念清晰之用。也可采用任何其它适用的配置。为清楚起见,非理解本发明原理所必需的元件,如各种接口、寻址电路、定时和时序电路、以及调试电路,都从附图中略去。
在图1所示示例性系统配置中,存储器件24和MSP 52以两个独立的集成电路(IC)实现。然而,在替代实施方案中,存储器件和MSP可以集成在单个多芯片封装(MCP)或系统级芯片(SoC)中的分离的半导体裸片(die)上。又或者,部分或全部MSP电路可驻留于存储阵列28所在的同一裸片中。下文图11描述了这种范例配置。又或者,MSP 52的部分或全部功能以软件实现,并由主机系统的处理器或其它部件执行。在一些实施方式中,单个MSP 52可以连接到多个存储器件24。系统20的某些实施方案的附加构造方面如前面引用的美国临时专利申请60/867,399中所述。
在通常的写操作中,从主机接受要被写入存储器件24的数据,并将该数据缓存在I/O缓冲器56中。此数据,通过数据缓冲器72,传送到存储器件24。这些数据可在被传送到存储器件进行编程之前被MSP52预处理。例如,单元60可以使用ECC对数据编码,可以增加供内部使用的某些数据,和/或可以使数据混杂(scramble)。在器件24中数据临时存储在缓冲器36中。读写(R/W)单元40将数据转换为标称模拟值并把这些标称值写入阵列28的适当单元32中。
在通常的读取操作中,读/写(R/W)单元40从适当的存储单元32中读出模拟值并将它们转化为软数字采样。该采样缓存在缓冲器36中并传送给MSP 52的缓冲器72。在一些实施方案中,MSP 52的单元60将这些采样转换为数据比特。如前所述,可能的模拟值范围分为两个或多个区,每个区代表一个或多个数据比特的一定组合。
下文还将更具体说明,通过把这些存储单元的模拟值与多个读取门限集进行比较来读取存储单元。对每个单元,MSP根据多个比较结果计算出一个软度量。软度量被MSP在解码ECC时使用。编码数据通过输入/输出(I/O)缓冲器56传送到主机系统。
存储阵列结构
图2是本发明一种实施方案的存储单元阵列28的示意图;尽管图2涉及连接到特殊阵列配置中的闪速存储单元,本发明的原理同样适用于其它类型的存储单元和其它阵列配置。一些范例单元类型和阵列配置如前文背景部分所引的文献中所述。
阵列28的存储单元32被配置在具有多个行和多个列的栅格中。每个单元32包含一个浮置栅极金属氧化物半导体(MOS)晶体管。可以通过给晶体管栅极、源极和漏极加适当电压电平,把一定量的电荷(电子或空穴)存储在一个特定单元中。存储在单元中的值可以通过测量该单元的门限电压读出,门限电压被限定为,为使晶体管导通而需要加载到晶体管栅极上的最小电压。读取门限电压指示存储在该单元中的电荷。
在图2的范例配置中,每行晶体管的栅极由字线(word line)80连接。每列晶体管的源极由位线84连接。在一些实施方案中,如在一些NOR单元器件中,源极直接与位线相连。在替代实施方案中,如在一些NAND单元器件中,位线连接到浮置栅极单元串(string)。
通常,读写(R/W)单元40通过加载变化的电压电平到一特定单元32的栅极(即加载到该单元连接其上的字线上)和检查该单元的漏极电流是否超出一定门限(即晶体管是否导通)来读取该特定单元的门限电压。单元40常加载一序列不同的电压值到该单元连接至其上的字线上,并确定使漏极电流超出门限的最小栅极电压值。通常,单元40同时读一组单元,也称为一页。或者,读/写(R/W)单元可以使用其它任何技术或电路来对阵列28的存储单元32进行读取和向其中写入值。
存储单元阵列通常分为多页,即多个其中多个存储单元被同时编程和读取的组。在一些实施方案中,每页包含阵列的一整行。在替代实施方案中,每行(字线)可分为两页或多页。例如,在一些单层单元(SLC)器件中每行分为两页,一页包含奇序单元,另一页包含偶序单元。通常但不必需,一个2比特每单元存储器件通常每行有四页,3比特每单元存储器件每行有六页,4比特每单元存储器件每行有八页。
这些单元的擦除通常在包含多个页的块中进行。通常的存储器件可以包含几千个擦除块。在通常的2比特每单元MLC器件中,每个擦除块具有32条字线的数量级,其包含几千个单元。每条字线通常分为四页(奇/偶序单元,单元的最低/最高有效位)。或者,也可采用其它块尺寸和配置。3比特每单元器件通常每个擦除块有192页,4比特每单元器件通常每个块有256页。
一些存储器件包含两个或多个独立的存储单元阵列(常称为面(plane))。由于每个面在连续的写操作之间有一个“忙碌”时段,为增进编程速度,可以交替地将数据写入不同的面。
存储单元失真机理
存储在存储单元32中的模拟值(如门限电压)可能含有各种类型的失真,其由阵列28中不同的失真机理引起。例如,阵列中相邻单元间的电交叉耦合可能改变一个特定单元的门限电压。又例如,电荷可能随时间从单元中泄漏。作为此老化效应的后果,单元的门限电压可能随时间从初始写入值发生漂移。另一类的失真,通常称为扰动噪声,是由对阵列中某些单元的存储访问操作(例如读,写或擦除操作)引起的,所述对阵列中某些单元的存储访问操作导致其它单元中意外的电荷改变。另外一个例子,通过一种被称为背景图案相关(Back PatternDependency)(BPD)效应,一个特定单元的源极-漏极电流可能受相邻单元的电荷的影响,例如受同一NAND单元串中的其它单元的电荷的影响。
存储单元32中的失真使存储器件的性能退化,例如使在重构数据时的错误概率、可达到的存储容量和/或可达到的数据保持时间方面。MLC器件中的性能下降尤其严重,在该MLC器件中,表示数据的不同电压电平之间的差相对要小。
使用多个门限读取存储单元
本发明实施方案,通过使用多个读取门限,提供了改进的用于从阵列28的模拟存储单元32中读取数据的方法和系统。此处所描述的方法对SLC器件(如下面图3所示)和MLC器件(如下面图4所示)都适用。
图3是示意性地示出了根据本发明一种实施方案的在单层单元(SLC)器件中的读取门限的示意图;图中显示一组(例如一页)模拟存储单元中的两个门限电压统计分布。对于一特定页,该图代表了存储在该页存储单元中的门限电压的分布图。在图3示例中,每个存储单元可被编程至两个可能标称电平中的一个,即每个单元存储单个数据比特。由于单元间的各种失真变化和各种损坏机理,从存储单元中读取的实际门限电压可能相对标称电平有统计上的变化。此示例中,曲线90A显示被编程为存储值“1”的单元的门限电压分布。曲线90B显示被编程为存储值”0”的单元的门限电压分布。
如图可见,曲线90A和90B有重叠。这即是说,存在一种这样的可能性,被编程为某一比特值的存储单元将被错误地解释为被编程至其它比特值。用来区分″1″和″0″的读取门限的位置对这一错误概率有相当的影响。在本发明一些实施方案中,MSP 52通过组合在借助于多个读取门限下获得的信息来重构存储在存储单元中的数据,来减小错误概率。
图3显示五个门限,标记为T1到T5。在一些实施方案中,MSP 52运用每一个门限去读每个存储单元。每个读取操作产生一个比较结果,即产生一个该读取门限电压是大于还是小于操作中使用的门限的指示。在图3的范例实施方案中,MSP应用门限T1...T5对每个存储单元读五次,以生成5个相应的比较结果。MSP可按任意适当顺序遍历这些不同的门限。例如,MSP可以从位于所需区域的中间位置的门限开始,并通过增添初始门限任一边上的门限而逐渐由此点移开。下面进一步描述逐渐增加门限个数的示例性迭代方法。
对于每一个正被读取的存储单元,MSP使用多个比较结果计算出一个软度量。软度量指示与从读取自存储单元的值相关联的可信度或确定度量值。在一些实施方案中,软度量指示了读取值与某数据值相对应的可能性(例如,一个非常低的软度量值可以指示读取值与”1”相对应的高确定度,一个非常高的软度量值指示读取值可能代表”0”,中间的度量值指示较低的可信度)。在其它实施方案中,度量值指示读取值的可靠性,不指示特定比特值(例如,低度量值代表低可信度,高度量值代表高可信度)。
在本发明专利申请语境和权利要求中,术语”软度量”是指任何类型的传递了单个比特以上信息,即两个以上可能值,的定量测量。例如,软度量可包含一个用2比特或多比特表示的定点或浮点数值。另一种软度量示例类型,有时被称为“擦除”,分配给每个存储单元三个可能值——″0″,″1″或″不确定″中的一个。又或者,可以采用任何其它适用形式的软度量。
注意,当每个单元存储多个数据比特时,软度量值可被计算出并分配给每一单个的比特。例如,在一个4层MLC中,为最低有效位(LSB)计算一个度量值,为最高有效位(MSB)计算另一个度量值。应用于SLC和MLC两者的度量计算方法的具体示例将在下面进一步说明。
MSP 52可采用任何适用的、基于多个比较结果来计算软度量值的方法。在一些实施方案中,MSP可以使用一种与比较结果的不同组合相关联的度量值的表。例如,下表可与图3中的五个门限的配置连用。
上表提供了32个软度量值,记为M1...M32,其对应门限T1...T5的5个比较结果的32个可能组合。按照图3的记法,比较结果″0″表示读取值高于使用的门限,比较结果″1″表示读取值低于此门限。
通常,M1和M32指示高可信度,因为这些度量值对应的状态为:采用5个门限的读取操作生成相同的比较结果。比较结果的其它组合将通常被分配以指示较低可信度的度量。
一些比较结果集可能被认为不一致或自相矛盾。例如,假定T1<T2<T3<T4<T5,门限T1...T5生成的5个比较结果分别记为C1...C5。尽管T4>T3,但是某存储单元的结果集′1,1,1,0,1′却指示模拟值大于T4小于T3,所以结果集不一致。这样的结果集可能这样引起的,例如当该单元在至少一次读取操作中具有高的读取噪声时。另一方面,诸如′1,1,1,1,0′,′1,1,1,0,0′,或′1,0,0,0,0′,的结果集是一致的。
通过给不一致的比较结果集分配不同的软度量值,MSP可以以不同的方式处理不一致的比较结果集。例如,MSP可以视不一致的结果集为不确定,并向ECC解码过程标记它们为擦除。或者,MSP可无视或者另行尝试解决一些不一致。例如,假定T3的比较结果″0″是由读取噪声引起时,MSP可以将′1,1,0,1,1,′类似地看做′1,1,1,1,1′集。
作为使用表的替代,MSP 52可估计一个基于多个比较结果的函数,并生成相应的软度量值。例如,MSP可以估计每个存储单元中单独的比特的对数似然比(Log Likelihood Ratios)(LLRs),其定义为:
其中,Xi表示所讨论的存储单元中存储的特定数据比特,r表示从该单元中读取的模拟值。采用LLR作为提供给ECC解码过程的度量,如2007年5月10日提交的PCT专利申请PCT/IL2007/000580,名为”Combined Distortion Estimation and Error Correction Coding ForMemory Devices”的文中所述,其公开的内容在此以引用的方式纳入本说明。
为计算LLR,MSP可为每个存储单元保留两个值:(1)被发现为低于单元的模拟值的最大读取门限,记为Va,(2)被发现为高于单元的模拟值的最小读取门限,记为Vb。单元的LLR可近似表示为
其中,T1表示″1″为其数据比特的最接近的分布的中心模拟值,T0表示以″0″为其数据比特的最接近的分布的中心值。r的分布假定为方差是σ2的高斯分布。
随着存储单元在增加的读取门限个数下被读取,MSP更新Va和Vb。在每一阶段,单元的实际模拟值已知在区间[Va,Vb]中。随着门限个数的增加,区间缩小,不确定性变小,估计的LLR变得更精确。
又或者,MSP 52可采用任何其他适用的基于多个比较结果而计算软度量值的方法或机制。
解码ECC时MSP使用软度量。在通常应用中,存储在一组存储单元(例如一个存储页)中的数据,形成单个码字。在对某一个ECC码字解码时,MSP的信号处理单元60使用该组存储单元的软度量值。结果,被认为具有高可信度级别的存储单元在ECC解码过程中被赋予更高权值,亦或反之。
图4是根据本发明一种实施方案在多层单元(MLC)器件中的读取门限的示意图;在图4的示例中,每个存储单元可被编程至四个可能标称电平中的一个,因此每个单元存储2比特数据。曲线94A...94D分别显示被编程至存储″11″,″01″,″00″和″10″数据的存储单元的门限电压分布。在本例中,MSP 52使用5个门限集去读存储单元。每个门限集包含三个门限,其通常位于各对相邻分布曲线间的三个边界区域内。门限集列表如下:
门限集 | 门限 |
1 | T11,T21,T31 |
2 | T12,T22,T32 |
3 | T13,T23,T33 |
4 | T14,T24,T34 |
5 | T15,T25,T35 |
在一些实施方案中,MSP 52使用15个门限的每一个去读取单元的门限电压,并基于15个比较结果计算出软度量。MSP可采用任何类型的软度量和任何基于多个比较结果的计算度量值的方法。如上所述,MSP使用软度量作为对ECC解码过程的输入。
在替代实施方案中,在两个阶段中读取存储单元,对应于单元中存储的两个比特。例如,在图4的配置中,读/写(R/W)单元使用五个门限T21、T22、T23、T24和T25,即曲线94B和94C之间的位于电压轴中部的门限,执行第一组比较。MSP根据使用这5个门限获得的5个比较结果计算出第一个软度量。注意到位于门限T21...T25之上的两个标称电平都有一个最低有效位值″0″,位于门限T21...T25之下的两个标称电平都有一个最低有效位值″1″。因此,第一软度量对应于最低有效位(LSB)。一旦LSB解码,读/写(R/W)单元立即执行第二组比较。在第二阶段,读/写(R/W)单元根据LSB的解码值,使用门限T11...T15或T31...T35。如果LSB被确定为″1″,即读取值被确定为位于电压范围的较低部分,在第二阶段中将使用门限T11...T15对MSB解码。如果LSB被解码为″0″,就使用门限T31...T35对MSB解码。MSP根据第二比较阶段获得的5个比较结果计算第二个度量,其对应最高有效位MSB。
类似的多阶段比较过程可在存储更高比特数目的多层单元中执行。例如,在8层(3比特每单元)单元中,MSP和读写(R/W)单元可能执行三步比较法来解码每个比特。除第一阶段外,每阶段中门限的选用通常都取决于之前比特的解码值。
在替代的多阶段读取方法中,每个比特的读取都不依赖于其他比特。例如,参考图4,可使用门限T21...T25读LSB。MSB的读取是通过随后使用门限T11...T15和T31...T35来读取该单元。如果比较结果指示模拟值介于T11...T15和T31...T35之间,则确定该比特为″0″。另一方面,如果比较结果指示模拟值大于T31...T35或小于T11...T15,则确定该比特为″1″。在本例中,关于门限T21...T25的比较结果,其用于读取LSB,但不用于读取MSB。类似的过程可用于其它类型MLC,如每单元存储3比特的8层单元。
图3和图4所示的门限配置为示例配置,仅出于概念的明晰目的而选择了它们。在替代实施方案中,系统20可以采用任意所需数目的标称电平、任意其他从比特值到标称电平的映射方式、以及任意所需数目的门限集。尽管图3和图4显示了以恒定增量间隔开的门限,此处所描述的方法和系统也可用于不均匀间隔的门限。在多层单元(MLC)器件中,电压区与电压区之间的门限间隔可以变化。例如,图4中,门限T11...T15的间隔可能不同于门限T21...T25。也可使用不同的门限间隔,例如当不同的模拟值分布具有不同的形状或其彼此间的间隔不同时。MSP可改变门限间隔,或者选取要使用的门限,例如根据对模拟值分布的估计。
图5是示意性示出根据本发明一个实施方案的用于从模拟存储单元32读取数据的方法的流程图;对某一个存储单元,本方法始于:系统20在读取步骤100使用多个门限分别执行多个读取操作。多个读取操作生成各自的多个比较结果,即生成多个关于该单元的门限电压是小于还是大于这些不同门限的指示。在度量计算步骤104,MSP 52根据多个比较结果计算出该存储单元的一个软度量。
MSP通常对一组存储单元重复上述步骤100和104的过程,这一组存储单元的数据形成单个ECC码字。在通常操作中,读/写(R/W)单元40使用特定门限值对存储器件的一整页单元同时读取。一旦这些存储某个码字的单元的软度量计算出来,MSP就在解码步骤108使用这些度量解码该码字。MSP在数据提取步骤112提取解码数据。解码数据通常被输出给主机系统。
本发明描述的多门限读取方法也可视为一种有效的在使用较少的读取操作次数下获取精确的关于所存储的模拟值的信息的方法。理论上,如过存储在存储单元中的确切的模拟值已为MSP所知,(例如,采用高分辨率模-数转换),则该信息可用来提取关于所存储的数据的概率测量。然而,诸如闪速存储器的模拟存储器件的基本读取操作通常包含比较操作,其把存储在单元中的模拟值与单个门限进行比较。为了以给定分辨率获得模拟值,可对整个可能的电压范围以所需的分辨率搜索或扫描。例如,如果可能模拟值的范围是0-4V,所需的分辨率是10mV,则将需要400次读取操作。然而,实际中,很多有用的统计信息可通过执行次数少得多的读取操作来获得,例如通过把一个区间中的读取门限设在各分布之间的中点附近。因此,此处描述的方法和系统在使用次数较少的读取操作下,提供了一种有效的考察此类模拟值的统计的方法。
在很多实例中,在存储单元上执行很多次读取操作是一项高强度计算任务,其复杂化了和减慢了数据取出过程。并且,ECC通常强到足以用于成功解码绝大多数码字,甚至在使用单个门限集来读取存储单元时。因此,在一些实施方案中,MSP初始使用单个门限集读取存储单元。只有当ECC解码过程失败时,MSP才会使用此处描述的多门限方法回复读取与某一码字对应的存储单元。
可迭代地使用上面图3-5的方法,其中逐渐增加所用门限的个数。例如,MSP可尝试使用基于两个门限集的软度量重构数据。如果数据不能被重构(即如果ECC失败),则MSP可使用第三个门限集重新读取该存储单元。迭代可一直持续到ECC解码成功,或者直到达到一个预定的最大门限集个数。注意在迭代过程的每一阶段,MSP基于其当前可用的多个比较结果计算软度量。在一些情况下,MSP可使用诸如度量值等的信息,所述度量值为之前迭代中计算而得的。迭代过程能够使计算次数逐渐增加,仅可增加至为实现成功解码而所需的次数。
基于对计算结果的计数的软度量
在一些实施方案中,MSP根据落在门限任一边上的计算结果的数目来计算软度量值。(在后面的描述中,比较结果″0″表示读取值高于门限,亦或反之。然而,这个约定仅为方便起见,也可采用相反的约定。)考虑前面图3的SLC范例实施方案。在此实施方案中,在五个比较结果中,如果比较结果“0”的个数远高于结果“1”的个数,则可能的是,该单元被编程为“0”。类似地,如果比较结果“1”的个数远高于结果“0”的个数,则这个被编程的比特可能为“1”。类似的逻辑也可用于多阶段比较过程中解码MLC单独的比特的每一个阶段中,如前面图4所述。
图6是本发明一种实施方案的计算软度量的流程示意图;此方法的描述指向SLC应用并参考前面图3。然而,这样选择仅为简化解释之用。该方法也可类似地用于MLC。
此方法始于:在门限限定步骤116,MSP限定多个门限。通常但不必需的是,门限被限定在电压分布之间的边界区域。图3中,五个门限被限定在曲线90A与90B重叠的区域。例如,假定曲线90A和90B之间的中点为1伏,门限可以20mv分辨率来表示,则可以以20mV间隔来限定门限集,以覆盖电压范围1V±40mV。
在读取步骤120,MSP使用多个门限读取存储单元。在计数步骤124,MSP对落在门限任一边的比较结果的数目进行计数。换言之,MSP从总的门限比较的数目中,确定比较结果″0″的个数和/或结果″1″的个数。
在度量计算步骤128,MSP基于对比较结果的计数计算与单元(或单元中的单独的比特)相关的软度量。例如,假定有前面图3的五个门限的配置和4比特的度量值,MSP可以根据下表计算软度量:
计算结果″0″的个数 | 计算结果″1″的个数 | 软度量值 |
0 | 5 | ″1111″=15 |
1 | 4 | ″1100″=12 |
2 | 3 | ″1001″=9 |
3 | 2 | ″0110″=6 |
4 | 1 | ″0011″=3 |
5 | 0 | ″0000″=0 |
上表中,如果所有五个计算结果都是″1″,存储的数据极有可能是″1″,因此赋予最大度量值″1111″。另一极端,如果所有五个计算结果都是″0″,存储的比特可能是″0″,因此赋予最小度量值″0000″。如果一些比较结果是″0″,另一些是″1″,度量值就被设置为中间值,其随总数中结果″1″的个数的增加而单调增大。
或者,可以采用其它任何适用的基于比较结果的计数而确定软度量值的方法。度量计算可以通过查询一张表而实现,该表存放度量值并通过所述比较结果的计数来索引,也可以通过评估一基于该比较结果的计数的函数来实现,或使用任何其它适用机制来实现。
MLC度量计算的硬件实现范例
如前面所注意的,计算多层单元中各比特的软度量时,门限的选择取决于先前解码的比特值。并且,先前解码的比特值可能在某些情况下影响度量值自身。
例如考虑上面图4的4层单元的配置。当在一个两阶段的方法中从这种单元读取数据时,通过确定单元读取值落在门限T21...T25左边还是落在右边首先解码LSB。注意在图4的示例中,位于这些门限之下的两个标称电平有值为″1″的LSB,位于这些门限之上的两个标称电平有值为″0″的LSB。
第二解码阶段(解码MSB)依赖第一阶段的结果。当LSB为″0″时,对MSB的解码包含确定读取值是可能属于曲线94C还是属于曲线94D。当LSB为″1″时,对MSB的解码包含确定读取值是可能属于曲线94A还是属于曲线94B。
然而,注意当比较曲线94A和94B时(即当LSB=″1″时),高门限电压对应MSB=″0″,低门限电压对应MSB=″1″。当比较曲线94C和94D时(即当LSB=″0″时),情况就相反,高门限电压对应MSB=″1″,低门限电压对应MSB=″0″。在这种情形下,依赖比较结果的计数的软度量值有时应当被反转,从而维持高度量值对应数据″0″这一常规。决定是否反转度量值取决于前一比特值。同等地,也可以反转当前读取的比特的值而不反转度量值。仅当先前值等于″1″时才对一个值进行反转的条件操作可以通过在当前和先前比特值之间执行异或(XOR)操作而实现。
图7是本发明一种实施方案的用于多层单元软度量计算的示例电路的示意框图;尽管后续描述涉及硬件或固件实施方式,类似的机制可以以软件、或软件与硬件的组合来实现。
图7的电路计算一组4层单元的LSB和MSB的软度量,假定LSB代表某一存储页,MSB代表另一页。LSB页首先被读取,并被称为前一页。MSB接着被读取,并被称为当前页。根据前一页的比特值,当前页的度量的计算过程进行条件反转(XOR)操作。
此电路包含XOR电路134,其在当前页硬比特决定(hard bitdecision)的字节130(MSB)和从前一页的先前解码的数据比特的字节132(LSB)之间执行按位异或(XOR)操作。这样,对特定单元,当之前解码的LSB为″1″时,当前读取的MSB就被反转。加法器136累加异或(XOR)操作的结果。加法器的输出被累积作为MSB的软度量140。向量138存放不同单元的MSB的累积度量。相同电路也可用于计算LSB的软度量,其不取决于任何先前值。为了计算LSB软度量,以0填充字节132,从而使异或(XOR)操作被绕过,字节130不变地被提供给加法器。
图7的电路涉及4层2比特每单元MLC。然而,类似电路可被用于计算其它类型多层单元的软度量,如计算8层3比特每单元MLC的软度量。
在替代实施方案中,对多层单元的单独的比特的软度量的计算可以独立于其它不同的比特。在这样的时候:当读取某一比特值时,先前的比特读取值不可获得的情况下,这些方法可能特别有利。参见上面图4的2比特每单元例子,MSB软度量可在不知道LSB的情况下计算。如前面所述,如果模拟值落在门限T11...T15和T31...T35之间,则MSB值可假定为″0″,否则为″1″。为了对这种读取过程计算软度量,MSP可将门限分组成一些逐渐向内移入MSB=″0″的区域的对。MSP使用不同的门限对,对落在MSB=″0″间隔以内和/或以外的比较结果进行计数。
在本例中,MSP形成了(T14,T35),(T12,T33),(T11,T31),(T13,T32)和(T15,T34)等对。对每一对,MSP执行两次读取操作并检查读取值是否落在门限之间的间隔内或者间隔之外。MSP对其中模拟值落在两个门限之间(指示MSB=″0″)的门限对的数目和/或其中模拟值落在两个门限之间的间隔之外的(指示MSB=″1″)门限对的数目进行计数。MSP根据计数来计算软度量。
类似方法可用于8层3比特每单元MLC。例如假定一个8层MLC器件,其8个电平表示为L1...L8,并分别映射到三连比特(bit triplet)′111′,′011′,′001′,′101′,′100′,′000′,′010′,′110′。MSP可独立于其它比特计算这种单元的MSB(三连比特中的最左边一个比特)的软度量——通过使用4个多门限集进行比较。每个门限集都位于具有不同MSB值的相邻电平之间。在本例中,一个集合位于电平L1和L2之间,另一集合位于L3和L4之间,第三集合位于L5和L6之间,第四集合位于L7和L8之间。四个门限集将模拟值轴分为5个间隔,记为I1...I5,这样每个间隔中MSB具有相同值。
使用此划分,当读自该单元的读取模拟值落在间隔I2或I4以内时,MSP确定MSB为″0″,如果模拟值落在间隔I1、I3或I5以内,MSP确定MSB为″1″。为计算MSB的软度量,MSP形成4个门限组,每组包含来自每个集的一个门限。从一组移动到另一组,每个门限都以MSB值从″1″到″0″转变的方向移动。对每个门限组,MSP执行四次读取操作,检查读取值是落在相应于“1”的间隔内还是落在相应于“0”的间隔内。MSP对模拟值落在相应于MSB=″0″的间隔内的门限组的数目,和/或模拟值落在相应于MSB=″1″的间隔内的门限组的数目进行计数。MSP根据计数来计算软度量。
通常但不必需的是,基于对一给定类型的比较结果的计数的软度量假定读取门限围绕分布之间的中点对称地分布。
逐渐增加门限数量
上述的比较和度量计算操作既花费时间又消耗计算资源,且随门限数量的增大而更甚。因此,仅使用为成功重构数据而所需的数量的门限有时是有利的。在一些实施方案中,MSP首先尝试使用相对少量的门限来计算软度量和解码数据,仅在需要时才增加门限的个数。
例如,起初MSP可首先尝试使用一个其中只有单个门限位于每对相邻标称值(存储状态)之间的初始读取门限集来解码ECC。在一些实施方案中,一旦初始解码尝试失败,MSP就转向多个门限解码。
图8是根据本发明另一种实施方案的通过逐渐增加门限数目而从模拟存储单元读取数据的范例方法的流程示意图。起初,假定MSP尝试过使用在借助一定数量的门限下获得的软度量来解码存储在一组存储单元中的一个特定码字,且ECC解码已失败。所述度量被假定是基于比较结果的计数,如前面所述。
此方法始于:在门限增添步骤142,MSP增加一个或多个另加的门限到所使用的门限的集中,使用增加的门限读取存储单元组。
在计数更新步骤144,MSP更新比较结果的计数(即,总数中″0″和/或″1″的个数)。更新后的计数反映了先前门限以及新增门限的比较结果。在度量更新步骤146,MSP然后根据比较结果的更新的累积计数计算软度量。
在一些情况下,MSP可在每个迭代处都重新计算度量。或者,MSP可存储来自先前迭代的度量值和/或比较结果计数,并更新它们以考虑新增的比较结果。通常,在一给定的迭代处计算的软度量可取决于当前比较结果计数、先前计数和先前的度量值。
在度量计算步骤146,MSP根据比较结果的累积计数计算软度量。任何适用的度量计算方法都可采用,比如前面所述的范例方法。在ECC解码步骤148,MSP尝试使用软度量解码码字。在ECC检查步骤150,MSP检查ECC解码是否成功。如果成功,在数据提取步骤152,MSP提取并输出数据,该方法终止。
另一方面,如果ECC解码失败,该方法循环回到前面的门限增添步骤142。MSP增加一个或多个另加的门限到门限集,并根据扩展的集计算软度量,并再次尝试解码ECC。
图8的方法使MSP能够使用仅仅所需的门限个数来成功解码ECC。当失真不严重时,使用少量门限可以对大部分码字解码,从而提高整体和平均的读取速度。
除了持续迭代直到成功解码之外,或者作为持续迭代直到成功解码的替代,MSP可估计其它任何适用的条件,当条件满足时停止迭代过程。例如,MSP可能持续增添门限,直到达到最大门限数目或者达到最大迭代次数。
在一些实施方案中,ECC解码过程可能包含一个迭代过程。迭代解码过程通常用于解码诸如LDPC和turbo码的码。在一些实施方案中,迭代解码过程被提供了逐渐改良的度量,其基于逐渐增多的读取门限的数量。换言之,迭代解码过程使用基于特定的初始门限个数的度量开始解码。迭代解码过程的后续迭代则被提供了基于增加的读取门限的数量的度量,直到迭代解码过程收敛到一个有效码字。
补充或者替代图8方法中的ECC的使用,MSP可能采用检错码,比如循环冗余校验码(CRC)或检验和。在这种实施方案中,MSP迭代地增加读取门限直到检错码检查到没有错误。这样,在本发明专利申请的语境和权利要求中,术语“ECC”也用来指不同类型的检错码。在一些实施方案中,尽管数据是用ECC编码的,MSP也可使用检错码确定何时停止增添门限。这种方案可能是有利的,例如,当ECC不再提供一可靠的关于解码是成功还是失败的指示时。
MSP可使用各种方法和标准来选择每次迭代增添几个门限个数,以及以何次序。例如,门限可能一次增加两个,从初始门限位置往两个方向逐渐移开。换言之,假定MSP初始尝试使用一个标记为T的门限,门限之间以规则的间隔Δ间隔开,最初4次迭代中的门限集为:
{T,T+Δ,T-Δ}
{T,T+Δ,T-Δ,T+2Δ,T-2Δ}
{T,T+Δ,T-Δ,T+2Δ,T-2Δ,T+3Δ,T-3Δ}
{T,T+Δ,T-Δ,T+2Δ,T-2Δ,T+3Δ,T-3Δ,T+4Δ,T-4Δ}
度量标准化和干扰消除
当计算基于变化数量的门限的软度量时,如前面图8中的方法,度量值的可能范围可随使用的门限的个数而变化。例如,当软度量包含比较结果计数时,基于三个门限的度量值将在[0...3]范围内,而基于五个门限的度量值将在[0...5]范围内。此效应通常不是理想的。换言之,通常理想的是提供度量给ECC解码器,其使用相同动态范围来量化可信度或确定度,不管度量所基于的门限比较的个数。
在一些实施方案中,MSP根据门限的个数对读取自存储单元的软值标准化。例如,MSP可对值采用位扩充来达到某一固定比特数,例如5比特。例如,位扩充的值(Extended Value)可能定为如下:
其中Val表示输入软值,N表示用于估计Val的门限个数。MaxVal表示位扩充软值的最大值,例如,31对应5比特表示。或者,MSP可能采用任何其它适用的数据缩放机制。
在一些实施方案中,MSP有存储单元中的失真度或干扰度方面的信息。可以利用各种方法来估计存储单元中的干扰程度。范例方法如前面引用的PCT专利申请PCT/IL2007/000580,以及如2007年5月10日提交的PCT专利申请PCT/IL2007/000576名为″Distortion Estimation andCancellation in Memory Devices,″,以及2007年8月27日提交的PCT专利申请PCT/IL2007/001059,名为″Estimation of Non-Linear Distortionin Memory Devices,″文中所述,其公开的内容在此以引用的方式纳入本说明书。
当MSP可获得干扰估计时,MSP可在将这些软值提供给ECC解码器之前,将干扰的效应增加到软值上,或者根据估计的干扰对软值进行修改。
图9是本发明另一种实施方案的从模拟存储单元读取数据的过程的示意图,其包括数据缩放和干扰消除;尽管图9的配置用于演示干扰消除和缩放两者,每一项机制的实现都可在有或没有另一项的情况下实现。
在图9的过程中,缩放模块154接收从存储单元读取的(例如,前面图7的异或电路134的输出)经过条件反转的软值。模块154也接收迭代次数和/或当前被使用的门限的个数的指示。模块154可对输入软值应用比特扩充或其它缩放。缩放量取决于输入迭代次数。
缩放的软值被提供给干扰消除模块156,其也接收对各存储单元中的干扰程度的估计。模块156减去或消除从相应软值估计的干扰,产生经过适当缩放并包含程度减少的干扰的软值。这些软值被提供给度量计算模块158,其计算软度量并将它们提供给ECC解码器。
门限比较和干扰估计的折中
以增加的门限对单元重新读取和估计来自相邻存储单元的干扰,这两个操作,一方面改善了读取性能,另一方面耗费时间和计算量。在一些实施方案中,MSP可能组合两个操作并在其间折中。例如,MSP可能在每次迭代时确定哪种操作更可取:是通过使用另外的门限来重新读取当前页来增强解码精确度,还是通过读取(或重新读取)一组干扰单元来增强干扰估计。
图10是根据本发明又一种实施方案的从模拟存储单元读取数据的方法的示意流程图,其包括在进行重新读取和进行干扰估计进行折中。
此方法始于:在读取步骤160,MSP读取一页存储单元。在此过程的每次循环,MSP可选择要么(1)使用另加的门限重新读取需要的页,要么(2)读一页干扰单元。MSP在确定每次循环要采取两种操作中的哪一种时可以应用各种策略或试探法。MSP可在不同的循环中读取不同的干扰单元组。
例如,MSP可交替两种操作,从而每两次循环增加一个门限,且每两次循环估计干扰。或者,MSP可基于估计的失真程度来选择要采取哪种操作。例如,如果最近的干扰估计指示干扰电平低,MSP可优先增加门限比较,并完善在较大间隔下的干扰估计。又或者,这决定可取决于被读取页的类型。例如,奇序和偶序页可能遭遇不同的干扰程度,MSP可对不同页类型采用不同的判决逻辑。位于一个块中最后一条字线上的页也可能在遭遇不同的干扰程度,以及可以被不同地处理。由于干扰可能与页面被写入的顺序有关,不同的折中可应用于一条字线里的页码更高的页和页码更低的页。
在一些情况下,所需页中的存储单元之间可能引起相互干扰。如此,受干扰的单元组和产生干扰的单元组有时可能重叠。
在干扰消除步骤162,基于更新的信息,MSP从读取的软值中减去干扰估计,并在度量计算步骤164计算软度量。然后在解码步骤166,MSP解码ECC,并在成功检查步骤168处,检查ECC解码是否成功。
如果ECC解码成功,在成功终止步骤170,该方法终止,并且MSP通常提取和输出数据。否则,在迭代次数检查步骤172,MSP检查迭代(循环)次数是否超过预定最大数。如果超出迭代最大次数,在错误终止步骤174,该方法在未成功读取数据下终止。否则,方法循环回到前面的读取步骤160,MSP重又确定是否增加另一门限或在下一循环中完善干扰估计。
前面图8和10的迭代方法中,MSP可以——根据从单元读取的值或这些值所代表的数据——选择在某一特定迭代时要增加的新门限的个数。例如,当MSP检测到严重的ECC失败或意外高干扰程度时,它可决定增加大量门限。MSP也可根据所读取的值或所读取的数据来确定新门限的值(即位置)。例如,响应于ECC的失败而被增加的新门限的值可不同于响应高干扰电平时所增加的门限的值。
在存储器件内部执行多次读取操作
当使用上述方法和系统时,与多个门限关联的多个比较结果通常从存储器件24传送到MSP52。相应的,存储器件与MSP之间的通讯带宽变得惊人,特别是当使用了大量门限集和/或当每单元的标称电平的数目很大时。在一些实际情况中,MSP和存储器件之间的接口上的通讯带宽可能成为决定系统20的存储访问速度的限制因素。当单一MSP 52与多个存储器件24连接时这一影响变得尤为严重。
在本发明替代实施方案中,一些重新读取功能是在存储器件内部实现的,从而减小存储器件与MSP之间的通讯带宽。
图11是根据本发明替代实施方案的用于存储器信号处理的系统200的示意框图;在图11的范例实施方案中,多个存储器件204通过一条外部总线212连接到一个MSP 208。每个存储器件204包含一个存储单元阵列216和一个读/写(R/W)单元220,其分别类似于前面图1的阵列28和读/写(R/W)单元220。
与图1所示的实施方案不同,每个存储器件204包含一个门限设置和度量计算单元224,也简称为“度量计算单元”。单元224通过内部总线228连接到读/写(R/W)单元220。当存储器件接收到从一组存储单元(例如,一页)中取出数据的请求时,单元224控制读/写(R/W)单元220用诸如前述的任何方法来设置适当的门限值和读取该存储单元。读/写(R/W)单元执行多次比较操作并发送相应比较结果给单元224。单元224根据比较结果计算软度量,通过外部总线212发送度量值到MSP 208。
MSP 208包含一个ECC解码器232。该ECC解码器接收被发送自存储器件204的单元224的软度量并基于该度量解码ECC。MSP通常输出解码数据给主机系统。当MSP 208控制多个存储器件204,一单个ECC解码器可解码从所有存储器件发送的数据。或者,可使用多个ECC解码器。
当使用图11的配置时,相比前面图1的配置,由于单独的比较结果不传送到MSP,MSP与存储器件之间的通讯带宽显著减小。相反,单元224发送软度量值,对于每个读取存储单元,其通常包括一单个的值。传送多个比较结果所需的高通讯带宽被限于内部总线228,即存储器件内部。这类高通讯带宽在存储器件内部实现比在独立器件之间实现简单许多。并且,内部总线的通讯仅包含由特定存储器件产生的通讯,与被MSP控制的存储器件的数量无关。
读/写(R/W)单元220和度量计算单元224之间的功能划分是一种范例划分,其仅为概念清晰之目的。在替代实施方案中,读、门限比较、门限设置和度量计算功能可按需以其它任何方式划分。这样,读/写(R/W)单元220、内部总线228和度量计算单元224也可以总体视为一个读取电路,其读取模拟存储单元并产生软度量。
如前所述,软度量计算有时要考虑读取存储单元中的干扰的估计和消除。在一些实施方案中,干扰估计和消除功能也可通过存储器件204内部的读取电路实现,例如,通过单元224。在这些实施方案中,单元224发送其中已考虑了干扰的软度量给MSP。实现存储器件内部信号处理功能的一些方面在前面引用的美国临时专利申请60/917,653中得以描述。
尽管此描述的实施方案主要解决从固态存储器中取出数据,本发明的原理也可用于在硬盘驱动器(HDD)和其它数据存储媒体和器件中存储和取出数据。
因此前述的实施方案在此以示例方式引用,并且本发明不限于本文前面特别展示和描述的内容。相反,本发明的范围包括前述各种特征的组合和子组合,以及本领域技术人员从前述说明中领会的各种更改和变化,这些都没有被现有技术公开。
Claims (30)
1.一种操作存储器的方法,包括:
通过将模拟存储单元编程为存储状态集的各个模拟输入值写入存储器的所述模拟存储单元,把数据存储在存储器的所述模拟存储单元中,所述数据以纠错码(ECC)编码;
通过执行多次读取操作读取存储的数据,所述读取操作将所述模拟存储单元的模拟输出值和各个不同的读取门限相比较,从而为每个模拟存储单元生成多个比较结果,其中所述与每个存储状态相关联的模拟输出值位于各个模拟值区域中,其中模拟值区域被一个或多个边界区域分隔开,以及其中至少有两个读取门限被置于一对相邻的模拟值区域之间的边界区域中;
在解码ECC之前,对每个模拟存储单元,基于通过使用所述多个不同读取门限的所述多次读取操作所获得的多个比较结果计算软度量;和
使用基于所述多个比较结果所计算出来的软度量解码ECC,从而提取被存储在模拟存储单元中的数据。
2.如权利要求1所述的方法,其中每个模拟存储单元存储该数据的一个或多个比特,并且每个软度量对应于其中的一个比特。
3.如权利要求2所述的方法,至少一些模拟存储单元中的每个模拟存储单元存储该数据的两个或多个比特,其中读取数据包括,对于所述至少一些模拟存储单元中的每个模拟存储单元,分别在两个或多个解码阶段,读取两个或多个数据比特,且其中计算软度量包括,根据在先于第一解码阶段的第二解码阶段读取的第二比特值,修改在第一解码阶段读取的第一比特的软度量。
4.如权利要求3所述的方法,其中修改软度量包括根据第二比特的值对第一比特的软度量进行条件反转。
5.如权利要求1所述的方法,还包括进行一次初始尝试:使用读取门限的初始集解码ECC,使初始集中不超过一个读取门限被置于任一给定的边界区域中,一旦初始尝试失败,将模拟输出值和多个读取门限进行比较。
6.如权利要求1-5之一所述的方法,其中每个比较结果都具有第一和第二可能值中的一个,并且其中计算软度量包括确定分别具有第一和第二可能值的比较结果所对应的第一和第二计数,以及根据所述第一和第二计数计算软度量。
7.如权利要求1-5之一所述的方法,包含,一旦解码ECC失败,增添一个或多个另加的读取门限到所述多个读取门限,根据另加的读取门限重新计算软度量,并使用重新计算的软度量解码ECC。
8.如权利要求7所述的方法,其中增添另加的门限包括渐进地增加多个读取门限直至达到一个预定的最大门限集个数。
9.如权利要求1-5之一所述的方法,其中从第一组模拟存储单元中读取数据进一步包括估计由第二组模拟存储单元对第一组所造成的干扰和消除所估计的干扰。
10.如权利要求9所述的方法,其中消除所估计的干扰包括根据所估计的干扰对第一组所关联的软度量进行修改。
11.如权利要求9所述的方法,包括,一旦第一组内的ECC解码失败,选择是否执行下列之一:
重新读取第二组中的数据,从而重新估计和消除干扰;
通过读取第三组存储单元中的数据重新估计干扰;
和
增添一个或多个另加的读取门限,使用另加的读取门限重新读取第一组中的数据。
12.如权利要求1-5之一所述的方法,其中计算软度量包括将软度量标准化以使不依赖于读取门限的数量。
13.如权利要求1-5之一所述的方法,其中执行多次读取操作包括设置以彼此不同的非均匀间隔间隔开的读取门限。
14.一种数据存储设备,包括:
一个接口,其可操作地与包含众多模拟存储单元的存储器进行通信;和
一个存储器信号处理器(MSP),其与该接口相连并被结合,用以通过将所述模拟存储单元编程为存储状态集的各个模拟输入值写入模拟存储单元,把数据存储在模拟存储单元中,所述数据以纠错码(ECC)编码;用以通过执行多次读取操作读取所存储的数据,所述读取操作将所述模拟存储单元的模拟输出值和各个不同的读取门限相比较,以对每个模拟存储单元生成多个比较结果,其中所述与每个存储状态相关联的模拟输出值位于各个模拟值区域中,其中模拟值区域被一个或多个边界区域分隔开,以及其中至少有两个读取门限被置于一对相邻的模拟值区域之间的边界区域中;在解码ECC之前,对每个模拟存储单元,用以基于通过使用所述多个不同的读取门限的所述多次读取操作所获得的多个比较结果计算软度量;和使用基于所述多个比较结果所计算出来的软度量解码ECC,从而提取被存储在模拟存储单元中的数据。
15.如权利要求14所述的设备,其中每个模拟存储单元存储该数据的一个或多个比特,并且其中每个软度量对应其中一个比特。
16.如权利要求15所述的设备,其中至少一些模拟存储单元中的每个模拟存储单元存储该数据的两个或多个比特,其中MSP被结合,用以分别在两个或多个解码阶段,读取两个或多个数据比特;以及用以根据在先于第一解码阶段的第二解码阶段读取的第二比特值,修改在第一解码阶段读取的第一比特的软度量。
17.如权利要求16所述的设备,其中MSP被结合以根据第二比特的值对第一比特的软度量进行条件反转。
18.如权利要求14所述的设备,其中MSP被结合,用以进行一次初始尝试:使用读取门限的初始集解码ECC,使初始集中不超过一个读取门限被置于任一给定的边界区域中,以及用以一旦初始尝试失败,将模拟输出值和多个读取门限进行比较。
19.如权利要求14-18之一所述的设备,其中每个比较结果都具有第一和第二可能值中的一个,并且其中计算软度量包括确定分别具有第一和第二可能值的比较结果所对应的第一和第二计数,以及根据所述第一和第二计数计算软度量。
20.如权利要求14-18之一所述的设备,其中,一旦解码ECC失败,所述MSP被结合,用以增添一个或多个另加的读取门限到所述多个读取门限;用以根据另加的读取门限重新计算软度量,以及使用重新计算的软度量解码ECC。
21.如权利要求20所述的设备,其中MSP被结合以渐进地增加多个读取门限直至达到一个预定的最大门限集个数。
22.如权利要求14-18之一所述的设备,其中MSP被结合以估计由第二组模拟存储单元对第一组所造成的干扰和消除所估计的干扰。
23.如权利要求22所述的设备,其中MSP被结合以根据所估计的干扰对第一组所关联的软度量进行修改。
24.如权利要求22所述的设备,其中,一旦第一组内的ECC解码失败,选择是否执行下列之一:
重新读取第二组中的数据,从而重新估计和消除干扰;
通过读取第三组存储单元中的数据重新估计干扰;
和
增添一个或多个另加的读取门限,使用另加的读取门限重新读取第一组中的数据。
25.如权利要求14-18之一所述的设备,其中MSP被结合用于标准化软度量使其不依赖于读取门限的数量。
26.如权利要求14-18之一所述的设备,其中MSP被结合用于设置以彼此不同的非均匀间隔间隔开的读取门限。
27.一种数据存储设备,包括:
一个存储器件,包括:
多个模拟存储单元,其被配置以存储数据,所述数据被以纠错码(ECC)编码且作为将所述模拟存储器单元编程为存储状态的各模拟输入值而被写入模拟存储单元;以及
读取电路,该电路被结合以通过执行多次读取操作读取所存储的数据,所述读取操作将所述模拟存储单元的模拟输出值和各个不同的读取门限相比较,以对每个模拟存储单元生成多个比较结果,其中所述与每个存储状态相关联的模拟输出值位于各个模拟值区域中,其中模拟值区域被一个或多个边界区域分隔开,以及其中至少有两个读取门限被置于一对相邻的模拟值区域之间的边界区域中;在解码ECC之前,对每个模拟存储单元,用以基于通过使用所述多个不同读取门限的所述多次读取操作所获得的多个比较结果计算软度量;和使用软度量解码ECC,以及输出计算出的软度量;和
一个存储器信号处理器(MSP)器件,其连接到存储器件并被结合用于接收读取电路基于所述多个读取结果所计算出来的软度量,以及使用软度量解码ECC。
28.一种操作存储器的方法,包括:
通过将各模拟输入值写入存储器的模拟存储单元,把数据存储在存储器的模拟存储单元中,所述数据以纠错码(ECC)编码;
通过将所述模拟存储单元的模拟输出值和读取门限集相比较读取存储的数据,从而为每个模拟存储单元生成多个比较结果;
根据多个比较结果计算软度量;和
使用软度量解码ECC,从而提取被存储在模拟存储单元中的数据;以及
一旦未能成功提取数据,通过增添一个或多个新的读取门限到读取门限集来扩展该集,根据扩展的读取门限集,更新多个比较结果,重新计算软软度量,并重新解码ECC,从而提取数据。
29.如权利要求28所述的方法,其中扩展读取门限集包括根据模拟存储单元的输出模拟值选择一个或多个新的读取门限。
30.如权利要求29所述的方法,其中选择一个或多个新的读取门限包括确定至少一个选自如下属性组的属性,所述属性组由所述多个新的读取门限和所述新的读取门限的值组成。
Applications Claiming Priority (19)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US86350606P | 2006-10-30 | 2006-10-30 | |
US60/863,506 | 2006-10-30 | ||
US86739906P | 2006-11-28 | 2006-11-28 | |
US60/867,399 | 2006-11-28 | ||
US88882807P | 2007-02-08 | 2007-02-08 | |
US60/888,828 | 2007-02-08 | ||
US88927707P | 2007-02-11 | 2007-02-11 | |
US60/889,277 | 2007-02-11 | ||
US89286907P | 2007-03-04 | 2007-03-04 | |
US60/892,869 | 2007-03-04 | ||
US89445607P | 2007-03-13 | 2007-03-13 | |
US60/894,456 | 2007-03-13 | ||
US91765307P | 2007-05-12 | 2007-05-12 | |
US60/917,653 | 2007-05-12 | ||
US95088407P | 2007-07-20 | 2007-07-20 | |
US60/950,884 | 2007-07-20 | ||
US95121507P | 2007-07-22 | 2007-07-22 | |
US60/951,215 | 2007-07-22 | ||
PCT/IL2007/001315 WO2008053472A2 (en) | 2006-10-30 | 2007-10-30 | Reading memory cells using multiple thresholds |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101601094A CN101601094A (zh) | 2009-12-09 |
CN101601094B true CN101601094B (zh) | 2013-03-27 |
Family
ID=39344693
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200780040493XA Active CN101601094B (zh) | 2006-10-30 | 2007-10-30 | 使用多个门限读取存储单元的方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US7821826B2 (zh) |
CN (1) | CN101601094B (zh) |
WO (1) | WO2008053473A2 (zh) |
Families Citing this family (165)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2007132457A2 (en) | 2006-05-12 | 2007-11-22 | Anobit Technologies Ltd. | Combined distortion estimation and error correction coding for memory devices |
US8239735B2 (en) | 2006-05-12 | 2012-08-07 | Apple Inc. | Memory Device with adaptive capacity |
WO2007132452A2 (en) | 2006-05-12 | 2007-11-22 | Anobit Technologies | Reducing programming error in memory devices |
WO2007132453A2 (en) | 2006-05-12 | 2007-11-22 | Anobit Technologies Ltd. | Distortion estimation and cancellation in memory devices |
WO2008026203A2 (en) | 2006-08-27 | 2008-03-06 | Anobit Technologies | Estimation of non-linear distortion in memory devices |
WO2008053473A2 (en) | 2006-10-30 | 2008-05-08 | Anobit Technologies Ltd. | Memory cell readout using successive approximation |
US7975192B2 (en) | 2006-10-30 | 2011-07-05 | Anobit Technologies Ltd. | Reading memory cells using multiple thresholds |
US7924648B2 (en) | 2006-11-28 | 2011-04-12 | Anobit Technologies Ltd. | Memory power and performance management |
WO2008068747A2 (en) | 2006-12-03 | 2008-06-12 | Anobit Technologies Ltd. | Automatic defect management in memory devices |
US7706182B2 (en) | 2006-12-03 | 2010-04-27 | Anobit Technologies Ltd. | Adaptive programming of analog memory cells using statistical characteristics |
US7900102B2 (en) | 2006-12-17 | 2011-03-01 | Anobit Technologies Ltd. | High-speed programming of memory devices |
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 |
US8369141B2 (en) | 2007-03-12 | 2013-02-05 | Apple Inc. | Adaptive estimation of memory cell read thresholds |
US8001320B2 (en) | 2007-04-22 | 2011-08-16 | Anobit Technologies Ltd. | Command interface for memory devices |
US8234545B2 (en) | 2007-05-12 | 2012-07-31 | Apple Inc. | Data storage with incremental redundancy |
WO2008139441A2 (en) | 2007-05-12 | 2008-11-20 | Anobit Technologies Ltd. | Memory device with internal signal processing unit |
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 |
US8174905B2 (en) | 2007-09-19 | 2012-05-08 | Anobit Technologies Ltd. | Programming orders for reducing distortion in arrays of multi-level analog memory cells |
US8650352B2 (en) * | 2007-09-20 | 2014-02-11 | Densbits Technologies Ltd. | Systems and methods for determining logical values of coupled flash memory cells |
WO2009095902A2 (en) | 2008-01-31 | 2009-08-06 | Densbits Technologies Ltd. | Systems and methods for handling immediate data errors in flash memory |
US7773413B2 (en) | 2007-10-08 | 2010-08-10 | Anobit Technologies Ltd. | Reliable data storage in analog memory cells in the presence of temperature variations |
US8527819B2 (en) | 2007-10-19 | 2013-09-03 | Apple Inc. | 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 |
US8694715B2 (en) * | 2007-10-22 | 2014-04-08 | Densbits Technologies Ltd. | Methods for adaptively programming flash memory devices and flash memory systems incorporating same |
WO2009053962A2 (en) * | 2007-10-22 | 2009-04-30 | Densbits Technologies Ltd. | Systems and methods for averaging error rates in non-volatile devices and storage systems |
US8443242B2 (en) * | 2007-10-25 | 2013-05-14 | Densbits Technologies Ltd. | Systems and methods for multiple coding rates in flash devices |
WO2009063450A2 (en) | 2007-11-13 | 2009-05-22 | Anobit Technologies | Optimized selection of memory units in multi-unit memory devices |
US8225181B2 (en) | 2007-11-30 | 2012-07-17 | Apple Inc. | Efficient re-read operations from memory devices |
WO2009072103A2 (en) | 2007-12-05 | 2009-06-11 | Densbits Technologies Ltd. | Flash memory apparatus and methods using a plurality of decoding stages including optional use of concatenated bch codes and/or designation of 'first below' cells |
WO2009072105A2 (en) * | 2007-12-05 | 2009-06-11 | Densbits Technologies Ltd. | A low power chien-search based bch/rs decoding system for flash memory, mobile communications devices and other applications |
WO2009072100A2 (en) | 2007-12-05 | 2009-06-11 | Densbits Technologies Ltd. | Systems and methods for temporarily retiring memory portions |
US8276051B2 (en) * | 2007-12-12 | 2012-09-25 | Densbits Technologies Ltd. | Chien-search system employing a clock-gating scheme to save power for error correction decoder and other applications |
WO2009074978A2 (en) * | 2007-12-12 | 2009-06-18 | Densbits Technologies Ltd. | Systems and methods for error correction and decoding on multi-level physical media |
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 |
US8327246B2 (en) * | 2007-12-18 | 2012-12-04 | Densbits Technologies Ltd. | Apparatus for coding at a plurality of rates in multi-level flash memory systems, and methods useful in conjunction therewith |
US8085586B2 (en) | 2007-12-27 | 2011-12-27 | Anobit Technologies Ltd. | Wear level estimation in analog memory cells |
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 |
US8059457B2 (en) | 2008-03-18 | 2011-11-15 | Anobit Technologies Ltd. | Memory device with multiple-accuracy read commands |
US8400858B2 (en) | 2008-03-18 | 2013-03-19 | Apple Inc. | Memory device with reduced sense time readout |
US8972472B2 (en) * | 2008-03-25 | 2015-03-03 | Densbits Technologies Ltd. | Apparatus and methods for hardware-efficient unbiased rounding |
US8144510B1 (en) * | 2008-03-27 | 2012-03-27 | Marvell International Ltd. | Method and system for programming multi-state memory |
US7995388B1 (en) | 2008-08-05 | 2011-08-09 | Anobit Technologies Ltd. | Data storage using modified voltages |
US7924613B1 (en) | 2008-08-05 | 2011-04-12 | Anobit Technologies Ltd. | Data storage in analog memory cells with protection against programming interruption |
US8332725B2 (en) * | 2008-08-20 | 2012-12-11 | Densbits Technologies Ltd. | Reprogramming non volatile memory portions |
US8949684B1 (en) | 2008-09-02 | 2015-02-03 | Apple Inc. | Segmented data storage |
US8169825B1 (en) | 2008-09-02 | 2012-05-01 | Anobit Technologies Ltd. | Reliable data storage in analog memory cells subjected to long retention periods |
US8000135B1 (en) | 2008-09-14 | 2011-08-16 | Anobit Technologies Ltd. | Estimation of memory cell read thresholds by sampling inside programming level distribution intervals |
US8482978B1 (en) | 2008-09-14 | 2013-07-09 | Apple Inc. | 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 |
US8713330B1 (en) | 2008-10-30 | 2014-04-29 | Apple Inc. | Data scrambling in 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 |
US8397131B1 (en) | 2008-12-31 | 2013-03-12 | Apple Inc. | Efficient readout schemes for analog memory cell devices |
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 |
US7929338B2 (en) * | 2009-02-24 | 2011-04-19 | International Business Machines Corporation | Memory reading method for resistance drift mitigation |
US8228701B2 (en) | 2009-03-01 | 2012-07-24 | Apple Inc. | Selective activation of programming schemes in analog memory cell arrays |
US8261158B2 (en) | 2009-03-13 | 2012-09-04 | Fusion-Io, Inc. | Apparatus, system, and method for using multi-level cell solid-state storage as single level cell solid-state storage |
US8266503B2 (en) | 2009-03-13 | 2012-09-11 | Fusion-Io | Apparatus, system, and method for using multi-level cell storage in a single-level cell mode |
US8832354B2 (en) | 2009-03-25 | 2014-09-09 | Apple Inc. | Use of host system resources by memory controller |
US8259506B1 (en) | 2009-03-25 | 2012-09-04 | Apple Inc. | Database of memory read thresholds |
US8819385B2 (en) * | 2009-04-06 | 2014-08-26 | Densbits Technologies Ltd. | Device and method for managing a flash memory |
US8458574B2 (en) * | 2009-04-06 | 2013-06-04 | Densbits Technologies Ltd. | Compact chien-search based decoding apparatus and method |
US8238157B1 (en) | 2009-04-12 | 2012-08-07 | Apple Inc. | Selective re-programming of analog memory cells |
US8566510B2 (en) * | 2009-05-12 | 2013-10-22 | Densbits Technologies Ltd. | Systems and method for flash memory management |
US8479080B1 (en) | 2009-07-12 | 2013-07-02 | Apple Inc. | Adaptive over-provisioning in memory systems |
US9330767B1 (en) | 2009-08-26 | 2016-05-03 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Flash memory module and method for programming a page of flash memory cells |
US8305812B2 (en) * | 2009-08-26 | 2012-11-06 | Densbits Technologies Ltd. | Flash memory module and method for programming a page of flash memory cells |
US8995197B1 (en) | 2009-08-26 | 2015-03-31 | Densbits Technologies Ltd. | System and methods for dynamic erase and program control for flash memory device memories |
US8868821B2 (en) * | 2009-08-26 | 2014-10-21 | Densbits Technologies Ltd. | Systems and methods for pre-equalization and code design for a flash memory |
US8730729B2 (en) | 2009-10-15 | 2014-05-20 | Densbits Technologies Ltd. | Systems and methods for averaging error rates in non-volatile devices and storage systems |
US8495465B1 (en) | 2009-10-15 | 2013-07-23 | Apple Inc. | Error correction coding over multiple memory pages |
US8724387B2 (en) * | 2009-10-22 | 2014-05-13 | Densbits Technologies Ltd. | Method, system, and computer readable medium for reading and programming flash memory cells using multiple bias voltages |
US8626988B2 (en) * | 2009-11-19 | 2014-01-07 | Densbits Technologies Ltd. | System and method for uncoded bit error rate equalization via interleaving |
TWI446350B (zh) | 2009-12-08 | 2014-07-21 | Silicon Motion Inc | 用來減少無法更正的錯誤之方法以及記憶裝置及其控制器 |
US8677054B1 (en) | 2009-12-16 | 2014-03-18 | Apple Inc. | Memory management schemes for non-volatile memory devices |
US9037777B2 (en) | 2009-12-22 | 2015-05-19 | Densbits Technologies Ltd. | Device, system, and method for reducing program/read disturb in flash arrays |
US8607124B2 (en) * | 2009-12-24 | 2013-12-10 | Densbits Technologies Ltd. | System and method for setting a flash memory cell read threshold |
US8694814B1 (en) | 2010-01-10 | 2014-04-08 | Apple Inc. | Reuse of host hibernation storage space by memory controller |
US8677203B1 (en) | 2010-01-11 | 2014-03-18 | Apple Inc. | Redundant data storage schemes for multi-die memory systems |
US8380915B2 (en) | 2010-01-27 | 2013-02-19 | Fusion-Io, Inc. | Apparatus, system, and method for managing solid-state storage media |
US8661184B2 (en) | 2010-01-27 | 2014-02-25 | Fusion-Io, Inc. | Managing non-volatile media |
US8315092B2 (en) | 2010-01-27 | 2012-11-20 | Fusion-Io, Inc. | Apparatus, system, and method for determining a read voltage threshold for solid-state storage media |
US8854882B2 (en) | 2010-01-27 | 2014-10-07 | Intelligent Intellectual Property Holdings 2 Llc | Configuring storage cells |
CN102141944B (zh) * | 2010-02-02 | 2012-12-12 | 慧荣科技股份有限公司 | 用来减少无法更正的错误的方法以及记忆装置及其控制器 |
US8700970B2 (en) * | 2010-02-28 | 2014-04-15 | Densbits Technologies Ltd. | System and method for multi-dimensional decoding |
US9245653B2 (en) | 2010-03-15 | 2016-01-26 | Intelligent Intellectual Property Holdings 2 Llc | Reduced level cell mode for non-volatile memory |
US8516274B2 (en) | 2010-04-06 | 2013-08-20 | Densbits Technologies Ltd. | Method, system and medium for analog encryption in a flash memory |
US8527840B2 (en) | 2010-04-06 | 2013-09-03 | Densbits Technologies Ltd. | System and method for restoring damaged data programmed on a flash device |
US8745317B2 (en) | 2010-04-07 | 2014-06-03 | Densbits Technologies Ltd. | System and method for storing information in a multi-level cell memory |
US8339873B1 (en) | 2010-04-27 | 2012-12-25 | Bruce Lee Morton | Memory device and method thereof |
US9099169B1 (en) | 2010-04-27 | 2015-08-04 | Tagmatech, Llc | Memory device and method thereof |
US9021177B2 (en) | 2010-04-29 | 2015-04-28 | Densbits Technologies Ltd. | System and method for allocating and using spare blocks in a flash memory |
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 |
US8539311B2 (en) | 2010-07-01 | 2013-09-17 | Densbits Technologies Ltd. | System and method for data recovery in multi-level cell memories |
US8468431B2 (en) | 2010-07-01 | 2013-06-18 | Densbits Technologies Ltd. | System and method for multi-dimensional encoding and decoding |
US8467249B2 (en) | 2010-07-06 | 2013-06-18 | Densbits Technologies Ltd. | Systems and methods for storing, retrieving, and adjusting read thresholds in flash memory storage system |
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 |
US8645794B1 (en) | 2010-07-31 | 2014-02-04 | Apple Inc. | Data storage in analog memory cells 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 |
US8493781B1 (en) | 2010-08-12 | 2013-07-23 | Apple Inc. | Interference mitigation using individual word line erasure operations |
US8694854B1 (en) | 2010-08-17 | 2014-04-08 | Apple Inc. | Read threshold setting based on soft readout statistics |
US8964464B2 (en) | 2010-08-24 | 2015-02-24 | Densbits Technologies Ltd. | System and method for accelerated sampling |
US8508995B2 (en) | 2010-09-15 | 2013-08-13 | Densbits Technologies Ltd. | System and method for adjusting read voltage thresholds in memories |
US9021181B1 (en) | 2010-09-27 | 2015-04-28 | Apple Inc. | Memory management for unifying memory cell conditions by using maximum time intervals |
US9063878B2 (en) | 2010-11-03 | 2015-06-23 | Densbits Technologies Ltd. | Method, system and computer readable medium for copy back |
US8850100B2 (en) | 2010-12-07 | 2014-09-30 | Densbits Technologies Ltd. | Interleaving codeword portions between multiple planes and/or dies of a flash memory device |
US10079068B2 (en) | 2011-02-23 | 2018-09-18 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Devices and method for wear estimation based memory management |
JP2012181761A (ja) * | 2011-03-02 | 2012-09-20 | Toshiba Corp | 半導体メモリ装置および復号方法 |
US8693258B2 (en) | 2011-03-17 | 2014-04-08 | Densbits Technologies Ltd. | Obtaining soft information using a hard interface |
US8990665B1 (en) | 2011-04-06 | 2015-03-24 | Densbits Technologies Ltd. | System, method and computer program product for joint search of a read threshold and soft decoding |
US9195592B1 (en) | 2011-05-12 | 2015-11-24 | Densbits Technologies Ltd. | Advanced management of a non-volatile memory |
US9501392B1 (en) | 2011-05-12 | 2016-11-22 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Management of a non-volatile memory module |
US8996790B1 (en) | 2011-05-12 | 2015-03-31 | Densbits Technologies Ltd. | System and method for flash memory management |
US9372792B1 (en) | 2011-05-12 | 2016-06-21 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Advanced management of a non-volatile memory |
US9110785B1 (en) | 2011-05-12 | 2015-08-18 | Densbits Technologies Ltd. | Ordered merge of data sectors that belong to memory space portions |
US9396106B2 (en) | 2011-05-12 | 2016-07-19 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Advanced management of a non-volatile memory |
US8667211B2 (en) | 2011-06-01 | 2014-03-04 | Densbits Technologies Ltd. | System and method for managing a non-volatile memory |
US8588003B1 (en) | 2011-08-01 | 2013-11-19 | Densbits Technologies Ltd. | System, method and computer program product for programming and for recovering from a power failure |
US8743605B2 (en) * | 2011-09-14 | 2014-06-03 | Apple Inc. | High-resolution readout of analog memory cells |
US8553468B2 (en) | 2011-09-21 | 2013-10-08 | Densbits Technologies Ltd. | System and method for managing erase operations in a non-volatile memory |
US8773904B2 (en) * | 2011-12-28 | 2014-07-08 | Apple Inc. | Optimized threshold search in analog memory cells |
US9269448B2 (en) | 2012-01-27 | 2016-02-23 | Sk Hynix Memory Solutions Inc. | Generating soft read values using multiple reads and/or bins |
US8947941B2 (en) | 2012-02-09 | 2015-02-03 | Densbits Technologies Ltd. | State responsive operations relating to flash memory cells |
US8996788B2 (en) | 2012-02-09 | 2015-03-31 | Densbits Technologies Ltd. | Configurable flash interface |
US8996793B1 (en) | 2012-04-24 | 2015-03-31 | Densbits Technologies Ltd. | System, method and computer readable medium for generating soft information |
US8838937B1 (en) | 2012-05-23 | 2014-09-16 | Densbits Technologies Ltd. | Methods, systems and computer readable medium for writing and reading data |
US8879325B1 (en) | 2012-05-30 | 2014-11-04 | Densbits Technologies Ltd. | System, method and computer program product for processing read threshold information and for reading a flash memory module |
US8804415B2 (en) | 2012-06-19 | 2014-08-12 | Fusion-Io, Inc. | Adaptive voltage range management in non-volatile memory |
US9921954B1 (en) | 2012-08-27 | 2018-03-20 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Method and system for split flash memory management between host and storage controller |
US9368225B1 (en) | 2012-11-21 | 2016-06-14 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Determining read thresholds based upon read error direction statistics |
US9069659B1 (en) | 2013-01-03 | 2015-06-30 | Densbits Technologies Ltd. | Read threshold determination using reference read threshold |
US9367391B2 (en) * | 2013-03-15 | 2016-06-14 | Micron Technology, Inc. | Error correction operations in a memory device |
US9136876B1 (en) | 2013-06-13 | 2015-09-15 | Densbits Technologies Ltd. | Size limited multi-dimensional decoding |
US9413491B1 (en) | 2013-10-08 | 2016-08-09 | Avago Technologies General Ip (Singapore) Pte. Ltd. | System and method for multiple dimension decoding and encoding a message |
US9348694B1 (en) | 2013-10-09 | 2016-05-24 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Detecting and managing bad columns |
US9786388B1 (en) | 2013-10-09 | 2017-10-10 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Detecting and managing bad columns |
US9397706B1 (en) | 2013-10-09 | 2016-07-19 | Avago Technologies General Ip (Singapore) Pte. Ltd. | System and method for irregular multiple dimension decoding and encoding |
US9536612B1 (en) | 2014-01-23 | 2017-01-03 | Avago Technologies General Ip (Singapore) Pte. Ltd | Digital signaling processing for three dimensional flash memory arrays |
US10120792B1 (en) | 2014-01-29 | 2018-11-06 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Programming an embedded flash storage device |
US9542262B1 (en) | 2014-05-29 | 2017-01-10 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Error correction |
US9892033B1 (en) | 2014-06-24 | 2018-02-13 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Management of memory units |
US9584159B1 (en) | 2014-07-03 | 2017-02-28 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Interleaved encoding |
US9972393B1 (en) | 2014-07-03 | 2018-05-15 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Accelerating programming of a flash memory module |
US9449702B1 (en) | 2014-07-08 | 2016-09-20 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Power management |
KR20160057186A (ko) * | 2014-11-13 | 2016-05-23 | 에스케이하이닉스 주식회사 | 반도체 메모리 시스템 및 그것의 동작 방법 |
US9524211B1 (en) | 2014-11-18 | 2016-12-20 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Codeword management |
US10305515B1 (en) | 2015-02-02 | 2019-05-28 | Avago Technologies International Sales Pte. Limited | System and method for encoding using multiple linear feedback shift registers |
US10628255B1 (en) | 2015-06-11 | 2020-04-21 | Avago Technologies International Sales Pte. Limited | Multi-dimensional decoding |
US9851921B1 (en) | 2015-07-05 | 2017-12-26 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Flash memory chip processing |
US9954558B1 (en) | 2016-03-03 | 2018-04-24 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Fast decoding of data stored in a flash memory |
CN105895156B (zh) * | 2016-03-30 | 2019-09-20 | 深圳忆联信息系统有限公司 | 一种信息处理方法及电子设备 |
US10636504B2 (en) * | 2017-10-31 | 2020-04-28 | Sandisk Technologies Llc | Read verify for improved soft bit information for non-volatile memories with residual resistance |
CN110119636B (zh) * | 2019-05-21 | 2020-12-08 | 浙江齐治科技股份有限公司 | 一种数字电路、数据存储方法及装置 |
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 |
CN117558307B (zh) * | 2024-01-11 | 2024-03-15 | 联和存储科技(江苏)有限公司 | 存储芯片的门限电压调节方法、装置、设备及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5657332A (en) * | 1992-05-20 | 1997-08-12 | Sandisk Corporation | Soft errors handling in EEPROM devices |
US7023735B2 (en) * | 2003-06-17 | 2006-04-04 | Ramot At Tel-Aviv University Ltd. | Methods of increasing the reliability of a flash memory |
Family Cites Families (317)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4910706A (en) | 1972-09-11 | 1990-03-20 | Hyatt Gilbert P | Analog memory for storing digital information |
US4556961A (en) | 1981-05-26 | 1985-12-03 | Tokyo Shibaura Denki Kabushiki Kaisha | Semiconductor memory with delay means to reduce peak currents |
JPS59106152A (ja) | 1982-12-10 | 1984-06-19 | Nec Corp | 半導体装置 |
EP0148488B1 (en) | 1983-12-23 | 1992-03-18 | Hitachi, Ltd. | Semiconductor memory having multiple level storage structure |
DE3587082T2 (de) | 1984-04-02 | 1993-06-03 | Univ Leland Stanford Junior | Speichersystem fuer analoge daten. |
JPS618796A (ja) | 1984-06-20 | 1986-01-16 | Nec Corp | ダイナミツクメモリ |
US4899342A (en) | 1988-02-01 | 1990-02-06 | Thinking Machines Corporation | Method and apparatus for operating multi-unit array of memories |
JPH01201736A (ja) | 1988-02-08 | 1989-08-14 | Mitsubishi Electric Corp | マイクロコンピュータ |
US5077722A (en) | 1989-01-06 | 1991-12-31 | Convex Computer Corporation | Disk drive insertion and removal interlock |
US4993029A (en) | 1989-03-13 | 1991-02-12 | International Business Machines Corporation | Method and apparatus for randomizing data in a direct access storage device |
US5276649A (en) | 1989-03-16 | 1994-01-04 | Mitsubishi Denki Kabushiki Kaisha | Dynamic-type semiconductor memory device having staggered activation of column groups |
EP0675502B1 (en) | 1989-04-13 | 2005-05-25 | SanDisk Corporation | Multiple sector erase flash EEPROM system |
US5172338B1 (en) | 1989-04-13 | 1997-07-08 | Sandisk Corp | Multi-state eeprom read and write circuits and techniques |
US5200959A (en) | 1989-10-17 | 1993-04-06 | Sundisk Corporation | Device and method for defect handling in semi-conductor memory |
US5218569A (en) | 1991-02-08 | 1993-06-08 | Banks Gerald J | Electrically alterable non-volatile memory with n-bits per memory cell |
US5272669A (en) | 1991-02-20 | 1993-12-21 | Sundisk Corporation | Method and structure for programming floating gate memory cells |
US5191584A (en) | 1991-02-20 | 1993-03-02 | Micropolis Corporation | Mass storage array with efficient parity calculation |
GB2256735B (en) | 1991-06-12 | 1995-06-21 | Intel Corp | Non-volatile disk cache |
US6230233B1 (en) | 1991-09-13 | 2001-05-08 | Sandisk Corporation | Wear leveling techniques for flash EEPROM systems |
US5237535A (en) | 1991-10-09 | 1993-08-17 | Intel Corporation | Method of repairing overerased cells in a flash memory |
US5388064A (en) | 1991-11-26 | 1995-02-07 | Information Storage Devices, Inc. | Programmable non-volatile analog voltage source devices and methods |
US6222762B1 (en) | 1992-01-14 | 2001-04-24 | Sandisk Corporation | Multi-state memory |
US5479170A (en) | 1992-10-16 | 1995-12-26 | California Institute Of Technology | Method and apparatus for long-term multi-valued storage in dynamic analog memory |
US5416782A (en) | 1992-10-30 | 1995-05-16 | Intel Corporation | Method and apparatus for improving data failure rate testing for memory arrays |
US5473753A (en) | 1992-10-30 | 1995-12-05 | Intel Corporation | Method of managing defects in flash disk memories |
US5761402A (en) | 1993-03-08 | 1998-06-02 | Hitachi, Ltd. | Array type disk system updating redundant data asynchronously with data access |
US5784377A (en) | 1993-03-09 | 1998-07-21 | Hubbell Incorporated | Integrated digital loop carrier system with virtual tributary mapper circuit |
US6091639A (en) | 1993-08-27 | 2000-07-18 | Kabushiki Kaisha Toshiba | Non-volatile semiconductor memory device and data programming method |
GB2289779B (en) | 1994-05-24 | 1999-04-28 | Intel Corp | Method and apparatus for automatically scrubbing ECC errors in memory via hardware |
US5583889A (en) | 1994-07-08 | 1996-12-10 | Zenith Electronics Corporation | Trellis coded modulation system for HDTV |
JPH0877694A (ja) | 1994-09-05 | 1996-03-22 | Yamaha Corp | 操作子装置 |
US5508958A (en) | 1994-09-29 | 1996-04-16 | Intel Corporation | Method and apparatus for sensing the state of floating gate memory cells by applying a variable gate voltage |
EP0709776B1 (en) | 1994-10-31 | 2000-02-23 | STMicroelectronics S.r.l. | Method for detecting and correcting an error in a multilevel memory and memory device implementing the method |
US5541886A (en) | 1994-12-27 | 1996-07-30 | Intel Corporation | Method and apparatus for storing control information in multi-bit non-volatile memory arrays |
US5838832A (en) | 1995-04-03 | 1998-11-17 | Iterated Systems, Inc. | Method and system for representing a data set with a data transforming function and data mask |
JP3807744B2 (ja) | 1995-06-07 | 2006-08-09 | マクロニクス インターナショナル カンパニイ リミテッド | 可変プログラムパルス高及びパルス幅によるページモードフラッシュメモリ用自動プログラミングアルゴリズム |
US5860106A (en) | 1995-07-13 | 1999-01-12 | Intel Corporation | Method and apparatus for dynamically adjusting power/performance characteristics of a memory subsystem |
US5801985A (en) | 1995-07-28 | 1998-09-01 | Micron Technology, Inc. | Memory system having programmable control parameters |
KR0169412B1 (ko) | 1995-10-16 | 1999-02-01 | 김광호 | 불휘발성 반도체 메모리 장치 |
US5742752A (en) | 1995-12-29 | 1998-04-21 | Symbios Logic Inc. | Method for performing a RAID stripe write operation using a drive XOR command set |
US5675540A (en) | 1996-01-22 | 1997-10-07 | Micron Quantum Devices, Inc. | Non-volatile memory system having internal data verification test mode |
US6073204A (en) | 1997-04-23 | 2000-06-06 | Micron Technology, Inc. | Memory system having flexible architecture and method |
US5815439A (en) | 1996-04-30 | 1998-09-29 | Agate Semiconductor, Inc. | Stabilization circuits and techniques for storage and retrieval of single or multiple digital bits per memory cell |
US6134631A (en) | 1996-08-19 | 2000-10-17 | Hyundai Electronics America, Inc. | Non-volatile memory with embedded programmable controller |
US5864569A (en) | 1996-10-18 | 1999-01-26 | Micron Technology, Inc. | Method and apparatus for performing error correction on data read from a multistate memory |
WO1998028745A1 (en) | 1996-12-20 | 1998-07-02 | Intel Corporation | Nonvolatile writeable memory with fast programming capability |
US6279069B1 (en) | 1996-12-26 | 2001-08-21 | Intel Corporation | Interface for flash EEPROM memory arrays |
KR100213094B1 (ko) | 1997-02-21 | 1999-08-02 | 윤종용 | 영상 개선장치를 위한 히스토그램 및 cdf 추출방법 및 그 회로 |
KR100323554B1 (ko) | 1997-05-14 | 2002-03-08 | 니시무로 타이죠 | 불휘발성반도체메모리장치 |
US5912906A (en) | 1997-06-23 | 1999-06-15 | Sun Microsystems, Inc. | Method and apparatus for recovering from correctable ECC errors |
US6212654B1 (en) | 1997-07-22 | 2001-04-03 | Lucent Technologies Inc. | Coded modulation for digital storage in analog memory devices |
US5930167A (en) | 1997-07-30 | 1999-07-27 | Sandisk Corporation | Multi-state non-volatile flash memory capable of being its own two state write cache |
US6360346B1 (en) | 1997-08-27 | 2002-03-19 | Sony Corporation | Storage unit, method of checking storage unit, reading and writing method |
US5909449A (en) | 1997-09-08 | 1999-06-01 | Invox Technology | Multibit-per-cell non-volatile memory with error detection and correction |
US6041430A (en) | 1997-11-03 | 2000-03-21 | Sun Microsystems, Inc. | Error detection and correction code for data and check code fields |
US5867429A (en) | 1997-11-19 | 1999-02-02 | Sandisk Corporation | High density non-volatile flash memory without adverse effects of electric field coupling between adjacent floating gates |
US6442585B1 (en) | 1997-11-26 | 2002-08-27 | Compaq Computer Corporation | Method for scheduling contexts based on statistics of memory system interactions in a computer system |
US6034891A (en) | 1997-12-01 | 2000-03-07 | Micron Technology, Inc. | Multi-state flash memory defect management |
US6467062B1 (en) | 1997-12-10 | 2002-10-15 | Mordecai Barkan | Digital data (multi-bit) storage with discrete analog memory cells |
US6040993A (en) | 1998-02-23 | 2000-03-21 | Macronix International Co., Ltd. | Method for programming an analog/multi-level flash EEPROM |
US6026042A (en) | 1998-04-10 | 2000-02-15 | Micron Technology, Inc. | Method and apparatus for enhancing the performance of semiconductor memory devices |
US6397364B1 (en) | 1998-04-20 | 2002-05-28 | Mordecai Barkan | Digital data representation for multi-bit data storage and transmission |
US6009014A (en) | 1998-06-03 | 1999-12-28 | Advanced Micro Devices, Inc. | Erase verify scheme for NAND flash |
US6208542B1 (en) | 1998-06-30 | 2001-03-27 | Sandisk Corporation | Techniques for storing digital data in an analog or multilevel memory |
US6490200B2 (en) | 2000-03-27 | 2002-12-03 | Sandisk Corporation | Non-volatile memory with improved sensing and method therefor |
JP2000173289A (ja) | 1998-12-10 | 2000-06-23 | Toshiba Corp | エラー訂正可能なフラッシュメモリシステム |
US6956779B2 (en) | 1999-01-14 | 2005-10-18 | Silicon Storage Technology, Inc. | Multistage autozero sensing for a multilevel non-volatile memory integrated circuit system |
US6282145B1 (en) | 1999-01-14 | 2001-08-28 | Silicon Storage Technology, Inc. | Array architecture and operating methods for digital multilevel nonvolatile memory integrated circuit system |
US7031214B2 (en) | 1999-01-14 | 2006-04-18 | Silicon Storage Technology, Inc. | Digital multilevel memory system having multistage autozero sensing |
US6975539B2 (en) | 1999-01-14 | 2005-12-13 | Silicon Storage Technology, Inc. | Digital multilevel non-volatile memory system |
US6405323B1 (en) | 1999-03-30 | 2002-06-11 | Silicon Storage Technology, Inc. | Defect management for interface to electrically-erasable programmable read-only memory |
JP3620992B2 (ja) | 1999-04-23 | 2005-02-16 | 株式会社 沖マイクロデザイン | 半導体記憶装置 |
US6166962A (en) | 1999-06-24 | 2000-12-26 | Amic Technology, Inc. | Circuit and method for conditioning flash memory array |
US6708257B2 (en) | 1999-07-12 | 2004-03-16 | Koninklijke Philips Electronics N.V. | Buffering system bus for external-memory access |
ES2293916T3 (es) | 1999-07-28 | 2008-04-01 | Sony Corporation | Sistema de registro, dispositivo de registro de datos, dispositivo de memoria, y metodo de registro de datos. |
JP3888808B2 (ja) | 1999-08-16 | 2007-03-07 | 富士通株式会社 | Nand型不揮発性メモリ |
US6141261A (en) | 1999-12-31 | 2000-10-31 | Patti; Robert | DRAM that stores multiple bits per storage cell |
US6304486B1 (en) | 1999-12-20 | 2001-10-16 | Fujitsu Limited | Sensing time control device and method |
JP2001184881A (ja) | 1999-12-28 | 2001-07-06 | Toshiba Corp | 不揮発性半導体メモリの読み出し回路 |
US6532556B1 (en) | 2000-01-27 | 2003-03-11 | Multi Level Memory Technology | Data management for multi-bit-per-cell memories |
US6363008B1 (en) | 2000-02-17 | 2002-03-26 | Multi Level Memory Technology | Multi-bit-cell non-volatile memory with maximized data capacity |
US6219276B1 (en) | 2000-02-25 | 2001-04-17 | Advanced Micro Devices, Inc. | Multilevel cell programming |
US6615307B1 (en) | 2000-05-10 | 2003-09-02 | Micron Technology, Inc. | Flash with consistent latency for read operations |
US6774808B1 (en) | 2000-05-17 | 2004-08-10 | Dell Products L.P. | Electromechanical lock for components |
US6292394B1 (en) | 2000-06-29 | 2001-09-18 | Saifun Semiconductors Ltd. | Method for programming of a semiconductor memory cell |
US7065147B2 (en) | 2000-07-12 | 2006-06-20 | Texas Instruments Incorporated | System and method of data communication using turbo trellis coded modulation combined with constellation shaping with or without precoding |
JP2002042495A (ja) | 2000-07-21 | 2002-02-08 | Mitsubishi Electric Corp | 冗長救済回路、方法および半導体装置 |
US6396742B1 (en) | 2000-07-28 | 2002-05-28 | Silicon Storage Technology, Inc. | Testing of multilevel semiconductor memory |
US6301151B1 (en) | 2000-08-09 | 2001-10-09 | Information Storage Devices, Inc. | Adaptive programming method and apparatus for flash memory analog storage |
US7113432B2 (en) | 2000-09-14 | 2006-09-26 | Sandisk Corporation | Compressed event counting technique and application to a flash memory system |
US6538922B1 (en) | 2000-09-27 | 2003-03-25 | Sandisk Corporation | Writable tracking cells |
US7107480B1 (en) | 2000-12-22 | 2006-09-12 | Simpletech, Inc. | System and method for preventing data corruption in solid-state memory devices after a power failure |
US6349056B1 (en) | 2000-12-28 | 2002-02-19 | Sandisk Corporation | Method and structure for efficient data verification operation for non-volatile memories |
US6469931B1 (en) | 2001-01-04 | 2002-10-22 | M-Systems Flash Disk Pioneers Ltd. | Method for increasing information content in a computer memory |
US6687155B2 (en) | 2001-01-11 | 2004-02-03 | Oki Electric Industry Co., Ltd. | Analog storage semiconductor memory that uses plural write voltages and plural read voltages having different voltage levels |
US6466476B1 (en) | 2001-01-18 | 2002-10-15 | Multi Level Memory Technology | Data coding for multi-bit-per-cell memories having variable numbers of bits per memory cell |
US20020161850A1 (en) | 2001-01-29 | 2002-10-31 | Ulrich Thomas R. | Data path accelerator for storage systems |
US6738289B2 (en) | 2001-02-26 | 2004-05-18 | Sandisk Corporation | Non-volatile memory with improved programming and method therefor |
CA2442922A1 (en) | 2001-04-04 | 2002-10-17 | Quellan, Inc. | Method and system for decoding multilevel signals |
US6757193B2 (en) | 2001-05-31 | 2004-06-29 | Macronix International Co., Ltd. | Coding method of multi-level memory cell |
US6731557B2 (en) | 2001-06-21 | 2004-05-04 | Stmicroelectronics S.R.L. | Method of refreshing an electrically erasable and programmable non-volatile memory |
US6522580B2 (en) | 2001-06-27 | 2003-02-18 | Sandisk Corporation | Operating techniques for reducing effects of coupling between storage elements of a non-volatile memory operated in multiple data states |
US7170802B2 (en) | 2003-12-31 | 2007-01-30 | Sandisk Corporation | Flexible and area efficient column redundancy for non-volatile memories |
US6456528B1 (en) | 2001-09-17 | 2002-09-24 | Sandisk Corporation | Selective operation of a multi-state non-volatile memory system in a binary mode |
US6717847B2 (en) | 2001-09-17 | 2004-04-06 | Sandisk Corporation | Selective operation of a multi-state non-volatile memory system in a binary mode |
US6643169B2 (en) | 2001-09-18 | 2003-11-04 | Intel Corporation | Variable level memory |
US6560152B1 (en) | 2001-11-02 | 2003-05-06 | Sandisk Corporation | Non-volatile memory with temperature-compensated data read |
US6678192B2 (en) | 2001-11-02 | 2004-01-13 | Sandisk Corporation | Error management for writable tracking storage units |
US7139325B1 (en) | 2001-12-07 | 2006-11-21 | Applied Micro Circuits Corporation | System and method for five-level non-causal channel equalization |
US6870770B2 (en) | 2001-12-12 | 2005-03-22 | Micron Technology, Inc. | Method and architecture to calibrate read operations in synchronous flash memory |
US6907497B2 (en) | 2001-12-20 | 2005-06-14 | Kabushiki Kaisha Toshiba | Non-volatile semiconductor memory device |
US6418060B1 (en) | 2002-01-03 | 2002-07-09 | Ememory Technology Inc. | Method of programming and erasing non-volatile memory cells |
US6542407B1 (en) | 2002-01-18 | 2003-04-01 | Sandisk Corporation | Techniques of recovering data from memory cells affected by field coupling with adjacent memory cells |
US6621739B2 (en) | 2002-01-18 | 2003-09-16 | Sandisk Corporation | Reducing the effects of noise in non-volatile memories through multiple reads |
US6851018B2 (en) | 2002-03-27 | 2005-02-01 | Hewlett-Packard Development Company, L.P. | Exchanging operation parameters between a data storage device and a controller |
KR100476888B1 (ko) | 2002-04-04 | 2005-03-17 | 삼성전자주식회사 | 온도보상기능을 가진 멀티비트 플래쉬메모리 |
US6707748B2 (en) | 2002-05-07 | 2004-03-16 | Ritek Corporation | Back up power embodied non-volatile memory device |
US6751766B2 (en) | 2002-05-20 | 2004-06-15 | Sandisk Corporation | Increasing the effectiveness of error correction codes and operating multi-level memory systems by using information about the quality of the stored data |
FR2842344A1 (fr) | 2002-07-11 | 2004-01-16 | St Microelectronics Sa | Procede de commande d'une memoire electronique non volatile et dispositif associe |
US6941412B2 (en) | 2002-08-29 | 2005-09-06 | Sandisk Corporation | Symbol frequency leveling in a storage system |
US6781877B2 (en) | 2002-09-06 | 2004-08-24 | Sandisk Corporation | Techniques for reducing effects of coupling between storage elements of adjacent rows of memory cells |
US6987693B2 (en) | 2002-09-24 | 2006-01-17 | Sandisk Corporation | Non-volatile memory and method with reduced neighboring field errors |
US8412879B2 (en) | 2002-10-28 | 2013-04-02 | Sandisk Technologies Inc. | Hybrid implementation for error correction codes within a non-volatile memory system |
US20040083334A1 (en) | 2002-10-28 | 2004-04-29 | Sandisk Corporation | Method and apparatus for managing the integrity of data in non-volatile memory system |
US6992932B2 (en) | 2002-10-29 | 2006-01-31 | Saifun Semiconductors Ltd | Method circuit and system for read error detection in a non-volatile memory array |
US6963505B2 (en) | 2002-10-29 | 2005-11-08 | Aifun Semiconductors Ltd. | Method circuit and system for determining a reference voltage |
US7073103B2 (en) | 2002-12-05 | 2006-07-04 | Sandisk Corporation | Smart verify for multi-state memories |
US6882567B1 (en) | 2002-12-06 | 2005-04-19 | Multi Level Memory Technology | Parallel programming of multiple-bit-per-cell memory cells on a continuous word line |
US6829167B2 (en) | 2002-12-12 | 2004-12-07 | Sandisk Corporation | Error recovery for nonvolatile memory |
US6836435B2 (en) | 2002-12-13 | 2004-12-28 | Freescale Semiconductor, Inc. | Compaction scheme in NVM |
DE10300781B4 (de) | 2003-01-11 | 2014-02-06 | Qimonda Ag | Speicherbaustein, Testsystem und Verfahren zum Testen eines oder mehrerer Speicherbausteine |
JP2004253038A (ja) | 2003-02-19 | 2004-09-09 | Renesas Technology Corp | 半導体記憶装置 |
CN100446255C (zh) | 2003-03-19 | 2008-12-24 | 富士通微电子株式会社 | 半导体装置 |
US7002821B2 (en) | 2003-04-11 | 2006-02-21 | Gerpheide George E | Zero drift analog memory cell, array and method of operation |
CN100394571C (zh) | 2003-05-20 | 2008-06-11 | 富士通株式会社 | Lsi插件及lsi元件的试验方法和半导体器件的制造方法 |
US6845052B1 (en) | 2003-05-30 | 2005-01-18 | Macronix International Co., Ltd. | Dual reference cell sensing scheme for non-volatile memory |
US7254690B2 (en) | 2003-06-02 | 2007-08-07 | S. Aqua Semiconductor Llc | Pipelined semiconductor memories and systems |
US7372731B2 (en) | 2003-06-17 | 2008-05-13 | Sandisk Il Ltd. | Flash memories with adaptive reference voltages |
US6988175B2 (en) | 2003-06-30 | 2006-01-17 | M-Systems Flash Disk Pioneers Ltd. | Flash memory management method that is resistant to data corruption by power loss |
US6903972B2 (en) | 2003-07-30 | 2005-06-07 | M-Systems Flash Disk Pioneers Ltd. | Different methods applied for archiving data according to their desired lifetime |
KR100963855B1 (ko) | 2003-07-30 | 2010-06-16 | 샌디스크 아이엘 엘티디 | 불휘발성 메모리 디바이스에서 프로그래밍 데이터의 신뢰성및 성능을 최적화하는 방법 및 시스템 |
US7197594B2 (en) | 2003-09-23 | 2007-03-27 | Infineon Technologies Flash Gmbh & Co. Kg | Circuit, system and method for encoding data to be stored on a non-volatile memory array |
US7057958B2 (en) | 2003-09-30 | 2006-06-06 | Sandisk Corporation | Method and system for temperature compensation for memory cells with temperature-dependent behavior |
US7012835B2 (en) | 2003-10-03 | 2006-03-14 | Sandisk Corporation | Flash memory data correction and scrub techniques |
US7356755B2 (en) | 2003-10-16 | 2008-04-08 | Intel Corporation | Error correction for multi-level cell memory with overwrite capability |
US7177199B2 (en) | 2003-10-20 | 2007-02-13 | Sandisk Corporation | Behavior based programming of non-volatile memory |
US7301807B2 (en) | 2003-10-23 | 2007-11-27 | Sandisk Corporation | Writable tracking cells |
KR100542701B1 (ko) | 2003-11-18 | 2006-01-11 | 주식회사 하이닉스반도체 | 낸드 플래시 메모리 소자의 문턱전압 측정 방법 |
US20090204872A1 (en) | 2003-12-02 | 2009-08-13 | Super Talent Electronics Inc. | Command Queuing Smart Storage Transfer Manager for Striping Data to Raw-NAND Flash Modules |
JP4319532B2 (ja) | 2003-12-03 | 2009-08-26 | 富士フイルム株式会社 | 帯状体の加熱方法および帯状体加熱装置 |
KR100646940B1 (ko) | 2003-12-15 | 2006-11-17 | 주식회사 하이닉스반도체 | 낮은 첨두 전류치를 가지는 리프레시 제어기 |
US7363420B2 (en) | 2003-12-15 | 2008-04-22 | Nortel Networks Limited | Method and file structures for managing data on a flash disk |
US7657706B2 (en) | 2003-12-18 | 2010-02-02 | Cisco Technology, Inc. | High speed memory and input/output processor subsystem for efficiently allocating and using high-speed memory and slower-speed memory |
US7372730B2 (en) | 2004-01-26 | 2008-05-13 | Sandisk Corporation | Method of reading NAND memory to compensate for coupling between storage elements |
US7002843B2 (en) | 2004-01-27 | 2006-02-21 | Sandisk Corporation | Variable current sinking for coarse/fine programming of non-volatile memory |
US7139198B2 (en) | 2004-01-27 | 2006-11-21 | Sandisk Corporation | Efficient verification for coarse/fine programming of non-volatile memory |
US7068539B2 (en) | 2004-01-27 | 2006-06-27 | Sandisk Corporation | Charge packet metering for coarse/fine programming of non-volatile memory |
US7177200B2 (en) | 2004-02-10 | 2007-02-13 | Msystems Ltd. | Two-phase programming of a flash memory |
US7716413B2 (en) | 2004-02-15 | 2010-05-11 | Sandisk Il Ltd. | Method of making a multi-bit-cell flash memory |
US20050213393A1 (en) | 2004-03-14 | 2005-09-29 | M-Systems Flash Disk Pioneers, Ltd. | States encoding in multi-bit flash cells for optimizing error rate |
US7020017B2 (en) | 2004-04-06 | 2006-03-28 | Sandisk Corporation | Variable programming of non-volatile memory |
US7325090B2 (en) | 2004-04-29 | 2008-01-29 | Sandisk Il Ltd. | Refreshing data stored in a flash memory |
US7849382B2 (en) | 2004-05-19 | 2010-12-07 | Panasonic Corporation | Memory control circuit, nonvolatile storage apparatus, and memory control method |
US7231474B1 (en) | 2004-06-01 | 2007-06-12 | Advanced Micro Devices, Inc. | Serial interface having a read temperature command |
KR100546415B1 (ko) | 2004-06-25 | 2006-01-26 | 삼성전자주식회사 | 메모리 장치의 파워 노이즈를 방지하는 직렬 웨이크 업 회로 |
US7817469B2 (en) | 2004-07-26 | 2010-10-19 | Sandisk Il Ltd. | Drift compensation in a flash memory |
US7180775B2 (en) | 2004-08-05 | 2007-02-20 | Msystems Ltd. | Different numbers of bits per cell in non-volatile memory devices |
US7200062B2 (en) | 2004-08-31 | 2007-04-03 | Micron Technology, Inc. | Method and system for reducing the peak current in refreshing dynamic random access memory devices |
US7493457B2 (en) | 2004-11-08 | 2009-02-17 | Sandisk Il. Ltd | States encoding in multi-bit flash cells for optimizing error rate |
JP4410188B2 (ja) | 2004-11-12 | 2010-02-03 | 株式会社東芝 | 半導体記憶装置のデータ書き込み方法 |
KR100694418B1 (ko) | 2004-11-15 | 2007-03-12 | 주식회사 하이닉스반도체 | 메모리 장치의 병렬 압축 테스트 회로 |
US7441067B2 (en) | 2004-11-15 | 2008-10-21 | Sandisk Corporation | Cyclic flash memory wear leveling |
US7173859B2 (en) | 2004-11-16 | 2007-02-06 | Sandisk Corporation | Faster programming of higher level states in multi-level cell flash memory |
US7120051B2 (en) | 2004-12-14 | 2006-10-10 | Sandisk Corporation | Pipelined programming of non-volatile memories using early data |
US7420847B2 (en) | 2004-12-14 | 2008-09-02 | Sandisk Corporation | Multi-state memory having data recovery after program fail |
KR100664933B1 (ko) | 2004-12-15 | 2007-01-04 | 삼성전자주식회사 | 비휘발성 저장장치에 멀티미디어 데이터를 블록 단위로저장하는 방법 및 장치 |
US7849381B2 (en) | 2004-12-21 | 2010-12-07 | Sandisk Corporation | Method for copying data in reprogrammable non-volatile memory |
US7409473B2 (en) | 2004-12-21 | 2008-08-05 | Sandisk Corporation | Off-chip data relocation |
US7437653B2 (en) | 2004-12-22 | 2008-10-14 | Sandisk Corporation | Erased sector detection mechanisms |
US7308525B2 (en) | 2005-01-10 | 2007-12-11 | Sandisk Il Ltd. | Method of managing a multi-bit cell flash memory with improved reliablility and performance |
US7130210B2 (en) | 2005-01-13 | 2006-10-31 | Spansion Llc | Multi-level ONO flash program algorithm for threshold width control |
US7421598B2 (en) | 2005-02-09 | 2008-09-02 | International Business Machines Corporation | Dynamic power management via DIMM read operation limiter |
US7221592B2 (en) | 2005-02-25 | 2007-05-22 | Micron Technology, Inc. | Multiple level programming in a non-volatile memory device |
US7224604B2 (en) | 2005-03-14 | 2007-05-29 | Sandisk Il Ltd. | Method of achieving wear leveling in flash memory using relative grades |
US7627712B2 (en) | 2005-03-22 | 2009-12-01 | Sigmatel, Inc. | Method and system for managing multi-plane memory devices |
US7486564B2 (en) | 2005-03-31 | 2009-02-03 | Sandisk Corporation | Soft programming non-volatile memory utilizing individual verification and additional soft programming of subsets of memory cells |
US7196928B2 (en) | 2005-04-05 | 2007-03-27 | Sandisk Corporation | Compensating for coupling during read operations of non-volatile memory |
US7196946B2 (en) | 2005-04-05 | 2007-03-27 | Sandisk Corporation | Compensating for coupling in non-volatile storage |
KR100754894B1 (ko) | 2005-04-20 | 2007-09-04 | 삼성전자주식회사 | 더미 메모리 셀을 가지는 낸드 플래시 메모리 장치 |
US7370261B2 (en) | 2005-05-09 | 2008-05-06 | International Business Machines Corporation | Convolution-encoded raid with trellis-decode-rebuild |
US7269066B2 (en) | 2005-05-11 | 2007-09-11 | Micron Technology, Inc. | Programming memory devices |
US7793037B2 (en) | 2005-05-31 | 2010-09-07 | Intel Corporation | Partial page scheme for memory technologies |
ITRM20050310A1 (it) | 2005-06-15 | 2006-12-16 | Micron Technology Inc | Convergenza a programmazione selettiva lenta in un dispositivo di memoria flash. |
US7239557B2 (en) | 2005-06-17 | 2007-07-03 | Micron Technology, Inc. | Program method with optimized voltage level for flash memory |
US7193898B2 (en) | 2005-06-20 | 2007-03-20 | Sandisk Corporation | Compensation currents in non-volatile memory read operations |
KR100719368B1 (ko) | 2005-06-27 | 2007-05-17 | 삼성전자주식회사 | 플래시 메모리 장치의 적응적 프로그램 방법 및 장치 |
KR100694968B1 (ko) | 2005-06-30 | 2007-03-14 | 주식회사 하이닉스반도체 | 비휘발성 메모리 장치와 그것의 멀티-페이지 프로그램,독출 및 카피백 프로그램 방법 |
KR100609621B1 (ko) | 2005-07-19 | 2006-08-08 | 삼성전자주식회사 | 메모리 블락별로 레이턴시 제어가 가능한 동기식 반도체메모리 장치 |
US7502921B2 (en) | 2005-08-02 | 2009-03-10 | Sandisk Corporation | Situation sensitive memory performance |
JP2007059024A (ja) | 2005-08-26 | 2007-03-08 | Micron Technol Inc | 温度補償された読み出し・検証動作をフラッシュ・メモリにおいて生成するための方法及び装置 |
US7292476B2 (en) | 2005-08-31 | 2007-11-06 | Micron Technology, Inc. | Programming method for NAND EEPROM |
US7853749B2 (en) | 2005-09-01 | 2010-12-14 | Cypress Semiconductor Corporation | Flash drive fast wear leveling |
US7752382B2 (en) | 2005-09-09 | 2010-07-06 | Sandisk Il Ltd | Flash memory storage system and method |
KR100705220B1 (ko) | 2005-09-15 | 2007-04-06 | 주식회사 하이닉스반도체 | 프로그램 속도를 증가시키기 위한 플래시 메모리 장치의소거 및 프로그램 방법 |
JP4410178B2 (ja) | 2005-09-22 | 2010-02-03 | 富士通株式会社 | Raid装置におけるライトバック方法 |
US7631245B2 (en) | 2005-09-26 | 2009-12-08 | Sandisk Il Ltd. | NAND flash memory controller exporting a NAND interface |
US7681109B2 (en) | 2005-10-13 | 2010-03-16 | Ramot At Tel Aviv University Ltd. | Method of error correction in MBC flash memory |
US7529905B2 (en) | 2005-10-13 | 2009-05-05 | Sandisk Corporation | Method of storing transformed units of data in a memory system having fixed sized storage blocks |
ATE534999T1 (de) | 2005-10-17 | 2011-12-15 | Univ Ramot | Probabilistische fehlerkorrektur in einem mehrbit-pro-zelle-flash-speicher |
US7526715B2 (en) | 2005-10-17 | 2009-04-28 | Ramot At Tel Aviv University Ltd. | Probabilistic error correction in multi-bit-per-cell flash memory |
KR100660544B1 (ko) | 2005-10-25 | 2006-12-22 | 삼성전자주식회사 | 신뢰성을 향상시킬 수 있는 플래시 메모리 장치 |
US7954037B2 (en) | 2005-10-25 | 2011-05-31 | Sandisk Il Ltd | Method for recovering from errors in flash memory |
US7379330B2 (en) | 2005-11-08 | 2008-05-27 | Sandisk Corporation | Retargetable memory cell redundancy methods |
US7289344B2 (en) | 2005-11-10 | 2007-10-30 | Sandisk Corporation | Reverse coupling effect with timing information for non-volatile memory |
US7739472B2 (en) | 2005-11-22 | 2010-06-15 | Sandisk Corporation | Memory system for legacy hosts |
US7497181B2 (en) | 2005-11-30 | 2009-03-03 | Autotether, Inc | Sailboat safety system for a person falling overboard |
US20070143531A1 (en) | 2005-12-15 | 2007-06-21 | Atri Sunil R | Power loss recovery for bit alterable memory |
US20070143378A1 (en) | 2005-12-21 | 2007-06-21 | Gorobets Sergey A | Non-volatile memories with adaptive file handling in a directly mapped file storage system |
US7349260B2 (en) | 2005-12-29 | 2008-03-25 | Sandisk Corporation | Alternate row-based reading and writing for non-volatile memory |
US7310255B2 (en) | 2005-12-29 | 2007-12-18 | Sandisk Corporation | Non-volatile memory with improved program-verify operations |
KR100684907B1 (ko) | 2006-01-09 | 2007-02-22 | 삼성전자주식회사 | 파워 업 시에 피크 전류를 줄이는 멀티 칩 패키지 |
KR100683856B1 (ko) | 2006-01-12 | 2007-02-15 | 삼성전자주식회사 | 고온 스트레스로 인한 읽기 마진의 감소를 보상할 수 있는플래시 메모리의 프로그램 방법 |
KR100683858B1 (ko) | 2006-01-12 | 2007-02-15 | 삼성전자주식회사 | 고온 스트레스로 인한 읽기 마진의 감소를 보상할 수 있는플래시 메모리의 프로그램 방법 |
US7783955B2 (en) | 2006-01-18 | 2010-08-24 | Sandisk Il Ltd. | Method for implementing error-correction codes in flash memory |
US8055979B2 (en) | 2006-01-20 | 2011-11-08 | Marvell World Trade Ltd. | Flash memory with coding and signal processing |
KR100732631B1 (ko) | 2006-02-01 | 2007-06-27 | 삼성전자주식회사 | 전하 손실로 인해 감소된 읽기 마진을 보상할 수 있는플래시 메모리 장치의 프로그램 방법 |
US7400532B2 (en) | 2006-02-16 | 2008-07-15 | Micron Technology, Inc. | Programming method to reduce gate coupling interference for non-volatile memory |
US7436733B2 (en) * | 2006-03-03 | 2008-10-14 | Sandisk Corporation | System for performing read operation on non-volatile storage with compensation for coupling |
US20070208904A1 (en) | 2006-03-03 | 2007-09-06 | Wu-Han Hsieh | Wear leveling method and apparatus for nonvolatile memory |
US8091009B2 (en) | 2006-03-23 | 2012-01-03 | Broadcom Corporation | Symbol by symbol map detection for signals corrupted by colored and/or signal dependent noise |
US7561469B2 (en) | 2006-03-28 | 2009-07-14 | Micron Technology, Inc. | Programming method to reduce word line to word line breakdown for NAND flash |
KR100763353B1 (ko) | 2006-04-26 | 2007-10-04 | 삼성전자주식회사 | 인접하는 메모리셀과의 커플링 노이즈를 저감시키는불휘발성 반도체 메모리 장치 |
US7433231B2 (en) | 2006-04-26 | 2008-10-07 | Micron Technology, Inc. | Multiple select gates with non-volatile memory cells |
US8560829B2 (en) | 2006-05-09 | 2013-10-15 | Broadcom Corporation | Method and system for command interface protection to achieve a secure interface |
DE102006021731B4 (de) | 2006-05-10 | 2015-07-30 | Peri Gmbh | Verfahren zur Herstellung eines Gitterträgers aus Holz für den Baubereich |
WO2007132453A2 (en) | 2006-05-12 | 2007-11-22 | Anobit Technologies Ltd. | Distortion estimation and cancellation in memory devices |
WO2007132457A2 (en) | 2006-05-12 | 2007-11-22 | Anobit Technologies Ltd. | Combined distortion estimation and error correction coding for memory devices |
WO2007132452A2 (en) | 2006-05-12 | 2007-11-22 | Anobit Technologies | Reducing programming error in memory devices |
US8239735B2 (en) | 2006-05-12 | 2012-08-07 | Apple Inc. | Memory Device with adaptive capacity |
WO2007132458A2 (en) | 2006-05-12 | 2007-11-22 | Anobit Technologies Ltd. | Memory device programming using combined shaping and linear spreading |
US8185711B2 (en) | 2006-05-16 | 2012-05-22 | Samsung Electronics Co., Ltd. | Memory module, a memory system including a memory controller and a memory module and methods thereof |
US7882320B2 (en) | 2006-05-23 | 2011-02-01 | Dataram, Inc. | Multi-processor flash memory storage device and management system |
US7310272B1 (en) | 2006-06-02 | 2007-12-18 | Sandisk Corporation | System for performing data pattern sensitivity compensation using different voltage |
US7952922B2 (en) | 2006-06-06 | 2011-05-31 | Micron Technology, Inc. | Method for programming a non-volatile memory device to reduce floating-gate-to-floating-gate coupling effect |
US7342831B2 (en) | 2006-06-16 | 2008-03-11 | Sandisk Corporation | System for operating non-volatile memory using temperature compensation of voltages of unselected word lines and select gates |
US7486561B2 (en) | 2006-06-22 | 2009-02-03 | Sandisk Corporation | Method for non-real time reprogramming of non-volatile memory to achieve tighter distribution of threshold voltages |
US7742351B2 (en) * | 2006-06-30 | 2010-06-22 | Semiconductor Energy Laboratory Co., Ltd. | Semiconductor device and electronic device |
US7721059B2 (en) | 2006-07-06 | 2010-05-18 | Nokia Corporation | Performance optimization in solid-state media |
US7567461B2 (en) | 2006-08-18 | 2009-07-28 | Micron Technology, Inc. | Method and system for minimizing number of programming pulses used to program rows of non-volatile memory cells |
WO2008026203A2 (en) | 2006-08-27 | 2008-03-06 | Anobit Technologies | Estimation of non-linear distortion in memory devices |
US7280398B1 (en) | 2006-08-31 | 2007-10-09 | Micron Technology, Inc. | System and memory for sequential multi-plane page memory operations |
US7593259B2 (en) | 2006-09-13 | 2009-09-22 | Mosaid Technologies Incorporated | Flash multi-level threshold distribution scheme |
US7573744B2 (en) | 2006-09-29 | 2009-08-11 | Kabushiki Kaisha Toshiba | Semiconductor memory device having different capacity areas |
KR100764749B1 (ko) | 2006-10-03 | 2007-10-08 | 삼성전자주식회사 | 멀티-칩 패키지 플래시 메모리 장치 및 그것의 카피 백방법 |
US7975192B2 (en) | 2006-10-30 | 2011-07-05 | Anobit Technologies Ltd. | Reading memory cells using multiple thresholds |
KR100771521B1 (ko) | 2006-10-30 | 2007-10-30 | 삼성전자주식회사 | 멀티 레벨 셀을 포함하는 플래시 메모리 장치 및 그것의데이터 쓰기 방법 |
WO2008053473A2 (en) | 2006-10-30 | 2008-05-08 | Anobit Technologies Ltd. | Memory cell readout using successive approximation |
US8145941B2 (en) | 2006-10-31 | 2012-03-27 | Hewlett-Packard Development Company, L.P. | Detection and correction of block-level data corruption in fault-tolerant data-storage systems |
US7468911B2 (en) | 2006-11-02 | 2008-12-23 | Sandisk Corporation | Non-volatile memory using multiple boosting modes for reduced program disturb |
KR100789406B1 (ko) | 2006-11-03 | 2007-12-28 | 삼성전자주식회사 | 플래시 메모리 시스템 및 그것의 가비지 컬렉션 방법 |
US7558109B2 (en) | 2006-11-03 | 2009-07-07 | Sandisk Corporation | Nonvolatile memory with variable read threshold |
US7508710B2 (en) | 2006-11-13 | 2009-03-24 | Sandisk Corporation | Operating non-volatile memory with boost structures |
US7924648B2 (en) | 2006-11-28 | 2011-04-12 | Anobit Technologies Ltd. | Memory power and performance management |
US7706182B2 (en) | 2006-12-03 | 2010-04-27 | Anobit Technologies Ltd. | Adaptive programming of analog memory cells using statistical characteristics |
WO2008068747A2 (en) | 2006-12-03 | 2008-06-12 | Anobit Technologies Ltd. | Automatic defect management in memory devices |
US7593263B2 (en) | 2006-12-17 | 2009-09-22 | Anobit Technologies Ltd. | Memory device with reduced reading latency |
US7900102B2 (en) | 2006-12-17 | 2011-03-01 | Anobit Technologies Ltd. | High-speed programming of memory devices |
US7539062B2 (en) | 2006-12-20 | 2009-05-26 | Micron Technology, Inc. | Interleaved memory program and verify method, device and system |
US8370561B2 (en) | 2006-12-24 | 2013-02-05 | Sandisk Il Ltd. | Randomizing for suppressing errors in a flash memory |
WO2008083131A2 (en) | 2006-12-27 | 2008-07-10 | Sandisk Corporation | Method for programming with initial programming voltage based on trial |
US7570520B2 (en) | 2006-12-27 | 2009-08-04 | Sandisk Corporation | Non-volatile storage system with initial programming voltage based on trial |
WO2008077284A1 (en) | 2006-12-27 | 2008-07-03 | Intel Corporation | Initiative wear leveling for non-volatile memory |
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 |
JP4498370B2 (ja) | 2007-02-14 | 2010-07-07 | 株式会社東芝 | データ書き込み方法 |
US8369141B2 (en) | 2007-03-12 | 2013-02-05 | Apple Inc. | Adaptive estimation of memory cell read thresholds |
JP2008251138A (ja) | 2007-03-30 | 2008-10-16 | Toshiba Corp | 不揮発性半導体メモリ、不揮発性半導体メモリの制御方法、不揮発性半導体メモリシステム、及びメモリカード |
EP2135252A2 (en) | 2007-04-10 | 2009-12-23 | Sandisk Corporation | Non-volatile memory and method for predictive programming |
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 |
US8259497B2 (en) | 2007-08-06 | 2012-09-04 | Apple Inc. | Programming schemes for multi-level analog memory cells |
US20090043831A1 (en) | 2007-08-11 | 2009-02-12 | Mcm Portfolio Llc | Smart Solid State Drive And Method For Handling Critical Files |
KR101498673B1 (ko) | 2007-08-14 | 2015-03-09 | 삼성전자주식회사 | 반도체 드라이브, 그것의 데이터 저장 방법, 그리고 그것을포함한 컴퓨팅 시스템 |
ES2425174T3 (es) | 2007-08-31 | 2013-10-11 | Nitrochemie Aschau Gmbh | Endurecedor para masas de caucho de silicona |
WO2009037691A2 (en) | 2007-09-19 | 2009-03-26 | Anobit Technologies | Programming orders for reducing distortion in arrays of multi-level analog memory cells |
WO2009095902A2 (en) | 2008-01-31 | 2009-08-06 | Densbits Technologies Ltd. | Systems and methods for handling immediate data errors in flash memory |
US8650352B2 (en) | 2007-09-20 | 2014-02-11 | Densbits Technologies Ltd. | Systems and methods for determining logical values of coupled flash memory cells |
US7894263B2 (en) * | 2007-09-28 | 2011-02-22 | Sandisk Corporation | High voltage generation and control in source-side injection programming of non-volatile memory |
TWI372396B (en) | 2007-09-28 | 2012-09-11 | Phison Electronics Corp | Method of protecting data for power failure and controller using the same |
US7773413B2 (en) | 2007-10-08 | 2010-08-10 | Anobit Technologies Ltd. | Reliable data storage in analog memory cells in the presence of temperature variations |
US8527819B2 (en) | 2007-10-19 | 2013-09-03 | Apple Inc. | Data storage in analog memory cell arrays having erase failures |
US8068360B2 (en) | 2007-10-19 | 2011-11-29 | Anobit Technologies Ltd. | Reading analog memory cells using built-in multi-threshold commands |
WO2009053962A2 (en) | 2007-10-22 | 2009-04-30 | Densbits Technologies Ltd. | Systems and methods for averaging error rates in non-volatile devices and storage systems |
WO2009053963A2 (en) | 2007-10-22 | 2009-04-30 | Densbits Technologies Ltd. | Methods for adaptively programming flash memory devices and flash memory systems incorporating same |
US8443242B2 (en) | 2007-10-25 | 2013-05-14 | Densbits Technologies Ltd. | Systems and methods for multiple coding rates in flash devices |
WO2009063450A2 (en) | 2007-11-13 | 2009-05-22 | Anobit Technologies | Optimized selection of memory units in multi-unit memory devices |
US8046542B2 (en) | 2007-11-21 | 2011-10-25 | Micron Technology, Inc. | Fault-tolerant non-volatile integrated circuit memory |
US8225181B2 (en) | 2007-11-30 | 2012-07-17 | Apple Inc. | Efficient re-read operations from memory devices |
WO2009072105A2 (en) | 2007-12-05 | 2009-06-11 | Densbits Technologies Ltd. | A low power chien-search based bch/rs decoding system for flash memory, mobile communications devices and other applications |
WO2009072100A2 (en) | 2007-12-05 | 2009-06-11 | Densbits Technologies Ltd. | Systems and methods for temporarily retiring memory portions |
US20090150894A1 (en) | 2007-12-10 | 2009-06-11 | Ming Huang | Nonvolatile memory (NVM) based solid-state disk (SSD) system for scaling and quality of service (QoS) by parallelizing command execution |
US8276051B2 (en) | 2007-12-12 | 2012-09-25 | Densbits Technologies Ltd. | Chien-search system employing a clock-gating scheme to save power for error correction decoder and other applications |
US8209588B2 (en) | 2007-12-12 | 2012-06-26 | Anobit Technologies Ltd. | Efficient interference cancellation in analog memory cell arrays |
WO2009074978A2 (en) | 2007-12-12 | 2009-06-18 | Densbits Technologies Ltd. | Systems and methods for error correction and decoding on multi-level physical media |
US8456905B2 (en) | 2007-12-16 | 2013-06-04 | Apple Inc. | Efficient data storage in multi-plane memory devices |
US8327246B2 (en) | 2007-12-18 | 2012-12-04 | Densbits Technologies Ltd. | Apparatus for coding at a plurality of rates in multi-level flash memory systems, and methods useful in conjunction therewith |
US8533384B2 (en) | 2007-12-27 | 2013-09-10 | Sandisk Enterprise Ip Llc | Flash memory controller garbage collection operations performed independently in multiple flash memory groups |
US8085586B2 (en) | 2007-12-27 | 2011-12-27 | Anobit Technologies Ltd. | Wear level estimation in analog memory cells |
US8301912B2 (en) | 2007-12-31 | 2012-10-30 | Sandisk Technologies Inc. | System, method and memory device providing data scrambling compatible with on-chip copy operation |
US7877522B2 (en) | 2008-05-27 | 2011-01-25 | Sandisk Il Ltd. | Method of monitoring host activity |
US8621144B2 (en) | 2008-06-26 | 2013-12-31 | Intel Corporation | Accelerated resume from hibernation in a cached disk system |
US7808831B2 (en) | 2008-06-30 | 2010-10-05 | Sandisk Corporation | Read disturb mitigation in non-volatile memory |
US20100017650A1 (en) | 2008-07-19 | 2010-01-21 | Nanostar Corporation, U.S.A | Non-volatile memory data storage system with reliability management |
US20100057976A1 (en) | 2008-08-26 | 2010-03-04 | Menahem Lasser | Multiple performance mode memory system |
US8130552B2 (en) | 2008-09-11 | 2012-03-06 | Sandisk Technologies Inc. | Multi-pass programming for memory with reduced data storage requirement |
KR101066746B1 (ko) * | 2008-12-08 | 2011-09-22 | 주식회사 하이닉스반도체 | 페이지 버퍼 회로 및 이를 구비한 불휘발성 메모리 소자와 그 동작 방법 |
-
2007
- 2007-10-30 WO PCT/IL2007/001316 patent/WO2008053473A2/en active Application Filing
- 2007-10-30 US US11/995,805 patent/US7821826B2/en not_active Expired - Fee Related
- 2007-10-30 CN CN200780040493XA patent/CN101601094B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5657332A (en) * | 1992-05-20 | 1997-08-12 | Sandisk Corporation | Soft errors handling in EEPROM devices |
US7023735B2 (en) * | 2003-06-17 | 2006-04-04 | Ramot At Tel-Aviv University Ltd. | Methods of increasing the reliability of a flash memory |
Also Published As
Publication number | Publication date |
---|---|
US7821826B2 (en) | 2010-10-26 |
WO2008053473A2 (en) | 2008-05-08 |
WO2008053473A3 (en) | 2009-05-14 |
CN101601094A (zh) | 2009-12-09 |
US20100110787A1 (en) | 2010-05-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101601094B (zh) | 使用多个门限读取存储单元的方法 | |
USRE46346E1 (en) | Reading memory cells using multiple thresholds | |
US8830746B2 (en) | Optimized threshold search in analog memory cells using separator pages of the same type as read pages | |
CN103208309B (zh) | 存储设备中的失真估计和消除 | |
CN101496110B (zh) | 存储设备中的失真估计和消除 | |
US8234545B2 (en) | Data storage with incremental redundancy | |
US8938658B2 (en) | Statistical read comparison signal generation for memory systems | |
KR101208312B1 (ko) | 조절가능한 용량을 가진 메모리 디바이스 | |
US8151166B2 (en) | Reduction of back pattern dependency effects in memory devices | |
JP5620973B2 (ja) | アナログメモリセルにおける最適スレッシュホールドのサーチ | |
JP4999921B2 (ja) | メモリ素子用の歪み推定と誤り訂正符号化の組み合せ | |
US20080151617A1 (en) | Soft decoding of hard and soft bits read from a flash memory | |
US20090024905A1 (en) | Combined distortion estimation and error correction coding for memory devices | |
US8996793B1 (en) | System, method and computer readable medium for generating soft information | |
US9984752B2 (en) | Memory system and data encoding and decoding method to mitigate inter-cell interference | |
JP2021111826A (ja) | 復号装置及び復号方法 | |
US20160092284A1 (en) | Estimating flash quality using selective error emphasis | |
US10157097B2 (en) | Redundant bytes utilization in error correction code | |
US9779818B2 (en) | Adaptation of high-order read thresholds | |
US11874736B2 (en) | Calculating soft metrics depending on threshold voltages of memory cells in multiple neighbor word lines | |
US11204831B2 (en) | Memory system | |
CN117411595A (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 | ||
ASS | Succession or assignment of patent right |
Owner name: APPLE INC. Free format text: FORMER OWNER: ANOBIT TECHNOLOGIES LTD. Effective date: 20130105 |
|
C41 | Transfer of patent application or patent right or utility model | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20130105 Address after: American California Applicant after: Apple Computer, Inc. Address before: Israel Hertz Leah Applicant before: Anobit Technologies Ltd. |
|
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |