スクリプト(Script) 入門 4
NAND Flash Memory(以下NAND)の消去、書込み、読出しの最小単位は、その構造上、下記の通りです。
消去(Erase) | ブロック単位で一括消去 |
書込み(Program) | ページ単位(データ部+冗長部) |
読出し(Read) | ページ単位(データ部+冗長部) |
今回は、上記関連のScriptコマンドを紹介します。
用途に合わせて、数種のコマンドが用意されており、マルチチップやマルチプレーンにも対応しております。
詳細については、SigNAS3 Operational Guideをご覧ください。
ERASE コマンド
BLOCK単位・・・指定したブロックをイレーズします。
BKERAS | Block Erase |
BKERMC | Block Erase MultiChip 対象Chip指定は、ビットマップ対応のパラメータで行います。 |
BKEMPx | Block Erase MultiPlane パラメータで指定した、異なるプレーンの計x個のブロックをイレーズします。 |
BEMCPx | Block Erase MulitiChip MultiPlane |
PROGRAM コマンド
PAGE単位・・・指定したブロックをイレーズします。
PGPROG | Page Program |
PGPGMC | Page Program MultiChip 対象Chip指定は、ビットマップ対応のパラメータで行います。 |
PGPMPx | Page Program MultiPlane パラメータで指定した、異なるプレーンの計x個のブロック内のページをプログラムします。 |
PPMCPx | Page Program MulitiChip MultiPlane |
尚、プログラムパターンは、パラメータにて下記3種を指定できます。
INCRMT | インクリメントパターン |
RANDOM | 疑似ランダムパターン |
BUFFER | バッファパターン(ユーザーが予め準備したパターンファイル) |
BLOCK単位・・・指定したブロックの全ページをプログラムします。
BKPROG | Block Program |
BKPGMC | Block Program MultiChip 対象Chip指定は、ビットマップ対応のパラメータで行います。 |
BKPMPx | Block Program MultiPlane パラメータで指定した、異なるプレーンの計x個のブロック内の全ページをプログラムします。 |
BPMCPx | Block Program MulitiChip MultiPlane |
尚、プログラムパターンは、上記PageProgramのパターンに加え下記3種、計6種の設定が可能です。
ICROVL | インクリメントパターン(全ページの先頭でパターン初期化実施) |
RDMOVL | 疑似ランダムパターン(全ページの先頭でシードの初期化実施) |
BUFATA | バッファパターン(Page0には、バッファ0000、… 、Page5183にはバッファ143Fを割当て) |
READ コマンド
PAGE単位・・・指定したページをリードします。データ転送は行いません。
PGREAD | Page Read |
PEREAD | Page Read with Extend Address 拡張アドレスを指定することができます。 |
PGRMPx | Page Read MultiPlane パラメータで指定した、異なるプレーンの計x個のブロック内のページをリードします。 |
PERMPx | Page Read MultiPlane + Extend Addresss PGRMPxと同様の動作をしますが、拡張アドレスを指定できます。 |
PGRDDM | Page Read and Dump 指定したページをリードし、リードデータをDump Fileに保存します。 |
PGRDCP | Page Read and Compe 指定したページをリードし、指定したパターンと比較します。 不一致の場所と比較結果(XOR値、不一致のビットが1で表される)をCompare Fileに保存します。 |
尚、比較パターンは、パラメータにて下記3種を指定できます。
INCRMT | インクリメントパターン |
RANDOM | 疑似ランダムパターン |
BUFFER | バッファパターン(ユーザーが予め準備したパターンファイル) |
PERDDCP | Page Read and Compare with Extended Address PGRDCPと同様の動作をしますが、拡張アドレスを指定できます。 |
PGRDEC | Page Read and Error Count 指定したページをリードし、指定したパターンと比較を行い、エラー数をカウントします。 エラーカウント結果をError Count Fileに保存します。 |
尚、比較パターンは、パラメータにて上記PGRDCPの3種に加え、下記2種、計5種を指定できます。
ICROVL | Block Program のICROVLに対応 |
RDMOVL | Block Program のRDMOVLに対応 |
PERDEC | Page Read and Error Count with Extended Address PGRDECと同様の動作をしますが、拡張アドレスを指定できます。 |
PGDUMP | Page Dump NANDのキャッシュデータを取得し、Dump Fileに保存します。 |
PGCOMP | Page Compare NANDのキャッシュデータを取得し、指定したパターンと比較します。 |
PGSRDM | Page Softbit Read and Dump 指定したページのソフトビットをリードし、リードデータをDump Fileに保存します。 |
PESRDM | Page Softbit Read and Dump with Extend address |
BLOCK単位・・・指定したブロックの全ページをプログラムします。
BKREAD | Block Read |
BEREAD | Block Read with Extend Address BKREADと同様の動作をしますが、拡張アドレスを指定できます。 |
BKRDDM | Block Read and Dump 指定したブロックの全ページをリードし、リードデータをDump Fileに保存します。 |
BERDDM | Block Read and Dump with Extend Address BKRDDMと同様の動作をしますが、拡張アドレスを指定できます。 |
BKRDCP | Block Read and Compare 指定したブロックの全ページをリードし、指定したパターンと比較します。 不一致の場所と比較結果(XOR値、不一致のビットが1で表される)をCompare Fileに保存します。 |
比較パターンはパラメータにて、下記6種を指定することができます。
INCRMT | インクリメントパターン(全ページの先頭でパターン初期化実施) |
ICROVL | インクリメントパターン(ブロックの最初のページの先頭でパターン初期化実施) |
RANDOM | 疑似ランダムパターン(全ページの先頭でパターン初期化実施) |
RDMOVL | 疑似ランダムパターン(ブロックの最初のページの先頭でパターン初期化実施) |
BUFFER | バッファパターン |
BUFATA | バッファパターン(Page0には、バッファ0000、… 、Page5183にはバッファ143Fを割当て) |
BERDCP | Block Read and Compare with Extend Address BKRDCPと同様の動作をしますが、拡張アドレスを指定できます。 |
BKRDEC | Block Read and Error Count 指定したブロックの全ページをリードし、指定したパターンと比較を行い、エラー数をカウントします。 エラーカウント結果をError Count Fileに保存します。 比較パターンはBKRDCPと同じです。 |
BERDEC | Block Read and Error Count with Extend Address BKRDECと同様の動作をしますが、拡張アドレスを指定できます。 |
尚、GUIにも、下図のようなNANDのリード、比較機能が装備されております。