Script作成時のヒント

Scriptは、プログラミング初心者の方でも、シンプルなコマンドとパラメータの組み合わせの記述により、所望の測定条件や手順が、容易に実現できるようにと準備されたインタプリタ型言語です。

その全てのコマンドは6文字で、機能が直感的に連想できる文字列となっています。(Operational Guide "スクリプトファイルの例"を参照)

また、自分で作成したScriptは、実行前に、”Script Check Mode”  機能により、タイポや、パラメータミス等の文法的なチェックが行いつつ、完成度を高めることができます。

ここでは、これまでユーザーから問い合わせを受けたり、Operational Guideの記述だけでは少し理解しづらく勘違いし易そうなコマンド機能について、より具体的に解説します。

REPEAT

REPEAT 繰り返し行数(Hex7桁) 繰り返し回数(Hex7桁)

繰り返し行数で指定したScript範囲を、繰り返し回数で指定した回数だけ実行します。

1. 繰り返し行数は、コメント行も対象となります

検証スクリプト
  1. VSET04 01 1234
  2. REPEAT 0000003 0000003
  3. 'Dummy-1
  4. PRTSTR 01 A $V04_01$
  5. PRTSTR 01 B
  6. PRTSTR 01 C
実行結果(Resultファイルの内容)
  • a 1234 (Line3)
  • b (Line3)
  • a 1234 (Line3)
  • b (Line3)
  • a 1234 (Line3)
  • b (Line3)
  • c (Line7)

2. 2回以上の入れ子はできません

下記Script一行目のREPEATの中に、3行目、10行目でREPEATを使うのは問題ありませんが、4行目~7行目の間にもう一度REPEATを使うような場合は許容されません。

1REPEAT 000000C 000000A
2BUSYTM 0
3REPEAT 0000004 0000032
4BKPROG 0 03DA INCRMT AAAAAAAA 00000000
5BKERAS 0 03DA
6BKPROG 0 03DA INCRMT 55555555 00000000
7BKERAS 0 03DA
8BUSYTM 1
9VSET04 00 0000
10REPEAT 0000002 0000040
11PGPROG 0 03DA $V04_00$ INCRMT 00000000 00000000
12VADD04 00 0001
13BKERAS 0 03DA

FNSCRT

FNSCRT ファイル名

Script Fileを切り替えます。

Script Fileは、絶対パスあるいは解析ソフトウェアの実行ファイル(SigNAS3.exe)があるフォルダからの相対パスで指定します。

変数の値は、そのまま引き継がれます。

検証Script

TEST-1

  1. VSET04 0 0000
  2. PRTSTR 01 TEST-1
  3. REPEAT 0000002 0000002
  4. PRTSTR 01 $V04_0$
  5. VADD04 0 0001
  6. FNSCRT TEST-2.ssl

TEST-2

  1. PRTSTR 01 TEST-2
  2. REPEAT 0000002 0000002
  3. PRTSTR 01 $V04_0$
  4. VADD04 0 0001

    実行結果(Resultファイルの内容)

    • test-1 (Line2)
    • 0000 (Line3)
    • 0001 (Line3)
    • test-2 (Line7)
    • 0002 (Line8)
    • 0003 (Line8)

Increment Pattern

下図のScriptでインクリメントパターンでページプログラム

実行後、読み取りデータのダンプ結果(下図)について不自然に思われるかもしれません。

  1. BKERAS 0 0000
  2. PGPROG 0 000 000 INCRMT 03020100 04040404
  3. PGREAD 0 0000 000
  4. PGDUMP 0 0800

4Byte単位のインクリメントを1Byte毎に表示しているため、

FF FE FD FC04 04 04 04 を足すため、バイトの繰上がりのため 04 03 02 00 となります。

SETBUF

ユーザーが下図のように予め作成した任意のパターンを、簡単にプログラミングすることができます。

SETBUF BUFFER.txt

PGPROG 0 0001 0010 BUFFER 0000

大量のPatternDataの作り方

SigNAS3 のPattern Settingの機能を使用して、作成することもできます。

Patten及び保存ファイルの形式を選択した後、Write to File をクリックして記録開始。

下図例ではBlockProgramなので、別途NANDSettingで設定されたサイズ(Page数)まで記録されて完了。

※  Pseudo Random PatternのSEEDは、0以外を設定して下さい。

0を設定した場合、Random Patternとはならず、オール0となります。

ファイルに保存したPatternデータは、下記Scriptのように、使用することができます。

SETBUF pattern.dat

BKPROG $V01_00$ $V04_00$ BUFATA

処理時間について

バッファを使用したデータ比較は、All0, increment, random 等と比べて処理時間が長くなります。

TSTAMP

Result Fileに保存される時間は、Script実行開始からの経過、表示は10進数、単位はミリ秒です

その他

1. Script実行中の途中経過モニタ

Log(RST file)などは、測定実行中に開いて、確認することは可能です。

また、実行中にAbortしても、それまでの実行結果は記録されています。

2. Script実行中の停止?

測定対象のNAND Flash Memory チップ自身の問題(例えば特定のBlockがEraseできない等)で、Scriptによる測定が停止しないようにするには、”Terminate with NAND Fail" のチェックを外して、機能を無効にして下さい。

3.実現可能な機能の自由度

基本的にScriptやGUIはAPIをベースに作られています。

実現可能な機能の自由度としては、API > Script > GUI となります。

例えばAPIなら、REPEATの入れ子数の制限も実質的にはありません。