用于MRAM混合读取方案的可编程ECC的制作方法


用于mram混合读取方案的可编程ecc
1.优先权声明
2.本技术是tran等人于2021年9月24日提交的名称为“mixedcurrent-force read scheme for reram array with selector”的美国专利申请号17/485,129的部分继续申请,该申请据此全文以引用方式并入。


背景技术:



3.存储器广泛用于各种电子设备,诸如蜂窝电话、数字相机、个人数字助理、医疗电子器件、移动计算设备、非移动计算设备和数据服务器。存储器可包括非易失性存储器或易失性存储器。即使当非易失性存储器未连接至电源(例如,电池)时,非易失性存储器也允许存储和保留信息。
4.存储器单元可以驻留在交叉点存储器阵列中。在具有交叉点型架构的存储器阵列中,第一组导电线跨衬底的表面延伸,并且第二组导电线形成于第一组导电线上方,在衬底上方沿垂直于第一组导电线的方向延伸。存储器单元位于这两组导电线的交叉点结处。
5.可逆电阻率存储器单元由具有可编程电阻的材料形成。在二进制方法中,每个交叉点处的存储器单元可以被编程为两种电阻状态-高电阻状态和低电阻状态-中的一种。在一些方法中,可以使用超过两种电阻状态。一种类型的可逆电阻率存储器单元是磁阻式随机存取存储器(mram)单元。 mram单元使用磁化来表示所存储的数据,这与使用电荷来存储数据的某些其他存储器技术相反。通过改变mram单元内的磁性元件(“自由层”)的磁化方向将数据位写入mram单元,并且通过测量mram单元的电阻来读取位(低电阻通常表示“0”位并且高电阻通常表示“1”位)。
6.在读取包括但不限于mram单元的可逆电阻率存储器单元时存在挑战。用于读取可逆电阻率单元的一种技术是参考读取,其中将存储器单元的状况与参考信号(诸如参考电压)进行比较。将信号应用于存储器单元以确定存储器单元的状况。例如,可在存储器单元两端施加电压,从而产生具有表示存储器单元的电阻的量值的电流。电流可转换为采样电压,将该采样电压与参考电压进行比较。基于该采样电压是高于还是低于参考电压来确定存储器单元的状态。
7.用于读取可逆电阻率单元的另一种技术是自参考读取(srr)。一种 ssr技术包括第一次读取、写入已知状态和第二次读取。用于第一次读取的一种技术是在存储器单元两端施加读取电压,从而产生具有表示存储器单元的电阻的量值的电流并将其存储。可调整所存储的电压(例如,向上调整150mv),以便与稍后的读取进行比较。用于第二次读取的一种技术是在存储器单元两端施加读取电压,从而产生具有表示存储器单元的电阻的量值的电流。存储第一次读取的电压样本并将其与第二次读取的电压样本进行比较。存储器单元的原始状态的确定取决于在破坏性写入已知状态之后第一调整读取电压与第二读取电压之间的差异。然后,如果第二读取显示位状态尚未改变,则其在破坏性写入之前处于破坏性写入的状态。如果位状态改变,则破坏性写入将其从不同状态改变为破坏性写入将位驱动到的状态。
附图说明
8.类似编号的元件是指不同的图中的共同部件。
9.图1是连接到主机的非易失性存储器系统的一个实施方案的框图。
10.图2是前端处理器电路的一个实施方案的框图。在一些实施方案中,前端处理器电路是存储器控制器的一部分。
11.图3是后端处理器电路的一个实施方案的框图。在一些实施方案中,后端处理器电路是存储器控制器的一部分。
12.图4是存储器封装件的一个实施方案的框图。
13.图5a是存储器裸片的一个实施方案的框图。
14.图5b是包含控制裸片和存储器结构裸片的集成存储器组件的一个实施方案的框图。
15.图6a描绘了堆叠在衬底上的集成存储器组件的一个实施方案的侧视图。
16.图6b描绘了堆叠在衬底上的集成存储器组件的一个实施方案的侧视图。
17.图7a以斜视图描绘了形成交叉点架构的存储器阵列的一部分的一个实施方案。
18.图7b和图7c分别呈现了图7a中的交叉点结构的侧视图和顶视图。
19.图7d以斜视图描绘了形成交叉点架构的两级存储器阵列的一部分的一个实施方案。
20.图8展示了mram存储器单元的结构的一个实施方案,在此,例如,所选择单元由电流源驱动以读取或写入。
21.图9更详细地展示了将以交叉点阵列实现的mram存储器单元设计的一个实施方案。
22.图10a和图10b展示了mram存储器单元通过产生自旋转移矩 (stt)的流动电流进行写入。
23.图11a和图11b展示了用于将阈值开关选择器结合到具有交叉点架构的mram存储器阵列中的实施方案。
24.图12描绘了具有交叉点架构的存储器阵列的一个实施方案。
25.图13是混合电流强加读取过程的一个实施方案的流程图。
26.图14是混合电流强加读取过程的一个实施方案的流程图,其中ecc 引擎用于测试电流强加参考读取是否成功。
27.图15a是混合电流强加读取的过程的一个实施方案的流程图,其中测试了存储器单元是否处于不确定性区域。
28.图15b描绘了存储器单元的两个电阻分布,其中两个电阻分布之间具有不确定性区域。
29.图15c描绘了不确定性区域的概念,其中水平轴是电压。
30.图15d描绘了可用于确定存储器单元是否处于不确定区的电路系统。
31.图16是描绘电流强加参考读取过程的一个实施方案的流程图。
32.图17是描绘电流强加srr过程的一个实施方案的流程图。
33.图18a描绘了在电流强加srr的一个实施方案期间被驱动通过所选择字线的访问位电流的电流与时间的关系。
34.图18b描绘了在电流强加的实施方案期间在所选择mram单元两端的电压与时间的关系,虚线表示已经处于ap状态的位,并且实线表示在 1822波形期间写入ap状态的处于p状态的位。
35.图19是描绘过程的一个实施方案的流程图,其中电流强加参考读取的值被保存并在电流强加srr中使用。
36.图20是用于将电流强加到字线的部件的框图。
37.图21是电流发生器的一个实施方案的示意图,不管与参考电源和供电电源的距离如何变化,该电流发生器均可以减小图块与图块之间的电流变化。
38.图22是当使用混合电流强加读取方案时确定返回时间的过程的实施方案的流程图。
39.图23和图24描绘了混合电流强加读取的实施方案的接口时序图。
40.图25是传达应在混合电流强加读取方案中执行读取的重试的过程的一个实施方案的流程图。
41.图26a是描绘具有可编程ecc引擎的存储器裸片的一个实施方案的部件的图。
42.图26b是描绘具有编程ecc引擎的集成存储器组件的一个实施方案的部件的图。
43.图27是使用可编程ecc引擎读取存储在非易失性存储器单元中的数据的过程的一个实施方案的流程图。
44.图28是展示可编程ecc解码器的一个实施方案的进一步细节的框级别图。
45.图29是描绘概率用户位错误率(puber)与原始位错误率(rber) 中的校正功率的示例的曲线图。
46.图30是描绘概率不可检测错误率(puer)与错误计数的示例的图。
具体实施方式
47.本文公开了用于混合读取可逆电阻率存储器单元(诸如磁阻随机存取存储器(mram)单元)的快速ecc引擎的技术。在一个实施方案中,使用参考读取从一组存储器单元读取码字。用能够校正码字中的第一数量的位的第一纠错码(ecc)模式对码字进行解码。如果对来自参考读取通过的数据进行解码,则将参考读取的结果提供给主机。如果解码失败,则执行自参考读取(srr)。在一个实施方案中,通过或失败是由执行ecc模式的ecc解码器决定的。如果ecc解码器报告解码数据不成功(或失败),则发生了不可校正的错误。利用能够校正码字中的大于第一数量的位的第二数量的位的第二ecc模式对使用srr的读取的数据进行解码。在一些实施方案中,第一ecc模式具有第一错误误校正率,并且第二ecc模式具有大于第一错误误校正率的第二错误误校正率(对于相同的原始位错误率)。当ecc解码器报告解码成功(通过)时,即使数据中存在一个或多个错误,也会发生误校正。误校正在本文中也可被称为不可检测的错误。然而,在一个实施方案中,当使用第二ecc模式时原始位错误率将比当使用第一ecc模式时低。当使用第二ecc模式时,较低的原始位错误率显著降低了误校正率。因此,考虑到使用第一ecc模式和第二ecc模式时发生的实际原始位错误率,第二ecc模式可能具有与第一ecc模式大致相同的误校正率。
48.因此,在一个实施方案中,相对于较低校正能力模式,使用对srr具有较高校正能力的ecc模式导致不可校正的错误的概率较低。例如,对于自参考读取,与使用可校正多达
六位的ecc模式相比,使用最多可校正九位的ecc模式导致不可校正的错误的概率较低。此外,即使对于相同原始位错误率,第二ecc模式可能具有比第一ecc模式更高的不可校正的错误的概率,但使用第二ecc模式时存在的原始位错误率可能低于使用第一 ecc模式时的原始位错误率。因此,考虑到第二ecc模式的较低原始位错误率(在srr期间),第二ecc模式可具有与第一ecc模式大致相同的不可校正的错误的概率。
49.在一些实施方案中,参考读取和srr各自是电流强加读取。电流强加读取强制电流通过存储器单元,并且测量作为结果出现在单元和选择电路两端的电压。所测得的电压表示存储器单元的电阻。存储器单元可以驻留在交叉点存储器阵列中。在一个实施方案中,每个存储器单元具有与双端子选择器元件串联的电阻随机存取存储器元件。双端子选择器元件可以是阈值切换选择器,诸如双向阈值开关(ots)。在一个实施方案中,可逆随机存取存储器元件包括磁阻式随机存取存储器(mram)元件。
50.如所指出的,读取可以是电流强加读取。在电流强加读取的一个实施方案中,在将选择电压施加到所选择的位线的同时通过强制电流通过所选择的字线来访问存储器单元。访问电流流过所选择字线的一部分、流过所选择存储器单元,还流过所选择位线的一部分;然后流过每个相应的解码电路系统。响应于访问电流,电压将出现在所选择的存储器单元上。所选择的存储器单元上的电压将取决于访问电流的量值和存储器单元的电阻。因此,所选择存储器单元两端的电压代表该存储器单元的电阻。
51.在一些实施方案中,存储器单元在交叉点阵列中并且是磁阻随机存取存储器(mram)单元。mram单元使用磁化来表示所存储的数据,这与使用电荷来存储数据的某些其他存储器技术相反。通过改变mram单元内的磁性元件(“自由层”)的磁化方向将数据位写入mram单元,并且通过测量mram单元的电阻来读取位(低电阻通常表示“0”位并且高电阻通常表示“1”位)。如本文所用,磁化方向是磁矩相对于由mram的另一元件(“基准层”)设置的基准方向定向的方向。在一些实施方案中,低电阻被称为并联或p状态,并且高电阻被称为反并联或ap状态。 mram可以使用自旋转移矩效应来将磁化方向从p状态改变为ap状态,反之亦然,这通常需要双极(双向写入)操作来进行写入。
52.一种常规的方法是在存储器单元两端强加电压,并且对所得的存储器单元电流进行采样,以读取可逆电阻率存储器单元诸如mram单元。在一些实施方案中,mram单元具有与可编程电阻元件串联的阈值开关选择器。阈值开关选择器的示例是双向阈值开关(ots)。从一个存储器单元到下一个存储器单元,ots电特性可能存在相当大的变化,这可能减小读取容限。使用这种电压强加方法来读取与阈值开关选择器串联的mram单元可能是有问题的。一个问题是该电压强加读取技术不能补偿在阈值开关选择器处于接通状态时其两端的电压降的变化。接通状态电压降也被称为“偏移电压”。电流强加方法可以补偿此类阈值开关选择器中的偏移电压变化。电流强加方法还可以补偿诸如由于取决于阵列中的解码位置的所选择字线和所选择位线的电阻变化而引起的所选择字线和所选择位线两端的电压降的问题。
53.如所指出的,诸如ots(电特性)的变化的问题可能减小读取容限。解决该问题的一种方式是使用较大的信号来读取存储器单元。例如,为了成功地读取mram单元,应当有足够大的电流被强制通过存储器单元。替代性地,应当有足够大的电压被强加在存储器单元两端,以成功地读取 mram单元。电流强加技术和电压强加技术均导致存储器单元两端的电
压,该电压现在将被称为单元电压。如果单元电压不够大,则位错误率可能高于能够被纠错电路系统校正的位错误率。然而,如果单元电压太高,则过度的应力被置于可逆电阻率存储器单元上并降低耐久性。在一些实施方案中,电流强加读取通过钳制可能出现在mram单元两端的电压来限制可能出现在存储器单元两端的电压。
54.本文所用的术语“顶部”和“底部”、“上”和“下”以及“垂直”和“水平”及其形式,如可仅以举例方式和出于示例性目的用于本文,并且不旨在限制技术的描述,因为所引用的项目可在位置和取向上交换。另外,如本文所用,术语“基本上”和/或“约”是指指定的尺寸或参数可在给定应用的可接受的公差内变化。
55.图1是连接到主机系统120的非易失性存储器系统(或更简单地称为“存储器系统”)100的一个实施方案的框图。存储器系统100可实施本文呈现的用于混合电流强加读取方案的技术。许多不同类型的存储器系统可与本文提出的技术一起使用。示例存储器系统包括双列直插式存储器模块 (dimm)、固态驱动器(“ssd”)、存储卡和嵌入式存储器设备;然而,也可以使用其他类型的存储器系统。
56.图1的存储器系统100包括控制器102、用于存储数据的非易失性存储器104,以及本地存储器106(例如,mram、reram、dram)。在一个实施方案中,存储器控制器102提供对本地存储器106中的交叉点阵列中的存储器单元的访问。例如,存储器控制器102可提供对本地存储器106 中的mram单元的交叉点阵列的访问。在另一个实施方案中,将控制器 102或接口126或这两者取消,并且存储器封装件通过诸如ddrn的总线直接连接到主机120。本地存储器106可被称为存储器系统。存储器控制器 102和本地存储器106的组合在本文中可以被称为存储器系统。在一些实施方案中,使用混合电流强加读取读取本地存储器106中的电阻随机存取存储器元件,该混合电流读取包括执行电流强加参考读取,如果电流强加参考读取不成功,则然后执行电流强加srr。
57.存储器控制器102包括前端处理器(fep)电路110和一个或多个后端处理器(bep)电路112。在一个实施方案中,fep电路110在asic上实现。在一个实施方案中,每个bep电路112在单独asic上实现。在其他实施方案中,统一控制器asic可组合前端功能和后端功能两者。在另一个实施方案中,消除fep和bep有利于主机120的方向控制,并且在存储器芯片上生成存储器所需的任何功能,诸如ecc和损耗均衡。在名称为“memory maintenance operations during refresh window”的美国专利 10,545,692和名称为“data rewrite during refresh window”的美国专利 10,885,991中描述了片上存储器维护的进一步细节,这两份专利据此全文以引用方式并入。如果允许读取存储器的时间始终相同(因此允许第一次读取/采样/存储和srr两者),则该存储器是同步的。如果使用握手,则存储器是异步的并且需要握手,使得可针对等待时间发信号通知强加电流参考读取的改善的等待时间。在另一个实施方案中,强加电流参考读取总是在没有任何srr周期的情况下使用,而不增加srr周期的写入和读取,因此该芯片能够以该更快的等待时间同步地用于直接替换直接到主机的 ddrn接口中的dram;然后,ber必须足够低,使得所有错误都在ecc 引擎的校正容量内。
58.用于bep电路112和fep电路110中的每一者的asic在同一半导体上实现,使得存储器控制器102被制造为片上系统(“soc”)。替代性地,该电路可放置在每个存储器芯片上,从而避免添加外部控制器和/或 bep或fep的开销空间和费用。fep电路110和bep电路112均包
括其本身的处理器。在一个实施方案中,fep电路110和bep电路112用作主从配置,其中fep电路110是主设备,并且每个bep电路112是从设备。例如,fep电路110实现媒体管理层(mml),该mml执行存储器管理 (例如,垃圾收集、损耗均衡等)、逻辑到物理地址转换、与主机的通信、本地存储器106的管理以及ssd(或其他非易失性存储系统)的整体操作的管理。bep电路112根据fep电路110的请求来管理存储器封装件/ 裸片中的存储器操作。例如,bep电路112可以实施读取、擦除和编程过程。另外,bep电路112可执行缓冲器管理,设置fep电路110所需的特定电压电平,执行纠错(ecc),控制到存储器封装的切换模式接口等。在一个实施方案中,每个bep电路112负责其本身的一组存储器封装。
59.在一个实施方案中,非易失性存储器104包括多个存储器封装件。每个存储器封装件都包括一个或多个存储器裸片。因此,存储器控制器102 连接到一个或多个非易失性存储器裸片。在一个实施方案中,存储器封装件可包括存储器类型,诸如基于电阻式随机存取存储器(诸如,reram、 mram、feram或rram)的存储级存储器(scm)或相变存储器 (pcm)。在一个实施方案中,存储器控制器102提供对存储器封装件 104中的交叉点阵列中的存储器单元的访问。
60.存储器控制器102经由实现诸如计算快速链路(cxl)的协议的接口 130与主机系统120通信。或者,可以取消这种控制器,并且可以将存储器封装件直接放置在主机总线(例如ddrn)上。为了与存储器系统100一起工作,主机系统120包括沿总线128连接的主机处理器122、主机存储器 124和接口126。主机存储器124是主机的物理存储器,并且可以是 dram、sram、reram、mram、非易失性存储器或另一类型的存储装置。在一个实施方案中,主机存储器124包含非易失性存储器单元的交叉点阵列,其中每个存储器单元均包括电阻式随机存取存储器元件和与该存储器元件串联的双端子选择器元件。在一些实施方案中,使用混合电流强加读取读取主机存储器124中的电阻随机存取存储器元件,该混合电流读取包括执行电流强加参考读取,如果电流强加参考读取不成功,则然后执行电流强加srr。
61.主机系统120在存储器系统100外部并且分开。在一个实施方案中,存储器系统100嵌入在主机系统120中。主机存储器124在本文中可以被称为存储器系统。主机处理器122和主机存储器124的组合在本文中可以被称为存储器系统。在一个实施方案中,这种主机存储器可以是使用 mram的交叉点存储器。
62.图2是fep电路110的一个实施方案的框图。图2示出与主机系统 120通信的接口150,以及与该接口通信的主机处理器152。接口150可以是例如cxl、ddr或pcie。主机处理器152可以是本领域中已知的适于实现的任何类型的处理器。主机处理器152与片上网络(noc)154通信。noc 是集成电路上的通信子系统,通常在soc中的核心之间。noc可跨越同步和异步时钟域,或者使用非时钟的异步逻辑。noc技术将网络理论和方法应用于片上通信,并且与常规总线和交叉开关互连相比带来了显著的改善。与其他设计相比,noc提高了soc的可扩展性以及复杂soc的电源效率。noc的导线和链路由许多信号共享。由于noc中的所有链路可在不同的数据分组上同时运行,因此实现了高度并行。因此,随着集成子系统的复杂性不断增大,与先前的通信架构(例如,专用的点对点信号线、共享总线或具有桥的分段总线)相比,noc提供增强的性能(诸如吞吐量) 和可扩展性。连接到noc 154并且与其通信的是存储器处理器156、 sram 160和本地存储器控制器162。本地存储器控制器162用于操作本地存储器106(例如,图1中的本地存储器106)并且与其通信。在一个实施方案中,本地存
储器控制器162是用于与本地存储器106中的mram进行操作和通信的mram控制器。在一个实施方案中,本地存储器控制器162 是用于与本地存储器106中的reram进行操作和通信的reram控制器。 sram 160是由存储器处理器156使用的本地ram存储器。存储器处理器 156用于运行fep电路并且执行各种存储器操作。另外,与noc通信的是两个接口164和166,其例如可以是cxl、ddr或pcie。在图2的实施方案中,ssd控制器将包括两个bep电路112;因此,存在两个接口 164/166。每个接口164/166与bep电路112中的一者通信。在其他实施方案中,可存在多于或少于两个bep电路112;因此,可存在多于两个接口 164/166。
63.fep电路110还可包括媒体管理层(mml)158,其执行存储器管理 (例如,垃圾收集、损耗均衡、负载平衡等)、逻辑到物理地址转换、与主机的通信、dram(本地易失性存储器)的管理,以及ssd或其他非易失性存储系统的整体操作的管理。媒体管理层(mml)158可被集成为可以处理存储器错误并与主机界面交互的存储器管理的一部分。具体地讲, mml可以是fep电路110中的模块,并且可以负责存储器管理的内部。具体地讲,mml 158可以包括存储器设备固件中的算法,该算法将来自主机的写入转换为对裸片的存储器结构(例如,下图5a和图5b中的502)的写入。可能需要mml 158,因为:1)存储器可能具有有限的耐久性;2)该存储器结构可以只写入多个页面;并且/或者3)除非将存储器结构作为块擦除,否则可以不写入该存储器结构。mml 158理解存储器结构的这些潜在限制,这些限制可能对主机不可见。因此,mml 158尝试将来自主机的写入转换为向存储器结构的写入。
64.图3是bep电路112的一个实施方案的框图。图3示出了用于与fep 电路110通信(例如,与图2的接口164和166中的一者通信)的接口200 (其例如可以是cxl、ddr或pcie)。接口200与两个noc 202和204 通信。在一个实施方案中,两个noc可组合成一个大的noc。每个noc (202/204)通过xor引擎(224/254)和ecc引擎(226/256)连接到sram (230/260)、缓冲器(232/262)、处理器(220/250)和数据路径控制器(222/252)。 ecc引擎226/256用于执行纠错。xor引擎224/254用于对数据执行 xor,使得可在存在编程错误的情况下以可恢复的方式组合和存储数据。数据路径控制器222连接到接口模块,以用于经由四个信道与存储器封装件进行通信。因此,顶部noc 202与用于与存储器封装件通信的四个信道的接口228相关联,并且底部noc 204与用于与存储器封装件通信的四个附加信道的接口258相关联。每个接口228/258包括四个切换模式接口 (tm接口)、四个缓冲器和四个调度器。对于每个信道,存在一个调度器、缓冲器和tm接口。处理器可以是本领域中已知的任何标准处理器。数据路径控制器222/252可以是处理器、fpga、微处理器或其他类型的控制器。xor引擎224/254和ecc引擎226/256是专用的硬件电路,称为硬件加速器。在其他实施方案中,xor引擎224/254和ecc引擎226/256可在软件中实现。调度器、缓冲器和tm接口是硬件电路。在另一个实施方案中,该电路和软件或其一部分被放置在每个存储器中的芯片上。
65.图4是包括连接到存储器总线(数据线和芯片使能线)294的多个存储器裸片292的存储器封装件104的一个实施方案的框图。存储器总线294 连接到切换模式接口296以用于与bep电路112的tm接口进行通信(参见例如图3)。在一些实施方案中,存储器封装件可包括连接到存储器总线和tm接口的控制器。存储器封装件可以具有一个或多个存储器裸片。在一个实施方案中,每个存储器封装件包括八个或16个存储器裸片;然而,也可以实现其他数量的存储器裸片。本文描述的技术不限于任何特定数量的存储器裸片。
66.图5a是描绘可以实现本文所述技术的存储器裸片292的一个示例的框图。在一个
实施方案中,存储器裸片292被包括在本地存储器106中。在一个实施方案中,存储器裸片292被包括在主机存储器124中。存储器裸片292包括存储器阵列502,该存储器阵列可以包括以下所述的存储器单元中的任一个。存储器阵列502的阵列端子线包括组织成行的各种字线层,以及组织成列的各种位线层。然而,也可以实现其他取向。存储器裸片292 包括行控制电路520,该行控制电路的输出端508连接到存储器阵列502的相应字线。行控制电路520从系统控制逻辑电路560接收一组m个行地址信号和一个或多个各种控制信号,并且通常可以包括诸如行解码器522、行驱动器524和块选择电路系统526等电路以用于读取操作和写入操作两者。行控制电路520还可包括读取/写入电路系统。在一个实施方案中,行解码和控制电路520具有感测放大器528,每个感测放大器均包含用于感测存储器阵列502的字线的状况(例如,电压)的电路系统。在一个实施方案中,通过感测字线电压,确定交叉点阵列中的存储器单元的状况。存储器裸片292还包括列解码和控制电路510,该列解码和控制电路的输入端/ 输出端506连接到存储器阵列502的相应位线。尽管针对阵列502仅示出了单个块,但是存储器裸片可包括能够被单独访问的多个阵列或“图块”。列控制电路510从系统控制逻辑部件560接收一组n个列地址信号和一个或多个各种控制信号,并且通常可包括诸如列解码器512、列解码和驱动器514、块选择电路系统516以及读取/写入电路系统和i/o多路复用器等电路。
67.系统控制逻辑部件560从主机系统接收数据和命令,并且向该主机系统提供输出数据和状态。在其他实施方案中,系统控制逻辑部件560从单独的控制器电路接收数据和命令,并且向该控制器电路提供输出数据,其中该控制器电路与主机系统通信。在另一个实施方案中,这些数据和命令直接从存储器封装件发送和接收到主机,而无需单独的控制器,并且所需的任何控制器在每个裸片内或在添加到多芯片存储器封装件的裸片内。在一些实施方案中,系统控制逻辑部件560可包括提供存储器操作的裸片级控制的状态机562。在一个实施方案中,状态机562能够由软件编程。在其他实施方案中,状态机562不使用软件并且完全地在硬件(例如,电子电路)中实现。在另一个实施方案中,状态机562被微控制器或微处理器替换。系统控制逻辑部件560还可以包括功率控制模块564,该功率控制模块控制在存储器操作期间供应给存储器502的行和列的功率和电压,并且可以包括用于产生调节电压的电荷泵和调节器电路。系统控制逻辑部件560 包括存储装置566,该存储装置可用于存储用于操作存储器阵列502的参数。这种系统控制逻辑部件可以由主机120或存储器控制器102命令到刷新逻辑部件572,该刷新逻辑部件应当加载可以在刷新之后递增的芯片上存储的行和列地址(指针)。可以仅选择这样的地址位(以刷新ots)。或者,可读取此类地址、通过经由ecc引擎569的操纵来校正,然后将其存储在“备用”位置中,该“备用”位置也在递增(因此,在整个芯片中周期性地读取、校正和重新定位所有码字)。这种操作可更直接地由外部控制器(例如pcie或cxl控制器)的主机来控制。
68.命令和数据经由存储器控制器接口568(也称为“通信接口”)在存储器控制器102与存储器裸片292之间传输。这种接口可以是例如pcie、 cxl、ddrn。存储器控制器接口568是用于与存储器控制器102通信的电接口。存储器控制器接口568的示例包括切换模式接口。也可以使用其他 i/o接口。例如,存储器控制器接口568可实现切换模式接口,该切换模式接口连接到存储器控制器102的存储器接口228/258的切换模式接口。在一个实施方案中,存储器控制器接口568包括连接到控制器102的一组输入和/或输出(i/o)引脚。在另一
个实施方案中,接口是jedec标准ddrn 或lpddrn,诸如ddr5或lpddr5,或具有较小页面和/或松弛定时的其子集。
69.定位在存储器封装件中的存储器裸片上的外部控制器中的系统控制逻辑部件560可包括纠错码(ecc)引擎569。ecc引擎569可被称为裸片上 ecc引擎,因为它与存储器单元在同一个半导体裸片上。也就是说,裸片上ecc引擎569可用于对将存储在存储器阵列502中的数据进行编码,并且对解码后的数据进行解码和纠错。经编码的数据在本文中可以被称为码字或ecc码字。ecc引擎569可用于执行解码算法并且用于执行纠错。因此,ecc引擎569可将ecc码字解码。在一个实施方案中,ecc引擎569 能够非常快速地解码数据,这有助于mram和具有双端子选择器诸如ots 的其他存储器元件技术的混合电流强加读取。在一个实施方案中,ecc引擎569是可编程的,在不同ecc模式之间具有选择。提供不同校正功率的不同ecc模式。例如,可校正的码字中的位数量在模式之间不同。在一些实施方案中,存在其中较高校正能力对应于较大误校正概率的权衡。
70.在同一裸片上具有ecc引擎569作为存储器单元允许非常快速的解码,这有助于混合电流强加读取的实施方案。ecc引擎569可使用各式各样的解码算法,包括但不限于reed solomon、bose-chaudhuri
‑ꢀ
hocquenghem(bch)和低密度奇偶校验(ldpc)。在一个实施方案中, ecc引擎569能够在对码字进行解码之前确定或估计码字中的位错误的数量。在一个实施方案中,ecc引擎569计算码字的校正子,以便估计码字中的位错误的数量。在一个实施方案中,校正子基于未满足的奇偶校验方程的数量。在一个实施方案中,ecc引擎569能够对码字进行解码,只要码字中存在的位错误不超过一定数量。
71.在一些实施方案中,存储器裸片292的所有元件(包括系统控制逻辑部件560)可形成为单个裸片的一部分。在其他实施方案中,系统控制逻辑部件560中的一些或全部可形成在不同的裸片上。
72.在一个实施方案中,存储器结构502包括非易失性存储器单元的三维存储器阵列,其中多个存储器级形成在单个衬底诸如晶圆上方。存储器结构可包括任何类型的非易失性存储器,该非易失性存储器在具有设置在硅(或其他类型的)衬底上方的有源区域的存储器单元的一个或多个物理级中一体地形成。在另一个实施方案中,存储器结构502包括非易失性存储器单元的二维存储器阵列。
73.被包括在存储器结构502中的存储器阵列架构或存储器单元的确切类型不限于上述示例。许多不同类型的存储器阵列架构或存储器技术可用于形成存储器结构326。实现本文提出的要求保护的新实施方案不需要特定的非易失性存储器技术。用于存储器结构502的存储器单元的合适技术的其他示例包括reram存储器(电阻式随机存取存储器)、磁阻式存储器 (例如,mram、自旋转移矩mram、自旋轨道转矩mram)、 feram、相变存储器(例如,pcm),等等。用于存储器结构502的存储器单元架构的合适技术的示例包括二维阵列、三维阵列、交叉点阵列、堆叠二维阵列、竖直位线阵列,等等。
74.reram或mram交叉点存储器的一个示例包括与ots选择器串联的可逆电阻开关元件,该ots选择器布置在由x线和y线(例如,字线和位线)访问的交叉点阵列中。在另一个实施方案中,交叉点是与ots选择器串联的pcm。在另一个实施方案中,存储器单元可包括导电桥存储器元件。导电桥存储器元件也可称为可编程金属化单元。基于固体电解质内的离子的物理重新定位,导电桥存储器元件可用作状态改变元件。在一些情况下,导电桥存储器元
件可包括两个固体金属电极,一个是相对惰性的 (例如,钨),而另一个是电化学活性的(例如,银或铜),在两个电极之间具有固体电解质的薄膜。随着温度升高,离子的迁移率也增加,这导致导电桥存储器单元的编程阈值降低。因此,导电桥存储器元件可在整个温度范围内具有宽范围的编程阈值。
75.磁阻随机存取存储器(mram)使用磁存储元件存储数据。这些元件由两个被薄绝缘层隔开的铁磁层形成,这两个铁磁层中的每一个铁磁层都可以保持磁化。对于场控mram,这两个层中的一个层是被设置为特定极性的永磁体;可以改变另一层的磁化以匹配外磁场的磁化来存储存储器。其他类型的mram单元是可能的。存储器设备可以由mram单元的网格构建。在用于编程的一个实施方案中,每个存储器单元位于一对写入线之间,该对写入线被布置成彼此成直角,与单元平行,一个在单元上方并且一个在单元下方。对于一些mram单元,当电流通过它们时,产生感应磁场。下文将更详细地讨论基于mram的存储器实施方案。
76.相变存储器(pcm)利用了硫属化合物玻璃的独特性能。一个实施方案使用gete-sb2te3超晶格通过仅利激光脉冲(或来自另一个源的光脉冲) 改变锗原子的配位状态来实现非热相变。存储器单元由电流脉冲编程,该电流脉冲可以改变pcm材料的协调或在无定形状态和结晶状态之间切换。应当注意,在该文件中使用“脉冲”不需要矩形脉冲,但包括声音、电流、电压光或其他波的(连续或非连续)振动或脉冲串。并且被强制用于写入的电流可以例如被快速驱动到峰值,然后以例如500ns边缘速率线性倾斜下降。此类峰值电流力可能受到分区电压合规性的限制,该分区电压合规性随存储器单元沿着字线或位线的位置而变化。
77.本领域普通技术人员将认识到,本文所述的技术不限于单个特定存储器结构、存储器配置或材料构成,但涵盖了在如本文所述的以及如本领域普通技术人员所理解的技术实质与范围内的许多相关的存储器结构。
78.可以将图5a的元件分组成两个部分:存储器结构502和外围电路系统 (包括所有其他元件)。存储器电路的重要特性是其容量,该容量可以通过增大留给存储器结构502作特定用途的存储器裸片292的面积来增加;然而,这减小了可用于外围电路系统的存储器裸片的面积。这可以对这些外围元件造成相当严重的限制。例如,需要在可用区域内装配感测放大器电路,这可是对感测放大器设计架构的重大限制。相对于系统控制逻辑部件560,可用面积减小可能会限制可以在芯片上实现的可用功能。因此,在存储器裸片292的设计中,需要对存储器结构502的专用面积量以及外围电路系统的专用面积量进行基本权衡。这种权衡可能会由于在字线和位线上的驱动电路之间使用较大的x-y存储器阵列而导致更多ir下降,这又可能从使用电压极限和通过沿着字线和位线的存储器单元位置对电压合规性进行的分区受益更多。
79.存储器结构502与外围电路系统通常有矛盾的另一个区域是在形成这些区域时所涉及的处理中,因为这些区域通常涉及不同的处理技术以及在单个裸片上实施不同技术时的权衡。例如,诸如感测放大器电路、电荷泵、状态机中的逻辑元件和系统控制逻辑部件560中的其他外围电路系统等元件通常采用pmos器件。在一些情况下,存储器结构将基于cmos器件。用于制造cmos裸片的处理操作在许多方面将不同于针对nmos技术所优化的处理操作。
80.为了改进这些限制,下文所述的实施方案可将图5a的元件分离到单独形成的裸片
上,然后将这些裸片接合在一起。图5b描绘了具有存储器结构裸片580和控制裸片590的集成存储器组件570。存储器结构502形成在存储器结构裸片580上,并且包括一个或多个控制电路在内的外围电路系统元件中的一些或全部形成在控制裸片590上。例如,存储器结构裸片580 可以仅由存储器元件形成,诸如mram存储器、pcm存储器、reram存储器或其他存储器类型的存储器单元阵列。然后可以将外围电路中的一些或全部电路(甚至包括诸如解码器和感测放大器等元件)移到控制裸片上。这允许根据其技术单独地优化半导体裸片中的每个裸片。这为外围元件提供了更多空间,如果外围元件被限制于容纳了存储器单元阵列的相同裸片的边缘,则现在可结合可能不容易结合的附加能力。然后可在接合式多裸片集成存储器组件中将两个裸片接合在一起,其中一个裸片上的阵列连接到另一个裸片上的外围元件。例如,虽然下面将集中介绍一个存储器裸片和一个控制裸片的集成存储器组件,但其他实施方案可使用附加的裸片,诸如两个存储器裸片和一个控制裸片。
81.与图5a的502一样,图5b中的存储器裸片580可以包括多个可独立访问的阵列或“图块”。系统控制逻辑部件560、行控制电路520和列控制电路510定位在控制裸片590中。在一些实施方案中,列控制电路510的全部或一部分以及行控制电路520的全部或一部分定位在存储器结构裸片 580上。在一些实施方案中,系统控制逻辑部件560中的电路系统的一部分定位在存储器结构裸片580上。
82.图5b示出了控制裸片590上的列控制电路510,该列控制电路通过电路径592耦接到存储器结构裸片580上的存储器结构502。例如,电路径 592可以在列解码器512、列驱动器电路系统514、块选择器516与存储器结构502的位线之间提供电连接。电路径可从控制裸片590中的列控制电路510延伸穿过控制裸片590上的焊盘,这些焊盘接合到存储器结构裸片 580的对应焊盘,这些对应焊盘连接到存储器结构502的位线。存储器结构 502的每条位线都可在电路径592中具有对应的电路径,包括连接到列控制电路510的一对接合焊盘。类似地,行控制电路520(包括行解码器522、行驱动器524、块选择器526和感测放大器528)通过电路径594耦接到存储器结构502。电路径594中的每个电路径可以对应于例如字线。也可在控制裸片590与存储器裸片580之间提供附加的电路径。
83.出于本文档的目的,短语“控制电路”可包括存储器控制器102、系统控制逻辑部件560、列控制电路510、行控制电路520、微控制器、状态机、主机处理器122和/或其他控制电路,或用于控制非易失性存储器的其他类似电路中的一者或多者。控制电路可以仅包括硬件或者包括硬件和软件(包括固件)的组合。例如,由固件编程以执行本文描述的功能的控制器是控制电路的一个示例。控制电路可以包括处理器、fpga、asic、集成电路,或其他类型的电路。此类控制电路可以包括驱动器,诸如经由通过驱动到固定电压(诸如电源)的全导通晶体管(栅极到电源)连接节点的直接驱动器。这种控制电路可以包括电流源驱动器。
84.出于本文档的目的,术语“装置”可以包括但不限于以下中的一者或多者:主机系统120、主机处理器122与主机存储器124的组合、主机存储器124、存储器系统100、存储器控制器102、本地存储器106、存储器控制器102与本地存储器106的组合、存储器封装件104、存储器裸片292、集成存储器组件570和/或控制裸片590。
85.在以下讨论中,图5a和图5b的存储器阵列502将在交叉点架构的语境中讨论。在交叉点架构中,第一组导线或线(诸如字线)相对于下面的衬底在第一方向上延伸,第二组导线或线(诸如位线)相对于下面的衬底在第二方向上延伸。存储器单元位于字线和位线的交
汇处。这些交叉点处的存储器单元可以根据多种技术(包括上文所述的那些)中的任一种来形成。以下讨论将主要集中介绍基于使用mram存储器单元的交叉点架构的实施方案,其中每个mram存储器单元与双端子选择器(诸如双向阈值开关(ots))串联,以包括可选择的存储器位。因此,实施方案包括其中 mram单元各自具有串联ots选择器的交叉点架构中的混合电流强加读取方案。然而,混合电流强加读取方案的实施方案并不限于其中mram单元各自具有串联ots选择器的交叉点架构。
86.在一些实施方案中,集成存储器组件570中存在多于一个控制裸片 590和多于一个存储器结构裸片580。在一些实施方案中,集成存储器组件 570包括多个控制裸片590和多个存储器结构裸片580的叠堆。图6a描绘了堆叠在衬底602上的集成存储器组件570(例如,包括控制裸片590和存储器结构裸片580的堆叠)的一个实施方案的侧视图。集成存储器组件570 具有三个控制裸片590和三个存储器结构裸片580。在一些实施方案中,存在多于三个存储器结构裸片580和多于三个控制裸片590。
87.每个控制裸片590均可附连(例如,接合)到存储器结构裸片580中的至少一个存储器结构裸片。每个控制裸片590在该控制裸片590的主表面上具有多个接合焊盘674。每个存储器结构裸片580在该存储器结构裸片580的主表面上具有多个接合焊盘670。注意,存在接合焊盘对670/674。在一个实施方案中,接合焊盘670的图案匹配接合焊盘674的图案。在一些实施方案中,接合焊盘670和/或674是倒装芯片接合焊盘。因此,接合焊盘670、674将存储器裸片580电耦接和物理耦接到控制裸片590。另外,接合焊盘670、674准许存储器裸片580与控制裸片590之间的内部信号传输。因此,存储器裸片580和控制裸片590利用接合焊盘接合在一起。
88.接合焊盘670、674可以由例如铜、铝及其合金形成。在接合焊盘 670、674与主表面之间可以存在衬垫648。衬垫可以由例如钛/氮化钛堆叠形成。接合焊盘670、674和衬垫可通过气相沉积和/或电镀技术施加。接合焊盘和衬垫一起可以具有720nm的厚度,但是在其他实施方案中该厚度可以更大或更小。
89.接合焊盘允许内部信号传输。在本文中,“内部信号传输”是指控制裸片590与存储器裸片580之间的信号传输。内部信号传输准许控制裸片 590上的电路控制存储器裸片580中的存储器操作。因此,接合焊盘670、 674可以用于存储器操作信号传输。在本文中,“存储器操作信号传输”是指与存储器裸片580中的存储器操作有关的任何信号。存储器操作信号传送可以包括但不限于提供电压、提供电流、接收电压、接收电流、感测电压和/或感测电流。
90.可能存在比图6a中描绘的更多的接合焊盘。接合在一起的两个裸片 580、590之间的空间填充有固态层648,该固态层可由环氧树脂或其他树脂或聚合物形成。该固态层648保护了裸片580、590之间的电连接,并进一步将裸片固定在一起。各种材料可以用作固态层648,但是在实施方案中,该材料可以是来自henkel公司(该公司在美国加利福尼亚州设有办事处)的hysol环氧树脂。
91.集成存储器组件570可例如以阶梯式偏移堆叠,使得每一层级处的接合焊盘均不被覆盖并且能够从上方触及。连接到接合焊盘的引线接合部606 将控制裸片590连接到衬底602。多个此类引线接合部可在每个控制裸片 590的整个宽度上形成(即,形成到图6a的页面中)。
92.存储器结构裸片硅通孔(tsv)612可用于将信号路由穿过存储器结构裸片580。控制裸片硅通孔(tsv)614可用于将信号路由穿过控制裸片 590。可在半导体裸片580、590中的集成电路形成之前、期间或之后形成 tsv 612、614。可通过蚀刻穿过晶圆的孔来形成tsv。然后,可将这些孔衬有防金属扩散的阻挡。阻挡层又可以衬有种子层,并且种子层可以镀有电导体,诸如铜,尽管可以使用其他合适的材料,诸如铝、锡、镍、金、掺杂的多晶硅以及合金或其组合。
93.焊球608能够可选地附连到衬底602的下表面上的接触焊盘610。焊球 608可用于将集成存储器组件570电耦接和机械耦接到主机设备(诸如印刷电路板)。在集成存储器组件570将用作lga封装件的情况下,可省略焊球608。焊球608可形成集成存储器组件570与存储器控制器102之间的界面的一部分。
94.图6b描绘了堆叠在衬底602上的集成存储器组件570的一个实施方案的侧视图。集成存储器组件570具有三个控制裸片590和三个存储器结构裸片580。在一些实施方案中,存在多于三个存储器结构裸片580和多于三个控制裸片590。在该示例中,每个控制裸片590接合到至少一个存储器结构裸片580。可选地,控制裸片590可接合到两个存储器结构裸片580。
95.描绘了接合焊盘670、674中的一些接合焊盘。可能有更多的接合焊盘。接合在一起的两个裸片580、590之间的空间填充有固态层648,该固态层可由环氧树脂或其他树脂或聚合物形成。与图6a中的示例相比,图 6b中的集成存储器组件570没有阶梯式偏移。存储器结构裸片硅通孔 (tsv)612可用于将信号路由穿过存储器结构裸片580。控制裸片硅通孔 (tsv)614可用于将信号路由穿过控制裸片590。
96.焊球608能够可选地附连到衬底602的下表面上的接触焊盘610。焊球 608可用于将集成存储器组件570电耦接和机械耦接到主机设备(诸如印刷电路板)。在集成存储器组件570将用作lga封装件的情况下,可省略焊球608。
97.如上面已经简要讨论的,控制裸片590和存储器结构裸片580可接合在一起。每个裸片580、590上的接合焊盘可用于将两个裸片接合在一起。在一些实施方案中,在所谓的cu-cu接合工艺中,接合焊盘在没有焊料或其他附加材料的情况下直接彼此接合。在cu-cu接合工艺中,接合焊盘被控制为高度平坦的,并且形成在高度受控的环境中,该环境基本上没有环境颗粒,否则该环境颗粒可能沉积在接合焊盘上并阻止紧密接合。在这种适当控制的条件下,接合焊盘对准并彼此压靠,以基于表面张力形成相互接合。这种接合可以在室温下形成,尽管也可以施加热量。在使用cu-cu 接合的实施方案中,接合焊盘可以是大约6μm见方,并且以6μm到6μm 的间距彼此隔开。虽然该工艺在本文中被称为cu-cu接合,但是该术语也可以适用于接合焊盘由除铜之外的材料形成的情况。
98.当接合焊盘的面积小时,可能难以将半导体裸片接合在一起。通过在包括接合焊盘的半导体裸片的表面上提供膜层,可以进一步减小接合焊盘的尺寸和间距。膜层设置在接合焊盘周围。当裸片被放在一起时,接合焊盘可以彼此接合,并且各个裸片上的膜层可以彼此接合。这种接合技术可以称为混合接合。在使用混合接合的实施方案中,接合焊盘可以是大约 6μm见方,并且以1μm到6μm的间距彼此隔开。可以使用接合技术来提供具有更小尺寸和间距的接合焊盘。
99.一些实施方案可在裸片580、590的表面上包括膜。如果最初没有提供这样的膜,则
可以用环氧树脂或其他树脂或聚合物在底部填充裸片之间的空间。底部填充材料可作为液体施加,然后使其硬化为固态层。该底部填充的步骤保护了裸片580、590之间的电连接,并进一步将裸片固定在一起。各种材料可用作底部填充材料,但在实施方案中,底部填充材料可以是来自henkel公司的hysol环氧树脂,该公司在美国加利福尼亚州设有办事处。
100.图7a以斜视图描绘了形成交叉点架构的存储器阵列的一部分的一个实施方案。图7a的存储器阵列502是图5a或图5b中的存储器阵列502 的具体实施的一个示例,其中存储器裸片292或存储器结构裸片580可以包括多个此类阵列结构。存储器阵列502可被包括在本地存储器106或主机存储器124中。位线bl
1-bl5相对于裸片的下层衬底(未示出)沿第一方向(表示为延伸到页面中)布置,而字线wl
1-wl5沿垂直于第一方向的第二方向布置。图7a是水平交叉点结构的示例,其中字线wl
1-wl5和 bl
1-bl5两者均相对于衬底沿水平方向延伸,而存储器单元(其中两个以 701指示)被取向成使得通过存储器单元的电流(诸如以i
单元
所示)沿竖直方向流动。在具有存储器单元的附加层的存储器阵列中,诸如下文关于图 7d所讨论的,将存在位线和字线的对应附加层。
101.如图7a所描绘的,存储器阵列502包括多个存储器单元701。存储器单元701可包括可重写的存储器元件,其诸如可以使用reram、mram、 pcm或其他具有可编程电阻的材料来实现。包括mram存储器元件的存储器单元将被简单地表示为mram存储器单元。存储器单元701还可包括选择器元件,其诸如可以使用双向阈值开关(ots)、易失性导电桥 (vcb)、金属-绝缘体-金属(mim)或提供电流对选择电压的高度非线性依赖性的其他材料来实现。以下讨论内容将集中介绍由与双向阈值开关串联组合的mram存储器元件构成的存储器单元,尽管该讨论内容中的大部分内容可以更一般地应用。第一存储器层级的存储器单元中的电流被示出为如箭头i
单元
所指示向上流动,但电流可以沿任一方向流动,如下文更详细地讨论的。
102.图7b和图7c分别呈现了图7a中的交叉点结构的侧视图和顶视图。图7b的侧视图示出了一条底线或字线wl1,以及多条顶线或位线bl1‑ꢀ
bln。mram存储器单元701位于每条顶线与底线之间的交叉点处,但可将pcm、reram、feram或其他技术用作存储器元件。图7c是展示m 条底线wl
1-wlm和n条顶线bl
1-bln的交叉点结构的顶视图。在二进制实施方案中,每个交叉点处的mram单元可以被编程为两种电阻状态-高电阻状态和低电阻状态-中的一种。下文给出了关于mram存储器单元设计的实施方案和它们的读取技术的更多细节。在一些实施方案中,这些导线的组连续排列为“图块”,并且此类图块可以在字线(wl)方向上相邻地配对并且在位线方向上正交地配对以创建模块。此类模块可以由2
×
2图块构成以形成四个图块组合,其中图块之间的wl驱动器在图块之间是“中心驱动的”,其中wl在线的近似中心在驱动器上连续运行。类似地,bl驱动器可以位于在bl方向上配对的图块对之间,从而被中心驱动,由此驱动器和其区域在一对图块之间共享。图12中示出了具有四个图块的模块的一个实施方案,这将在下文论述。
103.图7a的交叉点阵列展示了具有一层字线和位线的一个实施方案,其中mram或其他存储器单元位于这两组导电线的交汇处。为了增加存储器裸片的存储密度,可以形成多层此类存储器单元和导电线。双层示例在图 7d中示出。
104.图7d以斜视图描绘了形成交叉点架构的两级存储器阵列的一部分的一个实施方案。如图7a中那样,图7d示出了阵列502的第一层718存储器单元701,其连接在第一层字线
wl
1,1-wl
1,4
与位线bl
1-bl5的交叉点处。第二层存储器单元720形成在位线bl
1-bl5上方以及这些位线与第二组字线wl
2,1-wl
2,4
之间。尽管图7d示出了存储器单元的两个层718和 720,但是该结构可通过字线和位线的附加交替层而向上延伸。取决于该实施方案,图7d的阵列的字线和位线可以被偏置用于读取操作或编程操作,使得每个层中的电流从字线层流向位线层或以相反方向环流。针对给定操作,两个层可被构造成在每一层中具有沿相同方向的电流,或者通过通过驱动器在正或负方向上的选择具有沿相反方向的电流。
105.交叉点架构的使用允许具有小占有面积的阵列,并且若干此类阵列可以形成在单个裸片上。在每个交叉点处形成的存储器单元可以是电阻类型的存储器单元,其中数据值被编码为不同的电阻水平。取决于该实施方案,存储器单元可以是二进制值的,具有低电阻状态或高电阻状态,或者是多层单元(mlc),这些多层单元可以具有介于低电阻状态与高电阻状态中间的附加电阻。此处描述的交叉点阵列可用于图4的存储器裸片292、图1中的本地存储器106和/或图1中的主机存储器124。电阻类型的存储器单元可以根据上文提及的技术中的许多种来形成,诸如reram、pcm、 feram或mram。以下讨论主要在使用具有二进制值mram存储器单元的交叉点架构的存储器阵列的上下文中呈现,但是大部分讨论可更一般地应用。
106.图8展示了mram单元的结构的一个实施方案。该mram单元包括底部电极801、间隔层812、阈值开关选择器802、间隔层814、被分离层或隧穿层(在该示例中,为氧化镁(mgo))805分离的一对磁层(基准层803和自由层807),然后是通过间隔层809与自由层807分开的顶部电极811。在另一个实施方案中,基准层803的位置和自由层807的位置交换,此时基准层803在mgo 805之上,并且自由层807在mgo 805下方。在另一个实施方案中,阈值开关选择器802的位置介于自由层807与顶部电极811之间。
107.在一些实施方案中,底部电极801被称为字线,并且顶部电极811被称为位线。在其他实施方案中,底部电极801被称为位线,并且顶部电极 811被称为字线。存储器单元的状态基于基准层803和自由层807的磁化的相对取向:如果这两个层沿相同方向磁化,则存储器单元将处于平行(p) 低电阻状态(lrs);并且如果它们具有相反取向,则存储器单元将处于反平行(ap)高电阻状态(hrs)。mlc实施方案将包括附加的中间状态。基准层803的取向是固定的,并且在图8的示例中向上取向。基准层 803也称为固定层或钉扎层。基准层803可由在通常称为合成反铁磁体或简称saf的结构中以反铁磁方式耦合的多个铁磁层构成。
108.通过将自由层807编程为具有相同取向或相反取向,来将数据写入 mram存储器单元。通过将所有mram存储器单元设置为处于低电阻状态,mram存储器单元阵列可以置于初始或擦除状态,在该低电阻状态下,mram存储器单元的所有自由层具有与其基准层相同的磁场取向。然后,通过将磁场反转为与基准层803的磁场相反而将存储器单元的自由层 807置于高电阻状态来对存储器单元中的每个存储器单元选择性地编程(也称为“写入”)。基准层803被形成为使得其将在对自由层807编程时维持其取向。基准层803可具有包括合成反铁磁层和附加基准层的更复杂的设计。为简单起见,附图和讨论省略了这些附加层,并且仅集中于主要负责该单元中的隧穿磁阻的固定磁层。
109.阈值开关选择器802具有高电阻(处于断开或非导电状态),直到其被偏置到高于其阈值电压的电压或高于其阈值电流的电流为止,并且直到其电压偏置降到低于vhold(“voffset”)或电流低于ithreshold为止。在超过vt之后并且在超过开关选择器两端的
vhold时,开关选择器具有低电阻(处于接通或导电状态)。阈值开关选择器维持接通,直到其电流降低到保持电流ihold以下,或者电压降低到保持电压vhold以下。当发生这种情况时,阈值开关选择器返回断开(较高)电阻状态。因此,为了对交叉点处的存储器单元编程,施加足以接通相关联的阈值开关选择器并且设置或重置存储器单元的电压;并且为了读取存储器单元,类似地,在可以确定该存储器单元的电阻状态之前,通过接通来激活阈值开关选择器。阈值开关选择器的一组示例是双向阈值开关(ots)的双向阈值开关材料。示例性阈值开关材料包括ge-se、ge-se-n、ge-se-as、ge-se-sb-n、 ge58se42、gete6、si-te、zn-te、c-te、b-te、ge-as-te-si-n、ge-as
‑ꢀ
se-te-si和ge-se-as-te,其中每个元素的原子百分比范围从几百分比到超过90%。在一个实施方案中,阈值开关选择器是双端子设备。阈值开关选择器802还可在与基准层803的界面上包含附加导电层。例如,在开关选择器802与基准层803之间描绘了间隔层814。与基准层803的界面上的间隔层814可以是单个导电层或由多个导电层构成。阈值开关选择器802还可在与底部电极801的界面上包含附加导电层。例如,在开关选择器802 与基准层803之间描绘了间隔层812。与底部电极801的界面上的间隔层 812可以是单个导电层或由多个导电层构成。与ots相邻的导电层的示例包括碳、氮化碳、硅化碳、碳钨、钛、氮化钛、钨、氮化钨、钽、氮化钽及其他。阈值电压开关具有阈值电压(vt),在超过该阈值电压时,设备的电阻基本上从绝缘或准绝缘变为导电。
110.在图8的实施方案中,使用电流强加方法来访问mram单元。该电流强加方法可以用于读取或写入mram单元。在电流强加方法中,电流源 813驱动访问电流(例如,i
读取
或i
写入
)通过电极801。电流源813是用于电极801的行驱动电路的一部分。向电极811提供电压(例如,v
选择
)。驱动访问电流通过第一导电线(例如,字线)的一部分,通过所选择的存储器单元,并且通过第二导电线的一部分(例如,位线)。在本文中,术语“读取电流”(i
读取
)和“写入电流”(i
写入
)将与被驱动通过mram 单元的访问电流结合使用。写入电流将改变mram单元的状态。例如,约 30μa持续50ns的写入电流可以用于具有约20纳米且ra10ω.μm2的临界尺寸(cd)的mram单元。如果施加有限的时间(诸如《20ns),则读取电流可能约为写入电流的一半。沿一个方向流过mram单元的写入电流将使ap状态mram单元从ap状态改变为p状态。沿另一方向流过mram 单元的写入电流将使p状态mram单元从p状态改变为ap状态。一般来讲,读取电流将优选地被设置得足够低并且读取持续时间足够短,以免将 mram单元的状态从p状态改变为ap状态或者从ap状态改变为p状态。
111.如下面结合图10b更全面地讨论的,在一些实施方案中,读取电流可在p2ap方向上施加,或者另选地,可在ap2p方向上施加。在一些实施方案中,通过执行srr(自参考读取)来读取mram单元。srr操作可以包括两次读取操作和两次写入操作,其允许将初始位状态电阻与已知编程状态中的位的电阻直接比较,接着如果初始位状态不同于第一次写入之后的初始状态,则通过重新写入来恢复初始位状态;在一个实施方案中, srr具有第一次读取(p2ap方向上的read1)、第一次写入(write 1到 ap状态)和第二次读取(p2ap方向上的read2),之后是可选的第二次写入(对于最初处于p状态的位,write 2到p状态)。由于p2ap方向上的read1引起的存储器单元的电压电平被存储在例如电容器上;或通过模拟数字转换器和存储在存储器中的位转换为数字位,例如在sram中,直到在read2中使用之后。通过将电压强加在连接到存储电容器的电容器的一个端子上,可调整存储在电容器上的状态,正或负150mv。或者,数字存储水平可以通过对存储位在数字上加或减150mv来调整。
112.接下来,将存储器单元写入ap状态(write 1)。将由于p2ap方向上的read2(write 1之后)而感测到的电压电平与从read1存储和调整的电压电平比较,其中read1和read2都在p2ap方向上进行。read2与read1 之间的电压电平的足够大的变化(例如超过150mv)指示mram单元最初处于p状态。如果电压的变化小于150mv,则mram单元最初处于ap 状态(写入将位状态引导为该ap状态)。如果该位最初处于p状态并通过 write 1切换为ap状态,则执行位在ap2p方向上的可选write 2。替代性地,srr具有第一次读取(ap2p方向上的read1)、第一次写入(write 1 到p状态)和第二次读取(ap2p方向上的read2)。由于ap2p方向上的 read1引起的存储单元的电压电平被存储并且被调整,例如-150mv。接下来,将存储器单元写入p状态(write 1)。将由于ap2p方向上的read2 引起的电压电平与由于ap2p方向上的read1引起的经调整电压电平进行比较。电压电平的足够大的变化指示mram单元最初处于ap状态。如果该位最初处于ap状态并通过write 1切换为p状态,则执行可选的write 2。在一些实施方案中,相同的极性用于read1、write1和read2,这避免了在 read1与read2之间切断选择器。在一些实施方案中,write 2被延迟并且仅在执行其他操作之后执行。在一些实施方案中,通过延长在read 1期间施加的读取电流的持续时间来执行write 1。
113.在一个实施方案中,通过将例如0v施加到电极811,同时驱动例如 15微安(μa)的电流通过电极801来读取mram单元。该读取电流将从电极801流动到电极811。注意,读取可以是p2ap方向上的read1或 read2。p2ap意味着电流在将位从p写入ap或从ap写入ap的方向上流动。在一些实施方案中,使用双极性写入操作将数据写入mram单元。在一个实施方案中,通过将例如3v施加到电极811,同时驱动例如-30μa的写入电流通过电极801,来将mram单元从ap状态写入p状态。该写入电流将从一个电极811流动到另一个电极801。在一个实施方案中,通过将例如0v施加到一个电极811,同时驱动例如30μa的电流通过另一个电极 801,来将mram单元从p状态写入ap状态。该写入电流将从电极801流动到电极811。
114.作为图8中的方法的替代形式,可将选择电压施加到电极801,此时访问电流通过电极811施加。在一个这样的实施方案中,通过将例如3v施加到一个电极801,同时驱动例如-15μa的读取电流通过另一个电极811来读取mram单元。该读取电流将从电极801流动到顶部电极811。
115.在一个实施方案中,通过将例如-3v施加到底部电极801,同时驱动例如30μa的写入电流通过顶部电极811,来将mram单元从ap状态写入p 状态。该电子电流将从底部电极801流动到顶部电极811。在一个实施方案中,通过将例如0v施加到底部电极801,同时驱动例如-30μa的电流通过顶部电极811,来将mram单元从p状态写入ap状态。该电子电流将从顶部电极811流动到底部电极801。施加读电流的持续时间可以显著不同于施加写入电流的持续时间。例如,在通过单元的电流减小到零,或者减小到在施加该电流的持续时间内对单元造成干扰的机会可忽略的量之前,可以施加读取电流20ns,而可以施加写入电流50ns。例如,写入电流和读取电流的持续时间也可以相同或基本上相似,诸如20ns。每次读取可在比写入少得多的所施加电流下执行,诸如分别为10μa和40μa。在此讨论中,还应当理解,用于将位的磁化切换为p或ap状态的电流极性的方向可以基于基准层设计和基准层相对于自由层的位置而变化。
116.图9更详细地展示了能够以交叉点阵列实现的mram存储器单元设计的一个实施方案。当被置于交叉点阵列中时,mram存储器单元的顶部电极和底部电极将是阵列的顶线和
底线。在这里示出的实施方案中,底部电极是该存储器单元的字线901,并且顶部电极是该存储器单元的位线911,但是在其他实施方案中,这些电极可以颠倒。字线901与位线911之间是基准层903和自由层907,它们也被mgo势垒905分离。在图9所示的实施方案中,mgo封盖908也形成在自由层907之上,并且导电间隔层909 形成在位线911与mgo封盖908之间。基准层903被另一个导电间隔层 902与字线901分离。阈值开关选择器802可驻留在基准层903与导电间隔层902之间。该存储器单元结构的任一侧有衬垫921和923,其中这些衬垫可以是相同结构的一部分,但是在图9的横截面中看起来是分离的。在衬垫921、923的任一侧示出了用于填充交叉点结构的原本为空的区域的填充材料925、927的一部分。
117.关于自由层设计907,实施方案包括厚度为约1nm至2nm的cofe或 cofeb合金,其中ir层可以散布在自由层中靠近mgo势垒905的位置,并且自由层907可以掺杂或散布有ta、w或mo。基准层903的实施方案可包括与ir或ru间隔层或者两者的组合或合金902耦接的cofeb和co/pt多层的双层。mgo封盖908是可选的,但是可用于增大自由层907的各向异性并且减小该自由层的临界开关电流。导电间隔层可以是导电金属,诸如 ta、w、ru、cn、tin和tan,等等。自由层还可以是由多个自由层构成的复合自由层,其中在所述多个自由层之间具有导电层,诸如在所述多个自由层之间具有w、ta、w或隧穿层,诸如mgo。
118.以下讨论将主要关于垂直自旋转移矩mram存储器单元进行讨论,其中图8和图9的自由层807/907包括垂直于自由层的平面的可切换磁化方向。自旋转移矩(“stt”)是可以使用自旋极化电流来修改磁隧道结 (mjt)中的磁层取向的效应。电荷载流子(诸如电子)具有被称为自旋的特性,自旋是载流子固有的少量角动量。电流一般是非极化的(例如,由50%的自旋向上和50%的自旋向下电子组成)。自旋极化电流是任一自旋的电子更多(例如,多数为自旋向上电子或多数自旋向下电子)的电流。通过使电流经过厚磁层(基准层),可以产生自旋极化电流。如果该自旋极化电流被注入第二磁层(自由层)中,则角动量可以转移至该第二磁层,从而改变第二磁层的磁化方向。这被称为自旋转移矩。图10a和图 10b展示了使用自旋转移矩对mram存储器进行编程或写入。自旋转移矩磁性随机存取存储器(stt mram)的优点在于,与其他mram变型形式相比功耗更低且可扩展性更好。与其他mram具体实施相比(诸如切换 mram),stt切换技术需要相对低的功率,这实际上消除了相邻位干扰的问题,并且对于更高的存储器单元密度具有更有利的缩放(mram单元尺寸减小)。后一个问题还有利于stt mram,其中自由层磁化和基准层磁化垂直于膜平面取向,而不是在平面内取向。
119.由于stt现象更容易根据电子行为来描述,所以图10a和图10b及其讨论根据电子电流来给出,其中写入电流的方向被定义为电子流动的方向。因此,参考图10a和图10b的术语“写入电流”是指电子电流。当电子带负电时,电子电流将在与常规限定的电流相反的方向上,使得电子电流将从较低电压电平流向较高电压电平,而不是常规电流从较高电压电平流向较低电压电平。
120.图10a和图10b展示了通过stt机制对mram存储器单元的写入,其描绘了stt切换mram存储器单元1000的一个示例的简化示意性表示,其中基准层磁化和自由层磁化都在垂直方向上。存储器单元1000包括磁隧道结(mtj)1002,该磁隧道结包括上部铁磁层1010、下部铁磁层 1012和隧道势垒(tb)1014,该隧道势垒用作这两个铁磁层之间的绝缘层。在该示例中,上部铁磁层1010为自由层fl,并且其磁化方向可切换。下部铁磁层1012为基准(或固
定)层rl,并且其磁化方向不可切换。当自由层1010中的磁化与基准层rl 1012中的磁化平行时,存储器单元1000两端的电阻是相对低的。当自由层fl 1010中的磁化与基准层rl 1012中的磁化反平行时,存储器单元1000两端的电阻是相对高的。存储器单元1000中的数据(“0”或“1”)通过测量存储器单元1000的电阻 (诸如通过强加)来读取。就这一点而言,附接到存储器单元1000的电导体1006/1008用于读取mram数据。通过设计,平行配置和反平行配置两者都在静止状态和/或读取操作期间(在足够低的读取电流下)保持稳定。
121.对于基准层rl 1012和自由层fl 1010这两者来说,磁化方向均在垂直方向上(即,垂直于由自由层限定的平面并且垂直于由基准层限定的平面)。图10a和图10b示出,基准层rl 1012的磁化方向为上,并且自由层fl 1010的磁化方向可在上与下之间切换,其也垂直于该平面。
122.在一个实施方案中,隧道势垒1014由氧化镁(mgo)制成;然而,也可以使用其他材料。自由层1010为铁磁金属,其具有改变/切换其磁化方向的能力。基于过渡金属如co、fe及其合金的多层可用于形成自由层 1010。在一个实施方案中,自由层1010包含钴、铁和硼的合金。基准层 1012可以是许多不同类型的材料,包括(但不限于)多层钴和铂和/或钴和铁的合金。
123.为了“设置”mram存储器单元位值(即,选择自由层磁化的方向),从导体1008向导体1006施加电子电流1050,如图10a所描绘的 (因此电流以相反方向流动)。为了产生电子电流1050,由于电子的负电荷,顶部导体1006被置于比底部导体1008更高的电压电平。电子电流 1050中的电子随着它们穿过基准层1012而变为自旋极化的,因为基准层1012为铁磁金属。当自旋极化的电子隧穿隧道势垒1014时,角动量的守恒可以导致自旋转移矩施加在自由层1010和基准层1012两者上,但该转移矩并不足以(通过设计)影响基准层1012的磁化方向。相反,如果自由层 1010的初始磁化取向与基准层1012反平行(ap),则该自旋转移矩(通过设计)足以使自由层1010中的磁化取向切换成与基准层1012的磁化取向平行(p),这称为反平行至平行(ap2p)写入。然后,在关闭这种电子电流之前和之后,平行磁化将保持稳定。
124.相比之下,如果自由层1010磁化和基准层1012磁化最初是平行的,则通过施加与前述情况相反方向的电子电流,可将自由层1010的磁化方向切换成与基准层1012反平行。例如,如图10b所描绘的,通过在下部导体 1008上施加较高的电压电平,将电子电流1052从导体1006施加到导体 1008。这将把处于p状态的自由层1010写入ap状态,称为平行至反平行 (p2ap)写入。因此,经由相同的stt物理性质,可以通过明智地选择电子电流方向(极性)来确定性地将自由层1010的磁化方向设置为两个稳定取向中的任一个。
125.可通过测量存储器单元1000的电阻来读取存储器单元1000中的数据 (“0”或“1”)。低电阻通常表示“0”位,并且高电阻通常表示“1”位,但是有时会发生另选的惯例。通过施加从导体1008到导体1006的电子电流(如图10a中针对1050所示流动(“ap2p方向”)),可以施加跨存储器单元(例如,跨mjt1002)的读取电流;替代性地,电子电流可以从导体1006施加到导体1008,如图10b中针对1052所示流动(“p2ap 方向”)。众所周知,电子电流以与常规限定的电流相反的方向流动。在读取操作中,如果电子电流太高,则这可能干扰存储在存储器单元中的数据并且改变其状态。例如,如果电子电流read1使用图10b的p2ap方向,则在read1期间的位电压被存储之前,过高的电流电平或电压电平可以将处于低电阻p状态
的任何存储器单元切换为高电阻ap状态。因此,尽管可以沿任一方向读取mram存储器单元,但是在各种实施方案中,写入操作的方向性质可以使一个读取方向优先于另一个读取方向。例如,对于给定读取电流,错误率可能较少在p2ap方向上执行srr。
126.尽管图10a和图10b的讨论是在读取电流和写入电流的电子电流的语境中进行的,但是除非另外指明,否则后续讨论将在常规电流的语境中进行。
127.无论是读取还是写入图7a至图7d的阵列结构中的所选择存储器单元,对应于所选择存储器单元的位线和字线均被偏置以在所选择存储器单元两端施加电压或者施加通过所选择存储器单元的电流,并且诱发电子流动,如关于图10a或图10b所展示的。需注意,在本文中,“所选择存储器单元”意指选择该存储器单元进行访问(例如,读取访问、写入访问)。“未选择的存储器单元”意指未通过将其wl或bl或两者置于存储器单元两端的最大正电压与最小负电压之间的大约一半的电压处来选择以供访问的存储器单元。给定过程可能导致与mram的正向相对于反向写入大致相同的写入电流,或者可能是从低电阻状态(lrs)到高电阻状态 (hrs)的写入需要约20%或更大的电流,用于约20nm和ra10ωμm2的 cd。
128.一些偏置技术可能导致在阵列的未选择的存储器单元两端的电压,该电压可以在未选择的存储器单元中诱发电流。尽管这种浪费的功耗可以通过将存储器单元设计成对于高电阻状态和低电阻状态两者均具有相对高的电阻水平而在某种程度上减轻,但这仍将导致增加的电流和功耗以及对存储器单元和阵列的设计施加额外的设计约束。解决这种不期望的电流泄漏的一种方法是将选择器元件与每个mram或其他电阻式(例如, reram、pcm)存储器单元串联放置。例如,在图7a至图7d中,选择晶体管可以与每个电阻式存储器单元元件串联放置,使得存储器单元701 现在是选择晶体管与可编程电阻的复合物。然而,使用选择晶体管需要引入额外的控制线和单元区域,以便能够接通所选择的存储器单元的对应晶体管。此外,晶体管通常不会以与电阻式存储器元件写入电流相同的方式缩放,使得随着存储器阵列移动到较小的尺寸,使用基于晶体管的选择器可能是例如降低成本的限制因素。选择晶体管的另选方法是使用与可编程电阻式元件串联的阈值开关选择器(例如,阈值开关选择器802)。双端子阈值开关选择器不需要前述附加控制线和单元区域就能够接通所选择存储器单元的对应选择晶体管。
129.图11a和图11b展示了用于将阈值开关选择器结合到具有交叉点架构的mram存储器阵列中的实施方案。图11a和图11b的示例示出了两层交叉点阵列中的两个mram单元(层1单元、层2单元),诸如图7d所示,不过是以侧视图示出的。图11a和图11b示出了下部的第一导电线即字线1 1100、上部的第一导电线即字线2 1120,以及中间的第二导电线即位线1110。在这些附图中,为了便于呈现,所有这些线均被示出为在整个页面上从左到右延伸,但是在交叉点阵列中,它们将被更准确地表示为如图7d的斜视图所表示的,其中字线或者第一导电线或导线在平行于下层衬底的表面的一个方向上延伸,并且位线或者第二导电线或导线在平行于衬底的表面的第二方向上延伸,该第二方向基本上正交于第一方向。mram 存储器单元也以简化形式表示,仅示出基准层、自由层和中间的隧道势垒,但是在实际的具体实施中,通常将包括上文关于图9所述的附加结构。
130.包括自由层1101、隧道势垒1103和基准层1105的mram元件1102 形成在阈值开关选择器1109上方,其中mram元件1102和阈值开关选择器1109的该串联组合一起在位线1110与字线1 1100之间形成层1单元。 mram元件1102和阈值开关选择器1109的串联组合在阈值
开关选择器 1109接通时在很大程度上如上文关于图10a和图10b所述的那样操作。然而,最初需要通过施加高于阈值开关选择器1109的阈值电压v
th
的电压来接通阈值开关选择器1109,然后需要将偏置电流或电压维持得足够高以高于阈值开关选择器1109的保持电流或保持电压,使得其在后续的读取或写入操作期间保持接通。
131.在第二层上,包括自由层1111、隧道势垒1113和基准层1115的 mram元件1112形成在阈值开关选择器1119上方,其中mram元件 1112和阈值开关选择器1119的串联组合一起在位线1110与字线2 1120之间形成层2单元。层2单元将如层1单元那样操作,但是下部导体现在对应于位线1110,并且上部导体现在是字线,即字线2 1120。附加配对层可以类似地在它们之间共享另一条位线,具有wl1、bl1、wl2的模式; wl3、bl2、wl4;或在诸如wl1、bl1、wl2、bl2的模式中具有单独的位线。
132.在图11a的实施方案中,阈值开关选择器1109/1119形成在mram元件1102/1112下方,但是在另选的实施方案中,阈值开关选择器可形成在一个或两个层的mram元件的上方。如关于图10a和图10b所讨论的,mram存储器单元具有方向性。在图11a中,mram元件1102和1112 具有相同的取向,其中自由层1101/1111在基准层1105/1115上方(相对于未示出的衬底)。在具有相同结构的导电线之间形成这些层可以具有许多优点,尤其是对于加工而言,因为这两个层中的每一者,以及在具有更多个层的实施方案中的后续层可以根据相同的加工顺序来形成。
133.图11b展示了与图11a类似地布置的另选实施方案,不同的是在层2 单元中,基准层和自由层的位置颠倒。更具体地讲,如图11a中那样,在字线1 1150与位线1160之间,层1单元包括mram元件i,该mram元件具有形成在隧道势垒1153上方的自由层1151,该隧道势垒又形成在基准层1155上方,其中mram元件1152形成在阈值开关选择器1159上方。图11b的实施方案的第二层也具有在位线1160与字线2 1170之间形成在阈值开关选择器1169上方的mram元件1162,但是相对于图11a,mram 元件1162倒置,使得基准层1161现在形成在隧道势垒1163上方并且自由层1165现在形成在隧道势垒1163下方。替代性地,mram单元1162的配置可用于层1单元,并且mram单元1152的配置可用于层2单元。
134.虽然图11b的实施方案需要用于形成这些层的不同加工顺序,但是在一些实施方案中,其可以具有优点。具体地讲,mram结构的方向性可以使得图11b的实施方案具有吸引力,因为当在相同方向(相对于基准层和自由层)上写入或读取时,位线将针对下层和上层两者偏置相同的量,并且两条字线也将偏置相同的量。例如,如果在p2ap方向(相对于基准层和自由层)上感测到层1存储器单元和层2存储器单元两者,则位线层1160 将诸如在p2ap方向上偏置,位线1160对于上部单元和下部单元两者均偏置为低(例如,0v),且字线1 1150和字线2 1170两者均偏置到较高的电压电平。类似地,相对于写入,为了写入高电阻ap状态,位线1160对于上部单元和下部单元两者均偏置为低(例如,0v),且字线1 1150和字线 2 1170两者均偏置到较高的电压电平;并且为了写入低电阻p状态,位线 1160偏置到高电压电平,且字线1 1150和字线2 1170两者均偏置到低电压电平。相比之下,对于图11a的实施方案,位线和字线将需要使其偏置电平反转,以便相对于较低电平对较高电平执行这些操作中的任一者。注意,在电流强加方法的一个实施方案中,通过驱动电流通过字线将字线偏置到目标电压。
135.从mram存储器单元读取数据或将数据写入该mram存储器单元涉及使电流经过存
1210g驱动访问电流(i
访问
)通过所选择字线1206g的至少一部分。该访问电流还可以流过所选择的存储器单元701a并且在所选择的位线1208b的一部分中流动。例如,这种所选择wl可以由具有例如3.3v的顺从电压的电流源驱动高15μa以进行读取或者驱动高30μa以进行写入。
141.wl驱动器1210被配置为供应电流或吸收电流。因此,i
访问
可以在任一方向上流动通过所选择的字线(以及所选择的位线)。根据本文中使用的惯例,当电流驱动器1210用作电流源时,访问电流的量值为正。根据本文中使用的惯例,当电流驱动器1210用作电流吸收器时,访问电流的量值为负。无论电流驱动器1210是供应还是吸收电流,这在本文中将被称为强制电流通过所选择的字线。在一个实施方案中,除泄漏之外没有电流被强制通过未选择的字线(例如,1206a、1206b、1206c、1206d、1206e、1206f 和1206h)。注意,在本文中,被强制具有例如20nm cd以15ua用于读取或30ua用于写入具有约3.3v的电压合规性的“所选择的字线”意指字线连接到所选择的存储器单元,此类单元进一步由其与约0v处的“所选择的”位线的连接确定。为了写入相反的极性,例如,将所选择字线强加
‑ꢀ
15μa。如果另一单元端子在vmid(诸如1.65v)处连接到未选择的位线,则也可以将所选择的字线连接到未选择的存储器单元。“未选择的字线”意指字线连接到仅未选择的存储器单元。换句话说,连接到未选择的字线的所有存储器单元是未选择的存储器单元,例如当未选择的wl被强制处于vmid 1.65v时;或者,例如当未选择的bl被强制处于vmid 1.65v时。注意,在本文中,“所选择位线”意指例如在读取和写入p2ap的情况下处于接近0v或者在写入ap1p的情况下处于接近vp(约3.3v)的位线连接到至少一个所选择存储器单元。“未选择的位线”意指位线连接到仅未选择的存储器单元。换句话讲,连接到未选择的位线的所有存储器单元是未选择的存储器单元。如上所述,所选择的存储器单元是选择用于访问的存储器单元。所选择的存储器单元连接在所选择的字线与所选择的位线之间。
142.在一个实施方案中,在驱动访问电流(电流力)通过所选择的字线的一部分并通过所选择的位线的一部分并进入所选择的存储器单元的同时,所选择的字线电压被钳位到电压极限(电压合规性)。换句话讲,电压可以被钳制,使得其不被允许超过特定量值。在使用电流强加读取时钳制所选择字线电压可以导致较低的位错误率,同时减小存储器单元上的应力。
143.在图12的示例中,交叉点阵列中的字线比位线多。在一个实施方案中,交叉点阵列中的位线比字线多。在一个实施方案中,交叉点阵列中的位线的数量等于字线的数量。在图12的示例中,交叉点阵列中的字线是位线的两倍;然而,可以使用不同的比率。由此,可以实现不同的图块尺寸。例如,图块可以有1024个bl乘以2048个wl,其可以通过在四个图块之间中心驱动wl和bl来构成为2048
×
4096单元的模块。
144.在混合读取方案的实施方案中,电流强加方法用于访问交叉点存储器阵列中的存储器单元。由于变化的字线电阻和/或变化的位线电阻,电流强加方法有助于自动校正ir降。阈值开关选择器可以与存储器单元串联使用。阈值开关选择器与字线和位线之间的存储器元件串联连接。因此,开关选择器上的任何电压将减小跨存储器元件上的电压。通常,开关选择器之间的偏移电压将存在一些变化。电流强加方法有助于减轻阈值开关选择器之间的偏移电压变化。
145.图13是混合电流强加读取过程1300的一个实施方案的流程图。过程 1300可用于
非易失性存储器单元,每个存储器单元具有电阻式随机存取存储器元件和与该存储器元件串联的双端子选择器元件。非易失性存储器单元可驻留在交叉点阵列中。在一个实施方案中,存储器单元为mram单元。在一个实施方案中,选择器是ots。
146.步骤1302包括使用电流强加参考读取读取一组存储器单元。在特定存储器单元的电流强加参考读取中,强制电流通过被读取的存储器单元。感测到由于强制电流通过单元而在单元两端出现的电压。将该电压与参考电压进行比较。注意,在一组存储器单元上执行步骤1302,这些存储器单元可在存储器阵列的不同图块中。总之,存储器单元可存储ecc码字。下面结合图16讨论了电流强加参考读取的一个实施方案的进一步细节。
147.步骤1304包括确定是否满足相对于电流强加参考读取的状况。在一个实施方案中,状况是从存储器单元读取的数据是否被ecc引擎成功解码。在一个实施方案中,ecc引擎驻留在与存储器单元相同的半导体裸片上,这有助于快速确定数据是否被成功解码。下面结合图14讨论了一个实施方案的进一步细节,其中状况是从存储器单元读取的数据是否被ecc引擎成功解码。在一个实施方案中,状况基于该组中有多少存储器单元具有落入不确定性区域中的电阻。下面结合图15a讨论了一个实施方案的进一步细节,其中状况基于该组中有多少存储器单元具有落入不确定性区域中的电阻。
148.如果状况不满足,则执行步骤1306。步骤1306包括基于电流强加参考读取返回数据。在一个实施方案中,如果从该组读取的数据被成功解码,则执行步骤1306。因此,步骤1306可包括返回成功解码的数据。
149.如果状况满足,则执行步骤1308。步骤1308包括使用电流强加srr 读取该组存储器单元。下面结合图17讨论了电流强加srr的一个实施方案的进一步细节。
150.步骤1310包括返回使用电流强加srr读取的数据。ecc引擎可用于解码并校正使用电流强加srr读取的数据。因此,在步骤1310中返回的数据可以是解码和校正的数据。考虑到在应用ecc引擎之前,电流强加srr 可能比电流强加参考读取更准确且无错误,ecc引擎应该能够在几乎所有情况下成功解码数据。在数据未成功解码的极少数情况下,可能会返回错误消息。
151.图14是其中使用ecc引擎的混合电流强加读取的过程1400的一个实施方案的流程图。过程1400描绘了过程1300的一个实施方案的进一步细节。步骤1402包括使用电流强加参考读取读取一组存储器单元。步骤1402 类似于步骤1302,并且将不会详细描述。步骤1404是对使用电流强加参考读取感测到的数据运行ecc算法。步骤1406确定解码是否成功。如果解码通过,则在步骤1408中返回解码的数据。如果解码失败,则在步骤1410 中使用电流强加srr读取该组存储器单元。步骤1410类似于步骤1308,并且将不会详细描述。步骤1412包括对数据运行ecc算法以解码并校正数据。步骤1414包括返回使用电流强加srr读取的数据。如上所述,可通过ecc引擎对数据进行解码和校正。
152.在步骤1404的替代形式中,在一个实施方案中,ecc引擎用于确定或估计在解码码字之前码字中的位错误的数量。在一个实施方案中,ecc引擎569计算码字的校正子,以便估计码字中的位错误的数量。在一个实施方案中,校正子基于未满足的奇偶校验方程的数量。在一个实施方案中, ecc引擎569能够对码字进行解码,只要码字中存在的位错误不超过一定数量。在步骤1406中,确定是尝试解码码字还是前进到步骤1410。该确定可基于解码码字是否可能成功。例如,如果码字中的位错误数量的估计值小于或等于可由ecc引擎569校正
的位数量,则码字被解码并校正。如果码字中的位错误数量的估计值大于可校正的位数量,则执行电流强加 srr,并然后可对所得读取数据进行解码并校正,并然后返回。
153.图15a是混合电流强加读取的过程1500的一个实施方案的流程图,其中测试了存储器单元是否处于不确定性区域。过程1500描绘了过程1300 的一个实施方案的进一步细节。步骤1502包括使用电流强加参考读取读取一组存储器单元。步骤1502类似于步骤1302,并且将不会详细描述。
154.步骤1504是确定有多少存储器单元具有在不确定性区域中的电阻。图 15b描绘了存储器单元的两个电阻分布,其中两个电阻分布之间具有不确定性区域。图15b示出了低电阻分布1540和高电阻分布1542。在一个实施方案中,分布1540对应于编程到0的存储器单元,并且分布1542对应于编程到1的存储器单元。具有低于r_分界的电阻的存储器单元被认为是存储“1”。具有高于r_分界的电阻的存储器单元被认为是存储“0”。尽管图15b示出了两个分布之间的清晰间隙,但是实际上,一些存储器单元可具有在不确定性区域中的电阻。图15c描绘了不确定性区域的概念,但水平轴是在读取单元时在存储器单元两端感测到的电压,而不是单元的电阻。因此,存在较低电压分布1550和较高电压分布1552。在电流强加读取的实施方案中,较高的感测电压对应于较高的单元电阻。在低于v_分界的电压下感测到的存储器单元被认为是存储“1”。在高于v_分界的电压下感测到的存储器单元被认为是存储“0”。电压vref_low对应于r1,并且电压vref_hi对应于r2。因此,在一个实施方案中,为了确定有多少存储器单元具有在不确定性区域中的电阻,系统确定有多少存储器单元具有在 vref_low与vref_high之间的感测到的电压。该感测到的电压可例如随着 mram的cd或沿字线或位线的位置的变化而变化。
155.图15d描绘了可用于确定存储器单元是否处于不确定区的电路系统。电路包括第一感测放大器1562和第二感测放大器1564,以及xor逻辑部件1566。第一感测放大器1562输入vref_hi,将其与vrd进行比较(从存储器单元采样的电压)。第二感测放大器1562输入vref_low,将其与vrd 进行比较。每个相应感测放大器的输出被输入到xor逻辑部件1566。如果xor逻辑部件1566的输出是真(例如,“1”),则这指示存储器单元落入不确定性区域中。
156.再次返回图15a,步骤1506包括确定存储器单元的数量是否大于允许的数量。在一个实施方案中,预先确定允许的数量。在一个实施方案中,允许的数量对应于可由ecc引擎569校正的位数量。例如,ecc引擎可以能够校正码字中的多达9位错误。如果数量小于或等于允许的数量,则执行步骤1508。步骤1508是使用ecc引擎解码数据并返回解码和校正的数据。注意,即使在不确定性区域中有一些存储器单元,也可执行步骤 1508,只要该数量在允许的数量内。这允许过程1500基于电流强加参考读取完成,而无需执行电流强加srr及其增加的等待时间。因此,节省了相当大的时间和功率。还注意,在一些速率非常高的情况下,步骤1508中的数据解码可能会失败,在这种情况下,该过程可以继续执行步骤1510。
157.如果来自步骤1504的数量超过允许的数量,则执行步骤1510。步骤 1510是使用电流强加srr读取该组存储器单元。步骤1512是从电流强加 srr返回数据(解码和校正的)。步骤1510和1512可分别类似于步骤 1308和1310。
158.图16是描绘电流强加参考读取的过程1600的一个实施方案的流程图。过程1600可用于步骤1302、1402或1502中。过程1600描述读取一个存储器单元。该过程可以对组中的不同存储器单元并行地执行。该组可以存储ecc码字。步骤1602包括将选择电压施加到所
选择的第二导电线。参考图12,将v
选择
提供给所选择的位线1208b。将未选择电压提供给未选择的位线。
159.步骤1604包括将读取电流驱动到所选择的字线以强制读取电流通过所选择的存储器单元。参考图12,i
访问
被驱动到所选择的字线1206g中。未向未选择的字线提供访问电流。访问电流可以流过所选择的字线的一部分,流过所选择的存储器单元,并且流过所选择的位线的一部分。特别地,访问电流可以流过所选择的字线的其中该字线(由当前驱动器)驱动到所选择的存储器单元的该部分。访问电流可以从所选择的存储器单元流过所选择的位线的该部分,到达该位线由电压驱动器驱动的位置。
160.步骤1606包括感测由所选择存储器单元产生的电压。在一个实施方案中,直接地或在包括驱动电路系统的全局节点上感测在所选择字线与所选择位线之间在所选择位处的电压。感测到的电压是在地与将电流驱动到阵列解码电路系统中的电流源之间的电压。
161.步骤1608包括将感测到的电压与参考电压进行比较,以确定存储器单元的状态。参考电压可以是例如图15c中描绘的v_分界。参考电压的量值与存储器单元的物理状态(例如,电阻)无关。公共参考电压可以用于阵列中的不同存储器单元。然而,在一些实施方案中,参考电压的量值可以基于诸如存储器单元在阵列中的位置等因素。因此,不要求参考电压对于阵列中的所有存储器单元具有相同的量值。
162.图17是描绘电流强加srr过程1700的一个实施方案的流程图。srr 可以被称为破坏性srr,这意味着可以在srr期间改变存储器单元的初始状态。过程1700可用于步骤1308、1410或1510中。过程1700描述读取一个存储器单元,并且可在码字组(其可驻留在不同的图块或图块组中) 中的存储器单元上并行地执行。在一个实施方案中,过程1700由存储器裸片292中的控制电路执行。在一个实施方案中,过程1700由控制裸片590 中的控制电路执行。在一个实施方案中,过程1700由主机122中的控制电路(例如,主机处理器122)执行。将参考图18a和图18b讨论过程 1700。图18a描绘了在电流强加的一个实施方案期间被驱动通过所选择字线的存取电流的电流与时间的关系。图18b描绘了在电流强加的一个实施方案期间所选择mram单元两端的电压的电压与时间的关系。
163.步骤1702包括驱动第一读取电流通过所选择的字线,同时将选择电压施加到所选择的位线,以便强制第一访问电流通过所选择的mram单元。参考图12,电流驱动器1210g驱动i
访问
通过所选择的第一导电线1206g,以使用例如15μa的电流驱动i
访问
通过存储器单元701a。参考图12,由电压驱动器1212b将v
选择_bl
施加到第二导电线1208b。在一个实施方案中,例如,i
访问
为15μa,并且v
选择_bl
为0v。在另一个实施方案中,对于具有 ra 10的20nm cd mram来说,电流为-15μa并且v
选择_bl
为3.3v,其中该mram可以具有约25k欧姆的低电阻状态和约50k欧姆的高电阻状态。
164.现在将关于一个mram单元701讨论图18a和图18b,以对步骤 1702作出进一步详细说明。参考图18a,电流在时间t1增加至i
读取
,并且保持在i
读取
直到t3。参考图18b,存储器单元701两端的电压在从t1到t2 期间增加。阈值开关选择器1204在t1与t2之间断开。在t1与t2之间,该电流使得字线电压增大。该电流还支持路径中的任何泄漏。一旦阈值开关选择器1204两端的电压达到阈值开关选择器1204的阈值电压v
th
,该阈值开关选择器就将接通并且(在t2)切换到低电阻状态。因此,当阈值开关选择器1204处于断开状态时,跨该阈值开关选择器和电阻式mram元件 1202的串联组合的电压斜升。
165.一旦阈值开关选择器1204处于接通状态(在t2处),i
读取
电流就将流过所选择存储器单元701a。当访问电流保持固定在i
读取
时,存储器单元两端的电压将下降到取决于mram元件1202的串联电阻和阈值开关选择器 1204的接通状态电阻的电平。对于其中存储器单元仅存储两种状态的二进制实施方案,存储器单元将具有高电阻ap状态(例如,50k欧姆)和低电阻p状态(例如25k欧姆)。针对高电阻状态(hrs)和低电阻状态 (lrs)的响应于i
读取
电流在串联连接的mram元件1202和阈值开关选择器1204两端的所得电压分别被示出为线1810和线1812。虽然这里的讨论是在基于mram的存储器单元与阈值开关选择器串联放置的上下文中进行的,但是该读取技术可以类似地应用于其他可编程电阻存储器单元,诸如pcm或reram设备。
166.再次返回图17,步骤1704包括感测所选择存储器单元两端的电压。步骤1704还可包括将感测到的电压存储在例如电容器上。步骤1705包括通过加上(deck1)或减去(deck2)150mv电压来调整所存储的电压。
167.步骤1706包括驱动写入电流通过所选择字线,同时向所选择位线施加选择电压,以强制写入电流通过所选择mram单元。参考图12,电流驱动器1210g驱动i
访问
通过所选择的第一导电线1206g,以强制i
访问
通过存储器单元701a。参考图12,由电压驱动器1212b将v
选择_bl
施加到第二导电线1208b。在一个实施方案中,要写入的i
访问
为30μa,并且v
选择_bl
为0 v。在另一个实施方案中,要写入的i
访问
为-30μa,并且v
选择_bl
为3.3v。
168.现在将关于一个mram单元701讨论图18a和图18b,以对步骤 1706作出进一步详细说明。参考图18a,访问电流在时间t3处增加至i
写入
,并且保持在i
写入
直到t5。参考图18b,在t3处,mram单元701两端的电压在t3处增加。如果mram单元701处于hrs(线1810),则 mram单元两端的电压将在t3处增加到由线1820指示的电平,并且保持该电平直到t5。回想一下,hrs为ap状态。因此,该mram单元将保持在ap状态。
169.如果mram单元701处于lrs(线1812),则mram单元两端的电压将在t3处增加到由线1822指示的电平。回想一下,lrs为p状态。如果 mram单元701处于p状态,则其将切换为ap状态。图18b示出线1822 在t4处增大以与线1820相遇。这表示mram单元已经从p状态(lrs) 被切换为ap状态(hrs)。
170.再次返回图17,步骤1708包括驱动第二读取电流通过所选择的字线,同时将选择电压施加到所选择的位线,以便强制第二访问电流通过所选择的mram单元。在一个实施方案中,第二访问电流具有与第一访问电流相同的方向和基本上相同的量值。参考图12,电流驱动器1210g驱动i
访问
通过所选择的第一导电线1206g,以强制i
访问
通过存储器单元701a。参考图12,由电压驱动器1212b将v
选择
施加到第二导电线1208b。在一个实施方案中,i
访问
为15μa,并且v
选择
为0v。
171.现在将关于一个mram单元701讨论图18a和图18b,以对步骤 1708作出进一步详细说明。参考图18a,访问电流在时间t5处从i
写入
减小至i
读取
,并且保持在i
读取
直到t6。参考图18b,存储器单元701两端的电压在t5处减小至由1830指示的水平,并且保持在该水平直到t6。注意,线 1830处于hrs电平。还回想到,无论mram单元的初始状态如何,在步骤1708中mram单元均被置于hrs状态(ap状态)。
172.再次返回图17,步骤1710包括感测所选择存储器单元两端的电压。步骤1710还包括将在步骤1710中感测的电压与在步骤1704中存储的电压进行比较。
173.步骤1712包括基于由于驱动第一读取电流通过所选择存储器单元所产生的所存储的电压与由于强制第二读取电流通过所选择存储器单元所产生的电压的比较来确定所选择mram单元的预读取状态。在步骤1712之后,可将来自被读取的组中的每个存储器单元的数据提供给ecc引擎,该 ecc引擎可开始解码数据。在一些实施方案中,ecc引擎569在与存储器单元相同的半导体裸片上,这通过减少数据传输时间提供了更快的解码。
174.现在将关于一个mram单元701讨论图18a和图18b,以对步骤 1712作出进一步详细说明。所选择的字线上的来自施加第一读取电流的第一电压将是t2和t3之间的电压。因此,第一电压为hrs电平1810或lrs 电平1812。注意,该第一电压可以在步骤1704中通过例如使用字线电压对感测电容器充电来存储。所选择的字线上的来自施加第二读取电流的第二电压将是t5和t6之间的电压。该第二电压通常将处于约hrs电平1810。然而,第二电压可能与hrs电平1810略有不同。因此,将第一电压与第二电压进行比较可用于确定mram单元在t2与t3之间是处于hrs电平 1810还是处于lrs电平1812。为了便于比较,可将由read1电流产生的通往ap状态的电平存储起来,并且将其正向改变hrs与lrs之间的电压差的大约一半,例如150mv。替代性地,如果read1电流为p状态,则电平可能会改变为负。这些选择可以根据mram单元取向而颠倒,这对于本领域技术人员来说将是显而易见的。
175.再次返回图17,在步骤1712a之后,确定是否需要回写(步骤 1714)。如上文所指出的,过程1700是破坏性srr,其中存储器单元的初始状态可能在步骤1706期间丢失。如果需要,回写用于恢复存储器单元的初始状态。因此,如果需要回写,则执行步骤1716。如果需要,步骤1716 包括驱动写入电流通过所选择字线,以回写存储器单元的初始状态。回想一下,步骤1706将所有mram单元置于ap状态。因此,在步骤1716 中,最初处于p状态的所有mram单元被回写为p状态。在步骤1716 中,最初处于ap状态的所有mram单元都留在ap状态。注意,如上所述,在步骤1712中,ecc引擎可开始对数据进行解码和校正。因此,在步骤1716中,在回写完成之前可对数据进行解码、校正并且将其提供给请求者。
176.在一些实施方案中,通过保存来自电流强加参考读取的值并使用该值来缩短电流强加srr,从而消除对电流强加srr中的第一次读取的需要。图19是描绘过程1900的一个实施方案的流程图,其中电流强加参考读取的值被保存并在电流强加srr中使用。步骤1902包括保存来自电流强加参考读取的值。在一个实施方案中,电压被存储到电容器上。可在图15的步骤1502期间执行步骤1902。
177.步骤1904包括将所存储的电压改变例如150mv。然而,注意可跳过电流强加srr的第一次读取。参考图17的过程1700,可跳过步骤1702和 1704。步骤1906包括将mram单元写入已知状态。参考图17的过程 1700,可执行步骤1706。步骤1908包括mram单元的电流强加读取。参考图17的过程1700,可执行步骤1708和1710。步骤1910包括基于保存电压(来自电流强加参考读取)与由于srr中的电流读取所产生的电压 (例如,来自步骤1908的采样电压)的比较来确定marm单元的预读取状态。因此,过程1900通过减轻对srr中第一次读取的需要来节省时间和 /或功率。
178.图20是用于将电流驱动到字线以便强制电流通过存储器单元的部件的框图。电流源发生器2010产生并输出电流控制信号,该电流控制信号被提供给电流源2020。在一个实施方案中,电流控制信号是高精度电压。电流源2020响应于电流控制信号而输出固定量值电流。电流源2020可用于产生读取电流或写入电流,该读取电流或写入电流可被称为访问
电流。该访问电流经由行解码和驱动电路系统2040提供给所选择字线。行解码和驱动电路系统2040输入wl地址,并且将访问电流提供给所选择字线。状态机 562可将该wl地址提供给行解码和驱动电路系统2040。在一个实施方案中,存在用于产生读取电流和写入电流的单独电流源2020,其中选择逻辑部件用于为存储器操作选择适当的电流源。在一个实施方案中,存在用于生成正写入电流的第一电流源和用于生成负写入电流的第二电流源。图20 中未描绘位线驱动器,其可将选择电压提供给所选择位线。访问电流可以流过所选择的字线的一部分,流过所选择的存储器单元,并且流过所选择的位线的一部分。在一个实施方案中,节点vx处的电压被钳制,使得其不超过一定量值。钳制节点vx处的电压将钳制字线上的电压,这减小了存储器单元(例如,mram单元)上的应力,同时通过选择钳位电压来维持低位错误率,该钳位电压足够高以不减小读取容限,但又足够低以减小一些较小的cd mram位上的应力。
179.图21是电流源发生器2010的一个实施方案的框图。电流源发生器 2010(在晶体管2120与2130之间)输出电压read_1g(其被提供给电流源2020)。在一些实施方案中,可以将read_1g提供给若干类型的电流源,诸如读取电流源、正电流写入源和负电流写入源。
180.晶体管2130和2122的栅极分别由电阻器2112和2114提供电压。这些电阻器电压由左侧电路系统产生,该左侧电路系统包括电流源2102、晶体管2104、晶体管2106、晶体管2108和晶体管2110,以及电容器2116和 2118。电流源2102可以是约5微安。右侧电路系统包括晶体管2120、 2130、2122、2124、2126和2128。在一些实施方案中,左侧电路用于整个库,其中右侧电路的单独版本用于每个图块。电流源2102(例如5μa)可在分布到图块的晶体管2104的漏极上产生约2vt的地上电压。进入晶体管 2110的栅极的v_pa可以是高的(例如,v_p)以激活电路,或者可以在晶体管2110的栅极接地的情况下断开电路,因此当电路未使用时消除电流。晶体管2104的栅极可分布到图块并且仅驱动晶体管栅极而不驱动源极或漏极,以消除到图块的压降,并且使图块中的所得电流对于每个图块相对相同。继而,在约1.5v和0v下的两个分布式电压在每个图块中连接到右侧的发生器。也就是说,晶体管2130的栅极将为约1.5v,并且晶体管 2122的栅极将为约0v。继而,可以通过在v_p处高的step1t、read1t或 read1t_nx来打开那些镜电路。结果是,电流源2102的电流被驱动到晶体管2120漏极中,并且如果v_p为3.3v,则晶体管2120的栅极将处于v_p
ꢀ‑
vt或约2.5v。
181.混合电流强加读取方案的挑战之一是存储器设备与数据的请求者(诸如存储器控制器)之间的接口时序。例如,因为电流强加srr可能需要比电流强加参考读取更长的时间,因此从存储器控制器的角度来看,数据可能会在存储器控制器发出读取请求之后的不确定时间内返回。在一个实施方案中,在存储器控制器发出读取请求之后的确定性时间将数据返回到存储器控制器,而不管电流强加参考读取还是电流强加srr用于读取数据。此外,存储器协议诸如ddr协议具有非常严格的时序。因此,使mram 的混合电流强加读取方案在ddr协议内操作是一种挑战,并且在减少等待时间方面效率较低。
182.图22是当使用混合电流强加读取方案时确定返回时间的过程2200的实施方案的流程图。过程2200涉及存储器控制器与存储器设备之间的通信接口。在一个实施方案中,通信接口是ddr接口。步骤2202包括存储器控制器向存储器设备发出读取请求。在一个实施方案中,存储器控制器102 向本地存储器106发出读取请求。在一个实施方案中,存储器控制器102 向存储器封装件104发出读取请求。在一个实施方案中,主机处理器122 向主机存储
器124发出读取请求。
183.步骤2204包括存储器设备执行电流强加参考读取(cfrr)。在一个实施方案中,执行过程1600。步骤2206包括确定cfrr是否成功。在一个实施方案中,在步骤2206中对数据执行ecc算法。在一个实施方案中,如果成功解码并校正数据,则cfrr是成功的。如果cfrr是成功的,则在步骤2208中,存储器设备将校正的数据返回到存储器控制器。在步骤 2210中,存储器设备向存储器控制器指示不需要重试读取命令。
184.如果cfrr不是成功的,则在步骤2212中,存储器设备向存储器控制器指示需要读取重试。在一个实施方案中,存储器设备发送具有0或1的值的信号。可在存储器设备与存储器控制器之间的通信线上发送信号。在一个实施方案中,将新的通信线(或引脚)添加到接口(例如,ddr接口)。然而,不需要添加新线,因为现有线可用于重试信号。结合图23和图24讨论了进一步细节。在一个实施方案中,存储器设备发送与循环冗余校验(crc)应该发送的相反的crc来发信号通知重试。结合图25讨论了进一步细节。
185.在步骤2214中,存储器设备执行电流强加srr以读取来自该组存储器单元的数据。在一个实施方案中,执行过程1700。在一个实施方案中,由于在步骤2204中执行的读取,可跳过过程1700的一些步骤(例如,步骤1702、1704、1706)。换句话讲,可保存来自步骤2204的读取的电压,如过程1900中所述。
186.在步骤2216中,存储器控制器在从接收到需要读取重试的指示等待预先确定的时间量之后重新发出读取请求。预先确定的时间量基于存储器设备执行电流强加srr的时间。在一个实施方案中,存储器设备通知存储器控制器预先确定的时间量应该是多长。这可执行一次,因为预先确定的量可以是固定的。
187.在步骤2218中,存储器设备将数据返回到存储器控制器。也就是说,存储器设备对来自电流强加srr的数据进行解码,并将解码的数据返回到存储器控制器。
188.在步骤2220中,存储器设备向存储器控制器指示不需要读取重试。
189.图23和图24描绘了混合电流强加读取的实施方案的接口时序图。图 23描绘了其中仅需要电流强加参考读取的情况。图24描绘了其中存储器设备执行电流强加参考和电流强加srr两者的情况。在图23中,数据在第一次读取请求之后可用,而在图24中,数据仅在发出第二次读取请求之后可用。然而,在每种情况下,数据在存储器设备成功响应读取请求的时间的 trl内返回到存储器控制器。因此,返回数据的时间是确定的。各种命令 (激活、读取、pre)可以是ddr命令。同样,各种时序(trcd、 trtp、trp、trl)可以是ddr时序。各种时序(trcd、trtp、trp、 trl)的实际值将取决于使用中的协议。图23和图24提供了过程2200的一个实施方案的进一步细节。
190.现在参考图23,存储器控制器向存储器设备发出激活命令。如上所述,这可以是ddr激活命令。接下来,存储器控制器向存储器设备发出读取命令。这可以是ddr读取命令。时序trcd(行列等待时间)是指行地址到列地址的等待时间。在读取命令之后,存储器控制器向存储器设备发出pre命令。pre命令是指“预充电命令”,其可用于ram诸如ddr。时序trtp是指读取命令与pre命令之间的等待时间。时序trl是指读取命令等待时间(或数据输出等待时间),其广泛用于ram诸如ddr。换句话讲,trl是从读取命令直到存储器设备提供数据的时间。显著地,在图 23中,存储器设备从接收到读取命令的时间起的trl内向存储器控制器提供数据。另外,存储器设备向存储器控制器指示不需要通过在重试线上发送值(例如,0)
来重试读取命令。重试线可以是存储器设备与当前未使用的存储器控制器之间的任何通信线。在图22的步骤2210的一个实施方案中使用重试信号。在一个替代实施方案中,重试以附加到数据的crc编码。
191.现在参考图24,存储器控制器以与结合图23所讨论的类似的方式发出激活命令和读取命令。然而,在该示例中,存储器设备不会返回有效数据。这对应于当电流强加参考读取失败时的情况。存储器设备在重试线上发送“1”,以向存储器控制器指示应该重试读取命令。第一读取命令之后的pre以虚线框表示以指示pre命令不需要由存储器控制器发出。存储器控制器在接收到重试信号之后等待预先确定的时间(tdelay)以重新发出读取命令。注意,不需要重新发出激活命令。
192.然而,注意,存储器设备可在一旦确定电流强加参考读取不成功就开始电流强加srr。因此,存储器设备不需要等待存储器控制器重新发出读取命令。显著地,存储器设备从存储器控制器重新发出读取命令的时间起的trl内将数据返回到存储器控制器。因此,对于图23中的读取命令和图 24中的重新发出的读取命令两者,存储器设备在trl内返回数据。因此,返回有效数据的时间是确定的,这显著简化了存储器控制器的逻辑。因此,mram的混合电流强加读取的实施方案可以与ddr控制器集成。换句话讲,mram的混合电流强加读取的实施方案可以与ddr协议集成。最后注意,在重新发出的读取命令之后,存储器控制器可以与图23的示例类似的方式进行下一个读取命令。
193.图25是传达应在混合电流强加读取方案中执行读取的重试的过程 2500的一个实施方案的流程图。该过程是发送重试信号(例如,1或0)的替代方式,如图23和图24中所描绘。响应于存储器控制器确定电流强加参考读取已经失败而启动过程2500。步骤2502包括存储器设备计算用于数据模式的循环冗余校验(crc)。这可以是任何数据模式。步骤2504包括存储器控制器反转crc。反转crc意味着将每个1改变为0,并且将每个 0改变为1。步骤2506包括存储器设备将数据模式和反相crc发送到存储器控制器。在一个实施方案中,在第一次读取之后通过使存储器设备在dq 线上发送数据模式并且发送反相crc而不是1的重试信号来修改图24的时序图。
194.步骤2508包括存储器控制器计算所接收的数据模式的crc。步骤 2510包括存储器控制器将其计算的crc与从存储器设备接收的crc进行比较。存储器控制器将确定其计算的crc是从其接收的crc反转的。因此,步骤2512包括存储器控制器确定其应该重新发出读取命令。
195.图26a是描绘具有可编程ecc引擎的存储器裸片292的一个实施方案的部件的图。存储器裸片292具有存储器阵列502和可编程ecc引擎 569。可编程ecc引擎569具有存储数据的数据寄存器2602和存储码字的码字寄存器2604。在一个实施方案中,码字包括数据和奇偶校验(或 ecc)位。来自主机的数据被接收在主机总线2610上并且暂时存储在数据寄存器2602中。数据由ecc引擎569编码到临时存储在码字寄存器2604 中的码字中。码字(或ecc码字)通过存储器总线2612从码字寄存器 2604传送并编程到存储器阵列502中。当读取存储器阵列502时,从存储器阵列502读取的码字通过存储器总线2612传送并暂时存储在码字寄存器 2604中。从存储器阵列502读取的数据由ecc引擎569解码成临时存储在数据寄存器2602中的校正的数据。通过主机总线2610向主机提供校正的数据。在一个实施方案中,数据寄存器2602能够存储256位,并且码字寄存器2604能够存储256位加上多个检查(或奇偶校
验)位。主机总线2610 可以具有例如8位、16位或32位的宽度。存储器总线2612可以例如具有等于或大于码字中的位数量的宽度。在一个实施方案中,主机总线2610是 ddr总线。
196.ecc引擎569输出有效/错误信号,其指示ecc引擎确定解码是成功 (有效)还是失败(错误)。根据ecc模式,ecc引擎569将能够在码字中校正多达一些有限数量的错误。如果码字中存在太多错误,则ecc解码器569将无法移除所有错误。此外,ecc解码器将确定解码不成功并将其报告为不可校正的错误。在一些情况下,当事实解码不成功时,ecc解码器569可报告解码成功(有效),这在本文中被称为误校正(或不可检测的错误)。
197.可编程ecc引擎569具有两个或更多个解码模式。可编程ecc引擎 569具有允许选择ecc模式的输入。不同的ecc模式具有不同的不可校正的位错误率。在一个实施方案中,可通过例如选择码字中的可校正的位数量来选择ecc模式。因此,从不同的ecc模式中选择允许选择校正功率。例如,输入可允许在校正码字中的两位至九位错误之间的任何地方进行选择。然而,校正功率与不可检测的位错误率之间可能存在权衡。也就是说,具有更多校正功率的解码模式可具有更高的误校正概率。例如,第一模式可校正码字中的多达六位错误,在给定原始位错误率(rber)下具有第一误校正概率。第二ecc模式可校正码字中的多达九位错误,在给定 rber下具有第二误校正概率,其中第二误校正概率大于第一概率。然而,当使用该第二ecc模式时,该rber可能较低。例如,当使用该第一 ecc模式时,该rber可以是约10^-3,并且当使用该第二ecc模式时,该rber可以是约10^-4。当使用该第二ecc模式时,该较低的rber可在使用该第一ecc模式和该第二ecc模式两者时产生大致相同的误校正率。在一个实施方案中,解码模式的选择基于目标原始位错误以及可容忍的已知ecc失败与未检测到的ecc失败之间的权衡。在一个实施方案中,纠错模式两者使用bose-chaudhuri-hocquenghem(bch)解码过程。
198.图26b是描绘具有可编程ecc引擎的集成存储器组件570的一个实施方案的部件的图。集成存储器组件570具有存储器结构裸片580和控制裸片590。控制裸片590具有可编程ecc引擎569。可编程ecc引擎569可以与图26a中的存储器裸片292上的可编程ecc引擎569相同的方式操作。不同之处在于,码字通过信号路径594在ecc引擎569与存储器阵列 502之间传送,这在上面已经讨论过。
199.图27是使用可编程ecc引擎读取存储在可逆电阻率存储器单元中的数据的过程2700的一个实施方案的流程图。在一个实施方案中,存储器单元为mram单元。在一个实施方案中,每个存储器单元具有与可逆电阻率存储器元件串联的双端子选择器元件。在一个实施方案中,每个存储器单元具有与mram存储器元件串联的双端子选择器元件。在一个实施方案中,存储器单元(例如,mram单元)处于交叉点存储器阵列中,该交叉点存储器阵列具有第一导电线和第二导电线,其中每个相应非易失性存储器单元连接在第一导电线中的一者与第二导电线中的一者之间。在一个实施方案中,过程2700由与存储器单元相同的裸片上的ecc引擎执行,如图26a所示。在一个实施方案中,过程2700由控制裸片上的ecc引擎执行,该控制裸片接合到具有存储器单元的裸片,如图26b所示。
200.步骤2702包括使用参考读取从一组存储器单元读取码字。在一个实施方案中,使用电流强加参考读取。总之,存储器单元存储ecc码字。在一个实施方案中,ecc码字从存储器阵列502传送到码字寄存器2604。在一个实施方案中,该ecc码字存在第一rber。例如,第一rber可以是约 10^-3。
201.步骤2704包括对使用参考读取感测到的码字运行ecc解码器529。 ecc解码器529使用具有第一校正率的第一ecc模式运行,第一校正率能够校正码字中的第一数量的位错误。例如,第一ecc模式可以能够校正码字中的多达六位错误。在一个实施方案中,裸片292上的系统控制逻辑部件560选择校正率。在一个实施方案中,系统控制逻辑部件560向ecc解码器529发送控制信号以选择校正率。考虑到特定原始位错误率 (rber),第一ecc模式具有第一概率用户位错误率(puber)。 puber是指不可校正的错误的概率,并且也可被称为不可校正的位错误率。注意,puber对应于其中ecc解码器529报告解码失败的情况。例如,在3*10^-3的rber处,第一ecc模式的puber可以是约10^-6.6。考虑到特定原始位错误率(rber),第一模式具有不可检测的错误的第一概率(puer)。例如,在3*10^-3的rber处,第一ecc模式的puer可以是约10^-22.4。注意,puer对应于其中ecc解码器529报告解码通过的情况,即使在ecc解码529输出的数据中存在一个或多个位错误。
202.步骤2706确定解码是否通过。由可编程ecc引擎569做出该确定。 ecc引擎569有可能报告解码通过,即使数据中存在一个或多个位错误,这在本文中被称为误校正或不可检测的错误。如果解码通过(如由ecc引擎报告),则在步骤2708中将解码的数据提供给主机。步骤2708中的解码的数据是指ecc引擎569在ecc引擎569报告解码通过(或报告为有效)时输出的数据。如上所述,在存在误校正(或不可检测的错误)的情况下,由ecc引擎569输出的数据将具有一个或多个位错误。在一个实施方案中,通过ddr总线向主机提供数据。
203.如果解码失败(如由ecc引擎报告),则在步骤1710中使用srr读取该组存储器单元。在一个实施方案中,srr是电流强加srr。在一个实施方案中,步骤2710类似于步骤1308。在一个实施方案中,过程1700用于srr。在一个实施方案中,该ecc码字存在第二rber。例如,第二rber可以是约10^-4。注意,步骤2710中的srr的实施方案比步骤2704 中参考读取的实施方案更准确,这导致较低的rber。
204.步骤2712包括对码字运行ecc解码器569以解码并校正使用srr读取的数据。ecc解码器使用具有第二校正率的第二ecc模式运行,第二校正率能够校正码字中的第二数量的位错误。第二校正率能够校正比步骤 2704中使用的第一校正率更大的位数量。例如,第一校正率可能校正码字中的多达六位错误,而第二校正率可能校正码字中的多达九位错误。考虑到特定原始位错误率(rber),第二ecc模式具有不可校正的错误的第二概率(puber)。第二puber低于第一ecc模式的第一puber(即,第二ecc模式具有比第一ecc模式更多的校正功率)。例如,在3*10^-3 的rber处,对于第二ecc模式,puber可以是约10^-9.5(与第一ecc 模式的约10^-6.6相比)。然而注意,步骤2712中的rber可比步骤2704 中的rber更好,这将导致甚至更好地puber的改善。考虑到步骤2704 中提到的相同原始位错误率,第二ecc模式具有不可检测的错误的第二概率(puer)。对于第一ecc模式,不可检测的错误的第二概率大于第一概率-假设相同的rber。例如,在3*10^-3的rber处,对于第二ecc模式,puer可以是约10^-14.3(与第一ecc模式的约10^-22.4相比)。然而,当使用第二ecc模式时rber可比当使用第一ecc模式时低。例如,当使用第一ecc模式时,rber可以是约10^-3(步骤2704),但是当使用第二ecc模式时,rber可以是约10^-4(步骤2712)。第二ecc 模式的这个较低rber可抵消第二ecc模式的更高概率的puer(假设相同的rber)。因此,对于步骤2704和2712,puer可以是大致相同的。
205.因此,使用自参考读取读取的数据具有比使用参考读取读取的数据更低的rber。
此外,rber的减少减少了第二ecc模式中的错误误校正率。在一个实施方案中,在步骤2712中使用第二ecc模式时的puer与在步骤2704中使用第一ecc模式时的puer基本相同。在一个实施方案中,在步骤2712中使用第二ecc模式时的puer低于在步骤2704中使用第一ecc模式时的puer。然而,在步骤2712中使用第二ecc模式时的 puer等于或低于在步骤2704中使用第一ecc模式时的puer不是绝对要求。如下面结合图29和图30更全面地讨论,对于第二ecc模式,步骤2710中的srr的实施方案中的较低rber(相对于步骤2702中的参考读取)可基本上减轻较高puer(假设与第一ecc模式相同的rber)。
206.在一个实施方案中,对基于图17的srr的步骤1712生成的数据运行 ecc解码器。也就是说,在一个实施方案中,ecc解码器在srr的第二次读取和与第一次读取的所存储的值的比较之后的数据上运行(参见图17的步骤1710和1712)。可选地,可对来自srr的第一次读取的数据以第二 ecc模式运行ecc解码器(参见图17的步骤1702-1705)。
207.步骤2714是对步骤2712的解码是否通过的确定。与步骤2706一样,该确定基于ecc引擎569是否报告解码通过。注意,误校正的概率小,这意味着即使解码通过,数据中仍然存在错误,如果解码通过,则在步骤 2716中将解码的(并且在大多数情况下完全错误校正的)数据提供给主机。在一个实施方案中,通过ddr总线向主机提供数据。在步骤2712的解码失败(如由ecc解码器确定的)的情况下,在步骤2718中可将错误消息返回到主机。
208.图28是展示可编程ecc解码器529的一个实施方案的进一步细节的框级别图。图28中描绘的ecc解码器529使用bose-chaudhuri
‑ꢀ
hocquenghem(bch)解码过程。ecc解码器529输入码字(其包括数据和ecc位)。码字被输入到输入触发器2802中。输入触发器2802向校正子发生器2804、校正子验证器2810和xor 2812提供码字。ecc解码器 529还输入指示可校正的位数量的模式选择信号。将模式选择信号提供给错误定位多项式(elp)发生器2806。ecc解码器529从输出触发器2814输出校正的数据。ecc解码器529还输出“有效/错误”信号,该信号指示来自输出触发器2814的数据输出是否有效,或者码字是否不可校正。ecc解码器529还输出可包含多达9位错误位置的错误模式。在一个实施方案中,ecc解码器529输出错误计数,该错误计数指示来自输出触发器2814 的数据输出中的位错误的数量。
209.校正子发生器2804能够计算输入码字的校正子。校正子生成的技术是本领域普通技术人员已知的。在一个实施方案中,校正子发生器2804生成多个校正子,该多个校正子被并行传递给elp发生器2806。此外,在一个实施方案中,不存在时钟来控制校正子何时被传递给elp发生器2806。该并行和异步操作实现了快速解码。在一个实施方案中,存在用于控制每个校正子何时被传递给elp发生器2806的时钟。
210.elp发生器2806计算来自校正子的一个或多个错误定位多项式。错误定位多项式具有关于错误位置的信息。可由elp发生器2806执行的示例算法包括但不限于peterson-gorenstein-zieler算法、euclid's算法、berlekamp
‑ꢀ
massey算法和无反演berlekamp-massey algorithm算法(ibma)。在一个实施方案中,elp发生器2806能够生成多个错误定位多项式,每个具有不同的次数。更特别地,elp发生器2806能够生成用于此类错误定位多项式的系数。在一个实施方案中,elp发生器2806能够生成具有两次至九次的错误定位多项式的系数。由elp发生器2806输出的错误定位多项式的次数是可选择的。例如,elp发生器2806可输出六次、九次等的错误定位多项式。表i示出了elp发生器的示例输出的格式。表i示出了elp发生器 2806可向根搜索2808提供不同系数集的格式。非零条目是由elp发生器 2806
生成的系数。在一个实施方案中,每个系数是九位串。
211.表i
[0212][0213]
表i中的示例可用于校正码字中的两位至九位。因此,表i对应于其中存在八个ecc模式的示例。例如,elp6用于校正码字中的多达六位错误,而elp9用于校正码字中的多达九位错误。表i中的每个系数集的总共存在十个值,这是基于elp9的最大情况。也就是说,elp9具有十个非零系数。在与表i中的示例一致的实施方案中,根搜索2808具有十个输入,使得每个输入接收表i中的十个值中的一者。elp发生器2806具有接收用于可校正位数量的值(即,模式选择信号)的输入。例如,值可以是四位码,以指示elp2至elp9中的一者。状态机562可向elp发生器2806提供四位码。
[0214]
如上所述,在一个实施方案中,elp发生器2806异步操作。也就是说,elp发生器2806不具有时钟输入。相反,在异步实施方案中,elp发生器2806接收并处理并行的所有校正子,这提供了快速操作。在异步实施方案中,elp发生器2806应用递归以生成错误定位多项式的系数。在同步实施方案中,elp发生器2806具有时钟输入并且同步操作。例如,在同步实施方案中,校正子可一次一个地被传递到elp发生器2806中。
[0215]
根搜索2808能够定位错误定位多项式中的根,其系数从elp发生器 2806接收。在一个实施方案中,根搜索2808使用chien搜索算法,但其他技术可用于在错误定位多项式中定位根。由于表i中的零位置,无论错误定位多项式的次数如何,都可使用相同的硬件。
[0216]
校正子验证器2810在由根搜索2808发现错误定位多项式的根之后重新计算校正子。校正子验证器2810输出信号“有效/错误”以指示校正子是否正确。
[0217]
因此,对应于elp2至elp9的ecc模式提供逐渐更高的纠错能力。然而,从elp2到elp9,误校正率可能会增加。例如,elp6将校正码字中的多达六位错误,而elp9将校正码字中的多达九位错误。然而,对于特定 rber,elp9可能比elp6具有更高的误校正概率。误校正意味着校正子验证器2810将输出结果是有效的,即使在“校正的数据”中仍然存在一个或多个错误。然而,如上所述,当使用误校正概率较高的ecc模式时, rber可能较低。这种较低的rber可能导致误校正的概率对于两种ecc 模式是相同的。
[0218]
在一个实施方案中,可编程ecc解码器529在硬件中完全实施。在一个实施方案中,校正子发生器2804、elp发生器2806、根搜索2808和校正子验证器2810各自用逻辑门(诸如and、nand、or、nor、xor 等)来实施。因此,校正子发生器2804、elp发生器2806、根搜索2808 和校正子验证器2810中的每一者都可实施为组合逻辑电路。在一个实施方案中,可编程ecc解码器529异步操作(即,没有时钟)。因此,校正子发生器2804、elp 2806、根搜索2808和校正子验证器281中的每一者可异步操作。在另一个实施方案中,可编程ecc解码器529同步操作(即,具有时钟)。
[0219]
图29是描绘概率用户位错误率(puber)与原始位错误率(rber) 的示例的曲线图。puber也可被称为不可校正的位错误率。不可校正的位错误率是指在解码之后保留的错误。x轴表示原始位错误,标记为-log10 (rber)。y轴表示不可校正的位错误率的概率,标记为-log10 (puber)。曲线2910和2920用于具有不同数量的可校正的位的两种模式。曲线2910用于ecc模式,该ecc模式能够比用于曲线2920的ecc 模式校正更多的位。例如,曲线2910可用于ecc模式,其中ecc引擎能够校正码字中的多达九位(t=9)错误,而曲线2920可用于ecc模式,其中ecc引擎能够校正码字中的多达六位(t=6)错误。这些曲线指示,给定相同原始位错误率(rber),具有较大校正能力的ecc模式具有较低的解码失败概率(或puber)。
[0220]
图30是描绘概率不可检测错误(puer)与错误计数的示例的图。如上所述,puer可被称为不可检测的错误率。x轴用于错误计数。y轴表示概率不可检测的错误,标记为-log10(puer)。两个曲线3101、3020用于不同的rber。曲线3010用于10^-4的rber。曲线3020用于10^-3的 rber。在一个实施方案中,srr(例如,过程2700中的步骤2710)的 rber将比参考读取(例如,过程2700中的步骤2702)低。例如,对于参考读取,rber可以是约10^3,但对于srr,rber降低到约10^4。曲线 3010、3020指示随着错误计数增加不可检测的错误的概率增加。此外,曲线3010与曲线3020的比较指示错误误校正率(puer)将响应于码字中的较低原始位错误率而下降。
[0221]
因此,假设相同的rber,能够校正更多错误的ecc引擎的模式可具有更高的不可检测的错误的概率(或误校正)。然而,执行srr时的 rber可能比执行参考读取时的rber低。在实践中,较低的rber可抵消在相同rber下不可检测的错误的较高概率。虚线3030对应于曲线3010 的错误计数9,这可对应于在具有多达9位校正(和10^-4的rber)的 ecc模式下运行可编程ecc引擎。在一个实施方案中,在图17中的步骤 2712中使用该9位可校正的模式。虚线3040对应于曲线3020的错误计数 6,这可对应于在具有多达6位校正(和10^-3的rber)的ecc模式下运行可编程ecc引擎。在一个实施方案中,在图27中的步骤2704中使用该 6位可校正的模式。注意,用于参考读取和srr的ecc模式中的puer可以是大致相同的。例如,两种ecc模式中的puer(例如,在图27中的步骤2704和2712中)都可以是约10^-29。根据应用每个ecc模式的因素,诸如rber,用于第二ecc模式的puer可能比用于第一ecc模式的 puer好(即,更低);用于第二ecc模式的puer可能与用于第一ecc 模式的puer基本相同;或者用于第二ecc模式的puer可能比用于第一 ecc模式的puer略差(即,更高)。然而,当使用第二ecc模式的实施方案时显著更好(更低)的rber导致用于第二ecc模式的实施方案的 puer显著减少。例如,对于错误计数为9的曲线3010和3020的puer的比较表明,在这两种情况之间存在约10个数量级(10^-19对10^-29)。
[0222]
因此,相对于较低校正能力第一ecc模式,使用对自参考读取具有较高校正能力的第二ecc模式导致不可校正的错误的概率较低。例如,与使用可校正多达六位的ecc模式相比,使用可校正自参考读取的九位的ecc 模式导致不可校正的错误的概率较低。此外,即使对于相同rber,第二 ecc模式可能具有比第一ecc模式更高的puer,但使用第二ecc模式时存在的rber可能低于使用第一ecc模式时的rber。因此,考虑到较低的rber,第二ecc模式可能具有与第一ecc模式大致相同的puer(或者甚至比第一ecc模式更好的puer)。
[0223]
鉴于前述内容,可以看出,根据第一方面,一种装置包括:存储器阵列,该存储器阵列包括多个可逆电阻率存储器单元,和控制电路,该控制电路与该存储器阵列通信。该控制
电路被配置为使用参考读取读取一组所选择存储器单元;该控制电路被配置为使用利用第一纠错码(ecc)模式的参考读取对从该组读取的数据进行解码,第一ecc模式能够校正该组中的多达第一数量的位;该控制电路被配置为响应于使用第一ecc模式对该组中的数据的失败解码而使用自参考读取读取该组所选择存储器单元。该控制电路被配置为使用利用第二ecc模式的自参考读取对从该组读取的数据进行解码,第二ecc模式能够校正该组中的多达第二数量的位,其中第二数量的位大于第一数量的位。
[0224]
在第二方面,对于第一方面的进一步方面,第一ecc模式具有对于给定原始位错误率的第一错误误校正率,并且第二ecc模式具有对于给定原始位错误率大于第一错误误校正率的第二错误误校正率。使用自参考读取读取的数据具有的原始位错误率比使用参考读取读取的数据低。原始位错误率的减少减少了第二ecc模式中错误误校正率。
[0225]
在第三方面,对于第一方面或第二方面的进一步方面,该控制电路包括可编程ecc引擎。该可编程ecc引擎被配置为当执行第一ecc模式时计算具有n次数的错误定位多项式的系数,其中n是整数。该可编程ecc 引擎被配置为当执行第二ecc模式时计算具有m次数的错误定位多项式的系数,其中m是大于n的整数。
[0226]
在第四方面,对于第三方面的进一步方面,该可编程ecc引擎驻留在与存储器阵列相同的半导体裸片上。
[0227]
在第五方面,对于第三方面的进一步方面,该可编程ecc引擎驻留在控制半导体裸片上。该存储器阵列驻留在与该控制半导体裸片接合的存储器结构裸片上。
[0228]
在第六方面,对于第一方面至第五方面中的任一项的进一步方面,该控制电路包括可编程ecc引擎,该可编程ecc引擎被配置为为从存储器单元读取的数据形成的码字生成校正子。并且可编程ecc引擎被配置为基于校正子的并行处理来计算错误定位多项式的系数。
[0229]
在第七方面,对于第三方面至第六方面中的任一项的进一步方面,该可编程ecc引擎被配置为异步操作以计算系数。
[0230]
在第八方面,对于第一方面至第七方面中的任一项的进一步方面,每个可逆电阻率存储器单元包括磁阻随机存取存储器(mram)元件。
[0231]
在第九方面,对于第一方面至第八方面中的任一项的进一步方面,每个可逆电阻率存储器单元包括与可逆电阻率存储器元件串联的双端子选择器元件。
[0232]
在第十方面,对于第九方面的进一步方面,该双端子选择器元件包括双向阈值开关(ots)。
[0233]
在第十一方面,对于第一方面至第九方面中的任一项的进一步方面,该存储器阵列包括多个第一导电线和多个第二导电线。该多个存储器单元中的每一者连接在第一导电线中的一者与第二导电线中的一者之间。
[0234]
一个实施方案包括读取存储器单元的方法。该方法包括使用电流强加参考读取从半导体裸片上的交叉点存储器阵列中的一组磁阻随机存取存储器(mram)单元读取码字。该方法包括将利用电流强加参考读取读取的码字输入到驻留在半导体裸片上的纠错码(ecc)引擎。该方法包括响应于该ecc引擎报告对使用电流强加参考读取读取的码字的成功解码而将来自ecc引擎的解码的数据提供给主机。该方法包括响应于该ecc引擎报告对使用电流强加参考读取读取的码字的失解码败而使用电流强加自参考读取从交叉点存储器阵列中
的该组mram单元读取码字。该方法包括将利用电流强加自参考读取读取的码字输入到ecc引擎中。该方法包括响应于该 ecc引擎报告对使用电流强加自参考读取读取的码字的成功解码而将来自 ecc引擎的解码的数据提供给主机。
[0235]
一个实施方案包括存储器系统,该存储器系统包括交叉点存储器阵列、可编程纠错码(ecc)引擎和控制电路。该交叉点存储器阵列包括多个第一导电线、多个第二导电线和多个非易失性存储器单元。每个相应的存储器单元连接在第一导电线中的一条导电线与第二导电线中的一条导电线之间。每个存储器单元均包括磁阻随机存取存储器(mram)元件和与该mram元件串联连接的阈值开关选择器。该可编程ecc引擎被配置为在校正码字中的多达可选择数量的位时对码字进行解码。该控制电路使用参考读取从一组存储器单元读取码字。该控制电路指示该可编程ecc引擎在校正码字中的多达“n”位时对利用参考读取读取的码字进行解码。该控制电路响应于使用参考读取通过对从该组读取的码字进行解码而返回解码的数据。该控制电路响应于ecc引擎未能对使用参考读取从该组存储器单元读取的码字进行解码而使用自参考读取从该组读取码字。该控制电路指示该可编程ecc引擎在校正码字中的多达“m”位时对利用自参考读取读取的码字进行解码,其中m大于“n”。该控制电路响应于使用自参考读取通过对从该组读取的码字进行解码而返回解码的数据。
[0236]
出于本文件的目的,说明书中提到“实施方案”、“一个实施方案”、“一些实施方案”或“另一个实施方案”可用于描述不同的实施方案或相同的实施方案。
[0237]
出于本文件的目的,连接可为直接连接或间接连接(例如,经由一个或多个其它部件)。在一些情况下,当元件被提及连接或耦接到另一个元件时,该元件可直接连接至另一个元件,或者经由居间元件间接连接至另一个元件。当元件被提及直接连接至另一个元件时,则在该元件与另一个元件之间没有居间元件。如果两个设备是直接连接或间接连接的,则两个设备是“通信”的,使得它们能够在它们之间进行电子信号通信。
[0238]
出于本文档的目的,术语“基于”可理解为“至少部分地基于”。
[0239]
出于本文档的目的,在没有附加上下文的情况下,诸如“第一”对象、“第二”对象和“第三”对象的数字术语的使用可能不意味着对象的排序,而是可用于识别目的以识别不同的对象。
[0240]
出于说明和描述的目的,已提供了上述详细描述。其并非旨在详尽的或旨在限制本发明所公开的精确形式。根据以上教导内容,很多修改和变型都是可能的。选择所述实施方案以便最好地解释所建议的技术的原理及其实际应用,从而使本领域的其他技术人员能够在各种实施方案中和适合于设想的具体使用的各种修改中最好地利用它。本发明的范围旨在由所附权利要求书限定。

