サムスンの新しいフラッシュファイルシステムとパフォーマンスの比較

すべての人に良い一日を!

Samsungのエンジニア 、Linuxカーネル開発者のメーリングリストで、SSD、eMMC、SDカードなどのNANDフラッシュドライブで使用するために特別に設計された新しいF2FS(Flashフレンドリーファイルシステム)の実装を含むパッチセットを発表しました。 Linuxカーネルのパッチに加えて、f2fs-toolsパッケージの最初のリリースも公開され 、F2FSパーティションを処理するためのユーティリティのコレクションが含まれています(これまではmkfs.f2fsのみが含まれていますが、近い将来fsckユーティリティとデバッグツールのセットを追加する予定です)。 すべてのコンポーネントコードはGPLv2ライセンスの下で配布されます。


汎用ファイルシステムとは異なり、F2FSプロジェクトは、NANDフラッシュの特定の機能を考慮して特別に設計されており、一定のアクセス時間でメモリに最適化されています。 F2FSでのデータの上書きを最小限に抑えるために、ログブロック構造を使用してデータブロックを均一に使用し、NANDフラッシュの摩耗を減らします。 F2FSの開発中に、ログ型構造に基づいて以前に利用できた特殊なFSの問題が考慮され、高メモリ消費、クリーニング操作中の高オーバーヘッド、放浪樹の雪玉効果などの既知の欠点を排除するためにあらゆる努力が払われたことが注目されます(新しい要素が上書きされる代わりに(ブロック番号が変更される)状況では、親ノードが子ノードを参照するツリーの場合、ノードを変更すると、すべてのオーバーレイの再構築が行われます xノード)。 従来のUNIXベースのアクセス制御スキームに加えて、F2FSはxattrやPOSIX ACLなどのメカニズムを提供します。

F2FSパーティションは、サイズが2 MBのセグメントから形成され、セグメントはセクションにグループ化され、さらにセクションに結合されます。 F2FSを、内部ジオメトリと制御スキームによって特性が異なるさまざまなタイプのNANDフラッシュに適合させるために、セクション内のデータ分散構造を制御するための幅広いパラメーターが提供され、さまざまなクリーニングおよびブロック割り当てアルゴリズムを選択する機会が提供されます。 クリーニング操作を実行するために、システムのダウンタイム中にバックグラウンドで実行される特別なガベージコレクターが実装されています。 整合性を確保するために、コントロールポイントの固定と、問題が発生した場合のロールバック変更(ロールバック)の可能性を備えたモデルが使用されます。 操作中の操作を高速化するために、データの分布に関する情報を持つメインインデックスがRAMに保存されます。

EXT4およびNILFS2ファイルシステムのパフォーマンス評価結果を、サムスンが開発したフラッシュドライブ用の新しいファイルシステムであるF2FSと比較して示します。 テストは、CPU Core i5 2500を搭載した通常のPCと、Android 4.0.4ベースのファームウェアを搭載したGalaxy S3スマートフォンの両方で実施さ​​れました。 両方の構成で、トランセンド16GBクラス10 SDカードを使用しました。

F2FSのパフォーマンスは、ランダムおよびシーケンシャルバッファ書き込み、fsync経由のフラッシュバッファ書き込み、およびランダム読み取りデータのテストで、競合他社よりも高いことが判明しました。 マウント時間を評価するとき、リーダーはFS EXT4で、F2FSは2位でした。

バッファ書き込み(1GBファイル)
デスクトップPCGalaxy-S 3
順次(MB / s)ランダム(IOPS)順次(MB / s)ランダム(IOPS)
EXT47.110736.71073
NILFS26.814624.01272
F2fs10.626756.91682

書き込み+ fsync(100MBファイル)
デスクトップPCGalaxy-S 3
シーケンシャル(KB / s)ランダム(IOPS)シーケンシャル(KB / s)ランダム(IOPS)
EXT4511.8125383.4119
NILFS2545.2112356.772
F2fs1057.9240772.3184

実装時間
デスクトップPCGalaxy-S 3
フォーマット後の最初のマウント(ミリ秒)再起動後(ミリ秒)フォーマット後の最初のマウント(ミリ秒)再起動後(ミリ秒)
EXT411202040
NILFS2920101316801630
F2fs148616122801570

バッファ読み取り(1GBファイル)
デスクトップPCGalaxy-S 3
順次(MB / s)ランダム(IOPS)順次(MB / s)ランダム(IOPS)
EXT416.415689.61395
NILFS216.616099.61440
F2fs16.816439.71499

追加:別に、VFATとF2FSのパフォーマンス比較が実行されました

バッファ書き込み(1GBファイル)、4Kバイト書き込み
デスクトップPCGalaxy-S 3
順次(MB / s)ランダム(IOPS)順次(MB / s)ランダム(IOPS)
EXT47.110736.71073
NILFS26.814624.01272
F2fs10.626756.91682
Vfat7.311087.31075

書き込み+ fsync(100MBファイル)、4KByte書き込み
デスクトップPCGalaxy-S 3
順次(MB / s)ランダム(IOPS)順次(MB / s)ランダム(IOPS)
EXT4511.8125383.4119
NILFS2545.2112356.772
F2fs1047.9240772.3184
Vfat356.5260474.4373

バッファ読み取り(1GBファイル)、4Kバイト読み取り
デスクトップPCGalaxy-S 3
順次(MB / s)ランダム(IOPS)順次(MB / s)ランダム(IOPS)
EXT416.415689.61395
NILFS216.616099.61440
F2fs16.816439.71499
Vfat16.615929.61501


ソース:opennet.ru
PS Archlinuxには既にAURにパッケージがあります
PSS誰かが、異なるfsの複数のフラッシュドライブを持ち運ぶ必要があると言うかもしれません。 現在どこでもサポートされているわけではありませんが、現時点では、このfsは静止したssdディスクではそれほど悪くは使用できません。

Source: https://habr.com/ru/post/J155885/


All Articles