CN111949561B - 一种存储设备及其控制方法和控制装置 - Google Patents

一种存储设备及其控制方法和控制装置 Download PDF

Info

Publication number
CN111949561B
CN111949561B CN201910412953.1A CN201910412953A CN111949561B CN 111949561 B CN111949561 B CN 111949561B CN 201910412953 A CN201910412953 A CN 201910412953A CN 111949561 B CN111949561 B CN 111949561B
Authority
CN
China
Prior art keywords
wear
event queue
operation command
storage device
erasing
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.)
Active
Application number
CN201910412953.1A
Other languages
English (en)
Other versions
CN111949561A (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.)
Zhaoyi Innovation Technology Group Co ltd
Original Assignee
Zhaoyi Innovation Technology Group 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 Zhaoyi Innovation Technology Group Co ltd filed Critical Zhaoyi Innovation Technology Group Co ltd
Priority to CN201910412953.1A priority Critical patent/CN111949561B/zh
Publication of CN111949561A publication Critical patent/CN111949561A/zh
Application granted granted Critical
Publication of CN111949561B publication Critical patent/CN111949561B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7211Wear leveling

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

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

Description

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

Claims (7)

1.一种存储设备的控制方法,其特征在于,所述存储设备包括存储模块,所述存储模块包括多个物理块和事件队列,该控制方法包括:
如果检测到所述物理块的擦除次数大于或等于第一擦除阈值,将磨损平衡操作添加到所述事件队列中,将所述磨损平衡操作记录到所述事件队列中之后,继续执行当前操作命令;
在操作空白阶段,如果检测到所述事件队列中存在所述磨损平衡操作,在后台执行该磨损平衡操作;
其中,所述磨损平衡操作采用事件驱动模式并通过所述事件队列执行,所述事件队列中包括多个事件。
2.根据权利要求1所述的控制方法,其特征在于,确定所述操作空白阶段的具体执行过程为:
将第一操作命令执行完成之后到第二操作命令开始执行之前的时段确定为所述操作空白阶段,所述第一操作命令与所述第二操作命令为所述存储设备接收到的相邻两次操作命令。
3.根据权利要求1所述的控制方法,其特征在于,检测到所述物理块的擦除次数大于或等于第一擦除阈值之前,还包括:
接收第一操作命令并确定所述第一操作命令对应的物理块,再检测该物理块的擦除次数是否大于或等于所述第一擦除阈值。
4.一种存储设备的控制装置,其特征在于,所述存储设备包括存储模块,所述存储模块包括多个物理块和事件队列,该控制装置包括:
事件确定模块,用于如果检测到所述物理块的擦除次数大于或等于第一擦除阈值,将磨损平衡操作添加到所述事件队列中,将所述磨损平衡操作记录到所述事件队列中之后,继续执行当前操作命令;
事件执行模块,用于在操作空白阶段,如果检测到所述事件队列中存在所述磨损平衡操作,在后台执行该磨损平衡操作;
其中,所述磨损平衡操作采用事件驱动模式并通过所述事件队列执行,所述事件队列中包括多个事件。
5.根据权利要求4所述的控制装置,其特征在于,所述事件执行模块还用于将第一操作命令执行完成之后到第二操作命令开始执行之前的时段确定为所述操作空白阶段,所述第一操作命令与所述第二操作命令为所述存储设备接收到的相邻两次操作命令。
6.根据权利要求4所述的控制装置,其特征在于,还包括:检测模块,用于接收第一操作命令并确定所述第一操作命令对应的物理块,再检测该物理块的擦除次数是否大于或等于所述第一擦除阈值。
7.一种存储设备,其特征在于,所述存储设备包括存储模块和如权利要求4-6任一项所述的控制装置,所述控制装置与所述存储模块电连接。
CN201910412953.1A 2019-05-17 2019-05-17 一种存储设备及其控制方法和控制装置 Active CN111949561B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910412953.1A CN111949561B (zh) 2019-05-17 2019-05-17 一种存储设备及其控制方法和控制装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910412953.1A CN111949561B (zh) 2019-05-17 2019-05-17 一种存储设备及其控制方法和控制装置

Publications (2)

Publication Number Publication Date
CN111949561A CN111949561A (zh) 2020-11-17
CN111949561B true CN111949561B (zh) 2024-03-29

Family

ID=73336810

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910412953.1A Active CN111949561B (zh) 2019-05-17 2019-05-17 一种存储设备及其控制方法和控制装置

Country Status (1)

