JP3314719B2 - Flash EEPROM and its test method - Google Patents

Flash EEPROM and its test method

Info

Publication number
JP3314719B2
JP3314719B2 JP12269398A JP12269398A JP3314719B2 JP 3314719 B2 JP3314719 B2 JP 3314719B2 JP 12269398 A JP12269398 A JP 12269398A JP 12269398 A JP12269398 A JP 12269398A JP 3314719 B2 JP3314719 B2 JP 3314719B2
Authority
JP
Japan
Prior art keywords
data
block
flash eeprom
flag
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.)
Expired - Fee Related
Application number
JP12269398A
Other languages
Japanese (ja)
Other versions
JPH11306800A (en
Inventor
成一 幸前
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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP12269398A priority Critical patent/JP3314719B2/en
Publication of JPH11306800A publication Critical patent/JPH11306800A/en
Application granted granted Critical
Publication of JP3314719B2 publication Critical patent/JP3314719B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Techniques For Improving Reliability Of Storages (AREA)
  • Read Only Memory (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)
  • Tests Of Electronic Circuits (AREA)

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】本発明は、フラッシュEEP
ROM(Electrically Erasable andProgrammable Read
Only Memory )とその試験方法に関するものである。
The present invention relates to a flash EEP.
ROM (Electrically Erasable and Programmable Read)
Only Memory) and its test method.

【0002】[0002]

【従来の技術】EEPROMは不揮発性メモリであっ
て、電源切断状態でもメモリが蒸発することがなく、書
き換えが比較的容易であるために広く利用されている
が、書き換え回数に限度があるという問題がある。この
問題のために、EEPROMを使用するときはしばしば
これを試験し、正常な状態にあることを確認した上で使
用するのが一般である。
2. Description of the Related Art EEPROM is a non-volatile memory, which is widely used because the memory does not evaporate and the rewriting is relatively easy even when the power is turned off, but the number of rewriting is limited. There is. Because of this problem, when using an EEPROM, it is common to test the EEPROM and confirm that it is in a normal state before using the EEPROM.

【0003】EEPROMに記憶されているデータに対
しその符号誤り訂正用(又は符号誤り検出用)巡回符号
を生成して、この巡回符号を当該EEPROMに格納し
ておけば、EEPROMの試験を簡単に行うことができ
る。また、EEPROMの一部が破壊されても、残りの
部分が健全であれば健全な部分だけを使用できるように
することが望ましい。このためEEPROMの全体のメ
モリエリアを複数のブロックに分割し、どのブロックの
EEPROMに不良があるかが、試験結果により容易に
判定できるようにしておけばよいのであるが従来のEE
PROMの試験方法はそのようになっていなかった。
If a cyclic code for correcting a code error (or for detecting a code error) is generated for data stored in an EEPROM and the cyclic code is stored in the EEPROM, testing of the EEPROM can be easily performed. It can be carried out. It is also desirable that even if a part of the EEPROM is destroyed, only the healthy part can be used if the remaining part is healthy. For this reason, the entire memory area of the EEPROM may be divided into a plurality of blocks so that which block of the EEPROM has a defect can be easily determined based on the test result.
The test method for PROM was not so.

【0004】従来、フラッシュEEPROMにデータを
書き込む時においては、ブロック単位に巡回符号を生成
せず、全ブロックに1つの巡回符号を生成していた。ま
たフラッシュEEPROMにデータが書かれているか書
かれていないかの判断部を持っていなかった。
Conventionally, when writing data to a flash EEPROM, one cyclic code is generated for all blocks without generating a cyclic code for each block. Also, the flash EEPROM does not have a determination unit for determining whether data is written or not.

【0005】[0005]

【発明が解決しようとする課題】従って、従来のフラッ
シュEEPROMには次のような問題点があった。第1
の問題点は、データが書き込まれたフラッシュEEPR
OMの全ブロックを誤って試験し、書き込まれているデ
ータを壊す危険性がある。その理由は、フラッシュEE
PROMの試験を実施し、正常性を確認した後にデータ
を書き込み、データが書き込まれた後は、データが壊れ
ていないかの保証を実施する必要があるが、フラッシュ
EEPROMにデータが書き込まれているか否かを試験
プログラムが自動的に判断できないからである。
Therefore, the conventional flash EEPROM has the following problems. First
The problem is that flash EEPROM with data written
There is a risk of erroneously testing all blocks of the OM and corrupting the data being written. The reason is Flash EE
After performing the PROM test and confirming the normality, the data is written. After the data is written, it is necessary to ensure that the data is not damaged. This is because the test program cannot automatically judge whether or not it is not.

【0006】第2の問題点は、フラッシュEEPROM
が大容量になればなる程、データ書き込み時やデータ書
き換え時に巡回符号生成に要する時間が長くなるという
ことである。その理由は、従来の方法では、ブロック単
位に巡回符号を生成せず、全ブロックに1つの巡回符号
を生成していたからである。そのため、データ書き込み
時やデータ書き換え時において、全ブロックのデータか
ら巡回符号を生成する必要があるからである。
[0006] The second problem is that a flash EEPROM is used.
Means that the time required for generating a cyclic code at the time of data writing or data rewriting becomes longer as the capacity becomes larger. The reason is that the conventional method does not generate a cyclic code for each block, but generates one cyclic code for all blocks. Therefore, it is necessary to generate a cyclic code from the data of all the blocks at the time of data writing or data rewriting.

