一种存储设备及其控制方法和控制装置制造方法及图纸

技术编号:26375913 阅读:19 留言:0更新日期:2020-11-19 23:44
本发明专利技术实施例公开了一种存储设备及其控制方法和控制装置,该存储设备包括存储模块,存储模块包括多个物理块和事件队列,该控制方法包括:如果检测到物理块的擦除次数大于或等于第一擦除阈值,将磨损平衡操作添加到事件队列中;在操作空白阶段,如果检测到事件队列中存在磨损平衡操作,执行该磨损平衡操作。本发明专利技术实施例中,采用后台执行磨损平衡操作的方法,磨损平衡操作和存储设备的读写擦操作命令不会同时进行,如此不会占用用户的擦除时间,在用户完成正常的读写擦操作后,控制装置通过自动检测和处理来完成磨损平衡的全部操作,减少了用户操作等待时间,提高了存储设备系统性能。

【技术实现步骤摘要】
一种存储设备及其控制方法和控制装置
本专利技术实施例涉及存储技术,尤其涉及一种存储设备及其控制方法和控制装置。
技术介绍
磨损平衡Wearleveling是大多数固态硬盘SSD产品都会实现的闪存转换层FTL算法之一。其核心思想是平衡设备端的所有物理块的擦写次数。磨损平衡Wearleveling包括动态磨损平衡Dynamicwearleveling。现有动态磨损平衡技术是在用户执行擦或写操作的过程中完成。如用户在执行擦除操作时,根据映射表得到擦除操作所对应的物理块地址,判断该物理块的擦除次数是否已大于一个给定的阈值。如果满足该条件,则触发Dynamicwearleveling。然而,磨损平衡涉及数据的搬移和物理块的擦除操作,这会占用用户的读写操作时间,导致等待时间变长,降低了系统性能。
技术实现思路
本专利技术实施例提供一种存储设备及其控制方法和控制装置,以缩短用户操作等待时间。本专利技术实施例提供了一种存储设备的控制方法,所述存储设备包括存储模块,所述存储模块包括多个物理块和事件队列,该控制方法包括:如果检测到所述物理块的擦除次数大于或等于第一擦除阈值,将磨损平衡操作添加到所述事件队列中;在操作空白阶段,如果检测到所述事件队列中存在所述磨损平衡操作,执行该磨损平衡操作。进一步的,确定所述操作空白阶段的具体执行过程为:将第一操作命令执行完成之后到第二操作命令开始执行之前的时段确定为所述操作空白阶段,所述第一操作命令与所述第二操作命令为所述存储设备接收到的相邻两次操作命令。进一步的,检测到所述物理块的擦除次数大于或等于第一擦除阈值之前,还包括:接收第一操作命令并确定所述第一操作命令对应的物理块,再检测该物理块的擦除次数是否大于或等于所述第一擦除阈值。基于同一专利技术构思,本专利技术实施例还提供了一种存储设备的控制装置,所述存储设备包括存储模块,所述存储模块包括多个物理块和事件队列,该控制装置包括:事件确定模块,用于如果检测到所述物理块的擦除次数大于或等于第一擦除阈值,将磨损平衡操作添加到所述事件队列中;事件执行模块,用于在操作空白阶段,如果检测到所述事件队列中存在所述磨损平衡操作,执行该磨损平衡操作。进一步的,所述事件执行模块还用于将第一操作命令执行完成之后到第二操作命令开始执行之前的时段确定为所述操作空白阶段,所述第一操作命令与所述第二操作命令为所述存储设备接收到的相邻两次操作命令。进一步的,还包括:检测模块,用于接收第一操作命令并确定所述第一操作命令对应的物理块,再检测该物理块的擦除次数是否大于或等于所述第一擦除阈值。基于同一专利技术构思,本专利技术实施例还提供了一种存储设备,所述存储设备包括存储模块和如上所述的控制装置,所述控制装置与所述存储模块电连接。本专利技术实施例中,采用后台执行磨损平衡操作的方法,如果检测到物理块的擦除次数大于或等于第一擦除阈值,将磨损平衡操作添加到事件队列中,在操作空白阶段,如果检测到事件队列中存在磨损平衡操作,执行该磨损平衡操作。本专利技术实施例中,触发磨损平衡操作事件后先记录到事件队列中,再在操作空白阶段从事件队列中侦测出磨损平衡操作并执行,显然磨损平衡操作和存储设备的读写擦操作命令不会同时进行,如此不会占用用户的擦除时间,在用户完成正常的读写擦操作后,控制装置通过自动检测和处理来完成磨损平衡的全部操作,减少了用户操作等待时间,提高了存储设备系统性能。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图做一简单地介绍,显而易见地,下面描述中的附图是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是本专利技术实施例提供的一种存储设备的控制方法的流程图;图2是本专利技术实施例提供的一种存储设备的控制装置的示意图。具体实施方式为使本专利技术的目的、技术方案和优点更加清楚,以下将参照本专利技术实施例中的附图,通过实施方式清楚、完整地描述本专利技术的技术方案,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。如图1所示,为本专利技术实施例提供的一种存储设备的控制方法的流程图,该存储设备可选为任意集成有存储模块的芯片或器件,例如集成有闪存颗粒的固态硬盘,在其他实施例中还可选该存储设备为其他集成有存储模块的器件。在此,存储设备包括存储模块,存储模块包括多个物理块和事件队列,存储模块以物理块为单元进行数据写入。本实施例中集成在存储设备的控制装置可执行该控制方法,该控制装置采用软件和/或硬件的方式实现。本实施例提供的存储设备的控制方法包括:步骤110、如果检测到物理块的擦除次数大于或等于第一擦除阈值,将磨损平衡操作添加到事件队列中。本实施例中,对于存储设备中所有的物理块,控制装置中存储有每个物理块的擦除次数,并且控制装置在每次操作之后会及时更新每个物理块的擦除次数。控制装置检测到物理块的擦除次数大于或等于第一擦除阈值时,说明存储设备可以执行磨损平衡操作。本实施例中,无需立即执行磨损平衡操作,而是将磨损平衡操作作为一次事件记录在事件队列中,后续执行。需要说明的是,本实施例的控制装置为事件驱动模式,其通过事件队列实现,事件队列中包括多个事件,这些事件在空闲时间进行执行。需要说明的是,第一擦除阈值是与物理块擦除次数相关的参数,其目的在于使得物理块擦除次数均衡,因此第一擦除阈值可以是预先设定的固定值,也可以是随着物理块擦除次数而变化的不定值。例如,可选第一擦除阈值等于存储模块中多个物理块的擦除次数均值,即存储设备中各个物理块的擦除次数求和再求平均值得出的数值即为第一擦除阈值。还可选第一擦除阈值等于(m+n)/2,m为存储设备中物理块的最大擦除次数,n为存储设备中物理块的最小擦除次数。还可选第一擦除阈值为k,k为固定值。在保证能够达到物理块的均衡使用的基础上,可合理设定第一擦除阈值。可选的,检测到物理块的擦除次数大于或等于第一擦除阈值之前,还包括:接收第一操作命令并确定第一操作命令对应的物理块,再检测该物理块的擦除次数是否大于或等于第一擦除阈值。本实施例中第一操作命令可以是读操作、写操作或擦除操作等操作命令。控制装置根据第一操作命令可以确定该命令对应的物理块,然后检测该物理块的擦除次数是否大于或等于第一擦除阈值。在此将存储设备接收到操作命令作为检测物理块擦除次数的触发条件的目的在于,避免存储设备重复检测擦除次数以将磨损平衡事件记录在事件队列中,占用用户操作时间。步骤120、在操作空白阶段,如果检测到事件队列中存在磨损平衡操作,执行该磨损平衡操作。本实施例中,将磨损平衡操作记录到事件队列中后,控制装置继续执行当前操作命令。操作命令执行结束后,控制装置检测到系统处于空闲时段即操作空白阶段,再检测事件队列中是否有磨损平衡操作这一本文档来自技高网...

