JPH07334992A - Non-volatile memory - Google Patents

Non-volatile memory

Info

Publication number
JPH07334992A
JPH07334992A JP12611394A JP12611394A JPH07334992A JP H07334992 A JPH07334992 A JP H07334992A JP 12611394 A JP12611394 A JP 12611394A JP 12611394 A JP12611394 A JP 12611394A JP H07334992 A JPH07334992 A JP H07334992A
Authority
JP
Japan
Prior art keywords
data
erase
flag
block
erasing
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
JP12611394A
Other languages
Japanese (ja)
Inventor
Toshiyuki Wakutsu
俊幸 和久津
Hiroyuki Niwano
浩之 庭野
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 JP12611394A priority Critical patent/JPH07334992A/en
Publication of JPH07334992A publication Critical patent/JPH07334992A/en
Pending legal-status Critical Current

Links

Landscapes

  • Read Only Memory (AREA)

Abstract

PURPOSE:To perform the programing without useless erasing process of data by storing an erasing flag indicating whether data in a data recording region has been erased or not, in an erasing flag region. CONSTITUTION:A memory cell array has a memory block 2, a data region 3 and a flag registration region 4. An address control circuit 12 specifies an address of the memory block 2 based on an address signal AS. A command control circuit 13 receives a control signal CS, instructs a region 3 of the array 1 to perform programing and reading out data DS or erasing a block, while instructing a region 4 to perform setting or resetting an erasing flag. An erasing state discriminating circuit 14 reads out an erasing flag from the region 4, and discriminates a set state. The circuit 13 performs block erasing, programing, and set/reset of a flag in accordance with the discriminated result of the circuit 14. Therefore, useless erasing of a block can be omitted.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【産業上の利用分野】本発明は、不揮発性メモリに関
し、特にデータ書き換えが可能な不揮発性メモリに関す
る。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a non-volatile memory, and more particularly to a data rewritable non-volatile memory.

【0002】[0002]

【従来の技術】不揮発性の半導体メモリデバイス(以
下、半導体デバイスという)は、データを記憶すること
ができる。半導体デバイスにデータを記憶させるには、
プログラム装置を用いて所望のデータをプログラムする
必要がある。
2. Description of the Related Art A nonvolatile semiconductor memory device (hereinafter referred to as a semiconductor device) can store data. To store data in a semiconductor device,
It is necessary to program the desired data using a programming device.

【0003】フラッシュメモリの半導体デバイスは、複
数のメモリブロックを有する。1つのメモリブロック
は、データを記憶するための複数のメモリセルを有し、
例えば512バイトから成る。半導体デバイスは、メモ
リブロックを最小単位としてプログラムが行われる。
A semiconductor device of a flash memory has a plurality of memory blocks. One memory block has a plurality of memory cells for storing data,
For example, it consists of 512 bytes. A semiconductor device is programmed by using a memory block as a minimum unit.

【0004】図2は、従来技術による半導体デバイスへ
のプログラム方法を示すフローチャートである。プログ
ラム装置を半導体デバイスに接続した後に、以下の処理
を行うことにより半導体デバイスへのプログラムが行わ
れる。
FIG. 2 is a flow chart showing a conventional method for programming a semiconductor device. After connecting the programming device to the semiconductor device, the semiconductor device is programmed by performing the following processing.

【0005】まず、ステップP1において、プログラム
装置にプログラムコマンドを入力する。プログラムコマ
ンドは、半導体デバイスへのプログラムを指令するコマ
ンドであり、プログラムを行いたいアドレスとデータの
情報を含んでいる。
First, in step P1, a program command is input to the programming device. The program command is a command for instructing a program to the semiconductor device, and includes information of an address and data to be programmed.

【0006】ステップP2では、プログラムコマンドに
より指示されたアドレスの設定を行う。プログラムはメ
モリブロック単位で行われるので、ここでのアドレス設
定は、メモリブロックのアドレスの設定を行い、メモリ
ブロックを特定する。
At step P2, the address designated by the program command is set. Since the program is executed in memory block units, the address setting here sets the address of the memory block and specifies the memory block.

【0007】ステップP3では、特定されたメモリブロ
ックのデータ消去を行う。データ消去により、メモリセ
ルはハイの状態(“H”)となり、メモリブロック内は
全て消去データで埋められる。消去データは、例えばオ
−ル“H”の8ビットデータである。
At step P3, the data in the specified memory block is erased. By erasing the data, the memory cell is set to the high state (“H”), and the entire memory block is filled with the erase data. The erased data is, for example, 8-bit data of "H".

【0008】メモリセルは、データ消去により例えばハ
イの状態(“H”)になり、その後書き込みを行い電子
注入を行うとローの状態(“L”)になる。“L”から
“H”へのプログラムはできないので、プログラムを行
う前には、ステップP3で行うプリ消去の処理が必要に
なる。
The memory cell is, for example, in a high state ("H") by erasing data, and then is in a low state ("L") by performing writing and electron injection. Since programming from "L" to "H" is not possible, the pre-erase processing performed in step P3 is required before programming.

【0009】ステップP4では、プログラムコマンドに
より指示されたプログラムデータが、特定されたメモリ
ブロックに転送される。1つのメモリブロックが512
バイトであるならば、512バイトのデータが転送され
る。
At step P4, the program data designated by the program command is transferred to the specified memory block. 512 memory blocks
If it is a byte, 512 bytes of data are transferred.

