一种数据的存储方法和装置与流程

文档序号:20203417发布日期:2020-03-27 20:52阅读:121来源:国知局
一种数据的存储方法和装置与流程

本申请涉及集成电路技术领域,特别涉及一种数据的存储方法和装置。



背景技术:

磁性随机存储器(magneticrandomaccessmemory,mram)是一种新型高性能存储器磁性。它拥有静态随机存储器(staticrandomaccessmemory,sram)的高速读取写入能力,以及动态随机存储器(dynamicrandomaccessmemory,dram)的高集成度,可以无限次地重复写入。mram采用磁性多层材料构成的纳米柱状器件中的磁矩方向来记录信息,且维持磁矩和磁矩的方向不需要外加电源,因此mram还具有快闪存储器(flashmemory)的非易失性。

mram的存储位元是磁性隧道结器件(magnetictunnelingjunction,mtj)。如图1所示,mtj由两层铁磁性材料夹着一层非常薄的非铁磁绝缘材料所构成。其中一层铁磁材料具有固定的磁化方向,称为参考层;另一层铁磁材料的磁化方向可变,称为记忆层,记忆层的的磁化方向可以和参考层的磁化方向平行或反平行。记忆层和参考层磁矩的方向可以是平行于面内,或者垂直于面外方向。mtj是磁性多层薄膜材料经过刻蚀加工后形成的微小尺寸的圆柱状器件,可被视为一个可变电阻,其阻值依赖于可变磁化层的磁化方向。记忆层和参考层的磁化方向平行时电阻低,磁化方向反平行时电阻高。

读取mram的过程是对相应地址的mtj的电阻进行测量。写入mram的过程是在相应地址的mtj上通过合适的电流,来翻转记忆层的磁矩;如图1所示,从端口2至端口1的自下而上的电流方向可以实现磁矩平行至反平行的翻转,从端口1至端口2的自上而下的电流方向可以实现磁矩反平行至平行的翻转。

如图2所示,图2中左侧是存储器中最基本的存储单位,包括一个mtj和一个开关器件,开关器件通常采用场效应管,开关器件用于连接到芯片的字线负责接通或切断这个单元,mtj和开关器件串联并连接接至位线和源线。图2中右侧是通过行列周期性重复基本存储单位所形成的存储阵列,将读写电压施加在在位线和源线上以对选择的存储单元进行读出或写入。磁性随机存储芯片由一个或多个存储阵列组成,每个阵列或若干阵列共享有相应功能的外部电路,包括:行地址解码器、列地址解码器、读写电路、地址控制电路、输入输出控制电路。

mram通过在存储单元上施加一定的电压脉冲来翻转存储单元记忆层磁矩实现写入数据的操作,读出存储单元中数据的方式是通过灵敏放大电路感知存储单元的电阻变化。mram的读出电路需要检测存储位元器件mtj的电阻。一般的方法是使用芯片上的一些已经被写成高阻态或低阻态的存储位元作为参考单元,再通过读写电路中的读出放大器(senseamplifier)来比较记忆单元和参考单元的电阻。

mram在进行写操作时,磁矩翻转具有一定随机性,即,在写入脉冲幅值给定的情况下,成功翻转所需的写脉冲宽度具有很宽的分布。例如:90%的存储单元可以在20纳秒内发生翻转,而10%的存储单元的翻转时间在20纳秒至100纳秒之间。因此,为了保证全部存储单元正常工作,电路设计需要在所有的存储单元上施加长时间的写脉冲信号,这对功耗和耐久性有巨大的负面影响。



技术实现要素:

本申请实施例提供了一种数据的存储方法和装置,可以降低mram写脉冲信号的幅值电压和时长,进一步的,可以降低存储器的功耗,提高存储器的耐久性。

一方面,本申请实施例提供了一种数据的存储方法,包括:

确定待写入数据在第一存储区域的第一存储位置;

若位置映射记录中存在第一存储位置的标识,根据位置映射记录确定出第一存储位置的标识对应的第二存储位置的标识;

根据第二存储位置的标识确定位于第二存储区域中的第二存储位置;

将待写入数据写入第二存储位置。

另一方面,本申请实施例提供了一种数据的存储装置,包括:

第一确定模块,用于确定待写入数据在第一存储区域的第一存储位置;

第二确定模块,用于若位置映射记录中存在第一存储位置的标识,根据位置映射记录确定出第一存储位置的标识对应的第二存储位置的标识;

第三确定模块,用于根据第二存储位置的标识确定位于第二存储区域中的第二存储位置;

存储模块,用于将待写入数据写入第二存储位置。

本申请实施例提供的一种数据的存储方法和装置具有如下有益效果:

