计算机系统和存储器设备的制作方法

文档序号:15619147发布日期:2018-10-09 21:54阅读:301来源:国知局

本申请基于在2017年3月21日提交的日本专利申请no.2017-054585并要求来自该日本专利申请的优先权权益,在这里通过引用并入该日本专利申请的全部内容。

本文描述的实施例一般涉及计算机系统和存储器设备。



背景技术:

近年来,利用诸如mram之类的电阻变化型存储器的计算机系统的开发正在被推动。

附图说明

图1、图2、图3、图4和图5是用于解释实施例的计算机系统的基本示例的示意图。

图6、图7、图8、图9、图10、图11、图12、图13、图14、图15、图16和图17是用于解释第一实施例的计算机系统的操作示例的示意图。

图18和图19是用于解释第二实施例的计算机系统的配置示例的示意图。

图20、图21和图22是用于解释第三实施例的计算机系统的操作示例的示意图。

图23、图24和图25是用于解释第四实施例的计算机系统的操作示例的示意图。

图26和图27是用于解释第五实施例的计算机系统的配置示例的示意图。

图28、图29、图30和图31是用于解释第六实施例的计算机系统的操作示例的示意图。

具体实施方式

一般而言,根据一个实施例,计算机系统包括:包含存储器单元阵列的存储器设备,该存储器设备被配置为对存储器单元阵列执行第一读取方法的第一读取操作和第二读取方法的第二读取操作;以及处理器,该处理器被配置为从存储器设备接收第一数据,第一数据是通过第一读取操作从存储器单元阵列中的选择的区域读取的,以及该处理器被配置为在对选择的区域的第二读取操作期间使用第一数据执行第一计算处理,以及该处理器被配置为基于第一数据和第二数据的比较结果通过第一信号获取第一计算处理的结果,第一信号指示第一数据是有效的,并且第二数据是通过第二读取操作从选择的区域读取的。

[实施例]

将参照图1至图31描述每个实施例的计算机系统和每个实施例的存储器设备。

在下面的解释中,相同的附图标记表示具有相同功能和配置的构成元件。在以下实施例中,当具有在附图标记末尾处添加的用于区分的数字/字母的构成元件(诸如字线wl、位线bl以及各种电压和信号)不彼此区分时,使用省略最后的数字/字母的表达。

[a]基本模式

将参照图1到图5描述实施例的计算机系统的基本模式。

(a1)配置

图1是用于解释本实施例的计算机系统的配置示例的示意图。

如图1所示,本实施例的计算机系统包括存储器设备1和处理器9。

处理器9执行计算处理。

处理器9使得存储器设备1执行各种指令(请求)。

例如,处理器9指示存储器设备1写入数据。

当执行计算处理时,处理器9指示存储器设备1从存储器设备1中的期望地址(选择的地址)读取数据。处理器9在计算处理中使用读取的数据。

存储器设备1包括用于保持数据的存储器区域。存储器区域包括存储器单元阵列。多个存储器单元mc在存储器单元阵列中被提供。

存储器设备1基于来自处理器9的指令执行诸如数据写入和数据读取之类的各种操作。

存储器设备1基于来自处理器9的指令来读取数据。

当在存储器单元阵列100中的选择的地址中读取数据时,存储器设备1通过使用第一读取操作和第二读取操作来对于选择的地址读取数据。在第一读取操作中使用的数据读取方法与在第二读取操作中使用的数据读取方法不同。存储器设备1基于命令对选择的地址依次执行两种读取操作。

本实施例的存储器设备1例如是电阻变化型存储器。在电阻变化型存储器中,可变电阻元件被用于存储器单元中的存储器元件。

当一定大小的电压或电流被供应到可变电阻元件时,可变电阻元件的电阻状态变化。因此,可变电阻元件变为具有多个电阻状态(电阻值)。数据的一个或多个位与可变电阻元件变为具有的多个电阻状态相关联。以这种方式,可变电阻元件被用作存储器元件。

可变电阻元件的电阻状态是通过电压的供应而变化还是通过电流的供应而变化取决于可变电阻元件的类型。

在本实施例中,电阻变化型存储器是例如mram(磁阻随机存取存储器)。在mram1中,磁阻效应元件被用于存储器元件。

<存储器元件的基本操作>

将参照图2描述作为存储器元件的磁阻效应元件的操作原理。

如图2所示,磁阻效应元件400包括至少两个磁性层401和402以及非磁性层403。

两个磁性层401和402中的每一个具有磁化(magnetization)。磁性层401的磁化方向是可变的。磁性层402的磁化方向是不变的(固定状态)。

在本实施例中,具有可变磁化方向的磁性层401被称为存储层401,并且具有不变的磁化方向的磁性层402被称为参考层402。

非磁性层403被设置在两个磁性层401和402之间。非磁性层403充当隧道势垒(barrier)层403。例如,隧道势垒层403是包括氧化镁的绝缘层。

例如,磁性隧道结由两个磁性层401和402以及隧道势垒层403形成。在本实施例中,具有磁性隧道结的磁阻效应元件400被称为mtj元件400。

例如,磁性层401和402具有垂直的磁各向异性(anisotropy)。磁性层401和402的磁化方向(易磁化轴方向)基本上垂直于磁性层的层表面。磁性层401和402的磁化方向基本上平行于层401、402和403的堆叠方向。通过利用磁性层的界面磁各向异性等,产生磁性层401和402的垂直磁各向异性。利用磁性层的垂直磁各向异性的mtj元件被称为垂直磁化型mtj元件。

mtj元件(磁阻效应元件)400的电阻状态根据存储层401的磁化方向与参考层402的磁化方向之间的相对关系(磁化对准)而变化。

当存储层401的磁化方向与参考层402的磁化方向相同时,mtj元件400具有第一电阻状态(第一磁化对准状态)。

当存储层401的磁化方向与参考层402的磁化方向相反时,mtj元件400具有第二电阻状态(第二磁化对准状态)。具有第二电阻状态的mtj元件400的电阻值高于具有第一电阻状态的mtj元件400的电阻值。

以这种方式,mtj元件400根据两个磁性层401和402的磁化对准变为具有低电阻状态和高电阻状态中的一个状态。

例如,mtj元件400保持数据的1个位(“0”数据和“1”数据)。在这种情况下,mtj元件400的电阻状态被设置为第一电阻状态,由此,存储器单元mc被设置为第一数据保持状态(例如,“0”数据保持状态)。mtj元件400的电阻状态被设置为第二电阻状态,由此,存储器单元mc被设置为第二数据保持状态(例如,“1”数据保持状态)。

在本实施例中,mtj元件400中的存储层401的磁化方向与参考层402的磁化方向相同的磁化对准状态被称为平行状态(或p状态)。

mtj元件400中的存储层401的磁化方向与参考层402的磁化方向彼此相反的磁化对准状态还被称为反平行状态(或ap状态)。

例如,在向mtj元件400写数据时,使用自旋转移矩方法。自旋转移矩方法是其中存储层401的磁化方向由当写入电流iwr1和iwr2流入mtj元件400中时生成的自旋力矩控制的写入方式。

当mtj元件400的磁化对准状态从ap状态改变为p状态时,从存储层401流到参考层402的写入电流iwr1被供应到mtj元件400。

在这种情况下,具有与参考层402的磁化方向相同的方向的自旋的电子的自旋力矩被施加到存储层401的磁化。

当存储层401的磁化方向与参考层402的磁化方向相反时,存储层401的磁化方向通过施加的自旋力矩被设置为与参考层402的磁化方向相同。

因此,mtj元件400被设置为p状态。以这种方式,“0”数据被写入存储器单元mc。

当写入电流iwr1被供应到处于p状态的mtj元件400时,存储层401的磁化方向不改变。因此,mtj元件400维持p状态。

当mtj元件400的磁化对准状态从p状态改变为ap状态时,从参考层402流向存储层401的写入电流iwr2被供应到mtj元件400。

在这种情况下,具有与参考层402的磁化方向相反的方向的自旋的电子的自旋力矩被施加到存储层401的磁化。

当存储层401的磁化方向与参考层402的磁化方向相同时,存储层401的磁化方向通过所施加的自旋力矩被设置为与参考层402的磁化方向相反。

因此,mtj元件400被设置为ap状态。以这种方式,“1”数据被写入存储器单元mc。

当写入电流iwr2被供应到在ap状态下的mtj元件400时,即使对存储层401的磁化施加自旋力矩,存储层401的磁化方向也不变化。因此,mtj元件400维持ap状态。

在从mtj元件400读取数据(判别mtj元件400的电阻状态)时,读取电流ird流过mtj元件400。读取电流ird的电流值小于存储层401的磁化切换阈值。

数据的读取基于读取电流ird的电流值、由于读取电流ird导致的一定节点的电势的变化或者由读取电流ird引起的诸如电荷累积量之类的感测结果来执行。

例如,从处于高电阻状态(ap状态)的mtj元件400输出的读取电流ird的电流值小于从处于低电阻状态(p状态)的mtj元件400输出的读取电流ird的电流值。

如上文所描述的,根据mtj元件400的电阻状态的差异、基于电流ird的波动来判别由mtj元件400保持的数据。

如上文所描述的,在本实施例的计算机系统中,在从存储器设备(mram)读取数据时使用两种不同的读取方法。

例如,通过第一读取方法的读取操作的周期(执行周期)比通过第二读取方法的读取操作的周期短。通过第一读取方法的读取操作的速度高于通过第二读取方法的读取操作的速度。

例如,通过第二读取方法的读取操作获得的数据的可靠性高于通过第一读取方法的读取操作获得的数据的可靠性。

在本实施例中,为了从选择的地址读取数据,执行通过参考单元方法的读取操作和通过自参考方法的读取操作。

图3是用于解释本实施例的计算机系统中的mram的通过参考单元方法的读取操作的基本原理的示意图。

如图3所示,在mram的通过参考单元方法的读取操作中使用参考单元rc。

参考单元rc包括参考电阻元件rr。参考电阻元件rr可以是使用金属或半导体的mtj元件或固定电阻元件。

参考电阻元件rr的电阻值具有在处于低电阻状态的mtj元件400的电阻值(r1)与处于高电阻状态的mtj元件400的电阻值(r2)之间的电阻值。

包括mtj元件400的存储器单元mc连接到感测放大器电路520的一个输入端子。参考单元rc连接到感测放大器电路520的另一个输入端子。

在数据读取时,读取电流(单元电流)ird流过待读取的存储器单元(在下文中,这种存储器单元被称为选择的单元)中的mtj元件400。

电流(在下文中被称为参考电流)iref流过参考电阻元件rr。

感测放大器电路520感测在某一时间的基于参考电流iref的值(电量)和基于读取电流ird的值。

感测放大器电路520比较基于感测的参考电流iref的值与基于读取电流ird的值。基于比较结果,读取保持在存储器单元mc中的数据。

在某一时间,参考电流iref的电流值低于在p状态中的mtj元件400的读取电流ird的电流值,并且高于在ap状态中的mtj元件400的读取电流ird的电流值。以这种方式,参考电流iref是用于在p状态中的mtj元件400的读取电流ird的电流值与在ap状态中的mtj元件400的读取电流ird的电流值之间进行判别的参考值。

因此,可以通过比较参考电流iref与读取电流ird来判别mtj元件400的电阻状态。

因此,保持在存储器单元mc中的数据被判别。

如上所述,mram1中的通过参考单元方法的读取操作被执行。

因此,在通过参考单元方法的读取操作中,可以以相对高的速度(在短时间内)读取数据。

图4是用于解释本实施例的计算机系统中的mram通过自参考方法的读取操作的基本原理的示意图。

在图4中,作为通过自参考方法的读取操作,示例了通过数据破坏性自参考方法的读取操作。

在通过自参考方法的读取操作中,不使用参考单元rc。

如图4所示,在通过自参考方法的读取操作中,对选择的单元mc执行两种数据读取(两种读取电流供应操作)。在本实施例中,为了区分解释,用于在自参考方法中判别数据的两种数据读取还可以被称为内部读取。

在通过自参考方法的读取操作中,通过感测放大器电路(未示出)对由于在对选择的单元mc的第一数据读取中的读取电流irda导致的电量与由于在对选择的单元mc的第二数据读取中的读取电流irdb导致的电量进行比较。

例如,在通过数据破坏性自参考方法的读取操作中,在第一数据读取和第二数据读取之间,向mtj元件400供应写入电流iwr。

在通过自参考方法的读取操作时供应的写入电流iwr是用于将预设数据写入mtj元件400的电流。这里,预设数据是充当用于确定存储在mtj元件中的数据(在供应写入电流iwr之前的数据)的参考的数据。在本实施例中,为了区分解释,通过自参考方法的读取操作中的第一数据读取和第二数据读取之间的写入电流的供应还被称为参考数据写入。

例如,在第一数据读取之后,用于写入“0”数据的写入电流被供应到要被读取的mtj元件400。

当mtj元件400的磁化对准状态为ap状态时,由于写入电流iwr的供应,mtj元件400的磁化对准状态从ap状态改变为p状态。

当mtj元件400的磁化对准状态为p状态时,即使写入电流iwr被供应,mtj元件400也维持p状态。

如上所述,在第二读取电流供应操作(图4的(c))时,mtj元件400被设置为p状态。在第一读取电流供应操作时(在图4的(a)中),mtj元件400根据要被存储的数据被设置为ap状态或p状态。

