全闪存阵列与分布式全闪存...
TRANSCRIPT
![Page 1: 全闪存阵列与分布式全闪存 的架构与技术发展file.ehuiapp.com/2017/0627/919999.pdf · 1 全闪存阵列与分布式全闪存 的架构与技术发展 舒继武 207年6月21日](https://reader034.vdocuments.net/reader034/viewer/2022050707/5a74c10e7f8b9a0d558be506/html5/thumbnails/1.jpg)
1
全闪存阵列与分布式全闪存
的架构与技术发展
舒继武207年6月21日
清华大学计算机系
清华大学信息科学与技术国家实验室(筹)
http://storage.cs.tsinghua.edu.cn/~jiwu-shu/ 2017-6-21 Tsinghua Univ.—Jiwu Shu
![Page 2: 全闪存阵列与分布式全闪存 的架构与技术发展file.ehuiapp.com/2017/0627/919999.pdf · 1 全闪存阵列与分布式全闪存 的架构与技术发展 舒继武 207年6月21日](https://reader034.vdocuments.net/reader034/viewer/2022050707/5a74c10e7f8b9a0d558be506/html5/thumbnails/2.jpg)
主要内容
2
背景一
分布式全闪存系统三
协议四
相关公司闪存阵列介绍五
全闪存阵列二
2017-6-21 Tsinghua Univ.—Jiwu Shu
![Page 3: 全闪存阵列与分布式全闪存 的架构与技术发展file.ehuiapp.com/2017/0627/919999.pdf · 1 全闪存阵列与分布式全闪存 的架构与技术发展 舒继武 207年6月21日](https://reader034.vdocuments.net/reader034/viewer/2022050707/5a74c10e7f8b9a0d558be506/html5/thumbnails/3.jpg)
一 背景
在计算机系统的三大基石(计算、存储、通信)中,唯有存储仍包含机械式部件操作
电子式存储器件-闪存-是电子式计算机发展的趋势
然而,如何充分发挥闪存优势?
系统调用
进程管理
设备驱动
磁盘HDD
操作系统(内核态)
应用程序(用户态)
硬件设备
内存管理
文件系统
网络通信
CPU
内存网卡
计算 存储 通信
磁盘HDD芯片 芯片 芯片
FTLSSD
芯片
文件系统
2017-6-21 Tsinghua Univ.—Jiwu Shu
![Page 4: 全闪存阵列与分布式全闪存 的架构与技术发展file.ehuiapp.com/2017/0627/919999.pdf · 1 全闪存阵列与分布式全闪存 的架构与技术发展 舒继武 207年6月21日](https://reader034.vdocuments.net/reader034/viewer/2022050707/5a74c10e7f8b9a0d558be506/html5/thumbnails/4.jpg)
4
一背景:闪存在构建外存系统中的优势
以目前广泛应用的闪存为例
低延迟、高带宽、随机读写性能高
成本“优势”
容量 RMB/GB RMB/IOPS
Samsung 840 256 GB 5.86 0.015
Seagate Barracuda 3 TB 0.26 50
设备 随机读 随机写 读带宽 写带宽
Fusion-IO ioDrive2 480K IOPS 490K IOPS 3GB/s 2.5GB/s
Samsung 840 100K IOPS 78K IOPS 540MB/s 450MB/s
Seagate Barracuda 52 IOPS 47 IOPS 156MB/s 156MB/s
2017-6-21 Tsinghua Univ.—Jiwu Shu
![Page 5: 全闪存阵列与分布式全闪存 的架构与技术发展file.ehuiapp.com/2017/0627/919999.pdf · 1 全闪存阵列与分布式全闪存 的架构与技术发展 舒继武 207年6月21日](https://reader034.vdocuments.net/reader034/viewer/2022050707/5a74c10e7f8b9a0d558be506/html5/thumbnails/5.jpg)
5
以目前广泛应用的闪存为例
可靠性高:
低能耗:[SOSP’09 FAWN]
HDD MTTF = 500K Hours.
SSD MTTF = 2M Hours.source : SanDisk SSD: A More Reliable Alternative to the Laptop HDD ,2007
System Watts QPS Queries /Joule
2TB HDD 20 250 12.5
32GB SSD 15 35K 2.3K
一背景:闪存在构建外存系统中的优势
2017-6-21 Tsinghua Univ.—Jiwu Shu
![Page 6: 全闪存阵列与分布式全闪存 的架构与技术发展file.ehuiapp.com/2017/0627/919999.pdf · 1 全闪存阵列与分布式全闪存 的架构与技术发展 舒继武 207年6月21日](https://reader034.vdocuments.net/reader034/viewer/2022050707/5a74c10e7f8b9a0d558be506/html5/thumbnails/6.jpg)
一背景:闪存应用结构的变革
闪存存储的分类
固态盘
1.固态盘的形式限制了闪存优势的发挥,SATA接口成为存储速度的瓶颈。
2.以文件系统为代表的系统软件,大多以磁盘为假设进行优化,较少
考虑闪存特性,其优势难以得到充分发挥。
3.在等待闪存读写时,不能利用主机空闲的计算和内存资源。
Source: Desgin Tradeoffs for SSD Performance. USENIX’08, UWM
2017-6-21 Tsinghua Univ.—Jiwu Shu
![Page 7: 全闪存阵列与分布式全闪存 的架构与技术发展file.ehuiapp.com/2017/0627/919999.pdf · 1 全闪存阵列与分布式全闪存 的架构与技术发展 舒继武 207年6月21日](https://reader034.vdocuments.net/reader034/viewer/2022050707/5a74c10e7f8b9a0d558be506/html5/thumbnails/7.jpg)
一背景:闪存应用结构的变革(续)
闪存存储的分类
PCIe 闪存卡
1、在主机端实现闪存转换层
2、能利用主机的冗余计算和缓存能
力
3、利用异地更新的特性,可实现多
闪存页的原子写操作,避免log带
来的重复写,延长寿命
4、将内部的设备信息开放给系统软
件,使优化更有针对性
Source: Survey on Flash-Based Storage Systems. JCRD’13, THU
难以实现存储容量的扩展及存储共享
相比于固态盘,体积和发热较大2017-6-21 Tsinghua Univ.—Jiwu Shu
![Page 8: 全闪存阵列与分布式全闪存 的架构与技术发展file.ehuiapp.com/2017/0627/919999.pdf · 1 全闪存阵列与分布式全闪存 的架构与技术发展 舒继武 207年6月21日](https://reader034.vdocuments.net/reader034/viewer/2022050707/5a74c10e7f8b9a0d558be506/html5/thumbnails/8.jpg)
一背景:闪存应用结构的变革(续)
闪存存储的分类
闪存阵列
基于传统存储阵列的演进式设计
SSD HDD
优化的存储控制器
基于全闪存阵列的革新式设计
闪存芯片 HDD
全新的阵列控制器
结构复杂,价格昂贵 相比磁盘阵列,有效容量较低
2017-6-21 Tsinghua Univ.—Jiwu Shu
![Page 9: 全闪存阵列与分布式全闪存 的架构与技术发展file.ehuiapp.com/2017/0627/919999.pdf · 1 全闪存阵列与分布式全闪存 的架构与技术发展 舒继武 207年6月21日](https://reader034.vdocuments.net/reader034/viewer/2022050707/5a74c10e7f8b9a0d558be506/html5/thumbnails/9.jpg)
一背景:全闪存阵列
全闪存阵列(all-flash array, AFA)
一种仅包含闪存介质的存储架构,也叫固态盘阵列(Solid-State
Array, SSA)
闪存卡的缺点:容量小、难以扩展和共享
全闪存阵列优势:
性能更高
可扩展性好
效率
数据保护
功能(快照、数据去重和压缩等)
92017-6-21 Tsinghua Univ.—Jiwu Shu
![Page 10: 全闪存阵列与分布式全闪存 的架构与技术发展file.ehuiapp.com/2017/0627/919999.pdf · 1 全闪存阵列与分布式全闪存 的架构与技术发展 舒继武 207年6月21日](https://reader034.vdocuments.net/reader034/viewer/2022050707/5a74c10e7f8b9a0d558be506/html5/thumbnails/10.jpg)
主要内容
10
背景一
分布式全闪存系统三
协议四
相关公司闪存阵列介绍五
全闪存阵列二
2.1 全闪存阵列关键技术
2.2 本地闪存系统软件
![Page 11: 全闪存阵列与分布式全闪存 的架构与技术发展file.ehuiapp.com/2017/0627/919999.pdf · 1 全闪存阵列与分布式全闪存 的架构与技术发展 舒继武 207年6月21日](https://reader034.vdocuments.net/reader034/viewer/2022050707/5a74c10e7f8b9a0d558be506/html5/thumbnails/11.jpg)
2.1 全闪存阵列关键技术
数据去重
在备份和归档系统中80-90%数据是冗余的。闪存单位容量的价格
高于机械硬盘,因此数据去重技术在全闪存阵列中有重要意义。
磨损均衡
每个SSD的FTL内部有磨损均衡策略,但使用SSD构建的闪存阵列
需要磨损均衡机制在SSD之间进行全局磨损均衡
数据保护
MLC型闪存可靠性较低,使用RAID机制和多副本技术进行数据保
护
闪存感知
考虑闪存垃圾回收开销高、有限写寿命、读写性能不平衡等特点
,进行特定的优化
112017-6-21 Tsinghua Univ.—Jiwu Shu
![Page 12: 全闪存阵列与分布式全闪存 的架构与技术发展file.ehuiapp.com/2017/0627/919999.pdf · 1 全闪存阵列与分布式全闪存 的架构与技术发展 舒继武 207年6月21日](https://reader034.vdocuments.net/reader034/viewer/2022050707/5a74c10e7f8b9a0d558be506/html5/thumbnails/12.jpg)
(1)数据去重
数据划分方法
全文件分块(EMC Centera)
静态分块(Oceanstore,Venti)
基于内容分块(LBFS,Pastiche)
I/O优化技术
利用Chunk重复局部性减少I/O次数
分层去重优化策略
利用新型存储介质存放索引
系统可靠性
副本机制
纠删码
系统可扩展性
122017-6-21 Tsinghua Univ.—Jiwu Shu
![Page 13: 全闪存阵列与分布式全闪存 的架构与技术发展file.ehuiapp.com/2017/0627/919999.pdf · 1 全闪存阵列与分布式全闪存 的架构与技术发展 舒继武 207年6月21日](https://reader034.vdocuments.net/reader034/viewer/2022050707/5a74c10e7f8b9a0d558be506/html5/thumbnails/13.jpg)
(1)数据去重
132017-6-21 Tsinghua Univ.—Jiwu Shu
Source: ChunkStash: Speeding up Inline Storage Deduplication using Flash Memory, ATC’10, Microsoft, UMN
基本思想:把文件划分为块,每块计算出fingerprint,使用哈希表组织fingerprint,根据fingerprint判断块的内容是否相同
存在的问题:哈希索引太大,需要存放在外部设备里,查找外部设备造成瓶颈
基于指纹匹配的数据去重
![Page 14: 全闪存阵列与分布式全闪存 的架构与技术发展file.ehuiapp.com/2017/0627/919999.pdf · 1 全闪存阵列与分布式全闪存 的架构与技术发展 舒继武 207年6月21日](https://reader034.vdocuments.net/reader034/viewer/2022050707/5a74c10e7f8b9a0d558be506/html5/thumbnails/14.jpg)
Bloom filter 优点就是它的插入和查询时间都是常数,另外它查
询元素却不保存元素本身,具有良好的安全性。
使用特殊数据布局和LPC(Locality Preserving Cache)缓存算法
,充分利用局部性减少外设查找次数。
索引查找引起的磁盘IO减少了99%
14
0 1 0 0 0 0 1 0 0 1 1 1 0 1 1 0
x
(1)数据去重
1: Avoiding the Disk Bottleneck in the Data Domain Deduplication File System fast’08
利用 Bloom Fliter 加速fingerprint查找(FAST’2008)
2017-6-21 Tsinghua Univ.—Jiwu Shu
![Page 15: 全闪存阵列与分布式全闪存 的架构与技术发展file.ehuiapp.com/2017/0627/919999.pdf · 1 全闪存阵列与分布式全闪存 的架构与技术发展 舒继武 207年6月21日](https://reader034.vdocuments.net/reader034/viewer/2022050707/5a74c10e7f8b9a0d558be506/html5/thumbnails/15.jpg)
(1)数据去重
发挥闪存顺序写的优势
,以追加写的形式写闪
存
使用write buffer避免小粒
度写
使用类似cuckoo hash的
方式解决冲突
压缩key值减少内存使用
备份吞吐量比传统在线
去重方式提升7-60倍
152017-6-21 Tsinghua Univ.—Jiwu Shu
发挥闪存特性的在线去重(ATC’2010)
1: ChunkStash: Speeding up Inline Storage Deduplication using Flash Memory, ATC’10, Microsoft, UMN
![Page 16: 全闪存阵列与分布式全闪存 的架构与技术发展file.ehuiapp.com/2017/0627/919999.pdf · 1 全闪存阵列与分布式全闪存 的架构与技术发展 舒继武 207年6月21日](https://reader034.vdocuments.net/reader034/viewer/2022050707/5a74c10e7f8b9a0d558be506/html5/thumbnails/16.jpg)
(1)数据去重
目标:减少内存使用;易于扩展的架构
为方便扩展,允许一定的数据重复
分布式架构
分层的设计
16
1: Extreme Binning: Scalable, Parallel Deduplication for Chunk-based File Backup, MASCOTS’09, UCSC, Hewlett-Packard Laboratories
面向并行、可扩展的去重技术(MASCOTS’2009)
2017-6-21 Tsinghua Univ.—Jiwu Shu
![Page 17: 全闪存阵列与分布式全闪存 的架构与技术发展file.ehuiapp.com/2017/0627/919999.pdf · 1 全闪存阵列与分布式全闪存 的架构与技术发展 舒继武 207年6月21日](https://reader034.vdocuments.net/reader034/viewer/2022050707/5a74c10e7f8b9a0d558be506/html5/thumbnails/17.jpg)
(2)磨损均衡
校验数据差异分布阵列Diff-RAID(TOS’10) RAID5盘间损耗较为均匀,由于闪存的特性,各个盘老化程度将会很接近,同时损坏的可能性会大大增加。而RAID5最多能容忍一个盘损坏,若是
出现多个盘同时损坏或者是在重建期间有数据盘损坏的关联错误,会导致数据不可恢复。
校验码比数据更新频繁,Diff-RAID根据设备的老化程度来决定校验码分配比例
让老化设备加速老化,然后用新设备替换
172017-6-21 Tsinghua Univ.—Jiwu Shu 1: Differential RAID: Rethinking RAID for SSD Reliability, 2010 Trans on Storage, Microsoft, University of Wisconsin-Madison
![Page 18: 全闪存阵列与分布式全闪存 的架构与技术发展file.ehuiapp.com/2017/0627/919999.pdf · 1 全闪存阵列与分布式全闪存 的架构与技术发展 舒继武 207年6月21日](https://reader034.vdocuments.net/reader034/viewer/2022050707/5a74c10e7f8b9a0d558be506/html5/thumbnails/18.jpg)
(2)磨损均衡
闪存阵列分成活跃设备
组和预备设备组。
热数据均匀分布在活跃
设备组,组内设备磨损
尽量一致。
整个系统达到寿命限度
时,迁移控制器把数据
从活跃设备组整体迁移
到准备设备组
182017-6-21 Tsinghua Univ.—Jiwu Shu
基于闪存组的磨损均衡(NPC’11)
1: WeLe-RAID: a SSD-based RAID for system endurance and performance, NPC 2011,
![Page 19: 全闪存阵列与分布式全闪存 的架构与技术发展file.ehuiapp.com/2017/0627/919999.pdf · 1 全闪存阵列与分布式全闪存 的架构与技术发展 舒继武 207年6月21日](https://reader034.vdocuments.net/reader034/viewer/2022050707/5a74c10e7f8b9a0d558be506/html5/thumbnails/19.jpg)
(3)数据保护
应用在SSD层面 应用在闪存层面
19
RAID机制
纠删码
2017-6-21 Tsinghua Univ.—Jiwu Shu
![Page 20: 全闪存阵列与分布式全闪存 的架构与技术发展file.ehuiapp.com/2017/0627/919999.pdf · 1 全闪存阵列与分布式全闪存 的架构与技术发展 舒继武 207年6月21日](https://reader034.vdocuments.net/reader034/viewer/2022050707/5a74c10e7f8b9a0d558be506/html5/thumbnails/20.jpg)
(4)闪存感知
闪存感知的冗余阵列FRA
把校验信息的更新延迟到空闲时间执行
使用双页映射表判断校验信息是否更新
优化了小写性能,但降低了数据可靠些
202017-6-21 Tsinghua Univ.—Jiwu Shu
1: FRA: a flash-aware redundancy array of flash storage devices, CODES+ISSS 2009, Samsung, Hanyang University
![Page 21: 全闪存阵列与分布式全闪存 的架构与技术发展file.ehuiapp.com/2017/0627/919999.pdf · 1 全闪存阵列与分布式全闪存 的架构与技术发展 舒继武 207年6月21日](https://reader034.vdocuments.net/reader034/viewer/2022050707/5a74c10e7f8b9a0d558be506/html5/thumbnails/21.jpg)
主要内容
21
背景一
分布式全闪存系统三
协议四
相关公司闪存阵列介绍五
全闪存阵列二
2.1 全闪存阵列关键技术
2.2 本地闪存系统软件
![Page 22: 全闪存阵列与分布式全闪存 的架构与技术发展file.ehuiapp.com/2017/0627/919999.pdf · 1 全闪存阵列与分布式全闪存 的架构与技术发展 舒继武 207年6月21日](https://reader034.vdocuments.net/reader034/viewer/2022050707/5a74c10e7f8b9a0d558be506/html5/thumbnails/22.jpg)
2.2 本地闪存系统软件
随着存储介质访问延迟的越来越低,软件开销所占比例越来越
高。报告1指出,传统磁盘存储系统中,软件开销所占比例为0.3%,
PCIe闪存卡系统中软件开销占21.9%,随着NVM的发展,预计软
件开销比例将高达94.09%。
1: Redrawing the boundary between software and storage for fast non-volatile memories.[OL] 2012-9-1, UCSD
2017-6-21 Tsinghua Univ.—Jiwu Shu
![Page 23: 全闪存阵列与分布式全闪存 的架构与技术发展file.ehuiapp.com/2017/0627/919999.pdf · 1 全闪存阵列与分布式全闪存 的架构与技术发展 舒继武 207年6月21日](https://reader034.vdocuments.net/reader034/viewer/2022050707/5a74c10e7f8b9a0d558be506/html5/thumbnails/23.jpg)
2.2 本地闪存系统软件
23
分布式闪存的研究- NSDI’12
- SOSP’13
- ICCD’13
- IPDPS’14
基于闪存的事务管理- SOSP’09
- HPCA’11
- ICCD’13
- TC’16
Block Device Drivers
Process
Management
Memory
Management
Kernel
Space
User SpaceApplications(Database, Apache, ...)
Read, write, deallocate, write-atomic
SSD简化的
核心控制器
VFS
分布式文件系统
Flash
存储
设备
SATA 控制器
Flash
chip
Flash
chip
Flash
chip
Read、Write、Erase
SATA/PCIe/Network Drivers
FTL
兼容 (空间分配)
新型存储转换层
SSD控制器SSD
SATA 控制器
Flash
chip
Flash
chip
Flash
chip磁盘 磁盘
磁盘磁盘
磁盘
传统磁盘与磁盘阵列
闪存文件系统 - FAST’13
- FAST’14
- FAST’15
- DATE’14
基于闪存的文件系统- FAST’10
- FAST’12
- FAST’16
- ATC’16
- Eurosys’14
- ASPLOS’14
- FAST’17
- DATE’14
基于闪存的KV Store- FAST’16
- ATC’15
2017-6-21 Tsinghua Univ.—Jiwu Shu
![Page 24: 全闪存阵列与分布式全闪存 的架构与技术发展file.ehuiapp.com/2017/0627/919999.pdf · 1 全闪存阵列与分布式全闪存 的架构与技术发展 舒继武 207年6月21日](https://reader034.vdocuments.net/reader034/viewer/2022050707/5a74c10e7f8b9a0d558be506/html5/thumbnails/24.jpg)
2.2 本地闪存系统软件
通知机制
存取路径 在块设备层,基于磁盘的IO调度策略,并不适用于闪存的特性。
在文件系统层,通过文件系统与闪存设备间的新软件接口,由闪存设备
自主选择数据写入的物理地址,再通知文件系统更新记录,减少了重复
映射的管理开销。
软件接口 TRIM:提供了数据显示删除的语义。 atomic-write:提供原子写操作。 PTRIM:提供持久性删除语义。 EXIST:检查数据页存在性。
低访问延迟 频繁中断上下文切换代价超过
循环等待的代价
事务闪存接口 AtomicWrite / TxWrite事务接口
2017-6-21 Tsinghua Univ.—Jiwu Shu
![Page 25: 全闪存阵列与分布式全闪存 的架构与技术发展file.ehuiapp.com/2017/0627/919999.pdf · 1 全闪存阵列与分布式全闪存 的架构与技术发展 舒继武 207年6月21日](https://reader034.vdocuments.net/reader034/viewer/2022050707/5a74c10e7f8b9a0d558be506/html5/thumbnails/25.jpg)
25
TxFlash
[SOSP’09]
AtomicWrite
[HPCA’11]
0 1 2 3 4 5 6 7
S/W
H/W
T1: update(0, 2, 4, 6)
T2: update(1, 2, 4)
0 0 0 1 0 0 10 2 4 6 1 2 4
LightTx
[ICCD’13]T1,0
T1,4
T2,0
T1,0
T2,3T2,0
T1,0
事务闪存接口——利用闪存异地更新特性提供原子写(SOSP’09,
HPCA’11, ICCD’13)
AtomicWrite / TxWrite事务接口
利用闪存的异地更新特性在存储设备中提供原子写入接口,避免双重写入
利用FTL及OOB等特性降低事务状态跟踪代价
2.2 本地闪存系统软件(事务机制)
2017-6-21 Tsinghua Univ.—Jiwu Shu
![Page 26: 全闪存阵列与分布式全闪存 的架构与技术发展file.ehuiapp.com/2017/0627/919999.pdf · 1 全闪存阵列与分布式全闪存 的架构与技术发展 舒继武 207年6月21日](https://reader034.vdocuments.net/reader034/viewer/2022050707/5a74c10e7f8b9a0d558be506/html5/thumbnails/26.jpg)
2.2 本地闪存系统软件(文件系统)
闪存介质的访问,呈现低延迟、读写不对称的特点,随机读写性
能较硬盘提升很高。传统针对硬盘优化设计的软件系统直接用于闪存
时,一方面带来了不必要的冗余功能,另一方面隐藏了闪存可能带来
的优势。
1.冗余工作:文件系统中从文件逻辑块到设备物理块的映射,与
FTL中逻辑地址到物理地址的映射双层映射
2.语义缺失:设备不能理解数据页面间的关系,难以优化数据分布
和感知文件系统的操作数据删除
3.特性缺失:闪存设备的异地更新与文件系统的原子性操作 两
次写
2017-6-21 Tsinghua Univ.—Jiwu Shu
![Page 27: 全闪存阵列与分布式全闪存 的架构与技术发展file.ehuiapp.com/2017/0627/919999.pdf · 1 全闪存阵列与分布式全闪存 的架构与技术发展 舒继武 207年6月21日](https://reader034.vdocuments.net/reader034/viewer/2022050707/5a74c10e7f8b9a0d558be506/html5/thumbnails/27.jpg)
2.2 本地闪存系统软件(文件系统)
SSD文件系统的潜在问题一:优化错配
文件系统对磁盘读写等优化并不适用于闪存存储
闪存在读写特性等方面与传统磁盘存在较大差异
闪存的随机读性能较好,但随机写性能较差
闪存的边界不对齐读写对性能影响较大
……
27
传统的顺序写入方法也不完全适用
文件系统的写入还影响垃圾回收效率,以及闪存写入寿命
……2017-6-21 Tsinghua Univ.—Jiwu Shu
![Page 28: 全闪存阵列与分布式全闪存 的架构与技术发展file.ehuiapp.com/2017/0627/919999.pdf · 1 全闪存阵列与分布式全闪存 的架构与技术发展 舒继武 207年6月21日](https://reader034.vdocuments.net/reader034/viewer/2022050707/5a74c10e7f8b9a0d558be506/html5/thumbnails/28.jpg)
2.2本地闪存系统软件(文件系统)
SSD文件系统的潜在问题二:功能冗余
文件系统的存储管理与FTL存储管理存在冗余
地址映射关系的冗余
空闲空间管理的冗余
……
28
命名空间
芯片 芯片 芯片
FTLSSD
芯片
文件系统
缓存
存储管理
Inode
Directory
Entries
Inode
Data
Pages
A B CCA
2017-6-21 Tsinghua Univ.—Jiwu Shu
![Page 29: 全闪存阵列与分布式全闪存 的架构与技术发展file.ehuiapp.com/2017/0627/919999.pdf · 1 全闪存阵列与分布式全闪存 的架构与技术发展 舒继武 207年6月21日](https://reader034.vdocuments.net/reader034/viewer/2022050707/5a74c10e7f8b9a0d558be506/html5/thumbnails/29.jpg)
2.2本地闪存系统软件(文件系统)
SSD文件系统的潜在问题三:维度缺失
耐久性问题
随着写入次数增加,闪存单元可靠性降低
寿命次数:SLC(100,000)-> MLC (10,000)-> TLC(1,000)
29
图片来源:The Bleak Future of NAND Flash Memory, FAST’12
文件系统管理是否引入额外的数据量的写入?
如何控制文件系统自身的写入数据量?
2017-6-21 Tsinghua Univ.—Jiwu Shu
![Page 30: 全闪存阵列与分布式全闪存 的架构与技术发展file.ehuiapp.com/2017/0627/919999.pdf · 1 全闪存阵列与分布式全闪存 的架构与技术发展 舒继武 207年6月21日](https://reader034.vdocuments.net/reader034/viewer/2022050707/5a74c10e7f8b9a0d558be506/html5/thumbnails/30.jpg)
30
文件系统(命名空间+存储管理)
芯片 芯片 芯片
FTLSSD
芯片
文件系统
缓存
读/写
嵌入式文件系统(命名空间+存储管理)
芯片 芯片 芯片
裸闪存芯片
文件系统
缓存
读/写/擦除
FTL
嵌入式系统
SSD
文件系统
优化错配
如何根据SSD特性设计适用于SSD的文件系统?
友好的数据布局
F2FS(三星公司,FAST’15)
2.2本地闪存系统软件(文件系统)
2017-6-21 Tsinghua Univ.—Jiwu Shu
![Page 31: 全闪存阵列与分布式全闪存 的架构与技术发展file.ehuiapp.com/2017/0627/919999.pdf · 1 全闪存阵列与分布式全闪存 的架构与技术发展 舒继武 207年6月21日](https://reader034.vdocuments.net/reader034/viewer/2022050707/5a74c10e7f8b9a0d558be506/html5/thumbnails/31.jpg)
31
随机写会造成闪存页的碎片化,降低SSD的性能。 频繁的随机写和fsync操作,会显著提高SSD延迟和降低Flash寿命。
F2FS使用LOG式结构,利用文件系统的语义信息,将数据根据类型分为6种不同冷热程度,使用6个不同的更新流,提高GC效率。
利用roll-forward recovery,减少fsync写放大
2.2本地闪存系统软件(续)
F2FS——针对SSD优化的日志型文件系统(FAST’15)
2017-6-21 Tsinghua Univ.—Jiwu Shu
![Page 32: 全闪存阵列与分布式全闪存 的架构与技术发展file.ehuiapp.com/2017/0627/919999.pdf · 1 全闪存阵列与分布式全闪存 的架构与技术发展 舒继武 207年6月21日](https://reader034.vdocuments.net/reader034/viewer/2022050707/5a74c10e7f8b9a0d558be506/html5/thumbnails/32.jpg)
32
F2FS——针对SSD优化的日志型文件系统(FAST’2015)
冷热数据分组提高GC效率。
NAT表结构,解决LFS存在的“更新到根”问题。
地址对齐,FS的GC单位与SSD保持一致。
2.2本地闪存系统软件(文件系统)
2017-6-21 Tsinghua Univ.—Jiwu Shu
![Page 33: 全闪存阵列与分布式全闪存 的架构与技术发展file.ehuiapp.com/2017/0627/919999.pdf · 1 全闪存阵列与分布式全闪存 的架构与技术发展 舒继武 207年6月21日](https://reader034.vdocuments.net/reader034/viewer/2022050707/5a74c10e7f8b9a0d558be506/html5/thumbnails/33.jpg)
文件系统(命名空间+存储管理)
芯片 芯片 芯片
FTLSSD
芯片
文件系统
缓存
读/写
嵌入式文件系统(命名空间+存储管理)
芯片 芯片 芯片
裸闪存芯片
文件系统
缓存
读/写/擦除
文件系统(命名空间+存储管理)
文件
系统
缓存
读/写
FTL
FTL
芯片 芯片 芯片
裸闪存设备芯片
嵌入式系统
SSD
文件系统
软件驱动级F
TL
功能冗余
如何利用FTL的功能以简化文件系统设计?
简化的存储管理
DFS(普林斯顿+FusionIO公司,FAST’10)
2.2本地闪存系统软件(文件系统)
2017-6-21 Tsinghua Univ.—Jiwu Shu
![Page 34: 全闪存阵列与分布式全闪存 的架构与技术发展file.ehuiapp.com/2017/0627/919999.pdf · 1 全闪存阵列与分布式全闪存 的架构与技术发展 舒继武 207年6月21日](https://reader034.vdocuments.net/reader034/viewer/2022050707/5a74c10e7f8b9a0d558be506/html5/thumbnails/34.jpg)
34
DFS——针对Fusion-IO设备优化的文件系统(FAST’2010)
Atomic_update :利用VFSL的特性,实现了元数据更新的原子性。
利用底层的log机制,无需额外的log操作。
将块分配操作交由底层完成。
2.2本地闪存系统软件(文件系统)
2017-6-21 Tsinghua Univ.—Jiwu Shu
![Page 35: 全闪存阵列与分布式全闪存 的架构与技术发展file.ehuiapp.com/2017/0627/919999.pdf · 1 全闪存阵列与分布式全闪存 的架构与技术发展 舒继武 207年6月21日](https://reader034.vdocuments.net/reader034/viewer/2022050707/5a74c10e7f8b9a0d558be506/html5/thumbnails/35.jpg)
文件系统(命名空间+存储管理)
芯片 芯片 芯片
FTLSSD
芯片
文件系统
缓存
读/写
嵌入式文件系统(命名空间+存储管理)
芯片 芯片 芯片
裸闪存芯片
文件系统
缓存
读/写/擦除
文件系统(命名空间+存储管理)
文件
系统
缓存
读/写
FTL
FTL
芯片 芯片 芯片
裸闪存设备芯片
嵌入式系统
SSD
文件系统
软件驱动级F
TL
命名空间
芯片 芯片 芯片芯片
文件系统
缓存
对象式FTL(存储管理)
裸闪存设备
对象式文件系统(命名空间)
对象接口
读/写/擦除
闪存文件系统
优化错配 ReconFS (清华大学, FAST’14)
如何利用闪存特性设计新目录树管理?
维度缺失 OFSS (清华大学, FAST’13)
如何在文件系统中考虑耐久性?
语义隔离 ParaFS (清华大学, ATC’16)
如何充分发挥闪存的内部并发特性?
2.2本地闪存系统软件(文件系统)
![Page 36: 全闪存阵列与分布式全闪存 的架构与技术发展file.ehuiapp.com/2017/0627/919999.pdf · 1 全闪存阵列与分布式全闪存 的架构与技术发展 舒继武 207年6月21日](https://reader034.vdocuments.net/reader034/viewer/2022050707/5a74c10e7f8b9a0d558be506/html5/thumbnails/36.jpg)
36
OFFS——采用对象式接口的文件系统(FAST’2013)
底层FTL采用Object接口,能获得上层更多的信息。
压缩更新,减少SSD写入量,延长寿命。
惰性索引,降低元数据的更新频率。
粗粒度块状态管理、更新窗口、……
Namespace Mgmt.,Storage Mgmt.
Flash Translation Layer
Flash Chips
App
FS
SSD
Syscall
Read/Write
Object Interface
Read, Write, Erase
SSD
FSNamespace Mgmt.
Flash Chips
AppSyscall
Object-based FTL(storage mgmt. GC, WL)
2.2本地闪存系统软件(文件系统)
2017-6-21 Tsinghua Univ.—Jiwu Shu
![Page 37: 全闪存阵列与分布式全闪存 的架构与技术发展file.ehuiapp.com/2017/0627/919999.pdf · 1 全闪存阵列与分布式全闪存 的架构与技术发展 舒继武 207年6月21日](https://reader034.vdocuments.net/reader034/viewer/2022050707/5a74c10e7f8b9a0d558be506/html5/thumbnails/37.jpg)
ReconFS——优化Flash上的命名空间管理(FAST’2014)
Volatile Directory Tree : 将目录树解耦和,可重建的目录树。
嵌入式的反向指针:用于一致性维护,故障恢复。
动态压缩:将元数据的更新进行压缩,并持久化。
37
Volatile Directory Tree Persistent Directory Tree
2.2本地闪存系统软件(文件系统)
2017-6-121 Tsinghua Univ.—Jiwu Shu
![Page 38: 全闪存阵列与分布式全闪存 的架构与技术发展file.ehuiapp.com/2017/0627/919999.pdf · 1 全闪存阵列与分布式全闪存 的架构与技术发展 舒继武 207年6月21日](https://reader034.vdocuments.net/reader034/viewer/2022050707/5a74c10e7f8b9a0d558be506/html5/thumbnails/38.jpg)
2.2本地闪存系统软件(文件系统)
问题描述:现有的闪存设备具有高度并发的存储单元,但是现有的文件系统没有针对闪存的并发特性进行优化
H/W
Interface
Host
Interconnect
Flash
Chip
FTL
Flash
Chip
Flash
Chip
Flash
Chip
Die 0 Die 1
Block 0
Block 1
Block ..
Register
Block 0
Block 1
Block ...
Plane 0 Plane 1
Channel Level
Chip Level
Die LevelPlane Level
Register
当前的文件系统+FTL架
构:功能冗余、语义隔离的问题
NILFS2, F2FS[FAST’15]
SFS [FAST’12] ,
Multi-streamed SSD
[HotStorage’14]
DFS [FAST’10] ,
Nameless Write [FAST’12]
READ / WRITE / TRIM
Log-structured File System
FTL
SSD
ParaFS——感知闪存内部并发的文件系统(ATC’2016)
2017-6-21 Tsinghua Univ.—Jiwu Shu
![Page 39: 全闪存阵列与分布式全闪存 的架构与技术发展file.ehuiapp.com/2017/0627/919999.pdf · 1 全闪存阵列与分布式全闪存 的架构与技术发展 舒继武 207年6月21日](https://reader034.vdocuments.net/reader034/viewer/2022050707/5a74c10e7f8b9a0d558be506/html5/thumbnails/39.jpg)
ParaFS——感知闪存内部并发的文件系统(ATC’2016)
39
S-FTL
Block Mapping WL ECC
Channel N
Flash
Channel 0
Flash
Channel 1
Flash
Flash Memory
…
…
…
ParaFS
Namespace
2-D Allocation Coordinated GC
Parallelism-Aware Scheduler
READ / WRITE / ERASE
2-D Allocation
Region 0 Region N
…
…
Coordinated GC
Thread 0 Thread N
Parallelism-Aware Scheduler
ReadWriteEraseRead
Req. Que. 0
…
Req. Que. N
ReadWriteEraseRead
二维的数据分配策略
与固件协同的垃圾回收机制
并发感知的请求调度
2.2本地闪存系统软件(文件系统)
2017-6-21 Tsinghua Univ.—Jiwu Shu
![Page 40: 全闪存阵列与分布式全闪存 的架构与技术发展file.ehuiapp.com/2017/0627/919999.pdf · 1 全闪存阵列与分布式全闪存 的架构与技术发展 舒继武 207年6月21日](https://reader034.vdocuments.net/reader034/viewer/2022050707/5a74c10e7f8b9a0d558be506/html5/thumbnails/40.jpg)
主要内容
40
背景一
分布式全闪存系统三
协议四
相关公司闪存阵列介绍五
全闪存阵列二
2017-6-21 Tsinghua Univ.—Jiwu Shu
![Page 41: 全闪存阵列与分布式全闪存 的架构与技术发展file.ehuiapp.com/2017/0627/919999.pdf · 1 全闪存阵列与分布式全闪存 的架构与技术发展 舒继武 207年6月21日](https://reader034.vdocuments.net/reader034/viewer/2022050707/5a74c10e7f8b9a0d558be506/html5/thumbnails/41.jpg)
与磁盘相比,SSD的随机读写性能与
顺序读写性能的差距较小。
已有方法 传统的单机图引擎,GraphChi,
XStream 为了优化磁盘,采用了读取
所有数据的顺序IO,这种方法在SSD
Array上,浪费了IO 带宽。
中心思想 采用单机大内存 + SSD Array的架构,
每次IO,只读取需要的数据。虽然会
引起随机IO,但是SSD的高性能,以
及异步读写与计算时间相互Overlap,
可以达到媲美纯内存图计算引擎的性
能。
FlashGraph: 基于闪存阵列的图处理系统(FAST’15)
SAFS
Asynchronous user-task I/O interface
Page cache
SSD SSD SSD SSD
Vertex
tasks
FlashGraph
Graph algorithms
Vertex-centric interface
Vertex scheduler
Vertex
programs
三 分布式全闪存系统
2017-6-21 Tsinghua Univ.—Jiwu Shu
![Page 42: 全闪存阵列与分布式全闪存 的架构与技术发展file.ehuiapp.com/2017/0627/919999.pdf · 1 全闪存阵列与分布式全闪存 的架构与技术发展 舒继武 207年6月21日](https://reader034.vdocuments.net/reader034/viewer/2022050707/5a74c10e7f8b9a0d558be506/html5/thumbnails/42.jpg)
FlashGraph: 基于闪存阵列的图处理系统(FAST’15)
与传统基于磁盘设计的图计算引擎相比,FlashGraph性能提升数
个数量级(100X以上的性能提升)。
三 分布式全闪存系统
2017-6-21 Tsinghua Univ.—Jiwu Shu
![Page 43: 全闪存阵列与分布式全闪存 的架构与技术发展file.ehuiapp.com/2017/0627/919999.pdf · 1 全闪存阵列与分布式全闪存 的架构与技术发展 舒继武 207年6月21日](https://reader034.vdocuments.net/reader034/viewer/2022050707/5a74c10e7f8b9a0d558be506/html5/thumbnails/43.jpg)
当前大数据处理系统的性能受限于
DRAM的容量。与DRAM相比,闪
存的价格更低,密度更大,更适用
于大数据处理中。
中心思想 轻量级的闪存管理:去掉FTL,与应
用程序相结合,做定向优化。
闪存直连网络,降低网络延迟。
发挥闪存定制FPGA,在设备中计算。
BlueDBM: 基于分布式闪存的大数据处理系统(ISCA’15)
三 分布式全闪存系统
2017-6-21 Tsinghua Univ.—Jiwu Shu
![Page 44: 全闪存阵列与分布式全闪存 的架构与技术发展file.ehuiapp.com/2017/0627/919999.pdf · 1 全闪存阵列与分布式全闪存 的架构与技术发展 舒继武 207年6月21日](https://reader034.vdocuments.net/reader034/viewer/2022050707/5a74c10e7f8b9a0d558be506/html5/thumbnails/44.jpg)
BlueDBM: 基于分布式闪存的大数据处理系统(ISCA’15)
通过 Flash+FPGA 的组合,实现了超过Flash+CPU的传统组合的
性能。
三 分布式全闪存系统
2017-6-21 Tsinghua Univ.—Jiwu Shu
![Page 45: 全闪存阵列与分布式全闪存 的架构与技术发展file.ehuiapp.com/2017/0627/919999.pdf · 1 全闪存阵列与分布式全闪存 的架构与技术发展 舒继武 207年6月21日](https://reader034.vdocuments.net/reader034/viewer/2022050707/5a74c10e7f8b9a0d558be506/html5/thumbnails/45.jpg)
三 分布式全闪存系统
分布式闪存集群存储
基于闪存的分布式集群系统
FAWN1:从集群整体设计的角度考虑闪
存与处理器的匹配,以降低整体
能耗。
低频率CPU 普通CPU
364 query/J >> 1.96 query/J
Gordon2:发挥闪存芯片间的并发特
性,匹配处理器和内存芯片的
性能与能耗。
已经应用到San Diego 超算中心:
300TB容量,340Tfps
1: FAWN: A Fast Array of Wimpy Nodes. SOSP’09, CMU2: Gordon: Using flash memory to build fast, power-efficient clusters for data-intensive applications. ASPLOS’09, UCSD
![Page 46: 全闪存阵列与分布式全闪存 的架构与技术发展file.ehuiapp.com/2017/0627/919999.pdf · 1 全闪存阵列与分布式全闪存 的架构与技术发展 舒继武 207年6月21日](https://reader034.vdocuments.net/reader034/viewer/2022050707/5a74c10e7f8b9a0d558be506/html5/thumbnails/46.jpg)
主要内容
46
背景一
分布式全闪存系统三
协议四
相关公司闪存阵列介绍五
全闪存阵列二
2017-6-21 Tsinghua Univ.—Jiwu Shu
![Page 47: 全闪存阵列与分布式全闪存 的架构与技术发展file.ehuiapp.com/2017/0627/919999.pdf · 1 全闪存阵列与分布式全闪存 的架构与技术发展 舒继武 207年6月21日](https://reader034.vdocuments.net/reader034/viewer/2022050707/5a74c10e7f8b9a0d558be506/html5/thumbnails/47.jpg)
四 分布式闪存系统协议举例
1:CORFU: A Shared Log Design for Flash Clusters. NSDI’12, Microsoft
CORFU1
将整个闪存集群构成的存储
空间抽象成为一个共享的大日志。
将闪存直连到网络,去掉了服
务器所带来的延迟。
保证强一致性,写带宽将不受
闪存单元带宽的限制。
优势:
节能:单节点15w vs. 单服务器
250w
低延迟:读写延迟低于1ms
快速的故障恢复:650ms
问题:
硬件需要特殊定制。
应用场景有限
2017-6-21 Tsinghua Univ.—Jiwu Shu
![Page 48: 全闪存阵列与分布式全闪存 的架构与技术发展file.ehuiapp.com/2017/0627/919999.pdf · 1 全闪存阵列与分布式全闪存 的架构与技术发展 舒继武 207年6月21日](https://reader034.vdocuments.net/reader034/viewer/2022050707/5a74c10e7f8b9a0d558be506/html5/thumbnails/48.jpg)
四 分布式闪存系统协议举例
1:Tango: Distributed Data Structures over a Shared Log. SOSP’13, Microsoft
Tango1
在CORFU的基础上,提供了一
组in memory的数据结构。
为元数据的操作,进行了统一
的抽象,并提供简单的接口。
底层不需要复杂的分布式协议。
优势:
以CORFU为基础,协议开销低。
保证集群系统中的元数据操作的一
致性、持久性、原子性、隔离性。
提供简单的使用接口
问题:
扩展性受到制约;
运行环境需要定制;
需要客户端做checkpoint,
对客户端的开销较大。2017-6-21 Tsinghua Univ.—Jiwu Shu
![Page 49: 全闪存阵列与分布式全闪存 的架构与技术发展file.ehuiapp.com/2017/0627/919999.pdf · 1 全闪存阵列与分布式全闪存 的架构与技术发展 舒继武 207年6月21日](https://reader034.vdocuments.net/reader034/viewer/2022050707/5a74c10e7f8b9a0d558be506/html5/thumbnails/49.jpg)
主要内容
49
背景一
分布式全闪存系统三
协议四
相关公司闪存阵列介绍五
全闪存阵列二
2017-6-21 Tsinghua Univ.—Jiwu Shu
![Page 50: 全闪存阵列与分布式全闪存 的架构与技术发展file.ehuiapp.com/2017/0627/919999.pdf · 1 全闪存阵列与分布式全闪存 的架构与技术发展 舒继武 207年6月21日](https://reader034.vdocuments.net/reader034/viewer/2022050707/5a74c10e7f8b9a0d558be506/html5/thumbnails/50.jpg)
IBM XtreamIO
50
少量数据预留
在线数据去重
数据保护(XDP)
数据加密
快照
可扩展的性能
均匀的数据分布
高可用性
2017-6-21 Tsinghua Univ.—Jiwu Shu
![Page 51: 全闪存阵列与分布式全闪存 的架构与技术发展file.ehuiapp.com/2017/0627/919999.pdf · 1 全闪存阵列与分布式全闪存 的架构与技术发展 舒继武 207年6月21日](https://reader034.vdocuments.net/reader034/viewer/2022050707/5a74c10e7f8b9a0d558be506/html5/thumbnails/51.jpg)
Pure storage
FlashArray//M:良好的数据去重;数据加密;99.9999%可用性
FlashArray//X:第一个主流的100% NVMe企业级全闪存阵列
特点
微秒级别的延迟
高密度的DirectFlash单元
可由M系列无缝升级而来
512017-6-21 Tsinghua Univ.—Jiwu Shu
![Page 52: 全闪存阵列与分布式全闪存 的架构与技术发展file.ehuiapp.com/2017/0627/919999.pdf · 1 全闪存阵列与分布式全闪存 的架构与技术发展 舒继武 207年6月21日](https://reader034.vdocuments.net/reader034/viewer/2022050707/5a74c10e7f8b9a0d558be506/html5/thumbnails/52.jpg)
nimble storage
扩展性
无中断地扩大容量和性能
四个阵列作为一个单元管理
以毫秒级的延迟提供最大8PB容量和120万IOPS
更低的CTO:
内存需求降低10-30倍
通过去重和压缩数据量减少5倍
后备、DR、索引开销降为1/3
522017-6-21 Tsinghua Univ.—Jiwu Shu
![Page 53: 全闪存阵列与分布式全闪存 的架构与技术发展file.ehuiapp.com/2017/0627/919999.pdf · 1 全闪存阵列与分布式全闪存 的架构与技术发展 舒继武 207年6月21日](https://reader034.vdocuments.net/reader034/viewer/2022050707/5a74c10e7f8b9a0d558be506/html5/thumbnails/53.jpg)
violin memory
特点:异步副本;同步监测;0 RPO和RTO扩展集群;快照;克隆
FSP 7600
35-140TB裸闪存分布在三个机架单元
110万IOPS在500毫秒一下的延迟,减少延迟同时提升I/O密度
FSP 7250
三个机架单元提供8-26TB容量
基于6:1的数据去重比例,最大提供93TB有效容量
532017-6-21 Tsinghua Univ.—Jiwu Shu
![Page 54: 全闪存阵列与分布式全闪存 的架构与技术发展file.ehuiapp.com/2017/0627/919999.pdf · 1 全闪存阵列与分布式全闪存 的架构与技术发展 舒继武 207年6月21日](https://reader034.vdocuments.net/reader034/viewer/2022050707/5a74c10e7f8b9a0d558be506/html5/thumbnails/54.jpg)
54