存储设备管理方法、装置及可读存储介质与流程

文档序号:16895979发布日期:2019-02-15 23:38阅读:123来源:国知局
存储设备管理方法、装置及可读存储介质与流程

本发明涉及数据存储技术领域,尤其涉及存储设备管理方法、装置及可读存储介质。



背景技术:

现有技术中,当存储设备中的大部分块即将达到最大擦除次数或者出错较大时,存储设备即进入生命后期状态;而读写参数由生产厂商预先写入,在存储设备中基本不会改变,然而随着使用环境因素等发生改变,这些固定的读写参数会导致进入生命后期状态的存储设备在读写时间出现大量的纠错、解码等过程,导致存储设备读写速度降低;同时根据预先写入的读写参数导致存储设备无法正确读取数据时,存储设备将被判定为报废/不可用,导致存储设备的使用寿命缩短。



技术实现要素:

本发明的主要目的在于提供一种存储设备管理方法、装置及可读存储介质,旨在现有技术中进入生命后期状态后存储设备读写速度降低、寿命减短的问题。

为实现上述目的,本发明提供一种存储设备管理方法,所述存储设备管理方法包括以下步骤:

获取存储设备中的目标块;

获取所述目标块的多个读写参数,并从所述多个读写参数中获取所述目标块的最优读写参数;

根据所述最优读写参数判断所述目标块是否为可用块;

若所述目标块为可用块,则将所述可用块与所述最优读写参数关联保存,并调用所述最优读写参数对所述可用块进行读写操作。

优选地,所述根据所述最优读写参数判断所述目标块是否为可用块的步骤包括:

根据所述最优读写参数对所述目标块进行读写操作时,判断所述目标块是否可进行纠错操作;

若是,则将所述目标块判定为可用块,并将所述可用块存入可用块列表。

优选地,所述获取存储设备中的目标块的步骤之后,还包括:

判断所述存储设备是否处于空闲状态;

若是,则执行获取所述目标块的多个读写参数的步骤。

优选地,所述获取存储设备中的目标块的步骤包括:

获取储备设备中每个块的磨损次数,标记磨损次数大于预设次数的块作为所述目标块;及/或

获取储备设备中的坏块及/或出错较多的块,将所述坏块及/或出错较多的块作为所述目标块。

优选地,所述读写参数包括对数似然比、阈值判定电压及跳列,所述最优读写参数包括最优对数似然比、最优阈值判定电压及最优跳列。

优选地,所述读写参数包括对数似然比,所述获取所述目标块的多个读写参数,并从所述多个读写参数中获取所述目标块的最优读写参数的步骤包括:

获取所述目标块的所有页在多次读写操作时的出错信息;

根据所述出错信息及预设计算规则计算得到多个对数似然比;

根据所述多个对数似然比进行纠错操作时,将纠错能力最强的对数似然比作为最优对数似然比。

优选地,所述读写参数包括阈值判定电压,所述获取所述目标块的多个读写参数,并从所述多个读写参数中获取所述目标块的最优读写参数的步骤包括:

获取按照多个阈值判定电压进行数据写入操作时对应的多个出错概率;

将出错概率最小所对应的阈值判定电压作为最优阈值判定电压。

优选地,所述读写参数包括跳列,所述获取所述目标块的多个读写参数,并从所述多个读写参数中获取所述目标块的最优读写参数的步骤包括:

在对所述目标块的字节进行读写操作时,获取每个所述字节的出错概率;

将出错概率最大对应的字节作为最优跳列。

此外,为实现上述目的,本发明还提供一种存储设备管理装置,其特征在于,所述存储设备管理装置包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的存储设备管理程序,所述存储设备管理程序被所述处理器执行时实现如上所述的存储设备管理方法的步骤。

此外,为实现上述目的,本发明还提供一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有存储设备管理程序,所述存储设备管理程序被处理器执行时实现如上所述的存储设备管理方法的步骤。

