具有用于更高性能和能量效率的去耦比特的非易失性多级单元存储器的制造方法
【专利说明】
【背景技术】
[0001]诸如忆阻器和相变存储器(“PCM”)这样的非易失性存储器作为对像动态随机存取存储器(“DRAM”)和闪速存储器这样的当前流行的存储器技术的有前途且可扩展的可替换方案而出现。除了引起比DRAM和闪存更高的存储器密度、更低的每比特成本和更大的容量的基本上不同的存储数据的方式之外,这些新兴的非易失性存储器还支持多级单元(“MLC”)技术,其允许每个存储单元存储两个或更多个比特(相比之下,DRAM能够每单元仅存储I比特)。在较低功率下操作的潜能增加了忆阻器和PCM作为可扩展DRAM可替换方案的竞争力。
[0002]具体地,PCM是通过改变已知为硫化物的材料的电阻来存储数据的新兴存储器技术。通过施加热并然后允许它以不同的速率冷却,硫化物能够被操纵以稳定在非晶体(快淬的)高电阻状态(例如,逻辑低或O )与晶体(慢冷却的)低电阻状态(例如,逻辑高或I)之间。PCM是非易失性的,因为在没有电力时保留了硫化物的状态。PCM单元的非晶体状态与晶体状态之间的大电阻差(以三个数量级)使能在PCM单元中实现MLC技术。这是通过将大电阻差分成各自表示2比特值“11”、“10”、“01”和“00”的4个相异的区来达成的。通过将单元的电阻精确地控制为位于这些电阻区之一内,能够将多于I比特存储在单元中。
[0003]然而在PCM中支持MCL招致了更高的访问延迟和能量。MLC要求将单元电阻准确地控制为位于较窄的范围内,这使得重复写入和读取技术成为必要,所述重复写入和读取技术具有引起更高的读取延迟和能量以及更高的写入延迟和能量的多次感测重复。
【附图说明】
[0004]结合连同附图进行的以下详细描述,可以更充分地认识本申请,其中同样的附图标记自始至终指的是同样的部分,并且其中:
图1是根据各种示例的非易失性MLC存储器的示意图;
图2A-B是图示了根据各种示例的存储单元的读取延迟的示意图;
图3A-B是图示了根据各种示例的存储单元的写入延迟的示意图;
图4是图示了 MSB和LSB如何能够在非易失性多级存储单元中被去耦以运用读取延迟和能量不对称性以及写入延迟和能量不对称性的示意图;
图5是将根据本文提出的各种示例的数据块地址映射与传统方案对比的示意图;
图6是针对更高的性能和能量效率在非易失性MLC存储器中具有去耦比特的计算机系统的不意图;
图7图示了行缓冲器中MSB和LSB的交织以合并向存储器的写入;
图8是针对更高的性能和能量效率在非易失性MLC存储器中具有去耦比特的计算机系统的另一不意图;
图9是针对更高的性能和能量效率将非易失性MLC存储器中的比特去耦的流程图;以及图10是针对更高的性能和效率合并向非易失性MLC存储器的写入的流程图。
【具体实施方式】
[0005]公开了针对更高的性能和能量效率具有去耦比特的非易失性多级单元(“MLC”)存储器。如本文一般描述的非易失性MLC存储器是具有多个存储单元的非易失性存储器,其中每个存储单元存储多于一个比特。在各种示例中,非易失性MLC存储器可以是每单元存储多组比特的非易失性存储器(例如,PCM、忆阻器等等),其中每组能够具有一个或多个比特。例如,存储单元能够存储两组比特,其中每组具有单一比特(对于每单元存储总计2比特)。一组能够存储最高有效位(“MSB”),并且另一组能够存储最低有效位(“LSB”)。在另一示例中,存储单元能够存储4组比特,其中每组具有单一比特(对于每单元存储总计4比特)。并且在又一个示例中,存储单元能够存储两组比特,其中每组具有2比特(也针对每单元总计4比特)。各种其他示例被想到并在下面更详细地被描述。
[0006]非易失性MLC存储器将每个存储单元划分成组。具有多个缓冲器部的行缓冲器被用来存储来自存储单元的比特,其中每个缓冲器部具有不同的读取延迟和能量以及写入延迟和能量。为了易于说明,以下描述可以指的是第一示例,其中存储单元具有两组比特,每组具有单一比特。在该示例中,MLC存储器具有存储MSB比特的MSB半部和存储LSB比特的LSB半部。MSB半部具有减小的读取延迟和能量,而LSB半部具有减小的写入延迟和能量。来自存储器的MSB半部的MSB比特被存储在行缓冲器的MSB缓冲器部中,而来自存储器的LSB半部的LSB比特则被存储在行缓冲器的LSB缓冲器部中。可以将MSB缓冲器中的数据块与LSB缓冲器中的数据块交织以增加合并向存储器的写入的机会并提高其写入持久性。
[0007]认识到,在以下描述中,阐述了许多特定的细节来提供对示例的全面理解。然而,认识到可以实践示例,而不限于这些特定的细节。在其他实例中,可以不详细描述公知的方法和结构,以避免不必要地模糊对示例的描述。此外,示例可以彼此相结合使用。
[0008]现在参看图1,描述了根据各种示例的非易失性MLC存储器的示意图。非易失性MLC存储器100包括存储单元阵列和外围电路装置。在阵列中,存储单元被组织成行和列,其中每行中的所有单元连接到公共的字线,并且每列中的所有单元连接到公共的位线(每个单元连接到一个字线和一个位线)。例如,存储单元105连接到字线110和位线115。存储单元105与存储单元120和125在相同的行140,并且与存储单元130和135在相同的列145。本领域技术人员将意识到,仅出于例证说明的目的将存储器100示为具有9个存储单元。典型的存储器100可以具有额外的单元。
[0009]当访问存储器100中的数据时,同时访问单元行(例如,行140)。在这么做时,行解码器(未被示出)断言字线以选择目标行中的所有单元,并且位线在单元与外围电路之间传送数据。在外围电路中,来自位线的数据信号由行缓冲器155中的感测放大器150a-c检测,并在行缓冲器155中被锁存,并且列解码器(未被示出)选择行缓冲器155的子集来与I/O焊盘(未被示出)通信。
[0010]认识到存储器100可以逻辑上被划分成通常被称作存储体的块。存储体是存储器100的能够被独立寻址的最小分块。例如,存储器100被示为具有存储体170。存储体170中的每一行向感测传感器150a_c传递大量的比特。传递的比特数是处理器字的倍数(例如,32或64比特)。存储体170由存储器控制器165控制,存储器控制器165在存储器100的存储体与(一个或多个)处理器(未被示出)之间提供接口。存储器控制器165通过对数据的正确的行、列和存储位置加以选择的复用器和解复用器的组合来读取、写入和刷新存储器100。
[0011]—旦行的数据被置于行缓冲器155中,就可以通过访问该缓冲器中的数据来服务对相同行的后续数据请求。这样的访问已知为行缓冲器命中,并且能够以行缓冲器155的访问延迟被快速地服务,而不与较缓慢的单元阵列交互。然而,为了服务对另一行的数据请求,必须从阵列访问数据(代替行缓冲器155的内容)。这种类型的访问已知为行缓冲器错过,并且由于激活了阵列中的单元行而招致更高的延迟和能耗。
[0012]具有高数据局部性的应用得益于大的行缓冲器并且招致减少的存储器访问时间。但是在多核处理器的情况下,在访问相同存储体的同时来自多个线程(进程)的存储器请求变成交织的,从而导致提高的行缓冲器冲突,并且因而导致高的行缓冲器错过率。这还提高了存储器控制器165处的争用,因为存储器请求趋向于在被发出之前在存储器控