存储装置和存储系统的制作方法

文档序号:13983686阅读:151来源:国知局
存储装置和存储系统的制作方法

本发明的实施方式涉及存储装置和存储系统(memorysystem)。



背景技术:

mram(magnetoresistiverandomaccessmemory:磁阻随机存取存储器)是在存储信息的存储单元中使用了具有磁阻效应(magnetoresistiveeffect)的磁元件的存储设备。mram作为以高速工作、大容量、非易失性为特征的下一代存储设备引人注目。另外,mram作为dram(dynamicrandomaccessmemory:动态随机存取存储器)或sram(staticrandomaccessmemory:静态随机存取存储器)等易失性存储器的置换,推进了研究和开发。在该情况下,在抑制开发成本且顺畅地进行置换时,最理想的是利用与dram和sram相同的规格使mram工作。



技术实现要素:

本发明的实施方式提供一种能够抑制数据的消失的高质量存储装置和存储系统。

实施方式的存储装置具备:存储单元;第一电路,对所述存储单元进行第一读出,向进行了所述第一读出的所述存储单元写入第一数据,对写入了所述第一数据的所述存储单元进行第二读出,基于所述第二读出结果,根据所述第一读出结果判定数据,将进行了所述判定的数据写回至所述存储单元;以及纠错电路,对进行了所述判定的数据进行纠错。

附图说明

图1表示第一实施方式涉及的存储系统的构成的框图。

图2是表示第一实施方式涉及的存储系统的存储阵列的构成的电路图。

图3是表示第一实施方式涉及的存储系统的存储单元的基本构成的图。

图4是表示第一实施方式涉及的存储系统中的单元电流分布的图。

图5是表示第一实施方式涉及的存储系统中的单元电流分布的图。

图6是第一实施方式涉及的存储系统的读出工作的流程图。

图7是表示第一实施方式涉及的存储系统中的单元电流分布的图。

图8是表示第一实施方式涉及的存储系统中的单元电流分布的图。

图9是与第一实施方式涉及的存储系统的读出工作的一例相关的时间图(timingchart)。

图10是与第一实施方式的比较例涉及的存储系统的读出工作的一例相关的时间图。

图11是第二实施方式涉及的存储系统的读出工作的流程图。

图12是与第二实施方式涉及的存储系统的读出工作的一例相关的时间图。

图13是表示第三实施方式涉及的存储系统的构成的框图。

图14是第三实施方式涉及的存储系统的读出工作的流程图。

图15是与第三实施方式涉及的存储系统的读出工作的一例相关的时间图。

图16是与第三实施方式的比较例涉及的存储系统的读出工作的一例相关的时间图。

图17是第四实施方式涉及的存储系统的读出工作的流程图。

图18是与第四实施方式涉及的存储系统的读出工作的一例相关的时间图。

图19表示第五实施方式涉及的存储系统的构成的框图。

图20是表示第五实施方式涉及的存储系统的存储阵列及其周边的构成的框图。

图21是表示第五实施方式涉及的存储系统的存储阵列及其周边的构成的框图。

图22是表示第五实施方式的比较例涉及的存储系统的存储阵列的框图。

图23是表示第五实施方式涉及的存储系统的存储阵列的框图。

图24是表示第六实施方式涉及的存储系统的存储阵列及其周边的构成的框图。

图25是表示第六实施方式涉及的存储系统的存储阵列及其周边的构成的框图。

具体实施方式

以下,参照附图说明实施方式。此外,在以下说明中,对于具有大致同一功能和构成的构成要素,赋予同一标号,仅在必要的情况下进行重复说明。另外,以下所示的各实施方式例示用于将该实施方式的技术思想具体化的装置或方法,实施方式的技术思想并不将构成部件的材质、形状、构造、配置等确定为以下内容。在权利要求书中,实施方式的技术思想能够添加各种变更。

各功能块能够作为硬件、计算机软件中的某一个或两方的组合而实现。因此,为了明确各块也是它们中的任一者,以下通常从它们的功能的观点来进行说明。这样的功能是作为硬件执行或作为软件执行取决于具体的实施方式或对系统整体的设计限制。本领域技术人员可按每个具体实施方式用各种方法实现这些功能,但决定这样的实现包括在本发明的范围内。

在下述的各实施方式中,说明在存储阵列中应用mram的情况。

<1>第一实施方式

<1-1>构成

<1-1-1>存储系统的构成

使用图1,概略地说明第一实施方式涉及的存储系统(memorysystem)1的基本构成。存储系统1具备存储设备(memorydevice)10和存储控制器(memorycontroller)20。

<1-1-2>存储控制器的构成

存储控制器20从个人计算机等的主机(外部设备)2接受命令,从存储设备10读出数据,向存储设备10写入数据。

存储控制器20具备:主机接口(hostinterface(i/f))21、数据缓冲器(databuffer)22、寄存器(register)23、cpu(centralprocessingunit:中央处理单元)24以及设备接口(deviceinterface(i/f))25。

主机接口21与主机2连接。经由该主机接口21,在主机2与存储系统1之间进行数据的收发等。

数据缓冲器22与主机接口21连接。数据缓冲器22接受经由主机接口21从主机2发送给存储系统1的数据,并将其暂时存储。另外,数据缓冲器22暂时存储从存储系统1经由主机接口21向主机2发送的数据。数据缓冲器22既可以是易失性存储器,也可以是非易失性存储器。

寄存器23例如是易失性存储器,并存储由cpu24执行的设定信息、命令以及状态等。寄存器23既可以是易失性存储器,也可以是非易失性存储器。

cpu24掌控存储系统1整体的工作。cpu24例如按照从主机2接受的命令,执行对存储设备10的预定处理。

设备接口25在存储控制器20与存储设备10之间进行各种信号等的收发。

<1-1-3>存储设备的构成

第一实施方式涉及的存储设备10具备:存储阵列11、读出放大器(senseamplifier)/写入驱动器12、列解码器13、字线驱动器14、行解码器15、io电路16、控制器17、命令地址输入电路18以及ecc(errorcorrectingcode:纠错码)电路19。

从存储控制器20向命令地址输入电路18输入各种外部控制信号,例如片选(chipselect)信号cs、时钟信号ck、时钟使能信号(clockenable)cke以及命令地址信号ca等。命令地址输入电路18将命令地址信号ca传送给控制器17。

控制器17识别命令和地址。控制器17控制存储设备10。

ecc电路19接收经由数据线dq和io电路16从存储控制器20接收到的写入数据。而且,ecc电路19向写入数据附加纠错码。ecc电路19将赋予了纠错码的写入数据例如经由io电路16供给至读出放大器/写入驱动器12。

另外,ecc电路19接收经由io电路16从存储阵列11供给的数据。该数据是存储在存储阵列11的存储单元组中的数据。在这里,存储单元组是多个存储单元mc的集合,相当于进行读出工作时的读出单位。ecc电路19进行在接收到的数据中是否存在错误的判定。在判定为接收到的数据中存在错误的情况下,ecc电路19使用纠错码,对接收到的数据进行纠错处理。而且,ecc电路19将进行了纠错处理的数据例如经由io电路16供给至存储控制器20。

另外,ecc电路19具备寄存器19a。寄存器19a例如是易失性存储器,存储进行了纠错处理的数据。寄存器19a既可以是易失性存储器,也可以是非易失性存储器。

