CN105468291A - 动态及静态磨损均衡控制方法及装置 - Google Patents

动态及静态磨损均衡控制方法及装置 Download PDF

Info

Publication number
CN105468291A
CN105468291A CN201410415933.7A CN201410415933A CN105468291A CN 105468291 A CN105468291 A CN 105468291A CN 201410415933 A CN201410415933 A CN 201410415933A CN 105468291 A CN105468291 A CN 105468291A
Authority
CN
China
Prior art keywords
information table
film unit
nude film
physical erase
erase block
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201410415933.7A
Other languages
English (en)
Other versions
CN105468291B (zh
Inventor
王银虎
朱建平
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Tencent Cloud Computing Beijing Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201410415933.7A priority Critical patent/CN105468291B/zh
Publication of CN105468291A publication Critical patent/CN105468291A/zh
Application granted granted Critical
Publication of CN105468291B publication Critical patent/CN105468291B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

本发明提出一种动态及静态磨损均衡控制方法及装置,其动态磨损均衡控制方法包括:扫描固态硬盘的所有物理擦除块,并构建二级磨损信息表和一级磨损信息表;根据二级磨损信息表和一级磨损信息表,从所有裸片单元中选取有空闲物理擦除块且当前读写计数小于设定门限值的候选裸片单元;根据一级磨损信息表,从候选裸片单元中选择擦除计数最小的空闲物理擦除块;以及将待写入的数据写入所述选择的空闲物理擦除块。本发明兼顾了磨损和性能的均衡,在可以延长固态硬盘寿命的前提下,更可以保证固态硬盘的读写速度。

Description

动态及静态磨损均衡控制方法及装置
技术领域
本发明涉及固态硬盘技术领域,特别涉及一种动态及静态磨损均衡控制方法及装置。
背景技术
固态硬盘(SolidStateDisk,简称SSD)是一种基于永久性存储器,如闪存,或非永久性存储器,同步动态随机存取存储器(SDRAM)的计算机外部存储设备。其具有读写速度快,低功耗,无噪音,抗震动,低热量,体积小,工作范围大,广泛应用于军事、车载、工控、视频监控、网络监控、网络终端、电力、医疗、航空等、导航设备等领域。
固态硬盘中包括有许多作为存储介质的flash颗粒,这些flash颗粒中包括有物理擦除块(PhsicalEraseBlock),所谓的物理擦除块是指数据可以被擦除的存储块,但是由于物理擦除块有寿命限制,即最大擦除次数是有限的,因而为了不让部分物理擦除块因为过度擦写而造成整块盘的损坏,所以磨损均衡(WearLeveling)成为固态硬盘中最主要的技术实现。
磨损均衡可以保证每个物理擦除块的擦除次数相对均衡,目前最主流的磨损均衡实现方式包括动态磨损均衡和静态磨损均衡。动态磨损均衡是在向固态硬盘写入数据时,从固态硬盘的全局范围选择擦除次数最小的空闲物理擦除块,并将数据写入选择的空闲物理擦除块中。静态磨损均衡是首先从固态硬盘全局范围内选择擦除次数最大的空闲物理擦除块,然后将冷数据(冷数据是指更新频率很低的数据)搬移到选择的物理擦除块,然后释放原来的冷数据所在的物理擦除块为空闲块。
不管动态磨损均衡还是动态磨损均衡,都是将固态硬盘作为一个整体从全局范围去选择合适的空闲物理擦除块。但是,一个固态硬盘的芯片封装中往往会包含多个裸片单元(die),根据局部性原理,寿命相近的物理擦除块,在位置上也可能是相邻的,可能造成时间上连续选择的物理擦除块在物理位置上可能是相邻的,也就是说,根据现有的磨损均衡控制方式,连续的操作可能落在同一个裸片单元上,即可能会造成对同一个裸片单元上的空闲物理擦除块进行连续的写数据操作,却对其它裸片单元不操作的失衡情况,而这种连续对同一个裸片单元的操作会造成其性能瓶颈,并影响整个固态硬盘的存储效率。
发明内容
本发明实施例的目的是提供一种动态及静态磨损均衡控制方法及装置,以解决现有的磨损均衡控制方法会造成固态硬盘中裸片单元性能瓶颈的问题。
本发明实施例提出一种动态磨损均衡控制方法,包括:
扫描固态硬盘的的所有物理擦除块,并构建二级磨损信息表和一级磨损信息表,所述二级磨损信息表中包括全盘裸片单元列表,所述一级磨损信息表中包括各个裸片单元的当前读写计数和空闲物理擦除块的擦除计数;
根据二级磨损信息表和一级磨损信息表,从所有裸片单元中选取有空闲物理擦除块且当前读写计数小于设定门限值的候选裸片单元;
根据一级磨损信息表,从候选裸片单元中选择擦除计数最小的空闲物理擦除块;以及
将待写入的数据写入所述选择的空闲物理擦除块。
本发明实施例还提出一种静态磨损均衡控制方法,包括:
扫描固态硬盘的的所有物理擦除块,并构建二级磨损信息表和一级磨损信息表,所述二级磨损信息表中包括全盘裸片单元列表和全盘已使用物理擦除块的擦除计数,所述一级磨损信息表中包括各个裸片单元的当前读写计数和空闲物理擦除块的擦除计数;
根据二级磨损信息表和一级磨损信息表,选取当前读写计数小于设定门限值的所有裸片单元中,擦除计数最小的已使用物理擦除块作为源物理擦除块;
根据二级磨损信息表和一级磨损信息表,从所有裸片单元中选取有空闲物理擦除块且当前读写计数小于设定门限值的候选裸片单元;
根据一级磨损信息表,从候选裸片单元中选择擦除计数最大的空闲物理擦除块作为目标物理擦除块;以及
将源物理擦除块中的数据转移到目标物理擦除块。
本发明实施例还提出一种动态磨损均衡控制装置,包括:
扫描模块,用于扫描固态硬盘的的所有物理擦除块;
二级列表构建模块,用于构建二级磨损信息表,所述二级磨损信息表中包括全盘裸片单元列表;
一级列表构建模块,用于构建一级磨损信息表,所述一级磨损信息表中包括各个裸片单元的当前读写计数和空闲物理擦除块的擦除计数;
裸片单元选取模块,用于根据二级磨损信息表和一级磨损信息表,从所有裸片单元中选取有空闲物理擦除块且当前读写计数小于设定门限值的候选裸片单元;
空闲块选取模块,用于根据一级磨损信息表,从候选裸片单元中选择擦除计数最小的空闲物理擦除块;以及
写数据模块,用于将待写入的数据写入所述选择的空闲物理擦除块。
本发明实施例还提出一种静态磨损均衡控制装置,包括:
扫描模块,用于扫描固态硬盘的的所有物理擦除块;
二级列表构建模块,用于构建二级磨损信息表,所述二级磨损信息表中包括全盘裸片单元列表和全盘已使用物理擦除块的擦除计数;
一级列表构建模块,用于构建一级磨损信息表,所述一级磨损信息表中包括各个裸片单元的当前读写计数和空闲物理擦除块的擦除计数;
冷数据选取模块,用于根据二级磨损信息表和一级磨损信息表,选取当前读写计数小于设定门限值的所有裸片单元中,擦除计数最小的已使用物理擦除块作为源物理擦除块;
裸片单元选取模块,用于根据二级磨损信息表和一级磨损信息表,从所有裸片单元中选取有空闲物理擦除块且当前读写计数小于设定门限值的候选裸片单元;
空闲块选取模块,用于根据一级磨损信息表,从候选裸片单元中选择擦除计数最大的空闲物理擦除块作为目标物理擦除块;以及
转移模块,用于将源物理擦除块中的数据转移到目标物理擦除块。
相对于现有技术,本发明的有益效果是:本发明实施例的方法及装置兼顾了磨损和性能的均衡,在可以延长固态硬盘寿命的前提下,更可以保证固态硬盘的读写速度。
附图说明
图1为本发明实施例的一种消息提醒方法及装置的应用环境示意图;
图2为本发明实施例的一种软硬件关系示意图;
图3为本发明实施例的一种动态磨损均衡控制方法的流程图;
图4为本发明实施例的一种二级磨损信息表和一级磨损信息表的统计结果示意图;
图5为本发明实施例的另一种动态磨损均衡控制方法的流程图;
图6为本发明实施例的一种裸片单元中物理擦除块的示意图;
图7为本发明实施例的一种静态磨损均衡控制方法的流程图;
图8为本发明实施例的另一种静态磨损均衡控制方法的流程图;
图9为本发明实施例的一种冷数据转移的示意图;
图10为本发明实施例的一种动态磨损均衡控制装置的结构图;
图11为本发明实施例的另一种动态磨损均衡控制装置的结构图;
图12为本发明实施例的一种静态磨损均衡控制装置的结构图;
图13为本发明实施例的另一种静态磨损均衡控制装置的结构图。
具体实施方式
有关本发明的前述及其他技术内容、特点及功效,在以下配合参考图式的较佳实施例详细说明中将可清楚的呈现。通过具体实施方式的说明,当可对本发明为达成预定目的所采取的技术手段及功效得以更加深入且具体的了解,然而所附图式仅是提供参考与说明之用,并非用来对本发明加以限制。
本发明实施例涉及一种动态及静态磨损均衡控制方法及装置,用于固态硬盘磨损均衡的控制,可以应用于各类具有存储和运算功能的设备。以用户端为例,请参见图1,其为该方法及装置的一种应用环境示意图。一种用户端100,包括:存储器102、存储控制器104、一个或多个(图中仅示出一个)处理器106、外设接口108以及网络控制器112。可以理解,图1所示的结构仅为示意,其并不对用户端100的结构造成限定。例如,用户端100还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
存储器102可用于存储软件程序以及模块,如本发明实施例中的动态及静态磨损均衡控制方法及装置对应的程序指令/模块,处理器106通过运行存储在存储器102内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的方法。
存储器102可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器102可进一步包括相对于处理器106远程设置的存储器,这些远程存储器可以通过网络连接至用户端100。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。处理器106以及其他可能的组件对存储器102的访问可在存储控制器104的控制下进行。
存储于存储器102的软件程序以及模块可以包括:操作系统122。操作系统122例如可为LINUX,UNIX,WINDOWS,其可包括各种用于管理系统任务(例如内存管理、存储设备控制、电源管理等)的软件组件和/或驱动,并可与各种硬件或软件组件相互通讯,从而提供其他软件组件的运行环境。
外设接口108将各种输入/输入装置耦合至处理器106。处理器106运行存储器102内的各种软件、指令,以及进行数据处理。在一些实施例中,外设接口108、处理器106以及存储控制器104可以在单个芯片中实现。在其他一些实例中,他们可以分别由独立的芯片实现。
本发明实施例的目的是实现固态硬盘中各个物理擦除块的磨损均衡以及各个裸片的读写性能均衡,特别是将本发明实施例的方法及装置应用在大型网络平台上可以最大化地实现低成本、高性能、高可控性的特点。请参见图2,其为本发明实施例的一种软硬件关系示意图。硬件(Hardware)部分包括存储控制器(Controller)和闪存(Flash),软件(Software)部分包括业务应用(Application)、海量存储平台(TSSD)、闪存转换层(TFTL)和固态硬盘驱动(SSDdriver)。
海量存储平台可以是基于固态硬盘的分布式存储平台,可以由多个服务器的存储器共同组成,为业务应用程序提供存储服务。固态硬盘驱动负责闪存转换层与硬件之间的交互。闪存转换层位于海量存储平台与固态硬盘驱动之间,主要功能包括:逻辑地址和物理地址的映射管理,物理擦除块的磨损均衡,无效数据块的垃圾回收,以及坏块管理等。本发明实施例中的动态及静态磨损均衡控制方法及装置对应的程序指令/模块设置于闪存转换层中,通过该方法及装置,可以在向闪存写数据或进行数据转移时,在具体物理擦除块的选择上利用全局和局部相结合的方式达到磨损均衡以及各个固态硬盘的裸片单元读写性能均衡的目的,从而延长海量存储平台中固态硬盘的使用寿命,减少维护成本,提高海量存储平台的整体存储性能。
本发明实施例的动态磨损均衡控制方法是在向固态硬盘写入数据时选择合适的物理擦除块,静态磨损均衡控制方法是在系统中有冷数据且达到一定条件(例如达到设定时间、或者冷数据达到一定数据量等)时选择合适的物理擦除块进行数据转移。将动态磨损均衡控制方法和静态磨损均衡控制方法相结合,在不同的时机触发相应的磨损控制方法,可以实现两种方法的相互互补,可以较好地解决两种磨损算法的不足,提升磨损均衡的控制效果。
请参见图3,其为本发明实施例的一种动态磨损均衡控制方法的流程图,其包括以下步骤:
S301,扫描固态硬盘的的所有物理擦除块,并构建二级磨损信息表和一级磨损信息表。所述二级磨损信息表中至少包括全盘裸片单元列表,所述一级磨损信息表中至少包括各个裸片单元的当前读写计数和空闲物理擦除块的擦除计数。
在闪存转换层初始化的时候,需要扫描所有的物理擦除块,采集物理擦除块的磨损和使用状态。所述的二级磨损信息表是从全局的角度统计固态硬盘中裸片单元和物理擦除块的信息,一级磨损信息表是从局部的角度统计各个裸片单元中物理擦除块的具体信息。
请结合参见图4,其为一种二级磨损信息表和一级磨损信息表的统计结果示意图。其中二级磨损信息表包括全盘裸片单元列表(die_list)和全盘已使用物理擦除块的擦除计数[used_list(ec_cnt)]。一个固态硬盘的封装可能包括多个裸片单元,全盘裸片单元列表可以包括裸片单元的编号,如die0~dieN。全盘已使用物理擦除块的擦除计数包括两个部分,一个是已经使用的(即写有数据)物理擦除块列表,另一部分是已经使用的每一个物理擦除块的擦除计数。
一级磨损信息表中包括多个子列表,每个子列表对应一个裸片单元,其中包括各个裸片单元空闲物理擦除块的擦除计数[free_list(ec_cnt)]、各个裸片单元的当前读写计数(io_cnt)和各个裸片单元的擦除均值(ec_cnt)。裸片单元空闲物理擦除块的擦除计数包括两个部分,一个是空闲物理擦除块的列表,另一个是每一个空闲物理擦除块的擦除计数。裸片单元的当前读写计数是指系统正在对该裸片单元作读写操作的数量,同时对一个裸片单元进行读写操作的计数存在一个上限,因而将裸片单元的当前读写计数与一个门限值进行比较可以反映该裸片单元是否达到性能瓶颈。裸片单元的擦除均值是指该裸片单元中所有物理擦除块擦除计数的平均值。
当然,二级磨损信息表和一级磨损信息表并不以图4的列表为限,统计的内容可以根据具体的算法需要进行调整。
S302,根据二级磨损信息表和一级磨损信息表,从所有裸片单元中选取有空闲物理擦除块且当前读写计数小于设定门限值的候选裸片单元。
结合图4来说,首先从二级磨损信息表的全盘裸片单元列表(die_list)找出有空闲块的裸片单元,然后根据找出的裸片单元编号,查询一级磨损信息表中对应的子列表,找出对应子列表中的裸片单元的当前读写计数(io_cnt),接着将找出的各个裸片单元的当前读写计数(io_cnt)与设定的门限值进行比对(该门限值可以根据裸片的性能参数进行设定),如果小于该门限值,说明对应的裸片单元未达到性能瓶颈,可以进行写数据操作,并将对应的裸片单元确定为候选裸片单元。反之,如果裸片单元的当前读写计数达到甚至大于该门限值,则说明对应的裸片单元已经达到性能瓶颈,若再对其进行写数据操作,会导致该裸片单元的响应速度降低,从而影响整个固态硬盘的存储速度。
值得注意的是,有空闲物理擦除块且当前读写计数小于设定门限值的裸片单元可能有一个或多个,如果是一个的情况下则将该裸片单元定为候选裸片单元。如果是多个的情况下,可以在满足条件的裸片单元中任意选择一个作为候选裸片单元,或者也可以根据一级磨损信息表中的裸片单元的擦除均值(ec_cnt),找出擦除均值最小的裸片单元作为候选裸片单元。
S303,根据一级磨损信息表,从候选裸片单元中选择擦除计数最小的空闲物理擦除块。
结合图4来说,根据候选裸片单元的编号,找出一级磨损信息表的对应子列表中的裸片单元空闲物理擦除块的擦除计数[free_list(ec_cnt)],并从中选出擦除计数最小的空闲物理擦除块。通过一级磨损信息表获取擦除计数最小的空闲物理擦除块,从而也从局部的磨损均衡保证了裸片单元内的绝对均衡。
S304,将待写入的数据写入所述选择的空闲物理擦除块。
请参见图5,其为本发明实施例的另一种动态磨损均衡控制方法的流程图,其包括以下步骤:
S501,扫描固态硬盘的的所有物理擦除块,并构建二级磨损信息表和一级磨损信息表。所述二级磨损信息表中包括全盘裸片单元列表和全盘已使用物理擦除块的擦除计数,所述一级磨损信息表中包括各个裸片单元的当前读写计数、空闲物理擦除块的擦除计数和各个裸片单元的擦除均值。
S502,根据二级磨损信息表和一级磨损信息表,从所有裸片单元中选取有空闲物理擦除块且当前读写计数小于设定门限值的裸片单元。
S503,根据一级磨损信息表从中选取擦除均值最小的裸片单元作为候选裸片单元。如果步骤S502仅选取出一个裸片单元,则选取出的该裸片单元即为擦除均值最小的裸片单元。如果步骤S502仅选取出多个裸片单元,则需要根据一级磨损信息表中各个裸片单元的擦除均值,并从中选出擦除均值最小的候选裸片单元,这样也可以进一步平衡各个裸片单元之间的磨损。
S504,根据一级磨损信息表,从候选裸片单元中选择擦除计数最小的空闲物理擦除块。
S505,将所述选择的空闲物理擦除块从一级磨损信息表中的空闲物理擦除块中去除。
S506,将待写入的数据写入所述选择的空闲物理擦除块。
S507,将写入数据的物理擦除块增加到二级磨损信息表的已使用物理擦除块中。
本发明实施例的动态磨损均衡控制方法,兼顾了磨损和性能的均衡,在可以延长固态硬盘寿命的前提下,更可以保证固态硬盘的读写速度。
例如,请参见图6,一个固态硬盘的封装中包括三个裸片单元die0、die1、die2,每个裸片单元包括四个物理擦除块(A1~A4、B1~B4、C1~C4),其中填充有斜线的是写有数据的物理擦除块,空白的是空闲的物理擦除块。假设三个裸片单元中空闲物理擦除块的擦除计数如下:
A3:10A4:30
B3:15B4:30
C4:20
假设die0的当前读写计数为3,die1的当前读写计数为2,die2的当前读写计数为2,裸片单元的读写计数的设定门限是3。那么如果按照传统的动态磨损均衡控制方法,会选取die0中的物理擦除块A3来写入数据。但是由于die0达到了读写计数的设定门限,如果再对其进行写数据,会造成die0的性能瓶颈,降低其写数据的速度,从而也影响整个固态硬盘的存储速度。而本发明实施例的动态磨损均衡控制方法,会将单个裸片单元的性能考虑在内,在没有达到性能瓶颈的前提下,再选出擦除计数最小的物理擦除块,因此会选出物理擦除块B3来写入数据,保证了固态硬盘的存储速度。
动态磨损均衡控制方法是在写数据的时候触发并选出合适的空闲物理擦除块来写入数据,而静态磨损均衡控制方法是在满足一定条件时便触发来进行数据转移,触发的条件可以根据需要来设定,例如每过一段时间进行一次数据转移。请参见图7,其为本发明实施例的一种静态磨损均衡控制方法的流程图,其包括以下步骤:
S701,扫描固态硬盘的的所有物理擦除块,并构建二级磨损信息表和一级磨损信息表,所述二级磨损信息表中包括全盘裸片单元列表和全盘已使用物理擦除块的擦除计数,所述一级磨损信息表中包括各个裸片单元的当前读写计数和空闲物理擦除块的擦除计数。
S702,根据二级磨损信息表和一级磨损信息表,选取当前读写计数小于设定门限值的所有裸片单元中,擦除计数最小的已使用物理擦除块作为源物理擦除块。
对于静态磨损均衡,首先要选择待搬迁的源物理擦除块。结合图4来说,先从二级磨损信息表的全盘已使用物理擦除块的擦除计数[used_list(ec_cnt)]中选择磨损最小的物理擦除块作为待搬迁的冷数据块,并根据全盘裸片单元列表(die_list)查询待搬迁的冷数据块所在的裸片单元编号。然后根据一级磨损信息表查看对应编号裸片单元的当前读写计数(io_cnt),如果当前读写计数小于门限值,则将此物理擦除块作为静态磨损均衡的源物理擦除块,否则从二级磨损信息表的[used_list(ec_cnt)]列表中选择磨损次小的物理擦除块,并兼顾一级磨损信息表中对应裸片单元的当前读写计数是否小于门限值,如果满足条件就选择磨损次小的物理擦除块作为静态磨损均衡的源物理擦除块,否则从全局的二级磨损信息表的[used_list(ec_cnt)]列表中选择磨损第三小的物理擦除块作为待搬迁的源物理擦除块,依次类推。
S703,根据二级磨损信息表和一级磨损信息表,从所有裸片单元中选取有空闲物理擦除块且当前读写计数小于设定门限值的候选裸片单元。
确定了待搬迁冷数据所在的源物理擦除块,然后是选取目标物理擦除块。选取目标物理擦除块时,首先要确定目标物理擦除块所在的裸片单元。结合图4来说,首先从二级磨损信息表的全盘裸片单元列表(die_list)找出有空闲块的裸片单元,然后根据找出的裸片单元编号,查询一级磨损信息表中对应的子列表,找出对应子列表中的裸片单元的当前读写计数(io_cnt),接着将找出的各个裸片单元的当前读写计数(io_cnt)与设定的门限值进行比对(该门限值可以根据裸片的性能参数进行设定),如果小于该门限值,说明对应的裸片单元未达到性能瓶颈,可以进行读写数据操作,并将对应的裸片单元确定为候选裸片单元。反之,如果裸片单元的当前读写计数达到甚至大于该门限值,则说明对应的裸片单元已经达到性能瓶颈,若再对其进行写数据操作,会导致该裸片单元的响应速度降低,从而影响整个固态硬盘的存储速度。
值得注意的是,有空闲物理擦除块且当前读写计数小于设定门限值的裸片单元可能有一个或多个,如果是一个的情况下则将该裸片单元定为候选裸片单元。如果是多个的情况下,可以在满足条件的裸片单元中任意选择一个作为候选裸片单元,或者也可以根据一级磨损信息表中的裸片单元的擦除均值(ec_cnt),找出擦除均值最小的裸片单元作为候选裸片单元。
S704,根据一级磨损信息表,从候选裸片单元中选择擦除计数最大的空闲物理擦除块作为目标物理擦除块。
结合图4来说,根据候选裸片单元的编号,找出一级磨损信息表的对应子列表中的裸片单元空闲物理擦除块的擦除计数[free_list(ec_cnt)],并从中选出擦除计数最大的空闲物理擦除块。
S705,将源物理擦除块中的数据转移到目标物理擦除块。
请参见图8,其为本发明实施例的另一种静态磨损均衡控制方法的流程图,其包括以下步骤:
S801,扫描固态硬盘的的所有物理擦除块,并构建二级磨损信息表和一级磨损信息表,所述二级磨损信息表中包括全盘裸片单元列表和全盘已使用物理擦除块的擦除计数,所述一级磨损信息表中包括各个裸片单元的当前读写计数、空闲物理擦除块的擦除计数和各个裸片单元的擦除均值。
S802,根据二级磨损信息表和一级磨损信息表,选取当前读写计数小于设定门限值的所有裸片单元中,擦除计数最小的已使用物理擦除块作为源物理擦除块。
S803,根据二级磨损信息表和一级磨损信息表,从所有裸片单元中选取有空闲物理擦除块且当前读写计数小于设定门限值的裸片单元。
S804,根据一级磨损信息表从中选取擦除均值最小的裸片单元作为候选裸片单元。如果步骤S803仅选取出一个裸片单元,则选取出的该裸片单元即为擦除均值最小的裸片单元。如果步骤S803仅选取出多个裸片单元,则需要根据一级磨损信息表中各个裸片单元的擦除均值,并从中选出擦除均值最小的候选裸片单元,这样也可以进一步平衡各个裸片单元之间的磨损。
S805,根据一级磨损信息表,从候选裸片单元中选择擦除计数最大的空闲物理擦除块作为目标物理擦除块。
S806,将所述选择的空闲物理擦除块从一级磨损信息表中的空闲物理擦除块中去除。
S807,将源物理擦除块中的数据转移到目标物理擦除块。
S808,将目标物理擦除块增加到二级磨损信息表的已使用物理擦除块中。
本发明实施例的静态磨损均衡控制方法,兼顾了磨损和性能的均衡,在可以延长固态硬盘寿命的前提下,更可以保证固态硬盘的读写速度。
例如,如图9所示,该固态硬盘的封装中包括三个裸片单元die0、die1、die2,每个裸片单元包括四个物理擦除块(A1~A4、B1~B4、C1~C4),其中填充有斜线的是写有数据的物理擦除块,空白的是空闲的物理擦除块。假设三个裸片单元中物理擦除块的擦除计数如下:
假设die0的当前读写计数为3,die1的当前读写计数为2,die2的当前读写计数为2,裸片单元的读写计数的设定门限是3。由于三个裸片单元中有数据且擦除计数最小的物理擦除块是A1,空闲的且擦除计数最大的物理擦除块是A3,那么如果按照传统的静态磨损均衡控制方法,会将A1中的冷数据转移到A3中。但是由于die0达到了读写计数的设定门限,如果再对其进行读写数据,会造成die0的性能瓶颈,降低其写数据的速度,从而也影响整个固态硬盘的存储速度。而本发明实施例的静态磨损均衡控制方法,会将单个裸片单元的性能考虑在内,在没有达到性能瓶颈的前提下,再选出擦除计数最小的物理擦除块,因此会从没有达到读写计数设定门限的die1和die2中选出源物理擦除块和目标物理擦除块,由此,会将物理擦除块C1中的冷数据转移到物理擦除块B3中,保证了固态硬盘的存储速度。
本发明实施例还提出一种动态磨损均衡控制装置,请参见图10,其包括:扫描模块1001、二级列表构建模块1002、一级列表构建模块1003、裸片单元选取模块1004、空闲块选取模块1005以及写数据模块1006。
扫描模块1001用于扫描固态硬盘的的所有物理擦除块。
二级列表构建模块1002用于构建二级磨损信息表,所述二级磨损信息表中包括全盘裸片单元列表。
一级列表构建模块1003用于构建一级磨损信息表,所述一级磨损信息表中包括各个裸片单元的当前读写计数和空闲物理擦除块的擦除计数。
所述的二级磨损信息表是从全局的角度统计固态硬盘中裸片单元和物理擦除块的信息,一级磨损信息表是从局部的角度统计各个裸片单元中物理擦除块的具体信息。二级磨损信息表和一级磨损信息表可以根据具体的算法需要进行调整,例如如图4所示,其中二级磨损信息表包括全盘裸片单元列表(die_list)和全盘已使用物理擦除块的擦除计数[used_list(ec_cnt)]。一级磨损信息表中包括多个子列表,每个子列表对应一个裸片单元,其中包括各个裸片单元空闲物理擦除块的擦除计数[free_list(ec_cnt)]、各个裸片单元的当前读写计数(io_cnt)和各个裸片单元的擦除均值(ec_cnt)。
裸片单元选取模块1004用于根据二级磨损信息表和一级磨损信息表,从所有裸片单元中选取有空闲物理擦除块且当前读写计数小于设定门限值的候选裸片单元。值得注意的是,有空闲物理擦除块且当前读写计数小于设定门限值的裸片单元可能有一个或多个,如果是一个的情况下则裸片单元选取模块1004将该裸片单元定为候选裸片单元。如果是多个的情况下,裸片单元选取模块1004可以在满足条件的裸片单元中任意选择一个作为候选裸片单元,或者也可以根据一级磨损信息表中的裸片单元的擦除均值,找出擦除均值最小的裸片单元作为候选裸片单元。
空闲块选取模块1005用于根据一级磨损信息表,从裸片单元选取模块1004选取出的候选裸片单元中选择擦除计数最小的空闲物理擦除块。
写数据模块1006用于将待写入的数据写入空闲块选取模块1005选择的空闲物理擦除块中。
请参见图11,其为本发明实施例的另一种动态磨损均衡控制装置的结构图,与图10的实施例相比,本实施例的动态磨损均衡控制装置还包括:去除模块1007和增加模块1008。
去除模块1007用于在空闲块选取模块1005选取出空闲物理擦除块后,将所述选择的空闲物理擦除块从一级磨损信息表中的空闲物理擦除块中去除。
增加模块1008用于在写数据模块1006将待写入的数据写入空闲物理擦除块后,将写入数据的物理擦除块增加到二级磨损信息表的已使用物理擦除块中。
本发明实施例的动态磨损均衡控制装置,兼顾了磨损和性能的均衡,在可以延长固态硬盘寿命的前提下,更可以保证固态硬盘的读写速度。
本发明实施例还提出一种静态磨损均衡控制装置,请参见图12,本实施例的装置包括:扫描模块1201、二级列表构建模块1202、一级列表构建模块1203、冷数据选取模块1204、裸片单元选取模块1205、空闲块选取模块1206以及转移模块1207。
扫描模块1201用于扫描固态硬盘的的所有物理擦除块。
二级列表构建模块1202用于构建二级磨损信息表,所述二级磨损信息表中包括全盘裸片单元列表和全盘已使用物理擦除块的擦除计数。
一级列表构建模块1203用于构建一级磨损信息表,所述一级磨损信息表中包括各个裸片单元的当前读写计数和空闲物理擦除块的擦除计数。
所述的二级磨损信息表是从全局的角度统计固态硬盘中裸片单元和物理擦除块的信息,一级磨损信息表是从局部的角度统计各个裸片单元中物理擦除块的具体信息。二级磨损信息表和一级磨损信息表可以根据具体的算法需要进行调整,例如如图4所示。
冷数据选取模块1204用于根据二级磨损信息表和一级磨损信息表,选取当前读写计数小于设定门限值的所有裸片单元中,擦除计数最小的已使用物理擦除块作为源物理擦除块。
裸片单元选取模块1205用于根据二级磨损信息表和一级磨损信息表,从所有裸片单元中选取有空闲物理擦除块且当前读写计数小于设定门限值的候选裸片单元。有空闲物理擦除块且当前读写计数小于设定门限值的裸片单元可能有一个或多个,如果是一个的情况下则裸片单元选取模块1205将该裸片单元定为候选裸片单元。如果是多个的情况下,裸片单元选取模块1205可以在满足条件的裸片单元中任意选择一个作为候选裸片单元,或者也可以根据一级磨损信息表中的裸片单元的擦除均值,找出擦除均值最大的裸片单元作为候选裸片单元。
空闲块选取模块1206用于根据一级磨损信息表,从候选裸片单元中选择擦除计数最大的空闲物理擦除块作为目标物理擦除块。
转移模块1207用于将源物理擦除块中的数据转移到目标物理擦除块。
请参见图13,其为本发明实施例的另一种静态磨损均衡控制装置的结构图,与图12的实施例相比,本实施例的装置还包括:去除模块1208和增加模块1209。
去除模块1208用于在空闲块选取模块1206选出作为目标物理擦除块的空闲物理擦除块后,将所述选择的空闲物理擦除块从一级磨损信息表中的空闲物理擦除块中去除。
增加模块1209用于在转移模块1207转移数据完成后,将目标物理擦除块增加到二级磨损信息表的已使用物理擦除块中。
本发明实施例的静态磨损均衡控制装置,兼顾了磨损和性能的均衡,在可以延长固态硬盘寿命的前提下,更可以保证固态硬盘的读写速度。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明实施例可以通过硬件实现,也可以借助软件加必要的通用硬件平台的方式来实现。基于这样的理解,本发明实施例的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或网络设备等)执行本发明实施例各个实施场景所述的方法。
以上所述,仅是本发明的较佳实施例而已,并非对本发明作任何形式上的限制,虽然本发明已以较佳实施例揭露如上,然而并非用以限定本发明,任何熟悉本专业的技术人员,在不脱离本申请技术方案范围内,当可利用上述揭示的技术内容作出些许更动或修饰为等同变化的等效实施例,但凡是未脱离本申请技术方案内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与修饰,均仍属于本发明技术方案的范围内。