例如,读取电流irda和irdb在与写入电流iwr相同的方向上流动,该写入电流iwr在mtj元件的磁化对准状态从ap状态改变为p状态的方向上流动。但是,读取电流irda和irdb的电流值小于写入电流iwr的电流值。

当mtj元件400的磁化对准状态由于写入电流iwr的供应而改变时,第一读取电流的大小与第二读取电流的大小不同。

如上所述,当mtj元件400的磁化对准状态从ap状态改变为p状态时,第二读取电流irdb的大小大于第一读取电流的大小。

因此,判别保持在选择的单元mc中的数据是“1”数据。

当mtj元件400的磁化对准状态不改变时,第二读取电流irdb的大小与第一读取电流irda的大小基本上相同。在这种情况下,第二读取电流irdb和第一读取电流irda之间的差异非常小。

因此,判别保持在选择的单元mc中的数据是“0”数据。

“1”数据可以被设置为自参考读取操作中的参考数据。在这种情况下,用于写入“1”数据的写入电流被供应到要被读取的mtj元件400。

以这种方式,通过比较来自选择的单元本身的两个输出来执行通过自参考方法的读取操作。

通过自参考方法的读取操作读取的数据的可靠性高于通过参考单元方法的读取操作读取的数据的可靠性。但是,通过自参考方法的读取操作的周期比通过参考单元方法的读取操作的周期长。

在下文中,通过自参考方法读取的数据还被称为校正数据或替换数据。

当从存储器设备1读取数据时,本实施例的计算机系统依次执行两种不同的读取方法以读取数据。

如下所述,本实施例的计算机系统通过使用通过两种不同的读取方法从存储器设备读取的数据来执行处理器的计算处理。

(a2)操作

将参照图5描述本实施例的计算机系统的基本操作的示例。

图5是用于解释本实施例的计算机系统的基本操作的流程图。

如图5所示,当计算机系统执行计算处理时,处理器9指示存储器设备读取用于计算处理的数据(步骤st0)。

处理器9向mram1传送读取命令、指示要读取的数据的存储位置的地址(选择的地址)以及各种控制信号。

mram1接收读取命令、选择的地址和控制信号。

基于读取命令和控制信号,mram1开始对于选择的地址读取数据(步骤st1)。

当执行数据读取时,mram1通过参考单元方法的读取操作从选择的地址读取数据(步骤st2)。因此,mram1基于参考单元方法获得数据(第一数据)。

mram1将基于参考单元方法的数据传送到处理器9(步骤st3)。

在通过参考单元方法的读取操作之后,mram1通过自参考方法的读取操作从选择的地址读取数据(步骤st4a)。在本实施例中,通过自参考方法的读取操作可以与从mram1向处理器9传送基于参考单元方法的数据同时执行。在本实施例中,通过自参考方法的读取操作可以与基于参考单元方法的数据传送的周期的一部分重叠。在本实施例中,开始通过自参考方法的读取操作的时机可以在开始基于参考单元方法的数据传送的时机之前。

处理器9从mram1接收第一数据。与mram1中的通过自参考方法的读取操作并行地,处理器9使用基于参考单元方法的数据来执行计算处理(步骤st4b)。

在本实施例中,与通过自参考方法的读取操作并行地使用通过参考单元方法的读取操作的结果的数据而执行的计算处理被称为推测计算处理。例如,推测计算处理在通过自参考方法的读取操作终止之前开始或者在开始比较基于参考单元方法的数据和基于自参考方法的数据之前开始。

推测计算处理的周期可以与通过自参考方法的读取操作的周期不完全并行。推测计算处理的周期的一部分可以与通过自参考方法的读取操作的周期并行。

在读取基于参考单元方法的数据之后,mram1获得基于自参考方法的数据(第二数据)。

mram1执行基于参考单元方法的数据与基于自参考方法的数据之间的比较处理(步骤st5)。例如,数据比较处理与推测计算处理同时执行。

基于数据比较处理,mram1确定基于参考单元方法的数据是否与基于自参考方法的数据匹配(步骤st6)。

mram1将基于两条数据之间的比较处理的结果的标记传送到处理器9。根据该标记,mram1通知处理器9通过参考单元方法的数据是有效的还是错误的。在本实施例中,用于通知通过参考单元方法的数据的有效/错误的标记还被称为错误通知标记。

当基于参考单元方法的数据与基于自参考方法的数据匹配时,确定基于参考单元方法的数据有效(正常或没有错误)。

在这种情况下,mram1向处理器9发送包括指示通过参考单元方法的数据有效的有效信号的第一标记(步骤st7a)。

处理器9接收该标记。如果接收的标记包括有效信号,则处理器9提交推测计算处理的结果(计算值)(步骤st7b)。提交的含义是将通过计算处理获得的计算值视为有效,并且将值写入数据保持区域(例如,寄存器)中。

因此,当通过参考单元方法的数据有效时,处理器9通过获取推测计算处理的结果来终止计算处理。

当基于参考单元方法的数据与基于自参考方法的数据不匹配时,mram1向处理器9发送包括指示通过参考单元方法的数据无效(通过参考单元方法的数据包含错误)的错误信号的第二标记(步骤st8a)。

mram1将作为校正数据的基于自参考方法的数据与包括错误信号(也被称为无效信号)的标记一起发送到处理器9。与错误信号一起传送的数据不需要是基于自参考方法的完整数据。例如,在基于自参考方法的数据中,可以与错误信号一起发送与包含通过参考单元方法的数据中的错误的部分对应的数据部分。

处理器9接收标记和数据。当接收的标记包括错误信号时,处理器9使用基于自参考方法的数据来执行计算处理(在下文中被称为重新计算处理)(步骤st8b)。例如,处理器9丢弃推测计算处理的结果。

当获得重新计算处理的结果时,处理器9提交重新计算处理的结果(步骤st9)。

以这种方式,当通过参考单元方法的数据是错误的时,处理器9通过使用通过自参考方法的数据来获取计算处理的结果而终止计算处理。

如上所述,本实施例的计算机系统的操作完成。

(a3)总结

在本实施例的计算机系统中,存储器设备依次以相对高的速度执行第一读取操作以及以相对高的可靠性执行第二读取操作。

存储器设备将通过第一读取操作读取的第一数据发送到处理器。

与存储器设备中的第二读取操作的执行并行地,处理器使用第一数据来执行计算处理(推测计算处理)。

存储器设备通过第二读取操作读取第二数据。

存储器设备将第一数据与第二数据进行比较,以确定第一数据是否有效。

当基于比较结果确定第一数据有效时,确定使用第一数据的计算处理的结果是有效的。

当基于比较结果确定第一数据不是有效的时,处理器使用第二数据执行第二计算处理。

以这种方式,本实施例的计算机系统可以通过第一读取操作和使用基于第一读取操作的数据的计算处理来加速系统的操作(计算处理)。

本实施例的计算机系统可以根据基于第二读取操作的第二数据和使用第二数据的计算结果来确保数据和计算结果的可靠性。

因此,在本实施例的计算机系统中,能够提高操作速度,并且可以改进操作的可靠性。

[b]第一实施例

将参照图6到图17描述第一实施例的计算机系统及其控制方法(操作示例)。

(b1)配置示例

将参照图6到图14描述第一实施例的计算机系统的配置示例。

<计算机系统的配置>

图6是示出本实施例的计算机系统的配置示例的框图。

如图6所示,计算机系统1000包括存储器设备1和处理器9。存储器设备1经由总线8连接到处理器9。总线8是基于某一标准的数据传送网络。例如,总线8包括线缆、连接器、无线通信、互联网和内联网等中的至少一个。

存储器设备1包括存储器电路10和接口电路20。

存储器电路10包括用于存储数据的存储器单元阵列、写入电路和读取电路等。

接口电路20包括输出控制电路200和输入控制电路290。

输出控制电路200可以控制数据的输出。

例如,输出控制电路200包括两个数据保持电路210和220以及控制电路230。

数据保持电路210和220分别保持通过两种不同的读取方法读取的两条数据。控制电路230对数据保持电路210和220中的数据执行各种控制。

输出控制电路200可以将通过参考单元方法读取的数据(数据值)与通过自参考方法读取的数据(数据值)进行比较。

输入控制电路290可以控制从处理器9到存储器电路10的数据、地址、命令和各种控制信号的输入。

处理器9包括存储器控制器90、核心电路99等。

存储器控制器90控制存储器设备1与处理器9之间的数据以及各种信号的输入和输出。

核心电路99执行各种计算处理。

核心电路99包括计算电路(操作部件)、数据保持电路等。例如,核心电路99包括用于控制推测计算处理的重排序缓冲器606。

在下文中,将更具体地描述存储器设备1和处理器9的内部配置。

<存储器设备的配置>

将参照图7到图11描述本实施例的计算机系统的存储器设备中的存储器电路的内部配置。

存储器电路10经由输入控制电路299从处理器9接收命令cmd、地址adr、输入数据din以及各种控制信号cnt。

存储器电路10将输出数据dout发送到输出控制电路200。

在mram1中,存储器电路10至少包括存储器单元阵列100、行解码器120、字线驱动器(行线控制电路)121、列解码器122、位线驱动器(列线控制电路)123、开关电路124、写入电路(写入控制电路)125、读取电路(读取控制电路)126和定序器(sequencer)190。

存储器单元阵列100包括多个存储器单元mc。

行解码器120对包含在地址adr中的行地址进行解码。

字线驱动器121基于行地址的解码结果来选择存储器单元阵列100的行(例如,字线)。

列解码器122对包含在地址adr中的列地址进行解码。

位线驱动器123基于列地址的解码结果选择存储器单元阵列100的列(例如,位线)。位线驱动器123经由开关电路124连接到存储器单元阵列100。

开关电路124将写入电路125和读取电路126中的一个连接到存储器单元阵列100和位线驱动器123。因此,mram1执行对应于命令的操作。

在写入操作期间,写入电路125向基于地址adr的选择的单元供应用于数据写入的各种电压和电流。数据din作为要写入存储器单元阵列100的数据被供应到写入电路125。因此,写入电路125将数据din写入存储器单元mc中。例如,写入电路125包括写入驱动器/沉降器(sinker)。

在读取操作期间,读取电路126将用于数据读取的各种电压或电流供应到基于地址adr选择的存储器单元(选择的单元)。因此,存储在存储器单元mc中的数据被读取。

读取电路126将从存储器单元阵列100读取并且充当输出数据dout的数据供应到输出控制电路200中的数据保持电路210和220。

读取电路126包括例如读取驱动器和感测放大器电路。

在本实施例的mram中,读取电路126包括用于通过参考单元方法执行读取操作的功能(电路部分)和用于通过自参考方法执行读取操作的功能。

定序器190接收命令cmd和各种控制信号cnt。定序器190基于命令cmd和控制信号cnt控制存储器电路10中的电路120到126中的每个电路的操作。定序器190可以根据存储器电路10中的操作状态经由接口电路20将控制信号cnt发送到存储器控制器5。

例如,定序器190保持关于写入操作和读取操作的各个种类的信息作为设置信息。

图8是示出mram的存储器单元阵列的内部配置的示例的等效电路示意图。

如图8所示,多个(n个)字线wl(wl<0>、wl<1>、...、wl<n-1>)在存储器单元阵列100中被提供。多个(m个)位线bl(bl<0>、bl<1>、...、bl<m-1>)和多个(m个)位线bbl(bbl<0>、bbl<1>、...、bbl<m-1>)在存储器单元阵列100中被提供。位线bl和位线bbl形成一对位线。在以下描述中,为了使解释清楚,位线bbl可以被称为源线。

存储器单元mc以矩阵形式被布置在存储器单元阵列100中。

在x方向(行方向)上排列(align)的存储器单元mc连接到公共字线wl。字线wl连接到字线驱动器121。字线驱动器121基于行地址来控制字线wl的电势。因此,由行地址指示的字线wl(行)被选择和激活。

在y方向(列方向)上排列的存储器单元mc共同连接到属于位线对的两个位线bl和bbl。

例如,存储器单元mc包括可变电阻元件(mtj元件)400和单元晶体管410。单元晶体管410充当存储器单元mc的选择元件。存储器单元mc可以包括两个或更多个mtj元件400或者两个或更多个单元晶体管410。

mtj元件400的一端连接到位线bbl。mtj元件400的另一端连接到单元晶体管410的一端(源极/漏极中的一个)。单元晶体管410的另一端(源极/漏极中的另一个)连接到位线bl。字线wl连接到单元晶体管410的栅极。

存储器单元阵列100可以具有分层位线系统的结构。在这种情况下,两个全局位线被设置在存储器单元阵列100中。位线bl中的每个位线bl经由对应的开关元件连接到全局位线中的一个全局位线。

源线bbl中的每一个经由对应的开关元件连接到另一个全局位线。全局位线经由开关电路124连接到写入电路125和读取电路126。

图9和图10是示出本实施例的mram中的读取电路的配置示例的等效电路图。

图9是用于解释存储器单元阵列的读取电路的配置示例的示意图。

例如,读取电路126包括多个感测放大器部件261。

在存储器单元阵列100中,设置多个读取部件ru。

为读取部件ru提供感测放大器部件261中的一个感测放大器部件。感测放大器部件261中的一个感测放大器部件经由开关电路124连接到对应的读取部件ru。