存储阵列11是mram,多个存储单元mc呈矩阵状二维配置。各存储单元mc包括mtj(magnetictunneljunction:磁隧道结)元件30(未图示)和选择晶体管31(未图示)。mtj元件30是利用阻态的变化存储数据,并能够利用电流改写数据的磁隧道结元件。选择晶体管31构成为与mtj元件30对应设置,并在使电流流经该对应的mtj元件30时成为导通状态。

多条字线wl在行方向上延伸,多条位线bl在列方向上延伸。而且,字线wl和位线bl以相互交叉的方式布线。相邻的两条位线bl成为对,存储单元mc对应设置在字线wl与位线对(在本实施方式中,为了方便起见,称为位线bl和源极线sl)的交点。各存储单元mc的mtj元件30和选择晶体管31串联连接在位线bl与源极线sl之间(位线对之间)。另外,选择晶体管31的栅极与字线wl连接。

字线驱动器14至少沿着存储阵列11的一条边配置。另外,字线驱动器14构成为在数据读出或数据写入时向字线wl施加电压。

行解码器15解码从命令地址输入电路18供给的命令地址信号ca的地址。更具体而言,行解码器15将解码得到的行地址供给至字线驱动器14。由此,字线驱动器14能够向选择字线wl施加电压。

列解码器13解码从命令地址输入电路18供给的命令地址信号ca的地址。列解码器13将解码得到的列地址供给至读出放大器/写入驱动器12。

读出放大器/写入驱动器12具备读出放大器和写入驱动器。读出放大器/写入驱动器12至少沿着存储阵列11的一条边配置。读出放大器经由全局位线gbl与位线bl连接,通过检测流经与选择字线wl连接的存储单元mc的电流,读出存储于存储单元mc的数据。写入驱动器经由全局位线gbl与位线bl连接,或经由全局源极线gsl与源极线sl连接。而且,写入驱动器在向选择存储单元mc写入数据时,使电流流经与选择字线wl连接的选择存储单元mc。

另外,读出放大器/写入驱动器12具备未图示的页缓冲器。页缓冲器例如是易失性存储器,存储由读出放大器读出的数据或经由io电路16传送来的写入数据。

读出放大器/写入驱动器12与数据线dq之间的数据的授受经由io电路16进行。

<1-1-4>存储阵列

接着,使用图2,说明实施方式涉及的存储阵列的具体构成。如上所述,多个存储单元mc呈矩阵状排列而构成存储阵列11。具体而言,在存储阵列11中,设置有多条字线wl0~wli-1(i:2以上的整数)、多条位线bl0~blj-1以及多条源极线sl0~slj-1(j:2以上的整数)。

存储单元mc包括mtj元件30和选择晶体管31。选择晶体管31例如包括n沟道mosfet(metaloxidesiliconfieldeffecttransistor:金属氧化物半导体场效应晶体管)。

mtj元件30的一端与位线bl连接,另一端与选择晶体管31的漏极连接。选择晶体管31的栅极与字线wl连接,源极与源极线sl连接。

<1-1-5>存储单元

接着,使用图3,概略地说明实施方式涉及的存储单元。

如图3所示,利用了tmr(tunnelingmagnetoresistive:隧道磁阻)效应的mtj元件30具有包括两片强磁性层f、p和由它们夹着的非磁性层(隧道绝缘膜)b的层叠构造,并利用由自旋极化隧道效应引起的磁阻的变化来存储数字数据。mtj元件30利用两片强磁性层f、p的磁化排列,可取低阻态和高阻态。例如,如果将低阻态定义为“0”数据,将高阻态定义为“1”数据,则能够向mtj元件30记录一位(bit)数据。当然,也可以将低阻态定义为“1”数据,将高阻态定义为“0”数据。

例如,mtj元件30将固定层(pinned层)p、隧道势垒层(tunnelbarrier)b、记录层(自由层)f依次层叠而构成。固定层p是磁化排列的方向固定的层,自由层f的磁化排列的方向可变,且利用该磁化方向存储数据。固定层p和自由层f由磁铁性体构成,隧道势垒层b由绝缘膜构成。

具体而言,在自由层f中,例如可以使用硼铁化钴(cofeb)或硼化铁(feb)等。在固定层p中,例如可以使用钴铂(copt)、钴镍(coni)或钴钯(copd)等。隧道势垒层b由非磁性材料构成,能够使用非磁性金属、非磁性半导体、绝缘体等。在隧道势垒层b中,例如可以使用氧化镁(mgo)或氧化铝(al2o3)等。

在写入时沿箭头a1的方向流过电流时,自由层f的磁化方向相对于固定层p的磁化方向成为反平行状态(ap状态),并成为高阻态(“1”数据)。也可以将这样的写入工作记载为“1”写入工作。在写入时沿箭头a2的方向流过电流时,固定层p和自由层f各自的磁化方向成为平行状态(p状态),并成为低阻态(“0”数据)。也可以将这样的写入工作记载为“0”写入工作。这样,mtj元件能够利用流动电流的方向写入不同的数据。

<1-1-6>单元电流分布

如上所述,存储单元mc能够利用低阻态(“0”数据)和高阻态(“1”数据)这两种阻态来存储数据。

而且,存储设备10在数据读出时,使读出电流向存储单元mc流动。存储设备10通过对流经存储单元mc的电流与参照电流(例如是流经参照单元的电流)进行比较,判定存储单元mc的阻态。在数据读出时,将流经存储单元mc的电流称为单元电流icell。而且,作为单元电流icell,存在低阻态时的单元电流icell0和高阻态时的单元电流icell1这两种。以下,为了简单起见,将流经存储“1”数据的存储单元mc的单元电流表述为单元电流icell1。另外,将流经存储“0”数据的存储单元mc的单元电流表述为单元电流icell0。

图4是存储阵列11所包含的全部存储单元mc的单元电流的分布图。

存储单元mc的每一个的特性有时会不同。也就是说,如图4所示,根据存储单元mc的特性,存储“1”数据和“0”数据时的阻态有时按每个存储单元mc而不同。也就是说,根据每个存储单元mc,存储“1”数据时流过的单元电流icell不同。同样地,根据每个存储单元mc,存储“0”数据时流过的单元电流icell不同。

具体而言,流经存储“1”数据的存储单元mc(a)的单元电流icell1(a)比流经存储“1”数据的存储单元mc(b)的单元电流icell1(b)小。而且,流经存储“1”数据的存储单元mc(a)的单元电流icell1(a)比流经存储“1”数据的存储单元mc(c)的单元电流icell1(c)大。

同样地,流经存储“0”数据的存储单元mc(a)的单元电流icell0(a)比流经存储“0”数据的存储单元mc(b)的单元电流icell0(b)小。而且,流经存储“0”数据的存储单元mc(a)的单元电流icell0(a)比流经存储“0”数据的存储单元mc(c)的单元电流icell0(c)大。

判定存储单元mc的数据时,读出放大器/写入驱动器12通过对参照电流iref和单元电流icell的大小进行比较,判定存储单元mc存储有“1”数据或“0”数据中的哪一个。在本例中,在单元电流icell比参照电流iref小的情况下,读出放大器/写入驱动器12判定为是“1”数据。在单元电流icell比参照电流iref大的情况下,读出放大器/写入驱动器12判定为是“0”数据。

在这里,为了简单起见省略详细说明,但在读出放大器/写入驱动器12判定是“1”数据或是“0”数据时,如果参照电流iref和单元电流icell具有足够的差,则能够适当地判定数据。另一方面,当参照电流iref和单元电流icell没有足够的差时,读出放大器/写入驱动器12有时不能适当地判定数据。

