[发明专利]一种高性能高可靠的固态盘实现方法有效
申请号: | 201310408367.2 | 申请日: | 2013-09-09 |
公开(公告)号: | CN103488583A | 公开(公告)日: | 2014-01-01 |
发明(设计)人: | 冯丹;侯斌兵;刘文国;童薇;曾令仿;陈俭喜 | 申请(专利权)人: | 华中科技大学 |
主分类号: | G06F12/08 | 分类号: | G06F12/08;G06F12/02;G06F3/06 |
代理公司: | 华中科技大学专利中心 42201 | 代理人: | 朱仁玲 |
地址: | 430074 湖北*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 性能 可靠 固态 实现 方法 | ||
技术领域
本发明属于固态盘(Solid State Drive,SSD)数据可靠性技术领域,具体涉及一种高性能高可靠的固态盘实现方法。
背景技术
随着计算机技术和网络通信技术的发展,信息化程度越来越高,人们对数据存储的性能要求也越来越高。固态盘(Solid State Drive,SSD)作为一种新兴的存储设备,以其体积小、质量轻、抗震动、读写性能高等特性而备受青睐。固态盘内部一般存在多个通道(channel),每个通道连接一定数量的闪存芯片(flash chip),每个芯片由五个层次组成:芯片(chip)一晶圆(die)一分组(plane)一块(block)一页(page)。其中页是读、写的最小单位,块是擦除(erase)的最小单位。
和机械磁盘一样,固态盘也存在数据丢失的风险,在大容量固态盘中尤其突出。原始的数据保护方法是在页内部采用ECC校验方法,但随着闪存颗粒越来越小、控制器复杂度越来越高、存储容量越来越大,闪存的出错率也越来越高,当在页、块甚至分组层次发生数据故障时,传统的ECC校验方法显然无能为力。在固态盘内部采用RAID技术,利用一定的数据冗余,将出错数据迅速恢复,成为固态盘可靠性研究方面的一个热点。但是,传统的固态盘实现方法中仍然存在可靠性和随机写性能不佳的问题。
发明内容
本发明的目的在于提供一种高性能高可靠的固态盘实现方法;该高性能高可靠的固态盘实现方法针对传统固态盘可靠性和随机写性能不佳的问题,在固态盘内部构建RAID4级别的物理阵列来保证数据可靠性,并通过满条带写和顺序写来提高写性能,将数据出错带来的空间损失和性能损失降到最低。
本发明所采用的技术方案如下:
一种高性能高可靠的固态盘实现方法,包括以下步骤:
(1)将固态盘内部的所有闪存芯片分成若干组,每组由N个连续的闪存芯片组成一个RAID4级别的闪存阵列;在闪存阵列中取每个闪存芯片相同偏移位置的页组成一个条带;其中,N为大于2的正整数;
(2)通过缓冲区接收并存储数据,所述缓冲区的大小大于等于闪存芯片中N-1个页的大小;
(3)判断缓冲区是否已满,若是,则进入步骤(4);若否,则返回步骤(2);
(4)从缓冲区中取N-1个数据块,计算出所述N-1个数据块的校验值;将所述N-1个数据块和所述校验值拼凑成满条带数据,写回闪存阵列;返回步骤(2)。
进一步的,步骤(2)中所述缓冲区在接收数据时还进行冷热数据分离,具体包括:
(2.1)在缓冲区中建立并维持一个冷数据链表和一个热数据链表;
(2.2)判断接收到的数据是否为新数据,若是,则将该数据的热度的初始值记为0;若否,则将该数据的热度加1;
(2.3)判断接收到的数据的热度是否高于预先设定的热度阈值,若是,将该数据加入热数据链表;若否,将该数据加入冷数据链表。
进一步的,步骤(4)具体包括如下步骤:
(A)判断冷数据链表中的数据块的个数是否大于等于N-1个,若是,则从冷数据链表中按照热度从小到大的顺序选择N-1个数据块,通过异或运算计算出所述N-1个数据块的校验值;将所述N-1个数据块和所述校验值拼凑成满条带数据写回闪存阵列的冷区,转入步骤(D);若否,进入步骤(B);
(B)判断热数据链表中的数据块的个数是否大于等于N-1个,若是,则从热数据链表中按照热度从小到大的顺序选取N-1个数据块,通过异或运算计算出所述N-1个数据块的校验值;将所述N-1个数据块和所述校验值拼凑成满条带数据写回闪存阵列的热区,转入步骤(D);若否,进入步骤(C);
(C)从冷数据链表中选取所有的N1个数据块,从热数据链表中选取N2个数据块,组成N-1个数据块;其中,N1+N2=N-1;
通过异或运算计算出所述N-1个数据块的校验值;将所述N-1个数据块和所述校验值拼凑成满条带数据;
若上一次写操作在闪存阵列的冷区,则将所述满条带数据写回闪存阵列的冷区;若上一次写操作在闪存阵列的热区,则将所述满条带数据写回闪存阵列的热区;
(D)完成本次写操作,返回步骤(2)。
进一步的,步骤(4)中所述满条带数据写回闪存阵列的过程具体包括如下步骤:
(4.1)在冷区或热区内分别自上而下按顺序以条带为单位为所述满条带数据分配条带空间;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华中科技大学,未经华中科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310408367.2/2.html,转载请声明来源钻瓜专利网。