技术特征:


1.一种装置,包括:存储器阵列,所述存储器阵列包括多个可逆电阻率存储器单元;和控制电路,所述控制电路与所述存储器阵列通信,所述控制电路被配置为:使用参考读取读取一组所选择存储器单元;使用利用第一纠错码(ecc)模式的所述参考读取对从所述组读取的数据进行解码,所述第一ecc模式能够校正所述组中的多达第一数量的位;响应于使用所述第一ecc模式解码所述组中的所述数据失败而使用自参考读取读取所述一组所选择存储器单元;以及使用利用第二ecc模式的所述自参考读取对从所述组读取的数据进行解码,所述第二ecc模式能够校正所述组中的多达第二数量的位,其中所述第二数量的位大于所述第一数量的位。2.根据权利要求1所述的装置,其中:所述第一ecc模式具有对于给定原始位错误率的第一错误误校正率;并且所述第二ecc模式具有对于所述给定原始位错误率大于所述第一错误误校正率的第二错误误校正率,其中使用所述自参考读取读取的数据具有的原始位错误率比使用所述参考读取读取的数据低,其中原始位错误率的减少减少了所述第二ecc模式中的错误误校正率。3.根据权利要求1所述的装置,其中所述控制电路包括可编程ecc引擎,所述可编程ecc引擎被配置为:当执行所述第一ecc模式时计算具有n次数的错误定位多项式的系数,其中n是整数;以及当执行所述第二ecc模式时计算具有m次数的错误定位多项式的系数,其中m是大于n的整数。4.根据权利要求3所述的装置,其中所述可编程ecc引擎驻留在与所述存储器阵列相同的半导体裸片上。5.根据权利要求3所述的装置,其中:所述可编程ecc引擎驻留在控制半导体裸片上;并且所述存储器阵列驻留在与所述控制半导体裸片接合的存储器结构裸片上。6.根据权利要求1所述的装置,其中所述控制电路包括可编程ecc引擎,所述可编程ecc引擎被配置为:为从所述存储器单元读取的数据形成的码字生成校正子;以及基于所述校正子的并行处理来计算错误定位多项式的系数。7.根据权利要求6所述的装置,其中所述可编程ecc引擎被配置为异步操作以计算所述系数。8.根据权利要求1所述的装置,其中每个可逆电阻率存储器单元包括磁阻式随机存取存储器(mram)元件。9.根据权利要求1所述的装置,其中每个可逆电阻率存储器单元包括与可逆电阻率存储器元件串联的双端子选择器元件。10.根据权利要求9所述的装置,其中所述双端子选择器元件包括双向阈值开关(ots)。11.根据权利要求1所述的装置,其中所述存储器阵列包括:
多个第一导电线;和多个第二导电线,所述多个存储器单元中的每一者连接在所述第一导电线中的一者与所述第二导电线中的一者之间。12.根据权利要求1所述的装置,其中:所述参考读取包括强加电流读取;并且所述自参考读取包括强加电流自参考读取。13.一种读取存储器单元的方法,所述方法包括:使用电流强加参考读取从半导体裸片上的交叉点存储器阵列中的一组磁阻随机存取存储器(mram)单元读取码字;将利用所述电流强加参考读取读取的所述码字输入到驻留在所述半导体裸片上的纠错码(ecc)引擎;响应于所述ecc引擎报告对使用所述电流强加参考读取读取的所述码字的成功解码而将来自所述ecc引擎的解码的数据提供给主机;响应于所述ecc引擎报告对使用所述电流强加参考读取读取的所述码字的失败解码而使用电流强加自参考读取从所述交叉点存储器阵列中的所述一组mram单元读取所述码字;将利用所述电流强加自参考读取读取的所述码字输入到所述ecc引擎中;以及响应于所述ecc引擎报告对使用所述电流强加自参考读取读取的所述码字的成功解码而将来自所述ecc引擎的解码的数据提供给所述主机。14.根据权利要求13所述的方法,所述方法进一步包括:选择用于所述ecc引擎的第一模式,所述第一模式能够校正所述码字中的多达第一数量的位;以所述第一模式对使用所述电流强加参考读取读取的所述码字运行所述ecc引擎;选择用于所述ecc引擎的第二模式,所述第二模式能够校正所述码字中的多达第二数量的位,其中所述第二数量大于所述第一数量;以及以所述第二模式对使用所述自参考读取读取的所述码字运行所述ecc引擎。15.一种存储器系统,包括:交叉点存储器阵列,所述交叉点存储器阵列包括多个第一导电线、多个第二导电线和多个非易失性存储器单元,每个相应存储器单元连接在所述第一导电线中的一者与所述第二导电线中的一者之间,其中每个存储器单元包括磁阻随机存取存储器(mram)元件和与所述mram元件串联连接的阈值开关选择器;可编程纠错码(ecc)引擎,所述ecc引擎被配置为在校正码字中的多达可选择数量的位时对所述码字进行解码;和控制电路,所述控制电路:使用参考读取从一组所述存储器单元读取码字;指示所述可编程ecc引擎在校正所述码字中的多达“n”位时对利用所述参考读取读取的所述码字进行解码;响应于使用所述参考读取通过对从所述一组读取的所述码字进行解码而返回解码的数据;响应于所述ecc引擎未能对使用所述参考读取从所述一组所述存储器单元读取的所述
码字进行解码而使用自参考读取从所述一组读取所述码字;指示所述可编程ecc引擎在校正所述码字中的多达“m”位时对利用所述自参考读取读取的所述码字进行解码,其中m大于n;以及响应于使用所述自参考读取通过对从所述一组读取的所述码字进行解码而返回解码的数据。16.根据权利要求15所述的存储器系统,其中:所述可编程ecc引擎在对所述码字进行解码时具有第一错误误校正率,同时对于所述码字中的给定原始位错误率校正所述码字中的多达“n”位;并且所述可编程ecc引擎在对所述码字进行解码时具有第二错误误校正率,同时对于所述码字中的所述给定原始位错误率校正所述码字中的多达“m”位,其中第二错误误校正率大于所述第一错误误校正率,其中使用所述自参考读取的数据的位错误率比使用所述自参考读取读取的数据高,其中在校正所述码字中的多达“m”位时所述错误误校正率将响应于所述码字中较低的原始位错误率而下降。17.根据权利要求15所述的存储器系统,其中所述可编程ecc引擎被配置为:为从所述一组存储器单元读取的码字生成校正子;以及基于所述校正子的并行处理来计算错误定位多项式的系数。18.根据权利要求17所述的存储器系统,其中所述可编程ecc引擎被配置为异步操作以计算所述系数。19.根据权利要求15所述的存储器系统,其中所述可编程ecc引擎驻留在与所述交叉点存储器阵列相同的半导体裸片上。20.根据权利要求15所述的存储器系统,其中:所述可编程ecc引擎驻留在控制半导体裸片上;并且所述存储器阵列驻留在与所述控制半导体裸片接合的存储器结构半导体裸片上。

技术总结


本发明公开了一种用于MRAM单元的混合读取的快速ECC引擎的技术。使用第一ECC模式对使用参考读取从MRAM单元读取的码字进行解码。如果解码通过,则将结果提供给主机。如果解码失败,则执行自参考读取(SRR)。使用该SRR读取的数据用第二ECC模式解码,该第二ECC模式能够比该第一ECC模式校正更大数量的位。该第二ECC模式可具有比该第一ECC模式更高的误校正率(对于给定原始位错误率(RBER))。然而,当使用该第二ECC模式时,该RBER可能较低。因此,该第一ECC模式和该第二ECC模式可导致大致相同概率的不可检测的错误(或误校正)。可检测的错误(或误校正)。可检测的错误(或误校正)。


技术研发人员:

M

受保护的技术使用者:

桑迪士克科技有限责任公司

技术研发日:

2022.05.30

技术公布日:

2023/3/28

本文发布于:2024-09-22 17:18:27,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/1/83704.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:存储器   实施方案   电流   单元
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议