然而,当读出放大器/写入驱动器12以一个参照电流iref为基准进行单元电流icell的判定时,有可能会产生下述问题。例如,如图4所示,单元电流icell1(c)与参照电流iref充分地具有差。另一方面,单元电流icell1(b)与参照电流iref并不充分地具有差。因此,读出放大器/写入驱动器12的与单元电流icell1(b)相关的判定有时比单元电流icell1(c)的判定花费时间。

为了适当地判定数据,参照电流iref优选设定在单元电流icell1与单元电流icell0的大致中间。然而,如图4所示,根据存储单元mc的特性,单元电流icell1的分布或单元电流icell0的分布的下摆很宽,有时会重叠。在这样的情况下,当读出放大器/写入驱动器12使用参照电流iref判定单元电流icell0(c)时,会导致将应判定为“0”数据的数据判定为“1”数据。

为了解决上述问题,如图5所示,可考虑按每个存储单元mc变更参照电流iref。读出放大器/写入驱动器12在读出存储单元mc(a)的数据的情况下使用参照电流iref(a),在读出存储单元mc(b)的数据的情况下使用参照电流iref(b),在读出存储单元mc(c)的数据的情况下使用参照电流iref(c)。后面说明该参照电流iref的决定方法。

这样,在本实施方式中,读出放大器/写入驱动器12通过按每个存储单元mc变更参照电流iref,能够适当地判定各存储单元mc的单元电流icell。

也就是说,在本实施方式中,如图4所示,由于不是以一个参照单元(参照电流)为基准判定许多存储单元的状态,而是以存储单元自身的状态为基准进行状态的判定,所以能够大幅地降低存储单元的偏差的影响。

<1-2>工作

以下说明第一实施方式涉及的存储系统的读出工作。在本实施方式中,如上所述,针对应用按每个存储单元mc导出参照电流iref的读出方法的情况进行说明。

<1-2-1>流程

使用图6,说明第一实施方式涉及的存储系统的读出工作的流程。

[步骤s101]

当存储控制器20从主机2接收读出命令时,对存储设备10发布激活命令和读出命令。

[步骤s102]

当存储设备10从存储控制器20接收激活命令和读出命令时,对作为读出对象的存储单元组进行第一读出工作(1stread)。通过该第一读出工作读出的信息(单元电流icell)作为电流或电压,存储在读出放大器/写入驱动器12内的例如带开关电容器(未图示)等中。由于在步骤s102的时间点没有确定参照电流,所以存储设备10不对存储在作为读出对象的存储单元组中的数据进行判定。也就是说,如后所述,存储设备10在导出参照电流之后进行数据的判定。

[步骤s103]

存储设备10对成为第一读出工作的对象的存储单元组进行“0”写入工作。由此,成为第一读出工作的对象的存储单元组被全部覆写为“0”数据。如后所述,该“0”写入工作是用于导出参照电流的工作。

[步骤s104]

存储设备10对成为第一读出工作的对象的存储单元组进行第二读出工作(2ndread)。通过该第二读出工作读出的信息(单元电流icell0)作为电流或电压,存储在读出放大器/写入驱动器12内的例如带开关电容器(未图示)等中。通过步骤s103和步骤s104,能够得到每个存储单元mc的单元电流icell0。

[步骤s105]

读出放大器/写入驱动器12使用通过第二读出工作读出的信息(单元电流icell0),导出与读出对象单元相关的参照电流iref。

使用图7,说明参照电流iref的导出方法。

读出放大器/写入驱动器12能够根据单元电流icell0和偏置电流ioffset导出参照电流iref。具体而言,参照电流iref用iref=icell0-ioffset这一公式导出。偏置电流ioffset例如在存储系统1的出厂前的测试工序时导出,例如存储在读出放大器/写入驱动器12内。而且,读出放大器/写入驱动器12使用存储在读出放大器/写入驱动器12内的例如带开关电容器(未图示)中的单元电流icell0、和存储在读出放大器/写入驱动器12内的存储部(未图示)中的偏置电流ioffset导出参照电流iref。

在这里,说明偏置电流ioffset的导出方法。偏置电流ioffset用ioffset=z×σicell0=(μicell0-μicell1)×σicell0/(σicell0+σicell1)这一公式导出。

z是任意的值,μicell1是单元电流icell1的平均值,σicell1是单元电流icell1的标准差。μicell0是单元电流icell0的平均值,σicell0是单元电流icell0的标准差。

而且,读出放大器/写入驱动器12使用导出的参照电流iref,判定存储在读出放大器/写入驱动器12内的例如带开关电容器(未图示)中的与“通过第一读出工作读出的信息”相关的数据。也就是说,读出放大器/写入驱动器12通过对参照电流iref和单元电流icell的大小进行比较,判定存储单元mc存储有“1”数据或“0”数据中的哪一个。

如上所述,在导出参照电流的方式中,参照电流iref以单元电流icell0(或单元电流icell1,或这两方)为基准而变动。因此,如图8所示,能够针对单元电流icell0(c)和单元电流icell1(c)导出适当的参照电流iref(c)。

其结果,与使用一个参照电流判定数据的方式相比,能够减少读出错误。

此外,读出放大器/写入驱动器12根据单元电流icell0和偏置电流ioffset导出参照电流iref,但也可以根据单元电流icell1和偏置电流ioffset导出参照电流iref。在该情况下,参照电流iref用iref=icell1+ioffset这一公式导出。

在该情况下,在进行步骤s103时,存储设备10需要对成为第一读出工作的对象的存储单元组进行“1”写入工作。其结果,存储设备10能够在进行步骤s104时得到单元电流icell1。

进而,偏置电流ioffset用ioffset=z×σicell1=(μicell0-μicell1)×σicell1/(σicell0+σicell1)这一公式导出。

而且,如上所述,偏置电流ioffset例如在存储系统1的出厂前的测试工序时导出,例如存储在读出放大器/写入驱动器12内。而且,读出放大器/写入驱动器12能够使用存储在读出放大器/写入驱动器12内的例如带开关电容器(未图示)中的单元电流icell1、和存储在读出放大器/写入驱动器12内的存储部(未图示)中的偏置电流ioffset导出参照电流iref。

然后,读出放大器/写入驱动器12使用导出的参照电流iref,判定存储在读出放大器/写入驱动器12内的例如带开关电容器(未图示)中的与“通过第一读出工作读出的信息”相关的数据。

[步骤s106]

返回图6,说明存储系统的读出工作的后续。

ecc电路19基于利用步骤s105判定出的数据,进行纠错处理(以下,为了简单起见,有时记载为ecc)。而且,在进行了纠错处理之后,存储设备10将纠错处理的结果(例如,纠错处理后的数据)供给至存储控制器20。另外,纠错处理后的数据存储在ecc电路19内的寄存器19a中。

另外,存储设备10将利用步骤s105判定出的数据写回到作为读出对象的存储单元组。这样,将导出纠错处理结果之前的数据写回至存储单元组的工作称为prewriteback(预写回)工作等。

也就是说,存储设备10大致同时执行纠错处理和prewriteback工作。

[步骤s107]

存储控制器20在接收到写入命令的情况下,向存储设备10发布写入命令,并将写入数据供给至数据线dq。接着,存储控制器20向存储设备10发布预充电命令(步骤s107,是);存储控制器20在其他情况下,向存储设备10发布预充电命令(步骤s107,否)。

