Triple-level cell(TLC)NAND flash is increasingly adopted to build solid-state drives(SSDs)for modern computer systems.While TLC NAND flash effectively improves storage density,it faces severe reliability issues;in par...Triple-level cell(TLC)NAND flash is increasingly adopted to build solid-state drives(SSDs)for modern computer systems.While TLC NAND flash effectively improves storage density,it faces severe reliability issues;in partic-ular,the pages exhibit different raw bit error rates(RBERs).Integrating strong low-density parity-check(LDPC)code helps to improve reliability but suffers from prolonged and proportional read latency due to multiple read retries for worse pages.The straightforward idea is that dispersing page-size data across several pages in different types can achieve a low-er average RBER and reduce the read latency.However,directly implementing this simple idea into flash translation lay-er(FTL)induces the read amplification issue as one logic page residing in more than one physical page brings several read operations.In this paper,we propose the Dynamic Request Interleaving(DIR)technology for improving the performance of TLC NAND flash-based SSDs,in particular,the aged ones with large RBERs.DIR exploits the observation that the la-tency of an I/O request is determined,without considering the queuing time,by the access of the slowest device page,i.e.,the page that has the highest RBER.By grouping consecutive logical pages that have high locality and interleaving their encoded data in different types of device pages that have different RBERs,DIR effectively reduces the number of read re-tries for LDPC with limited read amplification.To meet the requirement of allocating hybrid page types for interleaved data,we also design a page-interleaving friendly page allocation scheme,which splits all the planes into multi-plane re-gions for storing the interleaved data and single-plane regions for storing the normal data.The pages in the multi-plane re-gion can be read/written in parallel by the proposed multi-plane command and avoid the read amplification issue.Based on the DIR scheme and the proposed page allocation scheme,we build DIR-enable FTL,which integrates the proposed schemes into the FTL with some modifications.Our experimental results show that adopting DIR in aged SSDs exploits nearly 33%locality from I/O requests and,on average,reduces 43%read latency over conventional aged SSDs.展开更多
Recently,solid-state drives(SSDs)have been used in a wide range of emerging data processing systems.Essentially,an SSD is a complex embedded system that involves both hardware and software design.For the latter,firmwa...Recently,solid-state drives(SSDs)have been used in a wide range of emerging data processing systems.Essentially,an SSD is a complex embedded system that involves both hardware and software design.For the latter,firmware modules such as the flash translation layer(FTL)orchestrate internal operations and flash management,and are crucial to the overall input/output performance of an SSD.Despite the rapid development of new SSD features in the market,the research of flash firmware has been mostly based on simulations due to the lack of a realistic and extensible SSD development platform.In this paper,we propose SoftSSD,a software-oriented SSD development platform for rapid flash firmware prototyping.The core of SoftSSD is a novel framework with an event-driven programming model.With the programming model,new FTL algorithms can be implemented and integrated into a full-featured flash firmware in a straightforward way.The resulting flash firmware can be deployed and evaluated on a hardware development board,which can be connected to a host system via peripheral component interconnect express and serve as a normal non-volatile memory express SSD.Different from existing hardware-oriented development platforms,SoftSSD implements the majority of SSD components(e.g.,host interface controller)in software,so that data flows and internal states that were once confined in the hardware can now be examined with a software debugger,providing the observability and extensibility that are critical to the rapid prototyping and research of flash firmware.We describe the programming model and hardware design of SoftSSD.We also perform experiments with real application workloads on a prototype board to demonstrate the performance and usefulness of SoftSSD,and release the open-source code of SoftSSD for public access.展开更多
固态盘(solid state drive,SSD)因为其优越的性能已被大量部署于当前的存储系统中.但是,由于寿命有限,SSD的可靠性受到广泛的质疑.磁盘阵列(redundant arrays of inexpensive disk,RAID)是一种传统的用来提高可靠性的手段,但并不适用于S...固态盘(solid state drive,SSD)因为其优越的性能已被大量部署于当前的存储系统中.但是,由于寿命有限,SSD的可靠性受到广泛的质疑.磁盘阵列(redundant arrays of inexpensive disk,RAID)是一种传统的用来提高可靠性的手段,但并不适用于SSD.这项工作提出一种基于SSD和磁盘的混合存储系统,构建该系统的主要思想是SSD响应所有I/O请求,从而获得较高的性能;磁盘备份所有数据,从而保证系统的可靠性.但是,磁盘的I/O性能显著低于SSD,构建该系统的问题在于磁盘能否及时地备份SSD上的数据.为了解决这一问题,从两方面提出优化:在延迟方面,采用非易失主存弥补磁盘与SSD的延迟差距;在带宽方面,采用两种措施:1)在单块磁盘内部重组I/O请求,使磁盘尽可能的顺序读写;2)采用多块磁盘备份多块SSD,通过将一块SSD上的写请求分散到多块磁盘上,有效应对单块SSD上出现的突发写请求.通过原型系统实现表明,该混合系统是可行的:磁盘能够为SSD提供实时的数据备份;与其他系统相比,该混合系统取得较高的性价比.展开更多
以SSD(solid state drive)为代表的新型存储介质在虚拟化环境下得到了广泛的应用,通常作为虚拟机读写缓存,起到优化磁盘I/O性能的作用.已有研究往往关注SSD缓存的容量规划,依据缓存读写命中率评价SSD缓存分配效果,未能充分考虑SSD的服...以SSD(solid state drive)为代表的新型存储介质在虚拟化环境下得到了广泛的应用,通常作为虚拟机读写缓存,起到优化磁盘I/O性能的作用.已有研究往往关注SSD缓存的容量规划,依据缓存读写命中率评价SSD缓存分配效果,未能充分考虑SSD的服务能力上限,难以适用于典型的分布式应用场景,存在虚拟机抢占SSD缓存资源,导致虚拟机中应用性能违约的可能.实现了虚拟化环境下面向多目标优化的自适应SSD缓存系统,考虑了SSD的服务能力上限.基于自适应闭环实现对虚拟机和应用状态的动态感知.动态检测局部SSD缓存抢占状态,基于聚类方法生成虚拟机的优化放置方案,依据全局SSD缓存供给能力确定虚拟机迁移顺序和时机.实验结果表明,该方法在应对典型分布式应用场景时可以有效缓解SSD缓存资源的争用,同时满足应用对虚拟机放置的需求,提升应用的性能并兼顾应用的可靠性.在Hadoop应用场景下,平均降低了25%的任务执行时间,对I/O密集型应用平均提升39%的吞吐率.在Zoo Keeper应用场景下,以不到5%的性能损失为代价,应对了虚拟化主机的单点失效带来的虚拟机宕机问题.展开更多
Compared with traditional solid-state drives(SSDs),open-channel SSDs(OCSSDs)expose their internal physical layout and provide a host-based flash translation layer(FTL)that allows host-side software to control the inte...Compared with traditional solid-state drives(SSDs),open-channel SSDs(OCSSDs)expose their internal physical layout and provide a host-based flash translation layer(FTL)that allows host-side software to control the internal operations such as garbage collection(GC)and input/output(I/O)scheduling.In this paper,we comprehensively survey research works built on OCSSDs in recent years.We show how they leverage the features of OCSSDs to achieve high throughput,low latency,long lifetime,strong performance isolation,and high resource utilization.We categorize these efforts into five groups based on their optimization methods:adaptive interface customizing,rich FTL co-designing,internal parallelism exploiting,rational I/O scheduling,and efficient GC processing.We discuss the strengths and weaknesses of these efforts and find that almost all these efforts face a dilemma between performance effectiveness and management complexity.We hope that this survey can provide fundamental knowledge to researchers who want to enter this field and further inspire new ideas for the development of OCSSDs.展开更多
作为SSD(solid state drives)的存储元件,NAND闪存在进行写之前,存储单元必须先进行擦除,因此被称作写一次存储器。SSD的使用寿命受到存储单元的擦除次数的限制,因此减少擦除次数对于SSD的可靠性十分重要。提出了一种通过编码压缩后的...作为SSD(solid state drives)的存储元件,NAND闪存在进行写之前,存储单元必须先进行擦除,因此被称作写一次存储器。SSD的使用寿命受到存储单元的擦除次数的限制,因此减少擦除次数对于SSD的可靠性十分重要。提出了一种通过编码压缩后的差值信息的方法来对SSD中写过一次的页面进行二次写,从而减少SSD的擦除次数,延长使用寿命。首先计算物理页面中更新前后的数据的差值,然后将差值数据进行压缩,再将压缩后的数据进行编码后保存在写过的物理页中的可写位中,以此实现写过物理页的二次写。实验结果表明,对于数据更新为主的应用,该方法能够充分利用写过的物理页中的可写位,大幅减少SSD的擦除次数。展开更多
SSD(solid state drive)的写入寿命比较有限,因此除命中率外,SSD缓存设备的写入量成为评价缓存替换算法的另一个关键指标。如何使算法提高写入数据转化为缓存命中的效率,从而延长SSD的使用寿命,具有重要的研究意义。目前,已有缓存替换...SSD(solid state drive)的写入寿命比较有限,因此除命中率外,SSD缓存设备的写入量成为评价缓存替换算法的另一个关键指标。如何使算法提高写入数据转化为缓存命中的效率,从而延长SSD的使用寿命,具有重要的研究意义。目前,已有缓存替换算法的设计一般基于时间局部性,即刚被访问的数据短期内被访问的概率较高,因此需要频繁的数据更新和较高写入量来保证较高命中率;或是通过不低的开销屏蔽相对最差的部分数据来减少一定的写入量,还缺少用低开销获得数据长期热度规律,有效提高缓存数据质量的算法。提出了访问序列折叠的缓存替换算法,用比较低的开销定位拥有长期稳定热度的数据写入缓存,明显提高了SSD缓存数据质量,在保证命中率的同时减少了SSD的写入量。实验表明,访问序列折叠算法相比LRU(least recently used)算法可在命中率损失低于10%的情况下减少90%的写入量,与SieveStore、L2ARC(level2 adjustable replacement cache)等写入优化缓存算法相比,命中率相当时可将写入量减少50%以上,有效达到了通过缓存高质量数据,减少SSD的写入量,延长其使用寿命的目的。展开更多
作为传统硬盘强有力的竞争者,SSD(Solid State Drive,即固态硬盘)自诞生之初就受到电脑玩家的高度关注。但早期的SSD属于概念性产品,技术还不够成熟。经过两年多的发展,今年国内外各大品牌纷纷推出了大容量SSD,而国内玩家也能通...作为传统硬盘强有力的竞争者,SSD(Solid State Drive,即固态硬盘)自诞生之初就受到电脑玩家的高度关注。但早期的SSD属于概念性产品,技术还不够成熟。经过两年多的发展,今年国内外各大品牌纷纷推出了大容量SSD,而国内玩家也能通过各种渠道买到这些价值不菲的“发烧级”产品。那么,现在SSD究竟达到了什么样的性能水平,相比传统硬盘有多大的优势?以及国内晶牌的低价SSD和国外品牌的高价SSD有何差异?型计算机评测窒将在本次测试中为大家揭晓答案。展开更多
Modern solid-state drives (SSDs)are integrating more internal resources to achieve higher capacity.Parallelizing accesses across internal resources can potentially enhance the performance of SSDs.However,exploiting pa...Modern solid-state drives (SSDs)are integrating more internal resources to achieve higher capacity.Parallelizing accesses across internal resources can potentially enhance the performance of SSDs.However,exploiting parallelism inside SSDs is challenging owing to real-time access conflicts.In this paper,we propose a highly parallelizable I/O scheduler (PIOS)to improve internal resource utilization in SSDs from the perspective of I/O scheduling.Specifically, we first pinpoint the conflicting flash requests with precision during the address translation in the Flash Translation Layer (FTL).Then,we introduce conflict eliminated requests (CERs)to reorganize the I/O requests in the device-level queue by dispatching conflicting flash requests to different CERs.Owing to the significant performance discrepancy between flash read and write operations,PIOS employs differentiated scheduling schemes for read and write CER queues to always allocate internal resources to the conflicting CERs that are more valuable.The small dominant size prioritized scheduling policy for the write queue significantly decreases the average write latency.The high parallelism density prioritized scheduling policy for the read queue better utilizes resources by exploiting internal parallelism aggressively.Our evaluation results show that the paralle/izable I/O scheduler (PIOS)can accomplish better SSD performance than existing I/O schedulers implemented in both SSD devices and operating systems.展开更多
基金This work was supported by the National Key Research and Development Project of China under Grant No.2017YFB1001701the National Natural Science Foundation of China under Grant No.61972311in part by Shandong Provincial Natural Science Foundation of China under Grant No.ZR2019LZH007.
文摘Triple-level cell(TLC)NAND flash is increasingly adopted to build solid-state drives(SSDs)for modern computer systems.While TLC NAND flash effectively improves storage density,it faces severe reliability issues;in partic-ular,the pages exhibit different raw bit error rates(RBERs).Integrating strong low-density parity-check(LDPC)code helps to improve reliability but suffers from prolonged and proportional read latency due to multiple read retries for worse pages.The straightforward idea is that dispersing page-size data across several pages in different types can achieve a low-er average RBER and reduce the read latency.However,directly implementing this simple idea into flash translation lay-er(FTL)induces the read amplification issue as one logic page residing in more than one physical page brings several read operations.In this paper,we propose the Dynamic Request Interleaving(DIR)technology for improving the performance of TLC NAND flash-based SSDs,in particular,the aged ones with large RBERs.DIR exploits the observation that the la-tency of an I/O request is determined,without considering the queuing time,by the access of the slowest device page,i.e.,the page that has the highest RBER.By grouping consecutive logical pages that have high locality and interleaving their encoded data in different types of device pages that have different RBERs,DIR effectively reduces the number of read re-tries for LDPC with limited read amplification.To meet the requirement of allocating hybrid page types for interleaved data,we also design a page-interleaving friendly page allocation scheme,which splits all the planes into multi-plane re-gions for storing the interleaved data and single-plane regions for storing the normal data.The pages in the multi-plane re-gion can be read/written in parallel by the proposed multi-plane command and avoid the read amplification issue.Based on the DIR scheme and the proposed page allocation scheme,we build DIR-enable FTL,which integrates the proposed schemes into the FTL with some modifications.Our experimental results show that adopting DIR in aged SSDs exploits nearly 33%locality from I/O requests and,on average,reduces 43%read latency over conventional aged SSDs.
基金Project supported by the National Natural Science Foundation of China(No.62072333)the Research Grants Council of the Hong Kong Special Administrative Region,China(No.GRF 14219422)the Direct Grant for Research,The Chinese University of Hong Kong,China(No.4055151)。
文摘Recently,solid-state drives(SSDs)have been used in a wide range of emerging data processing systems.Essentially,an SSD is a complex embedded system that involves both hardware and software design.For the latter,firmware modules such as the flash translation layer(FTL)orchestrate internal operations and flash management,and are crucial to the overall input/output performance of an SSD.Despite the rapid development of new SSD features in the market,the research of flash firmware has been mostly based on simulations due to the lack of a realistic and extensible SSD development platform.In this paper,we propose SoftSSD,a software-oriented SSD development platform for rapid flash firmware prototyping.The core of SoftSSD is a novel framework with an event-driven programming model.With the programming model,new FTL algorithms can be implemented and integrated into a full-featured flash firmware in a straightforward way.The resulting flash firmware can be deployed and evaluated on a hardware development board,which can be connected to a host system via peripheral component interconnect express and serve as a normal non-volatile memory express SSD.Different from existing hardware-oriented development platforms,SoftSSD implements the majority of SSD components(e.g.,host interface controller)in software,so that data flows and internal states that were once confined in the hardware can now be examined with a software debugger,providing the observability and extensibility that are critical to the rapid prototyping and research of flash firmware.We describe the programming model and hardware design of SoftSSD.We also perform experiments with real application workloads on a prototype board to demonstrate the performance and usefulness of SoftSSD,and release the open-source code of SoftSSD for public access.
文摘固态盘(solid state drive,SSD)因为其优越的性能已被大量部署于当前的存储系统中.但是,由于寿命有限,SSD的可靠性受到广泛的质疑.磁盘阵列(redundant arrays of inexpensive disk,RAID)是一种传统的用来提高可靠性的手段,但并不适用于SSD.这项工作提出一种基于SSD和磁盘的混合存储系统,构建该系统的主要思想是SSD响应所有I/O请求,从而获得较高的性能;磁盘备份所有数据,从而保证系统的可靠性.但是,磁盘的I/O性能显著低于SSD,构建该系统的问题在于磁盘能否及时地备份SSD上的数据.为了解决这一问题,从两方面提出优化:在延迟方面,采用非易失主存弥补磁盘与SSD的延迟差距;在带宽方面,采用两种措施:1)在单块磁盘内部重组I/O请求,使磁盘尽可能的顺序读写;2)采用多块磁盘备份多块SSD,通过将一块SSD上的写请求分散到多块磁盘上,有效应对单块SSD上出现的突发写请求.通过原型系统实现表明,该混合系统是可行的:磁盘能够为SSD提供实时的数据备份;与其他系统相比,该混合系统取得较高的性价比.
文摘以SSD(solid state drive)为代表的新型存储介质在虚拟化环境下得到了广泛的应用,通常作为虚拟机读写缓存,起到优化磁盘I/O性能的作用.已有研究往往关注SSD缓存的容量规划,依据缓存读写命中率评价SSD缓存分配效果,未能充分考虑SSD的服务能力上限,难以适用于典型的分布式应用场景,存在虚拟机抢占SSD缓存资源,导致虚拟机中应用性能违约的可能.实现了虚拟化环境下面向多目标优化的自适应SSD缓存系统,考虑了SSD的服务能力上限.基于自适应闭环实现对虚拟机和应用状态的动态感知.动态检测局部SSD缓存抢占状态,基于聚类方法生成虚拟机的优化放置方案,依据全局SSD缓存供给能力确定虚拟机迁移顺序和时机.实验结果表明,该方法在应对典型分布式应用场景时可以有效缓解SSD缓存资源的争用,同时满足应用对虚拟机放置的需求,提升应用的性能并兼顾应用的可靠性.在Hadoop应用场景下,平均降低了25%的任务执行时间,对I/O密集型应用平均提升39%的吞吐率.在Zoo Keeper应用场景下,以不到5%的性能损失为代价,应对了虚拟化主机的单点失效带来的虚拟机宕机问题.
基金Project supported by the National Natural Science Foundation of China(No.62025203)。
文摘Compared with traditional solid-state drives(SSDs),open-channel SSDs(OCSSDs)expose their internal physical layout and provide a host-based flash translation layer(FTL)that allows host-side software to control the internal operations such as garbage collection(GC)and input/output(I/O)scheduling.In this paper,we comprehensively survey research works built on OCSSDs in recent years.We show how they leverage the features of OCSSDs to achieve high throughput,low latency,long lifetime,strong performance isolation,and high resource utilization.We categorize these efforts into five groups based on their optimization methods:adaptive interface customizing,rich FTL co-designing,internal parallelism exploiting,rational I/O scheduling,and efficient GC processing.We discuss the strengths and weaknesses of these efforts and find that almost all these efforts face a dilemma between performance effectiveness and management complexity.We hope that this survey can provide fundamental knowledge to researchers who want to enter this field and further inspire new ideas for the development of OCSSDs.
文摘作为SSD(solid state drives)的存储元件,NAND闪存在进行写之前,存储单元必须先进行擦除,因此被称作写一次存储器。SSD的使用寿命受到存储单元的擦除次数的限制,因此减少擦除次数对于SSD的可靠性十分重要。提出了一种通过编码压缩后的差值信息的方法来对SSD中写过一次的页面进行二次写,从而减少SSD的擦除次数,延长使用寿命。首先计算物理页面中更新前后的数据的差值,然后将差值数据进行压缩,再将压缩后的数据进行编码后保存在写过的物理页中的可写位中,以此实现写过物理页的二次写。实验结果表明,对于数据更新为主的应用,该方法能够充分利用写过的物理页中的可写位,大幅减少SSD的擦除次数。
文摘作为传统硬盘强有力的竞争者,SSD(Solid State Drive,即固态硬盘)自诞生之初就受到电脑玩家的高度关注。但早期的SSD属于概念性产品,技术还不够成熟。经过两年多的发展,今年国内外各大品牌纷纷推出了大容量SSD,而国内玩家也能通过各种渠道买到这些价值不菲的“发烧级”产品。那么,现在SSD究竟达到了什么样的性能水平,相比传统硬盘有多大的优势?以及国内晶牌的低价SSD和国外品牌的高价SSD有何差异?型计算机评测窒将在本次测试中为大家揭晓答案。
文摘Modern solid-state drives (SSDs)are integrating more internal resources to achieve higher capacity.Parallelizing accesses across internal resources can potentially enhance the performance of SSDs.However,exploiting parallelism inside SSDs is challenging owing to real-time access conflicts.In this paper,we propose a highly parallelizable I/O scheduler (PIOS)to improve internal resource utilization in SSDs from the perspective of I/O scheduling.Specifically, we first pinpoint the conflicting flash requests with precision during the address translation in the Flash Translation Layer (FTL).Then,we introduce conflict eliminated requests (CERs)to reorganize the I/O requests in the device-level queue by dispatching conflicting flash requests to different CERs.Owing to the significant performance discrepancy between flash read and write operations,PIOS employs differentiated scheduling schemes for read and write CER queues to always allocate internal resources to the conflicting CERs that are more valuable.The small dominant size prioritized scheduling policy for the write queue significantly decreases the average write latency.The high parallelism density prioritized scheduling policy for the read queue better utilizes resources by exploiting internal parallelism aggressively.Our evaluation results show that the paralle/izable I/O scheduler (PIOS)can accomplish better SSD performance than existing I/O schedulers implemented in both SSD devices and operating systems.