DRAM/NVRAM高速缓存如何减少闪存SSD写入放大

日期: 2014-03-27 作者:Marc Staimer翻译:李志明 来源:TechTarget中国 英文

不熟悉闪存SSD实际写入数据的方式的读者将会对其与硬盘驱动器(HDD)的区别感到有点惊讶。 HDD像所有的其它磁性存储介质一样以位元(bit)的方式存放数据,但是闪存SSD则以区块的方式存放数据。数据在HDD上被改动的时候,位元就被修改了。但是,坦率地说,数据在闪存SSD上被改动的时候,对下文的NAND技术不甚了了的那些人就觉得有点儿匪夷所思了。

与磁性的HDD不同,闪存或者NAND必须处于数据可以被写入的状态,没有HDD所具有的“位写入”(write-in-place)功能。如果数据已经被写在NAND上,那么该数据必须被擦除NAND才能接受新的数据。擦除是一个破环薄层材质的过程。 NAND机……

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

不熟悉闪存SSD实际写入数据的方式的读者将会对其与硬盘驱动器(HDD)的区别感到有点惊讶。

HDD像所有的其它磁性存储介质一样以位元(bit)的方式存放数据,但是闪存SSD则以区块的方式存放数据。数据在HDD上被改动的时候,位元就被修改了。但是,坦率地说,数据在闪存SSD上被改动的时候,对下文的NAND技术不甚了了的那些人就觉得有点儿匪夷所思了。

与磁性的HDD不同,闪存或者NAND必须处于数据可以被写入的状态,没有HDD所具有的“位写入”(write-in-place)功能。如果数据已经被写在NAND上,那么该数据必须被擦除NAND才能接受新的数据。擦除是一个破环薄层材质的过程。

NAND机构的简单解释起到了对此稍做澄清的作用,虽然这仍然令人困惑。

NAND记忆体实质上由被称为页(page)和区块(block)的两类结构组成。每页最常见是4/2 KB(可以是其它大小,但这是最常见的),代表一个读取和写入单元。多个页组成32/128 KB或者128/512 KB的区块。NAND读取和写入是在页的级别上被执行的。相反,擦除是在区块级别上被执行的。

在一个写入可以出现在一个被写页之前,包含该页的整个区块必须被擦除。这是一个低效、冗长的操作。它也被称为写入放大(write amplification)。

比较它们各自的延时即可一目了然:读取速度为55微秒;写入速度为550微秒;擦除速度为900微秒。写入应该被均匀地分布到整个卷,这被称为耗损均衡(wear leveling)

SSD控制器必须同时跟踪已被写和未被写的区块。它们以此向所有的区块提供均匀的耗损均衡并跟踪含有无效数据的区块。含有无效数据的区块被指定用于擦除。这被称为垃圾收集(garbage collection)。这些指定的区块在被使用前被擦除,以避免高的擦除延时。

一旦区块被擦除,它们被放回可供写入的区块池中。如果垃圾收集落后于写入量,那么性能就急转直下。

这是大多数SSD经常被超配20%的一个原因。200 GB的SSD通常实际有256 GB 的NAND,以免用完可用的写入区块。

在大多数系统中,页和区块大小可由存储管理员配置。较大的区块比较小的区块的使用率低。优点是随机区块的写入延时较低,因为SSD控制器要跟踪的区块要少得多。小区块提供更有效的利用率,但是以较高的延时为代价。大区块适合持续写入。小区块适合随机写入。

当SSD被配置成大区块而写入是非常随机化的时候,SSD的耗损寿命就被缩短了。大量未被写的NAND(区块未被写的闲置部分)被更频繁地擦除。因此,SSD管理员的挑战变成平衡随机和持续写入的性能(延时),同时优化耗损寿命。这是一项重要的、劳动密集型的挑战。

Nexsan、Nimble、Nimbus、Oracle、Tegile等几家混合和纯SSD存储系统厂商以及NexentaStor等一些存储堆栈软件一直不遗余力解决这项挑战。(注:这样做的厂商在他们的营销材料中直言其实。)

这些系统使用聪明的算法,装载在DRAM或者NVRAM上,然后利用该记忆体对SSD写入进行高速缓存。DRAM和NVRAM要比闪存快得多,延时以纳秒而非微秒计算。这个高速缓存使存储系统可以接受可能是各种大小的随机写入,把它们汇总并变成持续写入。对闪存SSD写入进行排序处理改变了游戏。它使存储系统可以左右逢源:大页面上极高的区块利用率、极低的写入放大,加上尽可能低的延时。

由于意外停电,写入被提交到SSD或者HDD介质之前,高速缓存中的数据丢失,确保具有这种功能的系统不受此影响是至关重要的。使用NVRAM没有这个问题。NVRAM是具有为高速缓存提供足够电量以完成对SSD或者HDD写入的超级电容器(supercap)或者电池备份的DRAM。

精明地使用DRAM/NVRAM高速缓存可以为固态驱动器存储系统提供更好的性能、更长的闪存SSD耗损寿命以及更好的用户体验。

相关推荐

  • 销毁SSD和保护数据的关键步骤

    SSD技术正在迅速发展。随着价格下降,速度和容量继续增长,SSD在存储市场获得更强的立足点。尽管它们有着较长的 […]

  • 存储经理人2017年8月刊:分解技术大揭秘

    《存储经理人》2017年8月刊重点关注分解技术,分解的理念在于用大量计算机来创建出独立的资源池,然后根据需要分配适当的资源组合,从而为各个应用程序提供相应服务。另外,混合云存储将工作负载可选择的部署范围扩展到多个云,并实现令人信服的使用场景,例如异地备份、灾难恢复和云负载爆发。本期电子杂志还将讨论数据中心的硬盘和SSD共存问题。

  • 为全闪存数据中心做好准备

    公司应该抛弃硬盘,将数据中心完全装上闪存,供应商已经解决了旧的SSD问题,比如磨损时间和成本。

  • 超融合技术之近况

    超融合存储降低了总体拥有成本,简化了安装,并为软件定义的数据中心做好准备。那么,你是否应当全面拥抱超融合系统呢?简而言之,答案是肯定的。