Linux / UnixでSSDページサイズを確認する方法はありますか?fdisk出力の「物理ブロック」とは何ですか?


16

私は内部的にそれを読んでどこでもSSDは128-256に関するページ(の「ブロック」にグループ化された4K以上の「ページ」、で構成されている12)。SSDはこれらのページとブロックで機能し、「ブロックレベルでのみデータを消去できます」(したがって、ページのブロックは「[NAND] erase block」と呼ばれます)。そして、パーティションの512Bブロックがエミュレートされます(これはレガシーの理由で行われます)。

Samsung 9 np900x3cラップトップでSandisk U100に書き込み中に奇妙なラグ/フリーズがあるため、SSDに関する教育を受けようとしています。そして、1つの便利なことは、SSDのページ/ブロックを正しく見つけることです。

/sys/...LinuxにSSDページサイズを決定するユーティリティまたはファイルはありますか?

または、コメントのように「NANDチップのドライブと部品番号のグーグルが必要になる場合があります」ですか?

Sandisk SSDをグーグルで検索する適切なデータシート/仕様が見つかりません。しかし、サンディスク人々は「4Kランダム読み取り/書き込み」について言及しています。ディスクに4Kページがあることを意味しますか?

また、fdiskセクターサイズ(物理および論理の両方)とI / O 512バイトが表示されます。

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

ここで「物理」セクターサイズとは何ですか?SSDページは4K +と言われているため、SSDドライブ自体のパラメータではないようです。ディスクのエミュレートされたパラメーターですか?そして、「論理」はパーティションのセクターサイズですか?また、I / Oサイズとは何ですか?

PS

この質問はおそらくUSBフラッシュのこれと同じです-答えはそこに要点が欠けてman fsstatいるfsstat displays the details associated with a file systemと言い、質問はディスク自体に関するものです。私の投稿には詳細が含まれています。

回答:


11
  • によって報告される物理ブロックサイズfdiskは、尋ねられたときにディスクによって報告される物理ブロックサイズです。SSDページや消去ブロックとの関係はほとんどありません。

  • 4 KiBの読み取り/書き込みは、「小さな」I / O操作を表す、I / Oパフォーマンスの一般的な指標です。

  • SSDがページサイズを報告したりブロックサイズを消去したりする標準的な方法はありません。製造元がデータシートに報告している場合はほとんどありません。(たとえば、サプライヤーの変更などにより、SKUの有効期間中に変更される可能性があるためです。)Intelのホワイトペーパーでは、4 KiBの配置で十分であることが示唆されています。

  • 実際に使用するには、すべてのデータ構造(パーティション、LUKSコンテナーのペイロード、LVM論理ボリューム)を1つまたは2つのMiB境界に合わせます。結局のところSSDです。NTFS(4 KiBアロケーションユニットを使用)などの通常のファイルシステムに対応するように設計されています。Windowsがパーティションを1 MiBに揃えるだけで十分だと考える場合、SSDの製造元がそのような構成で製品が適切に機能することを確認することができます。

  • 未割り当て領域の約5%から10%は、パーティションの外側に残すのが最善です。SSDが時間内にパフォーマンスを維持するには、スペースを過剰にプロビジョニングすることが非常に役立ちます。


「インテルのホワイトペーパーには、4 KiBのアラインメントで十分であることが示されています。」リンクされた論文からどうやってそれを得るのですか?私はそれを調べました、そして、それが紙が主張しているところは全く明らかではありません。
マシュー

@Matthew:ページ7:「ほとんどの新しいHDDとIntel SSDは、4096バイト(4KB)の配置でパフォーマンスが向上します。
AlexP

私はそれを「512バイトと比較して」と読みましたが、これは驚くに値しません。さらに、次の図は4KiBのページサイズを示しているようです。「4KiBが4KiB以上のページのドライブには十分である」とか、Intel以外のドライブについて何かを意味しているとは思わない。
マシュー

+1は、厳密にKiB / MiB表記に固執するためです--- man units懐疑論者のために参照してください
XavierStuvw

SSDが時間内にパフォーマンスを維持するのに、スペース過剰にプロビジョニングされているのはなぜですか?
XavierStuvw

2

smartctl(で利用可能smartmontools)がそれを行います。


2
OPはどのようにこのツールを使用してこれを行うのですか?
roaima 2017年

今私は同じ512Bの物理&論理セクタを得ているためsmartctl -i /dev/sda、読み取ることがないように注意してくださいどのようにsmartctl --all /dev/sdaしてsmartctl --xall /dev/sdaパニックにカーネルを送った...
xealits

2
まで読んSMART、私はそれがSSDの内部構造などの情報を扱っていないと思う-それはディスク障害の漁獲可能にしようと、エラーにディスクの/「健康」のいくつかのパラメータを監視
xealits
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.