【0007】本発明の目的は、従来の方法における上述
の問題点を解決し、書き込み済みのEEPROMのデー
タを誤って破壊することがなく、EEPROMに局部的
な欠陥が発生したときも、その欠陥のある部分だけを除
外し、他の正常な部分を使用することができるフラッシ
ュEEPROMとその試験方法を提供することにある。
SUMMARY OF THE INVENTION An object of the present invention is to solve the above-mentioned problems in the conventional method, to prevent accidental destruction of data in a written EEPROM, and to prevent a local defect from occurring even when the EEPROM has a local defect. It is an object of the present invention to provide a flash EEPROM and a test method thereof in which only a certain portion can be excluded and another normal portion can be used.

【0008】[0008]

【課題を解決するための手段】このため本発明のフラッ
シュEEPROMでは格納するデータを複数のデータブ
ロックに分解し、各データブロックごとに巡回符号を生
成し、各データブロックと各巡回符号とを各メモリブロ
ックに格納し、且つ各メモリブロックにデータが書き込
まれているか否かを表すフラグを設けた。
For this reason, in the flash EEPROM of the present invention, data to be stored is decomposed into a plurality of data blocks, a cyclic code is generated for each data block, and each data block and each cyclic code are assigned to each data block. A flag is provided that is stored in a memory block and indicates whether data is written in each memory block.

【0009】すなわち、本発明のフラッシュEEPRO
Mのメモリエリアはブロック単位に分割されてデータが
書き込まれるデータ格納部と、このデータ格納部内のブ
ロック単位に対応するブロック単位に分割され、各ブロ
ックはデータ格納部内の対応するブロック内にデータが
書き込まれているか否かを示す情報が書き込まれるブロ
ック書き込み完了フラグと、当該ブロックの書き込みが
完了している場合、前記データ格納部の対応するブロッ
クに格納されているデータの符号誤りを訂正する訂正用
(又は符号誤りを検出する検出用)の巡回符号が書き込
まれるブロック巡回符号部とから構成されるデータ管理
部と、データ格納部内の総てのブロックにデータが書き
込まれていることを示すフラグ(以下、全ブロックデー
タ書き込み済みフラグという)及びデータ格納部内のど
のブロックにもデータが格納されてないことを示すフラ
グ(以下、全ブロックデータ無しフラグという)が格納
される書き込み判断部とを備えている。
That is, the flash EEPROM of the present invention
The memory area of M is divided into a data storage unit into which data is written by being divided into block units, and a block unit corresponding to the block unit in the data storage unit. Each block stores data in a corresponding block in the data storage unit. A block write completion flag in which information indicating whether or not the data has been written is written, and a correction for correcting a code error of data stored in a corresponding block of the data storage unit when the writing of the block is completed. Management unit composed of a block cyclic code unit in which a cyclic code for use (or detection for detecting a code error) is written, and a flag indicating that data is written in all blocks in the data storage unit (Hereinafter referred to as the all-block data write completion flag) and data in any block in the data storage unit. Flag indicating that data is not stored (hereinafter, referred to all block data without flag) and a write detector to be stored.

【0010】また、このフラッシュEEPROMにデー
タを書き込むステップは、当該フラッシュEEPROM
のどのブロックにもデータが書き込まれていない初期化
の状態のとき、どのブロックにもデータが格納されてい
ないことを示す全ブロックデータ無しフラグと総てのブ
ロックにデータが書き込まれていることを示す全ブロッ
クデータ書き込み済みフラグとをリセットするステップ
と、当該フラッシュEEPROMへのデータ書き込みに
際し前記全ブロックデータ書き込み済みフラグがセット
されている場合は書き込み不可と判定するステップと、
当該フラッシュEEPROMへのデータ書き込みに際し
前記全ブロックデータ無しフラグがリセットされている
場合はこれをセットするステップと、書き込むべきデー
タをブロック単位に分割し、このブロック単位のデータ
に対する巡回符号を生成する巡回符号生成ステップと、
ブロック内にデータが書き込まれているか否かを示す情
報が書き込まれるブロック書き込み完了フラグのセット
されていないブロックに前記ブロック単位のデータを書
き込み、当該ブロックに対応するブロック巡回符号部に
前記巡回符号生成ステップで生成した巡回符号を書き込
む書き込みステップと、この書き込みステップで巡回符
号の書き込みの終わった前記ブロックの前記ブロック書
き込み完了フラグをセットするステップと、全てのブロ
ックに前記ブロック書き込み完了フラグがセットされた
とき、前記全ブロックデータ書き込み済みフラグをセッ
トするステップとを備えている。
[0010] The step of writing data to the flash EEPROM includes the step of writing data to the flash EEPROM.
In the initialization state where no data is written to any of the blocks, the all-block no-data flag indicating that no data is stored in any of the blocks and the fact that data has been written to all the blocks Resetting the all-block data written flag shown, and determining that writing is not possible if the all-block data written flag is set when writing data to the flash EEPROM;
When writing data to the flash EEPROM, if the all-block data absent flag is reset, the flag is set; A code generation step;
Information indicating whether data is written in the block is written. The block-based data is written in a block in which a block write completion flag is not set, and the cyclic code generation is performed in a block cyclic code unit corresponding to the block. A writing step of writing the cyclic code generated in the step, and the block writing of the block in which the writing of the cyclic code is completed in the writing step .
A step of setting the completion flag write attempts, when the block write completion flag is set in all the blocks, and a step of setting the entire block data written flag.

