固态硬盘存储设备和固态硬盘存储设备的数据存取方法技术

技术编号:13428285 阅读:178 留言:0更新日期:2016-07-29 18:21
本发明专利技术实施例提供了一种管理SSD存储设备和SSD存储设备的数据存储方法,以解决现有技术中SDD中数据管理的复杂度包,NandFlash物理块内NandFlash物理页的使用寿命不一致的问题。本发明专利技术实施例通过将SSD存储设备的每个存储单元中的用户数据区、一级元数据和ECC码的长度设为固定值,使得存储单元中存储的数据格式固定,并且ECC码也能够按照固定的码率保证用户数据区的数据与一级元数据的一致性,保证用户数据区中的数据与一级元数据的正确和完整性,简化了数据管理,降低了ECC硬件逻辑的复杂度;同时,由于ECC码率一致,也保证了每个存储单元,的寿命一致性。

【技术实现步骤摘要】

本专利技术涉及信息
,特别涉及一种固态硬盘存储设备和固态硬盘存储设备的数据存取方法
技术介绍
随着信息化技术的大规模发展,固态硬盘(SSD,Solid-StateDisk)应运而生。使用Flash介质的SSD具有高性能与低功耗的特性,可以极大的降低存储系统的时延,并且由于SSD不需要机械结构,可靠性会更高。作为SSD存储介质的NandFlash,其擦写次数具有一定的寿命限制,这成为影响SSD寿命与性能的关键因素。在NandFlash中,数据是以NandFlash物理块和NandFlash物理页的形式组织的,一个NandFlash物理块由若干NandFlash物理页组成。一个NandFlash物理块是执行擦除操作的最小单元,一个NandFlash物理页是执行写入/读取操作的最小单元。NandFlash物理页在写入一次数据后,必须经过对该NandFlash物理页所在的NandFlash物理块执行擦除操作后,该NandFlash物理页才能再次写入数据。一个NandFlash物理页由若干存储单元构成,数据在NandFlash的存储单元中是以浮栅中的电荷形式存储的。对存储单元的擦写会降低浮栅与沟道间绝缘层的绝缘性能。超过一定擦写次数后,电子便无法在浮栅中保持足够的时间,存储的数据便会产生大量的比特错误。如果超过了SSD控制器的错误纠正能力,那么对应的NandFlash物理页/物理块便认为已经损坏。减少实际写入NandFlash介质的数据量是提高SSD寿命的关键因素。实际应用中,写入SSD的数据具有空间上的相关性。人们提出了将数据在写入NandFlash前先进行压缩的方法,来减少实际写入的数据量,但现有技术需要SSD控制器的错误检查和纠正(ECC,ErrorCheckingandCorrecting)逻辑支持多种码率,使得ECC逻辑实现的复杂度高,造成软件管理算法的复杂化,并且还使NandFlash一个物理块内的不同物理页的使用寿命不均衡。
技术实现思路
本专利技术实施例提供一种管理SSD存储设备和SSD存储设备的数据存储方法,以降低现有技术中SDD中数据管理的复杂度,并使得NandFlash物理块内NandFlash物理页的使用寿命一致。在第一方面,本专利技术实施例提供了一种固态硬盘SSD存储设备,所述SSD存储设备包括至少一个存储单元,所述存储单元是所述SSD存储设备中进行写入或读取操作的最小单元,所述存储单元包括用户数据区、一级元数据、以及错误检查和纠正ECC码;所述用户数据区、一级元数据和ECC码的长度均为固定值;所述用户数据区包含二个以上长度相同的分区,每个分区用于存储压缩后的数据;存储单元中的一级元数据记录所述用户数据区中存储的数据的压缩标志,以及所述用户数据区中每个数据压缩后所占用的分区个数;所述ECC码用于保证所述存储单元中数据的一致性。在第一方面的第一种可能的实现方式中,结合第一方面,每个所述存储单元中的用户数据区的分区个数相同。在第一方面的第二种可能的实现方式中,结合第一方面和第一方面的第一种可能的实现方式,所述SSD存储设备还包括二级元数据生成单元;所述二级元数据生成单元,用于生成待存储数据的二级元数据,所述二级元数据是包括压缩后的所述待存储数据的长度和压缩后的所述待存储数据的逻辑块地址LBA。在第一方面的第三种可能的实现方式中,结合第一方面的第二种可能的实现方式,所述SSD存储设备还包括填充单元,用于在所述二级元数据的长度与压缩后的所述待存储数据的长度之和不是一个所述分区长度的整数倍时,添加填充数据,使得所述二级元数据,压缩后的所述待存储数据,以及所述填充数据的长度之和是一个所述分区长度的最小整数倍。在第一方面的第四种可能的实现方式中,结合第一方面的第二种可能的实现方式或第一方面的第三种可能的实现方式,所述二级元数据生成单元将生成的所述二级元数据添加在所述压缩后的所述待存储数据之前。在第一方面的第五种可能的实现方式中,结合第一方面的第二种可能的实现方式,所述SSD存储设备还包括缓存处理单元,用于将所述二级元数据和压缩后的所述待存储数据写入所述SSD存储设备的缓存中。在第一方面的第六种可能的实现方式中,结合第一方面的第三种可能的实现方式,将所述填充单元填充数据后的所述二级元数据,压缩后的所述待存储数据,以及所述填充数据写入所述SSD存储设备的缓存中。在第一方面的第七种可能的实现方式中,结合第一方面的第五种可能的实现方式或第一方面的第六种可能的实现方式,所述SSD存储设备还包括数据写入单元;所述数据写入单元,用于将所述缓存中的长度等于一个所述用户数据区的一个或一个以上的缓存数据写入所述SSD存储设备的一个存储单元中;所述缓存数据包括所述二级元数据和压缩后的所述待存储数据,或所述缓存数据包括所述二级元数据,压缩后的所述待存储数据和所述填充数据。在第一方面的第八种可能的实现方式中,结合第一方面、第一方面的第一种可能的实现方式,第一方面的第三种可能的实现方式,第一方面的第五种可能的实现方式或第一方面的第六种可能的实现方式中,所述一级元数据还包括所述待存储数据的逻辑地址到物理地址的映射信息,和所述待存储数据写入所述存储单元时的时间信息。在第一方面的第九种可能的实现方式中,结合第一方面的第七种可能的实现方式,所述SSD存储设备还包括数据恢复单元;所述数据恢复单元,用于根据数据读取请求中包括的待读取数据的LBA,读取所述LBA对应的存储单元中的用户数据区、一级元数据和ECC码;并根据所述一级元数据获取所述用户数据区中压缩数据的个数,获取对应的压缩数据和二级元数据,比较所述二级元数据中的LBA与所述数据读取请求中的LBA是否一致,在一致时将获取的对应的压缩数据发送至解压缩引擎进行解压。在第二方面,本专利技术实施例还提供了一种固态硬盘SSD存储设备的数据存取方法,所述SSD存储设备包括至少一个存储单元,所述存储单元是所述SSD存储设备中进行写入或读取操作的最小单元,其特征在于:接收待存储的数据并对所述待存储数据进行压缩;在压缩后的数据小于预设的阈值时,将所述待存储的数据写入所述至少一个存储单元的用户数据区中;所述用户数据区包含二个以上长度相同的分区,每个分区用于存储压缩后的数据;生成所述待存储数据的一级元数据,所述一级元数据记录所述用户数据区中存储的数据的压缩标志,以及所述待存储数据压缩本文档来自技高网
...

【技术保护点】
一种固态硬盘SSD存储设备,所述SSD存储设备包括至少一个存储单元,所述存储单元是所述SSD存储设备中进行写入或读取操作的最小单元,其特征在于:所述存储单元包括用户数据区、一级元数据、以及错误检查和纠正ECC码;所述用户数据区、一级元数据和ECC码的长度均为固定值;所述用户数据区包含二个以上长度相同的分区,每个分区用于存储压缩后的数据;存储单元中的一级元数据记录所述用户数据区中存储的数据的压缩标志,以及所述用户数据区中每个数据压缩后所占用的分区个数;所述ECC码用于保证所述存储单元中数据的一致性。

【技术特征摘要】
1.一种固态硬盘SSD存储设备,所述SSD存储设备包括至少一个存储单元,
所述存储单元是所述SSD存储设备中进行写入或读取操作的最小单元,其特征
在于:
所述存储单元包括用户数据区、一级元数据、以及错误检查和纠正ECC
码;所述用户数据区、一级元数据和ECC码的长度均为固定值;
所述用户数据区包含二个以上长度相同的分区,每个分区用于存储压缩后
的数据;
存储单元中的一级元数据记录所述用户数据区中存储的数据的压缩标志,
以及所述用户数据区中每个数据压缩后所占用的分区个数;
所述ECC码用于保证所述存储单元中数据的一致性。
2.根据权利要求1所述的SSD存储设备,其特征在于,每个所述存储单元
中的用户数据区的分区个数相同。
3.根据权利要求1或2所述的SSD存储设备,其特征在于,所述SSD存储设
备还包括二级元数据生成单元;
所述二级元数据生成单元,用于生成待存储数据的二级元数据,所述二级
元数据是包括压缩后的所述待存储数据的长度和压缩后的所述待存储数据的
逻辑块地址LBA。
4.根据权利要求3所述的SSD存储设备,其特征在于,所述SSD存储设备
还包括填充单元,用于在所述二级元数据的长度与压缩后的所述待存储数据的
长度之和不是一个所述分区长度的整数倍时,添加填充数据,使得所述二级元
数据,压缩后的所述待存储数据,以及所述填充数据的长度之和是一个所述分
区长度的最小整数倍。
5.根据权利要求3或4所述的SSD存储设备,其特征在于,所述二级元数
据生成单元将生成的所述二级元数据添加在所述压缩后的所述待存储数据之
前。
6.根据权利要求3所述的SSD存储设备,其特征在于,所述SSD存储设备
还包括缓存处理单元,用于将所述二级元数据和压缩后的所述待存储数据写入
所述SSD存储设备的缓存中。
7.根据权利要求4所述的SSD存储设备,其特征在于,将所述填充单元填
充数据后的所述二级元数据,压缩后的所述待存储数据,以及所述填充数据写
入所述SSD存储设备的缓存中。
8.根据权利要求6或7所述的SSD存储设备,其特征在于,所述SSD存储设
备还包括数据写入单元;
所述数据写入单元,用于将所述缓存中的长度等于一个所述用户数据区的
一个或一个以上的缓存数据写入所述SSD存储设备的一个存储单元中;所述缓
存数据包括所述二级元数据和压缩后的所述待存储数据,或所述缓存数据包括
所述二级元数据,压缩后的所述待存储数据和所述填充数据。
9.根据权利要求1、2、4、6或7任一所述的SSD存储设备,其特征在于,
所述一级元数据还包括所述待存储数据的逻辑地址到物理地址的映射信
息,和所述待存储数据写入所述存储单元时的时间信息。
10.根据权利要求8所述的SSD存储设备,其特征在于,所述SSD存储设备
还包括数据恢复单元;
所述数据恢复单元,用于根据数据读取请求中包括的待读取数据的LBA,

\t读取所述LBA对应的存储单元中的用户数据区、一级元数据和ECC码;并根
据所述一级元数据获取所述用户数据区中压缩数据的个数,获取对应的压缩数
据和二级元数据,比较所述二级元数据中的LBA与所述数据读取请求中的
LBA是否一致,在一致时将获取的对应的压缩数据发送至解压缩引擎进行解
压。
11.一种固...

【专利技术属性】
技术研发人员:周冠锋
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:广东;44

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

1