一种嵌入式非易失性存储器读写方法与流程

未命名 09-14 阅读:127 评论:0


1.本发明属于存储器技术领域,尤其涉及一种嵌入式非易失性存储器读写方法。


背景技术:

2.随着云计算、大数据、物联网、移动互联网等新兴信息技术产业的蓬勃发展,数据的存储、传输和处理无论在速度上还是在规模上都是空前的。据统计,全球新产生的信息量每三年翻一番。如何将这些数据安全可靠地持久存储,其现实意义毋庸置疑。一般情况下用户的数据都存储在非易失性存储器上,传统的非易失性存储器是机械硬盘,这种硬盘生产成本低、容量大但稳定性和读写的速度不高。随着信息技术的不断发展,出现了各种各样的存储技术。目前比较先进的是固态硬盘,由闪存颗粒组成,它具有抗震抗摔、读取速度快、功耗低、重量低和噪音小等优点,但是它生产成本高、容量小、寿命比较短。以闪存为存储介质的固态硬盘就是其中的一种存储技术,其成本较低,常用于大规模数据存储;闪存的固态硬盘就一种基本存储单元;基本固态存储单元,随着其使用时间长度的增加,介质颗粒中的电压分布状态会发生错误,一方面,随着介质颗粒擦写次数的不断增加,编程过程中介质颗粒之间的编程干扰等,会导致介质的电压分布发生偏移,此时如果用理想情况下的读电压阈值读取介质颗粒,会造成读取介质颗粒状态判决错误的大量增加。另一方面,随着介质颗粒放置时间的增加,介质颗粒中存储的电子发生了泄露,也会导致介质的电压分布发生偏移,同理也会造成读取介质颗粒状态判决错误的大量增加。
3.更进一步的,对于各种类型的嵌入式非易失性存储器来说,一方面,随着存储芯片集成电路技术的不断改进和提高,单位面积或体积上分布的晶体管等元器件越来越多,电路之间的间隙越来越小,集成电路在抗辐射和抗电磁干扰等方面都会面临着严峻的考验。为了节省能源、降低功耗,存储芯片电路中往往采用低电压或动态低阶电压供应方式,当信号电平接近或低于噪声时,电路中的这些白噪声、热噪声都会导致其性能急剧下降,电路故障屡屡发生。另一方面,纠错或者说校正技术因为数学理论发展的受限,想要在算法上得到突破来提高软硬件执行速度较为困难;因此,如何基于现有的非易失性存储器结构,充分利用其嵌入式特性和已有校正技术,通过提供准确冗余,在不增加或基本不增加开软硬件开销的基础上增强读取可靠性,是待解决的技术问题。


技术实现要素:

4.为了解决现有技术中的上述问题,本发明提出了一种嵌入式非易失性存储器读写方法,所述方法包含:步骤s1:处理器接收访问指令并放入访问指令缓冲队列中;缓冲并调整访问指令的顺序;将访问指令缓冲队列中的首个访问指令发送给存储器的读写控制模块;所述调整访问指令的顺序,具体为:确定调整窗口,获取调整窗口内访问指令所针对数据页所属存储单元的控制方式,在保证访问指令的访问时效的基础上,减少针对特定存储单元的访问指令之间的距离,同时将针对特定存储单元的访问指令调整到调整窗口内
或者调整窗口前部,而将不针对所述特定存储单元的访问指令调整到调整窗口外或者调整窗口后部;其中:所述特定存储单元是指错误发生频率大于预设频率或最近的m个访问指令中发生错误的指令条数超过错误指令上限值的存储单元;m、预设频率、错误指令上限值均是预设值;步骤s2:读写控制模块获取访问指令的控制方式;基于实时的访问条件调整所述控制方式以得到副本控制方式;生成访问指令的副本以得到副本访问指令;访问指令和副本访问指令的访问位置相同;所述基于实时的访问条件调整所述控制方式以得到副本控制方式,具体为:根据实时的访问条件中的参数值调整控制方式中的参数值,以使得在访问条件不变的情况下,采用调整后的控制方式更适于当前访问条件下的存储单元;步骤s3: 先用控制方式执行访问指令以得到第一数据,紧接着用副本控制方式执行副本访问指令以得到第二数据;检测第一数据是否发生错误,如果第一数据发生错误则累加第一错误计数;检测第二数据是否是发生错误,如果是,则累加第二错误计数;基于第一数据和第二数据获取访问指令的访问结果;所述基于第一数据和第二数据获取访问指令的访问结果,具体为,采用硬件纠错装置或者软件纠错装置,对第一数据和/或第二数据进行校正以得到访问指令的访问结果;步骤s4:基于第一错误计数和第二错误计数确定和数据页对应存储单元的控制方式;具体为:计算第一错误计数和第二错误计数的加和值;当所述加和值小于预设计数值时,保持当前的控制方式不变;否则,当第一错误计数大于等于第二错误计数时,保持当前的控制方式不变;当第一错误计数小于第二错误计数时,将数据单元的单元计数值增加1;数据单元的单元计数值对每个数据页仅计数一次;并进一步确定增加后的单元计数值和数据单元中包含数据页数量之间的比值是否超过预设比值,如果是,则更新数据页对应数据单元的控制方式。
5.进一步的,每隔预设时间长度启动调整访问指令的顺序。
6.进一步的,当处理器的执行单元处于空闲状态时,启动调整访问指令的顺序。
7.进一步的,所述特定存储单元是一个或多个。
8.进一步的,所述错误计数用于对数据页发生错误的次数进行累计。
9.进一步的,所述错误计数用于对bit位错误次数进行累计。
10.进一步的,所述预设比值为50%。
11.进一步的,所述硬件纠错装置为ecc模块。
12.一种嵌入式非易失性存储器读写装置,所述装置包括存储器、读写控制模块;嵌入式非易失性存储器读写装置通过存储器访问接口和处理器通信连接;所述读写控制模块执行所述的嵌入式非易失性存储器读写方法。
13.一种芯片,所述芯片包括嵌入式非易失性存储器读写装置和处理器;所述嵌入式非易失性存储器读写装置包括存储器、读写控制模块;所述读写控制模块执行所述的嵌入式非易失性存储器读写方法。
14.本发明的有益效果包括:(1)基于控制方式等级调整访问指令发生的顺序,尽量推迟高频高寿存储单元区域访问指令的发生,避免热存储单元持续电磁干扰,在提供两级校正支持的基础上,平均化
存储器中存储单元的访问频率和老化进展,从较长的周期看提高了存储器访问效率和使用寿命;(2)通过量化计算为当前访问指令设置经精细化调整控制方式的副本访问指令,在满足访问指令访问时效的基础上,在不增加控制难度的情况下大大增加正确访问结果的概率;进而基于副本控制方式形成整个存储单元控制方式的平稳过渡;(3)基于嵌入式非易失性存储器的特点,通过在前端调整访问指令的顺序的方式,使得后端能够引入软件校正方式进行辅助校正,大大的降低了访问指令的软件校正开销,通过软件方式降低了控制方式中参数的快速增长从而避免硬件开销增长。
附图说明
15.此处所说明的附图是用来提供对本发明的进一步理解,构成本技术的一部分,但并不构成对本发明的不当限定,在附图中:图1为本发明提供的嵌入式非易失性存储器读写方法示意图。
具体实施方式
16.下面将结合附图以及具体实施例来详细说明本发明,其中的示意性实施例以及说明仅用来解释本发明,但并不作为对本发明的限定。本发明提供的嵌入式非易失性存储器读写方法,包括如下步骤:步骤s1:处理器接收访问指令并放入访问指令缓冲队列中;缓冲并调整访问指令的顺序;将访问指令缓冲队列中的首个访问指令发送给存储器的读写控制模块;优选的:每隔预设时间长度启动调整访问指令的顺序;例如:该预设时间程度等于软件纠错池等待时限长度;可替换的:当处理器的执行单元处于空闲状态时,启动调整访问指令的顺序;所述调整访问指令的顺序,具体为:确定调整窗口,获取调整窗口内访问指令所针对数据页所在存储单元的控制方式,在保证访问指令的访问时效的基础上,减少针对特定存储单元的访问指令之间的距离,将针对特定存储单元的访问指令调整到调整窗口内或者调整窗口前部,而将不针对所述特定存储单元的访问指令调整到调整窗口外或者调整窗口后部;其中:所述特定存储单元是指错误发生频率大于预设频率或最近的m个访问指令中发生错误的指令条数超过错误指令上限值的存储单元;m、预设频率、错误指令上限值均是预设值;通过这样的调整,软件纠错池很快就会集中填满,从而启动软件纠错,这样就均摊了软件纠错的时间开销和硬件开销;优选的:所述特定存储单元是一个或多个;可替换的,所述调整访问指令的顺序,具体为:确定调整窗口,获取调整窗口内访问指令所针对数据页所属存储单元的控制方式,将低级控制方式对应的访问指令调整到高级控制方式对应的访问指令之前;其中:预先设置控制方式的等级;所述确定调整窗口,具体为:将软件纠错池能够容纳的访问结果对应的平均或者最小访问指令数量作为调整窗口的宽度,将缓冲队列头部开始的指令宽度作为调整窗口;优选的:预先设置控制方式及其控制参数的等级;设置的准则是,低级控制方式对应老化程度和/或访问频率较低的存储单元,而高级控制方式对应老化程度和/或访问频率
较高者;具体的:使得低级控制方式对应控制参数的参数值小于高级控制方式对应控制参数的参数值;当两个控制方式中的存在控制方式a的第一控制参数小于控制方式b,而控制方式a的第二控制参数大于控制方式b时,考虑第二控制参数的级别高于第一控制参数,而设置控制方式a为高级控制方式,控制方式b为低级控制方式;控制参数的级别和其控制难度、控制开销等相关;例如:设置电压为第一控制参数,而设置访问时长为第二控制参数;优选的:设置第一、第二、第三控制参数为电压、电流阈值、时间长度;对应的级别依次增加;显然级别可根据控制参数的个数设置为2,3,4等多个;所述调整访问指令的顺序,具体为包括如下步骤:步骤s1_sa1:初始化设置处理指针指向在访问指令缓冲队列头部的访问指令;步骤s1_sa2:确定当前访问指令对应控制方式的级别是否低于其相邻的后一访问指令对应的控制方式,如果是,进一步确定当前访问指令是否达到或即将达到访问时效,如果否,则交换所述当前访问指令和后一访问指令的位置;步骤s1_sa3:将处理指针向后移动一个位置;步骤s1_sa4:判断当前处理指针位置距离缓冲队列头部的长度是否大于等于调整窗口的宽度,如果是,则结束;否则,返回步骤s1_sa2;本发明基于控制方式等级调整访问指令发生的顺序,尽量推迟高频高寿存储单元区域访问指令的发生,避免热存储单元持续电磁干扰,在提供两级校正支持的基础上,平均化存储器中存储单元的访问频率和老化进展,从较长的周期看提高了存储器访问效率和使用寿命;步骤s2:读写控制模块获取访问指令的控制方式;基于实时的访问条件调整所述控制方式以得到副本控制方式;生成访问指令的副本以得到副本访问指令;访问指令和副本访问指令的访问位置相同;其中:所述访问包括读取和写入;所述访问条件包括存储器温度、存储器使用时长、访问次数、存储器寿命、存储单元连续访问时长、存储单元访问频率、局部温度、存储单元老化程度等访问条件参数中的一个或其组合;所述控制方式包括进行读写时所采用的电压、阈值电流和/或时间长度等控制参数中的一个或其组合;所述读写控制模块获取访问指令的控制方式,具体为:读写控制模块获取访问指令的访问位置,并将所述访问位置映射到数据页;获取所述数据页所属存储单元对应的控制方式; 其中:存储器包括阵列排列的存储单元,而存储单元中包括数据页;所述基于实时的访问条件调整所述控制方式以得到副本控制方式,具体为:根据访问条件中的参数值调整控制方式中的参数值,以使得在访问条件不变的情况下,采用调整后的控制方式更适于当前访问条件下的存储单元,从而增加访问的准确性;本发明通过量化计算为当前访问指令设置经精细化调整控制方式的副本访问指令,在满足访问指令访问时效的基础上,在不增加控制难度的情况下大大增加正确访问结果的概率;进而基于副本控制方式形成整个存储单元控制方式的平稳过渡;可替换的:所述基于实时的访问条件调整所述控制方式以得到副本控制方式,具体包括如下步骤:步骤s2_sa1:获取访问条件参数中第一参数部分;基于第一参数部分得到第一调整粒度;基于第二参数部分得到第二调整粒度;其中:访问条件参数包括第一参数部分和第二参数部分;第一参数部分包括随着时间流逝而不断增加的参数部分;第二参数部分是随
着时间的流逝可能发生增加、不变或减少的参数部分;优选的:所述第一参数部分包括存储器使用时长、存储器寿命、访问次数等中的一个或其组合;第二参数部分包括存储器温度及其变化方向、连续访问时长(次数)及其变化方向、存储单元访问频率及其变化方向、局部温度及其变化方向等中的一个或其组合;所述基于第一参数部分得到第一调整粒度,具体为:查找第一调整粒度对照表以得到和所述第一参数部分对应的第一调整粒度;优选的:预先存储第一参数部分和第一调整粒度之间关系的对照表;所述第一调整粒度对照表中,不同的第一参数部分的参数值范围对应不同的第一调整粒度;例如:存储器使用时长越长、寿命越短、访问次数越多,则对应的第一调整粒度越大;需要注意的是,参数值范围对应调整粒度而不是针对每个值对粒度进行对应;这两者的关系无法用连续曲线来表述,其实因为各种因素的不同存在模糊地带;所以在步骤s3中需要进行计数投票;优选的:所述第一调整粒度和第二调整粒度是比例值;例如:1~5%;所述基于第二参数部分得到第二调整粒度;具体为:查找第二调整粒度对照表以得到和所述第二参数部分对应的第二调整粒度;其设置和使用方式同第一调整粒度对照表;可替换的:通过拟合函数f(p2+var_p2)
‑ꢀ
f(p2)或者(f(p2+var_p2)
‑ꢀ
f(p2))/ f(p2)计算和第二参数部分对应的第二调整粒度;其中:p2是第二参数部分;var_p2是其变化方向对应的变化值;f()是基于第二参数部分和对应的最佳控制参数进行拟合得到的拟合函数;可以看出,这个调整粒度是两个方向的,可正可负;优选的:所述最佳控制参数是存储器访问错误率最低时的控制参数取值;步骤s2_sa2:获取控制方式中的控制参数;基于第一调整粒度和第二调准粒度确定要调整的控制参数的个数及其调整值大小;使得第一调整粒度和/或第二调整粒度越大则要调整的控制参数的个数越多和/或调整值大小越大;优选的:采用下式确定调整控制方式cstr对应的控制参数个数及其调整值;其中:为控制参数且且,其它表述以此类推;分别表示控制参数增加或者降低一个单位值;表示控制参数增加两个单位值;例如:设置单位值为原值的1~5%;分别表示调整粒度落入的区间范围;且;
[0017][0018]
优选的:区间范围为预设值;可以通过平均分割调整粒度的变换范围来设置区间范围;步骤s3_sa3:基于调整后的控制参数更新控制方式以得到副本控制方式;
步骤3: 先用控制方式执行访问指令以得到第一数据,紧接着用副本控制方式执行副本访问指令以得到第二数据;检测第一数据是否发生错误,如果第一数据发生错误则累加第一错误计数;检测第二数据是否是发生错误,如果是,则累加第二错误计数;基于第一数据和第二数据获取访问指令的访问结果;优选的:所述错误计数用于对数据页发生错误的次数进行累计;可替换的:所述错误计数用于对bit位错误进行累计;所述基于第一数据和第二数据获取访问指令的访问结果;具体为:所述基于第一数据和第二数据获取访问指令的访问结果,具体为,采用硬件纠错装置或者软件纠错装置,对第一数据和/或第二数据进行校正以得到访问指令的访问结果;更具体的,所述基于第一数据和第二数据获取访问指令的访问结果,包括如下步骤:步骤s3_sa1:若第一数据或第二数据未发生错误,则将未发生错误的第一数据或第二数据作为访问指令的访问结果;若否,则进入下一步骤;步骤s3_sa2:若第二数据和第二数据均发生错误,则选择第一错误计数和第二错误计数较少者,对所述较少者采用硬件纠错装置校正数据错误;若所述错误为不可校正错误,则对较多者采用硬件纠错装置校正数据错误;若所述错误仍旧为不可校正错误,则进入下一步骤;优选的:所述硬件纠错装置为ecc模块;在采用ecc码校正数据时,其能够校正的数据位数与ecc校正强度以及ecc 位数相关,能校正数据越多, ecc模块所采用的算法越复杂, ecc 位数越多,需要的时间和硬件开销也就越大;因此在一些情况下单独的缓冲页设置ecc模块往往不是最好的选择,在浪费很大的硬件开销的情况下可能会得到错误的结果;步骤s3_sa3:缓冲第一数据和第二数据至软件纠错池;优选的:所述软件纠错池设置于读写控制模块中,并在软件纠错池满或者等待时限到达时将软件纠错池中的数据发送给处理器以进行软件纠错;可替换的:所述软件纠错池设置于处理器中,可以采用集中发送或者每条发送的方式;步骤s3_sa4:处理器采用软件纠错装置对软件纠错池中的数据进行纠错;将软件纠错池中和第一数据或第二数据对应的校正结果作为访问指令的访问结果;当然,软件纠错池中包含和多个访问指令对应的多组第一数据和第二数据,这些数据的结果会同时得到,均摊软硬件开销;优选的:所述软件纠错装置是ldpc解码装置;优选的:所述软件纠错装置包括ldpc硬解码和ldpc软解码模块;本发明基于嵌入式非易失性存储器的特点,通过在前端调整访问指令的顺序的方式,使得后端能够引入软件校正方式进行辅助校正,大大的降低了访问指令的软件校正开销,通过软件方式降低了控制方式中参数的快速增长从而避免硬件开销增长,提高了存储器访问效率和使用寿命;步骤s4:基于第一错误计数和第二错误计数确定和数据页对应存储单元的控制方式;具体为:计算第一错误计数和第二错误计数的加和值;当所述加和值小于预设计数值时,保持当前的控制方式不变;否则,当第一错误计数大于等于第二错误计数时,保持当前
的控制方式不变;当第一错误计数小于第二错误计数时,将数据单元的单元计数值增加1;数据单元的单元计数值对每个数据页仅计数一次;并进一步确定增加后的单元计数值和数据单元中包含数据页数量之间的比值是否超过预设比值,如果是,则更新数据页对应数据单元的控制方式;优选的:所述预设比值为50%;所述更新数据页对应数据单元的控制方式,具体为:更新数据单元的控制方式为副本控制方式;可替换的:所述更新数据页对应数据单元的控制方式,具体为:更新数据单元的控制方式为最近的n次数据页访问时,副本控制方式出现次数最多者;可替换的:所述更新数据页对应数据单元的控制方式,具体为:更新数据单元的控制方式为在每次更新时机到达时的,依次增加控制方式中的控制参数一个单位值;也就是说,每次更新时仅更新一个控制参数,下次更新则更新另一个控制参数,依次循环;基于相同的发明构思,本发明还提供一种嵌入式非易失性存储器读写装置;所述装置包括存储器、读写控制模块;嵌入式非易失性存储器读写装置通过存储器访问接口和处理器通信连接;其中:所述存储器是嵌入式非易失存储器,其包括多个以阵列排列的用于存储数据的存储单元,其中,每个存储单元包括多个数据页,对非易失性存储器的读写、验证、清除等操作均以数据页为单位进行;阵列结构也就是按照行列结构组织;优选的:每列存储单元通过一条位线连接页,每行存储单元的栅极通过一条字线连接字线译码器;读写控制模块通过控制字线电压产生器和数据页;在进行读取操作时,控制逻辑通过控制字线电压产生器在选中的字线上施加读取电压,在未选中的字线上施加读通过电压后,控制数据页根据不同的读取操作方法对相应位线上存储单元存储的数据进行感测,从而读取出所在数据页的数据;基于相同的发明构思,本发明还提供一种芯片,所述芯片包括上述嵌入式非易失性存储器读写装置和处理器;其中:所述处理器为一个或者多个;本发明可用于众多通用或专用的计算系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的消费电子设备、网络pc、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。
[0019]
在上述实施例中,尽管已经结合了本发明的具体实施例对本发明进行了描述,但是根据前面的描述,这些实施例的很多替换、修改和变形对本领域普通技术人员来说将是显而易见的。例如,其他存储结构(例如,动态ram(dram))可以使用所讨论的实施例。本发明的实施例旨在涵盖落入所附权利要求的宽泛范围之内的所有这样的替换、修改和变型。本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述地比较简单,相关之处参见方法实施例的部分说明即可。
[0020]
计算机程序(也被称为程序、软件、软件应用、脚本或代码)能够以编程语言的任何形式来撰写,包括汇编或解释语言、说明或过程性语言,且其可以以任何形式部署,包括作
为单机程序或者作为模块、组件、子例程、对象或适于在计算环境中使用的其他单元。计算机程序可以但不必与文件系统中的文件相对应。程序能够存储在保持其他程序或数据(例如存储在标记语言文档中的一个或多个脚本)的文件的一部分中,在专用于所述程序的单个文件中,或者在多个协同文件中(例如,存储一个或多个模块、子例程或代码部分的文件)。计算机程序可以部署为在一个计算机上或位于一个站点或跨多个站点分布且由通信网络互连的多个计算机上执行。
[0021]
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
[0022]
本发明是参照根据本技术实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0023]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0024]
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0025]
最后应当说明的是:以上实施例仅用以说明本发明的技术方案而非对其限制,尽管参照上述实施例对本发明进行了详细的说明,所属领域的普通技术人员应当理解:依然可以对本发明的具体实施方式进行修改或者等同替换,而未脱离本发明精神和范围的任何修改或者等同替换,其均应涵盖在本发明的权利要求保护范围之内。