Claims (16)

1.一种动态磨损均衡控制方法,其特征在于,包括:
扫描固态硬盘的的所有物理擦除块,并构建二级磨损信息表和一级磨损信息表,所述二级磨损信息表中包括全盘裸片单元列表,所述一级磨损信息表中包括各个裸片单元的当前读写计数和空闲物理擦除块的擦除计数;
根据二级磨损信息表和一级磨损信息表,从所有裸片单元中选取有空闲物理擦除块且当前读写计数小于设定门限值的候选裸片单元;
根据一级磨损信息表,从候选裸片单元中选择擦除计数最小的空闲物理擦除块;以及
将待写入的数据写入所述选择的空闲物理擦除块。
2.如权利要求1所述的动态磨损均衡控制方法,其特征在于,
所述一级磨损信息表中还包括各个裸片单元的擦除均值;以及
所述选取候选裸片单元的步骤包括:当有空闲物理擦除块且当前读写计数小于设定门限值的裸片单元有多个时,根据一级磨损信息表从中选取擦除均值最小的裸片单元作为候选裸片单元。
3.如权利要求1所述的动态磨损均衡控制方法,其特征在于,所述从候选裸片单元中选择擦除计数最小的空闲物理擦除块的步骤之后还包括:将所述选择的空闲物理擦除块从一级磨损信息表中的空闲物理擦除块中去除。
4.如权利要求1所述的动态磨损均衡控制方法,其特征在于,
所述二级磨损信息表中还包括全盘已使用物理擦除块的擦除计数;以及
所述将待写入的数据写入所述选择的空闲物理擦除块的步骤之后还包括:将写入数据的物理擦除块增加到二级磨损信息表的已使用物理擦除块中。
5.一种静态磨损均衡控制方法,其特征在于,包括:
扫描固态硬盘的的所有物理擦除块,并构建二级磨损信息表和一级磨损信息表,所述二级磨损信息表中包括全盘裸片单元列表和全盘已使用物理擦除块的擦除计数,所述一级磨损信息表中包括各个裸片单元的当前读写计数和空闲物理擦除块的擦除计数;
根据二级磨损信息表和一级磨损信息表,选取当前读写计数小于设定门限值的所有裸片单元中,擦除计数最小的已使用物理擦除块作为源物理擦除块;
根据二级磨损信息表和一级磨损信息表,从所有裸片单元中选取有空闲物理擦除块且当前读写计数小于设定门限值的候选裸片单元;
根据一级磨损信息表,从候选裸片单元中选择擦除计数最大的空闲物理擦除块作为目标物理擦除块;以及
将源物理擦除块中的数据转移到目标物理擦除块。
6.如权利要求5所述的静态磨损均衡控制方法,其特征在于,
所述一级磨损信息表中还包括各个裸片单元的擦除均值;以及
所述选取候选裸片单元的步骤包括:当有空闲物理擦除块且当前读写计数小于设定门限值的裸片单元有多个时,根据一级磨损信息表从中选取擦除均值最大的裸片单元作为候选裸片单元。
7.如权利要求5所述的静态磨损均衡控制方法,其特征在于,
所述从候选裸片单元中选择擦除计数最大的空闲物理擦除块作为目标物理擦除块的步骤之后包括:将所述选择的空闲物理擦除块从一级磨损信息表中的空闲物理擦除块中去除。
8.如权利要求5所述的静态磨损均衡控制方法,其特征在于,
所述将源物理擦除块中的数据转移到目标物理擦除块的步骤之后包括:将目标物理擦除块增加到二级磨损信息表的已使用物理擦除块中。
9.一种动态磨损均衡控制装置,其特征在于,包括:
扫描模块,用于扫描固态硬盘的的所有物理擦除块;
二级列表构建模块,用于构建二级磨损信息表,所述二级磨损信息表中包括全盘裸片单元列表;
一级列表构建模块,用于构建一级磨损信息表,所述一级磨损信息表中包括各个裸片单元的当前读写计数和空闲物理擦除块的擦除计数;
裸片单元选取模块,用于根据二级磨损信息表和一级磨损信息表,从所有裸片单元中选取有空闲物理擦除块且当前读写计数小于设定门限值的候选裸片单元;
空闲块选取模块,用于根据一级磨损信息表,从候选裸片单元中选择擦除计数最小的空闲物理擦除块;以及
写数据模块,用于将待写入的数据写入所述选择的空闲物理擦除块。
10.如权利要求9所述的动态磨损均衡控制装置,其特征在于,
所述一级磨损信息表中还包括各个裸片单元的擦除均值;以及
当有空闲物理擦除块且当前读写计数小于设定门限值的裸片单元有多个时,所述裸片单元选取模块根据一级磨损信息表从中选取擦除均值最小的裸片单元作为候选裸片单元。
11.如权利要求9所述的动态磨损均衡控制装置,其特征在于,所述动态磨损均衡控制装置还包括:
去除模块,用于将所述选择的空闲物理擦除块从一级磨损信息表中的空闲物理擦除块中去除。
12.如权利要求9所述的动态磨损均衡控制装置,其特征在于,
所述二级磨损信息表中还包括全盘已使用物理擦除块的擦除计数;
所述动态磨损均衡控制装置还包括:
增加模块,用于将写入数据的物理擦除块增加到二级磨损信息表的已使用物理擦除块中。
13.一种静态磨损均衡控制装置,其特征在于,包括:
扫描模块,用于扫描固态硬盘的的所有物理擦除块;
二级列表构建模块,用于构建二级磨损信息表,所述二级磨损信息表中包括全盘裸片单元列表和全盘已使用物理擦除块的擦除计数;
一级列表构建模块,用于构建一级磨损信息表,所述一级磨损信息表中包括各个裸片单元的当前读写计数和空闲物理擦除块的擦除计数;
冷数据选取模块,用于根据二级磨损信息表和一级磨损信息表,选取当前读写计数小于设定门限值的所有裸片单元中,擦除计数最小的已使用物理擦除块作为源物理擦除块;
裸片单元选取模块,用于根据二级磨损信息表和一级磨损信息表,从所有裸片单元中选取有空闲物理擦除块且当前读写计数小于设定门限值的候选裸片单元;
空闲块选取模块,用于根据一级磨损信息表,从候选裸片单元中选择擦除计数最大的空闲物理擦除块作为目标物理擦除块;以及
转移模块,用于将源物理擦除块中的数据转移到目标物理擦除块。
14.如权利要求13所述的静态磨损均衡控制装置,其特征在于,
所述一级磨损信息表中还包括各个裸片单元的擦除均值;以及
当有空闲物理擦除块且当前读写计数小于设定门限值的裸片单元有多个时,所述裸片单元选取模块根据一级磨损信息表从中选取擦除均值最大的裸片单元作为候选裸片单元。
15.如权利要求13所述的静态磨损均衡控制装置,其特征在于,所述静态磨损均衡控制装置还包括:
去除模块,用于将所述选择的空闲物理擦除块从一级磨损信息表中的空闲物理擦除块中去除。
16.如权利要求13所述的静态磨损均衡控制装置,其特征在于,所述静态磨损均衡控制装置还包括:
增加模块,用于将目标物理擦除块增加到二级磨损信息表的已使用物理擦除块中。
CN201410415933.7A 2014-08-21 2014-08-21 动态及静态磨损均衡控制方法及装置 Active CN105468291B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410415933.7A CN105468291B (zh) 2014-08-21 2014-08-21 动态及静态磨损均衡控制方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410415933.7A CN105468291B (zh) 2014-08-21 2014-08-21 动态及静态磨损均衡控制方法及装置

