CN108874309B - 一种管理固态硬盘中物理块的方法和装置 - Google Patents

一种管理固态硬盘中物理块的方法和装置 Download PDF

Info

Publication number
CN108874309B
CN108874309B CN201810515498.3A CN201810515498A CN108874309B CN 108874309 B CN108874309 B CN 108874309B CN 201810515498 A CN201810515498 A CN 201810515498A CN 108874309 B CN108874309 B CN 108874309B
Authority
CN
China
Prior art keywords
data
physical block
specified type
solid state
state disk
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
CN201810515498.3A
Other languages
English (en)
Other versions
CN108874309A (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.)
Hangzhou H3C Technologies Co Ltd
Original Assignee
Hangzhou H3C Technologies 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 Hangzhou H3C Technologies Co Ltd filed Critical Hangzhou H3C Technologies Co Ltd
Priority to CN201810515498.3A priority Critical patent/CN108874309B/zh
Publication of CN108874309A publication Critical patent/CN108874309A/zh
Application granted granted Critical
Publication of CN108874309B publication Critical patent/CN108874309B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • 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
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/04Addressing variable-length words or parts of words
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0616Improving the reliability of storage systems in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/062Securing storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0652Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0674Disk device
    • G06F3/0676Magnetic disk device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1032Reliability improvement, data loss prevention, degraded operation etc
    • 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/7203Temporary buffering, e.g. using volatile buffer or dedicated buffer blocks
    • 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/7205Cleaning, compaction, garbage collection, erase control

Abstract

本申请提供一种管理固态硬盘中物理块的方法和装置,该方法包括:获取存储设备的固态硬盘中的第一指定类型物理块;获取所述第一指定类型物理块的上次擦除时间;判断当前时间与所述上次擦除时间的差值是否到达预设时间阈值;如果是,则利用无效数据对所述第一指定类型物理块进行数据填充。通过本申请的技术方案,避免物理块长时间存在空闲页,避免物理块损坏和数据丢失等问题,对物理块进行合理保护,减弱数据丢失风险,保证物理块的安全稳定。

Description

