ElaineLv

人生如逆旅,我亦是行人!

FLIN

Enabling Fairness and Enhancing Performance in Modern NVMe Solid State Drives

Flash-Level INterference-aware scheduler 分析Multi-Queue引起的不公平是由于应用之间存在干扰所致,分析干扰来源,提出干扰感知调度器FLIN。在SSD控制器内将事务重新排序,平衡并发应用之间的推进速度,实现fairness,原文链接 写在文前 在NVMe SSD中,使用了Multi-Queue,使得SSD可以跨过块设备层直接访问应用层I/O......

QoS-aware Flash Memory Controller

SSD内部的GC导致性能的下降和吞吐量的波动,这极大的影响实时系统的QoS 在FLASH存储器中满足QoS要求有三大挑战: 在共享一个FLASH子系统时,多个FTL任务之间存在资源争用 任务的关键程度取决于存储系统的状态。当系统的空闲块数量较少时,垃圾收集的性能就成为瓶颈,因为需要为主机写入回收空间 由于垃圾回收引起的负载不均衡 针对上述问题,本文讲述了三方面的特征:1. FTL任务之间......

Multi-Queue Fair Queuing

写在文前 在学习这篇文章前,先来了解下块设备层中Multi-Queue的概念,Linux Block IO: Introducing Multi-queue SSD Access on Multi-core Systems,这篇文章于2013年发在SYSTOR,首次提出了multi-queue,从Linux5.0开始就成为块设备层的默认选项,介绍 Linux 内核的块设备层针对现代硬件——高......

SOML Read

Rethinking the Read Operation Granularity of 3D NAND SSDs

4月美国举办的ASPLOS19’上一篇最新的paper,来自Myoungsoo Jung大佬团队 问题引入 1)3D NAND相比于2D NAND具有更高的density,因此同等容量下,3D NAND的chips数量相对就少,降低了chip-level parallelism。这会导致在相同的时间内被处理的请求数量减少,从而导致整个性能的下降。 从图中可以看出,对于read-int......

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然后一步......

LDPC in SSD

low-density parity-check (LDPC) code

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

[NVMe]读NVMe之Directives与Stream

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

[SSD]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......