iT邦幫忙

2021 iThome 鐵人賽

DAY 14
0
自我挑戰組

杰哥的考研紀錄系列 第 14

Day-14 Disk很大,你忍一下

  • 分享至 

  • xImage
  •  

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


上一篇
Day-13 Miku Memory
下一篇
Day-15 RAID
系列文
杰哥的考研紀錄30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言