HDD 如何決定要使用哪個盤片/磁區?驅動器本身是否內建控制器?還是主機板的問題?作業系統?
什麼樣的演算法會選擇這個?當然它不可能是隨機的,也不可能是連續的。
同樣,同樣的問題如何適用於 SSD?
答案1
HDD 如何決定要使用哪個盤片/磁區?
什麼樣的演算法會選擇這個?當然它不可能是隨機的,也不可能是連續的。
這是您不太可能找到的專有資訊。 A ”商業機密“ 或者 ”秘製醬汁「如果你願意...
沒有“淺的「它不是隨機或順序的原因......但我懷疑磁碟製造商將通過將數據放置在所有盤片上來優化數據吞吐量。很可能會出現「深的「將資料放置在其所在位置的原因(現代硬碟正在接近神奇的領域,需要大量的技術知識才能理解大部分正在發生的事情)。
從歷史上看,它是開放的並且易於理解(參見CHS, 以下)。
驅動器本身是否內建控制器?
是的 - 現代硬碟將呈現SATA或者SAS與主機的介面...此通訊鏈路在主機板和硬碟的板載控制器之間運作。
控制器隨後負責管理主軸速度、磁頭位置、讀取/寫入指令之間的處理以及往返於讀取/寫入磁頭的精確時間模擬訊號等...
還是主機板的問題?作業系統?
從歷史上看,硬碟是一種非常原始的設備——直接從主機板驅動步進馬達或音圈來管理磁頭位置,模擬訊號在傳輸到主機板之前經過粗略的清理。
看到這個富士通 337 MB 8 吋硬碟的視訊拆解對於血淋淋的細節。跳到 ~2:04 了解介面的詳細介紹(儲存模組設備)。即便如此,正如您所看到的,仍有相當多的介面支援電路。
硬碟的尋址方式是使用CHS(汽缸 - 頭 - 扇區),但最近他們使用LBA(邏輯區塊尋址)。
我思考隨著 LBA 的引入,我們也開始看到管理自己壞扇區的磁碟 - 將它們重新定位到配置中”空閒的因此,我們不再能夠直接控制磁頭的位置、使用哪個磁頭以及訪問哪個扇區。
在磁碟管理自己的壞扇區之前,您會看到帶有工廠壞扇區清單的標籤,您必須在建立檔案系統時將其輸入到系統中。或者你可以使用像這樣的工具badblocks
掃描問題。例如:
同樣,同樣的問題如何適用於 SSD?
使用SSD,整個快閃儲存體從實體位址空間對應到虛擬位址空間。這允許磨損均衡透明地實施,無需任何來自主機的知識。
答案2
什麼決定了 HDD 寫入哪個盤片/磁區?
受控硬碟中包含的各個演算法和指令決定了發送到 HDD 的大多數資料的位置。
透過旋轉 HDD,作業系統可以存取磁碟機上所有可能的位址,並可以指定要讀取或寫入的特定位置。
對於 SSD,控制器虛擬化實際位址,以支援 SSD 提供的一些高級功能,例如超額配置、查找和標記壞位元並將其列入黑名單而不實際收縮的能力,以及快取和其他功能,因此操作系統通常不知道SSD 中真正可能的位址。