一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

闪存的数据刷新方法及相关装置与流程

2022-11-02 03:01:44 来源:中国专利 TAG:


1.本技术涉及数据存储技术领域,尤其涉及一种闪存的数据刷新方法及相关装置。


背景技术:

2.与非型闪存(nand flash)具有容量大,改写速度快等优点,适用于大量数据的存储,在业界得到了越来越广泛的应用。
3.但是,与非型闪存上存储的数据不是永久存储的,原先存储于浮栅极的电子会慢慢泄漏,随着时间的流逝,电子泄漏到一定数量时就会出现位翻转现象。另外,随着芯片生产工艺的提升,晶体管与晶体管之间的间隔在不断缩小,使得电子泄漏变得更加容易,也就更容易出现位翻转现象。位翻转长期累积,超过纠错码(error correcting code,ecc)的纠错能力时,就会出现数据丢失。
4.目前,可以通过刷新闪存中的存储数据来防止数据丢失,以延长数据的可靠存储时间。具体方法如下:预先设置一个门限,检测闪存中每一个块(block)中的位翻转个数是否超过预先设置的门限,若该块中的位翻转个数超过门限,则对该块进行数据刷新。
5.这种方法存在如下问题:如果门限值设置得过大,会导致位翻转个数超过ecc的纠错能力,进而导致闪存数据丢失;如果门限值设置得过小,会导致闪存的刷新过于频繁,进而降低闪存的寿命。
6.因此,如何对闪存中的数据进行刷新,才可以既能避免数据丢失,又不降低闪存的寿命,成为亟待解决的技术问题。


技术实现要素:

