PC_磁盘HDD_SSD

news2025/7/8 14:17:48

文章目录

    • 磁盘存储器
      • 组成
        • 磁盘驱动器
        • 磁盘控制器
        • 盘片platter
      • 存储区域
      • 磁盘结构
        • 磁道track
        • 扇区sector🎈/块Block🎆
        • 磁头(Head)
        • 圆柱面cylinder
    • 磁记录原理
    • 磁盘性能指标
      • 记录密度
      • 磁盘的容量
        • 非格式化容量
        • 格式化容量
      • 数据传输率
        • 磁盘转速
        • 旋转周期T
      • 平均存取时间
        • 纯读/写时间
    • 磁盘地址
    • 磁盘阵列RAID
    • SSD
      • 结构
      • 特点

磁盘存储器

  • hdd(hard disk drive)

    • Hard disk drive - Wikipedia
    • Operating Systems: Mass-Storage Structure (uic.edu)
    • How Hard Disk works, Internal structure and Read/Write data operations – Tech mastery (wordpress.com)
  • ssd(solid-state drive)

    • Everything You Need to Know About Solid-state drive (SSD) - Guide (minitool.com)
    • Solid-state drive - Wikipedia
    • Coding for SSDs – Part 2: Architecture of an SSD and Benchmarking | Code Capsule
  • 在这里插入图片描述
    在这里插入图片描述在这里插入图片描述
    Exploded line drawing of a modern hard disk, showing the major components.
    现代硬盘的分解线图,显示了主要部件
    ref link
    Architecture of a solid-state drive(SSD)

组成

磁盘驱动器

  • 磁盘驱动器/磁盘:由磁头,磁盘读写电路等组成,简称为磁盘
  • 核心部件:
    • 磁头组件
    • 盘片组件
  • 温彻斯特盘:
    • 可以移动磁头,固定盘片的磁盘存储器

磁盘控制器

  • 硬盘存储器和主机的接口
  • 主流标准:
    • IDE
    • SCSI
    • SATA

盘片platter

  • 一个磁盘(如一个 1T 的机械硬盘)由多个盘片叠加而成
  • 盘片的表面涂有磁性物质,这些磁性物质用来记录二进制数据
  • 因为正反两面都可涂上磁性物质,故一个盘片可能会有两个盘面(surfaces of platter)

存储区域

  • 一块硬盘含有若干记录面
  • 每个记录面划分为若干磁道(一系列的同心圆环)
  • 每条磁道划分为若干扇区(块)

磁盘结构

磁道track

  • 每个盘片被划分为一个个磁道

扇区sector🎈/块Block🎆

  • 每个磁道又划分为一个个扇区

    • 扇区中包含
      • 数据
      • 地址
      • 校验
      • …等信息
  • 磁盘读写的最小单位扇区(或者称为)🎈

    • 磁盘按存取
    • 不同于主存,可以读取字节
  • 其中,最内侧磁道上的扇区面积最小,因此数据密度最大

  • 扇区数:表示每条磁道上有多少个扇区

磁头(Head)

  • 磁头用于读取/写入盘片上记录的信息
  • 磁头数即记录面数,表示磁盘有多少个磁头
  • 一个记录面对应一个磁头🎈

圆柱面cylinder

  • 在一个盘组中,不同记录面相同编号(位置)的诸多磁道构成一个圆柱面
    • 所有盘面中相对位置相同的磁道组成柱面
    • 空间几何上可以类比圆柱体的侧面
    • 不同柱面底面半径各不相同
  • 每个盘面对应一个磁头 所有的磁头都是连在同一个磁臂上的,因此所有磁头只能“共进退”
  • 柱面数:表示硬盘每面上有多少条磁道

磁记录原理

  • 磁头和磁性记录介质相对运动时,通过电磁转换完成读写操作
  • 编码方法
    • 按照某种方案,把一连串的二进制信息变换称存储介质磁层中一个磁化翻转状态序列
    • 使得读写电路容易/可靠地实现转换
  • 磁记录方式:
    • 通常采用调频FM和改进型调频制MFM的方式记录

磁盘性能指标

记录密度

  • 记录密度是指盘片单位面积上记录的二进制信息量,
  • 通常以道
    • 密度
    • 位密度
    • 面密度
    • …表示
  • 道密度是沿磁盘半径方向单位长度上的磁道数
  • 位密度是磁道单位长度上能记录的二进制代码位数
  • 面密度是位密度和道密度的乘积

磁盘的容量

  • 磁盘容量有非格式化容量格式化容量之分

非格式化容量

  • 是指磁记录表面可利用的磁化单元总数
  • 它由道密度和位密度计算而来;
  • 称为硬盘容量

格式化容量

  • 是指按照某种特定的记录格式能存储信息的总量

  • 格式化后的容量比非格式化容量要小 🎈

  • 称为格式化后的实际容量(有效容量)

数据传输率

  • 磁盘存储器在单位时间向主机传送数据的字节数,称为数据传输率

    • 磁盘转数为r转/秒

    • 每条磁道容量N字节

      • 设扇区容量为 V s e c V_{sec} Vsec
      • 每个磁道有 N s e c N_{sec} Nsec
      • N = V s e c N s e c N=V_{sec}N_{sec} N=VsecNsec
    • 则数据传输率(DataRate: D r D_r Dr)为

      • D r = r N = r V s e c N s e c D_r=rN=rV_{sec}N_{sec} Dr=rN=rVsecNsec

磁盘转速

  • 表示单位时间内磁盘完成几个周(round)的旋转
  • 通常用
    • r 转 / 秒 或 者 m 转 / 分 钟 表 示 r转/秒或者m转/分钟表示 r/m/
      • m 转 / 分 钟 = 1 60 m 转 / 秒 m转/分钟=\frac{1}{60}m转/秒 m/=601m/

旋转周期T

  • 有时也用旋转周期时间 T r , 简 化 记 为 T T_r,简化记为T Tr,T来描述磁盘转速:

    • 完成一转(round)需要的时间(平均时间)

    • 1 r / 1 T , 即 1 r : 1 T 1r/1T,即1r:1T 1r/1T,1r:1T

    • 如果知道转速为:

      • m   ( r / m i n ) , 可 以 写 成 : m r m i n = 1 r 1 m m i n m   r : 1 m i n 1 r : 1 m m i n = 60 m s m\ (r/min),可以写成: \\m\frac{r}{min}=\frac{1r}{\frac{1}{m}min} \\m\ r:1min \\1r:\frac{1}{m}min=\frac{60}{m}s m (r/min),:mminr=m1min1rm r:1min1r:m1min=m60s

        • 根据周期的定义, T = 1 m m i n = 60 m s T=\frac{1}{m}min=\frac{60}{m}s T=m1min=m60s

  • 某磁盘转速为7200 r/min

  • 每个磁道上有160扇区(sectors)

  • 每扇区512字节

  • 理想情况下的传输速率DataRate?

    • D r = 7200 × 160 × 512 B 60 s = ( 9600 K ) B / s D_r=\frac{7200\times{160}\times{512B}}{60s}=(9600K)B/s Dr=60s7200×160×512B=(9600K)B/s

平均存取时间

  • 平均存取时间由

    • 寻道时间( T t r a c k T_{track} Ttrack)(磁头移动到目的磁道的时间)、
    • 磁道内扇区定位时间( T s e c T_{sec} Tsec):旋转延迟时间(磁头定位到要读写扇区的时间)
      • sec:sector Delay
      • 即:平均查找扇区的时间
      • 磁盘旋转一周的时间的一半
        • 下的推导就是一个大概
        • 设磁道上有n个扇区
        • 移动到相邻扇区时间为 t 0 t_0 t0
        • 磁盘旋转一周的时间T= n t 0 nt_0 nt0
        • 平均访问时间 T a = 1 n ∑ i = 0 n − 1 i ⋅ t 0 = 1 n n ( n − 1 ) 2 t 0 = 1 2 ( n − 1 ) t 0 ≈ 1 2 n t 0 = 1 2 T T_a=\frac{1}{n}\sum\limits_{i=0}^{n-1}i\cdot t_0=\frac{1}{n}\frac{n(n-1)}{2}t_0=\frac{1}{2}{(n-1)}t_0\approx\frac{1}{2}nt_0=\frac{1}{2}T Ta=n1i=0n1it0=n12n(n1)t0=21(n1)t021nt0=21T
        • 把定位时间记为 T s e c = 1 2 T r T_{sec}=\frac{1}{2}{T_r} Tsec=21Tr
    • 磁盘控制器延迟( T c t r l T_{ctrl} Tctrl)
      • ctrl:Controller Delay
      • 有些地方会忽略处理这部分耗时
    • 传输时间 T t r a n s T_{trans} Ttrans(传输数据所花费的时间)
      • data transfer time
  • 综上:

    • T a v g = T t r a c k + T s e c + T t r a n s + T c t r l T_{avg}=T_{track}+T_{sec}+T_{trans}+T_{ctrl} Tavg=Ttrack+Tsec+Ttrans+Tctrl
  • 由于寻道和找扇区的距离远近不一,故寻道时间旋转延迟时间(扇区定位)通常取平均值

纯读/写时间

  • 磁头从需要读取的若干个扇区中的第一个扇区开始旋转到结束扇区的这段时间
  • 想时间不考虑延迟和寻道的时间(只计算直接读取所需要扇区的时间)
    • 即,机械运动操作的时间都以0处理

  • 磁盘转速为V=7200 r/min

    • T = 60 7200 s = ( 1 / 120 ) s T=\frac{60}{7200}s=(1/120)s T=720060s=(1/120)s
    • 则:扇区定位平均时间 T s e c = 1 2 T = 1 240 s ≈ 0.00417 s = 4.17 m s T_{sec}=\frac{1}{2}T=\frac{1}{240}s\approx{0.00417}s=4.17ms Tsec=21T=2401s0.00417s=4.17ms
  • 磁盘平均寻道 T t r a c k T_{track} Ttrack时间为8ms

  • 每一个磁道有n=1000扇区,那么读取一个扇区的纯读取时间为

    • 1 n T = 1 1000 1 120 = 0.083 × 1 0 − 4 s = 0.083 × 1 0 − 1 × 1 0 − 3 s = 0.0083 m s ≈ 0.01 m s \frac{1}{n}T=\frac{1}{1000}\frac{1}{120} =0.083\times10^{-4}s \\ =0.083\times{10^{-1}\times{10^{-3}}}s =0.0083ms \\ \approx{0.01}ms n1T=100011201=0.083×104s=0.083×101×103s=0.0083ms0.01ms

    • 因此:读取一个扇区的读取时间大约为0.01ms

  • 访问一个扇区的平均存取时间为?

    • S=寻道时间+扇区定位时间+纯读写时间=8ms+4.17ms+0.01=12.18ms

  • 设某磁盘
    • 磁盘的平均寻道时间为6ms
    • 磁盘传输速率为 D r D_r Dr=20MB/s
    • 磁盘控制器延迟为0.2ms
    • 扇区大小 V s e c = 4 K B V_{sec}=4KB Vsec=4KB
  • 又设该磁盘转速为 1 0 4 10^4 104r/min
    • 工作周期为: T = 1 1 0 4 m i n = 60 × 1 0 − 4 s = 6 × 1 0 − 3 s = 6 m s T=\frac{1}{10^4}min=60\times{10^{-4}}s=6\times{10^{-3}s}=6ms T=1041min=60×104s=6×103s=6ms
    • 平均磁道内扇区定位时间为 T s e c = 1 2 T = 3 m s T_{sec}=\frac{1}{2}T=3ms Tsec=21T=3ms
  • 读取一个扇区的理想时间(纯读取时间):
    • T r e a d = V s e c D r = 4 K B 20 M B / s = 1 5 K s = 0.2 m s T_{read}=\frac{V_{sec}}{D_r}=\frac{4KB}{20MB/s}=\frac{1}{5K}s=0.2ms Tread=DrVsec=20MB/s4KB=5K1s=0.2ms
    • 理想时间不考虑延迟和寻道的时间(只计算直接读取所需要扇区的时间)
      • 即,机械运动操作的时间都别设想为0
  • 读取总时间(包括延迟)
    • 寻道时间+扇区定位时间+控制器延迟时间+理想读取时间
    • t=6+3+0.2+0.2=9.4ms