技术特征:
1.一种嵌入式非易失性存储器读写方法,其特征在于,所述方法包含:步骤s1:处理器接收访问指令并放入访问指令缓冲队列中;缓冲并调整访问指令的顺序;将访问指令缓冲队列中的首个访问指令发送给存储器的读写控制模块;所述调整访问指令的顺序,具体为:确定调整窗口,获取调整窗口内访问指令所针对数据页所属存储单元的控制方式,在保证访问指令的访问时效的基础上,减少针对特定存储单元的访问指令之间的距离,同时将针对特定存储单元的访问指令调整到调整窗口内或者调整窗口前部,而将不针对所述特定存储单元的访问指令调整到调整窗口外或者调整窗口后部;其中:所述特定存储单元是指错误发生频率大于预设频率或最近的m个访问指令中发生错误的指令条数超过错误指令上限值的存储单元;m、预设频率、错误指令上限值均是预设值;步骤s2:读写控制模块获取访问指令的控制方式;基于实时的访问条件调整所述控制方式以得到副本控制方式;生成访问指令的副本以得到副本访问指令;访问指令和副本访问指令的访问位置相同;所述基于实时的访问条件调整所述控制方式以得到副本控制方式,具体为:根据实时的访问条件中的参数值调整控制方式中的参数值,以使得在访问条件不变的情况下,采用调整后的控制方式更适于当前访问条件下的存储单元;步骤s3: 先用控制方式执行访问指令以得到第一数据,紧接着用副本控制方式执行副本访问指令以得到第二数据;检测第一数据是否发生错误,如果第一数据发生错误则累加第一错误计数;检测第二数据是否是发生错误,如果是,则累加第二错误计数;基于第一数据和第二数据获取访问指令的访问结果;所述基于第一数据和第二数据获取访问指令的访问结果,具体为,采用硬件纠错装置或者软件纠错装置,对第一数据和/或第二数据进行校正以得到访问指令的访问结果;步骤s4:基于第一错误计数和第二错误计数确定和数据页对应存储单元的控制方式;具体为:计算第一错误计数和第二错误计数的加和值;当所述加和值小于预设计数值时,保持当前的控制方式不变;否则,当第一错误计数大于等于第二错误计数时,保持当前的控制方式不变;当第一错误计数小于第二错误计数时,将数据单元的单元计数值增加1;数据单元的单元计数值对每个数据页仅计数一次;并进一步确定增加后的单元计数值和数据单元中包含数据页数量之间的比值是否超过预设比值,如果是,则更新数据页对应数据单元的控制方式。2.根据权利要求1所述的嵌入式非易失性存储器读写方法,其特征在于,每隔预设时间长度启动调整访问指令的顺序。3.根据权利要求2所述的嵌入式非易失性存储器读写方法,其特征在于,当处理器的执行单元处于空闲状态时,启动调整访问指令的顺序。4.根据权利要求3所述的嵌入式非易失性存储器读写方法,其特征在于,所述特定存储单元是一个或多个。5.根据权利要求4所述的嵌入式非易失性存储器读写方法,其特征在于,所述错误计数用于对数据页发生错误的次数进行累计。6.根据权利要求4所述的嵌入式非易失性存储器读写方法,其特征在于,所述错误计数用于对bit位错误次数进行累计。
7.根据权利要求4所述的嵌入式非易失性存储器读写方法,其特征在于,所述预设比值为50%。8.根据权利要求4所述的嵌入式非易失性存储器读写方法,其特征在于,所述硬件纠错装置为ecc模块。9.一种嵌入式非易失性存储器读写装置,其特征在于,所述装置包括存储器、读写控制模块;嵌入式非易失性存储器读写装置通过存储器访问接口和处理器通信连接;所述读写控制模块执行如权利要求1所述的嵌入式非易失性存储器读写方法。10.一种芯片,其特征在于,所述芯片包括嵌入式非易失性存储器读写装置和处理器;所述嵌入式非易失性存储器读写装置包括存储器、读写控制模块;所述读写控制模块执行如权利要求1所述的嵌入式非易失性存储器读写方法。

技术总结
本发明涉及一种嵌入式非易失性存储器读写方法,所述方法包括:步骤S1:处理器接收访问指令并放入访问指令缓冲队列中;缓冲并调整访问指令的顺序并发送首个访问指令;步骤S2:读写控制模块获取访问指令的控制方式;基于实时的访问条件调整所述控制方式以得到副本控制方式;步骤3:先用控制方式执行访问指令以得到第一数据,紧接着用副本控制方式执行副本访问指令以得到第二数据;基于第一数据和第二数据获取访问指令的访问结果;本发明基于现有的非易失性存储器结构,充分利用其嵌入式特性和已有错误校正技术,通过提供准确冗余,在不增加或基本不增加开软硬件开销的基础上增强读取可靠性。可靠性。可靠性。


技术研发人员:丁黄胜 张云 许荣祥 耿晓祥
受保护的技术使用者:苏州云途半导体有限公司
技术研发日:2023.08.14
技术公布日:2023/9/13
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

飞机超市 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

相关推荐