CN103208309A - 存储设备中的失真估计和消除 - Google Patents
存储设备中的失真估计和消除 Download PDFInfo
- Publication number
- CN103208309A CN103208309A CN2012103036896A CN201210303689A CN103208309A CN 103208309 A CN103208309 A CN 103208309A CN 2012103036896 A CN2012103036896 A CN 2012103036896A CN 201210303689 A CN201210303689 A CN 201210303689A CN 103208309 A CN103208309 A CN 103208309A
- Authority
- CN
- China
- Prior art keywords
- storage unit
- memory cell
- analog memory
- voltage level
- data
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C5/00—Details of stores covered by group G11C11/00
- G11C5/14—Power supply arrangements, e.g. power down, chip selection or deselection, layout of wirings or power grids, or multiple supply levels
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1068—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in sector programmable memories, e.g. flash disk
-
- 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
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1012—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using codes or arrangements adapted for a specific type of error
- G06F11/1016—Error in accessing a memory location, i.e. addressing error
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Power Engineering (AREA)
- Read Only Memory (AREA)
- Semiconductor Memories (AREA)
- Transmitters (AREA)
- Dc Digital Transmission (AREA)
Abstract
用于存储设备中的失真估计和消除的方法,包括:将数据作为相应的第一电压电平存储在存储器的模拟存储单元中;存储数据后从模拟存储单元读取相应的第二电压电平,至少一些第二电压电平不同于第一电压电平;识别导致读取自目标模拟存储单元的第二电压电平失真的模拟存储单元的子集;基于数据存储在模拟存储单元的时间和数据存储在目标模拟存储单元的时间的关系,将子集中的模拟存储单元分成多个类;为每一个类估计该类中的模拟存储单元针对目标模拟存储单元的第二电压电平所导致的失真;使用为类中的一个或多个类中的每一个所估计的失真,校正读取自目标模拟存储单元的第二电压电平;基于校正的第二电压电平,重构目标模拟存储单元中存储的数据。
Description
本申请是申请日为2007年5月10日、申请号为200780026121.1(国际申请号为PCT/IL2007/000576)、名称为“存储设备中的失真估计和消除”的发明专利申请的分案申请。
相关申请的交叉引用
本申请要求享有下列专利申请的权益:提交于2006年5月12日的美国临时专利申请60/747,106、提交于2006年11月28日的美国临时专利申请60/867,399、提交于2006年7月4日的美国临时专利申请60/806,533、提交于2006年9月27日的美国临时专利申请60/827,067、提交于2007年1月16日的美国临时专利申请60/885,024和提交于2007年1月24日的美国临时专利申请60/886,429,上述申请的公开内容在此以援引方式全部纳入本文中。
技术领域
本申请主要涉及存储设备,具体涉及用于对存储设备中的失真进行估计和补偿的方法和***。
背景技术
多种存储设备,例如闪存和动态随机存取存储器(DRAM),使用模拟存储单元阵列来存储数据。例如,在2003年4月在IEEE学报91卷第4期第489-502页由Bez等人发表的“Introduction to FlashMemory”中,描述了闪存设备,该文献在此处以援引方式全部纳入本文。
在此类存储设备中,每个模拟存储单元通常包括一个晶体管,该晶体管保持了一定数量的电荷,所述电荷表示存储在所述存储单元中的信息。写入一特定存储单元的电荷影响所述存储单元的“门限电压”,也即,需要施加电压到存储单元以使得所述存储单元传导一定数量的电流。
一些存储设备,通常称为“单层单元”(SLC)设备,在每个存储单元中存储单比特信息。通常,所述存储单元的可能的门限电压的范围被分为两个区域。落入这两个区域中的一个区域的电压值代表比特值“0”,而属于另一个区域的电压值代表“1”。更高密度的设备,通常称为“多层单元”(MLC)设备,每个存储单元存储两个或更多个比特。在多层单元中,门限电压的范围被分为多于两个区域,其中每个区域代表多于一个比特。
例如,在纽约州纽约市举办的1996年IEEE国际电子器件大会(IEDM)的学报上的第169-172页上由Eitan等人发表的“MultilevelFlash Cells and their Trade-Offs”,描述了多层闪存单元和设备,该文献在此以援引方式全部纳入本文。该文献对数种多层闪存单元进行比较,例如共地型、DINOR型、AND型、NOR型和NAND型存储单元。Eitan等人在1999年9月21至24日在日本东京举行的固态器件与材料国际会议(SSDM)的学报的第522至524页发表的“Can NROM,a2-bit,Trapping Storage NVM Cell,Give a Real Challenge toFloating Gate Cells?”描述了另一种模拟存储单元,称为氮化物只读存储器(NROM),该文献在此以援引方式纳入本文。在2002年2月3日~7日在美国加州旧金山市举办的IEEE国际固态电子器件学会(ISSCC 2002)的学报的第100-101页由Maayan等人发表的“A 512 MbNROM Flash Data Storage Memory with 8 MB/s Data Rate”中,描述了NROM存储单元,其在此处以援引方式纳入本文。
模拟存储单元的其他示例性类型为,铁电RAM(FRAM)单元、磁RAM(MRAM)单元、电荷捕获闪存(CTF)和相变RAM(PRAM,也称为相变存储器PCM)单元。例如,在2004年5月16日至19日在塞尔维亚和黑山的Nis举办的第24届微电子国际学会(MIEL)学报第一卷第377-384页上由Kim和Koh发表的“Future Memory Technologyincluding Emerging New Memories”中,描述了FRAM、MRAM和PRAM单元,其在此处以援引方式全部纳入本文。
读取自模拟存储单元的门限电压值有时会失真。这种失真有各种不同的原因,例如耦合自相邻存储单元的电场、由阵列中其他存储单元上的存储存取操作而导致的干扰噪声、以及由于设备老化导致的门限电压漂移。一些常见的失真机制已由Bez等人在上文所引用的文章中进行了描述。在2002年5月的I EEE电子器件快报(23:5)第264-266页上发表的“Effects of Floating Gate Interference on NAND FlashMemory Cell Operation”中,Lee等人还描述了在失真效应,其在此处以援引方式全部纳入本文。
美国专利5,867,429,描述了一种用于对在高密度闪速可电擦除可编程只读存储(EEPROM)单元阵列中的浮置栅极之间耦合的电场进行补偿的方法,其公开内容在此以援引方式全部纳入本文。根据所公开的方法,对一个存储单元的读取是通过首先读取所有与正被读取的存储单元场耦合的存储单元的状态来补偿。然后将与每个耦合的存储单元的状态或浮置栅极电压相关的数目,乘以存储单元之间的耦合比。在每个存储单元的各状态之间的断点电平是由一个补偿了耦合自相邻存储单元的电压的量来调整的。
发明内容
本发明的实施方案提供了一种用于操作存储器的方法,包括:
将数据作为相应的第一电压电平存储在所述存储器的一组模拟存储单元中,所述第一电压电平选自可能的值的集合;
在存储所述数据之后,从所述模拟存储单元读取相应的第二电压电平,该第二电压电平受到交叉耦合干扰的影响,该交叉耦合干扰导致所述第二电压电平不同于所述相应的第一电压电平;
处理所述第二电压电平以获得相应的硬判决,每个硬判决均对应于所述第一电压电平的可能的值中的相应值;
基于所述第二电压电平和所述相应的硬判决估计交叉耦合系数,该交叉耦合系数量化所述模拟存储单元之间的交叉耦合干扰;以及
使用所估计的交叉耦合系数,从所读取的第二电压电平重构存储在该组模拟存储单元中的数据。
在一些实施方案中,估计交叉耦合系数包括使用块估计过程处理所述第二电压电平和所述相应的硬判决。替代地,估计交叉耦合系数包括使用收敛到所述交叉耦合系数的序列估计过程以循序扫描所述第二电压电平以及所述相应的硬判决。估计交叉耦合系数可以包括采用一个减少在所述所读取的第二电压电平和所述相应的硬判决之间的距离度量的估计过程。
在一个实施方案中,所述方法包括既基于读取自第一模拟存储单元的第二电压电平又基于读取自第二模拟存储单元的第二电压电平,估算在所述存储器中由所述第一模拟存储单元导致的针对所述第二模拟存储单元的交叉耦合干扰。
在另一个实施方案中,重构数据包括使用如下过程之一将所述交叉耦合干扰从所述第二电压电平中除去,所述过程为:线性均衡过程、判决反馈均衡(DFE)过程、最大后验(MAP)估计过程以及最大似然序列估计(MLSE)过程。在又一个实施方案中,估计交叉耦合系数与重构数据包括在第一处理阶段中估计所述交叉耦合系数,并且在后继于所述第一处理阶段的第二处理阶段中消除所估计的交叉耦合干扰。在又一个实施方案中,估计交叉耦合系数与重构数据包括将所估计的交叉耦合系数用于所述第二处理阶段的后继情况,并且仅当未能重构所述数据时才重复所述第一处理阶段。
在一个公开的实施方案中,存储数据包括使用纠错码(ECC)编码所述数据,重构数据包括基于所估计的交叉耦合系数计算纠错度量并且使用所述纠错度量解码所述ECC。
根据本发明的一个实施方案,还提供了一种用于操作存储器的方法,包括:
将数据作为相应的第一电压电平存储在所述存储器的模拟存储单元中,其中所述模拟存储单元的子集具有相关失真;
在存储所述数据之后,从所述子集中的一个或多个模拟存储单元读取相应的第二电压电平,该第二电压电平由于所述相关失真而不同于所述第一电压电平;
处理读取自所述一个或多个模拟存储单元的第二电压电平,以便估计在所述第二电压电平中的相应失真度(distortion level);
从所述子集中的其他模拟存储单元读取一个第二电压电平;
基于所估计的所述子集中的一个或多个模拟存储单元的相应失真度,预测读取自所述其他模拟存储单元的第二电压电平中的失真度;
使用预测的失真度,校正读取自所述其他模拟存储单元的第二电压电平;以及
基于所校正的第二电压电平,重构在所述其他模拟存储单元中存储的数据。
在一些实施方案中,存储单元的子集包括选自下列一组子集类型中的至少一个子集类型:位于公共位线上的存储单元、位于公共字线上的存储单元、具有公共电路的存储单元和彼此位置接近的存储单元。
在一个实施方案中,处理第二电压电平包括仅缓存单个值,该值指示从所述子集中的一个或多个模拟存储单元中读取的第二电压电平的失真度,且其中预测失真度包括基于缓存的所述单个值计算预测的失真度。在另一个实施方案中,预测失真包括追踪对于所述模拟存储单元的子集为共有的失真参数,并且将所述失真参数存储在数据结构中。
根据本发明的一个实施方案,还提供了一种用于操作存储器的方法,包括:
将数据作为相应的第一电压电平存储在所述存储器的一组模拟存储单元中;
在所述存储器中的第一模拟存储单元上执行存储器存取操作;
响应于执行的存储器存取操作,从所述存储器中的第二模拟存储单元读取第二电压电平;
处理所述第二电压电平,从而估计在所述第二电压电平中的扰动电平(level of disturbance),该扰动电平是由在所述第一模拟存储单元上执行的存储器存取操作所导致;
使用所估计的扰动电平,校正所述第二电压电平;以及
基于所校正的第二电压电平,重构在所述第二模拟存储单元中存储的数据。
在一些实施方案中,存储器存取操作包括选自下列一组操作中的至少一种操作:编程操作、读操作和擦除操作。处理和校正第二电压电平可以包括将所估计的扰动电平与预定义电平作比较,且仅当所估计的扰动电平超过所述预定义电平时才校正所述第二电压电平。在一个实施方案中,校正第二电压电平包括对所述第二模拟存储单元中存储的数据重新编程。在另一个实施方案中,校正第二电压电平包括将存储在所述第二模拟存储单元中的数据复制到不同于所述第二模拟存储单元的其他模拟存储单元中。替代地,校正第二电压电平可包括增大用于将数据存储在所述第二模拟存储单元中的第一电压电平。可以在不对所述数据作存储和读取的空闲时段期间执行对第二电压电平的处理。
在一个公开的实施方案中,读取第二电压电平包括从相应的多个第二模拟存储单元读取多个第二电压电平,且处理第二电压电平包括对多个由于存储器存取操作而从已擦除电平转换到已编程电平的第二模拟存储单元进行评估。在另一个实施方案中,存储数据包括将所述数据循序存储在所述模拟存储单元的多个组中,读取第二电压电平包括以逆序读取所述模拟存储单元的多个组,且处理第二电压电平包括估计响应于在所述第一模拟存储单元之前读取的所述组中的模拟存储单元的第二电压对所述第一模拟存储单元导致的扰动电平。
根据本发明的一个实施方案,还提供了一种用于操作存储器的方法,包括:
将数据作为相应的第一电压电平存储在所述存储器的一组模拟存储单元中;
在存储所述数据之后,从所述模拟存储单元读取相应的第二电压电平,所述第二电压电平中的至少一些不同于所述相应的第一电压电平;
识别潜在地导致针对读取自目标模拟存储单元的第二电压电平的失真的模拟存储单元的子集;
基于数据被存储在所述模拟存储单元中的相应时间和数据被存储在所述目标模拟存储单元中的时间之间的关系,将所述子集中的模拟存储单元分成多个类;
为所述类的每一个估计由该类中的模拟存储单元针对所述目标模拟存储单元中的第二电压电平所导致的相应失真;
使用为所述类中的一个或多个类中的每一个所估计的相应失真,校正读取自所述目标模拟存储单元的第二电压电平;以及
基于所校正的第二电压电平,重构在所述目标模拟存储单元中存储的数据。
在一些实施方案中,存储数据和读取第二电压电平包括应用编程与验证(P&V)过程。在一个实施方案中,分类模拟存储单元包括识别所述子集中的比所述目标模拟存储单元更为新近地将数据存储在其中的模拟存储单元,且其中校正第二电压电平包括基于仅在所识别的模拟存储单元中的失真来校正读取自所述目标模拟存储单元的第二电压电平。在一个替代性的实施方案中,分类模拟存储单元包括:定义第一类,其包括在所述子集中的比所述目标模拟存储单元更为新近地将数据存储在其中的模拟存储单元;第二类,其包括在所述子集中的比所述目标模拟存储单元更早地将数据存储在其中的模拟存储单元;和第三类,其包括在所述子集中的与所述目标模拟存储单元并发地将数据存储在其中的模拟存储单元。
在另一个实施方案中,读取第二电压电平、估计失真和校正第二电压电平包括,以第一分辨率处理读取自所述目标模拟存储单元的第二电压电平,并且以比所述第一分辨率更不精确的第二分辨率处理读取自所述子集中的模拟存储单元的第二电压电平。在又一个实施方案中,存储数据包括存储所述数据被存储在所述模拟存储单元时的时间标记,且分类模拟存储单元包括查询所存储的标记。在另一个实施方案中,估计失真包括响应于选自下列一组参数中的至少一个参数来估计失真度,所述参数包括:所述模拟存储单元的编程次数、存储在所述模拟存储单元中的数据、所述模拟存储单元相对于所述目标模拟存储单元的位置以及所述目标存储单元最近已经经历的编程-擦除循环的次数。
根据本发明的一个实施方案,还提供了一种用于操作存储器的方法,包括:
接受用于存储在所述存储器中的数据;
确定相应的第一电压电平,用于对所述存储器的一组模拟存储单元编程,从而使得所述模拟存储单元存储表示所述数据的物理量的相应值;
使用确定的第一电压电平对所述组中的模拟存储单元编程;
在对所述模拟存储单元编程之后,从相应的模拟存储单元读取第二电压电平并且从所述第二电压电平重构数据。
在一些实施方案中,确定第一电压电平包括当将所述数据存储在目标模拟存储单元中时,对由存储在一个或多个其他模拟存储单元中的物理量的值所导致的针对存储在所述目标模拟存储单元中的物理量的值的失真进行估计,并且响应于所估计的失真预先校正用于所述目标模拟存储单元编程的第一电压电平。在另一个实施方案中,重构数据包括:当读取所述第二电压电平时,基于所读取的第二电压电平对由存储在一个或多个其他模拟存储单元中的物理量的值所导致的针对存储在目标模拟存储单元中的物理量的值的失真进行估计;使用所估计的失真校正读取自所述目标模拟存储单元的第二电压电平;并且基于所校正的第二电压电平重构存储在所述目标模拟存储单元中的数据。
编程模拟存储单元可以包括验证已编程的第一电压电平。在一些实施方案中,物理量包括电荷。
根据本发明的一个实施方案,还提供了一种用于操作存储器的方法,包括:
将数据作为相应的第一电压电平存储在所述存储器的一组模拟存储单元中;
在存储所述数据之后,从所述组中的模拟存储单元读取第二电压电平,所述第二电压电平中的至少一些不同于所述相应的第一电压电平;
估计读取自所述模拟存储单元中的第二电压电平中的失真度;以及
当所估计的失真度违反了预定的失真判据时,将所述数据重新编程到所述存储器的模拟存储单元中。
在一些实施方案中,预定的失真判据包括一个定义最大可容忍的失真度的门限。
根据本发明的一个实施方案,还提供了一种用于操作存储器的方法,包括:
将数据作为相应的第一电压电平存储在所述存储器的一组模拟存储单元中;
在存储所述数据之后,从所述模拟存储单元读取相应的第二电压电平,所述第二电压电平中的至少一些不同于所述相应的第一电压电平;
识别潜在地导致针对读取自目标模拟存储单元的第二电压电平的失真的模拟存储单元的子集;
估计在所述目标模拟存储单元被编程的第一瞬时由在所述子集中的模拟存储单元导致的针对所述目标模拟存储单元的第一失真度与所述目标模拟存储单元被读取的第二瞬时由在所述子集中的模拟存储单元导致的针对所述目标模拟存储单元的第二失真度之间的差;以及
使用所估计的差,校正读取自所述目标模拟存储单元的第二电压电平。
根据本发明的一个实施方案,还提供了一种用于操作存储器的方法,包括:
将数据作为相应的第一电压电平存储在所述存储器的一组模拟存储单元中;
在存储所述数据之后,从所述模拟存储单元读取相应的第二电压电平,该第二电压电平受到交叉耦合干扰的影响,该交叉耦合干扰导致所述第二电压电平不同于所述相应的第一电压电平;
估计交叉耦合系数,其通过处理所述第二电压电平而将所述模拟存储单元之间的交叉耦合干扰量化;以及
使用所估计的交叉耦合系数,从所读取的第二电压电平重构存储在该组模拟存储单元中的数据。
在一些实施方案中,既基于读取自第一模拟存储单元的第二电压电平又基于读取自第二模拟存储单元的第二电压电平,评估由第一模拟存储单元针对存储器中第二模拟存储单元导致的交叉耦合干扰。
根据本发明的一个实施方案,还提供了一种数据存储装置,包括:
接口,其操作性地与包含多个模拟存储单元的存储器通信;以及
存储器信号处理器(MSP),其被耦合到所述接口并且被布置为:将数据作为选自可能的值的集合的相应的第一电压电平存储在一组模拟存储单元中;在存储所述数据之后,从所述模拟存储单元读取相应的第二电压电平,该第二电压电平受到交叉耦合干扰的影响,该交叉耦合干扰导致所述第二电压电平不同于所述相应的第一电压电平;处理所述第二电压电平以获得相应的硬判决,每个硬判决均对应于所述第一电压电平的可能的值中的相应值;基于所述第二电压电平和所述相应的硬判决估计交叉耦合系数,该交叉耦合系数量化所述模拟存储单元之间的交叉耦合干扰;以及使用所估计的交叉耦合系数,从所述第二电压电平重构存储在该组模拟存储单元中的数据。
根据本发明的一个实施方案,还提供了一种数据存储装置,包括:
接口,其操作性地与包含多个模拟存储单元的存储器通信,所述存储器的模拟存储单元的子集具有相关失真;以及
存储器信号处理器(MSP),其被耦合到所述接口并且被布置为:将数据作为相应的第一电压电平存储在所述模拟存储单元中;在存储所述数据之后,从所述子集中的一个或多个模拟存储单元读取相应的第二电压电平,该第二电压电平由于所述相关失真而不同于所述第一电压电平;处理读取自所述一个或多个模拟存储单元的第二电压电平,以便估计在所述第二电压电平中的相应失真度;从所述子集中的其他模拟存储单元读取一个第二电压电平;基于所估计的所述子集中的一个或多个模拟存储单元的相应失真度,预测读取自所述其他模拟存储单元的第二电压电平中的失真度;使用预测的失真度,校正读取自所述其他模拟存储单元的第二电压电平;以及基于所校正的第二电压电平,重构在所述其他模拟存储单元中存储的数据。
根据本发明的一个实施方案,还提供了一种数据存储装置,包括:
接口,其操作性地与包含多个模拟存储单元的存储器通信;以及
存储器信号处理器(MSP),其被耦合到所述接口并且被布置为:将数据作为相应的第一电压电平存储在一组模拟存储单元中;在所述存储器中的第一模拟存储单元上执行存储器存取操作;响应于执行的存储器存取操作,从所述存储器中的第二模拟存储单元读取第二电压电平;处理所述第二电压电平,从而估计在所述第二电压电平中的扰动电平,该扰动电平是由在所述第一模拟存储单元上执行的存储器存取操作所导致;使用所估计的扰动电平,校正所述第二电压电平;以及基于所校正的第二电压电平,重构在所述第二模拟存储单元中存储的数据。
根据本发明的一个实施方案,还提供了一种数据存储装置,包括:
接口,其操作性地与包含多个模拟存储单元的存储器通信;以及
存储器信号处理器(MSP),其被耦合到所述接口并且被布置为:将数据作为相应的第一电压电平存储在一组模拟存储单元中;在存储所述数据之后,从所述模拟存储单元读取相应的第二电压电平,所述第二电压电平中的至少一些不同于所述相应的第一电压电平;识别潜在地导致针对读取自目标模拟存储单元的第二电压电平的失真的模拟存储单元的子集;基于数据被存储在所述模拟存储单元中的相应时间和数据被存储在所述目标模拟存储单元中的时间之间的关系,将所述子集中的模拟存储单元分成多个类;为所述类的每一个估计由该类中的模拟存储单元针对所述目标模拟存储单元中的第二电压电平所导致的相应失真;使用为所述类中的一个或多个类中的每一个所估计的相应失真,校正读取自所述目标模拟存储单元的第二电压电平;以及基于所校正的第二电压电平,重构在所述目标模拟存储单元中存储的数据。
根据本发明的一个实施方案,还提供了一种数据存储装置,包括:
接口,其操作性地与包含多个模拟存储单元的存储器通信;以及
存储器信号处理器(MSP),其被耦合到所述接口并且被布置为:接受用于存储在所述存储器中的数据;确定相应的第一电压电平,用于对一组模拟存储单元编程,从而使得所述模拟存储单元存储表示所述数据的物理量的相应值;使用所述第一电压电平对所述组中的模拟存储单元编程;在对所述模拟存储单元编程之后,从相应的模拟存储单元读取第二电压电平;并且从所述第二电压电平重构数据。
根据本发明的一个实施方案,还提供了一种数据存储装置,包括:
接口,其操作性地与包含多个模拟存储单元的存储器通信;以及
存储器信号处理器(MSP),其被耦合到所述接口并且被布置为:将数据作为相应的第一电压电平存储在一组模拟存储单元中;在存储所述数据之后,从所述组中的模拟存储单元读取第二电压电平,所述第二电压电平中的至少一些不同于所述相应的第一电压电平;估计读取自所述模拟存储单元中的第二电压电平中的失真度;以及当所估计的失真度违反了预定的失真判据时,将所述数据重新编程到所述组中的模拟存储单元中。
根据本发明的一个实施方案,还提供了一种数据存储装置,包括:
接口,其操作性地与包含多个模拟存储单元的存储器通信;以及
存储器信号处理器(MSP),其被耦合到所述接口并且被布置为:将数据作为相应的第一电压电平存储在所述存储器的一组模拟存储单元中;在存储所述数据之后,从所述模拟存储单元读取相应的第二电压电平,所述第二电压电平中的至少一些不同于所述相应的第一电压电平;识别潜在地导致针对读取自目标模拟存储单元的第二电压电平的失真的模拟存储单元的子集;估计在所述目标模拟存储单元被编程的第一瞬时由在所述子集中的模拟存储单元导致的针对所述目标模拟存储单元的第一失真度与所述目标模拟存储单元被读取的第二瞬时由在所述子集中的模拟存储单元导致的针对所述目标模拟存储单元的第二失真度之间的差;以及使用所估计的差,校正读取自所述目标模拟存储单元的第二电压电平。
根据本发明的一个实施方案,还提供了一种数据存储装置,包括:
接口,其操作性地与包含多个模拟存储单元的存储器通信;以及
存储器信号处理器(MSP),其被耦合到所述接口并且被布置为:将数据作为相应的第一电压电平存储在所述存储器的一组模拟存储单元中;在存储所述数据之后,从所述模拟存储单元读取相应的第二电压电平,该第二电压电平受到交叉耦合干扰的影响,该交叉耦合干扰导致所述第二电压电平不同于所述相应的第一电压电平;估计交叉耦合系数,其通过处理所述第二电压电平而将所述模拟存储单元之间的交叉耦合干扰量化;以及使用所估计的交叉耦合系数,从所读取的第二电压电平重构存储在该组模拟存储单元中的数据。
根据本发明的一个实施方案,还提供了一种数据存储装置,包括:
存储器,其包含多个模拟存储单元;以及
存储器信号处理器(MSP),其被耦合到所述存储器并且被布置为:将数据作为选自可能的值的集合的相应的第一电压电平存储在一组模拟存储单元中;在存储所述数据之后,从所述模拟存储单元读取相应的第二电压电平,该第二电压电平受到交叉耦合干扰的影响,该交叉耦合干扰导致所述第二电压电平不同于所述相应的第一电压电平;处理所述第二电压电平以获得相应的硬判决,每个硬判决都对应于所述第一电压电平的可能的值中的相应值;估计交叉耦合系数,其基于所述第二电压电平和所述相应的硬判决,对所述模拟存储单元之间的交叉耦合干扰进行量化;以及使用所述交叉耦合系数,从所述第二电压电平重构存储在该组模拟存储单元中的数据。
根据本发明的一个实施方案,还提供了一种数据存储装置,包括:
存储器,其包含多个模拟存储单元,其中所述存储单元的子集具有相关失真;以及
存储器信号处理器(MSP),其被耦合到所述存储器并且被布置为:将数据作为相应的第一电压电平存储在一组模拟存储单元中;在存储所述数据之后,从阵列的一列中的一个或多个模拟存储单元读取相应的第二电压电平,该第二电压电平由于失真而不同于所述第一电压电平;处理读取自所述一个或多个模拟存储单元的第二电压电平,以便估计在所述第二电压电平中的相应失真度;从所述列中的其他模拟存储单元读取一个第二电压电平;基于所估计的所述列中的一个或多个模拟存储单元的相应失真度,预测读取自所述其他模拟存储单元的第二电压电平中的失真度;使用所预测的失真度,校正读取自所述其他模拟存储单元的第二电压电平;以及基于所校正的第二电压电平,重构在所述其他模拟存储单元中存储的数据。
根据本发明的一个实施方案,还提供了一种数据存储装置,包括:
存储器,其包含多个模拟存储单元;以及
存储器信号处理器(MSP),其被耦合到所述存储器并且被布置为:将数据作为相应的第一电压电平存储在一组模拟存储单元中;在所述存储器中的第一模拟存储单元上执行存储器存取操作;响应于执行的存储器存取操作,从所述存储器中的第二模拟存储单元读取第二电压电平;处理所述第二电压电平,从而估计在所述第二电压电平中的扰动电平,该扰动电平是由在所述第一模拟存储单元上执行的存储器存取操作所导致;使用所估计的扰动电平,校正所述第二电压电平;以及基于所校正的第二电压电平,重构在所述第二模拟存储单元中存储的数据。
根据本发明的一个实施方案,还提供了一种数据存储装置,包括:
存储器,其包含多个模拟存储单元;以及
存储器信号处理器(MSP),其被耦合到所述存储器并且被布置为:将数据作为相应的第一电压电平存储在一组模拟存储单元中;在存储所述数据之后,从所述模拟存储单元读取相应的第二电压电平,所述第二电压电平中的至少一些不同于所述相应的第一电压电平;识别潜在地导致针对读取自目标模拟存储单元的第二电压电平的失真的模拟存储单元的子集;基于数据被存储在所述模拟存储单元中的相对时间和数据被存储在所述目标模拟存储单元中的时间之间的关系,将所述子集中的模拟存储单元分成多个类;为所述类的每一个估计由该类中的模拟存储单元针对所述目标模拟存储单元中的第二电压电平所导致的相应失真;使用为所述类中的一个或多个类中的每一个所估计的相应失真,校正读取自所述目标模拟存储单元的第二电压电平;以及基于所校正的第二电压电平,重构在所述目标模拟存储单元中存储的数据。
根据本发明的一个实施方案,还提供了一种数据存储装置,包括:
存储器,其包含多个模拟存储单元;以及
存储器信号处理器(MSP),其被耦合到所述存储器并且被布置为:接受用于存储在所述存储器中的数据;确定相应的第一电压电平,用于对一组模拟存储单元编程,从而使得所述模拟存储单元存储表示所述数据的物理量的相应值;使用所述第一电压电平对所述组中的模拟存储单元编程;在对所述模拟存储单元编程之后,从相应的模拟存储单元读取第二电压电平;并且从所述第二电压电平重构数据。
根据本发明的一个实施方案,还提供了一种数据存储装置,包括:
存储器,其包含多个模拟存储单元;以及
存储器信号处理器(MSP),其被耦合到所述存储器并且被布置为:将数据作为相应的第一电压电平存储在一组模拟存储单元中;在存储所述数据之后,从所述组中的模拟存储单元读取第二电压电平,所述第二电压电平中的至少一些不同于所述相应的第一电压电平;估计读取自所述模拟存储单元中的第二电压电平中的失真度;以及当所估计的失真度违反了预定的失真判据时,将所述数据重新编程到所述组的模拟存储单元中。
根据本发明的一个实施方案,还提供了一种数据存储装置,包括:
存储器,其包含多个模拟存储单元;以及
存储器信号处理器(MSP),其被耦合到所述存储器并且被布置为:将数据作为相应的第一电压电平存储在所述存储器的一组模拟存储单元中;在存储所述数据之后,从所述模拟存储单元读取相应的第二电压电平,所述第二电压电平中的至少一些不同于所述相应的第一电压电平;识别潜在地导致针对读取自目标模拟存储单元的第二电压电平的失真的模拟存储单元的子集;估计在所述目标模拟存储单元被编程的第一瞬时由在所述子集中的模拟存储单元导致的针对所述目标模拟存储单元的第一失真度与所述目标模拟存储单元被读取的第二瞬时由在所述子集中的模拟存储单元导致的针对所述目标模拟存储单元的第二失真度之间的差;以及使用所估计的差,校正读取自所述目标模拟存储单元的第二电压电平。
根据本发明的一个实施方案,还提供了一种数据存储装置,包括:
存储器,其包含多个模拟存储单元;以及
存储器信号处理器(MSP),其被耦合到所述存储器并且被布置为:将数据作为相应的第一电压电平存储在所述存储器的一组模拟存储单元中;在存储所述数据之后,从所述模拟存储单元读取相应的第二电压电平,该第二电压电平受到交叉耦合干扰的影响,该交叉耦合干扰导致所述第二电压电平不同于所述相应的第一电压电平;估计交叉耦合系数,其通过处理所述第二电压电平而将所述模拟存储单元之间的交叉耦合干扰量化;以及使用所估计的交叉耦合系数,从所读取的第二电压电平重构存储在该组模拟存储单元中的数据。
从下文对本发明的实施方案的详述,结合如下附图,将可更完整地理解本发明。
附图说明
图1是示意性地示出了根据本发明的一个实施方案的用于存储器信号处理的***的框图;
图2是示意性地示出了根据本发明的一个实施方案的存储单元阵列的示意图;
图3至图8是示意性地示出了根据本发明的实施方案的用于估计和消除存储单元阵列中的失真的方法的流程图,以及
图9是示意性地示出了根据本发明的实施方案的用于在存储单元阵列中刷新数据的方法的流程图。
具体实施方式
概述
本发明的实施方案提供了用于估计和补偿在模拟存储单元中的失真的方法和***。在下文描述的实施方案中,数据被存储为电荷电平,其被写入模拟存储单元阵列。电荷电平确定存储单元的相应的门限电压。存储器信号处理器(MSP)从存储单元读取电压电平,并且自适应地估计包含在其中的失真度。MSP通常产生所校正的电压,以此校正、消除抑或补偿失真。使用所校正的电压重构存储在存储单元中的数据。
本文描述了几种示例性的失真估计和消除方法。一些方法是判决导向的,也即,使用硬判决分割过程的输出。在一些情况下,失真估计过程考虑的是,相对于被干扰存储单元被编程的时刻,潜在干扰存储单元被编程的时刻。其他方法是基于位于存储单元阵列中的同一列(位线)中的其他存储单元的失真,来预测在某个存储单元中的失真。一些公开的方法校正了在失真形成时由阵列中的其他存储单元的操作所导致的扰动噪声。
在一些实施方案中,使用编程和验证(P&V)过程对存储单元进行编程,且MSP对在编程时的失真做补偿,或者既对在编程时也对在读存储单元时的失真做补偿。
作为对失真进行补偿的补充或替代,MSP可以响应于所估计的失真而执行其他种类的动作。例如,当所估计的失真超过最大的可容忍的失真度时,MSP可以刷新(即,重新编程)数据。
本文所描述的失真估计和补偿方法可被用于以几种途径改进存储设备的数据存储性能。例如,可以降低当重构数据时达到的误差概率,可以增大可达到的存储容量,和/或可以延长可达到的数据保持期。改进的性能可以接着用于降低存储设备的成本和复杂度和/或增大它们的编程速度。这些改进在对失真特别敏感的MLC设备中尤其重要。
***描述
图1是示意性地示出了根据本发明的一个实施方案的用于存储器信号处理的***20的框图。***20可用于不同的主机***和设备中,例如用于计算设备、蜂窝电话或其他通信终端、可移除存储器模块(“U盘”设备)、数码相机、音乐和其他媒体播放器、和/或任何其他存储和取出数据的***或设备。
***20包括存储设备24,其将数据存储在存储单元阵列28中。存储阵列28包括多个模拟存储单元32。在本专利申请的上下文中以及在权利要求书中,术语“模拟存储单元”用于描述保持诸如电压或电荷之类的物理参数的连续模拟值的任意的存储单元。阵列28可以包括任何种类的模拟存储单元,举例而言,例如,NAND、NOR和CTF闪存单元、PCM、NROM、FRAM、MRAM和DRAM单元。存储在存储单元中的电荷电平和/或写入与读出存储单元的模拟电压在本文中统称为模拟值。
用于存储在存储设备24中的数据被提供给所述设备并且缓存在数据缓冲器36中。然后所述数据被转换成模拟电压并且使用读/写(R/W)单元40写入存储单元32中,该读/写单元40的功能将在下文中进一步详述。当从阵列28读出数据时,读/写单元40将电荷以及由此的存储单元32的模拟电压转换成数字样本。每个数字样本具有一个或多个比特的分辨率。这些样本被缓存在缓冲器36中。存储设备24的操作和时序均由控制逻辑48所管理。
数据进出存储设备24的存储和取出,由存储器信号处理器(MSP)52执行。如下文将详示,MSP 52使用新颖的方法,以用于估计和降低在存储单元阵列28中的各种不同的失真效应。
在一些实施方案中,MSP 52包括编码器/解码器64,该编码器/解码器64使用ECC对将要写到设备24的数据进行编码,而当把数据从设备24读出时对所述ECC进行解码。信号处理单元60处理被写入设备24和从设备24取出的数据。具体地,信号处理单元60估计对从存储单元32读出的电压有影响的失真。信号处理单元60可以补偿抑或减少所估计的失真的效应。替代地,信号处理单元60可以基于所估计的失真而采取其他种类的行动,在下文将详述。
MSP 52包括数据缓冲器72,该数据缓冲器72由信号处理单元60用于存储数据以及用于与存储设备24交互。MSP 52还包括输入/输出(I/O)缓冲器56,该输入/输出(I/O)缓冲器56在所述MSP和所述主机之间形成接口。控制器76管理MSP 52的操作和定时。信号处理单元60和控制器76可以用硬件实现。替代地,信号处理单元60和/或控制器76可以包括运行合适的软件的微处理器,或者硬件和软件元素的组合。
图1中的配置是示例性的***配置,其纯粹是为概念清楚而示出的。也可以使用任意其他合适的配置。为清楚起见,对于理解本发明的原理并非必要的元件,例如各种接口、寻址电路、定时和定序电路、数据置乱电路和调试电路,均从附图中省略。
在图1中所示的示例性***配置中,存储设备24和MSP 52被实现为两个单独的集成电路(IC)。然而,在替代的实施方案中,所述存储设备和MSP可被集成在单一IC中或片上***(SoC)中。在一些实施方式中,单个MSP 52可被连接到多个存储设备24。进一步作为替代,MSP 52的某些或全部功能可以用软件实现,并且由主机***的处理器或其他元件来执行。实现***20的某些实施方案的另外的架构性的方面,在上文所引用的美国临时专利申请60/867,399中,并且在以援引方式全部纳入本文中的提交于2007年5月10日的题为“CombinedDistortion Estimation and Error Correction Coding for MemoryDevices”的PCT专利申请中,得以更详细地描述。
在典型的写操作中,从主机接收待要写入存储设备24的数据,并将所述数据缓存在I/O缓冲器56中。编码器/解码器64编码所述数据,且所编码的数据通过数据缓冲器72传送到存储设备24。在将数据传送到存储设备用于编程之前,MSP 52可以预处理该数据。在设备24中,数据临时存储在缓冲器36中。读/写单元40将数据转换成模拟电压值,并且将数据写入阵列28的适当的存储单元32中。
在典型的读操作中,读/写单元40从适当的存储单元32读出模拟电压值并且将所述电压转换为软数字样本。所述样本被缓存在缓冲器36中,并且传送到MSP 52的缓冲器72。在一些实施方案中,MSP 52的信号处理单元60将电压样本转换为数据位。如上所述,可能的门限电压的范围被分为两个或更多个区域,其中每个区域表示一个或多个数据位的某一组合。当读取存储单元时,信号处理单元60典型地将读取的电压样本的幅度与一组判决门限相比较,以便确定读取的电压所落入的区域,且从而确定存储在存储单元中的数据位。数据块从缓冲器72传送到信号处理单元60,而编码器/解码器64对这些块的ECC进行解码。已解码的数据通过I/O缓冲器56传送到主机。在一些实施方案中,ECC解码器包括软解码器,而信号处理单元60将电压样本转换成用于解码ECC的软解码度量。
另外,信号处理单元60使用下文描述的方法估计在所读取的样本中存在的失真。在一些实施方案中,MSP 52在数据被写入存储单元之前将其置乱,并且将从存储单元读取的数据反置乱,以便改进失真估计的性能。
存储阵列结构和失真机制
图2是示意性地示出了根据本发明的一个实施方案的存储单元阵列28的示意图。虽然图2涉及连接在特定阵列配置中的闪存单元,但本发明的原理也可应用于其他类型的存储单元和其他阵列配置。在上文背景技术部分中所引用的参考文献中,描述了一些示例性的存储单元类型和阵列配置。
阵列28的存储单元32被布置在具有多个行和多个列的栅格中。每个存储单元32包括浮置栅极金属氧化物半导体(MOS)晶体管。通过向晶体管的栅极、源极和漏极施加适当的电压电平,可以将一定数量的电荷(电子或空穴)存储在一特定的存储单元中。存储在所述存储单元中的值可通过测量所述存储单元的门限电压来读取,所述门限电压被定义为使所述晶体管导通而需要向所述晶体管的栅极施加的最小电压。所读取的门限电压与存储在所述存储单元中的电荷成比例。
在图2的示例性配置中,每一行中的晶体管的栅极由字线80连接。每一列中的晶体管的源极由位线84连接。在一些实施方案中,例如在一些NOR单元设备中,源极直接连接到位线。在替代的实施方案中,例如在一些NAND单元设备中,位线被连接到多串浮置栅极单元。
通常,读/写单元40,通过将变化的电压电平施加到特定的存储单元32的栅极(也即,施加到所述存储单元所连接到的字线),并且检查所述存储单元的漏极电流是否超过了某一门限(也即,所述晶体管是否导通),来读取该特定的存储单元32的门限电压。读/写单元40通常向所述存储单元所连接到的字线施加一系列的不同的电压值,并且确定为使漏极电流超过所述门限的最低栅极电压值。通常,读/写单元40同时读取一整行的存储单元,这一整行的存储单元也被称为页。
在一些实施方案中,读/写单元40通过将所述存储单元的位线预充电到某一电压电平来测量漏极电流。一旦栅极电压被设定到期望值,漏极电流就使得位线电压经存储单元放电。在施加栅极电压之后的几毫秒,读/写单元40测量位线电压,并且将位线电压与门限进行比较。在一些实施方案中,每个位线84被连接到相应的读出放大器,该读出放大器将位线电流放大并且将该电流转换为电压。使用比较器将被放大的电压与门限进行比较。
上文所描述的电压读取方法是一种示例性方法。作为替代,读/写单元40可以使用任何其他适合的方法来用于读取存储单元32的门限电压。例如,读/写单元40可以包括一个或多个模数转换器(ADC),该模数转换器将位线电压转换成数字样本。
存储单元阵列通常被分为多个页,也即,多组同时编程和读取的存储单元。在一些实施方案中,每个页包括阵列的一整行。在替代性的实施方案中,每个行可被分为两个或更多个页。对存储单元的擦除通常在包含多个页的块中执行。典型的存储设备可以包括数千个擦除块。尽管也可以使用其它块尺寸,典型的擦除块是128页的数量级,每个擦除块包括数千个存储单元。
存储在存储单元中的电荷电平和读取自存储单元的电压可能包含多种类型的失真,这些失真是由阵列28中的不同的失真机制所导致的。一些失真机制影响了存储在存储单元中的实际电荷,而其他机制使得所读出的电压失真。例如,阵列中的相邻存储单元之间的电交叉耦合会修改特定存储单元中的门限电压。此效应被称为交叉耦合失真。又例如,电荷会随着时间的推移而从存储单元中泄漏。这种老化效应的结果是,所述存储单元的门限电压将随着时间的推移而从最初写入的值漂移。
另一种类的失真,通常被称为扰动噪声,是由阵列中的某些存储单元上的存储器存取操作(例如,读、写或擦除操作)而导致的,这引起了对其他存储单元中的非预期的电荷改变。作为又一实例,可以由相邻存储单元(例如在同一NAND存储单元串中的其他存储单元)中的电荷,通过一种称为背景图案相关性(BPD)的效应,来影响特定存储单元的源极-漏极电流。
失真估计和消除方法
存储单元32中的失真降低了存储设备的性能,例如重构数据时的误差概率、可达到的存储容量以及可达到的数据保持期。性能降低在MLC设备中尤其严重,因为在MLC设备中表示数据的不同电压电平之间的差相对较小。在许多情况下,失真度随着时间的推移而变化,且在一个存储单元和另一个存储单元之间也有所不同。从而,以自适应的方式估计失真并且基于所估计的失真采取行动是很有好处的。
MSP 52可以采用各种不同的方法来估计存储单元32中的失真,并且使用所估计的失真度来消除或补偿失真。作为对失真进行补偿的补充或替代,MSP可以基于所估计的失真执行其他种类的动作。
例如,MSP可以使用所估计的失真来执行数据刷新判决。在一种典型的实现中,MSP估计各个不同的存储单元组(例如存储页)的失真度。当在一特定页中的失真超过某一可容忍的门限时,MSP对数据进行刷新(也即,重新编程)。
又例如,MSP可以使用所估计的失真来评估在某一存储单元或某组存储单元中的可达到的存储容量。基于可达到的容量,MSP可以修改用于在相应的存储单元中存储数据的电压电平的数量和/或ECC。从而,MSP可以自适应地修改存储单元中存储数据的密度,以匹配它们的存储容量,因为它们的存储容量随着时间的推移而改变。使用失真估计用于适配存储设备的存储密度的一些方面在提交于2007年5月10日的题为“Memory Device with Adaptive Capacity”的PCT专利申请中得以描述,该文献以援引方式全部纳入本文。
再例如,MSP可以基于所估计的失真而修改判决门限,也即将存储单元的可能的电压的范围分成判决区域的门限。MSP可以调整判决门限值以最小化失真度,以最小化解码误差概率或满足任何其他适合的性能条件。MSP也可以修改ECC解码度量,例如对数似然比(LLR),该解码度量由ECC解码器使用以解码ECC。这样的方法例如在上文所引用的PCT申请“Combined Distortion Estimation and ErrorCorrection Coding for Memory Devices”中得以描述。
图3至8是示意性地示出了根据本发明的实施方案的用于估计和消除存储单元阵列28中的失真的方法的流程图。在下文的说明中,假设MSP逐页地读取存储单元并估计失真度。然而,在替代性的实施方案中,MSP可以读取并处理任意其他存储单元组。例如,MSP可以处理整个擦除块或甚至单独的存储单元。
图3是示意性地示出了根据本发明的一个实施方案的一种用于估计和消除交叉耦合失真的方法的流程图。在一些情况下,例如在闪存中,交叉耦合失真是由存储在邻近存储单元的电荷产生的电场的电磁耦合所导致的。在其他情况下,例如在NROM存储单元中,交叉耦合失真可由其他原因导致,例如由于共享地线导致的存储单元的源电压的上升。
读取自受交叉耦合影响的某一存储单元i的电压一般可写为:
[1]vi=g(ci)+f(ci,Ci)
其中g(ci)表示当所有潜在干扰存储单元均被擦除时从所述存储单元读取的电压,ci表示在存储单元i中的电荷电平,f(ci,Ci)表示当存储单元电荷是ci时的耦合效应,而Ci表示相邻存储单元的电荷电平的集合,j≠i。
在一些实际情况下,交叉耦合可以用线性函数来建模,以使得
其中kji表示交叉耦合系数,也即,从存储单元j到存储单元i的交叉耦合幅度。系数值有时可以取决于存储单元的电荷电平。
在其他情况下,由某一干扰存储单元导致的交叉耦合既取决于干扰存储单元的电荷电平,也取决于被干扰存储单元的电荷电平。在这些情况下,公式[2]可被写为
[3]vi=k0·ci+f({ci,cj},j≠i)
交叉耦合系数值通常可以从一个单元到另一个单元而变化,也可以随着温度、电源电压和其他条件的变化而变化。
在读取步骤90,图3的方法始于MSP 52从一存储单元页读取电压。每个读取电压由软样本所表示,也即具有两个或更多个位的分辨率的数字化值。所述MSP从读取的电压值生成硬判决。换句话说,所述MSP逐个存储单元确定最有可能已被写到存储单元中的标称电压电平。MSP可以将每个读取电压和表示不同比特组合的不同标称电压值作比较,并且确定最接近于读取电压的标称电压电平。这种操作通常称为硬分割。
在系数估计步骤94,MSP基于读取的电压样本并基于对应的硬判决,估计交叉耦合系数。在大多数实际情况下,大多数硬判决反映了写入存储单元的正确比特组合,只有很少的硬判决是错误的。虽然硬判决的错误概率不足以用于可靠地重构数据,但其通常足以用于可靠地估计系数。
MSP可以使用任何适当的估计方法用于估计交叉耦合系数的值。在许多实际情况下,耦合系数值在整个已处理的存储单元组中基本恒定。在这些情况下,MSP可以使用本领域公知的各种不同的块估计技术,这些块估计技术使用软电压样本的整个集合和对应的硬判决来估计交叉耦合系数。
替代地,所述MSP可以使用本领域公知的各种不同的循序估计方法,其循序地(例如逐个样本地)处理电压样本和硬判决,并且收敛成交叉耦合系数的期望值。循序估计方法可以包括,例如最小均方(LMS)过程、递归最小二乘(RLS)过程、Kalman过滤过程或者任何其他适合的过程。
在一些实施方案下,估计过程试图减少在读取电压和对应的硬判决之间的距离度量(例如欧几里得距离)。
例如,当使用LMS过程时,MSP可以迭代地估算下述表达式
其中t表示根据已处理的样本和硬判决而递增的增量指数(例如,样本指数)。表示在第t次迭代的交叉耦合系数kji的估计值。μ表示预定义的迭代步长,表示在第t次迭代读取自存储单元j的电压样本。被定义为也即,第t次迭代的读取电压和对应的硬判决(标称电压)的差。注意,不同于上述公式[2]中交叉耦合系数与存储单元的电荷电平相乘,公式[4]中交叉耦合系数与存储单元电压相乘。
在一些实施方案中,在对存储单元编程期间,可以通过测量由对存储单元j编程而在存储单元电压vi中导致的变化,来估计kji的值。
在交叉耦合补偿步骤98,MSP基于所估计的交叉耦合系数补偿读取电压中的交叉耦合失真。MSP通常产生校正的电压,其中交叉耦合失真度被降低。例如,MSP可以将所估计的交叉耦合失真分量求和,并且从存储单元电压中减去该和,所述交叉耦合失真分量源自不同的干扰存储单元并且影响某一读取电压。这种操作有时称为线性均衡。
如本领域所公知,MSP可以替代地通过施加判决反馈均衡(DFE)来消除交叉耦合失真。在替代性的实施方案中,所述MSP可以使用减少状态最大似然序列估计(MLSE)过程,例如使用众所周知的Viterbi算法,来消除交叉耦合失真。此外作为替代,所述MSP可以使用最大后验(MAP)估计过程或任何其他适合的方法以基于所估计的交叉耦合系数来补偿交叉耦合失真。
所述MSP使用校正的电压来重构存储单元中存储的数据。在一些实施方案中,所述MSP分两步处理读取的电压(也即,两次扫描读取的电压值)。在第一步,MSP估计交叉耦合系数。在第二步,MSP使用所估计的系数来校正读取电压并且重构数据。两步处理可以是有利的,举例而言,例如由于在不同温度、电源电压或其他条件下写存储单元,而存储单元的不同的块或页具有不同的交叉耦合系数值时。在替代性的实施方案中,MSP可以在一步之内执行系数估计、失真补偿和数据重构。
在一个替代性的实施方案中,MSP起初在一步之内执行系数估计和数据重构。然后MSP估计重构的数据的质量(例如通过检测未被ECC校正的错误),并且若数据重构质量过低则执行第二步。这种技术不会显著地改变平均的处理时延或处理功率,在系数随着时间的推移而改变的情况下是有利的。
如上所述,在一些实施方案中,MSP在将数据写到存储单元之前将数据置乱,以便防止非随机数据使估计精确度降低。
在一些失真机制中,特定存储单元中的失真度和沿同一位线而处的其他存储单元的失真度是相关的。例如,在一些NAND闪存中,沿着每条位线的存储单元彼此相连构成十六个或三十二个存储单元组成的组,称为串。读取自特定存储单元的电压通常取决于串中的其他存储单元的电压。此效应通常称为背景图案相关性(BPD)。又例如,由读出放大器导致的参数变化和其他失真也可以在沿着一条位线的不同存储单元中相关联。
在其他情况下,具体存储单元中的失真度可以和沿同一字线而处的其他存储单元的失真度相关联。例如,考虑和同一页中的其他存储单元相比需要明显更长的编程时间的某一存储单元。当所涉及的页正在被编程时,在一定次数的P&V迭代之后,大多数存储单元达到它们的预期电荷电平,但是在“慢”存储单元中的电荷电平仍然远不达期望电平。因此,在慢存储单元中的源极-漏极电流就因此而较低。使用另外的P&V迭代过程继续对该慢存储单元进行编程,而其电流增大。增大的电流增大了落在地线上的电压以及页中其他存储单元的源极-漏极电压。作为结果,页中的其他存储单元的门限电压下降。
虽然下文对图4的说明涉及沿着位线的相关失真,然而图4的方法也可以用于预测和补偿沿着字线的相关失真。此外作为替代,所述方法可被用于预测和校正任何其他在某一组中的存储单元的失真度彼此相关的失真机制,这样的存储单元例如为在阵列中彼此极为接近的存储单元,以及具有相同电源电压(Vcc)线、地线或功率供应电路的存储单元。
当沿着某一位线的存储单元的失真度相关时,有时可将失真度建模为
其中e(n,m)表示在列(位线)m和行(页)n处的存储单元的失真度。c(i,m)表示从第i页的第m位线处的存储单元读取的电压。fi和gi分别表示定义在第i页的一个存储单元的电压与沿着同一位线在先前页中和后继页中的存储单元的依赖关系的函数。公式[5]假设页被循序处理。
图4是示意性地示出了根据本发明的一个实施方案的用于预测和消除位线相关失真的一种迭代方法的流程图。在失真记录步骤102,所述方法始于MSP记录先前读取的存储单元的失真度。可能在ECC解码之后,MSP可以用任何适当的方法计算失真度,例如通过将读取电压与期望的标称电压相比较。
在目标读取步骤106,MSP读取特定存储单元的电压,这个存储单元被称为目标存储单元。然后在预测步骤110,MSP基于记录的沿同一位线的其他存储单元的失真度值,并基于从这些存储单元读取的电压,预测在目标存储单元之中的失真度。例如,MSP可以使用上述公式[5]预测失真度。
在校正步骤114,MSP使用所估计的失真度来校正从目标存储单元读取的电压.然后在解码步骤118,MSP基于校正的电压,对存储在目标存储单元中的数据进行解码。当ECC解码器包括软解码器时,MSP可以替代地基于所估计的失真度,校正存储在存储单元中的比特的软ECC度量(例如,LLR)。此类校正办法,例如在上述PCT申请“CombinedDistortion Estimation and Error Correction Coding for MemoryDevices”中得以描述。
虽然图4的描述为清楚起见注重于单个目标存储单元,但是随着从存储器读取页,预测和校正过程通常并行地在多个存储单元中执行。
为了改进存储效率,MSP可以仅为每个位线存储单个失真值,而不是记录并存储每个先前读取的存储单元的失真度。存储的值,标注为ê(m),表示在读取第n页之后的e(n,m)的估计值。对于读取的第一页,ê(m)通常被初始化为0。
当对第n页解码时,MSP更新ê(m)的值,例如使用表达式
ê(m)=ê(m)-fn+1·c(n+1,m)+gn·c(n,m)来基于ê(m)预测失真。校正电压(例如,c(n+1,m)-ê(m))被用来解码数据。
上述方法在预测和校正读出放大器的变化的增益、偏差或其他变化的参数时会尤其有效。此类参数还可以包括对特定电压电平的分布或所有电压电平的联合分布的可变的偏差或展宽。
当此方法用于校正NAND闪存存储单元阵列中的BPD失真时,可能存在一个贡献了大部分失真的特定单元,例如因为它被过编程。在这种情况下,迭代方法可以在NAND存储单元上重复,直到这个存储单元被识别,在这时刻ê(m)的值被重置。不同于通常在每个NAND存储单元串执行的对BPD失真的校正,通常是在每条完整位线上追踪和执行读出放大器的变化。
在一些实施方案中,MSP52维持保持每条位线、字线或其他相关存储单元组的所追踪的参数的表格或其他数据结构。
如上所述,一些存储单元可能受扰动噪声影响,扰动噪声也就是由阵列中的其他存储单元上执行的操作所导致的失真。在一些实施方案中,MSP 52校正扰动噪声是在形成扰动噪声之时,而不是在读取被干扰存储单元时。
图5是示意性地示出了根据本发明的一个实施方案的一种用于校正扰动噪声的方法的流程图。在扰动创建操作步骤122,所述方法始于MSP 52执行存储器存取操作,该存储器存取操作可对一些存储单元贡献扰动噪声。存储器存取操作可以包括,例如,编程、读或擦除操作。在读取潜在被扰动存储单元的步骤126,MSP从可能被存储器存取操作所扰动的存储单元读取电压。
在扰动估计步骤130,MSP评估在潜在被扰动存储单元中的扰动噪声的电平。为此目的,MSP可以使用任何适合的失真估计方法。例如,所述MSP可以使用判决导向方法,其中将读取自存储单元的电压和由硬分割所确定的相应标称电压电平相比较,或者与通过将ECC解码运用于读取自存储单元的电压而确定的标称电压电平作比较。
在一些情况下,扰动噪声可以增加在相邻页中的一些已擦除存储单元中的电荷电平。在这样的情况下,MSP可以通过对潜在被扰动页中的已擦除存储单元(也即,其电压低于某一门限电平的存储单元,该门限电平可以不同于通常用于检测已擦除存储单元的门限电平)的数量进行计数,来评估扰动电平。MSP可以将潜在扰动存储器存取操作之前和之后的已擦除存储单元的数量进行比较,并且从这两个结果之间的差来评估扰动电平。
在高扰动检查步骤134,MSP检查所估计的失真度是否超过一预定义的门限。在扰动校正步骤138,如果扰动电平被视为高,则MSP校正在潜在被扰动存储单元中的扰动噪声。例如,MSP可以刷新在同一存储单元中的数据,重新编程在其他存储单元中(也即,在另一页中)的数据,或对现有的已编程的存储单元增加电荷。MSP也可以使用更强的ECC来编码数据,并且将新编码的数据存储在另一页中。否则,也即,如果扰动电平被认为可容忍,则在终止步骤142终止该方法。
在一些情况下,在每次读、写和擦除操作之后执行图5的方法,会显著地增加处理时间。因此,在一些实施方案中,MSP仅仅在***空闲的时间段期间执行图5的方法。
图6是根据本发明的一个替代性的实施方案,示意性地示出了用于校正扰动噪声的另一种方法的流程图。所述方法基于扰动噪声是由比目标存储单元更新近地编程的存储单元贡献到该目标存储单元的事实。为简洁起见,比目标存储单元更为新近地编程的存储单元被称为与目标单元相比“较年轻”。比目标存储单元更早编程的存储单元被称为“较老”存储单元。
在潜在干扰存储单元识别步骤146,上述方法始于MSP 52识别潜在地对目标存储单元引发扰动噪声的存储单元。在较年轻存储单元识别步骤150,MSP识别并标记哪些潜在干扰存储单元比目标存储单元较年轻。在一些实施方案中,MSP存储每个页被编程的时间标记,其通常作为页的一部分和数据一起存储。所述MSP查询所存储的标记,以便确定哪些存储单元比目标存储单元较年轻。
当循序写存储器页时,MSP可以把在较大编号的页中的存储单元视为相比目标单元较年轻。替代地,当未循序写存储器页时,MSP可以在每个页中存储一个变量,该变量指示该页与相邻页相比的相对年龄。当此页被编程时,上述变量被设置并存储。例如,所述变量可以包括如下计数值,其对迄今为止在擦除块中被编程的页的数量进行计数。替代地,上述变量可以为每个相邻页包含一个布尔标志,其指示在当前页被编程时,相邻页是已编程还是已擦除。此外作为替代,MSP可以使用任何其他适合的方法以确定与目标存储单元相比较年轻的潜在干扰存储单元。
在干扰存储单元读取步骤154,MSP52读取被标记的存储单元(也即,比目标存储单元较年轻的潜在干扰存储单元)的电压。所述MSP可以重新读取干扰存储单元和/或使用ECC解码器对存储在潜在干扰存储单元中的数据进行可靠地解码。在目标存储单元读取步骤158,所述MSP也读取目标存储单元的电压。在一些实施方案中,目标存储单元的电压以高分辨率读取,例如使用具有位数高于存储在每个存储单元中的数据位数的ADC。被标记的存储单元的电压有时可以用降低的分辨率读取。
在扰动贡献估计步骤162,所述MSP估计由较年轻潜在干扰存储单元贡献到目标存储单元的扰动噪声的电平。所估计的扰动电平可以取决于:潜在被干扰存储单元的相对年龄、存储在潜在干扰存储单元中的电压值和/或数据、潜在干扰存储单元相对于目标存储单元的位置(例如,它们是否位于一相邻页、第二相邻页,等等)、被干扰存储单元的最近的编程-擦除循环的次数和/或其他信息或判据。对扰动电平的一种有效估计,是该扰动电平以上述参数为条件的平均值。
在扰动消除步骤166,所述MSP对所估计的扰动电平进行补偿。例如,所述MSP可以从读取自目标存储单元的电压中减去所估计的扰动电平,以产生校正的电压。校正的电压被用于对存储在目标存储单元中的数据解码,或者用于修改ECC解码器度量。
虽然上述说明为清楚起见注重于单个目标存储单元,但是图6的过程也可以随着从存储器读取页,而并行地针对多个目标存储单元执行。
在一些实施方案中,使用编程与验证(P&V)过程对存储单元编程,而当对存储单元编程时,MSP 52采用失真补偿。在一些实施方案中,MSP在对存储单元的编程和读取期间均采用失真补偿。
P&V过程通常用于对存储单元编程。在一典型的P&V过程,通过施加一系列电压脉冲而对一存储单元编程,该一系列电压脉冲的电压电平逐个脉冲增加。在每个脉冲之后,读取(“验证”)已编程的电压电平,且迭代继续进行直到达到期望的电平。P&V过程,例如,由Jung等人于1996年11月在IEEE Journal of Solid State Circuits(11:31)的1575页-1583页上发表的“A 117mm2 3.3V Only 128Mb MultilevelNAND Flash Memory for Mass Storage Applications”中描述,以及由Lee等人于2002年5月在IEEE Electron Device Letters(23:5)的264页-266页发表的“Effects of Floating Gate Interference onNAND Flash Memory Cell Operation”中描述,上述文献均在此处以援引方式纳入本文。
图7是示意性地示出了根据本发明的另一实施方案的用于在存储单元阵列28之中估计和消除失真的方法的流程图。与一些已知的验证读取自存储单元的电压达到期望值的P&V过程不同,图7的方法使得存储在存储单元中的电荷达到期望的电荷,这个电荷表示所存储的数据。
验证存储在存储单元中的电荷电平而不是读取电压,是有好处的,因为在写时和读时的失真度可能是不同的。此方法可以用于补偿任何失真类型或者机制。
所述方法始于MSP52意欲对某页编程之时。在潜在干扰存储单元读取步骤170,对于页中一将要编程的给定目标存储单元,MSP读取潜在地导致该目标存储单元失真的存储单元。(在一些情况下,MSP已经处理了这些值,因为它们刚被编程,在这种情况下没有必要读取这些存储单元。)在失真计算步骤174,所述MSP估计由潜在干扰存储单元导致的对目标存储单元的失真。所述MSP可以使用任何适当的方法,例如上述的各种不同的估计过程,用于估计失真度。
基于所估计的失真,MSP计算一预先校正的电压值以便编程目标存储单元。通常,MSP通过从意图在所述存储单元中存储的标称电压电平中减去所估计的失真度,来产生校正的电压。
在预校正编程步骤178,所述MSP使用P&V过程,以预校正的电压对目标存储单元编程。作为结果,存储在目标存储单元中的电荷电平真实地反映了写到存储单元中的数据,因为它被预先校正以移除在写的时候存在的失真。
在存储单元读取步骤182,对存储单元的读取可能在对该存储单元编程之后很久才发生,当读取存储单元时,MSP读取目标存储单元以及潜在干扰存储单元。在失真重新估计步骤186,MSP重新估计在读取时由潜在干扰存储单元对目标存储单元导致的失真。MSP可以使用任何适合的方法,例如上述的各种不同的估计过程,用于重新估计所述失真度。
如上所述,目标存储单元可能在很久以前已被编程,而诸如温度和电源电压之类的操作条件可能已经改变。此外,在目标存储单元被编程之后,另外的潜在干扰存储单元可能已经被读、编程或擦除。从而,在步骤186计算的失真度可能与在上述步骤174计算的失真度大相径庭。
在校正步骤190,MSP基于重新估计的失真,校正读取自目标存储单元的电压。校正的电压被用于解码自目标存储单元的数据。为了在读取干扰存储单元的电压时减少失真,以判决导向方式迭代地执行对存储单元数据的解码。
在图7的方法中,在写存储单元的时候和读存储单元的时候都校正失真,且每次校正均使用当前存在的实际失真度。从而,相对于已知的P&V过程,本方法更具鲁棒性,并且更容忍对操作条件和随后的编程操作进行的改变。
在一些实施方案中,仅仅在编程期间采用失真校正,且不经过二次失真校正即对存储单元进行读取。在这些实施方案中,图7的方法的步骤182至190被略去,而MSP应该将来自未经编程的存储单元的干扰纳入考虑。
图8是示意性地示出了根据本发明的一个实施方案用于估计目标存储单元中的失真的又一种方法的流程图。图8的方法利用如下事实,即由在目标存储单元之前编程的存储单元导致的失真可不同于在目标存储单元之后编程的存储单元导致的失真。
另一种假设是,所述阵列使用P&V过程编程,如上所述。在一些已知的P&V过程中,例如在上文引用的由Jung等人所著的文献中,在某一页中的每个存储单元都被编程为标注以0至M-1的M个电压电平中的一个,其中电平0是已擦除电平。所述P&V过程分M个阶段对所述页编程。在阶段i,一系列电压脉冲被施加到编程电平应该为i或更高的存储单元。在每个脉冲之后,所述过程读取不同存储单元的电压,并且停止向已经达到其期望电平的存储单元施加脉冲。
在一些实施方案中,对于一给定的目标存储单元,MSP根据编程时间对潜在干扰存储单元分类。(如上所述,MSP可以存储每个页的被编程的时间标记,并且将存储的标记用于分类过程。)存储单元的一子集,标注为D1,包括潜在干扰存储单元,其在目标存储单元被编程时并未被所述P&V过程完全编程。当目标存储单元被编程时,类D1中的存储单元处于已擦除电平或是被部分编程,但是可能从那时起已被编程。
在一些编程方案中,分数个阶段对存储单元编程。例如,在一些4电平存储单元编程方法中,最低有效位(LSB)和最高有效位(MSB)被在两个单独的步骤中写入。一种示例性的方法由Takeuchi等人于1998年8月在IEEE Journal of Solid-State Circuits(33:8)的1228页-1238页发表的“A Multipage Cell Architecture for High-SpeedProgramming Multilevel NAND Flash Memories”中描述,该文献在此处以援引方式纳入本文。在此类方法中,在某一时间点可将存储单元编程到中间电平,而未来编程步骤将所述存储单元编程到其最终编程值。当使用此类编程方法时,类D1被扩展而包括如下存储单元,该存储单元在目标存储单元被编程时处于已擦除电平或处于中间编程电平,但可以自那时起编程到其最终值。
存储单元32的另一子集,标注为D2,包括潜在干扰存储单元,其在目标存储单元被编程时已被编程。因为当目标存储单元被编程时,从这些存储单元到该目标存储单元的干扰已经存在,故所述P&V过程已经至少部分地对此干扰进行补偿。第三类存储单元,标注为D3,包括与所述目标存储单元并发编程的潜在干扰存储单元,例如,与所述目标存储单元处于同一页上的存储单元。
MSP 52可以根据不同类的潜在干扰存储单元,估计针对目标存储单元的失真。设n和m各自表示阵列28中目标存储单元的行号和列号。则xn,m表示在使用所述P&V过程写目标存储单元之后此目标存储单元的电压。xi,j表示在上次编程迭代之后的目标存储单元电压被验证时的位于i行和j列的存储单元的电压。yn,m表示读取自目标存储单元的存储单元电压值,由于失真,它不同于xn,m。
在yn,m中存在的总失真可被写为
其中hn,m,i,j表示从位于i行j列的干扰存储单元到位于n行m列的目标存储单元的交叉耦合干扰系数。b表示常数偏项。虽然上述公式[7]涉及线性失真模型,但也可以使用非线性模型。
类D1中的存储单元包括在目标存储单元被编程之后而被编程的存储单元。因此,由于该编程操作而添加到这些存储单元的电荷所导致的干扰在那时并不存在,并且所述P&V过程也不可能已经对此失真做补偿。
当目标存储单元被编程时,类D2中的存储单元已经被编程,并且当所述P&V过程对所述目标存储单元编程时,这些存储单元所导致的失真已经存在。因此,当目标存储单元被编程时,所述P&V过程已经(至少部分地)补偿所述失真。然而,在目标存储单元被编程时这种补偿是正确的,并且不考虑在那一时刻和所述目标存储单元被读取时之间所发生的老化、电荷泄漏和其他效应。在以上公式[7]的第二项中的是对电压的估计,其在目标存储单元被编程时存在于干扰存储单元之中。
在一些实施方案中,可通过将所述ECC解码运用到这些存储单元的输出来估计。通过恢复写到存储单元中的比特集,所述ECC可以帮助校正严重的错误,例如由严重泄漏导致的错误。替代地,公式[7]的第二项中的可以用yi,j的无记忆函数或的无记忆函数来估计,例如α·yi,j(或),其为电压电平为yi,j的存储单元估计泄漏错误。
上述公式[7]中的第三项,涉及类D3中的存储单元,假定使用P&V过程,其固有地对由被编程到小于或等于目标存储单元的电平的D3存储单元所导致的失真进行补偿。在目标存储单元已经被完全编程之后,当在与该目标存储单元相同的页上的潜在干扰存储单元被编程到较高电平时,此编程通常在P&V过程的较晚步骤中执行。从而,由具有比目标存储单元更高电平的D3存储单元所导致的失真的有效部分在目标存储单元被编程时将不存在,并且P&V过程将不能补偿此部分失真。当使用在一次操作中对给定存储单元的所有位编程的P&V过程(例如由Jung等人所著的文献中描述的过程)时,上述公式[7]的第三项尤其有效。当使用在多个阶段中对存储单元编程不同的数据位的P&V过程(例如由Takeuchi等人所著的文献中描述的过程)时,上述公式[7]的第三项可被略去。
在电压读取步骤194,图8的方法始于MSP52从阵列28的存储单元32读取电压。所述电压既包括目标存储单元的电压,也包括潜在地导致对目标存储单元干扰的存储单元的电压。在当前实例中,阵列28的页被循序读取,也即,逐行读取,虽然也可以使用其他读取配置。
在编程时间估计步骤196,在目标存储单元被编程时,MSP估计目标存储单元和潜在干扰存储单元的值(例如,电荷电平)。所述估计可以将一些因素纳入考虑,例如读取自目标存储单元和潜在干扰存储单元的电压、目标存储单元和潜在干扰存储单元的编程顺序、自先前的编程和擦除循环以来经过的时间、存储单元已经经历的擦除循环的数量、诸如电源电压和温度之类的环境参数,等等。
在写-读差估计步骤198,MSP然后估计在目标存储单元被编程时和目标存储单元被读取时产生的所估计的失真度之间的差。MSP可以使用上述公式[7]来估计这个差。在校正步骤200,MSP使用所估计的差来补偿失真(例如,从读取自目标存储单元的电压减去所述差或调整ECC度量)。
在一些P&V过程中,从较小编号的页到较大编号的页循序地将页写到存储器中。从而,当存储单元xn,m被编程时,在i≤n的页中的存储单元已被编程,且可以假设P&V过程补偿了由这些存储单元贡献的失真。
在一些实施方案中,MSP 52以与写这些页的顺序相反的顺序(也即,从较高编号的页到较低编号的页)读取这些页。当读取第n页时,MSP为每个存储单元列m计算失真度量Mm(n):
其中N表示擦除块中的行(字线)的数量,而Xi,j表示从在i行和j列处的存储单元读取的电压。假设失真仅影响所涉及的擦除块中的存储单元。所述MSP通过计算从读取自当前页的电压去除失真度量。可被用作函数f的示例性函数,可以包括或者
在替代性的实施方案中,MSP并发处理一整块的存储单元。使用待要被编程的数据和交叉耦合系数hn,m,i,j,MSP计算编程值和读取值之间的误差,并且补偿此误差。
虽然图8的示例性方法涉及某些P&V处理实现,但所述方法经必要的修改后,可以和任意其他适合的P&V过程一起使用。本领域技术人员将理解,可以基于所公开的实施方案对本方法进行适应性修改,以与其他种类的P&V过程一起使用。
基于失真估计的数据刷新
在一些实施方案中,MSP 52基于所估计的失真度,刷新(也即,重新编程)存储在存储单元阵列28中的数据。
图9是根据本发明的实施方案示意性地示出了刷新存储单元阵列中的数据的方法的流程图。在页读取步骤210,该方法始于MSP 52从阵列28读取存储器页。在页失真估计步骤214,MSP估计所读取的页中的失真度。为此目的,MSP可以使用任何适当的失真估计方法,例如上文所描述的方法。
在失真度检查步骤218,MSP检查失真度是否可容忍。例如,MSP可以将所估计的失真度与指示最大可容忍的失真度的预定的门限作比较。最大可容忍的失真度通常被选择为使得当达到门限时解码数据仍然有很大可能是无错误的。这种情况保证了刷新的数据有可能是无错误的。
如果失真度是可容忍的,所述方法循环回到上述页读取步骤210,且MSP继续读取并检查存储器页。
另一方面,如果MSP确定在所读取的存储页中的失真度高于可容忍的失真度,则在重新编程步骤222,所述MSP对页的数据重新编程。然后该方法循环回到上述的页读取步骤210。
不同于一些周期性地执行重新编程的公知的存储器刷新方法,不论失真度如何,图9的方法仅在必要时才重新编程数据。从而,与这些公知的方法相比,再编程操作的频率降低。通常,图9的方法结合了***20的常规操作。也即,MSP使用常规的页读和/或失真估计操作,来评估是否需要刷新,而不执行专门的读操作。
虽然此处描述的实施方案主要着重于从多层单元(MLC)取出数据,但是本发明的原理也可用于单层单元(SLC)。虽然此处描述的实施方案主要着重于从固态存储设备取出数据,但是本发明的原理也可以用于在硬盘驱动器(HDD)和其他数据存储介质和设备中存储和取出数据。
因此应该理解,此处所描述的实施方案仅以举例方式引用,且本发明不限于上文中已经具体示出和描述的内容。与此相反,本发明的范围涵盖上述各个特征的组合和子组合,以及其中本领域技术人员在阅读前述说明之后即可作出的未在现有技术中公开的变化和修改。
Claims (15)
1.一种用于操作存储器的方法,包括:
将数据作为相应的第一电压电平存储在所述存储器的一组模拟存储单元中;
在存储所述数据之后,从所述模拟存储单元读取相应的第二电压电平,所述第二电压电平中的至少一些不同于所述相应的第一电压电平;
识别潜在地导致针对读取自目标模拟存储单元的第二电压电平的失真的模拟存储单元的子集;
基于数据被存储在所述模拟存储单元中的相应时间和数据被存储在所述目标模拟存储单元中的时间之间的关系,将所述子集中的模拟存储单元分成多个类;
为所述类的每一个估计由该类中的模拟存储单元针对所述目标模拟存储单元中的第二电压电平所导致的相应失真;
使用为所述类中的一个或多个类中的每一个所估计的相应失真,校正读取自所述目标模拟存储单元的第二电压电平;以及
基于所校正的第二电压电平,重构在所述目标模拟存储单元中存储的数据。
2.根据权利要求1所述的方法,其中存储数据和读取第二电压电平包括应用编程与验证(P&V)过程。
3.根据权利要求1所述的方法,其中分类模拟存储单元包括识别所述子集中的比所述目标模拟存储单元更为新近地将数据存储在其中的模拟存储单元,且其中校正第二电压电平包括基于仅在所识别的模拟存储单元中的失真来校正读取自所述目标模拟存储单元的第二电压电平。
4.根据权利要求1所述的方法,其中分类模拟存储单元包括:定义第一类,其包括在所述子集中的比所述目标模拟存储单元更为新近地将数据存储在其中的模拟存储单元;定义第二类,其包括在所述子集中的比所述目标模拟存储单元更早地将数据存储在其中的模拟存储单元;定义第三类,其包括在所述子集中的与所述目标模拟存储单元并发地将数据存储在其中的模拟存储单元。
5.根据权利要求1所述的方法,其中读取第二电压电平、估计失真和校正第二电压电平包括,以第一分辨率处理读取自所述目标模拟存储单元的第二电压电平,并且以比所述第一分辨率更不精确的第二分辨率处理读取自所述子集中的模拟存储单元的第二电压电平。
6.根据权利要求1所述的方法,其中存储数据包括存储所述数据被存储在所述模拟存储单元时的时间标记,且其中分类模拟存储单元包括查询所存储的标记。
7.根据权利要求1所述的方法,其中估计失真包括响应于选自下列一组参数中的至少一个参数估计失真度,所述参数为:所述模拟存储单元的编程次数、存储在所述模拟存储单元中的数据、所述模拟存储单元相对于所述目标模拟存储单元的位置以及所述目标模拟存储单元最近已经经历的编程-擦除循环的次数。
8.一种数据存储装置,包括:
接口,其操作性地与包含多个模拟存储单元的存储器通信;以及
存储器信号处理器(MSP),其被耦合到所述接口并且被布置为:将数据作为相应的第一电压电平存储在一组模拟存储单元中;在存储所述数据之后,从所述模拟存储单元读取相应的第二电压电平,所述第二电压电平中的至少一些不同于所述相应的第一电压电平;识别潜在地导致针对读取自目标模拟存储单元的第二电压电平的失真的模拟存储单元的子集;基于数据被存储在所述模拟存储单元中的相应时间和数据被存储在所述目标模拟存储单元中的时间之间的关系,将所述子集中的模拟存储单元分成多个类;为所述类的每一个估计由该类中的模拟存储单元针对所述目标模拟存储单元中的第二电压电平所导致的相应失真;使用为所述类中的一个或多个类中的每一个所估计的相应失真,校正读取自所述目标模拟存储单元的第二电压电平;以及基于所校正的第二电压电平,重构在所述目标模拟存储单元中存储的数据。
9.根据权利要求8所述的装置,其中所述MSP被布置为:通过应用编程与验证(P&V)过程存储所述数据和读取所述第二电压电平。
10.根据权利要求8所述的装置,其中所述MSP被布置为:识别所述子集中的比所述目标模拟存储单元更为新近地将数据存储在其中的模拟存储单元,且基于仅在所识别的模拟存储单元中的失真来校正读取自所述目标模拟存储单元的第二电压电平。
11.根据权利要求8所述的装置,其中所述MSP被布置为:定义第一类,其包括在所述子集中的比所述目标模拟存储单元更为新近地将数据存储在其中的模拟存储单元;第二类,其包括在所述子集中的比所述目标模拟存储单元更早地将数据存储在其中的模拟存储单元;第三类,其包括在所述子集中的与所述目标模拟存储单元并发地将数据存储在其中的模拟存储单元。
12.根据权利要求8所述的装置,其中所述MSP被布置为:以第一分辨率处理读取自所述目标模拟存储单元的第二电压电平,并且以比所述第一分辨率更不精确的第二分辨率处理读取自所述子集中的模拟存储单元的第二电压电平。
13.根据权利要求8所述的装置,其中所述MSP被布置为:存储在存储数据时该数据被存储在所述模拟存储单元时的时间标记,且查询所存储的标记以对所述模拟存储单元进行分类。
14.根据权利要求8所述的装置,其中所述MSP被布置为:响应于选自下列一组参数中的至少一个参数来估计失真,所述参数为:所述模拟存储单元的编程次数、存储在所述模拟存储单元中的数据、所述模拟存储单元相对于所述目标模拟存储单元的位置以及所述目标模拟存储单元最近已经经历的编程-擦除循环的次数。
15.一种数据存储装置,包括:
存储器,其包含多个模拟存储单元;以及
存储器信号处理器(MSP),其被耦合到所述存储器并且被布置为:将数据作为相应的第一电压电平存储在一组模拟存储单元中;在存储所述数据之后,从所述模拟存储单元读取相应的第二电压电平,所述第二电压电平中的至少一些不同于所述相应的第一电压电平;识别潜在地导致针对读取自目标模拟存储单元的第二电压电平的失真的模拟存储单元的子集;基于数据被存储在所述模拟存储单元中的相应时间和数据被存储在所述目标模拟存储单元中的时间之间的关系,将所述子集中的模拟存储单元分成多个类;为所述类的每一个估计由该类中的模拟存储单元针对所述目标模拟存储单元中的第二电压电平所导致的相应失真;使用为所述类中的一个或多个类中的每一个所估计的相应失真,校正读取自所述目标模拟存储单元的第二电压电平;以及基于所校正的第二电压电平,重构在所述目标模拟存储单元中存储的数据。
Applications Claiming Priority (13)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US74710606P | 2006-05-12 | 2006-05-12 | |
US60/747,106 | 2006-05-12 | ||
US80653306P | 2006-07-04 | 2006-07-04 | |
US60/806,533 | 2006-07-04 | ||
US82706706P | 2006-09-27 | 2006-09-27 | |
US60/827,067 | 2006-09-27 | ||
US86739906P | 2006-11-28 | 2006-11-28 | |
US60/867,399 | 2006-11-28 | ||
US88502407P | 2007-01-16 | 2007-01-16 | |
US60/885,024 | 2007-01-16 | ||
US88642907P | 2007-01-24 | 2007-01-24 | |
US60/886,429 | 2007-01-24 | ||
CN2007800261211A CN101496110B (zh) | 2006-05-12 | 2007-05-10 | 存储设备中的失真估计和消除 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2007800261211A Division CN101496110B (zh) | 2006-05-12 | 2007-05-10 | 存储设备中的失真估计和消除 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103208309A true CN103208309A (zh) | 2013-07-17 |
CN103208309B CN103208309B (zh) | 2016-03-09 |
Family
ID=38694297
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210303689.6A Active CN103208309B (zh) | 2006-05-12 | 2007-05-10 | 存储设备中的失真估计和消除 |
CN201210303094.0A Active CN103258572B (zh) | 2006-05-12 | 2007-05-10 | 存储设备中的失真估计和消除 |
CN201210303215.1A Active CN103280239B (zh) | 2006-05-12 | 2007-05-10 | 存储设备中的失真估计和消除 |
Family Applications After (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210303094.0A Active CN103258572B (zh) | 2006-05-12 | 2007-05-10 | 存储设备中的失真估计和消除 |
CN201210303215.1A Active CN103280239B (zh) | 2006-05-12 | 2007-05-10 | 存储设备中的失真估计和消除 |
Country Status (4)
Country | Link |
---|---|
US (4) | US8050086B2 (zh) |
KR (1) | KR101375955B1 (zh) |
CN (3) | CN103208309B (zh) |
WO (1) | WO2007132453A2 (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108122586A (zh) * | 2016-11-30 | 2018-06-05 | 爱思开海力士有限公司 | 存储器件、包括它的半导体***和驱动半导体***的方法 |
CN109300500A (zh) * | 2017-07-25 | 2019-02-01 | 旺宏电子股份有限公司 | 存储器装置的数据管理方法与*** |
CN112053724A (zh) * | 2019-06-06 | 2020-12-08 | 群联电子股份有限公司 | 存储器控制方法、存储器存储装置及存储器控制电路单元 |
CN114705973A (zh) * | 2022-06-01 | 2022-07-05 | 北京航空航天大学杭州创新研究院 | 非侵入式的复杂环境集成电路老化监测方法 |
Families Citing this family (253)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8645793B2 (en) | 2008-06-03 | 2014-02-04 | Marvell International Ltd. | Statistical tracking for flash memory |
WO2007132458A2 (en) * | 2006-05-12 | 2007-11-22 | Anobit Technologies Ltd. | Memory device programming using combined shaping and linear spreading |
US8239735B2 (en) | 2006-05-12 | 2012-08-07 | Apple Inc. | Memory Device with adaptive capacity |
KR101375955B1 (ko) | 2006-05-12 | 2014-03-18 | 애플 인크. | 메모리 디바이스 내의 왜곡 추정 및 상쇄 |
KR101202537B1 (ko) | 2006-05-12 | 2012-11-19 | 애플 인크. | 메모리 디바이스를 위한 결합된 왜곡 추정 및 에러 보정 코딩 |
WO2007132452A2 (en) | 2006-05-12 | 2007-11-22 | Anobit Technologies | Reducing programming error in memory devices |
WO2008026203A2 (en) | 2006-08-27 | 2008-03-06 | Anobit Technologies | Estimation of non-linear distortion in memory devices |
US7818653B2 (en) | 2006-09-28 | 2010-10-19 | Sandisk Corporation | Methods of soft-input soft-output decoding for nonvolatile memory |
US7805663B2 (en) * | 2006-09-28 | 2010-09-28 | Sandisk Corporation | Methods of adapting operation of nonvolatile memory |
US7904783B2 (en) * | 2006-09-28 | 2011-03-08 | Sandisk Corporation | Soft-input soft-output decoder for nonvolatile memory |
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 |
US7827450B1 (en) | 2006-11-28 | 2010-11-02 | Marvell International Ltd. | Defect detection and handling for memory based on pilot cells |
US7924648B2 (en) | 2006-11-28 | 2011-04-12 | Anobit Technologies Ltd. | Memory power and performance management |
US8316206B2 (en) | 2007-02-12 | 2012-11-20 | Marvell World Trade Ltd. | Pilot placement for non-volatile memory |
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 |
US7900102B2 (en) | 2006-12-17 | 2011-03-01 | Anobit Technologies Ltd. | High-speed programming of memory devices |
US8151166B2 (en) | 2007-01-24 | 2012-04-03 | Anobit Technologies Ltd. | Reduction of back pattern dependency effects in memory devices |
US7751240B2 (en) | 2007-01-24 | 2010-07-06 | Anobit Technologies Ltd. | Memory device with negative thresholds |
WO2008111058A2 (en) | 2007-03-12 | 2008-09-18 | Anobit Technologies Ltd. | Adaptive estimation of memory cell read thresholds |
US7808834B1 (en) | 2007-04-13 | 2010-10-05 | Marvell International Ltd. | Incremental memory refresh |
US8001320B2 (en) | 2007-04-22 | 2011-08-16 | Anobit Technologies Ltd. | Command interface for memory devices |
US8429493B2 (en) | 2007-05-12 | 2013-04-23 | Apple Inc. | Memory device with internal signap processing unit |
US8234545B2 (en) | 2007-05-12 | 2012-07-31 | Apple Inc. | Data storage with incremental redundancy |
US7925936B1 (en) | 2007-07-13 | 2011-04-12 | Anobit Technologies Ltd. | Memory device with non-uniform programming levels |
US8259497B2 (en) | 2007-08-06 | 2012-09-04 | Apple Inc. | Programming schemes for multi-level analog memory cells |
US8031526B1 (en) | 2007-08-23 | 2011-10-04 | Marvell International Ltd. | Write pre-compensation for nonvolatile memory |
US8189381B1 (en) | 2007-08-28 | 2012-05-29 | Marvell International Ltd. | System and method for reading flash memory cells |
US8085605B2 (en) | 2007-08-29 | 2011-12-27 | Marvell World Trade Ltd. | Sequence detection for flash memory with inter-cell interference |
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 |
US7751237B2 (en) | 2007-09-25 | 2010-07-06 | Sandisk Il, Ltd. | Post-facto correction for cross coupling in a 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 |
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 |
US8527819B2 (en) | 2007-10-19 | 2013-09-03 | Apple Inc. | Data storage in analog memory cell arrays having erase failures |
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 |
WO2009053961A2 (en) * | 2007-10-25 | 2009-04-30 | Densbits Technologies Ltd. | Systems and methods for multiple coding rates in flash devices |
KR101509836B1 (ko) | 2007-11-13 | 2015-04-06 | 애플 인크. | 멀티 유닛 메모리 디바이스에서의 메모리 유닛의 최적화된 선택 |
ITRM20070621A1 (it) | 2007-11-28 | 2009-05-29 | Micron Technology Inc | Compensazione dell'effetto della configurazione a ritroso in un dispositivo di memorizzazione. |
US8225181B2 (en) | 2007-11-30 | 2012-07-17 | Apple Inc. | Efficient re-read operations from memory devices |
WO2009072101A2 (en) * | 2007-12-05 | 2009-06-11 | Densbits Technologies Ltd. | Apparatus and methods for generating row-specific reading thresholds in flash memory |
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 |
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 |
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 |
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 |
US8255758B2 (en) * | 2008-01-21 | 2012-08-28 | Apple Inc. | Decoding of error correction code using partial bit inversion |
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 |
US8179719B1 (en) | 2008-03-10 | 2012-05-15 | Marvell International Ltd. | Systems and methods for improving error distributions in multi-level cell memory systems |
EP2266036B9 (en) * | 2008-03-11 | 2016-05-18 | Agere Systems, Inc. | Methods and apparatus for storing data in a multi-level cell flash memory device with cross-page sectors, multi-page coding and per-page coding |
US8059457B2 (en) | 2008-03-18 | 2011-11-15 | Anobit Technologies Ltd. | Memory device with multiple-accuracy read commands |
US8493783B2 (en) | 2008-03-18 | 2013-07-23 | Apple Inc. | Memory device readout using multiple sense times |
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 |
US8327242B1 (en) | 2008-04-10 | 2012-12-04 | Apple Inc. | High-performance ECC decoder |
US9594679B2 (en) * | 2008-05-01 | 2017-03-14 | Sandisk Il Ltd. | Flash cache flushing method and system |
KR101506655B1 (ko) * | 2008-05-15 | 2015-03-30 | 삼성전자주식회사 | 메모리 장치 및 메모리 데이터 오류 관리 방법 |
US8797795B2 (en) * | 2008-07-01 | 2014-08-05 | Lsi Corporation | Methods and apparatus for intercell interference mitigation using modulation coding |
US8498151B1 (en) | 2008-08-05 | 2013-07-30 | Apple Inc. | Data storage in analog memory cells using modified pass 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 |
US8169825B1 (en) | 2008-09-02 | 2012-05-01 | Anobit Technologies Ltd. | Reliable data storage in analog memory cells subjected to long retention periods |
US8949684B1 (en) | 2008-09-02 | 2015-02-03 | Apple Inc. | Segmented data storage |
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 |
CN102203876B (zh) | 2008-09-30 | 2015-07-15 | Lsi公司 | 用于存储器器件的软数据生成的方法和装置 |
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 |
US8291297B2 (en) * | 2008-12-18 | 2012-10-16 | Intel Corporation | Data error recovery in non-volatile memory |
US8174857B1 (en) | 2008-12-31 | 2012-05-08 | Anobit Technologies Ltd. | Efficient readout schemes for analog memory cell devices using multiple read threshold sets |
US8248831B2 (en) | 2008-12-31 | 2012-08-21 | Apple Inc. | Rejuvenation of analog memory cells |
US8924661B1 (en) | 2009-01-18 | 2014-12-30 | Apple Inc. | Memory system including a controller and processors associated with memory devices |
US7995387B2 (en) | 2009-01-30 | 2011-08-09 | Sandisk Il Ltd. | System and method to read data subject to a disturb condition |
US8374026B2 (en) | 2009-01-30 | 2013-02-12 | Sandisk Il Ltd. | System and method of reading data using a reliability measure |
US8228701B2 (en) | 2009-03-01 | 2012-07-24 | Apple Inc. | Selective activation of programming schemes in analog memory cell arrays |
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 |
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 |
US8429498B1 (en) | 2009-03-25 | 2013-04-23 | Apple Inc. | Dual ECC decoder |
US8259506B1 (en) | 2009-03-25 | 2012-09-04 | Apple Inc. | Database of memory read thresholds |
US8832354B2 (en) | 2009-03-25 | 2014-09-09 | Apple Inc. | Use of host system resources by memory controller |
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 |
US8341501B2 (en) * | 2009-04-30 | 2012-12-25 | International Business Machines Corporation | Adaptive endurance coding of non-volatile memories |
US8566510B2 (en) * | 2009-05-12 | 2013-10-22 | Densbits Technologies Ltd. | Systems and method for flash memory management |
US8935589B2 (en) * | 2009-06-02 | 2015-01-13 | Silicon Motion, Inc. | Controller and data access method for flash memories |
TWI415130B (zh) * | 2009-06-02 | 2013-11-11 | Silicon Motion Inc | 快閃記憶體之控制器以及於快閃記憶體存取資料的方法 |
US8453038B2 (en) | 2009-06-30 | 2013-05-28 | Apple Inc. | Chien search using multiple basis representation |
US8479080B1 (en) | 2009-07-12 | 2013-07-02 | Apple Inc. | Adaptive over-provisioning in memory systems |
US8601352B1 (en) | 2009-07-30 | 2013-12-03 | Apple Inc. | Efficient LDPC codes |
US8130544B2 (en) | 2009-08-17 | 2012-03-06 | Skymedi Corporation | Method of reducing bit error rate for a flash memory |
US8868821B2 (en) * | 2009-08-26 | 2014-10-21 | Densbits Technologies Ltd. | Systems and methods for pre-equalization and code design for a flash memory |
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 |
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 |
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 |
US8176234B2 (en) * | 2009-12-04 | 2012-05-08 | International Business Machines Corporation | Multi-write coding of non-volatile memories |
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 |
US7990767B2 (en) * | 2009-12-30 | 2011-08-02 | Sandisk Il Ltd. | Flash memory system having cross-coupling compensation during read operation |
US8694814B1 (en) | 2010-01-10 | 2014-04-08 | Apple Inc. | Reuse of host hibernation storage space by memory controller |
US8572311B1 (en) | 2010-01-11 | 2013-10-29 | Apple Inc. | Redundant data storage in multi-die memory systems |
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 |
US8380915B2 (en) | 2010-01-27 | 2013-02-19 | Fusion-Io, Inc. | Apparatus, system, and method for managing solid-state storage media |
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 |
US8775913B2 (en) | 2010-03-31 | 2014-07-08 | Lsi Corporation | Methods and apparatus for computing soft data or log likelihood ratios for received values in communication or storage systems |
US8504885B2 (en) | 2010-03-31 | 2013-08-06 | Lsi Corporation | Methods and apparatus for approximating a probability density function or distribution for a received value in communication or storage systems |
US8429500B2 (en) | 2010-03-31 | 2013-04-23 | Lsi Corporation | Methods and apparatus for computing a probability value of a received value in communication or storage systems |
US9104610B2 (en) | 2010-04-06 | 2015-08-11 | 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 |
US9099169B1 (en) | 2010-04-27 | 2015-08-04 | Tagmatech, Llc | Memory device and method thereof |
US8339873B1 (en) | 2010-04-27 | 2012-12-25 | Bruce Lee Morton | 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 |
US8510639B2 (en) | 2010-07-01 | 2013-08-13 | 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 |
KR101678888B1 (ko) * | 2010-08-06 | 2016-12-07 | 삼성전자주식회사 | 비휘발성 메모리 장치의 데이터 판독 방법 |
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 |
US8499227B2 (en) | 2010-09-23 | 2013-07-30 | Micron Technology, Inc. | Memory quality monitor based compensation method and apparatus |
US8243511B2 (en) | 2010-09-27 | 2012-08-14 | Seagate Technology Llc | Reuse of information from memory read operations |
US9021181B1 (en) | 2010-09-27 | 2015-04-28 | Apple Inc. | Memory management for unifying memory cell conditions by using maximum time intervals |
US8627175B2 (en) | 2010-09-27 | 2014-01-07 | Seagate Technology Llc | Opportunistic decoding in memory systems |
US8769374B2 (en) | 2010-10-13 | 2014-07-01 | International Business Machines Corporation | Multi-write endurance and error control coding of non-volatile memories |
US8467237B2 (en) | 2010-10-15 | 2013-06-18 | Micron Technology, Inc. | Read distribution management for phase change memory |
US9063878B2 (en) | 2010-11-03 | 2015-06-23 | Densbits Technologies Ltd. | Method, system and computer readable medium for copy back |
KR101177458B1 (ko) * | 2010-11-08 | 2012-08-27 | 숭실대학교산학협력단 | 플래시 메모리 장치에서 발생하는 커플링 잡음 전압 산출 장치 및 방법 |
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 |
US8649215B2 (en) * | 2010-12-22 | 2014-02-11 | HGST Netherlands B.V. | Data management in flash memory using probability of charge disturbances |
US8599609B2 (en) * | 2010-12-22 | 2013-12-03 | HGST Netherlands B.V. | Data management in flash memory using probability of charge disturbances |
US9898361B2 (en) | 2011-01-04 | 2018-02-20 | Seagate Technology Llc | Multi-tier detection and decoding in flash memories |
US9292377B2 (en) | 2011-01-04 | 2016-03-22 | Seagate Technology Llc | Detection and decoding in flash memories using correlation of neighboring bits and probability based reliability values |
KR101497254B1 (ko) * | 2011-02-18 | 2015-02-27 | 미쓰비시덴키 가부시키가이샤 | 메모리 진단 장치 및 메모리 진단 방법 및 프로그램이 기록된 기록 매체 |
US10079068B2 (en) | 2011-02-23 | 2018-09-18 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Devices and method for wear estimation based memory management |
US8879317B2 (en) | 2011-03-01 | 2014-11-04 | Sandisk Technologies Inc. | System and method of decoding data from memory based on sensing information and decoded data of neighboring storage elements |
US9502117B2 (en) * | 2011-03-14 | 2016-11-22 | Seagate Technology Llc | Cell-level statistics collection for detection and decoding in flash memories |
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 |
US9372792B1 (en) | 2011-05-12 | 2016-06-21 | Avago Technologies General Ip (Singapore) Pte. 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 |
US9195592B1 (en) | 2011-05-12 | 2015-11-24 | Densbits Technologies Ltd. | Advanced management of a non-volatile memory |
US8996790B1 (en) | 2011-05-12 | 2015-03-31 | Densbits Technologies Ltd. | System and method for flash memory management |
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 |
US20120297116A1 (en) | 2011-05-16 | 2012-11-22 | Anobit Technologies | Sparse programming of analog memory cells |
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 |
US9449692B2 (en) | 2011-08-03 | 2016-09-20 | Micron Technology, Inc. | Functional data programming and reading in a memory |
WO2013030866A1 (en) * | 2011-08-29 | 2013-03-07 | Hitachi, Ltd. | Semiconductor storage device comprising electrically rewritable nonvolatile semiconductor memory |
US8553468B2 (en) | 2011-09-21 | 2013-10-08 | Densbits Technologies Ltd. | System and method for managing erase operations in a non-volatile memory |
US9053809B2 (en) * | 2011-11-09 | 2015-06-09 | Apple Inc. | Data protection from write failures in nonvolatile memory |
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 |
US9583425B2 (en) * | 2012-02-15 | 2017-02-28 | Maxim Integrated Products, Inc. | Solder fatigue arrest for wafer level package |
WO2013147797A1 (en) * | 2012-03-29 | 2013-10-03 | Intel Corporation | Method and apparatus for treatment of state confidence data retrieved from a non-volatile memory array |
US9001575B2 (en) | 2012-03-30 | 2015-04-07 | Micron Technology, Inc. | Encoding program bits to decouple adjacent wordlines in a memory device |
US8996793B1 (en) | 2012-04-24 | 2015-03-31 | Densbits Technologies Ltd. | System, method and computer readable medium for generating soft information |
US9105314B2 (en) | 2012-04-27 | 2015-08-11 | Micron Technology, Inc. | Program-disturb decoupling for adjacent wordlines of a memory device |
US8910000B2 (en) | 2012-05-17 | 2014-12-09 | Micron Technology, Inc. | Program-disturb management for phase change memory |
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 |
US9235466B2 (en) * | 2012-07-03 | 2016-01-12 | Samsung Electronics Co., Ltd. | Memory devices with selective error correction code |
WO2014006147A1 (de) * | 2012-07-04 | 2014-01-09 | Hexagon Technology Center Gmbh | Optischer positionsgeber mit analogem speicher |
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 |
US9136001B2 (en) | 2012-10-22 | 2015-09-15 | Apple Inc. | Signal-to-Noise Ratio (SNR) estimation in analog memory cells based on optimal read thresholds |
US9159407B2 (en) * | 2012-10-22 | 2015-10-13 | Apple Inc. | Soft readout from analog memory cells in the presence of read threshold errors |
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 |
US9530515B2 (en) * | 2013-03-13 | 2016-12-27 | Sandisk Technologies Llc | Determining read voltages for reading memory |
US8990668B2 (en) * | 2013-03-14 | 2015-03-24 | Western Digital Technologies, Inc. | Decoding data stored in solid-state memory |
KR102067611B1 (ko) | 2013-03-15 | 2020-01-20 | 삼성전자주식회사 | 메모리 컨트롤러의 동작 방법과 상기 메모리 컨트롤러를 포함하는 장치들 |
US9122403B2 (en) * | 2013-05-20 | 2015-09-01 | Apple Inc. | Distortion cancellation in 3-D non-volatile memory |
CN104217761B (zh) * | 2013-05-31 | 2018-12-14 | 慧荣科技股份有限公司 | 数据储存装置及其错误校正方法 |
US9136876B1 (en) | 2013-06-13 | 2015-09-15 | Densbits Technologies Ltd. | Size limited multi-dimensional decoding |
KR102120823B1 (ko) * | 2013-08-14 | 2020-06-09 | 삼성전자주식회사 | 비휘발성 메모리 장치의 독출 시퀀스 제어 방법 및 이를 수행하는 메모리 시스템 |
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 |
US9786388B1 (en) | 2013-10-09 | 2017-10-10 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Detecting and managing bad columns |
US9348694B1 (en) | 2013-10-09 | 2016-05-24 | 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 |
JP6262063B2 (ja) * | 2014-03-18 | 2018-01-17 | 東芝メモリ株式会社 | 不揮発性メモリおよび書き込み方法 |
US9490023B2 (en) * | 2014-03-19 | 2016-11-08 | Apple Inc. | Mitigation of retention drift in charge-trap non-volatile memory |
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 |
US9690697B2 (en) * | 2014-07-10 | 2017-06-27 | Kabushiki Kaisha Toshiba | Memory controller, storage device and memory control method |
US9710326B2 (en) * | 2014-07-28 | 2017-07-18 | SK Hynix Inc. | Encoder by-pass with scrambler |
GB2530043A (en) | 2014-09-10 | 2016-03-16 | Ibm | Device and method for storing data in a plurality of multi-level cell memory chips |
US20160077913A1 (en) * | 2014-09-11 | 2016-03-17 | Kabushiki Kaisha Toshiba | Method of controlling nonvolatile memory |
US9524211B1 (en) | 2014-11-18 | 2016-12-20 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Codeword management |
US10449614B2 (en) | 2014-12-18 | 2019-10-22 | Illinois Tool Works Inc. | Systems and methods for solid state sensor measurements of welding cables |
US10084481B2 (en) | 2014-12-18 | 2018-09-25 | Apple Inc. | GLDPC soft decoding with hard decision inputs |
US10682722B2 (en) * | 2014-12-18 | 2020-06-16 | Illinois Tool Works Inc. | Systems and methods for measuring characteristics of a welding cable with a low power transceiver |
KR102262909B1 (ko) * | 2014-12-18 | 2021-06-10 | 에스케이하이닉스 주식회사 | 메모리 시스템 동작 방법 |
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 |
TWI557560B (zh) * | 2015-02-12 | 2016-11-11 | 慧榮科技股份有限公司 | 資料儲存裝置以及資料讀取方法 |
CN106297883B (zh) * | 2015-06-05 | 2020-01-07 | 群联电子股份有限公司 | 解码方法、存储器存储装置及存储器控制电路单元 |
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 |
JP6657634B2 (ja) * | 2015-07-24 | 2020-03-04 | ソニー株式会社 | 符号化装置、メモリシステム、通信システムおよび符号化方法 |
FR3039922B1 (fr) * | 2015-08-06 | 2018-02-02 | Stmicroelectronics (Rousset) Sas | Procede d'ecriture dans une memoire du type eeprom et dispositif de memoire correspondant |
KR102312404B1 (ko) * | 2015-09-07 | 2021-10-13 | 에스케이하이닉스 주식회사 | 저장 장치 및 이의 동작 방법 |
US9954558B1 (en) | 2016-03-03 | 2018-04-24 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Fast decoding of data stored in a flash memory |
US10895932B1 (en) * | 2016-05-10 | 2021-01-19 | Apple Inc. | Drift invariant processing |
KR102683257B1 (ko) * | 2017-01-17 | 2024-07-11 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작방법 |
DE102017103347B4 (de) * | 2017-02-17 | 2023-07-20 | Infineon Technologies Ag | Verarbeitung von daten in speicherzellen eines speichers |
JP2018156711A (ja) | 2017-03-21 | 2018-10-04 | 東芝メモリ株式会社 | メモリコントローラおよびデータ読み出し方法 |
US10146460B1 (en) | 2017-06-01 | 2018-12-04 | Apple Inc. | Programming schemes for avoidance or recovery from cross-temperature read failures |
CN109215715B (zh) * | 2017-07-05 | 2020-06-26 | 中国科学院微电子研究所 | 一种闪存存储电路的抗总剂量辐照加固方法 |
US10607709B1 (en) * | 2018-09-13 | 2020-03-31 | Toshiba Memory Corporation | System and method for efficient read-flow by inter-cell interference decoupling for NAND flash memories |
US10848182B2 (en) | 2018-09-13 | 2020-11-24 | Apple Inc. | Iterative decoding with early termination criterion that permits errors in redundancy part |
US10566972B1 (en) | 2019-04-02 | 2020-02-18 | Apple Inc. | Analog switches immune to power sequence |
EP3966592A1 (en) * | 2019-05-06 | 2022-03-16 | Koninklijke Philips N.V. | Methods and systems for encoding and decoding radio frequency data |
US11546366B2 (en) | 2019-05-08 | 2023-01-03 | International Business Machines Corporation | Threat information sharing based on blockchain |
WO2021152338A1 (en) * | 2020-01-28 | 2021-08-05 | Micron Technology, Inc. | Analog storage using memory device |
US11513893B2 (en) * | 2020-12-21 | 2022-11-29 | Intel Corporation | Concurrent compute and ECC for in-memory matrix vector operations |
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 |
US11513887B1 (en) * | 2021-08-23 | 2022-11-29 | Apple Inc. | Cancelation of cross-coupling interference among memory cells |
US20230176767A1 (en) * | 2021-12-03 | 2023-06-08 | Hewlett-Packard Development Company, L.P. | Interfacing with memory devices |
US20230393755A1 (en) * | 2022-06-02 | 2023-12-07 | Micron Technology, Inc. | Managing error compensation using charge coupling and lateral migration sensitivity |
US20240055050A1 (en) * | 2022-08-09 | 2024-02-15 | Micron Technology, Inc. | Managing compensation for cell-to-cell coupling and lateral migration in memory devices based on a sensitivity metric |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040060031A1 (en) * | 2002-09-24 | 2004-03-25 | Sandisk Corporation | Highly compact non-volatile memory and method thereof |
US20040202028A1 (en) * | 2003-04-10 | 2004-10-14 | Micron Technology, Inc. | Flash memory data bus for syncronous burst read page |
CN1653554A (zh) * | 2002-05-20 | 2005-08-10 | 桑迪士克股份有限公司 | 通过使用关于所存储数据的质量的信息来增加错误校正码的效率和操作多电平存储*** |
Family Cites Families (528)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3668631A (en) | 1969-02-13 | 1972-06-06 | Ibm | Error detection and correction system with statistically optimized data recovery |
US3668632A (en) | 1969-02-13 | 1972-06-06 | Ibm | Fast decode character error detection and correction system |
US4910706A (en) | 1972-09-11 | 1990-03-20 | Hyatt Gilbert P | Analog memory for storing digital information |
US4058851A (en) | 1976-10-18 | 1977-11-15 | Sperry Rand Corporation | Conditional bypass of error correction for dual memory access time selection |
JPS6051749B2 (ja) | 1979-08-31 | 1985-11-15 | 富士通株式会社 | エラ−訂正方式 |
US4556961A (en) | 1981-05-26 | 1985-12-03 | Tokyo Shibaura Denki Kabushiki Kaisha | Semiconductor memory with delay means to reduce peak currents |
US4413339A (en) | 1981-06-24 | 1983-11-01 | Digital Equipment Corporation | Multiple error detecting and correcting system employing Reed-Solomon codes |
JPS59106152A (ja) * | 1982-12-10 | 1984-06-19 | Nec Corp | 半導体装置 |
US4608687A (en) | 1983-09-13 | 1986-08-26 | International Business Machines Corporation | Bit steering apparatus and method for correcting errors in stored data, storing the address of the corrected data and using the address to maintain a correct data condition |
EP0148488B1 (en) | 1983-12-23 | 1992-03-18 | Hitachi, Ltd. | Semiconductor memory having multiple level storage structure |
EP0157607B1 (en) * | 1984-04-02 | 1993-02-10 | The Board Of Trustees Of The Leland Stanford Junior University | Analog data storage system |
JPS618796A (ja) | 1984-06-20 | 1986-01-16 | Nec Corp | ダイナミツクメモリ |
US4654847A (en) | 1984-12-28 | 1987-03-31 | International Business Machines | Apparatus for automatically correcting erroneous data and for storing the corrected data in a common pool alternate memory array |
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 | マイクロコンピュータ |
US5287469A (en) * | 1988-12-27 | 1994-02-15 | Nec Corporation | Electrically erasable and programmable non-volatile memory (EEPROM), wherein write pulses can be interrupted by subsequently received read requests |
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 |
DE69034191T2 (de) | 1989-04-13 | 2005-11-24 | Sandisk Corp., Sunnyvale | EEPROM-System mit aus mehreren Chips bestehender Blocklöschung |
US5163021A (en) * | 1989-04-13 | 1992-11-10 | Sundisk Corporation | Multi-state EEprom read and write circuits and techniques |
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 |
US5126808A (en) * | 1989-10-23 | 1992-06-30 | Advanced Micro Devices, Inc. | Flash EEPROM array with paged erase architecture |
US5182752A (en) | 1990-06-29 | 1993-01-26 | Digital Equipment Corporation | Method and apparatus for transferring data between a data bus and a data storage device |
US5218569A (en) | 1991-02-08 | 1993-06-08 | Banks Gerald J | Electrically alterable non-volatile memory with n-bits per memory cell |
US5191584A (en) * | 1991-02-20 | 1993-03-02 | Micropolis Corporation | Mass storage array with efficient parity calculation |
US5272669A (en) | 1991-02-20 | 1993-12-21 | Sundisk Corporation | Method and structure for programming floating gate memory cells |
KR960002006B1 (ko) | 1991-03-12 | 1996-02-09 | 가부시끼가이샤 도시바 | 2개의 기준 레벨을 사용하는 기록 검증 제어기를 갖는 전기적으로 소거 가능하고 프로그램 가능한 불휘발성 메모리 장치 |
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 |
US5182558A (en) | 1991-10-25 | 1993-01-26 | Halliburton Geophysical Services, Inc. | System for generating correction signals for use in forming low distortion analog signals |
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 |
US5657332A (en) * | 1992-05-20 | 1997-08-12 | Sandisk Corporation | Soft errors handling in EEPROM devices |
US5532962A (en) * | 1992-05-20 | 1996-07-02 | Sandisk Corporation | Soft errors handling in EEPROM devices |
JP2816512B2 (ja) | 1992-07-27 | 1998-10-27 | 三菱電機株式会社 | 半導体記憶装置 |
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 |
US5416646A (en) * | 1992-11-12 | 1995-05-16 | Kabushiki Kaisha Toshiba | Data recording and reproducing apparatus having read/write circuit with programmable parameter means |
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 |
US5365484A (en) * | 1993-08-23 | 1994-11-15 | Advanced Micro Devices, Inc. | Independent array grounds for flash EEPROM array with paged erase architechture |
US6091639A (en) | 1993-08-27 | 2000-07-18 | Kabushiki Kaisha Toshiba | Non-volatile semiconductor memory device and data programming method |
US5446854A (en) | 1993-10-20 | 1995-08-29 | Sun Microsystems, Inc. | Virtual memory computer apparatus and address translation mechanism employing hashing scheme and page frame descriptor that support multiple page sizes |
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 |
DE69423104T2 (de) | 1994-10-31 | 2000-07-20 | Stmicroelectronics S.R.L., Agrate Brianza | Fehlernachweis- und Korrekturverfahren in einem mehrstufigen Speicher und Speicher für dieses Verfahren |
US5694356A (en) * | 1994-11-02 | 1997-12-02 | Invoice Technology, Inc. | High resolution analog storage EPROM and flash EPROM |
US5533190A (en) | 1994-12-21 | 1996-07-02 | At&T Global Information Solutions Company | Method for maintaining parity-data consistency in a disk array |
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 |
US5799200A (en) | 1995-09-28 | 1998-08-25 | Emc Corporation | Power failure responsive apparatus and method having a shadow dram, a flash ROM, an auxiliary battery, and a controller |
US5687114A (en) * | 1995-10-06 | 1997-11-11 | Agate Semiconductor, Inc. | Integrated circuit for storage and retrieval of multiple digital bits per nonvolatile memory cell |
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 |
US5682352A (en) * | 1996-02-08 | 1997-10-28 | Invoice Technology, Inc. | Digital testing of analog memory devices |
US5867114A (en) * | 1996-02-29 | 1999-02-02 | Mitel Corporation | Method and apparatus for performing data compression |
US5748534A (en) * | 1996-03-26 | 1998-05-05 | Invox Technology | Feedback loop for reading threshold voltage |
US5748533A (en) * | 1996-03-26 | 1998-05-05 | Invoice Technology, Inc. | Read circuit which uses a coarse-to-fine search when reading the threshold voltage of a memory cell |
US5726934A (en) * | 1996-04-09 | 1998-03-10 | Information Storage Devices, Inc. | Method and apparatus for analog reading values stored in floating gate structures |
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 |
US5946716A (en) | 1996-05-30 | 1999-08-31 | Hewlett-Packard Company | Sectored virtual memory management system and translation look-aside buffer (TLB) for the same |
JP3202600B2 (ja) * | 1996-06-27 | 2001-08-27 | 日本電気株式会社 | 磁気ディスク装置 |
US6009016A (en) | 1996-07-09 | 1999-12-28 | Hitachi, Ltd. | Nonvolatile memory system semiconductor memory and writing method |
JP3976839B2 (ja) | 1996-07-09 | 2007-09-19 | 株式会社ルネサステクノロジ | 不揮発性メモリシステムおよび不揮発性半導体メモリ |
US6134631A (en) | 1996-08-19 | 2000-10-17 | Hyundai Electronics America, Inc. | Non-volatile memory with embedded programmable controller |
US6148360A (en) * | 1996-09-20 | 2000-11-14 | Intel Corporation | Nonvolatile writeable memory with program suspend command |
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 |
US5764568A (en) | 1996-10-24 | 1998-06-09 | Micron Quantum Devices, Inc. | Method for performing analog over-program and under-program detection for a multistate memory cell |
AU4996697A (en) | 1996-12-20 | 1998-07-17 | 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 추출방법 및 그 회로 |
US5798966A (en) * | 1997-03-31 | 1998-08-25 | Intel Corporation | Flash memory VDS compensation techiques to reduce programming variability |
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 |
JP4039532B2 (ja) | 1997-10-02 | 2008-01-30 | 株式会社ルネサステクノロジ | 半導体集積回路装置 |
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 |
US5969986A (en) * | 1998-06-23 | 1999-10-19 | Invox Technology | High-bandwidth read and write architectures for non-volatile memories |
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 |
US6178466B1 (en) * | 1998-06-12 | 2001-01-23 | Unisys Corporation | System for maximizing bandpass on an interface directly coupling two units where the interface has independently operative data and address interconnections, and computer sysem employing same. |
US6208542B1 (en) | 1998-06-30 | 2001-03-27 | Sandisk Corporation | Techniques for storing digital data in an analog or multilevel memory |
EP0987715B1 (en) | 1998-09-15 | 2005-02-09 | STMicroelectronics S.r.l. | Method for maintaining the memory of non-volatile memory cells |
US5995417A (en) * | 1998-10-20 | 1999-11-30 | Advanced Micro Devices, Inc. | Scheme for page erase and erase verify in a non-volatile memory array |
US6490200B2 (en) | 2000-03-27 | 2002-12-03 | Sandisk Corporation | Non-volatile memory with improved sensing and method therefor |
JP2000132987A (ja) | 1998-10-28 | 2000-05-12 | Neucore Technol Inc | 不揮発性半導体メモリ装置 |
JP2000173289A (ja) * | 1998-12-10 | 2000-06-23 | Toshiba Corp | エラー訂正可能なフラッシュメモリシステム |
US6240458B1 (en) * | 1998-12-22 | 2001-05-29 | Unisys Corporation | System and method for programmably controlling data transfer request rates between data sources and destinations in a data processing system |
US6956779B2 (en) | 1999-01-14 | 2005-10-18 | Silicon Storage Technology, Inc. | Multistage autozero sensing for a multilevel non-volatile memory integrated circuit system |
US6975539B2 (en) | 1999-01-14 | 2005-12-13 | Silicon Storage Technology, Inc. | Digital multilevel non-volatile memory 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 |
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 |
US6480948B1 (en) | 1999-06-24 | 2002-11-12 | Cirrus Logic, Inc. | Configurable system memory map |
EP1067547A1 (en) | 1999-06-28 | 2001-01-10 | Hewlett-Packard Company | Data set recovery by codeword overlay |
US6708257B2 (en) | 1999-07-12 | 2004-03-16 | Koninklijke Philips Electronics N.V. | Buffering system bus for external-memory access |
DE60037417D1 (de) * | 1999-07-28 | 2008-01-24 | Sony Corp | Aufnahmesystem, daten-aufnahmevorrichtung, speicher-vorrichtung, und daten-aufnahmeverfahren |
EP1074995B1 (en) * | 1999-08-03 | 2005-10-26 | STMicroelectronics S.r.l. | Method for programming multi-level non-volatile memories by controlling the gate voltage |
US7457897B1 (en) | 2004-03-17 | 2008-11-25 | Suoer Talent Electronics, Inc. | PCI express-compatible controller and interface for flash memory |
JP3888808B2 (ja) | 1999-08-16 | 2007-03-07 | 富士通株式会社 | Nand型不揮発性メモリ |
US6553510B1 (en) | 1999-09-02 | 2003-04-22 | Micron Technology, Inc. | Memory device including redundancy routine for correcting random errors |
US6405342B1 (en) | 1999-09-10 | 2002-06-11 | Western Digital Technologies, Inc. | Disk drive employing a multiple-input sequence detector responsive to reliability metrics to improve a retry operation |
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 | 不揮発性半導体メモリの読み出し回路 |
JP3877121B2 (ja) | 2000-01-19 | 2007-02-07 | 沖電気工業株式会社 | 半導体記憶装置 |
US7847833B2 (en) | 2001-02-07 | 2010-12-07 | Verisign, Inc. | Digital camera device providing improved methodology for rapidly taking successive pictures |
US6532556B1 (en) | 2000-01-27 | 2003-03-11 | Multi Level Memory Technology | Data management for multi-bit-per-cell memories |
US6259627B1 (en) | 2000-01-27 | 2001-07-10 | Multi Level Memory Technology | Read and write operations using constant row line voltage and variable column line load |
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 |
JP2001291344A (ja) | 2000-04-04 | 2001-10-19 | Hitachi Ltd | 光ディスク装置およびそのデータ再生方法 |
JP2003534680A (ja) * | 2000-04-04 | 2003-11-18 | コムテック テレコミュニケーションズ コーポレイション | 強化型ターボプロダクト符号復号器システム |
US6774808B1 (en) * | 2000-05-17 | 2004-08-10 | Dell Products L.P. | Electromechanical lock for components |
US6622277B1 (en) | 2000-06-05 | 2003-09-16 | Tyco Telecommunications(Us)Inc. | Concatenated forward error correction decoder |
US7032154B2 (en) | 2000-06-05 | 2006-04-18 | Tyco Telecommunications (Us) Inc. | Concatenated forward error correction decoder |
DE10193104T1 (de) | 2000-06-27 | 2003-03-13 | Seagate Technology Llc | Verfahren und Vorrichtung zum Codieren mit ungleichem Schutz in magnetischen Aufzeichnungskanälen mit verketteten Fehlerkorrekturcodes |
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 | 冗長救済回路、方法および半導体装置 |
JP3595495B2 (ja) | 2000-07-27 | 2004-12-02 | Necマイクロシステム株式会社 | 半導体記憶装置 |
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 |
EP1199725B1 (en) * | 2000-10-13 | 2010-10-06 | STMicroelectronics Srl | Method for storing and reading data in a multibit nonvolatile memory with a non-binary number of bits per cell |
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 |
WO2002058069A2 (en) * | 2001-01-17 | 2002-07-25 | Honeywell International Inc. | Enhanced memory module architecture |
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 |
US6775792B2 (en) | 2001-01-29 | 2004-08-10 | Snap Appliance, Inc. | Discrete mapping of parity blocks |
JP3875570B2 (ja) | 2001-02-20 | 2007-01-31 | 株式会社東芝 | 半導体記憶装置のデータ書き込み方法及び半導体記憶装置 |
US6738289B2 (en) | 2001-02-26 | 2004-05-18 | Sandisk Corporation | Non-volatile memory with improved programming and method therefor |
JP3829088B2 (ja) | 2001-03-29 | 2006-10-04 | 株式会社東芝 | 半導体記憶装置 |
ATE492076T1 (de) | 2001-04-04 | 2011-01-15 | Quellan Inc | Verfahren und system zum decodieren von mehrpegelsignalen |
US6757193B2 (en) | 2001-05-31 | 2004-06-29 | Macronix International Co., Ltd. | Coding method of multi-level memory cell |
WO2002100112A1 (en) | 2001-06-03 | 2002-12-12 | Seelive Ltd. | System and method for rapid video compression |
US6731557B2 (en) | 2001-06-21 | 2004-05-04 | Stmicroelectronics S.R.L. | Method of refreshing an electrically erasable and programmable non-volatile memory |
US7343330B1 (en) | 2001-06-26 | 2008-03-11 | Boesjes Eimar M | Systems and methods for acquisition, evaluation, inventory, distribution, and/or re-sale of pre-owned recorded data products |
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 |
GB2378277B (en) | 2001-07-31 | 2003-06-25 | Sun Microsystems Inc | Multiple address translations |
US6809964B2 (en) * | 2001-08-30 | 2004-10-26 | Micron Technology, Inc. | Nonvolatile semiconductor memory device capable of transferring data internally without using an external bus |
US6717847B2 (en) | 2001-09-17 | 2004-04-06 | Sandisk Corporation | Selective operation of a multi-state non-volatile memory system in a binary mode |
US6456528B1 (en) * | 2001-09-17 | 2002-09-24 | Sandisk Corporation | Selective operation of a multi-state non-volatile memory system in a binary mode |
US7170802B2 (en) | 2003-12-31 | 2007-01-30 | Sandisk Corporation | Flexible and area efficient column redundancy for non-volatile memories |
US6643169B2 (en) | 2001-09-18 | 2003-11-04 | Intel Corporation | Variable level memory |
US6678192B2 (en) | 2001-11-02 | 2004-01-13 | Sandisk Corporation | Error management for writable tracking storage units |
US6560152B1 (en) | 2001-11-02 | 2003-05-06 | Sandisk Corporation | Non-volatile memory with temperature-compensated data read |
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 |
US6621739B2 (en) | 2002-01-18 | 2003-09-16 | Sandisk Corporation | Reducing the effects of noise in non-volatile memories through multiple reads |
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 |
JP2003257192A (ja) | 2002-03-06 | 2003-09-12 | Mitsubishi Electric Corp | 半導体記憶装置および不揮発性半導体記憶装置 |
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 |
FR2842344A1 (fr) * | 2002-07-11 | 2004-01-16 | St Microelectronics Sa | Procede de commande d'une memoire electronique non volatile et dispositif associe |
US6781880B2 (en) * | 2002-07-19 | 2004-08-24 | Micron Technology, Inc. | Non-volatile memory erase circuitry |
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 |
FR2845227B1 (fr) | 2002-10-01 | 2005-01-14 | Telediffusion De France Tdf | Procede de reception d'un signal module selon une technique de codage multi-niveaux, procede de decodage, dispositif de reception, systeme de codage-decodage et applications correspondant |
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 |
US6963505B2 (en) | 2002-10-29 | 2005-11-08 | Aifun Semiconductors Ltd. | Method circuit and system for determining a reference voltage |
US7136304B2 (en) * | 2002-10-29 | 2006-11-14 | Saifun Semiconductor Ltd | Method, system and circuit for programming a non-volatile memory array |
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 |
US7218255B1 (en) | 2002-12-04 | 2007-05-15 | Marvell International Ltd. | Methods and apparatus for improving minimum Hamming weights of a sequence |
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 |
US7158058B1 (en) | 2002-12-09 | 2007-01-02 | Marvell International Ltd. | Method and apparatus for generating a seed set in a data dependent seed selector |
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 | 半導体記憶装置 |
US7469049B1 (en) | 2003-03-04 | 2008-12-23 | Marvell International Ltd. | Data dependent scrambler with reduced overhead |
WO2004084305A1 (ja) | 2003-03-19 | 2004-09-30 | Fujitsu Limited | 半導体装置及びその製造方法、並びに撮像装置 |
US7002821B2 (en) * | 2003-04-11 | 2006-02-21 | Gerpheide George E | Zero drift analog memory cell, array and method of operation |
JP3878573B2 (ja) | 2003-04-16 | 2007-02-07 | 株式会社東芝 | 不揮発性半導体記憶装置 |
JP3913704B2 (ja) | 2003-04-22 | 2007-05-09 | 株式会社東芝 | 不揮発性半導体記憶装置及びこれを用いた電子装置 |
US6975542B2 (en) * | 2003-05-08 | 2005-12-13 | Micron Technology, Inc. | NAND flash memory with improved read and verification threshold uniformity |
JP2004348817A (ja) | 2003-05-20 | 2004-12-09 | Sharp Corp | 半導体記憶装置、そのページバッファリソース割当方法及び回路、コンピュータシステム並びに携帯電子機器 |
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 |
US7023735B2 (en) * | 2003-06-17 | 2006-04-04 | Ramot At Tel-Aviv University Ltd. | Methods of increasing the reliability of a flash memory |
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 |
WO2005010638A2 (en) | 2003-07-30 | 2005-02-03 | M-Systems Flash Disk Pioneers Ltd. | Method and system for optimizing reliability and performance of programming data in non-volatile memory devices |
US7471552B2 (en) | 2003-08-04 | 2008-12-30 | Ovonyx, Inc. | Analog phase change memory |
JP2005092923A (ja) | 2003-09-12 | 2005-04-07 | Renesas Technology Corp | 半導体記憶装置 |
US7064980B2 (en) | 2003-09-17 | 2006-06-20 | Sandisk Corporation | Non-volatile memory and method with bit line coupled compensation |
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 |
US6930925B2 (en) * | 2003-10-14 | 2005-08-16 | Atmel Corporation | Suspend-resume programming method for flash memory |
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 |
US7433697B2 (en) | 2003-10-24 | 2008-10-07 | Broadcom Corporation | Synchronized UWB piconets for Simultaneously Operating Piconet performance |
KR100542701B1 (ko) | 2003-11-18 | 2006-01-11 | 주식회사 하이닉스반도체 | 낸드 플래시 메모리 소자의 문턱전압 측정 방법 |
US20090193184A1 (en) | 2003-12-02 | 2009-07-30 | Super Talent Electronics Inc. | Hybrid 2-Level Mapping Tables for Hybrid Block- and Page-Mode Flash-Memory System |
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 |
US7631138B2 (en) | 2003-12-30 | 2009-12-08 | Sandisk Corporation | Adaptive mode switching of flash memory address mapping based on host usage characteristics |
US6937520B2 (en) * | 2004-01-21 | 2005-08-30 | Tsuyoshi Ono | Nonvolatile semiconductor memory device |
US7372730B2 (en) | 2004-01-26 | 2008-05-13 | Sandisk Corporation | Method of reading NAND memory to compensate for coupling between storage elements |
US7151692B2 (en) * | 2004-01-27 | 2006-12-19 | Macronix International Co., Ltd. | Operation scheme for programming charge trapping non-volatile memory |
US7068539B2 (en) | 2004-01-27 | 2006-06-27 | Sandisk Corporation | Charge packet metering for coarse/fine programming of non-volatile memory |
US7002843B2 (en) | 2004-01-27 | 2006-02-21 | Sandisk Corporation | Variable current sinking for coarse/fine programming of non-volatile memory |
US6937511B2 (en) * | 2004-01-27 | 2005-08-30 | Macronix International Co., Ltd. | Circuit and method for programming charge storage memory cells |
US7139198B2 (en) | 2004-01-27 | 2006-11-21 | Sandisk Corporation | Efficient verification for coarse/fine programming of non-volatile memory |
US7210077B2 (en) | 2004-01-29 | 2007-04-24 | Hewlett-Packard Development Company, L.P. | System and method for configuring a solid-state storage device with error correction coding |
US7266069B2 (en) | 2004-02-06 | 2007-09-04 | Via Technologies, Inc., | Method and apparatus for retry calculation in an optical disk device |
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 |
KR100525004B1 (ko) * | 2004-02-26 | 2005-10-31 | 삼성전자주식회사 | 멀티레벨 셀(Multi-level cell)플래쉬메모리장치 및 이의 프로그램 방법 |
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 |
US7310347B2 (en) * | 2004-03-14 | 2007-12-18 | Sandisk, Il Ltd. | States encoding in multi-bit flash cells |
US7071849B2 (en) * | 2004-04-04 | 2006-07-04 | Guobiao Zhang | Fractional-Bit Systems |
US7020017B2 (en) | 2004-04-06 | 2006-03-28 | Sandisk Corporation | Variable programming of non-volatile memory |
EP1603138A1 (fr) | 2004-04-15 | 2005-12-07 | STMicroelectronics SA | Mémoire non volatile comprenant des moyens de brouillage de la lecture de cellules mémoire |
US7325090B2 (en) | 2004-04-29 | 2008-01-29 | Sandisk Il Ltd. | Refreshing data stored in a flash memory |
DE102004021267B4 (de) | 2004-04-30 | 2008-04-17 | Infineon Technologies Ag | Verfahren zum Testen eines Speicherbausteins und Prüfanordnung |
CN100407178C (zh) | 2004-05-19 | 2008-07-30 | 松下电器产业株式会社 | 存储器控制电路、非易失性存储装置及存储器控制方法 |
US7231474B1 (en) | 2004-06-01 | 2007-06-12 | Advanced Micro Devices, Inc. | Serial interface having a read temperature command |
US7447970B2 (en) | 2004-06-16 | 2008-11-04 | Seagate Technology, Inc. | Soft-decision decoding using selective bit flipping |
US7190614B2 (en) * | 2004-06-17 | 2007-03-13 | Macronix International Co., Ltd. | Operation scheme for programming charge trapping non-volatile memory |
KR100546415B1 (ko) | 2004-06-25 | 2006-01-26 | 삼성전자주식회사 | 메모리 장치의 파워 노이즈를 방지하는 직렬 웨이크 업 회로 |
US7665007B2 (en) | 2004-06-30 | 2010-02-16 | Seagate Technology, Llc | Retrial and reread methods and apparatus for recording channels |
US7196644B1 (en) | 2004-07-01 | 2007-03-27 | Seagate Technology Llc | Decoupling of analog input and digital output |
US7042766B1 (en) * | 2004-07-22 | 2006-05-09 | Spansion, Llc | Method of programming a flash memory device using multilevel charge storage |
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 |
US7797609B2 (en) | 2004-08-19 | 2010-09-14 | Unisys Corporation | Apparatus and method for merging data blocks with error correction code protection |
EP1785998A1 (en) * | 2004-08-30 | 2007-05-16 | Spansion LLC | Semiconductor device, semiconductor device testing method, and data writing method |
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 |
US7254763B2 (en) | 2004-09-01 | 2007-08-07 | Agere Systems Inc. | Built-in self test for memory arrays using error correction coding |
JP2006115145A (ja) | 2004-10-14 | 2006-04-27 | Nec Electronics Corp | 復号装置及び復号方法 |
US7409623B2 (en) | 2004-11-04 | 2008-08-05 | Sigmatel, Inc. | System and method of reading non-volatile computer memory |
JP4261462B2 (ja) | 2004-11-05 | 2009-04-30 | 株式会社東芝 | 不揮発性メモリシステム |
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 | 株式会社東芝 | 半導体記憶装置のデータ書き込み方法 |
US7441067B2 (en) | 2004-11-15 | 2008-10-21 | Sandisk Corporation | Cyclic flash memory wear leveling |
KR100694418B1 (ko) | 2004-11-15 | 2007-03-12 | 주식회사 하이닉스반도체 | 메모리 장치의 병렬 압축 테스트 회로 |
US7173859B2 (en) | 2004-11-16 | 2007-02-06 | Sandisk Corporation | Faster programming of higher level states in multi-level cell flash memory |
US7392428B2 (en) | 2004-11-19 | 2008-06-24 | International Business Machines Corporation | Method and system for recovering from abnormal interruption of a parity update operation in a disk array system |
JP4734906B2 (ja) | 2004-12-07 | 2011-07-27 | ソニー株式会社 | 情報処理装置、情報記録媒体、および情報処理方法、並びにコンピュータ・プログラム |
JP4786171B2 (ja) | 2004-12-10 | 2011-10-05 | 株式会社東芝 | 半導体記憶装置 |
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 |
US7558839B1 (en) | 2004-12-14 | 2009-07-07 | Netapp, Inc. | Read-after-write verification for improved write-once-read-many data storage |
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 |
US7230851B2 (en) * | 2004-12-23 | 2007-06-12 | Sandisk Corporation | Reducing floating gate to floating gate coupling effect |
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 |
KR100604930B1 (ko) * | 2005-01-19 | 2006-07-28 | 삼성전자주식회사 | 디스크 드라이브의 어드레스 변환 방법 및 그 방법을사용하는 디스크 드라이브 |
US7725779B2 (en) | 2005-01-25 | 2010-05-25 | Ternarylogic Llc | Multi-valued scrambling and descrambling of digital data on optical disks and other storage media |
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 |
US7379368B2 (en) | 2005-02-25 | 2008-05-27 | Frankfurt Gmbh, Llc | Method and system for reducing volatile DRAM power budget |
US7224604B2 (en) | 2005-03-14 | 2007-05-29 | Sandisk Il Ltd. | Method of achieving wear leveling in flash memory using relative grades |
US7574555B2 (en) | 2005-03-18 | 2009-08-11 | Emc Corporation | Memory system having daisy chained memory controllers |
US7627712B2 (en) | 2005-03-22 | 2009-12-01 | Sigmatel, Inc. | Method and system for managing multi-plane memory devices |
US7430138B2 (en) | 2005-03-31 | 2008-09-30 | Sandisk Corporation | Erasing non-volatile memory utilizing changing word line conditions to compensate for slower erasing memory cells |
JP2006286118A (ja) * | 2005-04-01 | 2006-10-19 | Matsushita Electric Ind Co Ltd | 閾値電圧制御機能を有する不揮発性記憶装置 |
US7187585B2 (en) * | 2005-04-05 | 2007-03-06 | Sandisk Corporation | Read operation for non-volatile storage that includes compensation for coupling |
US7196946B2 (en) | 2005-04-05 | 2007-03-27 | Sandisk Corporation | Compensating for coupling in non-volatile storage |
US7196928B2 (en) * | 2005-04-05 | 2007-03-27 | Sandisk Corporation | Compensating for coupling during read operations of non-volatile memory |
KR100680479B1 (ko) | 2005-04-11 | 2007-02-08 | 주식회사 하이닉스반도체 | 비휘발성 메모리 장치의 프로그램 검증 방법 |
KR100754894B1 (ko) | 2005-04-20 | 2007-09-04 | 삼성전자주식회사 | 더미 메모리 셀을 가지는 낸드 플래시 메모리 장치 |
US7596707B1 (en) * | 2005-05-06 | 2009-09-29 | Sun Microsystems, Inc. | System and method for efficient power throttling in multiprocessor chip |
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 |
US7353361B2 (en) | 2005-06-06 | 2008-04-01 | International Business Machines Corporation | Page replacement policy for systems having multiple page sizes |
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 |
JP4282636B2 (ja) | 2005-06-22 | 2009-06-24 | 株式会社東芝 | 不揮発性半導体記憶装置とそのデータ書き込み方法 |
KR100719368B1 (ko) | 2005-06-27 | 2007-05-17 | 삼성전자주식회사 | 플래시 메모리 장치의 적응적 프로그램 방법 및 장치 |
KR100694968B1 (ko) | 2005-06-30 | 2007-03-14 | 주식회사 하이닉스반도체 | 비휘발성 메모리 장치와 그것의 멀티-페이지 프로그램,독출 및 카피백 프로그램 방법 |
KR100609621B1 (ko) * | 2005-07-19 | 2006-08-08 | 삼성전자주식회사 | 메모리 블락별로 레이턴시 제어가 가능한 동기식 반도체메모리 장치 |
JP4728726B2 (ja) | 2005-07-25 | 2011-07-20 | 株式会社東芝 | 半導体記憶装置 |
KR100712596B1 (ko) | 2005-07-25 | 2007-04-30 | 삼성전자주식회사 | 플래시 메모리 장치의 리페어 및 트리밍 방법 및 장치 |
US7660183B2 (en) * | 2005-08-01 | 2010-02-09 | Rambus Inc. | Low power memory device |
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 |
JP2007066459A (ja) | 2005-09-01 | 2007-03-15 | Matsushita Electric Ind Co Ltd | 不揮発性半導体記憶装置及びその書き換え方法 |
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 |
US7328384B1 (en) | 2005-09-29 | 2008-02-05 | Xilinx, Inc. | Method and apparatus using device defects as an identifier |
US7661054B2 (en) | 2005-09-30 | 2010-02-09 | Intel Corporation | Methods and arrangements to remap degraded storage blocks |
US7644347B2 (en) | 2005-09-30 | 2010-01-05 | Intel Corporation | Silent data corruption mitigation using error correction code with embedded signaling fault detection |
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 |
US7681109B2 (en) | 2005-10-13 | 2010-03-16 | Ramot At Tel Aviv University Ltd. | Method of error correction in MBC flash memory |
CN101529525B (zh) | 2005-10-17 | 2016-03-30 | 特拉维夫大学拉莫特有限公司 | 每单元多位的闪速存储器的概率错误校正 |
US7526715B2 (en) | 2005-10-17 | 2009-04-28 | Ramot At Tel Aviv University Ltd. | Probabilistic error correction in multi-bit-per-cell flash memory |
US7954037B2 (en) | 2005-10-25 | 2011-05-31 | Sandisk Il Ltd | Method for recovering from errors in flash memory |
KR100660544B1 (ko) | 2005-10-25 | 2006-12-22 | 삼성전자주식회사 | 신뢰성을 향상시킬 수 있는 플래시 메모리 장치 |
US7301817B2 (en) * | 2005-10-27 | 2007-11-27 | Sandisk Corporation | Method for programming of multi-state non-volatile memory using smart verify |
US7379330B2 (en) | 2005-11-08 | 2008-05-27 | Sandisk Corporation | Retargetable memory cell redundancy methods |
US8218546B2 (en) | 2005-11-10 | 2012-07-10 | Broadcom Corporation | Interleaved processing of dropped packets in a network device |
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 | 삼성전자주식회사 | 파워 업 시에 피크 전류를 줄이는 멀티 칩 패키지 |
KR100683858B1 (ko) | 2006-01-12 | 2007-02-15 | 삼성전자주식회사 | 고온 스트레스로 인한 읽기 마진의 감소를 보상할 수 있는플래시 메모리의 프로그램 방법 |
KR100683856B1 (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 |
US7844879B2 (en) | 2006-01-20 | 2010-11-30 | Marvell World Trade Ltd. | Method and system for error correction 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 |
US7408810B2 (en) | 2006-02-22 | 2008-08-05 | Micron Technology, Inc. | Minimizing effects of program disturb in a memory device |
US20070208904A1 (en) | 2006-03-03 | 2007-09-06 | Wu-Han Hsieh | Wear leveling method and apparatus for nonvolatile memory |
US7436733B2 (en) | 2006-03-03 | 2008-10-14 | Sandisk Corporation | System for performing read operation on non-volatile storage with compensation for coupling |
US7388781B2 (en) | 2006-03-06 | 2008-06-17 | Sandisk Il Ltd. | Multi-bit-per-cell flash memory device with non-bijective mapping |
US7929549B1 (en) | 2006-03-06 | 2011-04-19 | Advanced Micro Devices, Inc. | Method and apparatus for scrambling data for control of high-speed bidirectional signaling |
US7810017B2 (en) | 2006-03-20 | 2010-10-05 | Micron Technology, Inc. | Variable sector-count ECC |
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 |
US7680987B1 (en) | 2006-03-29 | 2010-03-16 | Emc Corporation | Sub-page-granular cache coherency using shared virtual memory mechanism |
US7551492B2 (en) | 2006-03-29 | 2009-06-23 | Mosaid Technologies, Inc. | Non-volatile semiconductor memory with page erase |
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 |
KR100766241B1 (ko) | 2006-05-10 | 2007-10-10 | 주식회사 하이닉스반도체 | 플래쉬 메모리 소자의 프로그램 방법 |
WO2007132458A2 (en) | 2006-05-12 | 2007-11-22 | Anobit Technologies Ltd. | Memory device programming using combined shaping and linear spreading |
WO2007132452A2 (en) | 2006-05-12 | 2007-11-22 | Anobit Technologies | Reducing programming error in memory devices |
KR101375955B1 (ko) * | 2006-05-12 | 2014-03-18 | 애플 인크. | 메모리 디바이스 내의 왜곡 추정 및 상쇄 |
US8239735B2 (en) | 2006-05-12 | 2012-08-07 | Apple Inc. | Memory Device with adaptive capacity |
KR101202537B1 (ko) | 2006-05-12 | 2012-11-19 | 애플 인크. | 메모리 디바이스를 위한 결합된 왜곡 추정 및 에러 보정 코딩 |
US7568135B2 (en) | 2006-05-15 | 2009-07-28 | Apple Inc. | Use of alternative value in cell detection |
US7613043B2 (en) | 2006-05-15 | 2009-11-03 | Apple Inc. | Shifting reference values to account for voltage sag |
US7551486B2 (en) * | 2006-05-15 | 2009-06-23 | Apple Inc. | Iterative memory cell charging based on reference cell value |
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 |
US7457163B2 (en) | 2006-06-01 | 2008-11-25 | Sandisk Corporation | System for verifying non-volatile storage using different voltages |
US7440331B2 (en) | 2006-06-01 | 2008-10-21 | Sandisk Corporation | Verify operation for non-volatile storage using different voltages |
US7450421B2 (en) | 2006-06-02 | 2008-11-11 | Sandisk Corporation | Data pattern sensitivity compensation using different voltage |
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 |
US20070291571A1 (en) | 2006-06-08 | 2007-12-20 | Intel Corporation | Increasing the battery life of a mobile computing system in a reduced power state through memory compression |
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 |
US7885119B2 (en) | 2006-07-20 | 2011-02-08 | Sandisk Corporation | Compensating for coupling during programming |
US7894269B2 (en) | 2006-07-20 | 2011-02-22 | Sandisk Corporation | Nonvolatile memory and method for compensating during programming for perturbing charges of neighboring cells |
KR100744013B1 (ko) | 2006-07-31 | 2007-07-30 | 삼성전자주식회사 | 플래시 메모리 장치 및 그것의 소거 방법 |
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 |
US20080052446A1 (en) | 2006-08-28 | 2008-02-28 | Sandisk Il Ltd. | Logical super block mapping for NAND flash memory |
US7280398B1 (en) | 2006-08-31 | 2007-10-09 | Micron Technology, Inc. | System and memory for sequential multi-plane page memory operations |
KR100771883B1 (ko) | 2006-09-06 | 2007-11-01 | 삼성전자주식회사 | 멀티-레벨 불휘발성 메모리 장치 및 프로그램 방법 |
US7593259B2 (en) | 2006-09-13 | 2009-09-22 | Mosaid Technologies Incorporated | Flash multi-level threshold distribution scheme |
JP4331189B2 (ja) | 2006-09-20 | 2009-09-16 | 株式会社東芝 | 不揮発性半導体メモリ |
US7904783B2 (en) | 2006-09-28 | 2011-03-08 | Sandisk Corporation | Soft-input soft-output decoder for nonvolatile memory |
US7761624B2 (en) | 2006-09-28 | 2010-07-20 | Virident Systems, Inc. | Systems and apparatus for main memory with non-volatile type memory modules, and related technologies |
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 | 삼성전자주식회사 | 멀티-칩 패키지 플래시 메모리 장치 및 그것의 카피 백방법 |
US7365671B1 (en) | 2006-10-10 | 2008-04-29 | Seagate Technology Llc | Communication channel with undersampled interpolative timing recovery |
US7594093B1 (en) | 2006-10-12 | 2009-09-22 | Foundry Networks, Inc. | Virtual memory mapping for efficient memory usage |
WO2008053473A2 (en) | 2006-10-30 | 2008-05-08 | Anobit Technologies Ltd. | Memory cell readout using successive approximation |
KR100771521B1 (ko) | 2006-10-30 | 2007-10-30 | 삼성전자주식회사 | 멀티 레벨 셀을 포함하는 플래시 메모리 장치 및 그것의데이터 쓰기 방법 |
US7975192B2 (en) | 2006-10-30 | 2011-07-05 | Anobit Technologies Ltd. | Reading memory cells using multiple thresholds |
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 |
US7558109B2 (en) | 2006-11-03 | 2009-07-07 | Sandisk Corporation | Nonvolatile memory with variable read threshold |
KR100789406B1 (ko) | 2006-11-03 | 2007-12-28 | 삼성전자주식회사 | 플래시 메모리 시스템 및 그것의 가비지 컬렉션 방법 |
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 |
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 |
US7593263B2 (en) | 2006-12-17 | 2009-09-22 | Anobit Technologies Ltd. | Memory device with reduced reading latency |
US7539062B2 (en) | 2006-12-20 | 2009-05-26 | Micron Technology, Inc. | Interleaved memory program and verify method, device and system |
CN100576357C (zh) | 2006-12-21 | 2009-12-30 | 中芯国际集成电路制造(上海)有限公司 | 减小存储单元写入扰乱的方法 |
US8370561B2 (en) | 2006-12-24 | 2013-02-05 | Sandisk Il Ltd. | Randomizing for suppressing errors in a flash memory |
US8127200B2 (en) | 2006-12-24 | 2012-02-28 | Sandisk Il Ltd. | Flash memory device and system with randomizing for suppressing errors |
US7570520B2 (en) | 2006-12-27 | 2009-08-04 | Sandisk Corporation | Non-volatile storage system with initial programming voltage based on trial |
DE112006004187B4 (de) | 2006-12-27 | 2015-09-10 | Intel Corporation | Verfahren, nicht-flüchtige Speichervorrichtung und Computersystem zum initiativen Abnutzungsausgleich für einen nicht-flüchtigen Speicher |
WO2008083131A2 (en) | 2006-12-27 | 2008-07-10 | Sandisk Corporation | Method for programming with initial programming voltage based on trial |
US7440324B2 (en) | 2006-12-29 | 2008-10-21 | Sandisk Corporation | Apparatus with alternating read mode |
US7616498B2 (en) | 2006-12-29 | 2009-11-10 | Sandisk Corporation | Non-volatile storage system with resistance sensing and compensation |
US7590002B2 (en) | 2006-12-29 | 2009-09-15 | Sandisk Corporation | Resistance sensing and compensation for non-volatile storage |
US7619918B2 (en) | 2006-12-29 | 2009-11-17 | Intel Corporation | Apparatus, method, and system for flash memory |
US7564722B2 (en) | 2007-01-22 | 2009-07-21 | Micron Technology, Inc. | Memory system and method having volatile and non-volatile memory devices at same hierarchical level |
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 | 株式会社東芝 | データ書き込み方法 |
WO2008111058A2 (en) | 2007-03-12 | 2008-09-18 | Anobit Technologies Ltd. | Adaptive estimation of memory cell read thresholds |
JP2008251138A (ja) | 2007-03-30 | 2008-10-16 | Toshiba Corp | 不揮発性半導体メモリ、不揮発性半導体メモリの制御方法、不揮発性半導体メモリシステム、及びメモリカード |
WO2008124760A2 (en) | 2007-04-10 | 2008-10-16 | Sandisk Corporation | Non-volatile memory and method for predictive programming |
US8904552B2 (en) | 2007-04-17 | 2014-12-02 | Samsung Electronics Co., Ltd. | System and method for protecting data information stored in storage |
US8001320B2 (en) | 2007-04-22 | 2011-08-16 | Anobit Technologies Ltd. | Command interface for memory devices |
US8332574B2 (en) | 2007-04-30 | 2012-12-11 | Sandisk Il Ltd. | Method for efficient storage of metadata in flash memory |
US8234545B2 (en) | 2007-05-12 | 2012-07-31 | Apple Inc. | Data storage with incremental redundancy |
US8429493B2 (en) | 2007-05-12 | 2013-04-23 | Apple Inc. | Memory device with internal signap processing unit |
US7899987B2 (en) | 2007-05-15 | 2011-03-01 | Sandisk Il Ltd. | File storage in a computer system with diverse storage media |
US7656734B2 (en) | 2007-06-29 | 2010-02-02 | Sandisk 3D Llc | Methods and apparatus for extending the effective thermal operating range of a memory |
US8065583B2 (en) | 2007-07-06 | 2011-11-22 | Micron Technology, Inc. | Data storage with an outer block code and a stream-based inner code |
US8051358B2 (en) | 2007-07-06 | 2011-11-01 | Micron Technology, Inc. | Error recovery storage along a nand-flash string |
US7925936B1 (en) | 2007-07-13 | 2011-04-12 | Anobit Technologies Ltd. | Memory device with non-uniform programming levels |
US7898863B2 (en) | 2007-08-01 | 2011-03-01 | Micron Technology, Inc. | Method, apparatus, and system for improved read operation in memory |
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 | 삼성전자주식회사 | 반도체 드라이브, 그것의 데이터 저장 방법, 그리고 그것을포함한 컴퓨팅 시스템 |
KR101393622B1 (ko) | 2007-08-30 | 2014-05-13 | 삼성전자주식회사 | 멀티 비트 플래시 메모리 장치를 포함하는 시스템 및그것의 데이터 처리 방법 |
US7869273B2 (en) | 2007-09-04 | 2011-01-11 | Sandisk Corporation | Reducing the impact of interference during programming |
WO2009037691A2 (en) | 2007-09-19 | 2009-03-26 | Anobit Technologies | Programming orders for reducing distortion in arrays of 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 |
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 |
TWI372396B (en) | 2007-09-28 | 2012-09-11 | Phison Electronics Corp | Method of protecting data for power failure and controller using the same |
US7894263B2 (en) | 2007-09-28 | 2011-02-22 | Sandisk Corporation | High voltage generation and control in source-side injection programming of non-volatile 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 |
US7639532B2 (en) | 2007-10-10 | 2009-12-29 | Micron Technology, Inc. | Non-equal threshold voltage ranges in MLC NAND |
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 |
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 |
WO2009053961A2 (en) | 2007-10-25 | 2009-04-30 | Densbits Technologies Ltd. | Systems and methods for multiple coding rates in flash devices |
US7895242B2 (en) | 2007-10-31 | 2011-02-22 | Microsoft Corporation | Compressed storage management |
KR101509836B1 (ko) | 2007-11-13 | 2015-04-06 | 애플 인크. | 멀티 유닛 메모리 디바이스에서의 메모리 유닛의 최적화된 선택 |
US7633798B2 (en) | 2007-11-21 | 2009-12-15 | Micron Technology, Inc. | M+N bit programming and M+L bit read for M bit memory cells |
US8046542B2 (en) | 2007-11-21 | 2011-10-25 | Micron Technology, Inc. | Fault-tolerant non-volatile integrated circuit memory |
US7945825B2 (en) | 2007-11-25 | 2011-05-17 | Spansion Isreal, Ltd | Recovery while programming non-volatile memory (NVM) |
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 |
WO2009072101A2 (en) | 2007-12-05 | 2009-06-11 | Densbits Technologies Ltd. | Apparatus and methods for generating row-specific reading thresholds in flash memory |
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 |
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 |
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 |
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 |
US8185685B2 (en) | 2007-12-14 | 2012-05-22 | Hitachi Global Storage Technologies Netherlands B.V. | NAND flash module replacement for DRAM module |
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 |
US8245101B2 (en) | 2007-12-27 | 2012-08-14 | Sandisk Enterprise Ip Llc | Patrol function used in flash storage controller to detect data errors |
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 |
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 |
US7733712B1 (en) | 2008-05-20 | 2010-06-08 | Siliconsystems, Inc. | Storage subsystem with embedded circuit for protecting against anomalies in power signal from host |
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 |
US8797795B2 (en) | 2008-07-01 | 2014-08-05 | Lsi Corporation | Methods and apparatus for intercell interference mitigation using modulation coding |
US8037380B2 (en) | 2008-07-08 | 2011-10-11 | International Business Machines Corporation | Verifying data integrity of a non-volatile memory system during data caching process |
US20100017650A1 (en) | 2008-07-19 | 2010-01-21 | Nanostar Corporation, U.S.A | Non-volatile memory data storage system with reliability management |
US7930515B2 (en) | 2008-07-29 | 2011-04-19 | International Business Machines Corporation | Virtual memory management |
US8498151B1 (en) | 2008-08-05 | 2013-07-30 | Apple Inc. | Data storage in analog memory cells using modified pass voltages |
US7924613B1 (en) | 2008-08-05 | 2011-04-12 | Anobit Technologies Ltd. | Data storage in analog memory cells with protection against programming interruption |
US7876611B2 (en) | 2008-08-08 | 2011-01-25 | Sandisk Corporation | Compensating for coupling during read operations in non-volatile storage |
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 |
US8000135B1 (en) | 2008-09-14 | 2011-08-16 | Anobit Technologies Ltd. | Estimation of memory cell read thresholds by sampling inside programming level distribution intervals |
US20100083247A1 (en) | 2008-09-26 | 2010-04-01 | Netapp, Inc. | System And Method Of Providing Multiple Virtual Machines With Shared Access To Non-Volatile Solid-State Memory Using RDMA |
TWI467369B (zh) | 2008-10-01 | 2015-01-01 | A Data Technology Co Ltd | 混合密度記憶體系統及其控制方法 |
JP2010108568A (ja) | 2008-10-31 | 2010-05-13 | Toshiba Corp | 磁気ディスク装置 |
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 |
US9141475B2 (en) | 2008-11-23 | 2015-09-22 | Sandisk Technologies | Methods for tag-grouping of blocks in storage devices |
KR101066746B1 (ko) | 2008-12-08 | 2011-09-22 | 주식회사 하이닉스반도체 | 페이지 버퍼 회로 및 이를 구비한 불휘발성 메모리 소자와 그 동작 방법 |
TWI387023B (zh) | 2008-12-25 | 2013-02-21 | Silicon Motion Inc | 防止迴焊過程中資料遺失之方法及使用該方法之記憶體裝置 |
US8438455B2 (en) | 2008-12-31 | 2013-05-07 | Intel Corporation | Error correction in a solid state disk |
US8248831B2 (en) | 2008-12-31 | 2012-08-21 | Apple Inc. | Rejuvenation of analog memory cells |
US8244960B2 (en) | 2009-01-05 | 2012-08-14 | Sandisk Technologies Inc. | Non-volatile memory and method with write cache partition management methods |
US8040744B2 (en) | 2009-01-05 | 2011-10-18 | Sandisk Technologies Inc. | Spare block management of non-volatile memories |
US8228701B2 (en) | 2009-03-01 | 2012-07-24 | Apple Inc. | Selective activation of programming schemes in analog memory cell arrays |
US8832354B2 (en) | 2009-03-25 | 2014-09-09 | Apple Inc. | Use of host system resources by memory controller |
US20100287217A1 (en) | 2009-04-08 | 2010-11-11 | Google Inc. | Host control of background garbage collection in a data storage device |
TWI400707B (zh) | 2009-07-09 | 2013-07-01 | Phison Electronics Corp | 快閃記憶體邏輯區塊管理方法及其控制電路與儲存系統 |
KR20120059506A (ko) | 2009-08-25 | 2012-06-08 | 샌디스크 아이엘 엘티디 | 플래시 저장 디바이스로의 데이터 복원 |
US8014094B1 (en) | 2009-08-31 | 2011-09-06 | Western Digital Technologies, Inc. | Disk drive expediting defect scan when quality metric exceeds a more stringent threshold |
KR20120062738A (ko) | 2009-08-31 | 2012-06-14 | 샌디스크 아이엘 엘티디 | 플래쉬 저장 디바이스로의 데이터 프리로드 |
US8402217B2 (en) | 2009-09-15 | 2013-03-19 | Marvell International Ltd. | Implementing RAID in solid state memory |
US8179717B2 (en) | 2009-09-29 | 2012-05-15 | Sandisk Technologies Inc. | Maintaining integrity of preloaded content in non-volatile memory during surface mounting |
KR20110048304A (ko) | 2009-11-02 | 2011-05-11 | 삼성전자주식회사 | 솔더 리플로우에서 코드 데이터의 손실을 방지할 수 있는 방법과 그 장치들 |
US8301828B2 (en) | 2010-06-02 | 2012-10-30 | Conexant Systems, Inc. | Systems and methods for reliable multi-level cell flash storage |
-
2007
- 2007-05-10 KR KR1020087029297A patent/KR101375955B1/ko active IP Right Grant
- 2007-05-10 CN CN201210303689.6A patent/CN103208309B/zh active Active
- 2007-05-10 US US11/995,801 patent/US8050086B2/en not_active Expired - Fee Related
- 2007-05-10 CN CN201210303094.0A patent/CN103258572B/zh active Active
- 2007-05-10 WO PCT/IL2007/000576 patent/WO2007132453A2/en active Application Filing
- 2007-05-10 CN CN201210303215.1A patent/CN103280239B/zh active Active
-
2011
- 2011-09-22 US US13/239,411 patent/US8570804B2/en active Active
- 2011-09-22 US US13/239,408 patent/US8599611B2/en active Active
-
2013
- 2013-11-26 US US14/090,431 patent/US9292381B2/en not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1653554A (zh) * | 2002-05-20 | 2005-08-10 | 桑迪士克股份有限公司 | 通过使用关于所存储数据的质量的信息来增加错误校正码的效率和操作多电平存储*** |
US20040060031A1 (en) * | 2002-09-24 | 2004-03-25 | Sandisk Corporation | Highly compact non-volatile memory and method thereof |
US20040202028A1 (en) * | 2003-04-10 | 2004-10-14 | Micron Technology, Inc. | Flash memory data bus for syncronous burst read page |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108122586A (zh) * | 2016-11-30 | 2018-06-05 | 爱思开海力士有限公司 | 存储器件、包括它的半导体***和驱动半导体***的方法 |
CN109300500A (zh) * | 2017-07-25 | 2019-02-01 | 旺宏电子股份有限公司 | 存储器装置的数据管理方法与*** |
CN112053724A (zh) * | 2019-06-06 | 2020-12-08 | 群联电子股份有限公司 | 存储器控制方法、存储器存储装置及存储器控制电路单元 |
CN112053724B (zh) * | 2019-06-06 | 2023-07-18 | 群联电子股份有限公司 | 存储器控制方法、存储器存储装置及存储器控制电路单元 |
CN114705973A (zh) * | 2022-06-01 | 2022-07-05 | 北京航空航天大学杭州创新研究院 | 非侵入式的复杂环境集成电路老化监测方法 |
CN114705973B (zh) * | 2022-06-01 | 2022-11-11 | 北京航空航天大学杭州创新研究院 | 非侵入式的复杂环境集成电路老化监测方法 |
Also Published As
Publication number | Publication date |
---|---|
US20120026789A1 (en) | 2012-02-02 |
US20120026788A1 (en) | 2012-02-02 |
CN103280239A (zh) | 2013-09-04 |
WO2007132453A2 (en) | 2007-11-22 |
US9292381B2 (en) | 2016-03-22 |
KR101375955B1 (ko) | 2014-03-18 |
CN103258572A (zh) | 2013-08-21 |
US8050086B2 (en) | 2011-11-01 |
CN103280239B (zh) | 2016-04-06 |
US20080198650A1 (en) | 2008-08-21 |
WO2007132453A3 (en) | 2009-04-16 |
US20140157084A1 (en) | 2014-06-05 |
KR20090036545A (ko) | 2009-04-14 |
CN103258572B (zh) | 2016-12-07 |
CN103208309B (zh) | 2016-03-09 |
US8599611B2 (en) | 2013-12-03 |
US8570804B2 (en) | 2013-10-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101496110B (zh) | 存储设备中的失真估计和消除 | |
CN103208309B (zh) | 存储设备中的失真估计和消除 | |
US8547740B2 (en) | Adaptive estimation of memory cell read thresholds | |
US8151166B2 (en) | Reduction of back pattern dependency effects in memory devices | |
US8156403B2 (en) | Combined distortion estimation and error correction coding for memory devices | |
US7697326B2 (en) | Reducing programming error in memory devices | |
CN101601094B (zh) | 使用多个门限读取存储单元的方法 | |
US8060806B2 (en) | Estimation of non-linear distortion in memory devices | |
JP5183625B2 (ja) | 適応能力を有するメモリ素子 | |
JP4999921B2 (ja) | メモリ素子用の歪み推定と誤り訂正符号化の組み合せ | |
WO2013070366A2 (en) | Statistical read comparison signal generation for memory systems | |
JP2011527072A (ja) | フラッシュ・メモリにおける書き込み側セル間干渉軽減のための方法および装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |