Day-14 Disk很大,你忍一下

Disk很大,你忍一下

tags: IT铁人

小故事

既然这篇要讲硬碟,先问各位一下,电脑一般来说我们都把系统还有程序放在C槽,资料放在D槽,那麽各位知道为什麽没有AB槽吗?

杰哥昨天骑脚踏车听呱吉的Podcast时才知道的,其实以前电脑还有两个槽,装的分别是大小磁碟,其中小磁碟容量为1.4MB,大磁碟是1.22MB,远远不及现在的SSD跟HDD。

而装那两片的位置我们就称为AB槽,不过随着时代演进以及习惯,AB槽已经被淘汰,而名称也尚未被取代。

杰哥拿到的第一台3C产品是爸爸买给杰哥的MP4,就是下图的创见MP860,之前几乎所有照片都是网路抓的,不过这次因为本体还在身边,而且爸爸还在拿来骑车听歌用,就有实体可以拿来拍照了。

那时候出了4GB跟8GB的款式,已经是那时候不可多得的酷东西了,基本上杰哥小学的时候,只要身上有一台MP4就是班上的King了,简直可以配上MACKLEMORE的THRIFT SHOP,甚至有人还有MP5,更是有资格征服宇宙。

不过随着时代演进,现在随便一个小小的随身碟都能有64GB的容量,手机也发展到512GB了,根据Moore's Law,每18~24个月,单位面积能储存的电晶体数量能变两倍,未来的成长值得期待。

Disk功能

相较於前面的Cache跟Memory要求速度,Disk我们更需要的是它能够安全的储存资料,万一资料消失了,花在多时间也没有用。

後面我们会先介绍HDD的构造,再介绍Disk的Dependability。

构造

目前主要的Disk分为SSD跟HDD,这边只介绍HDD,关於SSD的技术暂时不讨论。

HDD是Hard Drive Disk的缩写,也就是一般看到下图这种好几个盘子的构造:

底下的表格展示圆盘的结构:

名称 图片 说明
整体 HDD的架构是好几个存取资料的platter,上面有好几圈的track,每圈都有好几个sector,由於每层都有一个读写头,所以可以同时读取一整个柱子的内容,这个track上下对应的tracks合称cylinder。
track 每一圈都是一个track,上面被切成一段一段的sector。
sector track上储存资料的小单位称为sector。
cylinder 在每一个platter同样位置的tracks合称为cylinder,代表所有读取头能同时读到的track集合。

运作时间

圆盘做成圆形的就是为了旋转给读取头读取,由於转动方向不改变,所以平均的转动时间为半圈的转动时间。

在硬碟上读取资料时有三个步骤,花费的时间称为下列三者:

  • seek time:移动到正确的track上。
  • rotational latency:转动到正确的sector。
  • transfer time:传送一个区块的资料。

最後还要把硬碟的资料放到Memory中,需要controller完成复杂的程序,此部份称为controller time。

以上提到的四个时间再加上其他人占用disk的时间称为waiting time。

例子

举例来说:如果一个转速为10000RPM的HDD,广告提到seek time = 6ms,transfer rate = 50MB/sec,controller time = 0.2ms,那麽读取或写入一个512bytes所花的时间会是多少?

首先把每个时间算出或是列出:
seek time = 6ms
rotational latency = 1/2 x (ms per round = 60x1000/10000) = 3ms
transfer time = 1000x0.5KB/50MB = 0.01ms
controller time = 0.2ms

合计为9.21ms

计算的方式大概是这样,计算部份不困难,只是要特别注意单位。

What's Next?

下次会跟大家说说其实你的硬碟比你想的还大,主要就是为了防止你的资料损坏不能用,所以需要额外的空间做这件事情,就酱掰啦~

上一篇 下一篇
Miku Memory RAID


<<:  Day26 Lab 2 - Object storage 上传续传

>>:  [Day 12] 列表渲染v-for

小菜鸡学程序!来安装 Golang 吧!

上一篇文章跳过了安装的部分,让大家自己尝试一下,不知道大家有没有完成这个任务了呢? 没有的话没关系,...

Day7 - TextView(一)

TextView喜虾密东西勒?? 其实就是程序一开始"Hello World!"...

Day 21 :广度优先搜寻 Breadth-First search(BFS)

说到广度优先搜寻我一定要现知道Queue Queue(伫列)是先进来的元素先出去(First In ...

Day 12: 前往未知秘境!在iOS上展示Ktor资料!

Keyword: swift,swiftUI,ObservableObject 到Day12 使用s...

NIST SDLC和RMF

安全控制是风险处理的一部分,风险评估之後进行。安全控制的范围是根据风险评估的结果确定的。根据NIST...