OSS探訪GitHubでログイン

マイクロコントローラーのフラッシュへ、電源断耐性と動的ウェアレベリングを備えたファイルシステムを組み込む

スコアの見方

OSS規模スコアはStars・Watchers・Forks・Contributorsを対数圧縮して重み付けした現在の規模指標(上限なし)です。発掘スコアは現在のOSS規模スコアから発掘時点のOSS規模スコアを引いた値、更新ペースは直近30日Commit数、成長モメンタムは直近の観測期間におけるOSS規模スコア差、OSS健全度は取得できた更新状況・Community Health・Releaseの0〜100評価です。

Stars
6,961
主要言語
C
ライセンス
BSD-3-Clause
リポジトリ最終更新
2026/03/25
ページ内ナビ

概要

littlefsは、マイクロコントローラーのフラッシュメモリ向けに設計されたC製ファイルシステムです。コピーオンライトで電源断時に直前の正常状態へ戻れるようにし、動的ウェアレベリングと不良ブロックへの対応を備えます。メモリ使用量はファイルシステムの成長に左右されないよう上限を定められます。

特徴と向いている用途

公式資料に基づく紹介・実機未検証 · 内容確認日:

主な特徴

電源断に備えながらフラッシュの消去回数を分散する

ファイル操作は強いコピーオンライト保証を持ち、処理中に電源が失われても直前の正常状態へ戻る設計です。メタデータ用の小さなログとファイルデータ用のコピーオンライト構造を組み合わせ、共通のブロック割り当てによって動的ウェアレベリングを行います。

出典:[1]

向いている用途

外部フラッシュへ設定やログを安全に保存したい組み込み機器に向く

突然電源が切れる可能性があり、限られたRAM・ROMでファイルとディレクトリを扱う機器に向きます。利用者がブロックデバイス操作と寸法をlfs_configで提供するため、独自基板やRTOSのストレージ層へ組み込みたい場合にも適します。

出典:[1]

導入前の確認

実デバイスの同期保証とv2系の保守範囲を確認する

データの整合性は、利用者が実装するread・prog・erase・sync関数とフラッシュの寸法設定に依存します。書き込みキャッシュがある場合、syncは保存先への反映を完了し、その後のreadが実データを読むことを保証する必要があります。

v2.11.3のリリースではlittlefs2はfeature freeze、littlefs3は開発中で不安定と説明されています。また複数の書き込みハンドルによるデータ破損修正を含むため、古い版を固定せず、実機で電源断と並行操作を試験してください。

出典:[1][2]

参考にした公式資料

  1. [1]littlefs v2.11.3 README(2026-10-04)
  2. [2]littlefs v2.11.3 release(2026-10-04)
  3. [3]littlefs v2.11.3 BSD-3-Clause license(2026-10-04)
編集部からの補足

小容量フラッシュで電源断耐性と書き換え寿命を両立したいときの候補です。採用判断ではREADMEの特徴だけでなく、実機ドライバーのread・prog・erase・sync保証、メモリ寸法、障害注入試験まで確認してください。

3ステップで試す

  1. 1

    固定版のソースを取得する

    レビュー済みのv2.11.3を浅く取得します。

    git clone --branch v2.11.3 --depth 1 https://github.com/littlefs-project/littlefs.git
  2. 2

    PC用の試験一式を実行する

    Linux環境の模擬ブロックデバイス上で公式テストを実行します。Cコンパイラ、make、Pythonが必要です。この手順でlittlefsディレクトリへ移動し、次の手順も同じ端末と現在位置で続けます。

    cd littlefs && make test
  3. 3

    ディレクトリ操作の試験だけを確認する

    手順2と同じlittlefsディレクトリで、対象を絞った公式テストを実行し、試験ランナーと構成の扱いを確認します。実機採用時は独自のブロックデバイス関数へ置き換えてください。

    ./scripts/test.py runners/test_runner test_dirs
公式READMEで確認

成長

成長の推移 · 直近30日

6,961 Stars

推移データを蓄積中です。

開発アクティビティ

直近90日・週次

Commit(直近30日)
0
Open PR
60

開発アクティビティを蓄積中です。

Built with

カテゴリとタグ

GitHubデータ

GitHubのデータGitHubの詳細データを見る

GitHub Topics

  • filesystem
  • embedded
  • microcontroller
Stars
6,961
Forks
1,031
Watchers
152
Open Issues
580
Contributors
66
所有者種別
Organization
主要言語
C
ライセンス
BSD-3-Clause
リポジトリ最終更新
2026/03/25

このOSSの使い方や活用事例をMarkdownで投稿できます。管理者が承認した後に公開されます。

情報の誤りを報告

掲載内容に誤りや古い情報があればお知らせください。

このページを読んで、次に何をすればよいか分かりましたか?