[步骤s108]

当存储设备10接收预充电命令时,进行writeback(写回)工作,所述writeback工作用于将通过步骤s106得到的纠错处理的结果(存储在寄存器19a中的数据)写回至存储单元组。在存储单元组中已经存储有纠错处理前的数据。因此,在步骤s108中,仅之前错误的存储单元mc进行写入工作。

[步骤s109]

当存储设备10从存储控制器接收写入数据和预充电命令时,进行写入工作。在对步骤s102的作为读出对象的存储单元组进行写入的情况下,存储设备10不执行writeback工作而将数据覆写。

<1-2-2>时间图

接着,使用图9,说明第一实施方式涉及的存储系统的读出工作的具体时间图。

[时刻t0]

当存储控制器20从主机2接收读出命令时,首先对存储设备10发布激活命令“act”。当存储设备10接收激活命令“act”时,转移到激活状态。

[时刻t1]

存储控制器20在发布激活命令“act”之后,对存储设备10发布读出命令“read”(步骤s101)。

[时刻t2]

当存储设备10接收读出命令“read”时,首先进行第一读出工作(步骤s102)。此时,在存储设备10中,消耗电流增加。具体而言,例如,与电源电压vdd相关的消耗电流i(vdd)和与接地电压vss相关的消耗电流i(vss)增加。

[时刻t3]

接着,存储设备10进行“0”写入工作(步骤s103)。与读出工作所需的消耗电流相比,写入工作所需的消耗电流更大。因此,在存储设备10中,消耗电流进一步增加。具体而言,例如,消耗电流i(vdd)和消耗电流i(vss)进一步增加。

[时刻t4]

接着,存储设备10进行第二读出工作(步骤s104)。此时,在存储设备10中,消耗电流降低。具体而言,例如,消耗电流i(vdd)和消耗电流i(vss)降低。

[时刻t5]

接着,存储设备10进行数据判定工作(步骤s105)。由此,存储设备10判定在第一读出工作中读出的数据。

[时刻t6]

接着,存储设备10使用判定出的数据,进行纠错处理和prewriteback工作(步骤s106)。prewriteback工作实质上相当于“1”写入工作,prewriteback工作所需的消耗电流比读出工作所需的消耗电流大。因此,在存储设备10中,消耗电流进一步增加。具体而言,例如,消耗电流i(vdd)和消耗电流i(vss)进一步增加。

[时刻t7]

当纠错处理结束时,存储设备10经由数据线dq向存储控制器20发送纠错处理结果(具体而言,纠错处理后的数据)。

存储控制器20从存储设备10接收纠错处理结果。

[时刻t8]

存储控制器20在任意的定时发布预充电命令“pre”(步骤s107)。

[时刻t9]

当存储设备10接收预充电命令“pre”时,进行预充电工作,进一步进行writeback工作(步骤s108)。在这里,成为仅订正在步骤s106中判定为“错误”的数据的写入工作。因此,与通常的写入工作相比,消耗电流更少。

<1-3>效果

根据上述实施方式,存储设备10大致同时进行纠错处理和prewriteback工作。存储设备10通过进行prewriteback工作,能够使读出的单元组的数据恢复原状(复原)。

为了容易理解本实施方式的效果,说明比较例。

如图10的时刻t16所示,在比较例中,存储设备10并不大致同时进行纠错处理和prewriteback工作。比较例涉及的存储设备10在发布预充电命令“pre”之后,在时刻t19进行writeback工作。在时刻t19的writeback工作中,由于存储设备10在已写入了“0”数据的存储单元组中写回“1”数据,所以与本实施方式中的writeback工作时相比,消耗电流变大。

此外,在发布了预充电命令“pre”之后,存储设备在未图示的工作中使用电流。因此,在多个存储单元组中同时进行writeback工作的情况下,会导致工作电流集中。因此,即使存储设备想要写回数据,也因电源电位降低而有时无法正确地写入数据。

另外,根据比较例,在成为读出对象的存储单元组中成为覆写了“0”数据的状态,直到存储控制器20在时刻t18发布预充电命令“pre”为止。另一方面,发布预充电命令“pre”的定时是任意的,并不知道何时发布。在时刻t17~时刻t18之间,有时会切断存储系统1的电源。在这样的情况下,会导致存储在ecc电路19内的寄存器19a中的进行了纠错处理的数据消失。因此,存储设备10无法正确地向成为读出对象的存储单元组进行writeback工作。其结果,会产生数据从成为读出对象的存储单元组消失这一问题。

然而,根据本实施方式涉及的存储系统的读出工作,大致同时进行纠错处理和prewriteback工作(参照图9的时刻t6~)。图9的时刻t6~中的存储设备10的消耗电流比图10的时刻t19~中的存储设备10的消耗电流少。这是由于,如上所述,比较例涉及的存储设备在时刻t19在未图示的工作中使用了电流。因此,在本实施方式中,在比较例涉及的那样的未图示的工作中不使用电流的定时进行prewriteback工作。因此,即使是在许多存储阵列中同时进行prewriteback工作的情况下,也能够抑制电源电位降低。其结果,能够正确地进行prewriteback工作。

而且,根据本实施方式涉及的存储系统的读出工作,到发布预充电命令“pre”为止,在成为读出对象的存储单元组中,存储有进行纠错处理之前的数据而不是“0”数据。因此,在发布预充电命令“pre”之前,即使切断存储系统1的电源,在成为读出对象的存储单元组中,也至少存储着进行纠错处理之前的数据。如果在发布预充电命令“pre”前切断了存储系统1的电源的情况下,再次进行纠错处理并写回纠错处理后的数据即可。因此,能够消除数据从成为读出对象的存储单元组消失这一问题。也就是说,根据本实施方式,可提供一种能够抑制数据的消失的高质量存储装置。

<2>第二实施方式

以下说明第二实施方式。在第二实施方式中,说明在刚进行纠错处理后进行writeback工作的情况。此外,第二实施方式涉及的存储装置的基本构成和基本工作与上述第一实施方式涉及的存储装置相同。因此,省略针对在上述第一实施方式中说明过的事项和能够从上述第一实施方式类推的事项的说明。

<2-1>工作

以下说明第二实施方式涉及的存储系统的读出工作。

<2-1-1>流程

使用图11,说明第二实施方式涉及的存储系统的读出工作的流程。

[步骤s201]~[步骤s205]

存储系统1进行与在第一实施方式中说明的步骤s101~步骤s105同样的工作。

[步骤s206]

ecc电路19基于利用步骤s205判定出的数据,进行纠错处理。然后,在进行了纠错处理之后,存储设备10将纠错处理的结果(例如,纠错处理后的数据)供给至存储控制器20。另外,纠错处理后的数据存储在ecc电路19内的寄存器19a中。

[步骤s207]

存储设备10进行writeback工作,所述writeback工作用于将通过步骤s206得到的纠错处理的结果(存储在寄存器19a中的数据)写回至存储单元组。

[步骤s208]

存储系统1进行与在第一实施方式中说明的步骤s107同样的工作。

[步骤s209]

存储系统1进行与在第一实施方式中说明的步骤s109同样的工作。

<2-1-2>时间图

接着,使用图12,说明第二实施方式涉及的存储系统的读出工作的具体时间图。

[时刻t20]~[时刻t25]

存储系统1进行与在第一实施方式中说明的时刻t0~时刻t5同样的工作(步骤s201~步骤s205)。