一种管理固态硬盘中物理块的方法和装置
技术领域
本申请涉及存储技术领域,尤其是涉及一种管理固态硬盘中物理块的方法和装置。
背景技术
SSD(Solid State Drives,固态硬盘)是一种新型的硬盘,具有速度快、抗震安全性高、稳定性好、高集成度、超大容量、读写速度快、读写延迟小、功耗低、非易失性的存储介质等特性,从而被广泛应用于生活的各个领域,例如,消费电子、军事设备、监控安防、网络、服务器、手持设备、工业控制等。
Block(物理块,也称为数据块)是SSD的最小擦除单元,可以由大量Page(页,即组成Block的小单元,一个Block可以包括几千个Page)组成。在SSD的使用过程中,是不断向Block的各Page中写入数据的过程,一直到Block的所有Page被写满,然后向下一个Block的各Page中写入数据,以此类推。
但是,在数据写入过程中,若Block只写入部分数据,而没有写满数据,即Block长时间存在空闲Page,此时,空闲Page的存在会使得Block内部电荷不平衡,出现Block损坏和数据丢失等问题,尤其是在温度变化快、湿度不稳定、高低压变化等环境,更容易出现上述问题。
发明内容
有鉴于此,本申请提供了一种管理固态硬盘中物理块的方法和装置,以避免物理块损坏和数据丢失等问题,对物理块进行合理保护。
第一方面,本申请提供了一种管理固态硬盘中物理块的方法,应用于存储设备,所述方法包括:
获取所述存储设备的固态硬盘中的第一指定类型物理块;
获取所述第一指定类型物理块的上次擦除时间;
判断当前时间与所述上次擦除时间的差值是否到达预设时间阈值;
如果是,则利用无效数据对所述第一指定类型物理块进行数据填充。
结合第一方面,在第一种可能的实现方式中,所述利用无效数据对所述第一指定类型物理块进行数据填充,包括:
每隔预设时间,在所述第一指定类型物理块的部分空闲页中填充无效数据,直到所述第一指定类型物理块中没有空闲页;或者,
在所述第一指定类型物理块的全部空闲页中填充无效数据,以使所述第一指定类型物理块中没有空闲页。
结合第一方面,在第二种可能的实现方式中,所述方法还包括:
在接收到用于使所述固态硬盘下电的操作指令时,获取所述固态硬盘中的第二指定类型物理块,并在所述第二指定类型物理块的全部空闲页中填充无效数据;
在所述无效数据填充完成之后,对所述固态硬盘进行下电操作。
结合第一方面,在第三种可能的实现方式中,所述方法还包括:
在所述固态硬盘异常下电并重新上电之后,获取所述固态硬盘中的第三指定类型物理块,并在所述第三指定类型物理块的全部空闲页中填充无效数据;
在所述无效数据填充完成后,将所述第三指定类型物理块中的有效数据搬移,并擦除所述第三指定类型物理块中的有效数据。
结合第一方面,在第四种可能的实现方式中,所述方法还包括:
在接收到数据写入指令时,获取所述数据写入指令中的待写入数据,并将所述待写入数据拆分成第一类数据和第二类数据;
将所述第一类数据写入到所述固态硬盘中的第四指定类型物理块,并将所述第二类数据写入到所述第四指定类型物理块和所述第四指定类型物理块对应的缓冲区。
结合第一方面的第四种可能的方式,在第五种可能的实现方式中,所述方法还包括:
在接收到数据读取指令时,判断所述数据读取指令对应的待读取数据是否位于所述第四指定类型物理块对应的缓冲区;
如果否,则从所述第四指定类型物理块中读取所述待读取数据;
如果是,则从所述第四指定类型物理块对应的缓冲区中读取所述待读取数据。
结合第一方面以及第一方面的第一种、第二种、第三种、第四种、第五种可能的方式,在第六种可能的实现方式中,指定类型物理块包括:未写满数据且不为空的物理块;已被擦除干净且未写入数据的物理块。
第二方面,本申请提供了一种管理固态硬盘中物理块的装置,应用于存储设备,所述装置包括:
获取模块,用于获取所述存储设备的固态硬盘中的第一指定类型物理块,并获取所述第一指定类型物理块的上次擦除时间;
判断模块,用于判断当前时间与所述上次擦除时间的差值是否到达预设时间阈值;
处理模块,用于当判断结果为是时,则利用无效数据对所述第一指定类型物理块进行数据填充。
结合第二方面,在第一种可能的实现方式中,所述处理模块利用无效数据对所述第一指定类型物理块进行数据填充时具体用于:
每隔预设时间,在所述第一指定类型物理块的部分空闲页中填充无效数据,直到所述第一指定类型物理块中没有空闲页;或者,
在所述第一指定类型物理块的全部空闲页中填充无效数据,以使所述第一指定类型物理块中没有空闲页。
结合第二方面,在第二种可能的实现方式中,所述获取模块,还用于在接收到用于使所述固态硬盘下电的操作指令时,获取所述固态硬盘中的第二指定类型物理块;
所述处理模块,还用于在所述第二指定类型物理块的全部空闲页中填充无效数据;在所述无效数据填充完成之后,对所述固态硬盘进行下电操作。
结合第二方面,在第三种可能的实现方式中,所述获取模块,还用于在固态硬盘异常下电并重新上电后,获取所述固态硬盘中的第三指定类型物理块;
所述处理模块,还用于在所述第三指定类型物理块的全部空闲页中填充无效数据;在所述无效数据填充完成后,将所述第三指定类型物理块中的有效数据搬移,并擦除所述第三指定类型物理块中的有效数据。
结合第二方面,在第四种可能的实现方式中,所述获取模块,还用于在接收到数据写入指令时,获取所述数据写入指令中的待写入数据,并将所述待写入数据拆分成第一类数据和第二类数据;
所述管理固态硬盘中物理块的装置还包括:写入模块,用于将所述第一类数据写入到所述固态硬盘中的第四指定类型物理块,并将所述第二类数据写入到所述第四指定类型物理块和所述第四指定类型物理块对应的缓冲区。
结合第二方面的第四种可能的实现方式,在第五种可能的实现方式中,所述判断模块,还用于在接收到数据读取指令时,判断所述数据读取指令对应的待读取数据是否位于所述第四指定类型物理块对应的缓冲区;
所述管理固态硬盘中物理块的装置还包括:读取模块,用于当判断结果为否时,则从所述第四指定类型物理块中读取所述待读取数据;当判断结果为是时,则从所述第四指定类型物理块对应的缓冲区中读取所述待读取数据。
第三方面,本申请提供了一种存储设备,包括处理器和机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令;所述处理器用于执行机器可执行指令,以实现上述第一方面的方法步骤。
第四方面,本申请提供了一种机器可读存储介质,所述机器可读存储介质存储有机器可执行指令,所述机器可执行指令在被处理器调用和执行时,所述机器可执行指令促使所述处理器实现上述第一方面的方法步骤。
基于上述技术方案,本申请实施例中,通过获取指定类型物理块的上次擦除时间,并判断当前时间与上次擦除时间的差值是否到达预设时间阈值;如果是,则利用无效数据对指定类型物理块进行数据填充。这样,使物理块被写满数据,避免物理块长时间存在空闲页,避免物理块损坏和数据丢失等问题,对物理块进行合理保护,尤其是在温度变化快、湿度不稳定、高低压变化等环境,可以更好的对物理块进行合理保护,对物理块进行科学有效的管理,提高数据存储的安全性和稳定性,减弱数据丢失风险,保证物理块的安全稳定。通过对正在写入数据的物理块进行管理,保护数据安全性和保证系统的稳定性。
附图说明
为了更加清楚地说明本申请实施例或者现有技术中的技术方案,下面将对本申请实施例或者现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据本申请实施例的这些附图获得其他的附图。
图1是本申请一种实施方式中的管理固态硬盘中物理块的方法的流程图;
图2A和图2B是本申请另一种实施方式中的管理固态硬盘中物理块的方法的流程图;
图3A是本申请一种实施方式中的数据写入的示意图;
图3B和图3C是本申请另一种实施方式中的管理固态硬盘中物理块的方法的流程图;
图4是本申请一种实施方式中的管理固态硬盘中物理块的装置的结构图;
图5是本申请一种实施方式中的存储设备的硬件结构图。
具体实施方式
在本申请使用的术语仅仅是出于描述特定实施例的目的,而非限制本申请。本申请和权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其它含义。还应当理解,本文中使用的术语“和/或”是指包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,此外,所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
本申请实施例提出一种管理固态硬盘中物理块的方法,该方法可以应用于存储设备,该存储设备可以是采用固态硬盘(即SSD)存储数据的设备。其中,固态硬盘可以由大量Block(物理块,也可以称为数据块)组成,后续以物理块为例进行说明,物理块是SSD的最小擦除单元,每个物理块可以由大量页(Page)组成。其中,固态硬盘是一种新型硬盘,其存储介质可以包括Flash(闪存)介质(如NAND Flash介质),通过将多个存储单元组成一个存储阵列,并加入控制单元和一些附加功能器件,可以组成一块固态硬盘。固态硬盘具有速度快、抗震安全性高、稳定性好、高集成度、超大容量、读写速度快、读写延迟小、功耗低、非易失性的存储介质等特性,从而被广泛应用于生活的各个领域。
在一个例子中,固态硬盘可以由大量物理块组成,利用固态硬盘存储数据的过程,就是不断向物理块的各个页中写入数据的过程,一直到物理块的所有页均被写满,然后,继续向下一个物理块的各个页中写入数据,以此类推。
在数据写入过程中,可以涉及如下类型的物理块:第一、空物理块,即物理块中没有存储数据,可以直接在物理块中写入新数据。第二、存满数据的物理块,即物理块已经不存在空闲页,无法直接写入数据,只有在将物理块擦除后才能写入新数据。第三、已损坏的物理块,即物理块不能被正常使用。第四、垃圾回收的物理块,即正在对物理块进行如下操作:将物理块中的有效数据搬走,然后将物理块擦除,再次变为空物理块。第五、正在写入数据的物理块,即未写满数据且不为空的物理块,数据正在写入该物理块。第六、已被擦除干净且未写入数据的物理块,即已经被擦除的物理块,该物理块的数据已经全都无效,在数据擦除完成后,还未写入数据,即数据能够写入到该物理块。
在上述所有类型的物理块中,针对第五种类型的物理块以及第六种类型的物理块,可能存在安全性差、稳定性差等问题,并且存在一定的安全隐患。
例如,针对第五种类型的物理块(也可以称为Pograming物理块),物理块内已经被写入数据,但是该物理块没有被写满,数据正在写入该物理块。基于此,若新数据长时间未写入到该物理块,导致该物理块长时间处于未写满状态,可能出现物理块损坏和数据丢失等问题,而传统方式中并没有对这种物理块进行合理保护。其中,物理块损坏和数据丢失的原因可以在于:物理块存储数据的方式就是在物理块内存储电荷,而不同的电荷量就表示不同的数据。写满数据的物理块的电荷量,在整体上稳定在一定范围内,不会存在物理块损坏和数据丢失等风险,而上述第五种类型的物理块,由于未被写满数据,因此,物理层的表现就是电荷不平衡,在不稳定的环境下长时间存在是有风险的,容易出现物理块损坏和数据丢失等问题,数据稳定性和安全性都会面临着威胁。
又例如,针对第六种类型的物理块(也可以称为Erased物理块),物理块已被擦除干净,该物理块的数据已经全都无效,在数据擦除完成后,还未写入数据。这种类型的物理块由于被擦除,导致所有物理单元均是等电位的,没有达到整体范围内的高低电位的平衡(即高电位的数量和低电位的数量相当,而对于写满数据的物理块,高电位的数量和低电位的数量相当),因此出现外界情况变化时,造成物理块损坏,传统方式中并没有对这种物理块进行合理保护。
针对上述发现,本实施例中,将第五种类型的物理块和第六种类型的物理块称为指定类型物理块(需要保护的物理块),通过对指定类型物理块进行科学有效的管理,对物理块进行合理保护,提高数据存储的安全性和稳定性,减弱数据丢失风险,保证物理块的安全稳定,避免物理块损坏和数据丢失等问题。
参见图1所示,为管理固态硬盘中物理块的方法的流程图,可以应用于存储设备,该存储设备采用固态硬盘存储数据,该方法可以包括:
步骤101,获取存储设备的固态硬盘中的指定类型物理块,该指定类型物理块包括:未写满数据且不为空的物理块;已被擦除干净且未写入数据的物理块。
其中,存储设备能够获取固态硬盘中的所有物理块的类型,如上述六种类型的物理块,基于所有物理块的类型,就能够从所有物理块中选择指定类型物理块(如一个或者多个指定类型物理块),对此选择方式不做限制。这些指定类型物理块的处理方式相同,为了方便描述,后续以一个指定类型物理块为例。
步骤102,获取该指定类型物理块的上次擦除时间。
其中,存储设备可以创建块信息表,该块信息表用于记录每个物理块的时间戳,该时间戳表示物理块的上次擦除时间。参见表1所示,为块信息表的示例,对此块信息表的内容不做限制。例如,物理块1在时刻A1被擦除后,则在块信息表中将物理块1对应的时间戳记录为时刻A1,物理块1在时刻A2被擦除后,则在块信息表中将物理块1对应的时间戳更新为时刻A2,以此类推。
表1
物理块 时间戳
物理块1 时刻A1
物理块2 时刻B1
物理块3 时刻C1
物理块4 时刻D1
基于所述块信息表,存储设备在得到指定类型物理块之后,就可以从块信息表中查询到该指定类型物理块的上次擦除时间。例如,若指定类型物理块为物理块3,则可以从块信息表中查询到物理块3的上次擦除时间是时刻C1。
其中,物理块的上次擦除时间还近似等于该物理块中写入的第一个数据的时间。例如,在数据写入过程中,假设需要向物理块1写入数据,而物理块1已经写满数据,则需要擦除物理块1中的所有数据,然后向物理块1写入数据,这样,物理块1的上次擦除时间也就近似等于数据开始写入到物理块1的时间。
步骤103,判断当前时间与该上次擦除时间的差值是否到达预设时间阈值。如果是,则执行步骤104;如果否,则等待下一周期,重新执行步骤101。
步骤104,利用无效数据对指定类型物理块进行数据填充。
其中,无效数据可以是存储设备自身生成的数据,也可以是用户设置的数据,无效数据只是为了填充指定类型物理块给出的数据,并不是用户的有效数据,用户并不需要关注无效数据,对此无效数据的内容不做限制,可以根据经验选择。无效数据可以为指定大小,如无效数据可以为一页,能够填充指定类型物理块的一个空闲页。例如,若需要填充指定类型物理块的三个空闲页,则可以使用三个无效数据进行填充。
其中,利用无效数据对指定类型物理块进行数据填充,可以包括但不限于如下方式:方式一、每隔预设时间,可以在指定类型物理块的部分空闲页中填充无效数据,一直到指定类型物理块中没有空闲页。方式二、可以在指定类型物理块的全部空闲页中填充无效数据,以使指定类型物理块中没有空闲页。
针对方式一、每隔预设时间,若指定类型物理块存在的空闲页数量大于等于N(如3),则可以在指定类型物理块的N个空闲页中填充无效数据;若指定类型物理块存在的空闲页数量小于N,则可以在指定类型物理块的所有空闲页中填充无效数据;以此类推,一直到指定类型物理块中没有空闲页。
针对方式二,在当前周期,可以直接在指定类型物理块的所有空闲页中填充无效数据,由于指定类型物理块的所有空闲页均被填充无效数据,因此,只需要通过一个周期,就可以使指定类型物理块中没有空闲页。
在一个例子中,存储设备可以设置一个定时器,该定时器的老化时间就是上述预设时间,该老化时间可以根据经验配置,如10秒等。
在该定时器超时后,可以执行上述步骤101-步骤104,并对定时器重新计时,以此类推,定时器每次超时,就表示一个周期,且经过预设时间。
例如,在定时器第一次超时时,假设指定类型物理块为物理块1和物理块2,物理块1的上次擦除时间是时刻A1,物理块2的上次擦除时间是时刻B1。若当前时间与时刻A1的差值到达预设时间阈值,而当前时间与时刻B1的差值未到达预设时间阈值,则可以利用无效数据对物理块1进行数据填充(如可以填充物理块1的三个空闲页),而不需要利用无效数据对物理块2进行数据填充。
在定时器第二次超时时,假设指定类型物理块仍然为物理块1和物理块2,物理块1的上次擦除时间是时刻A1,物理块2的上次擦除时间是时刻B1。若当前时间与时刻A1的差值到达预设时间阈值,而当前时间与时刻B1的差值也到达预设时间阈值,则可以利用无效数据对物理块1的三个空闲页进行数据填充,并利用无效数据对物理块2进行数据填充(如填充物理块2的三个空闲页)。
以此类推,定时器每次超时时,就可以对物理块1的三个空闲页进行数据填充,一直到物理块1的所有空闲页均被填充无效数据,物理块1没有空闲页。同理,定时器每次超时时,就可以对物理块2的三个空闲页进行数据填充,一直到物理块2的所有空闲页均被填充无效数据,物理块2没有空闲页。
在一个例子中,定时器每次超时时,只对指定类型物理块的部分空闲页(如三个空闲页)填充无效数据,其原因可以在于:在无效数据的填充过程中,若有效数据需要写入到指定类型物理块,则可以在指定类型物理块中写入有效数据,从而减少指定类型物理块中的无效数据,节约指定类型物理块的存储资源。
例如,在定时器第一次超时后,在物理块1的三个空闲页中填充无效数据,在定时器第二次超时前,在物理块1的100个空闲页中写入了有效数据,在定时器第二次超时后,在物理块1的三个空闲页中填充无效数据,以此类推。
在上述实施例中,预设时间阈值可以根据经验配置,如30小时。这样,在当前时间与上次擦除时间的差值到达30小时后,每隔预设时间,可以在指定类型物理块的部分空闲页中填充无效数据,直到指定类型物理块中没有空闲页。
在一个例子中,考虑到数据稳定性和安全性的风险,可能希望在指定类型物理块擦除设定阈值T1之前,该指定类型物理块已经被写满数据,则上述预设时间阈值T2可以为T1*0.9。例如,若希望在物理块1被擦除40小时之前,物理块1已经被写满数据,则T2可以为36小时(即40小时*0.9)。基于此,在当前时间与上次擦除时间的差值到达36小时后,每隔预设时间,可以在物理块1的部分空闲页中填充无效数据,这样,在4个小时内,即使没有有效数据写入到物理块1,也有足够时间向物理块1填充无效数据,使物理块1中没有空闲页。
基于上述技术方案,本申请实施例中,通过获取指定类型物理块的上次擦除时间,并判断当前时间与上次擦除时间的差值是否到达预设时间阈值;如果是,则利用无效数据对指定类型物理块进行数据填充。这样,可以使物理块被写满数据,避免物理块长时间存在空闲页,避免物理块损坏和数据丢失等问题,对物理块进行合理保护,尤其是在温度变化快、湿度不稳定、高低压变化等环境,可以更好的对物理块进行合理保护,对物理块进行科学有效的管理,提高数据存储的安全性和稳定性,减弱数据丢失风险,保证物理块的安全稳定。
在一个例子中,在固态硬盘的使用过程中,若固态硬盘下电之后重新上电,则会进行垃圾回收,即将指定类型物理块中的有效数据搬移,并擦除指定类型物理块中的有效数据,在擦除完成后,指定类型物理块可以供下次使用,即能够写入新数据。但由于指定类型物理块中只写入部分数据,而没有写满数据,因此擦除操作可能导致物理块损坏和数据丢失等问题,没有对物理块进行合理保护。具体的,物理块存储数据的方式是在物理块的存储单元内存储电荷,不同电荷量表示不同数据,对于只写入部分数据的指定类型物理块,电荷量整体上并不平衡,因此对物理块的擦除可能导致物理块损坏和数据丢失等问题,尤其是在温度变化快、湿度不稳定、高低压变化等环境下,更容易出现上述问题。
针对上述发现,本实施例中针对固态硬盘下电过程,对这些不趋于稳定的物理块,通过一定的手段进行管理,提高数据存储的安全性和稳定性,减弱数据丢失风险,保证物理块的安全稳定,避免物理块损坏和数据丢失等问题。
参见图2A所示,为管理固态硬盘中物理块的方法的流程图,可以应用于存储设备,该存储设备采用固态硬盘存储数据,该方法可以包括:
步骤211,在接收到用于使固态硬盘下电的操作指令时,获取该固态硬盘中的第二指定类型物理块。
其中,存储设备能够获取固态硬盘中的所有物理块的类型,如上述六种类型的物理块,基于所有物理块的类型,就能够从所有物理块中选择指定类型物理块(如一个或者多个指定类型物理块),对此选择方式不做限制。
步骤212,在指定类型物理块的全部空闲页中填充无效数据。
其中,可以在指定类型物理块的全部空闲页中填充无效数据,以使指定类型物理块中没有空闲页。无效数据可以是存储设备自身生成的数据,也可以是用户设置的数据,对此无效数据的内容不做限制,可以根据经验选择。
步骤213,在无效数据填充完成之后,对固态硬盘进行下电操作。
在一个例子中,若固态硬盘正常下电,则存储设备在接收到用于使固态硬盘下电的操作指令时,判断是否存在指定类型物理块,如果是,则可以先获取固态硬盘中的所有指定类型物理块,针对每个指定类型物理块,可以在指定类型物理块的全部空闲页中填充无效数据,在所有指定类型物理块的全部空闲页中均填充无效数据后,存储设备才可以对固态硬盘进行下电操作。
进一步的,在固态硬盘正常下电并重新上电之后,还可以对填充有无效数据的物理块进行垃圾回收,即,可以擦除该物理块中已经写入的数据,并在擦除完成后,该物理块可以供下次使用,即擦除完成后物理块才能写入新数据。
参见图2B所示,为管理固态硬盘中物理块的方法的流程图,可以应用于存储设备,该存储设备采用固态硬盘存储数据,该方法可以包括:
步骤221,在固态硬盘异常下电并重新上电之后,获取固态硬盘中的指定类型物理块。
步骤222,在指定类型物理块的全部空闲页中填充无效数据。
步骤223,在无效数据填充完成后,将该指定类型物理块中的有效数据搬移,并擦除该指定类型物理块中的有效数据。
在一个例子中,若固态硬盘异常下电,则在固态硬盘下电之前,没有充足时间执行无效数据的填充,即不再执行图2A。基于此,在固态硬盘异常下电后,若固态硬盘重新上电,则在固态硬盘异常下电并重新上电后,判断是否存在指定类型物理块。
如果是,则可以先获取固态硬盘中所有的指定类型物理块,针对每个指定类型物理块,可以在指定类型物理块的全部空闲页中填充无效数据,在所有指定类型物理块的全部空闲页中均填充无效数据后,还可以对填充有无效数据的物理块进行垃圾回收,也就是说,将该指定类型物理块中的有效数据搬移,并擦除该指定类型物理块中的有效数据,并在擦除完成后供下次使用。
基于图2A和图2B,若固态硬盘下电后重新上电,则针对固态硬盘的垃圾回收过程,可以在指定类型物理块中写满数据,即对写满数据的物理块进行垃圾回收,这样,在擦除物理块的数据时,可以避免物理块损坏和数据丢失等问题,对物理块进行合理保护,尤其是在温度变化快、湿度不稳定、高低压变化等环境,可以更好的对物理块进行合理保护,对物理块进行科学有效的管理,提高数据存储的安全性和稳定性,减弱数据丢失风险,保证物理块的安全稳定。
在上述实施例中,若固态硬盘下电后重新上电,则对指定类型物理块进行垃圾回收,而不是继续在物理块中写入有效数据,其原因在于:固态硬盘重新上电后,不知道多久才会将指定类型物理块写满,而指定类型物理块的稳定状态不可控,物理块损坏和数据丢失的风险很大,需要尽快对指定类型物理块进行垃圾回收。在对指定类型物理块进行垃圾回收时,可以采用图2A或者图2B。
在一个例子中,在从指定类型物理块中读取数据时,由于指定类型物理块的不稳定特性,读取数据可能错误(即写入数据与读出数据不一致),从而对固态硬盘的性能和可靠性产生较大影响。例如,参见图3A所示,对于正在写入数据与未写入数据的交界部分(这部分可以为N页,如图3A中的标记“a”的12页,当然,这里只是以12页为例,但并不限于12页),这部分的稳定性较差,即数据的稳定程度不高,若从这12页中读取数据,就容易发生读取错误。
针对上述发现,本实施例中,在数据写入过程中,针对需要写入到指定类型物理块的交界部分的数据,不仅将数据写入到交界部分的页中,还需要将数据写入到缓冲区中,这样,在从指定类型物理块读取交界部分的数据时,可以不从交界部分的页中读取数据,而是从缓冲区中读取数据,从而避免从交界部分的页中读取数据,避免发生读取错误,提高固态硬盘的性能和可靠性。
参见图3B所示,为管理固态硬盘中物理块的方法的流程图,可以应用于存储设备,该存储设备采用固态硬盘存储数据,该方法可以包括:
步骤311,在接收到数据写入指令时,获取该数据写入指令中的待写入数据,并将该待写入数据拆分成第一类数据和第二类数据。
步骤312,将第一类数据写入到固态硬盘中的指定类型物理块。
步骤313,将第二类数据写入到指定类型物理块和该指定类型物理块对应的缓冲区。其中,每个物理块可以对应一个缓冲区(即buffer),因此,可以确定指定类型物理块对应的缓冲区,并将上述第二类数据写入到该缓冲区中。
其中,将待写入数据拆分成第一类数据和第二类数据,可以包括:根据交界部分的大小,将待写入数据拆分成第一类数据和第二类数据。例如,正在写入数据与未写入数据的交界部分占用N页时,则待写入数据的后N页是第二类数据,而待写入数据中除第二类数据之外的其它数据就是第一类数据。
例如,以N为12为例,若待写入数据一共是40页的数据,则待写入数据的后12页数据是第二类数据,而待写入数据的前28页数据是第一类数据。
在一个例子中,上述步骤311-步骤313可以通过如下两种方式实现:
方式一、在获取到待写入数据后,针对前(M-N)页的第一类数据,只写入到固态硬盘中的指定类型物理块,M页为待写入数据的大小,N为交界部分的大小。针对后N页的第二类数据,会写入到指定类型物理块和缓冲区中。
方式二、在获取到待写入数据后,将待写入数据写入到指定类型物理块和缓冲区。判断数据是否处于指定类型物理块的后N页,如果否(即数据是前(M-N)页的第一类数据),则从缓冲区中删除该数据;如果是(即数据是后N页的第二类数据),则在缓冲区中保留该数据。经过上述处理,也可以将第一类数据写入到指定类型物理块,将第二类数据写入到指定类型物理块和缓冲区。
参见图3C所示,为管理固态硬盘中物理块的方法的流程图,可以应用于存储设备,该存储设备采用固态硬盘存储数据,该方法可以包括:
步骤321,在接收到数据读取指令时,判断该数据读取指令对应的待读取数据是否位于指定类型物理块对应的缓冲区。如果否,则可以执行步骤322;如果是,则可以执行步骤323。
步骤322,从指定类型物理块中读取待读取数据。
步骤323,从指定类型物理块对应的缓冲区中读取待读取数据。
在一个例子中,可以先判断待读取数据是否位于缓冲区。如果否,则说明待读取数据只存储在指定类型物理块,而未存储在缓冲区,因此,可以从指定类型物理块中读取待读取数据。如果是,则说明待读取数据存储在指定类型物理块和缓冲区,因此,可以从缓冲区中读取待读取数据。
其中,若待读取数据位于指定类型物理块的后N页(即正在写入数据与未写入数据的交界部分占用的N页),如图3A中的标记“a”的12页,则说明待读取数据存储在指定类型物理块和缓冲区中,可以从缓冲区中读取待读取数据,而不需要从指定类型物理块中读取待读取数据。若待读取数据未位于指定类型物理块的后N页,则说明待读取数据只存储在指定类型物理块,而没有存储在缓冲区,可以从指定类型物理块中读取待读取数据。当然,也可以采用其它方式确定待读取数据是否位于指定类型物理块对应的缓冲区,对此不做限制。
基于图3B和图3C,本实施例中,在从指定类型物理块中读取数据时,可以避免从指定类型物理块的交界部分读取数据,即避免从不稳定区域读取数据,提高数据读取的准确性,避免发生读取错误,提高固态硬盘的性能和可靠性。
基于与上述方法同样的申请构思,本申请实施例还提出一种管理固态硬盘中物理块的装置,可以应用于存储设备,如图4所示,为该装置结构图,该装置包括:
获取模块401,用于获取所述存储设备的固态硬盘中的第一指定类型物理块,并获取所述第一指定类型物理块的上次擦除时间;
判断模块402,用于判断当前时间与所述上次擦除时间的差值是否到达预设时间阈值;
处理模块403,用于当判断结果为是时,则利用无效数据对所述第一指定类型物理块进行数据填充。
所述处理模块403利用无效数据对第一指定类型物理块进行数据填充时具体用于:
每隔预设时间,在第一指定类型物理块的部分空闲页中填充无效数据,直到所述第一指定类型物理块中没有空闲页;或者,
在第一指定类型物理块的全部空闲页中填充无效数据,以使所述第一指定类型物理块中没有空闲页。
所述获取模块401,还用于在接收到用于使所述固态硬盘下电的操作指令时,获取所述固态硬盘中的第二指定类型物理块;
所述处理模块403,还用于在第二指定类型物理块的全部空闲页中填充无效数据;在所述无效数据填充完成后,对固态硬盘进行下电操作。
所述获取模块401,还用于在固态硬盘异常下电并重新上电后,获取所述固态硬盘中的第三指定类型物理块;
所述处理模块403,还用于在第三指定类型物理块的全部空闲页中填充无效数据;在所述无效数据填充完成后,将所述第三指定类型物理块中的有效数据搬移,并擦除所述第三指定类型物理块中的有效数据。
所述获取模块401,还用于在接收到数据写入指令时,获取所述数据写入指令中的待写入数据,并将所述待写入数据拆分成第一类数据和第二类数据;
所述管理固态硬盘中物理块的装置还包括(图中未示出):写入模块,用于将所述第一类数据写入到所述固态硬盘中的第四指定类型物理块,并将所述第二类数据写入到所述第四指定类型物理块和所述第四指定类型物理块对应的缓冲区。
所述判断模块402,还用于在接收到数据读取指令时,判断所述数据读取指令对应的待读取数据是否位于所述第四指定类型物理块对应的缓冲区;
所述管理固态硬盘中物理块的装置还包括(图中未示出):读取模块,用于当判断结果为否时,从第四指定类型物理块中读取所述待读取数据;当判断结果为是时,从第四指定类型物理块对应的缓冲区中读取所述待读取数据。
基于上述技术方案,本申请实施例中,通过获取指定类型物理块的上次擦除时间,并判断当前时间与上次擦除时间的差值是否到达预设时间阈值;如果是,则利用无效数据对指定类型物理块进行数据填充。这样,使物理块被写满数据,避免物理块长时间存在空闲页,避免物理块损坏和数据丢失等问题,对物理块进行合理保护,尤其是在温度变化快、湿度不稳定、高低压变化等环境,可以更好的对物理块进行合理保护,对物理块进行科学有效的管理,提高数据存储的安全性和稳定性,减弱数据丢失风险,保证物理块的安全稳定。通过对正在写入数据的物理块进行管理,保护数据安全性和保证系统的稳定性。
本申请实施例提供的存储设备,从硬件层面而言,硬件架构示意图具体可以参见图5所示,包括:机器可读存储介质和处理器,其中:
所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令;所述处理器用于执行机器可执行指令,以实现上述管理固态硬盘中物理块的操作。
而且,所述机器可执行指令在被处理器调用和执行时,所述机器可执行指令促使所述处理器实现上述管理固态硬盘中物理块的操作。
这里,机器可读存储介质可以是任何电子、磁性、光学或其它物理存储装置,可以包含或存储信息,如可执行指令、数据,等等。例如,机器可读存储介质可以是:RAM(RadomAccess Memory,随机存取存储器)、易失存储器、非易失性存储器、闪存、存储驱动器(如硬盘驱动器)、固态硬盘、任何类型的存储盘(如光盘、dvd等),或者类似的存储介质,或者它们的组合。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可以由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其它可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其它可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
而且,这些计算机程序指令也可以存储在能引导计算机或其它可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或者多个流程和/或方框图一个方框或者多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其它可编程数据处理设备上,使得在计算机或者其它可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其它可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

