[优选实施例说明]
下面参照附图对本发明的实施例进行详细说明。
[实施例1]
参照图1,本发明的实施例的MRAM器件1响应于来自外部的控制信号CMD和地址信号ADD而进行随机存取,对被选择为数据读出或数据写入对象的存储单元(以下称“选择存储单元”)进行输入数据DIN的写入和输出数据DOUT的读出。
MRAM器件1具有响应于控制信号CMD而控制MRAM器件1的整体工作的控制电路5和包含配置成行列状的MTJ存储单元MC的存储器阵列10。
在存储器阵列10中,分别与MTJ存储单元的行对应地配置了字线WL和写数位线WDL,分别与MTJ存储单元的列对应地配置了位线BL和源线SL。在图1中,示出了作为代表而示出的1个MTJ存储单元MC、与它对应的字线WL、写数位线WDL、位线BL和源线SL的配置。
MRAM器件1还具有用于进行与由地址信号ADD指示的行地址RA相应的行选择的行选择电路20、21,用于根据由地址信号ADD指示的列地址CA进行存储器阵列10的列选择的列译码器25,以及读出/写入控制电路30、35。
读出/写入控制电路30、35统括地表示用于对在存储器阵列10中配置的MTJ存储单元MC进行数据读出工作和数据写入工作的电路组。
另外,下面对信号、信号线和数据等的2值的高电压状态(例如电源电压Vcc)和低电压状态(例如接地电压GND)也分别称为“H电平”和“L电平”。
参照图2,在存储器阵列10中,MTJ存储单元MC配置成行列状。如已说明过的那样,分别与存储单元行对应地配置了字线WL和写数位线WDL,分别与存储单元列对应地配置了位线BL和源线SL。MTJ存储单元MC的每一个都有与图17说明的结构相同的结构,并包含串联连接在对应的位线BL和源线SL之间的隧道磁阻元件TMR和存取晶体管ATR。
如已说明过的那样,隧道磁阻元件TMR具有与磁化方向相应的电阻值。即,在数据读出前,由于各MTJ存储单元中的隧道磁阻元件TMR存储了H电平(“1”)和L电平(“0”)中的某一电平的数据,所以它们沿规定的方向磁化,其电阻值被设定为Rmax和Rmin中的某一个。
各源线SL与接地电压GND耦合。据此,各存取晶体管ATR的源电压被固定为接地电压GND。据此,在对应的字线WL被激活至H电平的选择行,隧道磁阻元件TMR在下拉至接地电压GND的状态下与位线BL连接。
下面对用于进行存储器阵列10的行选择的行选择电路20和21的电路结构进行说明。
行选择电路20和21具有配置于每一存储单元行的行驱动器80。行驱动器80根据表示对应的存储单元行的译码结果的译码信号Rd,控制对应的字线WL和写数位线WDL的激活。
译码信号Rd由图中未示出的译码电路得到,在对应的存储单元行被选择的场合,被设定为H电平(电源电压Vcc)。即,与选择行对应的节点Nd被设定为H电平(电源电压Vcc),除此以外的节点Nd被设定为L电平(接地电压GND)。至少在1次数据读出工作和1次数据写入工作中,各存储单元行的译码信号Rd被图中未示出的闩锁电路保持在节点Nd上。
行驱动器80具有在节点Nd与写数位线WDL的一端之间设置的晶体管开关82,以及在节点Nd与字线WL的一端之间设置的晶体管开关84。在向MTJ存储单元进行数据写入时被激活至H电平的控制信号WE施加于晶体管开关82的栅极。在从MTJ存储单元进行数据读出时被激活至H电平的控制信号RE输入至晶体管开关84的栅极。
因此,在各行驱动器80中,在数据写入时晶体管开关82接通而晶体管开关84关断,在数据读出时晶体管开关84接通而晶体管开关82关断。
另外,还与各存储单元行对应地配置了用于在包含数据写入时在内的数据读出以外的时间,使字线WL的另一端与接地电压GND耦合的晶体管开关90和用于使写数位线WDL的另一端与接地电压GND连接的晶体管开关92。晶体管开关90和92在各存储单元行中以夹住存储器阵列10的方式配置在与行驱动器80相反的一侧。
晶体管开关90的栅极接受控制信号RE的反转信号/RE,在字线WL与接地电压GND之间进行电耦合。晶体管开关92具有与电源电压Vcc耦合的栅极,在写数位线WDL与接地电压GND之间进行电耦合。在图2的结构例中,晶体管开关82、84、90、92的每一个都由N沟道MOS晶体管构成。
在数据写入时,晶体管开关82响应于控制信号WE而接通,根据节点Nd的电压,即对应的存储单元行的译码信号Rd,激活对应的写数位线WDL。由于被激活的写数位线WDL与被设定为H电平(电源电压Vcc)的节点Nd相连接,所以在从行驱动器80向导通状态的晶体管开关92的方向流过数据写入电流Ip。
在数据读出时,借助于晶体管开关90,各字线WL与接地电压GND分离。另外,晶体管开关84响应于控制信号RE而接通,根据节点Nd的电压,即对应的存储单元行的译码信号Rd,激活对应的字线WL。被激活的字线WL与被设定为H电平(电源电压Vcc)的节点Nd相连接。响应于此,与选择行对应的存取晶体管ATR接通,隧道磁阻元件TMR在位线BL与源线SL之间进行电结合。这样,就进行了存储器阵列10的行选择工作。
同样地,与各存储单元行的字线WL和写数位线WDL对应地设置了相同的结构。还有,如图2所示,行驱动器80对各存储单元行的每一行配置成交错形状。即,行驱动器80一行行交互地配置在字线WL和写数位线WDL的一端,以及在字线WL和写数位线WDL的另一端。据此,可以在小的面积上有效地配置行驱动器80。
读出/写入控制电路30还包含写驱动器控制电路150和开关电路160。写驱动器控制电路150响应于来自控制电路5的工作指令,根据传送至节点N4的写入数据WD和来自列译码器25的列选择结果,对每一存储单元列设定写入控制信号WDTa和WDTb。如将在后面详细说明的那样,写驱动器控制电路150除在数据写入工作时之外,在数据读出工作中也以规定的时序对选择存储单元进行数据写入。
开关电路160使节点Nr和Nw的一方有选择地与节点N4连接。在通常的数据写入工作时,开关电路160使传送来自输入缓冲器175的输入数据DIN的节点Nw与节点N4连接。
另外,读出/写入控制电路30包含对每一存储单元列配置的写驱动器WDVb。同样地,读出/写入控制电路35包含对每一存储单元列设置的写驱动器WDVa。在各存储单元列中,写驱动器WDVa根据对应的写入控制信号WDTa,以电源电压Vcc和接地电压GND的某一方驱动对应的位线BL的一端。同样地,写驱动器WDVb根据对应的写入控制信号WDTb,以电源电压Vcc和接地电压GND的某一方驱动对应的位线BL的另一端。
在数据写入时,与选择列对应的写入控制信号WDTa和WDTb根据写入数据WD的电平分别被设定为H电平和L电平的各一方。例如,在写入H电平(“1”)的数据时,由于在从写驱动器WDVa向WDVb的方向流过数据写入电流+Iw,所以写入控制信号WDTa被设定为H电平,WDTb被设定为L电平。相反,在写入L电平(“0”)的数据时,由于在从写驱动器WDVb向WDVa的方向流过数据写入电流-Iw,所以写入控制信号WDTb被设定为H电平,WDTa被设定为L电平。以下也将不同方向的数据写入电流+Iw和-Iw合在一起记作数据写入电流±Iw。
在非选择列中,写入控制信号WDTa和WDTb两者皆被设定为L电平。另外,在数据写入工作以外的时间,写入控制信号WDTa和WDTb也被设定为L电平。
对在其对应的写数位线WDL和位线BL两方分别流过数据写入电流Ip和+Iw的隧道磁阻元件TMR,磁写入了相应于数据写入电流±Iw的方向的数据。
同样地,与各存储单元列的位线BL对应地设置了同样的结构。在图2的结构中,也可以使写驱动器WDVa和WDVb的驱动电压为接地电压GND和电源电压Vcc以外的电压。
下面对从存储器阵列10的数据读出工作加以说明。
读出/写入控制电路30还包含用于传递与选择存储单元的电阻相应的电压的数据线DIO,以及在数据线DIO与位线BL之间设置的读出选择门RSG。示出对应的存储单元列的选择状态的读列选择线RCSL与形成读出选择门RSG的晶体管的栅极相结合。在对应的存储单元列被选择时,各读列选择线RCSL被激活至H电平。与各存储单元列对应地设置了相同的结构。即,数据线DIO为存储器阵列10上的位线BL所共有。
根据这种结构,选择存储单元在数据读出时经与选择列的位线BL和对应的读出选择门RSG与数据线DIO电结合。
读出/写入控制电路30还包含数据读出电路100和数据读出电流供给电路105。
数据读出电流供给电路105具有在电源电压Vcc与数据线DIO之间进行电耦合的电流供给晶体管107。电流供给晶体管107由接受控制信号/RE(在数据读出时激活至L电平)的P沟道MOS晶体管构成。电流供给晶体管107在数据读出时借助于使数据线DIO与电源电压Vcc耦合而产生数据读出电流Is。
数据读出电流Is流过数据线DIO~选择列的读出选择门RSG~选择列的位线BL~选择存储单元的隧道磁阻元件TMR~存取晶体管ATR~源线SL(接地电压GND)这一路径。与此相应,在数据线DIO上产生了与选择存储单元的电阻相应的电压。
另外。在图2中示出了结构最简单的数据读出电流供给电路的例子,但是,为了更加精密地提供数据读出电流Is,例如也可以用具有电流镜结构等的恒流供给电路构成数据读出电流供给电路105。
数据读出电路100还包含开关电路110,电压保持电容器111~113,读出放大器120、125、130,以及闩锁电路140。
开关电路110在1次数据读出工作中使从节点N1~N3中轮流选择的节点逐个地与数据线DIO连接。电压保持电容器111~113为保持节点N1~N3的每一个上的电压而设置。
读出放大器120将节点N1与N2的电压差放大后输出。读出放大器125将节点N1与N3的电压差放大后输出。读出放大器130将读出放大器120与125各自的输出端之间的电压差放大后输出。闩锁电路140对规定时序中的读出放大器130的输出电压进行闩锁,将具有与选择存储单元的存储数据相应的电平的读出数据RD向节点Nr输出。
向节点Nr输出的读出数据RD经输出缓冲器170作为来自数据输出端点4a的输出数据DOUT而被输出。另一方面,向数据输入端点4b的输入数据DIN经输入缓冲器175传送至节点Nw。
如已说明过的那样,在通常的数据写入工作时,开关电路160使节点Nw与节点N4连接。另一方面,在数据读出工作时,开关电路160为了根据来自控制电路5的指令将读出数据RD再写入选择存储单元而使节点Nr与节点N4之间电结合。
下面对依赖于这样构成的读出/写入控制电路的实施例1的数据读出工作进行详细说明。
下面利用图3的流程图对实施例1的1次数据读出工作进行说明。
参照图3,在实施例1的结构中,当1次数据读出工作开始时(步骤S100),首先,作为初始数据读出工作,从选择存储单元中进行存储数据的读出。即,在初始数据读出工作时,选择存储单元的磁化方向与数据读出工作前的相同。该状态下的数据线DIO的电压被传递至并保持在节点N1(步骤S110)上。
接着,作为规定写入工作1,向选择存储单元写入规定电平(例如“1”)的数据。即,选择存储单元接受用于写入规定电平的数据的数据写入磁场的施加(步骤S120)。进而,作为规定读出工作1,从写入了规定电平的数据的选择存储单元进行数据读出。使该状态下的数据线DIO的电压保持在节点N2上(步骤S130)。
之后,作为规定写入工作2,进而对选择存储单元写入与规定写入工作1不同电平(例如“0”)的数据。即,选择存储单元接受用于写入该电平的数据的数据写入磁场的施加(步骤S140)。进而,作为规定读出工作2,进行来自选择存储单元的在规定写入工作2中被写入的存储数据(“0”)的读出。使该状态下的数据线DIO的电压保持在节点N3(步骤S150)。
这样,从初始数据读出工作到规定读出工作2结束的时刻,即在节点N1~N3的每一个与数据线DIO连接后,在节点N1~N3上分别保持了与存储数据对应的数据线电压、与“1”数据对应的数据线电压、以及与“0”数据对应的数据线电压。在此状态下,基于节点N1~N3的电压的比较,确定了表示来自选择存储单元的存储数据的读出数据RD(步骤S160)。
进而,在读出数据RD确定后,对选择存储单元进行读出数据RD的再写入(步骤S170)。据此,能够在一系列读出工作中,对接受了规定的数据写入的选择存储单元,再现其存储数据,再现数据读出前的状态。
参照图4,在1次读出工作中,与选择行对应的节点Nd维持H电平。在初始数据读出工作时,控制信号RE被设定为H电平,控制信号WE被设定为L电平。另外,当图中用斜线表示的MTJ存储单元是作为存取对象的选择存储单元时,对应的字线WL和读列选择线RCSL被激活至H电平。与此相应,对应的读出选择门RSG和选择存储单元的存取晶体管ATR接通,数据读出电流Is流过选择存储单元的隧道磁阻元件TMR。
据此,在数据线DIO上产生了与选择存储单元的存储数据相应的电压。开关电路110在初始数据读出工作时使数据线DIO与节点N1连接。节点N1的电压被电压保持电容器111保持。因此,在与图3中的步骤S110对应的初始数据读出工作时,与选择存储单元的存储数据相应的数据线电压被传递至并保持在节点N1上。
参照图5,在规定数据写入工作1中,控制信号RE被设定为L电平,控制信号WE被设定为H电平。另外,各读列选择线RCSL被非激活而至L电平,在各存储单元列中,读出选择门RSG关断。据此,各位线BL从数据线DIO断开。另外,开关电路110使数据线DIO不与节点N1~N3的任何一个连接。从控制电路5对写驱动器控制电路150发出用于写入“1”数据的工作指令。
因此,选择行的写数位线WDL被激活,流过数据写入电流Ip。另外,在选择列的位线中,用于写入规定数据(“1”)的数据写入电流+Iw从写驱动器WDVa向WDVb的方向在选择列的位线上流过。
即,写驱动器控制电路150响应于来自控制电路5的写入指令,将选择列的写入控制信号WDTa设定为H电平,将WDTb设定为L电平。另外,与其他存储单元列对应的写入控制信号WDTa和WDTb都被设定为L电平。据此,对选择存储单元强制性地写入规定电平的数据(“1”)。
参照图6,在规定读出工作1中,控制信号RE被设定为H电平,控制信号WE被设定为L电平。另外,为了从选择存储单元再次进行数据读出,对应的字线WL和读列选择线RCSL被激活至H电平。另外,开关电路110使数据线DIO与节点N2连接。节点N2的电压被电压保持电容器112保持。
因此,在与图3中的步骤130对应的规定读出工作1中,从选择存储单元读出“1”数据时的数据线电压被传递至并保持在节点N2上。
参照图7,在规定写入工作2中,与规定写入工作1时一样,控制信号RE被设定为L电平,控制信号WE被设定为H电平,同时各位线BL从数据线DIO断开。另外,开关电路110使数据线DIO不与节点N1~N3的任何一个连接。从控制电路5对写驱动器控制电路150发出用于写入“0”数据的工作指令。
因此,对应的写数位线WDL被激活,流过数据写入电流Ip。另外,在选择列的位线中,用于写入这样的数据(“0”)的数据写入电流-Iw从写驱动器WDVb向WDVa的方向在选择列的位线上流过。
即,写驱动器控制电路150响应于来自控制电路5的写入指令,将选择列的写入控制信号WDTa设定为L电平,将WDTb设定为H电平。另外,与其他存储单元列对应的写入控制信号WDTa和WDTb都被设定为L电平。据此,对选择存储单元强制性地写入与规定写入工作1不同电平的数据(“0”)。
参照图8,在规定读出工作2中,控制信号RE也被设定为H电平,控制信号WE也被设定为L电平。另外,为了从选择存储单元再次进行数据读出,对应的字线WL和读列选择线RCSL被激活至H电平。另外,开关电路110使数据线DIO与节点N3连接。节点N3的电压被电压保持电容器113保持。
因此,在与图3中的步骤150对应的规定读出工作2中,从选择存储单元读出“0”数据时的数据线电压被传递至并保持在节点N3上。
据此,在规定读出工作2结束时,借助于电压保持电容器111~113,在节点N1上保持了与选择存储单元的存储数据对应的电压,在节点N2上保持了从选择存储单元读出“1”数据时的数据线电压,在节点N3上保持了从选择存储单元读出“0”数据时的数据线电压。
因此,在读出放大器120和125的某一方,由于2个输入电压成为同电平,所以其输出几乎不被放大。另一方面,在另一读出放大器中,其输出电压被大幅度地放大。具体而言,在选择存储单元的存储数据为“1”时,读出放大器120的输出几乎不被放大,而读出放大器125的输出被放大至最大。相反,在选择存储单元的存储数据为“0”时,读出放大器125的输出几乎不被放大,而读出放大器120的输出被放大至最大。
第2级读出放大器130根据第1级读出放大器120和125的输出电压的比较,产生与选择存储单元的存储数据对应的电压。读出放大器130的输出,以与图3中的步骤S160所示的读出数据确定工作对应的时序,被闩锁电路140保持。闩锁电路140在节点Nr生成与保持电压相应的读出数据RD。
参照图9,在数据再写入工作时,对选择存储单元再写入读出数据RD。即,开关电路160在节点Nr与N4之间进行连接。另外,从控制电路5对写驱动器控制电路150发出用于实施再写入工作的工作指令。
因此,写驱动器控制电路150,以产生与读出数据RD的电平相应的方向的数据写入电流+Iw或-Iw的方式,对选择列的位线BL设定对应的写入控制信号WDTa和WDTb的电平。同样地,控制信号WE被接通,数据写入电流Ip在选择行的写数位线WDL上流过。
据此,由于在选择存储单元中再写入了与数据读出工作前的选择存储单元的存储数据对应的读出数据RD,所以选择存储单元的状态返回到数据读出工作前的状态。
下面利用图10对实施例1的数据读出工作进行说明。
参照图10,构成图3所示的1次数据读出工作的各工作可以与例如时钟信号CLK同步进行。
即,在时钟信号CLK的激活边沿的时刻t0,片选信号CS和读指令RC被取入,从而进行初始数据读出工作。在初始数据读出工作中,选择行的字线WL被激活,同时对选择列的位线BL供给数据读出电流Is。由数据读出电流Is在数据线DIO上产生的电压,即从选择存储单元读出存储数据时的数据线电压被传递至并保持在节点N1上。
从与下一个时钟信号CLK的激活边沿对应的时刻t1起,进行规定输入工作1。与此对应,在选择行的写数位线WDL上流过数据写入电流Ip,在选择列的位线BL上流过数据写入电流+Iw,对选择存储单元强制性地写入规定电平的数据(“1”)。
进而,从下一个时钟信号CLK的激活边沿的时刻t2起,进行规定读出工作1。即,在选择行的字线WL被激活的状态下,对选择列的位线BL供给数据读出电流Is。由数据读出电流Is在数据线DIO上产生的电压,即从选择存储单元读出“1”数据时的数据线电压被传递至并保持在节点N2上。
从下一个时钟信号CLK的激活边沿的时刻t3起,进行规定写入工作2。据此,在选择行的写数位线WDL上流过数据写入电流Ip,在选择列的位线BL上流过数据写入电流-Iw,对选择存储单元强制性地写入与规定写入工作1不同电平的数据(“0”)。
进而,从下一个时钟信号CLK的激活边沿的时刻t4起,进行规定读出工作2。即,在选择行的字线WL被激活的状态下,对选择列的位线BL供给数据读出电流Is。从选择存储单元读出“0”数据时的数据线电压被传递至并保持在节点N3上。
由于规定读出工作2的进行,在节点N1~N3上保持了分别与选择存储单元的存储数据、数据“1”和数据“0”对应的电压。因此,能够根据节点N1~N3的电压生成读出数据RD。
进而,从与下一个时钟信号CLK的激活边沿相当的时刻t5起,与读出数据RD相应的输出数据DOUT从数据输出端点4a输出。与此同时,对选择存储单元进行数据再写入工作。即在选择行的写数位线WDL上流过数据写入电流Ip,在选择列的位线BL上,根据读出数据RD的电平流过数据写入电流+Iw或-Iw。据此,对选择存储单元写入与读出数据RD同一电平的数据,选择存储单元复位到与数据读出工作前相同的状态。
另外,也可以以图2所示的、用于进行1比特的数据读出和数据写入的结构作为1个块,由多个块来构成MRAM器件。在图10中将这种结构的数据读出工作合在一起表示出来。
在具有多个块的MRAM器件中,对各个块并行地进行由图3所示的流程构成的数据读出工作。即,在具有与图2相同的结构的其他块中,也进行相同的数据读出工作,在时刻t4,在各块中生成来自选择存储单元的读出数据RD。
在这样的结构中,例如,从与下一个时钟信号CLK的激活边沿相当的时刻t5起,可以将来自多个块的每一个块的读出数据RD作为输出数据DOUT成组地输出。在图10中示出了在时刻t5与来自1个块的读出数据RD对应地,“0”被作为输出数据DOUT输出,从下一个时钟信号CLK的激活边沿的时刻t6起,与另1个块中的读出数据RD对应地将“1”作为输出数据DOUT而输出的工作例子。
另外,在图10中,虽然示出了分别响应于各时钟信号CLK的激活边沿进行构成1次数据读出工作的各工作的结构,但本发明的应用并不限定于这样的工作。即,也可以制成如下的结构:响应于时钟信号CLK,进而在内部产生时序控制信号,响应于该时序控制信号,在时钟信号CLK的1个时钟周期内,进行图3所示的1次数据读出工作。关于这样的1次数据读出工作所需要的时钟周期数(时钟信号CLK),可以根据1次数据读出工作的所需时间与作为工作时钟的时钟信号CLK的频率的关系适当地定出。
这样,根据实施例1的结构,在对选择存储单元的数据读出工作中,可以不用基准单元,只对选择存储单元进行存取就能进行数据读出。即,基于由包含同一存储单元、同一位线、同一数据线和同一读出放大器的同一数据读出路径进行的电压比较,生成读出数据。由于不需要基准单元,所以能够对各MTJ存储单元进行数据存储,将所有的MTJ存储单元作为有效位使用。
因此,能够避免由构成数据读出路径的各电路在制造上的分散性引起的偏差等影响,使数据读出工作高精度化。即,基于与基准单元等其他存储单元和附属于它的数据读出电路组的比较,比起从选择存储单元进行数据读出,可以排除制造上的分散性等的影响,进行高精度的数据读出。
[实施例1的变例]
参照图11,在实施例1的变例的数据读出工作中,与图3所示的流程图相比,不同点在于确定读出数据的步骤S160与进行数据再写入工作的步骤S170之间还具有判断是否要数据再写入工作的步骤S165。
在步骤S165中,判断在步骤S160中确定的读出数据RD是否与在规定写入工作2中被写入的数据(“0”)相同。当两者的电平相同时,由于在进行数据再写入工作前,选择存储单元的存储数据已经与打算在下面的步骤S170中再写入的数据(读出数据RD)有相同电平,所以无需进行数据再写入工作。
这样,当数据再写入工作进行前的选择存储单元的存储数据与被确定的读出数据RD为相同电平时,跳过数据再写入工作(步骤S170),结束1次数据读出工作(步骤S180)。当两者不一致时,与实施例1一样,进行数据再写入工作(步骤S170)。其结果是省略了不必要的再写入工作,可以减少数据读出工作时的电流消耗。
还有,在实施例1及其变例中,虽然对在规定写入工作1和规定写入工作2中强制性地分别写入“1”和“0”的工作例进行了说明,但这些工作的数据电平的设定也可与此相反。即,也可以是在规定写入工作1中写入“0”数据、在规定写入工作2中写入“1”数据的结构。
另外,在实施例1及其变例中,对在1次数据读出工作中进行与2种数据电平“1”和“0”的每一个对应的、每回2次的规定写入工作和规定读出工作的结构进行了说明,但也可以是在1次数据读出工作中进行只与某一方的数据电平对应的、每回1次的规定写入工作和规定读出工作的结构。
在制成这样的结构的场合,也可以制成根据在初始数据读出工作中的数据线电压与规定写入工作后的规定读出工作中的数据线电压之间是否产生了规定电平以上的电压差,来生成读出数据RD的结构。例如,若在省略图2所示的数据读出电路100中的与节点N3对应的电压保持电容器113和读出放大器125的配置的同时,以向读出放大器130输入的一方为中间基准电压,也能够进行这样的数据读出。据此,可以减少数据读出电路100的部件数,可以求得小面积化和低成本化。
[实施例2]
在实施例2中,采用了结构较为简化的数据读出电路,与实施例1一样,对只是借助于对选择存储单元的存取进行数据读出的结构进行说明。
在图12中,示出了对MTJ存储单元供给的数据写入电流与MTJ存储单元的电阻值的关系(滞后特性)。
参照图12,横轴表示流过位线的位线电流I(BL),纵轴表示MTJ存储单元电阻Rcell。由位线电流I(BL)产生的磁场在MTJ存储单元的自由磁化层VL中具有沿易磁化轴方向(EA)的方向。另一方面,由流过写数位线WDL的数位线电流I(WDL)产生的磁场在自由磁化层VL中具有沿难磁化轴方向(HA)的方向。
因此,当位线电流I(BL)超过使自由磁化层VL的磁化方向反转的阈值时,自由磁化层VL的磁化方向反转,存储单元电阻Rcell发生变化。在图12中,当正方向的位线电流I(BL)以超过阈值的值流过时,存储单元电阻Rcell为最大值Rmax,当负方向的位线电流I(BL)以超过阈值的值流过时,存储单元电阻Rcell为最小值Rmin。这样的位线电流I(BL)的阈值,随流过写数位线WDL的电流I(WDL)而不同。
首先,流过写数位线WDL的数位线电流I(WDL)=0时的存储单元电阻Rcell的滞后特性在图12中以虚线示出。这时的位线电流I(BL)的正方向和负方向的阈值分别为It0和-It0。
与此相对照,当在写数位线WDL上流过电流时,位线电流I(BL)的阈值降低。在图12中以实线示出了数位线电流I(WDL)=Ip时的存储单元电阻Rcell的滞后特性。受由数位线电流I(WDL)产生的难磁化轴方向的磁场的影响,位线电流I(BL)的正方向和负方向的阈值分别变为It1(It1<It0)和-It1(-It1>-It0)。该滞后特性表示了数据写入工作时的存储单元电阻Rcell的变化状态。因此,数据写入工作时的位线电流I(BL),即数据写入电流+Iw和-Iw被设定在It1<+Iw<It0和-It0<-Iw<-It1的范围内。
另一方面,由于数据读出工作时的位线电流I(BL),即数据读出电流Is作为以选择存储单元、寄生电容等为RC负载进行连接的数据线DIO的充电电流流过,所以当与数据写入时的位线电流I(BL),即数据写入电流±Iw相比较时,其电平一般小2~3个数量级。因此,在图12中,可以看成数据读出电流Is0。
隧道磁阻元件TMR中的自由磁化层的磁化方向被设定成使数据读出前的状态为图12中的(a)或(c)的状态,即选择存储单元具有电阻值Rmin或Rmax的某一个。
在图13中,示出了图12所示的各状态中的隧道磁阻元件的磁化方向。
图13中的(a)示出了图12中的(a)的状态的磁化方向。在该状态中,由于自由磁化层VL的磁化方向与固定磁化层FL的磁化方向平行,所以存储单元电阻Rcell成为最小值Rmin。
图13中的(c)示出了图12中的(c)的状态的磁化方向。在该状态中,由于自由磁化层VL的磁化方向与固定磁化层FL的磁化方向反平行(逆方向),所以存储单元电阻Rcell成为最大值Rmax。
在这一状态下,当在写数位线WDL流过规定电流(例如数据写入电流Ip)时,自由磁化层VL的磁化方向虽然未达到被反转的状态,但有某种程度的旋转,因而隧道磁阻元件TMR的电阻Rcell发生变化。
例如,如图13中的(b)所示,在从图13中的(a)的磁化状态再施加由数位线电流I(WDL)引起的难磁化轴(HA)方向的规定偏置磁场的场合,自由磁化层VL的磁化方向作稍许旋转,与固定磁化层FL的磁化方向成一规定的角度。据此,在与图13中的(b)对应的磁化状态下,存储单元电阻Rcell从最小值Rmin上升为Rm0。
同样地,在图13中的(c)的磁化状态下,再施加同样的规定偏置磁场的场合,自由磁化层VL的磁化方向作稍许旋转,与固定磁化层FL的磁化方向成一规定的角度。据此,在与图13中的(d)对应的磁化状态下,存储单元电阻Rcell从最大值Rmax下降为Rm1。
这样,借助于施加难磁化轴(HA)方向的偏置磁场,一方面,存储与最大值Rmax对应的数据的MTJ存储单元的存储单元电阻Rcell下降,而另一方面,存储与最小值Rmin对应的数据的MTJ存储单元的存储单元电阻Rcell上升。
这样,当对写入了某一存储数据的MTJ存储单元施加难磁化轴方向的偏置磁场时,能够在存储单元电阻Rcell中在与存储数据相应的极性上产生阻值变化。即,响应于偏置磁场的施加而产生的存储单元电阻Rcell的变化随存储数据电平而有不同的极性。在实施例2中,利用这种MTJ存储单元的磁化特性进行了数据读出。
参照图14,实施例2的结构与图2所示的实施例1的结构相比,有如下的不同点:读出/写入控制电路30包含数据读出电路200,以取代数据读出电路100;省略了开关电路160的配置。
数据读出电路200包括在数据线DIO与节点N1、N2之间设置的开关电路210,分别与节点N1、N2对应设置的电压保持电容器211、212,读出放大器220、230,以及闩锁电路240。
开关电路210在1次数据读出工作中使从节点N1和N2中轮流地被选择的每个节点与数据线DIO连接。电压保持电容器211、212为保持节点N1和N2各自的电压而设置。
读出放大器220对节点N1和N2的电压差进行放大。第2级读出放大器230对读出放大器220的输出进一步进行放大,并传递至闩锁电路240。闩锁电路240将规定时序的读出放大器230的输出放大至最大,并进行闩锁,将具有与选择存储单元的存储数据相应电平的读出数据RD向节点Nr输出。
实施例2的1次数据读出工作由相当于实施例1的初始数据读出工作的第1读出工作和在使偏置电流流过选择行的写数位线WDL的状态下进行的第2读出工作构成。特别是也可以将在数据写入时流过写数位线WDL的数据写入电流Ip用作该偏置电流。这时,由于没有必要新配置用于在数据读出时供给偏置电流的电路,所以能够简化电路结构。
在第1读出工作中,在电流不流过对应的写数位线WDL的状态(I(WDL)=0),即选择存储单元的磁化方向与数据读出工作前相同的状态下,从选择存储单元进行数据读出。开关电路210将数据线DIO与节点N1进行连接。据此,第1读出工作的数据线电压被电压保持电容器211保持在节点N1上。
接着,在第2读出工作中,在偏置电流流过与选择行对应的写数位线WDL的状态(I(WDL)=Ip),即沿难磁化轴方向的规定的偏置磁场对选择存储单元发生作用的状态下,从选择存储单元进行数据读出。
在第2数据读出时,开关电路210使数据线DIO与节点N2连接。因此,第2数据读出时的数据线电压被传递至节点N2,并被电压保持电容器212保持。
如已说明过的那样,借助于施加这样的偏置磁场,选择存储单元的存储单元电阻Rcell在与存储数据电平相应的极性上改变其在第1读出工作时,即数据读出工作前的值。据此,第2读出工作时的数据线DIO的电压比第1读出工作时的或上升,或下降。
具体而言,当在选择存储单元中存储与电阻值Rmax对应的存储数据(例如“1”)时,第2读出工作时的数据线电压比第1读出工作时的高。这是由于相应于在由数位线电流I(WDL)引起的偏置磁场的作用下存储单元电阻Rcell减小,流过隧道磁阻元件TMR的电流增加的缘故。与此相对照,当在选择存储单元中存储与电阻值Rmin对应的存储数据(例如“0”)时,第2读出工作时的数据线电压比第1读出工作时的低。这是由于相应于在由数位线电流I(WDL)引起的偏置磁场的作用下存储单元电阻Rcell增大,流过隧道磁阻元件TMR的电流减小的缘故。
读出放大器220对分别保持在节点N1和N2上的电压,即第1和第2读出工作各自的数据线电压进行比较。借助于在第2读出工作进行后,对读出放大器220的输出进一步进行放大的读出放大器230的输出被闩锁电路240放大和闩锁,生成读出数据RD,读出数据RD有与选择存储单元的存储数据相应的电平。
这样,在实施例2的结构中,就不需要像实施例1的结构那样,强制性地写入规定电平的存储数据的规定写入工作及与之相伴的规定读出工作。
另外,隧道磁阻元件TMR的磁化方向不因由流过写数位线WDL的偏置电流(数据写入电流Ip)施加于选择存储单元的磁场而反转。因此,由于在消除偏置磁场的时刻,选择存储单元的磁化方向恢复到与数据读出工作前相同的状态,所以在1次数据读出工作中,也不需要实施例1那样的数据再写入工作。
其结果是写驱动器控制电路150只是根据控制电路5的指令,依照数据写入工作的写入程序进行工作。另外,也可以不要用于向写驱动器控制电路150传递读出数据RD的开关电路160的配置,写驱动器控制电路150根据向数据输入端子4b的输入数据DIN而产生写入控制信号WDTa和WDTb。
参照图15,实施例2的1次数据读出工作例如可以与时钟信号CLK同步进行。
即,在时钟信号CLK的激活边沿的时刻t0,片选信号CS和读指令RC如被取入,则进行与初始数据读出工作相当的第1读出工作。在第1读出工作中,选择行的字线WL被激活,同时对选择列的位线BL供给数据读出电流Is。由数据读出电流Is在数据线DIO上产生的电压,即从选择存储单元读出存储数据时的数据线电压被传递至并保持在节点N1上。
从与下一个时钟信号CLK的激活边沿对应的时刻t1起,进行第2读出工作。即,在对选择行的写数位线WDL流过与数据写入电流Ip相等的偏置电流的状态下,在选择行的字线WL被激活的同时,对选择列的位线BL供给数据读出电流Is。由此,在数据线DIO上产生的电压被传递至并保持在节点N2上。在第2读出工作以后,可以根据节点N1与N2的电压比较,生成读出数据RD。
进而,从与下一个时钟信号CLK的激活边沿相当的时刻t2起,与读出数据RD相应的输出数据DOUT从数据输出端子4a输出。
另外,在实施例2的结构中,也可以与图10说明的一样,以图14所示的、用于进行1比特的数据读出和数据写入的结构作为1个块,用多个块来构成MRAM器件。这时,也可以借助于通过对各个块并行地进行相同的数据读出工作,从时刻t1起开始进行的第2读出工作,生成来自各个块的选择存储单元的读出数据RD。因此,从与下一个时钟信号CLK的激活边沿相当的时刻t2起,可以将来自多个块的每一个块的读出数据RD作为输出数据DOUT成组地输出。在图15中示出了在时刻t2与来自1个块的读出数据RD对应地,“0”被作为输出数据DOUT输出,从与下一个时钟信号CLK的激活边沿的时刻t3起,与另1个块的读出数据RD对应地,“1”被作为输出数据DOUT输出的工作例子。
另外,在图15中,虽然示出了分别响应于各时钟信号CLK的激活边沿,进行构成1次数据读出工作的各工作的结构,但本发明的应用并不限定于这样的工作。即,也可以制成如下的结构:响应于时钟信号CLK,进而在内部产生时序控制信号,响应于该时序控制信号,在时钟信号CLK的1个时钟周期内,进行实施例2的1次数据读出工作。如已说明过的那样,1次数据读出工作所需要的时钟周期数(时钟信号CLK)可以根据1次数据读出工作的所需时间与工作时钟的频率的关系适当地定出。
这样,根据实施例2的结构,与实施例1一样,无需使用基准单元,只通过对选择存储单元的存取,就能够进行高精度的数据读出。另外,由于能够减少数据读出电路中的读出放大器的配置个数,以及作为比较对象的电压数,所以在可以求得由数据读出电路的部件数减少所致的小面积化和低成本化的同时,还可以减轻电压比较工作的偏差的影响,使数据读出工作有更高的精度。
另外,由于不需要向进行数据读出工作的选择存储单元进行数据再写入的工作,所以能够比实施例1的数据读出工作更为高速化。
[实施例2的变例]
参照图16,实施例2的变例的结构与图14所示的实施例2的结构相比,所不同的是读出/写入控制电路具有数据读出电路300,以取代数据读出电路200。因其他部分的结构和工作与实施例2的相同,所以不再重复进行详细说明。
数据读出电路300包括将数据线DIO与节点Nf的电压差进行放大的读出放大器310,将读出放大器310的输出反馈到节点Nf的负反馈开关320,用于保持节点Nf的电压的电压保持电容器325,将读出放大器310的输出进一步放大的读出放大器330,以及以规定的时序放大并闩锁读出放大器330的输出、生成被送到节点Nr的读出数据RD的闩锁电路340。
在实施例2的变例的数据读出工作中,在数位线电流I(WDL)=0、并且负反馈开关320导通的状态下,与选择存储单元对应的字线WL和读列选择线RCSL被激活至H电平。据此,对选择存储单元进行与实施例2的第1读出工作相同的数据读出。
在第1读出工作中,借助于读出放大器310的负反馈,节点Nf的电压向数据线DIO的电压,即与选择存储单元的存储数据相应的电压靠近。节点Nf的电压一旦达到稳定的状态,负反馈开关320就关断。
在负反馈开关320关断后,在与选择存储单元对应的字线WL和读列选择线RCSL的激活状态被维持的状态下,偏置电流开始缓慢流到选择行的写数位线WDL。与此相应,可以对选择存储单元进行与实施例2的第2读出工作相同的数据读出。
其结果是,选择存储单元的存储单元电阻Rcell在与存储数据电平相应的极性上变化。与此相应,数据线DIO的电压也相应于选择存储单元的存储数据电平而缓慢上升或下降。
因此,读出放大器310的输出也随选择存储单元的存储数据电平而有不同的极性。其结果是,负反馈开关320关断,并且能够根据在写数位线WDL上流过偏置电流Ip后的规定时序的读出放大器310的输出,生成具有与选择存储单元的存储数据电平对应的电平的读出数据RD。这样,在实施例2的变例的数据读出工作中,连续地进行了实施例2的第1和第2读出工作。
通过制成这样的结构,与实施例2一样,能够进行高精度并且高速度的数据读出。还有,在实施例2的变例的结构中,由于可以利用单一的读出放大器310的负反馈,得到与选择存储单元的存储数据相应的数据线电压,所以能够抑制读出放大器中的偏差,使数据读出进一步高精度化。