例如,在数据读取操作时,感测放大器部件261被并行驱动。读取操作对于读取部件ru中的每一个读取部件ru的要读取的存储器单元mc并行地执行。

因此,读取电路126可以针对读取命令读取某一数据大小的数据(两位或更多位数据)。

感测放大器部件261可以被逐个驱动。感测放大器部件261被顺序驱动,由此可以从存储器单元阵列100中读取某一数据大小的数据。

感测放大器部件261可以被设置在存储器单元阵列100中。在这种情况下,感测放大器部件261从存储器单元阵列100读取1位数据。可替代地,感测放大器部件261顺序访问多个选择的单元,由此读取某一数据大小的数据。

图10是示出本实施例的mram的感测放大器部件的内部配置的示例的等效电路图。

在图10中,示出了在mram中在读取操作时每个电路的连接关系。在图10中,感测放大器部件和对应于读取部件的每个电路被提取。

如图10所示,读取驱动器500经由列选择开关元件csw连接到位线bl。在读取操作时,当列选择开关元件csw接通时,读取驱动器500向位线bl供应电流(或电压)。

基于解码的列地址来控制列选择开关元件csw的接通/关断。

例如,读取驱动器500是位线驱动器123的组成部分。但是,读取驱动器500可以是读取电路126的组成部分。例如,列选择开关元件csw是开关电路124中的组成部分。但是,列选择开关元件csw可以是读取电路126或位线驱动器123的组成部分。

位线(源线)bbl经由开关电路124中的多路复用器241连接到感测放大器部件261。

在读取操作时,源线bbl基于解码的列地址经由多路复用器241连接到感测放大器部件261。例如,开关电路124包括多路复用器241。多路复用器241被提供以便与读取部件ru对应。

感测放大器部件261包括感测放大器电路520、多个电容器c1和c2、参考单元rc、参考单元驱动器590和多个开关元件sw1、sw2、sw3、swa和swb。

开关元件sw1、sw2、sw3、swa和swb为例如mos开关。

开关元件sw1和开关元件sw3的每一端连接到多路复用器241。开关元件sw1的另一端经由开关元件swa连接到感测放大器电路520的一个输入端子。开关元件sw3的另一端经由开关元件swb连接到感测放大器电路520的另一个输入端子。

电容器c1的一端连接到开关元件sw1与开关元件swa之间的连接节点。电容器c1的另一端接地。

电容器c2的一端连接到开关元件sw3与开关元件swb之间的连接节点。电容器c2的另一端接地。

电容器c1和c2可以是连接到感测放大器电路520的输入端子的电容元件。电容器c1可以是包含在连接感测放大器电路520的输入端子与存储器单元阵列100(选择的单元mc)的互连件(和元件)中的电容成分(寄生电容)。电容器c2可以是包含在连接感测放大器电路520的输入端子与参考单元rc的互连件(和元件)中的电容成分(寄生电容)。

控制信号s1被供应到开关元件sw1的控制端子(栅极)。开关元件sw1基于控制信号s1控制电容器c1与多路复用器241之间的连接。当开关元件sw1接通时,电容器c1经由多路复用器510连接到选择的单元mc。

控制信号s3被供应到开关元件sw3的控制端子。开关元件sw3基于控制信号s3控制电容器c2与多路复用器510之间的连接。当开关元件sw3接通时,电容器c2经由多路复用器510连接到选择的单元mc。

为了执行通过参考单元方法的读取操作,感测放大器部件261(读取电路126)包括参考单元rc。

参考单元rc的一端连接到读取驱动器590。参考单元rc的另一端连接到开关元件sw2。参考单元rc经由开关元件sw2连接到电容器c2的一端。参考单元rc经由开关元件sw2和swb连接到感测放大器电路520的另一输入端子。

参考单元rc包括多个可变电阻元件490a和490b以及单元晶体管499。

单元晶体管499的一端(源极/漏极中的一个)连接到驱动器590的输出端子。单元晶体管499的另一端(源极/漏极中的另一个)连接到可变电阻元件490a和490b的一端。可变电阻元件490a和490b的另一端经由开关元件sw2连接到电容器c2。

两个可变电阻元件490a和490b并联连接。由此,形成在低电阻状态(p状态)下的mtj元件400的电阻值r1与高电阻状态(ap状态)的mtj元件400的电阻值r2之间的电阻值。

在通过参考单元方法的读取操作时,晶体管499的on(接通)电压被施加到单元晶体管499的栅极。因此,参考单元rc被激活以生成参考电流iref。

开关元件sw2控制参考单元rc与电容器c2之间的连接。

控制信号s2被供应到开关元件sw2的控制端子。基于控制信号s2来控制开关元件sw2的接通/关断。

开关元件swa控制电容器c1与感测放大器电路520的一个输入端子之间的连接。开关元件swb控制电容器c2与感测放大器电路520的一个输入端子之间的连接。例如,公共控制信号sc被供应到两个开关元件swa和swb的控制端子。

感测放大器电路520经由开关元件swa和swb连接到电容器c1和c2。来自电容器c1的信号经由开关元件swa被供应到感测放大器电路520的一个输入端子。来自电容器c2的信号经由开关元件swb被供应到感测放大器电路520的另一输入端子。

控制信号(感测使能信号)sen被供应到感测放大器电路520。感测放大器电路520在基于感测使能信号sen的信号电平的变化的时机被激活或去激活。

感测放大器电路520感测来自电容器c1和c2的被供应到输入端子的信号,并且放大感测的信号。感测放大器电路520将两个感测的信号进行比较。感测放大器电路520输出基于比较结果的值作为数据dout。

在读取操作时,电容器c1和c2保持用于数据读取的电量。

在本实施例中,感测放大器部件261是电荷积分(integration)系统的差分型感测放大器。

在通过参考单元方法的读取操作时,电容器c1累积由来自选择的单元mc的读取电流生成的信号电荷。电容器c2累积由来自参考单元rc的参考电流生成的信号电荷。

在通过自参考方法的读取操作时,电容器c1累积在第一内部读取中由来自选择的单元mc的读取电流产生的信号电荷。电容器c2累积在第二内部读取中由来自选择的单元mc的读取电流产生的信号电荷。

在每个读取操作时,感测放大器电路520比较与两个电容器c1和c2中的信号电荷(电势)对应的信号,由此判别选择的单元mc中的数据。

因此,选择的单元mc中的数据被读取。

感测放大器部件261可以连接到位线bl。在这种情况下,感测放大器部件261保持由位线bl的放电引起的电荷。

<输出控制电路>

图11示出根据本实施例的mram的输出控制电路的配置示例。

如图11所示,输出控制电路200包括两个读取缓冲器电路(数据保持电路)210和220以及控制电路230。

控制电路230包括比较电路231、选择电路232、数据缓冲器电路233、输入/输出电路(i/o电路)234等。

读取缓冲器电路210和220连接到存储器电路10。来自存储器电路10的读取数据被供应到读取缓冲器电路210和220。

读取缓冲器电路210暂时保持通过参考单元方法读取的数据dout1。读取缓冲器电路220暂时保持通过自参考方法读取的数据dout2。

比较电路231比较读取缓冲器电路210和220中的读取数据的值。

比较电路231基于两个读取数据的比较结果来控制信号er(标记flg)的信号电平。比较电路231将信号er供应到选择电路232和数据缓冲器电路233。

基于信号er,选择电路232选择基于参考单元方法的数据dout1和基于自参考方法的数据dout2中的一个数据。选择电路232将选择的数据输出到数据缓冲器电路233。

数据缓冲器电路233暂时保持来自选择电路232的数据。

i/o电路234控制向处理器9输出数据的时机。

图12是示出本实施例的mram中的输出控制电路中的比较电路的配置示例的示图。

如图12所示,通过参考单元方法读取的数据dout1和通过自参考方法读取的数据dout2从读取缓冲器电路210和220被供应到比较电路231。

例如,数据dout1和数据dout2具有某一数据长度(数据大小或位数)。

比较电路231将数据dout1和dout2中的每一个划分为n个数据单元。例如,数据dout1包括n个数据单元du(du1a,du2a,...,duna),数据dout2包括n个数据单元du(du1b,du2b,...,dunb)。

例如,比较电路231包括锁存电路310和320。锁存电路310和320暂时保持数据单元du。

比较电路231包括确定电路350。确定电路350确定两条数据dout1和dout2中的彼此对应的数据单元du是否匹配。

例如,确定电路350包括n个xor门351(351-1,351-1,...,351-n)。

xor门351的一个输入端子连接到锁存电路310,并且xor门351的另一个输入端子连接到锁存电路320。对应的数据单元du被供应到xor门351中的每个xor门的输入端子。

xor门351输出指示相对于两个数据单元du的xor运算(异或)的结果的信号er(er1,er2,...,ern)。

当对应的两个数据单元du1和du2的数据值(“0”或“1”)匹配时,xor门351输出“0”。当对应的数据单元du1和du2的数据值不匹配时,xor门351输出“1”。

基于来自xor门351的输出结果er,检测到在与已经输出“1”的xor门351对应的数据单元du中存在错误。

以这种方式,指定数据dout1中存在的错误的位置。

例如,错误通知标记flg是一组信号er。信号er作为标记flg被发送到处理器9。

当所有信号er1、er2、...和ern的值为“0”时,标记flg指示有效信号。

如果信号er1、er2、...和ern中的至少一个的值为“1”,则标记flg指示错误信号xx。根据包括错误信号xx的标记flg中的“1”的位置(数位)来指示包括数据dout1的错误的位置(数据单元du)。

信号er例如作为控制信号被供应到选择电路232和数据缓冲器电路233。

选择电路232可以基于信号er的“1”的位置来在数据dout2中的数据单元du中选择与数据dout1中的错误数据单元du1对应的数据单元du。选择电路232可以将选择的数据单元du输出到数据缓冲器电路233。

例如,数据缓冲器电路233可以保持信号er作为标记flg。

数据缓冲器电路233经由i/o电路234将包括信号er的标记flg发送到处理器9。

数据缓冲器电路233可以从数据dout2中的数据单元选择性地输出与作为“1”的信号er对应的数据单元du。

<处理器的配置示例>

将参照图13和图14描述本实施例的计算机系统中的处理器的内部配置的示例。

图13是示出处理器中的核心电路的内部配置的示例的框图。

如图13所示,核心电路99包括数据高速缓存600、数据高速缓存控制器601、指令高速缓存602、指令高速缓存控制器603、命令发布部件604、命令队列605、扩展重排序缓冲器(重排序缓冲器电路)606、寄存器607、预留站608和计算电路609。

数据高速缓存600根据来自处理器9的请求存储从mram1读取的数据。

数据高速缓存控制器601控制和管理数据高速缓存600。例如,数据高速缓存控制器601控制对数据高速缓存600的访问。数据高速缓存控制器601确定基于来自处理器9的请求的数据是否被存储在数据高速缓存600中。数据高速缓存控制器601在数据没有被存储在高速缓存600中的情况下对mram1执行各种类型的访问控制。

数据高速缓存控制器601可以将数据从mram1发送到扩展重排序缓冲器606。

指令高速缓存602存储对应于指令的程序。

指令高速缓存控制器603控制和管理指令高速缓存602。

例如,指令高速缓存控制器603控制对指令高速缓存602的访问。指令高速缓存控制器603可以从指令高速缓存602读取程序。

命令发布部件604可以控制指令高速缓存控制器603以向命令队列605供应指令(或数据)。

命令队列(例如,fifo)605具有多个数据保持区域650。命令队列605在数据保持区域650中保持指令(或数据)和对应于指令的标记。在命令队列605中,指示诸如有效状态(由“v”表示)或检查等待状态(由“w”表示)之类的状态的标记(在下文中还被称为状态标记)zz被附加到指令或数据。

寄存器607保持用于计算处理的一个或多个操作数(数值、数据)。寄存器607具有多个数据保持区域670。

计算电路609包括诸如加法器690和乘法器691之类的一个或多个运算部件。对应于指令的计算处理由运算部件690和691中的每一个执行。

预留站608保持其中计算电路690的计算处理处于等待状态的指令和数据中的至少一个。

在预留站608中提供存储区域,以对应于运算部件690和691中的每一个。例如,在预留站608处,对于加法器690提供第一站680a,并且对于乘法器691提供第二站680b。预留站608在站680a和680b中的每一个中具有多个数据保持区域(指令保持区域)681。

预留站608可以请求扩展重排序缓冲器606传送缓冲器606中的数据。例如,扩展重排序缓冲器606中的数据经由寄存器607被供应到预留站608。

扩展重排序缓冲器606具有能够保持条目的多个数据保持区域660。该条目包括关于要对数据执行的计算处理的各条信息。

扩展重排序缓冲器606可以保持来自命令队列605的指令。

扩展重排序缓冲器606可以将操作数传送到寄存器607。

扩展重排序缓冲器606可以保持来自计算电路609的计算结果。

扩展重排序缓冲器606接收数据(基于参考单元方法的数据)dout1、数据(基于自参考方法的数据)dout2和来自mram1、数据高速缓存控制器601或命令队列605的标记flg。

扩展重排序缓冲器606和预留站608充当用于控制推测计算处理的执行的存储区域。

核心电路99中的组成部分的数量(诸如计算电路609中的运算部件的数量和类型以及预留站608的条目的数量和寄存器(数据保持区域)的数量)根据处理器9所需的能力被适当地设计。

将参照图14描述本实施例的计算机系统中的处理器的扩展重排序缓冲器的示例。

如图14所示,在扩展重排序缓冲器606中,关于当前等待提交的计算处理(条目),保持每个计算处理的条目号、指示是否正在执行计算处理的忙标记、指令(instruction)、操作数(operand1,operand2)、寄存器607中的写入目的地地址(destination)、计算结果以及指示是否能够提交的状态标记。

在关于包括指令、操作数和写入目的地地址的项目的数据保持字段661、662、663和664中,对数据(值)和指令设置标记fx。

标记fx指示对应于每个项目的数据/指令是有效的(v:valid)还是正在等待检查(w:wait)。

例如,紧接在扩展重排序缓冲器606从mram1接收数据dout1之后,接收的数据dout1是检查前的数据。因此,扩展重排序缓冲器606在紧接在数据dout1被接收之后向数据dout1指派等待标记(“w”)。

当存在从预留站608到扩展重排序缓冲器606的数据传送请求时,扩展重排序缓冲器606将等待标记“w”与数据dout1一起传送到预留站608。

扩展重排序缓冲器606将计算电路609的计算结果存储在值字段665中。

错误通知标记(和校正数据)从mram1被传送到保持在扩展重排序缓冲器606中并且被指派等待标记“w”的数据。

当标记flg指示有效时,扩展重排序缓冲器606将对应于有效数据的指令字段661和操作数字段662和663中的标记fx设置为有效状态(“v”)。

例如,当标记flg指示错误时,扩展重排序缓冲器606冲刷(擦除)对应于与标记flg一起被接收的校正数据dout2的条目之后的所有条目。扩展重排序缓冲器606将与错误信号xx一起被接收的数据(数据单元)dout2写入到数据保持区域660中。

在这些条目被冲刷之后,命令发布部件604取出新的指令,由此计算处理可以继续。扩展重排序缓冲器606的条目被写回到命令队列605,并且计算处理可以继续。

对于每个条目,当计算处理完成并且所有条目中的标记flg变得有效时,扩展重排序缓冲器606将状态标记字段666中的对应状态标记设置为提交(commit)。

通过扩展重排序缓冲器606的这种控制,由于在错误判断之后接收的校正数据可以被写入寄存器这一事实,因此,能够同时实现通过在错误判断之前使用数据dout1的推测计算处理的计算的加速以及数据可靠性的确保。

(b2)操作示例

将参照图15到图17描述本实施例的计算机系统和存储器设备的操作示例(控制方法)。

除了图15到图17之外,图9到图14也适用于解释本实施例的系统和设备的操作。

图15是示出在本实施例的计算机系统中的基于参考单元方法的数据和基于自参考方法的数据匹配的情况下的操作示例的时序图。

当执行计算处理时,处理器9指示(请求)mram1读取用于计算处理的数据。处理器9将读取命令、选择的地址和各种控制信号发送到mram1。

mram1从处理器9接收指令。mram1基于命令开始针对选择的地址读取数据。

定序器190基于来自输入控制电路299的命令cmd和控制信号cnt控制存储器电路10中的每个电路的操作。

字线驱动器121基于行解码器120对选择的地址adr的解码结果来控制字线wl的激活和去激活。位线驱动器123基于列解码器122对选择的地址adr的解码结果来控制位线bl的激活和去激活。开关电路124控制存储器单元(选择的单元)mc与电路123和126中的每一个之间的连接。

读取电路126在定序器190的控制下被激活。读取电路126顺序执行通过参考单元方法的读取操作x1和通过自参考方法的读取操作x2。

图16是用于解释本实施例的mram中的读取电路的操作示例的时序图。

如图16所示,在时间t0,mram1基于命令和控制信号开始针对选择的地址adr读取数据。

在图10的读取电路中,与选择的地址对应的列开关元件csw被设置为on状态。读取驱动器500经由在on状态下的列开关元件csw向位线bl供应用于读取数据的电流或电压。

多路复用器241基于选择的地址选择源线bbl中的一个源线。

单元晶体管499被设置为on状态,并且参考单元rc被激活。

读取驱动器590向参考单元rc供应用于生成参考电流iref的电流或电压。

在时间t1a,信号s1和s2的信号电平被设置为“h”电平。

电容器c1经由on状态下的开关元件sw1通过由选择的单元mc的读取电流ird引起的电荷被充电。

电容器c2经由on状态下的开关元件sw2通过由参考单元rc的参考电流iref引起的电荷被充电。

在时间t2a,信号s1和s2的信号电平被设置为“l”电平。因此,电容器c1和c2由在off状态下的开关元件sw1和sw2与选择的单元mc和参考单元rc电气分离。

在时间t3a,信号sc的信号电平被设置为“h”电平。因此,电容器c1和c2的电荷分别被供应到感测放大器电路520的两个输入端子。

在时间t5a,感测使能信号sen的信号电平被设置为“h”电平。因此,差分放大器型感测放大器电路520被激活。

在图16中,在(例如,在时间t4a)信号sen的信号电平被设置为“h”电平之前,信号sc被设置为“l”电平。但是,当信号sen被设置为“h”电平时,信号sc的信号电平可以为“l”电平或“h”电平。电容器c1和c2由处于“l”电平的信号sc与感测放大器电路520电气分离。

感测放大器电路520感测来自电容器c1的信号和来自电容器c2的信号。感测放大器电路520比较两个感测的信号的大小,并且放大指示比较结果的信号。

在时间t6a,控制信号sen的信号电平被设置为“l”电平。因此,感测放大器电路520被去激活。感测放大器电路520的比较结果被锁存在感测放大器电路520中。

从时间t7a到时间t8a的周期中,感测放大器电路520的信号处理的结果从存储器电路10输出以作为通过参考单元方法读取的数据dout1。

mram1经由总线8将通过参考单元方法的读取操作获得的数据dout1传送到处理器9。

通过参考单元方法读取的数据dout1被存储在输出控制电路200中的读取缓冲器电路210中。

输出控制电路200经由选择电路232、数据缓冲器电路233和i/o电路234将读取缓冲器电路210中的数据dout1的值传送到处理器9。

在处理器9中,当接收到来自mram1的数据dout1时,核心电路99将数据dout1的值传送到扩展重排序缓冲器606。

此时,扩展重排序缓冲器606将指示“w”(等待检查)的标记fx指派给与扩展重排序缓冲器606中的数据dout1相关联的项目和对应于数据dout1的数据的每个项目。

如图15所示,处理器9使用数据dout1来执行推测计算处理p1。核心电路99在执行推测计算处理p1时等待来自mram1的标记flg的传送。

当在核心电路99中执行推测计算处理p1后,当从指令高速缓存602或mram1接收指令数据时,指令高速缓存控制器603经由命令发布部件604将指令(例如,与数据dout1的处理相关联的指令)添加到命令队列605中。

此时,命令队列605将指示与指令对应的数据处于校正前的状态的等待标记“w”指派给保持添加的指令的数据保持区域650中的添加的指令。

指令根据命令队列605的数据保持区域650的顺序被传送到预留站608的指令存储区域680a和680b。

对应于从命令队列605传送的指令的条目在扩展重排序缓冲器606中被创建,并且被存储在数据保持区域660中。

基于来自命令队列605的指令,预留站608从寄存器607读取用于计算处理的操作数。

计算电路609以指令和操作数被准备的顺序来执行推测计算处理。计算电路609将推测计算处理p1的结果返回到扩展重排序缓冲器606。

指令高速缓存控制器603、数据高速缓存控制器601和重排序缓冲器606等待来自mram1的标记。

当从预留站608请求数据传送时,重排序缓冲器606将请求的数据和等待标记(“w”)传送到预留站608。

以这种方式,在本实施例的计算机系统中,与通过自参考方法的读取操作并行地执行推测计算处理。

在图15中,示出数据dout1被划分为四个以被传送的示例。根据计算机系统1000和处理器9的规格来设计数据分割的数量(数据单元du的数量)。

在通过参考单元方法的读取操作之后,mram1执行通过自参考方法的读取操作x2。

如图14所示,在时间t8a,信号s1的信号电平被设置为“h”电平。在通过自参考方法的读取操作时,信号s2的信号电平被设置为“l”电平。由此,参考单元rc与电容器c2电气分离。

电容器c1经由on状态下的开关元件sw1通过在第一数据读取中由选择的单元mc的读取电流irda引起的电荷被充电。

在时间t9a,信号s1的信号电平被设置为“l”电平。因此,电容器c1通过处于off状态的开关元件sw1与选择的单元mc电气分离。

在从时间t9a到时间t10a的周期中,控制信号mtj-wr被设置为“h”电平,以便将预设数据(参考数据)写入到选择的单元mc,并且写入电路125被激活。由此,写入电流被供应到选择的单元mc中的mtj元件400。

此时,感测放大器部件261与选择的单元电气隔离。

如参照图4描述的那样,在处于ap状态的mtj元件中,mtj元件的磁化对准状态由于用于写入“0”数据的写入电流的供应而从ap状态改变为p状态。另一方面,在处于p状态的mtj元件中,mtj元件的磁化对准状态维持在p状态。

在时间t10a,信号mtj-wr被设置为“l”电平。信号s3的信号电平被设置为“h”电平。

在写入参考数据之后,电容器c2经由on状态下的开关元件sw3通过在第二数据读取中由选择的单元mc的读取电流irdb引起的电荷被充电。

在时间t11a,信号s3的信号电平被设置为“l”电平。电容器c2通过在off状态下的开关元件sw3与选择的单元电气隔离。

在时间t12a,信号sc的信号电平被设置为“h”电平。

因此,电容器c1和c2的电荷分别被供应到感测放大器电路520的两个输入端子。

在时间t14a,感测使能信号sen的信号电平被设置为“h”电平以用于激活感测放大器电路520。

因此,激活的感测放大器电路520通过差分放大来比较来自电容器c1的信号和来自电容器c2的信号,并且放大指示比较结果的信号。

如上所述,信号sc的信号电平可以在信号sen的信号电平被设置为“h”电平之前的时机(例如,在时间t13a)被设置为“l”电平,或者可以在信号sen的信号电平被设置为“h”电平之后的较晚的时机被设置为“l”电平。

在时间t15a,控制信号sen的信号电平被设置为“l”电平。

因此,感测放大器电路520被去激活。感测放大器电路520的比较结果被锁存在感测放大器电路520中。

在从时间t16a到时间t17a的周期中,感测放大器电路520的信号处理的结果作为通过自参考方法读取的数据dout2从存储器电路10被输出。

在输出数据dout之后,存储器电路10执行回写处理。

在从时间t18a到时间t19a的周期中,为了通过回写处理来将读取的值(数据dout2)写回到选择的单元mc,控制信号mtj-wr的信号电平被设置为“h”电平。由此,对应于数据dout2的写入电流被供应到选择的单元mc。要保持的数据被写入到选择的单元mc。

通过自参考方法读取的数据dout2被存储在读取缓冲器电路220中。

在输出控制电路200中,当基于参考单元方法的数据dout1和基于自参考方法的数据dout2在缓冲器电路210和220中对准时,比较电路231比较读取缓冲器电路210的数据的值和读取缓冲器电路220的数据的值。

比较电路231输出与在两条数据dout1和dout2中的数据单元du的比较结果对应的确定信号er。

当基于比较结果两条数据dout1和dout2匹配时,认为通过参考单元方法的数据dout1的值有效。

因此,输出控制电路200将包括有效信号svld的标记flg发送到处理器9。

如图14所示,当处理器9接收包括有效信号svld的标记flg时,在使用基于参考单元方法的数据的计算处理p1完成之后,处理器9提交计算处理的结果。

在这种情况下(当通过参考单元方法的数据有效时),扩展重排序缓冲器606将与数据dout1对应的每个项目的标记fx设置为有效标记(“v”)。扩展重排序缓冲器606将状态标记设置为提交。

例如,高速缓存控制器601基于来自mram1的有效信号svld,将数据dout1的值或与使用数据dout1的计算处理对应的值写入到数据高速缓存600中。

例如,基于有效信号svld,指令高速缓存控制器603将数据dout1的值或与使用数据dout1的计算处理对应的值写入到指令高速缓存602中。

命令队列605将有效标记(“v”)指派给队列605中的对应指令。此外,当在指令中没有错误时,命令队列605设置标记fx中的有效标记(“v”)。

如上所述,当实施例的计算机系统中的基于参考单元方法的数据和基于自参考方法的数据匹配时,通过使用通过参考单元方法的数据的推测计算处理p1获得期望的计算结果。

图17是当本实施例的计算机系统中的基于参考单元方法的数据和基于自参考方法的数据不匹配时的时序图。

如图14和图15的示例中那样,mram1依次执行通过参考单元方法的读取操作和通过自参考方法的读取操作。

核心电路99使用基于参考单元方法的数据来执行推测计算处理p1。推测计算处理p1与mram1中的通过自参考方法的读取操作并行地执行。

在mram1中,比较电路231比较通过不同方法读取的两条数据dout1和dout2。

当两条数据dout1和dout2不匹配时,在mram1中,输出控制电路200将包括错误信号xx的标记flg传送到处理器9。错误信号xx指示数据值不匹配的数据单元du的位置。

当两条数据dout1和dout2不匹配时,输出控制电路200将通过自参考方法读取并且充当校正数据的数据dout2发送到处理器9。

例如,当由彼此对应的数据单元du执行两条数据的比较时,输出控制电路200选择性地传送数据值不匹配的数据单元du。输出控制电路200不将具有相同数据值的数据单元du从mram1传送到处理器9。

在图17的示例中,通过自参考方法的数据中的第二数据单元du2b和第四数据单元du4b作为校正数据从mram1被传送到处理器9。第一数据单元和第三数据单元du1b和du3b不被传送。

在这种情况下,指示数据dout1的第二数据单元和第四数据单元错误的错误信号(例如,“0101”信号)xx作为标记flg被传送。

处理器9使用基于来自mram1的标记flg的数据dout2和校正数据dout2执行计算处理p2。

如在本实施例中那样,当校正数据作为数据单元du从mram1被传送到处理器9时,这是数据单元中的数据传送和计算处理。因此,本实施例的计算机系统可以缩短数据传送的周期和计算处理的周期。

基于mram1的标记flg,当用于计算处理的数据被校正时(当通过参考单元方法的数据无效时),处理器9用基于自参考方法的校正数据du2b和du4b替换在错误信号xx的校正位置处指示的数据du2a和du4a。处理器9通过使用数据du2b和du4b来执行重新计算处理p2。

例如,核心电路99经由数据高速缓存控制器601将校正数据(通过自参考方法的数据)dout2写入到数据高速缓存600中。

因此,无错误的数据被存储在数据高速缓存600中。当数据单元du作为校正数据dout2被传送时,分别用通过参考单元方法的数据dout1中的对应的数据单元du2a和du4a来替换数据单元du2b和du4b。

例如,基于错误信号xx,指令高速缓存控制器603将与错误信号xx一起传送的校正数据(通过自参考方法的数据)dout2的数据单元du2b和du4b写入到指令高速缓存602中。因此,指令高速缓存602中的数据被无错误的数据替换并且被存储。

与向指令高速缓存602写入数据并行地,指令高速缓存控制器603将错误信号和校正数据dout2传送到命令队列605。

当在数据中存在错误时,命令队列605基于校正数据dout2将队列605中的指令(或数据)重写为正确值。命令队列605将有效标记(“v”)指派给被重写为正确值的指令的标记zz。

当在命令队列605中发出指令时,指令从队列605中消失。因此,在一些情况下,在命令队列605中不存在对应于数据的指令。

在这种情况下,在扩展重排序缓冲器606中形成对应于丢失的指令的条目。如果在指令中存在错误,则将正确指令写入命令队列605,并且扩展重排序缓冲器606中的后续条目被删除(冲刷)。以这种方式,由于在包括错误的指令之后的操作结果的正确性不被保证,因此包括错误的指令的后续条目的值被删除。

基于错误信号xx,扩展重排序缓冲器606冲刷与标记flg一起被接收的校正数据dout2所对应的条目之后的所有条目。扩展重排序缓冲器606将校正数据(数据单元)dout2写入数据保持区域660中。

例如,在条目被冲刷之后,通过来自命令发布部件604的新指令或通过扩展重排序缓冲器606的被写回到命令队列605的条目来继续计算处理。

对于每个条目,当使用校正数据的计算处理完成并且标记flg变得有效时,扩展重排序缓冲器606将状态标记设置为提交(commit)。

以这种方式,处理器9使用校正数据dout2来执行重新计算处理p2。重新计算处理的结果被提交。重新计算处理的结果被写入高速缓存600和602以及寄存器607中的每一个。

如上所述,当本实施例的计算机系统中的基于参考单元方法的数据和基于自参考方法的数据不匹配时,用通过自参考方法的数据来替换通过参考单元方法的数据。在本实施例的计算机系统中,可以通过使用通过自参考方法的数据的计算处理p2来获得期望的计算结果。

如上所述,本实施例的计算机系统的操作完成。

(3)总结

如上所述,本实施例的计算机系统和本实施例的存储器设备使用两种不同的读取方法来读取数据,并且基于读取的数据执行计算处理。

在本实施例的计算机系统中,mram通过参考单元方法通过相对高速的读取操作来读取数据。

在本实施例的计算机系统中,与处理器使用基于通过参考单元方法的读取操作的数据来执行计算处理(推测计算处理)并行地,mram执行通过自参考方法的读取操作方法。

在本实施例中,比较基于通过参考单元方法的读取操作的数据和基于通过自参考方法的读取操作的数据。

在本实施例的计算机系统中,当两条数据不匹配时,处理器使用基于通过可靠性相对较高的自参考方法的读取操作的数据来重新执行计算处理。

由此,如上所述,本实施例的计算机系统可以加快操作,并且提高操作的可靠性。

在本实施例中,通过基于数据的比较结果的标记来通知关于读取数据的错误信息。此外,在本实施例中,通过设置标记来确定来自处理器中的mram的数据(和基于数据的计算结果)的适用性。

因此,在本实施例的计算机系统中,能够避免系统和处理器的配置的大的变化以及处理的复杂性。

由此,本实施例的计算机系统和存储器设备能够实现高速操作,并且提高计算处理的可靠性。

[c]第二实施例

将参照图18和图19描述第二实施例的计算机系统和存储器设备。

(c1)配置示例

图18示出本实施例的计算机系统中的存储器设备(例如,mram)中的读取电路的示例。

如图18所示,在本实施例的mram的读取电路126中,感测放大器部件261a包括四个电容器c1a、c2a、c3a和c4a。

电容器c1a和c2a被用于通过参考单元方法的读取操作。

电容器c1a的一端连接到开关元件sw1a与开关元件swx1之间的连接节点。电容器c1a的另一端接地。

电容器c1a经由开关sw1a连接到由多路复用器241选择的位线bbl。电容器c1a经由开关元件swx1连接到感测放大器电路520的一个输入端子。

电容器c2a的一端连接到开关元件sw2a和开关元件swx2之间的连接节点。电容器c2a的另一端接地。

电容器c2a经由开关sw2a连接到参考单元rc。电容器c2a经由开关元件swx2连接到感测放大器电路520的另一个输入端子。

电容器c1a和c2a可以是连接到感测放大器电路520的输入端子的电容元件。电容器c1a可以是包括在连接感测放大器电路520的输入端子与存储器单元阵列(选择的单元)的互连件(和元件)中的电容成分(寄生电容)。电容器c2a可以是包括在连接感测放大器电路520的输入端子与参考单元的互连件(和元件)中的电容分量(寄生电容)。

电容器c3a和c4a被用于通过自参考方法的读取操作。

电容器c3a的一端连接到开关元件sw3a与开关元件swz1之间的连接节点。电容器c1a的另一端接地。

电容器c3a经由开关sw3a连接到由多路复用器241选择的位线bbl。电容器c3a经由开关元件swz1连接到感测放大器电路520的一个输入端子。

电容器c4a的一端连接到开关元件sw4a与开关元件swz2之间的连接节点。电容器c4a的另一端接地。

电容器c4a经由开关sw4a连接到由多路复用器241选择的位线bbl。电容器c4a经由开关元件swz2连接到感测放大器电路520的另一输入端子。

电容器c3a和c4a可以是连接到感测放大器电路520的输入端子的电容元件。电容器c3a和c4a可以是包括在连接感测放大器电路520的输入端子与存储器单元阵列(选择的单元)10的每个互连件(和元件)中的电容成分(寄生电容)。

开关元件sw1a控制选择的单元mc与电容器c1a之间的连接。

开关元件sw1a的一端连接到多路复用器241的端子。开关元件sw1a的另一端连接到开关元件swx1和电容器c1a的一端。

开关元件sw2a控制参考单元rc与电容器c2a之间的连接。

开关元件sw2a的一端连接到参考单元rc。开关元件sw2a的另一端连接到开关元件swx2和电容器c2的一端。

开关元件sw3a控制选择的单元mc与电容器c3a之间的连接。

开关元件sw3a的一端连接到多路复用器241的端子。开关元件sw3a的另一端连接到开关元件swz1和电容器c3a的一端。

开关元件sw4a控制选择的单元mc与电容器c4a之间的连接。

开关元件sw4a的一端连接到多路复用器241的端子。开关元件sw4a的另一端连接到开关元件swz2和电容器c4a的一端。

不同的控制信号s1、s2、s3和s4被供应到开关元件sw1a、sw2a、sw3a和sw4a的栅极。因此,彼此独立地控制开关元件sw1、sw2、sw3和sw4的接通/关断。

开关元件swx1控制电容器c1a与感测放大器电路520之间的连接。开关元件swx1的一端连接到电容器c1a和开关元件sw1a。开关元件swx1的另一端连接到感测放大器电路520的一个输入端子。

开关元件swx2控制电容器c2a与感测放大器电路520之间的连接。开关元件swx2的一端连接到电容器c2a和开关元件sw2a。开关元件swx2的另一端连接到感测放大器电路520的另一个输入端子。

开关元件swz1控制电容器c3a与感测放大器电路520之间的连接。开关元件swz1的一端连接到电容器c3a和开关元件sw3a。开关元件swz1的另一端连接到感测放大器电路520的一个输入端子。

开关元件swz2控制电容器c4a与感测放大器电路520之间的连接。开关元件swz2的一端连接到电容器c4a和开关元件sw4a。开关元件swz2的另一端连接到感测放大器电路520的另一输入端子。

公共控制信号sc1被供应到开关元件swx1和swx2的栅极。

因此,开关元件swx1和swx2的接通/关断被共同控制。

公共控制信号sc2被供应到开关元件swz1和swz2的栅极。

因此,开关元件swz1和swz2的接通/关断被共同控制。

可以与控制信号sc2的信号电平独立地控制控制信号sc1的信号电平。

感测放大器部件261a可以连接到位线bl。在这种情况下,感测放大器部件261a保持由位线bl的放电引起的电荷。

图18的读取电路可以通过下面的图19所示的操作实现相对高速的操作。

(c2)操作示例

图19是用于解释本实施例的mram中的读取操作的时序图。

如图19所示,读取操作在时间t0开始。驱动器500和590经由在on状态下的开关元件csw和499向单元mc和rc中的每一个供应电压或电流。

在时间t1b,信号s1、s2和s3的信号电平被设置为“h”电平。

电容器c1a经由on状态下的开关元件sw1a(和多路复用器241)通过由选择的单元mc的读取电流ird引起的电荷被充电。

电容器c3a经由on状态下的开关元件sw3a(和多路复用器241)通过由选择的单元mc的读取电流ird引起的电荷被充电。

来自参考单元的电流iref经由on状态下的开关元件sw2a被供应到电容器c2a。电容器c2a通过由电流iref引起的电荷被充电。

开关元件s4a的信号电平被设置为“l”电平。电容器c4通过off状态下的开关元件s4a与选择的单元电气分离。

在本实施例中,与用于通过参考单元方法的读取操作的电容器c1a和c2a的充电同时地,执行用于通过自参考方法的第一数据读取的电容器c3a的充电。

在时间t2b,信号s1、s2和s3的信号电平被设置为“l”电平。因此,电容器c1a和c3a通过off状态下的开关元件sw1a和sw3a与选择的单元mc电气分离。电容器c2a通过off状态下的开关元件sw2a与参考单元rc电气分离。

在从时间t1b到时间t2b的周期中,电容器的用于通过自参考方法的读取操作中的第一读取的充电周期与电容器的用于通过参考单元方法的读取操作的充电周期重叠。

在时间t3b,信号sc1的信号电平被设置为“h”电平。

因此,对应于在电容器c1a和c2a中被充电的电荷的信号分别被供应到感测放大器电路520的两个输入端子。

此时,信号sc2被设置为“l”电平。因此,充电状态中的电容器c3a通过处于off状态中的开关元件swz1与感测放大器电路520电气分离。

在时间t5b,感测使能信号sen的信号电平被设置为“h”电平。因此,感测放大器电路520被激活。

在时间t4b,为了使电容器c1a和c2a与感测放大器电路520电气分离,信号sc1的信号电平被设置为“l”电平。

然而,信号sc1的信号电平可以在时间t5b之后(例如,在时间t5b与时间t6b之间的时机)被设置为“l”电平。

感测放大器电路520感测来自电容器c1a的信号和来自电容器c2a的信号。感测放大器电路520通过差分放大来比较两个感测的信号的大小,并且放大比较结果。

在时间t6b,感测使能信号sen的信号电平被设置为“l”电平。因此,感测放大器电路520被去激活。比较结果被锁存于感测放大器电路520中。

电容器c1a和c2a的信号的比较结果对应于通过参考单元方法的读取操作的数据。以这种方式,执行通过参考单元方法的读取操作。

在从时间t7b到时间t8b的周期中,感测放大器电路520的信号处理的结果作为通过参考单元方法读取的数据dout1被输出。

在本实施例中,在通过参考单元方法的读取操作期间,执行通过自参考方法的读取操作中的第一数据读取(内部读取)。

在电容器c3a中累积的信号电荷是通过自参考方法的读取操作中的第一数据读取的结果。

因此,在本实施例中,在完成通过参考单元方法的数据的输出之后,预定数据(例如,“1”数据)被写入到选择的单元。