[时刻t26]

接着,存储设备10进行纠错处理(步骤s206)。纠错处理所需的消耗电流比读出工作所需的消耗电流少。因此,在存储设备10中,消耗电流降低。具体而言,例如,消耗电流i(vdd)和消耗电流i(vss)降低。

[时刻t27]

接着,存储设备10进行writeback工作(步骤s207)。writeback工作实质上相当于“1”写入工作,writeback工作所需的消耗电流比读出工作和纠错处理所需的消耗电流大。因此,在存储设备10中,消耗电流增加。具体而言,例如,消耗电流i(vdd)和消耗电流i(vss)进一步增加。

[时刻t28]~[时刻t29]

存储系统1进行与在第一实施方式中说明的时刻t7~时刻t8同样的工作(步骤s208)。

<2-2>效果

根据上述实施方式,存储设备10在刚进行纠错处理后进行writeback工作。因此,如在第一实施方式的<1-3>中说明的那样,能够稳定地进行writeback工作。另外,如在第一实施方式的<1-3>说明的那样,即使在发布预充电命令“pre”前切断存储系统1的电源,纠错处理后的数据也会被写回至存储单元组。也就是说,根据本实施方式,可提供一种能够抑制数据的消失的高质量存储装置。

<3>第三实施方式

以下说明第三实施方式。在第三实施方式中,针对ecc电路设置在存储控制器中的情况进行说明。此外,第三实施方式涉及的存储装置的基本构成和基本工作与上述第一实施方式涉及的存储装置相同。因此,省略针对在上述第一实施方式中说明过的事项和能够从上述第一实施方式类推的事项的说明。

<3-1>存储控制器的构成

实施方式涉及的存储控制器20还具备ecc电路26。

ecc电路26接收经由数据缓冲器22从主机2接收到的写入数据。然后,ecc电路26向写入数据附加纠错码。ecc电路26将赋予了纠错码的写入数据例如供给至数据缓冲器22或设备接口25。

另外,ecc电路26接收经由设备接口25从存储设备10供给的数据。该数据是存储在存储阵列11的存储单元组中的数据。ecc电路26进行在从存储设备10接收到的数据中是否存在错误的判定。在判定为接收到的数据中存在错误的情况下,ecc电路26使用纠错码,对接收到的数据进行纠错处理。而且,ecc电路26将纠错处理后的数据例如供给至数据缓冲器22、设备接口25等。

另外,ecc电路26具备寄存器26a。寄存器26a例如是易失性存储器,存储进行了纠错处理的数据。寄存器26a既可以是易失性存储器,也可以是非易失性存储器。

<3-2>工作

以下说明第一实施方式涉及的存储系统的读出工作。

<3-2-1>流程

使用图14,说明第三实施方式涉及的存储系统的读出工作的流程。

[步骤s301]~[步骤s304]

存储系统1进行与在第一实施方式中说明的步骤s101~步骤s104同样的工作。

[步骤s305]

存储系统1进行与在第一实施方式中说明的步骤s105同样的工作。

进而,存储设备10将判定出的数据供给至ecc电路26。

[步骤s306]

存储设备10将利用步骤s305判定的数据写回到作为读出对象的存储单元组(prewriteback工作)。

[步骤s307]

ecc电路26基于利用步骤s305判定的数据,进行纠错处理。纠错处理后的数据存储在ecc电路26内的寄存器26a中。

[步骤s308]

存储控制器20在接收写入命令的情况下,向存储设备10发布写入命令,并将写入数据供给至数据线dq。接着,存储控制器20向存储设备10发布预充电命令(步骤s308,是);存储控制器20在其他情况下,向存储设备10发布预充电命令,并将存储在寄存器26a中的纠错处理后的数据供给至数据线dq(步骤s308,否)。

[步骤s309]

当存储设备10接收预充电命令和纠错处理后的数据时,进行用于将纠错处理后的数据写回至存储单元组的writeback工作。在存储单元组中已经存储有纠错处理前的数据。因此,在步骤s309中,仅之前错误的存储单元mc进行写入工作。

[步骤s310]

存储系统1进行与在第一实施方式中说明的步骤s109同样的工作。

<3-2-2>时间图

接着,使用图15,说明第三实施方式涉及的存储系统的读出工作的具体时间图。

[时刻t30]~[时刻t35]

存储系统1进行与在第一实施方式中说明的时刻t0~时刻t5同样的工作(步骤s301~步骤s305)。

[时刻t36]

存储设备10经由数据线dq,将进行了判定的数据(data1)供给至存储控制器20。

接着,存储设备10进行prewriteback工作(步骤s306)。prewriteback工作实质上相当于“1”写入工作,prewriteback工作所需的消耗电流比读出工作所需的消耗电流大。因此,在存储设备10中,消耗电流进一步增加。具体而言,例如,消耗电流i(vdd)和消耗电流i(vss)进一步增加。

[时刻t37]

接着,存储控制器20进行纠错处理(步骤s307)。

[时刻t38]

存储控制器20发布预充电命令“pre”,并发送纠错处理后的数据(data2)(步骤s308)。

[时刻t39]

当存储设备10接收到预充电命令“pre”和纠错处理后的数据时,进行预充电工作,进而进行writeback工作(步骤s309)。在这里,成为仅订正在步骤s307中判定为“错误”的数据的写入工作。因此,与通常的写入工作相比,消耗电流较少。

<3-3>效果

根据上述实施方式,存储设备10在进行纠错处理前进行prewriteback工作。因此,能够得到与第一实施方式同样的效果。

为了容易理解本实施方式的效果,说明比较例。

如图16的时刻t46所示,在比较例中,存储设备10不进行prewriteback工作。然后,比较例涉及的存储设备10在发布预充电命令“pre”之后,在时刻t49进行writeback工作。在时刻t49的writeback工作中,由于存储设备10在已写入了“0”数据的存储单元组中写回“1”数据,所以与本实施方式中的writeback工作时相比,消耗电流变大。

此外,在发布了预充电命令“pre”之后,存储设备在未图示的工作中使用电流。因此,在许多存储单元组中同时进行writeback工作的情况下,会导致操作电流集中。因此,即使存储设备要写回数据,也因电源电位降低而有时无法正确地写入数据。

另外,根据比较例,在成为读出对象的存储单元组中成为覆写了“0”数据的状态,直到存储控制器20在时刻t48发布预充电命令“pre”为止。另一方面,发布预充电命令“pre”的定时是任意的,不知道何时发布。在时刻t47~时刻t48之间,有时会切断存储系统1的电源。在这样的情况下,会导致存储在ecc电路26内的寄存器26a中的进行了纠错处理后的数据消失。因此,存储设备10不能正确地向成为读出对象的存储单元组进行writeback工作。其结果,会产生数据从成为读出对象的存储单元组消失这一问题。

然而,根据本实施方式涉及的存储系统的读出工作,在刚确定数据后进行prewriteback工作(参照图15的时刻t36~)。图15的时刻t36~中的存储设备10的消耗电流比图16的时刻t49~中的存储设备10的消耗电流少。这是由于,如上所述,比较例涉及的存储设备在时刻t49在未图示的工作中使用了电流。因此,在本实施方式中,在比较例涉及的那样的未图示的工作中不使用电流的定时进行prewriteback工作。因此,即使在许多存储阵列中同时进行prewriteback工作的情况下,也能够抑制电源电位降低。其结果,能够正确地进行prewriteback工作。

