基于物理隔离和高可靠的多租户固态盘系统文献综述
2020-04-14 19:49:15
与传统的硬盘驱动器相比,固态盘(SSD, Solid State Drive)因其高吞吐量、低延迟和高能源利用效率,如今被广泛用作存储介质。
一方面,云服务虚拟机使用固态盘作为存储设备的情况正在成为常态[12,13],并且flash/固态盘阵列是高端存储服务器的流行解决方案。随着云服务的普及,在数据中心和企业平台上,大容量的固态盘s通过虚拟化在多个租户之间共享。固态盘虚拟化指几个虚拟固态盘通过划分一个实际固态盘的物理容量创建。更具体地说,在多租户的情况下,云服务提供商努力确保不同用户之间的性能隔离(各用户的I/O操作无相互干扰),以提供令人满意的用户体验。最近的研究[1,6,7]表明固态盘的固有并行性可以用来提高隔离性,即固态盘的物理单元,比如channel和die,可以或多或少地独立操作,以避免这些虚拟的固态盘对彼此性能的不利影响。
另一方面,由于现代固态盘的比特错误率(BER)越来越高,传统的错误校正技术,如先进错误预测(AEP)低密奇偶校验编码(LDPC)的错误校正编码(ECC)和错误分散编码(EDC),如今已经不再足以保护的数据[10,11,18,19,20]。并且,闪存芯片的市场趋势是高密度但低可靠性。此外,更复杂的ECC硬件也会导致更高的产品成本、更多的能源消耗和更低的ECC吞吐量。因此,在固态盘内部使用独立磁盘冗余阵列(RAID)是在发生die错误时有额外数据保护的有效措施[10]。
近几年有许多关于固态盘独立磁盘冗余阵列(RAIN)的研究,具体来说,[8]提出了超级页级(superpage-level)的奇偶校验(parity),[9]提到了固态盘内部的独立磁盘冗余阵列(RAIN5),[11]提出了一种硬件抽象层(HAL)技术,在闪存转换层(FTL)和物理闪存芯片之间添加了内置奇偶校验保护的高可靠性虚拟芯片。然而,这些研究没有考虑到多租户硬件隔离和固态盘独立磁盘冗余阵列的结合。也就是说,传统的固态盘独立磁盘冗余阵列5(RAIN5)在垃圾回收(GC)时会引起不同租户之间严重的I/O干扰。在固态盘独立磁盘冗余阵列4(RAIN4)中,当奇偶校验盘使用NAND闪存介质时,存放奇偶校验的芯片(chip)将成为整个固态盘性能的瓶颈,因为它会产生严重的写放大(WA)和长的读写响应时间[14]。
随着持久性存储器(PM,Persistent Memory)的出现,如相变存储器(PCM,Phase Change Memory)[16],旋转传递扭矩磁性随机存储器(MRAM)[17],和3D Xpoint[15],固态盘可以达到更大的耐久度(P/E Cycle)和更低的延迟,这给内存和存储解决方案带来了新的契机。[15]中的3D Xpoint已经是一种成熟的技术并且已经商业化,它的耐久度超过Nand闪存的1000倍,密度超过传统内存的10倍。
在本研究中,我们提出了一种在多租户背景下的固态盘内部独立冗余磁盘阵列,利用3Dxpoint介质作为RAIN4的奇偶校验盘来解决性能“瓶颈”问题,同时保证用户体验。为了优化奇偶校验更新的时间开销,将同时读取或写入同一物理位置——物理页码(ppn)的奇偶校验操作合并为单个操作。为了进一步减少由垃圾回收引起的延迟,我们选择在闪存页变无效时更新相应位置的奇偶校验码,因此在垃圾回收时不需要读取无效页以更新奇偶校验码。
{title}2. 研究的基本内容与方案
{title}研究内容:
随着闪存技术的快速发展,固态盘的容量不断提高,成本不断下降。在数据中心和云存储环境下,多租户共享使用固态盘已经成为了常态。为了避免多租户的I/O请求之间相互干扰,一个常见的方法是采取基于物理隔离的存储空间分配方式,即根据容量和性能需求,给每个租户分配一个或多个闪存单元(channel/die)。另一方面,固态盘通常需要采用 RAID 技术,以增强可靠性。传统的 RAID 实现会造成租户之间的干扰,与物理隔离的目的相矛盾,所以,如何实现基于物理隔离的RAID技术成为了一个重要的问题。本设计研究如何利用高性能的新型非易失存储器实现租户隔离的RAID技术。
任务:
1.熟悉固态盘的内部构造和具体设计,阅读仿真器 SSDsim源码;