【技术保护点】
1.一种存储设备的控制方法,其特征在于,所述存储设备包括存储模块,所述存储模块包括多个物理块和事件队列,该控制方法包括:/n如果检测到所述物理块的擦除次数大于或等于第一擦除阈值,将磨损平衡操作添加到所述事件队列中;/n在操作空白阶段,如果检测到所述事件队列中存在所述磨损平衡操作,执行该磨损平衡操作。/n

【技术特征摘要】
1.一种存储设备的控制方法,其特征在于,所述存储设备包括存储模块,所述存储模块包括多个物理块和事件队列,该控制方法包括:
如果检测到所述物理块的擦除次数大于或等于第一擦除阈值,将磨损平衡操作添加到所述事件队列中;
在操作空白阶段,如果检测到所述事件队列中存在所述磨损平衡操作,执行该磨损平衡操作。


2.根据权利要求1所述的控制方法,其特征在于,确定所述操作空白阶段的具体执行过程为:
将第一操作命令执行完成之后到第二操作命令开始执行之前的时段确定为所述操作空白阶段,所述第一操作命令与所述第二操作命令为所述存储设备接收到的相邻两次操作命令。


3.根据权利要求1所述的控制方法,其特征在于,检测到所述物理块的擦除次数大于或等于第一擦除阈值之前,还包括:
接收第一操作命令并确定所述第一操作命令对应的物理块,再检测该物理块的擦除次数是否大于或等于所述第一擦除阈值。


4.一种存储设备的控制装置,其特征在于,所述存...

【专利技术属性】
技术研发人员:庄开锋王硕
申请(专利权)人:北京兆易创新科技股份有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1