【0011】このフラッシュEEPROMを試験する
テップは、前記全ブロックデータ無しフラグを検査する
フラグ検査ステップと、全ブロックデータ無しフラグが
リセットされているときは、当該フラッシュEEPRO
Mのメモリエリア全体にわたり書き込みが存在しないこ
とを確認する試験を行い、試験終了後、全ブロックデー
タ無しフラグをリセットした状態のまま、試験結果(O
KかNGか)を報告するステップと、全ブロックデータ
無しフラグがセットされているときは、前記ブロック書
き込み完了フラグを検査し、このフラグがセットされて
いるブロックに対してだけ試験を行い、当該ブロックの
データを読み出し、この読み出したデータから巡回符号
を生成し、この生成した巡回符号と、前記ブロック巡回
符号部から読み出した巡回符号とを比較し、この比較の
結果不一致の場合は当該ブロックの試験結果をNGとし
て報告するステップとを備えている。
[0011] A switch for testing this flash EEPROM .
Step checks the all block data no flag
The flag check step and the all block data no flag
If reset, the flash EEPROM
There is no write over the entire M memory area.
After the test is completed, all block data
The test results (O
Reporting K or NG) and all block data
If the None flag is set, the block
Check the write completion flag and if this flag is set
Test only for the block that
Data is read out, and a cyclic code is read from the read data.
And the generated cyclic code and the block cyclic code
Compare with the cyclic code read from the encoder,
If the results do not match, the test result of the block is NG.
Reporting.

【0012】[0012]

【発明の実施の形態】以下、本発明の実施の形態を図面
を参照して説明する。図1は本発明のフラッシュEEP
ROMとその周辺部分を示すブロック図であって、符号
1は書き込み装置、符号2はフラッシュEEPROM搭
載装置で、この搭載装置2は、フラッシュEEPROM
3、データ受信手段4、書き込み制御手段5、読み出し
制御手段6、試験手段7を含む。なお周辺部分として
は、上位装置8、入出力装置9がある。
Embodiments of the present invention will be described below with reference to the drawings. FIG. 1 shows a flash EEP of the present invention.
FIG. 1 is a block diagram showing a ROM and a peripheral portion thereof, wherein reference numeral 1 denotes a writing device, reference numeral 2 denotes a flash EEPROM mounting device, and this mounting device 2 is a flash EEPROM.
3, data receiving means 4, write control means 5, read control means 6, and test means 7. The peripheral device includes a host device 8 and an input / output device 9.

【0013】試験手段7はプログラムで制御されるプロ
セッサで構成され、試験制御部71、試験プログラム7
2として表示される。試験プログラム72を起動するに
は、操作者が入出力装置9から命令を与えるか、上位装
置8から命令が与えられるか、読み出し制御手段6から
読み出しに関連する試験が命令されるかによる。試験結
果は上位装置8に報告され、又は入出力装置9の表示部
(図示せず)に表示される。
The test means 7 comprises a processor controlled by a program, and comprises a test control section 71, a test program 7
It is displayed as 2. The test program 72 is started depending on whether the operator gives a command from the input / output device 9, a command from the host device 8, or a command related to reading from the reading control means 6. The test result is reported to the host device 8 or displayed on a display unit (not shown) of the input / output device 9.

【0014】フラッシュEEPROM3のメモリエリア
はデータ格納部(ブロック単位のデータ格納部)31、
データ管理部(ブロック単位のデータ管理部)32、書
き込み判断部33とに分割される。データ格納部31は
311〜31NのN個(Nは任意の自然数)の単位ブロ
ックに分割され、データ管理部32は321〜32Nの
N個の単位ブロックに分割される。311と321、3
12と322、 ・・・ 、31Nと32Nはそれぞれ
互いに対応するブロックである。
The memory area of the flash EEPROM 3 includes a data storage section (a data storage section in units of blocks) 31,
It is divided into a data management unit (a data management unit for each block) 32 and a write determination unit 33. The data storage unit 31 is divided into N (31 to 31N) unit blocks (N is an arbitrary natural number), and the data management unit 32 is divided into N unit blocks 321 to 32N. 311 and 321, 3
12 and 322,..., 31N and 32N are blocks corresponding to each other.

【0015】ブロック321、322、 ・・・ 、3
2Nはそれぞれ2つの部分、3210、3211;32
20、3221; ・・・ ;32N0、32N1に分
かれ、3210、3220、 ・・・ 、32N0はそ
れぞれブロック書き込み完了フラグであり、3211、
3221、 ・・・ 、32N1はそれぞれブロック巡
回符号部である。
Blocks 321, 322,..., 3
2N each have two parts, 3210, 3211;
, 32N0, 32N1, 3210, 3220,..., 32N0 are block write completion flags, respectively, 3211,
, 32N1 are block cyclic code units.

【0016】書き込み装置1はフラッシュEEPROM
3への書き込み全般を制御し、書き込むべきデータをブ
ロック単位に分割してデータ受信手段4に送り、ここに
一時格納する。書き込み制御手段5は、データ受信手段
4内のブロック単位のデータから巡回符号を算出し、デ
ータ受信手段4内のブロック単位のデータをデータ格納
部31内の選択されたブロック番号のブロック(この選
択については後述する。例えばブロック312が選択さ
れたとする)へ書き込み、算出した巡回符号を、データ
格納部31のデータを格納したブロック(例えばブロッ
ク312)に対応するデータ管理部32のブロック(す
なわち、ブロック312に対応するブロック322)の
ブロック巡回符号部3221に書き込む。そして、その
ブロック322のブロック書き込み完了フラグ3220
をセットする(すなわち、フラグの論理を「1」とす
る)。ブロック312、322内の書き込みアドレスは
書き込み制御手段5が発生する。
The writing device 1 is a flash EEPROM.
3, the data to be written is divided into blocks and sent to the data receiving means 4, where the data is temporarily stored. The write control unit 5 calculates a cyclic code from the data in block units in the data receiving unit 4 and stores the data in block units in the data receiving unit 4 in the block of the selected block number in the data storage unit 31 (this selection). For example, it is assumed that the block 312 is selected), and the calculated cyclic code is stored in the block (that is, the block of the data management unit 32 corresponding to the block storing the data of the data storage unit 31 (for example, the block 312)). The data is written to the block cyclic encoder 3221 of the block 322) corresponding to the block 312. Then, the block write completion flag 3220 of the block 322
(That is, the logic of the flag is set to “1”). The write addresses in the blocks 312 and 322 are generated by the write control means 5.

【0017】読み出し制御手段6はデータ格納部31内
の選択されたブロック(この選択については後述する。
例えばブロック311が選択されたとする)を読み出
す。ブロック311内の読み出しアドレスは読み出し制
御手段6が発生する。但し、書き込みは必ず1ブロック
全体が同時に書き込まれる。読み出しはブロック内の選
択したデータが読み出されるのであるが、この発明で問
題とするのは、試験のための読み出しだけであるから、
その場合は必ず選択された1ブロック全体のデータが読
み出される。試験のための読み出しの場合は、試験プロ
グラム72が起動される。試験プログラム72の起動に
よって試験手段が実行する処理については後述する。
The read control means 6 selects a selected block in the data storage unit 31 (this selection will be described later).
For example, block 311 is selected). The read address in the block 311 is generated by the read control means 6. However, writing is always performed for one entire block at the same time. In the reading, the selected data in the block is read, but since the present invention is only concerned with reading for testing,
In that case, the data of the entire selected one block is always read. In the case of reading for a test, the test program 72 is started. The processing executed by the test means upon activation of the test program 72 will be described later.

【0018】書き込み判断部は2つのフラグを備えてい
る。第1のフラグは全ブロックデータ無しフラグであ
り、このフラグがリセット状態(論理「0」)のとき
は、データ格納部31中のどのブロックにもデータが書
かれてないことを表し、このフラグがセット状態(論理
「1」)のときは、データ格納部31中の何れかのブロ
ックにデータが書かれていることを表す。第2のフラグ
は全ブロックデータ書き込み済みフラグであり、このフ
ラグがリセット状態(論理「0」)のときは、データ格
納部31中の何れかのブロックにデータが書かれてない
ことを表し、このフラグがセット状態(論理「1」)の
ときは、データ格納部31中の全部のブロックにデータ
が書かれていることを表す。従って、初期状態でフラッ
シュEEPROMに何らのデータも書かれていないとき
は全ブロックデータ無しフラグ、全ブロックデータ書き
込み済みフラグ、及び全てのブロック書き込み完了フラ
グはリセットされている。
The write judging section has two flags. The first flag is an all-block data absence flag. When this flag is in a reset state (logic “0”), it indicates that data is not written in any block in the data storage unit 31. Is in the set state (logic "1"), it indicates that data is written in any of the blocks in the data storage unit 31. The second flag is an all-block data written flag. When this flag is in a reset state (logic “0”), it indicates that no data is written in any block in the data storage unit 31. When this flag is set (logic "1"), it indicates that data is written in all blocks in the data storage unit 31. Therefore, when no data is written in the flash EEPROM in the initial state, the all block data no flag, the all block data written flag, and the all block write completion flag are reset.

【0019】以下、本発明のフラッシュEEPROMの
試験について説明する。図2は図1に示す装置における
フラッシュEEPROM3へのデータ書き込みの処理を
表すフローチャートである。本発明のフラッシュEEP
ROMへの書き込みに際しては試験のためのデータを予
め準備しておく。以下、図1と図2を参照して書き込み
動作を説明する。
Hereinafter, a test of the flash EEPROM of the present invention will be described. FIG. 2 is a flowchart showing a process of writing data to the flash EEPROM 3 in the device shown in FIG. Flash EEP of the present invention
Before writing to the ROM, data for the test is prepared in advance. Hereinafter, the write operation will be described with reference to FIGS.

【0020】図2のステップA1の前に、ROM3への
書き込みが可能であるか否かを判定しておかなければな
らない。この判定処理は図2には示してないが、書き込
み判断部33の全ブロック書き込み完了フラグを調べ
て、そのフラグがセットされておれば(フラグの論理が
「1」であれば)、このROM3のどのブロックにもデ
ータが書き込まれていて、新しく書き込みをする余地が
ないことを示しているので、何れかのブロックのデータ
を消去した上で、新しい書き込みを行う必要がある。従
って使用されなくなったデータが格納されているブロッ
クのデータを消去して、そこへ新しいデータを書き込む
ことになるが、この処理は試験には直接関係がないので
ここでは省略してある。
Before step A1 in FIG. 2, it must be determined whether writing to the ROM 3 is possible. Although this determination process is not shown in FIG. 2, the write determination unit 33 checks the all-block write completion flag, and if the flag is set (if the logic of the flag is “1”), the ROM 3 Since data has been written to any of the blocks, indicating that there is no room for new writing, it is necessary to erase data in any of the blocks and then perform new writing. Therefore, the data of the block storing the data that is no longer used is erased and new data is written therein, but this processing is omitted here because it is not directly related to the test.