而且,根据本实施方式涉及的存储系统的读出工作,到发布预充电命令“pre”为止,在成为读出对象的存储单元组中,存储有进行纠错处理前的数据而不是“0”数据。因此,在发布预充电命令“pre”之前,即使切断存储系统1的电源,在成为读出对象的存储单元组中,也至少存储着进行纠错处理前的数据。如果在发布预充电命令“pre”前切断了存储系统1的电源的情况下,再次进行纠错处理并写回纠错处理后的数据即可。因此,能够消除数据从成为读出对象的存储单元组消失这一问题。也就是说,根据本实施方式,可提供一种能够抑制数据的消失的高质量存储装置。

<4>第四实施方式

以下说明第四实施方式。在第四实施方式中,说明在刚进行纠错处理后进行writeback工作的情况。此外,第四实施方式涉及的存储装置的基本构成和基本工作与上述第三实施方式涉及的存储装置同样。因此,省略针对在上述第三实施方式中说明过的事项和能够从上述第三实施方式类推的事项的说明。

<4-1>工作

以下说明第四实施方式涉及的存储系统的读出工作。

<4-1-1>流程

使用图17,说明第四实施方式涉及的存储系统的读出工作的流程。

[步骤s401]~[步骤s405]

存储系统1进行与在第三实施方式中说明的步骤s301~步骤s305同样的工作。

[步骤s406]

存储系统1进行与在第三实施方式中说明的步骤s307同样的工作。

然后,存储控制器20将纠错处理后的数据供给至存储设备10。

[步骤s407]

存储设备10进行writeback工作,所述writeback工作用于将通过步骤s406得到的纠错处理后的数据写回至存储单元组。

[步骤s408]

存储系统1进行与在第三实施方式中说明的步骤s307同样的工作。

[步骤s409]

存储系统1进行与在第三实施方式中说明的步骤s310同样的工作。

<4-1-2>时间图

接着,使用图18,说明第四实施方式涉及的存储系统的读出工作的具体时间图。

[时刻t50]~[时刻t55]

存储系统1进行与在第三实施方式中说明的时刻t30~时刻t35同样的工作(步骤s401~步骤s405)。

[时刻t56]

接着,当存储控制器20从存储设备10接收数据(data3)时,进行纠错处理(步骤s406)。

[时刻t57]

接着,当存储设备10从存储控制器20接收纠错处理后的数据(data4)时,进行writeback工作(步骤s407)。writeback工作实质上相当于“1”写入工作,writeback工作所需的消耗电流比读出工作所需的消耗电流大。因此,在存储设备10中,消耗电流增加。具体而言,例如,消耗电流i(vdd)和消耗电流i(vss)进一步增加。

[时刻t58]

存储控制器20发布预充电命令“pre”(步骤s408)。

<4-2>效果

根据上述实施方式,存储设备10在刚进行纠错处理后进行writeback工作。因此,如在第三实施方式的<3-3>中说明的那样,能够稳定地进行writeback工作。另外,如在第三实施方式的<3-3>中说明的那样,即使在发布预充电命令“pre”前切断存储系统1的电源,也将纠错处理后的数据写回至存储单元组。也就是说,根据本实施方式,可提供一种能够抑制数据的消失的高质量存储装置。

<5>第五实施方式

以下说明第五实施方式。在第五实施方式中,说明存储阵列的冗余区域的使用方法。此外,第五实施方式涉及的存储装置的基本构成和基本工作与上述第一~第四实施方式涉及的存储装置同样。因此,省略针对在上述第一~第四实施方式中说明过的事项和能够从上述第一~第四实施方式类推的事项的说明。

<5-1>存储设备的构成

使用图19,说明第五实施方式涉及的存储系统1。

如图19所示,第五实施方式涉及的命令地址输入电路18具备熔断器控制器(fusecnt)18a。在本例中,熔断器控制器18a包括在命令地址输入电路18中,但不限于此。具体而言,也可以设置在命令地址输入电路18之外。

在图19所示的存储系统1中,存储设备10和存储控制器20分别具备ecc电路,但至少具备一个ecc电路即可。当然,也可以使用存储设备10和存储控制器20的ecc电路这两方。

ecc电路19在写入数据中附加纠错奇偶校验和错误检测奇偶校验。ecc电路19将赋予了纠错奇偶校验和错误检测奇偶校验后的写入数据供给至读出放大器/写入驱动器12。

另外,ecc电路19从存储阵列11接收数据。ecc电路19基于错误检测奇偶校验,检测接收到的数据的错误。在ecc电路19检测出接收到的数据的错误且能够订正检测出的错误的情况下,使用纠错奇偶校验对接收到的数据进行纠错处理。然后,ecc电路19将进行了纠错处理的数据例如经由io电路16供给至存储控制器20。

另外,ecc电路26在写入数据中附加纠错奇偶校验和错误检测奇偶校验。ecc电路26将赋予了纠错奇偶校验和错误检测奇偶校验的写入数据例如供给至数据缓冲器22或设备接口25。

另外,ecc电路26接收经由设备接口25从存储设备10供给的数据。ecc电路26使用错误检测奇偶校验,检测从存储设备10接收到的数据的错误。在ecc电路26检测出接收到的数据的错误且能够订正检测出的错误的情况下,使用纠错奇偶校验对接收到的数据进行纠错处理。而且,ecc电路26将进行了纠错处理的数据例如供给至数据缓冲器22、设备接口25等。

在以下说明中,在不单单区别ecc电路19和ecc电路26的情况下,仅记载为ecc电路。

另外,在本实施方式中,为了简化说明,将读出放大器/写入驱动器12和列解码器13作为列控制器40进行处理。

<5-2>存储阵列及其周边的构成

接着,使用图20,说明存储阵列及其周边的构成。

如图20所示,存储阵列11具备多个子阵列(在图20中,作为一例,是两个子阵列110(a)和子阵列110(b))。

子阵列110(a)具备数据区域110_1、纠错奇偶校验区域110_2以及冗余区域110_3。虽然数据区域110_1、纠错奇偶校验区域110_2以及冗余区域110_3各自存储的数据、配置的存储单元mc的个数等不同,但基本的构造相同。

数据区域110_1具备多个列(在图20中,作为一例,8个列a~列h)。本例中的列包括例如上述各实施方式中的、全局位线gbl和与全局位线gbl电连接的存储单元mc。在列a~列h所包含的存储单元mc(未图示)中,存储有通常的数据(纠错奇偶校验和错误检测奇偶校验以外的数据)。

纠错奇偶校验区域110_2具备多个纠错奇偶校验用的列(在图20中,作为一例,两个ecpa和ecpb)。在ecpa和ecpb所包含的存储单元mc(未图示)中,存储有纠错奇偶校验。

另外,冗余区域110_3具备多个冗余用的列(在图20中,作为一例,四个冗余a~冗余d)。冗余a~冗余d是用于救济数据区域110_1和纠错奇偶校验区域110_2中的无法使用的不良列等的列。在冗余a~冗余d所包含的存储单元mc(未图示)中,例如存储有通常的数据、纠错奇偶校验或错误检测奇偶校验。在冗余a~冗余d中存储有怎样的数据这一信息存储在熔断器控制器18a中。

子阵列110(b)也是与子阵列110(a)同样的构成。

熔断器控制器18a具备熔断器电路18a_1(a)和18a_1(b)、以及预解码器18a_2。