在从时间t9b到时间t10b的周期中,控制信号mtj-wr被设置为“h”电平。因此,写入电路125被激活。对应于参考数据的写入电流被供应到选择的单元mc中的mtj元件400。

在控制信号mtj-wr被设置为“l”电平之后,信号s4的信号电平在时间t11b被设置为“h”电平。

因此,通过自参考方法的读取操作中的第二数据读取被执行。电容器c4a经由处于on状态中的开关元件sw4a(和多路复用器241)通过由选择的单元mc的读取电流ird引起的电荷被充电。

在时间t12b,信号s4的信号电平被设置为“l”电平。因此,电容器c4a通过off状态下的开关元件sw4与选择的单元电气分离。

在时间t13b,控制信号sc2的信号电平被设置为“h”电平。

因此,电容器c3a和c4a经由on状态下的开关元件swz1和swz2电连接到感测放大器电路520。因此,电容器c3a和c4a的电荷分别被供应到感测放大器电路520的两个输入端子。

在时间t15b,感测使能信号sen的信号电平被设置为“h”电平。因此,感测放大器电路520b被激活。

在时间t14b,为了使电容器c3a和c4a与感测放大器电路520电气分离,信号sc2的信号电平被设置为“l”电平。

然而,信号sc2的信号电平可以在时间t15b之后(例如,在时间t15b与时间t16b之间的时机)被设置为“l”电平。

感测放大器电路520感测来自电容器c3a的信号和来自电容器c4a的信号。感测放大器电路520比较感测的信号并放大比较结果。

在时间t16b,感测使能信号sen的信号电平被设置为“l”电平。因此,感测放大器电路520被去激活。比较结果被锁存在感测放大器电路520中。

电容器c3a和c4a的信号的比较结果对应于通过自参考方法的读取操作的数据。以这种方式,执行通过自参考方法的读取操作。

在从时间t17b到时间t18b的周期中,感测放大器电路520的信号处理的结果作为通过自参考方法读取的数据dout2被输出。

在从时间t19b到时间t20b的周期中,为了将读取的数据dout2的值写回到选择的单元,控制信号mtj-wr被设置为“h”电平。对应于数据dout2的写入电流通过激活的写入电路125被供应到选择的单元mc中的mtj元件400。

以这种方式,在选择的单元上执行回写处理,在选择的单元中数据已经由通过自参考方法的读取操作破坏。

如上所述,完成了数据读取操作,在该数据读取操作中本实施例的mram中的通过参考单元方法的读取操作和通过自身参考方法的读取操作持续。

(c3)总结

在上文描述的第一实施例的mram中,在通过参考单元方法的读取操作的数据被输出之后,执行通过自参考方法的读取操作中的第一读取(电容器的充电)。

另一方面,当如在本实施例中那样使用图18的感测放大器部件时,与用于通过参考单元方法的读取操作的电容器c1a和c2a的充电同时执行用于通过自参考方法的读取操作的电容器c3a的充电。

因此,紧接在完成基于参考单元方法的数据dout1的输出之后,可以执行将参考数据写入mtj元件。

相应地,本实施例的mram可以加速读取操作。

因此,本实施例的包括mram的计算机系统可以缩短计算处理的周期。

如上所述,本实施例的计算机系统和存储器设备能够实现高速操作。

[d]第三实施例

将参照图20描述第三实施例的计算机系统和存储器设备。

如参照图4描述的那样,在mram中的通过破坏性自参考方法的读取操作中,在两次读取操作(电容器的两次充电)期间,执行向mtj元件供应与预定数据(参考数据)对应的写入电流的步骤。

在通过自参考方法的读取操作时,为了恢复由于在两次读取操作之间写入参考数据被破坏的数据,在第二读取之后,执行写回读取数据(回写处理)的步骤。

因此,通过破坏性自参考方法的读取操作的执行周期比通过参考单元方法的读取操作的执行周期长。

在本实施例的mram中,通过利用mtj元件的电阻值的电压依赖性来执行读取操作,由此可以在不在两次读取之间供应写入电流(不破坏数据)的情况下通过自参考方法从存储器单元读取数据。

(d1)原理

参照图20和图21描述本实施例的mram中的通过非破坏性自参考方法的读取操作的原理。

图20是示出磁阻效应元件(mtj元件)的电阻值的电压依赖性的图。

在图20中,图的横轴对应于施加到mtj元件的电压,图的纵轴对应于mtj元件的电阻值。在图20中,示出平行状态(p状态)中的mtj元件的特性pl1和反并行状态(ap状态)中的mtj元件的特性pl2。

如图20所示,作为mtj元件的电阻值与施加电压之间的关系的趋势,随着施加的电压增加,mtj元件的电阻值降低。如果不向mtj元件施加写入电压(写入电流)或击穿电压,则即使mtj元件的电阻值由于施加电压的增加而降低,mtj元件的磁化对准也被维持。

p状态中的mtj元件的电阻值的电压依赖特性pl1与ap状态中的mtj元件的电阻值的电压依赖特性pl2不同。

如特性pl1所示,即使施加的电压从电压值vr1增加到电压值vr2,p状态中的mtj元件的电阻值的变化量(减少量)z1也较小。

另一方面,如特性pl2所示,在从电压值vr1到电压值vr2的施加电压的范围中,ap状态中的mtj元件的电阻值的变化量z2大于p状态中的mtj元件的电阻值的变化量z1。

例如,当电压vr2被施加到mtj元件时,ap状态中的mtj元件的电阻值具有接近p状态中的mtj元件的电阻值的值。

以这种方式,在向mtj元件施加一定电压的情况下的mtj元件的电阻值以及mtj元件的电阻值对于施加电压的变化量z1和z2根据mtj元件的磁化对准状态而不同。

在本实施例的mram1中,通过利用由于电压依赖性导致的mtj元件的电阻值的变化量z1和z2之间的差异,通过从具有不同的电压施加状态的选择的单元获得的两个值(输出),确定与mtj元件400的电阻状态对应的数据。

本实施例的mram使用如上文描述的mtj元件的电阻值的电压依赖性,以在不破坏mtj元件的数据的情况下执行通过自参考方法的读取操作。

图21是用于解释本实施例的mram中的读取操作的示意图。

图21的(a)是示出由于在施加电压vr1时来自mtj元件的输出电流导致的一定节点(互连件)的充电电势与时间之间的关系的示意图。在图21的(a)中,图的横轴对应于时间,图的纵轴对应于充电电势。

图21的(b)是示出由于在施加电压vr2(vr2>vr1)时来自mtj元件的输出电流导致的一定节点(互连件)的充电电势与时间之间的关系的示意图。在图21的(b)中,图的横轴对应于时间,图的纵轴对应于充电电势。

在图21的(a)和(b)的每一个中,示出指示ap状态中的mtj元件中的充电电势与时间之间的关系的特征线p2a和p2b与指示p状态中的mtj元件中的充电电势与时间之间的关系的特性线p3a和p3b。

在图21的(a)和(b)中,特性线p1a和p1b指示具有在处于p状态的mtj元件的电阻值与处于ap状态的mtj元件的电阻值之间的电阻值的mtj元件中的时间与充电电压之间的关系。特性线p1a和p1b对应于在处于p状态的mtj元件的充电电势与处于ap状态的mtj元件的充电电势之间的充电电势的变化。

如图21的(a)所示,在从开始施加电压vr1到时间ta的周期(充电周期)t1中,一定节点通过mtj元件的输出电流(存储器单元的读取电流)被充电。

由此,在时间ta,根据mtj元件的电阻状态,一定节点的充电电势达到一定电势vap1和vp1。

如特征线p2a所指示的,对于ap状态中的mtj元件,一定节点在时间ta被充电到电势vap1。

如特征线p3a所指示的,对于p状态中的mtj元件,一定节点在时间ta被充电到电势vp1。

如参照图20描述的,当施加电压vr1时,p状态中的mtj元件的电阻值小于ap状态中的mtj元件的电阻值。因此,在周期t1中,从p状态中的mtj元件输出的电流的量(充电量)大于从ap状态中的mtj元件输出的电流的量。

因此,在时间ta,连接到p状态中的mtj元件的节点的充电电势vp1高于连接到ap状态中的mtj元件的节点的充电电势vap1。

如特征线p1a所指示的,在具有处于p状态的mtj元件的电阻值与处于ap状态的mtj元件的电阻值之间的电阻值的mtj元件中,在时间ta的电势为电势vref。电势vref是在充电电势vpa与充电电势vapa之间的值。

例如,周期t1对应于读取电压vr1的脉冲宽度(读取电压施加周期)w1。

如图21的(b)所示,通过电压vr2(>vr1)所施加到的mtj元件(存储器单元)的输出电流,一定节点被充电。在处于p状态的mtj元件中的充电电势与处于ap状态的mtj元件中的充电电势之间的关系中,与图21的(a)中的示例类似,在图21的(b)中的某一时间,处于p状态的mtj元件中的充电电势高于处于ap状态的mtj元件中的充电电势。

如参照图20描述的那样,由于mtj元件的电阻值随着施加到mtj元件的电压vr2的增加而减小,因此从存储器单元输出的电流增加。因此,当高于电压vr1的电压vr2被施加到包括mtj元件的存储器单元时,在施加电压vr2时的节点的充电速度高于在施加电压vr1时的节点的充电速度。

在从开始施加电压vr2到时间tb的周期t2中,如图21的(b)中的特性线p2b和p3b所指示的,在施加电压vr2时的mtj元件中的节点的充电电势的变化比在施加电压vr1时的mtj元件中的节点的充电电势的变化更陡。

当向mtj元件施加电压vr2时,在与p状态中的mtj元件相关的节点的充电电势和与ap状态中的mtj元件有关的节点的充电电势之间的电压值在比周期t1短的周期t2中达到电压值vref。

在施加电压vr2时的时间tb的电压值vref是与在施加电压vr1时的时间ta的电压值vref相同的值。

在时间tb,处于p状态的mtj元件中的节点的充电电势具有高于电压值vref的电压值vp2。在时间tb,处于ap状态的mtj元件中的节点的充电电势具有低于电压值vref的电压值vap2。

然而,对于处于p状态的mtj元件,在时间tb的电压值vp2低于在时间ta的电压值vp1。

相反,对于处于ap状态的mtj元件,在时间tb的电压值vap2高于在时间ta的电压值vap1。

在施加电压vr1时的时间ta的充电电势与在施加电压vr2时的时间tb的充电电势之间的大小关系在处于ap状态的mtj元件与处于p状态的mtj元件之间反转,并且,如参照图20描述的,这是因为,由于mtj元件的电阻值的电压依赖性,因此处于ap状态的mtj元件的电阻值的减小量大于处于p状态的mtj元件的电阻值的减小量。

以这种方式,在本实施例的mram中,当使用两个不同的电压vr1和vr2时,在一定节点到达公共电压值vref的时间ta和tb,该节点的充电电势的大小关系在处于p状态的mtj元件与处于ap状态的mtj元件之间相反。

本实施例的mram使用读取电压vr1和vr2,读取电压vr1和vr2被设置以使得能够基于mtj元件的电阻值的电压依赖性来比较充电电势,以比较在施加读取电压vr1时的一定节点的充电电势与在施加读取电压vr2时的一定节点的充电电势。

从开始施加电压vr到时间ta的周期t1对应于读取电压vr1的脉冲宽度w1。从开始施加电压vr2到时间tb的周期t2对应于读取电压vr2的脉冲宽度w2。周期t2比直到充电电势由于mtj元件100的输出而达到饱和状态的周期短。第一读取周期t1(第一读取电压vr1的脉冲宽度w1)可以与第二读取周期t2(第二读取电压vr2的脉冲宽度w2)相同。

在本实施例的mram中,考虑到节点的充电电势达到一定公共电势的周期,电压vr1和vr2的脉冲宽度w1和w2被控制,以使得对于p状态中的mtj元件,在施加电压vr2时的节点的充电电势低于在施加电压vr1时的节点的充电电势,并且对于ap状态中的mtj元件,在施加电压vr2时的节点的充电电势高于在施加电压vr1时的节点的充电电势。

因此,在本实施例的mram中,即使为了判别选择的单元中的数据而对选择的单元执行具有不同的电压值的读取电压vr1和vr2的施加,也可以执行基于施加两个读取电压vr1和vr2来比较与p状态中的mtj元件有关的两个充电电势,以及基于施加两个读取电压vr1和vr2来比较与ap状态中的mtj元件有关的两个充电电势。

读取电压vr1和vr2的电压值和脉冲宽度w1和w2可以基于mram的实验结果、模拟结果和mram的芯片的测试过程而被设置。实验结果和测试过程作为关于读取电压(和写入电压)的设置信息被保持在mram1的芯片中。

图18的读取电路可以被用于本实施例的mram的读取电路的配置。

(d2)操作示例

将参照图22描述本实施例的mram的操作示例。

图22是用于解释本实施例的mram中的读取操作的时序图。

如图22所示,在从时间t1c到时间t2c的周期中,开关元件sw1a、sw2a和sw3a被设置为on状态,并且电容器c1a、c2a和c3a被充电。当电容器c1a、c2a和c3a被充电时,从读取驱动器500和590向位线bl施加电压vr1。

因此,执行用于通过参考单元方法的读取和通过自参考方法的读取操作中的第一读取的电容器的充电。

