JPH07272493A - 半導体デバイスへのプログラム - Google Patents

半導体デバイスへのプログラム

Info

Publication number
JPH07272493A
JPH07272493A JP6316994A JP6316994A JPH07272493A JP H07272493 A JPH07272493 A JP H07272493A JP 6316994 A JP6316994 A JP 6316994A JP 6316994 A JP6316994 A JP 6316994A JP H07272493 A JPH07272493 A JP H07272493A
Authority
JP
Japan
Prior art keywords
semiconductor device
data
programming
loop count
written
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP6316994A
Other languages
English (en)
Inventor
Toshiyuki Wakutsu
俊幸 和久津
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujifilm Holdings Corp
Fujifilm Microdevices Co Ltd
Original Assignee
Fujifilm Microdevices Co Ltd
Fuji Photo Film Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujifilm Microdevices Co Ltd, Fuji Photo Film Co Ltd filed Critical Fujifilm Microdevices Co Ltd
Priority to JP6316994A priority Critical patent/JPH07272493A/ja
Publication of JPH07272493A publication Critical patent/JPH07272493A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【目的】 不揮発性のメモリセルを有する半導体デバイ
スに関し、短時間で半導体デバイスへの書き込みを行う
ことができるプログラム装置を提供することを目的とす
る。 【構成】 複数のメモリセルを有しループ回数が記憶さ
れている半導体デバイスにプログラムを行うプログラム
装置であって、半導体デバイスからループ回数の読み出
しを行うループ回数読み出し手段と、半導体デバイス内
の1つのメモリセルを指定するアドレス指定手段と、ル
ープ回数読み出し手段により読み出されるループ回数だ
け、アドレス指定手段が指定するメモリセルに連続して
同一のデータの書き込みを実行する連続データ書き込み
手段と、連続データ書き込み手段が連続してデータ書き
込みを実行した後にデータ書き込みを行ったメモリセル
からデータの読み出しを行うデータ読み出し手段と、連
続データ書き込み手段が書き込みを行ったデータとデー
タ読み出し手段により読み出されたデータが同一である
か否かを調べる照合手段とを有する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は半導体デバイスに関し、
特に不揮発性のメモリセルを有する半導体デバイスへの
プログラムに関する。
【0002】
【従来の技術】不揮発性半導体メモリデバイスは、デー
タの書き込みまたは読み出しを行うことができる。プロ
グラム装置を用いることにより、不揮発性の半導体デバ
イスに書き込みを行うことができる。
【0003】図2は、従来技術によるプログラム装置が
半導体デバイスに書き込みを行う処理を示すフローチャ
ートである。プログラム装置は、半導体デバイスに接続
された後ステップP1から処理を開始する。
【0004】ステップP2では、書き込みアドレスを0
番地に指定し、書き込みを開始するアドレスを設定す
る。ステップP3では、カウンタレジスタN’に1をセ
ットする。カウンタN’は、アドレス指定されたメモリ
セルへの書き込みが失敗したときに、同一のメモリセル
に書き込みを繰り返し行った回数を示す。
【0005】ステップP4では、プログラムコマンドを
半導体デバイスに送出する。プログラムコマンドが送出
されると、半導体デバイスに対してプログラム処理を行
う。プログラム装置は、書き込みアドレスと、1または
0の書き込みデータを期待値として半導体デバイスに送
出し、データの書き込みを指示する。
【0006】ステップP5では、プログラム時間T1
[μs]だけ待機する。その間、半導体デバイスは、供
給されたアドレスのメモリセルにデータを書き込む。プ
ログラム時間T1は、半導体デバイスへの書き込み時間
よりも長く、10[μs]程度である。T1[μs]経
過後には、半導体デバイスへの書き込みは終了してい
る。
【0007】T1[μs]待機した後に、ステップP6
においてベリファイコマンドを半導体デバイスに送出す
る。ベリファイコマンドが送出されると、半導体デバイ
スに対してベリファイ処理を行う。プログラム装置は、
先程書き込みを行ったアドレスのメモリセルからの読み
出しを半導体デバイスに指示する。
【0008】ステップP7では、ベリファイ時間T2
[μs]だけ待機する。その間、半導体デバイスは、指
定されたアドレスのメモリセルからデータをが読み出
し、プログラム装置に送出する。ベリファイ時間T2
は、半導体デバイスからの読み出し時間よりも長く、6
[μs]程度である。T2[μs]経過後には、半導体
デバイスからの読み出しは終了している。
【0009】T2[μs]待機した後に、ステップP8
において、書き込みを指示した書き込みデータの期待値
と、書き込みを指示したアドレスと同一のアドレスから
読み出したデータが等しいか否かをチェックする。
【0010】データが等しくなければ、指定されたメモ
リセルへの書き込みを失敗したことになるので、ステッ
プP12へ進む。ステップP12では、カウンタN’が
許容ループ回数nを越えているか否かをチェックする。
許容ループ回数nは、指定されたメモリセルへの書き込
みが失敗したときに、同一のメモリセルに書き込みを繰
り返す上限の回数である。上限の回数を設定しないと、
書き込みが正常に行われるまで永久に書き込みを繰り返
す場合もありえるので、上限を設定して所定回数書き込
みを繰り返しても書き込みが正常に行われないときに
は、処理を途中で打ち切る必要がある。許容ループ回数
nは、例えば20位に設定される。
【0011】カウンタN’は、ステップP3において1
にセットされているので、許容ループ回数n(例えば2
0)よりも小さい。したがって、ステップP13に進
み、カウンタN’をインクリメントして、ステップP4
へ進み、半導体デバイスに対してプログラムおよびベリ
ファイを再び実行する。
【0012】指定されたメモリセルへの書き込みが失敗
したときには、カウンタN’が許容ループ回数nを越え
るまで、プログラムおよびベリファイを繰り返す。カウ
ンタN’が許容ループ回数nを越えたときには、指定さ
れたメモリセルに許容ループ回数nだけプログラムを繰
り返しても、正常な書き込みが行えなかったことを示す
ので、ステップP14においてそのメモリセルは不良で
あると判断される。
【0013】メモリセルにデータ“0”をプログラムす
るためには、メモリセルに所定電圧を所定時間(約プロ
グラム時間T1)だけ印加する。メモリセルにしきい値
以上の電荷が蓄積されれば、データ“0”が記憶され
る。しかし、しきい値まで電荷が蓄積されなければデー
タ“1”が記憶されてしまう。メモリセルが正常であれ
ば、再度プログラムを繰り返すことにより、しきい値ま
で電荷が蓄積されデータ“0”が正しく書き込まれる。
メモリセルに正しく書き込みが行われると、ステップP
9へ進む。
【0014】ステップP9では、今書き込みを行ったメ
モリセルのアドレスが最終アドレスか否かを調べる。最
終アドレスでなければ、ステップP10へ進みアドレス
をインクリメントしてステップP3へ進み、次のアドレ
スについてのデータ書き込みを同様に行う。
【0015】アドレスを1つずつ進めて書き込みを繰り
返し、最終アドレスについてのデータ書き込みが成功す
ると、プログラム装置はステップP11へ進み半導体デ
バイスの全てのアドレスへの書き込みを終了する。
【0016】
【発明が解決しようとする課題】プログラム装置は、半
導体デバイス内のメモリセルにプログラム処理とベリフ
ァイ処理を行い、正常に書き込みが行われたことが確か
められれば、そのメモリセルについての書き込みは終了
する。しかし、メモリセルへの書き込みが失敗したとき
には、プログラム処理とベリファイ処理を再び繰り返す
ために、半導体デバイスへの書き込み時間は長くなる。
【0017】本発明の目的は、短時間で半導体デバイス
への書き込みを行うことができるプログラム装置を提供
することである。
【0018】
【課題を解決するための手段】本発明のプログラム装置
は、複数のメモリセルを有しループ回数が記憶されてい
る半導体デバイスにプログラムを行うプログラム装置で
あって、半導体デバイスからループ回数の読み出しを行
うループ回数読み出し手段と、半導体デバイス内の1つ
のメモリセルを指定するアドレス指定手段と、ループ回
数読み出し手段により読み出されるループ回数だけ、ア
ドレス指定手段が指定するメモリセルに連続して同一の
データの書き込みを実行する連続データ書き込み手段
と、連続データ書き込み手段が連続してデータ書き込み
を実行した後にデータ書き込みを行ったメモリセルから
データの読み出しを行うデータ読み出し手段と、連続デ
ータ書き込み手段が書き込みを行ったデータとデータ読
み出し手段により読み出されたデータが同一であるか否
かを調べる照合手段とを有する。
【0019】
【作用】半導体デバイス内のメモリセルは、通常同一の
データを複数回繰り返して書き込みを行うことにより、
正常なデータが書き込まれる。ループ回数読み出し手段
は繰り返し書き込みを行うループ回数を半導体デバイス
から読み出し、連続データ書き込み手段は読み出された
ループ回数だけ連続して同一のデータを半導体デバイス
に書き込む。データの書き込みを連続して行うことによ
り、正しいデータを書き込むことができる。予めループ
回数が分かっているので、連続して書き込みを行ってい
る間に正常なデータが半導体デバイスに書き込まれたか
否かを調べずに、半導体デバイスに正しいプログラムを
行うことができる。これにより、プログラムのための処
理時間を短くすることができる。
【0020】
【実施例】図1は、本発明の実施例によるプログラム装
置が半導体デバイスに書き込みを行うシステム構成を示
す。
【0021】半導体デバイス2は、例えば紫外線照射に
よりデータ消去可能なEPROMや電気的にデータ消去
可能なEEPROM等の不揮発性で書き換え可能な半導
体メモリである。半導体デバイス2は、ユーザメモリ領
域3とループ回数メモリ領域4を有する。半導体デバイ
スメーカは、半導体デバイス2を製造する際に、半導体
デバイス2内のメモリセルに同一データを繰り返しプロ
グラムすべきループ回数Nを測定して、ループ回数メモ
リ領域4に格納する。
【0022】半導体デバイス2が製造されると、半導体
デバイス2はユーザに提供される。ユーザは、プログラ
ム装置1を半導体デバイス2に接続することにより、半
導体デバイス2内のユーザメモリ領域3に書き込みを行
うことが可能になる。
【0023】ユーザメモリ領域3は、データの書き込み
や読み出しを行うことができる領域であり、ループ回数
メモリ領域4は、データの読み書きには使用することが
できず、ループ回数Nの書き込みや読み出しが行われる
領域である。
【0024】例えば、ユーザメモリ領域3は、半導体デ
バイス2の全メモリ領域の内の(先頭アドレス)番地か
ら(最終アドレス−1)番地までに設定され、ループ回
数メモリ領域4は、半導体デバイス2内の(最終アドレ
ス)番地に設定される。プログラム装置1が、半導体デ
バイス2に書き込みを行う場合には、ユーザメモリ領域
3内のアドレスを指定することになる。
【0025】半導体デバイス2は、ユーザメモリ領域3
に加えてループ回数メモリ領域4を有するので、ユーザ
が使用可能なアドレス領域とは別にループ回数メモリ領
域4を指定することができるローデコーダを用意する必
要がある。さらに外部からアドレス信号を入力するため
の入力回路を1つ余分に設定し、ループ回数メモリ領域
へのアクセスを可能にする必要がある。ループ回数メモ
リ領域4が半導体デバイス2の(最終アドレス)番地に
設けられている場合では、ループ回数メモリ領域4が外
部から指定されたとき、指定された信号を全てハイレベ
ルのアドレス信号に変換することによりループ回数メモ
リ領域4へのアクセスが可能になる。
【0026】ユーザメモリ領域3には、複数のメモリセ
ルが配置されている。各メモリセルの特性にはばらつき
があり、1回のプログラム処理で書き込みが成功するも
のと数回のプログラム処理でやっと書き込みが成功する
ものがある。
【0027】メモリセルの特性は、ランダムに決まるも
のではなく、製造時の環境に依存する。同一の製造ライ
ンで製造された半導体デバイスに含まれているメモリセ
ルは、あるばらつきの範囲内に収まる。さらに、同一の
半導体デバイス内のメモリセルは、より狭いばらつきの
範囲内に収まる。
【0028】したがって、半導体デバイス内のメモリセ
ルはほぼ同じ特性を有し、同じ回数だけプログラム処理
を繰り返すことにより書き込みが成功する。半導体デバ
イス毎にプログラム処理を繰り返し行えばよい回数が決
まるので、そのループ回数Nの測定を行う。
【0029】半導体デバイスメーカは、半導体デバイス
を製造する際のプロービング等の検査段階でループ回数
Nを測定し、半導体デバイス2内のループ回数メモリ領
域4に格納する。
【0030】図3は、半導体デバイス固有のループ回数
Nを測定する手順を示すフローチャートである。ループ
回数Nの測定装置は、以下の処理を行うことにより半導
体デバイスのループ回数Nを測定することができる。
【0031】処理はステップQ1から開始し、ステップ
Q2においてループ回数Nの測定を開始するアドレスを
0番地に設定し、ループ回数Nを0に初期設定する。ス
テップQ3では、カウンタN’に1をセットする。カウ
ンタN’は、アドレス指定されたメモリセルへの書き込
みが何回のプログラム処理で成功するのかをカウントす
るレジスタである。
【0032】ステップQ4では、プログラムコマンドを
半導体デバイスに送出し、半導体デバイスに対してプロ
グラム処理を行う。測定装置は、指定されたアドレス
と、所定の書き込みデータを期待値として半導体デバイ
スに送出し、データの書き込みを行う。書き込みデータ
は、メモリセルの動作確認を行うために様々なテストパ
ターンによるデータを用いることができる。
【0033】ステップQ5では、ベリファイコマンドを
半導体デバイスに送出し、半導体デバイスに対してベリ
ファイ処理を行う。測定装置は、先程書き込みを行った
アドレスと同一のアドレスのメモリセルからの読み出し
を行う。
【0034】ステップQ6では、書き込みを行った書き
込みデータの期待値と、書き込みを行ったアドレスから
読み出されたデータが等しいか否かをチェックする。デ
ータが等しくなければ、指定されたメモリセルへの書き
込みを失敗したことを示すので、ステップQ13におい
てカウンタN’が許容ループ回数nを越えているか否か
をチェックする。カウンタN’は初期時に1であり、許
容ループ回数n(例えば20)を越えていないので、ス
テップQ14へ進みカウンタN’の値をインクリメント
して、ステップQ4へ戻りプログラム処理を繰り返す。
【0035】プログラム処理を繰り返し、カウンタN’
が許容ループ回数nを越えてしまったときには、ステッ
プQ15へ進みプログラム処理を繰り返したメモリセル
は不良品であると判断する。
【0036】メモリセルに正しく書き込みが行われる
と、ステップQ7へ進む。ステップQ7では、カウンタ
N’がループ回数Nよりも大きいか否かを調べる。カウ
ンタN’の方が大きければ、ステップQ8へ進みループ
回数NをカウンタN’の値に更新し、ステップQ9へ進
む。カウンタN’が大きくなければ、ループ回数Nを更
新せずにステップQ9へ進む。アドレスが0番地のメモ
リセルについてのループ回数はNにセットされたことに
なる。
【0037】ステップQ9では、ループ回数の測定を指
定したアドレスが最終アドレスか否かを調べる。最終ア
ドレスでなければ、ステップQ10へ進みアドレスをイ
ンクリメントしてステップQ3へ進み、次のアドレスに
ついてループ回数の測定を繰り返す。
【0038】アドレスを進めてそれぞれのメモリセルに
ついてのループ回数を測定し、測定されたループ回数の
中で最大値がループ回数Nに更新設定されていく。最終
アドレスのループ回数を測定し終わると、ステップQ1
1へ進む。
【0039】ステップQ11では、ループ回数Nを半導
体デバイスに登録する。ループ回数Nは、半導体デバイ
ス内のループ回数メモリ領域に格納される。処理は、ス
テップQ12にて終了する。
【0040】半導体デバイスメーカがループ回数Nを半
導体デバイスに格納した後に、半導体デバイスはユーザ
に提供される。ユーザは、プログラム装置を用いて半導
体デバイスにデータの書き込みを行う。
【0041】なお、紫外線照射によりデータを消去する
ことができるEPROMを半導体デバイスとして用いる
場合には、ループ回数を登録した後に半導体デバイス内
のループ回数メモリ領域をアルミ等の遮光材で覆う等し
て遮光し、登録したループ回数Nが消去されないように
する必要がある。
【0042】図4は、プログラム装置が半導体デバイス
に書き込みを行う処理を示すフローチャートである。プ
ログラム装置は、半導体デバイスに接続された後ステッ
プR1から処理を開始する。
【0043】ステップR2では、書き込みを開始するア
ドレスを0番地に設定する。ステップR3では、Nリー
ドコマンドを半導体デバイスに送出する。Nリードコマ
ンドが送出されると、プログラム装置は半導体デバイス
内のループ回数メモリ領域からループ回数Nの読み出し
を行う。
【0044】ステップR4では、カウンタN’に1をセ
ットする。カウンタN’は、アドレス指定されたメモリ
セルへの書き込みが失敗したときに、同一のメモリセル
に書き込みを繰り返し行った回数を示す。
【0045】ステップR5では、プログラムコマンドを
半導体デバイスに送出し、半導体デバイスに対してプロ
グラム処理を行う。プログラム装置は、書き込みアドレ
スと、1または0の書き込みデータを期待値として半導
体デバイスに送出し、データの書き込みを行う。
【0046】ステップR6では、プログラム時間T1
[μs]だけ待機する。その間、半導体デバイスは、供
給されたアドレスのメモリセルにデータの書き込みを行
う。プログラム時間T1は、半導体デバイスへの書き込
み時間よりも長く、10[μs]程度である。T1[μ
s]経過後には、半導体デバイスへの書き込みは終了し
ている。T1[μs]待機した後に、ステップR8へ進
む。
【0047】ステップR8では、カウンタN’がループ
回数Nと同じ値か否かを調べる。同じでなければ、ステ
ップR9は進みカウンタN’をインクリメントして、ス
テップR5へ戻りプログラム処理を繰り返す。プログラ
ム処理は、ループ回数Nだけ連続して繰り返される。そ
の間、ベリファイ処理は行われないので、メモリセルに
データが正しくプログラムされたか否かに拘らず、プロ
グラム処理をループ回数Nだけ繰り返す。ベリファイ処
理を行わないので、ベリファイ時間T2[μs]を費や
さずに、おおよそ(プログラム時間T1×ループ回数
N)の時間でプログラム処理が行われる。ループ回数N
だけプログラム処理を繰り返すと、カウンタN’はルー
プ回数Nと同じ値になり処理端子Aへ進む。
【0048】図5は、処理端子Aから開始するプログラ
ム装置の処理手順を示すフローチャートである。処理
は、処理端子AからステップR10へ続く。ステップR
10では、ベリファイコマンドを半導体デバイスに送出
し、半導体デバイスに対してベリファイ処理を行う。プ
ログラム装置は、先程ループ回数Nだけプログラム処理
を行ったメモリセルからの読み出しを半導体デバイスに
指示する。
【0049】ステップR11では、ベリファイ時間T2
[μs]だけ待機する。その間、半導体デバイスは、指
定されたアドレスのメモリセルからデータを読み出し、
プログラム装置に送出する。ベリファイ時間T2は、半
導体デバイスからの読み出し時間よりも長く、6[μ
s]程度である。T2[μs]経過後には、半導体デバ
イスからの読み出しは終了している。
【0050】T2[μs]待機した後に、ステップR1
2において、書き込みを指示した書き込みデータの期待
値と、書き込みを指示したアドレスと同一のアドレスか
ら読み出されたデータが等しいか否かをチェックする。
既にループ回数Nだけプログラム処理を行っているの
で、ほとんどのメモリセルには正しいデータがプログラ
ムされている。
【0051】もし、正しいデータがプログラムされてい
ない場合にはステップR16へ進む。ステップR16で
は、カウンタN’が許容ループ回数nを越えているか否
かをチェックする。許容ループ回数n(例えば20)を
越えていなければ、ステップR17へ進みカウンタN’
の値をインクリメントする。ステップR18では再びプ
ログラムコマンドを半導体デバイスに送出し、ステップ
R19においてプログラム時間T1だけ待機して、プロ
グラム処理の終了を待つ。
【0052】T1だけ待機した後にステップR10へ戻
りベリファイ処理を繰り返す。ベリファイが成功しなけ
れば、カウンタN’が許容ループ回数nを越えるまでプ
ログラム処理を繰り返す。カウンタN’が許容ループ回
数nを越えてしまったときには、ステップR20へ進み
プログラム処理を繰り返したメモリセルは不良品である
と判断する。
【0053】ステップR12において、プログラム処理
をループ回数Nだけ繰り返した結果正しいデータがプロ
グラムされた場合、またはループ回数Nだけでは足りず
カウンタN’の回数だけプログラム処理を繰り返した結
果正しいデータがプログラムされた場合には、ステップ
R13へ進む。
【0054】ステップR13では、今書き込みを行った
メモリセルのアドレスが最終アドレスか否かを調べる。
最終アドレスでなければ、ステップR14へ進みアドレ
スをインクリメントして処理端子Bへ進む。その後図4
のステップR4へ戻り、カウンタN’を1にセットし直
して、次のアドレスについてプログラム処理をループ回
数Nだけ繰り返す。
【0055】アドレスをインクリメントして最終アドレ
スにまで達し、最終アドレスについてのデータ書き込み
が成功すると、ステップR15へ進み、プログラム装置
は半導体デバイスの全てのアドレスへの書き込みを終了
する。
【0056】以上のように、ループ回数Nは半導体デバ
イス内で最もプログラム能力の低い繰り返し回数を示す
ので、全てのメモリセルはループ回数Nだけプログラム
処理を繰り返せば、正しいデータがプログラムされるは
ずである。半導体デバイス内のメモリセルは全てほぼ同
じ特性を有するので、1つのメモリセルだけ極端に多く
のループ回数が必要である場合はほとんど生じない。そ
のようなメモリセルがあったとしても、通常は不良のメ
モリセルとして処理される。
【0057】従来であれば、1回プログラム処理を行う
毎にその後必ずベリファイ処理を行っていた。しかし、
同じ半導体デバイスでの書き込み処理である場合には、
ベリファイ処理を行わなくてもプログラム処理をループ
回数N付近まで繰り返さなければならないことを予測す
ることができるので、本実施例ではその間ベリファイを
行わないようにした。
【0058】本実施例のプログラム装置と従来のプログ
ラム装置の処理時間を比較してみる。図3の処理手順に
よりループ回数Nを予め測定した結果、例えばその半導
体デバイスのループ回数Nは4回であると測定され、半
導体デバイスにループ回数N=4が登録されたとする。
しかし、あるアドレスのメモリセルは、何等かの理由で
メモリセルの特性が悪化し、5回プログラム処理を繰り
返したときに正しいデータがプログラムされる特性にな
ってしまったとする。
【0059】本実施例により、このメモリセルにデータ
書き込みを行う処理時間を計算する。まず、メモリセル
に対してプログラム処理をループ回数N=4回繰り返
す。各プログラム処理は、プログラムコマンドを送出
し、プログラム時間T1[μs]だけ待機する時間を要
する。プログラム時間T1を10[μs]とすると、プ
ログラム処理の繰り返し時間T11は以下のようにな
る。
【0060】
【数1】 T11=プログラム時間(T1)×ループ回数(N) =10[μs]×4 =40[μs] その後、ベリファイ処理が一回行われる。ベリファイ処
理は、ベリファイコマンドを送出し、ベリファイ時間T
2[μs]だけ待機する時間を要する。ベリファイ時間
T2を6[μs]とすると、ベリファイ処理時間T12
は以下のようになる。
【0061】
【数2】T12=ベリファイ時間(T2)×処理回数 =6[μs]×1 =6[μs] ベリファイ処理の結果、正しいデータがプログラムされ
ていないと判断されるので、もう一度プログラム処理を
行い、その後引き続きベリファイ処理を行う。この時、
カウンタN’は5であり、プログラム処理を合計5回行
ったことを示す。ベリファイ処理の結果、正しいデータ
がプログラムされたと判断され、プログラム装置の処理
は終了する。プログラム処理とベリファイ処理を1回ず
つ行った処理時間T13は以下のようになる。
【0062】
【数3】T13=(プログラム時間(T1)+ベリファ
イ時間(T2))×処理回数 =(10[μs]+6[μs])×1 =16[μs] もし、5回目のプログラム処理を行っても、正しいデー
タがプログラムされないときには、プログラム処理とベ
リファイ処理の2つの処理を組みにして繰り返す必要が
ある。
【0063】以上の各処理時間を加算することにより、
プログラム装置が行った全体の処理時間T10を求める
ことができる。
【0064】
【数4】T10=T11+T12+T13 =40[μs]+6[μs]+16[μs] =62[μs] 次に、従来のプログラム装置による処理時間を求める。
従来のものは、プログラム処理とベリファイ処理の2つ
の処理を書き込みが成功するまで繰り返して行う。本実
施例の場合と同様に5回プログラム処理を繰り返すこと
により書き込みが成功するメモリセルに対して行う書き
込み処理の処理時間T20は以下のようになる。
【0065】
【数5】T20=(プログラム時間(T1)+ベリファ
イ時間(T2))×処理回数 =(10[μs]+6[μs])×5 =80[μs] 本実施例による処理時間T10は、1つのメモリセルに
対して従来の処理時間T20よりも18[μs](80
[μs]−62[μs])短くなることがわかる。書き
込みを行うメモリセルの数が多くなればなるほど、処理
時間の差が大きくなり本実施例は有効となる。
【0066】半導体デバイス内のメモリセルは、一般的
に使用を重ねると徐々に能力が低下して行く。つまり、
半導体製造時には、ループ回数Nが例えば4回であると
測定されても、半導体デバイスへの書き込みを繰り返す
内に4回では済まなくなり、5回以上プログラム処理を
繰り返さなければ正しいデータがプログラムされなくな
ってしまうことがある。
【0067】そのような能力低下を考慮して、能力が低
下した場合には半導体デバイスに登録されているループ
回数Nを更新することができるプログラム装置の実施例
を次に説明する。
【0068】図6は、ループ回数Nの更新を行うことが
できるプログラム装置が行う処理の例を示す。半導体デ
バイスには、図3に示す手順によりループ回数Nが登録
されている。プログラム装置はステップS1から処理を
開始する。
【0069】ステップS2では、書き込みアドレスを0
番地に指定し、新ループ回数N”を0に設定する。新ル
ープ回数を示すレジスタN”には、半導体デバイスへの
書き込みと同時に測定される新たなループ回数が格納さ
れる。
【0070】ステップS3では、Nリードコマンドを送
出し、半導体デバイス内のループ回数メモリ領域からル
ープ回数Nの読み出しを行う。ステップS4ではカウン
タN’に1をセットする。
【0071】ステップS5では、プログラムコマンドを
半導体デバイスに送出する。ステップS6では、プログ
ラム時間T1[μs]だけ待機する。その間に半導体デ
バイスにプログラム処理が行われる。
【0072】ステップS8では、カウンタN’が半導体
デバイスから読み出したループ回数Nと同じか否かを調
べる。同じでなければ、ステップS9は進みカウンタ
N’をインクリメントして、ステップS5へ戻りプログ
ラム処理を繰り返す。ループ回数Nだけプログラム処理
を繰り返すと、カウンタN’はループ回数Nと同じ値と
なり処理端子Cへ進む。
【0073】図7は、処理端子Cから開始するプログラ
ム装置の処理手順を示すフローチャートである。処理
は、処理端子CからステップS10へ続く。ステップS
10では、ベリファイコマンドを半導体デバイスに送出
する。ステップS11では、ベリファイ時間T2[μ
s]だけ待機する。その間に半導体デバイスにベリファ
イ処理が行われる。
【0074】ステップS12では、正しいデータがプロ
グラムされたか否かを調べる。既にループ回数Nだけプ
ログラム処理を行っているので、ほとんどのメモリセル
には正しいデータがプログラムされている。
【0075】もし、正しいデータがプログラムされてい
ない場合にはステップS20へ進み、カウンタN’が許
容ループ回数nを越えているか否かをチェックする。許
容ループ回数n(例えば20)を越えていなければ、ス
テップS20へ進みカウンタN’の値をインクリメント
する。ステップS21では再びプログラムコマンドを半
導体デバイスに送出し、ステップS22にてプログラム
時間T1待機して、プログラム処理の終了を待つ。
【0076】T1だけ待機した後にステップS10へ戻
りベリファイ処理を繰り返す。ベリファイが成功しなけ
れば、カウンタN’が許容ループ回数nを越えるまで同
様の処理を繰り返す。カウンタN’が許容ループ回数n
を越えてしまったときには、ステップS23へ進みプロ
グラム処理を繰り返したメモリセルは不良品であると判
断する。
【0077】ステップS12において、カウンタN’の
回数だけプログラム処理を繰り返した結果正しいデータ
がプログラムされた場合には、ステップS13へ進む。
ステップS13では、カウンタN’が新ループ回数N”
より大きいか否かを調べる。新ループ回数N”には、初
期設定された0の値がセットされているので、最初は必
ずカウンタN’の方が大きいと判断される。カウンタ
N’の方が大きければ、ステップS14へ進み新ループ
回数N”にカウンタN’の値をセットする。
【0078】ステップS15では、今書き込みを終了し
たメモリセルのアドレスが最終アドレスか否かを調べ
る。最終アドレスでなければ、ステップS16へ進みア
ドレスをインクリメントして処理端子Dへ進む。その後
図4のステップS4へ戻り、カウンタN’を1にセット
し直して、次のアドレスについてプログラム処理をルー
プ回数Nだけ繰り返す。
【0079】新たなアドレスについてカウンタN’の回
数だけプログラム処理を繰り返した後、ステップS12
においてベリファイに成功したと判断されると、再びス
テップS13へ進む。新ループ回数N”には0番地のメ
モリセルのループ回数がセットされており、カウンタ
N’には今回処理を行った1番地のメモリセルのループ
回数がセットされている。カウンタN’が新ループ回数
N”よりも大きいか否かを調べ、カウンタN’の方が大
きければ新ループ回数N”をカウンタN’の値に更新
し、カウンタN’が大きくなければ更新を行わずにステ
ップS15へ進む。アドレスをインクリメントして同様
な処理を繰り返せば、新ループ回数N”には、半導体デ
バイス内のメモリセルの中で1番大きなループ回数がセ
ットされる。
【0080】ステップS15において、アドレスが最終
アドレスにまで達したと判断されると、ステップS17
へ進み、新ループ回数N”を新たなループ回数として半
導体デバイスのループ回数メモリ領域に更新登録する。
なお、この際新ループ回数N”と更新前のループ回数N
との比較を行い、新ループ回数N”がループ回数Nより
も大きくなってしまってしまっているときのみ更新登録
を行うようにしてもよい。
【0081】その後、ステップS18において、プログ
ラム装置は半導体デバイスの全てのアドレスへの書き込
みを終了する。以上のように、プログラム装置による半
導体デバイスへの書き込みを繰り返し、半導体デバイス
内のメモリセルの能力が低下しても、半導体デバイスに
登録されているループ回数を更新して行くことにより、
メモリセル能力に適した処理を行うことができる。これ
により、メモリセルの能力低下を考慮した書き込み時間
の短縮化を実現することができる。
【0082】なお、ループ回数を更新登録するときに
は、1度半導体デバイスに格納されているループ回数の
データを消去してから、改めてループ回数の書き込みを
行うために、半導体デバイスは紫外線照射によりデータ
を消去するタイプよりも、電気的にデータ消去を行うこ
とができるEEPROMの方が望ましい。
【0083】また、本実施例では、半導体デバイス内の
メモリセルのループ回数の内で最大値をループ回数Nと
して、メーカが半導体デバイスに登録したり、プログラ
ム装置により更新登録したりする場合ついて述べたが、
ループ回数Nが最大値である必要はなく、例えば最大値
よりも幾分小さい値をループ回数Nとして登録してもよ
い。
【0084】ループ回数Nの更新を行うプログラム装置
は、半導体デバイス内の複数のメモリセルの内どれか1
つでもループ回数Nを越えてしまったら、必ず半導体デ
バイスのループ回数Nを更新しなければならないもので
はない。例えば、2つ以上のメモリセルがループ回数N
を越えたときのみ更新を行うようにしてもよい。
【0085】以上実施例に沿って本発明を説明したが、
本発明はこれらに制限されるものではない。例えば、種
々の変更、改良、組合わせ等が可能なことは当業者に自
明であろう。
【0086】
【発明の効果】ループ回数を半導体デバイスから読み出
し、同一のデータをループ回数だけ繰り返し半導体デバ
イスに書き込みを指示することにより、正しいデータが
書き込まれる。その間に正常なデータが半導体デバイス
に書き込まれたか否かをチェックする必要がないので、
プログラムのための処理時間を短くすることができる。
【図面の簡単な説明】
【図1】本発明の実施例によるプログラム装置が半導体
デバイスに書き込みを行うシステム構成を示す概略図で
ある。
【図2】従来技術によるプログラム装置が半導体デバイ
スに書き込みを行う処理を示すフローチャートである。
【図3】半導体デバイスのループ回数Nを測定する手順
を示すフローチャートである。
【図4】本実施例によるプログラム装置が半導体デバイ
スに書き込みを行う処理を示すフローチャートである。
【図5】図4に示すプログラム装置の処理に続く処理手
順を示すフローチャートである。
【図6】ループ回数Nの更新を行うことができるプログ
ラム装置が行う処理を示すフローチャートである。
【図7】図6に示すプログラム装置の処理に続く処理手
順を示すフローチャートである。
【符号の説明】
1 プログラム装置 2 半導体デバイス 3 ユーザメモリ領域 4 ループ回数メモリ領域 N ループ回数 n 許容ループ回数 N’カウンタ T1 プログラム時間 T2 ベリファイ時間

