CN102027455A - 用于存储器器件的分式编程命令 - Google Patents
用于存储器器件的分式编程命令 Download PDFInfo
- Publication number
- CN102027455A CN102027455A CN200980116805XA CN200980116805A CN102027455A CN 102027455 A CN102027455 A CN 102027455A CN 200980116805X A CN200980116805X A CN 200980116805XA CN 200980116805 A CN200980116805 A CN 200980116805A CN 102027455 A CN102027455 A CN 102027455A
- Authority
- CN
- China
- Prior art keywords
- program command
- programming
- fraction
- command
- address
- 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
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
- G06F3/0611—Improving I/O performance in relation to response time
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
- G06F3/0688—Non-volatile semiconductor memory arrays
-
- 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/7204—Capacity control, e.g. partitioning, end-of-life degradation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Read Only Memory (AREA)
Abstract
一种存储器系统(100B),其包括非易失性存储器单元阵列(140)和存储器控制器(110);所述存储器控制器(110)具有用以接收寻址若干所述存储器单元用于编程操作的编程命令的第一端口(连接到线101的端口),具有经由命令流水线耦合到所述存储器阵列的第二端口(连接到线102和线103的端口),并且被配置用以响应于所述编程命令而创建多个分式编程命令。每个分式编程命令的执行向所述被寻址的存储器单元应用单个编程脉冲以用编程数据来逐步地编程所述寻址的存储器单元,其中相关于每个分式编程命令的所述编程脉冲的持续时间为编程所述存储器单元通常所需的总编程时间的选定的一部分。
Description
技术领域
本发明总体上涉及存储器器件,并且更具体地涉及用于存储器器件的利用增量编程技术的编程操作。
背景技术
为了提高编程精确度和避免过度编程,某些类型的非易失性存储器通常使用一系列编程脉冲与验证(PV)周期来进行编程。快闪存储器和电阻型随机存取存储器(ReRAM)是两种往往需要使用许多连续的PV周期来进行编程的存储器类型。每个PV周期通常包括:编程脉冲,其通过在一段时间中向存储器单元施加编程电压而逐步地增加储存于存储器单元的浮栅之上的电荷;以及验证操作,其判定存储器单元是否已被正确地编程。更具体地,在快闪存储器阵列中的编程命令的执行期间,第一PV周期被启动,其向被寻址的浮栅存储器单元的控制栅极施加第一编程脉冲,以在其中逐步地编程数据;而随后被寻址的存储器单元的内容被检验,以验证被寻址的存储器单元已被正确编程。任何未在第一PV周期期间正确(例如,完全)编程的存储器单元都被识别出来,而随后为了这些识别的存储器单元而启动第二PV周期。这个过程一直重复,直到由编程命令所寻址的所有存储器单元都完全地以编程数据进行了编程。
一旦启动了相关于编程命令的PV周期序列,存储器阵列中的所有存储器单元通常都不再能够用于其他操作(例如,读取操作),直到完成编程命令的执行。
因此,有对可以在编程操作期间以更快和更高效的方式访问的非易失性存储器的需要。
发明内容
附图说明
本文中的实施方式是通过举例的方式进行示例说明的,并且不受到附图的图示的限制,在附图中:
图1A示出包括存储器控制器和存储器器件的一种存储器系统的简化框图;
图1B示出包括存储器控制器和存储器器件的另一存储器系统的简化框图;
图1C示出包括存储器控制器和存储器器件的又一存储器系统的简化框图;
图2A是描绘创建多个分式编程命令与创建命令队列的示例性方法的说明流程图;
图2B是描绘图1A的存储器器件的操作的示例性方法的说明流程图;
图3A描绘储存在图1A的命令队列中的多个可独立执行的分式编程命令;
图3B描绘插入在图1A的命令队列顶部的非编程命令;
图3C描绘插入在图1A的命令队列中的第一分式编程命令之后的非编程命令;
图4A描绘储存在图1A的命令队列中的多个单独的并可独立执行的编程脉冲与验证命令;
图4B描绘插入在图1A的命令队列中的编程脉冲与相应的验证命令之间的非编程命令;
图5示出图1A的存储器器件的一种实施方式的功能框图;并且
图6示出在其中可采用本文中的实施方式的计算机系统的框图;
相似的参考数字在全部附图图示中指代相应部件。
具体实施方式
公开了一种存储器系统,其允许存储器单元阵列在编程操作期间被访问并被利用。依据一些实施方式,编程操作是使用多个单独的、可独立执行的分式编程命令来执行的,所述分式编程命令可经由命令流水线,以流水线方式,被选择性地提供给存储器单元阵列。其他非编程命令(例如,读取命令、擦除命令,等等)可被选择性地在分式编程命令之间插入到命令流水线中,以使非编程命令可以在编程操作正在进行的同时在存储器阵列中执行,而不中断任何分式编程命令的执行。
这里所用的术语“非易失性”指的是这样的存储器:其在断电后的相当长的时间中保留数据,从而使主机系统能够在具有对数据保留的完全预期的情况下被关闭(电源完全放电)并于随后重新开启(电力周期)。非易失性半导体存储器技术的例子可包括快闪存储器、相变存储器、阻变存储器、FRAM(铁电RAM)、MRAM(磁RAM),以及其他类似的解决方案等。“快闪”存储器包括NAND与NOR核单元结构以及浮栅与电荷收集技术(例如,硅氧化物氮化物氧化物硅(Silicon-Oxide-Nitride-Oxide-Silicon)或“SONOS”技术)。来自老化或耗损的各种效应导致半导体存储器单元具有逐渐减少的保留间隔时间,使得特定存储器的特性可能最终从非易失性变为易失性。
虽然是在快闪存储器的背景下讨论的,但在此所描述的实施方式可以扩展到依赖于在其中对半导体存储器单元进行逐步编程的多个步骤(例如,写入前擦除、多个编程步骤、PV周期的使用等)、依赖于大量的编程时间,或者依赖于最小单元尺寸中的编程的任何技术。
对于在此所述的示例性存储器系统,与存储器阵列相关的控制电路响应于(例如,从诸如主机设备、主机控制器、微处理器、控制软件等外部源所接收的)为了编程操作而寻址阵列的若干存储器单元以在其中编程数据的编程命令而创建多个分式编程命令。可储存于(例如,与控制电路相关的)命令队列中的分式编程命令经由命令流水线,作为可独立执行的命令被选择性地提供给存储器阵列。响应于各分式编程命令,施加编程脉冲到由编程命令所寻址的存储器单元的控制栅极以在其中逐步地编程数据,并且执行验证操作以验证被寻址的存储器单元已被正确编程。可以生成验证数据来指示验证操作的结果。如果验证数据指示出需要附加的编程脉冲,那么控制电路可以接着对存储器阵列应用下一分式编程命令。反之,如果验证数据指示出所有被寻址的存储器单元都被正确编程,那么控制电路可以终止编程操作。对于一些实施方式,可以将控制电路提供在存储器器件内。对于其他实施方式,可以将控制电路提供在耦合到存储器器件的存储器控制器内。
与各分式编程命令相关的编程脉冲的持续时间是对存储器单元进行编程通常所需的总编程时间的选定的一部分。因此,执行本文的实施方式的每个分式编程命令只需要执行整个编程操作所必需的时间的一部分,并因此只需要执行常规编程命令(例如,对存储器阵列应用连续的一系列PV周期)通常所需的时间的一部分。相应地,通过以流水线的方式作为单独的、可独立执行的命令向存储器阵列选择性地提供分式编程命令,控制电路可以对个体编程脉冲在编程操作期间在被寻址的存储器单元的应用保持控制并对其进行规划。作为结果,控制电路可以通过将非编程命令插入到命令流水线中的分式编程命令中的一个或多个分式编程命令之前,而在编程操作正在进行的同时对在未由编程命令所寻址的存储器阵列的其他部分(例如,其他页面)中的非编程命令的执行做出计划。例如,当编程操作正在寻址快闪存储器阵列的页面时,通过在命令流水线中的所有即将要执行的分式编程命令之前插入读取命令,可以快速地从存储器阵列的其他页面中的存储器单元读取数据。
尽管编程操作有时在此被描述为寻址存储器的一个或多个页面,但根据存储器阵列内的存储器单元的组织也可以寻址存储器阵列的存储区域的其他最小单元。
应当指出的是,在此所公开的各种电路可以使用计算机辅助设计工具进行描述,并从其行为、寄存器传送、逻辑组件、晶体管、几何布局以及/或者其他特性的角度,作为实施在各种计算机可读介质中的数据和/或指令来表示(或表现)。在其中可以实现这样的电路表示的文件及其他对象格式包括但不限于:支持诸如C、Verilog和VHDL之类的行为语言的格式、支持像RTL之类的寄存器级描述语言的格式,以及支持诸如GDSII、GDSIII、GDSIV、CIF、MEBES之类的几何描述语言的格式以及任何其他合适的格式和语言。在其中可以实施这样的格式化数据和/或指令的计算机可读介质包括但不限于:可用于通过无线、光纤或有线信号介质或者其任何组合来传送这样的格式化数据和/或指令的各种形式的非易失性存储介质(例如,光学、磁性或者半导体存储介质)。这样的格式化数据和/或指令的传送的例子包括但不限于:经由一个或多个数据传送协议(例如,HTTP、FTP、SMTP等)在因特网和/或其他计算机网络上的(上传、下载、电子邮件等)传输。
当经由一个或多个计算机可读介质接收于计算机系统内时,上述电路的这样的基于数据和/或指令的表现形式将连同一个或多个其他计算机程序的执行,由计算机系统内的处理实体(例如一个或多个处理器)进行处理。这些计算机程序可以包括但不限于:网表生成程序、布局与布线程序等,用以生成这样的电路的物理表现的表现形式或图像。这样的表现形式或图像例如可于此后通过实现用于在器件制造过程中形成电路的各种组件的一个或多个掩模的生成,而用于器件制造。
图1A示出了一种示例性存储器系统100A的简化框图。存储器系统100A包括快闪存储器控制器110和快闪存储器器件120A,并且连接到主机设备150。如图1A中所示,快闪存储器控制器110和快闪存储器器件120A形成于同一集成电路(IC)芯片上。对于其他实施方式,快闪存储器控制器110和快闪存储器器件120A可以形成于不同的IC芯片上。
主机设备150可以是向快闪存储器控制器110提供命令用于在快闪存储器器件120A中执行的任何合适的主机设备或控制器。例如,主机设备150可以是计算机系统中控制中央处理单元(CPU)与快闪存储器系统之间的通信的主机控制器。如下文所详述,主机设备150能够执行实现一个或多个当前实施方式的软件。
快闪存储器控制器110包括第一端口,其经由连接101与主机设备150相连;以及第二端口,其经由输入/输出(I/O)总线102和控制总线103与快闪存储器器件120A相连。I/O总线102包括:数据总线,其用于在快闪存储器控制器110与快闪存储器器件120A之间传输数据(DATA);地址总线,其用于向快闪存储器器件120A提供地址信息(ADDR);以及命令流水线,其用于向快闪存储器器件120A提供命令(CMD)。控制总线103在快闪存储器控制器110与快闪存储器器件120A之间路由控制信号(CTRL)。对于其他实施方式,可以将I/O总线102和/或控制总线103中的一些结合起来。另外,虽然为简单起见而未示出,但可以从快闪存储器控制器110经由控制总线103向快闪存储器器件120A发送时钟及其他控制信号。
快闪存储器控制器110还包括控制电路111、命令队列112,以及编程地址寄存器113。控制电路111接收来自主机设备150的命令,并且响应于其而生成并向存储器器件120A传输命令及相关控制信号。对于一些实施方式,控制电路111所生成的命令可在命令队列112中以期望的执行顺序排列,并于此后经由命令流水线以流水线的方式选择性地提供给存储器器件120A。命令队列112可以是任何合适的队列、寄存器文件,或者其它存储元件。耦合到控制电路111的编程地址寄存器113可以保留一份地址列表,该地址列表指示出当前正在对存储器器件120A中的存储器单元的哪些页面进行编程。
如图1A中所示,对于此处所述的示例性实施方式,主机设备150和快闪存储器控制器110是分立的设备。然而,对于其他实施方式,快闪存储器控制器110例如可以被包括在主机设备150内,从而使命令队列112和编程地址寄存器113被包括在主机设备150内并且由其直接控制。对于这样的实施方式,主机设备150所执行的操作软件可以控制分式编程命令的创建以及向存储器器件120A的发布。
存储器器件120A包括I/O引脚121、控制引脚122、控制电路130,以及快闪存储器阵列140。I/O引脚121经由I/O总线102将控制电路130连接到快闪存储器控制器110,而控制引脚122经由控制总线103将控制电路130连接到快闪存储器控制器110。存储器阵列140可以是包括多个存储器单元和相关控制电路(为简单起见而未在图1A中示出)的任何众所周知的存储器阵列。例如,存储器阵列140可以包括以NAND(与非)、NOR(或非)或者其它合适的配置布置的快闪存储器单元。对于此处所述的示例性实施方式,存储器阵列140的存储器单元为可通过对其控制栅极应用多个编程脉冲来进行编程的浮栅晶体管,其中每个编程脉冲是逐步增大为编程而选定的存储器单元的Vt的适当高的编程电压。对于其他实施方式,存储器阵列140可以包括其它类型的非易失性存储器单元,诸如EPROM单元、EEPROM单元,以及/或者电荷收集器件存储器单元(例如,SONOS快闪单元)等。另外,阵列140的存储器单元可以物理地和/或逻辑地分为任意数量的可以独立操作的库、块、段、区或页面。而且,尽管在图1A中被示为包括一个存储器阵列140,但存储器器件120A还可以包括多个存储器阵列140。
连接到I/O引脚121、到控制引脚122和到存储器阵列140的控制电路130被配置用以响应于接收自快闪存储器控制器110的命令和/或控制信号而控制对存储器阵列140的操作(例如,编程、读取和擦除操作)。控制电路130还包括状态寄存器131,其储存指示出存储器阵列140中各种操作的进度的状态数据。状态寄存器131还可以储存指示出存储器阵列140中的编程验证操作的结果的验证数据。验证数据可以指示出是否需要应用附加的编程脉冲来完成编程操作,并且其还可以包括其它信息,如:例如哪些存储器单元已被正确编程、哪些存储器单元需要附加的编程、已应用的编程脉冲的数量,等等。
此外,对于一些实施方式,在存储器阵列140中执行命令期间,控制电路130可以断言忙碌信号,以提示存储器控制器110存储器器件120A不可用,并且在命令完成后,控制电路130可以断言就绪信号,以提示存储器控制器110存储器器件120A已准备好接受另一命令。忙碌和就绪信号可以在控制总线103上以分立的信号的方式进行传输。
依据当前实施方式,快闪存储器控制器110被配置用以控制并选择性地规划多个个体编程脉冲中的每一个编程脉冲向阵列140的由编程操作所寻址的存储器单元的应用。为了在存储器阵列140中开始编程操作,主机设备150向快闪存储器控制器110发布编程命令并且(经由公共或独立的操作)向存储器中加载要被编程的数据。编程命令包括为编程而选定的存储器单元的地址。通常情况下,快闪存储器阵列140中的存储区的可选择用于编程操作的最小单位是存储器单元的一个页面。响应于编程命令,快闪存储器控制器的控制电路111创建共同实施编程操作的若干分式编程命令。每个分式编程命令都是一条独立的命令,其命令快闪存储器器件120A在长度为对存储器单元进行完全编程通常所需的时间的选定一部分的持续时间内,向寻址的存储器单元应用编程脉冲。分式编程命令可以在命令队列112中以期望的执行顺序排列,然后经由命令流水线CMD、作为可单独执行的命令向快闪存储器器件120A传输。对于一些实施方式,控制电路111响应于快闪存储器器件120A所生成的验证数据而向存储器器件120A选择性地传输分式编程命令。
对于一些实施方式,编程地址寄存器113可以存储与正在进行的编程操作相关的页面地址。以这种方式,控制电路111可以通过访问储存于编程地址寄存器113中的编程地址而快速地确定阵列140中的存储器单元的哪些页面正在经受编程操作。
当快闪存储器器件120A接收到来自快闪存储器控制器110的分式编程命令时,它的控制电路130向存储器阵列140的寻址的存储器单元的控制栅极应用预定持续时间的编程脉冲,以在其中逐步地编程数据。如上所述,编程脉冲具有长度为对存储器单元进行完全编程通常所需的时间的一部分的持续时间,并且因此每个分式编程命令的执行只需要对存储器器件120A执行整个编程操作所需时间的一部分。在向被寻址的存储器单元应用编程脉冲之后,控制电路130执行验证操作,以确定是否有任何被寻址的存储器单元需要附加的编程脉冲。
在一些实施方式中,如果验证操作识别出任何需要附加编程的被寻址的存储器单元,那么控制电路130可以去断言一个验证信号,而作为响应,快闪存储器控制器110向快闪存储器器件120A发送下一分式编程命令(例如,在命令队列112中排列的)。下一分式编程命令使控制电路130向经识别的存储器单元应用另一编程脉冲以进一步在其中编程数据,并且执行另一验证操作。这一过程重复进行,直到所有寻址的存储器单元都被正确地编程。当验证操作指示出所有寻址的存储器单元都已被正确编程时,控制电路130可以断言验证信号。作为响应,快闪存储器控制器110不向快闪存储器器件发送与编程操作相关的附加分式编程命令,并且编程操作终止。另外,在编程操作完成后,控制电路111可以从编程写入寄存器113清除相应的编程地址。
如果快闪存储器控制器110在编程操作期间接收到非编程命令(例如,读取命令),那么其控制电路111可以将该非编程命令选择性地插入到命令队列112中的任何位置中。对于一些实施方式,在接收到非编程命令后,控制电路111访问编程地址寄存器113并将其中所储存的编程地址与相关于非编程命令的地址相比较,以确定当前是否正用数据对非编程命令所寻址的存储器页面进行编程。如果没有匹配——这指示出当前未对非编程命令所寻址的存储器页面进行编程,那么控制电路111可以将非编程命令插入到命令队列112中。
主机设备150所提供的非编程命令可以包括优先级信息,其指示出非编程命令相对于正在存储器器件120A中执行的任何编程操作的优先级。举一例而言,如果优先级信息指示出最高优先级,那么控制电路111可以将非编程命令插入到命令队列112的顶部(例如,在先前排列于其中的任何其余分式编程命令之前),以便在完成当前分式编程命令后,将该非编程命令发送到存储器器件120A用于在其中立即执行。举另一例而言,如果优先级信息指示出最低优先级,那么控制电路111可以将非编程命令插入到命令队列112的底部(例如,在先前排列于其中的所有剩余分式编程命令之后),以便在完成整个编程操作之后再将该非编程命令发送到存储器器件120A并由其来执行。备选地,控制电路111可被配置用以自动将非编程命令插入到命令队列112的顶部。
反之,如果存在与储存于编程地址寄存器113中的编程地址的匹配——这指示出当前正在对非编程命令所寻址的存储器页面进行编程,那么控制电路111可以“搁置”该非编程命令直至完成对被寻址的存储器页面的编程操作(例如,由相应地址条目在编程地址寄存器113中的清除所指示出来),并于此后将该非编程命令插入到命令队列112的顶部。以这种方式,阵列140的正被编程的存储器单元不因数据检索而被访问直至编程操作完成,由此防止从存储器阵列140检索到不完全编程的(例如,并且因此可能是不正确的)数据。备选地,在编程操作正在进行时,可以暂时储存正在存储器单元中编程的数据的副本用于访问。
通过响应于接收自主机设备150的单个编程命令而创建多个单独的分式编程命令,编程操作实际上分为了若干时间上较短的、可独立执行的命令,这些命令占用存储器器件120A的时间比原始的编程命令所占用的更少。以这种方式,存储器控制器110可以在编程操作在存储器器件120A中进行的期间,选择性地计划非编程命令在存储器器件120A中的执行,这转而允许存储器控制器110在对存储器器件120A的一些部分进行编程操作期间快速地访问存储器器件120A的另一些部分。例如,通过在先前排列于命令阵列112中的若干分式编程命令前插入读取命令,可以在分式编程命令前将该读取命令发送到快闪存储器器件120A并由其执行。以这种方式,可以在对存储器阵列的一些页面进行编程操作的同时从存储器阵列的其他页面读取数据,而不中断与编程操作相关的任何分式编程命令的执行。
此外,在编程操作期间选择性地规划非编程命令在快闪存储器器件中的执行的能力可以最大化对快闪存储器器件120A的利用。例如,在对存储器单元的选定页面进行编程操作期间,如果接收到一连串对储存于存储器单元的其他页面的数据进行寻址的读取命令,那么可以在完成当前分式编程命令后立即将读取命令发送到快闪存储器器件120A中并在其中执行。此后,在(例如通过主机设备150)对检索到的数据进行处理的同时,可以在快闪存储器器件中执行相关于编程操作的任何剩余分式编程命令。以这种方式,在主机设备150正在处理检索到的数据的同时,可以在快闪存储器器件120A中完成编程操作,由此最小化快闪存储器器件120A的空置时间。
如上所述,在编程操作期间,快闪存储器器件120A生成指示出存储器单元是否已被正确编程的编程结果验证数据。对于一些实施方式,快闪存储器控制器110可以在编程操作期间(例如,在相关于编程操作的每个分式编程命令的验证操作之后)从快闪存储器器件的状态寄存器131读取验证数据。对于其他实施方式,快闪存储器器件120A可被配置为在每个分式编程命令完成后向快闪存储器控制器110A发送验证信号。例如,如果验证操作识别出有任何由编程命令所寻址的存储器单元在应用了相应的编程脉冲之后仍未被完全编程,那么快闪存储器器件120A可以去断言验证信号,以命令快闪存储器控制器110向快闪存储器器件120A发送下一分式编程命令。反之,如果验证操作未识别出在阵列140中有任何未编程的存储器单元,那么快闪存储器器件120A可以断言验证信号,以提示快闪存储器控制器110编程操作已完成、无需附加的分式编程命令,并且可以从编程地址寄存器113清除对应于编程操作的页面地址。以这种方式,可以针对快闪存储器器件120A内的每个编程操作的增量进展而不断地向快闪存储器控制器110做出提示。这与在其中快闪存储器控制器将全部编程操作都委托给快闪存储器器件且在此期间整个快闪存储器阵列通常在整个编程操作完成之前都不可用的常规快闪存储器形成对比。
如上所述,响应于每个分式编程命令而应用到阵列的存储器单元的编程脉冲的持续时间为对阵列140的存储器单元进行完全编程通常所需的总编程时间的一部分。每个编程脉冲的持续时间可以通过脉冲宽度(PW)信号来选定。可以随同编程命令将PW信号提供给快闪存储器控制器110,或者备选地通过另一合适的电路提供给快闪存储器控制器110或快闪存储器器件120A。举一例而言,PW信号可以为响应于每个分式编程命令而生成的编程脉冲指定预定的持续时间。举另一例而言,快闪存储器控制器110和/或快闪存储器器件120A可被配置用以逐步地增大用于与单一编程操作相关的顺序分式编程命令的编程脉冲持续时间。
另外,对于一些实施方式,由主机设备150发送到快闪存储器控制器110的编程命令可以指定有多少分式编程命令应当响应于编程命令而在快闪存储器器件120A中执行。对于一个实施方式,存储器控制器110可以向快闪存储器器件120A发送固定数量的分式编程命令。对于另一实施方式,存储器控制器110可被配置用以在检查验证信号的状态之前向快闪存储器器件120A发送最小数量的分式编程命令。对于其他实施方式,由主机设备150发送到快闪存储器控制器110的编程命令可以包括限值(LIM),其指示出快闪存储器控制器110响应于编程命令而创建的分式编程命令的最大数量。对于又一实施方式,快闪存储器控制器110可被配置用以响应于接收自主机设备150的编程命令而只创建一个分式编程命令,并于随后根据正确编程阵列的存储器单元的需要(例如,响应于验证数据)而创建附加的分式编程命令。
此外,主机设备150所发布的编程命令可以包括分组信息,其命令快闪存储器控制器110将最小数量的分式编程命令分组在一起用于在快闪存储器器件120A中执行,例如,用以防止在命令队列112中的已分组分式编程命令之间插入居中非编程命令。分式编程命令的分组可以确保在编程操作正在进行的同时,在对阵列140的其他存储器单元执行非编程命令之前以预定的最低量对针对编程操作而被寻址的存储器单元进行编程。
在以下关于图2A-图2B的说明性流程图描述了快闪存储器器件120A的一个示例性操作。首先,主机设备150发布编程命令,该编程命令向快闪存储器控制器110提供编程数据和地址信息(步骤201)。作为响应,快闪存储器控制器110创建多个分式编程命令(步骤202)。如上所述,每个独立的分式编程命令的执行向存储器阵列140中的被寻址的存储器单元应用单一编程脉冲,其中每个编程脉冲的持续时间代表对阵列的存储器单元进行编程通常所需的总时间的一部分。然后,以期望的执行顺序将分式编程命令储存在命令队列112中,并且将要被编程的存储器单元的地址储存在编程地址寄存器113中(步骤203)。例如,图3A描绘了储存于命令队列112的相应位置112(1)-112(n)中的多个分式编程命令301(1)-301(n)。
如在步骤204中所测试的,如果快闪存储器控制器110从主机设备150接收到另一介于中间的非编程命令(例如,读取命令或擦除命令),那么其控制电路111将储存于编程地址寄存器113中的编程地址与相关于非编程命令的地址进行比较(步骤205a)。如在步骤205b中所测试的,如果没有匹配——这指示出当前未对非编程命令所寻址的存储器页面进行编程,那么控制电路111选择性地将另一命令插入到命令队列112中(步骤205c)。
举一例而言,图3B描绘了插入在命令队列112的顶部、在所有分式编程命令301(1)-301(n)之前的非编程命令302。举另一例而言,图3C描绘了插入在命令队列112中的第一分式编程命令301(1)与第二分式编程命令301(2)之间的非编程命令302。如上所述,对于一些实施方式,快闪存储器控制器110可被配置用以选择性地将非编程命令插入在命令队列112中的任何位置上(例如,如图3C中所示);而对于其他实施方式,快闪存储器控制器110可被配置用以将非编程命令插入在命令队列112的顶部(例如,如图3B中所示)。
反之,如在205b中所测试的,如果存在与储存于编程地址寄存器113中的编程地址的匹配——这指示出当前正对非编程命令所寻址的存储器页面进行编程,那么控制电路111“搁置”冲突的非编程命令直至对被寻址的存储器页面进行的编程操作完成(步骤205d)。对于一些实施方式,控制电路111可以包括缓冲器(为简单起见而未示出)用以搁置冲突的非编程命令。对于一个实施方式,可以在编程操作正在进行的同时,暂时地储存正在存储器单元中进行编程的数据的副本用于访问。
此后,控制电路111可以定期地轮询编程地址寄存器113,以确定对被寻址的存储器页面进行的编程操作是否已经完成(步骤205a)。如果编程操作已经完成,那么控制电路111可以将非编程命令插入到命令队列112中(步骤205c)。否则,控制电路111继续搁置冲突的非编程命令(步骤205d)。备选地,编程地址寄存器113可以在对被寻址的存储器页面进行的编程操作完成时,向控制电路111发送完成标记。
然后,快闪存储器控制器110将储存在命令队列112的顶部的命令转发给快闪存储器器件120A(步骤206)。如在步骤207中所测试的,如果接收到的命令为分式编程命令,那么存储器器件的控制电路130执行该分式编程命令以应用单一编程脉冲来逐步地将数据编程到阵列140的被寻址的存储器单元中(步骤208),并于随后验证编程数据(步骤209)。然后,快闪存储器器件120A生成指示出验证操作结果的验证数据(步骤210)。
对于一些实施方式,快闪存储器器件120A生成附加状态信息,所述附加状态信息指示出编程操作的进展(例如,有哪些存储器单元已被完全编程、有哪些存储器单元还未被完全编程、有多少编程脉冲已被应用到存储器单元,等等)。如上所述,验证数据和/或状态信息可以储存在快闪存储器器件的状态寄存器131中。另外,对于一些实施方式,验证数据可以由快闪存储器控制器110用以从命令队列112清除相应的分式编程命令,并且用以从编程地址寄存器113清除编程地址。
并且,对于一些实施方式,快闪存储器器件120A可被配置用以在每个命令在其存储器阵列140中执行期间断言忙碌信号,并且用以在命令完成后断言就绪信号。对于这样的实施方式,断言的忙碌信号可以命令快闪存储器控制器110勿向快闪存储器120A发送附加命令,而断言的就绪信号可以提示快闪存储器控制器110快闪存储器器件120A已准备好接受附加命令。
如在步骤211中所测试的,如果验证数据指示出被寻址的存储器单元中的一个或多个存储器单元未被完全编程,那么处理过程在步骤204中继续。对于一些实施方式,快闪存储器器件120A可以对致使快闪存储器控制器110向快闪存储器器件120A发送下一分式编程命令的验证信号进行去断言。对于其他实施方式,快闪存储器控制器110可以从快闪存储器器件120A读取验证数据。否则,如果验证数据指示出阵列140中由编程命令所寻址的所有存储器单元都已被正确编程,那么就将相关于编程操作的任何其余分式编程命令从命令队列112清除,并且将相应的编程地址从编程地址寄存器113清除(步骤212)。
如在步骤207中所测试的,如果接收自快闪存储器控制器110的命令为非编程命令,那么快闪存储器器件120A执行该非编程命令(步骤213),该非编程命令被从命令队列112清除(步骤214),而处理过程在步骤204中继续。例如,如果非编程命令为读取命令,那么快闪存储器器件120A执行该读取命令,以从阵列140中由该读取命令所寻址的存储器单元读取数据,向快闪存储器控制器110提供读取的数据,并于此后准备好接受来自命令队列112的下一命令。
对于其他实施方式,快闪存储器控制器110响应于接收自主机设备150的编程命令而生成仅一个分式编程命令,并且可以在需要附加的编程脉冲来正确地编程被寻址的存储器单元时选择性地创建并向快闪存储器器件120A发送附加分式编程命令,在这种情况下可以摒弃步骤212。
对于以上所述的示例性实施方式,每个分式编程命令都命令快闪存储器器件120A应用单个编程脉冲以用编程数据来逐步地对阵列140中被寻址的存储器单元进行编程,并且还命令快闪存储器器件执行验证操作,该验证操作将储存在正被编程的存储器单元中的数据与原始编程数据进行比较以确定是否有任何被寻址的存储器单元需要附加的编程脉冲。对于其他实施方式,由快闪存储器控制器110响应于接收自主机设备150的编程命令而生成的每个分式编程命令可以命令快闪存储器器件120A只向被寻址的存储器单元应用编程脉冲。对于这样的其他实施方式,快闪存储器控制器110可被配置用以生成相关于各分式编程命令的单独的验证命令,其中每个验证命令都命令快闪存储器器件120A对由相应的分式编程命令编程到被寻址的存储器单元中的数据进行验证。验证命令可以与分式编程命令一同储存在命令队列112中。
例如,图4A描绘了储存多个分式编程脉冲命令401(1)-401(n)以及相应的多个单独的验证明令402(1)-402(n)在命令队列112中,其中每个分式编程脉冲命令401的执行向被寻址用于编程操作的存储器单元应用编程脉冲,而每个验证命令402的执行则对相应的分式编程脉冲命令401的结果进行验证。图4B示例说明了非编程命令302在命令队列112中第一对分式编程脉冲和验证命令401(1)-402(1)与第二对分式编程脉冲和验证命令401(2)-402(2)之间的插入。尽管可以将非编程命令302插入在编程脉冲命令401与其相应的验证命令402之间,但验证命令本身及在本质上一般并不非常费时,并且在允许交叉的命令之前完成单个的PV周期(包括验证)可能在架构上是优选的。
对于其他实施方式,主机设备150和/或由主机设备150所执行的软件可被配置用以:生成相关于编程操作的分式编程命令;在命令队列中排列分式编程命令;并且(例如,经由快闪存储器控制器110)以流水线的方式向快闪存储器器件120A选择性地发送分式编程命令。对于这样的实施方式,主机设备150和/或由主机设备150所执行的软件可被配置用以例如将诸如读取命令之类的非编程命令选择性地插入到命令队列中的任何位置中,从而使非编程命令在编程操作期间可以在快闪存储器器件120A中执行,而不中断任何与编程相关的命令的执行。
对于另一实施方式,快闪存储器器件120A可被配置用以响应于由主机设备150所发布的编程命令而生成分式编程命令。例如,图1B示出了依据其他实施方式的包括有快闪存储器控制器110和快闪存储器器件120B的存储器系统100B。快闪存储器器件120B类似于快闪存储器120A,区别只在于快闪存储器器件120B的控制电路130包括命令队列132和编程地址寄存器133。图1B的命令队列132和编程地址寄存器133相应地类似于图1A的命令队列112和编程地址寄存器113。对于图1B的实施方式,存储器器件的控制电路130(例如,经由快闪存储器控制器110)接收主机设备150所发布的编程命令,并响应于此而生成分式编程命令。快闪存储器控制器可以将分式命令排列在命令队列132中,并且根据需要将这些命令转发给存储器阵列140,以使用与以上关于图1A所述的方式相类似的方式来应用相应的编程脉冲。因此,对于图1B的实施方式,快闪存储器器件的控制电路130控制用于存储器阵列140的分式编程命令的生成、规划和执行。
以上关于图1A-图1B所述的快闪存储器器件的实施方式被配置用以执行共同实施对阵列140的存储器单元的编程操作的多个独立的分式编程命令。对于其他实施方式,快闪存储器器件可以包括能够以常规方式(例如,通过向由编程命令所寻址的存储器单元应用一系列连续的PV周期)来执行由主机设备150所发布的编程命令的附加电路。例如,图1C示出了包括有快闪存储器控制器110和快闪存储器器件120C的存储器系统100C。快闪存储器器件120C包括控制电路160和模式寄存器170。可以为任何合适的存储元件的模式寄存器170耦合到控制电路160并且可被配置用以储存编程模式数据。控制电路160包括图1B的控制电路130的所有元件,并且还包括众所周知的次序逻辑161,该次序逻辑161允许快闪存储器器件120C以常规方式接收和执行(例如,经由快闪存储器控制器110从主机设备150接收的)编程命令。编程模式数据可以由主机设备150、由快闪存储器控制器110,或者由任何其他合适的电路所生成。模式数据用于指示快闪存储器器件120C是执行接收自快闪存储器控制器110的分式编程命令、响应于接收自快闪存储器控制器110的编程命令而创建并执行分式编程命令;还是响应于接收自快闪存储器控制器110的编程命令而实施常规编程操作。对于一些实施方式,模式数据是经由控制引脚122提供给快闪存储器器件120C的,并且储存在模式寄存器170中(如图1C中所示)。对于其他实施方式,可以使用专用的引脚(为简单起见而未示出)或者其他合适的电路将模式数据提供给模式寄存器170并存储于其中。
更具体而言,当编程模式数据被设置成第一状态以指示第一分式编程模式时,控制电路160被配置用以接收来自快闪存储器控制器110的分式编程命令。控制电路例如使用以上关于图1A所述的方式,响应性地向阵列140的被寻址的存储器单元应用单个编程脉冲并且执行相应的验证操作。在执行分式编程命令之后,快闪存储器器件120C向快闪存储器控制器110提供验证信号,该验证信号指示出是否需要附加的分式编程命令。编程模式数据的第一状态还可以用于禁用快闪存储器器件的命令队列132、编程地址寄存器133以及次序逻辑161。
当编程模式数据被设置成第二状态以指示第二分式编程模式时,控制电路160被配置用以接收来自快闪存储器控制器110的常规编程命令。作为响应,控制电路160生成一个或多个可独立执行的分式编程命令,所述可独立执行的分式编程命令可以例如用以上关于图1B所述的方式在存储器器件的命令队列132中排列并且被选择性地提供给存储器阵列140用于在其中执行。编程模式数据的第二状态还可以用于启用存储器器件的命令队列132和编程地址寄存器133,以及用于禁用其次序逻辑161。
当编程模式数据被设置成第三状态以指示常规编程模式时,控制电路160被配置用以接收来自快闪存储器控制器110的常规编程命令,并且作为响应而命令次序逻辑161启动一系列PV周期以根据众所周知的技术对阵列140的被寻址的存储器单元进行编程,在此期间整个存储器阵列140通常是不可用的。编程模式数据的第三状态还可以用于禁用快闪存储器器件的命令队列132和编程地址寄存器133,以及用于启用其次序逻辑161。
以这种方式,图1C的快闪存储器器件120C可以使用依据当前实施方式的分式编程命令或者使用常规编程技术来执行编程操作,从而使允许闪存储器器件120C在常规存储器系统中或者在依据当前实施方式配置的存储器系统中采用。
另外,对于其他实施方式,可以将模式存储器170和相关的控制电路添加到图1A的快闪存储器器件120A,从而使快闪存储器器件120A可以(例如,根据编程模式数据的状态)执行接收自快闪存储器控制器110的分式编程命令,或者响应于接收自快闪存储器控制器110的常规编程命令而执行常规编程操作。
图5示出了作为图1A的快闪存储器器件120A的一个实施方式的快闪存储器器件500的功能框图。存储器器件500包括I/O控制电路510、控制寄存器电路520、命令接口逻辑530、编程与擦除控制器540、阵列控制逻辑550、高电压电路560、数据缓冲器570以及存储器阵列580。I/O控制电路510、控制寄存器电路520、命令接口逻辑530、编程与擦除控制器540、阵列控制逻辑550、高电压电路560以及数据缓冲器570共同形成图1A的控制电路130的一个实施方式,而存储器阵列580则形成图1A的存储器阵列140的一个实施方式。
I/O控制电路510耦合到存储器器件的I/O引脚,经由控制线511-513耦合到控制寄存器电路520,并且经由数据线514耦合到数据缓冲器570。众所周知的I/O控制电路510经由I/O引脚接收要被编程到存储器阵列580中的数据,并且将读取自存储器阵列580的数据提供给I/O引脚。控制寄存器电路520包括地址寄存器521、状态寄存器522以及命令寄存器523。地址寄存器521耦合到存储器阵列580,状态寄存器522耦合到命令接口逻辑530,并且命令寄存器523耦合到命令接口逻辑530。
存储器阵列580包括非易失性存储器单元(为简单起见而未示出)的阵列581、行解码器582以及页面缓冲器584。包含于阵列581中的存储器单元可以是任何合适的非易失性存储器单元,如:例如那些使用浮栅晶体管形成的存储器单元等。行解码器582响应于地址寄存器521所提供的地址信息来选择存储器单元的用于阵列操作(例如,编程和读取操作)的行。页面缓冲器584储存在编程操作期间要被编程到存储器阵列581中的数据,并且储存在读取操作期间从存储器阵列581读取的数据。
命令接口逻辑530耦合到器件控制引脚,并且还耦合到状态寄存器522、耦合到编程与擦除控制器540、耦合到阵列控制逻辑550、耦合到数据缓冲器570,并且耦合到页面缓冲器584。在操作中,命令接口逻辑530接收来自快闪存储器控制器110的分式编程命令(另见图1A),并且响应于其而向阵列控制逻辑550、向编程与擦除控制器540提供控制信号。命令接口逻辑530还响应性地提供在生成并向存储器单元阵列581应用编程脉冲的数据缓冲器570上的控制。对于其他实施方式,命令接口逻辑530包括或相关于命令队列132(未在图5中示出),并且被配置用以响应于接收自快闪存储器控制器110的编程命令而创建多个分式编程命令。
编程与擦除控制器540包括用于接收来自命令接口逻辑530的控制信号的输入,并且包括用于向阵列控制逻辑550提供控制信号的输出。阵列控制逻辑550接收来自命令接口逻辑530的命令以及来自编程与擦除控制器540的控制信号,并包括耦合到HV电路560、耦合到行解码器582并且耦合到页面缓冲器584的输出。
HV电路560包括耦合到阵列控制逻辑550的输入,并且包括耦合到存储器阵列单元581并且耦合到行解码器582的输出。HV电路560响应于阵列控制逻辑550所提供的控制信号,在编程与擦除操作期间向存储器阵列580提供高电压信号。
数据缓冲器570耦合到命令接口逻辑530并且耦合到I/O控制电路510。在操作中,数据缓冲器570接收来自命令接口逻辑530的控制信号,并且在编程操作期间接收来自I/O控制电路510的数据或者在读取操作期间向I/O控制电路510提供读取自存储器阵列580的数据。数据缓冲器570例如用于在编程和读取操作期间对数据进行缓冲,因为连接在快闪存储器控制器110与I/O控制电路510之间的数据总线的宽度通常远小于阵列581中的存储器页面的宽度。例如,在一些实施方式中,存储器器件500一次只能够从快闪存储器控制器110接收一个字节(例如,八个数据位元),而页面缓冲器584可以被用作缓存,以积累用于关于存储器阵列581的同时页面尺寸编程或读取操作的数据。
图6示出了在其内可以采用当前实施方式的示例性计算机系统600。系统600包括中央处理单元(CPU)611、主机控制器612、I/O控制器613、DRAM 620、I/O设备630、快闪存储器控制器110以及快闪存储器器件120。CPU 611经由众所周知的总线连接到主机控制器612和I/O控制器613。CPU 611、主机控制器612以及I/O控制器613是众所周知的,并且共同形成作为图1A-图1C的主机设备150的一个实施方式的主机设备610。对于一些实施方式,CPU 611和主机控制器612可以形成于同一芯片上。对于其他实施方式,CPU 611、主机控制器612以及I/O控制器613可以形成在同一芯片上。
I/O控制器613耦合到I/O设备630,后者潜在地包括诸如:例如监视器、键盘、鼠标以及其他I/O设备或电路之类的众所周知的组件。主机控制器612可以耦合到用作计算机系统600的主存储器的DRAM系统620,并且可以经由快闪存储器控制器110耦合到快闪存储器器件120。对于其他实施方式,可以将快闪存储器控制器110连接到I/O控制器613而不是主机控制器612。快闪存储器器件120也可以起到图6中所示的示例性计算机系统的主存储器的作用。对于其他实施方式,可以摒弃DRAM620,并且可以将快闪存储器器件120用作主要的主存储器组件。
相比于常规快闪存储器系统,采用快闪存储器控制器110和快闪存储器器件120的当前实施方式在计算机系统600中作为主存储器具有几个优点。首先,通过使用多个可独立执行的分式编程命令对快闪存储器器件120进行编程,快闪存储器控制器110可以在编程操作期间为了其他操作(例如,读取操作)而访问快闪存储器器件120。更具体而言,由于每个分式编程命令可被配置成以明显地比完全编程存储器单元所需的编程脉冲的总持续时间更短的持续时间向被寻址的存储器单元应用单个的编程脉冲,所以分式编程命令需要的时间明显少于全PV周期序列。作为结果,在对存储器阵列的被寻址的部分进行编程操作期间,快闪存储器控制器110可以通过在发布任何更多的相关于编程操作的分式编程命令之前发布适当的命令(例如,访问存储器阵列的其他部分的命令)而快速地访问存储器阵列的其他部分。其次,由于快闪存储器控制器110在编程操作期间对个体编程脉冲在存储器单元的应用进行计划,所以快闪存储器控制器110知晓编程操作的进度,并因此也能够以高效的方式对其他非编程命令在存储器器件120中的执行进行计划。这与在其中快闪存储器控制器放弃对快闪存储器器件进行的编程操作的控制且在此期间其任何存储器单元通常对于其他操作都不可用的常规快闪存储器系统形成对比。
在以上描述中阐述了众多具体细节,如具体例子、组件、电路以及处理过程等,以提供对目前实施方式的深入理解。然而,本领域中的技术人员将会清楚,并不需要采用这些具体细节来实践目前实施方式。在其他情况中,没有详细描述众所周知的组件或方法,以避免不必要地模糊目前实施方式。因此,尽管在上文中是以交叉非编程操作与快闪存储器器件的PV周期为背景而描述的,但目前实施方式同样适用于利用增量编程技术的任何类型的存储器器件。
Claims (67)
1.一种存储器系统,其包括:
存储器器件,所述存储器器件包括非易失性存储器单元的阵列;以及
存储器控制器,所述存储器控制器包括用以接收为了编程操作而寻址若干所述存储器单元的编程命令的第一端口,具有经由命令流水线耦合到所述存储器器件的第二端口,并且被配置用以响应于所述编程命令而创建多个独立的分式编程命令,其中每个分式编程命令的执行逐步地用编程数据对所述被寻址的存储器单元进行编程。
2.根据权利要求1的存储器系统,其中每个分式编程命令向选定的存储器单元应用单个编程脉冲,并且其中各编程脉冲的持续时间是用编程数据对所述存储器单元进行编程所需的总编程时间的选定的一部分。
3.根据权利要求2的存储器系统,其中所述编程命令包括脉冲宽度值,该脉冲宽度值确定出与所述分式编程命令中的每一个相关的所述编程脉冲的持续时间。
4.根据权利要求1的存储器系统,其中所述编程命令包括限值,所述限值指定由所述存储器控制器所创建的分式编程命令的最大数量。
5.根据权利要求1的存储器系统,其中各分式编程命令的执行还验证所述编程数据。
6.根据权利要求1的存储器系统,其中所述存储器控制器还被配置用以选择性地向所述命令流水线中的选定数量的所述分式编程命令前插入非编程命令。
7.根据权利要求6的存储器系统,其中所述非编程命令在所述编程操作正在进行的同时在所述存储器器件中执行,而不中断任何所述分式编程命令的执行。
8.根据权利要求6的存储器系统,其中所述非编程命令包括读取命令。
9.根据权利要求1的存储器系统,其中所述存储器控制器还包括:
命令队列,其用于储存多个分式编程命令。
10.根据权利要求9的存储器系统,其中所述存储器控制器被配置用以选择性地在先前排列在所述命令队列中的选定数量的所述分式编程命令之前插入非编程命令。
11.根据权利要求10的存储器系统,其中所述存储器控制器还包括:
编程地址寄存器,其用于存储在所述编程操作期间被编程的存储器单元的地址;以及
控制电路,其用于将相关于所述非编程命令的地址与存储在所述编程地址寄存器中的编程地址进行比较,其中所述控制电路响应于所述比较而选择性地将所述非编程命令转发到所述命令队列。
12.根据权利要求11的存储器系统,其中所述控制电路在相关于所述非编程命令的所述地址不与储存在所述编程地址寄存器中的任何所述编程地址相匹配时将所述非编程命令转发到所述命令队列。
13.根据权利要求1的存储器系统,其还包括:
模式寄存器,其用于储存指示出编程模式的模式数据。
14.根据权利要求13的存储器系统,其中所述存储器控制器在所述模式数据处于第一状态中时响应于所述编程命令而生成所述分式编程命令,并且在所述模式数据处于第二状态中时响应于所述编程命令而启动编程-验证周期序列。
15.一种用于将数据编程到包括有存储器单元阵列的存储器器件中的方法,所述方法包括:
接收为了编程操作而寻址若干所述存储器单元以在其中编程数据的编程命令;
响应于所述编程命令而创建多个独立的分式编程命令;并且
选择性地将所述分式编程命令转发到所述存储器器件用于执行,其中各分式编程命令的执行逐步地用所述编程数据来编程所述被寻址的存储器单元。
16.根据权利要求15的方法,其还包括:
将所述分式编程命令排列在命令队列中。
17.根据权利要求16的方法,其还包括:
接收非编程命令;
选择性地将所述非编程命令插入到所述命令队列中选定数量的所述分式编程命令之前;并且
在执行选定数量的分式编程命令之前在所述存储器器件中执行所述非编程命令。
18.根据权利要求17的方法,其中选择性地插入包括:
将所述编程命令所识别的所述编程地址储存在编程地址寄存器中;
将相关于所述非编程命令的地址与储存在所述编程地址寄存器中的所述编程地址进行比较,并且
当相关于所述非编程命令的所述地址不与任何所述编程地址相匹配时将所述非编程命令排列在所述命令队列中。
19.根据权利要求18的方法,其中所述相应的分式编程命令还执行验证操作以生成指示出所述被寻址的存储器单元是否已被正确编程的验证数据。
20.根据权利要求19的方法,其还包括:
如果所述验证数据指示出所有所述被寻址的存储器单元都已被正确编程,则从所述编程地址寄存器清除所述相应的编程地址;并且
如果所述验证数据识别出所述被寻址的存储器单元中的一些未被完全编程,则将下一分式编程命令发送到所述阵列以对所述识别的存储器单元进行进一步的编程。
21.根据权利要求15的方法,其还包括:
接收非编程命令;并且
在所述编程操作正在进行的同时选择性地将所述非编程命令转发到所述存储器器件用于执行,而不中断任何所述分式编程命令的执行。
22.根据权利要求21的方法,其中所述选择性转发包括:
将相关于所述非编程命令的地址与由所述编程命令所识别的所述编程地址进行比较;并且
当相关于所述非编程命令的所述地址不与所述编程地址相匹配时立即将所述非编程命令转发到所述存储器器件。
23.根据权利要求15的方法,其中每个分式编程命令向选定的存储器单元应用单个编程脉冲,并且其中各编程脉冲的持续时间是所述编程操作的总时间的选定的一部分。
24.根据权利要求23的方法,其还包括:
与所述编程命令一同提供脉冲宽度值;并且
响应于所述脉冲宽度值而选择性地调节相关于各分式编程命令的所述编程脉冲的持续时间。
25.根据权利要求15的方法,其还包括:
与所述编程命令一同提供限值;并且
响应于所述限值而限制在所述存储器器件中执行的分式编程命令的数量。
26.根据权利要求15的方法,其还包括,对于各分式编程命令:
生成指示出所述相应的分式编程命令是否完全地将所述编程数据编程到了所述被寻址的存储器单元之中的验证数据;并且
响应于所述验证数据而在所述存储器器件中选择性地执行下一分式编程命令。
27.一种快闪存储器器件,其包括:
非易失性存储器单元的阵列;以及
控制电路,其具有用以接收为了编程操作而寻址若干所述存储器单元的编程命令的第一端口,具有经由命令流水线耦合到所述存储器单元的阵列的第二端口,并且被配置用以响应于所述编程命令而创建多个独立的分式编程命令,其中每个分式编程命令的执行逐步地用编程数据来对被寻址的存储器单元进行编程。
28.根据权利要求27的存储器器件,其中每个分式编程命令向选定的存储器单元应用单个编程脉冲,并且其中各编程脉冲的持续时间是用所述编程数据编程所述存储器单元所需的总编程时间的选定的一部分。
29.根据权利要求28的存储器器件,其中所述编程命令包括脉冲宽度值,所述脉冲宽度值确定相关于所述分式编程命令中的每一个分式编程命令的所述编程脉冲的持续时间。
30.根据权利要求27的存储器器件,其中所述编程命令包括限值,所述限值指定所述分式编程命令的最大数量。
31.根据权利要求27的存储器器件,其中每个分式编程命令的执行还验证所述编程数据。
32.根据权利要求27的存储器器件,其中所述控制电路还被配置用以在所述命令流水线中选定数量的所述分式编程命令之前插入非编程命令。
33.根据权利要求32的存储器器件,其中所述非编程命令在所述编程操作正在进行的同时在所述阵列中执行,而不中断任何所述分式编程命令的执行。
34.根据权利要求27的存储器器件,其还包括:
命令队列,其用于储存所述多个分式编程命令。
35.根据权利要求34的存储器器件,其中所述控制电路被配置用以在先前排列于所述命令队列中的选定数量的所述分式编程命令前选择性地插入非编程命令。
36.根据权利要求35的存储器器件,其中所述控制电路还包括:
编程地址寄存器,其用于储存由所述编程命令所寻址的所述存储器单元地址,其中所述控制电路响应于相关于所述非编程命令的地址与储存在所述编程地址寄存器中的编程地址之间的比较而选择性地将所述非编程命令转发到所述命令队列。
37.根据权利要求36的存储器器件,其中所述控制电路在相关于所述非编程命令的所述地址不与任何储存在所述编程地址寄存器中的所述编程地址相匹配时将所述非编程命令排列在所述命令队列中。
38.根据权利要求27的存储器器件,其还包括:
模式寄存器,其用于储存指示出编程模式的模式数据。
39.根据权利要求38的存储器器件,其中所述控制电路在所述模式数据处于第一状态中时响应于所述编程命令而生成所述分式编程命令,并且在所述模式数据处于第二状态中时执行接收自外部源的分式编程命令。
40.根据权利要求39的存储器器件,其中所述控制电路在所述模式数据处于第三状态中时响应于所述编程命令而启动编程-验证周期序列。
41.一种用于将数据编程到具有存储器单元阵列的存储器器件之中的系统,其包括:
用于接收为了编程操作而寻址若干所述存储器单元用以在其中编程数据的编程命令的装置;
用于响应于所述编程命令而创建多个独立的分式编程命令的装置;
用于将所述分式编程命令选择性地转发到所述存储器器件用于执行的装置,其中每个分式编程命令的执行逐步地用所述编程数据来编程所述被寻址的存储器单元。
42.根据权利要求41的系统,其中每个分式编程命令向选定的存储器单元应用单个编程脉冲,并且其中各编程脉冲的持续时间为用所述编程数据来编程所述存储器单元所需的总编程时间的选定的一部分。
43.根据权利要求41的系统,其还包括:
用于接收非编程命令的装置;以及
用于在所述编程操作正在进行的同时在所述存储器器件中选择性地执行所述非编程命令而不中断任何所述分式编程命令的执行的装置。
44.根据权利要求41的系统,其中所述用于选择性执行的装置还包括:
用于将相关于所述非编程命令的地址与由所述编程命令所识别的所述编程地址进行比较的装置;以及
用于在相关于所述非编程命令的所述地址不与所述编程地址相匹配时立即将所述非编程命令转发到所述存储器器件用于在其中执行的装置。
45.一种存储器器件,其包括:
非易失性存储器单元阵列;以及
控制电路,其包括用以接收寻址若干所述存储器单元用于编程操作的编程命令的第一端口,具有经由编程流水线耦合到所述阵列的第二端口,并且其被配置用以响应于所述编程命令而向所述阵列发布可独立执行的分式编程命令,其中所述分式编程命令的执行逐步地用编程数据来编程所述寻址的存储器单元。
46.根据权利要求45的存储器器件,其中每个分式编程命令向选定的存储器单元应用单个编程脉冲,并且其中所述编程脉冲的持续时间为用所述编程数据来编程所述存储器单元所需的总编程时间的选定的一部分。
47.根据权利要求46的存储器器件,其中所述编程命令包括脉冲宽度值,所述脉冲宽度值确定与所述分式编程命令中的每个分式编程命令相关的所述编程脉冲的持续时间。
48.根据权利要求45的存储器器件,其中所述分式编程命令的执行还执行验证操作,所述验证操作生成指示出所述分式编程命令是否已完全地编程了所述被寻址的存储器单元的验证数据。
49.根据权利要求48的存储器器件,其中所述控制电路还被配置用以响应于所述验证数据而在所述阵列中选择性地执行下一分式编程命令,以进一步用所述编程数据来逐步地编程所述被寻址的存储器单元。
50.一种计算机可读介质,其具有实施于其中的包括对装置的描述的信息,所述信息包括如下设备的描述:
非易失性存储器单元阵列;以及
控制电路,其具有用以接收寻址若干所述存储器单元用于编程操作的编程命令的第一端口,具有经由编程流水线耦合到所述存储器单元阵列的第二端口,并且其被配置用以响应于所述编程命令而创建多个独立的分式编程命令,其中每个分式编程命令的执行向所述被寻址的存储器单元应用单个编程脉冲,以逐步地用编程数据来编程所述被寻址的存储器单元。
51.根据权利要求50的计算机可读介质,其中每个编程脉冲的持续时间为用所述编程数据来编程所述存储器单元所需的总编程时间的选定的一部分。
52.根据权利要求51的计算机可读介质,其中所述编程命令包括脉冲宽度值,所述脉冲宽度值确定相关于所述分式编程命令中的每个分式编程命令的所述编程脉冲的持续时间。
53.根据权利要求50的计算机可读介质,其中所述编程命令包括限值,所述限值指定由所述控制电路所创建的分式编程命令的最大数量。
54.根据权利要求50的计算机可读介质,其中每个分式编程命令的执行还验证所述编程数据。
55.根据权利要求50的计算机可读介质,其中所述控制电路还被配置用以选择性地向所述命令流水线中选定数量的所述分式编程命令前插入非编程命令。
56.根据权利要求55的计算机可读介质,其中所述非编程命令在所述编程操作正在进行的同时在所述阵列中执行,而不中断任何所述分式编程命令的执行。
57.根据权利要求50的计算机可读介质,其中所述控制电路还包括:
命令队列,其用于储存多个分式编程命令。
58.根据权利要求57的计算机可读介质,其中所述控制电路被配置用以选择性地向先前排列在所述命令队列中的选定数量的所述分式编程命令前插入非编程命令。
59.根据权利要求58的计算机可读介质,其中所述控制电路还包括:
用于储存由所述编程命令所识别的所述编程地址的编程地址寄存器,其中所述控制电路响应于相关于所述非编程命令的地址与储存在所述编程地址寄存器中的所述编程地址之间的比较而将所述非编程命令选择性地转发到所述命令队列。
60.根据权利要求59的计算机可读介质,其中所述控制电路在相关于所述非编程命令的所述地址不与储存在所述编程地址寄存器中的所述编程地址相匹配时,将所述非编程命令排列在所述命令队列中。
61.根据权利要求50的计算机可读介质,其还包括:
模式寄存器,其用于储存指示出编程模式的模式数据。
62.根据权利要求61的计算机可读介质,其中所述控制电路在所述模式数据处于第一状态中时响应于所述编程命令而生成所述分式编程命令,并且在所述模式数据处于第二状态中时执行接收自外部源的分式编程命令。
63.根据权利要求62的计算机可读介质,其中所述控制电路在所述模式数据处于第三状态中时响应于所述编程命令而启动编程-验证周期序列。
64.一种设备,其包括:
非易失性存储器单元阵列;
用于接收寻址所述存储器阵列的一个或多个页面用于编程操作的多个独立的分式编程命令的装置,其中每个分式编程命令的执行逐步地在其中编程数据;
用于储存相关于所述编程操作的所述页面地址的装置;
用于接收寻址所述存储器阵列的一个或多个页面的后续存储器请求的装置;
用于将相关于所述编程操作的所述页面地址与相关于所述存储器请求的所述页面地址进行比较的装置;以及
用于响应于所述比较而在所述编程操作正在进行的同时选择性地执行所述存储器请求且不中断所述分式编程命令的执行的装置。
65.根据权利要求64的设备,其中如果相关于所述编程操作的所述页面地址不与相关于所述存储器请求的所述页面地址相匹配,则在所述编程操作正在进行的同时执行所述存储器请求。
66.根据权利要求64的设备,其中如果相关于所述编程操作的所述页面地址与相关于所述存储器请求的所述页面地址相匹配,则搁置所述存储器请求。
67.根据权利要求64的设备,其中每个分式编程命令向选定的存储器单元应用单个编程脉冲。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US5271008P | 2008-05-13 | 2008-05-13 | |
US61/052,710 | 2008-05-13 | ||
PCT/US2009/042952 WO2009140112A1 (en) | 2008-05-13 | 2009-05-06 | Fractional program commands for memory devices |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102027455A true CN102027455A (zh) | 2011-04-20 |
Family
ID=40951674
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200980116805XA Pending CN102027455A (zh) | 2008-05-13 | 2009-05-06 | 用于存储器器件的分式编程命令 |
Country Status (6)
Country | Link |
---|---|
US (3) | US9966142B2 (zh) |
JP (1) | JP5345679B2 (zh) |
KR (1) | KR20110010770A (zh) |
CN (1) | CN102027455A (zh) |
GB (1) | GB2474592B (zh) |
WO (1) | WO2009140112A1 (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103164171A (zh) * | 2011-12-19 | 2013-06-19 | 富士通株式会社 | 存储装置和命令执行控制方法 |
CN103677665A (zh) * | 2012-09-14 | 2014-03-26 | 三星电子株式会社 | 嵌入式多媒体卡、控制其的主机及操作其系统的方法 |
CN104952475A (zh) * | 2014-03-28 | 2015-09-30 | 华邦电子股份有限公司 | 快闪存储器及其编程方法 |
CN107665722A (zh) * | 2016-07-29 | 2018-02-06 | 三星电子株式会社 | 存储装置、包括存储装置的系统以及操作存储装置的方法 |
CN109508205A (zh) * | 2017-09-15 | 2019-03-22 | 北京忆恒创源科技有限公司 | 支持原位操作的nvm芯片、其操作方法以及固态存储设备 |
CN110245097A (zh) * | 2018-03-08 | 2019-09-17 | 爱思开海力士有限公司 | 存储器控制器及具有存储器控制器的存储器系统 |
CN111309654A (zh) * | 2018-12-11 | 2020-06-19 | 爱思开海力士有限公司 | 存储装置及操作存储装置的方法 |
Families Citing this family (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8645617B2 (en) * | 2008-12-09 | 2014-02-04 | Rambus Inc. | Memory device for concurrent and pipelined memory operations |
DE112010003762B4 (de) | 2009-12-11 | 2012-12-06 | International Business Machines Corporation | Flash-Speicher-Steuereinheit |
JP4966404B2 (ja) | 2010-10-21 | 2012-07-04 | 株式会社東芝 | メモリ制御装置、記憶装置、及びメモリ制御方法 |
US8543758B2 (en) * | 2011-05-31 | 2013-09-24 | Micron Technology, Inc. | Apparatus including memory channel control circuit and related methods for relaying commands to logical units |
US8930866B2 (en) * | 2013-03-11 | 2015-01-06 | Taiwan Semiconductor Manufacturing Company, Ltd. | Method of converting between non-volatile memory technologies and system for implementing the method |
US9239788B2 (en) * | 2013-10-24 | 2016-01-19 | Qualcomm Incorporated | Split write operation for resistive memory cache |
KR102401271B1 (ko) * | 2015-09-08 | 2022-05-24 | 삼성전자주식회사 | 메모리 시스템 및 그 동작 방법 |
WO2017086925A1 (en) * | 2015-11-17 | 2017-05-26 | Hewlett Packard Enterprise Development Lp | Iterative write sequence interrupt |
US10467157B2 (en) | 2015-12-16 | 2019-11-05 | Rambus Inc. | Deterministic operation of storage class memory |
US10254967B2 (en) | 2016-01-13 | 2019-04-09 | Sandisk Technologies Llc | Data path control for non-volatile memory |
US10289596B2 (en) * | 2016-06-07 | 2019-05-14 | Macronix International Co., Ltd. | Memory and method for operating a memory with interruptible command sequence |
US10528267B2 (en) | 2016-11-11 | 2020-01-07 | Sandisk Technologies Llc | Command queue for storage operations |
US10528286B2 (en) * | 2016-11-11 | 2020-01-07 | Sandisk Technologies Llc | Interface for non-volatile memory |
US10528255B2 (en) * | 2016-11-11 | 2020-01-07 | Sandisk Technologies Llc | Interface for non-volatile memory |
DE102017105155B4 (de) | 2016-11-11 | 2023-09-07 | Sandisk Technologies Llc | Schnittstelle für einen nichtflüchtigen speicher |
CN111433749B (zh) | 2017-10-12 | 2023-12-08 | 拉姆伯斯公司 | 具有dram高速缓存的非易失性物理存储器 |
JP7249106B2 (ja) | 2018-03-27 | 2023-03-30 | 黒崎播磨株式会社 | 内装体及びその製造方法 |
US11080210B2 (en) * | 2018-09-06 | 2021-08-03 | Micron Technology, Inc. | Memory sub-system including an in package sequencer separate from a controller |
US10991445B2 (en) | 2018-09-06 | 2021-04-27 | Micron Technology, Inc. | Memory sub-system including an in-package sequencer to perform error correction and memory testing operations |
US11061751B2 (en) | 2018-09-06 | 2021-07-13 | Micron Technology, Inc. | Providing bandwidth expansion for a memory sub-system including a sequencer separate from a controller |
JP6995252B1 (ja) | 2018-12-03 | 2022-02-09 | ヒューレット-パッカード デベロップメント カンパニー エル.ピー. | 論理回路 |
FR3104285B1 (fr) * | 2019-12-05 | 2022-05-27 | St Microelectronics Grenoble 2 | Contrôle d’intégrité d’une mémoire |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060221704A1 (en) * | 2005-04-01 | 2006-10-05 | Yan Li | Use of data latches in cache operations of non-volatile memories |
US20070211537A1 (en) * | 2006-03-10 | 2007-09-13 | Min-Gun Park | Nonvolatile memory device and related programming method |
US7280398B1 (en) * | 2006-08-31 | 2007-10-09 | Micron Technology, Inc. | System and memory for sequential multi-plane page memory operations |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6421786A (en) * | 1987-07-15 | 1989-01-25 | Nec Corp | Semiconductor memory |
US5519847A (en) * | 1993-06-30 | 1996-05-21 | Intel Corporation | Method of pipelining sequential writes in a flash memory |
JPH07160569A (ja) * | 1993-12-09 | 1995-06-23 | Matsushita Electric Ind Co Ltd | メモリ制御装置 |
JP3440032B2 (ja) | 1999-07-15 | 2003-08-25 | パナソニック コミュニケーションズ株式会社 | メモリ制御装置,ファクシミリ装置および画像形成装置 |
JP3621051B2 (ja) * | 2001-04-26 | 2005-02-16 | Tdk株式会社 | メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム及びフラッシュメモリの制御方法 |
US7554842B2 (en) * | 2001-09-17 | 2009-06-30 | Sandisk Corporation | Multi-purpose non-volatile memory card |
US6751129B1 (en) * | 2002-05-21 | 2004-06-15 | Sandisk Corporation | Efficient read, write methods for multi-state memory |
JP2004240892A (ja) | 2003-02-07 | 2004-08-26 | Sony Corp | コマンドデコード用論理回路およびプロセッサ、並びに情報処理装置 |
KR100632940B1 (ko) * | 2004-05-06 | 2006-10-12 | 삼성전자주식회사 | 프로그램 사이클 시간을 가변시킬 수 있는 불 휘발성반도체 메모리 장치 |
US7490283B2 (en) * | 2004-05-13 | 2009-02-10 | Sandisk Corporation | Pipelined data relocation and improved chip architectures |
US7656710B1 (en) * | 2005-07-14 | 2010-02-02 | Sau Ching Wong | Adaptive operations for nonvolatile memories |
US7305907B2 (en) * | 2005-12-14 | 2007-12-11 | Scott Burwell | Skateboard tool |
JP2007179669A (ja) | 2005-12-28 | 2007-07-12 | Toshiba Corp | メモリシステム |
JP4909670B2 (ja) * | 2006-01-24 | 2012-04-04 | 株式会社東芝 | 不揮発性半導体記憶装置及びそれを用いた不揮発性メモリシステム |
KR101490327B1 (ko) * | 2006-12-06 | 2015-02-05 | 퓨전-아이오, 인크. | 뱅크 인터리브를 이용한 솔리드-스테이트 스토리지의 명령 관리 장치, 시스템 및 방법 |
KR100877104B1 (ko) * | 2007-06-26 | 2009-01-07 | 주식회사 하이닉스반도체 | 멀티 레벨 셀 플래시 메모리소자의 프로그램 방법 |
US8762620B2 (en) * | 2007-12-27 | 2014-06-24 | Sandisk Enterprise Ip Llc | Multiprocessor storage controller |
US8261158B2 (en) * | 2009-03-13 | 2012-09-04 | Fusion-Io, Inc. | Apparatus, system, and method for using multi-level cell solid-state storage as single level cell solid-state storage |
-
2009
- 2009-05-06 CN CN200980116805XA patent/CN102027455A/zh active Pending
- 2009-05-06 JP JP2011509560A patent/JP5345679B2/ja active Active
- 2009-05-06 GB GB1019496.7A patent/GB2474592B/en active Active
- 2009-05-06 WO PCT/US2009/042952 patent/WO2009140112A1/en active Application Filing
- 2009-05-06 KR KR1020107027763A patent/KR20110010770A/ko not_active Application Discontinuation
- 2009-05-06 US US12/990,945 patent/US9966142B2/en active Active
-
2018
- 2018-04-18 US US15/956,647 patent/US10861554B2/en active Active
-
2020
- 2020-11-19 US US16/953,182 patent/US11651823B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060221704A1 (en) * | 2005-04-01 | 2006-10-05 | Yan Li | Use of data latches in cache operations of non-volatile memories |
US20070211537A1 (en) * | 2006-03-10 | 2007-09-13 | Min-Gun Park | Nonvolatile memory device and related programming method |
US7280398B1 (en) * | 2006-08-31 | 2007-10-09 | Micron Technology, Inc. | System and memory for sequential multi-plane page memory operations |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103164171A (zh) * | 2011-12-19 | 2013-06-19 | 富士通株式会社 | 存储装置和命令执行控制方法 |
CN103677665B (zh) * | 2012-09-14 | 2018-05-18 | 三星电子株式会社 | 嵌入式多媒体卡、控制其的主机及操作其系统的方法 |
US9792072B2 (en) | 2012-09-14 | 2017-10-17 | Samsung Electronics Co., Ltd. | Embedded multimedia card (eMMC), host controlling eMMC, and method operating eMMC system |
CN103677665A (zh) * | 2012-09-14 | 2014-03-26 | 三星电子株式会社 | 嵌入式多媒体卡、控制其的主机及操作其系统的方法 |
CN104952475A (zh) * | 2014-03-28 | 2015-09-30 | 华邦电子股份有限公司 | 快闪存储器及其编程方法 |
CN104952475B (zh) * | 2014-03-28 | 2017-11-03 | 华邦电子股份有限公司 | 快闪存储器及其编程方法 |
CN107665722A (zh) * | 2016-07-29 | 2018-02-06 | 三星电子株式会社 | 存储装置、包括存储装置的系统以及操作存储装置的方法 |
CN107665722B (zh) * | 2016-07-29 | 2023-05-23 | 三星电子株式会社 | 存储装置、包括存储装置的系统以及操作存储装置的方法 |
CN109508205A (zh) * | 2017-09-15 | 2019-03-22 | 北京忆恒创源科技有限公司 | 支持原位操作的nvm芯片、其操作方法以及固态存储设备 |
CN109508205B (zh) * | 2017-09-15 | 2024-04-05 | 北京忆恒创源科技股份有限公司 | 支持原位操作的nvm芯片、其操作方法以及固态存储设备 |
CN110245097A (zh) * | 2018-03-08 | 2019-09-17 | 爱思开海力士有限公司 | 存储器控制器及具有存储器控制器的存储器系统 |
CN111309654A (zh) * | 2018-12-11 | 2020-06-19 | 爱思开海力士有限公司 | 存储装置及操作存储装置的方法 |
CN111309654B (zh) * | 2018-12-11 | 2023-08-01 | 爱思开海力士有限公司 | 存储装置及操作存储装置的方法 |
Also Published As
Publication number | Publication date |
---|---|
US10861554B2 (en) | 2020-12-08 |
JP2011523157A (ja) | 2011-08-04 |
KR20110010770A (ko) | 2011-02-07 |
US20180301194A1 (en) | 2018-10-18 |
US11651823B2 (en) | 2023-05-16 |
US20110060875A1 (en) | 2011-03-10 |
GB2474592A (en) | 2011-04-20 |
GB2474592B (en) | 2013-01-23 |
US9966142B2 (en) | 2018-05-08 |
JP5345679B2 (ja) | 2013-11-20 |
US20210174875A1 (en) | 2021-06-10 |
WO2009140112A1 (en) | 2009-11-19 |
GB201019496D0 (en) | 2010-12-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102027455A (zh) | 用于存储器器件的分式编程命令 | |
US11182074B2 (en) | Apparatuses and methods for concurrently accessing multiple memory planes of a memory during a memory access operation | |
US11068388B2 (en) | Verify before program resume for memory devices | |
JP5002201B2 (ja) | メモリシステム | |
US7843758B2 (en) | Multi-chip package flash memory device and method for reading status data therefrom | |
US7334080B2 (en) | Nonvolatile memory with independent access capability to associated buffer | |
US8243514B2 (en) | Non-volatile memory devices and systems including multi-level cells using modified read voltages and methods of operating the same | |
KR102514772B1 (ko) | 비동기적 동작 수행이 가능한 비휘발성 메모리 장치와 이를 포함하는 메모리 시스템, 그리고 이의 동작 수행 방법 | |
US20050273548A1 (en) | Memory system with user configurable density/performance option | |
CN101009139B (zh) | 能补偿由于高温应力状态间读出边界减小的闪存编程方法 | |
JP2012174331A (ja) | 不揮発性メモリ装置及びメモリコントローラとこれらの動作方法、メモリシステムの動作方法、並びにウェアレベリング方法 | |
CN109471593A (zh) | 存储装置及其数据训练方法 | |
CN105874438B (zh) | 多裸芯写入管理中的模式突破 | |
US10838726B1 (en) | Asynchronous FIFO buffer for redundant columns in memory device | |
CN108335711A (zh) | 非易失性存储器件、其操作方法及存储设备 | |
CN109841253B (zh) | 半导体存储装置及其复位方法 | |
KR100621637B1 (ko) | 프로그램 시간을 단축시킬 수 있는 플래시 메모리 장치 및그것의 프로그램 방법 | |
US7616483B2 (en) | Multi-bit-per-cell flash memory device with an extended set of commands | |
CN114267400A (zh) | 存储系统 | |
US20100202194A1 (en) | Dynamically allocable regions in non-volatile memories |
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 |
Application publication date: 20110420 |