CN110678927B - 具有校准支持的存储器中的延迟回写 - Google Patents
具有校准支持的存储器中的延迟回写 Download PDFInfo
- Publication number
- CN110678927B CN110678927B CN201880033858.4A CN201880033858A CN110678927B CN 110678927 B CN110678927 B CN 110678927B CN 201880033858 A CN201880033858 A CN 201880033858A CN 110678927 B CN110678927 B CN 110678927B
- Authority
- CN
- China
- Prior art keywords
- memory
- page
- data
- cache
- array
- 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.)
- Active
Links
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/22—Safety or protection circuits preventing unauthorised or accidental access to memory cells
-
- 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
-
- 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/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0804—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with main memory updating
-
- 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/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0893—Caches characterised by their organisation or structure
-
- 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/0604—Improving or facilitating administration, e.g. storage management
-
- 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/0629—Configuration or reconfiguration of storage systems
- G06F3/0634—Configuration or reconfiguration of storage systems by changing the state or mode of one or more devices
-
- 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/0685—Hybrid storage combining heterogeneous device types, e.g. hierarchical storage, hybrid arrays
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
- G11C11/401—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
- G11C11/4063—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
- G11C11/407—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
- G11C11/4076—Timing circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
- G11C11/401—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
- G11C11/4063—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
- G11C11/407—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
- G11C11/4078—Safety or protection circuits, e.g. for preventing inadvertent or unauthorised reading or writing; Status cells; Test cells
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
- G11C11/401—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
- G11C11/4063—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
- G11C11/407—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
- G11C11/409—Read-write [R-W] circuits
- G11C11/4096—Input/output [I/O] data management or control circuits, e.g. reading or writing circuits, I/O drivers or bit-line switches
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/52—Protection of memory contents; Detection of errors in memory contents
-
- 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/60—Details of cache memory
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C2207/00—Indexing scheme relating to arrangements for writing information into, or reading information out from, a digital store
- G11C2207/22—Control and timing of internal memory operations
- G11C2207/2245—Memory devices with an internal cache buffer
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C2207/00—Indexing scheme relating to arrangements for writing information into, or reading information out from, a digital store
- G11C2207/22—Control and timing of internal memory operations
- G11C2207/2254—Calibration
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Human Computer Interaction (AREA)
- Databases & Information Systems (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Dram (AREA)
Abstract
具有对与先前打开的页对应的数据的到阵列的延迟回写的存储器允许避免与回写操作相关联的延迟。在初始激活打开第一页并且对该页的读取/写入操作完成之后,将打开的页回写到存储器单元的阵列被延迟直到完成打开新页的后续激活操作之后。还公开了在没有另一个激活操作的情况下强制回写的技术。还支持校准和测试序列,其中非破坏性模式保留存储在非易失性存储器阵列中的数据,并且用于指示打开的页的状态位被清除,因此之后的由于校准或测试的无意的延迟回写操作不会损坏非易失性数据。
Description
相关申请的交叉引用
本专利申请依据35U.S.C.§365要求于2017年4月27日提交的美国非临时专利申请No.15/499,136的权益,该美国非临时专利申请的全部内容通过引用并入本文。
技术领域
本文的公开内容一般而言涉及具有对阵列的延迟回写的存储器设备,并且更特别地,涉及用于支持其中使用校准过程的存储器设备中的这种延迟回写操作的电路和方法。
背景技术
自旋-扭矩磁存储器设备通过控制跨磁隧道结(MTJ)的电阻来存储信息,使得通过磁隧道结的读电流导致具有基于磁阻堆叠的状态的量值的电压降。每个磁隧道结中的电阻可以基于磁阻堆叠内的磁阻层的相对磁状态而变化。在这种存储器设备中,通常存在具有固定磁状态的磁阻堆叠的一部分和具有自由磁状态的另一部分,该自由磁状态被控制为相对于具有固定磁状态的部分是两种可能状态中的任一种。因为通过磁隧道结的电阻基于自由部分相对于固定部分的朝向而改变,所以可以通过设置自由部分的朝向来存储信息。稍后通过感测自由部分的朝向来取回信息。这种磁存储器设备在本领域中是众所周知的。
诸如磁随机存取存储器(MRAM)之类的一些磁阻存储器设备支持也由其它存储器设备使用的访问协议。例如,使用同步双数据速率协议的动态随机存取存储器(DRAM)设备(例如DDR SDRAM、DDR2 SDRAM、DDR3 SDRAM、DDR4 SDRAM等)在本领域中是众所周知的。一些MRAM设备支持这种协议,其中与用于DDR SDRAM设备的相同的操作代码导致MRAM设备中相同或相似的操作。
附图说明
图1和2是示出现有技术存储器设备中数据访问操作的各个方面的相对定时的框图;
图3是示出根据示例性实施例的存储器设备中的数据访问操作的各个方面的相对定时的框图;
图4是根据示例性实施例的磁存储器设备的一部分的示意图;
图5-7是与根据示例性实施例的用于执行和支持磁存储器中的延迟回写的方法对应的流程图;
图8是根据另一个示例性实施例的磁存储器设备的一部分的示意图以及相关联的定时图;以及
图9和图10是根据示例性实施例的与用于在支持延迟回写的存储器中执行和支持非破坏性校准的方法对应的流程图。
具体实施方式
以下详细描述本质上仅仅是说明性的,并不旨在限制本主题的实施例或这些实施例的应用和使用。本文描述为示例性的任何实现不必被解释为比其它实现更优选或更具优势。
为了说明的简单和清楚,附图描绘了各种实施例的一般结构和/或构造方式。可以省略众所周知的特征和技术的描述和细节,以避免不必要地模糊其它特征。附图中的元件不一定按比例绘制:一些特征的维度可以相对于其它元件被夸大,以帮助改进对示例实施例的理解。
术语“包括”、“包含”、“具有”及其任何变体同义地用于表示非排他性的包含。术语“示例性”在“示例”而非“理想”的意义上使用。
为了简明起见,本文中可能未描述本领域技术人员已知的常规技术、结构和原理,包括例如标准磁随机存取存储器(MRAM)处理技术、偏置电压的生成、磁性的基本原理以及存储器设备的基本操作原理。
在本描述的过程中,根据图示各种示例性实施例的不同附图,相同的数字可以用于识别相同的元件。
为简洁起见,本文中可能不会详细描述与读取和写入存储器有关的常规技术,以及某些系统和子系统(及其各个操作部件)的其它功能方面。此外,本文包含的各个图中所示的连接线旨在表示各种元件之间的示例性功能关系和/或物理耦接。应当注意的是,在本主题的实施例中可以存在许多替代或附加的功能关系或物理连接。
磁存储器设备和其它存储器设备常常包括被划分为多个存储体或子阵列的存储器单元的阵列。在这种存储器设备中,可以单独访问每个存储体,使得存储体之间的访问可以交错,以优化数据吞吐量。一些磁存储器设备支持DDR存储器协议,其中激活操作打开特定存储体中的一页存储器单元。一“页”存储器单元被理解为作为一个单位(unit)一起被访问的一组存储器单元。在一些情况下,一“页”可以构成存储器单元的一“行”。打开一页将该页的数据从存储器单元的阵列移动到高速缓存或其它形式的临时存储装置中,在那里数据更容易被访问。一旦页被激活(打开),可以执行对页的读取和写入操作。在完成对打开的页的读取/写入操作后,页被关闭。当页被关闭时,阵列返回到准备好后续页激活的状态,并且在不再次打开页的情况下无法再次访问已关闭的页中的数据以进行读取和写入。在一些存储器设备中,在激活命令期间移动到临时存储装置的数据立即被回写到阵列,并且在一些情况下,与页打开时执行的写入操作对应的数据也立即被写入阵列中的存储器单元。在这种存储器设备中,预充电操作可以仅对位线预充电并且对与页对应的字线去断言。在其它存储器设备中,在激活期间移动到临时存储装置的数据和写入打开的页的数据直到就在关闭页之前才存储到阵列中。照此,在那些存储器设备中,预充电操作还将包括执行数据从临时存储装置到阵列的回写。通过一直等到就在关闭页之前才将数据回写到阵列,存储器设备可以节省功率或改善与移动或修改数据相关联的定时规范。
具有多个存储体允许打开多个页,从而实现访问的交错。这是因为每个存储体都有允许单独的读取和写入的相应的高速缓存或自己的临时存储装置。图1示出了与三个不同存储体中的三个不同页对应的多个存储器读取的交错。每个方框表示相对于其它正在进行的操作由特定操作所消耗的时间。顶行的方框表示对存储体1页1的读取访问。在110处,发生对存储体1的激活操作。在激活操作期间,从阵列中与存储体1对应的部分取回与页1对应的数据,并将其存储在高速缓存中以进行读取/写入访问。如下面更详细讨论的,激活操作可以非常耗时,尤其是在使用自参考读取操作来感测存储在阵列中的数据的磁阻存储器设备中。
在激活之后,读取请求需要读取访问时间来取得要输出的特定数据。这与方框111对应,该方框被标记为CL,代表“CAS等待时间”。CAS等待时间是通常用于表示接收读取请求和输出与该读取请求对应的数据之间的时间的术语。那个时间与打开的页中的特定数据的选择以及该数据到存储器设备的输出端的路由对应。在方框112期间输出读取的数据。值得注意的是,仅示出了对存储体1页1的单个读取访问,但是应当理解的是,在页打开时可以发生许多读取和写入访问。在与图1和2相关的现有技术存储器设备中,当完成对页的所有访问时,预充电命令使页关闭,并且在方框113处将高速缓存中的数据回写到阵列。相对于在数据在高速缓存中时执行读取和写入操作所需的时间,对阵列的这种回写操作也会是非常耗时的。
如图1中所示,为了“隐藏”与各种操作相关联的延迟的一些,可以在多个存储体中打开多个页。这允许最高效地使用用于向存储器设备和从存储器设备传达命令、地址和数据的各种信号线。例如,一旦存储器已接收到对存储体1的激活命令,就可以发送与存储体2对应的第二激活命令。因为存储体2具有其自己的高速缓存,所以存储体2中的单独页的激活允许存储体1的页1与存储体2的页1同时打开。图1中第二行的方框示出在方框120处的激活存储体2页1的时间与存储体1中的激活和读取的部分110-112重叠。存储体2中的读取操作在定时方面类似于存储体1中的读取操作,并且被示出为包括读取访问时间121、读取数据输出122和预充电方框123。图1的第三行示出了对存储体3的类似操作130-133。
如图1中所示,因为顺序访问是在不同的存储体中(例如,首先从存储体1读取,然后是存储体2,并且然后是存储体3),所以访问的交错允许读取的数据可以由存储器设备相对恒定地输出。对存储体1的读取的数据112之后紧跟着对存储体2的读取的数据122,对存储体2的读取的数据122之后进而跟着对存储体3的读取的数据132。因为存储体之间的交错允许与激活、读取访问时间和预充电相关联的延迟至少在某种程度上被隐藏,所以可以实现高吞吐量。
但是,如图2中所示,在一些情况下,顺序访问可以是对同一存储体中的不同页。在所示的示例中,在方框210处激活存储体1页1,并且在读取访问时间211之后,输出读取的数据212。如果下一次访问是对存储体1页2的读取,那么必须在经由激活220打开存储体1的页2之前经由预充电213关闭存储体1的页1。在激活220之后,直到读取访问时间221之后才输出读取的数据222。然后预充电223关闭存储体1的页2。如从图2清楚的是,对同一存储体的这种背靠背访问不允许完全隐藏与激活、读取访问时间和预充电相关联的时间。有可能当输出最后一个读取的数据时(即,在读取数据方框212完成稍微之前一点)开始预充电操作,但是,如图所示,从第一页的读取数据输出212与从第二页的读取数据输出222之间的时间延迟是显著的。
在当前的动态随机存取存储器(DRAM)中,与激活和预充电操作相关联的定时并不比数据访问周期的其它方面的定时大很多,因此背靠背操作(诸如图2中所示的那些)的延迟可以是可容忍的。但是,在MRAM中,激活和回写操作常常花费更长的时间,从而导致用于这种同一存储体顺序访问的数据访问之间的更大的不期望的延迟。
在一些MRAM中,自参考读取操作用于感测要访问的页的存储在阵列中的数据。在示例自参考读取中,感测通过页中的每个存储器单元的初始电阻,然后将页中的所有存储器单元都写为已知状态,最后,再次感测通过每个单元的写入后的电阻并将其与写入前感测到的初始电阻进行比较。在写入之后电阻与已知状态是否相同指示存储器单元的初始状态。值得注意的是,自参考读取是破坏性的,并且使所有存储器单元处于在两个感测操作之间写入的已知状态。这种自参考读取操作相对于存储器访问的其它方面常常花费大量时间。例如,激活MRAM中的页可能需要大约数百纳秒,而对打开的页的读取操作可能是大约数十纳秒。
类似地,在完成读取/写入访问时将一页数据回写到阵列所需的时间会是显著的。例如,为了延长MRAM设备的寿命,通常避免会快速改变自旋-扭矩存储器单元中的自由层的状态的大量值写入电流脉冲,因为这种大脉冲会损坏磁阻堆叠中的敏感层。为了避免层的击穿,常常采用较低量值和较长持续时间的写入脉冲,因为它们使得能够切换自由层而对设备层具有较小的不利影响。在促进存储器设备的较长的寿命的同时,这种长持续时间的写脉冲延长了回写操作所需的时间。
本文公开的实施例利用关闭的页的数据的延迟回写来帮助提高磁阻存储器设备中的整体吞吐量。这是通过将与正在被关闭的页对应的数据的回写延迟到回写的执行不会对与读取和写入相关联的其它正在进行的操作的定时产生不利影响的时间来实现的。如本文所公开的,在一些实施例中,在对要访问的下一页的激活操作之后执行与先前打开的页对应的回写。在一些实施例中,在存储器中支持这种延迟回写可能需要附加的电路系统或技术以允许实现其它存储器支持功能。例如,一些存储器协议在启动时使用校准序列,以便优化与存储器和其它集成电路(诸如,例如,存储器控制器)之间的信令通知相关联的定时。如下面进一步讨论的,在包括延迟回写操作的存储器的情况下支持这样的校准操作可以受益于确保这种校准操作不会负面地影响存储在这样的存储器设备上的数据的非易失性性质的附加电路和技术。
图3有助于说明延迟回写的概念。如图3中所示,在方框320处,发生对存储体1页2的激活。在读取访问时间321之后,输出读取的数据322。一旦完成与存储体1页2对应的激活操作并且页2数据已从阵列传送到用于读取和写入操作的高速缓存,阵列中的存储体1就不再活动。照此,可以在对新激活的存储体的读取和写入操作发生的时间期间执行与先前打开的存储体对应的回写操作。如图3中所示,一旦对存储体1页2的激活操作320完成,就发生方框313处的对存储体1页1的回写操作。虽然图3将方框313标记为“预充电回写存储体1页1”,但是应当认识到的是,在一些情况下,在方框313中执行的回写操作不是存储器接收到的预充电命令的结果。在一些实施例中,对页的读/写操作完成的指示是基于存储器设备接收到预充电命令。在其它实施例中,响应于同一存储体的后续激活操作而发生数据的回写。如以下附加详细讨论的,在一些实施例中,使用附加的命令或信号来引起回写操作,诸如方框313中所示的。
如上面所讨论的,对正在被关闭的存储体的回写操作通常是一旦对那个存储体的读取和写入访问完成就立即发生,并且这种回写操作通常由通过存储器设备接收的预充电命令来提示。如本文所讨论的,本文公开的实施例将回写操作一直延迟到可以隐藏回写并且不影响后续激活操作的定时的时间,而不是在完成读取和写入访问时立即执行那个回写从而阻止后续的激活操作从阵列取得数据直到那个回写操作完成之后。因为对先前打开的页的回写是将与关闭的页对应的数据写入阵列,所以不会由于移动(shifting)回写操作使得其在下一页打开之后发生而造成不利延迟,。换句话说,不急于将数据放回到阵列中,因为当前正在访问另一个不同的页。
如图3中所示,通过将与存储体内先前打开的页对应的回写延迟直到对那个存储体的下一个激活操作完成之后,可以隐藏与那个存储体相关联的预充电时间,从而大大改善存储器设备的等待时间和吞吐量特点。实际上,如图3中所示,当对该存储体中先前打开的页的回写正在发生时,存储器可以正在读取和写入数据(例如,块322)。在图3中,存储器设备的初始状态与存储体1页1是先前打开的、但是与那个页对应的读取和写入操作已经完成并且页1数据准备好回写到阵列的时间点对应。在页l数据准备好回写的情况下,接收与存储体1页2对应的激活命令,从而指示将打开页2以进行读取和写入访问。不是在激活页2之前完成对页1的回写操作,而是首先打开页2,并且一旦激活完成,就可以发生对页1的回写操作,而不延迟与激活页2或访问新打开的页2中的数据相关联的任何操作(例如,读取访问时间321和读取的数据322)。与不采用这种延迟回写的系统相比,这提供了显著的定时优势。
在访问存储体1页2之后,在方框330处发生对存储体1的页3的激活操作。一旦完成对页3的激活,在方框323处对存储体1页2的回写就可以立即发生,而对页3的读取访问时间331和读取的数据332同时发生。类似地,一旦对存储体1页4的激活在方框340处完成,对页3的回写就开始。值得注意的是,一旦阻止回写发生的下一个激活命令的所有部分都完成,对先前打开的页的回写操作就可以发生。例如,虽然回写和激活的一些部分利用存储器设备上的相同电路系统(例如,写入驱动器、列解码器等),但是其它部分可以使用独立的电路系统,使得激活操作的一些方面在回写操作开始时未完成。
本文描述的实施例在对新打开的页的读取和写入正发生时使用激活操作之后的时间将与先前打开的页对应的数据回写到阵列。为了实现这一点,必须将与先前打开的页对应的数据存储在不会干扰要访问的新页的激活的位置。在一些实施例中,存储器设备的每个存储体包括两个高速缓存结构,其中第一高速缓存用作用于对打开的页的读取/写入操作的主高速缓存或活动高速缓存,而第二高速缓存用作用于与对其的访问完成但尚未发生回写的页对应的数据的临时存储位置。
转向图4,给出了根据各种实施例的存储器设备400的一部分的示意图。存储器设备400包括存储器单元的阵列405。在一些实施例中,存储器单元是非易失性自旋-扭矩MRAM单元,而在其它实施例中,存储器单元是其它类型的存储器单元,诸如例如DRAM单元或其它电阻性存储器单元。如图4中所示,阵列405包括多个存储体,所述多个存储体包括存储体1410和存储体2 420。存储体410和420中的每一个分别包括电路系统414和424的对应集合,用于临时存储用于对存储体410和420内的页的读取和写入访问的数据。用于存储体1 410的电路系统414包括第一高速缓存415、第二高速缓存416和更新电路系统417。可以包括奇偶校验计算器418和/或多数检测电路419的更新电路系统417在下面以附加的细节进行讨论。
如图4中所示,高速缓存415和416耦接到存储体1 410,以允许数据在阵列405的存储体1 410与高速缓存415和416之间传送。在一些实施例中,高速缓存415和416中的每一个包括静态随机存取存储器(SRAM)存储器单元,而在其它实施例中,高速缓存415和416由寄存器、触发器或用于存储数据的其它存储电路组成。高速缓存415和416包括足够的存储以容纳来自存储体1的一页数据,并且还可以包括附加的存储以存储页的地址、页的奇偶校验或其它纠错码(ECC)信息,以及任何反转或与页相关的其它信息。在一些示例实施例中,高速缓存415和416是以8或16位/字的大约64个数据字。在其它示例实施例中,高速缓存存储128或256个字。在一些实施例中,组合存储体,以在字尺寸增加时(例如,从8位到16位)维持所存储的数据字的数量。可以调整高速缓存的尺寸和被访问的页的尺寸以适合应用的需要。
如图4中所示,阵列405中的每个存储体具有高速缓存和更新电路系统的对应的集合。存储体2 420被示为与更新电路系统427耦接到高速缓存425和426。每个存储体具有单独的高速缓存结构使得不同存储体中的多个页能够同时打开,从而允许交错的访问。虽然图4中描绘的实施例示出了每个存储体两个高速缓存,但是在其它实施例中,每个存储体包括多于两个的高速缓存,从而允许将对多于一个页的回写推迟到稍后的时间点。这种附加高速缓存在回写所需的时间比激活操作所需的时间长得多或者访问模式将受益于对多页的回写的推迟的实施例中会是适当的。在还有其它实施例中,每个存储体具有一个对应的高速缓存以用于存储用于读取/写入操作的打开的页,但是与一个或多个其它存储体共享第二高速缓存,其中第二高速缓存专门用于存储与还没有被回写的关闭的页对应的数据。要注意的是,在存储体之间共享回写高速缓存可能会限制对那些存储体的激活操作,以确保在两个存储体同时需要使用回写高速缓存时不会发生冲突。
控制电路系统450耦接到阵列405和电路系统414,电路系统414包括高速缓存415和416以及更新电路系统417。在图4中所示的实施例中,控制电路系统450耦接到阵列405中的所有存储体以及用于那些存储体的所有高速缓存结构和更新电路系统。照此,控制电路系统450在图4的实施例中提供对存储器访问操作的全局控制。在其它实施例中,为每个存储体提供专用的控制电路系统,使得对每个存储体的操作被单独控制。
控制电路系统450(其可以包括例如状态机、处理器、微控制器或逻辑电路系统)被配置为控制数据的移动和对数据执行的操作,以用于由存储器设备支持的各种存储器访问操作。控制电路系统450接收命令434和复位信号435。在其它实施例中,控制电路系统450接收源自存储器设备的内部或者源自存储器设备的外部的附加信号,附加信号向控制电路系统450提供促进数据存储和取回操作的信息或指令。例如,控制电路系统450可以接收自刷新信号,该自刷新信号指示没有即时访问即将发生,并且在这种信号被断言时存储器设备有机会执行其它操作。由控制电路系统450接收的命令434可以包括从向存储器设备发出命令的外部存储器控制器或其它控制设备接收的命令。例如,外部存储器控制器可以向控制电路系统450提供命令434,其中这些命令包括激活、读取、写入、预充电、使用自动预充电的读取、使用自动预充电的写入以及刷新命令。在其它实施例中,可以以分级的方式处理指导存储器设备的动作的命令,使得一些共享的电路系统执行与每个命令相关的动作中的一些,并且控制电路系统450接收从由存储设备接收的更高级命令导出的更多本地化命令434。
在操作中,控制电路系统450被配置为响应于由存储器设备接收的第一激活命令而将来自阵列中的第一位置的第一页数据传送到第一高速缓存。在与图4对应的示例中,第一激活命令使控制电路系统450向阵列405和高速缓存415提供适当的信号,使得与存储体1410中的第一页411对应的数据被传送到高速缓存415中。在一些实施例中,将第一页411的数据加载到高速缓存415中包括对第一页411中包括的存储器单元执行自参考读取。在其它实施例中,参考读取操作(例如,将每个存储器单元的电阻与参考进行比较,以确定存储在其中的数据),或者用于确定存储在每个存储器单元中的数据的其它技术被用于将用于第一页411的数据加载到高速缓存415中。
一旦将第一页411的数据加载到高速缓存415中,第一页411就被认为是“打开的”,并且可以通过读取高速缓存415中的数据或重写高速缓存415中的数据来发生对第一页411的读取和写入操作。每个读取或写入命令都附带有允许第一页411中的具体字或字的集合被访问的地址信息。一旦对第一页411的所有读取和写入访问都已完成,第一页411的数据(其可以包括由写入操作添加的新数据)就从高速缓存415移动到高速缓存416。在一些实施例中,对第一页411的读取/写入操作完成的指示是基于由存储器设备接收预充电命令。在其它实施例中,数据被保留在高速缓存415(其可以被称为主高速缓存)中,直到由存储器设备接收到对存储体1 410的后续激活操作。如下面额外详细讨论的,在一些实施例中使用附加命令或信号以使高速缓存415中的数据移动到高速缓存416中或直接移回到阵列405的存储体1中。
在将第一页数据从第一高速缓存415传送到第二高速缓存416之后,第一高速缓存415可用于接收与新页对应的数据。因此,响应于与存储体1 410的第二页412对应的第二激活命令,控制电路系统450发出适当的控制信号,使得与第二页412对应的第二页数据从与阵列405的存储体1 410中的第二页412对应的位置传送到高速缓存415中。由此,第二页412被“打开”并可用于读取和写入操作。一旦对第二页412的激活操作完成,或者已经进展得足够远以便不干扰对存储体1的回写操作,就可以将存储在高速缓存416中的与第一页411对应的第一页数据回写到阵列405的存储体1中的适当位置。如上面所指出的,第一页411的地址可以包括在存储在高速缓存416中的数据中,因此阵列405中第一页数据将被写入的位置是已知的。在其它实施例中,单独的寄存器或存储位置可以用于存储每个页的地址信息以及任何其它适当的特定于页的信息(诸如奇偶校验信息或反转状态)。
在一些实施例中使用奇偶校验信息或其它形式的ECC来防止或减少数据错误。奇偶校验计算在本领域中是众所周知的,并且与页数据一起存储用于存储体中的页的奇偶校验位的集合允许奇偶校验检查以确认数据有效性并且在一些情况下可以允许校正数据错误。在上面参考图4描述的示例中,当与第一页411对应的第一页数据回写到阵列405中时,该数据可以包括奇偶校验信息。因为第一页411中包括的数据可以通过在第一页411打开时执行的写入操作来修改,所以在将数据回写到阵列405之前需要执行新的奇偶校验计算。在一些实施例中,奇偶校验计算在对页的每个写入操作完成时执行,使得与数据一起存储在高速缓存415中的奇偶校验信息总是当前的。在这种实施例中,在回写之前的稍后时间,准确的奇偶校验信息可以与数据一起从高速缓存415移到高速缓存416。但是,在时间和资源方面实时执行这种奇偶校验计算会是昂贵的(例如,将需要额外的功耗)。照此,因为已知当将第一页411的数据移到高速缓存416时不会发生对第一页411的进一步写入操作,所以可以结合从高速缓存415到高速缓存416的数据的移动来执行对第一页411的奇偶校验计算。在图4中,奇偶校验计算器418包括在更新电路系统417中,其中当数据从高速缓存415传送到高速缓存416时更新奇偶校验信息。
因为将所选页中的所有存储器单元写为第一状态的破坏性自参考读取操作在激活操作结束时使所有单元处于相同状态,所以确定页中的大多数位中在页被回写之前处于第一状态(例如,二进制“0”)还是处于第二状态(例如,二进制“1”)可以帮助减少功耗。例如,如果激活操作使页中的所有存储器单元处于与二进制“0,”对应的第一状态,并且当数据准备好被回写时,页中要被回写的大多数位是“0,”,那么不到一半的存储器单元将需要一个或多个写入脉冲,所述一个或多个写入脉冲用于将那些单元中的自由层改变为与二进制“1.”对应的状态。但是,如果页中的大多数位是“l的”,那么超过一半的存储器单元将必须被写入以便改变它们的状态。在这种情况下,反转页的所有位是有价值的,使得先前表示“0”的状态现在表示“1.”。通过在大多数不与存储器单元在激活完成时所处的状态对应时反转所有位,回写将将总是涉及写入页中不超过一半的存储器单元。
为了在多数检测之后支持这种反转,为每个页维持反转状态位,以指示存储在阵列405中的用于那个页的数据是否被反转。此外,如果页中的数据在页打开时被修改,那么在页的回写之前需要对每个页进行多数检测。照此,多数检测器419包括在更新电路系统417中。与奇偶校验计算的情况一样,可以与每次写入操作实时地执行多数检测,但是在页处于关闭过程中时执行多数检测和反转位的设置可能更高效。因此,在一些实施例中,在页的数据从第一高速缓存415传送到第二高速缓存416时执行多数检测。
为了促进与在各个位置之间移动数据相关联的所有内部操作并执行与奇偶校验计算、多数检测等相关联的步骤,控制电路系统450生成指导存储器设备上的电路系统的多个定时信号,以便以适当的次序并在适当的时间执行适当的操作。在一些实施例中,那些定时信号由延迟电路455生成,延迟电路455被示为被包括在控制电路系统450中。在一些实施例中,延迟电路包括多个延迟块或电路,用于生成与访问存储器阵列405中的数据时发生的各种功能相关联的定时信号。例如,响应于在存储体1中的前一页尚未被回写的情况下对存储体1的激活操作,生成多个定时信号,使得来自高速缓存415的数据被移动到高速缓存416、执行任何奇偶校验计算和多数检测、将要打开的页加载到高速缓存415中,并且一旦激活完成,就将高速缓存416中的数据回写到阵列405。因此,指示激活的信号的单个转变(transition)可以触发由延迟电路455在时间上适当间隔开的多个信号转变,使得适当的操作发生在适当的时间。各种定时信号之间的间隔可以是可编程的,使得可以通过例如将值存储在可编程寄存器中来调整执行不同操作的相对时间。
要注意的是,在一些情况下,可以接收与同一存储体中的同一页对应的顺序激活。例如,可以打开第一页411,对第一页411中的数据执行多次读取/写入操作,然后接收指示应当关闭第一页411的预充电命令。在一些实施例中,接收预充电命令不会导致数据被回写到阵列,因为控制电路系统450正等待下一个激活命令以这样做。照此,如果接收到与第一页411对应的、指导存储器重新打开它的新激活操作,那么将数据从阵列405传送到高速缓存415将不会导致第一页411的数据被放在高速缓存415中,因为第一页411的数据尚未返回到阵列405的存储体1 410中。在一些实施例中,当接收到对第一页411的重新激活命令时,第一页411的数据仍然在高速缓存415中。照此,在一些实施例中,控制电路系统450包括页地址比较器,该比较器被配置为将伴随激活命令的地址与打开的上一页的地址进行比较。如果比较指示要打开的新页与前一页相同,那么如果先前打开的页的数据仍在主高速缓存415中,则控制电路系统450将什么都不做。如果要打开的新页与前一页相同并且那一页的数据已经被传送到高速缓存416,那么数据可以或者被直接传送回高速缓存415或者在从阵列再次取回数据并加载到高速缓存415中之前回写到阵列405。
当前一页数据没有响应预充电命令而被回写而是代替地正等待另一个永远不会来的激活命令时,发生前一页的延迟回写的另一个潜在问题。例如,在关闭电源之前对存储体的最终数据访问会导致驻留在高速缓存415或416中的被访问的页的数据等待下一次激活。如果没有这种激活,那么通常不会发起对阵列405的回写。照此,断电可能在数据尚未回写阵列405的情况下发生。如果高速缓存结构是易失性存储装置,那么数据会丢失。
在一些实施例中,通过对用于每个存储体的一个或两个高速缓存使用非易失性存储装置来解决这个问题。在其它实施例中,存储器设备可以在未接收到新的激活命令的时间周期性地执行对阵列的回写。在一些实施例中,由存储器设备接收的刷新命令或刷新信号指示存储器控制器将不会在任何很快的时间发出激活,并且存储器有机会执行“刷新”操作。在DRAM中使用这种刷新操作来补充存储器单元的阵列中的一行或多行中的电容器上的电荷。为了执行刷新,DRAM中的所有存储体通常都是关闭的。照此,即使MRAM不需要执行刷新操作,它也可以将刷新命令或信号作为所有存储体都应当被关闭并且与当前保存在高速缓存中的页对应的数据应当被回写到阵列的指示。在其它实施例中,刷新命令/信号可以用于发起对许多存储体之一的回写,其中存储器设备跟踪哪些存储体已被回写,从而知道下一次刷新将在哪个存储体中触发回写。
在其它实施例中,复位信号435可以被用作发起对阵列的回写的触发器。通过向用户指明需要断言复位信号以便确保存储器中的数据是非易失性的,用户可以在诸如断电之类的事件之前断言复位信号,从而使最后打开的页的数据例如从高速缓存415传送到高速缓存416(具有可能的奇偶校验和反转计算),然后被回写到存储器阵列405中。
在还有其它实施例中,可以采用新的操作代码来具体地使得回写无需另外的激活就发生。例如,“存储”操作代码可以由存储器控制器发送到存储器,其中存储操作代码使MRAM回写正在等待回写的任何行。这种存储操作代码可以是或者特定于存储体的,因为它只指导与一个存储体对应的数据被回写到阵列(存储-存储体x,其中x=存储体编号),它可以使存储体的子集的数据被回写,或者它可以使所有存储体的数据被回写(存储-全部)。这种(一个或多个)新操作代码可以用于清除存储器设备上的任何易失性数据,从而迫使其存储在阵列405的非易失性存储装置中,使得在移除电源的情况下它也不易损失。
当发生对大页(每页多个位)或多个存储体的回写操作时,可以期望将回写操作错开到存储器单元的子集,以便减少与回写操作相关联的功率和电流尖峰。在这种错开中,存储器单元的部分在不同的时间被回写,使得与回写相关联的电流汲取和功耗在时间上分布。因此,要回写的数据的第一部分是在与数据的第二部分不同的时间写入的。例如,在对大页的回写中,可以首先回写页中的一半的位,然后稍后回写另一半的位。在与存储-全部命令或操作代码对应的另一个示例中,首先回写一半的存储体的数据,然后回写另一半的存储体的数据。在另一个存储-全部示例中,首先回写每个存储体中的一半的位,然后回写每个存储体中的另一半的位。在再有另一个存储-全部示例中,回写操作被序列化,使得存储体或一组存储体在等待另一个存储体或一组存储体中的(一个或多个)回写操作的完成。回写操作的这种错开可以被拆分成许多阶段、可以被设置为被编程的,并且可以是特定于存储体的、特定于存储器单元的,或者两者都是。
如果延迟电路455被用于生成用于执行回写操作的定时信号,并且这种信号是响应于触发信号而生成的基于延迟的信号,那么可以在不需要时钟信号的情况下完成回写操作。这允许系统发出应当发生回写的指示(例如,刷新、自刷新、复位或存储命令),然后关闭时钟而不用担心数据没有被回写。当回写被错开时,延迟电路可以使用反馈或菊花链(daisy-chain)多延迟电路来确保一些回写操作在其它回写操作之前发生。
虽然上面关于图4的讨论描述了将新激活的页传送到主高速缓存415并且在回写之前将那个数据移动到辅助的回写高速缓存416,但是在其它实施例中,不是在高速缓存之间移动数据,而是可以改变高速缓存的角色。例如,第一激活可以将第一页数据加载到第一高速缓存中,而第二激活可以在将第一页数据从第一高速缓存回写到阵列之前将第二页数据加载到第二高速缓存中。对第一页的读取和写入将使用第一高速缓存发生,而对第二页的读取和写入将使用第二高速缓存。
在存储体中的所有页都被回写到阵列405之后,下一个激活操作不应当导致存储在高速缓存415中的数据的回写。照此,可以为每个存储体使用标志或一个或多个状态位470和471,以指示存储体是否具有打开和/或等待回写的页。因此,当首次打开设备时,该标志被清除或者状态位被更新,指示没有页打开并等待回写。当第一页被打开时,标志或状态位470被设置,使得后续激活将触发第一页数据的回写。如果接收到存储或其它回写指示,那么数据被回写,并且标志或状态位470被清除。在一些实施例中,已经存在于符合标准的存储器设备中的状态寄存器可以被用于存储这种标志或状态位。
在一些实施例中,可以操纵与存储体是否打开或是否具有等待回写的数据相关联的标志或状态位,以支持被设计为以不同于正常操作的方式运用存储器设备的测试、老化或其它操作。例如,一些测试操作想要连续访问存储体内的同一页而不关心存储在其中的实际数据。通过保持那个存储体的打开指示被清除并且不执行要被激活的页的地址与激活的上一页的比较,可以根据期望运用存储器设备而不是响应于打开已打开的页的尝试而使其不执行任何操作。
在还有的其它实施例中,执行启动或配置测试以便优化由存储器接收或由存储器发送的某些信号的定时。例如,经常针对每个存储器校准DDR SDRAM协议中的数据选通(DQS),以便考虑从存储器控制器到存储器的信号的飞行时间。为了校准数据选通,这种校准对每个存储器使用许多读/写操作。在诸如MRAM的非易失性存储器的情况下,假定在电源关断之后存储在非易失性存储器单元的阵列中的数据是稳定的。照此,如果在恢复电源时执行校准程序以便优化数据选通或其它信号的定时,那么与这种校准相关联的读/写操作可能会导致非易失性数据被意外重写。在一些情况下,这是因为校准过程最初是为诸如DRAM之类的易失性存储器开发的,在这种易失性存储器中,并不预期存储阵列中的数据在加电后是有效或有意义的。照此,为了在使用本文所述的延迟回写技术的存储器上支持与诸如DDR SDRAM接口之类的接口相关联的校准过程,可以在诸如MRAM之类的非易失性存储器中采取附加的步骤,以便确保这种校准可以在不干扰存储在阵列405中的非易失性数据的情况下发生。
如在2016年3月1日发布的美国专利9,275,715中所描述的,可以在校准或启动操作期间禁用对此类存储器中的存储器阵列的访问,使得存储在非易失性存储器中的数据不受干扰。美国专利9,275,715的内容通过引用整体并入本文。如美国专利9,275,715中所描述的,可以使用存储器上的非破坏性模式来防止从阵列读取、向阵列写入或既从阵列读取又向阵列写入。在一些实施例中,非破坏性模式是其在加电时进入的默认模式,而在其它实施例中,响应于存储器接收到的命令,基于存储在存储器上的一个或多个寄存器480中的值而进入非破坏性模式。在一些实施例中,可以通过改变存储在一个或多个寄存器中的值来实现从非破坏性模式的退出。例如,可以通过将寄存器中的位设置为“1”来进入非破坏性模式,并且通过将该位清除为“0”来退出非破坏性模式。因此,在利用非破坏性模式的校准、测试或其它操作之后,存储器可以转变到正常模式,在正常模式中,启用对非易失性存储器单元的阵列的访问。在一些实施例中,从非破坏性模式到正常模式的转变是基于确定校准、测试或其它操作完成,这可以由存储器内部实现或者可以基于由存储器从存储器控制器或其它外部来源接收到的信号。因此,在一些实施例中,存储器可以在加电时默认为非破坏性模式,并且然后在校准过程完成时自动退出非破坏性模式。
当存储器处于非破坏性模式时,非易失性存储器阵列中存储的数据不会受到干扰。在非破坏性模式下,可以使用高速缓存结构或存储器上不包括预期在进行的校准或测试中保存的非易失性数据的其它存储来执行通常会导致数据被存储在阵列405中或从阵列405中被取回的对存储器的读和写。
在支持其中在校准或启动期间禁用对非易失性阵列405的存储器的访问的这样的方案的实施例中,可以管理与那些阵列中的存储器的页相关联的标志或状态位,使得当存储器从非破坏性模式转变到正常模式并且对非易失性阵列的访问被启用时,标志或状态位470、471不表示声称在校准期间被访问的页是打开的,并且此类标志或状态位470、471不引起其中存储在存储器上的高速缓存之一中的无效数据被用于重写阵列中的有效数据的回写操作。支持非破坏性模式以及延迟回写的各种实施例在下面更详细地讨论。
在一个实施例中,当存储器处于非破坏性模式时,用于指示页是否是打开的并且因此最终将需要被写回的标志或状态位470被禁用。照此,即使在处于非破坏性模式下时存储器接收到激活操作代码或命令,阵列405中的数据也不会被重写或改变,并且将指示用于活动操作的数据的页是打开的状态位470也不会被更新或设置为这种状态。替代地,状态位470被独自保留或改变以指示没有待决的回写或不需要回写。因此,当存储器从非破坏性模式转变为正常模式时,接收到的可能导致从高速缓存415、416之一回写到阵列405的激活或其它“触发”命令或指示将不会导致任何这样的回写,因为状态位470表明当存储器进入正常模式时没有页是打开的。
在其它实施例中,当存储器从非破坏性模式转变到正常模式时,清除标志或状态位470。在一些情况下,这可以通过存储器设备上的模式改变检测电路系统482来完成,该模式改变检测电路系统482检测从非破坏性模式到正常模式的转变,并且在发生这种转变时清除或复位标志或状态位470。例如,如果寄存器480(其可能是模式寄存器,诸如在DDR兼容的存储器中常用的那些寄存器)中的位指示存储器是处于非破坏性模式还是正常模式,那么该位从指示存储器处于非破坏性模式的状态到指示存储器处于正常模式的状态的转变可以用于触发标志或状态位的清除或复位,以指示不存在需要被回写的打开页。在另一个示例中,检测从外部接收的指示存储器将从非破坏性模式转变为正常模式的命令,并将其用作清除或复位标志或状态位的基础。
在还有的其它实施例中,包括存储器的系统可以确保在存储器从非破坏性模式转变到正常模式之前,标志或状态位470被复位或清除。例如,存储器控制器或控制校准或测试的其它实体可以向存储器发出命令,该命令指示存储器执行回写操作。如本文所讨论的,这样的命令可以包括刷新、自刷新、预充电、复位或存储命令,其中在执行这样的命令之后,标志或状态位处于复位或清除状态,从而指示没有页是打开的并且没有页需要被写回。值得注意的是,在存储器处于非破坏性模式时提供这样的命令不会影响存储在阵列中的数据,因为在存储器处于非破坏性模式时这种数据受到保护。在又一个实施例中,存储器控制器可以提供专用命令或信号转变序列,其中存储器接收专用命令或信号转变序列,并且其中存储器作为响应清除或复位标志或状态位。
图5-7和图9-10是图示用于支持存储器设备中的延迟回写的方法的示例性实施例或实施例的各方面的流程图。在一个示例中,存储器设备包括自旋-扭矩磁隧道结存储器单元的阵列。流程图中包括的操作可以仅表示用于操作设备的整个处理的一部分。为了说明的目的,图5-7和图9-10中的方法的以下描述可以参考上面结合图4提到的元件。应当认识到的是,该方法可以包括任何数量的附加或替代任务,图5-7中示出的任务不需要以图示的次序执行,并且可以将这些方法结合到具有本文未详细描述的附加功能的更全面的过程或处理中。而且,只要预期的整体功能保持完整,就可以从实施例中省略图5-7中所示的一个或多个任务。
转向图5,在510处,接收用于存储器设备的第一存储体中的第一页的第一激活命令。在520处,响应于第一激活命令,从阵列取回第一页数据并将其存储在存储器设备上的第一高速缓存中。一旦以这种方式激活了第一页,对第一页中的数据的读取和写入操作就可以通过访问第一高速缓存来发生。在DDR协议中,通常将基于接收到与第一页对应的预充电命令来关闭第一页。一旦完成对第一页的读/写操作并且在530处的接收到第二激活命令之前,将发出这样的预充电命令。值得注意的是,虽然这样的预充电命令可以在存储器所在的系统中发出并被存储器接收,但是在一些实施例中,由于回写操作不再响应于这样的预充电命令而直接执行,因此存储器简单地忽视该预充电命令。
在530处,接收用于第一存储体中的第二页的第二激活命令。如上面关于图4所讨论的,为了将用于第二激活命令的数据从阵列的第一存储体移动到第一高速缓存以进行访问,与第一页对应的数据在最终被回写到阵列中之前被移动到第二高速缓存。但是,通过将与第一页对应的数据的回写一直延迟到第二页的激活完成之后,可以隐藏与回写第一页数据相关联的时间并且不会延迟对第二页的任何读取或写入操作。
在540处,响应于第二激活命令,存储器开始从阵列取回第二页数据。在550处,将第一页数据从第一高速缓存传送到第二高速缓存。值得注意的是,第一页数据的传送可以在第二页数据的取回被发起的同时发生,只要第一页数据在第二页数据被存储在第一高速缓存之前离开那里即可。虽然图5的流程图指示第二页数据取回在第一页数据传送之前开始,但只要不存在冲突,这些步骤的排序并不关键要。在一些实施例中,550处的传送响应于第二激活命令而开始,而在其它实施例中,如上面所讨论的,传送在第二激活命令之前由接收的与第一页对应的预充电命令触发。因此,预充电命令可以触发第一页数据从第一高速缓存到第二高速缓存的移动,但是数据可以保留在第二高速缓存中,直到后续激活命令使其被回写。
值得注意的是,在一些实施例中,预充电命令不用于触发数据从第一高速缓存到第二高速缓存的移动。在这种实施例中,预充电命令可以不起作用,使得存储器设备响应预充电命令而什么也不做。通过消除对预充电命令的需要,与标准协议(诸如用于DDR存储器设备的标准协议)中这种预充电命令的规定相关联的定时可以以允许存储器系统设计者更多灵活性的方式放宽。
在550处的将第一页数据从第一高速缓存传送到第二高速缓存可以包括在551处执行奇偶校验计算,使得在第一页数据被回写到阵列的时间可获得适当的奇偶校验或其它ECC信息。类似地,可以包括552处的多数检测和反转,作为从第一高速缓存到第二高速缓存的数据传送的一部分。在这个时间点执行奇偶校验计算和多数检测是有意义的,因为对第一页的任何写入都完成,因此被传送的数据相对于与阵列中数据的存储相关的奇偶校验和反转确定是最终的。虽然可以在数据正在高速缓存之间传送时进行奇偶校验计算和多数确定,但是在其它实施例中,可以在这种传送发生之前或之后的其它时间点执行这种操作。
在560处,将第二页数据存储在第一高速缓存中,从而标记第二激活操作的完成。因为第二激活操作完成,所以可以在不干扰第二激活操作的情况下发生第一页数据的从第二高速缓存到阵列中的回写570。要注意的是,虽然在一些实施例中,直到第二页数据被加载到第一高速缓存中才发生第一页数据的回写,但是在其它实施例中,回写可以在回写不干扰正在进行的第二次激活操作的时间点更早地开始。在一些实施例中,回写包括页中的位的反转和反转标志的设置,以指示该页的数据是否被反转。
图6是其中顺序地两次激活存储体内的相同页的情形的流程图。在610处,接收用于第一存储体中的第一页的第一激活命令。在620处,响应于第一激活命令,从阵列取回第一页数据并将其存储在第一高速缓存中。如上面所讨论的,第一页的打开可以包括将用于第一存储体的标志设置为指示那个存储体内的页是打开的。一旦已打开第一页,就使用第一高速缓存执行对第一页中的数据的读取和写入访问。一旦那些读取和写入访问完成,就可以接收与第一页对应的预充电命令,但是因为延迟的回写操作正在存储器设备中被执行,所以预充电命令可能不会导致数据从第一高速缓存移到第二高速缓存,或回写到存储器阵列中。
在630处,接收用于第一存储体中的第二页的第二激活命令。因为对于第一存储体已经存在打开的页,所以在640处将第一页的地址与第二页的地址进行比较。在650处,如果确定第一页的地址与第二页的地址匹配,那么方法前进到660,在660处第一页数据留存在第一高速缓存中。除了将第一页数据留在第一高速缓存中之外,还可以阻止由于第二激活命令而通常发生的任何回写。阻止将第一页数据回写到阵列中确保如果在激活命令之后阵列中与第一页数据对应的部分已经处于中间状态,那么保留该中间状态,使得第一页数据的最终回写不会受到危害。例如,如果使用使阵列中页中的所有存储器单元处于“0”或复位状态的自参考读取从阵列读取第一页数据,那么回写仅需要那些存储“1”或设置状态的存储器单元被写入。如果允许第一页数据的回写响应于第二激活命令而发生,那么,即使数据保留在第一高速缓存中,稍后的回写也可能需要0和1都被回写,从而使得后来的回写操作复杂化。
因此,虽然在常规的存储器设备中,通过预充电命令关闭第一页将导致第一页的数据被存储回存储器阵列中,但是本文描述的延迟回写的实施例导致第一页数据保留在第一高速缓存结构中,直到发起后续的激活操作。如果第二激活操作是用于已经打开的同一页,那么无需取得要存储在第一高速缓存中的新数据。实际上,如果在激活操作期间使用自参考读取,那么从阵列取得新数据的尝试将导致垃圾数据被加载到第一高速缓存中。照此,如果发生对同一存储体内的同一页的背靠背访问,那么存储器设备不必进行任何数据传送以便为对第一页数据的读取和写入访问而准备第一高速缓存,因为该数据仍保留在高速缓存中。
如果在650处确定第二激活命令未激活同一页,那么该方法继续进行以执行促进第二激活命令所需的操作。在670处,将第一页数据从第一高速缓存传送到第二高速缓存,如上面所讨论的,这可以包括奇偶校验计算和多数确定。而且在670处,从阵列取回第二页数据并将其存储在第一高速缓存中,从而使第二页数据可用于使用第一高速缓存的读取和写入访问。最后,一旦与第二页对应的激活操作已经完成,或者达到第一页数据的回写不会干扰激活的完成阶段,就发生第一页数据到阵列的回写。
图7的流程图有助于说明回写指示被存储器设备接收的情况,其中回写指示通知存储器设备任何打开的页或等待回写的关闭的页应当被清理,使得与那些页对应的数据返回到非易失性存储器。在停止活动之后,可以周期性地向存储器设备提供这种指示,以便确保存储器设备中的数据存储在非易失性存储装置中。
在710处,接收回写的指示。如上面关于图4讨论的,回写的指示可以包括在712处接收复位信号、在714处接收存储命令,或者在716处接收刷新信号或命令(包括进入自刷新模式)。在一些实施例中,在存储器设备进入断电模式的任何时候自动提供回写指示。如上面关于图4还讨论的,诸如在714处接收的存储命令可以指示应当对一个或多个存储体作用。例如,如果存储器设备即将断电,那么可以接收指示应当清理所有存储体的存储命令,使得当前存储在易失性存储装置中的任何存储器数据被回写到非易失性阵列中。
在710处接收到回写的指示之后,在720处确定回写的指示所属的特定存储体是否具有打开的页。如果没有,那么不需要回写,因为没有当前处于易失性存储装置中的与存储体对应的数据。如果在720处确定存储体具有打开的页,那么在730处将存储在第一高速缓存中的数据传送到非易失性阵列。730处的传送可以包括或者从第一高速缓存到阵列的直接传送,或者如果存储器设备内的电路系统被设置的话,那么数据在到达阵列的途中通过第二高速缓存被路由,730处的传送包括在从第二高速缓存回写之前将数据从第一高速缓存移动到第二高速缓存。高速缓存之间或从高速缓存之一到阵列的传送可以包括如上面所讨论的奇偶校验计算和多数确定。
当在730处发生的回写涉及写入大量存储器单元时,可以将回写拆分成多个阶段。例如,在732处,数据的第一部分被传送到阵列,然后在734处,数据的第二部分被传送到阵列。在更具体的示例中,可以在设备关闭之前触发存储-全部命令。这种存储-全部命令可以导致与多个存储体对应的数据被回写到阵列中。为了避免与同时写入多个存储器单元相关联的高峰功耗和大电流尖峰,可以在732处执行与存储体的第一半对应的回写操作,而在734处执行与存储体的第二半对应的写操作。在其它实施例中,在步骤732和734中的每一个期间写入每个存储体中的存储器单元的一部分,使得每个存储体内的回写操作在时间上错开。
图9提供了与其中支持延迟回写并且执行配置测试或校准的存储器设备的操作对应的流程图。此类校准或测试通常在启动时发生。在572处,接收访问存储器中的数据的第一命令。响应于第一命令,存储器在574处确定它是否处于其中存储在阵列的非易失性存储器单元中的数据被保护并且不被干扰的非破坏性操作模式。如果在574处确定存储器未处于非破坏性操作模式,则在576处以正常模式执行第一命令。在576处以正常模式执行第一命令之后,存储器可以基于接收到的命令继续正常操作。
如果在574处确定存储器处于非破坏性模式,则在578处在存储器上预期关于数据存储不是非易失性的高速缓存或其它存储位置中访问与第一命令对应的数据。这样的数据访问可以包括读取和写入存储位置,在该存储位置可以执行一系列这样的写/读操作,以便扫描某些信号的定时参数范围来确定这些参数的优选设置。因此,当存储器处于非破坏性模式时,与数据访问相关联的如果存储器处于正常模式将导致在非易失性存储器单元中数据被修改的命令使用存储器上的其它存储装置来执行,使得非易失性存储装置不受干扰。例如,可以使用存储器上(on-memory)高速缓存代替存储器阵列本身来执行与校准DDR接口中的数据选通或其它定时参数相关联的读取和写入操作,从而允许建立存储器设备的定时配置而不损坏其中存储的任何非易失性数据。
在580处,存储器从非破坏性模式转变到正常模式。这样的转变可以响应于由存储器设备接收到的信息,或者基于内部确定受益于非破坏性模式的校准过程或其它操作完成。在一个示例中,存储器包括寄存器,该寄存器存储指示存储器是否处于非破坏性模式的值。如果存储器接收到修改寄存器中的值的命令或其它信号,则该值的这样的改变可将存储器从非破坏性模式转变为正常模式。
在一些实施例中,在非破坏性模式期间禁用记录特定存储体是否存在打开行的标志或状态位。换句话说,正如防止非易失性存储器单元在非破坏性模式下被重写一样,可以防止用于存储标志或状态位的存储装置被修改。在这样的实施例中,当退出非破坏性模式时,由于标志或状态位被清除,因此不必担心在存储器变换到正常模式之后,打开行的不正确指示将导致可能损坏非易失性数据的延迟回写操作。
在其它实施例中,在正常模式下响应于数据访问命令之前在582处清除标志或状态位,该标志或状态位可能被设置为指示在存储器处于非破坏性模式时在命令的执行期间存储器的打开页。在一些实施例中,标志或状态位在转变到正常模式之前被清除,而在其它实施例中,标志或状态位在进入正常模式之后被清除。
如在584和586处所示,清除状态位可以基于检测到指示存储器是否处于非破坏性模式的值的变化,然后基于检测到的变化来清除状态位。如以上所讨论的,存储器上的值的变化可以对应于模式寄存器中的值的变化,其中值的变化指示存储器从非破坏性模式到正常模式的转变。例如,可以通过由存储器控制器发出的模式寄存器设置命令来修改这种寄存器。存储器上的电路系统可以检测寄存器中的值的变化,并且然后作为响应清除标志或状态位。
在其它实施例中,存储器响应于由存储器接收到的命令清除状态位。在一些情况下,该命令是在存储器退出非破坏性模式之前接收到的刷新、自刷新、复位或预充电命令。照此,即使那些命令可能导致发生延迟回写,但如果存储器仍处于非破坏性模式,那么非易失性数据仍将受到保护。在其它实施例中,由存储器设备接收专门清除标志或状态位的命令,其中可以在从非破坏性模式转变到正常模式之前或之后接收这样的命令,因为清除状态位的这种命令不激发延迟回写。一旦存储器设备已进入正常模式并已清除标志或状态位,然后就可以进行正常操作而无需担心意外的可能会用来自从校准操作剩余的高速缓存结构之一的垃圾数据重写非易失性存储装置中的数据的延迟回写操作。
图10图示了用于控制存储器的方法的流程图,该方法例如可以由指示存储器的操作的存储器控制器或其它外部实体来执行。在680处,将模式改变信号提供给存储器,使得存储器进入非破坏性操作模式,在该非破坏性操作模式中,存储在非易失性存储器阵列中的数据受到保护不被重写。在一些实施例中,模式改变信号对应于模式寄存器写,该模式寄存器写将选择非破坏性模式的值存储在存储器上。在其它实施例中,使用专用信号或信号转变序列来提供模式改变信号。在还有的其它实施例中,存储器在加电时默认为非破坏性操作模式,从而消除了向存储器提供模式改变信号的需要。
在682处,当存储器设备处于非破坏性模式时,向存储器设备发出多个校准命令。在一些示例中,校准命令是与校准用于存储器控制器和存储器之间的通信的一个或多个信号相关联的读和写命令。例如,校准命令可以包括一系列写和读命令,这些命令使用略微不同的定时用于数据选通(例如DQS)信号,以便确定这样的信号的最佳定时。从存储器控制器的角度来看,校准命令可能与正常操作期间使用的命令(激活、读取、写入、预充电等)没有什么不同,但是从存储器的角度来看,这些命令是以不干扰存储器上的非易失性存储器阵列的方式执行的。如以上所讨论的,存储器优选地包括诸如一个或多个高速缓存或易失性存储器块之类的附加存储装置,其使得能够在校准或测试期间支持读和写操作而不干扰非易失性阵列。
在684处,在向存储器发出多个校准命令之后,存储器控制器向存储器提供信号,该信号使存储器退出非破坏性模式并清除指示在存储器上存在打开页的任何标志或状态位。通过清除标志或状态位,存储器控制器可以确保在存储器处于非破坏性模式期间执行的校准或测试过程不会导致会破坏非易失性数据的无意回写操作。如以上所讨论的,响应于存储器控制器在686处向存储器发出寄存器访问命令并且在688处提供用于存储在存储器设备上的寄存器中的值,存储器可以转变到正常模式并清除标志或状态位。当该值存储在存储器上时,会使存储器从非破坏性模式转变到正常模式。在其它实施例中,在存储器从非破坏性模式转变到正常模式之前,通过在690处向存储器发出复位、自刷新、刷新、存储或预充电命令来清除标志或状态位。在发出这样的命令之后,可以在692处向存储器提供模式改变命令,其中在标志或状态位被清除之后,模式改变命令将存储器转变到正常状态,其中这些标志或状态位用于指示一个或多个打开的页。在还有的其它实施例中,基于校准或测试操作的完成,存储器控制器向存储器发信号通知以改变为正常模式,或者等待存储器自动从非破坏性模式转变到正常模式,并且然后在开始以其中采用延迟回写操作的正常模式中的操作之前,向存储器发送命令或信号,该命令或信号指示存储器清除与打开页对应的任何标志或状态位。
图8图示了与包括延迟回写操作的使用的存储器设备的一部分相关联的电路图。示意图下方的定时图有助于说明电路系统的功能。在启动时,打开信号992为低,从而指示存储体中没有页已被打开,因此正在等待下一次激活的回写。当/激活信号990在边缘961处第一次被断言为低时,激活定时信号993被示为在966处从高转变为低,这表示在激活操作中使用的众多定时信号的生成。在图8的实施例中,这些信号是直接由/激活信号990的高到低转变产生的信号转变,并且由激活定时电路块951生成。
当/激活信号990在定时图中的边缘972处返回高时,作为触发器955的输出的打开信号992变高。打开信号992用于确定页已被打开,并且在接收到后续激活断言时应当触发那个页的回写。当/激活信号990在973处被去断言为高且打开信号992为高时,激活定时信号993、更新定时信号994和回写定时信号995都从低变为高。这基于逻辑门952、953、956、957和959发生,并且当下一个激活信号断言发生时,准备那些定时信号的集合以用于后续断言。准备信号用于断言,因为已知下一次激活将导致新页的激活、前一页的奇偶校验/多数的更新以及前一页的回写。
当/激活990的下一次断言在边缘962处发生时,该断言触发激活定时信号993、更新定时信号994和回写定时信号995中的每一个的断言。因此,由激活定时电路块951生成激活新页的定时信号(边缘967),更新关于先前打开的页的奇偶校验和多数信息的定时信号由更新定时电路块958生成(边缘968),并且在更新和激活完成之后,用于回写先前打开的页的信号(回写定时信号995)由回写定时电路块954生成(边缘970)。在边缘973处/激活990的去断言时,信号的定时信号组中的每个被去断言以准备下一次激活。打开信号992保持为高。
当复位信号991在边缘963处被拉高时,这指示存储在易失性存储器中的任何数据应当被回写到阵列中。在其它实施例中,刷新命令或存储命令的接收也可以触发这种回写。复位的断言使触发器955复位,从而使打开信号992在边缘965处变低。打开信号992的转变传播通过电路,从而使更新定时信号994被断言(边缘969)以及回写信号995被断言(边缘971)。因此,定时信号导致先前打开的页被更新(奇偶校验计算和多数确定)并被回写到存储器阵列中。
通过将对存储体的打开的数据页的回写延迟直到后续激活操作完成,可以隐藏与将数据回写到阵列相关联的延迟,从而改善与设备相关联的访问定时。这是因为存储器在激活下一页之前不必等待回写发生,从而允许在后台执行回写操作的同时发生对新打开的页的读/写操作。这种同时执行读/写和将数据回写到阵列提供了显著的定时优势。包括新的操作代码以支持在无需另一个激活操作的情况下的数据回写有助于确保在断电发生时数据不会留在非易失性存储装置中。在一些情况下,可以基于单个回写指示将多页数据回写到阵列中,并且可以错开数据回写以减少峰值功耗。
虽然上面已经呈给出了示例性实施例,但是应当认识到的是,存在许多变体。此外,虽然描述在具体示例布置中使用包括存储器单元的自旋-扭矩MRAM设备,但是该教导可以应用于具有可以应用相同概念的不同体系架构的其它存储器设备。这种存储器设备的示例包括其它电阻性存储器和DRAM。这种存储器将在改进的随机存取时间、降低的功耗和增加的数据保留时间方面受益。
以上公开的特定实施例仅仅是说明性的,并且不应当被视为限制,因为实施例可以以对受益于本文教导的本领域技术人员而言清楚的不同但等效的方式进行修改和实践。因而,前面的描述并非旨在将本公开限于所阐述的特定形式,相反,其旨在覆盖可以包括在由所附权利要求限定的本发明的精神和范围内的此类替代方案、修改和等同物,使得本领域技术人员应当理解,在不脱离本发明的最广泛形式的精神和范围的情况下,他们可以进行各种改变、替换和变更。
Claims (17)
1.一种存储器,包括:
非易失性存储器单元阵列;
存储值的寄存器,其中所述值确定所述存储器处于正常操作模式和非破坏性操作模式之一;
状态位,指示所述非易失性存储器单元阵列中的页是否是打开的;以及
耦合到所述非易失性存储器单元阵列和所述寄存器的控制电路系统,其中所述控制电路系统被配置为:
当所述存储器处于所述非破坏性操作模式时,防止对所述非易失性存储器单元阵列的写入操作;
接收所述存储器正在从所述非破坏性操作模式转变到所述正常操作模式的指示;以及
响应于所述存储器正在从所述非破坏性操作模式转变到所述正常操作模式的所述指示,清除所述状态位,
其中,所述指示是所述寄存器的所述值的改变。
2.如权利要求1所述的存储器,其中,所述存储器还包括耦合到所述寄存器和所述控制电路系统的模式改变检测电路系统,其中,所述模式改变检测电路系统提供所述存储器正在从所述非破坏性操作模式转变到所述正常操作模式的所述指示。
3.如权利要求1所述的存储器,其中,所述状态位独立于所述非易失性存储器单元阵列中的页是否是关闭的而被清除。
4.如权利要求1所述的存储器,其中,所述寄存器是模式寄存器。
5.如权利要求1所述的存储器,其中,所述寄存器默认为与所述非破坏性操作模式对应的值。
6.如权利要求5所述的存储器,其中,所述存储器在校准过程完成时自动退出所述非破坏性操作模式。
7.如权利要求1所述的存储器,还包括:
耦合到所述阵列和所述控制电路系统的第一高速缓存;
耦合到所述阵列和所述控制电路系统的第二高速缓存;以及
其中,所述控制电路系统还被配置为:
响应于与第一页对应的第一激活命令:
将第一页数据从所述阵列中的第一位置传输到所述第一高速缓存,其中,所述第一页数据与所述第一页对应;以及
设置所述状态位以指示存在打开的页;
将所述第一页数据从所述第一高速缓存传输到所述第二高速缓存;以及
在将所述第一页数据传输到所述第二高速缓存之后并响应于第二激活命令:
将第二页数据从所述阵列中的第二位置传输到所述第一高速缓存;以及
将所述第一页数据从所述第二高速缓存传输到所述阵列中的所述第一位置。
8.如权利要求1所述的存储器,其中,所述控制电路系统被配置为在所述存储器处于所述非破坏性操作模式时防止对所述非易失性存储器单元阵列的写入操作,使得防止写入操作包括防止作为自参考读取操作的一部分的将页中的每个存储器单元置于已知状态中的写入操作。
9.一种用于操作存储器的方法,所述存储器包括非易失性存储器阵列和第一高速缓存,所述方法包括:
接收访问所述存储器中的数据的第一命令;
响应于接收到所述第一命令:
确定所述存储器处于非破坏性模式,其中,在所述非破坏性模式中,所述非易失性存储器阵列中存储的数据不受干扰;以及
访问所述第一高速缓存中的数据;
在访问所述第一高速缓存中的所述数据之后,将所述存储器从所述非破坏性模式转变为正常模式;以及
响应于寄存器中存储的值的改变,清除指示所述存储器中的打开的页的状态位,所述改变指示所述存储器正在从所述非破坏性模式转变到所述正常模式。
10.如权利要求9所述的方法,其中,所述寄存器中存储的所述值的改变由模式改变检测电路系统提供。
11.如权利要求9所述的方法,其中,所述状态位独立于所述存储器中的页是否是关闭的而被清除。
12.如权利要求9所述的方法,其中,所述存储器在校准过程完成时自动退出所述非破坏性模式。
13.如权利要求9所述的方法,还包括:在将所述存储器从所述非破坏性模式转变到所述正常模式之后:
接收第一激活命令和与所述存储器内的第一页对应的第一地址;
响应于第一激活命令:
基于所述第一地址从所述存储器单元阵列中取回与所述第一页对应的第一页数据;
将所述第一页数据存储在所述第一高速缓存中;以及
设置所述状态位中的至少一个状态位以指示存在打开的页;
将所述第一页数据从所述第一高速缓存传送到所述存储器上的第二高速缓存;
在接收到所述第一激活命令之后,接收第二激活命令和与所述存储器内的第二页对应的第二地址;
响应于所述第二激活命令:
基于所述第二地址从所述存储器单元阵列中取回与所述第二页对应的第二页数据;以及
将所述第二页数据存储在所述第一高速缓存中;以及
将所述第一页数据从所述第二高速缓存写入到所述存储器单元阵列中与所述第一地址对应的位置处。
14.一种用于控制存储器的方法,包括:
向所述存储器发出多个校准命令,其中,所述多个校准命令与当所述存储器处于非破坏性模式时执行的校准序列对应;以及
在发出所述多个校准命令之后,向所述存储器提供至少一个信号,其中,向所述存储器提供至少一个信号包括:
向所述存储器发出寄存器访问命令;以及
向所述存储器提供用于存储在所述寄存器中的值,其中,当存储在所述寄存器中时,所述值使所述存储器从所述非破坏性模式转变到正常模式,以及
其中,响应于所述值被存储在所述寄存器中,所述存储器:
从所述非破坏性模式转变到正常模式;以及
清除所述存储器上的指示所述存储器中的打开的页的状态位。
15.如权利要求14所述的方法,其中,所述状态位独立于所述存储器中的页是否是关闭的而被清除。
16.如权利要求14所述的方法,其中,所述存储器在校准过程完成时自动退出所述非破坏性模式。
17.如权利要求14所述的方法,还包括:
在向所述存储器发出所述多个校准命令之前,向所述存储器提供模式改变信号,其中,所述存储器响应于所述模式改变信号而进入所述非破坏性模式。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/499,136 | 2017-04-27 | ||
US15/499,136 US10650899B2 (en) | 2017-04-27 | 2017-04-27 | Delayed write-back in memory with calibration support |
PCT/US2018/028250 WO2018200298A1 (en) | 2017-04-27 | 2018-04-19 | Delayed write-back in memory with calibration support |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110678927A CN110678927A (zh) | 2020-01-10 |
CN110678927B true CN110678927B (zh) | 2023-08-01 |
Family
ID=62117003
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201880033858.4A Active CN110678927B (zh) | 2017-04-27 | 2018-04-19 | 具有校准支持的存储器中的延迟回写 |
Country Status (5)
Country | Link |
---|---|
US (1) | US10650899B2 (zh) |
EP (1) | EP3616203B1 (zh) |
KR (1) | KR102556115B1 (zh) |
CN (1) | CN110678927B (zh) |
WO (1) | WO2018200298A1 (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11120884B2 (en) | 2015-09-30 | 2021-09-14 | Sunrise Memory Corporation | Implementing logic function and generating analog signals using NOR memory strings |
US11360704B2 (en) | 2018-12-21 | 2022-06-14 | Micron Technology, Inc. | Multiplexed signal development in a memory device |
US11474698B2 (en) | 2019-12-04 | 2022-10-18 | Micron Technology, Inc. | Reset verification in a memory system by using a mode register |
CN115413367A (zh) | 2020-02-07 | 2022-11-29 | 日升存储公司 | 具有低有效延迟的高容量存储器电路 |
US11947453B2 (en) * | 2020-10-19 | 2024-04-02 | Micron Technology, Inc. | Memory device with on-die cache |
US11636893B2 (en) | 2020-10-19 | 2023-04-25 | Micron Technology, Inc. | Memory device with multiple row buffers |
US11842777B2 (en) * | 2020-11-17 | 2023-12-12 | Sunrise Memory Corporation | Methods for reducing disturb errors by refreshing data alongside programming or erase operations |
KR20230105593A (ko) * | 2022-01-04 | 2023-07-11 | 에스케이하이닉스 주식회사 | 전자장치 및 전자시스템 |
US11966621B2 (en) * | 2022-02-17 | 2024-04-23 | Sandisk Technologies Llc | Non-volatile storage system with program execution decoupled from dataload |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW410295B (en) * | 1999-03-02 | 2000-11-01 | Via Tech Inc | Memory access control device |
US6374337B1 (en) * | 1998-11-17 | 2002-04-16 | Lexar Media, Inc. | Data pipelining method and apparatus for memory control circuit |
CN1689113A (zh) * | 2003-04-24 | 2005-10-26 | 富士通株式会社 | 半导体存储器 |
CN105047229A (zh) * | 2015-08-03 | 2015-11-11 | 西安华芯半导体有限公司 | 一种用于rram的存储单元片内自测电路及方法 |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6330636B1 (en) | 1999-01-29 | 2001-12-11 | Enhanced Memory Systems, Inc. | Double data rate synchronous dynamic random access memory device incorporating a static RAM cache per memory bank |
US6687172B2 (en) * | 2002-04-05 | 2004-02-03 | Intel Corporation | Individual memory page activity timing method and system |
US6801980B2 (en) | 2002-04-25 | 2004-10-05 | International Business Machines Corporation | Destructive-read random access memory system buffered with destructive-read memory cache |
JP4229674B2 (ja) * | 2002-10-11 | 2009-02-25 | Necエレクトロニクス株式会社 | 半導体記憶装置及びその制御方法 |
US6845059B1 (en) * | 2003-06-26 | 2005-01-18 | International Business Machines Corporation | High performance gain cell architecture |
US7490283B2 (en) | 2004-05-13 | 2009-02-10 | Sandisk Corporation | Pipelined data relocation and improved chip architectures |
KR101286643B1 (ko) * | 2007-04-05 | 2013-07-22 | 삼성전자주식회사 | 독립적으로 뱅크의 모드를 선택하는 반도체 메모리 장치,메모리 컨트롤러 및 그 제어 방법 |
WO2012106358A1 (en) * | 2011-01-31 | 2012-08-09 | Everspin Technologies, Inc. | Method of reading and writing to a spin torque magnetic random access memory with error correcting code |
EP2671229B1 (en) * | 2011-01-31 | 2019-10-09 | Everspin Technologies, Inc. | Method of writing to a spin torque magnetic random access memory |
US8923041B2 (en) * | 2012-04-11 | 2014-12-30 | Everspin Technologies, Inc. | Self-referenced sense amplifier for spin torque MRAM |
JP2014053058A (ja) * | 2012-09-06 | 2014-03-20 | Toshiba Corp | 半導体記憶装置 |
US10146601B2 (en) | 2013-06-12 | 2018-12-04 | Everspin Technologies, Inc. | Methods and devices for healing reset errors in a magnetic memory |
WO2015026826A1 (en) * | 2013-08-21 | 2015-02-26 | Everspin Technologies, Inc. | Non-destructive write/read leveling |
JP6165008B2 (ja) * | 2013-09-25 | 2017-07-19 | キヤノン株式会社 | メモリ制御装置、メモリ制御方法、情報機器及びプログラム |
KR20160061704A (ko) * | 2014-11-24 | 2016-06-01 | 삼성전자주식회사 | 페이지 상태 알림 기능이 있는 메모리 장치 |
JP6220031B2 (ja) | 2016-10-05 | 2017-10-25 | エスアイアイ・セミコンダクタ株式会社 | 不揮発性半導体記憶回路 |
-
2017
- 2017-04-27 US US15/499,136 patent/US10650899B2/en active Active
-
2018
- 2018-04-19 CN CN201880033858.4A patent/CN110678927B/zh active Active
- 2018-04-19 EP EP18723155.0A patent/EP3616203B1/en active Active
- 2018-04-19 KR KR1020197034813A patent/KR102556115B1/ko active IP Right Grant
- 2018-04-19 WO PCT/US2018/028250 patent/WO2018200298A1/en unknown
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6374337B1 (en) * | 1998-11-17 | 2002-04-16 | Lexar Media, Inc. | Data pipelining method and apparatus for memory control circuit |
TW410295B (en) * | 1999-03-02 | 2000-11-01 | Via Tech Inc | Memory access control device |
CN1689113A (zh) * | 2003-04-24 | 2005-10-26 | 富士通株式会社 | 半导体存储器 |
CN105047229A (zh) * | 2015-08-03 | 2015-11-11 | 西安华芯半导体有限公司 | 一种用于rram的存储单元片内自测电路及方法 |
Also Published As
Publication number | Publication date |
---|---|
US20180314635A1 (en) | 2018-11-01 |
KR102556115B1 (ko) | 2023-07-18 |
CN110678927A (zh) | 2020-01-10 |
EP3616203A1 (en) | 2020-03-04 |
WO2018200298A1 (en) | 2018-11-01 |
EP3616203B1 (en) | 2024-02-21 |
KR20190141235A (ko) | 2019-12-23 |
US10650899B2 (en) | 2020-05-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110678927B (zh) | 具有校准支持的存储器中的延迟回写 | |
US10657065B2 (en) | Delayed write-back in memory | |
TWI303422B (en) | Dynamic semiconductor memory with improved refresh mechanism | |
US7277996B2 (en) | Modified persistent auto precharge command protocol system and method for memory devices | |
US6829682B2 (en) | Destructive read architecture for dynamic random access memories | |
US9361967B2 (en) | Semiconductor memory device | |
KR101893895B1 (ko) | 메모리 시스템 및 그 동작 제어 방법 | |
US20150127890A1 (en) | Memory module with a dual-port buffer | |
US9104646B2 (en) | Memory disturbance recovery mechanism | |
US8582389B2 (en) | Write assist in a dual write line semiconductor memory | |
US7894290B2 (en) | Method and apparatus for performing internal hidden refreshes while latching read/write commands, address and data information for later operation | |
US7778103B2 (en) | Semiconductor memory device for independently selecting mode of memory bank and method of controlling thereof | |
US10185510B2 (en) | Bank interleaving controller and semiconductor device including the same |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |