![MRAM存储阵列温度自检测方法、存储控制方法和系统与流程](/upload/img/202110/l0baluu0kct.gif)
本发明涉及存储器领域,具体地涉及一种mram存储阵列温度自检测方法,一种mram存储阵列温度自检测系统,一种mram存储阵列存储控制方法和一种mram存储阵列存储控制系统。
背景技术:
芯片产业备受全球关注,其是衡量一个国家产业竞争力和综合国力的重要标志,而存储器是芯片的一个非常重要的模块,用来存储芯片产生的数据。在工业中,存储器主要用来保存设备运行参数、日志、负荷记录等数据,在设备中起非常重要的作用。
mram(magneticrandomaccessmemory,磁性随机存储器)是一种最新型的存储器。mram具有非易失性,读写速度快,基本上可以无限次地重复写入,像sram/dram一样快速随机读写,像flash闪存一样在断电后永久保留数据等优点,现在已经在航空航天、工业自动化、智能电网等对数据安全可靠性要求较高的领域有初步应用。跟传统硅基存储器相比,mram的信息存储在磁性材料中,通过电流对存储单元进行读写操作,因此环境温度变化会对存储芯片产生影响,一般表现为当温度较低时,由于铁磁材料变得较难以被翻转,从而导致mram在低温区数据写入变得困难;当温度较高时,铁磁材料容易被翻转,但是存储单元的隧穿磁阻比率随温度上升而下降,读扰动影响增强,数据读出变得困难。因此在日常应用中,mram的正常工作温度区间受到限制。
目前对于宽温区环境下mram数据安全的研究还不够深入和完善,业界普遍采用存储器芯片与温度传感器多芯片封装的方式,用来检测整个存储器芯片模组的工作温度,但外置温度传感器对存储器阵列的工作温度响应严重滞后,也无法精确表征不同存储分区的温度,致使目前存储器芯片只能工作在一个相对较低的温度区间,无法完全满足户外智能电表对环境的适应性。
技术实现要素:
本发明实施方式的目的是提供一种mram存储阵列温度自检测方法、存储控制方法和系统,该mram存储阵列温度自检测方法根据铁磁材料在高温区和低温区的读写特性,通过检测数据读写错误率,并对数据读写错误率进行分析得到对应存储阵列分区的温度,可快速部署到现有存储器上,具有响应快、检测区域精细的特点;该存储控制方法根据温度改变不同存储阵列分区的操作频率,以均衡环境温度和存储器工作产生的温度,以保证芯片的宽温区工作特性。
为了实现上述目的,本发明第一方面提供一种mram存储阵列温度自检测方法,所述方法包括:
为第一存储阵列分区分配对应的写错误检测区域地址和读错误检测区域地址;
生成多个随机数组,将所述多个随机数组中的每一个随机数组分别在写错误检测区域地址对应的第一存储阵列中执行一次读写操作,得到所述第一存储阵列的写错误率测量值;
生成固定数组,将所述固定数组写入读错误检测区域地址对应的第二存储阵列中,执行多次读操作,得到所述第二存储阵列的读错误率测量值;
根据写错误率基础值、读错误率基础值、所述写错误率测量值和所述读错误率测量值,判断所述第一存储阵列和第二存储阵列所属的第一存储阵列分区当前的温度范围;
所述写错误率基础值和所述读错误率基础值为mram存储阵列正常工作时的写错误率值和读错误率值。
可选的,所述方法还包括:
改变所述写错误检测区域地址和所述读错误检测区域地址为第二存储阵列分区的地址,按照与第一存储阵列分区相同的步骤实现对第二阵列分区的温度检测。通过更改写错误检测区域地址和读错误检测区域地址可以改变检测的存储阵列分区,从而实现对整个mram存储阵列进行分区扫描,以获得存储阵列分区温度的精确温度分布图,从而更精确得控制数据流的分配,提高存储器可靠工作的温度范围。
进一步地,所述生成多个随机数组,将所述多个随机数组中的每一个分别在写错误检测区域地址对应的存储阵列中执行一次读写操作,得到所述存储阵列对应的写错误率测量值,包括:
所述生成多个随机数组,将所述多个随机数组中的每一个随机数组分别在写错误检测区域地址对应的第一存储阵列中执行一次读写操作,得到所述第一存储阵列的写错误率测量值,包括:
s101:生成一个随机数组,记为第一数组;
s102:将所述第一数组写入所述写错误检测区域地址对应的第一存储阵列中;
s103:读取所述第一存储阵列中的数据,得到第二数组;
s104:比较所述第一数组与所述第二数组,在所述第一数组与所述第二数组不一致时记录一次写错误次数;
s105:重复步骤s101-s104j次;
s106:根据所记录的写错误次数和重复次数j计算得到所述第一存储阵列的写错误率测量值。通过重复多次读写操作,可以测量得到同一个存储阵列写错误率。
进一步地,所述生成固定数组,将所述固定数组写入读错误检测区域地址对应的第二存储阵列中,执行多次读操作,得到所述第二存储阵列的读错误率测量值,包括:
生成一个固定数组,记为第三数组;
将所述第三数组写入所述读错误检测区域地址对应的第二存储阵列中;
重复读取y次所述第二存储阵列中的数据,得到y个第四数组;
将每个第四数组分别与所述第三数组比较,在所述第三数组与所述第四数组不一致时记录一次读错误次数;
根据所记录的读错误次数和重复读取次数y计算得到所述第二存储阵列的读错误率测量值。通过重复多次读操作,可以测量得到同一个存储阵列读错误率。
进一步地,所述根据写错误率基础值、读错误率基础值、所述写错误率测量值和所述读错误率测量值判断所述第一存储阵列和第二存储阵列所属的第一存储阵列分区当前的温度范围,包括:
比较所述写错误率基础值、所述读错误率基础值、所述写错误率测量值和所述读错误率测量值;
若所述写错误率测量值小于或等于所述写错误率基础值,且所述读错误率测量值小于等于所述读错误率基础值,则所述存储阵列所属的第一存储阵列分区温度处于额定工作温度范围;
若所述写错误率测量值大于所述写错误率基础值,且所述读错误率测量值小于等于所述读错误率基础值,则所述存储阵列所属的第一存储阵列分区温度低于额定工作温度范围;
若所述读错误率测量值大于所述读错误率基础值,则所述存储阵列所属的第一存储阵列分区温度高于额定工作温度范围。根据铁磁材料的特性所导致的mram在低温区数据写入变得困难,在高温区数据读出变得困难的特点,根据检测到的写错误率测量值和读错误率测量值与写错误率基础值和读错误率基础值进行比较,分析判断获得测量的存储阵列分区的温度范围,为存储控制器的控制提供了温度参考。
本发明第二方面提供一种mram存储阵列温度自检测系统,所述系统包括:
检测区域地址分配单元,用于为各存储阵列分区分配对应的写错误检测区域地址和读错误检测区域地址;
数组生成单元,用于生成各存储阵列分区对应的随机数组和固定数组;
写错误率测量值获取单元,用于将存储阵列分区对应的所述随机数组中的每一个随机数组分别在对应的写错误检测区域地址对应的存储阵列中执行一次读写操作,得到所述写错误检测区域地址对应的存储阵列的写错误率测量值;
读错误率测量值获取单元,用于将存储阵列分区对应的所述固定数组写入对应的读错误检测区域地址对应的存储阵列中,执行多次读操作,得到所述读错误检测区域地址对应的存储阵列的读错误率测量值;
温度范围判断单元,用于根据写错误率基础值、读错误率基础值、所述写错误率测量值和所述读错误率测量值判断所述写错误检测区域地址和所述读错误检测区域地址所属的存储阵列分区当前的温度范围。该系统在存储阵列中分配出特定的地址作为检测单元,可以快速对任意一个存储阵列分区进行实时检测,通过检测数据读写错误率,并对数据读写错误率进行分析得到对应存储阵列分区的温度,可快速部署到现有存储器上,具有响应快、检测区域精细的特点。
本发明第三方面提供一种mram存储阵列存储控制方法,所述方法包括:
采用所述的mram存储阵列温度自检测方法检测mram存储阵列的温度;
根据所述mram存储阵列的温度控制所述mram存储阵列的不同存储阵列分区的操作频率,以保证所述mram存储阵列的宽温区工作特性。根据温度改变不同存储阵列分区的操作频率,以均衡环境温度和存储器工作产生的温度,以保证芯片的宽温区工作特性。
进一步地,所述根据所述mram存储阵列的温度控制所述mram存储阵列的不同存储阵列分区的操作频率,包括:
当所述mram存储阵列的存储阵列分区的温度低于额定工作温度范围时,增加对所述存储阵列分区的操作频率;
当所述mram存储阵列的存储阵列分区的温度处于额定工作温度范围时,保持对所述存储阵列分区的操作频率;
当所述mram存储阵列的存储阵列分区的温度高于额定工作温度范围时,减少对所述存储阵列分区的操作频率。
本发明第四方面提供一种mram存储阵列存储控制系统,所述系统包括:
存储器控制器,用于采用所述的mram存储阵列温度自检测方法检测mram存储阵列的温度;根据所述mram存储阵列的温度控制所述mram存储阵列的不同存储阵列分区的操作频率,以保证所述mram存储阵列的宽温区工作特性。该系统使用了存储器原有的控制器,不需要改变原有mram的芯片结构,直接在现有芯片结构的基础上实现mram存储阵列的温度检测,可快速部署到现有存储器上,具有响应快、检测区域精细的特点。
另一方面,本发明提供一种机器可读存储介质,该机器可读存储介质上存储有指令,该指令用于使得机器执行所述的mram存储阵列温度自检测方法。
通过上述技术方案,该检测mram温度的方法根据铁磁材料在高温区和低温区的读写特性,通过检测数据读写错误率,并对数据读写错误率进行分析得到对应存储阵列分区的温度,可快速部署到现有存储器上,具有响应快、检测区域精细的特点;该存储控制方法根据温度改变不同存储阵列分区的操作频率,以均衡环境温度和存储器工作产生的温度,以保证芯片的宽温区工作特性。
本发明实施方式的其它特征和优点将在随后的具体实施方式部分予以详细说明。
附图说明
附图是用来提供对本发明实施方式的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本发明实施方式,但并不构成对本发明实施方式的限制。在附图中:
图1是本发明一种实施方式提供的mram存储阵列温度自检测方法流程图;
图2是本发明一种实施方式提供的mram存储阵列温度自检测系统框图;
图3是本发明一种实施方式应用的mram存储器结构示意图;
图4是本发明一种实施方式提供的mram存储阵列温度自检测流程图。
具体实施方式
以下结合附图对本发明的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本发明,并不用于限制本发明。
图1是本发明一种实施方式提供的mram存储阵列温度自检测方法流程图。如图1所示,所述方法包括:
为第一存储阵列分区分配对应的写错误检测区域地址和读错误检测区域地址;
生成多个随机数组,将所述多个随机数组中的每一个随机数组分别在写错误检测区域地址对应的第一存储阵列中执行一次读写操作,得到所述第一存储阵列的写错误率测量值;
生成固定数组,将所述固定数组写入读错误检测区域地址对应的第二存储阵列中,执行多次读操作,得到所述第二存储阵列的读错误率测量值;
根据写错误率基础值、读错误率基础值、所述写错误率测量值和所述读错误率测量值,判断所述第一存储阵列和第二存储阵列所属的第一存储阵列分区当前的温度范围;
所述写错误率基础值和所述读错误率基础值为mram存储阵列正常工作时的写错误率值和读错误率值。
可选的,所述方法还包括:
改变所述写错误检测区域地址和所述读错误检测区域地址为第二存储阵列分区的地址,按照与第一存储阵列分区相同的步骤实现对第二阵列分区的温度检测。通过更改写错误检测区域地址和读错误检测区域地址可以改变检测的存储阵列分区,从而实现对整个mram存储阵列进行分区扫描,以获得存储阵列分区温度的精确温度分布图,从而更精确得控制数据流的分配,提高存储器可靠工作的温度范围。
进一步地,所述生成多个随机数组,将所述多个随机数组中的每一个随机数组分别在写错误检测区域地址对应的第一存储阵列中执行一次读写操作,得到所述第一存储阵列的写错误率测量值,包括:
s101:生成一个随机数组,记为第一数组;
s102:将所述第一数组写入所述写错误检测区域地址对应的第一存储阵列中;
s103:读取所述第一存储阵列中的数据,得到第二数组;
s104:比较所述第一数组与所述第二数组,在所述第一数组与所述第二数组不一致时记录一次写错误次数;
s105:重复步骤s101-s104j次;
s106:根据所记录的写错误次数和重复次数j计算得到所述第一存储阵列的写错误率测量值。通过重复多次读写操作,可以测量得到同一个存储阵列写错误率。
在本发明的其他实施例中,还可以先一次性生成j个随机数组,然后依次使用这j个随机数组进行写错误检测,从而得到第一存储阵列的写错误率测量值。
进一步地,所述生成固定数组,将所述固定数组写入读错误检测区域地址对应的第二存储阵列中,执行多次读操作,得到所述第二存储阵列的读错误率测量值,包括:
生成一个固定数组,记为第三数组;
将所述第三数组写入所述读错误检测区域地址对应的第二存储阵列中;
重复读取y次所述第二存储阵列中的数据,得到y个第四数组;
将个第四数组分别与所述第三数组比较,在所述第三数组与所述第四数组不一致时记录一次读错误次数;
根据所记录的读错误次数和重复读取次数y计算得到所述第二存储阵列的读错误率测量值。通过重复多次读操作,可以测量得到同一个存储阵列读错误率。
需要说明的是,在本发明中重复次数j和重复次数y根据经验值设定,j和y取值越大,所得到的写错误率测量值和读错误率测量值越准确。
进一步地,所述根据写错误率基础值、读错误率基础值、所述写错误率测量值和所述读错误率测量值判断所述第一存储阵列和第二存储阵列所属的第一存储阵列分区当前的温度范围,包括:
比较所述写错误率基础值、所述读错误率基础值、所述写错误率测量值和所述读错误率测量值;
若所述写错误率测量值小于或等于所述写错误率基础值,且所述读错误率测量值小于等于所述读错误率基础值,则所述存储阵列所属的第一存储阵列分区温度处于额定工作温度范围;
若所述写错误率测量值大于所述写错误率基础值,且所述读错误率测量值小于等于所述读错误率基础值,则所述存储阵列所属的第一存储阵列分区温度低于额定工作温度范围;
若所述读错误率测量值大于所述读错误率基础值,则所述存储阵列所属的第一存储阵列分区温度高于额定工作温度范围。根据铁磁材料的特性所导致的mram在低温区数据写入变得困难,在高温区数据读出变得困难的特点,根据检测到的写错误率测量值和读错误率测量值与写错误率基础值和读错误率基础值进行比较,分析判断获得测量的存储阵列分区的温度范围,为存储控制器的控制提供了温度参考。
图2是本发明一种实施方式提供的mram存储阵列温度自检测系统框图。如图2所示,所述系统包括:
检测区域地址分配单元,用于为各存储阵列分区分配对应的写错误检测区域地址和读错误检测区域地址;
数组生成单元,用于生成各存储阵列分区对应的随机数组和固定数组;
写错误率测量值获取单元,用于将存储阵列分区对应的所述随机数组中的每一个随机数组分别在对应的写错误检测区域地址对应的存储阵列中执行一次读写操作,得到所述写错误检测区域地址对应的存储阵列的写错误率测量值;
读错误率测量值获取单元,用于将存储阵列分区对应的所述固定数组写入对应的读错误检测区域地址对应的存储阵列中,执行多次读操作,得到所述读错误检测区域地址对应的存储阵列的读错误率测量值;
温度范围判断单元,用于根据写错误率基础值、读错误率基础值、所述写错误率测量值和所述读错误率测量值判断所述写错误检测区域地址和所述读错误检测区域地址所属的存储阵列分区当前的温度范围。该系统在存储阵列中分配出特定的地址作为检测单元,可以快速对任意一个存储阵列分区进行实时检测,通过检测数据读写错误率,并对数据读写错误率进行分析得到对应存储阵列分区的温度,可快速部署到现有存储器上,具有响应快、检测区域精细的特点。
本发明第三方面提供一种mram存储阵列存储控制方法,所述方法包括:
采用所述的mram存储阵列温度自检测方法检测mram存储阵列的温度;
根据所述mram存储阵列的温度控制所述mram存储阵列的不同存储阵列分区的操作频率,以保证所述mram存储阵列的宽温区工作特性。根据温度改变不同存储阵列分区的操作频率,以均衡环境温度和存储器工作产生的温度,以保证芯片的宽温区工作特性。
进一步地,所述根据所述mram存储阵列的温度控制所述mram存储阵列的不同存储阵列分区的操作频率,包括:
当所述mram存储阵列的存储阵列分区的温度低于额定工作温度范围时,增加对所述存储阵列分区的操作频率;
当所述mram存储阵列的存储阵列分区的温度处于额定工作温度范围时,保持对所述存储阵列分区的操作频率;
当所述mram存储阵列的存储阵列分区的温度高于额定工作温度范围时,减少对所述存储阵列分区的操作频率。
本发明第四方面提供一种mram存储阵列存储控制系统,所述系统包括:
存储器控制器,用于采用所述的mram存储阵列温度自检测方法检测mram存储阵列的温度;根据所述mram存储阵列的温度控制所述mram存储阵列的不同存储阵列分区的操作频率,以保证所述mram存储阵列的宽温区工作特性。该系统使用了存储器原有的控制器,不需要改变原有mram的芯片结构,直接在现有芯片结构的基础上实现mram存储阵列的温度检测,可快速部署到现有存储器上,具有响应快、检测区域精细的特点。
在本发明的一个具体实施例中,如图3所示,mram存储器包括存储控制器、读写控制器、行地址解码器和列地址解码器,通过存储控制器来执行所述的mram存储阵列温度自检测方法,如图4所示,首先由存储器控制器为mram存储器中的一个存储阵列分区分配写错误检测区地址i和读错误检测区地址ii。
针对写错误检测,存储控制器生成一个n位的随机数组m,并将随机数据m通过读写控制器写入地址i对应的存储阵列中,地址i通过行地址解码器和列地址解码器解码确定。然后读取地址i中的数组m’,比较数据m’与随机数据m,如果m’≠m,则记录写错误次数i增加一次,重复生成随机数组到比较的过程j次,得到地址i的写错误率测量值pi。
针对读错误检测,存储控制生成一个n位的固定数组a,并将数组a通过读写控制器写入地址ii对应的存储器阵列中,然后重复读取y次地址ii中的数组a’,比较数组a’和固定数组a,如果a’≠a,则记录读错误次数x增加一次,得到地址ii的读错误率测量值为pii。
然后存储控制器将写错误率测量值pi和读错误率测量值pii与定义的正常温度范围下的写错误率基础值pi0和读错误率基础值pii0进行比较,当pi≤pi0且pii≤pii0时,证明该存储阵列区域处于额定温度范围;当pi>pi0且pii≤pii0时,证明该存储阵列区域温度低于额定温度范围,且pi越大说明该区域温度越低;pii>pii0时,证明该存储阵列区域温度高于额定温度范围,且pi越大说明该区域温度越高。通过以上步骤可以测量一个存储阵列分区的温度,通过改变地址i和地址ii,可以实现对整个存储器的不同存储阵列分区进行扫描,可以获得存储器不同存储阵列分区的温度精确图。
需要说明的是,在存储阵列区域温度高于额定温度范围时,数据的写入过程也会受到影响,因而,为了更准确的确定存储阵列区域温度高于正常工作温度范围,在进行判断时可以采用pi>pi0且pii>pii0作为存储阵列区域温度高于额定温度范围的更精确的判定条件。
获取了不同阵列分区的温度精确图后,存储控制器就可以根据不同存储阵列分区的温度来控制数据流的分配,从而提高存储器的可靠工作的温度范围。
需要理解的是,本发明中所指的额定温度范围是指mram存储阵列能够正常工作的温度范围,这个温度范围根据不同mram存储阵列的额定使用环境而变化,一般常用的mram存储阵列的额定使用环境温度为0-50℃,对这种mram存储阵列而言,低于0℃属于低于额定温度范围,高于50℃属于高于额定温度范围,其他mram存储阵列可以以此类推。
另一方面,本发明提供一种机器可读存储介质,该机器可读存储介质上存储有指令,该指令用于使得机器执行所述的mram存储阵列温度自检测方法。
本领域技术人员可以理解实现上述实施方式的方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序存储在一个存储介质中,包括若干指令用以使得单片机、芯片或处理器(processor)执行本发明各个实施方式所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上结合附图详细描述了本发明的可选实施方式,但是,本发明实施方式并不限于上述实施方式中的具体细节,在本发明实施方式的技术构思范围内,可以对本发明实施方式的技术方案进行多种简单变型,这些简单变型均属于本发明实施方式的保护范围。另外需要说明的是,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合。为了避免不必要的重复,本发明实施方式对各种可能的组合方式不再另行说明。
此外,本发明的各种不同的实施方式之间也可以进行任意组合,只要其不违背本发明实施方式的思想,其同样应当视为本发明实施方式所公开的内容。
本文用于企业家、创业者技术爱好者查询,结果仅供参考。