CN101120414A - 存储器系统中的数据再定位 - Google Patents
存储器系统中的数据再定位 Download PDFInfo
- Publication number
- CN101120414A CN101120414A CNA2005800482338A CN200580048233A CN101120414A CN 101120414 A CN101120414 A CN 101120414A CN A2005800482338 A CNA2005800482338 A CN A2005800482338A CN 200580048233 A CN200580048233 A CN 200580048233A CN 101120414 A CN101120414 A CN 101120414A
- Authority
- CN
- China
- Prior art keywords
- array
- data
- controller
- destination
- impact damper
- 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
- 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
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/26—Sensing or reading circuits; Data output circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- 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/32—Timing circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
Abstract
本发明延伸芯片上复制过程,以使得可在可能位于不同芯片上、同一芯片上的不同平面上,或同一芯片的同一平面上的两个区块之间复制数据。更具体来说,本文描述的方法提供一种允许在存储器系统中的任何两个位置之间复制数据的单一数据复制机制。示范性实施例使用EDO型时序。根据另一方面,经再定位的数据的选定部分,例如被传输页中的所选择字,可在运行中在控制器中被更新。除了将数据集从源阵列的读取缓冲器直接传输到目的地阵列的写入缓冲器外,必要时,还可同时将所述数据集复制到所述控制器中,在所述控制器中可对所述数据集执行误差检测和校正操作。
Description
技术领域
本发明涉及半导体非易失性数据存储系统架构及其操作方法的领域,且可应用于基于快闪电子可擦可编程只读存储器(EEPROM)的数据存储系统和其它类型的存储器系统。
背景技术
快闪EEPROM装置的普通应用是作为用于电子装置的大容量数据存储子系统。所述子系统通常实施为可插入多个主机系统中的抽取式存储器卡或在主机系统中的非抽取式嵌入存储装置。在这两个实施方案中,所述子系统包括一个或一个以上快闪装置和(通常)一子系统控制器。
快闪EEPROM装置包含晶体管单元的一个或一个以上阵列,每一单元能够非易失性地存储一个或一个以上数据位。因此,快闪存储器不需要电力来保留编程于其中的数据。然而,一旦已被编程,就必须在单元可以新数据值重新编程之前擦除所述单元。将单元的这些阵列分割成群组以提供读取、编程和擦除功能的有效实施。用于大容量存储装置的典型快闪存储器架构将大的单元群组配置成可擦除区块,其中一区块含有可一次擦除的最小数目的单元(擦除单位)。
在一种商业形式中,每一区块含有足够的单元以存储一个扇区的用户数据加上一些关于用户数据和/或关于其被存储的区块的额外开销数据。在所述存储器系统的一个种类中,包括在扇区中的用户数据的量是标准的512字节,但可以是某一其它大小。因为使单元的区块可个别地擦除所需的对所述个别单元区块彼此间的隔离在集成电路芯片上占据了空间,所以另一种类的快闪存储器使得所述区块显著更大,以使得所述隔离要求较少空间。但因为还需要在更小的扇区中处理用户数据,所以每一大区块经常进一步分割成为可个别寻址的页,其为用于读取和编程用户数据的基本单位;尽管写入页的大小不需要与读取页的大小相同,但下文中将其看待为相同的以便简化论述。每一页通常存储用户数据的一个扇区,但一页可存储一部分扇区或多个扇区。“扇区”在本文中用来指称作为单位传输到主机和从主机传输的用户数据的量。
大区块系统中的子系统控制器执行许多功能,其包括在由存储器子系统从主机接收的逻辑地址(LBA)与在存储器单元阵列中的实体区块号(PBN)和页地址之间的转译。此转译经常涉及使用逻辑区块号(LBN)和逻辑页的中间项。所述控制器还通过一系列其经由接口总线发布给快闪存储器装置的命令来管理低层级快闪电路操作。所述控制器执行的另一功能是通过各种方式,例如通过使用误差校正码(ECC)来维持存储到子系统的数据的完整性。
图1展示快闪存储器装置131的典型内部架构。主要特征包括用以介接到外部控制器的输入/输出(I/O)总线411和控制信号412,用以控制内部存储器操作的具有用于命令、地址和状态信号的寄存器的存储器控制电路450。包括快闪EEPROM单元的一个或一个以上阵列400,每一阵列具有其自身的行解码器(XDEC)401和列解码器(YDEC)402,一组读出放大器和编程控制电路(SA/PROG)454和数据寄存器404。目前,存储器单元通常包括作为存储元件的一个或一个以上传导性浮动栅极,但可改为使用其它长期电子电荷存储元件。所述存储器单元阵列可以为每一存储元件定义的两个电荷电平来操作,因此每一元件存储一个数据位。或者,可为每一存储元件定义两个以上的存储状态,在此种情况下,在每一元件中存储一个以上数据位。
必要时,提供多个阵列400,以及相关的X解码器、Y解码器、编程/核对电路、数据寄存器和类似物,例如1999年3月30日颁予的并转让给本申请案的受让人SanDisk公司的美国专利5,890,192所教示,所述专利以引用的方式并入本文中。相关的存储器系统特征描述于2002年7月30日颁予的并转让给本申请案的受让人SanDisk公司的美国专利6,426,893中,所述申请案也明确地以引用的方式并入本文中。这些专利描述在单一存储器芯片上具有称为平面或“四边形(quad)”的多个半自治阵列。
外部接口I/O总线411和控制信号412可包括以下各项:
CE-芯片启用 用于启动快闪存储器接口。
RE-读取启用 用于指示I/O总线正用于从存储器阵列传输数据。
WE-写入启用 用于指示I/O总线正用于将数据传输到存储器阵列。
ALE-地址锁存启用 用于指示I/O总线正用于传输地址信息。
CLE-命令锁存启用 用于指示I/O总线正用于传输命令信息。
IO[7:0]-地址/数据总线此I/O总线用于在控制器与存储器控制450的快闪存储器命令、地址和数据寄存器之间传输数据。
除了这些信号外,所述存储器通常还具有存储子系统控制器可借以确定存储器正忙于执行某一任务的构件。所述构件可包括专用信号或当存储器正忙时可存取的内部存储器寄存器中的状态位。
此接口仅作为实例而给出,因为可使用其它信号配置来提供相同的功能性。图1仅展示一个具有其相关组件的快闪存储器阵列400,但多个所述阵列可存在于单一快闪存储器芯片上,所述阵列共享共同接口和存储器控制电路但具有单独的XDEC 401、YDEC402、SA/PROG 454和数据寄存器(DATAREG)404电路以便允许并行读取和编程操作。更一般化地,可存在一个或两个额外的所述数据寄存器,其通常配置成在第6,560,143号美国专利中进一步发展的那种主从配置,所述专利以引用的方式并入本文中。
经由数据寄存器404,经由数据寄存器到I/O总线IO[7:0]411的耦合,将数据从存储器阵列传输到外部控制器。数据寄存器404还耦合到读出放大器/编程电路454。耦合到每一读出放大器/编程电路元件的数据寄存器的元件的数目可取决于在存储器单元、快闪EEPROM单元中的每一存储元件中所存储的位的数目,所述单元各含有一个或一个以上作为存储元件的浮动栅极。如果存储器单元以多状态模式操作,那么每一存储元件可存储多个位,例如2或4。或者,存储器单元可以二元模式(binary mode)操作以使得每一存储元件存储一个数据位。
列解码器401解码阵列400的行地址以便选择待存取的实体页。行解码器401经由内部行地址线419从存储器控制逻辑450接收行地址。列解码器402经由内部列地址线429从存储器控制逻辑450接收列地址。
图2展示典型非易失性数据存储系统的架构,在此种情况下采用快闪存储器单元作为存储媒体。在一种形式中,将此系统封装在具有沿着一侧延伸的电连接器的抽取式卡中,以当插入主机的插孔中时提供主机接口。或者,可将图2的系统以永久安装的嵌入电路或另外的形式嵌入主机系统中。所述系统使用执行高级主机和存储器控制功能的单一控制器101。快闪存储器媒体由一个或一个以上快闪存储器装置组成,每一所述装置通常在其自身的集成电路芯片上形成。系统控制器和快闪存储器由总线121连接,所述总线121允许控制器101载入命令、地址,并将数据传输到快闪存储器阵列和从所述快闪存储器阵列传输数据。(总线121包括图1的412和411。)控制器101与主机系统(未图示)介接,快闪存储器阵列与所述主机系统进行用户数据的来往传输。在图2的系统包括在卡中的情况下,主机接口包括在所述卡和主机设备上的相配的插头和插座组合件(未图示)。
控制器101从主机接收读取或写入在特定逻辑地址处开始的用户数据的一个或一个以上扇区的命令。此地址可与或可不与存储器单元的区块中的第一实体页对准。
在一些具有划分成多个页的大容量存储器单元区块的现有技术系统中,需要将来自未经更新的区块的数据从原始区块复制到也含有由主机写入的新的、经更新的数据的新区块。在其它现有技术系统中,将旗标与用户数据一起记录在页中,且所述旗标用于指示由新写入的数据所替代的原始区块中的数据页是无效的。第6,763,424号美国专利中描述了一种机制,通过所述机制可写入部分地替代存储在现有区块中的数据的数据,而无须复制来自现有区块的未改变的数据或编程先前已编程的页的旗标,所述申请案以引用的方式明确地并入本文中。
此类型的非易失性存储器系统正用于许多应用中,尤其是当封装在与主机系统可抽取地连接的封闭卡中时。目前商用存储器卡格式包括个人计算机存储器卡国际协会(Personal Computer Memory Card International Association,PCMCIA)、压缩快闪(CompactFlash,CF)、多媒体卡(MultiMediaCard、MMC)和安全数字(Secure Digital、SD)。其它系统包括USB装置,例如包括具有两组接点的卡的存储器卡,例如美国专利申请案10/826,801和美国专利申请案US 10/826,796中描述的那些存储器卡,所述两个专利申请案均于2004年4月16日申请,且以引用的方式并入本文中。这些卡的一个供应商是本申请案的受让人SanDisk公司。与所述卡一起使用的主机系统包括个人计算机、笔记本计算机、手持式计算装置、相机、音频重现装置,及其类似物。快闪EEPROM系统也用作嵌入在主机系统中的大容量存储装置(bulk mass storage)。
所述非易失性存储器系统包括浮动栅极存储器单元的一个或一个以上阵列和一系统控制器。所述控制器管理与主机系统的通信和存储器单元阵列的操作以存储和检索用户数据。将存储器单元一起分组成单元区块,单元区块是可同时擦除的单元的最小分组。将数据写入到一个或一个以上单元区块之前,擦除那些单元区块。通常在主机与存储器阵列之间以扇区来传输用户数据。用户数据的扇区可以是便于处理的任何量,优选地小于存储器区块的容量,通常等于标准磁盘驱动器扇区大小,512字节。在一种商用架构中,存储器系统区块的大小被设定以存储用户数据的一个扇区加上额外开销数据,所述额外开销数据包括例如用于存储在区块中的用户数据的误差校正码(ECC)、区块的使用历史、存储器单元区块的缺陷和其它实体信息的信息。转让给SanDisk公司的下列美国专利和待决的申请案中描述了此类型的非易失性存储器系统的各种实施方案,所述专利和申请案的每一者全文以引用的方式并入本文中:第5,172,338、5,602,987、5,315,541、5,200,959、5,270,979、5,428,621、5,663,901、5,532,962、5,430,859和5,712,180号专利,以及1997年8月7日申请的第08/910,947号申请案和1999年6月30日申请的第09/343,328号申请案。另一类型的非易失性存储器系统使用存储用户数据的多个扇区的更大的存储器单元区块大小。
存储器单元阵列的一种架构方便地由在子阵列或单元的其它单位中且共享共同擦除栅极的一行或两行存储器单元来形成区块。SanDisk公司的第5,677,872号和第5,712,179号美国专利给出此架构的实例,所述专利全文并入本文中。尽管目前最普遍的是通过仅定义两个经编程的阈值电平来在每一浮动栅极单元中存储一个数据位,但趋势是通过建立两个以上的浮动栅极晶体管阈值范围来在每一单元中存储一个以上数据位。每浮动栅极存储两个数据位(四个阈值电平范围或状态)的存储器系统目前是可用的,对于将来的系统已构想每单元三个位(八个阈值电平范围或状态)和每单元四个位(十六个阈值电平范围)。当然,存储数据的扇区所需的存储器单元的数目随着在每一单元中存储的位的数目上升而下降。结合由单元结构和一般半导体处理的改进所导致的阵列的缩放(scaling),此趋势使在一行单元的分段部分中形成存储器单元区块变得可行。如在SanDisk公司的第5,930,167号美国专利中描述,也可形成区块结构以使得能够在两个状态(每一单元一个数据位)或在某多个(例如,四个)状态(每一单元两个数据位)中选择存储器单元的每一者的操作,所述专利全文以引用的方式并入本文中。
除了增加所述非易失性存储器的容量外,还在寻求通过增加其性能和减少其对误差的敏感度来改进所述存储器。例如上述的使用大区块管理技术的存储器的存储器对存储器的文件系统执行许多数据管理技术,包括无用数据收集,以便更有效地使用存储器区域。所述无用数据收集方案涉及包括从存储器中的一个(或多个)位置读取数据和将其重写到另一存储器位置的数据再定位过程。(除了以上并入的参考案中的许多参考案外,无用数据收集进一步论述于,例如,2002年11月第37卷第11期的IEEE Journal ofSolid-State Circuits第1493-1501页,K.Imamiya等人的“A 125-mm2 1-Gb NAND FlashMemory With 10-MByte/s Program Speed”中,其全文以引用的方式并入本文中。)此数据再定位时间是对所有无用数据收集例行程序的主要影响因素。现有技术的方法将数据再定位操作描述为在将数据写入到新位置之前连续的数据读取,接着是(如果必要)数据完整性检查和误差校正,使得存在数据传输和验证的较大的恒定性能损失。在有数据误差的情况中,在写入前必须花费额外的时间来校正数据。
其它现有技术的方法利用芯片上复制特征,将数据从一个位置写入到另一位置而不预检查数据完整性。所述方法描述于,例如,2002年11月第37卷第11期的IEEE Journalof Solid-State Circuits第1502-1509页,J.Lee等人的“High Performance 1-Gb NAND FlashMemory With 0.12μm Technology”中,其全文以引用的方式并入本文中。完整性检查与数据写入同时进行,使得在有误差的情况中,必须损失大量性能和中断时间/等待时间以重写整个区块的机率很高。
特定芯片上复制机制展示于图3中,且在第6,266,273号美国专利中更详细地提出,所述专利以引用的方式并入本文中。如在图3中由步骤(1)所指示,将数据集,例如页,从源位置读取到读取/编程从数据寄存器(slave data register)。图3中展示的架构为其数据寄存器使用主从配置,且数据集的所读取的副本在步骤(2)中传输到主寄存器(masterregister)。在步骤(3)中,经复制的数据集随后被再定位到目的地位置,同时从主数据寄存器将其传输到控制器。此技术允许芯片上再定位,同时还将数据的副本传输到可检查所述数据副本的控制器。
根据现有技术,有时,当快闪存储器媒体管理算法需要在快闪存储器阵列中将数据从一个位置复制到另一位置时,存在两种用于达成此目的的基本方法。第一种方法是从所述阵列将数据读取到缓冲器,在编程前将数据传输到控制器并随后从控制器传输回到快闪存储器中的新位置。第二种方法是从阵列将数据读取到缓冲器并随后直接编程回到新阵列位置中。所述第二种方法称为芯片上复制。
所述第二种方法提供较短的复制时间,因为没有从控制器向快闪存储器的传输。在读取与编程的并行度较高的情况下,差异可能较显著。然而,所述性能是以灵活性的损失为代价的。芯片上复制机制目前将操作限制于平面内的复制,使得不可能在两个不同芯片或在同一芯片上的两个不同平面之间传输数据。这意味着必须组织数据使得其将始终在同一芯片的同一平面中的两个位置之间复制,或必须使用单独的读取和写入。后一种方法导致性能根据数据的来源和目标的位置而改变。在控制器中需要潜在大量的缓冲以允许在快闪芯片中进行并行操作。
因此,如果可延伸数据再定位操作以允许在不同平面或芯片之间再定位而无需在控制器中缓冲数据,那么可大大改进所述存储器系统的操作。对于依赖于所述无用数据收集操作对存储器的管理提出较高要求的大区块数据结构的存储器系统来说尤其如此。
发明内容
根据本发明的一个主要方面,简要地且大体上来说,延伸芯片上复制过程以使得可在可能位于不同芯片上、在同一芯片上的不同平面上,或同一芯片的同一平面上的两个区块之间复制数据。更具体来说,此处描述的方法提供一种允许在存储器系统中的任何两个位置之间复制数据的单一数据复制机制。复制的性能与通常实施的传统芯片上复制的性能相同。通过移除对数据位置的限制,可产生减小复制数据的频率的算法操作上的改进。
更具体来说,本发明将芯片上复制延伸到芯片到芯片复制和在同一芯片上的阵列之间复制,而无须将再定位的数据集临时存储在控制器中。所描述的方法可用于在共同数据总线上的阵列之间复制,以及用于通过不同数据总线将阵列连接到系统控制器的拓扑结构中。在特定的多总线实施例中,在控制器中在源阵列的总线与目的地阵列的总线之间每次一字地传输再定位的数据集。提出一组统一命令以涵盖所有所述所描述的情况。示范性实施例使用EDO型时序。
根据本发明的另一方面,再定位的数据的选定部分,例如所传输的页中的选定的字,可在运行中在控制器中加以更新。举例来说,这可用于更新页的标头部分,作为所述再定位过程的一部分。除了将数据集从源阵列的读取缓冲器直接传输到目的地阵列的写入缓冲器外,必要时,还可同时将数据集复制到控制器中,在所述控制器中可对所述数据集执行误差检测和校正操作。
在示范性实施例中,从源缓冲器每次一字地将再定位的数据页的数据放置在数据总线上,所述数据由目的地缓冲器在同一周期中从所述数据总线读出。所述过程始于控制器将命令和源地址发布到选定的阵列,并将命令和目的地地址发布到选定的目的地阵列,所述选定的目的地阵列可以是同一阵列,在同一芯片的不同平面上或在不同芯片上。在多芯片的情况下,命令序列导致在同一总线上多个芯片同时工作。接着,在待再定位的页被每次一字地传输时,控制器双态触发读取启用和写入启用信号。完成后,当需要时,控制器禁用目的地和源。
本发明的额外方面、特征和优势包括在以下实施方式中,此描述内容应结合附图来阅读。
附图说明
图1是具有存储器控制逻辑、数据和地址寄存器的典型现有技术快闪EEPROM存储器阵列的方框图。
图2说明使用图1的存储器且具有系统控制器的架构。
图3展示在现有技术中芯片上复制序列的实例。
图4展示示范性实施例的存储器-控制器连接。
图5是一般化的芯片外复制序列的示意表示。
图6是根据一个实施例的用于两个芯片之间的复制的命令序列。
图7展示使用典型快闪接口时序的具有数据修改的芯片到芯片复制的实例。
图8展示基于典型快闪接口时序的数据传输时序的实例。
图9展示基于类EDO读取时序的数据传输时序的实例。
图10展示通过类EDO读取时序进行数据修改的实例。
图11展示在同一芯片上的两个位置之间的复制。
图12展示通过类EDO读取时序进行数据修改的实例。
图13展示多总线系统的实例的存储器-控制器连接。
图14是使用类EDO读取时序的多总线复制的实例。
具体实施方式
在第一方面,本发明使允许在两个存储器区块之间复制数据的复制操作一般化,所述存储器区块可在两个不同芯片上,在同一芯片上的两个平面上,或在同一芯片的同一平面上。因此,此处描述的方法提供了一种允许在快闪存储器或其它存储器阵列中的任何两个位置之间复制数据的单一数据复制机制。此种较一般的复制的性能与通常用于现有技术中的芯片上复制的性能相同。移除对数据位置的限制产生减小数据复制频率的改进的算法操作。
一般来说,此处描述的方法允许将存储器区块中的数据复制到另一存储器区块,所述另一存储器区块可:
1)在不同芯片中;
2)在同一芯片的不同平面中;或
3)在同一芯片的同一平面中。
为了支持此功能性,相对于现有技术修改了在快闪芯片中的控制逻辑和数据路径。此概念是在现有快闪芯片引脚的情境下描述的,但可通过实施经修改的接口来促进系统集成。然而,对接口的所述改变将消除与现有系统的兼容性,这可能或可能不合乎需要。对于向不同芯片的复制,以下描述内容的第一部分将仅考虑在同一总线上的两个芯片之间的数据复制。一种允许在单独的总线上的两个芯片之间进行复制的方案在描述内容的稍后部分中加以考虑,所述方案是控制器设计或系统架构的功能,而非存储器芯片的功能。
首先针对在不同芯片之间的芯片外复制来描述所述过程。图4展示小型存储器系统的示意表示。所述控制器501经由数据总线502连接到第一存储器(此处为快闪)芯片511和第二存储器(此处为快闪)芯片512。共享的控制信号(地址锁存启用(ALE)、命令锁存启用(CLE)、读取启用(RE)、写入启用(WE))和芯片启用信号(CE1、CE2)的路径也已明确展示。在实际系统中可能仅存在一个或可能存在两个以上快闪芯片,但出于解释性的目的,最初针对两个不同芯片来描述所述过程。
以下提供两个实例,其说明用于稍许简化的实施方案的大体命令流程;实际装置的详细操作可能与所述实例不同。这些实例之后是对接口时序的更详细描述。
作为第一实例,考虑将扇区从芯片1复制到芯片2的操作。此展示于图6中且具有以下阶段:
1.控制器发送命令到芯片1以将数据从源阵列中的第一位置读取到缓冲器;在一些实施例中,这些缓冲器可以是用于芯片外复制的特殊缓冲器。
2.控制器发送命令和地址字节到芯片1以将所述芯片配置为芯片外复制源。这通过启用芯片1(\CE1变低),使得命令锁存启用(CLE)变高,将复制源开始(CSS)命令置于I/O线上,和双态触发写入启用来实施。对于地址,当双态触发所述写入启用时,将地址锁存启用(ALE)变高并将源地址(AS)置于I/O线上。地址字节确定数据的源平面。
3.控制器发送命令和地址字节到芯片2来以类似方式将所述芯片配置为芯片外复制目的地,但现在启用芯片2(\CE2低)。地址字节确定数据的目标地址(例如,平面、区块、页和列)。
4.控制器以同步方式双态触发RE(读取启用)和WE(写入启用)以将数据集每次一字节(在此实例中,对应于总线宽度)地从芯片1传输到芯片2。也可同时将数据从芯片1缓冲器传输到控制器。作为芯片外复制目的地,芯片2响应WE而无须断言CE2(芯片2启用),但忽略RE。(如以下所论述,如果数据也传输到控制器,那么控制器可在复制期间修改数据。这通过在RE上驱动脉冲(同时WE为高)以从芯片1读取数据而不复制到芯片2来实现。数据在控制器中被修改且随后通过在WE上驱动脉冲(同时RE为高)且从控制器驱动数据总线来将数据传输到芯片2。这些操作展示于下文描述的时序图中。)
5.一旦传输完成,控制器就发送命令(CSC和CDC)到每一芯片以终止芯片外复制。对于芯片1来说,不需要CSC命令是可能的。在芯片2的情况下,此命令识别编程操作。命令的范围优选可支持复制放弃选项,此选项将会在读取数据中发生ECC失败的情况下使用。
在此配置下,芯片2被指定为目的地且接收目的地地址,使得目的地芯片以及源芯片同时被启用;也就是说,在总线上将同时存在多个作用中的装置。在数据的实际传输期间,用于芯片2的芯片启用信号未断言(\CE2为高):仅源芯片的启用信号被明确地断言。正传输的数据被置于总线上,且当将WE驱动到高时,目的地芯片接收总线上的数据。仅重断言目的地芯片的启用信号以接收指示所述传输的结束的CDC命令。下文进一步论述图6及其变化形式(例如,当作为传输的一部分修改数据集的一部分时)。
在将扇区从一个芯片复制到另一芯片的此论述中,以及在源位置和目的地位置两者在同一芯片中的以下论述中,隐含地假定目的地位置不忙于其它操作。然而,视装置设计而定,这些技术可容易地延伸到目的地可能正忙于编程来自先前操作的数据的情况。存在许多允许在非复制操作期间在完成当前编程操作之前传输数据以用于接下来的编程操作的装置。此类操作管线技术称为“高速缓存写入(cached write)”且可与本发明的数据再定位技术组合。举例来说,在提供所述机制的存储器设计中,可在单一芯片内通过允许读取对程序进行中断来实现使用高速缓存复制的数据再定位。有关所述重叠操作的更多细节描述于2002年2月22目申请的美国专利申请案10/081,375以及2004年5月13日申请的美国专利申请案10/846,289和第6,134,145号美国专利中,其全部以引用的方式并入本文中。
在第二实例中,源位置和目的地位置两者都在芯片1上。此展示于图11中。为了支持此功能,一些实施例可在存储器芯片中引入额外缓冲。视芯片中的缓冲和逻辑而定,此方法允许将来自一个区块的数据传输到芯片中的任何其它区块。从外部观点来看,复制回同一芯片与在芯片之间复制是相同的。如从图6与图11的比较可看出,图11的不同之处是芯片2不被启用(将\CE2保持为高)且将不需要可能的CSC命令,因为芯片1是目的地和源且现接收CDC命令。所述过程允许对于芯片上复制和芯片外复制两者进行统一处理,且如下:
1.控制器发送命令到芯片1以从阵列将数据读取到缓冲器;这些缓冲器可以是用于此目的的特殊缓冲器。
2.控制器发送命令和地址字节到芯片1以将所述芯片配置为芯片外复制源。地址字节确定数据的源平面。
3.控制器发送命令和地址字节到芯片1以将所述芯片配置为芯片外复制目的地。地址字节确定数据的(例如)目标平面、区块、页和列。
4.控制器也可以同步方式双态触发RE和WE以经由双向数据缓冲器同时将数据从芯片1传输到控制器和传输回芯片1。控制器可通过使用在实例1的步骤4中描述的相同技术来在复制期间修改数据。这些操作展示于以下时序图中。
5.一旦传输完成,控制器就发送命令(CDC)到芯片1以终止芯片外复制。用于此命令的选项范围与在实例1的步骤5中用于芯片2的选项范围相同。
下文中还进一步论述图11及其变化形式。
图5以类似于图3中所示的方式来说明一般过程。图5展示组成存储器的阵列中的两个阵列。这些阵列可在不同芯片上(如由虚线所指示),或为在同一芯片上的两个半自治阵列(平面)。对于将数据写回到同一平面的芯片上复制的情况来说,可认为阵列1和阵列2是相同的,且可认为数据寄存器1和数据寄存器2是同一寄存器。
所述过程通过将数据集从阵列1中的源位置复制到与阵列1相关联的数据寄存器1中而开始。数据寄存器1可以是单一寄存器、更普通的主从配置(如在图3中),或某一其它配置。在这些情况的任一种中,将数据读出到可从阵列接收数据的副本的寄存器的一部分中,且接着执行在数据的副本可传输到另一阵列或传输到控制器之前必需的任何随后的传输。(数据寄存器中的这些额外传输,如图3的步骤(2)中从所述从数据寄存器到所述主数据寄存器的传输,未明确地展示于图5中。)数据的副本接着被传输到与目的地阵列2相关联的数据寄存器2,包括将数据置于可从中将其写入到目的地位置的寄存器中所需的数据寄存器2中的任何必需的传输。
从源位置读取的数据也将被传输到控制器以进行检查,且如果必要,进行校正。这种向控制器中的缓冲器的传输可与在数据寄存器之间的传输同时发生,且因此也被标记为(2)。如果在数据集中发现误差且其将被校正,那么使用误差校正码(ECC)来校正控制器的缓冲器中的数据集的副本。一旦被校正,就可在步骤(2′)中将数据集发送到数据寄存器2,使得经校正的值可写入到新位置。
当包括这种向控制器的传输时,其可为所有再定位的一部分(类似于上文参看图3描述及在第6,266,273号美国专利中进一步描述的情况)或仅用于某些传输。有关可与本发明的各方面组合的数据再定位操作的其它技术可查阅2004年5月13日申请的第US10/846,289号美国专利申请案和2004年8月9日申请的第US 10/915,039号美国专利申请案(所述专利申请案以引用的方式并入本文中),以及上文以引用的方式并入的第6,266,273号美国专利。
如下文参看图7所论述,在一些情况中,即使数据集的大部分从源直接传输到目的地,但数据集的一部分可被修改。举例来说,可修改标头。本发明的另一方面允许在运行中进行此操作,使得在继续执行直接传输之后,从数据寄存器1向数据寄存器2的直接传输在所述传输的中间暂停且插入来自控制器的若干经修改的字。
一旦数据的副本在目的地阵列的写入寄存器中,无论直接来自源阵列的读取缓冲器,(以经校正形式)来自控制器,还是直接来自源阵列的读取缓冲器但数据集的某些字经修改,都将其写入到目的地位置中。
将通过示范性实施例的若干时序图来进一步说明本发明的各方面。返回图6,其展示如上文在上述第一实例中描述在两个芯片之间的基本复制操作。在此序列开始时,已将数据从芯片1的阵列读取到其内部缓冲器中。命令CSS(复制源开始)和(源)地址AS定义将作为传输的源的平面。命令CDS(复制目的地开始)和(目的地)地址AD选择芯片2作为芯片到芯片复制的目的地且定义芯片中数据将被写入的地址(例如,平面、区块、页和列)。此情况下的数据传输不涉及数据的任何修改。在传输数据后,发出命令到芯片1和芯片2(CSC和CDC)以完成所述传输。CSC和CDC分别代表复制源完成(Copy Source Complete)和复制目的地完成(Copy Destination Complete)。
图7展示在传输期间修改数据集中间的某些字的情况。举例来说,这允许作为传输的一部分在运行中更新标头的若干部分(例如,时戳),而不必将整个数据集传输到控制器。图7展示相当标准的快闪存储器接口时序的过程。对于将被修改的字,当从源芯片读取数据时,停止WE脉冲以暂停直接的、缓冲器到缓冲器的传输。在控制器中修改此数据,且随后仅通过使WE脉动来将所述数据传输到目的地芯片。该图展示4个字被修改。以此方式可修改任何数目的字,且对于传输中经修改的数据的位置不存在限制。
图8更详细地展示传输时序,其再次基于典型的快闪接口时序。此图说明管理时序偏斜的特定细节,即\WE和\RE的上升的协调。如I/O线上所指示,其展示三种情况:当数据字直接从源缓冲器去往目的地缓冲器,从源去往控制器,和从控制器去往目的地。在该图中,tREA(读取存取时间)是从启用以进行读取直到数据处于总线上的时间,且tOH(输出保持时间)是在RE的上升沿之后快闪芯片继续驱动IO的时间。如果存在显著的偏斜,那么需要延长读取脉冲以确保将数据正确地选通到目的地芯片中。读取周期需要减缓的程度(如果需要的话)将取决于许多因素,包括电容负载、快闪芯片I/O线的输出驱动强度以及控制器\RE和\WE输出的驱动强度和时序分解能力。理论上,应可能实现等于常规读取传输速率的传输速率。
在另一实施例中,这些时序问题可通过在RE为高时使源快闪芯片继续驱动I/O总线来克服,此类似于EDO(延长的驱动输出)DRAM接口操作的方式。图9中针对若干字展示了这种类EDO方案的时序(仅用于直接的源到目的地的复制)。相对时序或\RE和\WE脉冲现较不关键,且应可能实现更高的传输速率。在此实施例中,\RE和\WE波形并不相对于彼此偏斜,且一起上升和下降。这种类EDO时序也可用于增加常规读取的传输速率,或许通过使用特殊命令选择传输模式来实现。通过类EDO读取时序,应可实现50MB/秒的传输速率或更好的传输速率。在I/O线上,Dn、Dn+1、Dn+2、....是指数据集中的连续的字,且X指示所述线被驱动但未定义。
通过类EDO时序,当ALE、CLE和\CE为低时,源快闪芯片在\RE的下降沿启用其I/O驱动器。只要ALE、CLE和\CE保持为低,就连续地驱动快闪芯片输出。
如果需要以类EDO读取时序来修改任何数据,那么将禁用快闪芯片输出。用于所述操作的时序展示于图10中,其展示了与图8中相同的三个情况。
图6-10涉及在两个不同芯片之间复制的情况。返回图11,展示在同一芯片上两个位置之间复制的第二种情况。与之前一样,所说明的序列在已将数据从阵列传输到缓冲器之后开始。在示范性实施例中,需要两个命令来起始复制,但这次其以上文描述的方式发布到同一芯片。在数据传输已完成后,单一命令可足以终止所述复制。
如果在数据传输期间不存在数据修改,那么类EDO读取时序的序列与图6或图11的序列看上去几乎相同。当数据被修改时,需要改变对到达源芯片的CE线的控制。图12对应于图7,且展示在两个芯片之间的数据(有修改)的复制,但现使用类EDO读取时序。在此情况下,当数据从控制器传输到目的地装置时,也将使\CE1升高。
利用至此所描述的方案,将仅在可实现最大阵列读取和阵列编程并行度时达到复制数据区块的最佳性能。如果对数据相对于平面的对准不施加限制,那么使用某种形式的高速缓存读取操作来允许阵列读取与缓冲器读取管线化将是有益的。现有的高速缓存读取通常对连续地址操作;在每一平面中具有两个缓冲器,应可能在传输来自第一次读取的数据之前,开始在一个或一个以上平面上的第二次阵列读取。以此方式,阵列读取与数据传输可并行地操作。
对于示范性实施例,快闪芯片内部的接口逻辑将从典型接口逻辑中进行修改以便支持所描述的方法。所述改变的程度将取决于所要求的优化的程度。最简单的方案将仅允许在两个芯片之间复制;这可随后利用现有的缓冲器结构。为了支持复制回源芯片,可能存在缓冲器结构将需要修改的情况;在一些实施例中,可使用额外的缓冲器。在一些情况下,阵列读取与数据传输的管线化除现有设计中所提供的那些缓冲器外还使用额外缓冲器。
所描述的方法允许数据的非常灵活、高性能的再定位,同时在运行中检查和修改数据。在额外实施例中,可向阵列读取操作施加进一步的增强,其允许在所有情况下的最佳数据复制。在一些情况下,这些方法将使用对快闪存储器控制逻辑的运算的改变。
至此描述内容已基本上假定当数据再定位是在不同芯片上的阵列之间时,同一总线将芯片彼此连接。所描述的用于在共享共同数据总线的两个存储器芯片之间复制数据的方法可延伸为在单独的总线上在存储器芯片之间复制数据。这是当(例如)源存储器阵列和目的地存储器阵列不在同一总线上且经由单独的数据总线连接到控制器时的情况。对控制器设计的修改将允许延伸所描述的方法以涵盖这种新的架构。
图13展示具有两个快闪数据总线(621、622)和复制的控制信号组的简单系统。实际系统可具有两个以上总线。控制器601接着连接到两个存储器芯片(611、612)。为了在芯片1611与芯片2612之间复制数据,发布与用于上述单一总线情况相同的命令序列;然而,因为从芯片611置于总线621上的数据不可被芯片612直接存取,所以其必须首先被传输到总线622上。控制器601经设置以便以一个周期的延迟将在总线1621上读取的数据传输到总线2622。因此,数据集中的每一字在被置于连接到源芯片的总线上之后一个周期可为目的地芯片所用。被传输的数据集本身决不在控制器中作为整体进行缓冲,而仅每次一字地通过开关603。此复制机制可在现有设计的快闪芯片之间使用。纵横开关603的设计将取决于所要求的灵活性和总线的数目。举例来说,在某些实施例中,将可能具有(例如)四个总线且具有在两对总线之间的同时复制。
图14展示图13中的系统的时序,其假定使用类EDO读取时序,且对应于图9的单一总线情况。如果需要,也可使用常规读取时序。现对于每一总线包括了单独的读取和写入启用信号,图14的\RE1和\WE2分别替代了图9中的\RE和\WE,同时\RE2和\WE1在整个过程中都保持为高。如I/O线上所示,由于纵横开关处的延迟的缘故,当字Dn在总线622上时,字Dn+1在总线621上,且对于数据集的其它字来说是类似的。因此,对芯片2的写入比从芯片1进行的读取晚1个周期开始和结束。通过视需要暂停写入或读取周期来使数据修改成为可能。对芯片2的写入被从芯片1进行的读取有效地隐藏。
在总线之间添加纵横开关的直接连接允许不依赖于所涉及的快闪总线的数目而将单一协议用于在快闪存储器阵列的任何两个位置之间复制数据。与单一总线的情况一样,可作为传输过程的一部分来修改数据集的选定部分,对图14的延伸类似于图7和12中所示的那些延伸。
如上文所提及,至此论述内容主要涉及基于快闪EEPROM存储器单元的实施例,且是相对于使用传导性浮动栅极作为电荷存储元件的类型的单元而描述的。然而,本发明的各方面可与各种替代的非易失性存储器技术(例如,薄膜、MRAM、FRAM、NMOS等)结合使用,所述替代的非易失性存储器技术描述于2004年5月7日申请的第10/841,379号美国专利申请案中,所述专利申请案以引用的方式并入本文中。举例来说,本发明也可实施于一种将电荷捕集电介质用作个别存储器单元中的存储元件以替代浮动栅极的系统中。介电存储元件也进一步论述于2002年10月25日申请的第US 10/280,352号美国专利申请案中,所述专利申请案以引用的方式并入本文中。
尽管已参照各种示范性实施例描述了本发明,但将了解,本发明享有在所附权利要求书的整个范围内受到保护的权利。
Claims (23)
1.一种存储器系统,其包含:
存储器,其包括:
多个半自治存储器阵列;以及
相应的多个读取/写入缓冲器,每一缓冲器与各自的半自治存储器阵列相关联;
以及
控制器,其用于管理存储在所述存储器中的数据并控制数据在所述存储器系统中的传输,其中所述控制器可选择所述阵列中的任一阵列作为源阵列并选择所述阵列中的其它任一阵列作为目的地阵列,且其中所述控制器可在所述源阵列和目的地阵列的各自缓冲器之间传输数据页而不将所述数据页作为所述传输的一部分临时存储在所述控制器中。
2.根据权利要求1所述的存储器系统,其中所述源阵列和目的地阵列在相同芯片上形成。
3.根据权利要求1所述的存储器系统,其中所述源阵列和目的地阵列在不同芯片上形成。
4.根据权利要求1所述的存储器系统,其中所述源缓冲器和目的地缓冲器可连接到共同数据总线。
5.根据权利要求1所述的存储器系统,其中所述源缓冲器和目的地缓冲器不可连接到共同数据总线,且可通过单独的数据总线连接到所述控制器。
6.根据权利要求5所述的存储器系统,其中数据可在所述控制器中在所述单独的数据总线之间传输。
7.根据权利要求1所述的存储器系统,其中使用EDO型时序来执行所述传输。
8.根据权利要求1所述的存储器系统,其中所述控制器可修改所述控制器中所述数据页的选定部分作为所述传输的一部分。
9.根据权利要求1所述的存储器系统,其中在所述源阵列和目的地阵列的各自缓冲器之间传输数据页而不将所述数据页临时存储在所述控制器中当作所述传输的一部分的同时,所述控制器可将所述数据页复制到控制器且在其中对所述页的副本执行误差检测和校正操作。
10.根据权利要求9所述的存储器系统,其中在对所述页的副本执行误差检测和校正操作之后,所述控制器可将所述页的经校正副本传输到所述目的地阵列的各自缓冲器。
11.根据权利要求1所述的存储器系统,其中当所述目的地阵列正忙于编程操作时,所述控制器可将所述数据页传输到所述目的地阵列的缓冲器。
12.一种存储器系统,其包含:
多个半自治存储器阵列,每一半自治存储器阵列具有相关联的读取/写入缓冲器;
控制器,其用于管理存储在所述存储器系统中的数据,并控制数据在所述存储器系统中的传输;以及
总线,其可连接到所述控制器和所述存储器阵列以用于其间的数据传输,其中所述控制器可选择多个所述阵列以同时作用以用于数据传输操作。
13.根据权利要求12所述的存储器系统,其中响应于控制器命令,对于在给定时钟周期期间置于所述总线上的数据,所述同时作用的阵列中的第一阵列充当源而所述同时作用的阵列中的第二阵列充当目的地。
14.一种操作存储器系统的方法,所述存储器系统包含多个半自治存储器阵列和存储器控制器,所述阵列的每一者具有相应的读取/写入缓冲器,所述方法包含:
由所述控制器选择所述阵列中的第一阵列作为源;
由所述控制器选择所述阵列中的第二阵列作为目的地,其中所述第一阵列与所述第二阵列不同,且其中所述第一和第二阵列可以是所述多个阵列中的任一者;以及
将数据集从对应于所述源阵列的缓冲器传输到对应于所述目的地阵列的缓冲器而不在所述控制器中临时存储所述数据集。
15.根据权利要求14所述的方法,其中每次一子单元地传输所述数据集,所述传输包括:
修改所述控制器中所述子单元中的选定子单元。
16.根据权利要求15所述的方法,其进一步包含:
与所述将所述数据集传输到对应于所述目的地阵列的缓冲器同时,在所述控制器中存储所述数据集的副本。
17.根据权利要求16所述的方法,其进一步包含:
在所述控制器中存储所述数据集的副本之后,对所述数据集执行误差检测和校正操作。
18.根据权利要求17所述的方法,其进一步包含:
将所述数据的经校正副本传输到对应于所述目的地阵列的缓冲器。
19.根据权利要求14所述的方法,其中使用EDO型时序来执行所述传输。
20.根据权利要求14所述的方法,其中每次一子单元地传输所述数据集且其中所述源阵列和目的地阵列可连接到共同数据总线,所述传输包含:
将所述数据集从对应于所述源阵列的缓冲器每一周期一个子单元地写入到所述总线上;以及
在将所述子单元写入到所述总线上的相同周期期间,将写入到所述总线上的所述子单元读取到对应于所述目的地阵列的缓冲器。
21.根据权利要求14所述的方法,其中每次一子单元地传输所述数据集且其中所述源阵列和目的地阵列可在不同的、各自的第一和第二数据总线上连接到所述控制器,所述传输包含:
将所述数据集从对应于所述源阵列的缓冲器每一周期一个子单元地写入到所述第一总线上;
依次地将所述控制器中的所述子单元从所述第一总线传输到所述第二总线;以及
将传输到所述第二总线上的所述子单元读取到对应于所述目的地阵列的缓冲器。
22.根据权利要求21所述的方法,其中以一个周期的延迟执行所述依次地将所述控制器中的所述子单元从所述第一总线传输到所述第二总线。
23.根据权利要求14所述的方法,其中当所述目的地阵列正忙于编程操作时,执行所述将数据集从对应于所述源阵列的缓冲器传输到对应于所述目的地阵列的缓冲器。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/022,462 US7409473B2 (en) | 2004-12-21 | 2004-12-21 | Off-chip data relocation |
US11/022,462 | 2004-12-21 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101120414A true CN101120414A (zh) | 2008-02-06 |
Family
ID=36123403
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2005800482338A Pending CN101120414A (zh) | 2004-12-21 | 2005-12-15 | 存储器系统中的数据再定位 |
Country Status (8)
Country | Link |
---|---|
US (1) | US7409473B2 (zh) |
EP (1) | EP1829042A1 (zh) |
JP (1) | JP2008524748A (zh) |
KR (1) | KR20070110264A (zh) |
CN (1) | CN101120414A (zh) |
IL (1) | IL184104A0 (zh) |
TW (1) | TW200638432A (zh) |
WO (1) | WO2006068963A1 (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101930798A (zh) * | 2009-06-25 | 2010-12-29 | 联发科技股份有限公司 | 闪存装置、存储器装置以及控制闪存装置的方法 |
CN102243603A (zh) * | 2010-05-13 | 2011-11-16 | 美光科技公司 | 在编程失败之后具有可存取信息的存储器缓冲器 |
CN101593556B (zh) * | 2008-05-26 | 2012-10-03 | 海力士半导体有限公司 | 对非易失性存储器件进行编程的方法 |
US8447917B2 (en) | 2009-06-25 | 2013-05-21 | Mediatek Inc. | Flash memory devices and methods for controlling a flash memory device |
JP2014535104A (ja) * | 2011-10-27 | 2014-12-25 | メモライト (ウハン) カンパニー,リミテッド | フラッシュメモリ制御器及びフラッシュメモリ間のデータ転送方法 |
CN111708480A (zh) * | 2019-03-18 | 2020-09-25 | 爱思开海力士有限公司 | 数据存储装置及其操作方法和控制器 |
Families Citing this family (128)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8341332B2 (en) * | 2003-12-02 | 2012-12-25 | Super Talent Electronics, Inc. | Multi-level controller with smart storage transfer manager for interleaving multiple single-chip flash memory devices |
US7490283B2 (en) | 2004-05-13 | 2009-02-10 | Sandisk Corporation | Pipelined data relocation and improved chip architectures |
US7158421B2 (en) * | 2005-04-01 | 2007-01-02 | Sandisk Corporation | Use of data latches in multi-phase programming of non-volatile memories |
US7420847B2 (en) * | 2004-12-14 | 2008-09-02 | Sandisk Corporation | Multi-state memory having data recovery after program fail |
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 |
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 |
KR100714873B1 (ko) * | 2005-09-06 | 2007-05-07 | 삼성전자주식회사 | 비휘발성 메모리에서 데이터 갱신 방법 및 이를 위한 장치 |
WO2007131062A2 (en) | 2006-05-05 | 2007-11-15 | Sandisk Corporation | Non-volatile memory with background data latch caching during read operations and methods therefor |
KR101202537B1 (ko) | 2006-05-12 | 2012-11-19 | 애플 인크. | 메모리 디바이스를 위한 결합된 왜곡 추정 및 에러 보정 코딩 |
WO2007132452A2 (en) | 2006-05-12 | 2007-11-22 | Anobit Technologies | Reducing programming error in memory devices |
US8239735B2 (en) | 2006-05-12 | 2012-08-07 | Apple Inc. | Memory Device with adaptive capacity |
KR101375955B1 (ko) | 2006-05-12 | 2014-03-18 | 애플 인크. | 메모리 디바이스 내의 왜곡 추정 및 상쇄 |
WO2008026203A2 (en) | 2006-08-27 | 2008-03-06 | Anobit Technologies | Estimation of non-linear distortion in memory devices |
US7606966B2 (en) * | 2006-09-08 | 2009-10-20 | Sandisk Corporation | Methods in a pseudo random and command driven bit compensation for the cycling effects in flash memory |
US7885112B2 (en) * | 2007-09-07 | 2011-02-08 | Sandisk Corporation | Nonvolatile memory and method for on-chip pseudo-randomization of data within a page and between pages |
US7734861B2 (en) | 2006-09-08 | 2010-06-08 | Sandisk Corporation | Pseudo random and command driven bit compensation for the cycling effects in flash memory |
US7975192B2 (en) | 2006-10-30 | 2011-07-05 | Anobit Technologies Ltd. | Reading memory cells using multiple thresholds |
CN101601094B (zh) | 2006-10-30 | 2013-03-27 | 苹果公司 | 使用多个门限读取存储单元的方法 |
JP4569554B2 (ja) * | 2006-10-31 | 2010-10-27 | Tdk株式会社 | メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法 |
US7924648B2 (en) * | 2006-11-28 | 2011-04-12 | Anobit Technologies Ltd. | Memory power and performance management |
US8151163B2 (en) | 2006-12-03 | 2012-04-03 | Anobit Technologies Ltd. | Automatic defect management in memory devices |
US7706182B2 (en) * | 2006-12-03 | 2010-04-27 | Anobit Technologies Ltd. | Adaptive programming of analog memory cells using statistical characteristics |
US9116823B2 (en) | 2006-12-06 | 2015-08-25 | Intelligent Intellectual Property Holdings 2 Llc | Systems and methods for adaptive error-correction coding |
US8074011B2 (en) * | 2006-12-06 | 2011-12-06 | Fusion-Io, Inc. | Apparatus, system, and method for storage space recovery after reaching a read count limit |
US8019940B2 (en) | 2006-12-06 | 2011-09-13 | Fusion-Io, Inc. | Apparatus, system, and method for a front-end, distributed raid |
KR100843280B1 (ko) * | 2006-12-07 | 2008-07-04 | 삼성전자주식회사 | 메모리 시스템 및 그것의 데이터 전송 방법 |
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 |
KR100877609B1 (ko) * | 2007-01-29 | 2009-01-09 | 삼성전자주식회사 | 버퍼 메모리의 플래그 셀 어레이를 이용하여 데이터 오류 정정을 수행하는 반도체 메모리 시스템 및 그 구동 방법 |
KR100866624B1 (ko) * | 2007-02-23 | 2008-11-03 | 삼성전자주식회사 | 둘 이상의 비휘발성 메모리 장치들을 제어하는 방법 및 그장치 |
US7502255B2 (en) * | 2007-03-07 | 2009-03-10 | Sandisk Corporation | Method for cache page copy in a non-volatile memory |
US7499320B2 (en) * | 2007-03-07 | 2009-03-03 | Sandisk Corporation | Non-volatile memory with cache page copy |
US8369141B2 (en) | 2007-03-12 | 2013-02-05 | Apple Inc. | Adaptive estimation of memory cell read thresholds |
KR100918707B1 (ko) * | 2007-03-12 | 2009-09-23 | 삼성전자주식회사 | 플래시 메모리를 기반으로 한 메모리 시스템 |
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 |
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 |
WO2009050703A2 (en) | 2007-10-19 | 2009-04-23 | Anobit Technologies | Data storage in analog memory cell arrays having erase failures |
WO2009063450A2 (en) | 2007-11-13 | 2009-05-22 | Anobit Technologies | Optimized selection of memory units in multi-unit memory devices |
US8225181B2 (en) | 2007-11-30 | 2012-07-17 | Apple Inc. | Efficient re-read operations from memory devices |
US7836226B2 (en) | 2007-12-06 | 2010-11-16 | Fusion-Io, Inc. | Apparatus, system, and method for coordinating storage requests in a multi-processor/multi-thread environment |
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 |
KR100908542B1 (ko) * | 2007-12-24 | 2009-07-20 | 주식회사 하이닉스반도체 | 불휘발성 메모리 소자 및 그 프로그램 방법 |
US8085586B2 (en) | 2007-12-27 | 2011-12-27 | Anobit Technologies Ltd. | Wear level estimation in analog memory cells |
US8156398B2 (en) | 2008-02-05 | 2012-04-10 | Anobit Technologies Ltd. | Parameter estimation based on error correction code parity check equations |
US7924587B2 (en) | 2008-02-21 | 2011-04-12 | Anobit Technologies Ltd. | Programming of analog memory cells using a single programming pulse per state transition |
US7864573B2 (en) | 2008-02-24 | 2011-01-04 | Anobit Technologies Ltd. | Programming analog memory cells for reduced variance after retention |
US8230300B2 (en) | 2008-03-07 | 2012-07-24 | Apple Inc. | Efficient readout from analog memory cells using data compression |
US8400858B2 (en) | 2008-03-18 | 2013-03-19 | Apple Inc. | Memory device with reduced sense time readout |
US8059457B2 (en) | 2008-03-18 | 2011-11-15 | Anobit Technologies Ltd. | Memory device with multiple-accuracy read commands |
KR101497074B1 (ko) * | 2008-06-17 | 2015-03-05 | 삼성전자주식회사 | 불휘발성 메모리 시스템 및 그것의 데이터 관리 방법 |
US7924613B1 (en) | 2008-08-05 | 2011-04-12 | Anobit Technologies Ltd. | Data storage in analog memory cells with protection against programming interruption |
US8498151B1 (en) | 2008-08-05 | 2013-07-30 | Apple Inc. | Data storage in analog memory cells using modified pass 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 |
ITRM20080543A1 (it) * | 2008-10-09 | 2010-04-10 | Micron Technology Inc | Architettura e metodo per la programmazione di memorie. |
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 |
US8248831B2 (en) | 2008-12-31 | 2012-08-21 | Apple Inc. | Rejuvenation of analog memory cells |
US8174857B1 (en) | 2008-12-31 | 2012-05-08 | Anobit Technologies Ltd. | Efficient readout schemes for analog memory cell devices using multiple read threshold sets |
US8924661B1 (en) | 2009-01-18 | 2014-12-30 | Apple Inc. | Memory system including a controller and processors associated with memory devices |
US8228701B2 (en) | 2009-03-01 | 2012-07-24 | Apple Inc. | Selective activation of programming schemes in analog memory cell arrays |
US8259506B1 (en) | 2009-03-25 | 2012-09-04 | Apple Inc. | Database of memory read thresholds |
US8832354B2 (en) | 2009-03-25 | 2014-09-09 | Apple Inc. | Use of host system resources by memory controller |
US8832353B2 (en) * | 2009-04-07 | 2014-09-09 | Sandisk Technologies Inc. | Host stop-transmission handling |
US8238157B1 (en) | 2009-04-12 | 2012-08-07 | Apple Inc. | Selective re-programming of analog memory cells |
US8132045B2 (en) * | 2009-06-16 | 2012-03-06 | SanDisk Technologies, Inc. | Program failure handling in nonvolatile memory |
US8307241B2 (en) * | 2009-06-16 | 2012-11-06 | Sandisk Technologies Inc. | Data recovery in multi-level cell nonvolatile memory |
KR20110001587A (ko) * | 2009-06-30 | 2011-01-06 | 주식회사 하이닉스반도체 | 불휘발성 메모리 장치 및 이를 이용한 동작 방법 |
US8479080B1 (en) | 2009-07-12 | 2013-07-02 | Apple Inc. | Adaptive over-provisioning in memory systems |
US8495423B2 (en) * | 2009-08-11 | 2013-07-23 | International Business Machines Corporation | Flash-based memory system with robust backup and restart features and removable modules |
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 |
US8677203B1 (en) | 2010-01-11 | 2014-03-18 | Apple Inc. | Redundant data storage schemes for 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 |
KR101635446B1 (ko) | 2010-05-25 | 2016-07-04 | 삼성전자주식회사 | 반도체 메모리 장치의 블록 병합 방법 |
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 |
KR101671334B1 (ko) * | 2010-07-27 | 2016-11-02 | 삼성전자주식회사 | 메모리 장치와 이의 데이터 제어방법 |
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 |
US8385140B2 (en) * | 2010-11-18 | 2013-02-26 | Advanced Micro Devices, Inc. | Memory elements having shared selection signals |
US8472280B2 (en) | 2010-12-21 | 2013-06-25 | Sandisk Technologies Inc. | Alternate page by page programming scheme |
US8843693B2 (en) | 2011-05-17 | 2014-09-23 | SanDisk Technologies, Inc. | Non-volatile memory and method with improved data scrambling |
US9037902B2 (en) | 2013-03-15 | 2015-05-19 | Sandisk Technologies Inc. | Flash memory techniques for recovering from write interrupt resulting from voltage fault |
JP2015056105A (ja) * | 2013-09-13 | 2015-03-23 | 株式会社東芝 | 不揮発性半導体記憶装置 |
CN103761988B (zh) * | 2013-12-27 | 2018-01-16 | 华为技术有限公司 | 固态硬盘及数据移动方法 |
TWI554944B (zh) | 2014-06-20 | 2016-10-21 | 慧榮科技股份有限公司 | 快閃記憶體控制裝置、快閃記憶體控制系統以及快閃記憶體控制方法 |
SG11201706914TA (en) | 2015-03-06 | 2017-10-30 | Toshiba Memory Corp | Memory device controlling method and memory device |
US20170075843A1 (en) | 2015-09-10 | 2017-03-16 | Qualcomm Incorporated | Unified systems and methods for interchip and intrachip node communication |
US10162558B2 (en) | 2015-10-30 | 2018-12-25 | Micron Technology, Inc. | Data transfer techniques for multiple devices on a shared bus |
KR102636039B1 (ko) | 2016-05-12 | 2024-02-14 | 삼성전자주식회사 | 불휘발성 메모리 장치 및 그것의 읽기 방법 및 카피백 방법 |
US10387046B2 (en) * | 2016-06-22 | 2019-08-20 | Micron Technology, Inc. | Bank to bank data transfer |
US10236038B2 (en) | 2017-05-15 | 2019-03-19 | Micron Technology, Inc. | Bank to bank data transfer |
US10388351B2 (en) | 2017-08-30 | 2019-08-20 | Micron Technology, Inc. | Wear leveling for random access and ferroelectric memory |
US11079958B2 (en) | 2019-04-12 | 2021-08-03 | Intel Corporation | Apparatus, system and method for offloading data transfer operations between source and destination storage devices to a hardware accelerator |
US11726869B2 (en) | 2019-08-20 | 2023-08-15 | Micron Technology, Inc. | Performing error control operation on memory component for garbage collection |
US11281578B2 (en) | 2019-08-20 | 2022-03-22 | Micron Technology, Inc. | Garbage collection in a memory sub-system during a low battery state |
US11281392B2 (en) | 2019-08-28 | 2022-03-22 | Micron Technology, Inc. | Garbage collection in a memory component using an adjusted parameter |
US11321167B2 (en) | 2020-05-09 | 2022-05-03 | Western Digital Technologies, Inc. | Adaptive folding for integrated memory assembly |
US11301321B2 (en) | 2020-05-28 | 2022-04-12 | Western Digital Technologies, Inc. | Data shaping for integrated memory assembly |
US11170870B1 (en) | 2020-05-28 | 2021-11-09 | Western Digital Technologies, Inc. | On-chip-copy for integrated memory assembly |
US11488682B2 (en) | 2020-06-24 | 2022-11-01 | Sandisk Technologies Llc | Calibration for integrated memory assembly |
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 (70)
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 |
US4251863A (en) | 1979-03-15 | 1981-02-17 | Sperry Corporation | Apparatus for correction of memory errors |
US5233616A (en) | 1990-10-01 | 1993-08-03 | Digital Equipment Corporation | Write-back cache with ECC protection |
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 |
TW231343B (zh) | 1992-03-17 | 1994-10-01 | Hitachi Seisakusyo Kk | |
JP3323869B2 (ja) | 1992-03-31 | 2002-09-09 | 株式会社東芝 | 不揮発性半導体メモリ装置 |
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 | 가부시끼가이샤 히다찌세이사꾸쇼 | 플래시메모리의 제어방법 및 그것을 사용한 정보처리장치 |
JP2922116B2 (ja) | 1993-09-02 | 1999-07-19 | 株式会社東芝 | 半導体記憶装置 |
JPH07105128A (ja) | 1993-10-07 | 1995-04-21 | Mitsubishi Electric Corp | データ転送装置 |
JP2658958B2 (ja) | 1995-03-31 | 1997-09-30 | 日本電気株式会社 | Dmaコントローラ |
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 |
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 |
AU3832297A (en) | 1996-02-29 | 1997-09-16 | Hitachi Limited | Semiconductor memory device having faulty cells |
FR2749682B1 (fr) * | 1996-06-10 | 1998-07-10 | Bull Sa | Circuit pour transborder des donnees entre memoires distantes et calculateur comprenant un tel circuit |
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 |
US5822245A (en) | 1997-03-26 | 1998-10-13 | Atmel Corporation | Dual buffer flash memory architecture with multiple operating modes |
JPH113290A (ja) | 1997-06-11 | 1999-01-06 | Hitachi Ltd | メモリ制御方式 |
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 |
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 |
US6040997A (en) | 1998-03-25 | 2000-03-21 | Lexar Media, Inc. | Flash memory leveling architecture having no external latch |
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 |
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 |
US6920569B1 (en) | 1999-04-29 | 2005-07-19 | Koninklijke Philips Electronics N.V. | Device configured as stand-alone or slave based on detection of power supply in a powered data bus system |
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 |
WO2001008015A1 (fr) | 1999-07-28 | 2001-02-01 | Sony Corporation | Systeme d'enregistrement, dispositif d'enregistrement de donnees, dispositif a memoire et procede d'enregistrement de donnees |
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 |
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 |
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 |
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 |
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 |
JP2002229924A (ja) * | 2001-01-31 | 2002-08-16 | Toshiba Corp | 複写機能を有するコンピュータシステム及び同システムにおけるデータ複写方法 |
JP4812192B2 (ja) * | 2001-07-27 | 2011-11-09 | パナソニック株式会社 | フラッシュメモリ装置、及び、それに記憶されたデータのマージ方法 |
US6456528B1 (en) | 2001-09-17 | 2002-09-24 | Sandisk Corporation | Selective operation of a multi-state non-volatile memory system in a binary mode |
GB0123412D0 (en) | 2001-09-28 | 2001-11-21 | Memquest Ltd | Memory system sectors |
GB0123410D0 (en) | 2001-09-28 | 2001-11-21 | Memquest Ltd | Memory system for data storage and retrieval |
GB0123416D0 (en) | 2001-09-28 | 2001-11-21 | Memquest Ltd | Non-volatile memory control |
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 |
JP4004811B2 (ja) | 2002-02-06 | 2007-11-07 | 株式会社東芝 | 不揮発性半導体記憶装置 |
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 | 半導体記憶装置 |
JP4225749B2 (ja) | 2002-08-07 | 2009-02-18 | 株式会社ルネサステクノロジ | 半導体記憶装置 |
CA2447204C (en) | 2002-11-29 | 2010-03-23 | Memory Management Services Ltd. | Error correction scheme for memory |
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 |
-
2004
- 2004-12-21 US US11/022,462 patent/US7409473B2/en active Active
-
2005
- 2005-12-15 EP EP05854420A patent/EP1829042A1/en not_active Withdrawn
- 2005-12-15 JP JP2007548337A patent/JP2008524748A/ja active Pending
- 2005-12-15 CN CNA2005800482338A patent/CN101120414A/zh active Pending
- 2005-12-15 KR KR1020077015252A patent/KR20070110264A/ko not_active Application Discontinuation
- 2005-12-15 WO PCT/US2005/045695 patent/WO2006068963A1/en active Application Filing
- 2005-12-21 TW TW094145668A patent/TW200638432A/zh unknown
-
2007
- 2007-06-21 IL IL184104A patent/IL184104A0/en unknown
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101593556B (zh) * | 2008-05-26 | 2012-10-03 | 海力士半导体有限公司 | 对非易失性存储器件进行编程的方法 |
CN101930798A (zh) * | 2009-06-25 | 2010-12-29 | 联发科技股份有限公司 | 闪存装置、存储器装置以及控制闪存装置的方法 |
US8447917B2 (en) | 2009-06-25 | 2013-05-21 | Mediatek Inc. | Flash memory devices and methods for controlling a flash memory device |
CN101930798B (zh) * | 2009-06-25 | 2014-04-16 | 联发科技股份有限公司 | 闪存装置、存储器装置以及控制闪存装置的方法 |
CN102243603A (zh) * | 2010-05-13 | 2011-11-16 | 美光科技公司 | 在编程失败之后具有可存取信息的存储器缓冲器 |
US9208901B2 (en) | 2010-05-13 | 2015-12-08 | Micron Technology, Inc. | Memory buffer having accessible information after a program-fail |
JP2014535104A (ja) * | 2011-10-27 | 2014-12-25 | メモライト (ウハン) カンパニー,リミテッド | フラッシュメモリ制御器及びフラッシュメモリ間のデータ転送方法 |
CN111708480A (zh) * | 2019-03-18 | 2020-09-25 | 爱思开海力士有限公司 | 数据存储装置及其操作方法和控制器 |
CN111708480B (zh) * | 2019-03-18 | 2023-07-14 | 爱思开海力士有限公司 | 数据存储装置及其操作方法和控制器 |
Also Published As
Publication number | Publication date |
---|---|
US7409473B2 (en) | 2008-08-05 |
WO2006068963A1 (en) | 2006-06-29 |
KR20070110264A (ko) | 2007-11-16 |
IL184104A0 (en) | 2007-10-31 |
TW200638432A (en) | 2006-11-01 |
JP2008524748A (ja) | 2008-07-10 |
EP1829042A1 (en) | 2007-09-05 |
US20060136687A1 (en) | 2006-06-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101120414A (zh) | 存储器系统中的数据再定位 | |
TWI421684B (zh) | 可再程式化非揮發性記憶體系統以及操作ㄧ非揮發性記憶體系統之方法 | |
CN101142564B (zh) | 芯片上数据分组和对准 | |
US8832353B2 (en) | Host stop-transmission handling | |
EP2003569B1 (en) | Flash memory controller | |
JP4834676B2 (ja) | オンチップ不揮発性メモリ書き込みキャッシュを使用するシステムおよび方法 | |
KR101152283B1 (ko) | 파이프라인 데이터 재배치 및 개선된 칩 구조 | |
US8132045B2 (en) | Program failure handling in nonvolatile memory | |
US8316177B2 (en) | Partial block data programming and reading operations in a non-volatile memory | |
TWI464584B (zh) | 用於實施延伸以智慧型管理一大容量儲存系統之資源的系統與方法 | |
US7610442B2 (en) | Dual journaling store method and storage medium thereof | |
TW201142593A (en) | Method and system for concurrent background and foreground operations in a non-volatile memory array | |
US7519764B2 (en) | Apparatus and method for detecting data validity in flash memory | |
JP2013544414A (ja) | トランザクションログの復元 | |
CN102576332A (zh) | 电力中断管理 | |
CN107544922B (zh) | 数据写入方法、存储器控制电路单元及存储器存储装置 | |
JP2009503740A (ja) | データファイルを直接記憶する再プログラム可能な不揮発性メモリ内のファイルデータの索引付け | |
US11029854B2 (en) | Memory controller for concurrently writing host data and garbage collected data and operating method thereof | |
CN117015766A (zh) | 在分区命名空间ssd中的快速垃圾收集 | |
CN106326131B (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 |
Open date: 20080206 |