Claims (11)

1.一种管理固态硬盘中物理块的方法,其特征在于,应用于存储设备,所述方法包括:
获取所述存储设备的固态硬盘中的第一指定类型物理块;
获取所述第一指定类型物理块的上次擦除时间;
判断当前时间与所述上次擦除时间的差值是否到达预设时间阈值;
如果是,则利用无效数据对所述第一指定类型物理块进行数据填充;
其中,所述利用无效数据对所述第一指定类型物理块进行数据填充,包括:每隔预设时间,在所述第一指定类型物理块的部分空闲页中填充无效数据,直到所述第一指定类型物理块中没有空闲页。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在接收到用于使所述固态硬盘下电的操作指令时,获取所述固态硬盘中的第二指定类型物理块,并在所述第二指定类型物理块的全部空闲页中填充无效数据;
在所述无效数据填充完成之后,对所述固态硬盘进行下电操作。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在所述固态硬盘异常下电并重新上电之后,获取所述固态硬盘中的第三指定类型物理块,并在所述第三指定类型物理块的全部空闲页中填充无效数据;
在所述无效数据填充完成后,将所述第三指定类型物理块中的有效数据搬移,并擦除所述第三指定类型物理块中的有效数据。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在接收到数据写入指令时,获取所述数据写入指令中的待写入数据,并将所述待写入数据拆分成第一类数据和第二类数据;
将所述第一类数据写入到所述固态硬盘中的第四指定类型物理块,并将所述第二类数据写入到所述第四指定类型物理块和所述第四指定类型物理块对应的缓冲区。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
在接收到数据读取指令时,判断所述数据读取指令对应的待读取数据是否位于所述第四指定类型物理块对应的缓冲区;
如果否,则从所述第四指定类型物理块中读取所述待读取数据;
如果是,则从所述第四指定类型物理块对应的缓冲区中读取所述待读取数据。
6.根据权利要求1-5任一所述的方法,其特征在于,指定类型物理块包括:未写满数据且不为空的物理块;已被擦除干净且未写入数据的物理块。
7.一种管理固态硬盘中物理块的装置,其特征在于,应用于存储设备,所述装置包括:
获取模块,用于获取所述存储设备的固态硬盘中的第一指定类型物理块,并获取所述第一指定类型物理块的上次擦除时间;
判断模块,用于判断当前时间与所述上次擦除时间的差值是否到达预设时间阈值;
处理模块,用于当判断结果为是时,则利用无效数据对所述第一指定类型物理块进行数据填充;
其中,所述处理模块利用无效数据对所述第一指定类型物理块进行数据填充时具体用于:每隔预设时间,在所述第一指定类型物理块的部分空闲页中填充无效数据,直到所述第一指定类型物理块中没有空闲页。
8.根据权利要求7所述的装置,其特征在于,
所述获取模块,还用于在接收到用于使所述固态硬盘下电的操作指令时,获取所述固态硬盘中的第二指定类型物理块;
所述处理模块,还用于在所述第二指定类型物理块的全部空闲页中填充无效数据;在所述无效数据填充完成之后,对所述固态硬盘进行下电操作。
9.根据权利要求7所述的装置,其特征在于,
所述获取模块,还用于在固态硬盘异常下电并重新上电后,获取所述固态硬盘中的第三指定类型物理块;
所述处理模块,还用于在所述第三指定类型物理块的全部空闲页中填充无效数据;在所述无效数据填充完成后,将所述第三指定类型物理块中的有效数据搬移,并擦除所述第三指定类型物理块中的有效数据。
10.根据权利要求7所述的装置,其特征在于,
所述获取模块,还用于在接收到数据写入指令时,获取所述数据写入指令中的待写入数据,并将所述待写入数据拆分成第一类数据和第二类数据;
所述管理固态硬盘中物理块的装置还包括:写入模块,用于将所述第一类数据写入到所述固态硬盘中的第四指定类型物理块,并将所述第二类数据写入到所述第四指定类型物理块和所述第四指定类型物理块对应的缓冲区。
11.根据权利要求10所述的装置,其特征在于,
所述判断模块,还用于在接收到数据读取指令时,判断所述数据读取指令对应的待读取数据是否位于所述第四指定类型物理块对应的缓冲区;
所述管理固态硬盘中物理块的装置还包括:读取模块,用于当判断结果为否时,则从所述第四指定类型物理块中读取所述待读取数据;当判断结果为是时,则从所述第四指定类型物理块对应的缓冲区中读取所述待读取数据。
CN201810515498.3A 2018-05-25 2018-05-25 一种管理固态硬盘中物理块的方法和装置 Active CN108874309B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810515498.3A CN108874309B (zh) 2018-05-25 2018-05-25 一种管理固态硬盘中物理块的方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810515498.3A CN108874309B (zh) 2018-05-25 2018-05-25 一种管理固态硬盘中物理块的方法和装置