【0021】ステップA1では、書き込むべきデータの
1ブロック分をデータ受信手段4に受信する。書き込み
制御手段5はデータ受信手段4で受信した1ブロック分
のデータに対する巡回符号を作成する(ステップA
2)。次にデータ管理部32のブロック書き込み完了フ
ラグ3210、3220、・・・ 、32N0を番号順
に調べ、このフラグがリセットされている最初の番号
(例えば3220とする)を検出し、その番号に対応す
る番号のデータ格納部31の番号(3220に対応する
番号は312である)にデータ受信手段4のデータを書
き込み(ステップA3)、生成した巡回符号をデータ格
納部31の番号(この例では312)に対応する番号
(3221)の巡回符号部へ書き込む(ステップA
4)。
In step A1, one block of data to be written is received by the data receiving means 4. The writing control means 5 creates a cyclic code for one block of data received by the data receiving means 4 (step A).
2). Next, the block write completion flags 3210, 3220,..., 32N0 of the data management unit 32 are checked in numerical order, the first number (for example, 3220) in which this flag is reset is detected, and the corresponding number is detected. The data of the data receiving means 4 is written into the number of the number data storage unit 31 (the number corresponding to 3220 is 312) (step A3), and the generated cyclic code is stored in the number of the data storage unit 31 (312 in this example). Is written to the cyclic code part of the number (3221) corresponding to
4).

【0022】ステップA4が終わると当該番号(この例
では3220)の書き込み完了フラグをセットし、もし
この時点で書き込み判断部33の全ブロックデータ無し
フラグがリセット状態にあればこれをセットし(ステッ
プA4)、ステップA6に移る。ステップA6では、ス
テップA3で、データ管理部32のブロック書き込み完
了フラグ3210、3220、 ・・・ 、32N0を
調べているとどのフタグもセットされていることを検出
する場合に出会う。これは、ステップA6において全ブ
ロック書き込み完了かの判定が、YESとなったことを
意味するので、ステップA7に移り、書き込み判断部3
3に全ブロックデータ書き込み済みフラグをセットす
る。
When the step A4 is completed, the write completion flag of the number (3220 in this example) is set, and if the all block data absence flag of the write judging unit 33 is in a reset state at this time, it is set (step S4). A4) The process proceeds to step A6. In step A6, when checking the block write completion flags 3210, 3220,..., 32N0 of the data management unit 32 in step A3, a case is encountered where it is detected that any tag is set. This means that the determination as to whether or not the writing of all blocks has been completed is YES in step A6.
3 is set to an all block data write completion flag.

【0023】ステップA6の判定がNOのときはステッ
プA8に移り、ステップA8の判定がYESの場合は書
き込みを終了し、NOの場合はステップA1に戻り、次
のブロック単位のデータをデータ受信手段4へ受信す
る。初期状態での書き込みでは、フラッシュEEPRO
Mの全ブロックに書き込む量のデータが書き込みデータ
として用意されているので、最後のブロックへ書き込ん
でステップA5を実行した後ステップA6の判定がYE
Sとなり、ステップA7を経て終了されるが、このとき
はステップA8の判定もYESになっている。
If the determination in step A6 is NO, the process proceeds to step A8. If the determination in step A8 is YES, the writing is terminated. If the determination is NO, the process returns to step A1. 4 to receive. In the writing in the initial state, flash EEPROM
Since the amount of data to be written to all the blocks of M is prepared as the write data, after writing to the last block and executing step A5, the determination in step A6 is YE.
In step S7, the process is terminated through step A7. At this time, the determination in step A8 is also YES.

【0024】図3は本発明の試験方法における処理の流
れを示すフローチャートである。図1と図3とを参照し
て本発明の試験方法について説明する。試験手段7の試
験制御部71は、上位装置8、または入出力装置9から
の試験起動命令を受信すると、試験プログラム72を起
動する。試験プログラム72は読み出し制御手段6を通
して書き込み判断部33の全ブロックデータ無しフラグ
を調べ(ステップB1、B2)、このフラグがリセット
状態であれば、このフラッシュEEPROM3には何処
にもデータが書き込まれていないことを示すので、ステ
ップB3に移り、このROMの全エリアについて試験
し、何処にも書き込まれていないかどうかを試験し、全
ブロックデータ無しフラグをリセット状態にしたまま
(ステップB4)、試験結果を上位装置8、または入出
力装置9に報告する(ステップB5、B12、B1
3)。試験結果はOK又はNGで表され、入出力装置9
に報告された場合は表示部に表示される。
FIG. 3 is a flowchart showing the flow of processing in the test method of the present invention. The test method of the present invention will be described with reference to FIGS. The test control unit 71 of the test means 7 starts the test program 72 when receiving the test start command from the host device 8 or the input / output device 9. The test program 72 checks the all block data absent flag of the write judging section 33 through the read control means 6 (steps B1 and B2). If the flag is in a reset state, data has been written to the flash EEPROM 3 anywhere. Then, the process goes to step B3 to test all areas of the ROM, to test whether or not the data has been written anywhere, and to leave the all block data absence flag in a reset state (step B4). The result is reported to the host device 8 or the input / output device 9 (steps B5, B12, B1).
3). The test result is expressed as OK or NG, and the input / output device 9
Is reported on the display unit.

【0025】全ブロックデータ無しフラグがセットされ
ている場合は、何れかのブロックにデータが書き込まれ
ていることを示しているので、書き込まれているブロッ
クのデータが正しく保存されているかどうかを試験す
る。データが書き込まれていないブロックの試験は省略
する。すなわち、ステップB4に移り、ブロック書き込
み完了フラグ3210、3220、 ・・・ 、 32
N0を番号順に読み出す。読み出したブロック書き込み
完了フラグがリセット状態にあるブロックに対しては
(ステップB7の判定がNO)試験を省略してステップ
B11に移る。
If the all-block data no flag is set, it indicates that data has been written to any of the blocks, and it is checked whether the data of the written block has been correctly stored. I do. The test of the block to which no data is written is omitted. That is, the process proceeds to step B4, where the block write completion flags 3210, 3220,.
N0 is read out in numerical order. For the block in which the read block write completion flag is in the reset state (the determination in step B7 is NO), the test is omitted, and the process proceeds to step B11.