本发明实施例提出的一种存储设备管理方法、装置及计算机可读存储介质,通过筛选出储存设备中的目标块,并对每个目标块进行多次读写操作,扫描/获取每次读写操作过程中的读写参数及所述读写参数对应的读写出错信息,将读写出错信息最少对应的读写参数作为最优读写参数,并通过所述最优读写参数判断所述目标块是否为可用块,并将最优读写参数与所述可用块关联保存,在后续对可用块进行读写操作时,调用所述最优读写参数对所述可用块进行读写操作,从而减少对块的纠错、解码等过程,提高块读写速度。此外,当存储设备的坏块达到一定数量时,存储设备即报废/不可用,本发明因为对所述目标块的读写参数重新调整为最优读写参数,减少了目标块的读写出错信息,目标块而不会过早的被标记为坏块,之前被标记为坏块的部分的块按照最优读写参数可以继续作为可用块使用,故而增加了存储设备中可用块的数量,故而延长了存储设备的使用寿命。

附图说明

图1是本发明实施例方案涉及的硬件运行环境的终端结构示意图;

图2为本发明存储设备管理方法第一实施例的流程示意图;

图3为本发明存储设备管理方法第二实施例的流程示意图;

图4为本发明存储设备管理方法第三实施例的流程示意图;

图5为本发明存储设备管理方法第四实施例的流程示意图;

图6为本发明存储设备管理方法第五实施例的流程示意图;

图7为本发明存储设备管理方法第六实施例的流程示意图;

图8为本发明存储设备管理方法第七实施例的流程示意图。

本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

本发明实施例的主要解决方案是:

获取存储设备中的目标块;

获取所述目标块的多个读写参数,并从所述多个读写参数中获取所述目标块的最优读写参数;

根据所述最优读写参数判断所述目标块是否为可用块;

若所述目标块为可用块,则将所述可用块与所述最优读写参数关联保存,并调用所述最优读写参数对所述可用块进行读写操作。

当存储设备中的大部分块即将达到最大擦除次数或者出错较大时,存储设备即进入生命后期状态;而读写参数由生产厂商预先写入,在存储设备中基本不会改变,然而随着使用环境因素等发生改变,这些固定的读写参数会导致进入生命后期状态的存储设备在读写时间出现大量的纠错、解码等过程,导致存储设备读写速度降低;同时根据预先写入的读写参数导致存储设备无法正确读取数据时,存储设备将被判定为报废/不可用,导致存储设备的使用寿命缩短。

本发明通过筛选出储存设备中的目标块,并对每个目标块进行多次读写操作,扫描/获取每次读写操作过程中的读写参数及所述读写参数对应的读写出错信息,将读写出错信息最少对应的读写参数作为最优读写参数,并通过所述最优读写参数判断所述目标块是否为可用块,并将最优读写参数与所述可用块关联保存,在后续对可用块进行读写操作时,调用所述最优读写参数对所述可用块进行读写操作,从而减少对块的纠错、解码等过程,提高块读写速度。此外,当存储设备的坏块达到一定数量时,存储设备即报废/不可用,本发明因为对所述目标块的读写参数重新调整为最优读写参数,减少了目标块的读写出错信息,目标块而不会过早的被标记为坏块,之前被标记为坏块的部分的块按照最优读写参数可以继续作为可用块使用,故而增加了存储设备中可用块的数量,故而延长了存储设备的使用寿命。

如图1所示,图1是本发明实施例方案涉及的硬件运行环境的终端结构示意图。

本发明实施例终端可以是pc,也可以是智能手机、平板电脑、便携计算机等任何其他带有数据存储装置的终端设备。