【0010】ステップP5では、転送されたデータが所
定のメモリブロックにプログラムされ、半導体デバイス
に対してのプログラム処理は終了する。以上のように、
プログラムコマンドを入力すると、プログラム(ステッ
プP5)を行う前に必ずブロック消去(ステップP3)
を行う。このようなコマンド形式を受け付けるものを以
下オーバライト型という。
In step P5, the transferred data is programmed in a predetermined memory block, and the programming process for the semiconductor device is completed. As mentioned above,
When a program command is input, the block must be erased (step P3) before programming (step P5).
I do. What accepts such a command format is hereinafter referred to as an overwrite type.

【0011】一方、プログラムコマンドを入力すると、
ブロック消去を行わずにプログラムのみを行うコマンド
形式を受け付けるものを以下非オーバライト型という。
非オーバライト型の場合は、プログラムコマンドと独立
に消去コマンドを有し、プログラムコマンドを入力する
前に消去コマンドを入力する。ただし、消去コマンド
は、必ずしもプログラムコマンドの直前に入力する必要
はない。
On the other hand, when a program command is input,
A non-overwrite type accepts a command format for executing only a program without erasing blocks.
The non-overwrite type has an erase command independently of the program command, and the erase command is input before the program command is input. However, the erase command does not necessarily have to be input immediately before the program command.

【0012】[0012]

【発明が解決しようとする課題】オーバライト型の場合
には、プログラムコマンドを入力すると、データ消去を
行いたいか行いたくないかの意思にかかわらず、プログ
ラムの前に必ずデータ消去を行ってしまう。しかし、メ
モリブロックが既に消去状態であるときには、再びデー
タ消去を行う必要はなく、プログラムのみを行えばよ
い。
In the case of the overwrite type, when a program command is input, the data is always erased before programming regardless of the intention to erase the data or not. . However, when the memory block is already in the erased state, it is not necessary to erase the data again, and only the programming needs to be performed.

【0013】非オーバライト型の場合には、消去コマン
ドを連続して2回以上入力することが可能なために、既
に消去コマンドを入力していることを忘れて、再び消去
コマンドを入力してしまうこともある。しかし、そのよ
うな消去コマンドは無駄である。
In the case of the non-overwrite type, since the erase command can be continuously input twice or more, forgetting that the erase command has already been input and input the erase command again. Sometimes it ends up. However, such an erase command is useless.

【0014】本発明の目的は、無駄なデータ消去の処理
を行うことなくプログラムを行う不揮発性メモリを提供
することである。
An object of the present invention is to provide a non-volatile memory for programming without performing unnecessary data erasing processing.

【0015】[0015]

【課題を解決するための手段】本発明の不揮発性メモリ
は、各々が複数のメモリセルを有するデータ記憶領域と
対応するデータ記憶領域がデータ消去されているか否か
を示す消去フラグを格納する消去フラグ領域を含む複数
のメモリブロックを有する。
The nonvolatile memory of the present invention has an erasure that stores an erasure flag indicating whether or not the data storage area corresponding to each data storage area having a plurality of memory cells has been erased. It has a plurality of memory blocks including a flag area.

【0016】[0016]

【作用】データ記憶領域がデータ消去されているか否か
を示す消去フラグを消去フラグ領域に格納することによ
り、所望のメモリブロックのデータ記憶領域がデータ消
去されているか否かを知ることができる。データ記憶領
域がデータ消去されていなければ、データ消去を行った
後にプログラムを行う必要があり、データ記憶領域がデ
ータ消去されていればデータ消去を行わずにプログラム
を行うことができる。
By storing the erase flag indicating whether or not the data storage area is erased in the erase flag area, it is possible to know whether or not the data storage area of the desired memory block is erased. If the data storage area is not erased, it is necessary to perform the program after the data is erased. If the data storage area is erased, the program can be performed without performing the data erase.

【0017】[0017]

【実施例】図1は、本発明の実施例による半導体デバイ
スに含まれるメモリセルアレイである。半導体デバイス
は、例えば複数のメモリセルから成るメモリセルアレイ
を有するフラッシュメモリ(不揮発性メモリ)である。
メモリセルアレイ1は、ロー方向とカラム方向の2次元
に配列された複数のメモリセルから成る。ロー方向に
は、複数のメモリブロック2が並び、ローアドレスによ
り、1つのメモリブロックが選択される。
1 is a memory cell array included in a semiconductor device according to an embodiment of the present invention. The semiconductor device is, for example, a flash memory (nonvolatile memory) having a memory cell array including a plurality of memory cells.
The memory cell array 1 is composed of a plurality of memory cells arranged two-dimensionally in the row direction and the column direction. A plurality of memory blocks 2 are arranged in the row direction, and one memory block is selected by the row address.

【0018】複数のメモリブロック2は、それぞれデー
タ領域3と消去フラグ登録領域4を有する。データ領域
3は、プログラムされるデータを格納する領域であり、
例えば512バイトの領域である。消去フラグ登録領域
4は、対応するデータ領域3がデータ消去された状態で
あるか否かを示すフラグが格納される領域であり、最低
1ビットの領域が必要である。消去フラグがセットされ
ていれば、データ領域3はデータ消去されて消去状態で
あることを示し、消去フラグがリセットされていれば、
データ消去後にプログラムが行われた状態であることを
意味する。
Each of the plurality of memory blocks 2 has a data area 3 and an erase flag registration area 4. The data area 3 is an area for storing data to be programmed,
For example, it is an area of 512 bytes. The erasure flag registration area 4 is an area in which a flag indicating whether or not the corresponding data area 3 is in a data erased state is stored, and requires at least a 1-bit area. If the erase flag is set, it indicates that the data area 3 has been erased and is in the erased state, and if the erase flag is reset,
It means that the program is performed after the data is erased.