Publications (2)

Publication Number Publication Date
CN108874309A CN108874309A (zh) 2018-11-23
CN108874309B true CN108874309B (zh) 2021-07-23

Family

ID=64334227

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810515498.3A Active CN108874309B (zh) 2018-05-25 2018-05-25 一种管理固态硬盘中物理块的方法和装置

Country Status (1)

Country Link
CN (1) CN108874309B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI718516B (zh) 2019-04-01 2021-02-11 慧榮科技股份有限公司 用於快閃記憶體中保護已抹除區塊的寫入管理機制
TWI771854B (zh) * 2019-04-01 2022-07-21 慧榮科技股份有限公司 用於快閃記憶體中保護已抹除區塊的寫入管理機制
CN112732199B (zh) * 2021-01-28 2023-07-04 群联电子股份有限公司 数据存取方法、存储器控制电路单元及存储器存储装置
CN114063906B (zh) * 2021-10-15 2022-05-17 北京得瑞领新科技有限公司 Nand闪存中物理块的管理方法、装置及ssd设备
CN113867651B (zh) * 2021-12-03 2022-02-25 武汉深之度科技有限公司 一种硬盘数据清理方法、装置及计算设备
CN114281261A (zh) * 2021-12-24 2022-04-05 深圳忆联信息系统有限公司 固态硬盘空闲块的预擦除方法、装置、计算机设备及存储介质

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102385902A (zh) * 2010-09-01 2012-03-21 建兴电子科技股份有限公司 固态储存装置及其数据控制方法
WO2012100257A2 (en) * 2011-01-21 2012-07-26 Fusion-Io, Inc. Apparatus, system, and method for destaging cached data
CN103049220A (zh) * 2012-12-19 2013-04-17 华为技术有限公司 存储控制方法、存储控制装置和固态存储系统
CN103164345A (zh) * 2011-12-08 2013-06-19 建兴电子科技股份有限公司 固态存储装置遭遇断电后的数据存储方法
WO2013147894A1 (en) * 2012-03-30 2013-10-03 Intel Corporation Solid state drive management in power loss recovery
CN103744796A (zh) * 2013-09-29 2014-04-23 记忆科技(深圳)有限公司 采用uSSD实现缓存的方法及其系统
CN105529050A (zh) * 2015-12-31 2016-04-27 记忆科技(深圳)有限公司 一种降低对uwl进行读取发生时间超时错误的方法
CN105677244A (zh) * 2015-12-31 2016-06-15 记忆科技(深圳)有限公司 一种降低tlc闪存的固态硬盘写放大的方法
CN106814970A (zh) * 2015-11-30 2017-06-09 三星电子株式会社 增强的多流操作
CN107402716A (zh) * 2016-05-20 2017-11-28 合肥兆芯电子有限公司 数据写入方法、内存控制电路单元与内存储存装置
CN107402724A (zh) * 2017-07-31 2017-11-28 郑州云海信息技术有限公司 一种SSD中Journal元数据的保存方法及系统
CN107799150A (zh) * 2016-09-06 2018-03-13 西部数据技术公司 3d nand闪存的错误缓解

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102385902A (zh) * 2010-09-01 2012-03-21 建兴电子科技股份有限公司 固态储存装置及其数据控制方法
WO2012100257A2 (en) * 2011-01-21 2012-07-26 Fusion-Io, Inc. Apparatus, system, and method for destaging cached data
CN103164345A (zh) * 2011-12-08 2013-06-19 建兴电子科技股份有限公司 固态存储装置遭遇断电后的数据存储方法
WO2013147894A1 (en) * 2012-03-30 2013-10-03 Intel Corporation Solid state drive management in power loss recovery
CN103049220A (zh) * 2012-12-19 2013-04-17 华为技术有限公司 存储控制方法、存储控制装置和固态存储系统
CN103744796A (zh) * 2013-09-29 2014-04-23 记忆科技(深圳)有限公司 采用uSSD实现缓存的方法及其系统
CN106814970A (zh) * 2015-11-30 2017-06-09 三星电子株式会社 增强的多流操作
CN105529050A (zh) * 2015-12-31 2016-04-27 记忆科技(深圳)有限公司 一种降低对uwl进行读取发生时间超时错误的方法
CN105677244A (zh) * 2015-12-31 2016-06-15 记忆科技(深圳)有限公司 一种降低tlc闪存的固态硬盘写放大的方法
CN107402716A (zh) * 2016-05-20 2017-11-28 合肥兆芯电子有限公司 数据写入方法、内存控制电路单元与内存储存装置
CN107799150A (zh) * 2016-09-06 2018-03-13 西部数据技术公司 3d nand闪存的错误缓解
CN107402724A (zh) * 2017-07-31 2017-11-28 郑州云海信息技术有限公司 一种SSD中Journal元数据的保存方法及系统

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Preemptible I/O Scheduling of Garbage Collection for Solid State Drives;Junghee Lee et al.;《IEEE TRANSACTIONS ON COMPUTER-AIDED DESIGN OF INTEGRATED CIRCUITS AND SYSTEMS》;20130228;第32卷(第2期);全文 *
面向缓存的固态盘垃圾回收策略;魏登萍 等;《第十九届计算机工程与工艺年会暨第五届微处理器技术论坛论文集》;20151018;全文 *

