CN102203873A - 重编程页而不向存储器设备重输数据的页缓冲器编程命令和方法 - Google Patents
重编程页而不向存储器设备重输数据的页缓冲器编程命令和方法 Download PDFInfo
- Publication number
- CN102203873A CN102203873A CN2009801421946A CN200980142194A CN102203873A CN 102203873 A CN102203873 A CN 102203873A CN 2009801421946 A CN2009801421946 A CN 2009801421946A CN 200980142194 A CN200980142194 A CN 200980142194A CN 102203873 A CN102203873 A CN 102203873A
- Authority
- CN
- China
- Prior art keywords
- data
- page
- address
- page buffer
- memory devices
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- 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
- G11C16/102—External programming circuits, e.g. EPROM programmers; In-circuit programming or reprogramming; EPROM emulators
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Read Only Memory (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
一种用于有效地处理存储器设备中的写操作失败的技术允许将一页数据从页缓冲器重写到存储器阵列,其中,存储器设备与外部主机通信。该主机向存储器设备提供用户数据、第一写入地址和写入命令。如果写入尝试失败,则主机给重写命令提供新地址,而不向存储器设备重新发送用户数据。在来自页缓冲器的重写正在进行中的同时,可以在存储器设备的数据高速缓存器处接收另一数据。可以在复制操作中获得重写的数据,在复制操作中数据被读出到主机,并且被修改和写回到存储器设备。在复制操作期间可以将另一数据输入到存储器设备。还可以适当地修改页缓冲器数据。
Description
相关申请的交叉引用
本申请要求2008年10月25日提交的美国临时专利申请第61/108,507号(案卷号:SAND-01388US0)的权益,通过引用将其内容并入本申请。
背景技术
本发明涉及用于数据存储的技术。
在各种电子设备中使用半导体存储器变得越来越普及。例如,非易失性半导体存储器用于蜂窝电话、数字摄像机、个人数字助理、移动计算设备、非移动计算设备和其它设备。电可擦除可编程只读存储器(EEPROM)和诸如NAND存储器的闪存位于最流行的非易失性半导体存储器之列。
还已知由可逆的电阻切换(resistance-switching)元件形成的非易失性存储器。例如,2006年11月9日公布的、名称为“Rewriteable Memory Cell Comprising A Diode And A Resistance-Switching Material”的、美国专利申请公开2006/0250836描述了一种可重写的非易失性存储器单元,通过引用将其内容并入本申请,其中,该可重写的非易失性存储器单元包括与诸如金属氧化物或金属氮化物的可逆的电阻切换材料串联耦合的二极管。让人感兴趣的是将这些可逆的电阻切换材料用于非易失性存储器阵列中。例如,一种电阻态可以对应于数据“0”,而另一种电阻态可以对应于数据“1”。这些材料中的一些可以具有多于两个稳定的电阻态。这些切换元件经常被布置在所谓的三维存储器设备中的多个层中。此外,已知诸如DRAM的多种类型的易失性存储器设备。可重写存储器和只写一次存储器两者也是已知的。
存储器设备可具有卡或可被插入到或以其它方式连接到主机/用户设备(诸如主机蜂窝电话、数字摄像机或其它设备)的其它部件的形式。在其它情况中,存储器设备永久地安装在主机设备中。在市场上销售的具有可拆卸介质格式的存储器设备的示例包括COMPACTFLASH、SMARTMEDIA、SECURE DIGITAL、MEMORY STICK和XD-PICTURE CARD等各种商品名。在市场上销售的小型化的新一代存储卡格式包括RS-MMC、MINISD和MACROSD、以及INTELLIGENT STICK。
在写入处理期间,称为页的数据单元被写入存储器阵列中的指定位置。例如,主机设备可以向存储器设备提供要写入的数据、以及用于写入该数据的存储器阵列的地址。存储器设备包括用于向指定地址写入数据的电路。但是,当写操作失败时,诸如由于存储器元件或与指定地址相关联的电路的问题,尝试解决该失败的最终的输入/输出操作会消耗过度的带宽。
需要用于有效地处理存储器设备中的写操作失败的技术。
发明内容
提供了一种用于有效地处理存储器设备中的写操作失败的技术。
在一个实施例中,一种用于操作存储器设备的方法包括:(a)在存储器设备处,从外部主机接收至少一页数据和第一地址,(b)将该至少一页数据存储在存储器设备的页缓冲器中,(c)尝试在由第一地址指定的位置处将来自页缓冲器的该至少一页数据写入存储器设备的存储器阵列中,(d)确定写入该至少一页数据的尝试不成功,(e)向外部主机通知写入该至少一页数据的尝试不成功,(f)在存储器设备处,从外部主机接收第二地址,以及(g)尝试在由第二地址指定的位置处将来自页缓冲器的该至少一页数据写入存储器阵列中,而不用外部主机向存储器设备重新发送该至少一页数据。
在另一个实施例中,一种用于操作存储器设备的方法包括:(a)在存储器设备处,从外部主机接收至少第一页数据和第一地址,(b)在存储器设备的存储器阵列之外,将该至少第一页数据存储在存储器设备的第一存储位置中,(c)接收第一写入命令,(d)响应于第一写入命令,尝试在由第一地址指定的位置处将来自第一存储位置的该至少第一页数据写入存储器阵列中,(e)在存储器设备处,从外部主机接收第二地址,(f)在存储器阵列之外,在由第二地址指定的位置处读取存储器阵列以将至少第二页数据取到存储器设备中的第二存储位置,同时将该至少第一页数据保持在第一存储位置中,(g)从第二存储位置向外部主机提供该至少第二页数据;(h)确定该至少第一页数据的尝试写入不成功,(i)向外部主机通知写入该至少第一页数据的尝试不成功,(j)在存储器设备处,从外部主机接收第二地址,以及(k)尝试在由第二地址指定的位置处将来自第一存储位置的至少第一页数据写入存储器阵列,而不用外部主机向存储器设备重新发送该至少第一页数据。
在另一个实施例中,一种用于操作存储器设备的外部主机的方法包括:(a)从外部主机向存储器设备发送至少一页数据、第一地址和至少第一命令,其中,该至少第一命令通知存储器设备:将该至少一页数据存储在存储器设备的页缓冲器中,以及尝试在由第一地址指定的位置处将来自页缓冲器的该至少一页数据写入存储器设备的存储器阵列,(b)在外部主机处,从存储器设备接收状态通信,该状态通信指示在由第一地址指定的位置处写入所述至少一页数据的尝试不成功,以及(c)响应于状态通信,从外部主机向存储器设备发送第二地址和至少一个第二命令,其中,该至少一个第二命令通知存储器设备尝试在由第二地址指定的位置处将来自页缓冲器的该至少一页数据写入存储器阵列中,而不用外部主机向存储器设备重新发送该至少一页数据。
在另一个实施例中,一种存储器设备包括:形成在基板上的非易失性存储器元件的存储器阵列、数据高速缓存器、页缓冲器、到外部主机的接口、以及一个或更多个控制电路。该一个或更多个控制电路进行以下操作:(a)从外部主机接收至少一页数据和第一地址,(b)将该至少一页数据存储在页缓冲器中,(c)尝试在由第一地址指定的位置处将来自页缓冲器的该至少一页数据写入存储器阵列中,(d)确定写入该至少一页数据的尝试不成功,(e)向外部主机通知写入该至少一页数据的尝试不成功,(f)在所述存储器设备处,从外部主机接收第二地址,以及(g)尝试在由第二地址指定的位置处将来自页缓冲器的该至少一页数据写入存储器阵列中,而不用外部主机向存储器设备重新发送该至少一页数据。
在另一个实施例中,一种存储器设备包括:形成在基板上的非易失性存储器元件的存储器阵列、页缓冲器、数据高速缓存器、到外部主机的接口、以及一个或更多个控制电路,其中,该一个或更多个控制电路与存储器阵列、页缓冲器、数据高速缓存器和接口进行通信。页缓冲器接收第一页数据,并且该一个或更多个控制电路致使做出将来自页缓冲器的第一页数据写入存储器阵列中的尝试。此外,数据高速缓存器从存储器阵列接收第二页数据,这绕过了页缓冲器,同时页缓冲器存储第一页数据。该一个或更多个控制电路致使将第二页数据从数据高速缓存器提供到外部主机。此外,该一个或更多个控制电路致使做出将来自页缓冲器的第一页数据重写到存储器阵列的尝试。
还提供了对应的方法、系统以及具有用于执行这里提供的方法的可执行代码的计算机可读存储器设备或处理器可读存储器设备。
附图说明
图1是存储器系统的一个实施例的框图。
图2a描绘了在向存储器阵列写入一页数据时的主机与存储器设备之间的通信顺序。
图2b-d描绘了对应于图2a的顺序、数据在数据高速缓存器、页缓冲器和存储器阵列中的移动。
图2e描绘了对应于图2a的顺序的处理。
图2f描绘了对应于图2e的处理的主机侧的处理。
图3a描绘了在向存储器阵列写入一页数据同时在数据高速缓存器中接收另一页数据时的主机与存储器设备之间的通信顺序。
图3b-h描绘了对应于图3a的顺序、数据在数据高速缓存器、页缓冲器和存储器阵列中的移动。
图3i描绘了对应于图3a的顺序的处理。
图4a描绘了在向存储器阵列写入一页数据时的主机与存储器设备之间的通信顺序,其中该页是从存储器阵列中复制的。
图4b-f描绘了对应于图4a的顺序、数据在数据高速缓存器、页缓冲器和存储器阵列中的移动。
图4g描绘了对应于图4a的顺序的处理。
图5a描绘了在向存储器阵列写入一页数据(其中该页是从存储器阵列中复制的)同时在数据高速缓存器中接收另一页数据时的主机与存储器设备之间的通信顺序的第一部分。
图5b描绘了图5a的顺序之后的通信顺序的第二部分。
图5c-l描绘了对应于图5a和5b的顺序、数据在数据高速缓存器、页缓冲器和存储器阵列中的移动。
图5m描绘了对应于图5a和图5b的顺序的处理。
图6示描绘了数据高速缓存器被连接以直接从存储器阵列或主机接收数据的电路。
图7描绘了页缓冲器被连接以直接从存储器阵列或主机接收数据的电路。
图8描绘了图6和图7的电路提供的功能。
具体实施方式
提供了一种用于有效地处理存储器设备中的写操作失败的技术。
图1是描绘了可以实现本申请所述技术的存储器系统的一个示例的框图。在一个可能的方法中,存储器系统包括可被配置为卡或其它封装的存储器设备100,存储器设备100包括形成在模具上的部分101、以及经由输入输出电路或接口134与外部主机136进行通信的控制器130。控制器130包括用于实现本申请所述功能的系统控制逻辑132。如所描绘的,控制器130可以被嵌入部分101中或位于芯片外。
存储器阵列102可以是存储器单元的二维或三维阵列,还可以称为存储器元件。在一个实现方式中,存储器阵列102是单片三维存储器阵列。单片三维存储器阵列是如下的阵列:在单个基板(诸如晶片)之上形成多个存储级,而不干涉基板。在现有级的层上直接沉积或生长形成一个存储级的层。相反地,如Leedy在美国专利第5,915,167号“Three Dimensional Structure Memory”中所记载的,通过在分开的基板上形成存储级并将存储级彼此附接到顶上来构造堆叠式存储器。可以在键合之前使基板变薄或从存储级移除基板,但是由于存储级最初形成在分开的基板上,所以这样的存储器不是真正的单片三维存储器阵列。
在另一可能的实现方式中,存储器阵列是将串(如NAND串)串行连接的非易失性存储器元件的二维阵列。每个串在漏极侧选择栅极与源极侧选择栅极之间的列中延伸。字线与行中的存储器元件的控制栅极进行通信。位线与每个串的漏极端进行通信,感测部件被耦合到位线以确定选择的存储器元件处于导电状态还是不导电状态。
存储器阵列102的阵列端子线包括被组织为行的字线的各层、以及被组织为列的位线的各层。但是,也可以实现其它的方向。
存储器系统100包括行控制电路120,行控制电路120的输出108连接到存储器阵列102的各个字线。行控制电路120从系统控制逻辑电路130接收一组行地址信号和一个或更多个不同的控制信号,并且典型地可以包括用于读取和编程操作两者的诸如行解码器122、阵列端子驱动器124和块选择电路126的电路。存储器系统100还包括列控制电路110,列控制电路110的输入/输出106连接到存储器阵列102的各个位线。列控制电路110从系统控制逻辑132接收一组列地址信号和一个或更多个不同的控制信号,并且典型地可以包括诸如列解码器112、阵列端子接收器或驱动器114、块选择电路116的电路、以及读取/写入电路和I/O复用器。系统控制逻辑132从主机136接收数据和命令,并且向主机提供输出数据。在其它实施例中,系统控制逻辑132从分开的控制电路接收数据和命令,并且向该控制电路提供输出数据,其中该控制电路与主机进行通信。系统控制逻辑132可以包括一个或更多个状态机、寄存器和用于控制本申请所述的存储器系统100的操作的其它控制逻辑。
列控制电路110还包括页缓冲器111和数据高速缓存器113,列控制电路110可以是感测放大器的一部分。页缓冲器是存储写入到存储器阵列的或从存储器阵列读出的数据的存储位置,并且还可以保留在写操作期间的编程验证结果。可以使用一个或更多个页缓冲器。页缓冲器可以存储一页或更多页数据。当字线仅存储一页数据时,仅存储一页数据的页缓冲器就足够了。当字线存储多页数据时,可以提供能够存储一页或更多页数据的一个或更多个页缓冲器。页缓冲器111连接到位线和用于读取、验证、编程(写入)和擦除操作的供电线电压。关于编程验证,利用页缓冲器111中存储的数据将存储器阵列中的存储器元件的字线编程之后,读回字线,并且将所读取的数据与存储在页缓冲器中的数据进行比较。不匹配指示字线上存在缺陷(或一些其它类型的错误),并且应将数据重写到另一字线。如果需要进一步信息,例如,参考美国专利7,137,636,通过引用将其内容并入本申请。
在另一可能的方法中,代替使用分开的读操作以逐个字线地确定字线的内容是否与页缓冲器的内容匹配,可以在尝试对存储单元进行编程的同时感测每个存储单元的编程的/未编程的状态。在标题为“Memory device and method for sensing while programming a non-volatile memory cell”的美国专利第6,574,145号中详细地描述了这种同时感测和编程(sensing-while-programming)技术,通过引用将其内容并入本申请。
数据高速缓存器113保持在读操作中页缓冲器所读取的数据、以及在写操作中提供到页缓冲器的数据。如下面进一步描述的,在模具101之外的外部主机向存储器设备100发送命令和数据,其中使用分别作为第一和第二存储位置的数据高速缓存器和页缓冲器的组合来存储数据。有利的是,写入尝试在存储器阵列中的一个地址处失败之后,要写入存储器阵列的数据可以保存在存储器设备中,并且该数据可以被重写到存储器阵列中的另一地址而不用主机向存储器设备重新输入数据。此外,可以在不同的情境下获得该重写能力,不同的情境诸如是在发生重写处理的同时存储器设备中接收另一数据的情境、重写的数据从存储器阵列中的一个位置复制(以及可选地修改)到另一位置的情境、以及在发生重写处理的同时存储器设备中接收另一数据并且重写的数据从存储器阵列的一个位置复制(以及可选地修改)到另一位置的情境。该基于页的重写能力可以与如下技术相区别:该技术由存储器设备执行以例如使用纠错来修改页的一部分,诸如几个字节。
在一个实施例中,图1中描绘的所有部件被布置在单个集成电路上。例如,系统控制逻辑132、列控制电路110和行控制电路120被形成在基板的表面上。此外,存储器阵列102可以是形成在该基板之上(并由此形成在系统控制逻辑132、列控制电路110和行控制电路120之上)的单片三维存储器阵列。在一些情况下,控制电路的一部分可以形成在与存储器阵列的一些层相同的层上。
包含存储器阵列的集成电路通常将该阵列再分为多个子阵列或块。块还可以被一起分组成包括例如16个块、32个块或不同数目的块的隔区(bay)。如经常使用的,子阵列是具有连续的字线和位线的存储单元的连续组,其中,连续的字线和位线通常是未被解码器、驱动器、感测放大器和输入/输出电路隔断的。这样做有多个原因。例如,贯穿字线和位线的由这些线的电阻和电容引起的信号延迟(即,RC延迟)在大阵列中会非常显著。可以通过将较大阵列再分为较小的子阵列的组以使得每个字线和/或每个位线的长度变小,来减小这些RC延迟。作为另一示例,与访问一组存储单元相关联的电源可以规定在给定存储周期期间可以同时访问的存储单元的数目的上限。因此,较大的存储器阵列通常被再分为较小的子阵列以减少同时访问的存储单元的数目。然而,为了描述方便,也可以与子阵列同义地使用阵列,是指具有未被解码器、驱动器、感测放大器和输入/输出电路隔断的连续的字线和位线的存储单元的连续组。集成电路可以包括一个或更多个存储器阵列。除了存储器阵列102之外,控制器130和任何其它部件可被认为是控制电路。
如开始所提到的,当写操作失败时,就存储器设备中使用的处理器周期和传递到存储器设备的数据量而言,最终的输入/输出操作会消耗过度的带宽。例如,一页数据可以包括2KB或4KB的数据。典型地,当写操作失败时,存储器设备在主机轮询(poll)状态时通知外部主机,并且主机通过向存储器设备发布新的写入命令并重新发送该页数据来进行响应。该主机可以在编程之后轮询每一页以查明是否已将每页成功地编程。
具体地,在存储卡或其它介质格式的接口中,一般需要将失败的页写入尝试重新映射到存储器阵列中的另一物理位置。主机一般在编程之后检查状态,并且通过写入新的地址和重新发送该页数据来重新开始写入顺序。这在使用数据高速缓存器完成编程时是特别无效的,这用内部操作覆盖了I/O。
这里提供的技术满足如下需要:向存储器阵列中的另一物理位置重写失败页,同时避免重新输入该页数据的需要。这允许主机/用户输入另一物理地址并且对缓冲到存储器设备中的要写入新的位置的数据进行编程。这可以用于单页中的编程或者使用数据高速缓存器的编程,并且这还可以用于页复制操作(单页的或高速缓存的)。该技术与使用有限词汇的命令代码的存储器系统兼容以避免复杂性,并且该技术源于标准化的和与不同主机设备的兼容性的需要。这显著地减少了用于编程的带宽损失,尤其是使用数据高速缓存模式的编程期间的带宽损失。结果,可以显著地改进写速度性能。
在一个实现方式中,该技术引入了接口协议中的新安装命令。通过使用该命令并且发送新的地址,主机可以对存储器设备进行编程而不需要重新发送驻留在页缓冲器中的该页数据。仅需要对现有编程流进行略微修改。
图2a描绘了在向存储器阵列写入一页数据时的主机与存储器设备之间的通信顺序。在该情境中,在不输入其它数据的情况下重写一页数据,并且该数据不是从存储器阵列中的其它位置复制的。时间线描绘了从主机向存储器设备以及从存储器设备向主机发送的消息的顺序。还提供了由主机监测的存储器设备的就绪/忙(READY/BUSY)线的状态。当状态是就绪时,主机可以与存储器设备进行通信,以使得请求先前的写操作的状态或向存储器设备提供用户数据和地址。当状态是忙时,为了除检查设备的就绪/忙状态或重置设备之外的任何需求,主机必须等待以与存储器设备进行通信。
此外,时间点t0,t1,t2…在时间上不是均等间隔的,并且是为了描绘事件的顺序。在一些实现方式中,引入了页缓冲器编程命令(8Dh)以在对页的写入处理失败时节省I/O时间。当发生写入失败时,主机尝试向存储器阵列中的另一物理位置(诸如另一字线)重写相同页,或向具有多页的字线写入另一页。使用此新的命令可以完成从页缓冲器到存储器中另一页的写入。主机与存储器设备之间通信的用户数据是以页为单位的;即,一次一页或多页。
注意,提到了示例性命令代码(例如,8Dh、10h、70h),其适用于包括SMARTMEDIA(智能介质)非易失性存储卡的特定实现方式。但是,提供这些命令代码仅用作示例,而本申请的构思普遍适用于不同的介质格式和协议。
在单页编程处理中,在t0将数据输入命令(80h)从主机提供到存储器设备,之后在时间t1提供地址N,并且在时间t2提供要写入的一页或多页用户数据(数据X)。存储器设备将地址N保存在工作存储器中并且将数据X存储在数据高速缓存器113中(图1)。主机在时间t3提供写入命令(10h)。命令10h指示当前页之后没有另一页数据。作为响应,存储器设备将数据X复制到页缓冲器111(图1),然后开始写操作以将数据X写入存储器阵列的地址N。可想象到可以在数据高速缓存器与存储器阵列之间设置直接路径,使得数据可以直接从高速缓存器写入存储器阵列而不需要被复制到页缓冲器,或者数据可以直接从存储器阵列读出到高速缓存器而不经过页缓冲器。参照图6-8以获取更多信息。通常,由存储器设备自动地执行写处理而不从主机接收用于执行写入命令的其它指令。也就是说,存储器设备独立于主机来执行写入。
同时,设置忙状态。在t4,响应于主机提供状态请求命令(70h),设置就绪状态。具体地,当就绪/忙信号上升以指示就绪状态时,主机轮询存储器设备的状态。例如,在t5,存储器设备以状态失败消息进行响应。
作为响应,主机在t6提供命令(8Dh),该命令通知存储器设备:对于写入处理已经失败的数据进行重写尝试,以及随后是用于执行该重写的地址。在t7主机提供新的地址N’,之后在t8是写入命令(10h)。因此,分别在t3和t8提供第一写入命令代码的第一实例和第二实例。但是,由于t6处的第二命令代码的实例先于t8处的实例,因此存储器设备会理解将t8处的实例解释为与t3处的实例不同。
可选地,在t7.1,主机传达数据X的修改数据,该修改数据被称为数据X’。例如,数据X’可以包括用于替换位于页缓冲器中的数据X的字节的数据的一些字节。因此,可以在将数据重写到存储器阵列之前适当地修改页缓冲器数据。这在不同的情境中会很有用,诸如当页数据取决于其要写入的存储器阵列的地址时。地址N’可以包括标识要被数据X’替换的数据X的部分的字节、以及标识存储器阵列地址N’的字节。8Dh写入命令被解释为将数据X’直接写入页缓冲器。
在t8,存储器设备尝试向由地址N’指定的存储器阵列中的位置写入数据X,可选地如被X’修改的(标记为X(X’)),并且设置忙状态。具体地,当就绪/忙信号下降以指示忙状态时,发生写操作。在t9,响应于主机提供状态请求命令(70h)的第二实例,设置就绪状态。具体地,当就绪/忙信号上升以指示就绪状态时,主机轮询存储器设备的状态。例如,在t10,存储器设备以状态通过消息进行响应。
图2b-c描绘了对应于图2a的顺序的、数据在数据高速缓存器、页缓冲器和存储器阵列中的移动。在图2b,由主机136发送的数据X在t2被存储在数据高速缓存器113中。在图2c,在基于t3处的写入命令的写入处理期间,数据X从数据高速缓存器113传递到页缓冲器111,并且做出失败的尝试以将数据X从页缓冲器111写入存储器阵列102的地址N。在图2d,在基于t8处的写入命令的重写处理期间,数据X从页缓冲器111写入存储器阵列102的地址N’,结果是成功的。可选地,如所提到的,主机136可以将数据X’直接提供给页缓冲器111以替换数据X的一部分,从而提供被写入到存储器阵列102的地址N’的修改的数据X(X’)。参照图6-8,进一步获得提供直接的主机到页缓冲器通信能力的电路的细节。
图2e描绘了对应于图2a的顺序的处理。步骤250包括向存储器设备输入用户数据、第一地址和写入命令。步骤252包括尝试使用第一地址写入数据。判定步骤254确定写入尝试是否通过。如果通过,在步骤264结束处理。步骤256包括通知主机没有通过写入尝试。步骤257包括输入重写命令和第二地址。步骤258可选地包括输入替换字节以修改页缓冲器中的数据。步骤259输入写入命令。步骤260包括尝试使用第二地址写入。步骤262向主机指示重写尝试已经通过。在步骤264结束处理。
图2f描绘了对应于图2e的处理的主机侧的处理。步骤270包括向存储器设备发送用户数据、第一地址和写入命令。步骤272包括接收写入尝试已经失败的通知。步骤273包括发送重写命令和第二地址。步骤274可选地包括发送替换字节以修改页缓冲器中的数据。步骤275发送写入命令。步骤276包括接收写入尝试已经通过的通知。在步骤278结束处理。
图3a描绘了在向存储器阵列写入一页数据同时在数据高速缓存器中接收另一页数据时的主机与存储器设备之间的通信顺序。该顺序允许在用于更早数据的写入请求仍在进行中的情况下在存储器设备处接收和存储另一数据。在该高速缓存-编程顺序期间,在针对页写入检测到状态失败之后,可以使用8Dh命令。在此情况下,在编程操作之后,不发生从数据高速缓存器到页缓冲器的复制,就像其是一个成功编程的页一样。可以发布8Dh命令,随后是新的页地址和高速缓存编程命令(例如,15h)。命令15h指示接收到另一页数据并且该另一页数据进入数据高速缓存器,同时当前页正被写入存储器阵列。
在该情况下,页数据被编程到新的地址。为了跳过重新映射,直接恢复高速缓存顺序。为了恢复高速缓存顺序,重新发布用于随后页的80h命令和页地址。注意,在该情况下,80h命令不会自动地设置数据高速缓存器中的字节。在用户开始输入数据之前的没有失败的正常编程操作中,高速缓存器中的所有先前的数据被设置为FF(11111111)。这是因为写入是成功的并且旧的数据已经被存储在存储器中。在失败的情况下,高速缓存器中的数据是仍要编程的数据。我们想要数据保留在这里并且允许用户/主机决定要修改数据还是要将数据保持在这里。
在t0,将数据输入命令(80h)从主机提供到存储器设备,之后在t1提供地址N,并且在t2提供要写入的用户数据(数据X)。存储器设备将地址N保存在工作存储器中并且将数据X存储在数据高速缓存器113中(图1)。主机在t3提供写入命令(15h),假定写入的任何先前页都已经被成功写入。作为响应,存储器设备开始写操作以将数据X写入存储器阵列的地址N。注意,这可以与主机和存储器设备之间的其它通信同时发生。
在t3,设置忙状态。在t4,响应于主机提供数据输入命令,设置就绪状态,之后在t5设置地址M,在t6设置数据Y。数据Y存储在数据高速缓存器中。因此,将另一数据输入到存储器设备,同时针对数据X进行写入尝试。这提供了带宽的有效利用。在t7提供用于写入数据Y的写入命令,但是该命令的实现必须等待,直到先前的数据被成功写入为止。该写入命令稍后被t16处的针对Y’的写入命令取代。主机等待就绪信号。在t8,响应于主机轮询存储器设备以获取数据X写入尝试的状态,设置就绪状态。例如,在t9,存储器设备以状态失败消息进行响应。没有从数据高速缓存器到页缓冲器的数据复制,否则将会覆盖(override)失败的页的数据。存储器停止并等待8D命令或者80命令,8D命令重新试着对页缓冲器中的数据进行编程,80命令忽略失败,覆盖页缓冲器(其包括失败的页)中的数据并且将数据从数据高速缓存器复制到页缓冲器以重新开始高速缓存操作。
响应于t9处的状态失败通信,主机在t10提供命令(8Dh),该命令通知存储器设备:对于写入处理已经失败的数据做出重写尝试,以及随后是用于执行该重写的地址。主机在t11提供新的地址N’,随后在t12提供写入命令(15h)。
可选地,在t11.1,主机传送数据X的修改数据,该修改数据被称为数据X’,如所讨论的,以对页缓冲器中的数据X的部分进行修改。在将页缓冲器数据写入存储器阵列之前,可以适当地对其进行修改。地址N’可以包括标识要被数据X’替换的数据X的部分的字节、以及标识存储器阵列地址N’的字节。
在t12将就绪/忙信号设置为忙,然后在t13设置为就绪。此外,由于t10处的命令在t12处的写入命令之前,因此存储器设备理解t12处的写入命令将被解释为来自页缓冲器的重写。在t12处尝试将数据X或X(X’)写入地址N’。
在这一点上,主机知道需要由存储器设备来执行重写尝试。主机可以选择提供存储在存储器设备中的修改的数据Y’,以代替先前发送的数据Y。此外,可以选择用于存储数据Y’的新的地址M’。例如,可以基于要进行尝试重写的新地址M’来修改数据Y。数据Y可以包括涉及存储器阵列中数据X的位置的信息,在该情况下可以基于数据X的新位置来修改数据Y。例如,数据Y可以包含指向数据x的地址的数据。需要修改该数据。虽然可能不会这样,但是其也是可能的。此外,响应于页失败,在随后的页写入中会需要不同的数据(失败的页也会需要不同的数据)。这样的示例是“链接列表”结构,其中页被布置在链中,尽管它们的物理地址不是连续的。相反地,每页包含其前导(predecessor)的地址,因此软件或固件可以追踪整个链。在数据X的位置从N改变到N’的情况下,数据Y必须更新用于X的地址的部分,从N更新到N’。如果没有修改数据Y,则可以将其保留在数据高速缓存器中。
主机可以选择在t13提供数据输入命令,随后在t14提供修改的地址M’,在t15提供修改的数据Y’,在t16提供用于数据Y’的新的写入命令,并且就绪忙信号变为忙。当在t9接收到状态失败时,主机可以开始将数据Y修改为数据Y’。但是,为了效率,当主机发布8Dh命令、地址N’和数据X’,并且然后在其开始修改数据Y之前发布下一条10h/15h命令时,于是可以与写入数据X或X(X’)并行地完成对数据Y的修改。如果主机不打算修改数据Y,则可以跳过数据周期。此外,即使用户不打算改变地址M,也仍然需要地址周期:在该情况下,主机重新输入地址M。
该写入命令等待被执行,这是因为还没有确认数据X的写入。在t17,地址N’处的数据X或X(X’)成功地完成编程,就绪/忙信号上升以指示就绪状态,并且主机轮询存储器设备的状态。在t18存储器设备使用状态通过消息来响应用于数据X或X(X’)的写入状态。随后,在地址M’处将数据Y’写入存储器阵列。
主机可以针对要写入存储器阵列的下一页数据发布另一数据输入命令(未示出),并且高速缓存写入处理继续进行。
注意,如果主机选择忽略t9处的失败通知,则可以跳过t10处的重写命令。在该情况下,在t16发布15h命令之后,会发生从数据高速缓存器到页缓冲器的复制。
图3b-h描绘了对应于图3a的顺序的、数据在数据高速缓存器、页缓冲器和存储器阵列中的移动。在图3b,在t2处由主机136发送数据X并将数据X存储到数据高速缓存器113。在图3c,在基于t3处的写入命令的写入处理期间,数据X从数据高速缓存器113传递到页缓冲器111,并且开始将数据X从页缓冲器111写入存储器阵列102的地址N。在图3d,在写入处理期间,在t6处在高速缓存器处接收数据Y,并且针对数据X的写入尝试失败。在图3e,数据Y位于数据高速缓存器中,而数据X位于页缓冲器中(t8)。在图3f,基于t12处的写入命令,在地址N’处开始重写数据X。可选地,如所提到的,主机136可以直接将数据X’提供给页缓冲器111以替换数据X的一部分,从而提供修改的数据X(X’),该数据X(X’)被写入到存储器阵列102的地址N’。在图3g,重写处理继续进行,并且尝试通过。此外,同时,修改的数据Y’在t15被存储到数据高速缓存器。在图3h,将数据Y’从数据高速缓存器传递到页缓冲器(在t18之后,未示出)。
图3i描绘了对应于图3a的顺序的处理。步骤350包括向存储器设备输入第一用户数据、第一地址和写入命令。步骤352包括尝试使用第一地址写入第一数据。步骤354包括向存储器设备输入第二数据、第二地址和写入命令。判定步骤356确定第一数据的写入尝试是否通过。如果已经通过,则由于我们继续数据高速缓存流程而在步骤370处理继续。步骤358包括向主机通知第一数据的写入尝试未通过。
步骤360包括输入重写命令和第三地址。步骤362可选地包括发送替换字节以修改页缓冲器中的第一数据(X)。步骤363输入写入命令。步骤364包括尝试使用第三地址写入(可选地修改的)第一数据。回想主机此时可以修改第二数据以提供数据Y’。如果用户选择这样做,则可以跳过步骤362-364。步骤366包括向存储器设备输入修改的第二数据(例如,仅有少数字节可以被修改)、第四地址和写入命令。步骤368包括向主机通知第一数据的重写尝试已经通过。在步骤366之后,主机等待就绪/忙信号,该就绪/忙信号保持为低(忙),直到数据X或X(X’)的编程完成为止。处理在步骤370处继续进行。
图4a描绘了在向存储器阵列写入一页数据时的主机与存储器设备之间的通信顺序,其中该页是从存储器阵列复制的。该顺序允许数据从存储器阵列复制、可选地被修改、并且被写回该存储器阵列。在页复制顺序期间,状态失败之后可以是8Dh命令,并且还可以有新的页地址和编程命令(例如,10h)。结果是将同一页数据编程到新的页位置。
响应于读取地址N处的数据X,在t0将读取数据输入命令(00h)从主机提供至存储器设备,之后在t1提供地址N并且在t2提供读取命令(30h)。在t2,就绪/忙信号变为忙,并且地址N处的一页数据载入页缓冲器,然后被复制到高速缓存器中。当就绪/忙信号变为就绪时,在t3数据X从数据高速缓存器输出到主机。可以切换(toggle out)数据X。
主机具有在数据X被复制/写回到存储器阵列之前修改数据X的选择。在t4,主机提供复制数据输入命令(8Ch),之后在t5提供地址M,在t6提供修改的数据,即数据X’。响应于t7处的写入命令(10h),做出尝试以在地址M处写入数据X’。具体地,在t7,就绪/忙信号变为忙,并且将数据X’从数据高速缓存器复制到页缓冲器,然后写入到由存储器阵列中的M指定的物理位置。在t8,就绪/忙信号上升以指示就绪状态,并且主机轮询存储器设备的状态。例如,在t9,存储器设备以状态失败消息来响应数据X’的写入状态。
响应于状态失败通信,主机在t10提供命令(8Dh),该命令通知存储器设备:对于写入处理已经失败的数据做出重写尝试(该数据仍然在页缓冲器中),以及随后是用于执行该重写的地址。主机在t11提供新地址M’,随后在t12提供写入命令(10h)。此外,由于t10处的命令在t12处的写入命令之前,因此存储器设备会理解t12处的写入命令将被解释为来自页缓冲器的重写。可选地,在t11.1,主机传送数据X’的修改数据,该修改数据被称为数据X”,如所讨论的,对页缓冲器中的数据X’的部分进行修改。因此,在将页缓冲器数据重写到存储器阵列之前,可以适当地对其进行修改。地址M’可以包括标识要被数据X’替换的数据X的部分的字节、以及标识存储器阵列地址M’的字节。
在t12,就绪/忙信号变为忙,页缓冲器中的数据X’或X’(X”)成功地写入到由M’指定的存储器阵列中的物理位置。在t13,响应于主机提供状态请求命令,其中该主机与到地址M’的数据X’或X’(X”)的尝试写入有关,就绪/忙信号上升以指示就绪状态。在t14存储器设备向主机提供状态通过消息。
图4b-f描绘了对应于图4a的顺序的、数据在数据高速缓存器、页缓冲器和存储器阵列中的移动。在图4b,基于t2处的读取命令,读取数据X。将数据X从存储器阵列载入页缓冲器,并且从页缓冲器载入到数据高速缓存器。在图4c,在t3数据X输出到主机136。数据X的副本可以保留在页缓冲器111中。在图4d,在t6由数据高速缓存器接收修改的数据,即数据X’。在图4e,响应于t7处的写入命令,数据X’被复制到页缓冲器,并且做出在地址M处将数据X’写入存储器阵列的尝试,该尝试是失败的。在图4f,响应于t12处的写入命令,在替选的地址M’处将数据X’成功写入存储器阵列。可选地,如所提到的,主机136可以直接向页缓冲器111提供数据X”以代替数据X’的一部分,从而提供修改的数据X’(X”),数据X’(X”)被写入到存储器阵列102的地址M’。
图4g描绘了对应于图4a的顺序的处理。步骤450包括向存储器设备输入第一读取地址和读取命令。步骤452包括在第一读取地址处读取第一数据并且向主机输出该数据。在步骤454,主机可选地修改第一数据。步骤456包括向存储器设备输入第一写入地址、修改的数据和写入命令。步骤458包括尝试使用第一写入地址写入修改的数据。在判定步骤460,如果尝试写入通过,则在步骤468处理结束。
在判定步骤460,如果尝试写入未通过,则在步骤462通知主机。步骤463包括输入重写命令和第二写入地址。步骤464可选地包括发送替换字节以进一步修改页缓冲器中的修改的数据(X’)。步骤465输入写入命令。步骤466包括尝试使用第二写入地址写入(可选地进一步修改的)修改的数据X’或X’(X”)。在步骤468处理结束。
图5a描绘了在向存储器阵列写入一页数据(其中该页是从存储器阵列中复制的)同时在数据高速缓存器中接收另一页数据时的主机与存储器设备之间的通信顺序的第一部分。该顺序允许数据从存储器阵列复制、可选地被修改、并且被写回该存储器阵列,同时还接收其它数据。
在使用数据高速缓存顺序的页复制中,如果页编程失败,则类似于高速缓存编程的情况,数据高速缓存器中的数据将不会被复制到页缓冲器。在这种情况下,主机可以使用8Dh命令以将失败的页编程到另一地址,或者忽略失败的页以继续该顺序。为了将失败的页编程到另一地址,主机发送8Dh命令,随后是新的页地址和高速缓存编程命令(例如,15h)。为了忽略失败的页,主机直接进行下一步骤以恢复高速缓存复制顺序:8Ch命令,之后是后续页的地址(允许修改)和可能的数据字节修改,然后针对后续页的高速缓存编程命令被输入到存储器设备。
响应于读取地址N处的数据X,在t0处将读取数据输入命令(00h)从主机提供到存储器设备,随后在t1处提供地址N,在t2处提供读取命令(30h)。具体地,在t2,就绪/忙信号变为忙,并且数据X载入页缓冲器,然后被复制到数据高速缓存器中。当就绪/忙信号变为就绪时,在t3数据X输出到主机。主机具有在数据X被复制/写回到存储器阵列之前对其进行修改的选择。在t4,主机提供复制数据输入命令(8Ch),之后在t5提供地址M,在t6提供修改的数据,即数据X’。响应于t7处的写入命令(15h),做出尝试以在地址M处写入数据X’。具体地,就绪/忙信号变为忙,并且将数据X’从数据高速缓存器复制到页缓冲器,然后写入到存储器阵列中的位置M。在t8,就绪/忙信号上升以指示就绪状态,并且主机针对另一数据X1开始另一读操作。做出尝试以将页缓冲器中的数据X’写入阵列中的地址M。
响应于读取地址N1处的数据X1,在t8处将用于要读取的另一页的读取数据输入命令(00h)从主机提供至存储器设备,之后在t9提供地址N1,在t10提供读取命令(3Ah),结果就绪/忙信号变为忙。数据X1被直接载入到数据高速缓存器并且在t11输出到主机,使得数据X’可以保留在页缓冲器中以用于随后的重写尝试。参照图6-8以得到进一步信息。主机可以选择在数据X1被复制/写回到存储器阵列之前对其进行修改。在t12,主机提供复制数据输入命令(8Ch),之后在t13提供新地址M1,在t14提供该修改页的数据,即数据X1’。t15处的在地址M1写入数据X1’的写入命令(15h)必须等待,这是因为之前数据X’到地址M的写入尝试还未完成。该写入命令稍后被在t24处的将X1”写入地址M1’的写入命令所取代。
图5b描绘了图5a的顺序之后的通信顺序的第二部分。响应于主机针对在地址M处写入数据X’的尝试的状态轮询存储器设备,在t16,就绪/忙信号上升以指示就绪状态。例如,在t17,存储器设备以状态失败消息进行响应,该消息标识X’到M的写入失败。由于该写入失败,没有针对数据X1’的从数据高速缓存器到页缓冲器的复制。响应于状态失败通信,在t18处主机提供命令(8Dh),该命令通知存储器设备:对于写入处理已经失败的数据进行重写尝试,该数据仍然在页缓冲器中,以及随后是用于执行该重写的地址。在t19主机提供新地址M’,之后在t20提供写入命令(15h)。此外,存储器设备理解t20处的写入命令将被解释为来自页缓冲器的重写,这是因为t18处的命令先于t20处的写入命令。在t20,就绪/忙信号变为忙,并且页缓冲器中的数据X’开始被写入到存储器阵列。可选地,在t19.1,主机传达数据X’的修改的数据,该修改的数据被称为数据X”,如所讨论的,以对页缓冲器中的数据X’的部分进行修改。因此,我们可以在将页缓冲器数据重写到存储器阵列之前对其进行适当的修改。地址M’可以包括标识要被数据X”替换的数据X’的部分的字节、以及标识存储器阵列地址M’的字节。
在这一点上,修改的数据X1”被提供回存储器设备。主机可以将数据X1’修改为数据X1”。这就在重试开始和存储器就绪之后发生。具体地,在t21提供复制数据输入命令,之后在t22提供新地址M1’,在t23提供数据X1”,在t24提供写入命令。如果主机不打算将数据X1’修改为X1”,则可以跳过数据周期。此外,即使用户不打算修改地址M1,也仍然需要地址周期:在这种情况下,主机重新输入地址M1。
t24处的在地址M1’处写入数据X1”的写入命令必须等待,因为之前的数据X’或X’(X”)的写入尝试还未完成。当为主机提供有关尝试将数据X’或X’(X”)写入到地址M’的状态请求命令时,在t25成功地完成了将数据X’或X’(X”)编程到M’。将数据X1”从数据高速缓存器复制到页缓冲器。在t26处存储器设备将状态通过消息提供给主机,并且顺序继续进行。
注意,如果主机选择忽略t17处的失败通知,则可以跳过t18处的重写命令。在这种情况下,在t20发布15h命令之后,会发生复制(从数据高速缓存器传递到页缓冲器)。
图5c-l描绘了对应于图5a和5b的顺序的、数据在数据高速缓存器、页缓冲器和存储器阵列中的移动。在图5c,从地址N读取数据X包括在t2该数据载入页缓冲器111并且被复制到数据高速缓存器113。在图5d,在t6在数据高速缓存器处从主机136接收修改的数据,即数据X’。在图5e,基于t7处的写入命令,将数据X’从页高速缓存器113提供至页缓冲器111,从而改写数据X。在图5f,还基于t7处的写入命令,做出在地址M处将数据X’从页缓冲器111写入存储器阵列的尝试,该尝试失败。在图5g,基于t8处的读取命令,将数据X1从地址N1处的存储器阵列直接读取到数据高速缓存器113,使得数据X’保留在页缓冲器中用于随后的重写尝试。在图5h,在t11,从数据高速缓存器输出数据X1。
在图5i,在t14,在数据高速缓存器113处接收修改的数据X1’。在图5j,数据X1’位于数据高速缓存器并且数据X’位于页缓冲器。在图5k,基于t20处的写入命令,发生数据X’到地址M’的重写尝试。可选地,如所提到的,主机136可以将数据X”直接提供给页缓冲器111以替换数据X’的一部分,从而提供修改的数据X’(X”),该数据数据X’(X”)被写入存储器阵列102的地址M’。在图5l,在t23,与重写数据X’或X’(X”)同时地,在数据高速缓存器处接收另一数据X1”。因此,有至少部分地重叠操作,其中数据以数据X和数据X1的形式从存储器阵列中读出、被修改并且存储回存储器阵列。
图5m描绘了对应于图5a和5b的顺序的处理。步骤550包括向存储器设备输入第一读取地址和读取命令。步骤552包括在第一读取地址处读取第一数据,并且将其输出到主机。在步骤554,主机可选地修改第一数据以提供X’。步骤556包括向存储器设备输入第一写入地址、第一修改数据和写入命令。步骤558包括尝试在第一写入地址写入第一修改数据。步骤560包括向存储器设备输入第二读取地址和读取命令。步骤562包括在第二读取地址处读取第二数据,并将其输出到主机。在步骤564,主机可选地修改第二数据。步骤566包括向存储器设备输入第二写入地址、第二修改数据和写入命令。步骤568包括向主机通知将第一修改数据写入第一写入地址的尝试失败。步骤569包括输入重写命令并随后输入第三写入地址。步骤570可选地包括发送替换字节以进一步修改页缓冲器中的第一修改数据(X’)。步骤571输入写入命令。步骤572包括尝试在第三写入地址写入(可选地进一步修改)第一修改数据。在步骤574,主机可选地进一步修改第二数据以提供X1’。步骤576包括向存储器设备输入第四写入地址、进一步修改的第二数据和写入命令。在步骤578,第一修改数据到第三写入地址的写入尝试成功,并且在步骤580,相应地通知主机。
如以上讨论所指示的,在页编程失败之后使用8Dh命令。为使用该特征,主机检查每个编程页之后的状态。当在高速缓存操作期间页的编程失败时,停止从数据高速缓存器到页缓冲器的复制。于是主机可以:(a)使用8Dh命令顺序(8Dh->新地址->(可选的)新数据->(高速缓存)编程命令)来重新映射数据缓冲器中的数据,或(b)跳过重新映射并且不做任何事。在任一情况下,主机可以如下继续。首先,在单页模式下,如果选择(a),等待就绪/忙信号以再次到就绪。第二,在高速缓存模式下,重复用于后续页的命令顺序(80h-地址-数据-编程命令)以恢复高速缓存流程。在这种情况下,可以从原始流程修改地址和数据。然后,等待就绪/忙信号以再次到就绪。在该步骤之后,如果选择(a),则主机应该检查状态。如果状态是又一次失败,则类似于上述流程,主机可以选择通过再次使用8Dh命令来选择另一页位置,或者跳过重新映射。可以使用重试限制(允许的重新映射的最大数目)以避免无限循环。
图6描绘了数据高速缓存器620被连接以直接从存储器阵列或主机接收数据的电路600。可以将数据从数据高速缓存器输出到存储器阵列或主机,也可以使用经由“数据输出”路径的适当电路。如前所述,可以将数据直接从存储器阵列载入到数据高速缓存器,绕过页缓冲器,并且输出到主机,使得其它数据可以保留在页缓冲器中以用于后续重写尝试。这还允许主机通过绕过数据高速缓存器并直接访问页缓冲器来修改位于页缓冲器中的失败页。如前所讨论的,这可以使用8Dh命令来实现,8Dh命令后跟有指示用替换字节在页缓冲器中进行修改的数据字节的地址(如通过提供要替换的开始字节的字节地址)以及用于写入修改页缓冲器数据的存储器阵列地址、以及后跟有替换数据字节。
一般地,关于本申请提供的电路,数据高速缓存器可以被直接连接到存储器阵列或主机,从而绕过页缓冲器,并且页缓冲器可以被直接连接到存储器阵列或主机,从而绕过数据高速缓存器。这里提供的实现方式是不同可能方式之中的一种可能方式。
电路的左手侧与存储器阵列接口,而电路的右手侧与主机/用户接口。电路包括数据高速缓存器620、与(AND)门608、610、632和634、反相器606和640、nMOS晶体管613、623、633和643和三态缓冲器612、614、626和630。在缓冲器612的输出处提供输入信号IN,缓冲器612在晶体管613的栅极处与线618连接。在缓冲器614和630的输出处提供反向信号XIN,在晶体管623的栅极处,在线631上,线631与线627连接。晶体管633和643在它们的栅极处在线629上接收信号ENB5,并且分别连接到晶体管613和623。由一个或更多个控制电路提供使能信号。
三态缓冲器具有输出端口,输出端口可以具有传统的0电平和1电平,还具有可以将该缓冲器有效地从电路移除的高阻态或浮动态。线616上的使能信号ENB1控制缓冲器612和614,线628上的使能信号ENB2控制缓冲器626和630。此外,在存储器阵列侧,在线602上提供控制信号C,在线604上提供来自存储器阵列的数据,即数据1。在主机侧,在线636上提供控制信号C,在线638上提供来自用户的数据,即数据2。线618将缓冲器626的输出连接到晶体管613的栅极。线622上的数据XQ是线624上的数据Q的反相数据。数据高速缓存器620和晶体管613和623形成锁存器。
为将数据从存储器阵列写入数据高速缓存器,设置C=1、ENB1=1、ENB2=0和ENB5=1。设置C=1使得与门608将数据1传递到缓冲器612,设置ENB1=1使得缓冲器612传递数据1,设置ENB2=0使得缓冲器626浮置。设置ENB5=1使得将数据写入数据高速缓存器620。
为将数据从主机写入到数据高速缓存器,设置C=1使得与门632将数据2传递送缓冲器626,设置ENB1=0使得缓冲器612浮置,设置ENB2=1使得缓冲器626传递数据2。此外,如前所述,设置ENB5=1。
当通过设置ENB1=0、ENB2=0和ENB5=0向页缓冲器写入时,数据高速缓存器会被禁能。设置ENB5=0阻止到晶体管613和623的浮动输入损坏数据高速缓存器中的数据。
图7描绘了页缓冲器720被连接以直接从存储器阵列或主机接收数据的电路700。可以将数据从页缓冲器输出到存储器阵列或主机,也可以使用经由“数据输出”路径的适当电路。部件702、704、706、708、710、712、713、714、716、718、722、723、724、726、727、728、729、730、731、732、733、734、736、738、740和743分别对应于图6中的部件602、604、606、608、610、612、613、614、616、618、622、623、624、626、627、628、629、630、631、632、633、634、636、638、640和643。此外,由一个或更多个控制电路分别向缓冲器712/714和726/730提供使能信号ENB3和ENB4,并且在线729上提供ENB6。页缓冲器720和晶体管713和723形成锁存器。
为将数据从存储器阵列写入到页缓冲器,设置D=1使得与门708将数据1传递到缓冲器712,设置ENB3=1使得缓冲器712传递数据1,设置ENB4=0使得缓冲器726浮置。此外,设置ENB6=1使得将数据写入页缓冲器720。
为将数据从主机写入到页缓冲器,设置D=1使得与门732将数据2传递到缓冲器726,设置ENB3=0使得缓冲器712浮置,设置ENB4=1使得缓冲器726传递数据2。此外,如前所述,设置ENB6=1。
当通过设置ENB3=0、ENB4=0和ENB6=0向数据高速缓存器写入时,页缓冲器会被禁能。设置ENB6=0阻止到晶体管713和723的浮动输入破坏页缓冲器中的数据。
图8描绘了图6和7的电路提供的功能。页缓冲器111和主机136可以直接交换数据,同时页缓冲器111还可以直接与存储器阵列通信。页缓冲器和数据高速缓存器113还可以通信。此外,数据高速缓存器113和存储器阵列102可以直接交换数据,同时数据高速缓存器113还可以与主机136通信。如所提到的,这使得具有独立地向数据高速缓存器和页缓冲器写入数据或者从数据高速缓存器和页缓冲器读出数据的能力。
为了说明和描述的目的,已经呈现了本发明的以上详细描述。其不是用来将本发明穷举或限制到所公开的精确形式。在上述教导的启示下,许多修改和改变是可能的。选择所述的实施例,以更好地解释本发明的原理及其实际应用,由此使得本领域技术人员能够以各种实施例和使用适合于想到的具体用途的各种修改最佳地利用本发明。本发明的保护范围由所附的权利要求来限定。
Claims (15)
1.一种用于操作存储器设备的方法,包括:
在存储器设备(100)处,从外部主机(136)接收至少一页数据(X)和第一地址(N);
将所述至少一页数据存储在所述存储器设备的页缓冲器(111)中;
尝试在由所述第一地址指定的位置处将来自所述页缓冲器的所述至少一页数据写入所述存储器设备的存储器阵列(102)中;
确定写入所述至少一页数据的所述尝试不成功;
向所述外部主机通知写入所述至少一页数据的所述尝试不成功;
在所述存储器设备处,从所述外部主机接收第二地址(N’);以及
尝试在由所述第二地址指定的位置处将来自所述页缓冲器的所述至少一页数据写入所述存储器阵列,而不用所述外部主机向所述存储器设备重新发送所述至少一页数据。
2.根据权利要求1所述的方法,还包括:
在所述存储器设备处,从所述外部主机接收替换字节;
接收要被所述替换字节替换的所述页缓冲器中的所述至少一页数据的部分的指示;以及
当尝试在由所述第二地址指定的所述位置处将来自所述页缓冲器的所述至少一页数据写入所述存储器阵列之前,基于所述指示,用所述替换字节来替换所述页缓冲器中的所述至少一页数据的所述部分。
3.根据权利要求1或2所述的方法,其中:
响应于从所述外部主机接收初始写入命令,进行在由所述第一地址指定的所述位置处将来自所述页缓冲器的所述至少一页数据写入所述存储器阵列的所述尝试;以及
响应于从所述外部主机接收后跟有所述第二地址(N’)、后跟有另一写入命令的页缓冲器编程命令,进行在由所述第二地址指定的所述位置处将来自所述页缓冲器的所述至少一页数据写入所述存储器阵列而不用所述主机向所述存储器设备重新发送所述至少一页数据的所述尝试,其中,所述页缓冲器编程命令通知所述存储器设备:要使用所述页缓冲器中的数据来执行重写尝试,以及在所述页缓冲器编程命令之后的是要用来进行所述重写尝试的地址。
4.根据权利要求1至3中任一项所述的方法,其中:
所述存储器设备自动地尝试在由所述第二地址指定的所述位置处将来自所述页缓冲器的所述至少一页数据写入所述存储器阵列,而不用来自所述外部主机的进一步指令。
5.根据权利要求1至4中任一项所述的方法,还包括:
将所述至少一页数据存储在所述存储器设备的数据高速缓存器(113)中;
将所述至少一页数据存储在所述页缓冲器中包括将来自所述数据高速缓存器的所述至少一页数据传递到所述页缓冲器,响应于从所述外部主机接收初始写入命令而执行所述传递,并且响应于接收所述初始写入命令,进行在由所述第一地址指定的所述位置处将来自所述页缓冲器的所述至少一页数据写入所述存储器阵列的所述尝试。
6.根据权利要求1至5中任一项所述的方法,其中:
响应于从所述外部主机接收第一命令代码的第一实例,进行在由所述第一地址指定的所述位置处将来自所述页缓冲器的所述至少一页数据写入所述存储器阵列的所述尝试,所述第一命令代码的第一实例通知所述存储器设备执行写入处理;以及
响应于从所述外部主机接收后跟有所述第二地址、后跟有所述第一命令代码的第二实例的第二命令代码的实例,进行在由所述第二地址指定的所述位置处将来自所述页缓冲器的所述至少一页数据写入所述存储器阵列的所述尝试,其中,所述第二命令代码的所述实例向所述存储器设备通知:正使用所述页缓冲器中的数据为重写尝试提供新地址,并且所述第一命令代码的所述第二实例通知所述存储器设备执行所述写入处理。
7.根据权利要求1至6中任一项所述的方法,还包括:
从所述外部主机接收至少一个附加页数据,并且在将来自所述页缓冲器的所述至少一页数据写入由所述第一地址指定的所述存储器阵列中的所述位置的所述尝试期间,将所述至少一页数据存储在所述存储器设备的数据高速缓存器中。
8.根据权利要求1至7中任一项所述的方法,还包括:
在将来自所述页缓冲器的所述至少一页数据写入由所述第二地址指定的所述存储器阵列中的所述位置的所述尝试期间:从所述外部主机接收所述至少一个附加页数据,并且将所述至少一个附加页数据存储在所述数据高速缓存器中。
9.根据权利要求1至8中任一项所述的方法,其中:
所述至少一页数据包括基于所述第二地址从所述存储器阵列中读出的、在被所述存储器设备接收之前存储器阵列由所述外部主机修改的数据。
10.一种存储器设备,包括:
用于在所述存储器设备(100)处从外部主机(136)接收至少一页数据(X)和第一地址(N)的装置;
用于将所述至少一页数据存储在所述存储器设备的页缓冲器(111)中的装置;
用于尝试在由所述第一地址指定的位置处将来自所述页缓冲器的所述至少一页数据写入所述存储器设备的存储器阵列(102)中的装置;
用于确定写入所述至少一页数据的所述尝试不成功的装置;
用于向所述外部主机通知写入所述至少一页数据的所述尝试不成功的装置;
用于在所述存储器设备处从所述外部主机接收第二地址(N’)的装置;以及
用于尝试在由所述第二地址指定的位置处将来自所述页缓冲器的所述至少一页数据写入所述存储器阵列中而不用所述外部主机向所述存储器设备重新发送所述至少一页数据的装置。
11.根据权利要求10所述的存储器设备,还包括:
用于在所述存储器设备处从所述外部主机接收替换字节的装置;
用于接收要被所述替换字节替换的所述页缓冲器中的所述至少一页数据的部分的指示的装置;以及
用于当在由所述第二地址指定的所述位置处将来自所述页缓冲器的所述至少一页数据写入所述存储器阵列的所述尝试之前,基于所述指示,用所述替换字节来替换所述页缓冲器中的所述至少一页数据的所述部分的装置。
12.根据权利要求10或11所述的存储器设备,其中:
响应于从所述外部主机接收初始写入命令,进行在由所述第一地址指定的所述位置处将来自所述页缓冲器的所述至少一页数据写入所述存储器阵列的所述尝试;以及
响应于从所述外部主机接收后跟有所述第二地址(N’)、后跟有另一写入命令的页缓冲器编程命令,进行在由所述第二地址指定的所述位置处将来自所述页缓冲器的所述至少一页数据写入所述存储器阵列而不用所述主机向所述存储器设备重新发送所述至少一页数据的所述尝试,其中,所述页缓冲器编程命令向所述存储器设备通知:要使用所述页缓冲器中的数据来执行重写尝试、以及在所述页缓冲器编程命令之后的是要用来进行所述重写尝试的地址。
13.根据权利要求10至12中任一项所述的存储器设备,其中:
所述存储器设备自动地尝试在由所述第二地址指定的所述位置处将来自所述页缓冲器的所述至少一页数据写入所述存储器阵列,而不用来自所述外部主机的进一步指令。
14.根据权利要求10至13中任一项所述的存储器设备,还包括:
用于将所述至少一页数据存储在所述存储器设备的数据高速缓存器(113)中的装置;
其中,将所述至少一页数据存储在所述页缓冲器中包括将来自所述数据高速缓存器的所述至少一页数据传递到所述页缓冲器,响应于从所述外部主机接收初始写入命令而执行所述传递,并且响应于接收所述初始写入命令,进行在由所述第一地址指定的所述位置处将来自所述页缓冲器的所述至少一页数据写入所述存储器阵列的所述尝试。
15.根据权利要求10至14中任一项所述的存储器设备,其中:
响应于从所述外部主机接收第一命令代码的第一实例,进行在由所述第一地址指定的所述位置处将来自所述页缓冲器的所述至少一页数据写入所述存储器阵列的所述尝试,其中,所述第一命令代码的第一实例通知所述存储器设备执行写入处理;以及
响应于从所述外部主机接收后跟有所述第二地址、后跟有所述第一命令代码的第二实例的第二命令代码的实例,进行在由所述第二地址指定的所述位置处将来自所述页缓冲器的所述至少一页数据写入所述存储器阵列的所述尝试,其中,所述第二命令代码的所述实例向所述存储器设备通知:正使用所述页缓冲器中的数据为重写尝试提供新地址,并且所述第一命令代码的所述第二实例通知所述存储器设备执行所述写入处理。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10850708P | 2008-10-25 | 2008-10-25 | |
US61/108,507 | 2008-10-25 | ||
US12/414,925 US8397024B2 (en) | 2008-10-25 | 2009-03-31 | Page buffer program command and methods to reprogram pages without re-inputting data to a memory device |
US12/414,925 | 2009-03-31 | ||
PCT/US2009/057992 WO2010047911A1 (en) | 2008-10-25 | 2009-09-23 | Page buffer program command and methods to reprogram pages without re-inputting data to a memory device |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102203873A true CN102203873A (zh) | 2011-09-28 |
CN102203873B CN102203873B (zh) | 2014-07-09 |
Family
ID=42118598
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200980142194.6A Active CN102203873B (zh) | 2008-10-25 | 2009-09-23 | 重编程页而不向存储器设备重输数据的页缓冲器编程命令和方法 |
Country Status (7)
Country | Link |
---|---|
US (2) | US8397024B2 (zh) |
EP (1) | EP2351040B1 (zh) |
JP (1) | JP5547741B2 (zh) |
KR (1) | KR101579555B1 (zh) |
CN (1) | CN102203873B (zh) |
TW (1) | TW201027557A (zh) |
WO (1) | WO2010047911A1 (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106205702A (zh) * | 2015-05-26 | 2016-12-07 | 桑迪士克科技有限责任公司 | 对编程故障自动响应的非易失性存储装置 |
CN108536475A (zh) * | 2017-12-27 | 2018-09-14 | 贵阳忆芯科技有限公司 | 完整编程命令处理方法与装置 |
CN108806758A (zh) * | 2013-01-14 | 2018-11-13 | 美光科技公司 | 存储器装置及验证数据路径完整性的方法 |
CN108958647A (zh) * | 2017-05-17 | 2018-12-07 | 旺宏电子股份有限公司 | 存储器装置的边读边写访问方法 |
CN109219850A (zh) * | 2016-04-28 | 2019-01-15 | 艾沃思宾技术公司 | 存储器中的延迟回写 |
CN110718246A (zh) * | 2018-07-13 | 2020-01-21 | 爱思开海力士有限公司 | 存储器装置 |
CN111273858A (zh) * | 2018-12-05 | 2020-06-12 | 三星电子株式会社 | 开放通道固态驱动器以及非易失性存储器系统 |
CN111383688A (zh) * | 2018-12-28 | 2020-07-07 | 美光科技公司 | 用于写入缓冲器的缓冲器复位命令的设备和方法 |
Families Citing this family (40)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8694714B2 (en) * | 2008-01-18 | 2014-04-08 | Spansion Llc | Retargeting of a write operation retry in the event of a write operation failure |
US8397024B2 (en) | 2008-10-25 | 2013-03-12 | Sandisk 3D Llc | Page buffer program command and methods to reprogram pages without re-inputting data to a memory device |
US8386736B2 (en) | 2008-12-18 | 2013-02-26 | Spansion Llc | Rapid memory buffer write storage system and method |
EP2273373A1 (en) * | 2009-07-02 | 2011-01-12 | Vodafone Holding GmbH | Storing of frequently modified data in an IC card |
KR20110119406A (ko) * | 2010-04-27 | 2011-11-02 | 삼성전자주식회사 | 동작 모드 전환기능을 갖는 불휘발성 반도체 메모리 장치 및 동작 모드 전환방법 |
EP2601559B1 (de) * | 2010-08-03 | 2016-01-20 | Continental Teves AG & Co. oHG | Dreistufige speicheranordnung |
KR102154296B1 (ko) | 2012-12-18 | 2020-09-14 | 삼성전자 주식회사 | 저항체를 이용한 비휘발성 메모리 장치의 구동 방법 및 비휘발성 메모리 장치 |
US9053810B2 (en) | 2013-03-08 | 2015-06-09 | Sandisk Technologies Inc. | Defect or program disturb detection with full data recovery capability |
US8947944B2 (en) | 2013-03-15 | 2015-02-03 | Sandisk 3D Llc | Program cycle skip evaluation before write operations in non-volatile memory |
US8947972B2 (en) | 2013-03-15 | 2015-02-03 | Sandisk 3D Llc | Dynamic address grouping for parallel programming in non-volatile memory |
US9710226B1 (en) | 2013-07-16 | 2017-07-18 | Rambus Inc. | Unsuccessful write retry buffer |
KR102163872B1 (ko) | 2013-08-09 | 2020-10-13 | 삼성전자 주식회사 | 멀티 비트 메모리 장치, 그것의 온칩 버퍼 프로그램 방법 및 멀티 비트 메모리 시스템 |
CN104423888B (zh) * | 2013-08-23 | 2017-10-03 | 群联电子股份有限公司 | 数据写入方法、存储器控制电路单元与存储器存储装置 |
TWI498899B (zh) * | 2013-08-23 | 2015-09-01 | Phison Electronics Corp | 資料寫入方法、記憶體控制電路單元與記憶體儲存裝置 |
US9026699B2 (en) | 2013-09-23 | 2015-05-05 | Seagate Technology Llc | Command execution using existing address information |
US9711225B2 (en) | 2013-10-16 | 2017-07-18 | Sandisk Technologies Llc | Regrouping and skipping cycles in non-volatile memory |
US9218282B2 (en) * | 2013-10-31 | 2015-12-22 | Micron Technology, Inc. | Memory system data management |
JP2015176309A (ja) | 2014-03-14 | 2015-10-05 | 株式会社東芝 | 半導体記憶装置 |
US9418751B1 (en) | 2015-01-23 | 2016-08-16 | Sandisk Technologies Llc | Pre-program detection of threshold voltages of select gate transistors in a memory device |
KR102438552B1 (ko) * | 2015-02-04 | 2022-09-01 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 그 동작방법 |
US9564215B2 (en) | 2015-02-11 | 2017-02-07 | Sandisk Technologies Llc | Independent sense amplifier addressing and quota sharing in non-volatile memory |
US9880783B2 (en) | 2015-10-28 | 2018-01-30 | Sandisk Technologies Llc | System and method for utilization of a shadow data buffer in a host where the shadow data buffer is controlled by external storage controller |
US10284232B2 (en) * | 2015-10-28 | 2019-05-07 | Pure Storage, Inc. | Dynamic error processing in a storage device |
US20170123991A1 (en) * | 2015-10-28 | 2017-05-04 | Sandisk Technologies Inc. | System and method for utilization of a data buffer in a storage device |
CN106973073A (zh) * | 2016-01-13 | 2017-07-21 | 杭州海康威视系统技术有限公司 | 多媒体数据的传输方法及设备 |
KR102565918B1 (ko) * | 2016-02-24 | 2023-08-11 | 에스케이하이닉스 주식회사 | 데이터 저장 장치 및 그것의 동작방법 |
KR20180044635A (ko) | 2016-10-24 | 2018-05-03 | 삼성전자주식회사 | 저장 시스템 및 그것의 동작 방법 |
US10019332B1 (en) | 2017-03-10 | 2018-07-10 | Western Digital Technologies, Inc. | Non-volatile memory with program failure recovery |
TWI615711B (zh) * | 2017-03-28 | 2018-02-21 | 群聯電子股份有限公司 | 資料寫入方法、記憶體控制電路單元與記憶體儲存裝置 |
JP2019045910A (ja) * | 2017-08-29 | 2019-03-22 | 東芝メモリ株式会社 | 半導体記憶装置 |
DE102018126051A1 (de) | 2018-01-12 | 2019-07-18 | Taiwan Semiconductor Manufacturing Co. Ltd. | Neuartige Speichervorrichtung |
US10643722B2 (en) | 2018-01-12 | 2020-05-05 | Taiwan Semiconductor Manufacturing Co., Ltd. | Memory device |
KR20200010933A (ko) | 2018-07-23 | 2020-01-31 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 그것의 동작방법 |
KR20200023758A (ko) * | 2018-08-27 | 2020-03-06 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 그것의 동작방법 |
US11354058B2 (en) | 2018-09-06 | 2022-06-07 | Pure Storage, Inc. | Local relocation of data stored at a storage device of a storage system |
KR20200120113A (ko) * | 2019-04-11 | 2020-10-21 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 그것의 동작방법 |
KR20210017264A (ko) | 2019-08-07 | 2021-02-17 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 그것의 동작방법 |
JP7458740B2 (ja) * | 2019-10-21 | 2024-04-01 | キオクシア株式会社 | メモリシステム及び制御方法 |
KR20210077443A (ko) * | 2019-12-17 | 2021-06-25 | 에스케이하이닉스 주식회사 | 메모리 장치 및 그 동작 방법 |
US20220238175A1 (en) * | 2021-01-28 | 2022-07-28 | Micron Technology, Inc. | Bit retiring to mitigate bit errors |
Family Cites Families (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5418940A (en) * | 1993-08-04 | 1995-05-23 | International Business Machines Corporation | Method and means for detecting partial page writes and avoiding initializing new pages on DASD in a transaction management system environment |
US5825782A (en) | 1996-01-22 | 1998-10-20 | Micron Technology, Inc. | Non-volatile memory system including apparatus for testing memory elements by writing and verifying data patterns |
US6070229A (en) | 1997-12-02 | 2000-05-30 | Sandcraft, Inc. | Cache memory cell with a pre-programmed state |
US6333871B1 (en) | 1998-02-16 | 2001-12-25 | Hitachi, Ltd. | Nonvolatile semiconductor memory including a controller for providing an improved reprogram operation |
JP3883687B2 (ja) * | 1998-02-16 | 2007-02-21 | 株式会社ルネサステクノロジ | 半導体装置、メモリカード及びデータ処理システム |
US6034882A (en) * | 1998-11-16 | 2000-03-07 | Matrix Semiconductor, Inc. | Vertically stacked field programmable nonvolatile memory and method of fabrication |
JP4031190B2 (ja) | 2000-09-29 | 2008-01-09 | 株式会社東芝 | メモリカード、不揮発性メモリ、不揮発性メモリのデータ書き込み方法及びデータ書き込み装置 |
US6563743B2 (en) | 2000-11-27 | 2003-05-13 | Hitachi, Ltd. | Semiconductor device having dummy cells and semiconductor device having dummy cells for redundancy |
US20020108054A1 (en) | 2001-02-02 | 2002-08-08 | Moore Christopher S. | Solid-state memory device storing program code and methods for use therewith |
JP4004811B2 (ja) * | 2002-02-06 | 2007-11-07 | 株式会社東芝 | 不揮発性半導体記憶装置 |
WO2003085677A1 (fr) * | 2002-04-05 | 2003-10-16 | Renesas Technology Corp. | Memoire non volatile |
KR100519793B1 (ko) | 2003-01-06 | 2005-10-10 | 삼성전자주식회사 | 플래쉬 메모리 장치 및 이 장치의 프로그램 방법 |
US7526598B2 (en) * | 2003-03-03 | 2009-04-28 | Sandisk Il, Ltd. | Efficient flash memory device driver |
US7076598B2 (en) | 2003-09-09 | 2006-07-11 | Solid State System Co., Ltd. | Pipeline accessing method to a large block memory |
KR100572328B1 (ko) | 2004-07-16 | 2006-04-18 | 삼성전자주식회사 | 배드 블록 관리부를 포함하는 플래시 메모리 시스템 |
JP2006309829A (ja) | 2005-04-27 | 2006-11-09 | Nec Electronics Corp | 不揮発性半導体記憶装置及びその制御方法 |
JP4961693B2 (ja) * | 2005-07-29 | 2012-06-27 | ソニー株式会社 | コンピュータシステム |
US7631162B2 (en) | 2005-10-27 | 2009-12-08 | Sandisck Corporation | Non-volatile memory with adaptive handling of data writes |
US7644224B2 (en) * | 2005-11-15 | 2010-01-05 | Sandisk Il Ltd. | Flash memory device and method |
JP4761959B2 (ja) * | 2005-12-26 | 2011-08-31 | 株式会社東芝 | 半導体集積回路装置 |
JP2007199905A (ja) * | 2006-01-25 | 2007-08-09 | Toshiba Corp | 半導体記憶装置の制御方法 |
JP2007310680A (ja) * | 2006-05-18 | 2007-11-29 | Matsushita Electric Ind Co Ltd | 不揮発性記憶装置およびそのデータ転送方法 |
US7457167B2 (en) | 2006-10-26 | 2008-11-25 | Atmel Corporation | Method for preventing over-erasing of unused column redundant memory cells in a flash memory having single-transistor memory cells |
US7539062B2 (en) | 2006-12-20 | 2009-05-26 | Micron Technology, Inc. | Interleaved memory program and verify method, device and system |
JP2008234723A (ja) | 2007-03-19 | 2008-10-02 | Toshiba Corp | メモリシステム |
KR100888823B1 (ko) * | 2007-06-27 | 2009-03-17 | 삼성전자주식회사 | 비휘발성 메모리 시스템, 및 비휘발성 메모리 시스템의프로그램 방법 |
US8397024B2 (en) | 2008-10-25 | 2013-03-12 | Sandisk 3D Llc | Page buffer program command and methods to reprogram pages without re-inputting data to a memory device |
-
2009
- 2009-03-31 US US12/414,925 patent/US8397024B2/en active Active
- 2009-09-23 EP EP09792884.0A patent/EP2351040B1/en active Active
- 2009-09-23 JP JP2011533210A patent/JP5547741B2/ja not_active Expired - Fee Related
- 2009-09-23 CN CN200980142194.6A patent/CN102203873B/zh active Active
- 2009-09-23 KR KR1020117011939A patent/KR101579555B1/ko not_active IP Right Cessation
- 2009-09-23 WO PCT/US2009/057992 patent/WO2010047911A1/en active Application Filing
- 2009-10-23 TW TW098136069A patent/TW201027557A/zh unknown
-
2014
- 2014-05-23 US US14/285,829 patent/USRE46154E1/en active Active
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108806758A (zh) * | 2013-01-14 | 2018-11-13 | 美光科技公司 | 存储器装置及验证数据路径完整性的方法 |
CN108806758B (zh) * | 2013-01-14 | 2022-05-13 | 美光科技公司 | 存储器装置及验证数据路径完整性的方法 |
CN106205702A (zh) * | 2015-05-26 | 2016-12-07 | 桑迪士克科技有限责任公司 | 对编程故障自动响应的非易失性存储装置 |
CN106205702B (zh) * | 2015-05-26 | 2020-01-14 | 桑迪士克科技有限责任公司 | 对编程故障自动响应的非易失性存储装置 |
CN109219850B (zh) * | 2016-04-28 | 2023-08-04 | 艾沃思宾技术公司 | 存储器中的延迟回写 |
CN109219850A (zh) * | 2016-04-28 | 2019-01-15 | 艾沃思宾技术公司 | 存储器中的延迟回写 |
CN108958647B (zh) * | 2017-05-17 | 2021-08-06 | 旺宏电子股份有限公司 | 存储器装置的边读边写访问方法 |
CN108958647A (zh) * | 2017-05-17 | 2018-12-07 | 旺宏电子股份有限公司 | 存储器装置的边读边写访问方法 |
CN108536475A (zh) * | 2017-12-27 | 2018-09-14 | 贵阳忆芯科技有限公司 | 完整编程命令处理方法与装置 |
CN108536475B (zh) * | 2017-12-27 | 2023-08-15 | 贵阳忆芯科技有限公司 | 完整编程命令处理方法与装置 |
CN110718246A (zh) * | 2018-07-13 | 2020-01-21 | 爱思开海力士有限公司 | 存储器装置 |
CN110718246B (zh) * | 2018-07-13 | 2023-05-12 | 爱思开海力士有限公司 | 存储器装置 |
CN111273858A (zh) * | 2018-12-05 | 2020-06-12 | 三星电子株式会社 | 开放通道固态驱动器以及非易失性存储器系统 |
CN111383688A (zh) * | 2018-12-28 | 2020-07-07 | 美光科技公司 | 用于写入缓冲器的缓冲器复位命令的设备和方法 |
Also Published As
Publication number | Publication date |
---|---|
US8397024B2 (en) | 2013-03-12 |
US20100106893A1 (en) | 2010-04-29 |
EP2351040A1 (en) | 2011-08-03 |
KR20110094289A (ko) | 2011-08-23 |
USRE46154E1 (en) | 2016-09-20 |
TW201027557A (en) | 2010-07-16 |
WO2010047911A1 (en) | 2010-04-29 |
JP5547741B2 (ja) | 2014-07-16 |
EP2351040B1 (en) | 2013-08-14 |
KR101579555B1 (ko) | 2015-12-22 |
CN102203873B (zh) | 2014-07-09 |
JP2012507070A (ja) | 2012-03-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102203873B (zh) | 重编程页而不向存储器设备重输数据的页缓冲器编程命令和方法 | |
CN100538659C (zh) | 非易失性存储器系统内有效允许失序写处理的方法和装置 | |
US7193923B2 (en) | Semiconductor memory device and access method and memory control system for same | |
US8904090B2 (en) | Non-volatile memory device, devices having the same, and method of operating the same | |
CN101202109B (zh) | 非易失性存储系统和相关编程方法 | |
CN102096647B (zh) | 多芯片存储器系统和相关的数据传送方法 | |
EP3133604B1 (en) | Method and device for fail-safe erase of flash memory | |
CN101246738A (zh) | 具有备份电路的存储系统及编程方法 | |
KR101984789B1 (ko) | 반도체 메모리 장치 | |
CN103093818A (zh) | 存储系统及其操作方法 | |
CN112148533A (zh) | 将数据存储在存储器系统的mlc区域中的设备和方法 | |
US20220292030A1 (en) | Storage device including nonvolatile memory device and operating method thereof | |
CN102483685B (zh) | 具有附属文件系统的多堆非易失性存储器系统 | |
CN112988054A (zh) | 存储器系统及其操作方法 | |
CN111813329A (zh) | 数据存储装置及其操作方法 | |
CN114860153A (zh) | 系统及其操作方法 | |
CN115576482A (zh) | 控制器及其操作方法 | |
CN104008020A (zh) | 用于追踪死扇区以自动搜索和誊写的鲁棒扇区id方案 | |
CN102591738A (zh) | 数据管理方法、存储器控制器与嵌入式存储器储存装置 | |
CN110119247A (zh) | 非易失性存储器 | |
KR101081879B1 (ko) | 불휘발성 메모리 장치의 프로그램 방법 | |
CN114201110A (zh) | 存储器系统及其操作方法 | |
CN114911721A (zh) | 存储器系统及存储器系统的操作方法 | |
CN115220950A (zh) | 存储器系统和数据处理系统 | |
CN114090330A (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 | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C41 | Transfer of patent application or patent right or utility model | ||
TR01 | Transfer of patent right |
Effective date of registration: 20160622 Address after: American Texas Patentee after: Sandisk Technologies, Inc Address before: American California Patentee before: Sandisk 3D. LLC |
|
C56 | Change in the name or address of the patentee | ||
CP01 | Change in the name or title of a patent holder |
Address after: American Texas Patentee after: DELPHI INT OPERATIONS LUX SRL Address before: American Texas Patentee before: Sandisk Technologies, Inc |