【存储学习笔记】1:机械硬盘(Hard Drive Disk)结构和寻址方式

目录

  • HDD的结构
  • HDD的寻址方式
    • CHS寻址(不适用于等密度结构磁盘)
    • LBA寻址(目前普遍使用的线性寻址方式)
  • HDD的寻址速度

HDD的结构

在这里插入图片描述

  • 盘面(Platter):单面或者双面覆盖着用于记录数据的磁性物质,一块HDD由同轴上下多块Platter组成。
  • 轴(Spindle):所有的Platter都绕着这个Spindle,被主轴电机驱动着进行匀速旋转。
  • 主轴电机(Spindle Motor):用于旋转Platter,通常HDD转速是每分钟5400或者7200转。
  • 读写头(Read/Write Head):每个面上都有一个读写投用来读取或者写入数据。
  • 磁头臂(Arm):读写头都固定在Arm的末端。
  • 制动杆(Actuator)轴:所有的Arm都连接到Actuator上,由定位电机来驱动,以控制读写头沿着Platter的半径方向移动。所以,Platter的旋转,配合读写头在Arm上的移动,可以让读写头访问到Platter上的所有部分。
  • 磁道(Track):Platter表面划分了一堆同心圆,也就是一个个Track。
  • 柱面(Cylinder):到Spindle有相同的半径距离的Track的集合。因为读写头的移动影响它在Platter上半径的哪个位置上,所以当某个面的读写头在某个Track上时,其它面的读写头也会在对应的这个半径的Track上,所有这些不同面上相同半径的Track称为一个Cylinder。看起来就像一个镂空的圆柱面一样。
  • 扇区(Sector):Track被划分成的一个个扇形区域,它是磁盘驱动器进行读写访问的最小单位,经典的Sector Size能容纳512B的数据。Sector的头部包含扇区标识符和时钟同步信息,尾部包含错误校验码(ECC),ECC是根据Sector头部信息和存储的数据计算得到的。
  • 簇(Cluster):HDD本身的读写基本单位是Sector,但对文件系统(File System)来说,基本读写单位是Cluster,相邻的若干个Sector组成一个Cluster。Cluster一般有4K、8K、…、64K等。
  • 等密度结构磁盘:一般,所有的Track上Sector数量一样,但这样外磁道的记录密度会远远低于内磁道,所以会造成空间浪费,就限制了HDD的容量。在等密度结构磁盘实现上,Sector只需要固定的面积大小就可以了,所以外层的Track放了更多的Sector。

在这里插入图片描述

HDD的寻址方式

CHS寻址(不适用于等密度结构磁盘)

CHS寻址是利用HDD的三维结构,给个三个方向的参数来进行寻址:
Heads:磁头编号,比如双面磁盘,磁盘正反面各有一个磁头,所以用磁头编号就能表示数据在哪个磁面上。
Cylinders:柱面编号,表示数据在哪个柱面上,利用H和C就能定位到唯一磁道Track。
Sectors:扇区编号,因为已经定位到了唯一Track,所以用Sectors就能找到唯一的扇区。

CHS寻址方式下,HDD的大小很有限,根据HDD的容量计算公式:

硬盘容量= 盘面(磁头)数 × 柱面数 × 扇区数 × 每扇区字节数

例如

磁头数最大为255 (用 8 个二进制位存储)。从0开始编号。
柱面数最大为1023(用 10 个二进制位存储)。从0开始编号。
扇区数最大数 63(用 6个二进制位存储)。从1始编号。
所以CHS寻址方式的最大寻址范围为:
255 * 1023 * 63 * 512 / 1048576 = 7.837 GB ( 1M =1048576 Bytes )

对于等密度结构磁盘,内外层的扇区不能组成一个扇形(外磁道的扇区更多),所以没法使用CHS寻址方式。

LBA寻址(目前普遍使用的线性寻址方式)

LBA(Logical Block Addressing)寻址方式是给每个数据块一个从0开始线性增长的编号,所以不需要考虑硬盘的物理结构。
传统的28位LBA,能表示的范围就是2^28,乘以数据块大小就是最大数据容量。现代硬盘和OS已经支持48位LBA。

HDD的寻址速度

  • 寻道时间(Seeking Time):为了访问数据块,磁盘控制器要移动控制读写头到正确的Cylinder上,这个过程称为Seeking。
  • 旋转延迟(Rotational Latency):找到正确的Cylinder之后,还要等待要访问的那个Sector旋转到读头下面,这个时间称为Rotational Latency。

例如,7200转/分钟的HDD,转换一周的时间是60(秒)×1000(转换毫秒)÷7200(转)=8.33毫秒,平均情况下认为每次寻址需要转换半圈,则平均旋转延迟时间为8.33÷2=4.17ms。再加上寻道时间就是寻址所需要的时间。

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

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

相关文章

《昇思25天学习打卡营第25天|第23天》

今天是打卡的第二十三天,今天学习的是应用实践篇中的计算机视觉中FCN图像语义分割。 首先,是对全卷积网络(FCN)的简介,语义分割的简介,模型简介(1、卷积化,2、上采样,3、…

51单片机嵌入式开发:15、STC89C52RC操作蜂鸣器实现一个music音乐播放器的音乐盒

STC89C52RC操作蜂鸣器实现一个music音乐播放器的音乐盒 1 概述2 蜂鸣器操作方法3 蜂鸣器发出音声4 硬件电路5 软件实现6 整体工程:7 总结 1 概述 要实现一个基于STC89C52RC单片机的音乐盒,可以按照以下步骤进行: (1)硬…

STM32项目分享:智能宠物喂食系统

目录 一、前言 二、项目简介 1.功能详解 2.主要器件 三、原理图设计 四、PCB硬件设计 1.PCB图 五、程序设计 六、实验效果 七、资料内容 项目分享 一、前言 项目成品图片: 哔哩哔哩视频链接: https://www.bilibili.com/video/BV1zy411z7…

关于对CSDN的谴责

关于对CSDN的谴责 如果不是心血来潮登了一次旧帐号我是万万不会想到,所有的文章都被设置成了仅VIP可见。 CSDN你的VIP有多不受人待见您不知道吗?为什么要把我用于你开通VIP刷绩效的工具? 这种东西不应该首先经过同意再开启吗?默认…

JavaWeb day01-HTML入门

Web前端 课程安排 HTML、CSS简介 HTML快速入门 实现标题排版 新闻标题样式

深度学习程序环境配置

深度学习环境配置 因为之前轻薄本没有显卡跑不起来,所以换了台电脑重新跑程序,故记录一下配置环境的步骤及常见错误 本人数学系,计算机部分知识比较匮乏,计算机专业同学可以略过部分内容 深度学习环境配置 深度学习环境配置 CUD…

MATLAB算法实战应用案例精讲-【数模应用】多元方差分析MANOVA(附MATLAB、python和R语言代码实现)

目录 知识储备 方差分析 一、单因素方差分析 二、双因素方差分析 三、多因素方差分析 四、事后多重比较 五、重复测量方差 六、协方差分析 七、多元方差分析 算法原理 多元方差分析的特点 多元方差分析的使用条件 应用案例 代码实现 MATLAB python R语言 知…

StringBuilder, Stringbuffer,StringJoiner

StringBuilder StringBuilder 代表可变字符串对象,相当于是一个容器,里面装的字符串是可以改变的,就是用来操作字符串的。 StringBuilder 比String更适合做字符串的修改操作,效率更高,代码更加的简洁。 public clas…

在结束的地方重新开始:十指之梢与新的轮回

一、前述 如果你想感受人潮汹涌,那么就请到大城市繁华街区的十字路口去看一看,尤其是节假日。 所以,交警对于城市交通的通畅,人们出行顺利的保障,是异常重要的。 交警,指挥交通有很多工具和方法&#xff0…

vscode 文件颜色变绿色

解决:关闭git功能 在设置中搜索Git:Enabled,取消Decorations: Enabled的勾选

04-用户画像+sqoop使用

优点 sqoop的作用是实现数据的导入和导出,主要是对数据库和数据仓库之间的操作 只要是支持jdbc连接的数据库都可以使用sqoop操作 添加Sqoop到环境变量中 export SQOOP_HOME/export/server/sqoop export PATH$PATH:$SQOOP_HOME/bin:$SQOOP_HOME/sbinsource /etc/…

嵌入式单片机软件与硬件的结合方法分析

不知道大家有没有疑惑,为什么软件能控制硬件?关于这个问题,给出直观解释的文章:本文分析STM32单片机到底是如何软硬件结合的,分析单片机程序如何编译,运行。 软硬件结合 初学者,通常有一个困惑,就是为什么软件能控制硬件?就像当年的51,为什么只要写P1=0X55,就可以…

Leetcode3212. 统计 X 和 Y 频数相等的子矩阵数量

Every day a Leetcode 题目来源:3212. 统计 X 和 Y 频数相等的子矩阵数量 解法1:二维前缀和 维护二维前缀和,分别统计 ‘X’ 和 ‘Y’ 的个数。 统计足以下条件的子矩阵数量: 包含 grid[0][0]‘X’ 和 ‘Y’ 的频数相等。至少…

贪吃蛇超精讲(C语言)

前言 如果你还是个萌新小白,那么该项目的攻克过程一定会十分艰难。虽然作者已经将文章尽可能写的逻辑清晰,内容详细。但所谓“纸上得来终觉浅”,在讲到陌生结构和函数时,大家请一定自己动手去敲一遍代码,这很重要&…

00 JavaWeb

学习资料:B站视频-黑马程序员JavaWeb基础教程 文章目录 JavaWeb1、JavaWeb简介2、 JavaWeb主要内容3、JavaWeb技术栈4、JavaWeb课程安排5、Web核心课程安排 JavaWeb 1、JavaWeb简介 Web:全球广域网,也称为万维网(www),能够通过浏…

Mysql-索引结构

一.什么是索引? 索引(index)是帮助MySQL高效获取数据的数据结构(有序)。在数据之外,数据库系统还维护着满足特定查找算法的数据结构,这些数据结构以某种方式引用(指向)数据,这样就可以在这些数据结构上实现高级查找算法,这种数据结构就是索引 二.无索引的情况 找到…

C++ | Leetcode C++题解之第273题整数转换英文表示

题目&#xff1a; 题解&#xff1a; class Solution { public:vector<string> singles {"", "One", "Two", "Three", "Four", "Five", "Six", "Seven", "Eight", "Ni…

DC-1靶场打靶第一次!!!!冲冲冲!

今天打了一下DC-1这个靶场&#xff0c;感觉收获比大&#xff0c;我就来记录一下。 我的思路是下面的这个 我们先把靶机导入&#xff0c;然后与我们的liunx(攻击机)在同一个网段中&#xff0c;这也大大的减低难度。 然后我们先对自己这个网段内存活的主机进行操作&#xff0c;我…

【Spring Boot】网页五子棋项目中遇到的困难及解决方法

目录 一、HikariPool-1 - Starting异常二、Invalid bound statement (not found)异常三、The driver is automatically registered via the SPI and manual loading of the driver class is generally unnecessary异常四、The server time zone value时区报错异常五、补充知识点…

免费【2024】springboot 白优校园社团网站的设计与实现

博主介绍&#xff1a;✌CSDN新星计划导师、Java领域优质创作者、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和学生毕业项目实战,高校老师/讲师/同行前辈交流✌ 技术范围&#xff1a;SpringBoot、Vue、SSM、HTML、Jsp、PHP、Nodejs、Python、爬虫、数据可视化…