一种获取闪存对偶页错误相关性的方法和系统技术方案

技术编号:14836806 阅读:81 留言:0更新日期:2017-03-17 04:11
本发明专利技术公开了一种获取闪存对偶页错误相关性的方法,随着闪存存储密度的提升,数据可靠性遭到破坏。原始比特错误率已经超过纠错码的纠错能力,使得纠错码不足以保证数据可靠性,为了设计有效的纠错码算法,有必要对闪存的失效模式有个清楚的了解,为此,我们对闪存中对偶页的错误相关性进行研究,当闪存的某一个页由于干扰而发生比特错误时,它的对偶页的比特也会受到干扰而发生错误,这种现象被称为闪存对偶页的错误相关性。通过对闪存对偶页的错误相关性进行研究,能够设计合理有效的纠错码以保证数据可靠性。

【技术实现步骤摘要】

本专利技术属于固态盘存储
,更具体地,涉及一种获取闪存对偶页错误相关性的方法和系统
技术介绍
闪存具有高性能、大容量、低能耗、快速的读写速度等优势而被广泛应用于计算机存储系统中,随着闪存存储密度的增加,原始误码率逐渐提升,数据可靠性下降,致使传统的纠错码算法不足以保证数据可靠性,为了设计针对性的算法,需要对闪存的错误模式进行研究。闪存对偶页存在于闪存块中,其结构如图1所示,当将比特数据写入闪存中时,每个单元的两个比特被写到两个不同的页中,其中这两个比特被称为对偶比特,这两个比特所属的页被称为对偶页,其中每个页是一个单独的纠错码单位,每个页中的错误数据通过纠错码算法独立进行纠正。然而,现有的对闪存块中的页错误特性进行研究存在以下几个明显的不足之处:首先,现有的对闪存页的错误特性进行研究没有探索对偶页之间的比特错误相关性特征,没有考虑到闪存块中的页发生比特错误时对其对偶页中的比特的影响;其次,现有的研究方法没有充分发掘闪存页的内部错误特征;这两个问题的出现,会导致后续设计纠错码时需要额外的存储空间,从而增加了开销。
技术实现思路
针对现有技术的以上缺陷或改进需求,本专利技术提供了一种获取闪存对偶页错误相关性的方法和系统,其目的在于,通过考虑到闪存块中的页发生比特错误时对其对偶页中比特的影响,并通过充分发掘闪存页的内部错误特征,解决现有研究方法中存在的后续设计纠错码时需要额外的存储空间,从而增加了开销的技术问题。为实现上述目的,按照本专利技术的一个方面,提供了一种获取闪存对偶页错误相关性的方法,包括以下步骤:(1)接收来自上层服务器的顺序写入数据请求,根据该顺序写入数据请求为SSD控制器生成的随机数据分配对应的缓存,所有的缓存组成数据池;(2)接收来自用户端的顺序写入请求,并根据该顺序写入请求为步骤(1)中分配的每个缓存中的所有数据分配页面地址,并根据分配的页面地址将数据池中的所有数据写入到闪存的页面中;(3)判断SSD的闪存中的所有页是否全部被写入,如果是,则转入步骤(4),否则转入步骤(7);(4)根据步骤(2)中分配的第一个页面地址将存储在闪存页面中的对应数据读出,并将读出的数据与步骤(1)中分配的第一个缓存中的数据进行比较,以统计闪存页面中该数据的错误数量和错误位置;(5)针对步骤(2)中分配的剩余页面地址,重复执行上述步骤(4),直至闪存页面中所有数据都被统计完毕为止,并将统计出的闪存页面中所有错误数据的数量、错误位置和错误数据在闪存页面中的地址作为一个信息条目存储在预设的错误信息列表中;(6)根据错误信息列表中错误数据在闪存页面中的地址确定对偶页,并统计所有对偶页中的对偶比特错误数量和位置,并将统计出的对偶比特错误数量和位置存储在错误信息列表中;(7)继续根据分配的页面地址将数据池中的剩余数据写入到闪存的页面中,直到闪存页面被完全写满为止,然后返回步骤(4)。优选地,顺序写入数据请求中要求按页写入数据,该缓存的大小等于SSD的闪存的页面大小。优选地,每个数据被分配的页面地址为:SSD通道号+SSD芯片号+SSD芯片中的分组号+SSD芯片中分组号的块号+SSD芯片中分组号的块中的页号;优选地,该错误信息列表可以设置在SSD中,也可以设置在服务器或用户端。优选地,还包括在所述步骤(6)之后,所述步骤(7)之前,将错误信息列表中错误数据的数量、错误位置和错误数据在闪存页面中的地址、以及对偶比特错误数量和位置写入日志文件中。按照本专利技术的另一方面,提供了一种获取闪存对偶页错误相关性的系统,包括:第一模块,用于接收来自上层服务器的顺序写入数据请求,根据该顺序写入数据请求为SSD控制器生成的随机数据分配对应的缓存,所有的缓存组成数据池;第二模块,用于接收来自用户端的顺序写入请求,并根据该顺序写入请求为第一模块中分配的每个缓存中的所有数据分配页面地址,并根据分配的页面地址将数据池中的所有数据写入到闪存的页面中;第三模块,用于判断SSD的闪存中的所有页是否全部被写入,如果是,则转入第四模块,否则转入第七模块;第四模块,用于根据第二模块中分配的第一个页面地址将存储在闪存页面中的对应数据读出,并将读出的数据与第一模块中分配的第一个缓存中的数据进行比较,以统计闪存页面中该数据的错误数量和错误位置;第五模块,用于针对第二模块中分配的剩余页面地址,重复执行上述第四模块,直至闪存页面中所有数据都被统计完毕为止,并将统计出的闪存页面中所有错误数据的数量、错误位置和错误数据在闪存页面中的地址作为一个信息条目存储在预设的错误信息列表中;第六模块,用于根据错误信息列表中错误数据在闪存页面中的地址确定对偶页,并统计所有对偶页中的对偶比特错误数量和位置,并将统计出的对偶比特错误数量和位置存储在错误信息列表中;第七模块,用于继续根据分配的页面地址将数据池中的剩余数据写入到闪存的页面中,直到闪存页面被完全写满为止,然后返回第四模块。优选地,顺序写入数据请求中要求按页写入数据,该缓存的大小等于SSD的闪存的页面大小。优选地,每个数据被分配的页面地址为:SSD通道号+SSD芯片号+SSD芯片中的分组号+SSD芯片中分组号的块号+SSD芯片中分组号的块中的页号;优选地,该错误信息列表可以设置在SSD中,也可以设置在服务器或用户端。优选地,还包括第八模块,用于将错误信息列表中错误数据的数量、错误位置和错误数据在闪存页面中的地址、以及对偶比特错误数量和位置写入日志文件中。总体而言,通过本专利技术所构思的以上技术方案与现有技术相比,能够取得下列有益效果:(1)本专利技术由于采用了步骤(2)到步骤(6),其考虑到闪存块中的页发生比特错误时对其对偶页中比特的影响,并通过充分发掘闪存页的内部错误特征,从而解决了现有研究方法中存在的后续设计纠错码时需要额外的存储空间,从而增加了开销的技术问题;(2)本专利技术能够为设计有效的纠错码算法提供依据和参考。附图说明图1是现有闪存块的内部结构示意图。图2是本专利技术获取闪存对偶页错误相关性的方法的流程图。具体实施方式为了使本专利技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本专利技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不用于限定本专利技术。此外,下面所描述的本专利技术各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。如图2所示,本专利技术获取闪存对偶页错误相关性的方法包括以下步骤:(1)接收来自上层服务器的顺序写入数据请求,根据该顺序写入数据请求为固态盘(Solidstatedisk,简称SSD)控制器生成的随机数据分配对应的缓存,所有的缓存组成数据池;具体而言,顺序写入数据请求中要求按页写入数据,该缓存的大小等于SSD的闪存(FlashMemory,简称FM)的页面大小;本步骤的优点在于:能够对生成的随机数据进行有效的管理,当需要缓存中的数据时能够快速高效地提取。(2)接收来自用户端的顺序写入请求,并根据该顺序写入请求为步骤(1)中分配的每个缓存中的所有数据分配页面地址,并根据分配的页面地址将数据池中的所有数据写入到闪存的页面中;具体而言,每个数据被分配的页面地址为:SSD通道号+SSD芯片号+SSD芯片中的分组号+SSD芯片中分组号的块号+SSD芯片中分组号的块中的页本文档来自技高网...
一种获取闪存对偶页错误相关性的方法和系统

【技术保护点】
一种获取闪存对偶页错误相关性的方法,其特征在于,包括以下步骤:(1)接收来自上层服务器的顺序写入数据请求,根据该顺序写入数据请求为SSD控制器生成的随机数据分配对应的缓存,所有的缓存组成数据池;(2)接收来自用户端的顺序写入请求,并根据该顺序写入请求为步骤(1)中分配的每个缓存中的所有数据分配页面地址,并根据分配的页面地址将数据池中的所有数据写入到闪存的页面中;(3)判断SSD的闪存中的所有页是否全部被写入,如果是,则转入步骤(4),否则转入步骤(7);(4)根据步骤(2)中分配的第一个页面地址将存储在闪存页面中的对应数据读出,并将读出的数据与步骤(1)中分配的第一个缓存中的数据进行比较,以统计闪存页面中该数据的错误数量和错误位置;(5)针对步骤(2)中分配的剩余页面地址,重复执行上述步骤(4),直至闪存页面中所有数据都被统计完毕为止,并将统计出的闪存页面中所有错误数据的数量、错误位置和错误数据在闪存页面中的地址作为一个信息条目存储在预设的错误信息列表中;(6)根据错误信息列表中错误数据在闪存页面中的地址确定对偶页,并统计所有对偶页中的对偶比特错误数量和位置,并将统计出的对偶比特错误数量和位置存储在错误信息列表中;(7)继续根据分配的页面地址将数据池中的剩余数据写入到闪存的页面中,直到闪存页面被完全写满为止,然后返回步骤(4)。...

【技术特征摘要】
1.一种获取闪存对偶页错误相关性的方法,其特征在于,包括以下步骤:(1)接收来自上层服务器的顺序写入数据请求,根据该顺序写入数据请求为SSD控制器生成的随机数据分配对应的缓存,所有的缓存组成数据池;(2)接收来自用户端的顺序写入请求,并根据该顺序写入请求为步骤(1)中分配的每个缓存中的所有数据分配页面地址,并根据分配的页面地址将数据池中的所有数据写入到闪存的页面中;(3)判断SSD的闪存中的所有页是否全部被写入,如果是,则转入步骤(4),否则转入步骤(7);(4)根据步骤(2)中分配的第一个页面地址将存储在闪存页面中的对应数据读出,并将读出的数据与步骤(1)中分配的第一个缓存中的数据进行比较,以统计闪存页面中该数据的错误数量和错误位置;(5)针对步骤(2)中分配的剩余页面地址,重复执行上述步骤(4),直至闪存页面中所有数据都被统计完毕为止,并将统计出的闪存页面中所有错误数据的数量、错误位置和错误数据在闪存页面中的地址作为一个信息条目存储在预设的错误信息列表中;(6)根据错误信息列表中错误数据在闪存页面中的地址确定对偶页,并统计所有对偶页中的对偶比特错误数量和位置,并将统计出的对偶比特错误数量和位置存储在错误信息列表中;(7)继续根据分配的页面地址将数据池中的剩余数据写入到闪存的页面中,直到闪存页面被完全写满为止,然后返回步骤(4)。2.根据权利要求1所述的方法,其特征在于,顺序写入数据请求中要求按页写入数据,该缓存的大小等于SSD的闪存的页面大小。3.根据权利要求1所述的方法,其特征在于,每个数据被分配的页面地址为:SSD通道号+SSD芯片号+SSD芯片中的分组号+SSD芯片中分组号的块号+SSD芯片中分组号的块中的页号。4.根据权利要求1所述的方法,其特征在于,该错误信息列表可以设置在SSD中,也可以设置在服务器或用户端。5.根据权利要求1所述的方法,其特征在于,还包括在所述步骤(6)之后,所述步骤(7)之前,将错误信息列表中错误数据的数量、错误位置和错误数据在闪存页面中的地址、以及对偶比特错误数量和位置写入日志文件中。6...

【专利技术属性】
技术研发人员:黄河
申请(专利权)人:武汉迅存科技有限公司
类型:发明
国别省市:湖北;42

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

1