通过确定待写入数据在第一存储区域的第一存储位置;若位置映射记录中存在第一存储位置的标识,根据位置映射记录确定出第一存储位置的标识对应的第二存储位置的标识;根据第二存储位置的标识确定位于第二存储区域中的第二存储位置;将待写入数据写入第二存储位置。本申请中,位置映射记录中记录有第一存储区域的难写位置,在存储器进行写入操作时,若位置映射记录中存在第一存储位置的标识,可以将要写入第一存储位置的数据写入对应的第二存储区域的第二存储位置,该第二存储位置为位置映射记录中记录的易写位置,如此,可以降低存储器存储数据时所需的写脉冲的电压幅值和时间,从而可以降低存储器的功耗,提高耐久性。

附图说明

为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本申请实施例提供的一种磁性隧道结器件的示意图;

图2是本申请实施例提供的一种存储阵列及其存储单位的示意图;

图3是本申请实施例提供的一种应用场景的示意图;

图4是本申请实施例提供的一种数据的存储方法的流程示意图;

图5是本申请实施例提供的一种存储器芯片的内部结构示意图;

图6是本申请实施例提供的一种存储器写入操作的shmoo图;

图7是本申请实施例提供的一种数据的存储装置的结构示意图;

图8是本申请实施例提供的一种冗余存储阵列构架的示意图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。

需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或服务器不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

请参阅图3,图3是本申请实施例提供的一种应用场景的示意图,包括存储器301,该存储器301包括第一存储区域3011、第二存储区域3012和位置映射记录3013。

该存储器301在存储数据时,通过确定待写入数据在第一存储区域3011的第一存储位置;若位置映射记录3013中存在第一存储位置的标识,则存储器301根据位置映射记录3013确定出第一存储位置的标识对应的第二存储位置的标识;存储器301根据第二存储位置的标识确定位于第二存储区域3012中的第二存储位置,并将待写入数据写入第二存储位置。

本申请实施例中,位置映射记录3013中记录有第一存储区域3011的难写位置,在存储器301进行写入操作时,若位置映射记录3013中存在第一存储位置的标识,可以将要写入第一存储位置的数据写入对应的第二存储区域3012的第二存储位置,该第二存储位置为位置映射记录3013记录的易写位置,如此,可以降低存储器301存储数据时所需的写脉冲的电压幅值和时间,从而可以降低存储器301功耗提高耐久性。

可选的,存储器301可以是sram、dram或mram、pcram、rram等阻性存储器以及通过对存储单元施加电压进行写操作的存储器。

以下介绍本申请一种数据的存储方法的具体实施例,图4是本申请实施例提供的一种数据的存储方法的流程示意图,本说明书提供了如实施例或流程图的方法操作步骤,但基于常规或者无创造性的劳动可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的系统或服务器产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境)。具体的如图4所示,该方法可以包括:

s401:存储器确定待写入数据在第一存储区域的第一存储位置。

本申请实施例中,存储器的地址控制模块根据接收到的外部电路发送的存储地址确定待写入数据将要写入的第一存储区域中的第一存储位置。

可选的,第一存储区域可以是存储器的存储阵列,该存储阵列包括若干存储单元;第一存储位置可以是若干存储单元中的一个存储单元。

可选的,存储器可以是mram;第一存储位置可以包括一个mtj和一个场效应管。

s403:若位置映射记录中存在第一存储位置的标识,存储器根据位置映射记录确定出第一存储位置的标识对应的第二存储位置的标识。

本申请实施例中,该方法还包括确定位置映射记录的步骤;该步骤包括:

确定第一存储位置集合;其中,第一存储位置集合中的每个存储位置为第一存储区域中一个存储位置;确定第二存储位置集合,其中,第二存储位置集合中的每个存储位置为第二存储区域中一个存储位置;第二存储位置集合中的存储位置的数量大于第一存储位置集合中的存储位置的数量;基于第一存储位置集合中的存储位置的数量从第二存储位置集合中确定出第三存储位置集合;第三存储位置集合中的存储位置的数量等于第一存储位置集合中的存储位置的数量;将第一存储位置集合中的存储位置的标识和第三存储位置集合中的存储位置的标识一一对应关联,生成位置映射记录。

本申请实施例中,第二存储区域的存储位置的数量与第一存储区域的存储位置的数量的比值可以是0.01至0.2区间内任意值。

可选的,第二存储区域和第一存储区域相邻放置于同一芯片上。

一种可选的确定第一存储位置集合或确定第二存储位置集合的实施方式中,可以采用外部测试机确定第一存储位置集合或确定第二存储位置集合。

另一种可选的确定第一存储位置集合或确定第二存储位置集合的实施方式中,可以通过存储器内部自测试电路(build-inselftest)确定第一存储位置集合或确定第二存储位置集合。

具体的,确定第一存储位置集合可以包括:基于预设的脉冲时长和脉冲幅值,将第一预设数据写入第一存储区域中的每个存储位置;读出每个存储位置中的数据;根据每个存储位置中的数据与第一预设数据的匹配度确定出第一存储位置集合。

具体的,确定第二存储位置集合可以包括:基于预设的脉冲时长和脉冲幅值,将第二预设数据写入第二存储区域中的每个存储位置;读出每个存储位置中的数据;根据每个存储位置中的数据与第二预设数据的匹配度确定出第二存储位置集合。

下面通过一个具体的例子对上文进行说明,请参阅图5,图5是本申请实施例提供的一种存储器芯片的内部结构示意图,包括存储阵列(第一存储区域)和冗余存储阵列(第二存储区域)。请参阅图6所示,图6是本申请实施例提供的一种存储器写入操作的shmoo图。假设该存储器的存储阵列包括107个存储位置,存储阵列的写入错误率依赖于写入脉冲的脉冲时长t和脉冲幅值v。以写入脉冲时长t1为例,写入脉冲幅值大于等于v8才能保证存储阵列中的所有存储位置无错误的工作,随着脉冲幅值降低,写入错误率提高。当脉冲幅值下降到v1时,有106的存储位置无法在该电压幅值下成功翻转,则将该106的存储位置确定为难写位置(第一存储位置)。本申请通过将106个难写位置替换成在冗余存储阵列中能在脉冲幅值v1下写入易写位置(第二存储位置),如此,使得存储器能在较低的写入电压下工作,有助于降低写入错误率、提升存储器的耐久性。

基于上述的例子,下面介绍确定第一存储位置集合(难写位置集合)的具体实施方式。通过外部测试机或内部自测试电路的测试模式提供可调节脉冲幅值和脉冲时长的写入脉冲,可调节脉冲幅值的范围可以是如图6所示的v0-v9,可调节脉冲时长的范围可以是如图6所示的t0-t9。

首先,采用外加磁场或采用写入操作将存储阵列中所有存储位置的数据初始化为0,通过配置写入脉冲时长t0和脉冲幅值vn,将所有存储位置的数据写为1,读出所有存储位置的数据,将读出数据不为1的存储位置确定为难写位置;其次,将所有存储位置的数据写为0,读出所有存储位置的数据,将读出数据不为0的存储位置确定为难写位置。若上述两次测试有任一次确定为难写位置的,则该存储位置被确定为难写位置,确定所有难写位置的数量,并保存所有难写位置的标识。可选的,该标识可以是难写位置的地址。

需要说明的是,实际操作中,可以重复多次上述写0、读出、写1、读出的操作步骤,存储阵列中的存储位置在任一次读出数据与写入数据不匹配时即被确定为难写位置。若确定的难写位置的数量远小于冗余存储阵列的容量,则降低脉冲幅值为vn-1,重复上述测试,并临时记录难写位置的数量和地址。若确定的难写位置的数量大于冗余存储阵列容量,则增加脉冲幅值为vn+1,重复上述测试,并临时记录难写位置的数量和地址。

确定第二存储位置集合(易写位置集合)的具体实施方式与上述确定第一存储位置集合的实施方式同理。采用外加磁场或采用写入操作将存储阵列中所有存储位置的数据初始化为0,通过配置写入脉冲时长t0和脉冲幅值vn,将所有存储位置的数据写为1,读出所有存储位置的数据,将读出数据为1的存储位置确定为准易写位置;其次,将所有存储位置的数据写为0,读出所有存储位置的数据,将读出数据为0的存储位置确定为准易写位置;将上述两次测试中均被确定为准易写位置的存储位置确定为易写位置,确定易写位置的数量。

需要说明的是,实际操作中,可以重复多次上述写0、读出、写1、读出的操作步骤,存储阵列中的存储位置仅在每次测试中被确定为准易写位置时被确定为易写位置。若准易写位置的数量占冗余存储阵列容量的比例超过预设比例,则降低脉冲幅值为vn-1,重复上述测试,并临时记录准易写位置的数量和地址。若准易写位置的数量占冗余存储阵列容量的比例小于预设比例,则增加脉冲幅值为vn+1,重复上述测试,并临时记录准易写位置的数量和地址。

本申请实施例中,确定第一存储位置集合的标准可以包括:通过测试筛选出第一存储位置集合的数量,直至第一存储位置集合的数量占第一存储区域数量的比例在0至0.1的区间内,此时确定第一存储位置集合。

本申请实施例中,确定第二存储位置集合的标准可以包括:通过测试筛选出第二存储位置集合的数量大于等于第一存储位置集合的数量。

基于上述的例子说明,存储阵列包括107个存储位置,冗余存储阵列包括106个存储位置。写入脉冲的脉冲时长设置为t1,脉冲幅值设置为v2时,存储阵列中的难写位置的数量为105,冗余存储阵列中易写位置的数量为9x105,此时可以实现所有的难写位置被易写位置替换,但冗余存储阵列的利用率仅有1/9。在实际实施操作中,可以根据具体存储器的shmoo图,更加准确的确定脉冲幅值的范围,使得通过尽量少的脉冲幅值调节即可找到最佳的难写位置和易写位置,并提高冗余存储阵列的利用率。

一种可选的确定位置映射记录之后的实施方式中,可以包括:将第一存储位置集合,第二存储位置集合以及位置映射记录存入存储器的地址控制模块中的寄存器,该寄存器可以是非易失性寄存器。地址控制模块还可以包括地址比较模块,将接收到的外部地址与寄存器存储的第一存储位置集合进行比对,若外部地址在第一存储位置集合中,则根据位置映射记录,将内部物理地址映射到对应的第二存储位置,将实际访问的位置替换为第二存储区域中的第二存储位置。

另一种可选的确定位置映射记录之后的实施方式中,可以包括:将第一存储位置集合,第二存储位置集合以及位置映射记录临时存入外部测试机缓存,通过一次性烧写的方法在存储器芯片内部电路中定义映射关系,如此,在对存储器进行读写操作的过程中可以省略映射操作,可以将原本要写入第一存储位置的数据直接写入对应的第二存储位置。

s405:存储器根据第二存储位置的标识确定位于第二存储区域中的第二存储位置。

s407:存储器将待写入数据写入第二存储位置。

一种可选的存储器根据第二存储位置的标识确定位于第二存储区域中的第二存储位置的实施方式中,存储器的地址控制模块确定位置映射记录中存在第一存储位置的标识,并根据位置映射记录确定第一存储位置的标识对应的第二存储位置的标识,地址控制模块将第二存储位置的标识发送给第二存储区域的行地址解码电路和列地址解码电路,以确定第二存储位置,存储器将待写入数据写入第二存储位置。

本申请实施例中,还包括读取数据的步骤,包括:确定待读取位置位于第一存储区域的第三存储位置;若位置映射记录中存在第三存储位置的标识,根据位置映射记录确定出第三存储位置的标识对应的第四存储位置的标识;根据第四存储位置的标识确定位于第二存储区域中的第四存储位置;将第四存储位置确定为目标读取位置,并从目标读取位置中读取数据。本申请中读取数据的步骤与存储数据的方法同理,第三存储位置可以对应为第一存储位置,第四存储位置可以对应为第二存储位置,请参考上述步骤s401-s407及其可选的实施方式,此处不再赘述。

本申请实施例还提供了一种数据的存储方法,图7是本申请实施例提供的一种数据的存储装置的结构示意图,如图7所示,该装置包括:

第一确定模块701,用于确定待写入数据在第一存储区域的第一存储位置;

第二确定模块702,用于若位置映射记录中存在第一存储位置的标识,根据位置映射记录确定出第一存储位置的标识对应的第二存储位置的标识;

第三确定模块703,用于根据第二存储位置的标识确定位于第二存储区域中的第二存储位置;

存储模块704,用于将待写入数据写入第二存储位置。

本申请实施例中的装置与方法实施例基于同样地申请构思。

本申请所提出的冗余存储阵列构架可以独立对冗余存储阵列进行地址解码和写入读出,可以将存储阵列中的难写位置替换为冗余存储阵列中的易写位置,具有利用率高,配置灵活的特点。请参阅图8,图8是本申请实施例提供的一种冗余存储阵列构架的示意图。该冗余存储阵列构架可以是如图8所示的左右或上下镜像,形成容量可扩展的存储器。

由上述本申请提供的数据的存储方法和装置的实施例可见,本申请中通过确定待写入数据在第一存储区域的第一存储位置;若位置映射记录中存在第一存储位置的标识,根据位置映射记录确定出第一存储位置的标识对应的第二存储位置的标识;根据第二存储位置的标识确定位于第二存储区域中的第二存储位置;将待写入数据写入第二存储位置。本申请中,位置映射记录中记录有第一存储区域的难写位置,在存储器进行写入操作时,若位置映射记录中存在第一存储位置的标识,可以将要写入第一存储位置的数据写入对应的第二存储区域的第二存储位置,该第二存储位置为位置映射记录中记录的易写位置,如此,可以降低存储器存储数据时所需的写脉冲的电压幅值和时间,从而可以降低存储器的功耗,提高耐久性。

需要说明的是:上述本申请实施例先后顺序仅仅为了描述,不代表实施例的优劣。且上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。

本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于设备实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。

以上所述仅为本申请的较佳实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

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