2022-10-10 為什么一個(gè)磁盤的扇區(qū)sector是512個(gè)字節(jié)

https://www.iteye.com/blog/daimajishu-971469

https://jingyan.baidu.com/article/bad08e1ecdced848c951210c.html

https://7zzm.com/pc/241

磁盤分為磁道(track),每條track上有若干sector,每個(gè)sector為512字節(jié),為什么是512字節(jié)呢?這是1956年由industry trade organization, International Disk Drive Equipment和Materials Association三家機(jī)構(gòu)確定的行業(yè)標(biāo)準(zhǔn)。

隨著時(shí)代的發(fā)展512的sector大小明顯太小了,由于每個(gè)sector還要存放很多其他信息【3】,因此增大sector size可以降低sector的數(shù)量,從而提高實(shí)際存儲(chǔ)量,同時(shí)降低了差錯(cuò)校驗(yàn)等很多CPU計(jì)算量。但遺憾的是由于這個(gè)標(biāo)準(zhǔn)太根深低估很多代碼開(kāi)發(fā)都默認(rèn)了這一size要想改勢(shì)必登天【2】。

在sector的size很難修改的情況下,加快read的方式,可以選用disk readahead方式,增加預(yù)讀的緩沖,從而在順序讀,且程序采用流水線時(shí)取得更好的性能【4】,但對(duì)隨機(jī)讀寫是有害的。

hdparm -a N /dev/hda (N為sector的數(shù)量,默認(rèn)是8,即4k),可以調(diào)整到更大的size。通過(guò)實(shí)驗(yàn)調(diào)整到最優(yōu)。

以上是hardware readahead,數(shù)值不宜調(diào)整過(guò)大。如果業(yè)務(wù)上隨機(jī)讀寫在優(yōu)化后依然較多,這個(gè)參數(shù)改了效果反而會(huì)有影響。

在內(nèi)核中可以對(duì)

/sys/block/sda/queue/read_ahead_kb

進(jìn)行調(diào)整,默認(rèn)值為128k,可以調(diào)節(jié)到1M,這個(gè)是software readahead,這個(gè)值需要是hardware readahead的倍數(shù)。

----------------------------以下節(jié)選自http://en.wikipedia.org/wiki/Disk_sector------------------------------------------------------

The standard sector size of 512 bytes for magnetic disks was established with the inception of the hard disk drive in 1956. Through a coordinated effort organized by the industry trade organization, International Disk Drive Equipment and Materials Association (IDEMA), leading hardware and software companies started work to define the implementation and standards that would govern sector size formats exceeding 512 bytes to accommodate future increases in data storage capacities.

Seven year later, hard disk drives supporting 1,024-byte sectors began to be integrated into consumer electronics devices. Portable media players and digital video cameras were the first products to utilize the larger sector format. By the end of 2007, Samsung and Toshiba began shipments of 1.8-inch hard disk drives with 4,096-byte sectors, the sector size designated as the next standard format for all hard drives.

推薦閱讀:

(1)http://www.dewassoc.com/kbase/hard_drives/hard_disk_sector_structures.htm

(2)http://www.ibm.com/developerworks/linux/library/l-4kb-sector-disks/index.html

(3)http://www.dewassoc.com/kbase/hard_drives/hard_disk_sector_structures.htm

(4)http://linuxgazette.net/issue79/punk.html

(5)http://insights.oetiker.ch/linux/raidoptimization/


硬盤一個(gè)扇區(qū)多少字節(jié)

  • 瀏覽:60
  • |
  • 更新:<time>2022-08-10 10:34</time>

傳統(tǒng)上一個(gè)硬盤扇區(qū)的大小是512字節(jié)。但在高級(jí)格式化硬盤中,物理扇區(qū)大小是4096字節(jié),不過(guò)依然向下支持512字節(jié),若不進(jìn)行4K對(duì)齊的話,就會(huì)影響性能。

一個(gè)磁盤上可以記錄的最大位數(shù)稱為它的最大容量,或簡(jiǎn)稱為容量。磁盤容量由以下因素決定:

1、記錄密度(位/英寸):磁道一英寸的段中可以放入的位數(shù);

2、磁道密度(道/英寸):從盤片中心出發(fā)半徑上一英寸的段內(nèi)可以有的磁道數(shù);

3、面密度(位/平方英寸):記錄密度 與 磁道密度 的乘積。

[圖片上傳失敗...(image-2e1063-1665376463112)]

擴(kuò)展資料

硬盤由很多盤片(platter)組成,每個(gè)盤片的每個(gè)面都有一個(gè)讀寫磁頭。如果有N個(gè)盤片。就有2N個(gè)面,對(duì)應(yīng)2N個(gè)磁頭(Heads),從0、1、2 開(kāi)始編號(hào)。每個(gè)盤片被劃分成若干個(gè)同心圓磁道(邏輯上的,是不可見(jiàn)的。)每個(gè)盤片的劃分規(guī)則通常是一樣的。