如图1所示,该终端可以包括:处理器1001,例如cpu,网络接口1004,用户接口1003,存储器1005,通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(display)、输入单元比如键盘(keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如wi-fi接口)。存储器1005可以是高速ram存储器,也可以是稳定的存储器(non-volatilememory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。

本领域技术人员可以理解,图1中示出的终端结构并不构成对终端的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。

如图1所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及存储设备管理程序。

在图1所示的终端中,网络接口1004主要用于连接后台服务器,与后台服务器进行数据通信;用户接口1003主要用于连接客户端(用户端),与客户端进行数据通信;而处理器1001可以用于调用存储器1005中存储的存储设备管理程序,并执行以下操作:

获取存储设备中的目标块;

获取所述目标块的多个读写参数,并从所述多个读写参数中获取所述目标块的最优读写参数;

根据所述最优读写参数判断所述目标块是否为可用块;

若所述目标块为可用块,则将所述可用块与所述最优读写参数关联保存,并调用所述最优读写参数对所述可用块进行读写操作。

进一步地,处理器1001可以调用存储器1005中存储的存储设备管理程序,还执行以下操作:

根据所述最优读写参数对所述目标块进行读写操作时,判断所述目标块是否可进行纠错操作;

若是,则将所述目标块判定为可用块,并将所述可用块存入可用块列表。

进一步地,处理器1001可以调用存储器1005中存储的存储设备管理程序,还执行以下操作:

判断所述存储设备是否处于空闲状态;

若是,则执行获取所述目标块的多个读写参数的步骤。

进一步地,处理器1001可以调用存储器1005中存储的存储设备管理程序,还执行以下操作:

获取储备设备中每个块的磨损次数,标记磨损次数大于预设次数的块作为所述目标块;及/或

获取储备设备中的坏块及/或出错较多的块,将所述坏块及/或出错较多的块作为所述目标块。

进一步地,处理器1001可以调用存储器1005中存储的存储设备管理程序,还执行以下操作:

所述读写参数包括对数似然比、阈值判定电压及跳列,所述最优读写参数包括最优对数似然比、最优阈值判定电压及最优跳列。

进一步地,处理器1001可以调用存储器1005中存储的存储设备管理程序,还执行以下操作:

获取所述目标块的所有页在多次读写操作时的出错信息;

根据所述出错信息及预设计算规则计算得到多个对数似然比;

根据所述多个对数似然比进行纠错操作时,将纠错能力最强的对数似然比作为最优对数似然比。

进一步地,处理器1001可以调用存储器1005中存储的存储设备管理程序,还执行以下操作:

获取按照多个阈值判定电压进行数据写入操作时对应的多个出错概率;

将出错概率最小所对应的阈值判定电压作为最优阈值判定电压。

进一步地,处理器1001可以调用存储器1005中存储的存储设备管理程序,还执行以下操作:

在对所述目标块的字节进行读写操作时,获取每个所述字节的出错概率;

将出错概率最大对应的字节作为最优跳列。

参照图2,本发明存储设备管理方法第一实施例,所述存储设备管理方法包括:

步骤s10,获取存储设备中的目标块;

在本实施例中,所述存储设备可为u盘(全称usb闪存盘,英文名“usbflashdisk”)、sd卡(sd存储卡是一种基于半导体快闪记忆器的新一代记忆设备)、emmc(embeddedmultimediacard)、ssd(solidstatedrives,固态硬盘)、ufs(universalflashstorage)等;块(block)作为存储设备的最小擦除单元,每个块包括若干页(page),页作为存储设备的最小读写单元,每个页包括若干字节(byte),每个字节有若干个比特位组成(如8bit、16bit)。在每次向所述页写入数据时,需要先对块进行擦除操作,而每个块擦除一定次数,块即不可用,不可用的块即被标记为坏块,磨损次数即块被擦除的次数。本实施例中的所述目标块包括但不限于达到预设磨损次数的块及坏块。

步骤s20,获取所述目标块的多个读写参数,并从所述多个读写参数中获取所述目标块的最优读写参数;

在本实施例中,获取所述目标块后,在对所述目标块按照不同的读写参数进行多次读写操作的过程中,选取读写操作结果最佳所对应的读写参数作为最优读写参数,所述读写操作结果最佳即在写操作时出错最少、在读操作时出错最少及/或在纠错过程中纠错效果最好。所述读写参数包括但不限于对数似然比、阈值判定电压及跳列,所述最优读写参数包括最优对数似然比、最优阈值判定电压及最优跳列。

步骤s30,根据所述最优读写参数判断所述目标块是否为可用块;

在本实施例中,根据所述最优读写参数对所述目标块进行多次多写操作,当所述目标块按照所述最优读写参数读写时满足可以继续使用的条件时,则将该目标块作为可用块继续使用,所谓满足可以继续使用的条件即该目标块可以进行读写且可以根据纠错进行纠错能读出正确的数据。

步骤s40,若所述目标块为可用块,则将所述可用块与所述最优读写参数关联保存,并调用所述最优读写参数对所述可用块进行读写操作。

在本实施例中,将所述可用块与所述最优读写参数关联保存,并调用所述最优读写参数对所述可用块进行读写操作,保证对所述目标块以最优的读写参数进行读写,从而减小读写过程中的出错概率,保证数据读写的正确性。

综上所述,本发明通过筛选出储存设备中的目标块,并对每个目标块进行多次读写操作,扫描/获取每次读写操作过程中的读写参数及所述读写参数对应的读写出错信息,将读写出错信息最少对应的读写参数作为最优读写参数,并通过所述最优读写参数判断所述目标块是否为可用块,并将最优读写参数与所述可用块关联保存,在后续对可用块进行读写操作时,调用所述最优读写参数对所述可用块进行读写操作,从而减少对块的纠错、解码等过程,提高块读写速度。此外,当存储设备的坏块达到一定数量时,存储设备即报废/不可用,本发明因为对所述目标块的读写参数重新调整为最优读写参数,减少了目标块的读写出错信息,目标块而不会过早的被标记为坏块,之前被标记为坏块的部分的块按照最优读写参数可以继续作为可用块使用,故而增加了存储设备中可用块的数量,故而提高了存储设备的使用寿命。

参照图3,本发明存储设备管理方法第二实施例,基于图2所示实施例,优选地,所述步骤s30步骤包括:

s31:根据所述最优读写参数对所述目标块进行读写操作时,判断所述目标块是否可进行纠错操作;

s32:若是,则将所述目标块判定为可用块,并将所述可用块存入可用块列表。

在本实施例中,在对存储设备进行读操作的过程中,必然会对从所述页中读取出来的数据进行错误检查和纠正(ecc:errorcorrectingcode);在根据所述最优读写参数对所述目标块进行读写操作时,若所述目标块可进行错误检查和纠正操作,也即,所述目标块按照最优读写参数能够读取出来正确的与存入时相同的数据,则该目标块即可作为可用块继续使用,并将所述可用块存入可用块列表中,在后续对存储设备的对过程中,从所述可用块列表调取所述可用块即可。

参照图4,本发明存储设备管理方法第三实施例,基于图2-3所示实施例,优选地,所述步骤s10之后,还包括:

s50:判断所述存储设备是否处于空闲状态;

s60:若是,则执行获取所述目标块的多个读写参数的步骤。

在本实施例中,当所述存储设备与宿主(host)如个人计算机、移动终端等进行数据交换时,存储设备处于读写状态/非空闲状态,当所述存储设备插接于宿主(host)而不进行数据交换时,所述存储设备是否处于空闲状态,本发明只有当所述存储设备是否处于空闲状态时,才会对所述目标块进行扫描,获取目标块的多个读写参数及其对应的读写操作结果,故而避免在存储设备处于读写状态/非空闲状态时进行扫描,避免影响存储设备的正常使用。

所述获取目标块的多个读写参数及其对应的读写操作结果,可以是所述存储设备处于空闲状态时,从所述存储设备进行多次试验数据的读写操作中获取得到;也可以是从过往正常数据的正常读写操作中获取得到。

参照图5,本发明存储设备管理方法第四实施例,基于图2-4所示实施例,优选地,所述步骤s10包括:

s11:获取储备设备中每个块的磨损次数,标记磨损次数大于预设次数的块作为所述目标块;

获取储备设备中的坏块及/或出错较多的块,将所述坏块及/或出错较多的块作为所述目标块。

在本实施例中,所述存储设备中存储有磨损表,每个块的磨损次数都被记录于所述磨损表中,将磨损表中每个块的磨损次数与预设磨损次数相比较,当当前块的磨损次数达到所述预设磨损次数时,则当前块作为目标块,例如,当所述预设磨损次数为2000次,每个块的极限磨损次数为3000次,当当前块的磨损次数大于2000次时,将该当前块作为所述目标块。

当块无法进行错误检查和纠正,无法取出正确的存储数据时,该块被标记为坏块/无效块,坏块被跳过不进行读写操作,坏块所在存储设备中的位置信息存放于坏块位置信息存放区。

参照图6,本发明存储设备管理方法第五实施例,基于图2-5所示实施例,优选地,所述获取所述目标块的多个对数似然比,所述步骤s20包括:

s21:获取所述目标块的所有页在多次读写操作时的出错信息;

s22:根据所述出错信息及预设计算规则计算得到多个对数似然比;

s23:根据所述多个对数似然比进行纠错操作时,将纠错能力最强的对数似然比作为最优对数似然比。

在本实施例中,所述存储设备的最小读写单元为页,在对所述目标块的所有页进行试验数据的读写操作时,不可避免地,会产生多个出错信息,该出错信息是由于读写参数的偏移如阈值判定电压的偏移,将比特位的正确的0读写成1,将比特位的正确的1读写成0产生的,此时,就需要通过所述对数似然比将读错的0纠正为1,将读错的1纠正为0,所述对数似然比代表出错概率,若某比特位的出错概率大,则直接将从该比特位读出的0纠正为1,若某比特位的出错概率小,则不进行纠正。

对数似然比的计算规则为现有技术,在此不赘述,现有的对数似然比一般来说是根据部分采样块来计算得到,然后存储设备的所有块都公用这个对数似然比,本申请针对所述目标块本身计算出一个最优对数似然比,后续该目标块进行纠错时,直接使用该目标块对应的最优对数似然比,不使用公用的对数似然比,从而大幅提升纠错效果,保证数据读取的正确性。

参照图7,本发明存储设备管理方法第六实施例,基于图2-6所示实施例,优选地,所述读写参数包括阈值判定电压,所述获取所述目标块的多个读写参数,并从所述多个读写参数中获取所述目标块的最优读写参数的步骤包括:

s24:获取按照多个阈值判定电压进行数据写入操作时对应的多个出错概率;

s25:将出错概率最小所对应的阈值判定电压作为最优阈值判定电压。

在本实施例中,通常将传输特性曲线中输出电压随输入电压改变而急剧变化转折区的中点对应的输入电压称为阈值判定电压,存储设备的比特位状态即通过设定的阈值判定电压来判定,即阈值判定电压决定了比特位的状态值是1还是0。越准确的阈值判定电压决定的比特位的状态越准确,而不会将0状态写为1状态或者将1状态写为0状态,。本发明通过遍历的方法获取最优阈值判定电压,例如,预设有-128至+128共256个不同阈值判定电压值,在该256个不同阈值判定电压值下对所述目标块的页进行试验数据写入操作,则将出错概率最小所对应的阈值判定电压作为本实施例的最优阈值判定电压;后续对该目标块的页进行数据写入时,均通过该最优阈值判定电压对数据进行写入操作,从而提高数据写入的正确性。

参照图8,本发明存储设备管理方法第七实施例,基于图2-7所示实施例,优选地,所述读写参数包括跳列,所述获取所述目标块的多个读写参数,并从所述多个读写参数中获取所述目标块的最优读写参数的步骤包括:

s26:在对所述目标块的字节进行读写操作时,获取每个所述字节的出错概率;

s27:将出错概率最大对应的字节作为最优跳列。

在本实施例中,对所述目标块进行跳列扫描,对所述目标块进行多次多写操作,将最容易出错的也即出错概率最大的字节(byte)位置最为最优跳列,后续在使用该目标块的时候,将最优跳列的位置跳过,不使用,使得该目标块的整体出错概率也会大幅降低。

此外,本发明实施例还提出一种存储设备管理装置,所述存储设备管理装置包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的存储设备管理程序,所述存储设备管理程序被所述处理器执行时实现如上各个实施例所述的存储设备管理方法的步骤。

此外,本发明实施例还提出一种计算机可读存储介质,所述计算机可读存储介质上存储有存储设备管理程序,所述存储设备管理程序被处理器执行时实现如上各个实施例所述的存储设备管理方法的步骤。

需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。

上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。

以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1