Publications (2)

Publication Number Publication Date
CN105468291A true CN105468291A (zh) 2016-04-06
CN105468291B CN105468291B (zh) 2019-09-20

Family

ID=55606046

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410415933.7A Active CN105468291B (zh) 2014-08-21 2014-08-21 动态及静态磨损均衡控制方法及装置

Country Status (1)

Country Link
CN (1) CN105468291B (zh)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105955672A (zh) * 2016-05-19 2016-09-21 河南中天亿科电子科技有限公司 用于灵活控制损耗均衡的固态存储系统及方法
CN106095344A (zh) * 2016-06-27 2016-11-09 联想(北京)有限公司 一种数据处理方法及装置
CN107589914A (zh) * 2017-09-25 2018-01-16 青岛海信移动通信技术股份有限公司 数据存储方法及装置
CN107958690A (zh) * 2016-10-18 2018-04-24 爱思开海力士有限公司 数据存储装置及其操作方法
CN108509154A (zh) * 2018-03-31 2018-09-07 北京联想核芯科技有限公司 一种根据坏块分布动态时间raid分组的方法和装置
CN110597456A (zh) * 2019-07-29 2019-12-20 深圳大学 基于三维闪存的读写均衡方法、装置及计算机设备
CN111124305A (zh) * 2019-12-20 2020-05-08 浪潮电子信息产业股份有限公司 固态硬盘磨损均衡方法、装置及计算机可读存储介质
CN111209224A (zh) * 2018-11-21 2020-05-29 爱思开海力士有限公司 存储器系统及其操作方法
CN111400200A (zh) * 2019-01-02 2020-07-10 爱思开海力士有限公司 控制器及其操作方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101477483A (zh) * 2008-12-31 2009-07-08 成都市华为赛门铁克科技有限公司 一种基于非易失性存储介质的快照处理方法及装置
CN102279825A (zh) * 2011-04-02 2011-12-14 浪潮电子信息产业股份有限公司 一种固态硬盘控制器的智能dma控制器
CN102543177A (zh) * 2010-12-17 2012-07-04 西安奇维测控科技有限公司 一种固态盘静态磨损平衡算法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101477483A (zh) * 2008-12-31 2009-07-08 成都市华为赛门铁克科技有限公司 一种基于非易失性存储介质的快照处理方法及装置
CN102543177A (zh) * 2010-12-17 2012-07-04 西安奇维测控科技有限公司 一种固态盘静态磨损平衡算法
CN102279825A (zh) * 2011-04-02 2011-12-14 浪潮电子信息产业股份有限公司 一种固态硬盘控制器的智能dma控制器

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105955672B (zh) * 2016-05-19 2019-12-06 河南中天亿科电子科技有限公司 用于灵活控制损耗均衡的固态存储系统及方法
CN105955672A (zh) * 2016-05-19 2016-09-21 河南中天亿科电子科技有限公司 用于灵活控制损耗均衡的固态存储系统及方法
CN106095344B (zh) * 2016-06-27 2019-11-12 深圳忆联信息系统有限公司 一种数据处理方法及装置
CN106095344A (zh) * 2016-06-27 2016-11-09 联想(北京)有限公司 一种数据处理方法及装置
CN107958690A (zh) * 2016-10-18 2018-04-24 爱思开海力士有限公司 数据存储装置及其操作方法
CN107958690B (zh) * 2016-10-18 2021-05-25 爱思开海力士有限公司 数据存储装置及其操作方法
CN107589914A (zh) * 2017-09-25 2018-01-16 青岛海信移动通信技术股份有限公司 数据存储方法及装置
CN108509154A (zh) * 2018-03-31 2018-09-07 北京联想核芯科技有限公司 一种根据坏块分布动态时间raid分组的方法和装置
CN111209224A (zh) * 2018-11-21 2020-05-29 爱思开海力士有限公司 存储器系统及其操作方法
CN111400200A (zh) * 2019-01-02 2020-07-10 爱思开海力士有限公司 控制器及其操作方法
CN110597456A (zh) * 2019-07-29 2019-12-20 深圳大学 基于三维闪存的读写均衡方法、装置及计算机设备
CN110597456B (zh) * 2019-07-29 2023-08-25 深圳大学 基于三维闪存的读写均衡方法、装置及计算机设备
CN111124305A (zh) * 2019-12-20 2020-05-08 浪潮电子信息产业股份有限公司 固态硬盘磨损均衡方法、装置及计算机可读存储介质