【0019】半導体デバイス製造時において、メモリセ
ルアレイは初期化されている。全てのメモリブロック2
のデータ領域3は、データ消去されており、消去データ
が格納されている。データ消去によりメモリセルは電子
を捕獲していない状態(“H”)となる。
At the time of manufacturing a semiconductor device, the memory cell array is initialized. All memory blocks 2
The data area 3 is erased and the erased data is stored. By erasing the data, the memory cell is in a state ("H") where electrons are not captured.

【0020】また、全てのメモリブロック2の消去フラ
グ登録領域4の消去フラグはセットされる。メモリセル
の特性を考えると、消去フラグのセット状態は、データ
消去状態と同じ“L”であり、消去フラグのリセット状
態は、その逆の“H”が好ましい。その理由は後に説明
する。
The erase flags in the erase flag registration areas 4 of all the memory blocks 2 are set. Considering the characteristics of the memory cell, the set state of the erase flag is preferably "L", which is the same as the data erase state, and the reverse state of the erase flag is preferably "H". The reason will be described later.

【0021】図3は、本実施例の半導体デバイスへのプ
ログラム方法を示すフローチャートである。半導体デバ
イスにプログラム装置を接続した後に、以下の処理を行
うことにより、プログラムが行われる。
FIG. 3 is a flow chart showing a method for programming a semiconductor device of this embodiment. After connecting the programming device to the semiconductor device, the program is performed by performing the following processing.

【0022】ステップQ1において、プログラム装置に
プログラムコマンドを入力し、所望のメモリブロックを
示すアドレスとプログラムデータを指示する。ステップ
Q2では、プログラムコマンドにより指示されたアドレ
スの設定を行い、メモリブロックを特定する。
In step Q1, a program command is input to the program device to instruct an address indicating a desired memory block and program data. In step Q2, the address designated by the program command is set and the memory block is specified.

【0023】ステップQ3では、特定されたメモリブロ
ックの消去データ格納領域から消去フラグを読み出す。
ステップQ4では、読み出された消去フラグがセット状
態かリセット状態かを調べる。消去フラグがセット状態
であれば、既にデータ消去されていることを示すので、
ブロック消去は行わない。初期状態においては、全ての
データ領域がブロック消去されており、消去フラグがセ
ットされているので、第1回目のプログラムではデータ
消去は行われない。
At step Q3, the erase flag is read from the erase data storage area of the specified memory block.
In step Q4, it is checked whether the read erase flag is in the set state or the reset state. If the erase flag is set, it means that the data has already been erased.
No block erase is performed. In the initial state, all data areas are block-erased and the erase flag is set, so that data erase is not performed in the first programming.

【0024】消去フラグがリセットされているときは、
ブロックに前のデータが残っているので、ステップQ5
でブロック消去を実行する。その後、ステップQ6にお
いて、プログラムコマンドにより指示されたプログラム
データが、特定されたメモリブロックに転送される。ス
テップQ7では、メモリブロックのデータ領域に転送さ
れたデータがプログラムされる。
When the erase flag is reset,
Since the previous data remains in the block, step Q5
To erase the block. Thereafter, in step Q6, the program data instructed by the program command is transferred to the specified memory block. In step Q7, the data transferred to the data area of the memory block is programmed.

【0025】ステップQ8では、プログラムの終了に伴
い、データ領域にデータがプログラムされた状態になる
ので、消去フラグをリセットする。消去フラグをリセッ
トすることにより、半導体デバイスへのプログラム処理
は終了する。
At step Q8, since the data is programmed in the data area with the completion of the program, the erase flag is reset. By resetting the erase flag, the programming process for the semiconductor device is completed.

【0026】以上のプログラムコマンドを用いれば、初
期状態は必ずデータ領域がデータ消去された状態である
ことから、各メモリブロックに対しての第1回目のプロ
グラムコマンドはブロック消去(ステップQ5)をスキ
ップする。そのため、ブロック消去の処理に要する時間
が0になり、プログラムコマンド入力による全所要時間
は短縮される。
If the above program commands are used, the data area is always erased in the initial state. Therefore, the first program command for each memory block skips block erase (step Q5). To do. Therefore, the time required for the block erasing process becomes 0, and the total time required for inputting the program command is shortened.

【0027】メモリブロックに1度プログラムされる
と、消去フラグがリセットされ、それ以後はリセット状
態のままであるため、第2回目以降のプログラムコマン
ドについては処理時間の短縮を図ることができない。し
かし、各メモリブロックに1度プログラムをするだけ
で、その後は書き換えを行わないような用途に半導体デ
バイスを用いるのであれば、これで十分である。
When the memory block is programmed once, the erase flag is reset and remains in the reset state thereafter. Therefore, the processing time cannot be shortened for the second and subsequent program commands. However, this is sufficient if the semiconductor device is used for a purpose in which each memory block is programmed only once and is not rewritten thereafter.

【0028】次は、第2回目以降のプログラムコマンド
に対しても時間短縮を行うことができるようにするため
に用いる消去コマンドの説明を行う。図4は、メモリブ
ロックのデータ領域の消去を行うための消去コマンド入
力による処理を示すフローチャートである。
Next, the erase command used for making it possible to shorten the time even for the second and subsequent program commands will be described. FIG. 4 is a flowchart showing a process by inputting an erase command for erasing the data area of the memory block.

【0029】ステップR1において、プログラム装置に
消去コマンドを入力し、所望のメモリブロックのデータ
領域の消去を指示する。ステップR2では、プログラム
コマンドにより指示されたメモリブロックアドレスの設
定を行い、メモリブロックを特定する。
In step R1, an erase command is input to the programming device to instruct to erase the data area of a desired memory block. In step R2, the memory block address designated by the program command is set, and the memory block is specified.

【0030】ステップR3では、特定されたメモリブロ
ックの消去データ格納領域から消去フラグを読み出す。
ステップR4では、読み出された消去フラグがセット状
態かリセット状態かを調べる。消去フラグがリセット状
態であれば、データ領域が消去されていないことを示す
ので、ステップR5にてブロック消去を行い、ステップ
R6で消去フラグをセットする。一方、消去フラグがセ
ット状態であれば、データ領域が消去済であることを示
すので、ブロック消去(ステップR5)および消去フラ
グセット(ステップR6)の処理をスキップする。以上
により、消去コマンド入力による処理は終了する。
In step R3, the erase flag is read from the erase data storage area of the specified memory block.
In step R4, it is checked whether the read erase flag is in the set state or the reset state. If the erase flag is in the reset state, it indicates that the data area has not been erased. Therefore, block erase is performed in step R5, and the erase flag is set in step R6. On the other hand, if the erase flag is in the set state, it indicates that the data area has been erased, and therefore the processes of block erase (step R5) and erase flag set (step R6) are skipped. With the above, the process by inputting the erase command is completed.

【0031】例えば、電子カメラ等により、連続撮影し
た画像データを半導体デバイスに記憶する際に消去コマ
ンドは有効である。電子カメラは、シャッタスイッチを
押して1枚の静止画像を撮影し、その画像データを半導
体デバイスにプログラムし終わった時点で、次の画像を
撮影することが可能になる。したがって、プログラム時
間が短くなれば、電子カメラにより連写することが可能
な単位時間内のコマ数を増やすことができる。
For example, the erase command is effective when the image data continuously photographed by an electronic camera or the like is stored in the semiconductor device. The electronic camera can capture a single still image by pressing the shutter switch and capture the next image when the image data is completely programmed in the semiconductor device. Therefore, if the program time is shortened, it is possible to increase the number of frames per unit time that can be continuously shot by the electronic camera.

【0032】例えば、電子カメラが半導体デバイスに画
像データのプログラムを行っていないときに、またはそ
の他の処理を行っている際のバックグランドにおいて、
予め画像データがプログラムされるべきメモリブロック
に対して消去コマンドを実行させておく。そのようにす
れば、いざ連写により画像データを複数のメモリブロッ
クに連続してプログラムしようとする際に、ブロック消
去を行わずにプログラムのみを行うので、プログラム時
間が短縮され、所定時間内に撮影可能なコマ数を増やす
ことができる。
For example, when the electronic camera is not programming the image data in the semiconductor device, or in the background when other processing is being performed,
An erase command is executed in advance for a memory block in which image data is to be programmed. By doing so, when it is attempted to continuously program image data into a plurality of memory blocks by continuous shooting, only the program is executed without erasing the blocks, so the program time is shortened and the program time is reduced within a predetermined time. The number of frames that can be taken can be increased.

【0033】前述の図3に示したプログラムコマンド
は、オーバライト型である。しかし、従来のオーバライ
ト型の場合は、通常図4に示したようなブロック消去の
みを行うコマンドを持っていない。そこで、プログラム
コマンド1つを用いて、プログラムとブロック消去の双
方の処理を独立に行うことができるコマンドの例を次に
説明する。
The program command shown in FIG. 3 described above is an overwrite type. However, the conventional overwrite type does not normally have a command for only block erasing as shown in FIG. Therefore, an example of a command capable of independently performing both the program and the block erase processing using one program command will be described below.

【0034】図5は、他の実施例による半導体デバイス
へのプログラム処理およびブロック消去処理を示すフロ
ーチャートである。プログラムコマンドを用いることに
より、プログラム処理またはブロック消去処理のいずれ
かを行うことができる。
FIG. 5 is a flow chart showing a program process and a block erase process for a semiconductor device according to another embodiment. By using the program command, either the program process or the block erase process can be performed.

【0035】プログラム処理を行う際には、プログラム
を行いたい画像データ等のプログラムデータをプログラ
ムコマンドと共に入力し、ブロック消去を行う際には、
例えば512バイトの1ブロック分の消去データ(例え
ば、オール“H”)をプログラムコマンドと共に入力す
る。
When performing the program processing, program data such as image data to be programmed is input together with the program command, and when erasing the block,
For example, 512 bytes of erase data for one block (for example, all "H") is input together with a program command.

【0036】まず、最初にプログラム処理を行う場合の
処理手順を示す。ステップS1では、プログラムコマン
ドをプログラム装置に入力し、プログラムを行う画像デ
ータ等のデータとアドレスを指示する。ステップS2で
は、アドレスの設定を行い、メモリブロックを特定す
る。
First, a processing procedure when the program processing is performed first will be described. In step S1, a program command is input to the program device to instruct data such as image data to be programmed and an address. In step S2, an address is set and a memory block is specified.

