(2021) 22 [持久化] 1-Bit的存儲

(2021) 22 [持久化] 1-Bit的存儲

南京大學操作系統課蔣炎巖老師網絡課程筆記。

視頻:https://www.bilibili.com/video/BV1HN41197Ko?p=22
講義:http://jyywiki.cn/OS/2021/slides/12.slides#/

背景

回顧

操作系統是什么?一組對象 + 一組API

  • 一組對象
    • UNIX: everything is a file
      • 數據 /bin/sh, a.txt, …
      • 設備 /dev/tty, /dev/sda, …
  • 一組 API
    • open, read, write, fork, execve, exit, mmap, …

最后沒有解釋的部分 :持久化

  • 文件是如何實現的?
  • 為什么關機以后文件還在?

本次課程的目標

理解 1-bit 在物理世界中是如何存儲的,以及它們背后的存儲設備

  • 磁:磁帶、磁盤、軟盤
  • 光:光盤、CD-RW
  • 電:NAND Flash

為什么要在這門課討論持久化?持久化:有關 “操作系統對象” 的故事

  • “最小” 操作系統里的對象
    • 進程 (狀態機)
    • (持久保存) 的數據 (文件)
      • making information persist, despite computer crashes, disk failures, or power outages is a tough and interesting challenge
    • 文件系統接管了 UNIX 世界的 “對象管理”

存儲介質及評估方法

持久化:需要 “non-volatility”

  • 能把 1-bit 穩定持久地存儲在物理世界
    • 再次見證人類的歷史!

存儲設備

  • 邏輯上可以看成是一個 bit/byte array
    • 1 TB 的磁盤 = 1T 個 1-byte (8?1012 個 1-bit)
    • 通常支持按塊 (block) 的方式讀寫
      • 區別于 RAM (Random Access Memory)
  • 評價方法:價格、擴展性 (容量)、速度、可靠性

存儲介質:磁

磁帶

介紹

用 “磁化方向” 表示 1-Bit 信息,物理空間一定區域的磁介質,將N/S 極的朝向作為 1-bit。

分析

  • 價格:非常低

  • 擴展性 (容量):非常高

  • 讀寫速度:順序讀取:勉強;隨機讀取:幾乎完全不行。

  • 可靠性:存在機械部件、需要保存的環境苛刻。

  • 今天的應用場景:冷數據的專用備份

磁鼓

介紹

“并行版” 磁帶

如果把磁帶看成 “一維” 存儲,磁鼓就是磁帶的集合。

分析

  • 更快的速度
  • 更好的隨機 read/write 性能

磁盤*

介紹

“二維并行版” 磁帶

  • 我們可以用整個二維平面來存儲 bits
  • 在二維平面上尋址需要兩個維度的控制

依靠 3D 技術,有望突破 100 TB 存儲。

在這里插入圖片描述

盤片 + 柱面 + 磁道 + 扇區 = 定位到 512 字節

  • 為了讀/寫一個扇區
    1. 讀寫頭需要到對應的磁道
    2. 轉軸將盤片旋轉到讀寫頭的位置

分析

分析

  • 價格:很低

  • 擴展性 (容量):很高 (二維平面上鋪滿的磁帶 + 多個盤片)

  • 讀寫速度:順序讀取:較高;隨機讀取:勉強。

  • 可靠性:存在機械部件、磁頭劃傷盤片導致數據損壞

  • 今天的應用場景:計算機系統的主力數據存儲 (海量數據:便宜才是王道)

性能調優

為了讀/寫一個扇區

  1. 讀寫頭需要到對應的磁道
    • 7200rpm → 120rps → “尋道” 時間 8.3ms
  2. 轉軸將盤片旋轉到讀寫頭的位置
    • 讀寫頭移動時間通常也需要幾個 ms

通過緩存/調度等緩解

  • 例如著名的 “電梯” 調度算法
  • 現代 HDD 都有很好的 firmware 管理磁盤 I/O 調度
    • /sys/block/[dev]/queue
    • noop deadline [cfq]

軟盤

介紹

降低交換數據的成本:把磁盤 (硬盤) 的讀寫頭和盤片分開,分成電腦上的讀寫頭 (drive) 和磁盤 (disk)。

分析

  • 價格:低

  • 擴展性 (容量):低 (暴露的存儲介質)

  • 讀寫速度:順序/隨機讀取:低

  • 可靠性:低 (暴露的存儲介質)

  • 今天的應用場景:躺在博物館供人參觀

存儲介質:坑(光)

除了磁介質以外,還有別的辦法可以存儲 1-bit 嗎?

CD (Compact Disk)

介紹

在完美反射光線的表面上挖出 (幾乎) 不反射光線的坑,激光掃過表面,就能讀出坑的信息來。

由飛利浦 (激光碟片) 和索尼 (數字音頻) 發明。

在這里插入圖片描述

分析

  • 價格:很低 (而且很容易通過 “壓盤” 復制)

  • 擴展性 (容量):高

  • 讀寫速度:順序讀取速度高;隨機讀取勉強;寫入速度近乎為零 (挖坑容易填坑難)

  • 可靠性:高

  • 今天的應用場景:數字媒體的分發 (即將被互聯網 “按需分發” 淘汰)

”挖坑“ 技術的進展

CD (740 MB):780nm 紅外激光

DVD (4.7 GB):635nm 紅色激光

Blue Ray (100 GB):405nm 藍紫色激光

“挖坑” 不只是數據存儲

光刻機

在這里插入圖片描述

CD-RW

能否克服只讀的限制?

  • 方法 1

    • 用激光器燒出一個坑來 (“刻盤”)
    • 使用持久化數據結構 (append-only)
  • 方法 2:改變材料的反光特性

    • PCM (Phase-change Material)
    • How do rewriteable CDs work?

存儲介質:電

之前的持久存儲介質都有致命的缺陷

  • 磁:機械部件導致 ms 級延遲
  • 坑 (光): 一旦挖坑,填坑很困難 (CD是只讀的)

最后還得靠電 (電路) 解決問題

Solid State Drive

介紹

Flash Memory “閃存”:floating gate 的充電/放電實現 1-bit 信息的存儲。
在這里插入圖片描述

分析

  • 價格:低 (大規模集成電路,便宜)
  • 擴展性 (容量):高 (3D 空間里每個 (x,y,z) 都是一個 bit)
  • 讀寫速度:高(直接通過電路讀寫)
    • 不講道理的 IMBA 特性:容量越大,速度越快 (電路級并行)
    • 快到需要淘汰了舊的 SATA 接口標準 (NVMe)
  • 可靠性:高 (沒有機械部件,隨便摔)。

但有一個意想不到的缺點 (大家知道是什么嗎?) —> 壽命較短。

壽命

放電 (erase) 做不到 100% 放干凈

  • 放電數千/數萬次以后,就好像是 “充電” 狀態了
  • dead cell; “wear out”
    • 必須解決這個問題 SSD 才能實用

USB Flash Disk

介紹

優盤容量大、速度快、相當便宜。很快就取代了軟盤,成為了人手 nnn 個的存儲介質。

  • Compact Flash (CF, 1994)
  • USB Flash Disk (1999, “朗科”)

在這里插入圖片描述

NAND Wear-Out 的解決:軟件定義磁盤

每一個 SSD 里都藏了一個完整的計算機系統

在這里插入圖片描述

  • FTL: flash translation layer,“wear leveling”: 軟件管理那些可能出問題的 blocks。

wear leveling

維護一個 block lookup table (BLT)

  • 然后 copy-on-write!
  • 垃圾回收、block 重分配……

在這里插入圖片描述

U盤和SSD的區別

優盤, SD 卡, SSD 都是 NAND Flash

  • 但軟件/硬件系統的復雜程度不同,效率/壽命也不同
    • 典型的 SSD
      • CPU, on-chip RAM, 緩存, store buffer, 操作系統 …
      • 壽命: ~1 PiB 數據寫入 (~1,000 年壽命)
    • SD 卡
      • SDHC 標準未規定
        • 黑心商家一定會偷工減料 (畢竟接口完全一樣)
      • 但良心廠家依然有 ARM 芯片

一定不要用便宜的優盤保存重要數據

FTL: 性能、可靠性、安全性的難題

大家可記得修電腦引發的血案?

  • 首先,(快速) 格式化是沒用的(如實驗M5)。
  • 在你理解了 FTL 之后,即便格式化后寫入數據 (不寫滿),同一個 LBA 被覆蓋,PBA 依然存儲了數據 (copy-on-write)。

總結

本次課內容與目標

  • 理解 1-bit 在物理世界中是如何存儲的
    • 磁、光、電和它們對應的存儲設備

