(2021) 22 [持久化] 1-Bit的存储
(2021) 22 [持久化] 1-Bit的存儲
南京大學操作系統(tǒng)課蔣炎巖老師網(wǎng)絡(luò)課程筆記。
視頻:https://www.bilibili.com/video/BV1HN41197Ko?p=22
講義:http://jyywiki.cn/OS/2021/slides/12.slides#/
背景
回顧
操作系統(tǒng)是什么?一組對象 + 一組API
- 一組對象
- UNIX: everything is a file
- 數(shù)據(jù) /bin/sh, a.txt, …
- 設(shè)備 /dev/tty, /dev/sda, …
- UNIX: everything is a file
- 一組 API
- open, read, write, fork, execve, exit, mmap, …
最后沒有解釋的部分 :持久化
- 文件是如何實現(xiàn)的?
- 為什么關(guān)機以后文件還在?
本次課程的目標
理解 1-bit 在物理世界中是如何存儲的,以及它們背后的存儲設(shè)備
- 磁:磁帶、磁盤、軟盤
- 光:光盤、CD-RW
- 電:NAND Flash
為什么要在這門課討論持久化?持久化:有關(guān) “操作系統(tǒng)對象” 的故事
- “最小” 操作系統(tǒng)里的對象
- 進程 (狀態(tài)機)
- (持久保存) 的數(shù)據(jù) (文件)
- making information persist, despite computer crashes, disk failures, or power outages is a tough and interesting challenge
- 文件系統(tǒng)接管了 UNIX 世界的 “對象管理”
存儲介質(zhì)及評估方法
持久化:需要 “non-volatility”
- 能把 1-bit 穩(wěn)定持久地存儲在物理世界
- 再次見證人類的歷史!
存儲設(shè)備
- 邏輯上可以看成是一個 bit/byte array
- 1 TB 的磁盤 = 1T 個 1-byte (8?1012 個 1-bit)
- 通常支持按塊 (block) 的方式讀寫
- 區(qū)別于 RAM (Random Access Memory)
- 評價方法:價格、擴展性 (容量)、速度、可靠性
存儲介質(zhì):磁
磁帶
介紹
用 “磁化方向” 表示 1-Bit 信息,物理空間一定區(qū)域的磁介質(zhì),將N/S 極的朝向作為 1-bit。
分析
-
價格:非常低
-
擴展性 (容量):非常高
-
讀寫速度:順序讀取:勉強;隨機讀取:幾乎完全不行。
-
可靠性:存在機械部件、需要保存的環(huán)境苛刻。
-
今天的應(yīng)用場景:冷數(shù)據(jù)的專用備份
磁鼓
介紹
“并行版” 磁帶
如果把磁帶看成 “一維” 存儲,磁鼓就是磁帶的集合。
分析
- 更快的速度
- 更好的隨機 read/write 性能
磁盤*
介紹
“二維并行版” 磁帶
- 我們可以用整個二維平面來存儲 bits
- 在二維平面上尋址需要兩個維度的控制
依靠 3D 技術(shù),有望突破 100 TB 存儲。
盤片 + 柱面 + 磁道 + 扇區(qū) = 定位到 512 字節(jié)
- 為了讀/寫一個扇區(qū)
- 讀寫頭需要到對應(yīng)的磁道
- 轉(zhuǎn)軸將盤片旋轉(zhuǎn)到讀寫頭的位置
分析
分析
-
價格:很低
-
擴展性 (容量):很高 (二維平面上鋪滿的磁帶 + 多個盤片)
-
讀寫速度:順序讀取:較高;隨機讀取:勉強。
-
可靠性:存在機械部件、磁頭劃傷盤片導(dǎo)致數(shù)據(jù)損壞
-
今天的應(yīng)用場景:計算機系統(tǒng)的主力數(shù)據(jù)存儲 (海量數(shù)據(jù):便宜才是王道)
性能調(diào)優(yōu)
為了讀/寫一個扇區(qū)
- 7200rpm → 120rps → “尋道” 時間 8.3ms
- 讀寫頭移動時間通常也需要幾個 ms
通過緩存/調(diào)度等緩解
- 例如著名的 “電梯” 調(diào)度算法
- 現(xiàn)代 HDD 都有很好的 firmware 管理磁盤 I/O 調(diào)度
- /sys/block/[dev]/queue
- noop deadline [cfq]
軟盤
介紹
降低交換數(shù)據(jù)的成本:把磁盤 (硬盤) 的讀寫頭和盤片分開,分成電腦上的讀寫頭 (drive) 和磁盤 (disk)。
分析
-
價格:低
-
擴展性 (容量):低 (暴露的存儲介質(zhì))
-
讀寫速度:順序/隨機讀取:低
-
可靠性:低 (暴露的存儲介質(zhì))
-
今天的應(yīng)用場景:躺在博物館供人參觀
存儲介質(zhì):坑(光)
除了磁介質(zhì)以外,還有別的辦法可以存儲 1-bit 嗎?
CD (Compact Disk)
介紹
在完美反射光線的表面上挖出 (幾乎) 不反射光線的坑,激光掃過表面,就能讀出坑的信息來。
由飛利浦 (激光碟片) 和索尼 (數(shù)字音頻) 發(fā)明。
分析
-
價格:很低 (而且很容易通過 “壓盤” 復(fù)制)
-
擴展性 (容量):高
-
讀寫速度:順序讀取速度高;隨機讀取勉強;寫入速度近乎為零 (挖坑容易填坑難)
-
可靠性:高
-
今天的應(yīng)用場景:數(shù)字媒體的分發(fā) (即將被互聯(lián)網(wǎng) “按需分發(fā)” 淘汰)
”挖坑“ 技術(shù)的進展
CD (740 MB):780nm 紅外激光
DVD (4.7 GB):635nm 紅色激光
Blue Ray (100 GB):405nm 藍紫色激光
“挖坑” 不只是數(shù)據(jù)存儲
光刻機
CD-RW
能否克服只讀的限制?
-
方法 1
- 用激光器燒出一個坑來 (“刻盤”)
- 使用持久化數(shù)據(jù)結(jié)構(gòu) (append-only)
-
方法 2:改變材料的反光特性
- PCM (Phase-change Material)
- How do rewriteable CDs work?
存儲介質(zhì):電
之前的持久存儲介質(zhì)都有致命的缺陷
- 磁:機械部件導(dǎo)致 ms 級延遲
- 坑 (光): 一旦挖坑,填坑很困難 (CD是只讀的)
最后還得靠電 (電路) 解決問題
Solid State Drive
介紹
Flash Memory “閃存”:floating gate 的充電/放電實現(xiàn) 1-bit 信息的存儲。
分析
- 價格:低 (大規(guī)模集成電路,便宜)
- 擴展性 (容量):高 (3D 空間里每個 (x,y,z) 都是一個 bit)
- 讀寫速度:高(直接通過電路讀寫)
- 不講道理的 IMBA 特性:容量越大,速度越快 (電路級并行)
- 快到需要淘汰了舊的 SATA 接口標準 (NVMe)
- 可靠性:高 (沒有機械部件,隨便摔)。
但有一個意想不到的缺點 (大家知道是什么嗎?) —> 壽命較短。
壽命
放電 (erase) 做不到 100% 放干凈
- 放電數(shù)千/數(shù)萬次以后,就好像是 “充電” 狀態(tài)了
- dead cell; “wear out”
- 必須解決這個問題 SSD 才能實用
USB Flash Disk
介紹
優(yōu)盤容量大、速度快、相當便宜。很快就取代了軟盤,成為了人手 nnn 個的存儲介質(zhì)。
- Compact Flash (CF, 1994)
- USB Flash Disk (1999, “朗科”)
NAND Wear-Out 的解決:軟件定義磁盤
每一個 SSD 里都藏了一個完整的計算機系統(tǒng)
- FTL: flash translation layer,“wear leveling”: 軟件管理那些可能出問題的 blocks。
wear leveling
維護一個 block lookup table (BLT)
- 然后 copy-on-write!
- 垃圾回收、block 重分配……
U盤和SSD的區(qū)別
優(yōu)盤, SD 卡, SSD 都是 NAND Flash
- 但軟件/硬件系統(tǒng)的復(fù)雜程度不同,效率/壽命也不同
- 典型的 SSD
- CPU, on-chip RAM, 緩存, store buffer, 操作系統(tǒng) …
- 壽命: ~1 PiB 數(shù)據(jù)寫入 (~1,000 年壽命)
- SD 卡
- SDHC 標準未規(guī)定
- 黑心商家一定會偷工減料 (畢竟接口完全一樣)
- 但良心廠家依然有 ARM 芯片
- SDHC 標準未規(guī)定
- 典型的 SSD
一定不要用便宜的優(yōu)盤保存重要數(shù)據(jù)
FTL: 性能、可靠性、安全性的難題
大家可記得修電腦引發(fā)的血案?
- 首先,(快速) 格式化是沒用的(如實驗M5)。
- 在你理解了 FTL 之后,即便格式化后寫入數(shù)據(jù) (不寫滿),同一個 LBA 被覆蓋,PBA 依然存儲了數(shù)據(jù) (copy-on-write)。
總結(jié)
本次課內(nèi)容與目標
- 理解 1-bit 在物理世界中是如何存儲的
- 磁、光、電和它們對應(yīng)的存儲設(shè)備
Takeaway messages
- 存儲技術(shù)一直在發(fā)展
- 多核心處理器、GPU、TPU, … 全部都對內(nèi)存帶寬有巨大的需求
- NVM 容量超過 DRAM, 性能開始接近 DRAM, 會發(fā)生什么?
- 例子: Intel/Micron 3D XPoint (PCM)
- 將來,計算機系統(tǒng)基礎(chǔ)/操作系統(tǒng)書的教科書必將被改寫
總結(jié)
以上是生活随笔為你收集整理的(2021) 22 [持久化] 1-Bit的存储的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 农投公司是国企吗
- 下一篇: webkitlineclamp css3