※上記の広告は60日以上更新のないWIKIに表示されています。更新することで広告が下部へ移動します。

玄箱PROはHDDを取り付けなくても、内蔵されたフラッシュメモリである程度はNASとして作動する。
しかし、その構造上メモリへの書き込み回数に制限があるのでNANDフラッシュを酷使することは推奨できない。

構造

STMicroelectronics社のデータシートより。
玄箱PROからストレージとして扱う分には不要な項目もあるが、デバイスそのものの仕組みを知るには有用だと判断して掲載している。

基本データ

メーカー STMicroelectronics
製品名 NAND02GW3B2C
容量 2Gb(256MB)
バス x8
ページサイズ 2048+64バイト
ブロックサイズ 128K+4Kバイト
メモリ配列 64ページx2048ブロック
ECC(Error Correct Code)用に各ページに64バイトのOOB(Out Of Band)が含まれている。
OOBの合計は8Mバイトになり、NAND02GW3B2Cの実質容量は264Mバイトとなる。

信号種別

信号名 概要
Inputs/Outputs(I/O0-I/O7) 選択されたアドレスを入力するか、出力モード時にデータを出力するか、または入力モード時にコマンドかデータを入力するのに使用される。入力はWrite Enableの立ち上がりでラッチされる。デバイスの選択が解除されるか、または出力に障害があるとき、I/O0-I/O7は浮いたままの状態になる。
Address Latch Enable(AL) Command Interfaceのアドレス入力のラッチを有効にする。ALがHighの場合、アドレス入力はWrite Enableの立ち上がりでラッチされる。
Command Latch Enable(CL) Command Interfaceのコマンド入力のラッチを有効にする。CLがHighの場合、コマンド入力はWrite Enableの立ち上がりでラッチされる。
Chip Enable(E) メモリコントロールロジック、入力バッファ、デコーダ、およびセンスアンプを活性化する。EがLowの場合に、デバイスは選択される。EがHighになっても、デバイスは選択されたままで残っていて、待ち受け状態を調べても、デバイスはbusyを示さない。
Read Enable(R) 出力モード時にシーケンシャルなデータ出力を制御する。データはRの立ち下がり後に有効となる。また、Rの立ち下がりは内部の列アドレス・カウンタを1つ増加する。
Write Enable(W) Command Interfaceへの入力と、アドレスおよびデータ入力のラッチを制御する。アドレスとデータの両方がWの立ち上がりでラッチされる。電源オン・オフ時、Command Interfaceがコマンドを受け入れる準備が完了するまでに10マイクロ秒の回復時間が必要となる。この間、WをHighに保つことをお勧めする。
Write Protect(WP) 求められていない書き込みか消去操作に対してハードウェア保護を与える入力ピン。WPがLowの場合は、デバイスはどんな書き込みや消去操作も受け入れない。電源オン・オフ時、WPをLowに保つことをお勧めする。
Ready/Busy(RB) P/E/Rコントローラーが現在アクティブであるかどうか特定するのに使用することができる開放型ドレイン。RBが、Lowである(読み込み)時は書き込みもしくは消去操作が進行している。操作が完了した時、Ready/BusyはHighになる。開放型ドレイン出力の使用にあたって、いくつかのメモリから単一のプルアップレジスタに接続することもできる。するとLowは、メモリの1つ(または以上)がbusyだと示すようになる。電源オン・オフ時、Command Interfaceがコマンドを受け入れる準備が完了するまでに10マイクロ秒の最小の回復時間が必要となる。この間、RBはLow。

モード操作

上記信号種別の相関関係を表にする。
EとRBはモード操作そのものに関係しないので省いた。
モード操作 E AL CL R W WP I/O0-7
コマンド入力 Low Low High High 立ち上がり X コマンド
アドレス入力 Low High Low High 立ち上がり X アドレス
データ入力 Low Low Low High 立ち上がり High データ入力
データ出力 Low Low Low 立ち下がり High X データ出力

アドレス入力

バスサイクル I/O7 I/O6 I/O5 I/O4 I/O3 I/O2 I/O1 I/O0
1st A7 A6 A5 A4 A3 A2 A1 A0
2nd Low Low Low Low A11 A10 A9 A8
3rd A19 A18 A17 A16 A15 A14 A13 A12
4th A27 A26 A25 A24 A23 A22 A21 A20
5th Low Low Low Low Low Low Low A28
8ビットの幅で5回のサイクルを費やすことでアドレスを入力している。

アドレス定義

アドレス 定義
A0-A11 列アドレス
A12-A17 ページアドレス
A18-A28 ブロックアドレス
11ビットで2048ブロックの1ブロックを指定する「ブロックアドレス」、6ビットで64ページの1ページを指定する「ページアドレス」、12ビットで2112バイトの1バイトを指定する「列アドレス」で、256Mバイト中の1バイトを指定している。

動作

NANDフラッシュメモリの基本動作とは以下のものがある。
  1. 読み書きはページ単位
  2. 消去はブロック単位
  3. 読み込みはシリアル
  4. ECC(Error Correct Code)格納用にOOB(Out Of Band)を持つ

添付ファイル