熔断器电路18a_1(a)存储有与子阵列110(a)相关的信息。熔断器电路18a_1(a)具备熔断器a~熔断器d。各个熔断器例如是非易失性存储部,存储有熔断器信息。熔断器信息是从数据区域或纠错奇偶校验区域向冗余区域的置换信息、在哪个冗余用的列中存储错误检测奇偶校验等信息。

例如,在列a或列e为不良列(不能使用)的情况下,置换为冗余a。另外,在列b或列f为不良列的情况下,置换为冗余b。另外,在列c或列g为不良列的情况下,置换为冗余c。进而,在列d或列h为不良列的情况下,置换为冗余d。同样地,在ecpa为不良列的情况下,置换为冗余a。另外,在ecpb为不良列的情况下,置换为冗余b。该置换方法为一例,不一定限定于此。这样,将哪个列或ecp置换为哪个冗余用的列这一信息作为熔断器信息存储在熔断器中。

另外,在未被置换的冗余用的列中存储有错误检测奇偶校验。而且,在哪个冗余用的列中存储有错误检测奇偶校验这一信息作为熔断器信息存储在熔断器中。

熔断器电路18a_1(b)存储有与子阵列110(b)相关的信息。熔断器电路18a_1(b)的基本构成与熔断器电路18a_1(a)同样。

预解码器18a_2解码来自熔断器电路18a_1(a)和熔断器电路18a_1(b)的熔断器信息,并向列控制器40供给熔断器信息预解码信号(在图中表述为fips)。

列控制器40例如按每个子阵列具备子列控制器41。在本例中由于设置有两个子阵列,所以列控制器40具备两个子列控制器41。此外,子列控制器41包括读出放大器/写入驱动器12和列解码器13。

子列控制器41(a)基于来自预解码器18a_2的熔断器信息预解码信号(a),控制子阵列110(a)与ecc电路之间的连接。

子列控制器41(b)基于来自预解码器18a_2的熔断器信息预解码信号(b),控制子阵列110(b)与ecc电路之间的连接。

<5-3>子列控制器的工作例

接着,使用图21,说明子列控制器的具体工作例。

例如,在子阵列110(a)的列d为不良列的情况下,在熔断器电路18a_1(a)中存储有列d被置换为冗余d的信息。而且,预解码器18a_2基于从熔断器电路18a_1(a)接收到的信息,供给熔断器信息预解码信号(a)。当子列控制器41(a)接收到熔断器信息预解码信号(a)时,进行将列d置换为冗余d的工作。由此,列d被置换为冗余d(参照图中的箭头b1)。具体而言,当子列控制器41(a)接收到熔断器信息预解码信号(a)时,将列d与ecc电路的连接切换为冗余d与ecc电路的连接。由此,存储在冗余d中的数据作为存储在列d中的数据处理。

另一方面,在子阵列110(b)的冗余d未被置换为其他列的情况下,在子阵列110(b)的冗余d中存储有错误检测奇偶校验。而且,在熔断器电路18a_1(b)中存储有在冗余d中存储有错误检测奇偶校验的信息。而且,预解码器18a_2基于从熔断器电路18a_1(b)接收到的信息,供给熔断器信息预解码信号(b)。当子列控制器41(b)接收到熔断器信息预解码信号(b)时,将存储在冗余d中的错误检测奇偶校验输出至ecc电路(参照图中的箭头c1)。

<5-4>效果

根据上述实施方式,在未被置换的冗余用的列中存储有错误检测用的奇偶校验。

在这里,为了容易理解本实施方式的效果,说明比较例。

如图22所示,在比较例中,设置有用于存储错误检测奇偶校验的错误检测奇偶校验区域110_4。

然而,在本实施方式中,将存储于错误检测奇偶校验区域110_4的数据存储在冗余区域110_3的冗余用的列(未作为数据区域或纠错奇偶校验区域的置换来使用的列)中。因此,如图23所示,在本实施方式中,能够削减错误检测奇偶校验区域110_4。其结果,在本实施方式中,与比较例相比,能够削减存储阵列11的面积。

另外,利用熔断器控制器18a进行冗余区域的置换和存储错误检测奇偶校验的冗余用的列的选择控制。

因此,能够实现存储阵列的面积削减而不降低存储阵列的救济效率。

<6>第六实施方式

以下说明第六实施方式。在第六实施方式中,说明存储阵列的冗余区域的使用方法。此外,第六实施方式涉及的存储装置的基本构成和基本工作与上述第五实施方式涉及的存储装置同样。因此,省略针对在上述第五实施方式中说明过的事项和能够从上述第五实施方式类推的事项的说明。

<6-1>存储阵列及其周边的构成

使用图24,说明存储阵列及其周边的构成。

如图24所示,熔断器控制器18a具备熔断器电路18a_1。

熔断器电路18a_1具备熔断器a~熔断器d。在各个熔断器中,存储有熔断器信息。

在第五实施方式中,由于按每个子阵列具备熔断器电路18a_1,所以按每个子阵列进行了置换控制。但是,在第六实施方式中,由一个熔断器电路18a_1,进行多个子阵列的置换控制。

在本实施方式涉及的存储系统中,以n个列(n为2以上的整数)为单位进行冗余置换。在本实施方式涉及的存储系统中,例如,以两个列为单位进行冗余置换。

具体而言,存储系统对两个不同的存储阵列进行同一置换控制。也就是说,在子阵列110(a)或子阵列110(b)的列x(x:任意的整数)为不良列的情况下,存储系统将子阵列110(a)的列x和子阵列110(b)的列x置换为子阵列110(a)和子阵列110(b)的冗余y(y:整数)。

具体而言,例如,在子阵列110(a)的列a或列e为不良列的情况下,子阵列110(a)和子阵列110(b)的列a或列e被置换为子阵列110(a)和子阵列110(b)的冗余a。

另外,在子阵列110(b)的列a或列e为不良列的情况下,子阵列110(a)和子阵列110(b)的列a或列e被置换为子阵列110(a)和子阵列110(b)的冗余a。

在子阵列110(a)的列b或列f为不良列的情况下,子阵列110(a)和子阵列110(b)的列b或列f被置换为子阵列110(a)和子阵列110(b)的冗余b。

另外,在子阵列110(b)的列b或列f为不良列的情况下,子阵列110(a)和子阵列110(b)的列b或列f被置换为子阵列110(a)和子阵列110(b)的冗余b。

在子阵列110(a)的列c或列g为不良列(不能使用)的情况下,子阵列110(a)和子阵列110(b)的列c或列g被置换为子阵列110(a)和子阵列110(b)的冗余c。

另外,在子阵列110(b)的列c或列g为不良列(不能使用)的情况下,子阵列110(a)和子阵列110(b)的列c或列g被置换为子阵列110(a)和子阵列110(b)的冗余c。

进而,在子阵列110(a)的列d或列h为不良列(不能使用)的情况下,子阵列110(a)和子阵列110(b)的列d或列h被置换为子阵列110(a)和子阵列110(b)的冗余d。

另外,在子阵列110(b)的列d或列h为不良列(不能使用)的情况下,子阵列110(a)和子阵列110(b)的列d或列h被置换为子阵列110(a)和子阵列110(b)的冗余d。

在子阵列110(a)或子阵列110(b)的ecpa为不良列的情况下,子阵列110(a)和子阵列110(b)的ecpa被置换为子阵列110(a)和子阵列110(b)的冗余a。

