Varsayılan 512 bayt fiziksel sektör boyutu Linux altındaki SSD diskler için uygun mu?


11

GSmartControl ve diğer komut satırı aracı (gibi fdisk, smartctl, cat /sys/block/sd*/queue/hw_sector_size, cat /sys/block/sd*/queue/physical_block_size) benim disklerin ikisi için de aynı raporu kullanmıştı:

Sector Size: 512 bytes logical/physical

Bu varsayılan bir Ubuntu 18.10 (daha sonra 19.04 sürümüne yükseltilmiştir) kurulumudur. Ancak, stat -fher iki diskteki komut şunları bildirir:

Block size: 4096       Fundamental block size: 4096

Her iki diskim de SSD ve AFAIK SSD diskler 4K boyutunda bir sektör gerektiriyor . Bu iyi mi yoksa bir şey mi kaçırıyorum? stat(= 4K) tarafından döndürülen bilgiler , işletim sisteminin her zaman 4K'nın birden çoğunda IO'ları diske göndermesini ve bu blokların asla 4K sınırlarını geçmemesini sağlar mı (IO blokları her zaman 4K'ya hizalanır)?

Aşağıdaki çıktıyı unutmayın ( sdb2benim olan kök bölümü , sdabenim ise /homediski):

# fdisk -l /dev/sd?
Disk /dev/sda: 465.8 GiB, 500107862016 bytes, 976773168 sectors
Disk model: SanDisk SDSSDH35
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes


Disk /dev/sdb: 238.5 GiB, 256060514304 bytes, 500118192 sectors
Disk model: ADATA SU800NS38 
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: xxxx....

Device       Start       End   Sectors  Size Type
/dev/sdb1     2048   1050623   1048576  512M EFI System
/dev/sdb2  1050624 500117503 499066880  238G Linux filesystem

# df / /home
Filesystem     1K-blocks      Used Available Use% Mounted on
/dev/sdb2      244568380  17799136 214276188   8% /
/dev/sda       479670976 129685112 325550152  29% /home

Evet. Yararlı bilgiler içerir. Ancak, şu soruya yetkili bir cevap bulamadım: stat (4K) tarafından döndürülen bilgiler, işletim sisteminin her zaman 4K'nın birden çoğunda IO'ları diske göndermesini ve bu blokların asla 4K sınırlarını geçmemesini sağlar mı (IO blokları her zaman 4K'ya hizalanmalıdır)?
FedonKadifeli

"Stat (4K)" nin ne olduğunu bilmiyorum. Ancak çoğu modern işletim sistemi yerel 4K I / O aktarımlarıyla nasıl başa çıkacağını biliyor. Ve hayır, bölümler düzgün bir şekilde hizalanmadığı sürece blokların diskte asla 4K sınırlarını geçmeyeceği anlamına gelmez. fdisk -lHizalama sorunlarını kontrol etmek için kullanın . Görünüşe göre SSD'nin fiziksel yapıları nedeniyle biraz farklı çalışmaları var, ancak o alanda uzman değilim.
heynnema

Yanıtlar:


7

Eskiden, 512 bayt sektör diskler için bir normdu. Sistem, sektörleri aynı anda yalnızca bir sektörü okur / yazardı ve bu, eski sabit sürücülerin yapabileceği en iyi şeydi.

Şimdi, modern disklerin çok yoğun, çok hızlı ve çok akıllı olması sayesinde, okuma / yazma sektörleri tek seferde sadece bir sektör toplam üretimi gerçekten yavaşlatıyor.

İşin püf noktası ... toplam iş hacmini nasıl hızlandırıyorsunuz, ancak yine de eski / standart disk alt sistemleriyle uyumluluğu sürdürüyorsunuz? Sekiz 512 bayt fiziksel sektörden oluşan bir 4096 blok boyutu oluşturursunuz. 4096 şimdi diske / diskten minimum okuma / yazma aktarımıdır, ancak işletim sistemine uyumlu 512 bayt chucks'ta dağıtılır.

Bu, sistem yalnızca bir 512 bayt bilgi sektörüne ihtiyaç duysa bile, sürücünün bunu elde etmek için sekiz 512 bayt sektör okuduğu anlamına gelir. Bununla birlikte, sistemin sonraki yedi sektöre ihtiyacı varsa, zaten bunları okur, bu nedenle disk G / Ç'nin gerçekleşmesi gerekmez ... dolayısıyla toplam verimde bir hız artışı.

Modern işletim sistemleri, doğal 4K blok boyutlarındaki modern sürücülerin tüm avantajlarından yararlanabilir.


+1 ama 4096/512 = 8, bu yüzden 4096 b'lik bir fiziksel sektörde 512 b'lik 8 (mantıksal) sektör olması gerektiğini düşünüyorum. partedHem mantıksal hem de fiziksel sektör boyutunu göstermek için kullanıyorum .
sudodus

@sudodus İyi yakaladım. Düzenleme gerçekleştirildi.
heynnema

Bu nedenle bölümlerinizi bir 4k sınırına hizalamanız önemlidir, aksi takdirde her 4k blok yükü / mağazası aslında iki donanım sektörüne dokunur. (Bölümlerin içindeki dosya sistemleri genellikle bölümün başlangıcına hizalanmış 4k bloklar kullanır). Bazı biçimlendirme araçları, ilk bölümü 1MiB ile hizalar ve bölüm tablosu dışında tüm bir MiB'yi kullanılmaz bırakır. Modern sürücüler do , 4k olarak fiziksel sektör boyutunu rapor hala 512B olan kendi mantıksal sektör boyutu ayrı.
Peter Cordes

@PeterCordes, Yalnızca önyükleme sektörü ve bölüm tablosu (ilk 512 baytta) ilk Mibibyte'de saklanmaz. Bir MSDOS bölüm tablosunda, grubBIOS modunda önyükleme için ilk Mibibyte'e ek kod koyar. (GPT'de, bu kodun BIOS modunda önyüklenmesi için işaretli grubküçük bir bölüm gerekir bios_grub).
sudodus

4

Wikipedia'ya göre "Gelişmiş Biçim (AF), Gelişmiş Biçim Sürücüsünün (AFD) 4096 bayt sektörleri gibi sektör başına 512, 520 veya 528 baytı aşan disk sürücülerinde veri depolamak için kullanılan herhangi bir disk sektörü biçimidir." Gelişmiş Biçim (AF), 512 bayt yerine 4.096 bayt sektör boyutunu yerel olarak kullanan bir disk biçimidir. Eski sistemlerle uyumluluğu korumak için AF diskler, 512 baytlık sektör boyutunu taklit eder.

Eğer çalıştırarak var ben aynı sonuçları aldık stat -fve smartctliki SSD'ler üzerinde. Her iki SSD de kurulduklarında işletim sistemi tarafından otomatik olarak tanındı ve sıfır yapılandırma gerektirdiğinden, aldığınız verilerin blok boyutu ve sektör boyutu için varsayılan ayarlar olduğu anlaşılıyor.


@heynnema "4096 bayt sektörler" hakkında hiçbir şey yapamıyorum çünkü Wikipedia'dan kopyalanıyor, bu yüzden Wikipedia'da olduğu gibi bırakmam gerekiyor.
karel

2
@heynnema: Fiziksel boyut çok daha büyük. SSD'ler, "silme blokları" olarak adlandırılan fiziksel olarak bölünmüş olan NAND flash bellekten yapılmıştır. Bunlar çok daha büyük olabilir, 4 MB kesinlikle mümkündür.
MSalters

1

Varsayılan 512 bayt fiziksel sektör boyutu Linux altındaki SSD diskler için uygun mu?

Her iki diskim de SSD ve AFAIK SSD diskler 4K boyutunda bir sektör gerektiriyor. Bu iyi mi yoksa bir şey mi kaçırıyorum?

Eski donanım ve İşletim Sistemleri, 512 bayt sektör kullanıyordu, 2011'den beri (neredeyse) tüm depolama donanımlarının 4096 (veya daha büyük ) bayt sektörü var; ancak bazı donanımlar eski sistemler için 512 bayt sektörlerin öykünmesini destekler. İstisnalar var, Samsung 840 EVO SSD'nin 2048 KB boyutunda blokları var .

Her 512 baytlık yığın için bir Hata Düzeltme Kodu (ECC) hesaplanır ve tahmin edebileceğiniz gibi ECC verileri de depolama alanı gerektirir. ECC algoritmaları değişmeden kalırsa, bir 4096 bayt sektörünün sekiz 512 baytlık parçadan daha az ECC bilgisi gerektirdiğini söylemeye gerek yoktur. Sonunda, daha az ECC veri yükü nedeniyle bir sabit sürücünün toplam depolama kapasitesi artar.

4K sektörleri kullanmak mimari açıdan anlamlıdır, çünkü diğer önemli figürler (x86 bellek sayfaları ve birçok dosya sistemi kümesi gibi) 4 KB boyutuna sahiptir. Gelişmiş Biçim, sürekli artan kapasiteler ışığında önemli olan daha sağlam ECC algoritmalarına izin verir. Denetleyiciler , NAND flash bellek hata karakteristiklerini ve iş yükü davranışını anlayarak hata düzeltmenin ötesinde ek teknikler kullanır .

Gelişmiş Biçim (AF), 4096, 4112, 4160 ve 4224 bayt gibi sektör başına 512, 520 veya 528 baytı aşan sabit disk sürücülerindeki (HDD'ler) manyetik disklerde veri depolamak için kullanılan herhangi bir disk sektörü biçimidir ( 4 KB) gelişmiş Biçim Sürücüsü (AFD) sektörleri. Daha büyük sektörler, daha yüksek depolama yoğunluklarında veri bütünlüğünü korumak için daha güçlü hata düzeltme algoritmalarının entegrasyonunu sağlar.

SCSI (SAS) diskler için, SCSI T10 standart veri bütünlüğü alanlarının yanı sıra verilerle her blokta depolanan mantıksal bozuk blok kontrolü nedeniyle RAID blok boyutu bir JBOD blok boyutundan daha büyüktür . SAS RAID bağdaştırıcıları, 512 Bayt veri veya 4K Bayt veri temelli disk bloklarını destekler. 512 disk için RAID blok boyutu sektör başına 528 Bayt ve 4K diskler için RAID blok boyutu sektör başına 4224 bayttır.

Belleğe yazdığınız ve dönen bir disk olmadığından, fiziksel sektör boyutunun, bölümlerinizin silme bloğu boyutuyla hizalanmasını sağlamaktan daha az etkisi vardır . Buna rağmen, güncel yazılım ve donanıma sahip olmak ve 4K sektör boyutunu kullanmak en iyisidir.

Daha büyük sektör boyutu Intel - " SSD Fiziksel Sektör Boyutunda Değişikliklerle Optimum Performans Kazanın " tarafından önerilmektedir .

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.