CN103985411B - 待调度验证的非易失性写入缓冲器数据保留 - Google Patents
待调度验证的非易失性写入缓冲器数据保留 Download PDFInfo
- Publication number
- CN103985411B CN103985411B CN201410045411.2A CN201410045411A CN103985411B CN 103985411 B CN103985411 B CN 103985411B CN 201410045411 A CN201410045411 A CN 201410045411A CN 103985411 B CN103985411 B CN 103985411B
- Authority
- CN
- China
- Prior art keywords
- data
- write data
- write
- input
- volatile
- 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.)
- Expired - Fee Related
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
-
- 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/02—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements
- G11C11/16—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements using elements in which the storage effect is based on magnetic spin effect
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C13/00—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
- G11C13/0002—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
- G11C13/0004—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements comprising amorphous/crystalline phase transition cells
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C13/00—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
- G11C13/0002—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
- G11C13/0007—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements comprising metal oxide memory material, e.g. perovskites
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C13/00—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
- G11C13/0002—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
- G11C13/0021—Auxiliary circuits
- G11C13/0064—Verifying circuits or methods
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C13/00—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
- G11C13/0002—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
- G11C13/0021—Auxiliary circuits
- G11C13/0069—Writing or programming circuits or methods
-
- 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
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Chemical & Material Sciences (AREA)
- Materials Engineering (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Crystallography & Structural Chemistry (AREA)
- Read Only Memory (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Memory System (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- For Increasing The Reliability Of Semiconductor Memories (AREA)
Abstract
本申请公开了待调度验证的非易失性写入缓冲器数据保留。方法和装置用于在存储器中管理数据。根据一些实施例,非易失性(NV)缓冲器适于存储具有所选逻辑地址的输入写入数据。写入电路适于当在所述NV缓冲器中保留所述存储的输入写入数据时,向NV主存储器传输所述输入写入数据的副本。验证电路适于在预定逝去时间间隔结束时,执行验证操作以验证所述输入写入数据的副本成功传输到所述NV主存储器。所述输入写入数据保留在所述NV缓冲器中直到验证成功传输。
Description
发明概述
本发明的各个实施例一般涉及管理数据存储设备中的数据。
根据一些实施例,非易失性(NV)缓冲器适于存储具有所选逻辑地址的输入写入数据。写入电路适于当在所述NV缓冲器中保留所述存储的输入写入数据时,向NV主存储器传输所述输入写入数据的副本。验证电路适于在预定逝去时间间隔结束时,执行验证操作以验证所述输入写入数据的副本成功传输到所述NV主存储器。
鉴于下文的详细讨论和附图,可以理解表征本发明实施例的这些和其他特征以及方面。
附图简述
图1提供根据本发明的各种实施例的数据存储设备的功能框图表示。
图2示出根据一些实施例的图1的设备的各方面。
图3示出来自图2的闪速存储器的闪速存储器单元格。
图4示意地表示了根据一些实施例的闪速存储器单元格的阵列的一部分。
图5示出图2的闪速存储器阵列的擦除块。
图6表示用于图2的非易失性(NV)写入缓冲器的自旋力矩转移随机存取存储器(STRAM)单元格。
图7示出用于图2的非易失性(NV)写缓冲器的阻抗随机存取存储器(RRAM)单元格。
图8示出用于图2的非易失性(NV)写入缓冲器的相变随机存取存储器(PCRAM)单元格。
图9是根据一些实施例的NV缓冲器的可重写非易失性存储器单元格的布置的示意图。
图10提供了使用图9所配置的可改写存储单元格的NV缓冲器的示例性格式。
图11示出根据一些实施例由图2的设备执行的示例性验证操作。
图12示出根据一些实施例由图2的设备执行的比较运算。
图13示出了根据进一步实施例由设备产生哈希值。
图14示出根据一些实施例由图3的电路产生的哈希值的使用。
图15表示在根据一些实施例数据的不同写入模式的使用。
图16是根据本公开的各种实施例一般性表示可以执行的步骤的DATAWRITE例程。
发明详述
本发明总体上涉及到在数据存储设备中管理数据。
非易失性(NV)存储器倾向于以该方式存储数据:诸如从存储设备去除电源之后,所存储的数据保留在存储器中,而不需要刷新操作以保持数据状态。
可以执行写入验证操作(有时被称为读/写验证操作或简单地验证操作)以确保在写操作期间数据已被成功地写入到非易失性存储器中。
通常,验证操作可必需暂时在本地缓冲存储器中缓存数据,将数据写入到主存储器,以使数据从局部缓冲器复制到主存储器,从主存储器读取数据集,以及比较从主存储器读回的数据与在本地缓冲器中的原始数据集。如果两个数据集匹配,写入操作可以被验证为已取得成功,以及本地缓冲器中的原始数据集可以被抛弃或以其他方式丢弃,以为其他数据腾出空间。
如果在完成验证操作之前发生停电或其他干扰事件,或者如果在验证操作之前数据损坏或从本地缓存抛弃,如果写操作是不成功的,数据可能会丢失。由于这些风险,通常在将数据传输到NV主存储器之前,使用非易失性(NV)本地缓冲器以临时存储高优先级的写入数据。
在NV缓冲器中缓冲输入数据实质上可以确保数据总是存储在NV存储器中,这往往会降低数据丢失的风险。此外,在NV缓冲器中缓冲输入数据允许一旦主机接收数据则命令完成状态安全地发往主机设备,允许随后的写入操作将数据移动到NV主存储器以便在更适当的时间执行,而不需要写入操作立刻给予响应。
虽然可操作,仍然存在持续的需要用于改进将写入数据传输到NV主存储器的方式。因此,本发明的各种实施例一般针对在数据存储系统中提高数据完整性和系统可靠性。
如下面所解释的,各个实施例中通常采用NV主存储器(诸如闪速存储器),所述NV主存储器存储来自主机设备的用户数据。NV写入缓冲器用于临时缓冲待传输到主存储器的写入数据。NV写入缓冲器可采取非闪速NV结构,诸如磁性随机存取存储器(MRAM),自旋力矩转移随机存取存储器(STRAM),阻抗随机存取存储器(RRAM),相变随机存取存储器(PCRAM),等等。
输入的写入数据被存储在NV写入缓冲器中,以及写入操作被调度并执行以从NV缓冲器向NV主存储器复制写入数据。一旦数据已被传输到NV主存储器,启动预定的逝去时间间隔。
在一种方法中,可以通过使用定时器电路规定预定的逝去时间间隔,所述计时器电路启动时间间隔并一旦在所选时间量(例如,30秒,等等)过去时发送信号表示其完成。在另一种方法中,根据随后访问命令(例如,读取和/或写入命令)计数,测量预定逝去时间间隔,以便接收X条访问命令(例如,10条命令等)以表示时间间隔。在后一种情况下,所测量的时间,该间隔期间经过的测量时间相对于设备工作负载发生变化。
在逝去时间间隔结束时,如果没有接收中间更新写入请求用于相关数据,执行验证操作以验证数据已成功写入到NV主存储器。如果写入操作是成功的,NV缓缓冲器中的数据可以被抛弃,以为其它数据腾出空间。如果验证操作是不成功的,可以执行另一次写入操作或可以采取其他纠正措施。
如果在逝去时间间隔期间接收到中间写入请求,系统可以检查:新的写入请求是否提供更新的写入数据集。如果是这样,则可以取消先前接收到数据集的调度验证操作,以及可以为新的写入数据重新启动上述过程。
如果时间间隔期间对于待决写入数据接收到中间读取请求,读取请求可以迅速地从NV缓冲器提供服务作为缓存命中。中间读取和/或写入请求的发生可引发一系列后处理活动,诸如改变缓存策略,写入扩增缓解,使用快速(“松散”)写入,等等。
开始浏览图1,可以理解各种实施例的这些和其他特征以及优点,图1提供根据各种实施例构建和操作的数据存储设备。数据存储设备100通常包括控制器102和存储器模块104。该控制器102提供设备100的顶级控制。存储器模块104从/向请求者实体存储和检索用户数据,诸如外部主机设备(未单独列出)。在一些实施例中,控制器功能可以合并到存储器模块104中,使得单独的控制器是不必要的。
为了提供具体示例,系统100被设想为基于闪速存储器的存储设备,诸如固态驱动器(SSD),便携式拇指驱动器,记忆棒,存储卡等。将理解的这仅仅是说明性的而非限制性的,因为存储器模块104可以可替换地并入任何数量的不同类型的非易失性存储器。
图2示出根据一些实施例的图1的设备100。控制器102被描绘为具有合适编程的可编程处理器,所述合适编程存储在本地存储器中以指引俄主机设备的数据传输操作。存储器模块104包括接口(I/F)电路106,读/写/擦除(R/W/E)信道108,闪速存储器阵列110,本地易失性缓冲器112和非易失性(NV)缓冲器114。
I/F电路106提供和主机的主接口通信,以接收和发送命令、状态控制信息和数据。R/W/E信道108包括适当的行和列驱动器以及其它解码电路用于从闪速存储器阵列110编码、写入和读回数据。信道108也在控制器102的指引下执行其他操作(诸如碎片收集,缓存管理和验证操作)。
本地缓冲器112可以采用动态随机存取存储器(DRAM)或类似结构,并存储与该闪速存储器110相关联的用户数据和元数据。元数据可被存储在闪速存储器阵列110中,并当必要时传输到本地缓冲器112以支持各种访问(读取和写入)操作。
如下所述,一旦数据被复制到闪速存储器110,NV缓冲器临时存储写入数据候验证操作。可以设想:NV缓冲器112是可重写的,从而数据可以被写入到缓冲器中并然后根据需要改写。
图3示出来自闪速存储器阵列110的闪速存储单元120。半导体基板124中的掺杂区122形成由栅极结构126横跨的源和漏区122。该栅极结构包括通过中间势垒层132和134隔开的浮动栅极(FG)128和控制栅极(CG)130。关联于在浮置栅极128上的电荷积累,数据被存储到电池120格。
图4示出排列为列136和行138的多个单元格120。每列136中的单元格120在NAND配置中互连并由单独位线(BL)140进行存取。沿各行138的单元格120都连接到单独字线(WL)142,所述单独字线142互连沿着相关行的每个单元格的控制栅极(GC)130。
通过向位线140和字线142施加合适的电压以将电荷从沟道迁移到各自的浮置栅极128而写入(编程)单元格。单元格120的浮栅128上出现电荷增加阈值电压,所述阈值电压需要放置在控制栅130上以将单元格置于漏极-源极导通状态。通过向各自的位线140和字线142施加连续电压以检测单元格转换到导通状态的阈值,而读取(检测)编程状态。
需要特殊的擦除操作以除去积累电荷并将单元格120返回到未擦除的初始化状态。图5示出从图4提出的存储器单元格120形成的擦除块144。擦除块144表示可一次受到擦除操作的存储器单元格的最小分组。
该数据以页146的形式存储。擦除块144总共有N个页面,每个页面存储所选数据量(例如,4096比特等)。页146对应于存储器单元格136的行;在单级单元格(SLC)记录中,沿着所选行的每个单元格120存储数据的单个页面。在多级单元格(MLC)记录中,沿着所选行的每个单元格120存储两(或更多)页数据。一般情况下,每个单元格可通过提供2N不同积累的电荷水平而存储多达N位数据。
因为在不首先使单元格进行擦除操作的情况下数据通常不能重写到一组闪速存储单元格120,因此与所选逻辑地址(例如,逻辑块地址,LBA,等等)相关联的每组数据一般被写入到阵列中的新位置。例如,确定为LBAX的数据块可以被写入图5中的页1。如果提供数据块LBA X的随后提交版本用于写入,它可以被写入新位置(例如,页3,等等)。一般地,阵列110中的下一可用位置被选中用于写入给定LBA的每个新版本。下一个可用位置可在相同擦除块144中,或者更可能地,在最近分配的擦除块144中。
元数据由设备100维护以跟踪每个LBA的各种版本的位置。元数据可以包括一系列正向指针以管理每个LBA的最新版本位置。之前版本可被标记为过时。当在擦除块中或由若干这样的块组成的较大碎片收集单元(GCU)中足够水平的数据是陈旧的,擦除块或GCU可进行碎片收集处理,借此使得当前版本数据迁移到新位置,擦除块或GCU被擦除,并且擦除块或GCU返回到以待分配的分配池用于存储用户数据的后续使用。
如上所述,图2中的NV缓冲器114用于暂时缓冲输入写入数据,所述输入写入数据将被写入到阵列110中的一个或多个页146。尽管不是必需的,但可以设想,NV缓冲器114将使用不同类型的固态非易失性存储单元格结构。可以使用各种结构,例如但不限于由图6-8所提出的。
图6描述具有自旋力矩转移随机存取存储器(STRAM)配置的存储单元格150。该存储单元格包括和开关设备154串联的磁隧道结(MTJ)152。该开关设备154被示为构成金属氧化物半导体场效应晶体管(MOSFET),但也可以使用其它形式的开关设备,包括诸如二极管的单向器件等。
MTJ152包括顶部和底部导电电极156和158,自由层160,参考层162以及介于中间的势垒层164。可以使用其他MTJ结构。自由层160包括一层或多层具有可变磁取向的磁响应材料。参考层包括一层或多层具有固定磁定向的磁响应材料。参考层可以包括钉扎层(诸如永久磁铁,合成反铁磁(SAF)层等)以及被钉扎层,诸如通过钉扎层磁性定向的强磁性层。磁性取向的方向可垂直于或平行于通过MTJ152的电流方向。
所述MTJ结合自由层160相对于基准层162的取向表现出不同的阻抗。在平行取向相对低的阻抗,其中所述自由层160被取向在和基准层162的相同方向。在反平行取向提供相对高的阻抗,其中所述自由层160被取向在和基准层162的相对方向。可以施加自旋扭矩电流以在平行和反平行方向之间转换自由层。
存储器单元150由多个控制线互连,包括位线(BL)166,源极线(SL)167和字线(WL)168。字线168操作为选择线,从而使电流在所需方向通过位线166和源极线167之间的MTJ152。
图7提供阻抗性随机存取存储器(RRAM)单元格170。单元格170包括与图6的开关装置154组合的RRAM可编程元件172。顶部和底部导电电极174,176分离可构成氧化物层或电解质层的中间层。该中间层178通常具有相对高的阻抗。
在编程操作期间,启动可导致导电丝179形成的离子迁移,该导电丝179降低通过RRAM元件172的阻抗。通过向相应字、位和源极线166、167和168施加编程电流序列而形成导电丝179。可通过向单元格施加不同组合的电压而使RRAM单元格170复位到其初始状态。可以设想不一定形成导电丝的其他RRAM配置,诸如通过迁移离子或空穴横跨势垒或到中间结构而导致元件182阻抗的可控变化从而进行状态改变的结构。
图8示出相变随机存取存储器(PCRAM)单元格180。和以前一样,电池180具有和图6-7的开关设备154串联的可编程元件182。顶部和底部电极184,186分离相变材料188。当加热到等于或高于其玻璃转变温度的温度时,相变材料是热响应性并过渡(熔化)。取决于该层188随后冷却的速度,该材料的至少一部分可利用具有相应较高和较低阻抗的无定形或结晶状态。图8示出指示单元格180被编程为高阻抗状态的无定形区189。
但应该理解:除了图6-8所列举的那些,可以利用其它形式的非易失性固态存储器单元。图9示出NV存储器单元格190的一般使用,每个单元格都具有和开关设备(诸如设备154)组合的阻抗传感元件(RSE)192,其可对应于图6-8中元件152、172和182中所选择的一个。单元格被排列成行和列,并经由前述位166、源线167和字线168相互连接。
虽然不是必需的,可以设想:图2中的NV缓冲114可采用图9提出的结构。NV缓冲器114本质上是可重写的,使得沿着每条字线168的每组单元格可经配置以存储待传输到主闪速存储器110的数据,并然后当需要时重写新数据,而不需要使得所述存储器进行擦除操作。
NV缓冲器114可具有比闪闪速存储器110更快的数据I/O速率,以便需要时数据可以被快速地写入和读出NV缓冲器114,以支持所述闪速存储器的存取操作。NV缓冲器114可经配置以内容可寻址存储器(CAM)或类似缓存结构的形式。图10示出NV缓冲器114的示例性CAM结构。CAM结构最多可以存储N个条目194。每个条目包括标签字段196中的标识符标记,以及字字段198中的字载荷。标识符标签可以是LBA地址,以及字载荷可以是与LBA地址相关的相应页面数据。
图11示出本发明的数据写入管理电路200的各方面。电路200可以合并到以上讨论的存储器模块104的各个方面以执行验证和其他相关操作。为了本讨论,可以设想:写入数据集从主机提交到设备100用于写入到主闪速存储器阵列110。写入数据被提供所选的逻辑块地址,例如,LBA1001。在实践中,可以理解:可以发出涉及将许多LBA数据写入闪速存储器的单条写入请求(写入命令)。
如该图11所示,从主机接收的写入数据临时存储在NV缓冲器114的可用条目194(图10)中,以及输入写入数据的副本被写入闪速存储器阵列110的下一可用页146(图5)。这些步骤如上面所讨论的执行,并且包括使用LBA量(1001)作为字段196中的相关条目和在字字段198中的用户数据。可先于或随后将写入数据加载到NV缓冲器114而应用编码。将数据写入到闪速存储器阵列110包括:引用元数据以识别数据将被写入的物理地址(例如,页等),并向数据应用适当的编码或其它处理用于存储数据。该数据将相对于单元格128的相关浮栅上的累积电荷量而存储到闪速存储器单元120的所选行138。
一旦写入数据,定时器电路202启动预定逝去时间间隔的计数。间隔的长度可以是任何合适的值,以及可以是几秒钟(例如3-5秒,等)或更多的数量级。可以选择其它的持续时间,包括不同优先级数据的不同延续时间。持续时间可进一步根据设备100的工作载荷在操作过程中进行自适应改变。数据管理电路200进一步调度在逝去时间间隔结束时要执行的验证操作。
在一些实施例中,根据逝去时间经过的间隔长度可选择为超过主存储器(例如,闪存器110)的松散时间。可以理解:将数据写入闪速存储器涉及到电荷转移到存储器的浮栅结构,以及一旦电荷转移完成,快闪单元格稳定到最终积累的电荷状态存在相对较短的持续时间。该时间间隔(对于当前产生快闪存储器单元,可能是大约30的持续时间或更多)在本文中称为松弛时间。存储器单元格的其它结构可以具有不同的相关松散时间。通过选择逝去时间间隔的持续时间超过该松散时间,可以在单元格的最终编程状态已稳定的时间点执行验证操作。
在其它实施例中,定时器电路可以计数访问命令(例如,读取和/或写入命令)以作为代替时间推移的度量。换句话说,可以相对于从主机设备接收到X条新访问命令来定义预定时间间隔,以便验证操作不被执行,直到已经接收(并且,在某些情况下提供服务)X条命令。数X可以是任何复数整数,诸如10,20,50等。将被理解的是:在这种情况下,间隔内经过的逝去时间的实际量将根据工作负载发生变化;在相对大量的I/O访问命令被提供服务的较高工作负载环境下,间隔内经过时间的实际总量将比具有相对较低数量的I/O访问命令的较低工作负载环境更短。
在该时间间隔期间,设备100以正常工作模式运行并当需要时服务其他的访问请求。一旦定时器电路202信号表示逝去时间间隔结束,所调度的验证操作开始(除了如下面讨论的)。R/W/E信道108从闪速存储器阵列110读回在时间间隔开始时写入的数据。读回数据可以临时存储在本地缓冲器112或某一其它合适位置中,包括需要时NV缓冲器。如果在写入操作期间向数据应用编码,应用合适的解码(例如,误差检测和校正等),以便数据名义上具有和尚待在NV缓冲器114的写入数据的相同状态。
比较电路204使用任何数量的已知技术比较在NV缓冲器114中的原始写入数据和读回数据,包括应用异或(XOR)运算。
取决于验证操作的结果以及逝去时间间隔期间是否发生其他事件,许多不同的处理路径被描绘在图11中。
如果比较电路204确定两个数据集匹配时,写入操作被验证为已成功以及写入数据被随后从NV缓冲器112删除(抛弃),如在步骤206所描述。但应该理解:如果在NV缓冲器112中有可用的高速缓存行194,数据不一定被立即删除或覆盖,而是可以当高速缓存行随后需要适应新数据时被选择重写。将写入数据留在NV缓存器中实质上没有增加处理成本,可以在过渡期间使得后续的读取缓存命中。
如果比较电路204确定两个数据集不匹配,则推定错误已经发生并如步骤208所指示的采取纠正操作。纠正操作可包括将数据重写到闪速存储器阵列110的新位置,并重复上述步骤。失败可由于在闪速存储器中的缺陷或其他异常状态,因此,也可以采取其它步骤。例如,向其中写入数据的位置可进行评估用于可能的释放,等等。
图11示出在210的其他处理路径,指示由设备100从主机设备接收对于在NV缓冲器114(例如LBA1001)中存储的写入数据的读取请求的情况。如果是这样,写入数据的副本被输出作为来自NV缓冲器114的读回数据,并标示为路径211。这构成高速缓存命中。
对于数据立即接收读取请求的事实进一步导致将数据分类为“热”数据,即,在主机中的数据目前展示比较高水平的关注。因此,LBA1001的热写入数据维护在NV缓冲器114中,以期望后续的高速缓存命中。如将理解的:高速缓存命中通常是理想的,因为相关的读取请求可被满足,而不需要从闪速存储器阵列110读出数据,从而节省了时间和系统资源。
在此点也可以采取其他步骤,诸如将空间上或时间上相关于LBA1001的写入数据的其他数据迁移到NV缓冲器114作为推测性读取操作以进一步支持潜在的高速缓存命中。空间地(空间)相关的数据可以是LBA序列(例如,个LBA1002,1003等)中的附近LBA。时间地(时间)相关的数据可是在和LBA1001相同时间写入的LBA。
图12表示可由数据管理电路200执行的操作的相关序列。和以前一样,LBA1001的写入数据从主机接收,并储存在NV缓冲器114以及复制到主闪速存储器阵列110。在此时,定时器电路202开始计数逝去时间间隔,以及一旦时间间隔完成调度要发生的验证操作。
然而,在完成逝去时间间隔之前,从主机接收对和LBA1001关联的新的写入请求,如标示为路径214。在这一点,该电路200确定新的写入数据是否不同于在NV缓冲器中的现有数据。比较电路204以类似于上面讨论的图11的比较方式比较这两个数据集。可采用许多不同的可能的处理路径。
如由步骤216所示,如果两个数据集匹配,则主机设备简单地提供相同数据的另一写入请求,并且可忽略新的数据。避免相同数据集的重复写入(写入扩增)可以有利地减少时间和系统资源的支出,并可减少磨损。
如果两个数据集不匹配,如由步骤218所示,从NV缓存器114抛弃LBA1001的写入数据的旧版本,停止定时器电路倒计时,以及取消验证操作。因此如上所述,处理LBA1001的新的写入数据集(包括新的时间间隔和调度的验证操作)。
可在步骤220应用额外处理。因为在相对较短时间中已从主机接收多个写入请求,数据可以被分类为如前的“热”数据。在这种情况下,随后接收的热写入数据集可以使用哈希和/或快速(松散)写入进行处理。
哈希发生器222如图13所示。通常,哈希发生器222使用哈希函数以从输入数据集生成一组哈希值。哈希函数可以表征为任何数量的不同类型的算法,这些算法将所选长度的第一数据集(“密钥”)映射到所选长度的第二数据集(“哈希值”)。在许多情况下,所述第二数据集比所述第一数据集短。哈希发生器22所使用的的哈希函数应该是变形的、引用透明的以及抗碰撞的。
变形涉及以如下方式改变哈希函数的输入值:输入值(密钥)的内容不能通过输出哈希值的粗略检查中而恢复。引用透明性是哈希函数的特性,以使得每次呈现相同的输入值时产生相同的输出哈希值。抗碰撞性是指示具有不同比特值的两个输入并不映射到相同输出哈希值的特性。哈希发生器222所使用的的哈希函数或多个函数可以采用任意数量的形式,包括校验和、校验位、指纹、密码功能、校验值等。
在一些实施例中,应用Sha系列的哈希函数(诸如Sha256)。Sha256哈希的所选比特(诸如Sha哈希值的最不显著位等)也可以用作哈希值。
哈希发生器222可经配置以产生由系统需要的哈希值。如该图13所示,在图12的更新写入数据的随后写入期间,哈希值并生成并和的更新写入数据的副本一起存储在闪存存储器阵列110中。在随后的验证操作期间,如上图11所述比较发生。然而,并非比较输入写入数据的完成集合和读回数据,而是由比较电路204比较相关的哈希值。以这种方式,可以执行高效比较以验证数据成功写入到闪速存储器阵列110。
哈希值可以进一步用于在写入拒绝处理期间降低图14提出的写入扩增。在图14中,所选LBA(即LBA1001)的新版本的写入数据被接收用于写入到闪速存储器阵列110,并暂时缓冲在NV缓冲器114中。元数据解码电路224访问在闪速存储器阵列110中存储的元数据,以确定所选LBA的先前存储数据的位置并返回先前存储的(旧)哈希值。
哈希发生器222产生新的哈希值用于输入写入数据,以及比较电路204比较新的哈希值与旧的哈希值。如果哈希值匹配,则新版本的写入数据仅仅是现有数据的副本存在统计地显著概率。在这点,可以像以前一样抛弃新的写入数据,因为没有必要存储相同数据的新的重复的副本。如果在写入拒绝过程需要进一步的保证级别,可以通过检索先前存储的数据并使用XOR函数或类似地执行完全的逐位比较继续操作,如以上在图11所讨论的。
通过实施热写入数据(在验证操作的未决期间接收写入请求的数据)的哈希值,可以执行重复数据的快速拒绝并减少写入扩增。
图15说明了如何使用松散写入,该松散写入可进一步用于在随后的写入操作期间对于热写入数据实施。如图15所示,R/W/E电路108包括适于接收多个输入的控制电路226,该控制电路226包括快速(松散)写入选择信号通过路径228和慢速(正常)写入选择信号通过路径230。这些信号可以根据需要由数据管理器电路200生成并输出。默认设置为慢速(正常)写入过程。
电路108在图15中进一步示出以包括电荷泵电路232和编程验证电路234。这些电路232、234是在控制电路226的控制之下。该电荷泵电路232通常操作以将电荷量子传送到被编程的相关闪速存储器单元120。编程校验电路234周期性地施加读取验证阈值以评估在单元格120的浮栅128(图3)上累积的电荷总量。
在慢速(正常)写入选择模式下,电路232、234以正常方式工作用于向闪速存储器单元施加电荷。在某些情况下,该操作可包括:在存储设备(诸如电容器)上积累来自电压源的电荷,并经由相关位线和字线将电荷传输到单元格120(图4),以逐步增加浮栅上累积的电荷量。编程校验电路可以在各电荷传输操作结束时运行以评估单元格120的累积电荷总量。可以应用第一正常集合的处理参数(诸如阈值)以确保编程单元格上的电荷总量落在选定的范围内。
在快速(松散)写入选择模式下,除了以更快、更可控的方式,电路232、234如上操作。以精度为代价,可以应用一些技术以加快编程过程。电荷泵电路例如可经配置以在每次传输期间比正常操作传送更大量的电荷,和/或在由评价验证电路234评价之前可连续传输更大量的电荷集。
此外,当判定编程操作是否已经完成时,该编程验证电路234可以使用第二组松散参数阈值。可以设想:松散写入处理将倾向于比正常写入处理更快地写入数据,并可能具有总功率的较低拉伸,但和使用正常处理编程相同单元格相比,最后编程的单元格往往表现出更大的电荷分布变化。
应当理解:对于热写入数据使用松散写入的一个基础在于,期望闪速存储器阵列110中的数据持续时间可比正常数据基本上短。因此,该系统可容忍具有更大电荷分布变化的短期存储数据。
图16限定DATA WRITE例程300,一般性示出根据上述讨论的步骤在写入数据处理过程中可由设备100执行的步骤。在步骤302从主机设备结合写入请求(命令)接收写入数据(诸如如上所述对于LBA1001的入数据)。在步骤304,输入写入数据被存储在可重写非易失性(NV)缓冲器(诸如114)中。也可以采用写回处理,以便向主机通知在该点数据已被成功写入。
该例程进行步骤306,其中写入数据从NV缓冲器复制到NV主存储器(诸如闪存存储器阵列110)。在步骤308启动定时器电路(诸如202)以启动预定逝去时间间隔。将会注意到:该计时器电路可以作为计数器以测量预选时间量的经过。可替换地,所述计时器电路可以计算由设备从主机接收的中间访问命令并一旦接收(并且,根据需要进行处理)访问命令的预定次数X(例如X=10,等等)则结束该时间间隔。在步骤310调度校验操作用于在步骤306写入的数据,一旦逝去时间间隔已结束,验证操作试探性地发生。
例程接下来处理在逝去时间间隔过程中发生的事件(如果有的话)。确定步骤312询问是否(例如LBA1001)已接收写入数据的读取请求。如果是,则处理转到步骤314,在该步骤314,该读取请求被满足作为来自NV缓冲器114的缓存命中,以及写入数据被表示为热数据用于将来的处理。在该点或在后面的处理中,空间上或时间上相邻的数据可以被迁移到NV缓冲器114用于将来的缓存命中。此外,可制定缓存保留策略,以至于在验证操作成功结束后这些数据保持在NV缓冲器114中。
继续例程,流程进行到确定步骤316,该确定步骤316询问在该时间间隔期间是否接收到写入请求。如果是,则例程转到步骤318,它确定新的写入请求是否是对于相同数据(例如,对于LBA1001)或新的写请求是否是对于不同的数据集合。在后者的情况下,例程回到步骤306并写入新的数据集合以及为新数据启动新的经过时间间隔。可以设想:定时电路202可以对于任意数量的数据集同时管理任意数量的不同的重叠的经过时间间隔。
如果新的写入数据具有和待写入数据的相同逻辑地址(例如,两者都对于LBA1001),例程从步骤318进行到步骤320,在步骤320,对各个数据集之间进行比较。该操作在以上图12中讨论。如果在确定步骤222确定两个数据集匹配,则在步骤324新的写入数据可以被丢弃为不必要的。
如果写入数据集不匹配,则可推定该新写入数据集是更新数据,或者最新版本的数据,以及旧的数据集现在是旧的旧版本数据。在这种情况下,不需要进一步执行较旧数据的写入验证。例程进行到步骤326,在该步骤326,停止当前的时间间隔,取消来自步骤310的调度验证操作,以及新的写入数据被表示为热数据。如以上在图13-15中描述地,这可需要使用哈希值和/或松散写入用于对相关LBA的后续写入操作。
另一方面,如果随着逝去时间间隔继续进行,没有接收读取请求(步骤312)和写入请求(步骤316),例程进行到确定步骤328,该确定步骤328确定逝去时间间隔是否已完成。如果不是,则例程循环返回,必要时处理任何接收的读取和/或写入请求。
在逝去时间间隔将已结束的某些点,在该点处理由步骤328进行到步骤330,在该步骤330执行调度验证步骤,如图11一般性提出地。如果写入验证成功,只要在过渡期间接收读取请求,则可以从所述NV缓冲器抛弃写入数据。该过程然后在步骤332结束,但可以理解的是,多个待写入数据集可以同时进行图16的流程并相应处理。
现在将理解的是:本文中所呈现的各种实施例可提供许多优势。使用NV缓存器以临时缓冲输入写入数据可有助于减少功率损耗或其他异常事件情况下的数据丢失。使用定时器以延迟写入验证处理可以使系统在更方便的时间调度验证操作,以及基于中间读取和/或写入请求而确定数据的相对状态(例如,数据是否可以被看作是热读取数据和/或热写入数据)。实际上,如果在时间间隔内接收给定逻辑地址的更新数据,则延迟允许执行不必要的验证操作。
将某些数据标识为热数据(热读取数据或热写入数据)进一步允许实施合适的缓存策略和写入策略,诸如推测性读取出栈、利用哈希值以及使用快速(松散)写入。可以减少写入扩增,这可趋向于增加有效的数据I/O速率,并减少NV主存储器的磨损。
虽然不是必要的限制,但可以设想:可重写NV缓冲器(诸如但不限于RRAM,STRAM,PCRAM等)可以有利地扩展由不同结构组成的NV主存储器的操作性能,诸如可擦除闪速存储器。可以使用其它类型的缓冲器和主存储器。
已在前面的描述中列出本发明的多个实施例的多个特征和优点,以及结构和功能细节。然而,该详细描述仅是说明性的,可在细节上进行改变,特别是在本公开的原理内在结构和部件配置方面,以及本发明的全部范围由在此标识所附权利要求的术语的广泛的一般含义表明。
Claims (24)
1.一种数据存储设备中管理数据的方法,包括:
在非易失性缓冲器中存储输入写数据,所述输入写数据具有相关联的逻辑地址;
当在所述非易失性缓冲器中保留所述存储的输入写入数据时,向非易失性主存储器传输所述输入写入数据的副本;以及
在预定逝去时间间隔结束时,执行验证操作以验证所述输入写入数据的副本成功传输到所述非易失性主存储器,
响应于在非易失性缓冲器中不存在与所述输入写入数据相关联的中间写入请求,执行写入操作,并且其中响应于在非易失性缓冲器中存在与所述输入写入数据相关联的中间写入请求,不执行所述验证操作。
2.如权利要求1所述的方法,其中所述非易失性缓冲器是可重写固态存储器,以及非易失性主存储器是可擦除固态存储器。
3.如权利要求2所述的方法,其中,所述可重写固态存储器是自旋扭矩随机存取存储器(STRAM)、阻抗随机存取存储器(RRAM)或相变随机存取存储器(PCRAM)中选定的一个,以及所述可擦除固态存储器是闪速存储器。
4.如权利要求1所述的方法,进一步包括:响应于在逝去时间间隔期间并在所述验证操作之前接收的读取请求,从所述非易失性缓冲器向主机传输所述输入写入数据的副本,并在所述验证操作成功结束之后,实施缓存保留策略的变化以在所述非易失性缓存器中保留所述输入写入数据。
5.如权利要求4所述的方法,进一步包括:响应于所述读取请求,向非易失性缓冲器传输空间上和/或时间上与所述输入写入数据相关的第二数据集,作为推测性数据出栈。
6.如权利要求1所述的方法,其中所述方法进一步包括:在预定逝去时间间隔结束之前,接收和在所述非易失性缓冲器中所述输入写入数据具有关联的逻辑地址且不同的第二输入写入数据集,并且对于所述第二输入写入数据集重复所述存储、传输、发起预定逝去时间间隔的计时和执行验证的步骤,以及其中对于所述非易失性缓冲器中的所述输入写入数据不执行验证操作。
7.如权利要求1所述的方法,进一步包括:响应于所述输入写入数据时使用选定的哈希函数产生哈希值,在非易失性主存储器中存储所述哈希值,并在随后写入拒绝处理中使用所存储的哈希值,所述写入拒绝处理涉及接收共享着相关逻辑地址的第二输入写入数据集。
8.如权利要求1所述的方法,进一步包括:响应于共享相关逻辑地址的输入写入数据集合的接收频率,使用松散写入处理写入所述输入写入数据。
9.如权利要求1所述的方法,进一步包括:发起计时器以根据逝去时间的预选量表示预定逝去时间间隔。
10.如权利要求9所述的方法,其中,所述逝去时间的预选量经选择以超过和所述非易失性主存储器相关联的松散时间间隔。
11.如权利要求9所述的方法,其中,响应于从主机设备收到第X访问命令,所述计时器结束预定时间间隔,其中,X是复数整数。
12.一种数据存储装置,包括:
非易失性的缓冲器,适于存储具有所选逻辑地址的输入写入数据;
写入电路,适于当在所述非易失性缓冲器中保留所述存储的输入写入数据时,向非易失性主存储器传输所述输入写入数据的副本;以及
验证电路,适于在预定逝去时间间隔结束时,执行验证操作以验证所述输入写入数据的副本成功传输到所述非易失性主存储器,
响应于在所述非易失性缓冲器中不存在与所述输入写入数据相关联的中间写入请求,执行写入操作,并且其中响应于在所述非易失性缓冲器中存在与所述输入写入数据相关联的中间写入请求,不执行所述验证操作。
13.如权利要求12所述的装置,其中,响应于在逝去时间间隔期间接收具有所选逻辑地址的更新后的输入写入数据,所述验证电路取消验证操作,所述非易失性缓冲器存储更新后的输入写入数据,以及所述写入电路向所述非易失性主存储器传输更新的输入写入数据的副本。
14.如权利要求13所述的装置,进一步包括哈希发生器,所述哈希发生器响应于所述更新后的输入写入数据产生哈希值,所述写入电路在所述非易失性主存储器中存储所产生的哈希值。
15.如权利要求14所述的装置,其中响应于在所述非易失性主存储器中生成的哈希值和响应于在所述非易失性缓冲器中更新后的输入写入数据产生的第二产生的哈希值的比较,所述验证电路对更新后的输入写入数据执行验证操作。
16.如权利要求12所述的装置,进一步还包括读取电路,该读取电路响应于接收请求具有所选逻辑地址的数据的读取请求,传输所述输入写入数据的副本用于从所述非易失性缓冲器输出到主机,以及实施缓存保持策略以在验证操作成功结束之后在所述非易失性缓冲器中保留所述输入写入数据。
17.如权利要求12所述的装置,其中响应于读取请求,读取电路进一步向所述非易失性缓冲器传输空间上和/或时间上与所述输入写入数据相关的第二数据副本集,作为推测性数据出栈。
18.如权利要求12所述的装置,其中所述非易失性主存储器包括具有多个闪速存储单元格的闪速存储器,其包括,以及所述写入电路进一步包括电荷泵,所述电荷泵通过在选定的快闪存储器单元格集合的浮动栅结构存储累积电荷,而将所述输入写入数据的副本存储到所选的快闪存储器单元格集合。
19.如权利要求18所述的装置,其中所述电荷泵适于根据快速松散的写入处理以及根据缓慢正常的写入处理交替地存储所收集的所述电荷,并且其中响应于指示将所述输入写入数据分类为热数据的控制信号,所述电荷泵使用快速松散的写入处理存储所述累积电荷。
20.如权利要求12所述的装置,进一步包括定时器电路,适于响应于所述输入写入数据的副本传输到所述非易失性主存储器而启动计数以表示预定逝去时间间隔。
21.如权利要求20所述的装置,其中,所述定时器电路根据预选逝去时间量的经过而表示预定逝去时间间隔。
22.如权利要求20所述的装置,其中,响应于从主机设备接收第X访问命令,所述定时器电路结束预定的逝去时间间隔,其中,X是复数整数。
23.如权利要求12所述的装置,其中,所述预定逝去时间间隔相对于所接收的访问命令的工作量率而变化。
24.一种数据存储装置,包括:
非易失性缓冲器,其包括配置成内容可寻址存储器(CAM)并适于存储具有所选逻辑地址的输入写入数据的多个可重写非易失性存储器单元格;
非易失性主存储器,包括多个可擦闪存单元格;
写入电路,其适于当在所述非易失性缓冲器中保留所存储的输入写入数据时,向非易失性主存储器传输所述输入写入数据的副本;以及
定时器电路,其适于引发区别预定逝去时间间隔,以及
验证电路,响应于在预定逝去时间间隔期间接收具有所选逻辑地址的更新后的写入数据,指示计时电路停止区别所述预定逝去时间间隔,并重新初始化定时器电路开始为更新后的写入数据区别第二预定逝去时间间隔,并且其中,所述验证电路,响应于在预定逝去时间间隔期间不存在具有所选逻辑地址的更新后的数据写入,在所述预定逝去时间间隔结束时执行验证操作以验证输入写入数据的副本成功传输到所述非易失性主存储器。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/762,033 | 2013-02-07 | ||
US13/762,033 US9076530B2 (en) | 2013-02-07 | 2013-02-07 | Non-volatile write buffer data retention pending scheduled verification |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103985411A CN103985411A (zh) | 2014-08-13 |
CN103985411B true CN103985411B (zh) | 2017-04-12 |
Family
ID=51259105
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410045411.2A Expired - Fee Related CN103985411B (zh) | 2013-02-07 | 2014-02-07 | 待调度验证的非易失性写入缓冲器数据保留 |
Country Status (4)
Country | Link |
---|---|
US (1) | US9076530B2 (zh) |
JP (1) | JP5778807B2 (zh) |
KR (1) | KR101563482B1 (zh) |
CN (1) | CN103985411B (zh) |
Families Citing this family (88)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9424946B2 (en) * | 2013-02-08 | 2016-08-23 | Seagate Technology Llc | Non-volatile buffering to enable sloppy writes and fast write verification |
TWI516927B (zh) * | 2013-06-14 | 2016-01-11 | 群聯電子股份有限公司 | 資料寫入方法、記憶體控制器與記憶體儲存裝置 |
US9208023B2 (en) * | 2013-12-23 | 2015-12-08 | Sandisk Technologies Inc. | Systems and methods for scheduling post-write read in nonvolatile memory |
US9978432B2 (en) * | 2014-12-22 | 2018-05-22 | Intel Corporation | Write operations in spin transfer torque memory |
EP3200083B1 (en) * | 2014-12-23 | 2019-03-13 | Huawei Technologies Co. Ltd. | Resource scheduling method and related apparatus |
KR102292217B1 (ko) * | 2015-02-06 | 2021-08-24 | 삼성전자주식회사 | 내부적으로 데이터 읽기 검증을 수행할 수 있는 메모리 장치, 이의 작동 방법, 및 이를 포함하는 메모리 시스템 |
JP2016181312A (ja) * | 2015-03-23 | 2016-10-13 | ルネサスエレクトロニクス株式会社 | 半導体装置およびその動作方法 |
US10163479B2 (en) | 2015-08-14 | 2018-12-25 | Spin Transfer Technologies, Inc. | Method and apparatus for bipolar memory write-verify |
KR102535700B1 (ko) * | 2016-02-01 | 2023-05-24 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작방법 |
US10255208B2 (en) | 2016-03-04 | 2019-04-09 | Toshiba Memory Corporation | Data transfer apparatus and data transfer system |
KR102595233B1 (ko) * | 2016-03-24 | 2023-10-30 | 에스케이하이닉스 주식회사 | 데이터 처리 시스템 및 그것의 동작 방법 |
US10007462B1 (en) | 2016-03-31 | 2018-06-26 | EMC IP Holding Company LLC | Method and system for adaptive data migration in solid state memory |
US10983704B1 (en) | 2016-05-20 | 2021-04-20 | Emc Corporation | Method and system for adaptive wear leveling in solid state memory |
US11348072B2 (en) | 2016-09-26 | 2022-05-31 | Microsoft Technology Licensing, Llc | Techniques for sharing electronic calendars between mailboxes in an online application and collaboration service |
US10546625B2 (en) | 2016-09-27 | 2020-01-28 | Spin Memory, Inc. | Method of optimizing write voltage based on error buffer occupancy |
US10437491B2 (en) | 2016-09-27 | 2019-10-08 | Spin Memory, Inc. | Method of processing incomplete memory operations in a memory device during a power up sequence and a power down sequence using a dynamic redundancy register |
US10437723B2 (en) | 2016-09-27 | 2019-10-08 | Spin Memory, Inc. | Method of flushing the contents of a dynamic redundancy register to a secure storage area during a power down in a memory device |
US10192602B2 (en) | 2016-09-27 | 2019-01-29 | Spin Transfer Technologies, Inc. | Smart cache design to prevent overflow for a memory device with a dynamic redundancy register |
US10460781B2 (en) | 2016-09-27 | 2019-10-29 | Spin Memory, Inc. | Memory device with a dual Y-multiplexer structure for performing two simultaneous operations on the same row of a memory bank |
US10628316B2 (en) | 2016-09-27 | 2020-04-21 | Spin Memory, Inc. | Memory device with a plurality of memory banks where each memory bank is associated with a corresponding memory instruction pipeline and a dynamic redundancy register |
US10366774B2 (en) | 2016-09-27 | 2019-07-30 | Spin Memory, Inc. | Device with dynamic redundancy registers |
US10360964B2 (en) | 2016-09-27 | 2019-07-23 | Spin Memory, Inc. | Method of writing contents in memory during a power up sequence using a dynamic redundancy register in a memory device |
US10818331B2 (en) | 2016-09-27 | 2020-10-27 | Spin Memory, Inc. | Multi-chip module for MRAM devices with levels of dynamic redundancy registers |
US10446210B2 (en) | 2016-09-27 | 2019-10-15 | Spin Memory, Inc. | Memory instruction pipeline with a pre-read stage for a write operation for reducing power consumption in a memory device that uses dynamic redundancy registers |
US10192601B2 (en) | 2016-09-27 | 2019-01-29 | Spin Transfer Technologies, Inc. | Memory instruction pipeline with an additional write stage in a memory device that uses dynamic redundancy registers |
US10622089B2 (en) * | 2016-10-18 | 2020-04-14 | Toshiba Memory Corporation | Storage system having a host that manages physical data locations of storage device |
US10353601B2 (en) * | 2016-11-28 | 2019-07-16 | Arm Limited | Data movement engine |
CN109164976B (zh) * | 2016-12-21 | 2021-12-31 | 北京忆恒创源科技股份有限公司 | 利用写缓存优化存储设备性能 |
US10416904B1 (en) | 2016-12-30 | 2019-09-17 | EMC IP Holding Company LLC | Method and system for recovering storage object records in solid state memory |
US10599342B2 (en) | 2016-12-30 | 2020-03-24 | EMC IP Holding Company LLC | Method and system for offset mirroring in a storage system |
KR102646755B1 (ko) * | 2017-01-06 | 2024-03-11 | 삼성전자주식회사 | 저항 변화 물질을 포함하는 메모리 장치 및 그 구동 방법 |
US10922661B2 (en) * | 2017-03-27 | 2021-02-16 | Microsoft Technology Licensing, Llc | Controlling a computing system to generate a pre-accept cache for calendar sharing |
US10090067B1 (en) | 2017-05-30 | 2018-10-02 | Seagate Technology Llc | Data storage device with rewritable in-place memory |
US10068663B1 (en) * | 2017-05-30 | 2018-09-04 | Seagate Technology Llc | Data storage device with rewriteable in-place memory |
US10147501B1 (en) * | 2017-05-30 | 2018-12-04 | Seagate Technology Llc | Data storage device with rewriteable in-place memory |
US10585800B2 (en) * | 2017-06-16 | 2020-03-10 | International Business Machines Corporation | Reducing cache transfer overhead in a system |
KR102398186B1 (ko) * | 2017-07-03 | 2022-05-17 | 삼성전자주식회사 | 메모리 컨트롤러의 동작 방법 및 사용자 장치의 동작 방법 |
JP2019029045A (ja) * | 2017-07-26 | 2019-02-21 | 東芝メモリ株式会社 | 半導体記憶装置 |
US10572359B2 (en) | 2017-09-05 | 2020-02-25 | International Business Machines Corporation | Validation of data written via two different bus interfaces to a dual server based storage controller |
US10481976B2 (en) | 2017-10-24 | 2019-11-19 | Spin Memory, Inc. | Forcing bits as bad to widen the window between the distributions of acceptable high and low resistive bits thereby lowering the margin and increasing the speed of the sense amplifiers |
US10656994B2 (en) | 2017-10-24 | 2020-05-19 | Spin Memory, Inc. | Over-voltage write operation of tunnel magnet-resistance (“TMR”) memory device and correcting failure bits therefrom by using on-the-fly bit failure detection and bit redundancy remapping techniques |
US10529439B2 (en) | 2017-10-24 | 2020-01-07 | Spin Memory, Inc. | On-the-fly bit failure detection and bit redundancy remapping techniques to correct for fixed bit defects |
US10489245B2 (en) | 2017-10-24 | 2019-11-26 | Spin Memory, Inc. | Forcing stuck bits, waterfall bits, shunt bits and low TMR bits to short during testing and using on-the-fly bit failure detection and bit redundancy remapping techniques to correct them |
US10891997B2 (en) | 2017-12-28 | 2021-01-12 | Spin Memory, Inc. | Memory array with horizontal source line and a virtual source line |
US10360962B1 (en) | 2017-12-28 | 2019-07-23 | Spin Memory, Inc. | Memory array with individually trimmable sense amplifiers |
US10424726B2 (en) | 2017-12-28 | 2019-09-24 | Spin Memory, Inc. | Process for improving photoresist pillar adhesion during MRAM fabrication |
US10811594B2 (en) | 2017-12-28 | 2020-10-20 | Spin Memory, Inc. | Process for hard mask development for MRAM pillar formation using photolithography |
US10395712B2 (en) | 2017-12-28 | 2019-08-27 | Spin Memory, Inc. | Memory array with horizontal source line and sacrificial bitline per virtual source |
US10395711B2 (en) | 2017-12-28 | 2019-08-27 | Spin Memory, Inc. | Perpendicular source and bit lines for an MRAM array |
US10367139B2 (en) | 2017-12-29 | 2019-07-30 | Spin Memory, Inc. | Methods of manufacturing magnetic tunnel junction devices |
US10784439B2 (en) | 2017-12-29 | 2020-09-22 | Spin Memory, Inc. | Precessional spin current magnetic tunnel junction devices and methods of manufacture |
US10546624B2 (en) | 2017-12-29 | 2020-01-28 | Spin Memory, Inc. | Multi-port random access memory |
US10424723B2 (en) | 2017-12-29 | 2019-09-24 | Spin Memory, Inc. | Magnetic tunnel junction devices including an optimization layer |
US10886330B2 (en) | 2017-12-29 | 2021-01-05 | Spin Memory, Inc. | Memory device having overlapping magnetic tunnel junctions in compliance with a reference pitch |
US10840439B2 (en) | 2017-12-29 | 2020-11-17 | Spin Memory, Inc. | Magnetic tunnel junction (MTJ) fabrication methods and systems |
US10840436B2 (en) | 2017-12-29 | 2020-11-17 | Spin Memory, Inc. | Perpendicular magnetic anisotropy interface tunnel junction devices and methods of manufacture |
US10438996B2 (en) | 2018-01-08 | 2019-10-08 | Spin Memory, Inc. | Methods of fabricating magnetic tunnel junctions integrated with selectors |
US10438995B2 (en) | 2018-01-08 | 2019-10-08 | Spin Memory, Inc. | Devices including magnetic tunnel junctions integrated with selectors |
US10446744B2 (en) | 2018-03-08 | 2019-10-15 | Spin Memory, Inc. | Magnetic tunnel junction wafer adaptor used in magnetic annealing furnace and method of using the same |
CN108491160B (zh) * | 2018-03-13 | 2021-11-26 | 北京奇艺世纪科技有限公司 | 一种数据写入方法及装置 |
US11107974B2 (en) | 2018-03-23 | 2021-08-31 | Spin Memory, Inc. | Magnetic tunnel junction devices including a free magnetic trench layer and a planar reference magnetic layer |
US11107978B2 (en) | 2018-03-23 | 2021-08-31 | Spin Memory, Inc. | Methods of manufacturing three-dimensional arrays with MTJ devices including a free magnetic trench layer and a planar reference magnetic layer |
US20190296223A1 (en) | 2018-03-23 | 2019-09-26 | Spin Memory, Inc. | Methods of Manufacturing Three-Dimensional Arrays with Magnetic Tunnel Junction Devices Including an Annular Free Magnetic Layer and a Planar Reference Magnetic Layer |
US10784437B2 (en) | 2018-03-23 | 2020-09-22 | Spin Memory, Inc. | Three-dimensional arrays with MTJ devices including a free magnetic trench layer and a planar reference magnetic layer |
US10411185B1 (en) | 2018-05-30 | 2019-09-10 | Spin Memory, Inc. | Process for creating a high density magnetic tunnel junction array test platform |
US10692569B2 (en) | 2018-07-06 | 2020-06-23 | Spin Memory, Inc. | Read-out techniques for multi-bit cells |
US10593396B2 (en) | 2018-07-06 | 2020-03-17 | Spin Memory, Inc. | Multi-bit cell read-out techniques for MRAM cells with mixed pinned magnetization orientations |
US10600478B2 (en) | 2018-07-06 | 2020-03-24 | Spin Memory, Inc. | Multi-bit cell read-out techniques for MRAM cells with mixed pinned magnetization orientations |
US10559338B2 (en) | 2018-07-06 | 2020-02-11 | Spin Memory, Inc. | Multi-bit cell read-out techniques |
JP2020021385A (ja) | 2018-08-03 | 2020-02-06 | キオクシア株式会社 | メモリシステム |
US10650875B2 (en) | 2018-08-21 | 2020-05-12 | Spin Memory, Inc. | System for a wide temperature range nonvolatile memory |
KR102564774B1 (ko) * | 2018-09-18 | 2023-08-09 | 에스케이하이닉스 주식회사 | 메모리 시스템 혹은 데이터 처리 시스템의 동작을 진단하는 장치 혹은 진단을 통해 신뢰성을 확보하는 방법 |
US10699761B2 (en) | 2018-09-18 | 2020-06-30 | Spin Memory, Inc. | Word line decoder memory architecture |
US11621293B2 (en) | 2018-10-01 | 2023-04-04 | Integrated Silicon Solution, (Cayman) Inc. | Multi terminal device stack systems and methods |
US10971680B2 (en) | 2018-10-01 | 2021-04-06 | Spin Memory, Inc. | Multi terminal device stack formation methods |
US11182090B2 (en) | 2018-11-19 | 2021-11-23 | Micron Technology, Inc. | Systems, devices, and methods for data migration |
US11256437B2 (en) | 2018-11-19 | 2022-02-22 | Micron Technology, Inc. | Data migration for memory operation |
US11163473B2 (en) | 2018-11-19 | 2021-11-02 | Micron Technology, Inc. | Systems, devices, techniques, and methods for data migration |
CN109710452A (zh) * | 2018-12-06 | 2019-05-03 | 天津津航计算技术研究所 | 带数据调试功能的ecc存储控制系统 |
US11822489B2 (en) * | 2018-12-21 | 2023-11-21 | Micron Technology, Inc. | Data integrity protection for relocating data in a memory system |
US11107979B2 (en) | 2018-12-28 | 2021-08-31 | Spin Memory, Inc. | Patterned silicide structures and methods of manufacture |
CN109799961A (zh) * | 2019-01-24 | 2019-05-24 | 杭州嘉楠耘智信息科技有限公司 | 电路架构 |
CN112003815A (zh) * | 2019-05-27 | 2020-11-27 | 阿里巴巴集团控股有限公司 | 通信系统、方法和装置、定位系统、计算设备和存储介质 |
EP3857371A1 (en) * | 2019-12-19 | 2021-08-04 | Google LLC | Resource management unit for capturing operating system configuration states and memory management |
WO2021126216A1 (en) | 2019-12-19 | 2021-06-24 | Google Llc | Resource management unit for capturing operating system configuration states and offloading tasks |
CN112071347B (zh) * | 2020-09-08 | 2024-01-16 | 清华大学 | 阻变存储器的操作方法、存储装置的控制方法和存储装置 |
US11656938B2 (en) * | 2020-09-28 | 2023-05-23 | Micron Technology, Inc. | Preemptive read verification after hardware write back |
KR102351237B1 (ko) * | 2021-04-29 | 2022-01-13 | 삼성전자주식회사 | 메모리 저장 장치 및 통신 시스템 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101430934A (zh) * | 2007-08-09 | 2009-05-13 | 三星电子株式会社 | 与非闪存设备及其编程方法 |
JP2009252294A (ja) * | 2008-04-07 | 2009-10-29 | Spansion Llc | メモリコントローラ、メモリシステム、及びメモリデバイスへのデータの書込方法 |
CN102063266A (zh) * | 2009-11-18 | 2011-05-18 | 联发科技股份有限公司 | 非易失存储器控制器与用于将当前数据写入非易失存储器的方法 |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11203886A (ja) | 1998-01-13 | 1999-07-30 | Mitsubishi Electric Corp | 不揮発性メモリおよびそれを具備する半導体装置 |
US20020029354A1 (en) | 2000-08-23 | 2002-03-07 | Seagate Technology Llc | Non-volatile write cache, in a disc drive, using an alternate power source |
US6349056B1 (en) | 2000-12-28 | 2002-02-19 | Sandisk Corporation | Method and structure for efficient data verification operation for non-volatile memories |
US20040128414A1 (en) | 2002-12-30 | 2004-07-01 | Rudelic John C. | Using system memory as a write buffer for a non-volatile memory |
JP2005301591A (ja) | 2004-04-09 | 2005-10-27 | Toshiba Corp | 不揮発性メモリを備えた装置及びメモリコントロ−ラ |
KR100632944B1 (ko) * | 2004-05-31 | 2006-10-12 | 삼성전자주식회사 | 동작 모드에 따라 프로그램 전압의 증가분을 가변할 수있는 불 휘발성 메모리 장치 |
KR100725390B1 (ko) | 2005-01-06 | 2007-06-07 | 삼성전자주식회사 | 수정 빈도를 고려하여 데이터를 비휘발성 캐쉬부에저장하는 장치 및 방법 |
US7620773B2 (en) | 2005-04-15 | 2009-11-17 | Microsoft Corporation | In-line non volatile memory disk read cache and write buffer |
JPWO2006129780A1 (ja) | 2005-05-30 | 2009-01-08 | セイコーエプソン株式会社 | シーケンシャル書込においてベリファイ処理を行う不揮発性メモリ |
US20090210612A1 (en) * | 2006-03-16 | 2009-08-20 | Matsushita Electric Industrial Co., Ltd. | Memory controller, nonvolatile memory device, and nonvolatile memory system |
JP2008134685A (ja) * | 2006-11-27 | 2008-06-12 | Konica Minolta Business Technologies Inc | 不揮発メモリシステム及び不揮発メモリ制御方法 |
US9632561B2 (en) * | 2007-06-28 | 2017-04-25 | Apple Inc. | Power-gating media decoders to reduce power consumption |
WO2009082502A1 (en) | 2007-12-21 | 2009-07-02 | Rambus Inc. | Method and apparatus for calibrating write timing in a memory system |
US8214700B2 (en) | 2009-10-28 | 2012-07-03 | Sandisk Technologies Inc. | Non-volatile memory and method with post-write read and adaptive re-write to manage errors |
US8745320B2 (en) * | 2012-05-04 | 2014-06-03 | Riverbed Technology, Inc. | Ensuring write operation consistency using multiple storage devices |
-
2013
- 2013-02-07 US US13/762,033 patent/US9076530B2/en not_active Expired - Fee Related
-
2014
- 2014-02-04 KR KR1020140012586A patent/KR101563482B1/ko not_active IP Right Cessation
- 2014-02-06 JP JP2014021698A patent/JP5778807B2/ja not_active Expired - Fee Related
- 2014-02-07 CN CN201410045411.2A patent/CN103985411B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101430934A (zh) * | 2007-08-09 | 2009-05-13 | 三星电子株式会社 | 与非闪存设备及其编程方法 |
JP2009252294A (ja) * | 2008-04-07 | 2009-10-29 | Spansion Llc | メモリコントローラ、メモリシステム、及びメモリデバイスへのデータの書込方法 |
CN102063266A (zh) * | 2009-11-18 | 2011-05-18 | 联发科技股份有限公司 | 非易失存储器控制器与用于将当前数据写入非易失存储器的方法 |
Also Published As
Publication number | Publication date |
---|---|
US9076530B2 (en) | 2015-07-07 |
CN103985411A (zh) | 2014-08-13 |
KR20140100899A (ko) | 2014-08-18 |
JP5778807B2 (ja) | 2015-09-16 |
KR101563482B1 (ko) | 2015-10-27 |
JP2014154168A (ja) | 2014-08-25 |
US20140219034A1 (en) | 2014-08-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103985411B (zh) | 待调度验证的非易失性写入缓冲器数据保留 | |
CN103984605B (zh) | 在多层存储器结构中存储纠错码 | |
US9043668B2 (en) | Using ECC data for write deduplication processing | |
US9438426B2 (en) | Key-value data storage device with hybrid architecture | |
US20140229654A1 (en) | Garbage Collection with Demotion of Valid Data to a Lower Memory Tier | |
KR101517416B1 (ko) | 셀당 단일 비트 nand 플래시 메모리를 에뮬레이팅하기 위한 셀당 다수 비트 nand 플래시 메모리에 대한 제어기 | |
CN104978281B (zh) | 数据存储设备中的数据完整性管理 | |
TWI711926B (zh) | 記憶體系統及其操作方法 | |
CN109947663A (zh) | 分布式编程操作 | |
US20140244897A1 (en) | Metadata Update Management In a Multi-Tiered Memory | |
JP4956922B2 (ja) | 記憶装置 | |
US9424946B2 (en) | Non-volatile buffering to enable sloppy writes and fast write verification | |
CN103106149B (zh) | 半导体器件 | |
CN108932110A (zh) | 用于管理存储器中数据的方法和装置 | |
CN107403645A (zh) | 非易失性存储器器件及其读取和拷回方法 | |
CN104007937B (zh) | 云计算环境中的数据更新管理 | |
CN110136764A (zh) | 非易失性存储器装置及其读取方法 | |
CN106062724A (zh) | 存储器模块上的数据管理 | |
US9053011B2 (en) | Selective protection of lower page data during upper page write | |
US10685713B2 (en) | Storage device including nonvolatile memory device and controller | |
CN108572923A (zh) | 管理装置、信息处理装置以及管理方法 | |
US8972650B2 (en) | Methods and systems for performing efficient page reads in a non-volatile memory | |
US10783970B2 (en) | Consolidation of copy-back and write in PRAM blocks | |
KR20220073998A (ko) | 메모리 시스템 및 메모리 시스템의 동작 방법 | |
US11899590B2 (en) | Intelligent cache with read destructive memory cells |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20170412 Termination date: 20180207 |