复习
本次课回答的问题
本次课主要内容
机器指令模型 (Instruction Set Architecture) 只有 “两种” 状态
存储 “当前状态” 的需求
Delay line: 绳子
Magnetic core: 磁铁
/proc/sys/kernel/core_pattern
指定了 core dump 文件格式SRAM/DRAM: Flip-Flop 和电容
Persistence: “A firm or obstinate continuance in a course of action in spite of difficulty or opposition.”
除了 “当前状态”,我们希望更大、更多的数据能 “留下来” (并且被操作系统有效地管理起来)
持久化的第一课:持久存储介质
更进一步:用铁磁体的 “磁化方向” 表示 1-Bit 信息
1D 存储设备
分析
今天的应用场景
1D → 1.5D (1D x n)
1D → 2.5D (2D x n)
克服许多工程挑战
分析
今天的应用场景
为了读/写一个扇区
通过缓存/调度等缓解
/sys/block/[dev]/queue
[mq-deadline] none
(读优先;但写也不至于饿死)把读写头和盘片分开——实现数据移动
分析
今天的应用场景
在反射平面 (1) 上挖上粗糙的坑 (0)
能否克服只读的限制?
CD (740 MB)
DVD (4.7 GB)
Blue Ray (100 GB)
分析
今天的应用场景
之前的持久存储介质都有致命的缺陷
最后还得靠
分析
但有一个意想不到的
优盘容量大、速度快、相当便宜
放电 (erase) 做不到 100% 放干净
每一个 SSD 里都藏了一个完整的计算机系统
优盘, SD 卡, SSD 都是 NAND Flash
大家可记得修电脑引发的血案?
另一个 memory system 相关的安全问题
什么?硬件里的软件?
谁写出来的?那可得有 bug 啊!
这篇 paper 促进了硬件厂商对 FTL 的大幅改进
Device | Model | Year | Bug? |
---|---|---|---|
SSD#1, 10, 8, 9, 6, 2 | A | 2011 x 3, 2012 x 2, 2010 | Y |
SSD#2 | B | 2010 | Y |
SSD#3, 11, 12 | C | 2011 | Y |
SSD#4, 13 | D | 2011 | - |
SSD#5, 14, 7, 15 | E | 2009, 2011 x 2, 2012 | Y |
本次课回答的问题
Take-away messages