一种动态实现固态硬盘ecc校验码的方法和装置的制造方法

文档序号:9525262阅读:686来源:国知局
一种动态实现固态硬盘ecc校验码的方法和装置的制造方法
【技术领域】
[0001]本发明涉及一种动态实现固态硬盘ECC校验码的方法和装置。
【背景技术】
[0002]固态硬盘由于其性能高、可靠性高等诸多优点,已经成为目前最流行的存储设备,且应用越来越广泛。而固态硬盘拥有这种优势的本质原因是由于其采用了电信号作为信息存储的物理形式。但电信号的存储介质也有其固有的一些缺点,其中一个很大的问题就是电信号在存储介质上存储的可靠性并不稳定。且由于固态硬盘产业的发展,迫切需要低成本的存储介质大规模商用,越来越多的不稳定的存储介质被使用到固态硬盘上。这种情况导致存储在固态硬盘上的数据随时都可能出错。
[0003]由于上述问题的存在,固态硬盘中普遍使用对用户数据添加一定长度的ECC校验码的方式来保证数据的可靠性。即在用户数据经过固态硬盘控制器的时候,由控制器对进入的数据按一定的单位加上ECC校验码。由于ECC校验码具有纠正错误数据的特点,所以在数据读出的时候,控制器可以通过ECC校验码得到正确的数据。其主要的使用方式如图
Ιο
[0004]同时,ECC校验码的数学特性决定了:对于同样长度的原始数据,如果ECC校验码越长,则纠错的能力就越强,即允许原始数据出现错误的能力更大。ECC校验码长与纠错能力的关系如图2。
[0005]上述现有方案有效的解决了固态硬盘存储介质不稳定带来的数据不可靠性问题。但是也带来了一些负面影响,即需要固态硬盘存储介质消耗一定额外的空间来存放ECC校验码,所以这一定程度上增加了固态硬盘的写放大,也就影响了固态硬盘的数据有效带宽,增加了固态硬盘的磨损,减小了固态硬盘的寿命。在固态硬盘存有一定用户数据的状态下,存储介质上存储的实际状况如图3所示。
[0006]由于固态硬盘存储介质本身的特点,其数据出错的可能性,随着时间的推移,会越来越高。数据出错的可能性与时间的关系如图4所示。
[0007]总结起来,现有的方案就是通过消耗一定的存储空间来存放ECC,以保证数据的可靠性。但是ECC校验数据的码长设置得过短,会使得纠错能力下降,降低固态硬盘的生命周期;码长设置得过长,在固态硬盘的生命早期,会浪费更多的存储空间,带来额外的负面影响。

【发明内容】

[0008]本发明所要解决的技术问题是,针对现有技术不足,提供一种动态实现固态硬盘ECC校验码的方法和装置。
[0009]为解决上述技术问题,本发明所采用的技术方案是:一种动态实现固态硬盘ECC校验码的方法,包括以下步骤:
1)为固态硬盘存储系统设定ECC校验码率单位,将拥有相同ECC校验码长的存储空间作为一个ECC校验码率单位;
2)为固态硬盘存储系统预设多级ECC校验码率;
3)在固态硬盘控制器中,通过ECC校验码率表记录每一个ECC校验码率单位当前所使用的ECC校验码率;
4)在固态硬盘工作时,以ECC校验码率表的记录为基准进行ECC校验码的添加/校验; 在上述步骤4)进行ECC校验码的添加/校验后,随着固态硬盘的工作时间增加,固态硬盘变得越来越不可靠,故需要提高ECC的级别来保护数据,即在ECC校验码率表中,采用ECC校验码长更高一级的ECC校验码率(比如每当出现不可纠的ECC错误,或者当一个ECC校验码率单位被改变的条件触发时,即提高一级ECC校验码率后,进行ECC校验码的添加/校验)。
[0010]本发明还提供了一种动态实现固态硬盘ECC校验码的装置,包括:
ECC code码率表:用来记录当前存储空间使用的ECC码率,以ECC码率作为ECC计算的基本单位,同时也是动态调整的基本单位和结果体现载体;
ECC code生成模块:用来对被写入的数据,产生保护被写入的数据可靠性的ECC校验码,根据ECC code码率表的设置,产生多种不同长度的ECC校验码;
ECC code校验模块:用来根据被读出的数据附带的ECC校验码,校验被读出的数据是否正确,ECC code校验模块工作模式与ECC code生成模块对应,对应关系通过ECC code码率表产生关联;
存储空间老化状态观察模块:用于观测固态硬盘存储空间的状态,判断固态硬盘中各个空间的老化状态,并在一个ECC码率单位被改变的条件触发时,改变ECC code码率表内的对应单位的码率编码;
固态硬盘存储空间:是用来存储被读出的数据、ECC校验码信息的物理存储介质。
[0011]与现有技术相比,本发明所具有的有益效果为:本发明将拥有相同ECC校验码长的存储空间作为一个ECC校验码率单位,并通过ECC校验码率表记录每一个ECC校验码率单位当前所使用的ECC校验码率,因此无需通过消耗存储空间来存放ECC,保证了数据的可靠性,减小了固态硬盘的磨损,延长了固态硬盘的使用寿命;在固态硬盘生命周期的早期采用ECC码长较短的ECC校验码率,由于固态硬盘生命周期的早期数据出错的概率较低,因此既节省了存储空间,又没有降低数据的可靠性;到固态硬盘生命周期的晚期,才会出现最长的ECC码率大规模出现,这在最大程度上取得了数据可靠性和使用效率上的平衡;本发明能在不损失固态硬盘可靠性的前提下,通过动态控制ECC校验码长,使得固态硬盘在早期的生命周期内,能够获得更多的用户数据存储空间,减小固态硬盘写放大,提高固态硬盘读写效率,延长固态硬盘使用寿命。
【附图说明】
[0012]图1为固态硬盘通过ECC校验码保护数据的使用方式示意图;
图2为ECC校验码长与纠错能力的关系示意图;
图3为固态硬盘存有一定数量用户数据的状态下,存储介质被使用的情况示意图;
图4为固态硬盘数据出错的可能性与固态硬盘使用时间的关系示意图;
图5为本发明的方法中ECC校验码率随着时间变化的示意图; 图6为本发明的具体实施方案示
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1