關於固態硬碟的定址原理和定址速度的一個疑問?
我從書中大概了解到固態硬碟。使用快閃記憶體而不是像機械硬碟那樣要旋轉磁頭,所以讀取速度很快。
但是我很難理解,固態硬碟是如何找到某個地址的,我看到有一些文章提到它和內存定址基本一樣,還有文章提到它和內存定址是一個數量級的。
查閱了了相關資料。要麼是太專業完全看不懂,要麼也只是簡單的說固態硬碟沒有磁頭,使用電門定址要快很多。但是我還是無法想像它到底是如何定址(隨機讀寫)的
文件讀寫到文件系統層都是一樣的,大概都是要求從指定地址讀寫指定長的數據。
對hdd來說,首先需要把磁頭從現在的位置移動到指定扇區位置,然後在磁頭所在位置進行讀寫操作。
但對於固態硬碟ssd來說,所有的chip都已經布好了線,就像十字坐標系那樣,可以快速通過電子信號對指定位置進行讀寫。
電子信號的速度當然比磁頭移動速度快多了。我給你舉個特別不恰當的比方吧,因為我實在是想不出更恰當的了。
抗日戰爭片看過吧?搖把子電話見過吧?這種電話是沒有撥號盤的,那怎麼用呢?
首先你要搖電話上的把手,然後接線員會接你的電話,你跟接線員說我要接司令部,接線員就找到司令部的電話線介面,然後把你的電話線插!在!上!面!
這就相當於是機械定址。
影響接線員速度的因素有:接線員手速(硬碟轉速),接線員的數量(磁頭數)。可以想像的是電話號碼越多找目標電話號碼越慢。因為需要一個一個找啊。
而你現在打電話只需要撥個號,程式控制交換機就會幫你接好線路。這個尋找目標電話號碼的任務你就可以認為是電子定址。這種電子定址幾乎不會因為號碼空間的大小而產生明顯的不同。
假設在中國電話普及之前,有一個這樣的時期:每個村只有一部電話,部署在郵電局。你想要聯繫在異地的女朋友,你需要這樣做:
1、走路到郵電局。
2、撥打女朋友所在地郵電局的電話號碼。
3、對方郵電局工作人員走路到你的女朋友家裡,通知她有電話。(也許沒有這個服務)
4、你的女朋友跟著郵電局工作人員,走路到郵電局,接電話或者回電話。
5、完成通話,你們各自走路回家。
後來,電話普及了,你要聯繫你的女朋友,就變成了這樣:
1、拿起電話。
2、撥打女朋友的電話號碼。
3、女朋友接電話。
4、完成通話。
你看,是不是節省了很多走路的時間?
------------------------------------------------------------
固態硬碟為什麼快大致是可以這麼理解的。要是你問如何通過電話號碼找到某一個指定的電話(也就是上面那位答主所說的程式控制交換機),十分抱歉,我暫時還不知道。
推薦閱讀:
※作為一個機房運維維護人員,對linux的學習多深才算合格??
※PHP在IIS8 Apache Nginx 哪個性能更好?
※你覺得最實用的linux腳本哪些?
※像蘋果Time Machine 一樣備份Linux伺服器(基於rsync)
※你的Ubuntu還可以這麼美