技术新讯 > 信息存储应用技术 > 闪存冗余修复的自动检测判断方法和装置与流程  >  正文

闪存冗余修复的自动检测判断方法和装置与流程

  • 国知局
  • 2024-07-31 19:12:32

本发明涉及半导体集成电路领域,特别是涉及一种闪存(flash)冗余修复的自动检测判断方法。本发明还涉及一种闪存冗余修复的自动检测判断装置。

背景技术:

1、在现有闪存冗余保护电路设计中,需要判断哪些数据错误情况可以进行冗余修复,以提高良率。现有判断如何进行冗余修复的方法如图1所示,包括如下步骤:

2、步骤s101、进入冗余分析模式。

3、步骤s102、选择写入数据的模式(全1,全0等等)。

4、步骤s103、写入数据,即把数据写入flash需要分析的存储块中。

5、步骤s104、读取数据,需要从开头的地址读出写入的数据。

6、步骤s105、比较数据,即将读取的数据和要写入的数据进行比较。

7、步骤s106、最后一个地址。也即判断地址是否为最后一个。

8、如果结果为否,则进行步骤s107、地址+1,之后返回到步骤s104重新读取数据再次进行比较。

9、如果结果为是,则进行步骤s108、所有相关信息写入寄存器,也即,直到储存块所有数据检测完成后把有多少错误,错误相关的地址,bit位置,冗余是否使用等信息写入寄存器,以便flash读写时根据这些信息使用冗余代替错误的部分进行修复。

10、之后,进行步骤s109、结束分析模式。

11、在另一种现有使用外部机台进行冗余修复判断的方法如图2所示,包括如下步骤:

12、步骤s201、进入冗余分析模式。

13、步骤s202、选择写入数据的模式(全1,全0等等)。

14、步骤s203、写入数据,即把数据写入flash需要分析的存储块中。

15、步骤s204、读取数据至外部机台,即接着从开头的地址把写入的数据读出到外部机台中。

16、步骤s205、使用外部机台来比较数据和记录相关信息,即使用外部机台来和要写入的数据进行比较,将有多少错误,错误相关的地址,bit位置,冗余是否使用等相关信息记录在外部机台中。

17、步骤s106、最后一个地址。也即判断地址是否为最后一个。

18、如果结果为否,则进行步骤s207、地址+1,之后返回到步骤s204使用外部机台重新读取数据再次进行比较并记录相关信息。

19、如果结果为是,则进行步骤s208、所有相关信息写入寄存器,也即,直到储存块所有数据检测完成后,把所有相关信息写入寄存器,以便flash读写时根据这些信息使用冗余代替错误的部分进行修复。

20、之后,进行步骤s209、结束分析模式。

21、相比于图1所示的第一种方法,图2所示的现有第二种方法中使用外部机台可以减小flash芯片的设计以及面积成本,但是测试判断成本会增加。

22、上述现有两种传统的冗余修复方法都没有考虑到冗余单元自身的状态,闪存在经过多次擦写后某些存储单元可能会存在无法擦写成功或其他原因造成的失效问题,因而需要进行冗余修复以提高良率,但是冗余存储单元自身如果也因为多次擦写或其他原因而导致失效,就会造成冗余修复失败。如果需要分析冗余单元本身的情况,需要将冗余单元视为存储块再进行一次流程,造成判断成本翻倍。

技术实现思路

1、本发明所要解决的技术问题是提供一种闪存冗余修复的自动检测判断方法,能在对存储单元进行冗余修复进行分析的同时,对冗余存储单元进行分析测试,从而能解决由于冗余存储单元自身的状态造成冗余修复失败的问题,同时冗余存储单元的分析测试不会过于影响寄存器的成本和冗余修复分析时间。为此,本发明还提供一种闪存冗余修复的自动检测判断装置。

2、为解决上述技术问题,本发明提供的闪存冗余修复的自动检测判断方法,包括:

3、步骤一、进行数据写入,包括:在所述存储块的各所述存储单元以及所述冗余存储块的各所述冗余存储单元中依次写入预定数据。

4、步骤二、进行数据读取,包括:同时读取所述存储单元的存储数据和所述冗余存储单元的存储数据。

5、步骤三、进行第一次比较分析,包括:对各所述冗余存储单元的存储数据和所述预定数据进行比较并根据比较结果分析所述冗余存储单元的状态。

6、步骤四、进行第二次比较分析,包括:对各所述存储单元的存储数据和所述预定数据进行比较并根据比较结果分析所述存储单元的状态。

7、步骤五、进行冗余修复分析判断,包括:结合所述存储单元的状态和所述冗余存储单元的状态对能否进行冗余修复进行分析判断。

8、进一步的改进是,步骤三中,如果所述冗余存储单元的存储数据和所述预定数据一致,则所述冗余存储单元的状态为正常状态;如果所述冗余存储单元的存储数据和所述预定数据不一致,则所述冗余存储单元的状态为损坏状态。

9、步骤三中还包括将具有所述损坏状态的所述冗余存储单元标记为损坏单元。

10、具有所述正常状态的所述冗余存储单元为正常冗余存储单元。

11、进一步的改进是,步骤四中,如果所述存储单元的存储数据和所述预定数据一致,则所述存储单元的状态为正常状态;如果所述存储单元的存储数据和所述预定数据不一致,则所述存储单元的状态为错误状态。

12、步骤四中还包括将具有所述错误状态的所述存储单元标记为错误单元。

13、进一步的改进是,步骤五中包括如下分步骤:

14、步骤51、统计所读取的各所述存储单元中所包括的所述错误单元的数量且令所述错误单元的数量为第一数量,令所述冗余存储单元的总数量为第二数量,如果所述第一数量大于所述第二数量,则判断为不可修复;如果所述第一数量小于等于所述第二数量,则进行后续步骤52。

15、步骤52、统计出所述正常冗余存储单元的数量并令所述正常冗余存储单元的数量为第三数量,如果所述第一数量大于所述第三数量,则判断为不可修复;如果所述第一数量小于等于所述第三数量,则进行后续步骤53。

16、步骤53、所述正常冗余存储单元包括已经用于修复所述错误单元的已用冗余存储单元以及还未用于修复所述错误单元的未用冗余存储单元。

17、对所述读取的所述错误单元和所述已用冗余存储单元进行匹配,将未和所述已用冗余存储单元相匹配到的所述错误单元定义为新增错误单元。

18、令所述新增错误单元的总数量为第四数量,所述未用冗余存储单元的数量为第五数量。

19、如果所述第四数量大于所述第五位数量,则判断为不可修复;如果所述第四数量小于等于所述第五位数量,则判断为可修复。

20、进一步的改进是,步骤三中,所述损坏状态写入到所述冗余存储单元的寄存器中实现对所述损坏单元的标记。

21、进一步的改进是,步骤四中,所述错误状态写入到所述存储单元的寄存器中实现对所述错误单元的标记。

22、进一步的改进是,步骤二至步骤五组成循环步骤;

23、第一次循环中,步骤二中的读取地址为起始地址。

24、当步骤五中所述冗余修复分析判断的结果为可修复时,如果步骤二中的读取地址为最后一个地址,则结束循环并结束整个分析;如果步骤二中的读取地址不是最后一个地址,则将步骤二中的读取地址加1并返回到步骤二重复下一次循环。

25、当步骤五中所述冗余修复分析判断的结果为可修复时,则结束循环并结束整个分析。

26、进一步的改进是,步骤53中,对所述读取的所述错误单元和所述已用冗余存储单元进行匹配的分步骤包括:

27、步骤531、按照bit位置对所述读取的所述错误单元和所述已用冗余存储单元进行匹配,如果bit位置不同,则判断所述所述错误单元为所述新增错误单元;如果bit位置相同,则进行后续步骤532。

28、步骤532、按照地址对所述读取的所述错误单元和所述已用冗余存储单元进行匹配,如果地址不同,则判断所述所述错误单元为所述新增错误单元;如果地址相同则所述错误单元和所述已用冗余存储单元相匹配。

29、为解决上述技术问题,本发明提供的闪存冗余修复的自动检测判断装置包括:

30、数据写入模块,用于在所述存储块的各所述存储单元以及所述冗余存储块的各所述冗余存储单元中依次写入预定数据。

31、数据读取模块,用于同时读取所述存储单元的存储数据和所述冗余存储单元的存储数据。

32、第一比较分析模块,用于对各所述冗余存储单元的存储数据和所述预定数据进行比较并根据比较结果分析所述冗余存储单元的状态。

33、第二比较分析模块,用于对各所述存储单元的存储数据和所述预定数据进行比较并根据比较结果分析所述存储单元的状态。

34、冗余修复分析判断模块,用于结合所述存储单元的状态和所述冗余存储单元的状态对能否进行冗余修复进行分析判断。

35、进一步的改进是,所述第一比较分析模块用于实现:如果所述冗余存储单元的存储数据和所述预定数据一致,则所述冗余存储单元的状态为正常状态;如果所述冗余存储单元的存储数据和所述预定数据不一致,则所述冗余存储单元的状态为损坏状态。

36、所述第一比较分析模块还用于实现将具有所述损坏状态的所述冗余存储单元标记为损坏单元。

37、具有所述正常状态的所述冗余存储单元为正常冗余存储单元。