【0026】ブロック書き込み完了フラグがセットされ
ているブロックに対しては、データ格納部31内の対応
するブロック(例えばブロック311)のデータを読み
出し、このデータに対する巡回符号を生成する(ステッ
プB8)。この生成した巡回符号と、対応するブロック
巡回符号部(この例ではブロック巡回符号部3211)
の巡回符号とを比較する(ステップB9)。比較の結果
が不一致であれば(ステップB10の判定がNO)、ス
テップ13で試験結果NGを報告、その後このブロック
のデータの使用を禁止する。場合によっては、このフラ
ッシュEEPROM全体の使用を禁止してもよい。
For the block in which the block write completion flag is set, the data of the corresponding block (for example, block 311) in the data storage unit 31 is read, and a cyclic code for this data is generated (step B8). The generated cyclic code and a corresponding block cyclic code unit (in this example, block cyclic code unit 3211)
(Step B9). If the results of the comparison do not match (the determination in step B10 is NO), a test result NG is reported in step 13, and then the use of the data of this block is prohibited. In some cases, the use of the entire flash EEPROM may be prohibited.

【0027】ステップB10の判定がYESの場合はス
テップB11に移り、全ブロック実施したかを判定す
る。図1に示す例では、最後のブロック書き込み完了フ
ラグの番号は32N0であるので、ステップB6でブロ
ック書き込み完了フラグ32N0を読み出し、そのブロ
ックに対し、ステップB11の処理が開始された場合、
その判定はYESとなり、ステップB12に移り試験結
果OKを報告して試験を終了する。
If the determination in step B10 is YES, the process moves to step B11 to determine whether all blocks have been executed. In the example shown in FIG. 1, since the number of the last block write completion flag is 32N0, the block write completion flag 32N0 is read in step B6, and when the process of step B11 is started for the block,
The determination is YES, the process moves to step B12, the test result is reported, and the test ends.

【0028】[0028]

【発明の効果】以上述べたように本発明によれば、フラ
ッシュEEPROM3内に書き込み判断部33を設け、
かつデータ格納部31の各ブロックに対応してブロック
書き込み完了フラグを設けたので、このフラッシュEE
PROM全体を通じてのデータ書き込みの状態と共に、
各ブロックのデータ書き込みの状態が、試験プログラム
72に明瞭に認識されて、書き込み済みの有用なデータ
を誤って破壊する危険もなくなり、かつ不必要な試験を
することもなくなる。
As described above, according to the present invention, the write judgment unit 33 is provided in the flash EEPROM 3,
In addition, since a block write completion flag is provided for each block of the data storage unit 31, this flash EE
Along with the state of data writing throughout the PROM,
The state of data writing of each block is clearly recognized by the test program 72, and there is no danger of accidentally destroying written useful data, and unnecessary testing is not performed.

【0029】また、データ格納部31の各ブロックのデ
ータに対応してそのデータに対する巡回符号が、データ
管理部32の対応するブロックのブロック巡回符号部3
211、3221、 ・・・ 、32N1に格納されて
いるので、格納されているデータの正常性を判定する試
験が簡単にかつフラッシュEEPROMの寿命に影響を
与えることなく実行することができる。また、従来のよ
うにフラッシュEEPROMに格納されるデータ全部に
対する巡回符号を生成するのでないから、巡回符号の生
成に要する時間を短縮することができ、かつフラッシュ
EEPROMの破壊された部分を試験結果により限定す
ることができる等の効果がある。
The cyclic code corresponding to the data of each block of the data storage unit 31 is changed to the block cyclic code unit 3 of the corresponding block of the data management unit 32.
, 32N1, the test for judging the normality of the stored data can be executed easily and without affecting the life of the flash EEPROM. In addition, since a cyclic code is not generated for all data stored in a flash EEPROM as in the related art, the time required for generating the cyclic code can be reduced, and the broken portion of the flash EEPROM can be determined based on test results. There are effects such as being able to be limited.

【図面の簡単な説明】[Brief description of the drawings]

【図1】本発明のフラッシュEEPROMとその周辺部
分を示すブロック図である。
FIG. 1 is a block diagram showing a flash EEPROM of the present invention and a peripheral portion thereof.

【図2】図1のフラッシュEEPROMの書き込み処理
を示すフロチャートである。
FIG. 2 is a flowchart showing a writing process of the flash EEPROM of FIG. 1;

【図3】図1のフラッシュEEPROMの試験処理を示
すフロチャートである。
FIG. 3 is a flowchart showing a test process of the flash EEPROM of FIG. 1;

【符号の説明】[Explanation of symbols]

1 書き込み装置 2 フラッシュEEPROM搭載装置 3 フラッシュEEPROM 4 データ受信手段 5 書き込み制御手段 6 読み出し制御手段 7 試験手段 8 上位装置 9 入出力装置 31 データ格納部 32 データ管理部 33 書き込み判断部 71 試験制御部 72 試験プログラム 311、312、 ・・・ 、31N データ格納部の
各ブロック 321、322、 ・・・ 、32N データ管理部の
各ブロック 3210、3220、 ・・・ 、32N0 ブロック
書き込み完了フラグ 3211、3221、 ・・・ 、32N1 ブロック
巡回符号部
REFERENCE SIGNS LIST 1 writing device 2 flash EEPROM mounting device 3 flash EEPROM 4 data receiving means 5 writing control means 6 reading control means 7 testing means 8 host device 9 input / output device 31 data storage unit 32 data management unit 33 write determination unit 71 test control unit 72 , 32N Each block of the data storage unit 321, 322, ..., 32N Each block of the data management unit 3210, 3220, ..., 32N0 Block write completion flag 3211, 3221, ... .., 32N1 block cyclic code section

