Apakah ada cara untuk mengetahui ukuran halaman SSD di Linux / Unix? Apa itu "blok fisik" dalam output fdisk?

17

Di mana-mana saya membaca bahwa SSD internal terstruktur dalam "halaman" 4K atau lebih besar, yang dikelompokkan dalam "blok" sekitar 128-256 halaman ( 1 , 2 ). SSD bekerja dengan halaman dan blok ini, "mereka hanya dapat menghapus data pada level blok" (dengan demikian blok halaman disebut "[NAND] menghapus blok"). Dan blok 512B untuk partisi tersebut ditiru (yang dilakukan karena alasan warisan).

Saya mencoba untuk mendapatkan edukasi pada SSD, karena saya memiliki beberapa kelambatan / pembekuan yang aneh saat menulis ke Sandisk U100 saya pada laptop Samsung 9 np900x3c. Dan satu hal yang bermanfaat adalah mengetahui dengan benar halaman / blok yang dimiliki SSD saya?

Apakah ada utilitas atau /sys/...file di Linux untuk menentukan ukuran halaman SSD?

Atau "drive dan Googling nomor komponen pada chip NAND mungkin diperlukan", seperti dalam komentar ?

Googling SSD Sandisk saya, saya tidak bisa menemukan datasheet / spec yang tepat. Tapi Sandisk dan orang - orang menyebutkan "4K acak membaca / menulis". Apakah ini berarti disk memiliki 4K halaman?

Juga, fdiskperlihatkan ukuran sektor (baik fisik dan logis) dan I / O 512 byte:

Disk /dev/sda: 128.0 GB, 128035676160 bytes
255 heads, 63 sectors/track, 15566 cylinders, total 250069680 sectors
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 identifier: 0x4b914713

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048    50331647    25164800   83  Linux
/dev/sda2        50331648   239583231    94625792   83  Linux
/dev/sda4       239583232   250068991     5242880   82  Linux swap / Solaris

Apa ukuran sektor "fisik" di sini? Tampaknya bukan menjadi parameter dari drive SSD itu sendiri, karena semua orang mengatakan halaman SSD adalah 4K +. Apakah ini parameter yang ditiru untuk disk? Dan "logis" adalah ukuran sektor untuk partisi? Juga, apa ukuran I / O?

PS

Pertanyaan ini mungkin sama dengan yang ini untuk USB flash - jawabannya tidak ada gunanya, man fsstatkata fsstat displays the details associated with a file systemdan pertanyaannya adalah tentang disk itu sendiri. Posting saya memiliki lebih banyak detail, mungkin itu akan menarik respons yang lebih baik?

xealits
sumber

Jawaban:

11
  • Ukuran blok fisik yang dilaporkan oleh fdiskadalah ukuran blok fisik yang dilaporkan oleh disk ketika ditanya. Ini jarang memiliki hubungan dengan halaman SSD atau menghapus blok.

  • 4 KiB membaca / menulis adalah ukuran umum kinerja I / O, mewakili operasi I / O "kecil".

  • Tidak ada cara standar bagi SSD untuk melaporkan ukuran halamannya atau menghapus ukuran bloknya. Beberapa produsen melaporkannya dalam lembar data. (Karena mereka dapat berubah selama masa pakai SKU, misalnya karena berganti pemasok.) Ada whitepaper dari Intel yang menyarankan bahwa penyelarasan 4 KiB sudah cukup.

  • Untuk penggunaan praktis, cukup luruskan semua struktur data Anda (partisi, muatan kontainer LUKS, volume logis LVM) ke 1 atau 2 batas MiB. Bagaimanapun, ini adalah SSD - dirancang untuk mengatasi filesystem biasa, seperti NTFS (yang menggunakan 4 unit alokasi KiB). Jika Windows menganggap bahwa menyelaraskan partisi ke 1 MiB sudah cukup, Anda dapat bertaruh bahwa produsen SSD mana pun akan memastikan bahwa produk mereka bekerja dengan baik dengan konfigurasi seperti itu.

  • Paling baik sisakan sekitar 5% hingga 10% dari ruang yang tidak terisi di luar partisi apa pun. Memiliki ruang yang terlalu banyak tersedia sangat membantu SSD dalam mempertahankan kinerja mereka tepat waktu.

AlexP
sumber
"Ada whitepaper dari Intel yang menunjukkan bahwa penyelarasan 4 KiB sudah cukup." Bagaimana Anda mendapatkannya dari kertas yang tertaut? Saya melihatnya, dan sama sekali tidak jelas di mana surat kabar itu mengklaim hal itu.
Matius
@Matthew: Halaman 7: "kebanyakan HDD baru dan SSD Intel berkinerja lebih baik dengan pengaturan 4096 Byte (4KB)" .
AlexP
Saya membaca bahwa "dibandingkan dengan 512 byte", yang tidak mengejutkan. Selain itu, angka-angka berikut tampaknya menyiratkan ukuran halaman 4KiB. Saya tidak membacanya bahwa menyiratkan bahwa "4KiB cukup baik untuk drive dengan halaman> 4KiB" ... atau itu dimaksudkan untuk mengatakan apa pun tentang drive non-Intel.
Matius
+1 untuk tetap berpegang teguh pada notasi KiB / MiB --- lihat man unitsuntuk skeptis
XavierStuvw
Mengapa Memiliki ruang yang terlalu besar ... sangat membantu SSD dalam menjaga kinerja mereka pada waktunya ?
XavierStuvw
2

smartctl(tersedia dalam smartmontools) harus melakukannya untuk Anda.

13ditarik
sumber
2
Bagaimana OP akan menggunakan alat ini untuk melakukannya?
roaima
untuk sekarang saya mendapatkan sektor fisik & logis 512B yang sama dengan smartctl -i /dev/sda, tidak yakin bagaimana membaca smartctl --all /dev/sdadan smartctl --xall /dev/sdamengirim kernel menjadi panik ..
xealits
2
Setelah membaca tentang SMART , saya pikir itu tidak membahas informasi seperti struktur internal SSD - memantau beberapa parameter pada kesalahan / "kesehatan" disk, mencoba menangkap kemungkinan kegagalan disk
xealits