【0037】ステップS3では、特定されたメモリブロ
ックから消去フラグを読み出し、ステップS4で消去フ
ラグがセット状態かリセット状態かを調べる。消去フラ
グがリセット状態であれば、データ消去が未だ行われて
いないので、ステップS5でブロック消去を行い、消去
フラグがセット状態であれば、既にデータ消去されてい
るので、ブロック消去を行わない。
In step S3, the erase flag is read from the specified memory block, and in step S4 it is checked whether the erase flag is set or reset. If the erase flag is in the reset state, the data is not erased yet, so the block is erased in step S5. If the erase flag is in the set state, the data is already erased and the block is not erased.

【0038】その後、ステップS6において、プログラ
ムコマンドと共に入力されたデータが全て消去データ
(例えば、オール“H”)であるか否かを調べる。転送
されるデータが一般的な画像データ等であるならば、通
常全て消去データではないので、ステップS7へ進み、
画像データ等のデータは所定のメモリブロックに転送さ
れ、ステップS8において、転送されたデータがデータ
領域にプログラムされる。その後、ステップS9で消去
フラグがリセットされる。以上で処理は終了する。
Then, in step S6, it is checked whether or not all the data input together with the program command are erase data (for example, all "H"). If the data to be transferred is general image data, etc., it is usually not all erased data, so the process proceeds to step S7.
Data such as image data is transferred to a predetermined memory block, and the transferred data is programmed in the data area in step S8. Then, the erase flag is reset in step S9. With that, the process ends.

【0039】次に、プログラムコマンドにより、ブロッ
ク消去の処理を行う場合の処理手順を同じ図を参照しな
がら説明する。ステップS1では、プログラムコマンド
を入力し、例えばオール“H”の1ブロック分の消去デ
ータ(例えば512バイト)とブロック消去を行いたい
アドレスを指示する。ステップS2では、アドレスの設
定を行い、ブロック消去を行うメモリブロックを特定す
る。
Next, the processing procedure when the block erasing process is performed by the program command will be described with reference to the same figure. In step S1, a program command is input and, for example, erase data (for example, 512 bytes) for one block of all “H” and an address at which block erase is desired are designated. In step S2, an address is set and a memory block to be erased is specified.

【0040】ステップS3では、特定されたメモリブロ
ックから消去フラグを読み出しステップS4で消去フラ
グがセット状態かリセット状態かを調べる。消去フラグ
がリセット状態であれば、データ消去が未だ行われてい
ないので、ステップS5でブロック消去を行い、消去フ
ラグがセット状態であれば、既にデータ消去されている
ので、ブロック消去を行わない。
In step S3, the erase flag is read from the specified memory block and it is checked in step S4 whether the erase flag is set or reset. If the erase flag is in the reset state, the data is not erased yet, so the block is erased in step S5. If the erase flag is in the set state, the data is already erased and the block is not erased.

【0041】その後、ステップS6では、プログラムコ
マンドと共に入力されたデータが全て消去データである
と判断されるので、ステップS10へ進み、プログラム
(ステップS8)を行わずに消去フラグをセットする。
以上で処理は終了する。
After that, in step S6, it is determined that all the data input together with the program command are erase data, so the process proceeds to step S10 and the erase flag is set without executing the program (step S8).
With that, the process ends.

【0042】以上は、オーバライト型の場合について説
明したが、次は非オーバライト型の場合を説明する。非
オーバライト型は、プログラムコマンドにおいて、ブロ
ック消去の処理を含まない。ブロック消去を行うには、
消去コマンドを用いる。
Although the case of the overwrite type has been described above, the case of the non-overwrite type will be described next. The non-overwrite type does not include block erase processing in the program command. To erase blocks,
Use the erase command.

【0043】図6は、非オーバライト型の半導体デバイ
スに対するプログラムコマンドの処理を示すフローチャ
ートである。ステップT1では、プログラムコマンドを
入力し、プログラムを行うアドレスとデータを指示す
る。ステップT2では、アドレスの設定を行い、メモリ
ブロックを特定する。ステップT3では、特定されたメ
モリブロックにデータを転送する。ステップT4では、
転送されたデータをデータ領域にプログラムする。ステ
ップT5では、消去フラグをリセットして、プログラム
済であることを示す情報を記録する。その後、処理は終
了する。
FIG. 6 is a flowchart showing the processing of a program command for a non-overwrite type semiconductor device. In step T1, a program command is input to instruct an address and data for programming. In step T2, the address is set and the memory block is specified. In step T3, the data is transferred to the specified memory block. In step T4,
Program the transferred data in the data area. In step T5, the erase flag is reset and information indicating that the program has been completed is recorded. Then, the process ends.

【0044】以上のプログラムコマンドと併用する消去
コマンドの処理は、図4に示した消去コマンドの処理と
同じである。プログラムコマンドが入力されると、プロ
グラム(ステップT4)が行われた後に、消去フラグが
リセット(ステップT5)される。その後消去コマンド
を入力すると、消去フラグがリセット状態であるのでブ
ロック消去が行われる。しかし、消去コマンドを入力し
た後に連続して消去コマンドを入力しても、消去フラグ
が既にセットされているので、ブロック消去は行われな
い。
The processing of the erase command used in combination with the above program command is the same as the processing of the erase command shown in FIG. When the program command is input, the erase flag is reset (step T5) after the program (step T4) is performed. After that, when an erase command is input, the block is erased because the erase flag is in the reset state. However, even if the erase command is continuously input after the erase command is input, the block erase is not performed because the erase flag is already set.