這樣每個(gè)盤片的半徑均為固定值R的同心圓再邏輯 上形成了一個(gè)以電機(jī)主軸為軸的柱面(Cylinders),從外至里編號(hào)為0、1、2……每個(gè)盤片上的每個(gè)磁道又被劃分為幾十個(gè)扇區(qū)(Sector),通 常的容量是512byte,

并按照一定規(guī)則編號(hào)為1、2、3……形成Cylinders×Heads×Sector個(gè)扇區(qū)。這三個(gè)參數(shù)即是硬盤的物理參 數(shù)。我們下面的很多實(shí)踐需要深刻理解這三個(gè)參數(shù)的意義。


什么, 磁盤還要分512和4096扇區(qū)大?。?/a>

<article class="content box" style="box-sizing: inherit; display: block; background-color: rgb(255, 255, 255); border-radius: 0px; box-shadow: none; color: rgb(74, 74, 74); padding: 1.25rem; font-size: 17px; line-height: 1.8em; margin-bottom: 1.5rem; font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "PingFang SC", "Microsoft YaHei", "Source Han Sans SC", "Noto Sans CJK SC", "WenQuanYi Micro Hei", sans-serif; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial;">

我們?cè)诳紤]購(gòu)買磁盤時(shí),通常就只會(huì)考慮磁盤的大小,是機(jī)械硬盤,還是固態(tài)硬盤,磁盤的讀寫速度, Sata接口,還是PCIE接口。除了上面的幾個(gè)考慮點(diǎn)外,很少會(huì)去關(guān)注磁盤扇區(qū)大小,因?yàn)閷?duì)我們來(lái)說(shuō)并沒(méi)多大用。

硬盤行業(yè)背景

隨著硬盤行業(yè)的快速發(fā)展,硬盤公司大概在2010年左右,開(kāi)始從傳統(tǒng)的512 kb扇區(qū)大小磁盤遷移到更大、更高效的 4096 字節(jié)的扇區(qū)規(guī)模。國(guó)際上有個(gè)叫硬盤設(shè)備與材料協(xié)會(huì)(International Disk Drive Equipment and Materials Association,IDEMA)的,將這種4k扇區(qū)大小的磁盤稱之為高級(jí)格式化(AF)磁盤。

當(dāng)我們將數(shù)據(jù)保存到硬盤時(shí),數(shù)據(jù)會(huì)保存到硬盤的扇區(qū)。

傳統(tǒng)硬盤的扇區(qū)大小為 512 字節(jié),并且在每個(gè)扇區(qū)與扇區(qū)之間并不是直接相連,在它們之間還存在著一定的空間,分為空隙(gap,用來(lái)分割扇區(qū)),同步(sync,表示扇區(qū)的開(kāi)始處,并提供計(jì)時(shí)對(duì)齊),地址標(biāo)志(Address Mark,識(shí)別扇區(qū)號(hào)和位置的數(shù)據(jù)。還可提供扇區(qū)本身的狀態(tài)。),以及用戶數(shù)據(jù)修復(fù)和還原的ECC區(qū)域。

下圖就是打開(kāi)的512扇區(qū)磁盤的結(jié)構(gòu)圖。[圖片上傳失敗...(image-47dbfb-1665376492838)]

可想而知,這種結(jié)構(gòu)的缺點(diǎn),隨著單盤容量的增加,是不是ECC校驗(yàn)的效率變低了?并且扇區(qū)之間存在如此多的空間,浪費(fèi)了很多硬盤空間。

512字節(jié)的扇區(qū)需要另外40字節(jié)作為ECC校驗(yàn)空間,而4k扇區(qū)(8個(gè)512字節(jié)扇區(qū))只需要100個(gè)字節(jié),所以,同樣提供4kbyte扇區(qū)空間,使用高級(jí)格式化磁盤能節(jié)約出220byte的儲(chǔ)存空間,這樣就能令ECC校驗(yàn)完成更多空間的檢驗(yàn)糾錯(cuò),提高ECC校驗(yàn)的效率。

為了解決上述等的問(wèn)題, 大佬們就計(jì)劃推出4K扇區(qū)大小的磁盤。

簡(jiǎn)而言之,4K 硬盤是扇區(qū)大小為 將以前512個(gè)字節(jié)就有一段不可用的空間(用來(lái)存放其他數(shù)據(jù)),變成了4096個(gè)字節(jié)才有。

這種硬盤結(jié)構(gòu)將縮小扇區(qū)之間的差距,大大提高硬盤空間的使用率。下圖顯示了 4K 硬盤的結(jié)構(gòu)和512磁盤的對(duì)比圖:

image.png

磁盤升級(jí)過(guò)渡期:512e磁盤

既然好多硬盤廠商從2011年就開(kāi)始推出了高級(jí)格式化硬盤,

為什么現(xiàn)在關(guān)于這方面的介紹還不多呢?

考慮到與操作系 Windows,Linux等 兼容性問(wèn)題,(當(dāng)然,從Windows Vista Server Pack 1之后都是直接支持4K磁盤了),將整個(gè)行業(yè)突然一下轉(zhuǎn)變?yōu)樾碌?4K 標(biāo)準(zhǔn)是不可能的。

這里出現(xiàn)了一個(gè)新的概念 :512e磁盤

512 模擬 (512e) 磁盤,其物理扇區(qū)大小為 4096 字節(jié),但邏輯扇區(qū)大小為 512 字節(jié)。

站在windows系統(tǒng)的角度,它還是認(rèn)為該磁盤是傳統(tǒng)的512字節(jié)大小,使用上和以前并沒(méi)有區(qū)別。

什么是 4K 原生硬盤

4K 原生硬盤也稱為 4Kn 硬盤。512 模擬硬盤和 4Kn 硬盤均為 4K 驅(qū)動(dòng)器,因?yàn)樗鼈兊奈锢砩葏^(qū)大小為 4096 (4K) 字節(jié)。但是,對(duì)于在 4K 本機(jī)模式下工作的硬盤,沒(méi)有仿真層,磁盤介質(zhì)會(huì)直接向系統(tǒng)固件和操作系統(tǒng)公開(kāi)其 4096、4112、4160 或 4224 字節(jié)的物理扇區(qū)大小。

這樣,4K 本機(jī)驅(qū)動(dòng)器的外部可見(jiàn)邏輯扇區(qū)組織直接映射到其內(nèi)部物理扇區(qū)組織。

下圖是 512n、512e 和 4Kn 的比較。

[圖片上傳失敗...(image-ae2ce4-1665376492838)]

如何區(qū)分自己的磁盤是哪種類型?

1、通過(guò)Windows 系統(tǒng)分區(qū)大小來(lái)判斷。

通常情況下, UEFI模式安裝的Windows,系統(tǒng)會(huì)自動(dòng)創(chuàng)建一個(gè)100MB大小的EFI分區(qū)

如果你在磁盤管理器中發(fā)現(xiàn),你的EFI分區(qū)竟然是默認(rèn)就是260MB左右。那么就基本可以判斷你的磁盤是4K原始磁盤。

[圖片上傳失敗...(image-bc2580-1665376492838)]

當(dāng)然,像小編手動(dòng)改過(guò)EFI分區(qū)大小就不同。為什么小編要改EFI分區(qū)大???因?yàn)橐b黑蘋果的話,引導(dǎo)分區(qū)EFI分區(qū)必須要大于 200MB才行。所以,是不是蘋果電腦的磁盤默認(rèn)都是用的4k原生磁盤?

2、通過(guò)命令行工具

以管理員權(quán)限打開(kāi) cmd或powershell, 輸入

<pre style="box-sizing: inherit; margin: 0px 0px 1em; padding: 1.25em 1.5em; -webkit-font-smoothing: auto; font-family: monospace; background-color: rgb(245, 245, 245); color: rgb(74, 74, 74); font-size: 0.875em; overflow-x: auto; white-space: pre; overflow-wrap: normal;">fsutil fsinfo ntfsinfo C:</pre>

如果每物理扇區(qū)字節(jié)數(shù)以及每扇區(qū)字節(jié)數(shù)都是4096,那么恭喜你,你的就是4k原始磁盤。

而如果是像下圖的方式,就是512e磁盤,雖然也是4k磁盤,但是系統(tǒng)會(huì)把他當(dāng)作512磁盤來(lái)處理。[圖片上傳失敗...(image-121820-1665376492838)]

3、通過(guò)分區(qū)助手

右鍵磁盤上的任意一個(gè)分區(qū):選擇“屬性“,點(diǎn)擊”文件系統(tǒng)信息“ ,每扇區(qū)字節(jié)數(shù)大小就顯示在這兒。

[圖片上傳失敗...(image-996701-1665376492838)]

[圖片上傳失敗...(image-ad3cb8-1665376492838)]

高級(jí)磁盤的扇區(qū)優(yōu)點(diǎn)是支持更大的存款空間,磁盤性能更好。

那么缺點(diǎn)呢?

缺點(diǎn)的話,可能是如果你購(gòu)買的磁盤是4k原生磁盤, 使用大部分工具,包括分區(qū)助手,輕松備份,都沒(méi)法實(shí)現(xiàn)從512字節(jié)的磁盤直接遷移系統(tǒng)到4k原生磁盤。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容