(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.mzph.cn/news/532744.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

(2021) 23 [持久化] I/O设备与驱动

(2021) 23 [持久化] I/O设备与驱动 南京大学操作系统课蒋炎岩老师网络课程笔记。 视频:https://www.bilibili.com/video/BV1HN41197Ko?p23 讲义:http://jyywiki.cn/OS/2021/slides/13.slides#/ 背景 很多人 (你们的同学们、家长们) 都有一个认识&…

(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)-------…

pe能用的固态硬盘测试软件,通用pe工具箱教你如何让硬盘4K对齐

昨天小编教大家如何查看电脑硬盘是否4K对齐,马上就有读者告诉小编,查看电脑硬盘是否4K对齐的方法学到了,那么我使用的固态硬盘如何做到4K对齐呢?问的好啊!现如今用户对电脑硬件的要求是越来越高。很多用户都不仅仅满足…

[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 论文简析 论文:https://arxiv.org/abs/2007.12142 代码及数据集:https://github.com/HaomingCai/PIPAL-dataset 概述 本文认为随着图像重建&…

郫都区计算机老师周俊老师,教师节,带你走进郫都教师背后的故事

点击“郫都教育”关注我们:)有这样一群人“师者,所以传道,授业,解惑也”是他们奉献一生的事业“随风潜入夜,润物细无声”是他们培养英才的责任“春蚕到死丝方尽,蜡炬成灰泪始干”是他们追求终生的信仰值此第…

(2021) 18 [代码讲解] 可执行文件

(2021) 18 [代码讲解] 可执行文件 南京大学操作系统课蒋炎岩老师网络课程笔记。 视频:https://www.bilibili.com/video/BV1HN41197Ko?p18 讲义:http://jyywiki.cn/OS/2021/slides/C8.slides#/ 背景 回顾 程序 状态机 状态机执行 状态机上的路径状…

如何学习计算机思维,刘康平:为什么我们每个人都应该学习计算思维?

不久前,微软亚洲研究院资深学术合作经理刘康平应邀在“造就”做了演讲,以下为演讲节选,由“造就”授权转载。刘康平 微软亚洲研究院资深学术合作经理以中国象棋为例,在这样一个棋局上,你怎么用最快的方式找到「将」和「…

链接与加载-NJU-JYY

(2021) 19 [代码讲解] 从零实现动态加载 南京大学操作系统课蒋炎岩老师网络课程笔记。 视频:https://www.bilibili.com/video/BV1N741177F5?p15 讲义:http://jyywiki.cn/OS/2021/slides/C9.slides#/ 背景 回顾: ELF可执行文件 只要能完成…

饥荒联机自建服务器有什么用,联机版饥荒使用专用服务器的好处 | 手游网游页游攻略大全...

发布时间:2016-02-15存档保存位置是?很多玩家对此并不是很了解,不过别着急哟,下面99单机小编就为你带来高玩分享的相关技巧心得攻略,希望大家能喜欢. 联机版的存档与单机版是不同的,由于联机版饥荒建 ...标签:游戏资讯 攻略秘籍发布时间:201…

(2021) 26 [持久化] 持久数据的可靠性:RAID和journaling

(2021) 26 [持久化] 持久数据的可靠性:RAID和journaling 南京大学操作系统课蒋炎岩老师网络课程笔记。 视频:https://www.bilibili.com/video/BV1HN41197Ko?p26 讲义:http://jyywiki.cn/OS/2021/slides/16.slides#/ 背景 回顾 文件系统 …

win10无法检验服务器出示的ssl证书,win10系统网站启用ssL安全证书的操作方法

win10系统网站启用ssL安全证书的操作方法?很多win10用户在使用电脑的时候,会发现win10系统网站启用ssL安全证书的的现象,根据小编的调查并不是所有的朋友都知道win10系统网站启用ssL安全证书的的问题怎么解决,不会的朋友也不用担心&#xff…

Nplayer本地文件拷到服务器,手把手教你简易NAS构建,手机/平板/智能电视随意调取,家庭存储云共享,有了自己的网络云盘后再也不用担心容量不够了!...

之前嫌键盘侠烦,写这些也没意义所以把账号注销了文章删除了,现在想了想我抗吧12级老蛆还喷不过这帮小兔崽子?换了skt.ruo秽土转生,求喷子和我在各评论对线。特别是匿名dog见一个怼死一个。下面是之前号写的内容原文 -#简介NAS全称…

gdb 入门

gdb 入门 简介 gdb是GNU开源组织发布的一个强大的Linux下的程序调试工具。 一般来说,GDB主要帮助你完成下面四个方面的功能: 1、启动你的程序,可以按照你的自定义的要求随心所欲的运行程序。 2、可让被调试的程序在你所指定的调置的断点…