磁盘地址

  • 驱动器号
  • 柱面号(磁道号)
  • 盘面号
  • 扇区号
  • Note:
    • 如果不特别指明多个驱动器,一般一个磁盘内就考虑后面三个级别

  • 假系统中有4个磁盘驱动器(需要2bit区分)

    • 每个驱动器带1个磁盘
      • 每个磁盘
        • 256个磁道 2 8 = 256 2^8=256 28=256(需要8bit区分磁道)
        • 16个盘面(需要 log ⁡ 2 16 = 4 \log_2{16}=4 log216=4bit区分盘面)(比如:磁盘带有8个双面盘片)
          • 每个盘面划分为16个扇区(需要4bit区分扇区)
  • 每个扇区地址要2+8+4+4=18bit二进制代码

磁盘阵列RAID

  • RAID(磁盘阵列(Redundant Array of Independent Disks))

    • 是指将多个独立的物理磁盘组成一个独立的逻辑盘

    • 数据在多个物理盘上分割交叉存储、并行访问

    • 具有更好的

      • 存储性能

      • 可靠性

      • 安全性

  • 在 RAID1~RAID5几种方案中,无论何时有磁盘损坏,都可随时拔出受损的磁盘再插入好的磁盘,而数据不会损坏,提升了系统的可靠性

    • RAIDO:无冗余和无校验的磁盘阵列
    • RAID1:镜像磁盘阵列
    • RAID2:采用纠错的海明码的磁盘阵列
    • RAID3:位交叉奇偶校验的磁盘阵列
    • RAID4:块交叉奇偶校验的磁盘阵列
    • RAID5:无独立校验的奇偶校验磁盘阵列
  • RAID0

    • 把连续多个数据块交替地存放在不同物理磁盘的扇区中
    • 几个磁盘交叉并行读写,不仅扩大了存储容量,而且提高了磁盘数据存取速度
    • 但RAIDO没有容错能力
      • 最基础的阵列方案
      • 没有引入冗余🎈
      • 其他几个级别都引入冗余或数据校验
  • RAID1:

    • 为了提高可靠性,RAID1使两个磁盘同时进行读写,互为备份,若一个磁盘出现故障,可从另一磁盘中读出数据
    • 两个磁盘当一个磁盘使用,意味着容量减少一半
  • 提高RAID可靠性的方法

    • 磁盘镜像
    • 数据校验(比如:奇偶校验)
  • 总之

    • RAID通过同时使用多个磁盘,提高了传输率;
    • 通过在多个磁盘上并行存取来大幅提高存储系统的数据吞吐量;
    • 通过镜像功能,提高安全可靠性;
    • 通过数据校验,提供容错能力

SSD

  • 固态硬盘(SSD)是一种基于闪存技术的存储器
  • 它与U盘并没有本质上的差别,只是容量更大,存取性能更好
  • 一个 SSD由一个或多个闪存芯片和闪存翻译层组成,闪存芯片替代传统旋转磁盘中的机械驱动器,而闪存翻译层将来自CPU的逻辑块读写请求翻译成对底层物理设备的读写控制信号,因此,这个闪存翻译层相当于扮演了磁盘控制器的角色

结构

  • 一个闪存由B块组成,每块由Р页组成

  • 在这里插入图片描述expload View Solid state Drive

特点

  • 通常,页的大小是512B4KB,每块由32~128页组成,块的大小为16KB512KB

  • 数据是以(page)为单位读写的 只有在一页所属的块整个被擦除后,才能写这一页

  • 不过,一旦一个块被擦除,块中的每个页都可以直接再写一次 某个块进行了约10万次重复写之后,就会磨损坏,不能再使用

  • 随机写比随机读慢得多,有两个原因首先,擦除块比较慢,1ms 级,比访问页高一个数量级

  • 其次,如果写操作试图修改一个包含已有数据的页P那么这个块中所有含有用数据的页都必须被复制到一个新(擦除过的)块中,才能进行对页P写

  • 优点(比起传统磁盘)

    • 它由半导体存储器构成,没有移动的部件,因而随机访问时间比机械磁盘要快很多,
      • 随机比随机慢,但是依然比机械操作的传统磁盘快得多
    • 也没有任何机械噪声和震动,
    • 能耗更低,
    • 抗震性好,
    • 安全性高等
  • 缺点

    • 因为反复写之后,闪存块会磨损,所以SSD也容易磨损
  • 闪存翻译层中有一个平均磨损逻辑

    • 试图通过将擦除平均分布在所有的块上来最大化每个的寿命

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/37005.html

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

相关文章

网络与通信程序设计-基于UDP的广播通信实例

目录 实验内容和设计思想 实验的内容 UDP的设计思想 UDP的协议头部 UDP通信编程思想 UDP的工作流程 UDP编程收发函数 广播通信 广播模式设置 广播套接字 UDP Socket的使用过程 UDP广播通信实例实现 initsock.h 服务器发送广播消息 客户端接收广播消息 运行效果 …

HttpMessageConverter 消息转换器

HttpMessageConverter 简介 HttpMessageConverter 是SpringMVC中提供的一个策略接口,它是一个消息转换器类,Spring Mvc中就是由HttpMessageConverter负责转换HTTP的请求和响应。 默认情况下,Spring Boot 会自动加载如下消息类型转换器&…

spring复习01,IOC的思想和第一个spring程序helloWorld

spring复习01,IOC的思想及本质IOC的思想一个小例子,来体会IOC的基础思想。dao层dao层接口dao层实现类service层service层接口service层实现类测试代码service层实现类修改测试代码修改IOC容器在spring中的简单实现创建项目在pom.xml中引入依赖实体类创建…

C# 拨号面板 高亮显示

一 拨号面板 显示:绘制4x3; 数据:每一格对应一个数字; 行为:点击单元格时有反应; 二 拨号事件 当点击某个号码时,触发拨号事件。 设计思路: ① 重写OnMouseClick(); ② 根据鼠标点击位置&am…

JVET-AB0117-基于模板的帧内推导的方向性融合

本提案是针对 ECM 中的 TIMD(基于模板的帧内模式推导,Template based intra mode derivation ) 的技术的加权方式的改进。具体地,本提案提出使用方向混合(directional blending)来加权TIMD使用模板推导的两…

SpringBoot SpringBoot 原理篇 1 自动配置 1.13 bean 依赖属性配置

SpringBoot 【黑马程序员SpringBoot2全套视频教程,springboot零基础到项目实战(spring boot2完整版)】 SpringBoot 原理篇 文章目录SpringBootSpringBoot 原理篇1 自动配置1.13 bean 依赖属性配置1.13.1 环境准备1.13.2 bean 依赖属性配置1…

【软件测试】作为测试人,因工作与开发吵了一架碰撞,该咋办......

目录:导读前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜)前言 测试与开发在工作中…

【网页设计】HTML+CSS保护野生动物北极熊介绍网页设计专题

🎉精彩专栏推荐 💭文末获取联系 ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 💂 作者主页: 【主页——🚀获取更多优质源码】 🎓 web前端期末大作业: 【📚毕设项目精品实战案例 (10…

傻白入门芯片设计,RDL/Interposer/EMIB/TSV(五)

一、再分配层(RDL) 主要原理就是在晶片表面沉积金属层和介电层。它形成了一个再分配层,以携带相应的金属布线模式,并在芯片外的松散区域上重新排列芯片的IO端口。由于RDL形成的金属布线的线宽和间距较小,从而提供了更…

MySQL之InnoDB架构浅析

InnoDB是一个兼顾高可靠性和高性能的通用存储引擎。在 MySQL 5.7 中,InnoDB是默认的 MySQL 存储引擎。 InnoDB 的主要优势 支持事物,具备crash-safe的能力支持行锁以及MVCC,具备良好的多用户并发性和性能Buffer Pool,提升热点数…

第8章 综合案例—构建DVD租赁商店数据仓库

目录 章节概要 案例背景介绍 数据仓库的架构模型 数据仓库的架构模型 数据库sakila的下载和安装 数据库sakila简介 数据库sakila中 数据表之间的关系 数据表简介 用于储存电影基本信息及相关介绍的数据,该数据表各个字段的含义如表。 用于储存定义电影id所…

Python爬虫

前言 这个故事,从头讲起。 2022 年上班第一天,我们做了一个重要决定,就是打造精品学习路线,为初学者指明前进的方向,以及常见的避坑技巧。 (文末送读者福利) 我承认这是一件非常有挑战的事情…

自动驾驶感知算法实战6——目标分类详解(ResNet、VGG、GoogLeNet等)

自动驾驶感知算法实战专栏:https://blog.csdn.net/charmve/category_12097938.html目录 1 网络分类2 详解 ResNet3 详解 VGG4 稠密连接网络(DenseNet)5 详解 GoogLeNet6 详解 Fast R-CNN1 网络分类 来自:https://charmve.github.io/computer-vision-in-action/#/book_prefa…

构建房地产行业智慧采购新模式,采购协同商城系统护航企业采购数字化转型

采购是房地产企业控制成本的龙头,同时还直接影响着工程质量。随着采购工作推进的不断深化,对地产物资采购精细化管理的要求也在日益加强,如何做好采购工作成为房地产企业实现数字化转型升级进程必须突破的壁垒。 房地产作为一个资源整合性行…

排序算法及java实现

简介 排序算是非常基础的算法,为什么我们需要排序算法呢?假设我们只有10个数,或者100个数,其实根本不需要研究这么多的排序算法,正常我们会使用的插入排序或者选择排序足够了,没必要发明快排,基…

第九章 哈希表 AcWing 2 1549. 集合相似度

第九章 哈希表 AcWing 2 1549. 集合相似度 原题链接 AcWing 1549. 集合相似度 算法标签 哈希表 位运算 思路 使用unordered_set数据结构将数据插入指定集合 如何计算Nc(两集合交集) 如何计算Nt(两集合并集) 输出问题 WA 精…

干掉 “重复代码”,这三种方式绝了!

软件工程师和码农最大的区别就是平时写代码时习惯问题,码农很喜欢写重复代码而软件工程师会利用各种技巧去干掉重复的冗余代码。 业务同学抱怨业务开发没有技术含量,用不到设计模式、Java 高级特性、OOP,平时写代码都在堆 CRUD,个…

BCD编码和ASCII码

计算机里,字母,各种字符以及指挥计算机执行操作的指令,均用二进制数的组合表示,称为二进制编码 目录 ASCII码(汇编语言程序设计的时候会常用) BCD码(了解) ASCII码(汇…

等数值计算方法学习笔记第4章第三部分【数值积分(数值微分)】

高等数值计算方法学习笔记第4章第三部分【数值积分(数值微分)】六、数值微分(第四次课)1、中点方法与误差分析2、插值型的求导公式3、习题和表格4、知识结构图六、数值微分(第四次课) 1、中点方法与误差分析…

【图像处理】小波编码图像中伪影和纹理的检测(Matlab代码实现)

👨‍🎓个人主页:研学社的博客 💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜…