EN JA
NAND(4)
NAND(4) FreeBSD Kernel Interfaces Manual NAND(4)

名称

nandNAND フラッシュフレームワーク

書式

device nand

解説

FreeBSD nand フレームワークは、拡張可能で、様々なハードウェアのベンダから NAND コントローラと NAND フラッシュメモリチップのためのオブジェクト指向の環境を提供するため、と NAND デバイスの一定で柔軟性のある管理を考慮に入れるための目的である 1 組のインタフェースから成ります、それは、次の主要な構成要素から構成されます:
  • NAND フラッシュコントローラ (NFC) インタフェース。

    コントローラと NAND チップの間のデータを送信/受信と同様に、コマンドを送信できる方法を定義します。特有の NAND コントローラのためのバックエンドドライバは、与えられた NAND コントローラのためのこのインタフェースと実装の低レベルルーチンにプラグインします。

    この層は、NAND フラッシュコントローラの基本機能を実装しています。選択された NAND チップへの読み込み/書き込みと同様に、コマンドとアドレスをチップ、ドライブ CS (チップ選択行)、に送信することができます。この層は、コントローラに実際に接続された NAND チップデバイスに依存しません。

  • NAND チップインタフェース。

    読み込みページ、プログラムページ、削除ブロックのような基本操作を提供します。現在、次のチップのサポートを行う、3 つの一般的なクラスのドライバが利用可能です:

    • 大きなページ
    • 小さなページ
    • ONFI 準拠

    この層は、読み込み、プログラム、消す、ステータスを得るなど、のような、 NAND チップで実行される基本操作を実装しています。これらの操作が特定のコマンド (ベンダに依存して) を使用するので、各チップには、潜在的にコマンドのセットの自分自身の実装があります。

    フレームワークは、拡張可能であるので、non 標準チップサポートのためのカスタムコマンドセットも作成することが可能です。

  • NANDbus。

    この層は、システムで NAND チップを列挙すること、チップとそれらの監督するコントローラの間の階層を設立することに対して責任があります。

    その主な目的は、与えられたチップの選択 (CS 行) に接続された NAND チップのタイプを検出することです。また、NAND コントローラへのロックするアクセスをを管理できます。 NANDbus は、アクティブなチップからチップコントローラに要求を渡します。

  • NAND 文字 / GEOM デバイス。

    システムで見つかる各 NAND チップについて、(ioctl のように) 他の特定の操作を実行するのと同様に、デバイスに直接に読み込み/書き込みを許可する、文字と GEOM デバイスが作成されます。

    次の各 NAND チップのために作成された 2 つの GEOM デバイスがあります:

    • 生の (raw) デバイス
    • 通常のデバイス

    生のデバイスによって、それに読み込み/書き込むするとき、通常のデバイスが、読み込まれたデータを有効にするために ECC アルゴリズムを常に使用する間に、チェックする ECC を回避することができます。

    NAND 文字デバイスは、NAND コントローラをプローブする間に検出された各 NAND チップのために作成されます。

規格

Open NAND Flash Interface Working Group ( ONFI).

歴史

nand フレームワークのサポートは、 FreeBSD 10.0 ではじめて登場しました。

作者

nand フレームワークは、 Grzegorz Bernacki によって設計され開発されました。このマニュアルページは、 Rafal Jaworowski によって書かれました。
March 8, 2012 FreeBSD