CN101124544A - 用于在可重编程非易失性存储器中拷贝数据的方法 - Google Patents
用于在可重编程非易失性存储器中拷贝数据的方法 Download PDFInfo
- Publication number
- CN101124544A CN101124544A CNA2005800475423A CN200580047542A CN101124544A CN 101124544 A CN101124544 A CN 101124544A CN A2005800475423 A CNA2005800475423 A CN A2005800475423A CN 200580047542 A CN200580047542 A CN 200580047542A CN 101124544 A CN101124544 A CN 101124544A
- Authority
- CN
- China
- Prior art keywords
- data
- ecc
- controller
- error
- correction operation
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- 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/10—Programming or data input circuits
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- 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/34—Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7203—Temporary buffering, e.g. using volatile buffer or dedicated buffer blocks
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Read Only Memory (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Error Detection And Correction (AREA)
- Storage Device Security (AREA)
Abstract
本发明提供用于改良数据重定位作业的方法。在一个方面中,并非在每一重定位作业中依据数据的相关联错误纠正码(ECC)检查所述数据的质量,而是确定是否依据预定的选择标准检查ECC,且如果不选择ECC检查,则使存储器执行将所述数据从第一位置拷贝至第二位置的芯片上拷贝。如果选择ECC检查,则将所述数据传送至控制器并对其进行检查;当发现错误时,执行纠正作业,且当未发现错误时,执行芯片上拷贝。所述预定的选择标准可包括取样机制,所述取样机制可为基于随机性的或是确定性的。在另一方面中,引入数据传送旗标以指示数据已被纠正并应被传送回所述存储器。再一方面分别考虑标头及用户数据是否各自具有不同的相关联ECC。
Description
技术领域
本发明大体而言涉及可重编程非易失性存储器系统及其作业,且更具体而言涉及用于拷贝数据的技术。
背景技术
现今可重编程非易失性存储器产品在商业上获得成功且随处可得到,特别是小形体因数卡形式的非易失性存储器产品,例如由包括SanDisk公司在内的各商家制造的小型闪速存储器卡(CF)、安全数字卡(SD)、多媒体卡(MMC)及记忆棒卡。这些卡通常使用闪速电可擦可编程只读存储器(EEPROM)存储器单元阵列。闪速EEPROM存储器单元阵列通常制造成NOR阵列或NAND阵列。
NOR阵列
在典型的NOR阵列中,各存储器单元连接于在列方向上延伸的相邻位线源极与漏极扩散区之间,且控制栅极连接至沿存储器单元行延伸的字线。一种典型的存储器单元在源极与漏极扩散区之间具有“分裂式沟道”。存储器单元的电荷存储元件位于所述沟道的一部分上,而字线(也称作控制栅极)位于另一沟道部分上及所述电荷存储元件上。此会有效地构成一具有两个串联晶体管的单元,其中一个晶体管(存储器晶体管)使用所述电荷存储元件上的电荷量与所述字线的电压的组合来控制可流经其沟道部分的电流量,另一晶体管(选择晶体管)则仅具有字线用作其栅极。字线在一行电荷存储元件上延伸。这些单元的实例、其在存储器系统中的应用及其制造方法在第5,070,032号、第5,095,344号、第5,315,541号、第5,343,063号、及第5,661,053号美国专利中及在1999年1月27日提出申请且同在申请中的第09/239,073号美国专利申请案中给出。
此种分裂沟道式闪速EEPROM单元的一修改形式是增加一位于电荷存储元件与字线之间的导引栅极。阵列中的每一导引栅极均垂直于字线在一列电荷存储元件上延伸。其作用是在读取或编程选定单元时无需使字线同时执行两种功能。这两种功能是:(1)用作选择晶体管的栅极,因此需要一适当的电压来导通或关断选择晶体管,及(2)通过耦合于字线与电荷存储元件之间的电场(容性)将电荷存储元件的电压驱动至所期望电平。通常难以使用单一电压以最佳方式同时执行这两种功能。在增加导引栅极后,字线仅需要执行功能(1),而由所增加的导引栅极来执行功能(2)。例如,在第5,313,421号及第6,222,762号美国专利中即对导引栅极在闪速EEPROM阵列中的使用予以说明。
目前有各种编程技术用于将电子从衬底通过栅极电介质注入至浮动栅极存储元件上。最常见的编程机理阐述于一本由Brown及Brewer编辑的书“非易失性半导体存储器技术(Nonvolatile Semiconductor Memory Technology)”(IEEE出版社,第1.2部分,第9-25页(1998年))中。一种称作沟道“热电子注入”的技术(第1.2.3部分)将电子从单元的沟道注入浮动栅极毗邻所述单元的漏极的一区域内。另一种称作“源极侧注入”的技术(第1.2.4部分)则以一种方式沿存储器单元沟道的长度控制衬底表面电位,以在沟道的远离漏极的区域中给电子注入创造条件。源极侧注入还阐述于一篇由Kamiya等人所著的论文“具有高栅极注入效率的EPROM单元(EPROM Cellwith High Gate Injection Efficiency)”(IEDM Technical Digest,1982年,第741-744页)及第4,622,656号和第5,313,421号美国专利中。
在上文所述的两种类型的NOR存储器单元阵列中均使用两种用于从电荷存储元件移除电荷以擦除存储器单元的技术。其中一种技术是通过向源极、漏极及另一(些)栅极施加致使电子隧穿存储元件与衬底间的一部分介电层的适当电压来擦除至衬底。另一种擦除技术是通过位于存储元件与另一栅极之间的隧道介电层将电子从存储元件传送至另一栅极。在上文所述的第一种类型的单元中,出于该目的而设置第三擦除栅极。在上述因使用导引栅极而已具有三个栅极的第二种类型的单元中,是将电荷存储元件擦除至字线,而无需增加第四栅极。尽管所述后一种技术又重新增加由字线执行的第二功能,然而,这些功能是在不同的时间执行,因而不必因这两种功能而需要做出折中。当使用这两种擦除技术中的任一种时,将大量的存储器单元组合在一起,以便以”闪速”方式同时擦除。在一种方法中,所述群组包含足够的存储器单元,以存储磁盘扇区中所存储的用户数据量(即512个字节)加上某些开销数据。在另一种方法中,每一群组包含足够的单元,以保存数千个字节的用户数据,这等于许多个扇区的数据。在第5,297,148号美国专利中即说明了多块擦除、缺陷管理及其它闪速EEPROM系统特征。
如同在大多数集成电路应用中一样,闪速EEPROM系统也存在缩小为构建某些集成电路功能所需的硅衬底区域的压力。人们不断地期望增加可存储在硅衬底的既定区域中的数字数据量,以增大既定大小存储器卡及其它类型封装的存储容量,或者既增大容量又减小大小。一种增大数据存储密度的方法是每一存储单元存储多于一位数据。此通过将一存储元件电荷电平电压范围窗口划分成多于两种状态来实现。使用四个此种状态能够使每一单元存储两位数据,使用八种状态能够每一单元存储三位数据,依此类推。多状态闪速EEPROM结构及作业阐述于美国专利第5,043,940号及第5,172,338号中。
另一种类型的存储器单元包括两个存储元件,其也可在每一存储元件上以多种状态工作。在此种类型的单元中,在源极扩散区与漏极扩散区之间的其沟道上包含两个存储元件,且其中间具有一选择晶体管。沿每一列存储元件包含一导引栅极,且沿每一行存储元件在所述导引栅极上提供一字线。当存取既定存储元件以读取或编程时,含有所涉及存储元件的单元中的另一存储元件上方的导引栅极升至足够高,以导通所述另一存储元件下方的沟道,而无论其上面所存在的电荷电平如何。此可有效地消除另一存储元件作为读取或编程相同存储器单元的所涉及存储元件中的一因素。例如,此时,流经所述单元的电流量(可用于读取其状态)是所涉及存储元件上电荷量的函数,但不是同一单元中另一存储元件上的电荷量的函数。此种单元阵列架构及操作技术的实例阐述于第5,712,180号、第6,103,573号及第6,151,248号美国专利中。
NAND阵列
另一种闪速EEPROM架构则利用NAND阵列,其中由多于两个存储单元(例如16个或32个)构成的串联串连同一个或多个选择晶体管连接于各单独位线与一参考电位之间以构成单元列。各字线延伸跨过大量的这些列内的单元。在编程期间,通过如下方式来读取及验证一列中的单个存储单元:强导通所述串中的其余单元,以使流经一个串的电流取决于所寻址的单元中所存储电荷的电平。在第5,570,315号、第5,774,397号及第6,046,935号美国专利中可找到NAND架构阵列及其作为存储系统一部分的作业的实例。
当前闪速EEPROM阵列的及上文所提及专利及文章中所述的电荷存储元件是最常用的导电性浮动栅极,其通常由经掺杂的多晶硅材料制成。适用于闪速EEPROM系统的另一种类型的存储器单元利用非导电性介电材料取代导电性浮动栅极以非易失性方式存储电荷。此一单元阐述于由Chan等人所著的论文“真正的单晶体管氧化物-氮化物-氧化物EEPROM器件(A True Single-Transistor Oxide-Nitride-Oxide EEPROMDevice)”(IEEE电子器件通讯(IEEE Electron Device Letters),第EDL-8卷,No.3,1987年3月,第93-95页)中。一由氧化硅、氮化硅及氧化硅(“ONO”)形成的三层电介质被夹于导电性控制栅极与存储器单元沟道上方的半导电性衬底的表面之间。存储单元是通过将电子从单元沟道注入氮化物内来编程,其中电子被陷获并存储于有限区域中。然后,该所存储的电荷以一可检测方式改变单元沟道的一部分的阈电压。单元是通过将热空穴注入氮化物内来得到擦除。也参见由Nozaki等人所著的“用于半导体碟片应用的具有MONOS存储单元的1-Mb EEPROM(A 1-Mb EEPROM withMONOS Memory Cell for Semiconductor Disk Application)”(IEEE固态电路杂志(IEEEJournal of Solid-State Circuits)第26卷,No.4,1991年4月,第497-501页),其阐述一种具有分裂栅极构造的类似单元,其中一经掺杂的多晶硅栅极延伸于存储器单元沟道的一部分上方以形成一单独的选择晶体管。
第5,851,881号美国专利阐述在存储器单元沟道上方使用两个彼此毗邻定位的存储元件,其中一个存储元件为此一介电元件,而另一元件为导电性浮动栅极。可存储两位数据,其中一位存储于介电元件中,而另一位存储于浮动栅极中。通过将这两个栅极中的每一栅极编程于两个不同电荷电平范围之一中,将存储单元编程于四个不同阈电平组合之一中,从而表示四种存储状态之一。
另一种利用介电存储元件在每一单元中存储两个位的方法由Eitan等人阐述于“NROM:一种新颖的局部化陷获,2-位非易失性存储单元(NROM:A Novel LocalizedTrapping,2-Bit Nonvolatile Memory Cell)”(IEEE电子器件通信(IEEE Electron DeviceLetters),第21卷,第11号,2000年11月,第543-545页)中。一ONO介电层延伸跨越源极扩散区与漏极扩散区之间的沟道。一个数据位的电荷集中在毗邻漏极的介电层中,另一数据位的电荷则集中在毗邻源极的介电层中。多状态数据存储是通过分别读取电介质内空间上分离的电荷存储区域的二进制状态来实现。
大擦除块
典型非易失性闪速阵列的存储器单元被划分成可一同擦除的分立单元块。换句话说,所述块是擦除单位。每一块通常存储一个或多个数据页,页是编程和读取单位,虽然在单次作业中可编程或读取多于一个页。每一页通常存储一个或多个数据扇区,扇区的尺寸由主机系统界定。其一实例是一扇区有512个字节的用户数据(遵循一关于磁盘驱动器建立的标准)加上一定数量字节的关于用户数据及/或存储所述用户数据的块的开销信息。
有时,需要擦除块以腾出块用于写入作业。在此种情况下,在擦除原始块之前,合并所要擦除块内的有效数据页(原始块)并将其拷贝至另一块(更新块)。所述过程被称作“垃圾收集”。在垃圾收集过程中,来自原始块的其余有效数据页被从原始块拷贝至更新块。一旦完成拷贝作业,即擦除原始块,然后更新块变成原始块。
通常,诸如上文所述的用于垃圾收集的拷贝作业需要存储器控制器参与。一种用于提高数据从一个位置拷贝至另一个位置的速度的技术是通过使用一称作芯片上拷贝的特征来减小控制器在拷贝作业中的参与。芯片上拷贝提供一可用以读取数据、修改数据并将数据写回所述存储器、而无需将所有数据传送至控制器并然后再传送回存储器的特征。芯片上拷贝提供在存储器单元阵列中将数据从一个位置拷贝至另一个位置而无需将数据传送至所述控制器的功能性。此种技术阐述于美国专利第6,266,273号中并让与本发明的受让人SanDisk公司。
上文所提及的专利、专利申请案、文章及书籍部分均以引用方式明确地全文併入本背景技术部分中。
发明内容
大体而言,本发明提供多种用于数据重定位作业的方法,其中数据从第一存储器位置拷贝至可重编程非易失性存储器系统的第二存储器位置。数据被从所述第一位置读入所述存储器上的寄存器或缓冲存储器,然后直接拷贝至第二位置或传送至所述系统的控制器,以在此处可检查数据,且如果需要可依据其相关联的错误纠正码(ECC)来纠正数据。在本发明的第一方面中,为提高性能,无需针对每一数据拷贝来检查ECC。相反,可依据预定的选择标准选择性地检查ECC。如果未选择ECC检查,则使存储器执行数据从第一位置至第二位置的芯片上拷贝,反之,则依据是否找到ECC错误而按上文所述继续进行作业。预定选择标准可为取样机理,所述取样机理可以是基于随机的或是确定性的。
在本发明的可与第一方面组合使用或单独使用的另一方面中,使用一种传送旗标方法。依据是否将数据传送至所述控制器以用于错误检测及纠正作业,设定一传送旗标值。如果将数据传送至主机并确定无需纠正错误,则不设定旗标;如果需要并成功地执行一错误纠正作业,则设定所述传送旗标。然后,依据所述旗标值做出是否需要将一经更正形式的数据返回至所述存储器以便拷贝进所述第二位置的决定。
在本发明的再一方面中,当数据由用户数据部分及标头或开销部分组成且这些部分中的每一部分均具有其自身相关联的ECC时,可独立于用户数据部分处理开销部分的错误检测及纠正作业。在实例性实施例中,将开销首先传送至所述控制器用于错误检测及纠正。如果还要处理用户数据,则其跟随其后。具体而言,用于决定是否传送用户数据的取样机制的一个实例是基于开销内容。
本发明的其它方面、特征及优点包含于下文对具体代表性实施例的说明中,所述说明应结合如下图式来阅读。
附图说明
图1是一其中可实施本发明的第一非易失性存储器系统的方块图。
图2是一其中可实施本发明的第一非易失性存储器系统的方块图。
图3是一方块图,其显示一在图1或图2的任一存储器系统中用于拷贝具有相关联错误纠正码(ECC)的数据的实例性系统。
图4是一流程图,其显示一在图1或图2的任一存储器系统中用于拷贝具有相关联错误纠正码(ECC)的数据的实例性方法。
图5是一流程图,其显示一在图1或图2的任一存储器系统中用于拷贝具有相关联错误纠正码(ECC)的数据的实例性方法。
图6是一流程图,其显示一在图1或图2的任一存储器系统中用于拷贝具有相关联错误纠正码(ECC)的数据的实例性方法。
图7是一流程图,其显示一在图1或图2的任一存储器系统中用于拷贝具有相关联错误纠正码(ECC)的数据的实例性方法。
图8是一流程图,其显示一在图1或图2的任一存储器系统中用于拷贝具有相关联错误纠正码(ECC)的数据的实例性方法。
图9是一流程图,其显示一在图1或图2的任一存储器系统中用于拷贝具有相关联错误纠正码(ECC)的数据的实例性方法。
图10是一流程图,其显示在图1或图2的任一存储器系统中用于拷贝具有一包括标头及数据两者的相关联错误纠正码(ECC)的实例性方法。
具体实施方式
图1是一其中可实施本发明的第一非易失性存储器系统的方块图。大量可单独寻址的存储器单元11布置成一由行及列构成的规则阵列,但肯定也可具有其它单元实体布置方式。如上文在背景技术中及在并入本文中的参考文献中所述,该系统尤其适用于阵列11为NOR型。位线(在此处指定为沿单元阵列11的列延伸)通过线15与位线解码器及驱动器电路13电连接。字线(在本说明中指定为沿单元阵列11的行延伸)通过线17电连接至一字线解码器及驱动器电路19。导引栅极(其沿阵列11的存储单元列延伸)通过线23电连接至导引栅极解码器及驱动器电路21。每一解码器13、19及21均通过总线25从存储器控制器27接收存储器单元地址。所述解码器及驱动器电路也通过各自的控制及状态信号线29、31及33连接至控制器27。施加至导引栅极及位线的电压通过一使解码器及驱动器电路13与21互连的总线22来协调。所述控制器包含各种类型的寄存器及其它存储器,包括易失性随机存取存储器(RAM)28。
控制器27可经由线35连接至主机装置(未图示)。所述主机可为个人计算机、笔记本计算机、数字照相机、音频播放器、各种其它手持式电子装置及类似装置。图1所示存储器系统将通常构建于一依据数种现行物理及电气标准之一(例如由PCMCIA、CompactFlashTM联合会、MMCTM联合会及其它组织颁布的标准)的卡中。当呈一卡形式时,线35端接于卡上的一连接器中,所述连接器介接主机装置的互补连接器。许多卡的电接口遵循ATA标准,其中在主机看来,存储器系统仿佛是一磁盘驱动器。也存在其它存储器卡接口标准。作为卡形式的替代形式,图1所示类型的存储系统可永久性地嵌入主机装置中。
解码器及驱动器电路13、19及21根据各自的控制及状态线29、31及33内的控制信号,在阵列11中其相应的线(在总线25上寻址)中产生适当电压,以执行编程、读取及擦除功能。包括电压电平及其它阵列参数在内的任何状态信号均由阵列11通过相同的控制及状态线29、31及33提供至控制器27。电路13内的多个读出放大器接收可表示阵列11内所寻址存储器单元状态的电流或电压电平,并在读取作业期间通过线41为控制器27提供关于这些状态的信息。为能够并行读取大量存储单元的状态,通常使用大量的读出放大器。在读取及编程作业期间,通常通过电路19每次寻址一行单元,以便存取所寻址行中由电路13及21选择的多个单元。在一擦除作业期间,通常将许多行的每一行中的所有单元作为一个块一同寻址以便同时擦除。
例如图1所示的存储器系统的作业进一步阐述于在上文背景技术部分的NOR阵列章节中所标明的专利及文章中,以及让与本申请案的受让人-SanDisk公司的其它专利中。此外,在2001年2月26日提出申请的第09/793,370号美国专利申请案中说明一种数据编程方法,所述申请案以引用方式并入本文中。
图2是一其中可实施本发明的另一非易失性存储器系统的方块图。包括多个布置成矩阵形式的存储器单元M的存储器单元阵列1由列控制电路2、行控制电路3、c-源极控制电路4及c-p-阱控制电路5来控制。存储器单元阵列1可为上文在背景技术部分中及在以引用方式并入本文中的参考文献中所述的NAND型存储器单元阵列。控制电路2连接至存储器单元阵列1的位线(BL),以用于读取存储在存储器单元(M)中的数据、用于在编程作业期间确定存储器单元(M)的状态、及用于控制位线(BL)的电位电平以促进编程或禁止编程。行控制电路3连接至字线(WL),以选择其中一条字线(WL)、施加读取电压、施加与由列控制电路2所控制的位线电位电平相组合的编程电压、及施加与上面形成有存储器单元(M)的p-型区域的电压相耦合的擦除电压。c-源极控制电路4控制一连接至存储器单元(M)的共用源极线(在图2中标记为“c-源极”)。c-p-阱控制电路5则控制c-p-阱电压。
存储于存储器单元(M)中的数据由列控制电路2读出并经由I/O线及数据输入/输出缓冲器6输出至外部I/O线。拟存储于存储器单元中的编程数据经由外部I/O线输入至数据输入/输出缓冲器6,并传送至列控制电路2。外部I/O线连接至控制器43。控制器43包括各种通常处于易失性随机存取存储器(RAM)50中的各种类型的寄存器及其它存储器。
用于控制闪速存储器装置的命令数据输入至命令电路7,命令电路7连接至与控制器43相连的外部控制线。命令数据通知闪速存储器所请求的是何种作业。输入命令被传送至状态机8,所述状态机8控制列控制电路2、行控制电路3、c-源极电路4、c-p-阱控制电路5及数据输入/输出缓冲器6。状态机8可输出闪速存储器的状态数据,例如READY/BUSY(准备就绪/忙)或PASS/FAIL(成功/失败)。状态机8还包括若干寄存器及其它易失性随机存取存储器45。
控制器43连接或可连接一主机系统,例如个人计算机、数字照相机或个人数字助理。是由所述主机发起命令(例如向存储器阵列1存储或从存储器阵列1读取数据的命令),并分别提供或接收该数据。控制器将这些命令转换成可由命令电路7解译及执行的命令信号。控制器通常还包含用于将用户数据写入至存储器阵列或从存储器阵列读取用户数据的缓冲存储器。典型的存储器系统包含一个包含控制器43的集成电路芯片47、及一个或多个分别包含存储器阵列及相关联控制电路、输入/输出电路及状态机电路的集成电路芯片49。当然,目前的趋势是将系统的存储器阵列及控制器电路一同集成在一个或多个集成电路芯片上。
图1及图2的任一存储器系统均可嵌入作为主机系统的一部分,或者可包含于一可以抽换方式插入主机系统中一配合插座内的存储器卡中。此卡可包括整个存储器系统,或者可将带有相关联外围电路的控制器及存储器阵列设置于单独卡中。例如,在美国专利第5,887,145号中阐述数种卡实施方案,该专利的全文以引用方式明确地并入本文中。
图3是一方块图,其显示一在图1或图2的任一存储器系统中用于拷贝具有相关联错误纠正码(ECC)的数据的实例性系统。图3显示当将一页数据从一个位置写入另一个位置时,控制器27、43与存储器块320之间的交互作用。存储器块320包括处于位置310、315及325的多个页。位置325处所示的页显示存储器内典型页的内容并包括用户数据330及开销335。开销335(也称作标头)含有标头ECC 340及数据ECC345。在其它实施例中,使用单个ECC涵盖标头与数据二者。开销335也包含关于用户数据或页或块特征(例如编程电压等)的额外数据350。位置310及315处的页同样包含用户数据及开销数据,但为便于说明,不显示所述数据。
数据重定位作业由按照箭头365将一数据单元从存储器320内的第一位置移动至第二位置组成。在所述实例性实施例中,此由如箭头365a所示将所述数据页从位置1310移动至存储器寄存器390、然后如箭头365b所示返回位置2315组成。如果不检查所述数据页,则所述数据将不发送至控制器。如果检查所述页,则在传送至寄存器之后,来自第一位置310内的页的数据被传送至控制器电路27、43内的缓冲器或高速缓存(28,50),在此处使用ECC电路305执行ECC检查。箭头355显示从存储器内第一位置至所述控制器的数据传送。图1及图2所示系统的控制器27、43与存储器阵列11、1之间的命令/状态信号分别提供用于执行事务的构件,并可构建于(例如)固件内。
如果存在ECC错误,则纠正所述错误,然后按箭头360所示将经纠正的数据传送至存储器内的第二位置315,然后传送至第二位置315上。然而,如果无ECC错误,则可执行芯片上拷贝,从而避免必须将所读取的数据从所述控制器写回所述存储器。芯片上拷贝作业由箭头365a与365b显示,其中将位置310处的页拷贝至存储器阵列1、11的块320内的位置315处。(视所用架构而定,存储器上可存在数个此种寄存器或缓冲器390;例如,每一存储器平面均可具有用于在读取及写入期间快取数据的主-从式布置。)
图4是一流程图400,其显示当拷贝具有相关联的错误纠正码(ECC)的数据时,图1或图2的任一存储器系统的一实例性拷贝作业。流程图400显示一种方法,其用于将数据从第一位置拷贝至一包括存储器控制器27、43的系统的可重编程非易失性存储器的第二位置。所述数据具有相关联的错误纠正码(ECC)。在数据在存储器内传送期间,使用ECC纠正所发生的错误。
在401处开始拷贝作业,且在405处将所要拷贝的数据从第一存储器位置读入存储器寄存器,然后读入至所述控制器上。所述控制器内所读取的数据包含根据所述数据计算并与其一起编程的ECC,ECC可与所读取的数据处在同一页内或其它地方。在图3所示的实例性系统中,将ECC编程在相同页中,然而,也可将ECC存储于他处。在410处检查所读取数据上的ECC以显露可能的ECC错误。在415处,确定是否已找到ECC错误。如果发现ECC错误,则在425处纠正控制器内所读取数据中的错误,并在430处使控制器将所纠正的数据写入至所述存储器的第二位置,从而在499处完成所述拷贝作业。如果不能纠正所述错误,则中断所述拷贝作业或在中断之前可进行多次再试。如果未发现ECC错误,则在420处使存储器将所述数据从所述第一位置拷贝至所述第二位置。因此,如果无ECC错误且所述数据无需纠正,则可将保留在存储器上的拷贝直接写入至所述第二位置。此提供了在将数据写回至所述存储器的过程中无需控制器参与的优点,因此使得拷贝作业更快,同时仍保留检查ECC的优点。
本发明具有诸多会进一步改良数据重定位过程的方面。这些方面及其各种组合显示于图5-10的各流程中。图5添加不在每一重定位作业中而仅针对一重定位子集来检查ECC的方面。可在例如确定性或随机(伪随机)基础上确定所述子集。此便无须针对每一正重定位的数据集合将数据传送至所述控制器。图6利用如图3中所示对每一扇区内的用户数据及开销使用单独ECC码的情况。此允许单独地处理标头ECC及数据ECC。图7添加诸多特征至图6以改良其性能,包括引入一旗标结构以指示所述数据是否将从所述控制器传送回所述主机。图8将取样机制添加至图6的实施例以进一步改良性能。取样机制是图5所示技术的改变形式,其中是依据取样来决定是否检查数据ECC。图9组合图7与图8的过程。最后,图10类似于图8,只是仅对整个扇区使用单个ECC;因此,除依据取样来决定是否检查一既定数据集合外,图10也与图5类似。
所有所述重定位方法均可通过含纳2004年5月13日申请的美国专利申请案第10/846,289号的技术而得以进一步改良,所述申请案以引用方式并入本文中。此外,虽然根据图1及图2中所示的实例性Flash EEPROM存储器来提供本发明的各个方面,但这些方面更一般地适用于在2004年5月7日申请的美国专利申请案第10/841,379号中所述的各种非易失性存储器系统,所述申请案也以引用方式并入本文中。
图5是一流程图500,其显示当拷贝具有相关联ECC的数据时,图1或图2的任一存储器系统的实例性拷贝作业。拷贝作业提供如下额外功能:在535处决定在将数据从所述第一位置读取405至所述数据寄存器后是否检查ECC。可依据预定选择标准做出决定535。在本发明的一实例性实施例中,预定选择标准可是一取样机制。可使用基于随机性的或确定性的算法来构建所述取样机制。例如,基于随机性的取样机制可使用基于随机的算法以随机间隔提供对ECC的检查。这些基于随机性的算法众所周知,参见例如美国专利第6,345,001号,该专利以引用方式并入本文中,且其中在一略微不同的情形中将这些算法应用于非易失性存储器。对于确定性取样,取样机制可每(例如)四次拷贝作业检查一次ECC。另一选择为,可每一拷贝作业检查一次ECC。每一拷贝作业均检查ECC会提供高可靠性并防止拷贝错误,但在性能速度方面涉及到折衷。
在本发明的一实例性实施例中,取样机制可使用可供用于所述系统的位,例如包含在开销数据335内的位及旗标。在图3所示的实例中,用户数据ECC及标头数据ECC包括在开销数据335内,但除ECC外,开销数据还包括一部分350。开销数据部分350包括逻辑块地址(LBA)及时间戳,并可包括各种旗标,例如:数据旗标、块类型旗标、应用专用旗标及块旗标。LBA包括页卷标及逻辑块编号(LBN)。所述页卷标指示块内的逻辑页,并可与一平面或存储器子阵列有关。LBN是一用于将物理块中的数据链接至其逻辑块地址的字段。此允许主机系统查找并撷取先前写入的数据。时间戳指示数据的相对年龄并与逻辑块地址字段相关联。每当将一逻辑块指配给一新物理块时,即为该块增加所述时间戳。该值可用于区别具有相同逻辑块地址的块中哪一个块是最近写入的块。可将与块或页相关联的其它信息用于取样目的,包括(例如)热计数及关于需如何频繁地擦除所述块的信息。另一选择为,取样机制可涉及不包括有实际数据且单独存储但仍与所述页相关联的跟踪机制。
在本发明的一实例性实施例中,所述取样机制将LBA的最后两个位与时间戳的最后两个位相比较。然后根据所述比较结果选择ECC检查。此有效地提供四分之一取样,从而每四次拷贝作业检查一次ECC。此取样进一步改良存储器性能。
如果使用取样机制,则在535处决定是否检查与所读取数据相关联的ECC。如果在535处的决定指示将不检查ECC,则在420处使存储器将数据从所述第一位置拷贝至所述第二位置,从而于599处完成所述拷贝作业。如果在535处所述决定指示将要检查ECC,则按照上文在图4中410、415、425及430处所述继续进行处理。
图6是一流程图600,其显示当拷贝具有相关联的ECC的数据时图1或图2的任一存储器系统的实例性拷贝作业。在该实例中,所述可重编程非易失性存储器内第一位置与第二位置的内容包括用户数据及与所述用户数据相关联的标头数据,其中所述标头数据包括与所述用户数据相关联的信息,例如ECC信息。用户数据ECC及标头数据ECC可存储于所述页内或其它地方,但在该特定实例中,用户数据ECC与标头数据ECC两者均如图3所示及上文所述存储于所述页的开销部分内。注意,虽然该特定实例阐述单独的标头与数据ECC,然而,所述技术同等地适用于单一ECC涵盖标头与数据两者的情况。在图6-9所示的实例中,单独检查标头数据的ECC(作为一开始步骤)以确定所述用户数据的ECC是否值得检查;下文针对图10论述这些技术如何适用于标头及数据共用ECC的情况的实例。在图1及图2中所示存储器系统的实例中,如果发现标头数据具有无法纠正的ECC错误,则假设与该标头数据相关联的用户数据无效。
在601处开始流程图600中所示的拷贝作业,并在605处发出一读取命令。读取命令被发送至控制器27、43,以开始对存储器单元阵列11、1内第一位置的读取。所述第一位置的内容可包括用户数据及与所述用户数据相关联的标头数据。控制器27、43解释所述读取命令并将所述标头数据传送至控制器27、43的随机存取存储器(RAM)28、50。所述控制器的RAM是用作所要拷贝的位置的内容的临时存储位置。以此方式使用的控制器RAM也称作暂存RAM或SPR。
在615处检查标头数据以确定在标头数据中是否存在ECC错误,如果存在错误,则于620处确定所述标头数据ECC错误是否可纠正。如果所述标头数据ECC错误不可纠正,则于650处设定一指示符以通知所述控制器所述用户数据无效。此一指示符的一实例是因应所述用户数据是有效还是无效来设定或清除的数据旗标位。所述数据旗标位可包含于开销部分335或可存储在其它地方。
如果所述标头数据ECC错误可纠正,则于623处纠正所述错误,且于625处将用户数据读入或传送至所述控制器RAM。在一标准芯片上拷贝作业中,用户数据从存储器阵列1、11中的第一位置拷贝至存储器阵列1、11中的第二位置,而非被传送至控制器27、43。在多次芯片上拷贝作业后,数据会随时间变差而包括足够数量的无法使用ECC纠正的多位错误。
在625处将用户数据传送至控制器RAM 28、50会产生关于用户数据的ECC状态。此处将使用ECC状态检查来防止存储于一存储器位置的用户数据在未曾被读取且未对所述用户数据进行任何ECC检查的情况下而被拷贝多次。
如果在630处发现关于所述用户数据的ECC错误,则于635处确定所述ECC错误是否可纠正。如果所述ECC错误不可纠正,则于650处设定一指示符以通知所述控制器所述用户数据无效。如上所述,所述指示符是一用于实现该目的的数据旗标位。根据所述用户数据状态是有效或无效来设定或清除所述数据位(反之亦然)。
如果所述ECC错误可纠正,则于637处纠正所述用户数据,且然后于640处传送回所述存储器芯片。在640处,可使所述控制器完成在640处将数据传送回所述存储器芯片的传送。在数据传送之后,在645处将一新标头传送回所述存储器芯片。在其可能已作为拷贝作业的结果得到更新的意义上,所述标头数据为新的。即使在620或635处所述ECC错误不可纠正,仍于645处将所述新标头拷贝回去,这是因为其将含有在650处经设定以指示所述错误的数据旗标位。此允许将所述错误旗标存储于缺陷扇区中,以便当存取所述扇区时所述信息可供使用。在于699处完成当前拷贝作业之前,在646处发出新的寻址及写入命令。
如果于630处确定未发现关于所述用户数据的ECC错误,则用户数据不被写回至所述存储器。如果未发现ECC错误则不将用户数据部分写回至所述存储器的一个原因是利用芯片上拷贝作业的优点。
图7是一流程图700,其显示当拷贝具有相关联错误纠正码(ECC)的数据时图1或图2的任一存储器系统的实例性拷贝作业。流程图700给流程图600中所示的方法提供额外的功能,包括多次尝试ECC检查的再试机制及指示何时将数据传送回所述存储器芯片的旗标设定/清除机制。
在721处,再试机制提供一其中检查一再试计数值的决定点。如果于620处标头ECC错误不可纠正或于635处用户数据ECC错误不可纠正,则到达所述决定点721。如果于721处再试次数用完,则于650处继续进行处理,在此处设定一数据旗标位以指示无效数据。否则,如果再试次数未用完,则于722处增加再试计数,且在605处继续对另一读取命令进行处理。再试计数值在确定标头ECC不可纠正时提供多次再试。再试计数值可为预定的或基于适合于拷贝作业的某个标准。
如果于630处发现关于用户数据的错误,则于635处确定所述用户数据ECC错误是否可纠正。如果所述ECC错误不可纠正,则于721处检查所述再试计数值,且如果再试次数已用完,则于650处设定一指示符以通知所述控制器所述数据无效。上文对数据无效指示符予以进一步阐述。如果于635处确定所述数据ECC错误可纠正,则于736处纠正所述ECC错误,并于756处设定一数据传送旗标。数据传送旗标为一指示数据正确并应传送回所述存储器芯片的指示符。数据传送旗标可作为所述代码旗标之一存储于所述控制器中或可存储于他处。然后于645处将新的或经更新的标头传送回所述存储器芯片。然后于755处检查数据传送旗标。如果于755处设定所述数据传送旗标,则于640处将数据传送回所述存储器芯片。如果正拷贝多个扇区,则接下来在741处确定是否存在更多要处理的扇区,且如果存在,则于610处将下一扇区的标头传送至控制器RAM内。然后按照上文所述处理下一扇区。如果于741处未发现有更多扇区,则处理于799处结束。
如果于630处未发现数据ECC错误,则于757处清除一数据传送旗标以指示所述数据不应被传送回存储器芯片。在未发现数据ECC错误的情况下于757处清除所述数据传送旗标可通过无需将数据传送回所述存储器芯片来提供性能优化。如果不存在关于所述数据的ECC错误,则被拷贝的数据可能在一芯片上拷贝中是正确的,此处使所述存储器将数据从第一位置拷贝至第二位置通常即可。通过在事务中不牵涉控制器且转而通过使用所述芯片将所述数据从所述第一位置拷贝至所述芯片上的第二位置来改良性能。
图8是一流程图800,其显示当拷贝具有相关联错误纠正码(ECC)的数据时图1或图2的任一存储器系统的实例性拷贝作业。流程图800添加对可纠正标头进行优化的特征并执行一取样机制以确定是否检查ECC。这些特征将于下文中予以更详细说明。另外,流程图800包括上述流程图700中的诸多特征,例如再试机制,但不包括旗标设定/清除机制以指示何时将数据传送回所述存储器芯片。下文将仅详细阐述所述额外特征。关于进一步的信息,参见上文对图6-7的论述。
如果于620处确定所述标头ECC错误是可纠正的,则于723处纠正所述标头ECC。此处,可于870处做出对一可纠正标头进行优化的决定。如果所述标头可纠正,则可假设不必每一单次拷贝作业均检查ECC并可使用一取样机制来提供最佳性能。如果于870处选择所述标头优化,则将不在每一拷贝作业期间均检查数据ECC,而是根据一取样机制予以检查,下文将进一步阐述所述取样机制。在所述实例性实施例的一变化中,即使于620处所述标头不可纠正,所述数据可仍被传送至所述控制器以用于错误检测/纠正作业,这是因为可重建所述扇区的标头。
如果于870处选择标头优化,则于875处检查一再试阈值。可根据结合721及722所论述的再试计数值在处理中的一不同点执行该再试阈值,并可依据何种条件适合而将所述再试阈值设定至不同数值。875处的再试阈值的一个用途是视需要防止拷贝过程在错误条件中的标头优化。再试阈值可是预定的或基于某一适合于拷贝作业的标准。875处的再试阈值检查是用于确定是否于860处应用一取样机制。如果于875处超过再试阈值,则不选择取样机制,且于625处,处理继续将所述数据传送至控制器RAM。
如果于870处选择所述标头优化,且于875处尚未超过再试阈值,则于860处执行一取样机制。取样机制是预定选择标准的一实例,其可用于确定是否检查关于所述数据的ECC。所述取样机制可是基于随机性的或是确定性的,并在图5的论述中更详细地予以阐述。
检查应用取样机制的结果,并于865处确定是否需要检查数据ECC。如果于875处确定需要检查所述数据ECC,则于625处,处理继续将所述数据传送至控制器RAM。如果于865处将不检查数据ECC,则于625处不存在数据传送至所述控制器存储器或从控制器存储器的传送,这是因为在此种情况下不在检查数据ECC。如果需要检查所述数据ECC,则无需将所述数据传送至所述控制器。
其余的处理步骤类似于上文论述图6-7中所说明的那些步骤。
图9是一流程图900,其显示当拷贝具有相关联错误纠正码(ECC)的数据时图1或图2的任一存储器系统的实例性拷贝作业。流程图900通过组合上文所述图6-8的特征来提供改良的性能,所述特征包括选择性芯片上拷贝及其中可使用一取样机制确定何时执行所述ECC检查的选择性ECC检查。更具体而言,其将图8的步骤860、865、870及875的优化及取样添加至图7的流程。
图6-9全部是针对对标头及用户数据使用单独ECC的情况。引入图7-9中的诸多特征也可应用于组合ECC的情况(或具有未利用的单独ECC的情况)。例如,图10引入在图8中所见的诸多特征,但仅使用单个ECC。
更具体而言,所述过程在1001处以发出一读取命令开始,其中再试计数值在605处被设定为0。在860处使用取样机制以于865处确定是否检查正被重定位的扇区。如果不检查,则执行所述扇区的一芯片上拷贝,且所述过程在741处转至其它扇区(如果存在更多扇区),或在1099处终止(如果不存在更多扇区)。如果确定需要检查所述扇区,则于610/625处将标头及用户数据两者从所述存储器寄存器传送至所述控制器。除一起处理标头及用户数据而非单独处理标头ECC外,所述过程的其余部分跟在615/630后,如同其跟随在图8中630后一样。
尽管已针对具体实例性实施例阐述了本发明的各个方面,但应了解,本发明在随附权利要求书的整个范畴内受到保护。上文所涉及的专利、专利申请案、文章及书籍部分的全文均特此以引用方式明确地并入本背景技术部分中。
Claims (44)
1.一种用于在包括控制器及可编程非易失性存储器的存储器系统中将数据从所述存储器的第一位置重定位至所述存储器的第二位置的方法,所述方法包括:
将所述数据从所述第一位置读入所述存储器上的寄存器;
在所述控制器中确定是否对所述数据执行错误检测及纠正作业;及
响应于确定不对所述数据执行错误检测及纠正作业,将所述数据从所述寄存器写入至所述第二位置。
2.一种用于在包括控制器及可编程非易失性存储器的存储器系统中将数据从所述存储器的第一位置重定位至所述存储器的第二位置的方法,所述方法包括:
将所述数据从所述第一位置读入所述存储器上的寄存器;
在所述控制器中确定是否对所述数据执行错误检测及纠正作业;
响应于确定对所述数据执行错误检测及纠正作业,将所述数据的拷贝传送至所述控制器,同时将所述数据保持在所述寄存器中;及
对所述控制器中的所述数据执行错误纠正及检测作业。
3.如权利要求2所述的方法,其中所述数据包括关联的错误纠正码(ECC)且所述错误纠正及检测作业包括:
依据所述相关联的ECC确定所述数据是否含有错误;及
响应于确定所述数据含有错误,对所述数据执行纠正作业。
4.如权利要求3所述的方法,其中如果成功地完成所述错误纠正作业,则所述方法进一步包括:
将所述经纠正的数据从所述控制器传送至存储器;及
将所述经纠正的数据写入至所述第二位置。
5.如权利要求3所述的方法,其中如果未成功完成所述错误纠正,则所述方法进一步包括:
设定与所述数据相关联的错误旗标。
6.如权利要求5所述的方法,其中所述数据包括标头部分及用户数据部分,并将所述错误旗标写入所述标头部分。
7.如权利要求1或2中任一权利要求所述的方法,其中所述确定是否执行错误检测及纠正作业是确定性机制。
8.如权利要求1或2中任一权利要求所述的方法,其中所述确定是否执行错误检测及纠正作业是基于随机或伪随机的。
9.如权利要求1或2中任一权利要求所述的方法,其中所述确定是否执行错误检测及纠正作业是基于取样机制。
10.如权利要求9所述的方法,其中所述取样机制是基于与所述数据相关联的开销数据。
11.如权利要求10所述的方法,其中所述取样机制包括将与所述数据相关联的时间戳与所述数据的逻辑地址信息进行比较。
12.如权利要求2所述的方法,其进一步包括:
依据是否已作为所述执行错误检测及纠正作业的一部分纠正了所述数据来设定旗标值;
如果所述旗标值经设定以指示所述数据已被纠正,则将所述经纠正的数据传送回所述寄存器;及
随后将寄存器的内容写入至所述第二存储器位置。
13.如权利要求12所述的方法,其中所述数据具有相关联的错误纠正码(ECC)且所述错误检测及纠正作业包括:
依据所述相关联的ECC确定所述数据是否含有错误;及
使用所述相关联的ECC纠正所述数据,
其中响应于成功地完成所述纠正来设定所述旗标值。
14.如权利要求13所述的方法,其进一步包括:
响应于未成功地完成所述纠正,设定与所述数据相关联的错误旗标。
15.如权利要求14所述的方法,其中所述数据包括开销部分及用户数据部分,且将所述错误旗标写入所述开销部分。
16.如权利要求12所述的方法,其中所述数据包括用户数据部分及开销部分,且其中所述用户数据具有相关联的错误纠正码(ECC)且所述开销部分具有不同的相关联错误纠正码(ECC),其中所述传送所述数据的拷贝及所述执行错误检测及纠正作业
将所述数据的开销部分的拷贝从所述寄存器传送至所述控制器,同时将所述数据保持在所述寄存器中;及
依据所述相关联的开销ECC在所述控制器中对所述数据的开销部分执行错误检测及纠正作业,并响应于对所述数据的开销部分完成地成功纠正作业,将所述经纠正的开销部分传送回所述寄存器;
及,响应于对所述数据的开销部分的成功错误检测及纠正作业,
将所述数据的用户部分的拷贝从所述寄存器传送至所述控制器,同时将所述数据保持在所述寄存器中;及
依据所述相关联的用户数据ECC在所述控制器中对所述数据的用户部分执行错误检测及纠正作业,
其中依据是否已纠正所述用户数据部分来设定所述旗标值。
17.一种用于在包括控制器及可编程非易失性存储器的存储器系统中将数据从所述存储器的第一位置重定位至所述存储器的第二位置的方法,其中所述数据包括用户数据部分及开销部分,且其中所述用户数据具有相关联的错误纠正码(ECC)且所述开销部分具有不同的相关联错误纠正码(ECC),所述方法包括:
将所述数据从所述第一位置读入所述存储器上的寄存器;
随后将所述数据的标头部分的拷贝传送至所述控制器,同时将所述数据保持在所述寄存器中;
依据所述相关联的开销ECC在所述控制器中对所述开销部分执行错误纠正及检测作业;
如果对所述开销部分的所述错误纠正及检测作业需要纠正所述开销部分,则随后响应于成功地完成对所述开销的所述错误纠正及检测作业将所述经纠正的开销传送回所述寄存器;及
在所述对所述开销部分执行错误纠正及检测作业之后,在所述控制器中确定是否对所述数据的用户数据部分执行错误检测及纠正作业。
18.如权利要求17所述的方法,其中所述确定是否对所述数据的用户数据部分执行错误检测及纠正作业包括:
响应于确定所述开销部分需要纠正,将所述用户数据部分的拷贝传送至所述控制器,同时将所述数据保持在所述寄存器中;及
在所述控制器中对所述用户数据部分执行错误纠正及检测作业。
19.如权利要求17所述的方法,其进一步包括:
响应于确定不对所述用户数据部分执行错误检测及纠正作业,将所述数据从所述寄存器写入至所述第二位置。
20.如权利要求17所述的方法,其进一步包括:
响应于确定对所述用户数据部分执行错误检测及纠正作业,将所述用户数据部分的拷贝传送至所述控制器,同时将所述数据保持在所述寄存器中;及
在所述控制器中对所述用户数据部分执行错误纠正及检测作业。
21.如权利要求18或20中任一权利要求所述的方法,其中对所述用户数据部分的所述错误纠正及检测作业包括:
依据所述相关联的用户部分ECC确定所述用户数据部分是否含有错误;及
响应于确定所述用户数据部分含有错误,对所述数据执行纠正作业。
22.如权利要求21所述的方法,其中如果成功地完成对所述用户数据部分的所述错误纠正作业,则所述方法进一步包括:
将所述经纠正的用户数据部分从所述控制器传送至所述存储器;及
将所述经纠正的数据写入至所述第二位置。
23.如权利要求21所述的方法,其中如果未成功地完成对所述用户数据部分的所述错误纠正,则所述方法进一步包括:
设定与所述数据相关联的错误旗标。
24.如权利要求23所述的方法,其中将所述错误旗标写入所述开销部分。
25.如权利要求19或20中任一权利要求所述的方法,其中所述确定是否对所述用户数据部分执行错误检测及纠正作业是确定性机制。
26.如权利要求19或20中任一权利要求所述的方法,其中所述确定是否对所述用户数据部分执行错误检测及纠正作业是基于随机或伪随机的。
27.如权利要求19或20中任一权利要求所述的方法,其中所述确定是否对所述用户数据部分执行错误检测及纠正作业是基于取样机制。
28.如权利要求27所述的方法,其中所述取样机制是基于与所述数据相关联的所述开销数据。
29.如权利要求28所述的方法,其中所述取样机制包括将与所述数据相关联的时间戳与所述数据的逻辑地址信息进行比较。
30.如权利要求20所述的方法,其进一步包括:
依据是否已作为所述执行错误检测及纠正作业的一部分纠正了所述数据来设定旗标值;
如果所述旗标值经设定以指示所述数据已被纠正,则将所述经纠正的数据传送回所述寄存器;及
随后将所述寄存器的内容写入至所述第二存储器位置。
31.如权利要求30所述的方法,其中所述数据具有相关联的错误纠正码(ECC)且所述错误检测及纠正作业包括:
依据所述相关联的ECC确定所述数据是否含有错误;及
使用所述相关联的ECC纠正所述数据,
其中响应于成功地完成所述纠正来设定所述旗标值。
32.如权利要求31所述的方法,其进一步包括:
响应于未成功地完成所述纠正来设定与所述数据相关联的错误旗标。
33.如权利要求32所述的方法,其中所述数据包括开销部分及用户数据部分,且将所述错误旗标写入所述开销部分。
34.如权利要求30所述的方法,其中所述数据包括用户数据部分及开销部分,且其中所述用户数据具有相关联的错误纠正码(ECC)且所述开销部分具有不同的相关联错误纠正码(ECC),其中所述传送所述数据的拷贝及所述执行错误检测及纠正作业
将所述数据的开销部分的拷贝从所述寄存器传送至所述控制器,同时将所述数据保持在所述寄存器中;及
依据所述相关联的开销ECC,在所述控制器中对所述数据的开销部分执行错误检测及纠正作业,并响应于完成对所述数据的开销部分的成功纠正作业而将所述经纠正的开销部分传送回所述寄存器;
及,响应于对所述数据的开销部分的成功错误检测及纠正作业,
将所述数据的用户部分的拷贝从所述寄存器传送至所述控制器,同时将所述数据保持在所述寄存器中;及
依据所述相关联的用户数据ECC,在所述控制器中对所述数据的用户部分执行错误检测及纠正作业,
其中依据是否已纠正所述用户数据部分来设定所述旗标值。
35.一种用于在拷贝作业期间避免将具有相关联错误纠正码(ECC)的数据从可重编程非易失性存储器的第一位置传送至存储器控制器的方法,其包括:
应用取样方法来使正被拷贝的数据的降级最小化;
以预定频率检查所述数据的ECC,其中所述频率足以避免所述数据的质量显著降级。
36.如权利要求35所述的方法,其中预定的选择标准包括取样机制。
37.如权利要求36所述的方法,其中所述取样机制是基于随机性的。
38.如权利要求36所述的方法,其中所述取样机制是确定性的。
39.如权利要求36所述的方法,其中所述取样机制包括:
将与所述可重编程非易失性存储器内逻辑扇区的编号相关联的多个位与时间戳进行比较以产生比较结果;及
根据所述比较结果来选择检查ECC。
40.一种用于将具有相关联错误纠正码(ECC)的数据从包括存储器控制器的系统的可重编程非易失性存储器的第一位置拷贝至第二位置的方法,所述方法包括:
将所述数据从所述第一位置读入所述存储器上的高速缓存;
确定是否依据预定的选择标准检查所述ECC,且如果未选择ECC检查,则使所述存储器将所述数据从所述高速缓存拷贝至所述第二位置;及
如果选择ECC检查,则在所述控制器中检查关于所述所读取数据的所述ECC;其包括:
如果发现ECC错误,则在所述控制器中纠正关于所述所读取数据的所述ECC错误,并使所述控制器将所述经纠正的数据写入至所述存储器的第二位置;及
如果未发现ECC错误,则使所述存储器将所述数据从所述高速缓存拷贝至所述第二位置。
41.如权利要求40所述的方法,其中所述预定的选择标准包括取样机制。
42.如权利要求41所述的方法,其中所述取样机制是基于随机性的。
43.如权利要求41所述的方法,其中所述取样机制是确定性的。
44.如权利要求41所述的方法,其中所述取样机制包括:
将与所述可重编程非易失性存储器内逻辑扇区的编号相关联的多个位与时间戳进行比较以产生比较结果;及
根据所述比较结果选择检查ECC。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/022,350 | 2004-12-21 | ||
US11/022,350 US7849381B2 (en) | 2004-12-21 | 2004-12-21 | Method for copying data in reprogrammable non-volatile memory |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101124544A true CN101124544A (zh) | 2008-02-13 |
Family
ID=36602239
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2005800475423A Pending CN101124544A (zh) | 2004-12-21 | 2005-12-15 | 用于在可重编程非易失性存储器中拷贝数据的方法 |
Country Status (10)
Country | Link |
---|---|
US (2) | US7849381B2 (zh) |
EP (1) | EP1828897B1 (zh) |
JP (1) | JP5069127B2 (zh) |
KR (1) | KR101026391B1 (zh) |
CN (1) | CN101124544A (zh) |
AT (1) | ATE408864T1 (zh) |
DE (1) | DE602005009868D1 (zh) |
IL (1) | IL184018A0 (zh) |
TW (1) | TWI443667B (zh) |
WO (1) | WO2006068993A2 (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101944386A (zh) * | 2009-07-03 | 2011-01-12 | 群联电子股份有限公司 | 识别闪速存储器中错误数据的控制电路及存储系统与方法 |
US8607123B2 (en) | 2009-06-23 | 2013-12-10 | Phison Electronics Corp. | Control circuit capable of identifying error data in flash memory and storage system and method thereof |
CN104040634A (zh) * | 2012-01-12 | 2014-09-10 | 索尼公司 | 存储控制装置、存储装置、信息处理系统及其处理方法 |
CN106663043A (zh) * | 2014-05-30 | 2017-05-10 | 桑迪士克科技有限责任公司 | 用于基于动态的字线的三维存储器装置的配置的方法和系统 |
Families Citing this family (132)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7490283B2 (en) | 2004-05-13 | 2009-02-10 | Sandisk Corporation | Pipelined data relocation and improved chip architectures |
US7120051B2 (en) | 2004-12-14 | 2006-10-10 | Sandisk Corporation | Pipelined programming of non-volatile memories using early data |
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 |
US7987404B2 (en) * | 2004-12-28 | 2011-07-26 | International Business Machines Corporation | Information recording device, data-flow controller and data flow controlling method |
US7362611B2 (en) * | 2005-08-30 | 2008-04-22 | Micron Technology, Inc. | Non-volatile memory copy back |
KR101202537B1 (ko) | 2006-05-12 | 2012-11-19 | 애플 인크. | 메모리 디바이스를 위한 결합된 왜곡 추정 및 에러 보정 코딩 |
CN103258572B (zh) | 2006-05-12 | 2016-12-07 | 苹果公司 | 存储设备中的失真估计和消除 |
US7697326B2 (en) | 2006-05-12 | 2010-04-13 | Anobit Technologies Ltd. | Reducing programming error in memory devices |
WO2007132456A2 (en) | 2006-05-12 | 2007-11-22 | Anobit Technologies Ltd. | Memory device with adaptive capacity |
US8060806B2 (en) | 2006-08-27 | 2011-11-15 | Anobit Technologies Ltd. | Estimation of non-linear distortion in memory devices |
WO2008053472A2 (en) | 2006-10-30 | 2008-05-08 | Anobit Technologies Ltd. | Reading memory cells using multiple thresholds |
CN101601094B (zh) | 2006-10-30 | 2013-03-27 | 苹果公司 | 使用多个门限读取存储单元的方法 |
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 |
WO2008068706A1 (en) * | 2006-12-07 | 2008-06-12 | Nxp B.V. | Method and device for reconfiguration of reliability data in flash eeprom storage pages |
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 |
JP2008257773A (ja) * | 2007-04-02 | 2008-10-23 | Toshiba Corp | 不揮発性半導体記憶装置、不揮発性半導体記憶装置の制御方法、不揮発性半導体記憶システム、及びメモリカード |
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 |
JP4564520B2 (ja) * | 2007-08-31 | 2010-10-20 | 株式会社東芝 | 半導体記憶装置およびその制御方法 |
US8174905B2 (en) | 2007-09-19 | 2012-05-08 | Anobit Technologies Ltd. | Programming orders for reducing distortion in arrays of multi-level analog memory cells |
US7773413B2 (en) | 2007-10-08 | 2010-08-10 | Anobit Technologies Ltd. | Reliable data storage in analog memory cells in the presence of temperature variations |
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 |
US20090106513A1 (en) * | 2007-10-22 | 2009-04-23 | Chuang Cheng | Method for copying data in non-volatile memory system |
KR101509836B1 (ko) | 2007-11-13 | 2015-04-06 | 애플 인크. | 멀티 유닛 메모리 디바이스에서의 메모리 유닛의 최적화된 선택 |
US8225181B2 (en) | 2007-11-30 | 2012-07-17 | Apple Inc. | Efficient re-read operations from memory devices |
US8209588B2 (en) | 2007-12-12 | 2012-06-26 | Anobit Technologies Ltd. | Efficient interference cancellation in analog memory cell arrays |
US8456905B2 (en) | 2007-12-16 | 2013-06-04 | Apple Inc. | Efficient data storage in multi-plane memory devices |
US8085586B2 (en) | 2007-12-27 | 2011-12-27 | Anobit Technologies Ltd. | Wear level estimation in analog memory cells |
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 |
TW200935433A (en) * | 2008-02-15 | 2009-08-16 | Asmedia Technology Inc | Method for reducing data error when flash memory storage device using copy back command |
US7924587B2 (en) | 2008-02-21 | 2011-04-12 | Anobit Technologies Ltd. | Programming of analog memory cells using a single programming pulse per state transition |
US7864573B2 (en) | 2008-02-24 | 2011-01-04 | Anobit Technologies Ltd. | Programming analog memory cells for reduced variance after retention |
US8230300B2 (en) | 2008-03-07 | 2012-07-24 | Apple Inc. | Efficient readout from analog memory cells using data compression |
US8059457B2 (en) | 2008-03-18 | 2011-11-15 | Anobit Technologies Ltd. | Memory device with multiple-accuracy read commands |
US8400858B2 (en) | 2008-03-18 | 2013-03-19 | Apple Inc. | Memory device with reduced sense time readout |
US7781780B2 (en) | 2008-03-31 | 2010-08-24 | Bridgelux, Inc. | Light emitting diodes with smooth surface for reflective electrode |
US20090282267A1 (en) * | 2008-05-09 | 2009-11-12 | Ori Stern | Partial scrambling to reduce correlation |
US7924613B1 (en) | 2008-08-05 | 2011-04-12 | Anobit Technologies Ltd. | Data storage in analog memory cells with protection against programming interruption |
US7995388B1 (en) | 2008-08-05 | 2011-08-09 | Anobit Technologies Ltd. | Data storage using modified voltages |
US8169825B1 (en) | 2008-09-02 | 2012-05-01 | Anobit Technologies Ltd. | Reliable data storage in analog memory cells subjected to long retention periods |
US8949684B1 (en) | 2008-09-02 | 2015-02-03 | Apple Inc. | Segmented data storage |
US8482978B1 (en) | 2008-09-14 | 2013-07-09 | Apple Inc. | Estimation of memory cell read thresholds by sampling inside programming level distribution intervals |
US8000135B1 (en) | 2008-09-14 | 2011-08-16 | Anobit Technologies Ltd. | Estimation of memory cell read thresholds by sampling inside programming level distribution intervals |
US8239734B1 (en) | 2008-10-15 | 2012-08-07 | Apple Inc. | Efficient data storage in storage device arrays |
US8261159B1 (en) | 2008-10-30 | 2012-09-04 | Apple, Inc. | Data scrambling schemes for memory devices |
US8208304B2 (en) | 2008-11-16 | 2012-06-26 | Anobit Technologies Ltd. | Storage at M bits/cell density in N bits/cell analog memory cell devices, M>N |
CN102855943B (zh) * | 2008-11-28 | 2017-04-12 | 群联电子股份有限公司 | 错误校正控制器及其闪存芯片系统与错误校正方法 |
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 |
KR100996009B1 (ko) * | 2009-02-02 | 2010-11-22 | 주식회사 하이닉스반도체 | 불휘발성 메모리 소자 및 그 동작 방법 |
KR20100093885A (ko) | 2009-02-17 | 2010-08-26 | 삼성전자주식회사 | 불휘발성 메모리 장치, 그것의 동작 방법, 그리고 그것을 포함하는 메모리 시스템 |
US8228701B2 (en) | 2009-03-01 | 2012-07-24 | Apple Inc. | Selective activation of programming schemes in analog memory cell arrays |
US8259506B1 (en) | 2009-03-25 | 2012-09-04 | Apple Inc. | Database of memory read thresholds |
US8832354B2 (en) | 2009-03-25 | 2014-09-09 | Apple Inc. | Use of host system resources by memory controller |
US8433845B2 (en) * | 2009-04-08 | 2013-04-30 | Google Inc. | Data storage device which serializes memory device ready/busy signals |
US8238157B1 (en) | 2009-04-12 | 2012-08-07 | Apple Inc. | Selective re-programming of analog memory cells |
US8775880B2 (en) * | 2009-06-11 | 2014-07-08 | STMicroelectronics Intenational N.V. | Shared fuse wrapper architecture for memory repair |
US8479080B1 (en) | 2009-07-12 | 2013-07-02 | Apple Inc. | Adaptive over-provisioning in memory systems |
US8510497B2 (en) * | 2009-07-29 | 2013-08-13 | Stec, Inc. | Flash storage device with flexible data format |
KR101678909B1 (ko) * | 2009-09-17 | 2016-11-23 | 삼성전자주식회사 | 플래시 메모리 시스템 및 그것의 소거 리프레쉬 방법 |
US8495465B1 (en) | 2009-10-15 | 2013-07-23 | Apple Inc. | Error correction coding over multiple memory pages |
US8677054B1 (en) | 2009-12-16 | 2014-03-18 | Apple Inc. | Memory management schemes for non-volatile memory devices |
US8694814B1 (en) | 2010-01-10 | 2014-04-08 | Apple Inc. | Reuse of host hibernation storage space by memory controller |
US8572311B1 (en) | 2010-01-11 | 2013-10-29 | Apple Inc. | Redundant data storage in multi-die memory systems |
JP5204265B2 (ja) * | 2010-01-29 | 2013-06-05 | 株式会社東芝 | 半導体記憶装置及び半導体記憶装置の制御方法 |
JP4745465B1 (ja) * | 2010-01-29 | 2011-08-10 | 株式会社東芝 | 半導体記憶装置及び半導体記憶装置の制御方法 |
US8694853B1 (en) | 2010-05-04 | 2014-04-08 | Apple Inc. | Read commands for reading interfering memory cells |
US8572423B1 (en) | 2010-06-22 | 2013-10-29 | Apple Inc. | Reducing peak current in memory systems |
US8595591B1 (en) | 2010-07-11 | 2013-11-26 | Apple Inc. | Interference-aware assignment of programming levels in analog memory cells |
US9104580B1 (en) | 2010-07-27 | 2015-08-11 | Apple Inc. | Cache memory for hybrid disk drives |
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 |
US8694854B1 (en) | 2010-08-17 | 2014-04-08 | Apple Inc. | Read threshold setting based on soft readout statistics |
US9021181B1 (en) | 2010-09-27 | 2015-04-28 | Apple Inc. | Memory management for unifying memory cell conditions by using maximum time intervals |
US8484542B2 (en) | 2011-02-08 | 2013-07-09 | Sandisk Technologies Inc. | Data recovery using additional error correction coding data |
JP5451682B2 (ja) * | 2011-05-20 | 2014-03-26 | 株式会社東海理化電機製作所 | フラッシュメモリ装置 |
KR20130049332A (ko) * | 2011-11-04 | 2013-05-14 | 삼성전자주식회사 | 메모리 시스템 및 그것의 동작 방법 |
KR101830808B1 (ko) * | 2011-11-04 | 2018-02-22 | 삼성전자주식회사 | 메모리 시스템 및 그것의 데이터 저장 방법 |
US9223649B2 (en) * | 2012-02-15 | 2015-12-29 | Sandisk Technologies Inc. | System and method of sending correction data to a buffer of a non-volatile memory |
US9256526B2 (en) * | 2012-02-23 | 2016-02-09 | National Taiwan University | Flash memory storage system and access method |
US8760921B2 (en) | 2012-08-28 | 2014-06-24 | Kabushiki Kaisha Toshiba | Storage device and control method of nonvolatile memory |
US9081710B2 (en) | 2013-04-11 | 2015-07-14 | Spansion Llc. | Restoring ECC syndrome in non-volatile memory devices |
US20150006784A1 (en) | 2013-06-27 | 2015-01-01 | Sandisk Technologies Inc. | Efficient Post Write Read in Three Dimensional Nonvolatile Memory |
US9218242B2 (en) | 2013-07-02 | 2015-12-22 | Sandisk Technologies Inc. | Write operations for defect management in nonvolatile memory |
US9063671B2 (en) | 2013-07-02 | 2015-06-23 | Sandisk Technologies Inc. | Write operations with full sequence programming for defect management in nonvolatile memory |
US20150046772A1 (en) * | 2013-08-06 | 2015-02-12 | Sandisk Technologies Inc. | Method and device for error correcting code (ecc) error handling |
US9043537B1 (en) | 2013-11-21 | 2015-05-26 | Sandisk Technologies Inc. | Update block programming order |
US9262263B2 (en) | 2013-11-25 | 2016-02-16 | Qualcomm Incorporated | Bit recovery system |
US9058881B1 (en) | 2013-12-05 | 2015-06-16 | Sandisk Technologies Inc. | Systems and methods for partial page programming of multi level cells |
US9244631B2 (en) | 2013-12-06 | 2016-01-26 | Sandisk Technologies Inc. | Lower page only host burst writes |
US9378081B2 (en) | 2014-01-02 | 2016-06-28 | Qualcomm Incorporated | Bit remapping system |
US9454422B2 (en) | 2014-01-30 | 2016-09-27 | International Business Machines Corporation | Error feedback and logging with memory on-chip error checking and correcting (ECC) |
JP2015170101A (ja) | 2014-03-06 | 2015-09-28 | 富士通株式会社 | 生体認証装置、方法及びプログラム |
US8902652B1 (en) | 2014-05-13 | 2014-12-02 | Sandisk Technologies Inc. | Systems and methods for lower page writes |
US8886877B1 (en) | 2014-05-15 | 2014-11-11 | Sandisk Technologies Inc. | In-situ block folding for nonvolatile memory |
KR102285940B1 (ko) | 2015-05-29 | 2021-08-05 | 에스케이하이닉스 주식회사 | 데이터 처리 회로, 데이터 처리 회로를 포함하는 데이터 저장 장치 및 그것의 동작 방법 |
US11611359B2 (en) | 2015-05-29 | 2023-03-21 | SK Hynix Inc. | Data storage device |
US11515897B2 (en) | 2015-05-29 | 2022-11-29 | SK Hynix Inc. | Data storage device |
US11177835B2 (en) | 2015-09-25 | 2021-11-16 | SK Hynix Inc. | Data storage device |
US10396827B2 (en) | 2015-09-25 | 2019-08-27 | SK Hynix Inc. | Data storage device |
KR20170025948A (ko) * | 2015-08-31 | 2017-03-08 | 에스케이하이닉스 주식회사 | 반도체 시스템 및 제어 방법 |
EP3271820B1 (en) * | 2015-09-24 | 2020-06-24 | Hewlett-Packard Enterprise Development LP | Failure indication in shared memory |
US9858009B2 (en) | 2015-10-26 | 2018-01-02 | Sandisk Technologies Llc | Data folding in 3D nonvolatile memory |
KR102636039B1 (ko) | 2016-05-12 | 2024-02-14 | 삼성전자주식회사 | 불휘발성 메모리 장치 및 그것의 읽기 방법 및 카피백 방법 |
KR20180026022A (ko) | 2016-09-01 | 2018-03-12 | 삼성전자주식회사 | 스토리지 장치 및 그것의 카피백 방법 |
US11226909B2 (en) * | 2018-08-24 | 2022-01-18 | Rambus Inc. | DRAM interface mode with interruptible internal transfer operation |
KR20210089016A (ko) | 2020-01-07 | 2021-07-15 | 삼성전자주식회사 | 메모리 컨트롤러 및 메모리 시스템 |
KR20210092986A (ko) | 2020-01-17 | 2021-07-27 | 삼성전자주식회사 | 스토리지 컨트롤러, 이를 포함하는 스토리지 시스템 및 스토리지 컨트롤러의 동작 방법 |
US11321167B2 (en) | 2020-05-09 | 2022-05-03 | Western Digital Technologies, Inc. | Adaptive folding for integrated memory assembly |
US11170870B1 (en) | 2020-05-28 | 2021-11-09 | Western Digital Technologies, Inc. | On-chip-copy for integrated memory assembly |
US11301321B2 (en) | 2020-05-28 | 2022-04-12 | Western Digital Technologies, Inc. | Data shaping for integrated memory assembly |
US11138071B1 (en) | 2020-06-22 | 2021-10-05 | Western Digital Technologies, Inc. | On-chip parity buffer management for storage block combining in non-volatile memory |
US11488682B2 (en) | 2020-06-24 | 2022-11-01 | Sandisk Technologies Llc | Calibration for integrated memory assembly |
US11556267B2 (en) * | 2020-08-31 | 2023-01-17 | Micron Technology, Inc. | Data management during a copyback operation |
US11392327B2 (en) | 2020-09-09 | 2022-07-19 | Western Digital Technologies, Inc. | Local data compaction for integrated memory assembly |
US11650932B2 (en) | 2020-10-25 | 2023-05-16 | Western Digital Technologies, Inc. | Integrated non-volatile memory assembly with address translation |
US11481154B2 (en) | 2021-01-15 | 2022-10-25 | Sandisk Technologies Llc | Non-volatile memory with memory array between circuits |
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 |
US11809327B2 (en) | 2021-11-16 | 2023-11-07 | Western Digital Technologies, Inc. | Data auto-relocation in an integrated memory assembly |
Family Cites Families (172)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE246857C (zh) | ||||
IT1089225B (it) | 1977-12-23 | 1985-06-18 | Honeywell Inf Systems | Memoria con dispositivo rivelatore e correttore a intervento selettivo |
US4215863A (en) * | 1978-08-23 | 1980-08-05 | Kuiper Jerald W | Coin operated sliding puck game |
US4251863A (en) * | 1979-03-15 | 1981-02-17 | Sperry Corporation | Apparatus for correction of memory errors |
IT1224062B (it) | 1979-09-28 | 1990-09-26 | Ates Componenti Elettron | Metodo di programmazione per una memoria a semiconduttore non volatile elettricamente alterabile |
JPS63113623A (ja) * | 1986-10-30 | 1988-05-18 | Nec Corp | セクタバツフア制御方式 |
US4785427A (en) | 1987-01-28 | 1988-11-15 | Cypress Semiconductor Corporation | Differential bit line clamp |
US5034922A (en) * | 1987-12-21 | 1991-07-23 | Motorola, Inc. | Intelligent electrically erasable, programmable read-only memory with improved read latency |
US5093806A (en) * | 1988-02-16 | 1992-03-03 | Tran Hiep V | Sensing and decoding scheme for a bicmos read/write memory |
US5095344A (en) * | 1988-06-08 | 1992-03-10 | Eliyahou Harari | Highly compact eprom and flash eeprom devices |
US5070032A (en) | 1989-03-15 | 1991-12-03 | Sundisk Corporation | Method of making dense flash eeprom semiconductor memory structures |
EP0392895B1 (en) * | 1989-04-13 | 1995-12-13 | Sundisk Corporation | Flash EEprom system |
US5172338B1 (en) | 1989-04-13 | 1997-07-08 | Sandisk Corp | Multi-state eeprom read and write circuits and techniques |
JPH05500724A (ja) * | 1989-07-06 | 1993-02-12 | エムブイ リミテッド | 障害許容データ記憶システム |
US5233616A (en) | 1990-10-01 | 1993-08-03 | Digital Equipment Corporation | Write-back cache with ECC protection |
JP2646850B2 (ja) | 1990-11-30 | 1997-08-27 | 日本電気株式会社 | 半導体メモリ回路 |
US5343063A (en) | 1990-12-18 | 1994-08-30 | Sundisk Corporation | Dense vertical programmable read only memory cell structure and processes for making them |
US5274646A (en) | 1991-04-17 | 1993-12-28 | International Business Machines Corporation | Excessive error correction control |
US5267242A (en) | 1991-09-05 | 1993-11-30 | International Business Machines Corporation | Method and apparatus for substituting spare memory chip for malfunctioning memory chip with scrubbing |
US5490107A (en) * | 1991-12-27 | 1996-02-06 | Fujitsu Limited | Nonvolatile semiconductor memory |
US5313421A (en) * | 1992-01-14 | 1994-05-17 | Sundisk Corporation | EEPROM with split gate source side injection |
US6222762B1 (en) * | 1992-01-14 | 2001-04-24 | Sandisk Corporation | Multi-state memory |
TW231343B (zh) | 1992-03-17 | 1994-10-01 | Hitachi Seisakusyo Kk | |
JP3323869B2 (ja) | 1992-03-31 | 2002-09-09 | 株式会社東芝 | 不揮発性半導体メモリ装置 |
US5315541A (en) * | 1992-07-24 | 1994-05-24 | Sundisk Corporation | Segmented column memory array |
US5581778A (en) * | 1992-08-05 | 1996-12-03 | David Sarnoff Researach Center | Advanced massively parallel computer using a field of the instruction to selectively enable the profiling counter to increase its value in response to the system clock |
US5586285A (en) | 1993-02-19 | 1996-12-17 | Intel Corporation | Method and circuitry for increasing reserve memory in a solid state memory disk |
JP3078946B2 (ja) | 1993-03-11 | 2000-08-21 | インターナショナル・ビジネス・マシーンズ・コーポレ−ション | 一括消去型不揮発性メモリの管理方法及び半導体ディスク装置 |
KR970008188B1 (ko) | 1993-04-08 | 1997-05-21 | 가부시끼가이샤 히다찌세이사꾸쇼 | 플래시메모리의 제어방법 및 그것을 사용한 정보처리장치 |
US5555204A (en) * | 1993-06-29 | 1996-09-10 | Kabushiki Kaisha Toshiba | Non-volatile semiconductor memory device |
US5519847A (en) * | 1993-06-30 | 1996-05-21 | Intel Corporation | Method of pipelining sequential writes in a flash memory |
JP2922116B2 (ja) | 1993-09-02 | 1999-07-19 | 株式会社東芝 | 半導体記憶装置 |
KR0169267B1 (ko) | 1993-09-21 | 1999-02-01 | 사토 후미오 | 불휘발성 반도체 기억장치 |
JPH07105128A (ja) | 1993-10-07 | 1995-04-21 | Mitsubishi Electric Corp | データ転送装置 |
US5661053A (en) * | 1994-05-25 | 1997-08-26 | Sandisk Corporation | Method of making dense flash EEPROM cell array and peripheral supporting circuits formed in deposited field oxide with the use of spacers |
US5581715A (en) * | 1994-06-22 | 1996-12-03 | Oak Technologies, Inc. | IDE/ATA CD drive controller having a digital signal processor interface, dynamic random access memory, data error detection and correction, and a host interface |
DE19523775C2 (de) * | 1994-06-29 | 2001-12-06 | Toshiba Kawasaki Kk | Nichtflüchtige Halbleiterspeichervorrichtung |
JP2658958B2 (ja) | 1995-03-31 | 1997-09-30 | 日本電気株式会社 | Dmaコントローラ |
US5691994A (en) * | 1995-05-08 | 1997-11-25 | Western Digital Corporation | Disk drive with fast error correction validation |
US5838614A (en) | 1995-07-31 | 1998-11-17 | Lexar Microsystems, Inc. | Identification and verification of a sector within a block of mass storage flash memory |
US5692165A (en) | 1995-09-12 | 1997-11-25 | Micron Electronics Inc. | Memory controller with low skew control signal |
KR0169419B1 (ko) * | 1995-09-28 | 1999-02-01 | 김광호 | 불휘발성 반도체 메모리의 독출방법 및 장치 |
JP3941149B2 (ja) * | 1996-12-03 | 2007-07-04 | ソニー株式会社 | 半導体不揮発性記憶装置 |
KR0158489B1 (ko) | 1995-12-20 | 1998-12-15 | 김광호 | 반도체 메모리 디바이스의 구분방법 |
US5875477A (en) | 1995-12-22 | 1999-02-23 | Intel Corporation | Method and apparatus for error management in a solid state disk drive using primary and secondary logical sector numbers |
US5893135A (en) | 1995-12-27 | 1999-04-06 | Intel Corporation | Flash memory array with two interfaces for responding to RAS and CAS signals |
US5724303A (en) | 1996-02-15 | 1998-03-03 | Nexcom Technology, Inc. | Non-volatile programmable memory having an SRAM capability |
KR100308173B1 (ko) | 1996-02-29 | 2001-11-02 | 가나이 쓰도무 | 부분불량메모리를탑재한반도체기억장치 |
US5903495A (en) * | 1996-03-18 | 1999-05-11 | Kabushiki Kaisha Toshiba | Semiconductor device and memory system |
US5860082A (en) * | 1996-03-28 | 1999-01-12 | Datalight, Inc. | Method and apparatus for allocating storage in a flash memory |
FR2749682B1 (fr) | 1996-06-10 | 1998-07-10 | Bull Sa | Circuit pour transborder des donnees entre memoires distantes et calculateur comprenant un tel circuit |
US5768192A (en) * | 1996-07-23 | 1998-06-16 | Saifun Semiconductors, Ltd. | Non-volatile semiconductor memory cell utilizing asymmetrical charge trapping |
JPH10107649A (ja) * | 1996-09-30 | 1998-04-24 | Sanyo Electric Co Ltd | 符号誤り訂正/検出デコーダ |
US5890192A (en) | 1996-11-05 | 1999-03-30 | Sandisk Corporation | Concurrent write of multiple chunks of data into multiple subarrays of flash EEPROM |
US5901086A (en) | 1996-12-26 | 1999-05-04 | Motorola, Inc. | Pipelined fast-access floating gate memory architecture and method of operation |
JP3897388B2 (ja) | 1996-12-27 | 2007-03-22 | シャープ株式会社 | シリアルアクセス方式の半導体記憶装置 |
US6097638A (en) | 1997-02-12 | 2000-08-01 | Kabushiki Kaisha Toshiba | Semiconductor memory device |
KR100272037B1 (ko) * | 1997-02-27 | 2000-12-01 | 니시무로 타이죠 | 불휘발성 반도체 기억 장치 |
US5870335A (en) * | 1997-03-06 | 1999-02-09 | Agate Semiconductor, Inc. | Precision programming of nonvolatile memory cells |
US5822245A (en) | 1997-03-26 | 1998-10-13 | Atmel Corporation | Dual buffer flash memory architecture with multiple operating modes |
US5872739A (en) * | 1997-04-17 | 1999-02-16 | Radiant Technologies | Sense amplifier for low read-voltage memory cells |
JPH113290A (ja) | 1997-06-11 | 1999-01-06 | Hitachi Ltd | メモリ制御方式 |
US5912906A (en) * | 1997-06-23 | 1999-06-15 | Sun Microsystems, Inc. | Method and apparatus for recovering from correctable ECC errors |
US5903496A (en) | 1997-06-25 | 1999-05-11 | Intel Corporation | Synchronous page-mode non-volatile memory with burst order circuitry |
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 |
US6768165B1 (en) * | 1997-08-01 | 2004-07-27 | Saifun Semiconductors Ltd. | Two bit non-volatile electrically erasable and programmable semiconductor memory cell utilizing asymmetrical charge trapping |
US6021463A (en) | 1997-09-02 | 2000-02-01 | International Business Machines Corporation | Method and means for efficiently managing update writes and fault tolerance in redundancy groups of addressable ECC-coded sectors in a DASD storage subsystem |
JPH11203191A (ja) | 1997-11-13 | 1999-07-30 | Seiko Epson Corp | 不揮発性記憶装置、不揮発性記憶装置の制御方法、および、不揮発性記憶装置を制御するプログラムを記録した情報記録媒体 |
US6052815A (en) * | 1997-11-14 | 2000-04-18 | Cirrus Logic, Inc. | ECC system for generating a CRC syndrome over randomized data in a computer storage device |
US6101624A (en) | 1998-01-21 | 2000-08-08 | International Business Machines Corporation | Method and apparatus for detecting and correcting anomalies in field-programmable gate arrays using CRCs for anomaly detection and parity for anomaly correction |
US6333871B1 (en) | 1998-02-16 | 2001-12-25 | Hitachi, Ltd. | Nonvolatile semiconductor memory including a controller for providing an improved reprogram operation |
US5969986A (en) | 1998-06-23 | 1999-10-19 | Invox Technology | High-bandwidth read and write architectures for non-volatile memories |
US6040997A (en) | 1998-03-25 | 2000-03-21 | Lexar Media, Inc. | Flash memory leveling architecture having no external latch |
US5949720A (en) | 1998-10-30 | 1999-09-07 | Stmicroelectronics, Inc. | Voltage clamping method and apparatus for dynamic random access memory devices |
US6490649B2 (en) | 1998-11-10 | 2002-12-03 | Lexar Media, Inc. | Memory device |
AU1729100A (en) | 1998-11-17 | 2000-06-05 | Lexar Media, Inc. | Method and apparatus for memory control circuit |
EP1008940A3 (en) | 1998-12-07 | 2001-09-12 | Network Virtual Systems Inc. | Intelligent and adaptive memory and methods and devices for managing distributed memory systems with hardware-enforced coherency |
US6567302B2 (en) | 1998-12-29 | 2003-05-20 | Micron Technology, Inc. | Method and apparatus for programming multi-state cells in a memory device |
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 |
GB9903490D0 (en) | 1999-02-17 | 1999-04-07 | Memory Corp Plc | Memory system |
US6449625B1 (en) | 1999-04-20 | 2002-09-10 | Lucent Technologies Inc. | Use of a two-way stack approach to optimize flash memory management for embedded database systems |
DE60043805D1 (de) | 1999-04-29 | 2010-03-25 | Nxp Bv | Chtung und als slave-gerät in einem bussystem |
US6253250B1 (en) | 1999-06-28 | 2001-06-26 | Telocity, Incorporated | Method and apparatus for bridging a plurality of buses and handling of an exception event to provide bus isolation |
DE60037417D1 (de) | 1999-07-28 | 2008-01-24 | Sony Corp | Aufnahmesystem, daten-aufnahmevorrichtung, speicher-vorrichtung, und daten-aufnahmeverfahren |
JP3863330B2 (ja) * | 1999-09-28 | 2006-12-27 | 株式会社東芝 | 不揮発性半導体メモリ |
KR100584175B1 (ko) | 1999-10-18 | 2006-05-26 | 엘지전자 주식회사 | 기록매체에의 데이터 기록 및 재생방법 |
US6278633B1 (en) | 1999-11-05 | 2001-08-21 | Multi Level Memory Technology | High bandwidth flash memory that selects programming parameters according to measurements of previous programming operations |
JP2001184881A (ja) * | 1999-12-28 | 2001-07-06 | Toshiba Corp | 不揮発性半導体メモリの読み出し回路 |
US6243291B1 (en) | 2000-02-15 | 2001-06-05 | Advanced Micro Devices, Inc. | Two-stage pipeline sensing for page mode flash memory |
US6426893B1 (en) | 2000-02-17 | 2002-07-30 | Sandisk Corporation | Flash eeprom system with simultaneous multiple data sector programming and storage of physical block characteristics in other designated blocks |
JP3983969B2 (ja) * | 2000-03-08 | 2007-09-26 | 株式会社東芝 | 不揮発性半導体記憶装置 |
JP2001273710A (ja) * | 2000-03-28 | 2001-10-05 | Sanyo Electric Co Ltd | Cd−romデコーダ |
US6532201B1 (en) | 2000-04-03 | 2003-03-11 | Hewlett-Packard Company | Copy protection for optical discs |
US6396744B1 (en) | 2000-04-25 | 2002-05-28 | Multi Level Memory Technology | Flash memory with dynamic refresh |
US6647469B1 (en) * | 2000-05-01 | 2003-11-11 | Hewlett-Packard Development Company, L.P. | Using read current transactions for improved performance in directory-based coherent I/O systems |
US6396741B1 (en) * | 2000-05-04 | 2002-05-28 | Saifun Semiconductors Ltd. | Programming of nonvolatile memory cells |
US6504757B1 (en) * | 2000-08-11 | 2003-01-07 | Advanced Micro Devices, Inc. | Double boosting scheme for NAND to improve program inhibit characteristics |
US6266273B1 (en) | 2000-08-21 | 2001-07-24 | Sandisk Corporation | Method and structure for reliable data copy operation for non-volatile memories |
US6581142B1 (en) | 2000-09-01 | 2003-06-17 | International Business Machines Corporation | Computer program product and method for partial paging and eviction of microprocessor instructions in an embedded computer |
JP2002100192A (ja) * | 2000-09-22 | 2002-04-05 | Toshiba Corp | 不揮発性半導体メモリ |
US6725343B2 (en) | 2000-10-05 | 2004-04-20 | Hewlett-Packard Development Company, L.P. | System and method for generating cache coherence directory entries and error correction codes in a multiprocessor system |
US6684289B1 (en) | 2000-11-22 | 2004-01-27 | Sandisk Corporation | Techniques for operating non-volatile memory systems with data sectors having different sizes than the sizes of the pages and/or blocks of the memory |
US6349056B1 (en) * | 2000-12-28 | 2002-02-19 | Sandisk Corporation | Method and structure for efficient data verification operation for non-volatile memories |
US6763424B2 (en) * | 2001-01-19 | 2004-07-13 | Sandisk Corporation | Partial block data programming and reading operations in a non-volatile memory |
US7254606B2 (en) * | 2001-01-30 | 2007-08-07 | Canon Kabushiki Kaisha | Data management method using network |
JP2002229924A (ja) | 2001-01-31 | 2002-08-16 | Toshiba Corp | 複写機能を有するコンピュータシステム及び同システムにおけるデータ複写方法 |
KR100381956B1 (ko) | 2001-02-02 | 2003-04-26 | 삼성전자주식회사 | 플래시 메모리 장치의 감지 증폭 회로 |
US6407953B1 (en) * | 2001-02-02 | 2002-06-18 | Matrix Semiconductor, Inc. | Memory array organization and related test method particularly well suited for integrated circuits having write-once memory arrays |
US6738289B2 (en) * | 2001-02-26 | 2004-05-18 | Sandisk Corporation | Non-volatile memory with improved programming and method therefor |
US6525652B2 (en) * | 2001-03-02 | 2003-02-25 | Clayton S. Smith | Downshifting warning system |
JP3957985B2 (ja) | 2001-03-06 | 2007-08-15 | 株式会社東芝 | 不揮発性半導体記憶装置 |
US6570810B2 (en) * | 2001-04-20 | 2003-05-27 | Multi Level Memory Technology | Contactless flash memory with buried diffusion bit/virtual ground lines |
US6671204B2 (en) | 2001-07-23 | 2003-12-30 | Samsung Electronics Co., Ltd. | Nonvolatile memory device with page buffer having dual registers and methods of using the same |
JP2003036681A (ja) | 2001-07-23 | 2003-02-07 | Hitachi Ltd | 不揮発性記憶装置 |
JP4812192B2 (ja) | 2001-07-27 | 2011-11-09 | パナソニック株式会社 | フラッシュメモリ装置、及び、それに記憶されたデータのマージ方法 |
JP3979486B2 (ja) | 2001-09-12 | 2007-09-19 | 株式会社ルネサステクノロジ | 不揮発性記憶装置およびデータ格納方法 |
US7177197B2 (en) | 2001-09-17 | 2007-02-13 | Sandisk Corporation | Latched programming of memory and method |
US6456528B1 (en) | 2001-09-17 | 2002-09-24 | Sandisk Corporation | Selective operation of a multi-state non-volatile memory system in a binary mode |
JP4454896B2 (ja) * | 2001-09-27 | 2010-04-21 | シャープ株式会社 | 仮想接地型不揮発性半導体記憶装置 |
GB0123410D0 (en) | 2001-09-28 | 2001-11-21 | Memquest Ltd | Memory system for data storage and retrieval |
GB0123412D0 (en) | 2001-09-28 | 2001-11-21 | Memquest Ltd | Memory system sectors |
GB0123416D0 (en) | 2001-09-28 | 2001-11-21 | Memquest Ltd | Non-volatile memory control |
ITVA20010035A1 (it) * | 2001-10-16 | 2003-04-16 | St Microelectronics Srl | Dispositivo di memoria non volatile con doppia interfaccia di comunicazione seriale/parallela |
KR100454119B1 (ko) * | 2001-10-24 | 2004-10-26 | 삼성전자주식회사 | 캐쉬 기능을 갖는 불 휘발성 반도체 메모리 장치 및 그것의 프로그램, 읽기, 그리고 페이지 카피백 방법들 |
US6977847B2 (en) | 2001-11-23 | 2005-12-20 | M-Systems Flash Disk Pioneers Ltd. | Detecting partially erased units in flash devices |
US7181485B1 (en) * | 2001-11-26 | 2007-02-20 | Integrated Device Technology, Inc. | Variably delayable transmission of packets between independently clocked source, intermediate, and destination circuits while maintaining orderly and timely processing in one or both of the intermediate and destination circuits |
JP3802411B2 (ja) * | 2001-12-20 | 2006-07-26 | 株式会社東芝 | 不揮発性半導体記憶装置のデータコピー方法 |
US6687158B2 (en) | 2001-12-21 | 2004-02-03 | Fujitsu Limited | Gapless programming for a NAND type flash memory |
US6700820B2 (en) | 2002-01-03 | 2004-03-02 | Intel Corporation | Programming non-volatile memory devices |
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 |
JP2003296199A (ja) * | 2002-01-29 | 2003-10-17 | Matsushita Electric Ind Co Ltd | 記憶装置、データ処理方法及びデータ処理プログラム |
JP4004811B2 (ja) | 2002-02-06 | 2007-11-07 | 株式会社東芝 | 不揮発性半導体記憶装置 |
JP4082913B2 (ja) | 2002-02-07 | 2008-04-30 | 株式会社ルネサステクノロジ | メモリシステム |
US6836432B1 (en) | 2002-02-11 | 2004-12-28 | Advanced Micro Devices, Inc. | Partial page programming of multi level flash |
US6871257B2 (en) | 2002-02-22 | 2005-03-22 | Sandisk Corporation | Pipelined parallel programming operation in a non-volatile memory system |
US6771536B2 (en) | 2002-02-27 | 2004-08-03 | Sandisk Corporation | Operating techniques for reducing program and read disturbs of a non-volatile memory |
US6570809B1 (en) | 2002-04-17 | 2003-05-27 | Ememory Technology Inc. | Real-time multitasking flash memory with quick data duplication |
JP2004030784A (ja) | 2002-06-26 | 2004-01-29 | Fujitsu Ltd | 半導体記憶装置 |
TW561339B (en) * | 2002-07-24 | 2003-11-11 | C One Technology Corp | Non-volatile memory based storage system capable of directly overwriting without using redundancy and the method thereof |
JP4225749B2 (ja) | 2002-08-07 | 2009-02-18 | 株式会社ルネサステクノロジ | 半導体記憶装置 |
US7196931B2 (en) * | 2002-09-24 | 2007-03-27 | Sandisk Corporation | Non-volatile memory and method with reduced source line bias errors |
US6940753B2 (en) | 2002-09-24 | 2005-09-06 | Sandisk Corporation | Highly compact non-volatile memory and method therefor with space-efficient data registers |
US6987693B2 (en) * | 2002-09-24 | 2006-01-17 | Sandisk Corporation | Non-volatile memory and method with reduced neighboring field errors |
US7443757B2 (en) * | 2002-09-24 | 2008-10-28 | Sandisk Corporation | Non-volatile memory and method with reduced bit line crosstalk errors |
US6983428B2 (en) * | 2002-09-24 | 2006-01-03 | Sandisk Corporation | Highly compact non-volatile memory and method thereof |
US7046568B2 (en) | 2002-09-24 | 2006-05-16 | Sandisk Corporation | Memory sensing circuit and method for low voltage operation |
US6657891B1 (en) | 2002-11-29 | 2003-12-02 | Kabushiki Kaisha Toshiba | Semiconductor memory device for storing multivalued data |
CA2447204C (en) * | 2002-11-29 | 2010-03-23 | Memory Management Services Ltd. | Error correction scheme for memory |
US7073103B2 (en) * | 2002-12-05 | 2006-07-04 | Sandisk Corporation | Smart verify for multi-state memories |
KR100543447B1 (ko) * | 2003-04-03 | 2006-01-23 | 삼성전자주식회사 | 에러정정기능을 가진 플래쉬메모리장치 |
US7392436B2 (en) | 2003-05-08 | 2008-06-24 | Micron Technology, Inc. | Program failure recovery |
JP2005078378A (ja) * | 2003-08-29 | 2005-03-24 | Sony Corp | データ記憶装置及び不揮発性メモリに対するデータ書き込み方法 |
US7012835B2 (en) * | 2003-10-03 | 2006-03-14 | Sandisk Corporation | Flash memory data correction and scrub techniques |
US7372730B2 (en) | 2004-01-26 | 2008-05-13 | Sandisk Corporation | Method of reading NAND memory to compensate for coupling between storage elements |
JP4550479B2 (ja) | 2004-04-30 | 2010-09-22 | ルネサスエレクトロニクス株式会社 | 電子制御装置及びデータ調整方法 |
JP4791356B2 (ja) * | 2004-05-06 | 2011-10-12 | パナソニック株式会社 | 半導体メモリ装置 |
US7490283B2 (en) | 2004-05-13 | 2009-02-10 | Sandisk Corporation | Pipelined data relocation and improved chip architectures |
US8375146B2 (en) * | 2004-08-09 | 2013-02-12 | SanDisk Technologies, Inc. | Ring bus structure and its use in flash memory systems |
US7420847B2 (en) * | 2004-12-14 | 2008-09-02 | Sandisk Corporation | Multi-state memory having data recovery after program fail |
US7158421B2 (en) | 2005-04-01 | 2007-01-02 | Sandisk Corporation | Use of data latches in multi-phase programming of non-volatile memories |
US7120051B2 (en) * | 2004-12-14 | 2006-10-10 | Sandisk Corporation | Pipelined programming of non-volatile memories using early data |
US7409473B2 (en) * | 2004-12-21 | 2008-08-05 | Sandisk Corporation | Off-chip data relocation |
US7849381B2 (en) | 2004-12-21 | 2010-12-07 | Sandisk Corporation | Method for copying data in reprogrammable non-volatile memory |
US20060140007A1 (en) * | 2004-12-29 | 2006-06-29 | Raul-Adrian Cernea | Non-volatile memory and method with shared processing for an aggregate of read/write circuits |
US7447078B2 (en) | 2005-04-01 | 2008-11-04 | Sandisk Corporation | Method for non-volatile memory with background data latch caching during read operations |
US7206230B2 (en) | 2005-04-01 | 2007-04-17 | Sandisk Corporation | Use of data latches in cache operations of non-volatile memories |
US7463521B2 (en) | 2005-04-01 | 2008-12-09 | Sandisk Corporation | Method for non-volatile memory with managed execution of cached data |
US7187585B2 (en) | 2005-04-05 | 2007-03-06 | Sandisk Corporation | Read operation for non-volatile storage that includes compensation for coupling |
US7921301B2 (en) * | 2005-05-17 | 2011-04-05 | Dot Hill Systems Corporation | Method and apparatus for obscuring data on removable storage devices |
WO2008004664A1 (fr) | 2006-07-06 | 2008-01-10 | Nikon Corporation | Micro-actionneur, unité optique, dispositif d'exposition et procédé de fabrication |
US7562264B2 (en) * | 2006-09-06 | 2009-07-14 | Intel Corporation | Fault tolerant soft error detection for storage subsystems |
US20090063786A1 (en) * | 2007-08-29 | 2009-03-05 | Hakjune Oh | Daisy-chain memory configuration and usage |
-
2004
- 2004-12-21 US US11/022,350 patent/US7849381B2/en active Active
-
2005
- 2005-12-15 AT AT05854589T patent/ATE408864T1/de not_active IP Right Cessation
- 2005-12-15 CN CNA2005800475423A patent/CN101124544A/zh active Pending
- 2005-12-15 JP JP2007548357A patent/JP5069127B2/ja not_active Expired - Fee Related
- 2005-12-15 KR KR1020077015243A patent/KR101026391B1/ko active IP Right Grant
- 2005-12-15 EP EP05854589A patent/EP1828897B1/en not_active Not-in-force
- 2005-12-15 DE DE602005009868T patent/DE602005009868D1/de active Active
- 2005-12-15 WO PCT/US2005/045909 patent/WO2006068993A2/en active Application Filing
- 2005-12-21 TW TW094145667A patent/TWI443667B/zh not_active IP Right Cessation
-
2007
- 2007-06-18 IL IL184018A patent/IL184018A0/en unknown
-
2010
- 2010-11-08 US US12/941,294 patent/US8914703B2/en active Active
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8607123B2 (en) | 2009-06-23 | 2013-12-10 | Phison Electronics Corp. | Control circuit capable of identifying error data in flash memory and storage system and method thereof |
CN101944386A (zh) * | 2009-07-03 | 2011-01-12 | 群联电子股份有限公司 | 识别闪速存储器中错误数据的控制电路及存储系统与方法 |
CN101944386B (zh) * | 2009-07-03 | 2013-11-13 | 群联电子股份有限公司 | 识别闪速存储器中错误数据的控制电路及存储系统与方法 |
CN104040634A (zh) * | 2012-01-12 | 2014-09-10 | 索尼公司 | 存储控制装置、存储装置、信息处理系统及其处理方法 |
CN106663043A (zh) * | 2014-05-30 | 2017-05-10 | 桑迪士克科技有限责任公司 | 用于基于动态的字线的三维存储器装置的配置的方法和系统 |
CN106663043B (zh) * | 2014-05-30 | 2019-10-01 | 桑迪士克科技有限责任公司 | 用于基于动态的字线的三维存储器装置的配置的方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
ATE408864T1 (de) | 2008-10-15 |
JP2008524750A (ja) | 2008-07-10 |
US20110072332A1 (en) | 2011-03-24 |
US8914703B2 (en) | 2014-12-16 |
WO2006068993A2 (en) | 2006-06-29 |
WO2006068993A3 (en) | 2007-01-11 |
US20060156189A1 (en) | 2006-07-13 |
EP1828897B1 (en) | 2008-09-17 |
JP5069127B2 (ja) | 2012-11-07 |
TW200636732A (en) | 2006-10-16 |
US7849381B2 (en) | 2010-12-07 |
DE602005009868D1 (de) | 2008-10-30 |
WO2006068993B1 (en) | 2007-02-15 |
KR20070107676A (ko) | 2007-11-07 |
TWI443667B (zh) | 2014-07-01 |
EP1828897A2 (en) | 2007-09-05 |
KR101026391B1 (ko) | 2011-04-07 |
IL184018A0 (en) | 2007-10-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101124544A (zh) | 用于在可重编程非易失性存储器中拷贝数据的方法 | |
US9075740B2 (en) | Memory system | |
CN1754230B (zh) | 一种操作非易失性存储器的方法 | |
CN107918588A (zh) | 数据储存装置及其数据写入方法 | |
US8089806B2 (en) | Method for controlling semiconductor storage device comprising memory cells each configured to hold multi-bit data, and memory card provided with semiconductor storage device | |
US8107301B2 (en) | Memory controller | |
US20190065059A1 (en) | Control logic, semiconductor memory device, and operating method | |
JP4649503B2 (ja) | 半導体装置 | |
US8437217B2 (en) | Storing operational information in an array of memory cells | |
CN107977161A (zh) | 数据储存装置及其数据写入方法 | |
US7881106B2 (en) | Nonvolatile semiconductor memory device | |
CN103971739A (zh) | 包括非易失性存储设备的存储系统及其编程方法 | |
CN1902712A (zh) | 具有写入/擦除中止检测机制的快闪存储系统 | |
KR101731408B1 (ko) | 플래시 메모리에 데이터를 기록하는 방법 및 관련 메모리 장치 및 플래시 메모리 | |
US20150046638A1 (en) | Multi-bit memory device and on-chip buffered program method thereof | |
US20160094339A1 (en) | Scrambling schemes for scrambling and descrambling data | |
US20160300617A1 (en) | Memory device and associated erase method | |
CN110838334B (zh) | 高速缓存缓冲器以及具有其的半导体存储器装置 | |
US11404137B1 (en) | Memory system and operating method of memory system | |
US20230326537A1 (en) | Memory device, memory system, and method of operating the same | |
CN111797030A (zh) | 包含搜索逻辑的存储器和用于在所述存储器内执行搜索的方法 | |
KR20220075936A (ko) | 메모리 시스템 및 그 동작 방법 | |
CN114550797A (zh) | 存储器的坏块管理方法、控制方法及存储器系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |