重复数据删除和SSD的互补方法

本文探讨了如何利用重复数据删除技术来提高基于NAND flash芯片的固态存储设备(SSD)的寿命。CAFTL(Content-Aware Flash Translation Layer)和ChunkStash通过结合闪存技术,减少了IO负载,从而缓解了SSD的寿命问题。CAFTL在FTL层进行重复数据删除,而ChunkStash利用闪存的随机读性能优化指纹索引存储,提高了系统性能。
摘要由CSDN通过智能技术生成
/*******************************
 * 信息存储专题课程作业
 * 重复数据删除技术和SSD技术的互补方法
 *******************************/

摘要

重复数据删除和SSD是目前存储领域非常热门的话题,近几年来得到了飞速的发展。重复数据删除由于其较高的计算和索引开销,容易成为性能瓶颈,所以一直没有在主存储系统中立足。SSD则受限于寿命和可靠性方面的问题,数据中心接受SSD产品的步伐非常缓慢。研究人员发现这两种技术其实存在互补的可能性,SSD具有重复数据删除需要的随机读写速度,而重复数据删除可以有效降低SSD的IO负载。本文分别从这两个角度介绍了二者互补的解决方案,CAFTL在设备一级拦截重复数据,延长SSD的寿命;ChunkStash使用flash存储指纹来加快索引的速度,提高了重复数据删除的吞吐率。

关键字:重复数据删除,flash,SSD

1 绪论

计算、存储、传输是计算机系统面对的三个基本问题,存储问题作为其中之一,其重要性不言而喻。但是随着计算机和互联网在全球范围的普及,数据量正经历着爆炸式的增长。面对这些海量数据,计算机系统如何能保证充足的存储容量和访问速度,就成了存储技术研究人员主要思考的问题。

目前磁盘仍然是构成存储系统的主流基础设备,其相对低廉的价格、较高的容量、RAID技术带来的可靠性等优点,都是其仍然统治着大规模存储市场的原因。研究人员不断的挖掘磁盘技术的潜力,目前存储密度、转速等性能指标都已接近极限,急需新的技术来提高存储系统的容量和访问速度。在这种背景下,重复数据删除技术和基于flash的固态存储技术得到了研究人员的广泛重视。

重复数据删除是一种无损的压缩技术,它从数据中删除掉重复数据来节省存储空间。重复数据删除技术的基本原理是将数据按照一定的方法进行分块,可以是定长分块,也可以是内容感知的变长分块,然后使用SHA-1等哈希摘要算法计算每一个数据块的指纹,再利用指纹来区分不同内容的数据块,对于相同内容的数据块就只保存一份数据副本。目前重复数据删除技术已经成功应用到了数据备份和归档系统中。

基于flash的固态存储设备现在已经非常普及了,使用flash作为主存的U盘、数码产品随处可见。flash作为半导体存储器,相比磁盘具有很多的优点,比如更高的随机读写性能、抗震性和低能耗。可以说flash就是为了取代磁盘而出现的。

近些年来,得益于大量研究人员的努力,重复数据删除和flash技术都愈发成熟了,理应在更大的舞台上发挥作用,但是由于它们自身的一些限制,使得推广的步伐非常缓慢。

1.1 固态存储技术背景

1.1.1 基于NAND flash芯片的固态存储设备(SSD)


图1 三星公司NAND flash的内部结构

目前市场上的大部分SSD采用的都是NAND flash芯片, NAND flash的体系结构如图1所示[4]。在专业术语中,flash芯片又称为die,若干个die组成一个package;每一个die被划分为多个plane,每一个plane进一步被划分为数以千计的block(注意,这里的block和磁盘的块是不同的概念);每一个block由许多page(64-128个)组成;每一个page都包括一块数据区(通常4KB),和一些备用的存储空间,备用存储空间通常作为元数据区。因为目前磁盘仍然具有统治地位,大多数操作系统支持的是磁盘的驱动程序,所以在flash芯片之上实现了Flash Translation Layer(FTL),向外提供和磁盘一样的接口。

flash存储器支持三种基本操作:读、编程(写)和擦除。编程就是写操作,读和编程都是以page为单位的,而擦除是以block为单位。flash存储器在技术上有三个严格的限制:(1)不能二次编程,也就是对一个page只能编程一次,在下一次编程之前必须对整个block执行擦除操作;(2)不能随机写,一个block内的page必须按顺序写;(3)擦除的次数限制,block擦除一定次数就会磨损,通常是10,000到100,000次。

为了克服flash存储器的这些限制,设计者在FTL这一层为flash量身定做了很多的技术:(1)间接映射,flash存储器会保存一张逻辑地址和物理地址的映射表,将上层IO请求的逻辑地址转换为物理地址;(2)日志式的写操作,按照物理地址顺序一个接一个地写page,如果要向一个逻辑地址写数据,那么就将原来的物理page置为失效,把数据写到新page,再修改映射表;(3)垃圾回收,定期地回收有很多失效页的block,先将有效的页迁移到新的block上,再擦除block;(4)损耗平衡,由于某些热点数据的修改非常频繁,会导致某些block过早磨损,所以负载均衡机制会将IO负载均衡到每一个block上;(5)过量存储空间,为了帮助垃圾回收和损耗均衡,SSD通常会提供一些额外的存储空间。

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值