防止固态硬盘数据丢失的方法及其固态硬盘技术

技术编号:7614441 阅读:711 留言:0更新日期:2012-07-26 23:53
本发明专利技术适用于存储技术领域,提供了一种防止固态硬盘数据丢失的方法及其固态硬盘,所述方法包括如下步骤:将需要写入固态硬盘中的多个耦合物理页的多个数据采用矩阵交叉写入的方式分别写入对应的所述多个耦合物理页;所述多个耦合物理页分别属于多个不同的独立冗余磁盘阵列保护区域。借此,本发明专利技术防止了固态硬盘数据丢失,提高固态硬盘的性能。

【技术实现步骤摘要】

本专利技术涉及存储
,尤其涉及一种防止固态硬盘数据丢失的方法及其固态硬盘
技术介绍
NAND Flash(内存)的发展正趋向于拥有更高的密度,所以除了在工艺的不断更新外,每个CelI也将拥有更多bit数,即MLC(Multi-Level Cell,多层单元)。但由于MLC Flash的固有技术特性,因为意外掉电而造成的数据丢失,一直是SSD(Solid State Disk, 固态硬盘)技术发展中最为棘手的问题,也是最为严重的问题。尤其在企业级产品中,这种错误通常是不可接受的。在MLC内部,每个cell单元可以代表多个bit值(常见值为2),而这多个bit值是分属于一个块内的多个页。即多个页面实为共享了一组物理的cell单元。在共享一组物理cell的页面集合的关系为耦合页面。以两个耦合页面为例,序号小的可以称为低页面, 反之可以称为高页面。在系统意外掉电场景时系统可能正在进行读或者写的操作,前者因为并没有对硬盘本身造成数据更改,所以无任何影响。但后者由于正在试图改变NAND某一组Cell的电荷数量到预期值。掉电的突然发生,导致电荷的变化并没有完成。造成了其耦合页面内容值发生错误。所述现象在系统端表象为异常掉电,导致系统正在写入的高页面的耦合低页面也出现了差错。从而造成了无法挽回的数据丢失。几乎所有固态硬盘由于性能要求的考虑,都会对NAND阵列内多个NAND页面进行同时写入,这种意外掉电则会造成多个高页面无法正常完成,从而导致多个对应低页面无法恢复的数据丢失。在非掉电模式下的数据丢失的场景当正常写入高页面操作发生错误时,除了正写入高页面的错误,其耦合低页面数据也同时丢失了。由于在此时缓存中,早先页面数据由于距离当前写入点过远,并且早已经正确完成而被释放了。所以此错误也是无法恢复的。RAID (Redundant Array of Independent Disk,独立冗余磁盘阵列)技术可以有效恢复属于一个RAID集合内的所有页面之中的任一个页面的错误。现在企业级产品中通用技术方案大多引入了大电容等外部硬件装置,来确保写入同时发生掉电情况下能依靠电容供电以维持当前写入的正确结束。第一种方案存在三大问题首先,大电容由于其固有的衰减特性,在使用一定时间后,其容值会急剧下降,甚至会不足初期的1/5。所以从长期来讲此方法用作异常掉电保护并不可靠。其次,由于都采用了 NAND(RS)阵列并行处理的方式,在电容容值也需要选用更加巨大值,通常都会在法拉级别。在当下,法拉级别的电容技术并不十分成熟,如若再考虑上面第一点的问题,初期容值将是一个很大的问题,甚至无法达到,此外电容器件本身成本,体积也都是无法回避的问题。最后,对于第二场景由于写入错误所引发的错误,电容器件是无能为力的。此外还有另一种常见解决方法,在正常写入过程中对所有可能会被毁坏的页再额外再找一个备份同时写入。当发生错误时从备份中将毁坏的数据找回。第二种方案同样存在一个问题该方案虽然能解决如上所有问题,但不足处是备份与原始值同时写入,直接造成写性能被折损,和写放大增加,导致固态硬盘寿命缩短。综上可知,现有的防止数据丢失的技术在实际使用上,显然存在不便与缺陷,所以有必要加以改进。
技术实现思路
针对上述的缺陷,本专利技术的目的在于提供一种防止固态硬盘数据丢失的方法及其固态硬盘,以防止固态硬盘数据丢失,提高固态硬盘的性能。为了实现上述目的,本专利技术提供一种防止固态硬盘数据丢失的方法,所述方法包括如下步骤将需要写入固态硬盘中的多个耦合物理页的多个数据采用矩阵交叉写入的方式分别写入对应的所述多个耦合物理页;所述多个耦合物理页分别属于多个不同的独立冗余磁盘阵列保护区域。根据所述的方法,所述将需要写入固态硬盘中的多个耦合物理页的多个数据采用矩阵交叉写入方式,分别写入对应的所述多个耦合物理页的步骤之前包括根据写入所述固态硬盘数据的命令,判断需要写入所述数据的所述固态硬盘的耦合物理页的属性;所述将需要写入固态硬盘中的多个耦合物理页的多个数据采用矩阵交叉写入方式,分别写入对应的所述多个耦合物理页的步骤包括根据所述耦合物理页的属性确定所述数据写入所述耦合物理页的路径;根据所述路径,将所述数据写入所述耦合物理页;所述耦合物理页的属性为耦合高页面或者耦合低页面;所述数据写入所述耦合高页面的路径与所述数据写入所述耦合低页面的路径呈矩阵交叉状。根据所述的方法,所述数据写入所述耦合高页面的路径为沿水平方向写入所述耦合高页面;所述数据写入所述耦合低页面的路径为与所述数据写入所述耦合高页面的路径呈一定角度的路径方向写入所述耦合低页面;并且在所述数据写入到多个所述耦合物理页所在的多个数据块组成的矩阵的右下角的耦合物理页时,返回所述矩阵的左上角的耦合物理页继续写入所述数据。根据所述的方法,所述根据写入所述固态硬盘数据的命令,判断需要写入所述数据的所述固态硬盘的耦合物理页的属性的步骤包括接收将所述数据写入所述固态硬盘的耦合物理页指令;根据所述指令查找所述耦合物理页;判断所述耦合物理页的属性;在所述根据所述路径写入所述固态硬盘数据的步骤之后包括在所述耦合低页面发生写入所述数据错误时,查找到影响所述耦合低页面发生写入所述数据错误的多个耦合页面进行独立冗余磁盘阵列纠错。根据所述的方法,所述多个不同的独立冗余磁盘阵列保护区域之间只包括一个交为了实现本专利技术的另一专利技术目的,本专利技术还提供了一种固态硬盘,包括写入模块,用于将需要写入所述固态硬盘中的多个耦合物理页的数据采用矩阵交叉写入方式,分别写入对应的所述多个耦合物理页;所述多个耦合物理页分别属于多个不同的独立冗余磁盘阵列保护区域。根据所述的固态硬盘,所述固态硬盘还包括判断模块,用于根据写入所述固态硬盘数据的命令,判断需要写入的所述固态硬盘的耦合物理页的属性;所述写入模块包括路径确定子模块,用于根据所述耦合物理页的属性确定所述数据写入所述耦合物理页的路径;写入子模块,用于根据所述路径,将所述数据写入所述耦合物理页;所述耦合物理页的属性为耦合高页面或者耦合低页面;所述数据写入所述耦合高页面的路径与所述数据写入所述耦合低页面的路径呈矩阵交叉状。根据所述的固态硬盘,所述数据写入所述耦合高页面的路径为沿水平方向写入所述耦合高页面;所述数据写入所述耦合低页面的路径为与所述数据写入所述耦合高页面的路径呈一定角度写入所述耦合低页面;并且在所述数据写入到多个所述耦合物理页所在的多个数据块组成的矩阵的右下角的耦合物理页时,返回所述矩阵的左上角的耦合物理页继续写入所述数据。根据所述的固态硬盘,所述判断模块包括接收子模块,用于接收将所述数据写入所述固态硬盘的耦合物理页指令;查找子模块,用于根据所述指令查找所述耦合物理页;判断子模块,用于判断所述耦合物理页的属性;所述固态硬盘还包括纠错模块,用于在所述耦合低页面发生写入所述数据错误时,查找到影响所述耦合低页面发生写入所述数据错误的多个耦合页面进行独立冗余磁盘阵列纠错。根据所述的固态硬盘,所述多个不同的独立冗余磁盘阵列保护区域之间只包括一个交点。本专利技术通过将需要写入固态硬盘中的多个耦合物理页的数据采用矩阵交叉写入方式,分别写入对应的所述多个耦合物理页;采用矩阵式交叉写入,始终保证每条独立冗余磁盘阵列保护集合区内所有页面的耦合页都处本文档来自技高网
...

【技术保护点】

【技术特征摘要】

【专利技术属性】
技术研发人员:刘伟
申请(专利权)人:记忆科技深圳有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1
相关领域技术