充电 v.s. 放电

充电 v.s. 放电

2025 南京大学《操作系统原理》
充电 v.s. 放电

Solid State Drive (1991)

存储介质的致命的缺陷

  • 磁:机械部件 (无法避免的 ms 级延迟)
  • 坑 (光):挖坑效率低、填坑很困难

我们想要的是电子的密度、电路的速度

  • Flash Memory “闪存”
  • 如何在电路中持久 1-bit?
    • 挖个坑
    • 把电子填进去 = 一个状态
    • 把电子放跑 = 另一个状态
2025 南京大学《操作系统原理》
充电 v.s. 放电

1-Bit Flash Memory

center

2025 南京大学《操作系统原理》
充电 v.s. 放电

闪存:作为存储设备的分析

存储特性

  • 价格:大规模集成电路
  • 容量
  • 可靠性:集成电路封装,不怕摔

读写性能

  • 极高,而且有极高的扩展性 (电路是天然并行的)
    • 极为离谱的优点:容量越大,速度越快

应用场景

  • Tape is Dead, Disk is Tape, Flash is Disk, RAM Locality is King (Gim Gray, 2006)
2025 南京大学《操作系统原理》
充电 v.s. 放电

开启 “优盘” 时代 (1999)

center

2025 南京大学《操作系统原理》
充电 v.s. 放电

但是!Flash Memory 会 Wear Out

放电 (erase) 做不到 100% 放干净

  • 放电数千/数万次以后,就好像是 “充电” 状态了
  • Dead cell; “wear out”

有没有感觉有点害怕?

  • 我竟然还在用优盘给大家上课?
  • 很多文件应该写了上千次了?
2025 南京大学《操作系统原理》
充电 v.s. 放电

答案:软件定义磁盘

你的 SSD、优盘,甚至是 TF 卡里都藏了完整的计算机系统

center

FTL: Flash Translation Layer

  • “Wear Leveling”: 用软件使写入变得 “均匀” (虚拟内存)
2025 南京大学《操作系统原理》
充电 v.s. 放电

Flash Disk 与 NAND Flash

优盘, SD 卡, SSD 都是 NAND Flash

  • 但软件/硬件系统的复杂程度不同,效率/寿命也不同
    • 典型的 SSD
      • CPU, on-chip RAM, 缓存, store buffer, 操作系统 ...
      • 寿命: ~1 PB 数据写入 (~1,000 年寿命)
    • SD 卡/TF 卡
      • 标准没有规定必须内置 FTL
      • 但良心厂家依然有 ARM 芯片
2025 南京大学《操作系统原理》
充电 v.s. 放电

结论:一定不要买过度便宜的优盘!

更不要保存重要数据

  • 还记得什么是 “设备” 吗?

center

  • 设备是可以 “伪造” 的
    • 可以假装成另一个厂商的设备
    • 甚至可以伪造容量
      • 超过容量的部分自动丢弃了
2025 南京大学《操作系统原理》
充电 v.s. 放电

奸商什么事都干得出来

center

学了《操作系统》,你也可以当奸商

  • 挣钱的途径写在《刑法》第一百四十条【生产、销售伪劣产品罪】:生产者、销售者在产品中掺杂、掺假,以假充真,以次充好或者以不合格产品冒充合格产品
2025 南京大学《操作系统原理》