───────────────────────────────────────────────────── フロントページの続き (58)調査した分野(Int.Cl.7,DB名) G11C 29/00 G11C 16/02 G01R 31/28 G06F 12/00 G06F 12/16 ──────────────────────────────────────────────────続 き Continued on the front page (58) Fields surveyed (Int. Cl. 7 , DB name) G11C 29/00 G11C 16/02 G01R 31/28 G06F 12/00 G06F 12/16

Claims (5)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】 フラッシュEEPROM(Electrically
Erasable andProgrammable Read Only Memory )のメ
モリエリア(memory area )内に設けられ、ブロック単
位に分割されてデータが書き込まれるデータ格納部、 該フラッシュEEPROMのメモリエリア内に設けら
れ、前記データ格納部内のブロック単位にそれぞれ対応
するブロック単位に分割され、各ブロックはデータ格納
部内の対応するブロック内にデータが書き込まれている
か否かを示す情報が書き込まれるブロック書き込み完了
フラグと、当該ブロックの書き込みが完了している場
合、前記データ格納部の対応するブロックに格納されて
いるデータの符号誤りを訂正する訂正用(又は符号誤り
を検出する検出用)の巡回符号が書き込まれるブロック
巡回符号部とから構成されるデータ管理部、 該フラッシュEEPROMのメモリエリア内に設けら
れ、前記データ格納部内の総てのブロックにデータが書
き込まれていることを示すフラグ(以下、全ブロックデ
ータ書き込み済みフラグという)及び前記データ格納部
内のどのブロックにもデータが格納されていないことを
示すフラグ(以下、全ブロックデータ無しフラグとい
う)が格納される書き込み判断部、 該フラッシュEEPROMにブロック単位でアクセスす
る手段、 を備えたフラッシュEEPROM。
1. A flash EEPROM (Electrically)
A data storage unit provided in a memory area of an Erasable and Programmable Read Only Memory and divided into blocks to which data is written; a data storage unit provided in a memory area of the flash EEPROM and a block unit in the data storage unit And a block write completion flag in which information indicating whether or not data has been written in the corresponding block in the data storage unit is written, and each block has been written. And a block cyclic code unit to which a cyclic code for correction (or detection for detecting a code error) for correcting a code error of data stored in a corresponding block of the data storage unit is written. A data management unit, provided in a memory area of the flash EEPROM; A flag indicating that data has been written to all blocks in the data storage unit (hereinafter referred to as an all-block data written flag) and indicating that no data has been stored in any block in the data storage unit A flash EEPROM, comprising: a write determination unit in which a flag (hereinafter, referred to as an all block data absence flag) is stored; and a unit for accessing the flash EEPROM in units of blocks.
【請求項2】 請求項1記載のフラッシュEEPROM
において、該フラッシュEEPROMのメモリエリアの
外に、 書き込むべきデータを受信して一時記憶するデータ受信
手段、 該フラッシュEEPROMのメモリエリアにデータを書
き込む書き込み制御手段、 該フラッシュEEPROMのメモリエリアからデータを
読み出す読み出し制御手段、 該フラッシュEEPROMのメモリエリアを試験する試
験手段、 を備えたフラッシュEEPROM。
2. The flash EEPROM according to claim 1, wherein:
, Data receiving means for receiving and temporarily storing data to be written out of a memory area of the flash EEPROM, writing control means for writing data to the memory area of the flash EEPROM, and reading data from the memory area of the flash EEPROM A flash EEPROM comprising: read control means; and test means for testing a memory area of the flash EEPROM.
【請求項3】 請求項2記載のフラッシュEEPROM
において、前記試験手段は、試験プログラムとこの試験
プログラムを実行する試験制御部とを備えたフラッシュ
EEPROM。
3. The flash EEPROM according to claim 2, wherein
In the flash EEPROM, the test means includes a test program and a test control unit for executing the test program.
【請求項4】 フラッシュEEPROMの試験方法にお
いて、 当該フラッシュEEPROMのどのブロックにもデータ
が書き込まれていない初期化の状態のとき、どのブロッ
クにもデータが格納されていないことを示す全ブロック
データ無しフラグと総てのブロックにデータが書き込ま
れていることを示す全ブロックデータ書き込み済みフラ
グとをリセットするステップと、 当該フラッシュEEPROMへのデータ書き込みに際し
前記全ブロックデータ書き込み済みフラグがセットされ
ている場合は書き込み不可と判定するステップと、 当該フラッシュEEPROMへのデータ書き込みに際し
前記全ブロックデータ無しフラグがリセットされている
場合はこれをセットするステップと、 書き込むべきデータをブロック単位に分割し、このブロ
ック単位のデータに対する巡回符号を生成する巡回符号
生成ステップと、 ブロック内にデータが書き込まれているか否かを示す情
報が書き込まれるブロック書き込み完了フラグのセット
されていないブロックに前記ブロック単位のデータを書
き込み、当該ブロックに対応するブロック巡回符号部に
前記巡回符号生成ステップで生成した巡回符号を書き込
む書き込みステップと、 この書き込みステップで巡回符号の書き込みの終わった
前記ブロックの前記ブロック書き込み完了フラグをセッ
トするステップと、 全てのブロックに前記ブロック書き込み完了フラグがセ
ットされたとき、前記全ブロックデータ書き込み済みフ
ラグをセットするステップと、 当該フラッシュEEPROMの性能を試験する試験ステ
ップと、 を備えたフラッシュEEPROMの試験方法。
4. In a flash EEPROM test method, in an initialization state in which no data is written in any block of the flash EEPROM, no block data indicating that no data is stored in any block is present. Resetting a flag and an all-block data written flag indicating that data has been written to all blocks; and when the all-block data written flag is set when writing data to the flash EEPROM. Is a step of determining that writing is not possible; a step of setting the all-block data absence flag when the data is written to the flash EEPROM if the flag is reset; dividing the data to be written into blocks; A cyclic code generation step of generating a cyclic code for data in a block unit, and information indicating whether data is written in the block is written in the block in which a block write completion flag is not set. And writing the cyclic code generated in the cyclic code generation step to a block cyclic code unit corresponding to the block. Writing of the cyclic code is completed in this writing step.
Said set block write completion flag <br/> Tosuru step of the block, when the block write completion flag is set in all the blocks, the step of setting the entire block data written flag, the flash EEPROM A test step for testing the performance of the flash EEPROM.
【請求項5】 請求項4記載のフラッシュEEPROM
の試験方法において、前記試験ステップは、前記全ブロックデータ無しフラグを検査する フラグ検査
ステップ、 全ブロックデータ無しフラグがリセットされているとき
は、当該フラッシュEEPROMのメモリエリア全体に
わたり書き込みが存在しないことを確認する試験を行
い、試験終了後、全ブロックデータ無しフラグをリセッ
トした状態のまま、試験結果(OKかNGか)を報告す
るステップ、 全ブロックデータ無しフラグがセットされているとき
は、前記ブロック書き込み完了フラグを検査し、このフ
ラグがセットされているブロックに対してだけ試験を行
い、当該ブロックのデータを読み出し、この読み出した
データから巡回符号を生成し、この生成した巡回符号
と、前記ブロック巡回符号部から読み出した巡回符号と
を比較し、この比較の結果不一致の場合は当該ブロック
の試験結果をNGとして報告するステップ、 を備えたことを特徴とするフラッシュEEPROMの試
験方法。
5. The flash EEPROM according to claim 4, wherein :
In the test method of (1), the testing step includes a flag checking step of checking the all-block data absence flag, and that when the all-block data absence flag is reset, writing does not exist in the entire memory area of the flash EEPROM. performed to confirm the test, after the test, in the state of resetting all the block data without flag, a step of reporting test results (OK or NG), when the entire block data without flag is set, Inspect the block write completion flag , perform a test only on the block for which the flag is set, read data of the block, generate a cyclic code from the read data, and generate the generated cyclic code; the ratio of the cyclic code read from the block cyclic code portion And a method of testing a flash EEPROM, characterized in that in the case of the results mismatch of the comparison and a step of reporting the test results of the block as NG.
JP12269398A 1998-04-17 1998-04-17 Flash EEPROM and its test method Expired - Fee Related JP3314719B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP12269398A JP3314719B2 (en) 1998-04-17 1998-04-17 Flash EEPROM and its test method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP12269398A JP3314719B2 (en) 1998-04-17 1998-04-17 Flash EEPROM and its test method

Publications (2)

Publication Number Publication Date
JPH11306800A JPH11306800A (en) 1999-11-05
JP3314719B2 true JP3314719B2 (en) 2002-08-12

Family

ID=14842287

Family Applications (1)

Application Number Title Priority Date Filing Date
JP12269398A Expired - Fee Related JP3314719B2 (en) 1998-04-17 1998-04-17 Flash EEPROM and its test method

Country Status (1)

Country Link
JP (1) JP3314719B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002163155A (en) * 2000-11-29 2002-06-07 Rb Controls Co Microcomputer controller for gas appliance
JP4843222B2 (en) 2005-01-11 2011-12-21 株式会社東芝 Semiconductor memory device control method, memory card, and host device

Also Published As

Publication number Publication date
JPH11306800A (en) 1999-11-05

Similar Documents

Publication Publication Date Title
US6601132B2 (en) Nonvolatile memory and method of writing data thereto
JP4668416B2 (en) Protecting boot block code when enabling write access to the boot block
JP2990181B1 (en) Flash memory, microcomputer having flash memory, and method of storing program in flash memory
US7240178B2 (en) Non-volatile memory and non-volatile memory data rewriting method
JP2008009721A (en) Evaluation system and evaluation method thereof
CN116880782B (en) Embedded memory and testing method thereof
JP2004220068A (en) Memory card and method for writing data in memory
JPH1091289A (en) Memory initialization device and method
JP2004342112A (en) Device and method for responding to data retention loss in nonvolatile memory unit using error-checking and correction techniques
JP3675375B2 (en) Nonvolatile memory and data rewriting method of nonvolatile memory
JP3314719B2 (en) Flash EEPROM and its test method
JP4359327B2 (en) Semiconductor integrated circuit device, IC card and inspection device
JPH03147086A (en) Ic card
US7895577B2 (en) Device for testing the structural coverage of a software program and a method implementing the device
US20050068842A1 (en) Electronic device, nonvolatile memory and method of overwriting data in nonvolatile memory
JP2008108162A (en) Memory management method
JP2004145964A (en) Semiconductor memory, semiconductor memory manufacturing method, memory card, and method of controlling semiconductor memory
JPH0784894A (en) Method for writing nonvolatile memory
JP4691355B2 (en) Non-volatile memory
JP3019346B2 (en) Data processing device
JP2005056144A (en) Electronic apparatus loaded with flash memory, its memory data managing method, and program
JPH07122087A (en) Eeprom error check system
US8108740B2 (en) Method for operating a memory device
JP2010134822A (en) Semiconductor memory device
JP2011150383A (en) Firmware writing method

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080607

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090607

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100607

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100607

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110607

Year of fee payment: 9

LAPS Cancellation because of no payment of annual fees