ElaineLv

Personal Homepage is elainelv.github.io

Tiny-Tail Flash

Near-Perfect Elimination of Garbage Collection Tail Latencies in NAND SSDs

本文是2017年FAST上的一篇paper,通过避免GC-blocked I/Os来消除GC所带来的尾端延迟。 问题引入 SSD并不总是能满足用户期待的性能要求,这正是因为尾端延迟存在。why is hard to meet SLAs with SSD? 一个首要的原因就是GC的影响,导致性能的不稳定。由于SSD自身的废旧地更新特点,在使用一段时间之后,系统内部的空闲资源越来越少,这就需......

MittOS

Supporting Millisecond Tail Tolerance with Fast Rejecting SLO-Aware OS Interface

这是一篇2017年SOSP上的会议文章 paper 问题引入 解决OS在集群上的QoS问题 当一个节点的资源竞争激烈无法满足当前请求时,转而竞争其他不太激烈的节点资源。因此用于解决由于竞争资源导致的等待所带来的尾端延迟问题。 确切地说,当一个application发出I/O请求之后,如果OS的I/O处于繁忙状态,那么此时APP就很有可能需要等待较长的一段时间才能被处理。这篇paper......

FastGC

Accelerate Garbage Collection via an Efficient Copyback-based Data Migration in SSDs

引子 我们知道,在闪存设备中,由于数据的非就地更新特性,并采用重映射的page写机制,使得在GC操作时需要先以block为单位进行erase。然而GC耗时且被频繁触发。 在GC过程中,传统基于数据迁移的copyback操作如上述所示,由于ECC纠错机制存在于SSD 控制器中,每次执行copyback操作时,需要将数据从Source Page中读取出来放到cache Register然后一步......
SSD

LDPC in SSD

low-density parity-check (LDPC) code

好久不写了……很想写一篇! 最近这一个月在忙paper的实验部分,课题是解决上述LDPC引起的严重尾端延迟问题。还没有结束,接下来这段时间也是,可能会很少更新,哭唧唧。 大概要持续到六月初…那就先占个坑吧,先写写有关于研究LDPC必看的一篇paper,LDPC-in-SSD ...

读NVMe之Directives与Stream

对NVMe支持的多流SSD进行整理,虽然在NVMe1.3c中关于这方面的篇幅不长,但还是可以清楚的了解从上层软件到下层设备是如何进行信息交换的 Directives 可以看到在NVMe1.3c的第九章中,讲述了这部分内容。Directives是host和NVM subsystem/controller之间信息交换的机制,实现了SSD设备和上层软件之间的信息交互,而stream只是dir......

PA-SSD

A Page-TypeAware TLC SSD for Improved Write/Read Performance and Storage Efficiency

在传统的TLC SSD中,不区分page type,因此由于不同的子请求分到的page-types不一样,那么产生的延迟也就不同,而对于一个用户请求来说,需要等到所有的子请求都完成返回之后才算整个请求结束,这就造成写效率非常低。根据存在的这个问题本文提出PA-SSD,将单个用户写请求所分的子请求使用相同的page type进行分配。具体为:对于每个用户请求分配第一个子请求时,根据本文提出的7......

SSDcheck

Timely and Accurate Prediction of Irregular Behaviors in Black-Box SSDs

本文提出的idea主要用来解决SSD内部不规则行为所导致的响应延迟不一致而影响QoS问题,此问题的存在导致不能很好的展现SSD的高性能、低延迟、低开销优势 导语 现代的SSD不仅仅是一个快速存储设备,而是一个高度复杂的计算机系统,这个复杂的系统有一个嵌入式处理器和多个硬件单元组成,例如,flash cells、channel。嵌入式处理器执行复杂程序以实现非易失性单元的可编程性(例如,读......
QoS

读NVMe之Multipathing与Namespace Sharing

multi-path I/O指单个主机和命名空间之间两个或多个完全独立的PCI Express路径,而Namespace Sharing是指两个或多个主机使用不同NVM Express控制器访问命名空间 可以看出,不管是multi-path I/O还是namespace sharing都要求NVM subsystem包含有两个或者更多的控制器。 1.图3显示了一个单功能的NVM子系统,它包含......

读NVMe之I/O Determinism

目前NVMe官网上最新的一个版本是1.3c,也就是我正在看的这个版本,发布于2018年5月24日。而2019年,NVMe1.4版本将是NVMe标准化组织工作重点,此次更新的重点之一就是I/O Determinism——是一把提高QoS的利器! NVMe协议族的路线图: 区分multi-stream与I/O determinism? multi-stream: 为了改善GC问题,使得具有相......

读NVMe之PRP与SGL

之前两篇博文介绍了SQ、CQ、DB三大命令传输时的重要数据结构。那么本篇博文和大家分享的是两大记录数据在内存位置的方式:PRP和SGL,在对SSD进行读写操作时,需要告诉SSD当前数据在内存的位置。我们知道NVMe1.3 版本中添加了新的功能,在了解了这些基础的内容之后将和大家一起分享目前研究的热点Multi-Stream以及I/O Determinism 相关介绍 在讲正式内容之前,......