【0045】図7は、以上述べたコマンドにより、プロ
グラムまたはブロック消去を行う半導体デバイスの構成
を示すブロック図である。半導体デバイス10に接続さ
れるプログラム装置にはプログラムコマンドや消去コマ
ンドが入力される。半導体デバイス10の入出力インタ
フェース(I/O)11には、プログラム装置からコマ
ンドに応じた必要な情報が供給される。I/O10は、
アドレス信号AS、データ信号DSおよび制御信号CS
を出力する。アドレス信号ASとデータ信号DSは、そ
れぞれプログラムまたはブロック消去を行うアドレスと
データであり、制御信号CSは電源、チップイネーブル
信号等その他必要な制御信号である。
FIG. 7 is a block diagram showing the structure of a semiconductor device that performs programming or block erasing by the above-mentioned commands. Program commands and erase commands are input to the program device connected to the semiconductor device 10. Input / output interface (I / O) 11 of the semiconductor device 10 is supplied with necessary information according to a command from the programming device. I / O10 is
Address signal AS, data signal DS and control signal CS
Is output. The address signal AS and the data signal DS are an address and data for program or block erase, respectively, and the control signal CS is a power supply, a chip enable signal, and other necessary control signals.

【0046】メモリセルアレイ1は、図1に示したよう
にデータ領域3とフラグ登録領域4を有する。アドレス
制御回路12は、アドレス信号ASを基にして、メモリ
ブロックおよびメモリブロック内のアドレスを指定する
ためのローアドレスとカラムアドレスに変換する。メモ
リセルアレイ1は、ローアドレスにより、メモリブロッ
クが特定され、カラムアドレスにより、特定されたメモ
リブロックのデータ領域3内のアドレスまたは消去フラ
グ登録領域4のアドレスが特定される。そして、特定さ
れたアドレスに対してデータDSのプログラム、または
読み出しが行われる。
The memory cell array 1 has a data area 3 and a flag registration area 4 as shown in FIG. The address control circuit 12 converts the address into a row address and a column address for designating an address in the memory block based on the address signal AS. In the memory cell array 1, the memory block is specified by the row address, and the address in the data area 3 or the erase flag registration area 4 of the specified memory block is specified by the column address. Then, the data DS is programmed or read with respect to the specified address.

【0047】コマンド制御回路13は、制御信号CSを
受けて、メモリセルアレイ1のデータ領域3にデータD
Sのプログラム、読み出しまたはブロック消去を指示す
る。また、消去フラグ登録領域4に対して消去フラグの
セットまたはリセットを指示する。
The command control circuit 13 receives the control signal CS and stores the data D in the data area 3 of the memory cell array 1.
Instruct to program, read or block erase of S. Further, the erase flag registration area 4 is instructed to set or reset the erase flag.

【0048】消去状態判定回路14は、消去フラグ登録
領域4から消去フラグを読み出し、セット状態
(“L”)とリセット状態(“H”)のいずれであるの
かを判定する。コマンド制御回路13は、消去状態判定
回路14の判定結果に応じてブロック消去、プログラ
ム、フラグのセット/リセットを行う。
The erasing state judging circuit 14 reads the erasing flag from the erasing flag registration area 4 and judges whether it is in the set state ("L") or the reset state ("H"). The command control circuit 13 performs block erase, program, and flag setting / resetting in accordance with the determination result of the erase state determination circuit 14.

【0049】以上のように、メモリセルアレイ1の各ブ
ロックメモリ2にデータ領域3と消去フラグ登録領域4
を設けることにより、データ領域3が消去状態であるか
否かを示す消去フラグを持たせることができる。消去フ
ラグの情報を用いることにより、データ領域3のブロッ
ク消去を2回連続行うような無駄なブロック消去処理を
省くことができ、処理時間を短縮させることができる。
As described above, in each block memory 2 of the memory cell array 1, the data area 3 and the erase flag registration area 4 are provided.
By providing, it is possible to have an erase flag indicating whether or not the data area 3 is in the erased state. By using the information of the erasing flag, it is possible to omit a wasteful block erasing process such as erasing the block of the data area 3 twice in succession, and to shorten the processing time.

【0050】また、プログラム処理を行っていない際
に、予めブロック消去コマンドによりブロック消去をお
こなっておけば、電子カメラの連続撮影の際にプログラ
ム処理を行うだけで済むので、連写等の特別な処理時の
所要時間を短縮することができる。この場合には、ブロ
ック処理の工程を、空いている時間に移動する形にな
り、全体の時間は変わらないが、特定の処理を短縮する
ことができるので、効果は大きい。
Further, if the block is erased in advance by the block erase command when the program processing is not being performed, the program processing only needs to be performed when the electronic camera continuously shoots. The time required for processing can be shortened. In this case, the block processing steps are moved to a vacant time, and the overall time does not change, but the specific processing can be shortened, so that the effect is great.

【0051】なお、冒頭において、半導体デバイス製造
時の初期状態でのデータ領域3は、消去データで埋めら
れ、消去フラグはセット状態にされる旨を述べた。その
際に消去データはオール“H”のデータであるとすれ
ば、消去フラグのセット状態は“L”であり、消去フラ
グのリセット状態は“H”であることが望ましいと述べ
た。その理由を説明する。
At the beginning, it was stated that the data area 3 in the initial state at the time of manufacturing the semiconductor device is filled with the erase data and the erase flag is set. At this time, if the erase data is all "H" data, it is desirable that the set state of the erase flag is "L" and the reset state of the erase flag is "H". The reason will be explained.

