CN105103235B - 具有用于更高性能和能量效率的去耦比特的非易失性多级单元存储器 - Google Patents

具有用于更高性能和能量效率的去耦比特的非易失性多级单元存储器 Download PDF

Info

Publication number
CN105103235B
CN105103235B CN201380072020.3A CN201380072020A CN105103235B CN 105103235 B CN105103235 B CN 105103235B CN 201380072020 A CN201380072020 A CN 201380072020A CN 105103235 B CN105103235 B CN 105103235B
Authority
CN
China
Prior art keywords
memory
bits
buffer
volatile
write
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
Application number
CN201380072020.3A
Other languages
English (en)
Other versions
CN105103235A (zh
Inventor
N.穆拉利马诺哈
H.B.庸
N.P.朱皮
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hewlett Packard Enterprise Development LP
Original Assignee
Hewlett Packard Development Co LP
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hewlett Packard Development Co LP filed Critical Hewlett Packard Development Co LP
Publication of CN105103235A publication Critical patent/CN105103235A/zh
Application granted granted Critical
Publication of CN105103235B publication Critical patent/CN105103235B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
    • G11C13/0002Digital 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/0021Auxiliary circuits
    • G11C13/0061Timing circuits or methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • G11C11/5621Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
    • G11C11/5628Programming or writing circuits; Data input circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • G11C11/5678Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using amorphous/crystalline phase transition storage elements
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • G11C11/5685Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using storage elements comprising metal oxide memory material, e.g. perovskites
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
    • G11C13/0002Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
    • G11C13/0002Digital 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/0004Digital 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
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
    • G11C13/0002Digital 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/0021Auxiliary circuits
    • G11C13/004Reading or sensing circuits or methods
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
    • G11C13/0002Digital 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/0021Auxiliary circuits
    • G11C13/0069Writing or programming circuits or methods
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/26Sensing or reading circuits; Data output circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2207/00Indexing scheme relating to arrangements for writing information into, or reading information out from, a digital store
    • G11C2207/22Control and timing of internal memory operations
    • G11C2207/2272Latency related aspects
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

公开了一种非易失性多级单元(“MLC”)存储器设备。该存储器设备具有非易失性存储单元的阵列,非易失性存储单元的阵列,其中每个非易失性存储单元存储多组比特。存储器设备中的行缓冲器具有多个缓冲器部,每个缓冲器部存储来自存储单元的一个或多个比特并且具有不同的读取延迟和能量以及写入延迟和能量。

Description

具有用于更高性能和能量效率的去耦比特的非易失性多级单 元存储器
背景技术
诸如忆阻器和相变存储器(“PCM”)这样的非易失性存储器作为对像动态随机存取存储器(“DRAM”)和闪速存储器这样的当前流行的存储器技术的有前途且可扩展的可替换方案而出现。除了引起比DRAM和闪存更高的存储器密度、更低的每比特成本和更大的容量的基本上不同的存储数据的方式之外,这些新兴的非易失性存储器还支持多级单元(“MLC”)技术,其允许每个存储单元存储两个或更多个比特(相比之下,DRAM能够每单元仅存储1比特)。在较低功率下操作的潜能增加了忆阻器和PCM作为可扩展DRAM可替换方案的竞争力。
具体地,PCM是通过改变已知为硫化物的材料的电阻来存储数据的新兴存储器技术。通过施加热并然后允许它以不同的速率冷却,硫化物能够被操纵以稳定在非晶体(快淬的)高电阻状态(例如,逻辑低或0)与晶体(慢冷却的)低电阻状态(例如,逻辑高或1)之间。PCM是非易失性的,因为在没有电力时保留了硫化物的状态。PCM单元的非晶体状态与晶体状态之间的大电阻差(以三个数量级)使能在PCM单元中实现MLC技术。这是通过将大电阻差分成各自表示2比特值“11”、“10”、“01”和“00”的4个相异的区来达成的。通过将单元的电阻精确地控制为位于这些电阻区之一内,能够将多于1比特存储在单元中。
然而在PCM中支持MCL招致了更高的访问延迟和能量。MLC要求将单元电阻准确地控制为位于较窄的范围内,这使得重复写入和读取技术成为必要,所述重复写入和读取技术具有引起更高的读取延迟和能量以及更高的写入延迟和能量的多次感测重复。
附图说明
结合连同附图进行的以下详细描述,可以更充分地认识本申请,其中同样的附图标记自始至终指的是同样的部分,并且其中:
图1是根据各种示例的非易失性MLC存储器的示意图;
图2A-B是图示了根据各种示例的存储单元的读取延迟的示意图;
图3A-B是图示了根据各种示例的存储单元的写入延迟的示意图;
图4是图示了MSB和LSB如何能够在非易失性多级存储单元中被去耦以运用读取延迟和能量不对称性以及写入延迟和能量不对称性的示意图;
图5是将根据本文提出的各种示例的数据块地址映射与传统方案对比的示意图;
图6是针对更高的性能和能量效率在非易失性MLC存储器中具有去耦比特的计算机系统的示意图;
图7图示了行缓冲器中MSB和LSB的交织以合并向存储器的写入;
图8是针对更高的性能和能量效率在非易失性MLC存储器中具有去耦比特的计算机系统的另一示意图;
图9是针对更高的性能和能量效率将非易失性MLC存储器中的比特去耦的流程图;以及
图10是针对更高的性能和效率合并向非易失性MLC存储器的写入的流程图。
具体实施方式
公开了针对更高的性能和能量效率具有去耦比特的非易失性多级单元(“MLC”)存储器。如本文一般描述的非易失性MLC存储器是具有多个存储单元的非易失性存储器,其中每个存储单元存储多于一个比特。在各种示例中,非易失性MLC存储器可以是每单元存储多组比特的非易失性存储器(例如,PCM、忆阻器等等),其中每组能够具有一个或多个比特。例如,存储单元能够存储两组比特,其中每组具有单一比特(对于每单元存储总计2比特)。一组能够存储最高有效位(“MSB”),并且另一组能够存储最低有效位(“LSB”)。在另一示例中,存储单元能够存储4组比特,其中每组具有单一比特(对于每单元存储总计4比特)。并且在又一个示例中,存储单元能够存储两组比特,其中每组具有2比特(也针对每单元总计4比特)。各种其他示例被想到并在下面更详细地被描述。
非易失性MLC存储器将每个存储单元划分成组。具有多个缓冲器部的行缓冲器被用来存储来自存储单元的比特,其中每个缓冲器部具有不同的读取延迟和能量以及写入延迟和能量。为了易于说明,以下描述可以指的是第一示例,其中存储单元具有两组比特,每组具有单一比特。在该示例中,MLC存储器具有存储MSB比特的MSB半部和存储LSB比特的LSB半部。MSB半部具有减小的读取延迟和能量,而LSB半部具有减小的写入延迟和能量。来自存储器的MSB半部的MSB比特被存储在行缓冲器的MSB缓冲器部中,而来自存储器的LSB半部的LSB比特则被存储在行缓冲器的LSB缓冲器部中。可以将MSB缓冲器中的数据块与LSB缓冲器中的数据块交织以增加合并向存储器的写入的机会并提高其写入持久性。
认识到,在以下描述中,阐述了许多特定的细节来提供对示例的全面理解。然而,认识到可以实践示例,而不限于这些特定的细节。在其他实例中,可以不详细描述公知的方法和结构,以避免不必要地模糊对示例的描述。此外,示例可以彼此相结合使用。
现在参看图1,描述了根据各种示例的非易失性MLC存储器的示意图。非易失性MLC存储器100包括存储单元阵列和外围电路装置。在阵列中,存储单元被组织成行和列,其中每行中的所有单元连接到公共的字线,并且每列中的所有单元连接到公共的位线(每个单元连接到一个字线和一个位线)。例如,存储单元105连接到字线110和位线115。存储单元105与存储单元120和125在相同的行140,并且与存储单元130和135在相同的列145。本领域技术人员将意识到,仅出于例证说明的目的将存储器100示为具有9个存储单元。典型的存储器100可以具有额外的单元。
当访问存储器100中的数据时,同时访问单元行(例如,行140)。在这么做时,行解码器(未被示出)断言字线以选择目标行中的所有单元,并且位线在单元与外围电路之间传送数据。在外围电路中,来自位线的数据信号由行缓冲器155中的感测放大器150a-c检测,并在行缓冲器155中被锁存,并且列解码器(未被示出)选择行缓冲器155的子集来与I/O焊盘(未被示出)通信。
认识到存储器100可以逻辑上被划分成通常被称作存储体的块。存储体是存储器100的能够被独立寻址的最小分块。例如,存储器100被示为具有存储体170。存储体170中的每一行向感测传感器150a-c传递大量的比特。传递的比特数是处理器字的倍数(例如,32或64比特)。存储体170由存储器控制器165控制,存储器控制器165在存储器100的存储体与(一个或多个)处理器(未被示出)之间提供接口。存储器控制器165通过对数据的正确的行、列和存储位置加以选择的复用器和解复用器的组合来读取、写入和刷新存储器100。
一旦行的数据被置于行缓冲器155中,就可以通过访问该缓冲器中的数据来服务对相同行的后续数据请求。这样的访问已知为行缓冲器命中,并且能够以行缓冲器155的访问延迟被快速地服务,而不与较缓慢的单元阵列交互。然而,为了服务对另一行的数据请求,必须从阵列访问数据(代替行缓冲器155的内容)。这种类型的访问已知为行缓冲器错过,并且由于激活了阵列中的单元行而招致更高的延迟和能耗。
具有高数据局部性的应用得益于大的行缓冲器并且招致减少的存储器访问时间。但是在多核处理器的情况下,在访问相同存储体的同时来自多个线程(进程)的存储器请求变成交织的,从而导致提高的行缓冲器冲突,并且因而导致高的行缓冲器错过率。这还提高了存储器控制器165处的争用,因为存储器请求趋向于在被发出之前在存储器控制器165处等待更长时间。该问题的可能解决方案是通过针对每个体支持多个行缓冲器来提高存储器平行性。因此活跃的行缓冲器的内容也许不太可能由于从另一线程(进程)的冲突访问而受到冲击(get thrashed)。然而这种方式显著提高了面积开销和存储器成本。
如在下面更详细描述的,可以开拓存储器100的MLC特性以有效地以非常低的面积开销达成多行缓冲器。存储器100中的每个存储单元具有MSB 170和LSB 175。来自存储体170中所有单元的MSB可以被存储在行缓冲器155的MSB缓冲器部中,并且来自存储体170中所有单元的LSB则可以被存储在行缓冲器155的LSB缓冲器部中。通过将行缓冲器155有效地划分成两个行缓冲器部,可以达成在存储器延迟和行缓冲器命中方面的显著改进。此外,如下面描述的,存储器100的存储器延迟实际上取决于存储单元中比特的类型。MSB具有比LSB更低的读取延迟和能量,LSB则具有比MSB比特更低的写入延迟和能量。
现在参看图2A-B,描述了图示根据各种示例的存储单元的读取延迟的示意图。在图2A中,集成模数转换器(“ADC”)通过感测经过单元200的电荷(即,电流)的行所用的时间来将单元200的电阻量化为2比特值。曲线图210示出了作为电压的函数的由感测放大器205感测的感测时间。电阻越高,感测时间越长。因此,读取延迟受限于感测最高单元电阻所用的时间。
如在曲线图210中看出的,可以在读取操作实施完成之前了解与单元的数据有关的一些信息。每个感测时间给出了关于单元200中存储的比特的信息。例如,曲线图210中的粗线215示出了在感测时间t3处,单元200中存储的比特是“01”或者“0”MSB和“1”LSB。感测放大器205在感测时间t3时通过模数转换器220输出“01”比特,其中“0”MSB存储于锁存器225中并且“1”LSB存储于锁存器230中。
如图2B所图示的,可以通过读取操作半途地确定MSB。在该示例中,如果通过读取操作半途地确定单元电阻,则MSB是“1”,否则它是“0”,与LSB无关。这在曲线图235中用粗线240能够被看出,粗线240表示在曲线图210中用粗线215示出的读取操作的一半。在早于时间t3的时间t2处,已经能够确定单元200中存储的比特是“01”。也就是说,MSB在完成读取操作之前就能够被读取。
这种观察指示了MSB比LSB具有更低的读取延迟(和能量)。然而在传统非易失性MLC存储器中并未开拓这种读取不对称性性质,其中数据块分散在MSB和LSB上。这推迟了存储器读取请求的服务,直到较慢的LSB准备好。如果另一方面将MSB和LSB映射到逻辑上分离的存储地址,则可以以较低的延迟来读取MSB中存储的数据块(而将以与之前相同的延迟来读取LSB中存储的数据块)。
在MLC PCM中能够观察到类似的写入不对称性,其中LSB比MSB具有更低的写入延迟和能量。现在参看图3A-B,描述了图示根据各种示例的存储单元的写入延迟的示意图。多级PCM单元的写入延迟取决于两件事:单元的初始状态和单元的目标状态。这在图3A中用图解300被示出,图解300示出了在4级PCM写入操作中在存储单元从任何一个状态转变到另一个状态时发生的延迟。对于任何转变,通过使用编程方法来优化写入延迟(要么部分地晶体化非晶体硫化物,要么部分地非晶体化晶体硫化物),所述编程方法以较低的延迟达到了目标单元电阻。
在向单元的块写入任意数据时,写入延迟受限于完成(在图3A中用存储单元状态“01”与状态“10”之间的粗线305和状态“00”与状态“10”之间的粗线310粗体强调的)转变中的任何一个的最长时间。然而如果我们不在单一写入操作中改动LSB和MSB两者(使得没有正在使用图3A中的对角转变),则改动LSB比改动MSB招致更低的延迟。例如,将LSB从“0”改成“1”招致0.8x或0.84x写入延迟,并且将LSB从“1”改成“0”招致0.3x或0.2x写入延迟。
图3B(用图解315中的加粗线320)强调了仅改变MSB受限于1.0x延迟(从“00”到“10”),而仅改变LSB受限于较低的0.84x延迟3(从“00”到“01”,加粗线325)。将存储单元编程为“10”仅在从已经处于晶体状态的“11”转变时招致0.2x延迟,其中部分非晶体化要求施加复位脉冲。这种观察指示了LSB比MSB具有更低的写入延迟(和能量)。然而,类似于上面参考图2A-B论述的读取不对称性,这种性质在数据块分散在LSB和MSB上时在传统的MCL PCM中并未被利用。如果如下面描述的将LSB和MSB映射到逻辑上分离的存储地址,则LSB中存储的数据块可以以较低的延迟被写入(而MSB中存储的数据块将以与之前相同的延迟被写入)。
现在将注意力引向图4,其示出了MSB和LSB如何能够在MLC PCM单元中被去耦以运用这些读取和写入不对称性。MLC PCM(例如,图1所示的存储器100)的每个存储单元400具有MSB和LSB。在传统的MLC PCM中,这些比特被耦合以形成沿着行的单一接续存储地址,如用行415所示的。行415图示了存储地址以顺序的或接续的方式从单元到单元。行415中的第一单元420a在第二单元420b之前被寻址,其中MSB在LSB之前被寻址。为了例证说明,以不同的颜色深浅(shade)来强调大小为4比特的数据块。首先用单元420a中的MSB(标记为“0”)、接着用单元420a中的LSB(标记为“1”)、单元420b中的MSB(标记为“2”)和单元420b中的LSB(标记为“3”)对由单元420a-b形成的4比特块寻址。这种模式贯穿行415来进行。
相比之下,本文提出的非易失性MLC存储器(例如,图1的存储器100)沿着行将MSB分组以形成一个接续地址,并沿着相同的行对LSB分组以形成另一接续地址。这样,驻留在某个逻辑地址处的数据块(例如,64字节高速缓存块)物理地占用仅MSB或仅LSB。如果数据块在MSB中,则开拓读取不对称性(上面参考图2A-B论述的)来以降低的延迟和能量读取该块。同样地,如果数据块在LSB中,则开拓写入不对称性(上面参考图3A-B论述的)来以降低的延迟和能量向该块写入。
将比特去耦有效地将存储器中的所有行划分成两个逻辑地址,一个使用MSB,另一个使用LSB。例如,行425被有效地划分成MSB半行430a和LSB半行430b。与其中贯穿行以接续方式对比特寻址的传统MLC PCM的行415相比之下,在LSB半行430b的所有比特之前首先对MSB半行430a的所有比特寻址。在第二单元430b的MSB之前对第一单元430a的MSB寻址,以此类推,直到MSB半行430a的结尾。仅在存储体的所有MSB都被寻址之后,才计及LSB半行430b中的LSB。
图5将本文提议的数据块地址映射和传统方案对比。在假定从应用的虚拟页地址向存储器中的物理帧地址的任意随机转变的情况下,应用的工作组的大致一半将在MSB中,而另一半在LSB中。因而用这里提议的数据块地址映射500,平均以降低的延迟(降低了48%)和能量(降低了48%)来服务50%的存储器读取,并且以降低的延迟(降低了16%)和能量(降低了26%)来服务50%的存储器写入。
数据块地址映射500的不利方面在于它提高了在写入操作期间编程的单元的数目,从而增加了持久性开销。这是因为,数据块从每个2比特单元仅采取1比特,在向块写入时涉及了与块中的比特数相等的单元数。然而这并没有相较于传统方案使持久性开销加倍,因为对单元编程将会是冗余(由于它已经处于要被编程到的目标状态)的概率比在其中MSB和LSB两者必须均与写入数据匹配的传统方案中低。
另一方面,在500中向块写入数据仅以MSB或仅以LSB为目标,因此块写入具有更冗余的比特写入。仿真示出了平均21%的持久性开销。考虑到现有工作已表明PCM主存储器具有8.8年的平均寿命,这小到足以达成5年的典型服务器设计寿命。通过采用数据块地址映射500,两个分离的逻辑地址空间共享行缓冲器空间,其中每个地址空间占用行缓冲器的一半。这减小了能够在行缓冲器中保持的最长接续地址空间,从而潜在地降低了行缓冲器局部性。然而,数据块地址映射500所显露的降低的存储器访问延迟不仅仅是补偿了这种效应,与传统的数据块地址映射505相比显著改善了系统性能(和能量效率),同时不招致对存储器电路装置和架构的主要修改。
现在将注意力引向图6,其示出了针对更高的性能和能量效率在非易失性MLC存储器中具有去耦比特的计算机系统。计算机系统600具有经由存储器控制器615与非易失性MLC存储器610通信的(一个或多个)处理资源605。(一个或多个)处理资源605可以包括一个或多个处理器以及一个或多个其他存储器资源(例如,高速缓存存储器)。非易失性MLC存储器610具有非易失性存储单元(例如,存储单元620)的阵列,其中每个多级存储单元存储MSB和LSB。存储单元的阵列可以被组织成诸如字线625和位线630这样的字线(行)乘位线(列)的阵列。
存储器控制器615在存储器610中的非易失性存储单元的阵列与(一个或多个)处理资源605之间提供接口。存储器控制器615通过对数据的正确的行、列和存储位置加以选择的复用器和解复用器的组合来读取、写入和刷新存储器610。在各种示例中,存储器控制器615通过行缓冲器635向存储器610读取和写入数据。行缓冲器635具有MSB缓冲器部640和LSB缓冲器部645,以分别存储来自存储器610中的非易失性存储单元的阵列的MSB和LSB。如上面参考图4和图5描述的,存储器610中的MSB和LSB被去耦并映射到分离的逻辑地址。将存储器610中的存储单元的MSB和LSB去耦有效地将行划分成两个半行,每一个具有它们自己的接续逻辑地址。这使能如所示的作为两个半行缓冲器来操纵行缓冲器,其中MSB缓冲器部640用于存储MSB,并且LSB缓冲器部645用于存储LSB。
用被去耦并且作为行缓冲器部640-645中的分离逻辑地址而被访问的MSB和LSB,能够达成在读取延迟和能量以及写入延迟和能量方面的显著改善。在从存储器610读取数据时,存储器控制器615能够以降低的读取延迟和能量从MSB缓冲器部640读取数据块(同时以传统的读取延迟和能量读取来自LSB缓冲器部645的数据块)。类似地,在向存储器610写入数据时,存储器控制器615能够以减小的写入延迟和能量向LSB缓冲器部645写入数据块(同时以传统的写入延迟和能量向MSB缓冲器部640写入数据块)。
这种MSB/LSB去耦的不利方面在于存储器610可能具有比其中比特被耦合的传统存储器具有更差的持久性。这是因为,为了以传统的比特方案编程M个比特,M/2个单元经历加热和冷却的物理编程周期,因为两个逻辑上接续的比特映射到相同的单元。然而,为了在存储器610中编程M个比特,M个单元经历物理编程,因为每个单元中仅两个比特之一被改变。因此,在没有数据缓冲效应的情况下,将存储器610中的MSB和LSB去耦以传统存储器的速率的两倍来消耗持久性周期,因此使存储器寿命减半。在存储器610是PCM的情况下,例如,存储器610能够在存储器中的任何位置中在任何现有的数据上简单地编程数据,并且被编程的每一个单元都经历持久性周期。因此,编程中涉及的单元的数目直接影响存储器610的寿命。
通过将向MSB和LSB的写入合并为单一写入,能够减轻由MSB/LSB去耦导致的这种较差持久性的效应。合并向存储器610的写入,使得存储器610中的存储单元可以仅被编程一次而不是两次。将MSB缓冲器中的数据块与LSB缓冲器中的数据块交织进一步提高了合并写入的概率。图7图示了交织。通过在行的两页之间交织高速缓存块(其中存储器610被访问的最小单位),开拓了写回中的空间局域性,以增加合并向相同单元的高速缓存块写回的机会。为了合并写回,单元的两个比特可以在编程期间改变。
如图7所示,MSB半行700具有从0到7的8个数据块,并且LSB半行705具有从8到15的8个数据块。MSB半行700被存储在行缓冲器的MSB缓冲器部(例如,MSB缓冲器部640)中,并且LSB半行705被存储在行缓冲器的LSB缓冲器部(例如,LSB缓冲器部645)中。可以将行缓冲器635中存储的数据发送至处理资源605,其中在将它返回到行缓冲器635之前对它进行处理。在这么做时,数据中的一些可能由于被遮挡(shaded)而是“脏的(dirty)”,指示这些比特必须在其他块能够从存储器被读出到缓冲器之前被写入到存储器。
从上一级高速缓存逐出的脏的高速缓存块典型地作为向存储器的写回被发出,并且初始地被插入存储器控制器的写入缓存器中。大多数系统将行缓冲器命中请求优先级化(按照变化程度),因而这些脏的高速缓存块在存储器控制器的写入缓冲器中被排队,直到它们的目的地行被访问,在该点它们的数据被发送至行缓冲器635。脏的高速缓存块数据则驻留在行缓冲器635中,直到行缓冲器内容需要被逐出(即,逐出到不同行中的缓冲器),这就是脏的高速缓存数据被实际编程到存储单元阵列的时候。
在该示例中,比特1、2和4-7是脏的。如果所有这些块都被写入,则将会存在向与MSB半行700和LSB半行705相对应的行的总计6个分离的写入。但是如果比特在被写回到存储器之前如在半行710-715中一样在行缓冲器635处被交织,即,如果写入被合并并且数据局域性被开拓,则比特4-5和6-7能够一起被写入。取代向存储器的6个分离的写入,仅要求4个分离的写入。注意,交织的高速缓存块的数目可以在从1到与适应于单一页(其是行的一半)的高速缓存块的数目一样多的范围内。
认识到,尽管第一行先来先服务(“FR-FCFS”)的默认调度策略自然地合并行缓冲器635处的写入,然而通过在存储器控制器615处对写入仔细地排队能够改善发生这种情况的可能性。服务于该目的的机制被称作DRAM知晓上一级高速缓存写回(“DLW”)。在每一次逐出脏的上一级高速缓存块时,DLW在上一级高速缓存中搜索映射到相同行的其他脏的高速缓存块,并投机性地作为向存储器的写回而发出这些。通过向相同的行发出许多写回,行缓冲器635中数据块的交织与DLW协同地工作,因此提高了写入合并的可能性。还认识到交织仅改变如何在行缓冲器635中解释数据;其实现并不要求对存储器610的任何改变。然而,在计算页内的高速缓存线位置时,存储器控制器615应当考虑交织的程度并相应地对地址解码。
现在将注意力引向图8,图8示出了针对更高的性能和能量效率在非易失性MLC存储器中具有去耦比特的计算机系统的另一示例。如上面提到的,为了易于说明,图1-7描述了具有两组比特的存储单元的示例,其中每组具有单一比特(MSB或LSB)。图8中的计算机系统800具有能够存储多个其他组比特(而不仅仅是MSB和LSB)的存储单元。类似于图6的计算机系统600,计算机系统800具有经由存储器控制器815与非易失性MLC存储器810通信的(一个或多个)处理资源805。(一个或多个)处理资源805可以包括一个或多个处理器以及一个或多个其他存储器资源(例如,高速缓存存储器)。非易失性MLC存储器810具有非易失性存储单元(例如,存储单元820)的阵列,其中每个多级存储单元存储标记为GB1、GB2、GB3以此类推一直到GBN的多组比特,其中N可以是等于或高于3并且由存储器810的物理约束限制的任何整数。存储单元的阵列可以被组织成诸如字线825和位线830这样的字线(行)乘位线(列)的阵列。
存储器控制器815在存储器810中的非易失性存储单元的阵列与(一个或多个)处理资源805之间提供接口。存储器控制器815通过对数据的正确的行、列和存储位置加以选择的复用器和解复用器的组合来读取、写入和刷新存储器810。在各种示例中,存储器控制器815通过行缓冲器835向存储器810读取和写入数据。行缓冲器835具有多个缓冲器部840-850,标记为“第一缓冲器部”(840)、“第二缓冲器部”(845)以此类推一直到“第N缓冲器部”(850)。每个缓冲器部840-850能够存储来自存储单元820的比特组。例如,缓冲器部840能够存储GB1,缓冲器部845能够存储GB2,并且缓冲器部850能够存储GBN。每个缓冲器部840-850具有不同的读取延迟和能量以及不同的写入延迟和能量。
现在将注意力引向图9,图9示出了用于针对更高的性能和能量效率在非易失性MLC存储器中将比特去耦的流程图。首先,将非易失性MLC存储器的物理地址空间去耦成多组比特,其中每组具有不同的读取和写入延迟(900)。例如,一组比特可以是具有减小的读取延迟的MSB,并且另一组可以是具有减小的写入延迟的LSB。所述多组比特的不同读取和写入延迟被显露给存储器控制器(905)。存储器控制器根据所述多个组的读取和写入延迟为存储器请求(例如,读取或写入请求)服务(910)。
图10是用于针对更高的性能和效率来合并向非易失性MLC存储器的写入的流程图。首先,在将页映射到物理存储器时,多个行缓冲器部上的比特块被交织,例如,来自MSB缓冲器部的比特块与来自LSB缓冲器部的比特块交织,如上面参考图7描述的(1000)。接下来,存储器控制器发出向第一地址的写入请求(1005)。如果存在向映射到存储器中相同的行和相同的单元集的第二地址的未决写入请求(1010),则将第一写入请求和第二写入请求组合成单一合并的写入以对存储器行进行单一写入更新(1015)。否则,分离地向第一地址和第二地址写入(1025)。在调度写入请求时,如果存在合并的机会,存储器控制器能够主动地将来自上一级高速缓存的脏的块发送至存储器(1020)。
有利地,非易失性MLC存储器中比特的去耦使能开拓相对于读取和写入延迟和能量的读取和写入不对称性。以减小的延迟和能量读取MSB,而以减小的延迟和能量写入LSB。在将MSB和LSB写入存储器之前在行缓冲器中将MSB和LSB交织合并了写入并且减弱了比特去耦的持久性效应。
认识到所公开的示例的前述描述被提供来使任何本领域技术人员能做出或使用本公开内容。对这些示例的各种修改对于本领域技术人员来说将容易显而易见,并且在不脱离本公开内容的精神或范围的情况下,本文限定的一般性原理可以被应用于其他示例。因此,本公开内容不打算局限于本文示出的示例,而是要被给予符合本文公开的原理和新颖特征的最宽范围。

Claims (12)

1.一种非易失性多级单元MLC存储器设备,包括:
非易失性存储单元的阵列,每个非易失性存储单元用于存储多组比特;
行缓冲器,具有多个缓冲器部,每个缓冲器部用于存储来自所述存储单元的一个或多个比特并且具有不同的读取延迟和能量以及写入延迟和能量;以及
存储器控制器,用于发出向存储单元集中不同比特的写入请求并指示存储器合并写入请求以向所述存储单元集进行单一写入,
其中在调度写入请求时,如果存在合并的机会,所述存储器控制器能够主动地将来自上一级高速缓存的脏的块发送至所述存储器。
2.根据权利要求1所述的非易失性MLC存储器设备,其中,第一组比特存储于第一缓冲器部中,并且第二组比特存储于第二缓冲器部中,并且其中,来自第一缓冲器部的比特块与来自第二缓冲器部的比特块交织以在所述行缓冲器处合并写入。
3.根据权利要求1所述的非易失性MLC存储器设备,其中,所述行缓冲器包括多个感测放大器和模数转换器,每个感测放大器与位线相连。
4.根据权利要求3所述的非易失性MLC存储器设备,其中,每个模数转换器与用于保持所述多组比特的多个锁存器相连。
5.根据权利要求3所述的非易失性MLC存储器设备,其中,所述读取延迟取决于所述多个感测放大器感测每个非易失性存储单元的电阻所用的时间。
6.根据权利要求1所述的非易失性MLC存储器设备,其中,所述写入延迟取决于所述非易失性存储单元的初始状态和所述非易失性存储单元的目标状态。
7.一种用于针对更高的性能和能量效率在非易失性多级单元MLC存储器中将比特去耦的方法,包括:
将物理地址空间去耦成多组比特,每组具有不同的读取和写入延迟;
将所述多组比特的读取和写入延迟显露给存储器控制器;以及
根据所述多组的读取和写入延迟为存储器请求服务,
在每一次逐出脏的上一级高速缓存数据块时,在上一级高速缓存中搜索映射到存储器行的脏的高速缓存块并且作为向所述非易失性MLC存储器的写回投机性地发出这些脏的高速缓存块。
8.根据权利要求7所述的方法,其中,将物理地址空间去耦成多组比特包括将所述多组比特存储成行缓冲器的多个缓冲器部。
9.根据权利要求8所述的方法,包括:将第一缓冲器部中的数据块与第二缓冲器部中的数据块交织以增加写入合并的机会。
10.一种计算机系统,包括:
非易失性多级单元MLC存储器,具有非易失性存储单元的阵列,每个存储单元用于存储最高有效位MSB和最低有效位LSB;
行缓冲器,具有用于存储来自所述存储单元的MSB的MSB缓冲器和用于存储来自所述存储单元的LSB的LSB缓冲器,其中来自MSB缓冲器的比特块与来自LSB缓冲器的比特块交织;以及
存储器控制器,用于将数据块写入非易失性MLC存储器的行中的单元集,识别向行中的相同单元集的其他写入请求,并指示所述存储器合并向存储器的写入,
其中在调度写入请求时,如果存在合并的机会,所述存储器控制器能够主动地将来自上一级高速缓存的脏的块发送至所述存储器。
11.根据权利要求10所述的计算机系统,其中所述行缓冲器包括多个感测放大器,并且所述存储器控制器控制所述多个感测放大器来选择MSB缓冲器或LSB缓冲器来存储所述数据块。
12.根据权利要求10所述的计算机系统,其中所述非易失性MLC存储器包括相变存储器。
CN201380072020.3A 2013-01-31 2013-01-31 具有用于更高性能和能量效率的去耦比特的非易失性多级单元存储器 Active CN105103235B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2013/024090 WO2014120193A1 (en) 2013-01-31 2013-01-31 Non-volatile multi-level-cell memory with decoupled bits for higher performance and energy efficiency

Publications (2)

Publication Number Publication Date
CN105103235A CN105103235A (zh) 2015-11-25
CN105103235B true CN105103235B (zh) 2020-03-10

Family

ID=51262757

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201380072020.3A Active CN105103235B (zh) 2013-01-31 2013-01-31 具有用于更高性能和能量效率的去耦比特的非易失性多级单元存储器

Country Status (5)

Country Link
US (1) US9852792B2 (zh)
EP (1) EP2951834A4 (zh)
CN (1) CN105103235B (zh)
TW (1) TWI527034B (zh)
WO (1) WO2014120193A1 (zh)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150062646A (ko) * 2013-11-29 2015-06-08 삼성전자주식회사 전자 시스템 및 이의 동작 방법
US9952981B2 (en) * 2014-09-29 2018-04-24 Apple Inc. Read cache management in multi-level cell (MLC) non-volatile memory
US9921750B2 (en) * 2014-11-20 2018-03-20 Samsung Electronics Co., Ltd. Solid state drive (SSD) memory cache occupancy prediction
CN106909522B (zh) * 2015-12-22 2020-03-20 中国电信股份有限公司 Gpu写请求数据的延迟控制方法、装置以及云计算系统
US10068636B2 (en) * 2016-12-30 2018-09-04 Intel Corporation Apparatuses and methods for accessing and scheduling between a plurality of row buffers
CN107766221B (zh) * 2017-10-31 2021-07-02 郑州云海信息技术有限公司 一种读时延测试方法、系统、设备及计算机存储介质
US10482933B2 (en) * 2018-04-12 2019-11-19 Globalfoundries U.S. Inc. Column multiplexor decoding
KR102105647B1 (ko) * 2018-04-23 2020-04-28 단국대학교 산학협력단 영상을 pcm에 저장하기 위한 장치 및 방법
US11031061B2 (en) * 2019-09-27 2021-06-08 Western Digital Technologies, Inc. Write efficiency in magneto-resistive random access memories
US11960398B2 (en) * 2020-08-21 2024-04-16 Micron Technology, Inc. Enhanced data reliability in multi-level memory cells
US11868777B2 (en) 2020-12-16 2024-01-09 Advanced Micro Devices, Inc. Processor-guided execution of offloaded instructions using fixed function operations
US11803311B2 (en) * 2021-03-31 2023-10-31 Advanced Micro Devices, Inc. System and method for coalesced multicast data transfers over memory interfaces
US11921634B2 (en) 2021-12-28 2024-03-05 Advanced Micro Devices, Inc. Leveraging processing-in-memory (PIM) resources to expedite non-PIM instructions executed on a host

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101512663A (zh) * 2006-07-31 2009-08-19 桑迪士克3D公司 用于读取多级无源元件存储器单元阵列的方法及设备

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7149110B2 (en) 1999-01-14 2006-12-12 Silicon Storage Technology, Inc. Seek window verify program system and method for a multilevel non-volatile memory integrated circuit system
US20050144396A1 (en) * 2003-12-31 2005-06-30 Eschmann Michael K. Coalescing disk write back requests
EP1750278B1 (en) * 2005-07-28 2009-11-11 STMicroelectronics S.r.l. Method of programming a four-level flash memory device and a related page buffer
KR100748461B1 (ko) 2006-09-13 2007-08-13 주식회사 하이닉스반도체 반도체 메모리 장치의 데이터 입력 회로 및 방법
US8230154B2 (en) 2007-01-19 2012-07-24 Spansion Llc Fully associative banking for memory
US7747903B2 (en) 2007-07-09 2010-06-29 Micron Technology, Inc. Error correction for memory
US20090157946A1 (en) 2007-12-12 2009-06-18 Siamak Arya Memory having improved read capability
JP2009176343A (ja) 2008-01-22 2009-08-06 Liquid Design Systems:Kk 半導体記憶装置
KR101493873B1 (ko) * 2008-12-17 2015-02-16 삼성전자주식회사 멀티-레벨 셀 플래시 메모리 장치 및 이의 독출 방법
US8266503B2 (en) * 2009-03-13 2012-09-11 Fusion-Io Apparatus, system, and method for using multi-level cell storage in a single-level cell mode
US8026544B2 (en) * 2009-03-30 2011-09-27 Sandisk Technologies Inc. Fabricating and operating a memory array having a multi-level cell region and a single-level cell region
US8429335B2 (en) * 2009-10-13 2013-04-23 Macronix International Co., Ltd. Memory device and operation method to selectively invert data
KR101626080B1 (ko) * 2010-02-17 2016-06-01 삼성전자주식회사 페이지 버퍼 관리 방법과 상기 방법을 수행할 수 있는 장치들
US8745317B2 (en) 2010-04-07 2014-06-03 Densbits Technologies Ltd. System and method for storing information in a multi-level cell memory
US8615703B2 (en) 2010-06-04 2013-12-24 Micron Technology, Inc. Advanced bitwise operations and apparatus in a multi-level system with nonvolatile memory
US8898374B2 (en) * 2010-07-21 2014-11-25 Silicon Motion, Inc. Flash memory device and method for managing flash memory device
US9070427B2 (en) * 2010-08-13 2015-06-30 Sandisk Technologies Inc. Data coding using divisions of memory cell states
JP5066241B2 (ja) * 2010-09-24 2012-11-07 株式会社東芝 メモリシステム
US20120311269A1 (en) * 2011-06-03 2012-12-06 Loh Gabriel H Non-uniform memory-aware cache management

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101512663A (zh) * 2006-07-31 2009-08-19 桑迪士克3D公司 用于读取多级无源元件存储器单元阵列的方法及设备

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Data Mapping for Higher Performance and Energy Efficiency in Multi-Level Phase Change Memory;Hanbin Yoo等;《http://safari.ece.cmu.edu/pubs/mlcpcm_nvmw2012_abstract.pdf》;20120306;全文 *

Also Published As

Publication number Publication date
EP2951834A1 (en) 2015-12-09
EP2951834A4 (en) 2016-08-31
CN105103235A (zh) 2015-11-25
US20150364191A1 (en) 2015-12-17
TWI527034B (zh) 2016-03-21
US9852792B2 (en) 2017-12-26
WO2014120193A1 (en) 2014-08-07
TW201432691A (zh) 2014-08-16

Similar Documents

Publication Publication Date Title
CN105103235B (zh) 具有用于更高性能和能量效率的去耦比特的非易失性多级单元存储器
US9443580B2 (en) Multi-level cell memory
US11188234B2 (en) Cache line data
US8954672B2 (en) System and method for cache organization in row-based memories
Meza et al. A case for small row buffers in non-volatile main memories
US11809317B2 (en) Memory controlling device and memory system including the same
US20080266991A1 (en) Synchronous Page-Mode Phase-Change Memory with ECC and RAM Cache
US20100027329A1 (en) Synchronous Page-Mode Phase-Change Memory with ECC and RAM Cache
Hoseinzadeh et al. Reducing access latency of MLC PCMs through line striping
US10997082B2 (en) Memory system, computing system, and methods thereof for cache invalidation with dummy address space
Hameed et al. Performance and energy-efficient design of STT-RAM last-level cache
US11294820B2 (en) Management of programming mode transitions to accommodate a constant size of data transfer between a host system and a memory sub-system
US20230229593A1 (en) Hybrid memory module
Arjomand et al. A morphable phase change memory architecture considering frequent zero values
US20180032251A1 (en) Resistance switching memory-based coprocessor and computing device including the same
US20210382652A1 (en) Controlled Die Asymmetry During MLC Operations For Optimal System Pipeline
Yoon et al. Techniques for data mapping and buffering to exploit asymmetry in multi-level cell (phase change) memory
Kim et al. NAND flash memory with multiple page sizes for high-performance storage devices
CN107195321B (zh) 一种交叉开关结构阻变式存储器性能优化方法及系统
Arjomand et al. MLC PCM main memory with accelerated read
Zhang et al. Tristate-set: Proactive set for improved performance of mlc phase change memories
Luo et al. Improving MLC PCM write throughput by write reconstruction
US20220284948A1 (en) Optimized column read enabled memory
Zhang et al. Quick-and-dirty: Improving performance of MLC PCM by using temporary short writes
Raghunathan et al. A novel scheduling algorithm for phase change memory based main memory system with multiple ranks

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20170122

Address after: American Texas

Applicant after: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP

Address before: American Texas

Applicant before: Hewlett-Packard Development Company, L.P.

GR01 Patent grant
GR01 Patent grant