Claims (5)

    【特許請求の範囲】
  1. 【請求項1】 複数のメモリセルを有しループ回数が記
    憶されている半導体デバイスにプログラムを行うプログ
    ラム装置であって、 半導体デバイスからループ回数の読み出しを行うループ
    回数読み出し手段と、 半導体デバイス内の1つのメモリセルを指定するアドレ
    ス指定手段と、 前記ループ回数読み出し手段により読み出されるループ
    回数だけ、前記アドレス指定手段が指定するメモリセル
    に連続して同一のデータの書き込みを実行する連続デー
    タ書き込み手段と、 前記連続データ書き込み手段が連続してデータ書き込み
    を実行した後にデータ書き込みを行ったメモリセルから
    データの読み出しを行うデータ読み出し手段と、 前記連続データ書き込み手段が書き込みを行ったデータ
    と前記データ読み出し手段により読み出されたデータが
    同一であるか否かを調べる照合手段とを有する半導体デ
    バイスのプログラム装置。
  2. 【請求項2】 複数のメモリセルを有しループ回数が記
    憶されている半導体デバイスにプログラムを行うプログ
    ラム方法であって、 半導体デバイスからループ回数を読み出す工程と、 前記ループ回数だけ半導体デバイス内の所定のメモリセ
    ルに連続して同一のデータ書き込みを実行する工程と、 連続して同一のデータ書き込みを実行したメモリセルか
    らデータを読み出す工程と、 連続して書き込みを行ったデータと読み出したデータが
    同じであるか否かを調べる工程とを含む半導体デバイス
    へのプログラム方法。
  3. 【請求項3】 さらに、連続して書き込みを行ったデー
    タと読み出したデータが同じでないとき、同じになるま
    で同一のデータの書き込みを行う工程を含む請求項2記
    載の半導体デバイスへのプログラム方法。
  4. 【請求項4】 さらに、読み出したデータが同じになる
    まで何回データの書き込みを行ったかをカウントする工
    程と、半導体デバイスに記憶されているループ回数を前
    記データ書き込みを行った回数に更新する工程を含む請
    求項3記載の半導体デバイスへのプログラム方法。
  5. 【請求項5】 データ記憶領域と書き込み繰り返しのル
    ープ回数を記憶する領域とを有する書き換え可能不揮発
    性半導体記憶装置。
