CN109343796A - 一种数据处理方法和装置 - Google Patents
一种数据处理方法和装置 Download PDFInfo
- Publication number
- CN109343796A CN109343796A CN201811105669.1A CN201811105669A CN109343796A CN 109343796 A CN109343796 A CN 109343796A CN 201811105669 A CN201811105669 A CN 201811105669A CN 109343796 A CN109343796 A CN 109343796A
- Authority
- CN
- China
- Prior art keywords
- physical block
- data
- effective physical
- effective
- state information
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0674—Disk device
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/062—Securing storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/0644—Management of space entities, e.g. partitions, extents, pools
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- General Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Health & Medical Sciences (AREA)
- Databases & Information Systems (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
Abstract
本申请提供一种数据处理方法和装置,该方法包括:获取固态硬盘的已经被写满数据的有效物理块;从所述有效物理块的第一指定扇区中读取第一数据,确定所述第一数据中的损坏数据,根据所述损坏数据的数量确定所述有效物理块的第一状态信息;若所述第一状态信息表征所述有效物理块是真正异常,则对所述有效物理块进行垃圾回收。通过本申请的技术方案,可以及时对有效物理块进行垃圾回收,保证有效物理块的稳定性,提高数据存储的安全性。
Description
技术领域
本申请涉及通信技术领域,尤其是涉及一种数据处理方法和装置。
背景技术
SSD(Solid State Drives,固态硬盘)是一种新型的硬盘,具有速度快、抗震安全性高、稳定性好、高集成度、超大容量、读写速度快、读写延迟小、功耗低、非易失性的存储介质等特性,从而被广泛应用于生活的各个领域,例如,消费电子、军事设备、监控安防、网络、服务器、手持设备、工业控制等。
在SSD的使用过程中,可以不断向Block(物理块,也称为数据块)中写入数据,一直到物理块被写满,然后再向下一个物理块中写入数据,以此类推。进一步的,在SSD的使用过程中,为了保证具有可用的物理块,则针对已经写满数据的物理块(即有效物理块),还可以对有效物理块进行垃圾回收,以使有效物理块成为空闲物理块,这样,就可以重新向空闲物理块中写入数据。
为了从大量有效物理块中选取部分有效物理块,并对部分有效物理块进行垃圾回收,可以采用如下方式:在物理块成为有效物理块后,随着时间的推移,有效物理块中的有效数据越来越少,状态越来越不稳定,因此,确定每个有效物理块的数据写入时间,并对数据写入时间长的有效物理块进行垃圾回收。
但是,由于环境因素的不确定性,如温度变化、湿度变化、外界辐射、震动等,即使成为有效物理块的时间较短,有效物理块的状态也可能不稳定,若未对该有效物理块进行垃圾回收,则该有效物理块中数据的安全性会很低。
发明内容
本申请提供一种数据处理方法,应用于存储设备,所述方法包括:
获取所述存储设备的固态硬盘的已经被写满数据的有效物理块;
从所述有效物理块的第一指定扇区中读取第一数据,确定所述第一数据中的损坏数据,并根据所述损坏数据的数量确定所述有效物理块的第一状态信息;
若所述第一状态信息表征所述有效物理块是真正异常,则对所述有效物理块进行垃圾回收。
本申请提供一种数据处理装置,应用于存储设备,所述装置包括:
获取模块,用于获取存储设备的固态硬盘的已经被写满数据的有效物理块;
读取模块,用于从所述有效物理块的第一指定扇区中读取第一数据;
确定模块,用于确定所述第一数据中的损坏数据;
根据所述损坏数据的数量确定所述有效物理块的第一状态信息;
处理模块,用于当所述第一状态信息表征所述有效物理块是真正异常时,则对所述有效物理块进行垃圾回收。
基于上述技术方案,本申请实施例中,可以确定有效物理块当前的稳定程度,在有效物理块不稳定时,及时对有效物理块进行垃圾回收,保证有效物理块的稳定性,提高数据存储的安全性,从而可以保证SSD的性能稳定和数据安全。即使外界存在不稳定因素(如温度变化、湿度变化、外界辐射、震动等),也能够对有效物理块进行保护,减少数据丢失的可能性,保证数据安全,减弱数据丢失的风险,保证有效物理块的安全稳定,可以延长固态硬盘的使用寿命。
附图说明
为了更加清楚地说明本申请实施例或者现有技术中的技术方案,下面将对本申请实施例或者现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据本申请实施例的这些附图获得其他的附图。
图1是本申请一种实施方式中的数据处理方法的流程图;
图2是本申请一种实施方式中的固态硬盘的结构示意图;
图3是本申请一种实施方式中的物理块的结构示意图;
图4是本申请另一种实施方式中的数据处理方法的流程图;
图5是本申请一种实施方式中的数据处理装置的结构图;
图6是本申请一种实施方式中的存储设备的硬件结构图。
具体实施方式
在本申请实施例使用的术语仅仅是出于描述特定实施例的目的,而非限制本申请。本申请和权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其它含义。还应当理解,本文中使用的术语“和/或”是指包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请实施例可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,此外,所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
本申请实施例提出一种数据处理方法,该方法可以应用于存储设备,存储设备可以是采用固态硬盘(即SSD)存储数据的设备。其中,固态硬盘可以由大量Block(物理块,也可以称为数据块)组成,后续以物理块为例进行说明。
其中,固态硬盘可以是一种新型硬盘,其存储介质可以包括Flash(闪存)介质(如NAND Flash介质),通过将多个存储单元组成一个存储阵列,并加入控制单元和一些附加功能器件,可以组成一块固态硬盘。固态硬盘具有速度快、抗震安全性高、稳定性好、高集成度、超大容量、读写速度快、读写延迟小、功耗低、非易失性的存储介质等特性,从而被广泛应用于生活的各个领域。
在一个例子中,固态硬盘可以包括大量物理块,利用固态硬盘存储数据的过程,就是不断向物理块写入数据的过程,一直到物理块被写满,继续向下一个物理块写入数据,以此类推。其中,固态硬盘可以包括如下类型的物理块:
第一、处于空闲状态(FREE状态)的物理块,即存在无效数据、且当前未被使用的物理块,也就是说,物理块没有存储有效数据,可以写入新数据,但物理块存在无效数据,需要将无效数据擦除后,才可以在物理块中写入新数据。
第二、处于擦除状态(ERASE状态)的物理块,即已经擦除干净且未写入数据的物理块,也就是说,物理块中的所有数据已经被擦除,且在数据擦除完成后,还未写入新数据,即新数据能够写入到该物理块。例如,针对处于空闲状态的物理块,在将物理块中的数据擦除后,得到的是处于擦除状态的物理块。
第三、处于编程状态(PROGRAM状态)的物理块,即未写满数据、且不为空的物理块,是当前正在使用的物理块,也就是说,数据正在写入到该物理块中,但是,数据还没有填满这个物理块。例如,针对处于擦除状态的物理块,在使用这个物理块写入数据时,该物理块就可以是处于编程状态的物理块。
第四、处于使用状态(USED状态)的物理块,即已经写满数据的物理块,该物理块中有的数据是有效数据,有的数据可能为无效数据,该物理块已经被写满数据,已经不能再写入新数据,只有将该物理块的数据擦除后,才能够写入新数据,而且物理块的性能比较稳定。例如,针对处于编程状态的物理块,这个物理块被写满数据后,这个物理块就可以是处于使用状态的物理块。
第五、处于迁移状态(GC状态)的物理块,即需要进行垃圾回收(有效数据搬移)的物理块,需要对物理块中的有效数据进行垃圾回收,即将有效数据从物理块中迁移,对此垃圾回收过程不做限制。例如,针对处于使用状态的物理块,若需要对这个物理块进行垃圾回收,则物理块可以是处于迁移状态的物理块。进一步的,在对物理块中的有效数据进行垃圾回收之后,若这个物理块还能够正常使用,则这个物理块就可以成为处于空闲状态的物理块,若这个物理块已经无法正常使用,则这个物理块就可以成为处于损坏状态的物理块。
第六、处于损坏状态(BAD状态)的物理块,即已经无法正常使用的物理块,是已经损坏的物理块。其中,损坏原因可以包括:出厂前就已经损坏、使用寿命到达极限、擦除次数达到阈值、数据写次数超过阈值,对此不做限制。
第七、处于迁移损坏状态(GC BAD状态)的物理块,即需要进行垃圾回收(有效数据搬移)的损坏物理块,需要对该物理块中的有效数据进行垃圾回收,即将有效数据从这个物理块中迁移,对此过程不做限制。而且,在对该物理块中的有效数据进行垃圾回收后,这个物理块已经无法正常使用,因此,这个物理块就可以是处于迁移损坏状态的物理块。例如,针对处于编程状态的物理块,在这个物理块的数据写入过程中,若数据写入失败,由于这个物理块中已经写入有效数据,因此,需要将该物理块中的有效数据搬移出来,又由于这个物理块已经损坏,因此,在将有效数据搬移出来后,该物理块将不再使用。
综上所述,在固态硬盘使用的任何时刻,都存在着上述各种状态的物理块,而且,各种状态的物理块之间也在相互转换,对此状态转换过程不做限制。
从上述内容可以看出,空闲状态/擦除状态的物理块能够写入数据,在向空闲状态/擦除状态的物理块写入数据后,一直到物理块被写满,则物理块成为使用状态的物理块,而使用状态的物理块不能写入数据。显然,数据写入过程中,空闲状态/擦除状态的物理块的数量减少,使用状态的物理块的数量增加,因此,需要一种机制来保证存在空闲状态/擦除状态的物理块,这种机制是垃圾回收。
其中,垃圾回收的实现过程可以是:针对使用状态的物理块,可能存在有效数据,也可能存在有效数据和无效数据,因此,可以将有效数据从该物理块中迁移(即迁移到其它物理块),而不将无效数据从该物理块中迁移,在迁移完成后,就可以对该物理块进行擦除操作,使得该物理块中不再存在数据。
进一步的,在对物理块进行垃圾回收后,若该物理块还能够正常使用,则该物理块可以转换为处于空闲状态的物理块,可以向该物理块中写入数据。
在一个例子中,固态硬盘可以包括大量使用状态的物理块,需要从这些物理块中选取部分物理块,并对部分物理块进行垃圾回收。为了从这些物理块中选取部分物理块,可以采用如下方式:在某个周期,对所有使用状态的物理块进行一次遍历,得到每个物理块的数据写入时间,选取数据写入时间最长的物理块,对这个物理块进行垃圾回收。在下一个周期,重复上述操作,以此类推,也就是说,在每个周期,均选取数据写入时间最长的物理块进行垃圾回收。
但是,由于环境因素的不确定性,如温度变化、湿度变化、外界辐射、震动等,即使物理块的数据写入时间较短,则该物理块的状态也可能不稳定,若没有及时对该物理块进行垃圾回收,则该物理块中数据的安全性会很低。
针对上述发现,本申请实施例中提出了一种数据处理方法,该方法可以应用于存储设备,该存储设备可以采用固态硬盘来存储数据。参见图1所示,为本申请实施例中提出的数据处理方法的流程示意图,该方法可以包括:
步骤101,获取该固态硬盘的已经被写满数据的有效物理块。
为了区分方便,可以将上述处于使用状态的物理块称为有效物理块,该有效物理块已经被写满数据,且有效物理块中有的数据是有效数据,有的数据可能是无效数据。其中,该有效物理块已经不能再写入新数据,只有将该有效物理块的数据擦除后,才能够写入新数据,而且有效物理块的性能比较稳定。
参见图2所示,为固态硬盘的结构示意图,该固态硬盘可以包括多个通道,每个通道下存在多个核心单元(可以称为Die),每个核心单元下存在多个平面单元(可以称为Palne),每个平面单元下分布着多个物理块,在这些物理块中存在有效物理块,也就是说,在不同的平面单元下分布着多个有效物理块。
本实施例中,获取该固态硬盘的已经被写满数据的有效物理块,可以包括:确定上一次获取的有效物理块所处的第一平面单元,确定与该第一平面单元不同的第二平面单元,并从第二平面单元获取已经被写满数据的有效物理块。例如,上一次获取的有效物理块所处的第一平面单元是平面单元1,则确定与平面单元1不同的第二平面单元,如平面单元2,并从平面单元2获取有效物理块。
在一个例子中,可以对固态硬盘的所有平面单元进行排序,如平面单元1、平面单元2…、平面单元8,在一个巡检周期,获取平面单元1的第一个有效物理块11,针对有效物理块11进行后续处理;在有效物理块11处理完成后,获取平面单元2的第一个有效物理块21,针对有效物理块21进行后续处理;以此类推,获取平面单元8的第一个有效物理块81,针对有效物理块81进行后续处理;在有效物理块81处理完成后,获取平面单元1的第二个有效物理块12,针对有效物理块12进行后续处理;以此类推,一直到获取出固态硬盘的所有有效物理块,结束当前巡检周期的处理,等待下一个巡检周期,重复上述步骤。
步骤102,从有效物理块的第一指定扇区中读取第一数据,并确定该第一数据中的损坏数据,并根据该损坏数据的数量确定有效物理块的第一状态信息。其中,第一状态信息表征有效物理块是真正异常或者表征有效物理块是未异常。
在一个例子中,该第一指定扇区可以包括但不限于:有效物理块的第一个扇区或者有效物理块的最后一个扇区。当然,第一指定扇区还可以是有效物理块的其它扇区,如有效物理块的第二个扇区等,对此不做限制。
参见图3所示,为物理块的结构示意图,每个物理块可以包括多个扇区(如Sector),扇区是固态硬盘的最小数据单位,向物理块写入数据的过程,是向物理块的每个扇区写入数据。在物理块的所有扇区被写入数据后,这个物理块被写满数据,且这个物理块成为有效物理块,此时,有效物理块的所有扇区中的数据都是有效数据,所有扇区都是有效扇区。在后续过程中,用户可能对有效扇区中的有效数据进行删除操作,使得这个有效扇区成为无效扇区,有效扇区中的数据成为无效数据。由于固态硬盘的特性,在对有效扇区中的有效数据进行删除操作时,不是删除有效数据,而是对这个有效扇区设置无效标记位,表示这个有效扇区成为无效扇区,这个有效扇区中的数据成为无效数据。
显然,随着时间的推移,有效物理块中的有效扇区数量越来越少,无效扇区数量越来越多,即数据写入时间越长的有效物理块,无效扇区数量越多,因此,可以对数据写入时间长的有效物理块进行垃圾回收。但是,在某些情况下,即使有效物理块的数据写入时间比较短,则这个有效物理块的数据稳定性也比较差;或者,即使有效物理块的数据写入时间比较长,则这个有效物理块的数据稳定性也比较好。因此,在本实施例中,可以直接分析有效物理块的数据稳定性,并基于有效物理块的数据稳定性确定有效物理块的第一状态信息。
在实际应用中,当有效物理块的数据稳定性比较差时,则有效物理块的每个扇区的数据稳定性都比较差,当有效物理块的数据稳定性比较好时,则有效物理块的每个扇区的数据稳定性都比较好,因此,可以确定有效物理块的一个扇区的数据稳定性,而该扇区的数据稳定性就是有效物理块的数据稳定性。
基于此,可以从有效物理块的一个扇区(这个扇区可以根据经验设定)中读取所有的数据(为了区分方便,将这些数据称为第一数据),确定第一数据中的损坏数据,并根据损坏数据的数量确定有效物理块的第一状态信息。若第一状态信息表征有效物理块是真正异常,则表示该扇区的数据稳定性比较差,即有效物理块的数据稳定性比较差;若第一状态信息表征有效物理块是未异常,表示该扇区的数据稳定性比较好,即有效物理块的数据稳定性比较好。
其中,在有效物理块的所有扇区中,边缘扇区(有效物理块的第一个扇区和最后一个扇区)的稳定性最差,即边缘扇区的数据容易损坏,因此,可以利用边缘扇区的数据确定有效物理块的第一状态信息。也就是说,在从有效物理块的一个扇区中读取所有第一数据时,可以从有效物理块的第一个扇区中读取所有第一数据,或者,从有效物理块的最后一个扇区中读取所有第一数据。
其中,针对从扇区中读取的所有第一数据,可能存在部分损坏数据,对此损坏数据的确定方式不做限制。例如,扇区中存在4000个数据,第1个数据为1100,第2个数据为0110,以此类推。但是,从扇区中读取的第一个数据(第一数据)为1111,从扇区中读取的第二个数据(第一数据)为0110,以此类推,因此,第一个数据1111是损坏数据,而第二个数据0110不是损坏数据。
其中,根据损坏数据的数量确定有效物理块的第一状态信息,可以包括:
方式一、若该损坏数据的数量大于预设数量阈值,则可以确定第一状态信息表征有效物理块是真正异常;若该损坏数据的数量不大于所述预设数量阈值,则可以确定第一状态信息表征有效物理块是未异常。
例如,可以根据经验配置预设数量阈值,如90等,对此预设数量阈值不做限制。假设从扇区中读取4000个第一数据,在这4000个第一数据中,有200个第一数据是损坏数据,由于损坏数据的数量200大于预设数量阈值90,因此,可以确定第一状态信息表征有效物理块是真正异常。或者,在这4000个第一数据中,若存在30个损坏数据,由于损坏数据的数量30小于预设数量阈值90,因此,可以确定第一状态信息表征有效物理块是未异常。
方式二、确定损坏数据的数量与第一数据的数量之间的比例;若该比例大于预设比例阈值,则确定第一状态信息表征有效物理块是真正异常;若该比例不大于预设比例阈值,则确定第一状态信息表征有效物理块是未异常。
例如,可以根据经验配置预设比例阈值,如2%,对此不做限制。假设从扇区中读取4000个第一数据,而4000个第一数据中有200个是损坏数据,则确定损坏数据的数量200与第一数据的数量4000的比例5%,由于比例5%大于预设比例阈值2%,因此,确定第一状态信息表征有效物理块是真正异常。
在上述实施例中,当损坏数据比较多时,就确定第一状态信息表征有效物理块是真正异常,当损坏数据比较少时,就确定第一状态信息表征有效物理块是未异常,其原因在于:当损坏数据比较少时,基于算法(如冗余数据算法、校验算法等)能够对损坏数据进行修复,因此,确定第一状态信息表征有效物理块是未异常;当损坏数据比较多时,基于算法(如冗余数据算法、校验算法等)无法对损坏数据进行修复,也就是说,有效物理块中的数据存在丢失的风险,因此,确定第一状态信息表征有效物理块是真正异常。
步骤103,若第一状态信息表征有效物理块是真正异常,则对有效物理块进行垃圾回收。若第一状态信息表征有效物理块是未异常,则返回步骤101,获取下一个有效物理块,然后重复执行步骤101-步骤103。
其中,有效物理块是处于使用状态的物理块;对有效物理块进行垃圾回收,可以包括但不限于:将有效物理块的使用状态转换为迁移状态,对转换后的有效物理块进行垃圾回收,该垃圾回收方式参见上述实施例。在将有效物理块的使用状态转换为迁移状态后,还可以返回步骤101,获取下一个有效物理块。
基于上述技术方案,本申请实施例中,可以确定有效物理块当前的稳定程度,在有效物理块不稳定时,及时对有效物理块进行垃圾回收,保证有效物理块的稳定性,提高数据存储的安全性,从而可以保证SSD的性能稳定和数据安全。即使外界存在不稳定因素(如温度变化、湿度变化、外界辐射、震动等),也能够对有效物理块进行保护,减少数据丢失的可能性,保证数据安全,减弱数据丢失的风险,保证有效物理块的安全稳定,可以延长固态硬盘的使用寿命。
本申请实施例还提出另一种数据处理方法,可以应用于存储设备,并采用固态硬盘存储数据。参见图4所示,为该方法的流程示意图,该方法可以包括:
步骤401,获取该固态硬盘的已经被写满数据的有效物理块。
步骤402,从有效物理块的第一指定扇区中读取第一数据,并确定该第一数据中的损坏数据,并根据该损坏数据的数量确定有效物理块的第一状态信息。
其中,第一状态信息表征有效物理块是真正异常,或者,第一状态信息表征有效物理块是疑似异常,或者,第一状态信息表征有效物理块是未异常。
步骤403,若第一状态信息表征有效物理块是真正异常,则对有效物理块进行垃圾回收。若第一状态信息表征有效物理块是未异常,则返回步骤401,获取下一个有效物理块,然后重复执行步骤401-步骤403。
其中,步骤401-步骤403的实现流程,可以参见步骤101-步骤103,在此不再重复赘述,而不同之处在于,第一状态信息除了表征有效物理块是真正异常、表征有效物理块是未异常,还可以表征有效物理块是疑似异常。
步骤404,若第一状态信息表征有效物理块是疑似异常,则从有效物理块的第二指定扇区(与第一指定扇区不同的任意扇区)中读取第二数据,并确定第二数据中的损坏数据。其中,步骤404的实现可以参见步骤102,不同之处在于,从有效物理块的第二指定扇区中读取数据,而不是从第一指定扇区中读取数据。
在一个例子中,第二指定扇区可以是有效物理块的任意扇区,只要与第一指定扇区不同即可。例如,若第一指定扇区是第一个扇区,则第二指定扇区可以是有效物理块的最后一个扇区;若第一指定扇区是最后一个扇区,则第二指定扇区可以是有效物理块的第一个扇区。当然,第二指定扇区还可以是有效物理块的其它扇区,如有效物理块的的倒数第二个扇区等,对此不做限制。
在一个例子中,若第一状态信息表征有效物理块是真正异常、第一状态信息表征有效物理块是未异常,第一状态信息表征有效物理块是疑似异常,则根据损坏数据的数量确定有效物理块的第一状态信息,可以包括但不限于:
方式一、若该数量大于第一数量阈值,则确定第一状态信息表征有效物理块是真正异常;若该数量大于第二数量阈值、不大于第一数量阈值,则确定第一状态信息表征有效物理块是疑似异常;若该数量不大于第二数量阈值,则确定第一状态信息表征有效物理块是未异常。
例如,可以根据经验配置第一数量阈值和第二数量阈值,且第一数量阈值大于第二数量阈值,如第一数量阈值为90,第二数量阈值为70,对此第一数量阈值和第二数量阈值不做限制。假设从扇区中读取4000个第一数据,在这4000个第一数据中,有200个第一数据是损坏数据,由于损坏数据的数量200大于第一数量阈值90,因此,可以确定第一状态信息表征有效物理块是真正异常。
方式二、可以先确定损坏数据的数量与第一数据的数量之间的比例;进一步的,若该比例大于第一比例阈值,则可以确定第一状态信息表征有效物理块是真正异常;若该比例大于第二比例阈值、不大于该第一比例阈值,则可以确定第一状态信息表征有效物理块是疑似异常;若该比例不大于该第二比例阈值,则可以确定第一状态信息表征有效物理块是未异常。
例如,可以根据经验配置第一比例阈值和第二比例阈值,且该第一比例阈值可以大于该第二比例阈值,如该第一比例阈值为2%,该第二比例阈值为1%,对此第一比例阈值和第二比例阈值不做限制。进一步的,假设从扇区中读取4000个第一数据,在所述4000个第一数据中,有200个第一数据是损坏数据,则可以确定损坏数据的数量200与第一数据的数量4000的比例为5%,由于比例5%大于第一比例阈值2%,因此,确定第一状态信息表征有效物理块是真正异常。
步骤405,根据第二数据中的损坏数据的数量确定有效物理块的第二状态信息;其中,第二状态信息表征有效物理块是真正异常,或者,第二状态信息表征有效物理块是疑似异常,或者,第二状态信息表征有效物理块是未异常。
其中,确定有效物理块的第二状态信息的方式,可以参见确定有效物理块的第一状态信息的方式,即参见步骤404所示,在此不再重复赘述。
步骤406,若第二状态信息表征有效物理块是真正异常或者表征有效物理块是疑似异常,则对有效物理块进行垃圾回收。若第二状态信息表征有效物理块是未异常,则返回步骤401,获取下一个有效物理块。
其中,对有效物理块进行垃圾回收,可以包括但不限于:将有效物理块的使用状态转换为迁移状态,并对转换后的有效物理块进行垃圾回收。在将有效物理块的使用状态转换为迁移状态后,返回步骤401,获取下一个有效物理块。
基于与上述方法同样的申请构思,本申请实施例中还提出一种数据处理装置,应用于存储设备,如图5所示,为所述装置的结构图,所述装置具体包括:
获取模块51,用于获取存储设备的固态硬盘的已经被写满数据的有效物理块;读取模块52,用于从所述有效物理块的第一指定扇区中读取第一数据;
确定模块53,用于确定所述第一数据中的损坏数据;
根据所述损坏数据的数量确定所述有效物理块的第一状态信息;
处理模块54,用于当所述第一状态信息表征所述有效物理块是真正异常时,则对所述有效物理块进行垃圾回收。
所述读取模块52,还用于当所述第一状态信息表征所述有效物理块是疑似异常时,则从所述有效物理块的第二指定扇区中读取第二数据;
所述确定模块53,还用于确定所述第二数据中的损坏数据,并根据所述第二数据中的损坏数据的数量确定所述有效物理块的第二状态信息;
所述处理模块54,还用于当所述第二状态信息表征所述有效物理块是真正异常或者疑似异常时,则对所述有效物理块进行垃圾回收。
在一个例子中,所述确定模块53根据所述损坏数据的数量确定所述有效物理块的第一状态信息时具体用于:
若所述数量大于第一数量阈值,则确定所述第一状态信息表征所述有效物理块是真正异常;若所述数量大于第二数量阈值、不大于第一数量阈值,则确定所述第一状态信息表征所述有效物理块是疑似异常;或者,若所述损坏数据的数量与所述第一数据的数量的比例大于第一比例阈值,则确定所述第一状态信息表征所述有效物理块是真正异常;若所述比例大于第二比例阈值、不大于第一比例阈值,则确定所述第一状态信息表征所述有效物理块是疑似异常。
在一个例子中,所述有效物理块是处于使用状态的物理块;所述处理模块54对所述有效物理块进行垃圾回收时具体用于:将所述有效物理块的使用状态转换为迁移状态;对转换后的有效物理块进行垃圾回收。
在一个例子中,所述获取模块51获取所述存储设备的固态硬盘的已经被写满数据的有效物理块时具体用于:
确定上一次获取的有效物理块所处的第一平面单元;其中,所述固态硬盘包括多个平面单元,每个平面单元包括多个有效物理块;
确定与所述第一平面单元不同的第二平面单元;
从所述第二平面单元获取已经被写满数据的有效物理块。
本申请实施例提供的存储设备,从硬件层面而言,硬件架构示意图具体可以参见图6所示,可以包括:机器可读存储介质和处理器,其中:
机器可读存储介质:存储指令代码。
处理器:与机器可读存储介质通信,读取和执行机器可读存储介质中存储的所述指令代码,实现本申请上述示例公开的数据处理操作。
这里,机器可读存储介质可以是任何电子、磁性、光学或其它物理存储装置,可以包含或存储信息,如可执行指令、数据,等等。例如,机器可读存储介质可以是:RAM(RadomAccess Memory,随机存取存储器)、易失存储器、非易失性存储器、闪存、存储驱动器(如硬盘驱动器)、固态硬盘、任何类型的存储盘(如光盘、dvd等),或者类似的存储介质,或者它们的组合。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可以由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其它可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其它可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
而且,这些计算机程序指令也可以存储在能引导计算机或其它可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或者多个流程和/或方框图一个方框或者多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其它可编程数据处理设备上,使得在计算机或者其它可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其它可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (11)
1.一种数据处理方法,其特征在于,应用于存储设备,所述方法包括:
获取所述存储设备的固态硬盘的已经被写满数据的有效物理块;
从所述有效物理块的第一指定扇区中读取第一数据,确定所述第一数据中的损坏数据,并根据所述损坏数据的数量确定所述有效物理块的第一状态信息;
若所述第一状态信息表征所述有效物理块是真正异常,则对所述有效物理块进行垃圾回收。
2.根据权利要求1所述的方法,其特征在于,所述根据所述损坏数据的数量确定所述有效物理块的第一状态信息之后,所述方法还包括:
若所述第一状态信息表征所述有效物理块是疑似异常,则从所述有效物理块的第二指定扇区中读取第二数据,并确定所述第二数据中的损坏数据,并根据所述第二数据中的损坏数据的数量确定所述有效物理块的第二状态信息;
若所述第二状态信息表征所述有效物理块是真正异常或者疑似异常,则对所述有效物理块进行垃圾回收。
3.根据权利要求2所述的方法,其特征在于,
所述第一指定扇区是第一个扇区或者最后一个扇区;
若所述第一指定扇区是第一个扇区,则所述第二指定扇区是最后一个扇区;
若所述第一指定扇区是最后一个扇区,则所述第二指定扇区是第一个扇区。
4.根据权利要求1或2所述的方法,其特征在于,
根据所述损坏数据的数量确定所述有效物理块的第一状态信息,包括:
若所述数量大于第一数量阈值,则确定所述第一状态信息表征所述有效物理块是真正异常;若所述数量大于第二数量阈值、不大于第一数量阈值,则确定所述第一状态信息表征所述有效物理块是疑似异常;或者,若所述损坏数据的数量与所述第一数据的数量的比例大于第一比例阈值,则确定所述第一状态信息表征所述有效物理块是真正异常;若所述比例大于第二比例阈值、不大于第一比例阈值,则确定所述第一状态信息表征所述有效物理块是疑似异常。
5.根据权利要求1所述的方法,其特征在于,所述有效物理块是处于使用状态的物理块;所述对所述有效物理块进行垃圾回收,包括:
将所述有效物理块的使用状态转换为迁移状态;
对转换后的有效物理块进行垃圾回收。
6.根据权利要求1所述的方法,其特征在于,
获取所述存储设备的固态硬盘的已经被写满数据的有效物理块,包括:
确定上一次获取的有效物理块所处的第一平面单元;其中,所述固态硬盘包括多个平面单元,每个平面单元包括多个有效物理块;
确定与所述第一平面单元不同的第二平面单元;
从所述第二平面单元获取已经被写满数据的有效物理块。
7.一种数据处理装置,其特征在于,应用于存储设备,所述装置包括:
获取模块,用于获取存储设备的固态硬盘的已经被写满数据的有效物理块;
读取模块,用于从所述有效物理块的第一指定扇区中读取第一数据;
确定模块,用于确定所述第一数据中的损坏数据;
根据所述损坏数据的数量确定所述有效物理块的第一状态信息;
处理模块,用于当所述第一状态信息表征所述有效物理块是真正异常时,则对所述有效物理块进行垃圾回收。
8.根据权利要求7所述的装置,其特征在于,
所述读取模块,还用于当所述第一状态信息表征所述有效物理块是疑似异常时,则从所述有效物理块的第二指定扇区中读取第二数据;
所述确定模块,还用于确定所述第二数据中的损坏数据,并根据所述第二数据中的损坏数据的数量确定所述有效物理块的第二状态信息;
所述处理模块,还用于当所述第二状态信息表征所述有效物理块是真正异常或者疑似异常时,则对所述有效物理块进行垃圾回收。
9.根据权利要求7或8所述的装置,其特征在于,所述确定模块根据所述损坏数据的数量确定所述有效物理块的第一状态信息时具体用于:
若所述数量大于第一数量阈值,则确定所述第一状态信息表征所述有效物理块是真正异常;若所述数量大于第二数量阈值、不大于第一数量阈值,则确定所述第一状态信息表征所述有效物理块是疑似异常;或者,若所述损坏数据的数量与所述第一数据的数量的比例大于第一比例阈值,则确定所述第一状态信息表征所述有效物理块是真正异常;若所述比例大于第二比例阈值、不大于第一比例阈值,则确定所述第一状态信息表征所述有效物理块是疑似异常。
10.根据权利要求7所述的装置,其特征在于,所述有效物理块是处于使用状态的物理块;所述处理模块对所述有效物理块进行垃圾回收时具体用于:
将所述有效物理块的使用状态转换为迁移状态;
对转换后的有效物理块进行垃圾回收。
11.根据权利要求7所述的装置,其特征在于,所述获取模块获取所述存储设备的固态硬盘的已经被写满数据的有效物理块时具体用于:
确定上一次获取的有效物理块所处的第一平面单元;其中,所述固态硬盘包括多个平面单元,每个平面单元包括多个有效物理块;
确定与所述第一平面单元不同的第二平面单元;
从所述第二平面单元获取已经被写满数据的有效物理块。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811105669.1A CN109343796B (zh) | 2018-09-21 | 2018-09-21 | 一种数据处理方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811105669.1A CN109343796B (zh) | 2018-09-21 | 2018-09-21 | 一种数据处理方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109343796A true CN109343796A (zh) | 2019-02-15 |
CN109343796B CN109343796B (zh) | 2022-03-01 |
Family
ID=65306092
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811105669.1A Active CN109343796B (zh) | 2018-09-21 | 2018-09-21 | 一种数据处理方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109343796B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112051964A (zh) * | 2019-06-06 | 2020-12-08 | 阿里巴巴集团控股有限公司 | 数据处理方法及装置 |
CN112783656A (zh) * | 2021-01-29 | 2021-05-11 | 网易(杭州)网络有限公司 | 内存管理方法、介质、装置和计算设备 |
CN113190179A (zh) * | 2021-05-26 | 2021-07-30 | 北京自由猫科技有限公司 | 提升机械硬盘使用寿命的方法、存储设备及系统 |
CN114356211A (zh) * | 2021-11-19 | 2022-04-15 | 苏州浪潮智能科技有限公司 | 一种存储空间的处理方法、装置、电子设备及存储介质 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080301448A1 (en) * | 2007-06-01 | 2008-12-04 | Microsoft Corporation | Security Against Corruption for Networked Storage |
CN101477492A (zh) * | 2009-01-21 | 2009-07-08 | 华中科技大学 | 一种用于固态硬盘的循环重写闪存均衡方法 |
CN102799535A (zh) * | 2012-06-29 | 2012-11-28 | 记忆科技(深圳)有限公司 | 固态硬盘的数据处理方法及固态硬盘 |
CN103336744A (zh) * | 2013-06-20 | 2013-10-02 | 华中科技大学 | 一种固态存储设备的垃圾回收方法及其系统 |
CN106776095A (zh) * | 2016-12-22 | 2017-05-31 | 湖南国科微电子股份有限公司 | Ssd固态硬盘数据可靠性智能检测方法及检测装置 |
CN106990926A (zh) * | 2017-06-14 | 2017-07-28 | 郑州云海信息技术有限公司 | 一种固态硬盘磨损均衡的处理方法 |
CN107092563A (zh) * | 2017-04-20 | 2017-08-25 | 紫光华山信息技术有限公司 | 一种垃圾回收方法及装置 |
CN107844432A (zh) * | 2017-11-22 | 2018-03-27 | 深圳忆联信息系统有限公司 | 一种固态硬盘动态垃圾回收的方法及固态硬盘 |
CN108415853A (zh) * | 2018-03-15 | 2018-08-17 | 深圳市江波龙电子有限公司 | 一种垃圾回收的方法、装置及存储设备 |
-
2018
- 2018-09-21 CN CN201811105669.1A patent/CN109343796B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080301448A1 (en) * | 2007-06-01 | 2008-12-04 | Microsoft Corporation | Security Against Corruption for Networked Storage |
CN101477492A (zh) * | 2009-01-21 | 2009-07-08 | 华中科技大学 | 一种用于固态硬盘的循环重写闪存均衡方法 |
CN102799535A (zh) * | 2012-06-29 | 2012-11-28 | 记忆科技(深圳)有限公司 | 固态硬盘的数据处理方法及固态硬盘 |
CN103336744A (zh) * | 2013-06-20 | 2013-10-02 | 华中科技大学 | 一种固态存储设备的垃圾回收方法及其系统 |
CN106776095A (zh) * | 2016-12-22 | 2017-05-31 | 湖南国科微电子股份有限公司 | Ssd固态硬盘数据可靠性智能检测方法及检测装置 |
CN107092563A (zh) * | 2017-04-20 | 2017-08-25 | 紫光华山信息技术有限公司 | 一种垃圾回收方法及装置 |
CN106990926A (zh) * | 2017-06-14 | 2017-07-28 | 郑州云海信息技术有限公司 | 一种固态硬盘磨损均衡的处理方法 |
CN107844432A (zh) * | 2017-11-22 | 2018-03-27 | 深圳忆联信息系统有限公司 | 一种固态硬盘动态垃圾回收的方法及固态硬盘 |
CN108415853A (zh) * | 2018-03-15 | 2018-08-17 | 深圳市江波龙电子有限公司 | 一种垃圾回收的方法、装置及存储设备 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112051964A (zh) * | 2019-06-06 | 2020-12-08 | 阿里巴巴集团控股有限公司 | 数据处理方法及装置 |
CN112783656A (zh) * | 2021-01-29 | 2021-05-11 | 网易(杭州)网络有限公司 | 内存管理方法、介质、装置和计算设备 |
CN112783656B (zh) * | 2021-01-29 | 2024-04-30 | 杭州网易智企科技有限公司 | 内存管理方法、介质、装置和计算设备 |
CN113190179A (zh) * | 2021-05-26 | 2021-07-30 | 北京自由猫科技有限公司 | 提升机械硬盘使用寿命的方法、存储设备及系统 |
CN114356211A (zh) * | 2021-11-19 | 2022-04-15 | 苏州浪潮智能科技有限公司 | 一种存储空间的处理方法、装置、电子设备及存储介质 |
CN114356211B (zh) * | 2021-11-19 | 2023-08-29 | 苏州浪潮智能科技有限公司 | 一种存储空间的处理方法、装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN109343796B (zh) | 2022-03-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8046526B2 (en) | Wear leveling method and controller using the same | |
US8103820B2 (en) | Wear leveling method and controller using the same | |
US10445005B2 (en) | Memory system and operating method thereof | |
JP4859837B2 (ja) | 情報記録媒体アクセス装置、及びデータ記録方法 | |
CN109343796A (zh) | 一种数据处理方法和装置 | |
US8484432B2 (en) | Memory system | |
US20140129758A1 (en) | Wear leveling in flash memory devices with trim commands | |
US20120239851A1 (en) | Prioritized erasure of data blocks in a flash storage device | |
US7649794B2 (en) | Wear leveling method and controller using the same | |
CN108897492B (zh) | 一种数据写入方法和装置 | |
US20090094409A1 (en) | Wear leveling method and controller using the same | |
EP2665065A2 (en) | Electronic device employing flash memory | |
US20100125694A1 (en) | Memory device and management method of memory device | |
US20100318760A1 (en) | Memory controller, nonvolatile storage device, and nonvolatile storage system | |
CN108874309B (zh) | 一种管理固态硬盘中物理块的方法和装置 | |
CN112749101A (zh) | 控制器和存储器系统 | |
CN107179880B (zh) | 储存装置、其控制单元、及可用于储存装置的数据搬移方法 | |
CN102096561A (zh) | 分层数据存储处理方法、装置以及存储设备 | |
TWI556103B (zh) | 記憶體裝置及其資料存取方法 | |
CN104408126B (zh) | 一种数据库的持久化写入方法、装置和系统 | |
KR101070511B1 (ko) | Ssd 컨트롤러 및 ssd 컨트롤러의 동작 방법 | |
KR20180042699A (ko) | 데이터 저장 장치 및 그것의 동작 방법 | |
CN110007861A (zh) | 一种数据读取方法和装置 | |
CN110286848B (zh) | 数据处理方法及装置 | |
CN111324284B (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 |