Conditional STOP (CNDSTP) について

NAND Falsh Memory の試験時に、例えば規定のエラー数を超えた場合に停止したり、別の処理に切り替えたいというようなことがあると思います。

ScriptにIF文の機能はありませんが、CNDSTPコマンドにより、指定した条件を満たす場合にScript実行停止、またはScript Fileを切り替えることができます。

これにより、NAND Flash Memory評価選別を効率よく行うことが可能となります。

コマンド記述様式

パラメータのみを指定した場合は停止、パラメータとファイル名を指定した場合はScript Fileを切り替えます。

なお、本コマンドを複数回実行することにより、複数の停止条件を有効にすることができます。

同じ停止条件を複数回設定した場合、最後に設定したパラメータおよびファイル名のみ有効になります。

実施例を下記します。

Condition STOP.ssl

  1. 'SET BLOCK
  2. VSET04 0 0000
  3. 'SET PAGE
  4. VSET04 1 0001
  5. 'BUSY TIME ON
  6. BUSYTM 1
  7. FNRSLT 0 RESULT.rst
  8. FNDUMP 0 DUMP.dmp
  9. FNCOMP 0 COMP.cmp
  10. FNECNT 0 ERROR.err
  11. PRTSTR 01 -----RESULT-----
  12. PRTSTR 02 ----- DUMP ----- 
  13. PRTSTR 04 ----- COMP -----
  14. PRTSTR 08 -----ERROR -----
  15. 'BLOCK ERASE 
  16. BKERAS 0 $V04_0$ 
  17. 'Busy time over check
  18. CNDSTP 0002 00000050 Time-Over.ssl
  19. 'PAGE Program
  20. PGPROG 0 $V04_0$ $V04_1$ INCRMT 03020100 04040404
  21. 'Page Read & Dump
  22. PGRDDM 0 $V04_0$ $V04_1$ 0006 
  23. PRTSTR 04 ---Read & Compare---
  24. 'Error number check (per 4bytes)
  25. CNDSTP 0011 00000005
  26. PGRDCP 0 $V04_0$ $V04_1$ 0006 INCRMT 03020100 04040403
  27. PRTSTR 08 ---Read & ERR Count---
  28. 'Bit Error number check
  29. CNDSTP 0023 00008000
  30. PGRDEC 0 $V04_0$ $V04_1$ INCRMT 03020100 04040403
  31. PRTSTR 01 ----- END with No Error -----

Time-Over.ssl

  1. PRTSTR 01 ---Time Over---

実行結果

ex1. 停止条件:無し

第23、33、38行全てコメント行とした時

Result.rst ファイルの内容

-----result----- (Line14)

BusyTime (Line20) CH0:4551

BusyTime (Line26) CH0:216

BusyTime (Line29) CH0:38

BusyTime (Line34) CH0:38

BusyTime (Line39) CH0:38

----- end with no error ----- (Line41)

Done 00h00m00s

ex2. 停止条件:Busy Time 

第23行のCNDSTPのみ、を有効にした時

Result.rst ファイルの内容

-----result----- (Line14)

BusyTime (Line20) CH0:4550

BusyTime (Line26) CH0:216

---time over--- (Line27)

Done 00h00m00s

ex3.停止条件:Error Number 

第33行のCNDSTPのみ、を有効にした時

Result.rst ファイルの内容

-----result----- (Line14)

BusyTime (Line20) CH0:4551

BusyTime (Line26) CH0:216

BusyTime (Line29) CH0:38

BusyTime (Line34) CH0:38

Conditional Stop at Line34 (ErrorNum = 5) 00h00m00s

Dump.dmp ファイルの内容

Line Cnt Channel Chip Block Page WordNo Dump

----- dump -----

0000001D 00000001 00 0 0000 0001 0000 03020100

0000001D 00000001 00 0 0000 0001 0001 07060504

0000001D 00000001 00 0 0000 0001 0002 0B0A0908

0000001D 00000001 00 0 0000 0001 0003 0F0E0D0C

0000001D 00000001 00 0 0000 0001 0004 13121110

0000001D 00000001 00 0 0000 0001 0005 17161514

Comp.cmp ファイルの内容

Line Cnt Channel Chip Block Page WordNo Comp

----- comp -----

---read & compare---

00000022 00000001 00 0 0000 0001 0001 00000007

00000022 00000001 00 0 0000 0001 0002 0000000E

00000022 00000001 00 0 0000 0001 0003 00000005

00000022 00000001 00 0 0000 0001 0004 0000001C

00000022 00000001 00 0 0000 0001 0005 0000001B

ex4. 停止条件:Bit Error Number

第38行のCNDSTPのみ、を有効にした時

Result.rst ファイルの内容

-----result----- (Line14)

BusyTime (Line20) CH0:4550

BusyTime (Line26) CH0:216

BusyTime (Line26) CH0:216

BusyTime (Line34) CH0:38

BusyTime (Line39) CH0:38

Conditional Stop at Line39 (BitErrorNum < 32768) 00h00m00s

Error.err ファイルの内容

Line Cnt Channel Chip Block Page BitError

-----error -----

---read & err count---

00000027 00000001 00 0 0000 0001 00007DE8

(27hex = 39dec) (7DE8hex=32232)

参考:Conditional Stopの停止条件 (Operation Guideより抜粋)

*1. エラー数は4バイト単位でカウントします。4バイトに1ビット以上のエラーが含まれていれば、 1個のエラーとしてカウントします。

*2. コマンドBKRDCP、BKRDECを発行したときは、ブロック全体のエラー数で停止判断を行います。

*3. Busy Timeの単位はusecです。16進数8桁で指定します。