在信号s1、s2和s3的信号电平被设置为“l”电平(时间t2c)之后,信号sc1的信号电平在时间t3c被设置为“h”电平。因此,电容器c1a和c2a的信号被供应到感测放大器电路520。

随后,信号s4的信号电平被设置为“h”电平(例如,在时间t4c),在通过自参考方法的读取操作中的第二读取中,电容器c4a经由on状态下的开关元件sw4a通过由选择的单元mc的读取电流irdb引起的电荷被充电。

在本实施例中,不在电容器c3a的充电与电容器c4a的充电之间执行用于写入参考数据的写入电流的供应。

在本实施例的通过非破坏性自参考方法的读取操作中,当电容器c4a被充电时,从读取驱动器500向位线bl施加电压vr2。

电压vr2高于电压vr1。例如,电压vr2的脉冲宽度小于电压vr1的脉冲宽度。

在本实施例中,与在通过参考单元方法的读取操作中向感测放大器电路520供应在电容器c1a和c2a中被充电的电荷并行地,执行通过自参考方法的读取操作中的第二读取。

在时间t5c,信号sc1的信号电平被设置为“l”电平。因此,电容器c1a和c2a与感测放大器电路520电气分离。

在时间t6c,信号s4的信号电平被设置为“l”电平。电容器c4a通过off状态下的开关元件sw4a与选择的单元mc电气分离。电压vr2的脉冲宽度可以通过开关元件sw4a的on/off周期(信号s4的“h”电平的周期)被控制。

在时间t7c,感测使能信号sen的信号电平被设置为“h”电平。因此,感测放大器电路520被激活。感测放大器电路520将来自电容器c1a的信号和来自电容器c2a的信号进行比较(差分放大)。

在时间t8c,控制信号sen的信号电平被设置为“l”电平。因此,感测放大器电路520被去激活。

在从时间t9c到时间t10c的周期中,感测放大器电路520的信号处理的结果作为由参考单元方法读取的数据dout1被输出。

在时间t11c,控制信号sc2的信号电平被设置为“h”电平。

因此,在电容器c3a和c4a中被充电的电荷分别被供应到感测放大器电路520的两个输入端子。

开关元件sw4a的激活时机不限于从时间t4c到时间t6c的时机,只要该时机早于控制信号sc2被设置为“h”电平的时间即可。

在时间t12c,控制信号sc2的信号电平被设置为“l”电平。

因此,电容器c3a和c4a通过off状态下的开关元件swz1、swz2与感测放大器电路520电气分离。

在时间t13c,控制信号sen的信号电平被设置为“h”电平。

因此,感测放大器电路520被激活。感测放大器电路520比较来自电容器c3a和c4a的供应信号。

在时间t14c,感测使能信号sen的信号电平被设置为“l”电平。

在从时间t15c到时间t16c的周期中,感测放大器电路520的信号处理的结果作为通过自参考方法读取的数据dout2被输出。

为了确保存储器单元中的数据的可靠性,可以在输出数据dout2之后执行回写处理。

如上所述,在本实施例的mram中,依次执行通过参考单元方法的读取操作和通过非破坏性自参考方法的读取操作。

(d3)总结

在本实施例的mram中,在通过自参考方法的读取操作时,可以在不在两个读取和回写数据之间供应写入电流的情况下执行通过自参考方法的读取操作。因此,本实施例的mram可以加速读取操作。

因此,本实施例的包括mram的计算机系统可以缩短计算处理的周期。

如上所述,本实施例的计算机系统和存储器设备可以实现高速操作。

[e]第四实施例

将参照图23到图25描述第四实施例的计算机系统和存储器设备。

(e1)配置示例

将参照图23描述本实施例的计算机系统的配置示例。

图23示出本实施例的计算机系统中的存储器设备(例如,mram)中的读取电路的示例。

如图23所示,在本实施例的mram的读取电路126中,感测放大器部件261b包括四个电容器c1a、c2a、c3a和c4a、两个感测放大器电路520a和520b以及选择电路550。

电容器c1a和c2a以及感测放大器电路520a被用于通过参考单元方法的读取操作。

电容器c1a经由开关元件swx1连接到感测放大器电路520a的一个输入端子。电容器c2a经由开关元件swx2连接到感测放大器电路520a的另一输入端子。

控制信号sen1被供应到感测放大器电路520a。感测放大器电路520a的激活/去激活由控制信号sen1控制。

电容器c1a和c2a可以是连接到感测放大器电路520a的输入端子的电容元件。电容器c1a可以是包含在连接感测放大器电路520a的输入端子与存储器单元阵列(选择的单元)10的互连件(和元件)中的电容分量(寄生电容)。电容器c2a可以是包含在连接感测放大器电路520a的输入端子与参考单元rc的互连件(和元件)中的电容分量(寄生电容)。

电容器c3a和c4a以及感测放大器电路520b被用于通过自参考方法的读取操作。

电容器c3a经由开关元件swz1连接到感测放大器电路520b的一个输入端子。电容器c4a经由开关元件swz2连接到感测放大器电路520b的另一输入端子。

控制信号sen2被供应到感测放大器电路520b。感测放大器电路520b的激活/去激活由控制信号sen2控制。控制信号sen2的信号电平与控制信号sen1的信号电平独立地被控制。因此,感测放大器电路520b可以与感测放大器电路520a独立地被驱动。

电容器c3a和c4a可以是连接到感测放大器电路520b的输入端子的电容元件。电容器c3a和c4a可以是包含在连接感测放大器电路520b的输入端子与存储器单元阵列(选择的单元)10的每个互连件(和元件)中的电容分量(寄生电容)。

选择电路550的一个输入端子连接到感测放大器电路520a的输出端子。选择电路550的另一输入端子连接到感测放大器电路520b的输出端子。

选择信号(控制信号)sel被供应到选择电路550。

选择电路550基于选择信号sel选择感测放大器电路520a的输出信号或感测放大器电路520b的输出信号。

选择电路550将选择的信号作为读取数据dout输出。

感测放大器部件261b可以连接到位线bl。在这种情况下,感测放大器部件261b保持由位线bl的放电导致的电荷。

(e2)操作示例

将参照图24和图25描述本实施例的计算机系统的操作示例。

<操作示例1>

将参照图24描述本实施例的mram的操作示例1。

图24是用于解释本实施例的存储器设备中的图23所示的读取电路的操作示例的时序图。图24的时序图示出其中图23的读取电路执行通过破坏性自参考方法的读取操作的示例。

在时间t1d,信号s1、s2和s3的信号电平被设置为“h”电平。

电容器c1a和c3a经由on状态下的开关元件sw1a和sw3a通过选择的单元的电流被充电。电容器c2a经由on状态下的开关元件sw2a通过参考单元rc的电流被充电。

在时间t2d,信号s1、s2和s3的信号电平被设置为“l”电平。因此,电容器c1a和c3a通过off状态下的开关元件sw1a和sw3a与选择的单元mc电气分离。电容器c2a通过off状态下的开关元件sw2a与参考单元rc电气分离。

在时间t3d,信号sc1的信号电平被设置为“h”电平。因此,在电容器c1a和c2a中充电的电荷分别被供应到感测放大器电路520a的两个输入端子。

例如,在时间t4d,信号sc1的信号电平被设置为“l”电平。因此,电容器c1a和c2a通过off状态下的开关元件swx1和swx2与感测放大器电路520a的输入端子电气分离。

在时间t5d,感测使能信号sen1的信号电平被设置为“h”电平。因此,感测放大器电路520a被激活。

信号sc1的信号电平可以在时间t5d之后(例如,在时间t5d和时间t6d之间的时机)被设置为“l”电平。

通过差分放大,感测放大器电路520a比较来自电容器c1a的信号与来自电容器c2a的信号,并且放大比较结果。

此时,选择信号sel的信号电平被控制,以使得从选择电路550输出感测放大器电路520a的输出信号。例如,选择信号sel的信号电平被设置为“l”电平。

在时间t6d,控制信号sen1的信号电平被设置为“l”电平。

因此,感测放大器电路520a被去激活。比较结果被锁存在感测放大器电路520a(或选择电路550)中。

在时间t7d到时间t8d的周期中,通过处于“l”电平的选择信号sel,感测放大器电路520a的信号处理的结果作为通过参考单元方法读取的数据dout1从选择电路550的输出端子dout被输出。

在从时间t9d到时间t10d的周期中,控制信号mtj-wr的信号电平被设置为“h”电平。用于写入参考数据的写入电流通过激活的写入电路125被供应到选择的单元mc中的mtj元件400。

在时间tx,选择信号sel的信号电平被设置为“h”电平。因此,选择电路550被设置以便选择感测放大器电路520b的输出信号。

在时间t11d,信号s4的信号电平被设置为“h”电平。

在通过自参考方法的读取操作中的第二读取中,电容器c4a经由on状态下的开关元件sw4a通过由选择的单元mc的读取电流irdb引起的电荷被充电。

在时间t12d,信号s4的信号电平被设置为“l”电平。因此,电容器c4a通过off状态下的开关元件sw4a与选择的单元mc电气分离。

在时间t13d,控制信号sc2的信号电平被设置为“h”电平。

因此,在电容器c3a和c4a中被充电的电荷分别被供应到感测放大器电路520b的两个输入端子。

例如,在时间t14d,控制信号sc2的信号电平被设置为“l”电平。因此,电容器c3a和c4a通过off状态下的开关元件swz1和swz2与感测放大器电路520b的输入端子电气分离。

在时间t15d,感测使能信号sen2的信号电平被设置为“h”电平。因此,感测放大器电路520b被激活。

控制信号sc2的信号电平可以在时间t15d之后被设置为“l”电平。

感测放大器电路520b比较来自电容器c3a的信号和来自电容器c4a的信号,并且放大指示比较结果的信号。

在时间t16d,感测使能信号sen2的信号电平被设置为“l”电平。因此,感测放大器电路520b被去激活。

在从时间t17d到时间t18d的周期中,通过处于“h”电平的选择信号sel,感测放大器电路520a的信号处理的结果作为通过自参考方法读取的数据dout2从选择电路550的输出端子dout被输出。

在从时间t19d到时间t20d的周期中,写入电路125通过处于“h”电平的控制信号mtj-wr被激活。因此,在回写处理中,数据dout2被写入到选择的单元。

例如,在时间t19d与时间t20d之间的时间tz,选择信号sel的信号电平被设置为“l”电平。

如上所述,在本实施例的mram中,图23的读取电路依次执行基于通过自参考方法的读取操作的数据的输出与基于通过破坏性自参考方法的读取操作的数据的输出。

<操作示例2>

将参照图25描述本实施例的存储器设备的操作示例2。

图25是用于解释本实施例的存储器设备中的图23所示的读取电路的操作示例的时序图。

图25的时序图示出其中图23的读取电路执行通过非破坏性自参考方法的读取操作的示例。

如图25所示,在时间t1e,信号s1、s2和s3的信号电平被设置为“h”电平。

电容器c1a和c3a分别经由on状态下的开关元件sw1a和sw3a通过由选择的单元mc的读取电流irda引起的电荷被充电。

电容器c2a经由on状态下的开关元件sw2a通过由来自参考单元rc的电流iref引起的电荷被充电。通过将电压vr1施加到选择的单元mc和参考单元rc,生成读取电流irda和参考电流iref。

在时间t2e,信号s1、s2和s3的信号电平被设置为“l”电平。因此,电容器c1a和c3a通过off状态下的开关元件sw1a和sw3a与选择的单元mc电气分离。电容器c2a通过off状态下的开关元件sw2a与参考单元rc电气分离。

在时间t3e,信号sc1的信号电平被设置为“h”电平。

因此,在电容器c1a和c2a中充电的电荷分别被供应到感测放大器电路520a的两个输入端子。

在时间t4e,信号s4的信号电平被设置为“h”电平。

在通过自参考方法的读取操作中的第二读取中,电容器c4a经由on状态下的开关元件sw4a通过由选择的单元mc的读取电流irdb引起的电荷被充电。例如,通过向选择的单元mc施加电压vr2,产生读取电流irdb。

以这种方式,在不将参考数据写入到预定的单元的情况下,执行电容器c4a的充电。电容器c4a在电容器c1a和c2a的信号被供应到感测放大器电路520a的周期期间被充电。

在时间t5e,信号sc1的信号电平被设置为“l”电平。因此,电容器c1a和c2a通过off状态下的开关元件swx1和swx2与感测放大器电路520a的输入端子电气分离。

在时间t6e,信号s4的信号电平被设置为“l”电平。因此,电容器c4a通过off状态下的开关元件sw4a与选择的单元电气分离。

在时间t7e,感测使能信号sen1的信号电平被设置为“h”电平。因此,感测放大器电路520a被激活。

在时间t7e之后(例如,在时间t7e和时间t8e之间的时机),信号sc1的信号电平被设置为“l”电平。

感测放大器电路520a通过差分放大比较来自电容器c1a的信号与来自电容器c2a的信号,并且放大指示比较结果的信号。

此时,选择信号sel的信号电平被控制,以使得感测放大器电路520a的输出信号从选择电路550被输出。例如,选择信号sel的信号电平被设置为“l”电平。

在时间t8e,控制信号sen1的信号电平被设置为“l”电平。

因此,感测放大器电路520a被去激活。