【0052】データ消去を行うと、メモリセルに捕獲さ
れている電子が放出されて“H”となる。そして、メモ
リセルの特性が悪くなると、せっかく注入された電子が
自然に放出されてしまうため、“L”から“H”に変わ
りやすくなる。それに引き換え、“H”から“L”へは
変化しにくい。
When data is erased, the electrons trapped in the memory cell are released and become "H". Then, when the characteristics of the memory cell deteriorate, the injected electrons are spontaneously emitted, so that it easily changes from “L” to “H”. In exchange, it is hard to change from "H" to "L".

【0053】そこで、消去フラグのセット状態を“L”
にしておけば、例え“H”に自然変化してしまっても、
未だ消去済でないと判断され、もう一度ブロック消去が
行われるのみである。
Therefore, the set state of the erase flag is set to "L".
By doing so, even if it naturally changes to “H”,
It is judged that the block has not been erased yet, and the block is erased again.

【0054】それに対し、もし消去フラグのセット状態
を“H”に、リセット状態を“L”に設定するとすれ
ば、リセット状態(“L”)からセット状態(“H”)
に自然変化しやすくなる。データ領域3にプログラムが
行われ、消去フラグがリセット(“L”)された後に、
セット状態(“H”)に自然変化してしまった場合、既
に消去状態にあると誤って判断してしまい、プログラム
されている状態からブロック消去を行わずに、再びプロ
グラムを行ってしまうことになる。
On the other hand, if the set state of the erase flag is set to "H" and the reset state is set to "L", the reset state ("L") changes to the set state ("H").
It becomes easy to change naturally. After the data area 3 is programmed and the erase flag is reset (“L”),
If it naturally changes to the set state (“H”), it is mistakenly determined that it is already in the erased state, and the block is not erased from the programmed state and the program is performed again. Become.

【0055】消去状態でないデータ領域3にプログラム
を行った場合、プログラムされたデータには信頼性がな
く、記憶されているデータ値を保証することができな
い。このようなエラーは、致命的であり、あってはなら
ない。したがって、消去フラグは、セット状態が“L”
であり、リセット状態が“H”であることが望ましい。
When the data area 3 which is not in the erased state is programmed, the programmed data is not reliable and the stored data value cannot be guaranteed. Such errors are fatal and should not be encountered. Therefore, the erase flag is set to "L".
Therefore, it is desirable that the reset state is "H".

【0056】以上実施例に沿って本発明を説明したが、
本発明はこれらに制限されるものではない。例えば、種
々の変更、改良、組み合わせ等が可能なことは当業者に
自明であろう。
The present invention has been described above with reference to the embodiments.
The present invention is not limited to these. For example, it will be apparent to those skilled in the art that various modifications, improvements, combinations, and the like can be made.

【0057】[0057]

【発明の効果】以上説明したように、本発明によれば、
消去フラグ領域に格納されている消去フラグを調べるこ
とにより、所望のメモリブロックのデータ記憶領域がデ
ータ消去されているか否かを知ることができるので、例
えば2回連続して同じデータ領域をデータ消去するよう
な無駄な処理をなくすことができる。
As described above, according to the present invention,
By checking the erase flag stored in the erase flag area, it is possible to know whether or not the data storage area of the desired memory block has been erased. Therefore, for example, the same data area is erased twice consecutively. It is possible to eliminate useless processing that is performed.

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

【図1】本発明の実施例による半導体デバイスに含まれ
るメモリセルアレイの構成を示す概略図である。
FIG. 1 is a schematic diagram showing a configuration of a memory cell array included in a semiconductor device according to an embodiment of the present invention.

【図2】従来技術による半導体デバイスへのプログラム
コマンドを示すフローチャートである。
FIG. 2 is a flowchart showing a program command for a semiconductor device according to a conventional technique.

【図3】本実施例の半導体デバイスへのプログラムコマ
ンドを示すフローチャートである。
FIG. 3 is a flowchart showing a program command for the semiconductor device of this embodiment.

【図4】本実施例の半導体デバイスへの消去コマンドを
示すフローチャートである。
FIG. 4 is a flowchart showing an erase command to a semiconductor device of this embodiment.

【図5】他の実施例による半導体デバイスへのプログラ
ムコマンドを示すフローチャートである。
FIG. 5 is a flowchart showing a program command for a semiconductor device according to another embodiment.

【図6】非オーバライト型の半導体デバイスへのプログ
ラムコマンドを示すフローチャートである。
FIG. 6 is a flowchart showing a program command for a non-overwrite type semiconductor device.

【図7】本実施例による半導体デバイスの構成を示すブ
ロック図である。
FIG. 7 is a block diagram showing a configuration of a semiconductor device according to this example.

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

1 メモリセルアレイ 2 メモリブロック 3 データ領域 4 消去フラグ登録領域 10 半導体デバイス 11 入出力インタフェース 12 アドレス制御回路 13 コマンド制御回路 14 消去状態判定回路 1 Memory Cell Array 2 Memory Block 3 Data Area 4 Erase Flag Registration Area 10 Semiconductor Device 11 Input / Output Interface 12 Address Control Circuit 13 Command Control Circuit 14 Erase State Judgment Circuit

Claims (4)