7.本技术提供了一种闪存的数据刷新方法及相关装置,提高了位翻转门限的准确度,有效避免数据丢失和提升闪存的寿命。
8.第一方面,本技术提供一种闪存的数据刷新方法,所述方法包括:获取第一擦写区域的纠错码ecc的纠错能力信息、所述第一擦写区域的最大擦写次数信息、所述闪存的温度信息、所述第一擦写区域的位翻转信息和所述第一擦写区域的擦写次数信息,所述纠错能力信息用于指示所述ecc能够纠正所述第一擦写区域中的最大位翻转数量,所述最大擦写次数信息用于指示所述第一擦写区域允许擦写的最大次数,所述位翻转信息用于指示所述第一擦写区域当前的位翻转数量,所述擦写次数信息用于指示所述第一擦写区域已经擦写的次数;根据所述温度信息、所述擦写次数信息、所述最大擦写次数信息和所述纠错能力信息计算位翻转门限;所述位翻转信息中的位翻转数量大于或等于所述位翻转门限的情况下,对所述第一擦写区域进行数据刷新。
9.本方法中,根据第一擦写区域的擦写次数、最大擦写次数、ecc的纠错能力和闪存的温度等第一擦写区域当前的实际状态信息计算位翻转门限,在第一擦写区域的位翻转数量大于或等于位翻转门限的情况下,对第一擦写区域进行数据刷新,使得第一擦写区域的位翻转门限可以根据第一擦写区域当前的状态信息及时做出调整,提高了位翻转门限的准
确度;根据该位翻转门限对第一擦写区域进行数据刷新,有效避免了数据丢失,提高了闪存中数据的可靠性,提升了闪存的寿命。
10.在一种可能的实现方式中,所述第一擦写区域为块。
11.在一种可能的实现方式中,所述闪存的温度信息包括所述闪存耦合的中央处理器cpu的温度信息。
12.在一种可能的实现方式中,所述获取第一擦写区域的纠错码ecc的纠错能力信息、所述第一擦写区域的最大擦写次数信息、所述闪存的温度信息、所述第一擦写区域的位翻转信息和所述第一擦写区域的擦写次数信息之前,所述方法还包括:确定所述cpu处于空闲状态。
13.该实现方式中,在获取第一擦写区域的纠错码ecc的纠错能力信息、最大擦写次数信息、位翻转信息、擦写次数信息和闪存的温度信息之前确定闪存的cpu处于空闲状态,使得执行计算位翻转门限和数据刷新操作时cpu处于空闲状态,提高了计算位翻转门限和数据刷新的效率。
14.在一种可能的实现方式中,所述方法还包括:将所述第一擦写区域的位翻转信息中的位翻转数量重置为0;记录所述更新后的擦写次数信息。
15.该实现方式中,将第一擦写区域的位翻转信息中的位翻转数量重置为0,避免了第一擦写区域的位翻转数量超过第一擦写区域的ecc的纠错能力导致的数据丢失的情况;记录更新后的擦写次数信息,避免了第一擦写区域的擦写次数超过第一擦写区域的最大擦写次数导致无法进行擦写操作的情况。
16.在一种可能的实现方式中,所述对所述第一擦写区域进行数据刷新,包括:根据所述ecc对所述第一擦写区域中的数据进行纠错;
17.所述将所述第一擦写区域的位翻转信息中的位翻转数量重置为0,包括:对所述纠错后的数据进行备份,得到备份数据;擦除所述第一擦写区域中的数据;更新所述第一擦写区域的擦写次数信息;将所述纠错后的数据重新写入所述第一擦写区域;擦除所述备份数据。
18.该实现方式中,使用备份区备份ecc纠错后的数据再回写至第一擦写区域,起到了断电保护的作用。
19.在一种可能的实现方式中,所述记录所述更新后的擦写次数信息,包括:将所述更新后的擦写次数信息写入所述第一擦写区域的带外存储oob区中。
20.该实现方式中,使用第一擦写区域中的oob区来存储擦写次数,一方面不需要额外的存储空间,提高了空间利用率;另一方面,避免了使用额外空间存储第一擦写区域的擦写次数,额外的空间因擦写次数更新而频繁擦写导致的存储的擦写次数不可靠的情况,提高了闪存的可靠性。
21.第二方面,本技术提供一种闪存的数据刷新装置,所述装置可以包括用于实现第一方面中的方法的各个模块,这些模块可以通过软件和/或硬件的方式实现。
22.第三方面,本技术提供一种闪存的数据刷新装置,该装置可以包括与存储器耦合的处理器。其中,该存储器用于存储程序代码,该处理器用于执行该存储器中的程序代码,以实现第一方面或其中任意一种实现方式中的方法。
23.可选地,该装置还可以包括该存储器。
24.第四方面,本技术提供一种芯片,包括至少一个处理器和通信接口,所述通信接口和所述至少一个处理器通过线路互联,所述至少一个处理器用于运行计算机程序或指令,以执行如第一方面或其中任意一种可能的实现方式所述的方法。
25.第五方面,本技术提供一种计算机可读介质,该计算机可读介质存储用于设备执行的程序代码,该程序代码包括用于执行如第一方面或其中任意一种可能的实现方式所述的方法。
26.第六方面,本技术提供一种包含指令的计算机程序产品,当该计算机程序产品在计算机上运行时,使得计算机执行如第一方面或其中任意一种可能的实现方式所述的方法。
附图说明
27.图1为一种闪存位翻转的示意图;
28.图2为一种数据刷新的方法的流程示意图;
29.图3为本技术的实施例的一种系统架构的示意图;
30.图4为本技术的实施例的一种闪存的数据刷新的方法的流程示意图;
31.图5为本技术一个实施例的闪存的数据刷新方法的流程示意图;
32.图6为本技术一个实施例的闪存的数据刷新装置的示意性结构图;
33.图7为本技术一个实施例提供的闪存的数据刷新装置的结构示意图。
具体实施方式
34.下面将结合本技术的实施例中的附图,对本技术实施例中的技术方案进行描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
35.图1为一种闪存位翻转的示意图,如图1所示,闪存颗粒可以包括引导(boot)区、系统(system)区和数据(data)区等,每个区中可以包括n个块,n为大于或等于0的正整数。每个区中存储有不同类型的数据,例如,引导区和系统区中存储有系统镜像数据等。每个区中的数据存储于该区的块中。闪存中的数据经过长时间存储后会发生位翻转,例如,闪存中的数据的某一位由“0”翻转为“1”或由“1”翻转为“0”。当位翻转数目小于ecc纠错能力时,位翻转可以通过ecc纠错来解决,但是每个闪存的ecc纠错能力是有限的,通常是几比特(bit)到二十多bit每512字节(byte),当位翻转数目超过ecc纠错能力时,会导致数据丢失,若引导区和系统区中存储的系统镜像数据发生数据丢失,则会导致设备开机失败。
36.为了避免上述闪存中的存储数据的位翻转数目超过ecc纠错能力而导致数据丢失的情况,可以在闪存中的存储数据的位翻转数目未超过ecc纠错能力时进行数据刷新操作,以消除闪存中的存储数据已经发生位翻转的数量,将位翻转数目重置为0。
37.现有技术中,预先设置一个位翻转门限,该位翻转门限小于闪存中块的ecc的纠错能力。当闪存中某一个块中的数据的位翻转数目超过该位翻转门限,则对该块进行数据刷新,以消除该块中的数据已经发生的位翻转数量,数据刷新完成后,该块中的数据的位翻转数目为0。
38.图2为一种数据刷新的方法的流程示意图,如图2所示,当闪存中某一个块中的数据的位翻转数目超过预设的位翻转门限后,对该块中的数据进行数据刷新操作的方法至少包括s201至s203。
39.s201,使用ecc对发生位翻转的数据进行纠错,得到正确的数据。
40.在ecc的纠错能力范围内,ecc可以对块中发生的位翻转进行纠错,例如,将“1”纠正为“0”或将“0”纠正为“1”,得到正确的数据。
41.s202,将该块中的数据擦除并将该块中所有的数据位置“1”。
42.示例性的,将该块中纠错后得到的正确的数据擦除并备份至除该块外的另一个块中,并将擦除正确的数据后的块中的所有数据位置“1”,消除了该块中已经发生的位翻转数目。
43.s203,将正确的数据重新写入该块中。
44.将存储于另一个块中的该块的正确的数据重新写入该块中,此时该块中的数据已经发生的位翻转数目为0,该块的数据刷新完成。
45.由此可见,位翻转门限对闪存中数据的可靠性具有非常重要的影响。位翻转门限过低,可能导致数据刷新次数过多,造成资源浪费;位翻转门限过高,则可能出现因某一次位翻转个数较多而超过ecc纠错能力导致的数据丢失问题。
46.闪存的数据保持能力与擦写次数和工作温度等因素强相关,擦写次数越多、工作温度越高,闪存的数据保持能力越弱,存储于闪存中的数据越容易出现位翻转。但是,现有技术中的位翻转门限仅凭经验设置,并且在不同情况下使用相同的位翻转门限,没有考虑闪存的擦写次数和工作温度等因素,使得设置的位翻转门限准确度较低,无法有效避免闪存的数据丢失。
47.示例性的,闪存的系统区的某一个块中存储有系统镜像数据,该块中ecc能够纠正10个位翻转,设置的位翻转门限为10,长时间存储后,该块中已经有9个位翻转,由于未达到位翻转门限10,故不执行数据刷新,此时若该块擦写次数已经接近其最大擦写能力,该闪存在高温环境中工作,一次性出现了2个位翻转,超过了目前ecc的纠错能力,数据刷新也无法获得正确的数据,造成了数据丢失。当安装有该闪存的设备再一次上电开机时,由于系统区中系统镜像数据发生了数据丢失,使得校验失败,造成设备无法开机。
48.针对上述现有技术存在的问题,本技术提出了一种闪存的数据刷新的方法,根据闪存中ecc的纠错能力和/或闪存的温度等第一擦写区域当前的实际状态信息计算位翻转门限,在第一擦写区域的位翻转数量大于或等于位翻转门限的情况下,对第一擦写区域进行数据刷新,使得第一擦写区域的位翻转门限可以根据第一擦写区域当前的状态信息及时做出调整,提高了位翻转门限的准确度;根据该位翻转门限对第一擦写区域进行数据刷新,有效避免了数据丢失,提高了闪存中数据的可靠性,提升了闪存的寿命。
49.本技术提出的技术方案的一种示例性场景为需要数据长期存储不变的嵌入式场景,闪存能够自适应根据当前的实际状态信息判断是否需要执行数据刷新的操作,从而避免固定门限数据刷新机制中的缺陷,保证存储数据的可靠性。
50.示例性的,本技术的技术方案可以应用于采用闪存作为非易失性数据存储设备的车载电子设备。该设备的镜像数据可以包括引导区镜像数据、系统区镜像数据和数据区数据等。随着车辆的使用,该车载电子设备存储在闪存上的镜像数据慢慢出现越来越多的位
翻转,假设其中一个块的数据出现最多的位翻转,已经到达其ecc最大纠错能力减1,此时系统镜像数据还能正常从闪存中读出,设备也可以正常开机;随着夏季来临,车辆环境温度升高,加上车辆发动机自身散热,导致设备环境温度非常高,在现有技术中由于预设门限非常高,且在任何情况下位翻转门限不变,故此时并不会对该块进行数据刷新处理;车辆在正常工作时,或者熄火后都可能出现该块又发生2个位翻转;这样下次车辆打火启动后,该电子设备由于闪存中该存储有系统镜像数据的块的位翻转个数超过ecc纠错能力造成的数据丢失而无法开机,从而无法正常工作。若使用本技术提供的技术方案,针对闪存当前的实际状态信息及时调整位翻转门限,对车载电子设备中的数据进行数据刷新,可以保证车载电子设备在任何情况下不会出现数据丢失,依然能正常工作。
51.经过分析发现,闪存中ecc的纠错能力和发生位翻转的原因与闪存的状态信息强相关。例如,闪存当前的工作温度越高越容易发生位翻转现象;闪存擦写的次数越多,闪存中ecc的纠错能力越弱,即闪存中ecc能够纠正的位翻转的数目越少。
52.基于上述分析,本技术提出的技术方案中,根据闪存中第一擦写区域的擦写次数、最大擦写次数、ecc的纠错能力和当前的工作温度计算第一擦写区域的位翻转门限。并且,容易得到的是,闪存已经擦写的次数越多,位翻转门限越低;闪存当前的工作温度越高,位翻转门限越低。
53.另外,为了提高闪存计算位翻转门限的效率,本技术提出如下的技术方案:在闪存计算第一擦写区域的位翻转门限之前,判断闪存中的中央处理器(central processing unit,cpu)是否处于空闲状态,在cpu处于空闲状态时,才进行计算第一擦写区域的位翻转门限操作。
54.进一步地,为了提高闪存的空间利用率,本技术提出的技术方案中,将第一擦写区域的擦写次数存储于第一擦写区域的带外存储(out of band,oob)区域,一方面不需要占用额外的存储空间,提高了空间利用率;另一方面,避免了使用额外空间存储第一擦写区域的擦写次数,额外的空间因擦写次数更新而频繁擦写导致的存储的擦写次数不可靠,提高了闪存的可靠性。
55.图3为本技术的实施例的一种系统架构的示意图,如图3所示,与非型闪存300包括中央处理器301、双倍数据率同步动态随机存取存储器(double data rate synchronous dynamic random access memory,ddr sdram)302、闪存颗粒303、闪存控制器304、温敏电阻305和块扫描模块306。
56.闪存颗粒303主要用于存储非易失性数据,例如系统镜像数据和文件数据等。
57.闪存控制器304用于接收cpu的指令,从闪存颗粒303中读取或写入数据,并对数据进行ecc纠错,另外,闪存控制器负责对闪存颗粒303中的oob区进行读写。
58.温敏电阻305用于获取当前设备的工作温度。
59.块扫描模块306用于读取闪存中的数据,从闪存控制器304中获取到每个块的位翻转信息、ecc能力信息、擦写次数信息以及温度信息,判断该块是否需要进行数据刷新操作以消除位翻转。
60.可以理解的是,图3所示的系统架构仅是本技术提供的与非型闪存的一种示例,在本技术另一些实施例中,与非型闪存300可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件、软件或软件和硬
件的组合实现。
61.图4为本技术的实施例的一种闪存的数据刷新的方法的流程示意图,如图4所示,该方法至少包括s401至s403。
62.s401,获取第一擦写区域的ecc的纠错能力信息、最大擦写次数信息、位翻转信息、擦写次数信息和闪存的温度信息,纠错能力信息用于指示ecc能够纠正第一擦写区域中的最大位翻转数量,最大擦写次数信息用于指示第一擦写区域允许擦写的最大次数,位翻转信息用于指示第一擦写区域当前的位翻转数量,擦写次数信息用于指示第一擦写区域已经擦写的次数。
63.在一种可能的实现方式中,第一擦写区域可以为块,获取第一块的ecc的纠错能力信息、最大擦写次数信息、位翻转信息、擦写次数信息和闪存的温度信息,纠错能力信息用于指示ecc能够纠正第一块中的最大位翻转数量,最大擦写次数信息用于指示第一块允许擦写的最大次数,位翻转信息用于指示第一块当前的位翻转数量,擦写次数信息用于指示第一块已经擦写的次数。闪存的温度信息包括闪存耦合的cpu的温度信息。
64.示例性的,从闪存寄存器中获取闪存的ecc纠错能力为8比特/512字节,每个页(page)是2048字节,即每页的ecc纠错能力为32比特/页;闪存中每个块的最大擦写次数为6万次;从热敏电阻获取当前cpu的工作温度信息85摄氏度;从闪存控制器中获取第一块的位翻转数目为31比特,从第一块的oob中的获取第一块的擦写次数为20000次。
65.在获取第一擦写区域的纠错码ecc的纠错能力信息、第一擦写区域的最大擦写次数信息、闪存的温度信息、第一擦写区域的位翻转信息和第一擦写区域的擦写次数信息之前,需要确定cpu处于空闲状态。
66.示例性的,当cpu占用率小于预先设置的占用率门限时,确定cpu处于空闲状态。
67.优选的,占用率门限为20%。
68.s402,根据温度信息、擦写次数信息、最大擦写次数信息和纠错能力信息计算位翻转门限。
69.根据cpu的温度信息、第一擦写区域的擦写次数信息、最大擦写次数信息和纠错能力信息可以计算第一擦写区域的位翻转门限。
70.示例性的,根据温度信息、擦写次数信息、最大擦写次数信息和纠错能力信息计算位翻转门限的方法可以如下式所示:
71.threahold=func(t
t
,ec,t
pe
,t
ecc
)
[0072][0073][0074]
其中,threahold表示位翻转门限,t
t
表示当前cpu的温度值,t
ecc
表示第一擦写区域的ecc的纠错能力,即第一擦写区域的ecc能够纠正的位翻转的个数,ec表示第一擦写区域已经擦写的次数,t
pe
表示第一擦写区域的最大擦写次数,ea、α和β为经验参数,ea表示析出故障的耗费能量,k表示玻尔茨曼常数,tu表示常温温度,t
t
和tu的单位均为开尔文。
[0075]
需要说明的是,从本技术提供的位翻转门限的计算方法可以得到,第一擦写区域
当前的温度越高,位翻转门限越低;第一擦写区域已经发生擦写的次数越多,位翻转门限越低。
[0076]
s403,位翻转信息中的位翻转数量大于或等于位翻转门限的情况下,对第一擦写区域进行数据刷新。
[0077]
第一擦写区域的位翻转门限计算完成后,需要判断获取的第一擦写区域的位翻转信息中的位翻转数量是否大于或等于位翻转门限,若第一擦写区域的位翻转信息中的位翻转数量小于位翻转门限,则不进行数据刷新操作;若第一擦写区域的位翻转信息中的位翻转数量大于或等于位翻转门限,则对第一擦写区域进行数据刷新操作。
[0078]
示例性的,对第一擦写区域进行数据刷新可以包括以下步骤:
[0079]
步骤一,根据ecc对第一擦写区域中的数据进行纠错。
[0080]
在ecc的纠错能力范围内,ecc可以对块中发生的位翻转进行纠错,例如,将“1”纠正为“0”或将“0”纠正为“1”。
[0081]
步骤二,对纠错后的数据进行备份,得到备份数据。
[0082]
在一种的可能的实现方式中,在闪存中划分一个备份区,将根据ecc纠错后的数据在备份区进行备份,得到备份数据。
[0083]
可选的,将备份区可以分为两个块,第一块用于备份纠错后的数据,另一个块用于备份第一擦写区域的身份编码。
[0084]
步骤三,擦除第一擦写区域中的数据。
[0085]
示例性的,在第一擦写区域中的数据备份完成以后,将第一擦写区域中的数据擦除,并将第一擦写区域中的所有数据位置“1”。此时,第一擦写区域的位翻转信息中的位翻转数量将被重置为0。
[0086]
步骤四,更新第一擦写区域的擦写次数信息。
[0087]
示例性的,将第一擦写区域的擦写次数信息中的擦写次数加1。
[0088]
步骤五,将纠错后的数据重新写入第一擦写区域并记录更新后的擦写次数信息。
[0089]
将备份于备份区中的第一擦写区域的纠错后的数据重新写入第一擦写区域中,并在第一擦写区域中记录更新后的擦写次数信息。
[0090]
优选的,将更新后的擦写次数信息写入第一擦写区域的oob区中。
[0091]
步骤六,擦除备份区中的备份数据。
[0092]
将备份区中的第一擦写区域的纠错后的数据和第一擦写区域的身份编码擦除。
[0093]
在完成上述数据刷新操作后,第一擦写区域的位翻转信息中的位翻转数目为0。
[0094]
本技术提出的技术方案中,根据第一擦写区域的擦写次数信息、最大擦写次数信息、纠错能力信息和闪存的温度信息计算位翻转门限,当第一擦写区域的位翻转数目大于或等于该位翻转门限时,对第一擦写区域进行数据刷新,提高了位翻转门限的准确度,避免了数据丢失;另外,将第一擦写区域的擦写次数信息存储于第一擦写区域的oob区中,提高了存储空间的利用率,确保了数据和擦写次数信息的存储可靠性。
[0095]
图5为本技术一个实施例的闪存的数据刷新方法的流程示意图,如图5所示,该方法至少包括s501至s512。
[0096]
s501,获取闪存的ecc的纠错能力信息、最大擦写次数信息和cpu的温度信息,纠错能力信息用于指示ecc能够纠正每个块中的最大位翻转数量,最大擦写次数信息用于指示
每个块允许擦写的最大次数。
[0097]
示例性的,从闪存寄存器中获取闪存的ecc纠错能力为8比特/512字节,每个页包括2048字节,即每页的ecc纠错能力为32比特/页,闪存中每个块的最大擦写次数为6万次;从热敏电阻获取当前cpu的工作温度信息85摄氏度。
[0098]
s502,确定cpu处于空闲状态。
[0099]
在对闪存中的块进行扫描之前,需要确定此时cpu处于空闲状态。
[0100]
示例性的,当cpu占用率小于预先设置的占用率门限时,确定cpu处于空闲状态。
[0101]
优选的,占用率门限为20%。
[0102]
s503,初始化开始扫描的块对应的身份编码,根据身份编码从小到大的顺序对闪存中的块进行扫描。
[0103]
示例性的,闪存中包括20个块,20个块中每一个块对应一个身份编码,身份编码依次为1至20中的整数值,从身份编码为1的块开始扫描,依次对闪存中的20个块执行如下操作。
[0104]
s504,获取当前块的存储数据、位翻转信息和擦写次数信息,位翻转信息用于指示块当前的位翻转数量,擦写次数信息用于指示块已经擦写的次数。
[0105]
示例性的,当前块的身份编码为10,从闪存控制器中获取身份编码为10的块的位翻转数目为31比特,从身份编码为10的块的oob中的获取该块的擦写次数为20000次。
[0106]
s505,根据当前块的擦写次数信息、最大擦写次数信息、纠错能力信息和cpu的温度信息计算当前块的位翻转门限。
[0107]
示例性的,根据s501和s504中获取的身份编码为10的块的擦写次数信息、最大擦写次数信息、纠错能力信息和cpu的温度信息计算身份编码为10的块的位翻转门限。
[0108]
需要说明的是,当前块的位翻转门限的计算方法可以参考s402,此处不再进行赘述。
[0109]
s506,判断当前块的位翻转信息中的位翻转数量是否大于或等于当前块的位翻转门限。
[0110]
若是,则执行s507;
[0111]
若否,则执行s502。
[0112]
s507,使用ecc对当前块中的数据进行纠错。
[0113]
在当前块的ecc的纠错能力范围内,ecc可以对当前块中发生的位翻转进行纠错,例如,将“1”纠正为“0”或将“0”纠正为“1”。
[0114]
s508,将当前块中的纠错后的数据和当前块对应的身份编号在备份区进行备份,得到备份数据。
[0115]
示例性的,当前块的身份编码为10,将身份编码为10的块中的纠错后的数据和身份编码10存储在备份区中。
[0116]
备份数据包括当前块中的纠错后的数据和当前块对应的身份编码。
[0117]
s509,擦除当前块中的数据。
[0118]
s510,更新当前块的擦写次数信息。
[0119]
s511,将当前块的纠错后的数据和更新后的擦写次数信息重新写入当前块中。
[0120]
s512,擦除备份数据。
processing,dsp)、专用集成电路(asic)、现成可编程门阵列(field programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本技术实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
[0136]
结合本技术实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器701,处理器702读取存储器701中的信息,结合其硬件完成本技术实施例中各个方法所需执行的功能,例如,可以执行图4和图5所示实施例的各个步骤/功能。
[0137]
通信接口703可以使用但不限于收发器一类的收发装置,来实现装置700与其他设备或通信网络之间的通信。
[0138]
总线704可以包括在装置700各个部件(例如,存储器701、处理器702、通信接口703)之间传送信息的通路。
[0139]
应理解,本技术实施例所示的装置700可以是电子设备,或者,也可以是配置于电子设备中的芯片。
[0140]
应理解,本技术实施例中的处理器可以为中央处理单元(central processing unit,cpu),该处理器还可以是其他通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现成可编程门阵列(field programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
[0141]
还应理解,本技术实施例中的存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read-only memory,rom)、可编程只读存储器(programmable rom,prom)、可擦除可编程只读存储器(erasable prom,eprom)、电可擦除可编程只读存储器(electrically eprom,eeprom)或闪存。易失性存储器可以是随机存取存储器(random access memory,ram),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的随机存取存储器(random access memory,ram)可用,例如静态随机存取存储器(static ram,sram)、动态随机存取存储器(dram)、同步动态随机存取存储器(synchronous dram,sdram)、双倍数据速率同步动态随机存取存储器(double data rate sdram,ddr sdram)、增强型同步动态随机存取存储器(enhanced sdram,esdram)、同步连接动态随机存取存储器(synchlink dram,sldram)和直接内存总线随机存取存储器(direct rambus ram,dr ram)。
[0142]
上述实施例,可以全部或部分地通过软件、硬件、固件或其他任意组合来实现。当使用软件实现时,上述实施例可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令或计算机程序。在计算机上加载或执行所述计算机指令或计算机程序时,全部或部分地产生按照本技术实施例所述的流程或功能。所述计算机可以为通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存
储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集合的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质。半导体介质可以是固态硬盘。
[0143]
应理解,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况,其中a,b可以是单数或者复数。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系,但也可能表示的是一种“和/或”的关系,具体可参考前后文进行理解。
[0144]
本技术中,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“以下至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b,或c中的至少一项(个),可以表示:a,b,c,a-b,a-c,b-c,或a-b-c,其中a,b,c可以是单个,也可以是多个。
[0145]
应理解,在本技术的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本技术实施例的实施过程构成任何限定。
[0146]
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术的范围。
[0147]
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0148]
在本技术所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0149]
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0150]
另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
[0151]
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个
人计算机,服务器,或者网络设备等)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器、随机存取存储器、磁碟或者光盘等各种可以存储程序代码的介质。
[0152]
以上所述,仅为本技术的具体实施方式,但本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应以所述权利要求的保护范围为准。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献