在从时间t9e到时间t10e的周期中,通过处于“l”电平的选择信号sel,感测放大器电路520a的信号处理的结果作为通过参考单元方法读取的数据dout1从选择电路550的输出端子dout被输出。

在时间t11e,控制信号sc2的信号电平被设置为“h”电平。

因此,在电容器c3a和c4a中被充电的电荷分别被供应到感测放大器电路520b的两个输入端子。

开关元件sw4a的激活时机不限于从时间t4e到时间t6e的时机,只要时机早于控制信号sc2被设置为“h”电平的时间即可。

例如,在时间t11e与时间t12e之间的时间tx,例如选择信号sel的信号电平被设置为“h”电平。因此,感测放大器电路520b的输出信号被控制以便从选择电路550被输出。

在时间t12e,控制信号sc2的信号电平被设置为“l”电平。因此,电容器c3a和c4a通过off状态下的开关元件swz1和swz2与感测放大器电路520b的输入端子电气分离。

在时间t13e,感测使能信号sen2的信号电平被设置为“h”电平。因此,感测放大器电路520b被激活。

信号sc1的信号电平在时间t13e之后(例如,在时间t13e和时间t14e之间的时机)被设置为“l”电平。

感测放大器电路520b通过差分放大比较来自电容器c3a的信号与来自电容器c4a的信号,并且放大指示比较结果的信号。

此时,选择信号sel的信号电平被设置,以使得从选择电路550输出感测放大器电路520b的输出信号。例如,选择信号sel的信号电平在时间tx被设置为“h”电平。

在时间t14e,控制信号sen2的信号电平被设置为“l”电平。因此,感测放大器电路520b被去激活。

在从时间t15e到时间t16e的周期中,通过处于“h”电平的选择信号sel,感测放大器电路520b的信号处理的结果作为通过自参考方法读取的数据dout1从选择电路550的输出端子dout被输出。

如上所述,在本实施例的mram中,图23的读取电路依次执行通过参考单元方法的数据的输出和通过非破坏性自参考方法的数据的输出。

(e3)总结

如图23到图25所示,在本实施例的mram中,图23的读取电路可以依次执行通过参考单元方法的读取操作和通过自参考方法的读取操作。

在本实施例的mram的读取电路中,提供用于通过参考单元方法的读取操作的感测放大器电路520a和用于通过自参考方法的读取操作的感测放大器电路520b。两个感测放大器电路520a和520b各自独立地执行对应的电容器c1a、c2a、c3a和c4a的信号处理。

在本实施例的mram的读取电路中,选择电路550执行控制,以使得两条数据中的任一条被输出。

根据该组成,在本实施例的mram中,与感测放大器电路执行参考单元方法中的信号比较和自参考方法中的信号比较两者的情况相比,能够缩短用于将通过参考单元方法的数据和通过自参考方法的数据从mram传送到处理器的周期。

因此,本实施例的计算机系统和存储器设备可以实现高速操作。

[f]第五实施例

将参照图26和图27描述第五实施例的计算机系统和存储器设备。

(f1)配置示例

将参照26和图27描述本实施例的计算机系统和存储器设备的配置示例。

图26是用于解释本实施例的计算机系统的配置示例的框图。

在图26的计算机系统中,mram1包括错误检测/校正电路(在下文中还被称为ecc电路)250。

例如,ecc电路250被设置在i/f电路20的输出控制电路200中。

ecc电路250执行通过参考单元方法读取的数据和通过自参考方法读取的数据中的错误检测处理和对于检测的错误的校正处理。

来自存储器电路的数据经由ecc电路250存储在读取缓冲器电路210和220中的每一个中。

当从存储器电路10读取的数据的读取错误率高时,如本实施例中的包括ecc电路250的mram1是有效的。

图27是示出本实施例的mram中的输出控制电路的内部配置的框图。

如图27所示,ecc电路250从存储器电路10接收读取数据。

ecc电路250对读取的数据执行错误检测处理。

当检测到数据中的错误时,ecc电路250对检测到的错误执行校正处理。因此,数据中的错误被校正。

当检测和校正其错误的数据是基于参考单元方法的数据时,ecc电路250将校正的数据发送到读取缓冲器电路210。

当其错误被检测并且被校正的数据是基于自参考方法的数据时,ecc电路250将校正的数据发送到读取缓冲器电路220。

当未检测到数据中的错误时,ecc电路250在没有校正处理的情况下将数据供应到对应的读取缓冲器电路210或220。

(f2)操作示例

将描述本实施例的mram和计算机系统的操作示例。

在本实施例的mram的操作示例中,与上述实施例中的每个实施例的操作示例中一样,依次执行通过参考单元方法的读取操作和通过自参考方法的读取操作。

基于参考单元方法的数据dout1被供应到输出控制电路200中的ecc电路250。ecc电路250对数据dout1施加ecc处理。

经ecc处理的数据dout1被保持在读取缓冲器电路210中。

读取缓冲器电路210中的数据dout1被提前传送到处理器9。

处理器9使用基于参考单元方法的数据dout1来执行推测计算处理p1。

在存储器电路10中,在通过参考单元方法的读取操作之后,基于通过自参考方法的读取操作的数据dout2被供应到ecc电路250。

ecc电路250对数据dout2施加ecc处理。

经ecc处理的数据dout2被保持在读取缓冲器电路220中。当两条数据dout1和dout2在读取缓冲器电路210和220中对准时,比较电路231比较经ecc处理的数据dout1和dout2。

如上述实施例中的每个实施例中那样,当两条数据dout1和dout2匹配时,mram1向处理器9传送包括有效信号的标记。

基于有效信号,处理器9提交推测计算处理的结果。

当两条数据dout1和dout2不匹配时,mram1向处理器9传送包含错误信号的标记和通过自参考方法的数据dout2(对应于错误位置的数据单元du)。

基于错误信号,处理器9使用数据dout2执行重新计算处理。处理器9提交重新计算处理的结果。

如上所述,完成本实施例的通过计算机系统的计算处理。

(f3)总结

如上所述,在本实施例的计算机系统中,mram包括错误检测/校正电路。

即使当在mram中提供错误检测/校正电路的情况下,也以与上述实施例中的每个实施例基本上相同的操作来执行mram中的读取操作和处理器中的计算处理。

如在本实施例中,当mram包括错误检测/校正电路时,读取数据的可靠性进一步提高。

因此,在本实施例中,提高处理器中的计算处理的可靠性。

相应地,本实施例的计算机系统和存储器设备可以获得高可靠性。

[g]第六实施例

将参照图28到图31描述第六实施例的计算机系统和存储器设备。

(g1)配置示例

参照图28和图29描述本实施例的计算机系统和存储器设备的配置示例。

对基于参考单元方法的读取数据和基于自参考方法的读取数据的各种处理可以由处理器9执行。

图28是示出本实施例的计算机系统的配置示例的框图。

如图28所示,处理器9包括在存储器控制器90中的存储器处理电路910。

存储器处理电路910比较从mram1发送的通过参考单元方法的数据和通过自参考方法的数据,产生标记等。

当数据处理电路910被设置在处理器9侧时,在mram1的接口电路20中,读取缓冲器电路210和220在不经由控制电路的情况下连接到i/o电路234。

图29是用于解释本实施例的计算机系统中的数据处理电路910的内部配置的框图。

如图29所示,在处理器9侧的存储器控制器90内,数据处理电路910至少包括两个读取缓冲器电路911和912、比较电路913和控制电路914。

读取缓冲器电路911暂时保持来自mram1的基于参考单元方法的数据。

读取缓冲器电路912暂时保持来自mram1的基于自参考方法的数据。

比较电路913比较读取缓冲器电路911中的数据dout1与读取缓冲器电路912中的数据dout2。

当两条数据dout1和dout2匹配时,比较电路913输出包括有效信号的标记。当两条数据dout1和dout2不匹配时,比较电路913输出包括错误信号的标记。

控制电路914控制数据处理电路910中的每个电路。

(g2)操作示例

将参照图30和图31描述本实施例的计算机系统的操作示例。

图30和图31是用于解释本实施例的计算机系统的操作示例的时序图。

图30是本实施例的计算机系统中的基于参考单元方法的数据和基于自参考方法的数据匹配时的时序图。

如图30所示,mram1执行通过参考单元方法的读取操作x1。在mram1中,i/o电路234经由总线8将基于参考单元方法的数据dout1传送到存储器控制器90。

在通过参考单元方法的读取操作之后,mram1执行通过自参考方法的读取操作。在mram1中,i/o电路234在传送数据dout1之后经由总线8将基于自参考方法的数据dout2传送到存储器控制器90。

数据dout1和dout2被供应到存储器控制器90的数据处理电路901。

通过参考单元方法的数据dout1被存储在缓冲器电路911中。

数据处理电路910将数据dout1发送到核心电路99。

核心电路99对数据dout1执行推测计算处理p1。推测计算处理p1与通过自参考方法的读取操作x2并行地被执行。

例如,在推测计算处理p1的执行期间,通过自参考方法的数据dout2被存储在缓冲器电路912中。

在数据处理电路910中,比较电路913执行数据dout1与数据dout2之间的比较处理cm。

当数据dout1和dout2中的每一个包括多个数据单元du时,比较电路913如参照图12描述的那样对于对应的数据单元du1和du2中的每一个执行比较处理。

当两条数据dout1和dout2匹配时,数据处理电路910将包含有效信号svld的标记flg发送到核心电路99。

核心电路99基于有效信号svld提交推测计算处理p1的结果。

以这种方式,在本实施例的计算机系统中,完成在基于参考单元方法的数据dout1与基于自参考方法的数据dout2匹配的情况下的计算处理。

图31是本实施例的计算机系统中的基于参考单元方法的数据和基于自参考方法的数据不匹配时的时序图。

如图30的示例中那样,mram1依次执行通过参考单元方法的读取操作x1和通过自参考方法的读取操作x2。

核心电路99使用基于参考单元方法的数据dout1来执行推测计算处理p1。

数据处理电路910在推测计算处理p1的执行期间接收通过自参考方法的数据。

比较电路913通过比较处理cm对于数据单元du1和du2中的每一个,比较缓冲器电路911和912中的两条数据dout1和dout2。

如果两条数据dout1和dout2不匹配,则数据处理电路910向核心电路99发送标记、错误位置和校正数据(数据单元)。

核心电路99使用通过自参考方法的数据(数据单元)dout2作为校正数据来执行重新计算处理p2。

核心电路99提交重新计算处理p2的结果。

以这种方式,在本实施例的计算机系统中,完成在基于参考单元方法的数据和基于自参考方法的数据不匹配的情况下的计算处理。

ecc电路可以被设置在图29的数据处理电路910中,该数据处理电路910被设置在处理器侧。数据处理电路910中的ecc电路对来自mram1的数据dout1和dout2执行ecc处理。经ecc处理的数据被存储在数据处理电路缓冲器电路911和912中。

(g3)总结

如上所述,在本实施例的计算机系统中,来自mram1的通过参考单元方法的数据和通过自参考方法的数据经受处理器9中的电路进行的比较处理。

本实施例的计算机系统基于处理器9中的两条数据的比较结果来执行重新计算处理和计算处理结果的恰当性的确定。

即使在这种情况下,本实施例的计算机系统也可以执行与上述其他实施例的处理类似的处理。

因此,本实施例的计算机系统可以获得与上述实施例中的每个实施例基本上相同的效果。

相应地,本实施例的计算机系统可以实现高速处理并且提高可靠性。

[h]其它

在本实施例的存储器设备中,示出了通过对读取电路中的电容器进行充电来读取存储器单元中的数据的示例。在本实施例的存储器设备中,在读取电路中的每个读取方法中保持选择的单元的输出信号的电容器中,感测放大器电路感测和放大由根据来自选择的单元(和参考单元)的输出信号放电的电容器保持的电势(与电容器中的剩余电荷量对应的电势),由此可以读取存储器单元的数据。

作为本实施例的存储器设备的mram可以被安装在处理器9中。本实施例的mram可以被用于存储器控制器90中的存储器或核心电路99中的存储器中。

在本实施例的计算机系统中,示出了使用mram作为存储器设备的示例。然而,在本实施例中使用的存储器设备可以是除了mram以外的使用磁阻效应元件(例如,mtj元件)的磁性存储器。

本实施例中的存储器设备可以是除了mram(磁存储器)以外的存储器,只要它是两种不同读取方法可以被应用到的存储器设备即可。

例如,选自reram、pcram、离子存储器、dram、sram和闪存存储器的存储器设备可以被应用于本实施例的计算机系统和存储器设备。

在本实施例中,可以使用平面内(平行)磁化型mtj元件作为mtj元件400。在平面内磁化型mtj元件中,磁性层401和402的磁化方向基本上平行于磁性层的层表面。在平面内磁化型mtj元件中,在磁性层401和402的磁各向异性中,通过利用磁性层401和402的形状磁各向异性等,使得磁性层401和402的磁化方向基本上平行于磁性层的层表面。

虽然已经描述了某些实施例,但是这些实施例仅仅是作为示例给出的,并不旨在限制本发明的范围。事实上,在这里描述的新颖实施例可以以各种其他形式来体现;此外,在不脱离本发明的精神的情况下,可以对这里描述的实施例的形式进行各种省略、替换和改变。所附权利要求及其等价物旨在覆盖将落入本发明的范围和精神内的这些形式或修改。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1