论文部分内容阅读
由传统机械磁盘(Hard Disk Drive)构成的存储系统的I/O效率长期以来是整个计算机系统的性能瓶颈。尤其是在当前计算能力与需求不断提高的背景下,如多核处理器的广泛普及和大数据应用的出现,计算与存储系统之间的性能差距越来越大,I/O瓶颈问题也随之愈加严重。引起I/O瓶颈的主要原因在于机械磁盘(HDD)物理上的访问特点,如非随机性、寻道等待、旋转延迟等。近年来,基于闪存(Flash Memory)的固态盘(Solid State Drive)技术得到了很大发展,其生产成本已大大降低,性价比也已接近甚至优于HDD,因而在存储系统中逐渐被广泛采用了。与传统机械磁盘HDD不同,SSD完全由半导体芯片构成,没有机械部件,因而具有高性能、高可靠性、可随机访问、低功耗等特点。SSD技术有望消除存储系统的I/O瓶颈并给存储系统带来根本性变革。然而,尽管SSD具有明显的性能优势,但因其内部结构上的不同而具有不同的特征与缺点。其中最明显和最重要的特征是组成SSD的基本部件是一种可擦写可编程只读内存(EEPROM)芯片,使得SSD内存储芯片原地覆写(in-place update)的代价太高,并且只具有有限次的擦写次数(寿命)。因此,为了最大限度地利用所有构成芯片,SSD内部引入一个闪存转换层FTL(Flash Translation Layer)来完成逻辑地址到物理地址的转换、擦写损耗均衡以及垃圾回收等功能。随着半导体技术进一步成熟以及SSD在存储系统中的应用愈加广泛和重要,研究在现代存储系统中如何最大限度地利用SSD,与此同时避免其内在缺陷,具有重要研究意义。研究工作从以下几个方面对如何在现代存储系统中有效地应用SSD展开。(1)利用SSD不能原地更新写(out-of-place update)的特性,提出BVSSD,一种能够利用SSD内部已经被覆写(superseded)但仍然存在于其中的历史数据实现块级连续数据保护功能原型系统。与机械磁表面记录不同,SSD内的存储芯片支持读(read)、写(program)、擦除(erase)三种操作。存储芯片是由多层次结构构成的,主要包括页面、块、组、晶圆、芯片组成。其中读和写操作是以页面为单位,而擦除必须以整个块为单位。页而在被写入新的内容之前必须经过擦除操作。SSD在每次进行写操作之前,都先将数据写入到一个空闲且已擦除的页面,然后更新FTL映射表。BVSSD跟踪并保存FTL的历史变化过程,恢复时只需将对应的FTL映射表状态恢复到某历史时刻的状态即可将SSD的存储状态恢复至之前的状态。是一种非常轻量级的块级连续数据保护实现方式。(2)利用SSD内部丰富的并行性实现了一种新的针对固态盘的内核块层I/O调度器PASS。SSD内部是由多个芯片,每个芯片内部又是一种多层次结构,因而具有丰富的潜在并行性可以利用以获得较高性能。并行性主要包括通道级并行性、芯片间并行性、晶圆之间并行性以及块组之间的并行性。PASS将整个SSD的逻辑地址访问空间划分为若干个连续区域,并且以这样的区域为调度单元,每个调度单元与一个调度队列关联。PASS在内核块层将块请求按其访问的地址放入对应的队列,并采取预防读写干扰的措施。实验表明,这种按访问地址调度的I/O调度器确实挖掘了固态内部并行性并获得较好系统性能。(3)利用固态盘SSD与机械磁盘]HDD之间在性能、容量、成本、寿命等方面存在的互补优缺点,构建由固态盘和机械式磁盘组成的混合式存储系统HSStore。在HSStore系统中,固态盘作为磁盘上层的缓存空间而存在。请求分派器对到达的I/O请求进行监控并且将大的顺序写请求和小的随机写请求从缓存层过滤掉,直接将他们发送到磁盘上。并且跟踪缓存中未命中的读请求,若数据块的未命中次数超过一定阈值时,则数据迁移模块会将数据块从机械式磁盘上迁移到固态盘缓存中。通过利用这些方法,既增加了固态盘的有效缓存空间,又延长了其使用寿命。以上几方面的研究工作从不同的角度对固态盘(SSD)在存储系统中的应用进行了探讨。研究结果表明,固态盘(SSD)自身具有很大的潜在优势,若能在使用SSD的同时扬长避短,在系统设计中充分考虑其优缺点,将有助于进一步改善存储系统的性能。