数据保护方法、数据保护装置以及固态硬盘存储系统的制作方法_3

文档序号:9708692阅读:来源:国知局
述易失性存储器的校验数据存储区。
[0052]步骤S26,当所述校验数据存储区中所存储的新的校验数据的数目达到预定数目时,将所述校验数据存储区中所存储的最后一个校验数据写入与所述校验块具有映射关系的物理块中。
[0053]请参照图4A及图4B,下面将结合一个具体示例详细介绍一下本实施例中数据保护方法。图4A及图4B显示了当与一个条带中的某数据块具有映射关系的物理块发生损坏时,如何进行数据保护。该具体示例中,以每个条带具有7个数据块和1个校验块为例,如图4A所示:其中标号为1到7的逻辑块为数据块,标号为8的逻辑块为校验块。
[0054]假设与数据块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中的数据,计算新的校验数据。将新的校验数据存储在所述易失性存储器的校验数据存储区。
[0055]请参照图4B,假设预定数目为4个,当校验数据存储区中所存储的新的校验数据的数目达到4个时,将所述校验数据存储区中所存储的最后一个校验数据写入与校验块8具有映射关系的新的物理块B8’中,原来的物理块8’作为垃圾块回收。
[0056]当所存储的新的校验数据的数目达到4个时,将发生损坏的物理块标记为普通坏块,被标记为普通坏块的物理块可以进入回收流程。
[0057]相对于现有技术,本实施例提供的数据保护方法将新的校验数据存储在易失性存储器的校验数据存储区,并设置适当的预定数目,当所述校验数据存储区中所存储的新的校验数据的数目达到预定数目时,才将所述校验数据存储区中所存储的最后一个校验数据写入与所述校验块具有映射关系的物理块中。相对于现有技术中每个逻辑块被修改都要生成校验块相比,可以大大减少对校验数据的修改,避免了对校验数据的频繁改写,从而在很大程度上可以解决现有技术中的写放大问题,提高整个固态硬盘的使用寿命,同时将校验数据缓存在校验数据存储区内,保证数据的安全性。
[0058]第三实施例
[0059]请参见图5,为本发明第三实施例提供的固态硬盘存储系统的结构示意图;请参照图5,所述固态硬盘存储系统30至少可以包括闪存转换层31、易失性存储器32、非易失性存储器33、以及储能元件34。
[0060]所述闪存转换层31包括条带化的逻辑块层,每个条带中包括至少两个数据块以及一个校验块,所述非易失性存储器中包括与所述逻辑块具有映射关系的物理块。
[0061]闪存转换层31负责逻辑块映射表的建立和维护,实现磨损均衡,和垃圾回收等。
[0062]储能元件34在固态硬盘正常工作时存储电能,其可以是电容或是电池元件,当固态硬盘异常掉电时,储能元件34对固态硬盘提供电能,借此使固态硬盘可以处理需要保护的数据。
[0063]易失性存储器32作为固态硬盘的缓存机构,本发明实施例中,优选采用RAM,其存储有逻辑块映射表。同时,该易失性存储器32中还包括校验数据存储区,用于存储与所述校验块对应的校验数据。
[0064]非易失性存储器33是固态硬盘的主存储机构,其具有flash阵列,且在实际应用中,优选采用NAND flash。非易失性存储器33中还可以保存逻辑块映射表以防发生掉电故障,当固态硬盘启动后,这个映射表可以从NAND flash中读出并在固态的易失性存储器32
中重建。
[0065]所述系统30还包括数据保护装置36,其中,数据保护装置36用于在所述易失性存储器中创建校验数据存储区,用于存储与所述校验块对应的校验数据,当所述条带中的数据块所对应的数据发生更新时,根据更新后的数据,计算新的校验数据,将所述新的校验数据存储在所述易失性存储器的校验数据存储区,当所述校验数据存储区中所存储的新的校验数据的数目达到预定数目时,将所述校验数据存储区中所存储的最后一个校验数据写入与所述校验块具有映射关系的物理块中。其中,所述易失性存储器可以是随机存取存储器,所述非易失性存储器可以是与非门闪存存储器。
[0066]本实施例中数据保护装置36实现其功能的具体过程,请参见上述图6至图7所示实施例中描述的具体内容,此处不再赘述。
[0067]相对于现有技术,本实施例提供的固态硬盘存储系统将新的校验数据存储在易失性存储器的校验数据存储区,并设置适当的预定数目,当所述校验数据存储区中所存储的新的校验数据的数目达到预定数目时,才将所述校验数据存储区中所存储的最后一个校验数据写入与所述校验块具有映射关系的物理块中。相对于现有技术中每个逻辑块被修改都要生成校验块相比,可以大大减少对校验数据的修改,避免了对校验数据的频繁改写,从而在很大程度上可以解决现有技术中的写放大问题,提高整个固态硬盘的使用寿命,同时将校验数据缓存在校验数据存储区内,保证数据的安全性。
[0068]第四实施例
[0069]请参见图6,为本发明第四实施例提供的数据保护装置的结构示意图。本实施例提供的装置用于固态硬盘存储系统中对数据进行保护,所述固态硬盘存储系统还包括闪存转换层、易失性存储器以及非易失性存储器,所述闪存转换层包括条带化的逻辑块层,每个条带中包括至少两个数据块以及一个校验块,所述非易失性存储器中包括与所述逻辑块具有映射关系的物理块。所述数据保护装置40可以包括:
[0070]存储区创建模块41,用于在所述易失性存储器中创建校验数据存储区,用于存储与所述校验块对应的校验数据;
[0071]数据保护模块42,用于当所述条带中的数据块所对应的数据发生更新时,根据更新后的数据,计算新的校验数据,将所述新的校验数据存储在所述易失性存储器的校验数据存储区;
[0072]数据写入模块43,用于当所述校验数据存储区中所存储的新的校验数据的数目达到预定数目时,将所述校验数据存储区中所存储的最后一个校验数据写入与所述校验块具有映射关系的物理块中。
[0073]请参照图7,其中,所述数据保护模块42可以包括:
[0074]数据恢复单元421,用于当与所述条带中的数据块具有映射关系的物理块发生损坏时,根据所述条带中其他的数据块与校验块将该数据块的数据恢复出来;
[0075]数据写入单元422,用于将该数据块映射到新的物理块,将恢复后的数据写到新的物理块中;
[0076]数据校验单元423,用于根据更新后的物理块中的数据,计算新的校验数据;以及
[0077]数据缓存单元424,用于将所述新的校验数据存储在所述易失性存储器的校验数据存储区。
[0078]所述数据保护模块42还可以包括:
[0079]标记单元425,用于当与所述条带中的数据块具有映射关系的物理块发生损坏时,将发生损坏的所述物理块标记为特殊坏块,被标记为特殊坏块的物理块不进入回收流程,当所述校验数据存储区中所存储的新的校验数据的数目达到预定数目时,将发生损坏的所述物理块标记为普通坏块,被标记为普通坏块的物理块进入回收流程。
[0080]以上各模块可以是由软件代码实现,此时,上述的各模块可存储于计算机的存储器内。以上各模块同样可以由硬件例如集成电路芯片实现。
[0081]本实施例对实现数据保护
当前第3页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1