Also Published As

Publication number Publication date
CN108874309A (zh) 2018-11-23

Similar Documents

Publication Publication Date Title
CN108874309B (zh) 一种管理固态硬盘中物理块的方法和装置
CN108897492B (zh) 一种数据写入方法和装置
CN107368429B (zh) 数据储存装置、内存控制器及其数据管理方法与数据区块管理方法
US9063844B2 (en) Non-volatile memory management system with time measure mechanism and method of operation thereof
EP3588259B1 (en) Garbage collection method for storage media, storage medium, and program product
US7937521B2 (en) Read disturbance management in a non-volatile memory system
US8949507B2 (en) Method for performing block management, and associated memory device and controller thereof
US9081663B2 (en) Optimized garbage collection algorithm to improve solid state drive reliability
TWI436369B (zh) 記憶裝置之使用壽命量測方法及系統內編程碼置換方法、及其資料儲存系統
CN110673789B (zh) 固态硬盘的元数据存储管理方法、装置、设备及存储介质
US10452280B2 (en) Hybrid storage system employing reconfigurable memory
KR20160003720A (ko) 메모리 시스템에서의 소거 관리
CN110534151B (zh) 实现写入前擦除的方法、装置、计算机设备及存储介质
CN109343796B (zh) 一种数据处理方法和装置
CN105867834A (zh) 存储装置数据整理方法
CN105138472B (zh) 闪存磨损优化方法及设备
CN115114180A (zh) 在快闪存储器中进行耗损平衡操作的方法和相关控制器以及储存系统
CN102880432B (zh) 利用数据有限寿命提高闪存芯片写入速度的方法、系统及其控制器
CN104408126B (zh) 一种数据库的持久化写入方法、装置和系统
CN106909512B (zh) 存储设备的使用方法和系统
CN105868046B (zh) 存储装置中管理、写入及加载固件代码的方法
CN111435403A (zh) 一种闪存系统的磨损均衡方法及装置
CN106021124B (zh) 一种数据的存储方法及存储系统
CN111258498B (zh) 一种flash存储器管理方法
CN103150269A (zh) 一种数据缓存控制方法和系统

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
GR01 Patent grant
GR01 Patent grant