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

NAND擦除方法、装置及可读存储介质与流程

2022-04-27 08:47:58 来源:中国专利 TAG:

nand擦除方法、装置及可读存储介质
技术领域
1.本发明涉及nand技术领域,特别涉及一种nand擦除方法、装置及可读存储介质。


背景技术:

2.目前,nand设备被广泛用于各种场合,成为重要的存储介质。当用户删除存储在这些介质的文件时,nand设备提供了擦除机制,但是目前的擦除机制需要逐一检查、删除每一个映射单位的映射关系,整个擦除命令的时间较长。对于android系统的某些场景,比如全盘擦除量产、恢复出厂设置等大范围擦除任务,一次擦除的时间过长,影响使用体验。


技术实现要素:

3.本发明旨在至少解决现有技术中存在的技术问题之一。为此,本发明提出一种nand擦除方法,能够优化擦除速度。
4.本发明还提出一种具有上述nand擦除方法的nand擦除装置。
5.本发明还提出一种具有上述nand擦除方法的电子设备。
6.本发明还提出一种具有上述nand擦除方法的计算机可读存储介质。
7.根据本发明的第一方面实施例的nand擦除方法,包括以下步骤:
8.响应于擦除指令,从第二映射表中查找对应的第二映射项,所述第二映射项包括:第二属性以及指向第一映射表的地址;确定所述第二属性是否包括所述擦除指令操作的所述第一映射表,得到第一检测结果;根据所述第一检测结果,查找所述第二映射项指向的所述第一映射表,确定所述第一映射表是否包括所述擦除指令操作的目标数据,得到第二检测结果;根据所述第二检测结果擦除所述目标数据。
9.根据本发明实施例的nand擦除方法,至少具有如下有益效果:在接收到擦除指令后,查找第二映射表中的第二映射项,其中第二映射项包括指向第一映射表的地址和第二属性,第二属性表征是否包括擦除指令操作的第一映射表,通过检测第二映射项中的第二属性得到第一检测结果。根据第一检测结果决定是否继续检测第二映射项指向的第一映射表,通过第一映射项的第一属性得到第二检测结果,得到第二检测结果,根据第二检测结果擦除目标数据。根据这种方法,可以通过先检测第二映射表获取哪些第一映射表中包含有擦除指令操作,进而逐一检测这些包含有擦除指令操作的第一映射表,确定哪些第一映射项具有擦除指令操作的目标数据,然后该删除目标数据。比起一个个对目标数据进行检测,这种方法提高了擦除速率。
10.根据本发明的一些实施例,所述擦除指令通过以下步骤得到:
11.删除目标文件后生成删除信号;根据所述删除信号生成擦除指令,所述擦除指令用于擦除所述目标文件对应的目标数据。
12.根据本发明的一些实施例,所述根据所述第一检测结果,查找所述第二映射项指向的所述第一映射表,确定所述第一映射表是否包括所述擦除指令操作的目标数据,得到第二检测结果,包括:
13.根据所述第一检测结果,从所述第一映射表中查找对应的第一映射项,所述第一映射项包括:第一属性以及指向目标数据的地址,所述第一属性表征是否包括所述擦除指令操作的目标数据,根据所述第一属性得到第二检测结果。
14.根据本发明的一些实施例,获取第一检测结果的方法至少包括以下之一:
15.确定所述第二属性为包括所述擦除指令操作的第一映射表,则所述第一检测结果为继续检测所述第一映射表;或者,确定所述第二属性为不包括所述擦除指令操作的第一映射表,则所述第一检测结果为继续检测所述第二映射项;或者,确定所述第二映射项全部检测完成,则所述第一检测结果为结束检测。
16.根据本发明的一些实施例,获取第二检测结果的方法至少包括以下之一:
17.当第一检测结果为继续检测所述第一映射表,确定所述第一属性为不包括所述擦除指令操作的目标数据,则第二检测结果为继续检测所述第二映射项;或者,当第一检测结果为继续检测所述第一映射表,确定所述第一属性为包括所述擦除指令操作的目标数据,则第二检测结果为得到擦除对象。
18.根据本发明的一些实施例,所述根据所述第二检测结果擦除所述目标数据,包括:
19.确定第二检测结果为得到擦除对象,则基于所述第一映射项指向目标数据的地址,获取所述擦除指令操作的所述目标数据的地址;根据所述擦除指令操作的所述目标数据的地址,删除所述第一映射表中指向所述擦除指令操作的所述目标数据的地址的映射关系。
20.根据本发明的第二方面实施例的资nand擦除装置,包括:响应模块,响应于擦除指令,从第二映射表中查找对应的第二映射项,所述第二映射项包括:第二属性以及指向第一映射表的地址;第一检测模块,确定所述第二属性是否包括所述擦除指令操作的所述第一映射表,得到第一检测结果;第二检测模块,根据所述第一检测结果,查找所述第二映射项指向的所述第一映射表,确定所述第一映射表是否包括所述擦除指令操作的目标数据,得到第二检测结果;擦除模块,根据所述第二检测结果擦除所述目标数据。
21.根据本发明实施例的nand擦除装置,至少具有如下有益效果:第一检测模块响应擦除指令后,查找第二映射表中的第二映射项,其中第二映射项包括指向第一映射表的地址和第二属性,第二属性表征是否包括擦除指令操作的第一映射表,通过检测第二映射项中的第二属性得到第一检测结果。第二检测模块根据第一检测结果决定是否继续检测第二映射项指向的第一映射表,通过第一映射项的第一属性得到第二检测结果,擦除模块根据第二检测结果擦除目标数据。根据这种方法,可以通过先检测第二映射表获取哪些第一映射表中包含有擦除指令操作,进而逐一检测这些包含有擦除指令操作的第一映射表,确定哪些具有包含有擦除指令操作的目标数据,然后删除目标数据。比起一个个对目标数据进行检测,这种方法提高了擦除速率。
22.根据本发明的一些实施例,所述nand擦除装置,还包括:
23.删除信号模块,用于删除目标文件后生成删除信号;擦除指令模块,用于根据所述删除信号生成擦除指令,所述擦除指令用于擦除所述目标文件对应的目标数据。
24.根据本发明的第三方面实施例的包括处理器和机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令,所述处理器执行所述机器可读存储介质的机器可执行指令,以实现本发明的第一方面实施例的方法步骤。
25.根据本发明实施例的电子设备,至少具有与本发明的第一方面实施例的方法同样的有益效果。
26.根据本发明的第四方面实施例的计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现根据本发明的第一方面实施例的方法。
27.根据本发明实施例的计算机可读存储介质,至少具有与本发明的第一方面实施例的方法同样的有益效果。
28.本发明的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
29.本发明的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:
30.图1是本发明实施例一提供的nand擦除方法的流程图。
31.图2是图1所示nand擦除方法步骤s200的具体流程图。
32.图3是图1所示nand擦除方法步骤s300的具体流程图。
33.图4是本发明一个实施例提供的nand擦除方法的流程图
34.图5是本发明实施例二提供的nand擦除装置的内部模块示意图。
具体实施方式
35.下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。
36.在本发明的描述中,若干的含义是一个或者多个,多个的含义是两个及两个以上,大于、小于、超过等理解为不包括本数,以上、以下、以内等理解为包括本数。如果有描述到第一、第二只是用于区分技术特征为目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量或者隐含指明所指示的技术特征的先后关系。在本发明的描述中,步骤标号仅是为了描述的方便或者引述的方便所作出的标识,各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
37.实施例一
38.参照图1,本发明的实施例的方法包括以下步骤:
39.步骤s100,响应于擦除指令,从第二映射表中查找对应的第二映射项,第二映射项包括:第二属性以及指向第一映射表的地址;
40.步骤s200,确定第二属性是否包括擦除指令操作的第一映射表,得到第一检测结果。
41.具体地,第二映射表中包括有很多第二映射项,第二映射项包括第二属性和指向第一映射表的地址,第二映射项可以利用映射关系通过第一映射表的地址对第一映射表进行相关操作,例如通过确认第二属性是否包括擦除指令操作的第一映射表,进而通过第二映射项指向第一映射表的地址,对那些包括擦除指令操作的第一映射表进行进一步的检
测,得到第一检测结果。
42.具体地,擦除指令由以下步骤得到:
43.删除目标文件后生成删除信号;
44.根据删除信号生成擦除指令,擦除指令用于擦除目标文件对应的目标数据。
45.具体地,nand设备包括但不限于emmc、ssd、ufs、sd card,是非常重要的存储介质。当用户删除存储在这些介质的目标文件时,只是在文件系统层面将这些目标文件删除掉,但是存储介质的映射关系中仍然保存着这个文件中所有数据的逻辑地址到物理地址的映射关系,存储介质会认为这些数据是有效的、存在的,即这些数据仍然占据着物理存储空间。在后续的垃圾回收操作中,这些数据会被反复迁移,极大的增加了nand设备的写入操作,降低了性能及寿命。因此当用户删除目标文件后生成删除信号,根据删除信号生成用于擦除目标文件对应的目标数据的擦除指令,通过响应擦除指令,当用户在文件系统层面删除目标文件的时候,立刻将相对应的目标数据也删除,从而降低了nand设备的写入操作,提高nand设备的性能和寿命。要说明的是,用户删除文件时,操作系统可以向nand设备发送擦除命令,例如:(discard、trim、erase)命令,通知nand设备哪些数据是需要删除的。
46.步骤s300,根据第一检测结果,查找第二映射项指向的第一映射表,确定第一映射表是否包括擦除指令操作的目标数据,得到第二检测结果;
47.具体地,获取第二检测结果的方法还包括以下步骤:
48.根据第一检测结果,从第一映射表中查找对应的第一映射项,第一映射项包括:第一属性以及指向目标数据的地址,第一属性表征是否包括擦除指令操作的目标数据,根据第一属性得到第二检测结果。
49.具体地,当得到第一检测结果,确定第二属性为包含有擦除指令操作的第一映射表,查找这些第一映射表中的第一映射项,其中第一映射项包括有第一属性和指向目标数据的地址。通过确定第一属性是否为擦除指令操作的目标数据,得到第二检测结果。第一映射项与目标数据的关系可以是目标数据的逻辑地址到物理地址的映射关系。可以理解的是,因为删除目标文件的时候涉及到不同的目标数据。因此包含有擦除指令操作的目标数据的第一映射表的数目是不定的,即可以是没有、一个或是多个。
50.步骤s400,根据第二检测结果擦除目标数据。
51.具体地,擦除目标数据的方法包括以下步骤:
52.确定第二检测结果为得到擦除对象,则基于第一映射项指向目标数据的地址,获取擦除指令操作的目标数据的地址;
53.根据擦除指令操作的目标数据的地址,删除第一映射表中指向擦除指令操作的目标数据的地址的映射关系。
54.具体地,当确定第一映射表中含有擦除指令操作的目标数据,则逐一检测第一映射表中的第一映射项,因为第一映射项与目标数据为逻辑地址到物理地址的映射关系,因此,结合擦除指令,可以根据第一映射项获取到要擦除的目标数据的实际地址,此时删除掉第一映射项的地址与擦除指令操作的目标数据的地址的映射关系,就能让操作的目标数据失效,不再占用物理存储空间,在后续的垃圾回收操作中,不再重新写入到nand设备。要说明的是,任何针对nand的擦除策略都是可以的,例如:ftl设计中使用unmap的策略来处理擦除(discard、trim、erase)。同时,nand中还会有一个数据块用于记录被擦除数据的数量,
即,每次进行擦除后,该数据块都要处理无效映射单位数量。
55.在另一实施例中,步骤s200,确定第二属性是否包括擦除指令操作的第一映射表,得到第一检测结果中,具体地,获取第一检测结果的方法至少包括以下之一,如图2所示:
56.步骤s210,确定所第二属性为包括擦除指令操作的第一映射表,则第一检测结果为继续检测第一映射表;
57.或者,
58.步骤s220,确定第二属性为不包括擦除指令操作的第一映射表,则第一检测结果为继续检测第二映射项。
59.或者,
60.步骤s230,确定第二映射项全部检测完成,则第一检测结果为结束检测。
61.具体地,当第二属性为包括擦除指令操作的第一映射表,通过第二映射项指向的第一映射表的地址,继续对检测出的第一映射表进行操作;当确定第二属性为不包括擦除指令操作的第一映射表,代表检测的所有第一映射表中都不含有擦除指令操作的目标数据,此时继续检测下一项第二映射项;当检测完所有第二映射项,此时说明所有第一映射表中都没有擦除指令操作的目标数据,可以结束擦除操作。这样子就不用因为不确定哪个映射表中包含有擦除指令操作的目标数据,而对每个第一映射表逐一进行检测操作。通过在擦除地址之前先判断哪些第一映射表中包含有擦除指令操作的目标数据,再对这些确定含有擦除指令操作的目标数据所在的第一映射表进一步进行检测,大大提高了擦除的效率,降低了时间成本。
62.在另一实施例中,步骤s300,根据第一检测结果,查找第二映射项指向的第一映射表,确定第一映射表是否包括擦除指令操作的目标数据,得到第二检测结果中,具体地,获取第二检测结果的方法至少包括以下之一,如图3所示:
63.步骤s310,当第一检测结果为继续检测第一映射表,确定第一属性为不包括擦除指令操作的目标数据,则第二检测结果为继续检测所述第二映射项;
64.或者,
65.步骤s320,当第一检测结果为继续检测第一映射表,确定第一属性为包括擦除指令操作的目标数据,则第二检测结果为得到擦除对象。
66.具体地,当确定第一检测结果为继续检测第一映射表,代表检测的第一映射表中含有擦除指令操作的目标数据,因为第二映射表中的第二映射项包含有第二属性,第二属性为每个指向的第一映射表中是否包含有擦除指令操作。检测第二属性得出哪些第一映射表含有擦除指令操作的目标数据,从而利用第二映射项中指向第一映射表的地址,对那些确定包含有擦除指令操作的目标数据的第一映射表进行逐一操作。检查每个第一映射表中的第一映射项,因为第一映射项包含有第一属性,确定第一属性为不包括擦除指令操作的目标数据,则第二检测结果为继续检测所述第二映射项;确定第一属性为包括擦除指令操作的目标数据,则第二检测结果为得到擦除对象,利用第一映射项指向目标数据的地址逐一进行操作,将其中擦除指令操作的目标数据进行擦除处理。
67.要说明的是,nand擦除方法流程图如图4所示,当开始响应擦除指令,在检测第二映射表得到第一检测结果的时候,第一检测结果为结束检测,则结束检测,代表所有第一映射表中都没有要擦除的目标数据;当第一检测结果为继续检测第二映射项,则代表目前检
测的第二映射项中没有包括擦除指令操作的第一映射表,因此不用再进一步检测对应的第一映射表,从而确定第一映射项对应的目标数据是否擦除指令操作了。但这不代表其他第二映射项也是没有包括擦除指令操作的第一映射表,因此继续对其他第二映射项进行检测。当第一检测结果为继续检测第一映射表,说明此时检测的第一映射表中包含有擦除指令操作的目标数据,需要继续检测第一映射项,得到第二检测结果。确定第二检测结果为得到擦除对象,则对擦除对象进行擦除,在擦除之后,还要重新对第二映射表中另一项第二映射项进行检测;确定第二检测结果为继续检测所述第二映射项,也需要重新对第二映射表中另一项第二映射项进行检测,即最终结束整个擦除操作的是确定第一检测结果为结束检测的时候。因为删除目标文件涉及到多个目标数据,当第二检测结果为继续检测所述第二映射项,仅仅代表所检测的第一映射表中的第一映射项,其中没有擦除指令操作的目标数据,并不代表检测完所有涉及到的,分布在不同地址的目标数据,因此要一直轮询,直到将本次擦除命令的所有地址范围检测完毕,才能确定将擦除指令操作的目标数据都进行了擦除,从而保证了将所有擦除指令操作的目标数据都进行了擦除。通过这种方法,减少执行擦除命令的时间消耗,特别是对于存在大范围没有目标数据的场景,能够有效改善系统在某些场景的擦除性能,比如:android系统中全盘擦除量产、恢复出厂设置等大范围擦除任务,同时可以减少对nand flash的写入数据。
68.实施例二
69.本发明实施例的装置,用于执行如图1所示的方法,包括如下模块,参照图5:
70.响应模块100响应擦除指令后,查找第二映射表中的第二映射项,第二映射项中包含有第二属性,第二属性表征为是否包括擦除指令操作的第一映射表,响应模块100与第一检测模块200相连接,响应模块100检测第二映射项的第二属性,输入第二属性到第一检测模块200,第一检测模块200确认第二属性为包括擦除指令操作的第一映射表,则输出继续检测的第一检测结果,当第一检测模块200确认第二属性为不包括擦除指令操作的第一映射表,则输出继续检测第二映射项的第一检测结果到第一检测模板200;当第一检测模块200确认第二属性为包括擦除指令操作的第一映射表,则输出检测第一映射表的第一检测结果到第二检测模板300;当第一检测模块200确认已经完全检测完第二映射项则输出结束检测的第一检测结果,当第一检测结果为结束检测时,则退出整个擦除操作。输入第一检测结果给第二检测模块300,第二检测模块300确定输入的信息是检测第一映射表时,检测第一映射表中的第一映射项,第一映射项中包含有第一属性,第一属性表征为是否包括擦除指令操作的目标数据,确定第一属性为不包括擦除指令操作的目标数据,输出继续检测所述第二映射项的第二检测结果,当第二检测结果为继续检测所述第二映射项,则装置自动再次启动第一检测模块200对第二映射表进行检测;确定第一属性为包括擦除指令操作的目标数据,输出得到擦除对象的第二检测结果,此时输出第二检测结果给擦除模块400,擦除模块400将检测到的擦除指令操作的目标数据进行擦除,此后再次启动第一检测模块200对第二映射表进行检测。
71.在一实施例中,如图5所示,nand擦除装置还包括:
72.删除信号模块500用于确定目标文件被删除后生成删除信号,当擦除指令模块600接收到删除信号后立刻生成擦除指令,擦除指令针对被删除的目标文件的目标数据进行操作,输入擦除指令到响应模块100,让响应模块100响应进而实现后续对擦除指令操作的目
标数据进行擦除。
73.实施例三
74.本发明实施例还提供了一种电子设备,该电子设备包括处理器以及存储器;
75.存储器存储有程序;
76.处理器执行程序以执行前述的nand擦除方法;该电子设备具有搭载并运行本发明实施例提供的nand擦除的软件系统的功能。
77.本发明实施例还提供了一种计算机可读存储介质,所述存储介质存储有程序,所述程序被处理器执行实现如前面所述的nand擦除方法。
78.在一些可选择的实施例中,在方框图中提到的功能/操作可以不按照操作示图提到的顺序发生。例如,取决于所涉及的功能/操作,连续示出的两个方框实际上可以被大体上同时地执行或所述方框有时能以相反顺序被执行。此外,在本发明的流程图中所呈现和描述的实施例以示例的方式被提供,目的在于提供对技术更全面的理解。所公开的方法不限于本文所呈现的操作和逻辑流程。可选择的实施例是可预期的,其中各种操作的顺序被改变以及其中被描述为较大操作的一部分的子操作被独立地执行。
79.本发明实施例还公开了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器可以从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行前述的nand擦除方法。
80.此外,虽然在功能性模块的背景下描述了本发明,但应当理解的是,除非另有相反说明,所述的功能和/或特征中的一个或多个可以被集成在单个物理装置和/或软件模块中,或者一个或多个功能和/或特征可以在单独的物理装置或软件模块中被实现。还可以理解的是,有关每个模块的实际实现的详细讨论对于理解本发明是不必要的。更确切地说,考虑到在本文中公开的装置中各种功能模块的属性、功能和内部关系的情况下,在工程师的常规技术内将会了解该模块的实际实现。因此,本领域技术人员运用普通技术就能够在无需过度试验的情况下实现在权利要求书中所阐明的本发明。还可以理解的是,所公开的特定概念仅仅是说明性的,并不意在限制本发明的范围,本发明的范围由所附权利要求书及其等同方案的全部范围来决定。
81.所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
82.在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,“计算机可读介质”可以是任何可以包含、存储、通信、传播或传
输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。
83.计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(ram),只读存储器(rom),可擦除可编辑只读存储器(eprom或闪速存储器),光纤装置,以及便携式光盘只读存储器(cdrom)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
84.应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(pga),现场可编程门阵列(fpga)等。
85.在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
86.尽管已经示出和描述了本发明的实施例,本领域的普通技术人员可以理解:在不脱离本发明的原理和宗旨的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由权利要求及其等同物限定。
87.以上是对本发明的较佳实施进行了具体说明,但本发明并不限于所述实施例,熟悉本领域的技术人员在不违背本发明精神的前提下还可做出种种的等同变形或替换,这些等同的变形或替换均包含在本技术权利要求所限定的范围内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

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

相关文献