關於固態硬碟的定址原理和定址速度的一個疑問?

我從書中大概了解到固態硬碟。使用快閃記憶體而不是像機械硬碟那樣要旋轉磁頭,所以讀取速度很快。

但是我很難理解,固態硬碟是如何找到某個地址的,我看到有一些文章提到它和內存定址基本一樣,還有文章提到它和內存定址是一個數量級的。

查閱了了相關資料。要麼是太專業完全看不懂,要麼也只是簡單的說固態硬碟沒有磁頭,使用電門定址要快很多。但是我還是無法想像它到底是如何定址(隨機讀寫)的


文件讀寫到文件系統層都是一樣的,大概都是要求從指定地址讀寫指定長的數據。

對hdd來說,首先需要把磁頭從現在的位置移動到指定扇區位置,然後在磁頭所在位置進行讀寫操作。

但對於固態硬碟ssd來說,所有的chip都已經布好了線,就像十字坐標系那樣,可以快速通過電子信號對指定位置進行讀寫。

電子信號的速度當然比磁頭移動速度快多了。


我給你舉個特別不恰當的比方吧,因為我實在是想不出更恰當的了。

抗日戰爭片看過吧?搖把子電話見過吧?這種電話是沒有撥號盤的,那怎麼用呢?

首先你要搖電話上的把手,然後接線員會接你的電話,你跟接線員說我要接司令部,接線員就找到司令部的電話線介面,然後把你的電話線插!在!上!面!

這就相當於是機械定址。

影響接線員速度的因素有:接線員手速(硬碟轉速),接線員的數量(磁頭數)。可以想像的是電話號碼越多找目標電話號碼越慢。因為需要一個一個找啊。

而你現在打電話只需要撥個號,程式控制交換機就會幫你接好線路。這個尋找目標電話號碼的任務你就可以認為是電子定址。這種電子定址幾乎不會因為號碼空間的大小而產生明顯的不同。


假設在中國電話普及之前,有一個這樣的時期:每個村只有一部電話,部署在郵電局。你想要聯繫在異地的女朋友,你需要這樣做:

1、走路到郵電局。

2、撥打女朋友所在地郵電局的電話號碼。

3、對方郵電局工作人員走路到你的女朋友家裡,通知她有電話。(也許沒有這個服務)

4、你的女朋友跟著郵電局工作人員,走路到郵電局,接電話或者回電話。

5、完成通話,你們各自走路回家。

後來,電話普及了,你要聯繫你的女朋友,就變成了這樣:

1、拿起電話。

2、撥打女朋友的電話號碼。

3、女朋友接電話。

4、完成通話。

你看,是不是節省了很多走路的時間?

------------------------------------------------------------

固態硬碟為什麼快大致是可以這麼理解的。要是你問如何通過電話號碼找到某一個指定的電話(也就是上面那位答主所說的程式控制交換機),十分抱歉,我暫時還不知道。


推薦閱讀:

作為一個機房運維維護人員,對linux的學習多深才算合格??
PHP在IIS8 Apache Nginx 哪個性能更好?
你覺得最實用的linux腳本哪些?
像蘋果Time Machine 一樣備份Linux伺服器(基於rsync)
你的Ubuntu還可以這麼美

TAG:Linux | 固態硬碟 | 機械硬碟 |