JP6316994A 1994-03-31 1994-03-31 半導体デバイスへのプログラム Pending JPH07272493A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP6316994A JPH07272493A (ja) 1994-03-31 1994-03-31 半導体デバイスへのプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP6316994A JPH07272493A (ja) 1994-03-31 1994-03-31 半導体デバイスへのプログラム

Publications (1)

Publication Number Publication Date
JPH07272493A true JPH07272493A (ja) 1995-10-20

Family

ID=13221490

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6316994A Pending JPH07272493A (ja) 1994-03-31 1994-03-31 半導体デバイスへのプログラム

Country Status (1)

Country Link
JP (1) JPH07272493A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010003401A (ja) * 2008-06-23 2010-01-07 Samsung Electronics Co Ltd メモリシステムの動作方法並びにそれを含むメモリシステム及びメモリカード
JP2011008878A (ja) * 2009-06-26 2011-01-13 Samsung Electronics Co Ltd 不揮発性半導体メモリの放電回路
JP2012221361A (ja) * 2011-04-12 2012-11-12 Toshiba Corp 半導体メモリシステム
CN113409864A (zh) * 2021-06-29 2021-09-17 芯天下技术股份有限公司 加快nor flash编程速度的方法、装置、电子设备

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010003401A (ja) * 2008-06-23 2010-01-07 Samsung Electronics Co Ltd メモリシステムの動作方法並びにそれを含むメモリシステム及びメモリカード
JP2011008878A (ja) * 2009-06-26 2011-01-13 Samsung Electronics Co Ltd 不揮発性半導体メモリの放電回路
JP2012221361A (ja) * 2011-04-12 2012-11-12 Toshiba Corp 半導体メモリシステム
CN113409864A (zh) * 2021-06-29 2021-09-17 芯天下技术股份有限公司 加快nor flash编程速度的方法、装置、电子设备
CN113409864B (zh) * 2021-06-29 2024-02-06 芯天下技术股份有限公司 加快nor flash编程速度的方法、装置、电子设备