38、进一步的改进是,所述第二比较分析模块用于实现:如果所述存储单元的存储数据和所述预定数据一致,则所述存储单元的状态为正常状态;如果所述存储单元的存储数据和所述预定数据不一致,则所述存储单元的状态为错误状态。

39、所述第二比较分析模块还用于实现将具有所述错误状态的所述存储单元标记为错误单元。

40、进一步的改进是,所述冗余修复分析判断模块包括:

41、第一分析判断单元,用于实现:

42、比较第一数量和第二数量,所述第一数量为所读取的各所述存储单元中所包括的所述错误单元的数量,所述第二数量为所述冗余存储单元的总数量;

43、如果所述第一数量大于所述第二数量,则判断为不可修复;如果所述第一数量小于等于所述第二数量,采用第二分析判断单元进行分析判断;

44、所述第二分析判断单元用于实现:

45、比较第一数量和第三数量,所述第三数量为所述正常冗余存储单元的数量;

46、如果所述第一数量大于所述第三数量,则判断为不可修复;如果所述第一数量小于等于所述第三数量,采用第三分析判断单元进行分析判断;

47、所述第三分析判断单元用于实现:

48、对所述读取的所述错误单元和已用冗余存储单元进行匹配,将未和所述已用冗余存储单元相匹配到的所述错误单元定义为新增错误单元;所述已用冗余存储单元为已经用于修复所述错误单元的所述正常冗余存储单元,未用于修复所述错误单元的所述正常冗余存储单元为未用冗余存储单元;

49、比较第四数量和第五数量,所述第四数量为所述新增错误单元的总数量,所述第五数量为所述未用冗余存储单元的数量;

50、如果所述第四数量大于所述第五位数量,则判断为不可修复;如果所述第四数量小于等于所述第五位数量,则判断为可修复。

51、进一步的改进是,所述第一比较分析模块还用于实现:将所述损坏状态写入到所述冗余存储单元的寄存器中实现对所述损坏单元的标记。

52、进一步的改进是,所述第二比较分析模块还用于实现:将所述错误状态写入到所述存储单元的寄存器中实现对所述错误单元的标记。

53、进一步的改进是,还包括循环控制模块;

54、所述循环控制模块用于对所述数据读取模块、所述第一比较分析模块、所述第二比较分析模块和所述冗余修复分析判断模块的循环工作进行控制,包括:

55、第一次循环中,所述数据读取模块的读取地址为起始地址。

56、当所述冗余修复分析判断模块的所述冗余修复分析判断的结果为可修复时,如果所述数据读取模块的读取地址为最后一个地址,则结束循环并结束整个分析;如果所述数据读取模块的读取地址不是最后一个地址,则将所述数据读取模块的读取地址加1并进行下一次循环。

57、当所述冗余修复分析判断模块的所述冗余修复分析判断的结果为可修复时,则结束循环并结束整个分析。

58、进一步的改进是,所述第三分析判断单元包括匹配模块,所述匹配模块用于对所述读取的所述错误单元和已用冗余存储单元进行匹配。

59、所述匹配模块包括第一匹配单元和第二匹配单元。

60、所述第一匹配单元用于实现:按照bit位置对所述读取的所述错误单元和所述已用冗余存储单元进行匹配,如果bit位置不同,则判断所述所述错误单元为所述新增错误单元;如果bit位置相同,采用第二匹配单元进行匹配。

61、所述第二匹配单元用于实现:按照地址对所述读取的所述错误单元和所述已用冗余存储单元进行匹配,如果地址不同,则判断所述所述错误单元为所述新增错误单元;如果地址相同则所述错误单元和所述已用冗余存储单元相匹配。

62、本发明在进行冗余判断分析过程中,同时读取冗余存储单元和存储单元的数据,同时进行冗余存储单元分析测试,标记损坏的冗余存储单元用以帮助冗余修复判断。在进行冗余修复判断分析的过程中,自动分析冗余存储单元是否损坏并标记,从而自动分析判断冗余是否可以进行修复,如果无法进行修复,就可以马上结束冗余分析。相较于现有冗余检测方案,本发明通过将冗余存储单元自身的状态加入自动检测判断,解决了冗余存储单元自身损坏造成冗余修复失败的问题,同时也优化了包括寄存器成本以及读取和判断时间在内的冗余判断成本;所以,本发明能在对存储单元进行冗余修复进行分析的同时,对冗余存储单元进行分析测试,从而能解决由于冗余存储单元自身的状态造成冗余修复失败的问题,同时冗余存储单元的分析测试不会过于影响寄存器的成本和冗余修复分析时间。

本文地址:https://www.jishuxx.com/zhuanli/20240731/181858.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。