Takeaway messages

  • 存儲技術一直在發展
    • 多核心處理器、GPU、TPU, … 全部都對內存帶寬有巨大的需求
    • NVM 容量超過 DRAM, 性能開始接近 DRAM, 會發生什么?
      • 例子: Intel/Micron 3D XPoint (PCM)
  • 將來,計算機系統基礎/操作系統書的教科書必將被改寫

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/532744.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/532744.shtml
英文地址,請注明出處:http://en.pswp.cn/news/532744.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

計算機一級試題論述,計算機一級考試理論題及答案要點

計算機一級考試IT1必做題[1]. 著名的計算機科學家尼.沃思提出了________。A.數據結構+算法程序B.存儲控制結構C.信息熵D.控制論[2]. 下面有關掃描儀的敘述中,錯誤的是________。A.分辨率是掃描儀…

(2021) 23 [持久化] I/O設備與驅動

(2021) 23 [持久化] I/O設備與驅動 南京大學操作系統課蔣炎巖老師網絡課程筆記。 視頻:https://www.bilibili.com/video/BV1HN41197Ko?p23 講義:http://jyywiki.cn/OS/2021/slides/13.slides#/ 背景 很多人 (你們的同學們、家長們) 都有一個認識&…

計算機考研計劃時間,2019計算機考研時間安排:復習時間規劃

隨著考研競爭越來越激烈,考研復習一定要做好規劃,每天的時間要做好管理,分清輕重緩急,這樣才能高效率復習。管理的5個原則,大家抓緊調整個人復習。小編還為大家精心準備了計算機考研復習資料還有計算機考研報考指導助力…

(2021) 24 [持久化] 文件系統API

(2021) 24 [持久化] 文件系統API 南京大學操作系統課蔣炎巖老師網絡課程筆記。 視頻:https://www.bilibili.com/video/BV1HN41197Ko?p24 講義:http://jyywiki.cn/OS/2021/slides/14.slides#/ 背景 回顧 硬件視角:持久化的“層層抽象” 物…

計算機輔助應用的縮寫有什么,計算機輔助設計的英文縮寫是什么

2008-10-09是什么的英文縮寫?BOBO......頭型里的.....其實"BOBO頭"準確的名稱應該是BOB頭。它是娃娃頭的一種。BOB頭有許多變種,標準的類似于櫻桃小丸子的發型,專業發型師把它稱為BOB。最初是由巴黎發型師Antoine 在1909年發明,但…

Linux中的硬鏈接和軟鏈接

Linux中的硬鏈接和軟鏈接 節選自南大蔣炎巖老師操作系統網絡課程筆記:(2021) 24 [持久化] 文件系統API 硬(hard)鏈接 UNIX文件指針 在UNIX中,文件和目錄完全不是同一個概念,雖然我們平時看著它們仿佛并列地躺在某個…

計算機win10開機音樂,大師傳授win10系統電腦開機總是自動播放音樂的方案

今天小編分享一下win10系統電腦開機總是自動播放音樂問題的處理方法,在操作win10電腦的過程中常常不知道怎么去解決win10系統電腦開機總是自動播放音樂的問題,有什么好的方法去處理win10系統電腦開機總是自動播放音樂呢?今天本站小編教您怎么…

Linux中的tty、pts、pty等概念辨析

Linux中的tty、pts、pty等概念辨析 基本概念 tty、pty、pts、ptmx tty(終端設備的統稱):tty一詞源于Teletypes,或teletypewriters,原來指的是電傳打字機,是通過串行線用打印機鍵盤通過閱讀和發送信息的東…

(2021) 25 [持久化] 文件系統實現:FAT和UNIX文件系統

(2021) 25 [持久化] 文件系統實現:FAT和UNIX文件系統 南京大學操作系統課蔣炎巖老師網絡課程筆記。 視頻:https://www.bilibili.com/video/BV1HN41197Ko?p25 講義:http://jyywiki.cn/OS/2021/slides/15.slides#/ 背景 回顧 應用眼中的文件…

用計算機模擬地球誕生,計算機模擬顯示早期金星或像地球一樣宜居

雖然金星的綽號是“地球的邪惡孿生化身”,但它和地球上的一切都不同:灼熱、干燥并且被有毒煙云籠罩。不過,就在10億或20億年前,這兩個任性的“兄弟”可能更加相似。最新的計算機模擬顯示,早期的金星看上去和地球很像&a…

海南大學計算機原理,海南大學微機原理課件 第一章 計算機基礎知識

第一章計算機基礎知識數 制1.1一.計算機使用的數制及其相互轉換 十進制(D)、二進制(B)、八進制(O)和十六進制(H). 數制中用少量數碼按次序排列成數位,并按由低到高的進位方式進行計 數。(數碼的個數稱為基數) D---0,1,2,3,4,5,6,7,8,9------數碼十個(基為10)-------…

Linux中的二進制可執行文件和腳本可執行文件及Shebang

Linux中的二進制可執行文件和腳本可執行文件及Shebang 二進制可執行文件 我們知道&#xff0c;一個C程序經過預處理、編譯、匯編、鏈接就會得到一個二進制可執行文件&#xff0c;這種文件在Linux中叫做ELF文件。比如我們有一個C源代碼hello.c&#xff1a; #include <stdi…

pe能用的固態硬盤測試軟件,通用pe工具箱教你如何讓硬盤4K對齊

昨天小編教大家如何查看電腦硬盤是否4K對齊&#xff0c;馬上就有讀者告訴小編&#xff0c;查看電腦硬盤是否4K對齊的方法學到了&#xff0c;那么我使用的固態硬盤如何做到4K對齊呢&#xff1f;問的好啊&#xff01;現如今用戶對電腦硬件的要求是越來越高。很多用戶都不僅僅滿足…

[2020-ECCV]PIPAL-a Large-Scale Image Quality Assessment Dataset for Perceptual Image Restoration論文簡析

[2020-ECCV] PIPAL: a Large-Scale Image Quality Assessment Dataset for Perceptual Image Restoration 論文簡析 論文&#xff1a;https://arxiv.org/abs/2007.12142 代碼及數據集&#xff1a;https://github.com/HaomingCai/PIPAL-dataset 概述 本文認為隨著圖像重建&…

郫都區計算機老師周俊老師,教師節,帶你走進郫都教師背后的故事

點擊“郫都教育”關注我們&#xff1a;)有這樣一群人“師者&#xff0c;所以傳道&#xff0c;授業&#xff0c;解惑也”是他們奉獻一生的事業“隨風潛入夜&#xff0c;潤物細無聲”是他們培養英才的責任“春蠶到死絲方盡&#xff0c;蠟炬成灰淚始干”是他們追求終生的信仰值此第…

(2021) 18 [代碼講解] 可執行文件

(2021) 18 [代碼講解] 可執行文件 南京大學操作系統課蔣炎巖老師網絡課程筆記。 視頻&#xff1a;https://www.bilibili.com/video/BV1HN41197Ko?p18 講義&#xff1a;http://jyywiki.cn/OS/2021/slides/C8.slides#/ 背景 回顧 程序 狀態機 狀態機執行 狀態機上的路徑狀…

如何學習計算機思維,劉康平:為什么我們每個人都應該學習計算思維?

不久前&#xff0c;微軟亞洲研究院資深學術合作經理劉康平應邀在“造就”做了演講&#xff0c;以下為演講節選&#xff0c;由“造就”授權轉載。劉康平 微軟亞洲研究院資深學術合作經理以中國象棋為例&#xff0c;在這樣一個棋局上&#xff0c;你怎么用最快的方式找到「將」和「…

鏈接與加載-NJU-JYY

(2021) 19 [代碼講解] 從零實現動態加載 南京大學操作系統課蔣炎巖老師網絡課程筆記。 視頻&#xff1a;https://www.bilibili.com/video/BV1N741177F5?p15 講義&#xff1a;http://jyywiki.cn/OS/2021/slides/C9.slides#/ 背景 回顧&#xff1a; ELF可執行文件 只要能完成…

計算機械功的公式,機械功率計算公式

初中物理公式物理量(單位) 公式 備注 公式的變形速度V(m/S) v S /t (S:&#xff1a;路程&#xff1b; t&#xff1a;:時間 )重力G(N) Gmg (m&#xff1a;質量&#xff1b;g&#xff1a;9.8N/kg或者10N/kg)密度ρ(kg/m3) ρ m&#xff1a;質量/V&#xff1a;體積 (m&#xff1a;…

饑荒聯機自建服務器有什么用,聯機版饑荒使用專用服務器的好處 | 手游網游頁游攻略大全...

發布時間&#xff1a;2016-02-15存檔保存位置是?很多玩家對此并不是很了解,不過別著急喲,下面99單機小編就為你帶來高玩分享的相關技巧心得攻略,希望大家能喜歡. 聯機版的存檔與單機版是不同的,由于聯機版饑荒建 ...標簽&#xff1a;游戲資訊 攻略秘籍發布時間&#xff1a;201…