在子阵列110(a)或子阵列110(b)的ecpb为不良列的情况下,子阵列110(a)和子阵列110(b)的ecpb被置换为子阵列110(a)和子阵列110(b)的冗余b。

该置换方法为一例,不一定限定于此。这样,将哪个列或ecp置换为哪个冗余用的列这一信息作为熔断器信息存储在熔断器中。

另外,在哪个冗余用的列中存储有错误检测奇偶校验这一信息作为熔断器信息存储在熔断器中。

如上所述,在本实施方式中,以两个列为单位进行置换。也就是说,在两个列中的至少一个列为不良列的情况下,不良列被置换为冗余用的列。但是,有时两个列中的一个列为不良列,另一个列为正常的列。在该情况下,无需将正常的列置换为冗余用的列。另外,由于正常的列没有置换为冗余用的列,在冗余用的列中能够形成空闲区域。因此,本实施方式涉及的存储系统在上述冗余用的列的空闲区域中存储错误检测奇偶校验。而且,用于在冗余用的列的空闲区域中存储错误检测奇偶校验的信息存储在熔断器电路18a_1中。

预解码器18a_2解码来自熔断器电路18a_1的信号,向子列控制器41供给熔断器信息预解码信号和奇偶校验指定信号(a)、(b)(在图中表述为pas)。熔断器信息预解码信号包含有置换信息。奇偶校验指定信号(a)、(b)是表示在冗余区域中是否包含有错误检测奇偶校验的信号。熔断器信息预解码信号共通地供给至多个子列控制器41。另一方面,奇偶校验指定信号被供给至多个子列控制器41的每一个。

子列控制器41(a)基于来自预解码器18a_2的熔断器信息预解码信号和奇偶校验指定信号(a),控制子阵列110(a)与ecc电路的连接。

子列控制器41(a)基于熔断器信息预解码信号和奇偶校验指定信号(a),针对“虽然包括在熔断器信息预解码信号中,但没有用奇偶校验指定信号(a)指定的列”,将置换后的冗余用的列的数据作为不良列的数据输出。另外,针对“包括在熔断器信息预解码信号中,且用奇偶校验指定信号(a)指定的列”,按原样输出该列的数据,且将冗余用的列的数据作为错误检测奇偶校验输出。

子列控制器41(b)基于来自预解码器18a_2的熔断器信息预解码信号和奇偶校验指定信号(b),控制子阵列110(b)与ecc电路的连接。

子列控制器41(b)基于熔断器信息预解码信号和奇偶校验指定信号(b),针对“虽然包括在熔断器信息预解码信号中,但没有用奇偶校验指定信号(b)指定的列”,将置换后的冗余用的列的数据作为不良列的数据输出。另外,针对“包括在熔断器信息预解码信号中,且用奇偶校验指定信号(b)指定的列”,按原样输出该列的数据,且将冗余用的列的数据作为错误检测奇偶校验输出。

<6-2>子列控制器的工作例

接着,使用图25,说明子列控制器的具体工作例。

例如,在子阵列110(a)的列d为不良列的情况下,在熔断器电路18a_1中存储有子阵列110(a)和子阵列110(b)的列d被置换为冗余d的信息。

在子阵列110(b)的列d为正常的列的情况下,在熔断器电路18a_1中存储有子阵列110(b)的列d为通常的列,在子阵列110(b)的冗余d中存储有错误检测奇偶校验这一信息。

而且,预解码器18a_2基于从熔断器电路18a_1接收到的信息,供给熔断器信息预解码信号、奇偶校验指定信号(a)以及奇偶校验指定信号(b)。

当子列控制器41(a)接收到熔断器信息预解码信号和奇偶校验指定信号(a)时,进行将子阵列110(a)的列d置换为子阵列110(a)的冗余d的工作。由此,列d被置换为冗余d(参照图中的箭头b2)。具体而言,子列控制器41(a)接收熔断器信息预解码信号和奇偶校验指定信号(a),在判定为“在熔断器信息预解码信号中指定了列d,但在奇偶校验指定信号(a)中没有指定列d”的情况下,将列d与ecc电路的连接切换为冗余d与ecc电路的连接。由此,将存储在冗余d中的数据作为存储在列d中的数据进行处理。

当子列控制器41(b)接收到熔断器信息预解码信号和奇偶校验指定信号(b)时,按原样向ecc电路输出存储在子阵列110(b)的列d中的数据,且向ecc电路输出存储在子阵列110(b)的冗余d中的错误检测奇偶校验(参照图中的箭头c2)。具体而言,子列控制器41(b)接收熔断器信息预解码信号和奇偶校验指定信号(b),在判定为“在熔断器信息预解码信号中指定了列d,且在奇偶校验指定信号(b)中指定了列d”的情况下,将列d与ecc电路连接,且将冗余d与ecc电路连接。由此,输出列d的数据,且将存储在冗余d中的数据作为错误检测奇偶校验进行处理。

<6-3>效果

根据上述实施方式,在未被置换的冗余用的列中存储有错误检测用的奇偶校验。

另外,在第五实施方式中,按每个存储阵列设置了熔断器电路18a_1,但在本实施方式中,用一个熔断器电路18a_1管理全部存储阵列的置换信息。因此,与第五实施方式相比,熔断器电路18a_1所需的面积更小。另外,通过使用奇偶校验指定信号,对于正常的列进行控制,以适当地使用。其结果,能够提供一种能够在削减熔断器电路18a_1的面积的同时,适当地救济不良列的存储装置。

<7>变形例等

此外,上述各实施方式中的“连接”也包括在中间存在例如晶体管或电阻等其他元件而间接地连接的状态。

另外,在上述各实施方式中,读出放大器/写入驱动器12通过对参照电流和单元电流进行比较,判定存储单元mc的数据。然而,不限于此,也可以是,读出放大器/写入驱动器12通过对参照电压和单元电压进行比较,从而判定存储单元mc的数据。单元电压是指在存储单元mc中流动读出电流时的电压。

另外,在上述第一和第二实施方式中,在存储控制器20中没有设置ecc电路,但也可以在存储控制器20中设置ecc电路。另外,在上述第三和第四实施方式中,在存储设备10中没有设置ecc电路,但也可以在存储设备10中设置ecc电路。

在这里,作为阻变元件,以使用磁阻效应元件(magnetictunneljunction(mtj)元件)存储数据的mram为例进行了说明,但不限于此。

例如,也能够应用于与mram同样的阻变型存储器,例如rerampcram等这样具有利用阻变存储数据的元件的半导体存储装置。

另外,能够应用于具有如下元件的半导体存储装置而不论是易失性存储器、非易失性存储器,所述元件利用伴随着电流或电压的施加的阻变而存储数据,或通过将伴随着阻变的电阻差转换成电流差或电压差而进行所存储的数据的读出。

另外,在上述各实施方式中,为了方便起见,将位线对称为位线bl和源极线sl,但不限于此,例如也可以称为第一位线和第二位线等。

另外,在上述实施方式中,存储系统1在存储控制器20上连接有一个存储设备10,但不限于此。例如,存储系统1也可以是在存储控制器20上连接有多个存储设备10这样的构成。

以上说明了本发明的几个实施方式,但是这些实施方式只是作为例子进行了提示,并不是意在限定发明的范围。这些新颖的实施方式能以其他各种方式来实施,在不脱离发明的要旨的范围内,能够进行各种省略、置换以及变更。这些实施方式、其变形包含在发明的范围、要旨内,并包含在权利要求书所记载的发明及与之等同的范围内。

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