【特許請求の範囲】[Claims] 【請求項1】 各々が複数のメモリセルを有するデータ
記憶領域(3)と対応する該データ記憶領域がデータ消
去されているか否かを示す消去フラグを格納する消去フ
ラグ領域(4)を含む複数のメモリブロック(2)を有
する不揮発性メモリ。
1. A plurality of data storage areas (3) each having a plurality of memory cells, and a plurality of erase flag areas (4) each storing an erase flag indicating whether or not the corresponding data storage area has been erased. A non-volatile memory having a memory block (2).
【請求項2】 データを記憶するためのデータ記憶領域
と該データ記憶領域がデータ消去されているか否かを示
す消去フラグを格納する消去フラグ領域を有する不揮発
性メモリの使用において、 データ記憶領域をデータ消去する工程と、 データ記憶領域がデータ消去されたことを示すために、
消去フラグ領域に格納されている消去フラグをセット状
態にする工程とを含む不揮発性メモリのデータ消去方
法。
2. The use of a non-volatile memory having a data storage area for storing data and an erase flag area for storing an erase flag indicating whether or not the data storage area has been erased. To erase the data and indicate that the data storage area has been erased,
And a step of setting an erase flag stored in an erase flag area to a set state.
【請求項3】 データを記憶するためのデータ記憶領域
と該データ記憶領域がデータ消去されているか否かを示
す消去フラグを格納する消去フラグ領域を有する不揮発
性メモリの使用において、 データ記憶領域にデータをプログラムする工程と、 データ記憶領域がデータ消去された状態でないことを示
すために、消去フラグ領域に格納されている消去フラグ
をリセット状態にする工程とを含む不揮発性メモリのプ
ログラム方法。
3. The use of a non-volatile memory having a data storage area for storing data and an erase flag area for storing an erase flag indicating whether or not the data storage area has been erased. A method for programming a non-volatile memory, comprising: programming data; and resetting an erase flag stored in an erase flag area to indicate that the data storage area is not erased.
【請求項4】 データを記憶するためのデータ記憶領域
と該データ記憶領域がデータ消去されているか否かを示
す消去フラグを格納する消去フラグ領域を有する不揮発
性メモリの使用において、 消去フラグ領域から消去フラグを読み出す工程と、 読み出した消去フラグがセット状態またはリセット状態
のいずれであるかを調べる工程と、 消去フラグがリセット状態であるときのみデータ領域が
データ消去されていないとしてデータ領域をデータ消去
する工程とを含む不揮発性メモリのデータ消去方法。
4. Use of a non-volatile memory having a data storage area for storing data and an erase flag area for storing an erase flag indicating whether or not the data storage area has been erased. The step of reading the erase flag, the step of checking whether the read erase flag is in the set state or the reset state, and erasing the data area assuming that the data area has not been erased only when the erase flag is in the reset state And a method of erasing data in a non-volatile memory, including
JP12611394A 1994-06-08 1994-06-08 Non-volatile memory Pending JPH07334992A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP12611394A JPH07334992A (en) 1994-06-08 1994-06-08 Non-volatile memory

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP12611394A JPH07334992A (en) 1994-06-08 1994-06-08 Non-volatile memory

Publications (1)

Publication Number Publication Date
JPH07334992A true JPH07334992A (en) 1995-12-22

Family

ID=14926961

Family Applications (1)

Application Number Title Priority Date Filing Date
JP12611394A Pending JPH07334992A (en) 1994-06-08 1994-06-08 Non-volatile memory

Country Status (1)

Country Link
JP (1) JPH07334992A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006031920A (en) * 2004-07-13 2006-02-02 Samsung Electronics Co Ltd Nonvolatile memory and its programming method
CN103324443A (en) * 2012-03-23 2013-09-25 索尼公司 Storage control apparatus, storage apparatus, information processing system and processing method therefor

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006031920A (en) * 2004-07-13 2006-02-02 Samsung Electronics Co Ltd Nonvolatile memory and its programming method
CN103324443A (en) * 2012-03-23 2013-09-25 索尼公司 Storage control apparatus, storage apparatus, information processing system and processing method therefor
JP2013225368A (en) * 2012-03-23 2013-10-31 Sony Corp Storage control device, storage device, information processing system, and processing method in them
US9836392B2 (en) 2012-03-23 2017-12-05 Sony Corporation Storage control apparatus to control pre-processing operations
CN103324443B (en) * 2012-03-23 2018-01-05 索尼公司 Memory control device, storage device, information processing system and its processing method

Similar Documents

Publication Publication Date Title
US6944060B2 (en) Non-volatile storage device and control method thereof
KR100585363B1 (en) Non-volatile semiconductor memory device
JP4287222B2 (en) Nonvolatile semiconductor memory device
US20010019501A1 (en) Non-volatile memory or storing erase operation information
KR100624590B1 (en) Non-volatile semiconductor memory device
JP3875139B2 (en) Nonvolatile semiconductor memory device, data write control method thereof, and program
JP2971302B2 (en) Recording device using EEPROM
US5621738A (en) Method for programming flash EEPROM devices
JP2005025819A (en) Semiconductor memory and electronic instrument using this
KR100858574B1 (en) Semiconductor memory system
JPS59135698A (en) Eeprom device
JPH07334992A (en) Non-volatile memory
JP3641066B2 (en) Microcomputer data rewriting method with embedded flash memory
EP0492450B1 (en) Memory card having an EEPROM
KR100206186B1 (en) Data recovering equipment of rewritable nonvolatile memory and method thereof
JPH0773098A (en) Data write method
TWI520138B (en) Semiconductor device and control method therefor
CN111009274A (en) Flash memory storage device and operation method thereof
JP3359942B2 (en) Memory card device
JP3046832B2 (en) Electronic still camera system and memory unit
JPH07287603A (en) Engine controller
JPH0798991A (en) Nonvolatile semiconductor memory
JP2006048227A (en) Memory device, memory device control method and data processing system
JP2000276883A (en) Write-in circuit for non-volatile memory
JPH1173784A (en) Semiconductor memory device and data reading method in its device

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20040302