Also Published As

Publication number Publication date
CN105468291B (zh) 2019-09-20

Similar Documents

Publication Publication Date Title
CN105468291A (zh) 动态及静态磨损均衡控制方法及装置
US11029853B2 (en) Dynamic segment allocation for write requests by a storage system
KR102032605B1 (ko) 웨어 레벨링 동작들을 수행하기 위한 장치들 및 방법들
US10255118B2 (en) Processing system including a plurality of cores and method of operating the same
CN102708060B (zh) 一种镜像文件访问方法、装置及系统
CN103136110B (zh) 内存管理方法、内存管理装置及numa系统
US20170351452A1 (en) Dynamic host memory buffer allocation
CN101446926B (zh) 一种高速缓冲存储器掉电数据保存方法、设备和系统
US10095414B2 (en) Memory system including a controller and a nonvolatile memory having memory blocks
US9740437B2 (en) Mechanism to adapt garbage collection resource allocation in a solid state drive
CN105630405B (zh) 一种存储系统及采用该存储系统的读写方法
US20170177225A1 (en) Mid-level controllers for performing flash management on solid state drives
US11151052B2 (en) Reading sequential data from memory using a pivot table
CN103365603A (zh) 存储系统的存储器管理的方法和装置
CN106873912A (zh) Tlc芯片固态硬盘的动态分区存储方法及装置、系统
CN105335309A (zh) 一种数据传输方法及计算机
CN102722455A (zh) 一种闪存设备中数据存储的方法及装置
US20220413919A1 (en) User interface based page migration for performance enhancement
TW201624287A (zh) 資料儲存裝置及其操作方法
US20120017052A1 (en) Information Handling System Universal Memory Wear Leveling System and Method
CN111290564A (zh) 存储系统及其操作方法
KR20140073955A (ko) 메모리 시스템 및 그 구동 방법
EP3296878B1 (en) Electronic device and page merging method therefor
CN112352216B (zh) 数据存储方法及数据存储装置
CN104951406A (zh) 一种分页式地址空间管理方法以及控制器

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20231227

Address after: 518057 Tencent Building, No. 1 High-tech Zone, Nanshan District, Shenzhen City, Guangdong Province, 35 floors

Patentee after: TENCENT TECHNOLOGY (SHENZHEN) Co.,Ltd.

Patentee after: TENCENT CLOUD COMPUTING (BEIJING) Co.,Ltd.

Address before: 2, 518000, East 403 room, SEG science and Technology Park, Zhenxing Road, Shenzhen, Guangdong, Futian District

Patentee before: TENCENT TECHNOLOGY (SHENZHEN) Co.,Ltd.

TR01 Transfer of patent right