Country Link
CN (1) CN111949561B (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101354681A (zh) * 2008-09-23 2009-01-28 美商威睿电通公司 存储器系统、非易失性存储器的磨损均衡方法及装置
CN101777026A (zh) * 2009-01-09 2010-07-14 成都市华为赛门铁克科技有限公司 一种存储管理方法、硬盘及存储系统
CN102789403A (zh) * 2012-07-11 2012-11-21 忆正科技(武汉)有限公司 一种闪存控制器及其控制方法
CN103914392A (zh) * 2014-04-03 2014-07-09 深圳市硅格半导体有限公司 闪存的空块回收方法及装置
CN109582215A (zh) * 2017-09-29 2019-04-05 华为技术有限公司 硬盘操作命令的执行方法、硬盘及存储介质

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101354681A (zh) * 2008-09-23 2009-01-28 美商威睿电通公司 存储器系统、非易失性存储器的磨损均衡方法及装置
CN101777026A (zh) * 2009-01-09 2010-07-14 成都市华为赛门铁克科技有限公司 一种存储管理方法、硬盘及存储系统
CN102789403A (zh) * 2012-07-11 2012-11-21 忆正科技(武汉)有限公司 一种闪存控制器及其控制方法
CN103914392A (zh) * 2014-04-03 2014-07-09 深圳市硅格半导体有限公司 闪存的空块回收方法及装置
CN109582215A (zh) * 2017-09-29 2019-04-05 华为技术有限公司 硬盘操作命令的执行方法、硬盘及存储介质

Also Published As

Publication number Publication date
CN111949561A (zh) 2020-11-17

Similar Documents

Publication Publication Date Title
US8560759B1 (en) Hybrid drive storing redundant copies of data on disk and in non-volatile semiconductor memory based on read frequency
CN108958907B (zh) 用于数据存储系统的上下文感知动态命令调度
TWI628542B (zh) 快閃記憶體的垃圾回收斷電回復方法以及使用該方法的裝置
KR101573591B1 (ko) 메모리 시스템 제어기를 구비하는 장치 및 관련 방법
US8254172B1 (en) Wear leveling non-volatile semiconductor memory based on erase times and program times
TWI512476B (zh) 用以控制非依電性記憶體裝置中之操作之方法以及相關電腦程式產品、電腦可讀儲存媒體、記憶體裝置、及主機裝置
CN109582227B (zh) 固态硬盘写入方法、装置、计算机设备和存储介质
US8392649B2 (en) Memory storage device, controller, and method for responding to host write commands triggering data movement
US20190087348A1 (en) Data backup method, data recovery method and storage controller
US20120185656A1 (en) Systems and Methods for Scheduling a Memory Command for Execution Based on a History of Previously Executed Memory Commands
US9851904B2 (en) Garbage collection while maintaining predetermined writing speed
US20200349065A1 (en) Data storage devices and data processing methods
US20150149741A1 (en) Storage System and Control Method Thereof
CN114328281B (zh) 固态硬盘异常掉电处理方法、装置、电子设备及介质
CN111400201B (zh) 快闪存储器的数据整理方法、存储装置及控制电路单元
KR20170098900A (ko) 트랜잭션 처리 방법, 장치 및 컴퓨터 시스템
KR20160074025A (ko) 데이터 저장 장치의 동작 방법
TW201703048A (zh) 記憶體管理方法、記憶體控制電路單元以及記憶體儲存裝置
CN107239225B (zh) 存储器管理方法、存储器储存装置及存储器控制电路单元
CN107025063B (zh) 内存管理方法、内存储存装置及内存控制电路单元
TW202028981A (zh) 資料儲存裝置及避免韌體失效之方法
US9880749B2 (en) Storage method and device for controlling the output timing of commands based on a hold time
CN108334383B (zh) 一种信息处理方法及电子设备
CN113574497A (zh) 数据存储方法及存储芯片
CN117012268B (zh) 一种对ufs最大性能的测试方法、控制器、系统和介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information

Address after: Room 101, Floor 1-5, Building 8, Yard 9, Fenghao East Road, Haidian District, Beijing 100094

Applicant after: Zhaoyi Innovation Technology Group Co.,Ltd.

Address before: 100083 12 Floors, Block A, Tiangong Building, Science and Technology University, 30 College Road, Haidian District, Beijing

Applicant before: GIGADEVICE SEMICONDUCTOR(BEIJING) Inc.

CB02 Change of applicant information
GR01 Patent grant
GR01 Patent grant