降低SSD误码率的数据存放方法及装置制造方法及图纸

技术编号:20943923 阅读:36 留言:0更新日期:2019-04-24 02:10
本发明专利技术公开了一种降低SSD误码率的数据存放方法及装置,方法包括以下步骤:跟踪并记录每个物理块的读计数;将读计数与预设阈值进行比对,将每个物理块中的数据分成冷数据或热数据;将区分后的冷数据和热数据交错写入新的物理块中。本方案通过将物理块区分为冷数据和热数据,并将冷数据和热数据交错写入同一的物理块中,利用Retention和Read Disturb的左/右移效应的相互抵消,大大降低了数据出错的概率,提高了SSD数据读取性能。

Data Storage Method and Device for Reducing the Bit Error Rate of SSD

The invention discloses a data storage method and device for reducing the bit error rate of SSD. The method comprises the following steps: tracking and recording the reading count of each physical block; comparing the reading count with the preset threshold, dividing the data in each physical block into cold data or hot data; and interleaving the differentiated cold data and hot data into new physical blocks. This scheme divides physical blocks into cold data and hot data, and interlaces cold data and hot data into the same physical block. By using the left/right shift effect of Retention and Read Disturb to cancel each other, the probability of data errors is greatly reduced, and the reading performance of SSD data is improved.

【技术实现步骤摘要】
降低SSD误码率的数据存放方法及装置
本专利技术涉及到数据读取优化,特别是涉及到一种降低SSD误码率的数据存放方法及装置。
技术介绍
SSD又名固态硬盘,已经被广泛应用于各种场合,由于其在性能、功耗、环境适应性等方面的优秀指标,正逐步替换传统的硬盘。由于NAND的物理特性,其存储数据的CELL单元存在不同的失效场景:例如随着擦写次数/读取次数/数据保存时间等因素的影响,其CELL的状态会产生翻转,进而导致NAND内存储的数据出错。典型地,SSD内部由专门的ECC纠错算法来处理一定范围内的错误,但是随着错误数据的积累,会需要引入特定的电压偏移的方式来读取数据,这会极大地影响读写性能;进一步地,随着错误数据的增加,以上的方法无法再保证数据纠错,进而导致用户数据丢失。
技术实现思路
为了解决上述现有技术的缺陷,本专利技术的目的是提供一种降低SSD误码率的数据存放方法及装置。为达到上述目的,本专利技术的技术方案是:一种降低SSD误码率的数据存放方法,其特征在于,包括以下步骤:跟踪并记录每个物理块的读计数;将读计数与预设阈值进行比对,将每个物理块中的数据分成冷数据或热数据;将区分后的冷数据和热数据交错写入新的物理块中。进一步地,所述跟踪并记录每个物理块的读计数步骤,包括,建立并维护一张计数表,计数表中记录每个物理块的读计数;将计数表中读计数非0部分按照读计数递增排序。进一步地,所述跟踪并记录每个物理块的读计数步骤,包括,当物理块中的数据被擦除时,将该物理块的读计数复位为0当物理块中的数据被读取时,递增对应的读计数。进一步地,所述将读计数与预设阈值进行比对,将每个物理块中的数据分成冷数据或热数据步骤,包括,预先设定冷数据读计数阈值和热数据读计数阈值;将读计数与冷数据读计数阈值对比,若读计数小于冷数据读计数阈值,则将物理块中的数据设为冷数据;将读计数与热数据读计数阈值对比,若读计数大于热数据读计数阈值,则将物理块中的数据设为热数据。进一步地,所述将读计数与预设阈值进行比对,将每个物理块中的数据区分成冷数据或热数据步骤之前,包括,周期扫描计数表,周期获取每个物理块的读计数。本专利技术还提出了一种降低SSD误码率的数据存放装置,包括:跟踪记录单元,用于跟踪并记录每个物理块的读计数;对比分类单元,用于将读计数与预设阈值进行比对,将每个物理块中的数据分成冷数据或热数据;交错写入单元,用于将区分后的冷数据和热数据交错写入新的物理块中。进一步地,所述跟踪记录单元包括记录模块和排序模块,所述记录模块,用于建立并维护一张计数表,计数表中记录每个物理块的读计数;所述排序模块,用于将计数表中读计数非0部分按照读计数递增排序。进一步地,所述跟踪记录单元还包括复位模块和递增模块,所述复位模块,用于当物理块中的数据被擦除时,将该物理块的读计数复位为0所述递增模块,用于当物理块中的数据被读取时,递增对应的读计数。进一步地,所述对比分类单元包括预设模块、第一对比模块和第二对比模块,所述预设模块,用于预先设定冷数据读计数阈值和热数据读计数阈值;所述第一对比模块,用于将读计数与冷数据读计数阈值对比,若读计数小于冷数据读计数阈值,则将物理块中的数据设为冷数据;所述第二对比模块,用于将读计数与热数据读计数阈值对比,若读计数大于热数据读计数阈值,则将物理块中的数据设为热数据。进一步地,还包括周期扫描单元,用于周期扫描计数表,周期获取每个物理块的读计数。本专利技术的有益效果是:通过将物理块区分为冷数据和热数据,并将冷数据和热数据交错写入同一的物理块中,利用Retention和ReadDisturb的左/右移效应的相互抵消,大大降低了数据出错的概率,提高了SSD数据读取性能。附图说明图1为本专利技术一实施例一种降低SSD误码率的数据存放方法的方法流程图;图2为本专利技术跟踪并记录每个物理块的读计数步骤的方法流程图;图3为本专利技术将读计数与预设阈值进行比对,将每个物理块中的数据分成冷数据或热数据步骤的方法流程图;图4为本专利技术另一实施例一种降低SSD误码率的数据存放方法的方法流程图;图5为本专利技术另一实施例一种降低SSD误码率的数据存放装置的结构框图;图6为本专利技术跟踪记录单元的结构框图;图7为本专利技术对比分类单元的结构框图;图8为NANDCell默认场景以及失效场景下的电压分布图;图9为本专利技术一种计数表的示例图;图10为本专利技术交错写有冷数据和热数据的物理块状态图。具体实施方式为阐述本专利技术的思想及目的,下面将结合附图和具体实施例对本专利技术做进一步的说明。下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术的一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。需要说明,本专利技术实施例中所有方向性指示(诸如上、下、左、右、前、后等)仅用于解释在某一特定姿态(如附图所示)下各部件之间的相对位置关系、运动情况等,如果该特定姿态发生改变时,则该方向性指示也相应地随之改变,所述的连接可以是直接连接,也可以是间接连接。另外,在本专利技术中如涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本专利技术要求的保护范围之内。如无特别说明,本文中的“/”代表含义为“或”。参照图1-4,一种降低SSD误码率的数据存放方法,其特征在于,包括以下步骤:S1、跟踪并记录每个物理块的读计数。S2、将读计数与预设阈值进行比对,将每个物理块中的数据分成冷数据或热数据。S3、将区分后的冷数据和热数据交错写入新的物理块中。典型的NAND组成如下:DIE,可独立并发操作的单元;Block,可独立擦除的单元,其内各个物理位置的数据写入后在下一次写之前必须要将整个Block擦除;Page,读写单元,同一物理块内的Page必需按顺序编程:0->1->2->3…。如图8所示,为NAND在各个场景下的电压分布。以MLC为例,每个CELL对应四个可能的状态:A/B/C/D,其中A为默认的擦除后的状态,B/C/D,分别为Program到某个状态。一般情形下,处于某个状态下的Cell数量呈图中的正态分布,且彼此之间间隔比较清晰。读取时,通过与Vref_A/Vref_B/Vref_C参考电压的比较,即可确认某个Cell所处的状态,进而可得知其存储的值。当某个物理块中的某些页反复被读取时,会导致ReadDisturb效应,整体电压分布会右移,如图中所示,此时部分状态的电压分布会出现重合,使用默认的参考电压读取时,无法正确判断Cell的状态。此时需要尝试调整参考电压的位置到Vref_A’/Vref_B’/Vref_C’,尝试读取数据。该尝试过程会导致读性能的降低,并且如果电压偏移过大,则可能无法找到合适的参考电压,进而无法获取正确的数据。同样地,如果某个物理块中的数据很少被访问,则会产生本文档来自技高网...

【技术保护点】
1.一种降低SSD误码率的数据存放方法,其特征在于,包括以下步骤:跟踪并记录每个物理块的读计数;将读计数与预设阈值进行比对,将每个物理块中的数据分成冷数据或热数据;将区分后的冷数据和热数据交错写入新的物理块中。

【技术特征摘要】
1.一种降低SSD误码率的数据存放方法,其特征在于,包括以下步骤:跟踪并记录每个物理块的读计数;将读计数与预设阈值进行比对,将每个物理块中的数据分成冷数据或热数据;将区分后的冷数据和热数据交错写入新的物理块中。2.如权利要求1所述的降低SSD误码率的数据存放方法,其特征在于,所述跟踪并记录每个物理块的读计数步骤,包括,建立并维护一张计数表,计数表中记录每个物理块的读计数;将计数表中读计数非0部分按照读计数递增排序。3.如权利要求2所述的降低SSD误码率的数据存放方法,其特征在于,所述跟踪并记录每个物理块的读计数步骤,包括,当物理块中的数据被擦除时,将该物理块的读计数复位为0;当物理块中的数据被读取时,递增对应的读计数。4.如权利要求1所述的降低SSD误码率的数据存放方法,其特征在于,所述将读计数与预设阈值进行比对,将每个物理块中的数据分成冷数据或热数据步骤,包括,预先设定冷数据读计数阈值和热数据读计数阈值;将读计数与冷数据读计数阈值对比,若读计数小于冷数据读计数阈值,则将物理块中的数据设为冷数据;将读计数与热数据读计数阈值对比,若读计数大于热数据读计数阈值,则将物理块中的数据设为热数据。5.如权利要求2所述的降低SSD误码率的数据存放方法,其特征在于,所述将读计数与预设阈值进行比对,将每个物理块中的数据区分成冷数据或热数据步骤之前,包括,周期扫描计数表,周期获取每个物理块的读计数。6.一种降低SSD误码率的数据存放装置,其特...

【专利技术属性】
技术研发人员:王猛徐伟华
申请(专利权)人:深圳忆联信息系统有限公司
类型:发明
国别省市:广东,44

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

1