坏块替换方法、装置、计算机设备及计算机可读存储介质与流程



1.本技术涉及存储技术领域,尤其涉及一种坏块替换方法、装置、计算机设备及计算机可读存储介质。


背景技术:



2.目前,由于固态硬盘(solid state disk,ssd)具有性能高、功耗低等多种优点,固态硬盘已经被广泛应用于各种使用场景。ssd具有如下基本结构:页面(page)、区块(block)、平面(plane)、晶粒(die)、闪存芯片(nand)。其中,page是最基本的组成,大小一般是4kb;每个block通常包含32个或64个page;多个block组成plane,每个die包括一个或多个plane,一颗nand就由多颗die封装而成。在使用ssd的过程中,会遇到block损坏的情况,如果1个或多个block损坏,就会出现plane异常,从而引起存储容量不足,导致ssd不可使用。


技术实现要素:



3.为了解决上述技术问题,本技术实施例提供了一种坏块替换方法、装置、计算机设备及计算机可读存储介质。
4.第一方面,本技术实施例提供了一种坏块替换方法,所述方法包括:
5.根据各个plane中的block损坏情况将各plane划分为第一类plane或第二类plane;
6.获取所述第一类plane中至少一个损坏的block为目标block;
7.获取所述第二类plane中至少一个完好的block为替换block;
8.根据最近die原则将各目标block和各替换block进行一对一替换;
9.将替换信息记录在可供nfc查询的数据存储器中。
10.在一实施方式中,所述根据各个plane中的block损坏情况将各plane划分为第一类plane或第二类plane,包括:
11.将block完好比大于等于完好比阈值的plane确定为所述第一类plane;
12.将block完好比小于完好比阈值的plane确定为所述第二类plane。
13.在一实施方式中,所述方法还包括:
14.将block完好比为100%的plane确定为第三类plane。
15.在一实施方式中,所述根据各个plane中的block损坏情况将各plane划分为第一类plane或第二类plane,包括:
16.根据block完好数量对各plane进行排序;
17.根据排序结果划分所述第一类plane及所述第二类plane,其中,所述第一类plane中的block完好数量大于等于所述第二类plane中的block损坏数量。
18.在一实施方式中,所述第一类plane中的block损坏数量小于等于所述第二类plane中的block完好数量。
19.在一实施方式中,所述根据最近die原则将各目标block和各替换block进行一对一替换,包括:
20.对各目标block遍历,以判断各目标block是否具有相同die的替换block;
21.如果当前的目标block具有相同die的替换block,则进行替换,如果没有,则跳转到下一个目标block进行判断,直到完成一次遍历,针对没有相同die的替换block的目标block,根据就近die原则确定对应的替换block。
22.在一实施方式中,所述方法还包括:
23.在需对任一目标block进行操作时,根据所述替换信息对任一目标block的替换block进行操作。
24.第二方面,本技术实施例提供了一种坏块替换装置,所述装置包括:
25.划分模块,用于根据各个plane中的block损坏情况将各plane划分为第一类plane或第二类plane;
26.第一获取模块,用于获取所述第一类plane中至少一个损坏的block为目标block;
27.第二获取模块,用于获取所述第二类plane中至少一个完好的block为替换block;
28.替换模块,用于根据最近die原则将各目标block和各替换block进行一对一替换;
29.记录模块,用于将替换信息记录在可供nfc查询的数据存储器中。
30.第三方面,本技术实施例提供了一种计算机设备,包括存储器以及处理器,所述存储器用于存储计算机程序,所述计算机程序在所述处理器运行时执行第一方面提供的坏块替换方法。
31.第四方面,本技术实施例提供了一种计算机可读存储介质,其存储有计算机程序,所述计算机程序在处理器上运行时执行第一方面提供的坏块替换方法。
32.上述本技术提供的坏块替换方法、装置、计算机设备及计算机可读存储介质,根据各个plane中的block损坏情况将各plane划分为第一类plane或第二类plane;获取所述第一类plane中至少一个损坏的block为目标block;获取所述第二类plane中至少一个完好的block为替换block;根据最近die原则将各目标block和各替换block进行一对一替换;将替换信息记录在可供nfc查询的数据存储器中。这样,可以将ssd的完好block替换掉损坏block,采用损坏block对应完好的替换block进行数据处理操作,提高ssd的使用寿命,降低使用成本。
附图说明
33.为了更清楚地说明本技术的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本技术的某些实施例,因此不应被看作是对本技术保护范围的限定。在各个附图中,类似的构成部分采用类似的编号。
34.图1示出了本技术实施例提供的坏块替换方法的一流程示意图;
35.图2示出了本技术实施例提供的坏块替换装置的一结构示意图。
36.图标:200-坏块替换装置;201-划分模块;202-第一获取模块;203-第二获取模块;204-替换模块;205-记录模块。
具体实施方式
37.下面将结合本技术实施例中附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。
38.通常在此处附图中描述和示出的本技术实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本技术的实施例的详细描述并非旨在限制要求保护的本技术的范围,而是仅仅表示本技术的选定实施例。基于本技术的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本技术保护的范围。
39.在下文中,可在本技术的各种实施例中使用的术语“包括”、“具有”及其同源词仅意在表示特定特征、数字、步骤、操作、元件、组件或前述项的组合,并且不应被理解为首先排除一个或更多个其它特征、数字、步骤、操作、元件、组件或前述项的组合的存在或增加一个或更多个特征、数字、步骤、操作、元件、组件或前述项的组合的可能性。
40.此外,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
41.除非另有限定,否则在这里使用的所有术语(包括技术术语和科学术语)具有与本技术的各种实施例所属领域普通技术人员通常理解的含义相同的含义。所述术语(诸如在一般使用的词典中限定的术语)将被解释为具有与在相关技术领域中的语境含义相同的含义并且将不被解释为具有理想化的含义或过于正式的含义,除非在本技术的各种实施例中被清楚地限定。
42.实施例1
43.本技术实施例提供了一种坏块替换方法,该坏块替换方法应用于计算机可读存储介质,计算机可读存储介质包括多个块池,计算机可读存储介质可以为固态硬盘。
44.参见图1,本技术实施例提供的坏块替换方法,该方法应用于坏块替换方法,该方法包括步骤s101-步骤s105,下面进行详细说明。
45.步骤s101,根据各个plane中的block损坏情况将各plane划分为第一类plane或第二类plane。
46.在本实施例中,ssd包括至少一颗nand,各nand包括多颗die,各die包括一个多个plane,各plane包括多个block。block损坏情况可以用block好坏比例进行表征,block好坏比例可以包括block完好比或block损坏比。其中,block完好比为各plane中的好block数量和各plane的block总数的比值,block损坏比为各plane中的坏block数量和各plane的block总数的比值。本实施例中,第一类plane可以理解为大部分block为完好的plane,第二类plane可以理解大部分block为损坏的plane。示范性的,可以根据各plane的block好坏比例确定该plane属于第一类plane或第二类plane。
47.需要说明的是,步骤s101可以在ssd的初始化阶段执行,也可以在其他阶段执行,在此不做限制。示范性的,若ssd在初始化阶段,对ssd上电,扫描ssd的所有block的损坏信息,统计各个plane的block好坏比例,根据各plane的block好坏比例将ssd的各plane确定为第一类plane或第二类plane,ssd也可以为其他存储设备,在此不做限制。
48.在一实施方式中,步骤s101包括:
49.将block完好比大于等于完好比阈值的plane确定为所述第一类plane;
50.将block完好比小于完好比阈值的plane确定为所述第二类plane。
51.在本实施例中,完好比阈值可以为用户自定义比例,例如,完好比阈值可以为70%。
52.在一实施方式中,坏块替换方法还包括:
53.将block完好比为100%的plane确定为第三类plane。
54.需要说明的是,第三类plane是指整个plane的block均为完好的,第一类plane为block完好数量大于block损坏数量,第二类plane为block完好数量小于block损坏数量,第一类plane中的损坏block可以采用第二类plane中的完好block进行替换。此外,需要补充说明的是,当block完好比为100%时,说明该plane的所有block均完好,无需进行block替换处理。当block完好比为0时,说明该plane的所有block均已损坏,可以舍弃不用。
55.进一步补充说明的是,在一实施方式中,步骤s101包括:
56.将block损坏比小于等于损坏比阈值的plane确定为所述第一类plane;
57.将block损坏比大于损坏比阈值的plane确定为所述第二类plane;
58.将block损坏比为0的plane确定为第三类plane。
59.在本实施例中,损坏比阈值可以为用户自定义比例,例如,block损坏比阈值可以为30%,在此不做限制。补充说明的是,当block损坏比为0时,说明该plane的所有block均完好,无需进行block替换处理。当block损坏比为100%时,说明该plane的所有block均已损坏,可以舍弃不用。
60.这样,可以保证损坏的block可以有对应的完好block进行替换。
61.在一实施方式中,步骤s101包括:
62.根据block完好数量对各plane进行排序;
63.根据排序结果划分所述第一类plane及所述第二类plane,其中,所述第一类plane中的block完好数量大于等于所述第二类plane中的block损坏数量。
64.在本实施例中,所述根据排序结果划分所述第一类plane及所述第二类plane,包括:
65.将block完好数量大于等于预设block数量阈值的划分为第一类plane,将block完好数量小于预设block数量阈值的划分为第二类plane。
66.在本实施例中,预设block数量阈值可以根据实际情况确定,预设block数量阈值可以为小于各plane中的block总数的较大数值。
67.这样,将排序在前的plane确定为第一类plane,可以节省系统资源,提高对第一类plane的损坏block进行替换的效率。同时,最大限度实现用第二类plane的完好block进行替换,提高完好block的利用率。
68.这样,通过确保第一类plane中的block完好数量大于等于所述第二类plane中的block损坏数量,可以使得后续对第一类plane中的损坏block与第二类plane中的完好block进行替换时,操作能够简便。
69.在一实施方式中,所述第一类plane中的block损坏数量小于等于所述第二类plane中的block完好数量。
70.这样,通过确保第一类plane中的block损坏数量小于等于第二类plane中的block完好数量,可以使得第一类plane中的损坏block均可以有对应的第二类plane中的完好
block能够进行替换,提高block替换率。
71.示范性的,可以根据第一类plane中的block损坏数量及第二类plane中的block完好数量确定可修复plane数量。例如,可以选择第一类plane中的block损坏数量及第二类plane中的block完好数量这两者中的较小值作为可修复plane数量。第二类plane的完好block用于替换第一类plane中的损坏block,所以,第二类plane也可以理解为完好block零件库。
72.步骤s102,获取所述第一类plane中至少一个损坏的block为目标block。
73.在本实施例中,可以从第一类plane的各plane的各损坏block中选择一个、多个或所有的损坏block作为目标block。
74.步骤s103,获取所述第二类plane中至少一个完好的block为替换block。
75.在本实施例中,可以从第二类plane中的各plane的各完好block中选择一个、多个或所有的完好block作为替换block。
76.步骤s104,根据最近die原则将各目标block和各替换block进行一对一替换。
77.在本实施例中,为提高替换处理效率,根据最近die原则将各目标block和各替换block进行一对一替换,即先确定各目标block所在的die是否存在替换block,若各目标block所在的die存在替换block,则将处于同一die的目标block与替换block进行一一替换。若各目标block所在的die不存在替换block,则查目标block所在die的邻近die是否存在替换block。若目标block所在die的邻近die存在替换block,则将目标block与邻近die存在替换block进行一一替换。
78.在一实施方式中,步骤s104包括:
79.对各目标block遍历,以判断各目标block是否具有相同die的替换block;
80.如果当前的目标block具有相同die的替换block,则进行替换,如果没有,则跳转到下一个目标block进行判断,直到完成一次遍历,针对没有相同die的替换block的目标block,根据就近die原则确定对应的替换block。
81.需要补充说明的是,针对没有相同die的替换block的目标block,根据就近die原则确定对应的替换block,可以理解为,将没有相同die的替换block的目标block作为剩余目标block,由近及远查询各剩余目标block所在die的临近die是否存在替换block,直到从各剩余目标block所在die的临近die中查询到替换block。
82.示范性的,优先查询各目标block所在die是否存在替换block,如果存在,则优先从各目标block所在die确定对应的替换block。在对各目标block所在die是否存在替换block后,若还剩下至少一个目标block没有对应的替换block,则依次从剩余目标block所在die的临近die寻替换block,直到所有剩下的block都确定有对应的替换block。
83.步骤s105,将替换信息记录在可供nfc查询的数据存储器中。
84.这样,在需要用到目标block时,可以通过查询替换信号,获取到替换block,在替换block中进行相应操作,避免对损坏block进行操作,达到有效利用完好block的目的。
85.需要说明的是,替换信息可以采用目标block和替换block之间的替换映射表进行存储,目标block和替换block之间的替换映射表可以存储在ssd中,替换映射表可以包括目标block和替换block的物理信息。根据替换映射表的物理块信息对替换block进行数据处理操作。ssd的控制器通过查询替换映射表,以判断待操作block是否属于目标block,若属
于,则自动对待操作block的替换block进行数据处理操作。
86.这样,可以提高ssd的完好block的利用率,将损坏block对ssd的影响,提高ssd的存储空间利用率。
87.在一实施方式中,坏块替换方法还包括:
88.在需对任一目标block进行操作时,根据所述替换信息对任一目标block的替换block进行操作。
89.在对ssd进行数据处理时,例如,存储数据、读取数据等过程时,会生成相应的数据处理请求,数据处理请求指示用于进行数据处理的待操作block,若待操作block属于目标block,则说明不能直接对该待操作block进行数据处理操作,需要对待操作block的替换block执行数据处理操作。若数据处理请求的待操作block不属于各目标block,则说明能直接对该待操作block进行数据处理操作。
90.这样,可以在对ssd的数据处理过程中,实现对损坏block的替换,实际上对损坏block对应的完好block进行数据处理操作,提高ssd的使用寿命,降低使用成本。
91.本实施例提供的坏块替换方法,根据各个plane中的block损坏情况将各plane划分为第一类plane或第二类plane;获取所述第一类plane中至少一个损坏的block为目标block;获取所述第二类plane中至少一个完好的block为替换block;根据最近die原则将各目标block和各替换block进行一对一替换;将替换信息记录在可供nfc查询的数据存储器中。这样,可以将ssd的完好block替换掉损坏block,采用损坏block对应完好的替换block进行数据处理操作,提高ssd的使用寿命,降低使用成本。
92.实施例2
93.此外,本技术实施例提供了一种坏块替换装置,该坏块替换装置应用于ssd。
94.如图2所示,坏块替换装置200包括:
95.划分模块201,用于根据各个plane中的block损坏情况将各plane划分为第一类plane或第二类plane;
96.第一获取模块202,用于获取所述第一类plane中至少一个损坏的block为目标block;
97.第二获取模块203,用于获取所述第二类plane中至少一个完好的block为替换block;
98.替换模块204,用于根据最近die原则将各目标block和各替换block进行一对一替换;
99.记录模块205,用于将替换信息记录在可供nfc查询的数据存储器中。在一实施方式中,所述划分模块201,还用于将block完好比大于等于完好比阈值的plane确定为所述第一类plane;
100.将block完好比小于完好比阈值的plane确定为所述第二类plane。
101.在一实施方式中,所述划分模块201,还用于将block完好比为100%的plane确定为第三类plane。
102.在一实施方式中,所述划分模块201,还用于根据block完好数量对各plane进行排序;
103.根据排序结果划分所述第一类plane及所述第二类plane,其中,所述第一类plane
中的block完好数量大于等于所述第二类plane中的block损坏数量。
104.在一实施方式中,所述第一类plane中的block损坏数量小于等于所述第二类plane中的block完好数量。
105.在一实施方式中,替换模块204,还用于对各目标block遍历,以判断各目标block是否具有相同die的替换block;
106.如果当前的目标block具有相同die的替换block,则进行替换,如果没有,则跳转到下一个目标block进行判断,直到完成一次遍历,针对没有相同die的替换block的目标block,根据就近die原则确定对应的替换block。
107.在一实施方式中,坏块替换装置200还包括:
108.处理模块,用于在需对任一目标block进行操作时,根据所述替换信息对任一目标block的替换block进行操作。
109.本实施例提供的坏块替换装置,根据各个plane中的block损坏情况将各plane划分为第一类plane或第二类plane;获取所述第一类plane中至少一个损坏的block为目标block;获取所述第二类plane中至少一个完好的block为替换block;根据最近die原则将各目标block和各替换block进行一对一替换;将替换信息记录在可供nfc查询的数据存储器中。这样,可以将ssd的完好block替换掉损坏block,采用损坏block对应完好的替换block进行数据处理操作,提高ssd的使用寿命,降低使用成本。
110.实施例3
111.此外,本技术实施例提供了一种计算机设备,包括存储器以及处理器,所述存储器存储有计算机程序,所述计算机程序在所述处理器上运行时执行实施例1所提供的坏块替换方法。
112.本实施例提供的计算机设备可以实现实施例1所提供的坏块替换方法,为避免重复,在此不再赘述。
113.实施例4
114.本技术还提供一种计算机可读存储介质,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现实施例1所提供的坏块替换方法。
115.在本实施例中,计算机可读存储介质可以为只读存储器(read-only memory,简称rom)、随机存取存储器(random access memory,简称ram)、磁碟、光盘或者固态硬盘等。
116.本实施例提供的计算机可读存储介质可以实现实施例1所提供的坏块替换方法,为避免重复,在此不再赘述。
117.需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括该要素的过程、方法、物品或者终端中还存在另外的相同要素。
118.通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质
(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本技术各个实施例所述的方法。
119.上面结合附图对本技术的实施例进行了描述,但是本技术并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本技术的启示下,在不脱离本技术宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本技术的保护之内。

技术特征:


1.一种坏块替换方法,其特征在于,所述方法包括:根据各个plane中的block损坏情况将各plane划分为第一类plane或第二类plane;获取所述第一类plane中至少一个损坏的block为目标block;获取所述第二类plane中至少一个完好的block为替换block;根据最近die原则将各目标block和各替换block进行一对一替换;将替换信息记录在可供nfc查询的数据存储器中。2.根据权利要求1所述的方法,其特征在于,所述根据各个plane中的block损坏情况将各plane划分为第一类plane或第二类plane,包括:将block完好比大于等于完好比阈值的plane确定为所述第一类plane;将block完好比小于完好比阈值的plane确定为所述第二类plane。3.根据权利要求2所述的方法,其特征在于,还包括:将block完好比为100%的plane确定为第三类plane。4.根据权利要求1所述的方法,其特征在于,所述根据各个plane中的block损坏情况将各plane划分为第一类plane或第二类plane,包括:根据block完好数量对各plane进行排序;根据排序结果划分所述第一类plane及所述第二类plane,其中,所述第一类plane中的block完好数量大于等于所述第二类plane中的block损坏数量。5.根据权利要求4所述的方法,其特征在于,所述第一类plane中的block损坏数量小于等于所述第二类plane中的block完好数量。6.根据权利要求1所述的方法,其特征在于,所述根据最近die原则将各目标block和各替换block进行一对一替换,包括:对各目标block遍历,以判断各目标block是否具有相同die的替换block;如果当前的目标block具有相同die的替换block,则进行替换,如果没有,则跳转到下一个目标block进行判断,直到完成一次遍历,针对没有相同die的替换block的目标block,根据就近die原则确定对应的替换block。7.根据权利要求1所述的方法,其特征在于,还包括:在需对任一目标block进行操作时,根据所述替换信息对任一目标block的替换block进行操作。8.一种坏块替换装置,其特征在于,所述装置包括:划分模块,用于根据各个plane中的block损坏情况将各plane划分为第一类plane或第二类plane;第一获取模块,用于获取所述第一类plane中至少一个损坏的block为目标block;第二获取模块,用于获取所述第二类plane中至少一个完好的block为替换block;替换模块,用于根据最近die原则将各目标block和各替换block进行一对一替换;记录模块,用于将替换信息记录在可供nfc查询的数据存储器中。9.一种计算机设备,其特征在于,包括存储器以及处理器,所述存储器存储有计算机程序,所述计算机程序在所述处理器运行时执行权利要求1至7中任一项所述的坏块替换方法。10.一种计算机可读存储介质,其特征在于,其存储有计算机程序,所述计算机程序在
处理器上运行时执行权利要求1至7中任一项所述的坏块替换方法。

技术总结


本申请实施例提供一种坏块替换方法、装置、计算机设备及计算机可读存储介质,属于存储技术领域,其中方法包括:根据各个Plane中的Block损坏情况将各Plane划分为第一类Plane或第二类Plane;获取第一类Plane中至少一个损坏的Block为目标Block;获取第二类Plane中至少一个完好的Block为替换Block;根据最近DIE原则将各目标Block和各替换Block进行一对一替换;将替换信息记录在可供NFC查询的数据存储器中。这样,可以将SSD的完好Block替换掉损坏Block,采用损坏Block对应完好的替换Block进行数据处理操作,提高SSD的使用寿命,降低使用成本。成本。成本。


技术研发人员:

魏钰龙

受保护的技术使用者:

江苏芯盛智能科技有限公司

技术研发日:

2022.11.09

技术公布日:

2023/3/14

本文发布于:2024-09-22 21:19:10,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/3/79976.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:所述   完好   目标   第一类
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议