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

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



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ファイル)

デスクトップPC Galaxy-S 3
順次(MB / s) ランダム(IOPS) 順次(MB / s) ランダム(IOPS)
EXT4 7.1 1073 6.7 1073
NILFS2 6.8 1462 4.0 1272
F2fs 10.6 2675 6.9 1682


書き込み+ fsync(100MBファイル)

デスクトップPC Galaxy-S 3
シーケンシャル(KB / s) ランダム(IOPS) シーケンシャル(KB / s) ランダム(IOPS)
EXT4 511.8 125 383.4 119
NILFS2 545.2 112 356.7 72
F2fs 1057.9 240 772.3 184


実装時間

デスクトップPC Galaxy-S 3
フォーマット後の最初のマウント(ミリ秒) 再起動後(ミリ秒) フォーマット後の最初のマウント(ミリ秒) 再起動後(ミリ秒)
EXT4 11 20 20 40
NILFS2 920 1013 1680 1630
F2fs 1486 161 2280 1570


バッファ読み取り(1GBファイル)

デスクトップPC Galaxy-S 3
順次(MB / s) ランダム(IOPS) 順次(MB / s) ランダム(IOPS)
EXT4 16.4 1568 9.6 1395
NILFS2 16.6 1609 9.6 1440
F2fs 16.8 1643 9.7 1499


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



バッファ書き込み(1GBファイル)、4Kバイト書き込み

デスクトップPC Galaxy-S 3
順次(MB / s) ランダム(IOPS) 順次(MB / s) ランダム(IOPS)
EXT4 7.1 1073 6.7 1073
NILFS2 6.8 1462 4.0 1272
F2fs 10.6 2675 6.9 1682
Vfat 7.3 1108 7.3 1075


書き込み+ fsync(100MBファイル)、4KByte書き込み

デスクトップPC Galaxy-S 3
順次(MB / s) ランダム(IOPS) 順次(MB / s) ランダム(IOPS)
EXT4 511.8 125 383.4 119
NILFS2 545.2 112 356.7 72
F2fs 1047.9 240 772.3 184
Vfat 356.5 260 474.4 373


バッファ読み取り(1GBファイル)、4Kバイト読み取り

デスクトップPC Galaxy-S 3
順次(MB / s) ランダム(IOPS) 順次(MB / s) ランダム(IOPS)
EXT4 16.4 1568 9.6 1395
NILFS2 16.6 1609 9.6 1440
F2fs 16.8 1643 9.7 1499
Vfat 16.6 1592 9.6 1501




ソース:opennet.ru

PS Archlinuxには既にAURにパッケージがあります

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



All Articles