CN105468998B - 数据保护方法、数据保护装置以及固态硬盘存储系统 - Google Patents

数据保护方法、数据保护装置以及固态硬盘存储系统 Download PDF

Info

Publication number
CN105468998B
CN105468998B CN201410446701.8A CN201410446701A CN105468998B CN 105468998 B CN105468998 B CN 105468998B CN 201410446701 A CN201410446701 A CN 201410446701A CN 105468998 B CN105468998 B CN 105468998B
Authority
CN
China
Prior art keywords
data
block
verification data
storage area
new
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
CN201410446701.8A
Other languages
English (en)
Other versions
CN105468998A (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 CN201410446701.8A priority Critical patent/CN105468998B/zh
Publication of CN105468998A publication Critical patent/CN105468998A/zh
Application granted granted Critical
Publication of CN105468998B publication Critical patent/CN105468998B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

本发明实施例提供一种数据保护方法、数据保护装置以及固态硬盘存储系统。所述数据保护方法应用于固态硬盘存储系统,固态硬盘存储系统包括闪存转换层、易失性存储器以及非易失性存储器,闪存转换层包括条带化的逻辑块层,每个条带中包括至少两个数据块以及一个与至少两个数据块对应的校验块。所述方法包括:在易失性存储器中创建校验数据存储区,用于存储与校验块对应的校验数据;当条带中的数据块所对应的数据发生更新时,根据更新后的数据,计算新的校验数据,将新的校验数据存储在易失性存储器的校验数据存储区;当校验数据存储区中所存储的新的校验数据的数目达到预定数目时,将新的校验数据写入与校验块对应的物理块中。

Description

数据保护方法、数据保护装置以及固态硬盘存储系统
技术领域
本发明涉及计算机技术领域,尤其涉及一种数据保护方法、数据保护装置以及固态硬盘存储系统。
背景技术
固态硬盘(Solid State Drives,简称SSD),是用固态电子存储芯片阵列而制成的硬盘。固态硬盘可以使用与非门闪存(NAND flash)来实现。与非门闪存是一种非易失性存储介质,其特点是断电后数据不消失。目前,企业级的固态硬盘大多采用这种固态硬盘。
闪存转换层(Flash Translation Layer,简称FTL),作为Flash文件系统数据管理器(Flash Translation Layer),是一个与非门闪存芯片与基础文件系统之间的一个转换层,它使操作系统和文件系统能够像访问硬盘一样访问与非门闪存设备。
现有的对企业级数据的保护方法一般有两种,第一种方法是将传统的在机械磁盘上的磁盘阵列(Redundant Arrays of independent Disks,RAID)技术(例如RAID5)直接应用到固态硬盘上实现数据保护,第二种方法是基于Raise(Redundant Array ofIndependent Silicon Element,独立的硅元素的冗余阵列)技术的数据保护。
在第一种方法中,针对企业级的固态硬盘,一般采用页映射的方式,以页为单位生成一个条带,当有新的数据写入的时候,把条带的其他页的数据读出来,在内存中直接生成新的校验数据然后写入到校验页。该方案虽然能够在一定程度上实现对数据的保护,但是带来了两个问题,第一个问题是,每次有数据更新的时候都要更新校验数据,写放大问题会比较严重,降低了固态硬盘的寿命,第二个问题是,校验块都被固定在相同的物理块,校验块更新比较频繁,校验块容易损坏。因此该方案在实际产品中应用较少。
在第二种方法中,通过改进型的RAID5应用,将第一种方法中的校验位的固定的物理块通过闪存转换层均匀分布到整个固态硬盘,避免了对校验块的过于频繁的修改,但是,这种方法仍然没有解决写放大的问题。
发明内容
有鉴于此,本发明提供一种能够解决写放大问题的数据保护方法以及固态硬盘存储系统。
本发明一实施例提出一种数据保护方法,应用于固态硬盘存储系统,所述固态硬盘存储系统包括闪存转换层、易失性存储器以及非易失性存储器,所述闪存转换层包括条带化的逻辑块层,每个条带中包括至少两个数据块以及一个校验块。所述方法可以包括:在所述易失性存储器中创建校验数据存储区,用于存储与所述校验块对应的校验数据;当所述条带中的数据块所对应的数据发生更新时,根据更新后的数据,计算新的校验数据,将所述新的校验数据存储在所述易失性存储器的校验数据存储区;当所述校验数据存储区中所存储的新的校验数据的数目达到预定数目时,将所述校验数据存储区中所存储的最后一个校验数据写入与所述校验块具有映射关系的物理块中。
本发明另一实施例提出一种数据保护装置,用于固态硬盘存储系统中对数据进行保护,所述固态硬盘存储系统还包括闪存转换层、易失性存储器以及非易失性存储器,所述闪存转换层包括条带化的逻辑块层,每个条带中包括至少两个数据块以及一个校验块。所述装置可以包括:存储区创建模块,用于在所述易失性存储器中创建校验数据存储区,用于存储与所述校验块对应的校验数据;数据保护模块,用于当所述条带中的数据块所对应的数据发生更新时,根据更新后的数据,计算新的校验数据,将所述新的校验数据存储在所述易失性存储器的校验数据存储区;数据写入模块,用于当所述校验数据存储区中所存储的新的校验数据的数目达到预定数目时,将所述校验数据存储区中所存储的最后一个校验数据写入与所述校验块具有映射关系的物理块中。
本发明又一实施例提供一种固态硬盘存储系统,所述固态硬盘存储系统包括闪存转换层、易失性存储器以及非易失性存储器。所述闪存转换层包括条带化的逻辑块层,每个条带中包括至少两个数据块以及一个校验块。所述系统还包括数据保护装置,所述数据保护装置可以包括:存储区创建模块,用于在所述易失性存储器中创建校验数据存储区,用于存储与所述校验块对应的校验数据;数据保护模块,用于当所述条带中的数据块所对应的数据发生更新时,根据更新后的数据,计算新的校验数据,将所述新的校验数据存储在所述易失性存储器的校验数据存储区;数据写入模块,用于当所述校验数据存储区中所存储的新的校验数据的数目达到预定数目时,将所述校验数据存储区中所存储的最后一个校验数据写入与所述校验块具有映射关系的物理块中。
相对于现有技术,本发明实施例提供的数据保护方法以及数据保护装置将新的校验数据存储在易失性存储器的校验数据存储区,并设置适当的预定数目,当所述校验数据存储区中所存储的新的校验数据的数目达到预定数目时,才将所述校验数据存储区中所存储的最后一个校验数据写入与所述校验块具有映射关系的物理块中。相对于现有技术中每个逻辑块被修改都要生成校验块相比,可以大大减少对校验数据的修改,避免了对校验数据的频繁改写,从而在很大程度上可以解决现有技术中的写放大问题,提高整个固态硬盘的使用寿命,同时将校验数据缓存在校验数据存储区内,保证数据的安全性。
为让本发明的上述和其他目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附图式,作详细说明如下。
附图说明
图1为本发明实施例所提供的数据保护方法以及数据保护装置所运用的存储系统的系统架构图。
图2为本发明第一实施例提供的数据保护方法的流程图。
图3为本发明第二实施例提供的数据保护方法的流程图。
图4A及图4B为本发明第二实施例中进行数据恢复时的数据保护方法的示意图。
图5为本发明第三实施例提供的固态存储系统的结构框图。
图6为本发明第四实施例提供的数据保护装置的结构框图。
图7为图6中部分模块的结构框图。
具体实施方式
基于与非门闪存的结构特点,在对固态硬盘进行读、写、擦除操作时都有一些基本属性,例如包括:读取以页大小对齐、写入以页大小对齐、页不能被复写、擦除以块对齐等。这些属性所带来的最大的问题是写放大,具体来讲,在进行数据读取时,一次读取不能少于一页的内容,虽然系统可以只请求一个字节,但是固态硬盘会访问整个页,强制读取远超所需的数据。在进行数据写入时,写入的增量也是页大小。因此即使一个写入操作只影响到一个字节,无论如何整个页都会写入,而一页的大小在某些型号的固态硬盘中可能达到16KB。写入比所需更多的数据的行为被称为写放大。
本发明提出的技术方案主要是解决现有技术中写放大过高的问题。其主要思路在于,将闪存转换层的逻辑块层进行条带化,每个条带中包括至少两个数据块以及一个校验块。同时在固态硬盘存储系统中的易失性存储器中创建校验数据存储区,用于存储与所述校验块对应的校验数据。当所述条带中的数据块所对应的数据发生更新时,根据更新后的数据,计算新的校验数据,将所述新的校验数据存储在所述易失性存储器的校验数据存储区;当所述校验数据存储区中所存储的新的校验数据的数目达到预定数目时,将所述校验数据存储区中所存储的最后一个校验数据写入与所述校验块具有映射关系的物理块中。相对于现有技术中每个逻辑块被修改都要生成校验块相比,可以大大减少对校验数据的修改,避免了对校验数据的频繁改写,从而在很大程度上可以解决现有技术中的写放大问题,提高整个固态硬盘的使用寿命,同时将校验数据缓存在校验数据存储区内,保证数据的安全性。
本发明实施例所提供的数据保护方法及装置可运用于图1所示的存储系统10中。如图1所示,存储系统10例如可以包括软件部分:上层应用(application)101、多业务适配系统102、闪存转换层(FTL)103、底层驱动(low level driver)104,以及硬件部分:固件(firmware)105、易失性存储器106以及非易失性存储器107。易失性存储器106例如可以是随机存取存储器(Random-Access Memory,简称RAM),非易失性存储器107例如可以是与非门闪存存储器(NAND flash)。
其中,闪存转换层103位于系统底层驱动104和上层多业务适配系统102之间,负责逻辑块映射表的建立和维护,实现磨损均衡,和垃圾回收等。逻辑块映射表将来自主机空间的逻辑块地址(Logical Block Address,简称LBA),转换为物理与非门闪存存储器空间的物理块地址(Physical Block Address,简称PBA)。
多业务适配系统102主要用于完成与上层应用101之间输出和输入(I/O)的整合,使得在闪存转换层103的写请求能够在块内连续,从而可以进行块映射,减少了映射表的大小。多业务适配系统102例如可以为腾讯自研的多业务适配系统TSSD,但是,需要说明的是,只要是可以保证写请求能够在块内连续,也就是能够保证块内顺序写的多业务适配系统均可用于本发明,本发明的具体实施方式并不以此为限。
底层驱动104负责闪存转换层103与固件105之间的交互。
为更进一步阐述本发明为实现预定发明目的所采取的技术手段及功效,以下结合附图及较佳实施例,对依据本发明的具体实施方式、结构、特征及其功效,详细说明如后。
第一实施例
图2是本发明第一实施例中的数据保护方法的流程图。该方法应用于固态硬盘存储系统,在本发明实施例中,所述固态硬盘存储系统至少包括闪存转换层、易失性存储器以及非易失性存储器。
在本发明实施例中,首先对闪存转换层中的逻辑块层以块为单位进行条带化,每个条带中包括至少两个与用户数据对应的数据块以及一个校验块。其中,每个条带中的校验块中所对应的是该条带中其他数据块的奇偶校验值。每个条带的校验块是随机分布的,具体如何分布取决于闪存转换层。每个条带的大小相同。这里,条带的大小指的是条带中所包含的逻辑块的数目。优选的,每个条带包括8到16个逻辑块。每个逻辑块的大小一般在2KB至512KB之间,例如可以为2KB、4KB、8KB、16KB…。
与逻辑块对应的物理块分布在所述非易失性存储器中,逻辑块与物理块的之间的映射表-逻辑块映射表,由闪存转换层的建立和维护,存储在易失性存储器与非易失性存储器中。
请参照图2,本实施例所提供的方法主要包括以下步骤:
步骤S11,在所述易失性存储器中创建校验数据存储区,用于存储与所述校验块对应的校验数据。
于本发明的实施例中,易失性存储器中除了对逻辑块映射表进行存储外,还创建了一个校验数据存储区,用于专门存储与每个条带中的校验块相对应的校验数据。校验数据也是以块为单位进行存储。
步骤S12,当所述条带中的数据块所对应的数据发生更新时,根据更新后的数据,计算新的校验数据,将所述新的校验数据存储在所述易失性存储器的校验数据存储区。
具体的,每计算一个新的校验数据,就会将该新的校验数据按照时间顺序记录在所述易失性存储器的校验数据存储区中,从而保证数据的安全性。
当数据发生改变时,新的数据会被存储在一个“空闲”的物理块中,数据并不是在原物理块中进行更新,一旦数据被保存,原先的物理块会被标记为普通坏块,直到其被擦除,擦除命令则是当固态硬盘需要回收被标记为普通坏块的物理块时,由其垃圾回收进程触发。为了确保每次数据的安全性,每次在写完一个数据块的时候,就要重新计算检验块,同时,几乎是每写一个数据块,就要写同样容量的校验数据,写入数据放大了一倍。但是,在本发明实施例中,新的校验数据会被存储在易失性存储器的校验数据存储区中,而不是直接写在新的物理块中。
步骤S13,当所述校验数据存储区中所存储的新的校验数据的数目达到预定数目时,将所述校验数据存储区中所存储的最后一个校验数据写入与所述校验块具有映射关系的物理块中。
可以为新的校验数据的数目设定一个阈值,也就是设定预定数目,预定数目的设定可以根据所述条带的具体大小以及实际需求来设定,本发明的具体实施方式并不以预定数目的具体值为限定。
当新的校验数据被写入到与所述校验块具有映射关系的物理块中后,可以重新开始计数,当再次达到预定数目时,又可以将校验数据存储区中所存储的最后一个校验数据写入与所述校验块具有映射关系的物理块中,以此类推。
于本发明实施例中,只有当所述校验数据存储区中所存储的新的校验数据的数目达到预定数目时,才将所述校验数据存储区中所存储的最后一个校验数据写入与所述校验块具有映射关系的物理块中,这样可以减少对校验数据的频繁写入,减少了写放大的问题。
需要说明的是,在数据没有写满一个条带的情况下,例如,在数据存储时,数据的校验值也可以存储在校验数据存储区,当数据写满该条带的数据块时,也就是当与数据块具有映射关系的物理块中均写有数据时,才将校验数据存储区中所存储的最后一个校验数据写入与所述校验块具有映射关系的物理块中。
进一步的,可以设定超时和掉电保护。在超时情况下,即使数据未写满一个条带,也可以将校验数据缓存区中所存储的最后一个校验数据写入与校验块具有映射关系的物理块中,达到数据保护的目的。在掉电的情况下,通过储能元件(超级电容或电池元件)为固态硬盘提供电能,借此可以将缓存在校验数据存储区的校验数据写到与校验块具有映射关系的物理块中。
相对于现有技术,本实施例提供的数据保护方法将新的校验数据存储在易失性存储器的校验数据存储区,并设置适当的预定数目,当所述校验数据存储区中所存储的新的校验数据的数目达到预定数目时,才将所述校验数据存储区中所存储的最后一个校验数据写入与所述校验块具有映射关系的物理块中。相对于现有技术中每个逻辑块被修改都要生成校验块相比,可以大大减少对校验数据的修改,避免了对校验数据的频繁改写,从而在很大程度上可以解决现有技术中的写放大问题,提高整个固态硬盘的使用寿命,同时将校验数据缓存在校验数据存储区内,保证数据的安全性。
第二实施例
图3所述为本发明第二实施例提供的数据保护方法的流程图。请参照图3,所述方法可以包括:
步骤S21,在所述易失性存储器中创建校验数据存储区,用于存储与所述校验块对应的校验数据。
步骤S22,当与所述条带中的数据块具有映射关系的物理块发生损坏时,根据所述条带中其他的数据块与校验块将该数据块的数据恢复出来。
进一步的,当与所述条带中的数据块具有映射关系的物理块发生损坏时,可以将发生损坏的所述物理块标记为特殊坏块,被标记为特殊坏块的物理块不进入回收流程,当所述校验数据存储区中所存储的新的校验数据的数目达到预定数目时,将发生损坏的所述物理块标记为普通坏块,被标记为普通坏块的物理块进入回收流程。
步骤S23,将该数据块映射到新的物理块,将恢复后的数据写到新的物理块中。
步骤S24,根据更新后的物理块中的数据,计算新的校验数据。
步骤S25,将所述新的校验数据存储在所述易失性存储器的校验数据存储区。
步骤S26,当所述校验数据存储区中所存储的新的校验数据的数目达到预定数目时,将所述校验数据存储区中所存储的最后一个校验数据写入与所述校验块具有映射关系的物理块中。
请参照图4A及图4B,下面将结合一个具体示例详细介绍一下本实施例中数据保护方法。图4A及图4B显示了当与一个条带中的某数据块具有映射关系的物理块发生损坏时,如何进行数据保护。该具体示例中,以每个条带具有7个数据块和1个校验块为例,如图4A所示:其中标号为1到7的逻辑块为数据块,标号为8的逻辑块为校验块。
假设与数据块1具有映射关系的是物理块B1,与数据块2具有映射关系的是物理块B2,与数据块3具有映射关系的是物理块B3,与数据块4具有映射关系的是物理块B4,与数据块5具有映射关系的是物理块B5,与数据块6具有映射关系的是物理块B6,与数据块7具有映射关系的是物理块B7,与校验块8具有映射关系的是物理块B8。如果与数据块4具有映射关系的物理块B4发生了损坏,会通过与其他数据块与校验块具有映射关系的物理块中的数据将数据块4的数据恢复出来,具体的恢复方法可以采用RAID5技术中的数据恢复方法,这里不再赘述。同时,可以将与数据块4对应的物理块B4标记为特殊坏块,然后把恢复后的数据写到新的物理块B4’,根据更新后的物理块B4’以及物理块B1、B2、B3、B5、B6、B7中的数据,计算新的校验数据。将新的校验数据存储在所述易失性存储器的校验数据存储区。
请参照图4B,假设预定数目为4个,当校验数据存储区中所存储的新的校验数据的数目达到4个时,将所述校验数据存储区中所存储的最后一个校验数据写入与校验块8具有映射关系的新的物理块B8’中,原来的物理块8’作为垃圾块回收。
当所存储的新的校验数据的数目达到4个时,将发生损坏的物理块标记为普通坏块,被标记为普通坏块的物理块可以进入回收流程。
相对于现有技术,本实施例提供的数据保护方法将新的校验数据存储在易失性存储器的校验数据存储区,并设置适当的预定数目,当所述校验数据存储区中所存储的新的校验数据的数目达到预定数目时,才将所述校验数据存储区中所存储的最后一个校验数据写入与所述校验块具有映射关系的物理块中。相对于现有技术中每个逻辑块被修改都要生成校验块相比,可以大大减少对校验数据的修改,避免了对校验数据的频繁改写,从而在很大程度上可以解决现有技术中的写放大问题,提高整个固态硬盘的使用寿命,同时将校验数据缓存在校验数据存储区内,保证数据的安全性。
第三实施例
请参见图5,为本发明第三实施例提供的固态硬盘存储系统的结构示意图;请参照图5,所述固态硬盘存储系统30至少可以包括闪存转换层31、易失性存储器32、非易失性存储器33、以及储能元件34。
所述闪存转换层31包括条带化的逻辑块层,每个条带中包括至少两个数据块以及一个校验块,所述非易失性存储器中包括与所述逻辑块具有映射关系的物理块。
闪存转换层31负责逻辑块映射表的建立和维护,实现磨损均衡,和垃圾回收等。
储能元件34在固态硬盘正常工作时存储电能,其可以是电容或是电池元件,当固态硬盘异常掉电时,储能元件34对固态硬盘提供电能,借此使固态硬盘可以处理需要保护的数据。
易失性存储器32作为固态硬盘的缓存机构,本发明实施例中,优选采用RAM,其存储有逻辑块映射表。同时,该易失性存储器32中还包括校验数据存储区,用于存储与所述校验块对应的校验数据。
非易失性存储器33是固态硬盘的主存储机构,其具有flash阵列,且在实际应用中,优选采用NAND flash。非易失性存储器33中还可以保存逻辑块映射表以防发生掉电故障,当固态硬盘启动后,这个映射表可以从NAND flash中读出并在固态的易失性存储器32中重建。
所述系统30还包括数据保护装置36,其中,数据保护装置36用于在所述易失性存储器中创建校验数据存储区,用于存储与所述校验块对应的校验数据,当所述条带中的数据块所对应的数据发生更新时,根据更新后的数据,计算新的校验数据,将所述新的校验数据存储在所述易失性存储器的校验数据存储区,当所述校验数据存储区中所存储的新的校验数据的数目达到预定数目时,将所述校验数据存储区中所存储的最后一个校验数据写入与所述校验块具有映射关系的物理块中。其中,所述易失性存储器可以是随机存取存储器,所述非易失性存储器可以是与非门闪存存储器。
本实施例中数据保护装置36实现其功能的具体过程,请参见上述图6至图7所示实施例中描述的具体内容,此处不再赘述。
相对于现有技术,本实施例提供的固态硬盘存储系统将新的校验数据存储在易失性存储器的校验数据存储区,并设置适当的预定数目,当所述校验数据存储区中所存储的新的校验数据的数目达到预定数目时,才将所述校验数据存储区中所存储的最后一个校验数据写入与所述校验块具有映射关系的物理块中。相对于现有技术中每个逻辑块被修改都要生成校验块相比,可以大大减少对校验数据的修改,避免了对校验数据的频繁改写,从而在很大程度上可以解决现有技术中的写放大问题,提高整个固态硬盘的使用寿命,同时将校验数据缓存在校验数据存储区内,保证数据的安全性。
第四实施例
请参见图6,为本发明第四实施例提供的数据保护装置的结构示意图。本实施例提供的装置用于固态硬盘存储系统中对数据进行保护,所述固态硬盘存储系统还包括闪存转换层、易失性存储器以及非易失性存储器,所述闪存转换层包括条带化的逻辑块层,每个条带中包括至少两个数据块以及一个校验块,所述非易失性存储器中包括与所述逻辑块具有映射关系的物理块。所述数据保护装置40可以包括:
存储区创建模块41,用于在所述易失性存储器中创建校验数据存储区,用于存储与所述校验块对应的校验数据;
数据保护模块42,用于当所述条带中的数据块所对应的数据发生更新时,根据更新后的数据,计算新的校验数据,将所述新的校验数据存储在所述易失性存储器的校验数据存储区;
数据写入模块43,用于当所述校验数据存储区中所存储的新的校验数据的数目达到预定数目时,将所述校验数据存储区中所存储的最后一个校验数据写入与所述校验块具有映射关系的物理块中。
请参照图7,其中,所述数据保护模块42可以包括:
数据恢复单元421,用于当与所述条带中的数据块具有映射关系的物理块发生损坏时,根据所述条带中其他的数据块与校验块将该数据块的数据恢复出来;
数据写入单元422,用于将该数据块映射到新的物理块,将恢复后的数据写到新的物理块中;
数据校验单元423,用于根据更新后的物理块中的数据,计算新的校验数据;以及
数据缓存单元424,用于将所述新的校验数据存储在所述易失性存储器的校验数据存储区。
所述数据保护模块42还可以包括:
标记单元425,用于当与所述条带中的数据块具有映射关系的物理块发生损坏时,将发生损坏的所述物理块标记为特殊坏块,被标记为特殊坏块的物理块不进入回收流程,当所述校验数据存储区中所存储的新的校验数据的数目达到预定数目时,将发生损坏的所述物理块标记为普通坏块,被标记为普通坏块的物理块进入回收流程。
以上各模块可以是由软件代码实现,此时,上述的各模块可存储于计算机的存储器内。以上各模块同样可以由硬件例如集成电路芯片实现。
本实施例对实现数据保护装置40的各功能模块实现各自功能的具体过程,请参见上述图1至图4所示实施例中描述的具体内容,此处不再赘述。
相对于现有技术,本实施例提供的数据保护装置将新的校验数据存储在易失性存储器的校验数据存储区,并设置适当的预定数目,当所述校验数据存储区中所存储的新的校验数据的数目达到预定数目时,才将所述校验数据存储区中所存储的最后一个校验数据写入与所述校验块具有映射关系的物理块中。相对于现有技术中每个逻辑块被修改都要生成校验块相比,可以大大减少对校验数据的修改,避免了对校验数据的频繁改写,从而在很大程度上可以解决现有技术中的写放大问题,提高整个固态硬盘的使用寿命,同时将校验数据缓存在校验数据存储区内,保证数据的安全性。以及一个校验块
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、物品或者装置中还存在另外的相同要素。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上,仅是本发明的较佳实施例而已,并非对本发明作任何形式上的限制,虽然本发明已以较佳实施例揭露如上,然而并非用以限定本发明,任何熟悉本专业的技术人员,在不脱离本发明技术方案范围内,当可利用上述揭示的技术内容做出些许更动或修饰为等同变化的等效实施例,但凡是未脱离本发明技术方案内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与修饰,均仍属于本发明技术方案的范围内。

Claims (11)

1.一种数据保护方法,应用于固态硬盘存储系统,所述固态硬盘存储系统包括闪存转换层、易失性存储器以及非易失性存储器,其特征在于,所述闪存转换层包括条带化的逻辑块层,每个条带中包括至少两个数据块以及一个校验块,所述非易失性存储器中包括与逻辑块具有映射关系的物理块,所述方法包括:
在所述易失性存储器中创建校验数据存储区,用于存储与所述校验块对应的校验数据;
当所述条带中的数据块所对应的数据发生更新时,根据更新后的数据,计算新的校验数据,将所述新的校验数据存储在所述易失性存储器的校验数据存储区;
当所述校验数据存储区中所存储的新的校验数据的数目达到预定数目时,将所述校验数据存储区中所存储的最后一个校验数据写入与所述校验块具有映射关系的物理块中。
2.如权利要求1所述的方法,其特征在于,所述易失性存储器为随机存取存储器,所述非易失性存储器为与非门闪存存储器。
3.如权利要求1所述的方法,其特征在于,所述校验数据存储区中所存储的新的校验数据按照时间顺序排列。
4.如权利要求1所述的方法,其特征在于,所述当所述条带中的数据块所对应的数据发生更新时,根据更新后的数据,计算新的校验数据,将所述新的校验数据存储在所述易失性存储器的校验数据存储区的步骤,包括:
当与所述条带中的数据块具有映射关系的物理块发生损坏时,根据所述条带中其他的数据块与校验块将该数据块的数据恢复出来;
将该数据块映射到新的物理块,将恢复后的数据写到新的物理块中;
根据更新后的物理块中的数据,计算新的校验数据;
将所述新的校验数据存储在所述易失性存储器的校验数据存储区。
5.如权利要求4所述的方法,其特征在于,所述方法还包括:
当与所述条带中的数据块具有映射关系的物理块发生损坏时,将发生损坏的所述物理块标记为特殊坏块,被标记为特殊坏块的物理块不进入回收流程,当所述校验数据存储区中所存储的新的校验数据的数目达到预定数目时,将发生损坏的所述物理块标记为普通坏块,被标记为普通坏块的物理块进入回收流程。
6.一种数据保护装置,用于固态硬盘存储系统中对数据进行保护,所述固态硬盘存储系统还包括闪存转换层、易失性存储器以及非易失性存储器,所述闪存转换层包括条带化的逻辑块层,每个条带中包括至少两个数据块以及一个校验块,所述非易失性存储器中包括与逻辑块具有映射关系的物理块,其特征在于,所述装置包括:
存储区创建模块,用于在所述易失性存储器中创建校验数据存储区,用于存储与所述校验块对应的校验数据;
数据保护模块,用于当所述条带中的数据块所对应的数据发生更新时,根据更新后的数据,计算新的校验数据,将所述新的校验数据存储在所述易失性存储器的校验数据存储区;
数据写入模块,用于当所述校验数据存储区中所存储的新的校验数据的数目达到预定数目时,将所述校验数据存储区中所存储的最后一个校验数据写入与所述校验块具有映射关系的物理块中。
7.如权利要求6所述的装置,其特征在于,所述校验数据存储区中所存储的新的校验数据按照时间顺序排列。
8.如权利要求6所述的装置,其特征在于,所述数据保护模块包括:
数据恢复单元,用于当与所述条带中的数据块具有映射关系的物理块发生损坏时,根据所述条带中其他的数据块与校验块将该数据块的数据恢复出来;
数据写入单元,用于将该数据块映射到新的物理块,将恢复后的数据写到新的物理块中;
数据校验单元,用于根据更新后的物理块中的数据,计算新的校验数据;以及
数据缓存单元,用于将所述新的校验数据存储在所述易失性存储器的校验数据存储区。
9.如权利要求8所述的装置,其特征在于,所述数据保护模块还包括:
标记单元,用于当与所述条带中的数据块具有映射关系的物理块发生损坏时,将发生损坏的所述物理块标记为特殊坏块,被标记为特殊坏块的物理块不进入回收流程,当所述校验数据存储区中所存储的新的校验数据的数目达到预定数目时,将发生损坏的所述物理块标记为普通坏块,被标记为普通坏块的物理块进入回收流程。
10.一种固态硬盘存储系统,所述固态硬盘存储系统包括闪存转换层、固态硬盘、易失性存储器以及非易失性存储器,其特征在于,所述闪存转换层包括条带化的逻辑块层,每个条带中包括至少两个数据块以及一个校验块,所述非易失性存储器中包括与逻辑块具有映射关系的物理块,所述固态硬盘存储系统还包括如权利要求6至9中任一项所述的数据保护装置。
11.如权利要求10所述的系统,其特征在于,所述易失性存储器为随机存取存储器,所述非易失性存储器为与非门闪存存储器。
CN201410446701.8A 2014-09-03 2014-09-03 数据保护方法、数据保护装置以及固态硬盘存储系统 Active CN105468998B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410446701.8A CN105468998B (zh) 2014-09-03 2014-09-03 数据保护方法、数据保护装置以及固态硬盘存储系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410446701.8A CN105468998B (zh) 2014-09-03 2014-09-03 数据保护方法、数据保护装置以及固态硬盘存储系统

Publications (2)

Publication Number Publication Date
CN105468998A CN105468998A (zh) 2016-04-06
CN105468998B true CN105468998B (zh) 2019-01-29

Family

ID=55606678

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410446701.8A Active CN105468998B (zh) 2014-09-03 2014-09-03 数据保护方法、数据保护装置以及固态硬盘存储系统

Country Status (1)

Country Link
CN (1) CN105468998B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106980799B (zh) * 2017-03-10 2019-05-14 华中科技大学 一种磨损均衡感知的非易失内存加密系统
US10877898B2 (en) * 2017-11-16 2020-12-29 Alibaba Group Holding Limited Method and system for enhancing flash translation layer mapping flexibility for performance and lifespan improvements
CN107832018A (zh) * 2017-11-22 2018-03-23 深圳忆联信息系统有限公司 一种raid的实施方法及ssd
CN110083478B (zh) * 2018-01-25 2024-04-19 东莞力晶科技有限公司 一种数据恢复方法、数据恢复系统以及固态硬盘
CN108920094B (zh) * 2018-06-01 2021-06-08 深圳忆联信息系统有限公司 擦除单元raid方法、装置、计算机设备及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103645862A (zh) * 2013-12-12 2014-03-19 北京同有飞骥科技股份有限公司 一种磁盘阵列初始化性能提升方法
CN103718162A (zh) * 2011-08-12 2014-04-09 华为技术有限公司 用于ssd中灵活的raid的方法和设备

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101594030B1 (ko) * 2009-05-13 2016-02-29 삼성전자주식회사 플래시 메모리 장치의 프로그램 방법

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103718162A (zh) * 2011-08-12 2014-04-09 华为技术有限公司 用于ssd中灵活的raid的方法和设备
CN103645862A (zh) * 2013-12-12 2014-03-19 北京同有飞骥科技股份有限公司 一种磁盘阵列初始化性能提升方法

Also Published As

Publication number Publication date
CN105468998A (zh) 2016-04-06

Similar Documents

Publication Publication Date Title
CN105051703B (zh) 用于避免数据存储设备中较低页讹误的方法和设备
CN105468998B (zh) 数据保护方法、数据保护装置以及固态硬盘存储系统
CN111164574B (zh) 基于存储设备内部地址的冗余编码条带
CN105843550B (zh) 用于减少读取干扰错误的存储器系统和方法
CN103699344B (zh) 非易失性存储器装置及其操作方法
US10353614B2 (en) Raid system and method based on solid-state storage medium
CN106445724A (zh) 与受保护数据分开存储奇偶校验数据
US20190163620A1 (en) Handling of unaligned writes
Lee et al. Shortcut-JFS: A write efficient journaling file system for phase change memory
CN109992530A (zh) 一种固态驱动器设备及基于该固态驱动器的数据读写方法
CN107391027A (zh) 廉价磁盘冗余阵列存储设备及其管理方法
US8612836B2 (en) Non-volatile memory device with uncorrectable information region and operation method using the same
US20120284587A1 (en) Super-Endurance Solid-State Drive with Endurance Translation Layer (ETL) and Diversion of Temp Files for Reduced Flash Wear
CN106354615A (zh) 固态硬盘日志生成方法及其装置
CN103718162A (zh) 用于ssd中灵活的raid的方法和设备
CN104461397A (zh) 一种固态硬盘及其读写方法
CN106462493A (zh) 固态存储器损坏的减轻
CN103336727B (zh) 对nand闪存存储设备进行数据操作的方法
CN110176267A (zh) 存储器系统及其操作方法
US10509697B2 (en) Data storage device and operating method therefor
US20140208044A1 (en) Semiconductor device and method of operating the same
EP2239654A2 (en) Memory systems for computing devices and systems
CN108038026A (zh) 一种基于闪存的数据快速恢复方法与系统
Wu et al. LDM: Log disk mirroring with improved performance and reliability for SSD-based disk arrays
CN103092765B (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: 20190813

Address after: 518000 Nanshan District science and technology zone, Guangdong, Zhejiang Province, science and technology in the Tencent Building on the 1st floor of the 35 layer

Co-patentee after: Tencent cloud computing (Beijing) limited liability company

Patentee after: Tencent Technology (Shenzhen) Co., Ltd.

Address before: Shenzhen Futian District City, Guangdong province 518000 Zhenxing Road, SEG Science Park 2 East Room 403

Patentee before: Tencent Technology (Shenzhen) Co., Ltd.

TR01 Transfer of patent right