Similar Documents

Publication Publication Date Title
EP0809849B1 (en) On-chip memory redundancy circuitry for programmable non-volatile memories, and methods for programming same
EP0842515B1 (en) Memory system having non-volatile data storage structure for memory control parameters and method
US5825782A (en) Non-volatile memory system including apparatus for testing memory elements by writing and verifying data patterns
JP3919213B2 (ja) 不揮発性状態書込みを備えた自動テスト回路
KR100294601B1 (ko) 프로그램가능한제어파라미터를갖는메모리시스템
USRE37611E1 (en) Non-volatile memory system having internal data verification test mode
US7162668B2 (en) Memory with element redundancy
KR100315321B1 (ko) 불휘발성 반도체 메모리 장치 및 소거 검증 방법
US7277981B2 (en) Scratch control memory array in a flash memory device
KR100778459B1 (ko) 복수의 전자장치를 프로그램, 소거 및 검증하는 장치
US5991194A (en) Method and apparatus for providing accessible device information in digital memory devices
JP2002093193A (ja) メモリ試験方法・メモリ試験装置
KR100556197B1 (ko) 반도체 기억장치
JPH07272493A (ja) 半導体デバイスへのプログラム
TW577084B (en) Method and apparatus for testing a semiconductor memory
JPH07130199A (ja) 半導体メモリ試験装置
KR20040084401A (ko) 플래시 메모리의 소거 방법
JP2004158094A (ja) フラッシュメモリ装置
US20070168775A1 (en) Programmable Memory Test Controller
EP1246198B1 (en) Nonvolatile semiconductor memory device achieving shorter erasure time
JPS6233398A (ja) 半導体記憶装置
JPH07182881A (ja) 電気的に書込・消去可能な不揮発性半導体記憶装置
JP2006004496A (ja) 半導体記憶装置
JP2002133879A (ja) 不揮発性記憶装置
JPH06150680A (ja) 不揮発性半導体記憶装置

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20040224