JP2003006053A - Data processor - Google Patents

Data processor

Info

Publication number
JP2003006053A
JP2003006053A JP2001189276A JP2001189276A JP2003006053A JP 2003006053 A JP2003006053 A JP 2003006053A JP 2001189276 A JP2001189276 A JP 2001189276A JP 2001189276 A JP2001189276 A JP 2001189276A JP 2003006053 A JP2003006053 A JP 2003006053A
Authority
JP
Japan
Prior art keywords
data
cpu
specific block
program
logical
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
JP2001189276A
Other languages
Japanese (ja)
Inventor
Mitsuru Hiraki
充 平木
Shoji Yadori
章二 宿利
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2001189276A priority Critical patent/JP2003006053A/en
Priority to US09/938,629 priority patent/US6941505B2/en
Priority to KR1020010052503A priority patent/KR20020021001A/en
Priority to TW090121498A priority patent/TWI242128B/en
Publication of JP2003006053A publication Critical patent/JP2003006053A/en
Priority to US11/200,104 priority patent/US20050281113A1/en
Pending legal-status Critical Current

Links

Landscapes

  • Read Only Memory (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

PROBLEM TO BE SOLVED: To give priority to suppression of lowering of reliability in information storage only in an area in which rewrite is frequently performed to one nonvolatile memory. SOLUTION: A part of an area in which the rewrite is frequently performed to one nonvolatile memory (2) is defined as a specific block (11), duplicate write to another address to one piece of data in rewrite to the specific block is performed, an error correction based on duplicated data read from other corresponding address is performed in reading and both processings are realized by a program of a CPU (3). Priority is given to the suppression of the lowering of reliability in the information storage to a part of a storage area of the nonvolatile memory. In an area where only the small number of rewrites is required, priority is given to maximization of use efficiency of a memory cell without defining the area as a processing object as the specific block.

Description

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

【0001】[0001]

【発明の属する技術分野】本発明は、フラッシュメモ
リ、EEPROM(エレクトリカリ・エレーザブル・ア
ンド・プログラマブル・リード・オンリ・メモリ)等の
不揮発性メモリを内蔵したシングルチップマイクロコン
ピュータのようなデータ処理装置に関し、例えば機器組
込み制御用途のシングルチップマイクロコンピュータに
適用して有効な技術に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a data processing device such as a single chip microcomputer having a built-in non-volatile memory such as a flash memory or an EEPROM (Electrical Erasable and Programmable Read Only Memory). For example, the present invention relates to a technique effective when applied to a single-chip microcomputer for device embedded control.

【0002】[0002]

【従来の技術】フラッシュメモリなど電気的に書換え可
能な不揮発性メモリはメモリセルのフローティングゲー
トに注入された電子若しくは正孔の量に応じた閾値電圧
によって情報記憶を行う。そのようなメモリセルの閾値
電圧特性は書換え回数の増加等にしたがって経時的に劣
化する。特性劣化が進むと、データ書換え時におけるベ
リファイ動作で書込みエラーになる確立が増す。このよ
うに、フラッシュメモリでは、書込み・消去を繰り返す
につれ、特性が劣化し、情報を正常に保持できなくなる
「落ちこぼれビット」が発生する。フラッシュッメモリや
そのオンチップマイクロコンピュータで保証する書き換
え回数は、上記特性劣化により制限される。書き換え回
数を向上させる方法として、従来から以下のような技術
が知られている。
2. Description of the Related Art An electrically rewritable nonvolatile memory such as a flash memory stores information by a threshold voltage according to the amount of electrons or holes injected into the floating gate of a memory cell. The threshold voltage characteristic of such a memory cell deteriorates with time as the number of rewrites increases. As the characteristics deteriorate, the probability that a write error will occur in the verify operation at the time of rewriting data increases. As described above, in the flash memory, as writing and erasing are repeated, the characteristic deteriorates, and "missing bit" occurs in which information cannot be normally retained. The number of times of rewriting guaranteed by the flash memory or its on-chip microcomputer is limited by the characteristic deterioration. The following techniques have been conventionally known as methods for improving the number of times of rewriting.

【0003】第1の技術は、フラッシュッメモリの回路
構造として実現する手法である。例えば、書き込み時に
は2個(一般には複数個)のセルに同一のビット情報を
書き込み、読み出し時には両方のメモリセルからデータ
を読み出し、少なくとも一方が高閾値状態であれば高閾
値状態に対応する論理値のデータを出力するように構成
する。あるいは、書き込み時に3個以上のメモリセルに
同一のビット情報を書き込み、読み出し時にはこれらの
セルからデータを読み出し多数決論理をとって出力する
ようにフラッシュメモリの回路を構成する。このような
構成のフラッシュッメモリについて記載された文献の例
として特開平3−57048号公報がある。
The first technique is a method realized as a circuit structure of a flash memory. For example, the same bit information is written to two (generally a plurality of) cells at the time of writing, the data is read from both memory cells at the time of reading, and a logical value corresponding to the high threshold state if at least one is in the high threshold state. It is configured to output the data of. Alternatively, the circuit of the flash memory is configured so that the same bit information is written to three or more memory cells at the time of writing, and the data is read from these cells at the time of reading and the majority logic is output. Japanese Patent Application Laid-Open No. 3-57048 is an example of a document describing a flash memory having such a configuration.

【0004】第2の技術は、誤り訂正機能ブロックをチ
ップ上に備えるものであり、書き込み時に検査ビットを
発生し、読み出し時に本来の情報及び検査ビットから誤
りの検出と訂正を行うようにしたものである。この技術
について記載された文献の例として、2000 Sym
posium on VLSI CircuitsDi
gest of Technical Papers,
pp162−165がある。
The second technique is to provide an error correction function block on a chip, and to generate a check bit at the time of writing, and to detect and correct an error from the original information and the check bit at the time of reading. Is. As an example of literature describing this technology, 2000 Sym
Posium on VLSI CircuitsDi
best of Technical Papers,
pp162-165.

【0005】第3の技術として、特開平7−21021
5号公報に記載のように、CPUがEEPROMに書き
込みを行うとき、EEPROM内の二つの領域と当該E
EPROMとは別のバックアップメモリとの3個所に書
き込みを行い、CPUがデータ読み出しを行うときは、
前記3個所からデータを読み出し、その内の2つのデー
タが一致したときは一致に係るデータを正しいと判断す
るものがある。
As a third technique, Japanese Patent Laid-Open No. 7-21021
As described in Japanese Patent No. 5 publication, when the CPU writes to the EEPROM, the two areas in the EEPROM and the E
When writing data to three locations, a backup memory other than the EPROM, and the CPU reads data,
There is a method in which data is read from the above-mentioned three places, and when two data among them are matched, the data related to the match is judged to be correct.

【0006】[0006]

【発明が解決しようとする課題】しかしながら、前記第
1の技術では、書き換え回数が多いことが求められる用
途(例えば2メモリセル/ビット構成としてセル使用効
率は犠牲にする)と、書き換え回数は少なくてよいが最
大のセル使用効率(すなわち1メモリセル/ビット構
成)が求められる用途とでは、同一構成のフラッシュメ
モリを適用することができないので、用途に応じて複数
種類のフラッシュメモリを用意若しくは実装する必要が
ある。これにより、フラッシュメモリの開発効率が悪く
なる。また、回路モジュールの数も増えて、結局チップ
面積を増大させる要因になる。
However, in the above-mentioned first technique, there are applications in which a large number of times of rewriting is required (for example, the cell usage efficiency is sacrificed by the configuration of 2 memory cells / bit), and the number of times of rewriting is small. However, it is not possible to apply the flash memory of the same configuration to the application that requires the maximum cell usage efficiency (that is, 1 memory cell / bit configuration), so prepare or mount multiple types of flash memory according to the application. There is a need to. As a result, the development efficiency of the flash memory deteriorates. In addition, the number of circuit modules also increases, which eventually becomes a factor of increasing the chip area.

【0007】前記第2の技術では、ECCのような誤り
訂正機能を持つハードウェアを備えることによりチップ
面積が増大し、コストが上昇するという問題がある。ソ
フトウェアでECC機能を実現できたとしても、エラー
訂正能力が複数ビットになる途端に膨大な演算処理が必
要になり、低いエラー発生率を保つにはCPUに著しく
大きな負担がかかる。
The second technique has a problem that the chip area is increased and the cost is increased by providing hardware having an error correction function such as ECC. Even if the ECC function can be realized by software, an enormous amount of arithmetic processing is required as soon as the error correction capability becomes a plurality of bits, and a large load is imposed on the CPU to maintain a low error occurrence rate.

【0008】前記第3の技術では、本来実装されるEE
PROMとは別のバックアップメモリが必要になる。こ
の点に関し、第3の技術を記載した文献ではEPROM
を3分割して夫々に同じデータを書込む場合に比べて書
込み回数が減って書き込み中のエラーによる影響を受け
る機会が減る、としている。要するに、EEPROMと
は別のバックアップメモリを利用することの優位性を見
出している。
In the third technique, the EE originally mounted is used.
A backup memory different from the PROM is required. In this regard, in the literature describing the third technique, EPROM is used.
It is stated that the number of times of writing is reduced and the chance of being affected by an error during writing is reduced as compared with a case where the same data is written into each of the three divided. In short, we have found the advantage of using a backup memory other than the EEPROM.

【0009】本発明者による検討によれば、マイクロコ
ンピュータにオンチップされたフラッシュッメモリはデ
ータやプログラムを格納するのに利用され、データ領域
の場合にはパラメータのように頻繁に書き換えられるこ
とが予想され、プログラム領域に関してはバージョンア
ップなどを除いて殆ど書き換えらえることはない。この
ような事情を考慮したとき、複数の記憶領域に対して合
目的的にその記憶領域の機能もしくは性能を最適化する
ことが必要になる、ということを本発明者は見出した。
例えば、書き換え回数が多いパラメータなどの記憶用途
にはメモリセルの特性劣化度合いが強くなるのでメモリ
セル使用効率を犠牲にしても情報記憶の信頼性低下を抑
制することを優先させ、書き換え回数が少なくてよい領
域では特性劣化の進行は緩慢であるからメモリセルの使
用効率を最大化することを優先させるのが適切である。
According to a study by the present inventor, the flash memory on-chip in the microcomputer is used to store data and programs, and in the case of the data area, it is frequently rewritten like parameters. As expected, the program area is almost never rewritten except for version upgrades. In consideration of such a situation, the present inventor has found that it is necessary to purposefully optimize the function or performance of a plurality of storage areas.
For example, since the degree of deterioration in the characteristics of memory cells increases for storage applications such as parameters that require a large number of rewrites, priority is given to suppressing the decrease in reliability of information storage even if the memory cell usage efficiency is sacrificed. In the region where the temperature is good, the deterioration of the characteristics is slow, so it is appropriate to give priority to maximizing the usage efficiency of the memory cell.

【0010】本発明の目的は、書き換え回数が少ない用
途から多い用途まで1つの不揮発性メモリで対応でき、
情報記憶の信頼性向上若しくは書き換え上限回数を向上
させるために、新たなハードウェアを備える必要のない
マイクロコンピュータのようなデータ処理装置を提供す
ることである。
The object of the present invention is to cope with a small number of rewritings and a large number of rewritings with one non-volatile memory,
It is an object of the present invention to provide a data processing device such as a microcomputer that does not need to be equipped with new hardware in order to improve the reliability of information storage or the upper limit number of rewrites.

【0011】本発明の別の目的は、1個の不揮発性メモ
リに対して書き換えが頻繁な領域では情報記憶の信頼性
低下の抑制を優先させ、書き換え回数が少なくてよい領
域ではメモリセルの使用効率を最大化することを優先さ
せることが可能なデータ処理装置を提供することにあ
る。
Another object of the present invention is to prioritize suppression of deterioration in reliability of information storage in a region where rewriting is frequent with respect to one non-volatile memory, and to use a memory cell in a region where the number of rewriting is small. It is to provide a data processing device capable of giving priority to maximizing efficiency.

【0012】本発明の前記並びにその他の目的と新規な
特徴は本明細書の記述及び添付図面から明らかになるで
あろう。
The above and other objects and novel features of the present invention will be apparent from the description of this specification and the accompanying drawings.

【0013】[0013]

【課題を解決するための手段】本願において開示される
発明のうち代表的なものの概要を簡単に説明すれば下記
の通りである。
The outline of the representative one of the inventions disclosed in the present application will be briefly described as follows.

【0014】すなわち、データ処理装置はCPUと書き
換え可能な不揮発性メモリとを有する。前記CPUは、
前記不揮発性メモリにおける記憶領域の一部である特定
ブロックに情報を書き込むときは一つのデータを異なる
アドレスのメモリセルに格納し、前記特定ブロックから
データを読み出すときは前記異なるアドレスのメモリセ
ルからデータを読み出し、読み出した複数のデータに対
して論理演算を実行することにより必要な誤り訂正を行
うことが可能にされる。
That is, the data processing device has a CPU and a rewritable nonvolatile memory. The CPU is
When writing information in a specific block which is a part of the storage area in the non-volatile memory, one data is stored in memory cells of different addresses, and when reading data from the specific block, data is written from the memory cells of different addresses. Is read out, and a logical operation is executed on the read-out plurality of data, so that necessary error correction can be performed.

【0015】上記より、1個の不揮発性メモリに対して
書き換えが頻繁な一部の領域を上記特定ブロックとして
書き込み及び必要な誤り訂正処理対象とすることにより
当該一部の記憶領域における情報記憶の信頼性低下の抑
制を優先させることができる。そして、書き換え回数が
少なくてよい領域では上記特定ブロックとしての処理対
象としないことによりメモリセルの使用効率を最大化す
ることを優先させることができる。これにより、書き換
え回数が少ない用途から多い用途まで1つの不揮発性メ
モリで対応でき、情報記憶の信頼性向上若しくは書き換
え上限回数を向上させるために、新たなハードウェアを
必要としない。
From the above, by writing a part of the area that is frequently rewritten to one non-volatile memory as the specific block and subjecting it to the necessary error correction processing, the information storage of the part of the storage area can be improved. It is possible to give priority to the suppression of reliability deterioration. Then, by maximizing the use efficiency of the memory cell by not treating it as the specific block in the area where the number of times of rewriting may be small, it can be prioritized. As a result, one nonvolatile memory can be used for applications where the number of rewrites is small to many, and new hardware is not required to improve the reliability of information storage or the upper limit of the number of rewrites.

【0016】前記CPUが実行する論理演算は、例え
ば、前記異なるアドレスの数が2以上のとき、前記CP
Uの命令セットに含まれる命令の実行による論理OR演
算或は論理AND演算等としてよい。例えば不揮発性メ
モリが閾値電圧の高低に応じた情報記憶を行うことが可
能なフラッシュッメモリのとき、そのメモリセルの記憶
情報はフローティングゲートが保有する電子又は正孔の
量によって決定され、例えば熱平衡状態の閾値電圧より
も閾値電圧の高い状態に応答する記憶情報が論理値
“1”、低い状態に応答する記憶情報が論理値“0”で
あるなら、特性劣化により、閾値電圧が高い方から低い
方に変化されると仮定すると、論理OR演算を用いるこ
とにより、一つのデータにつき前記異なる複数アドレス
に格納したデータの全てが“0”に反転されない限り、
特性劣化による “1”から“0”への不所望な記憶情
報の破壊を防止することができる。一方、特性劣化によ
り、閾値電圧が低い方から高い方に変化されると仮定す
ると、論理AND演算を用いることにより、一つのデー
タにつき前記異なる複数アドレスに格納したデータの全
てが“1”に反転されない限り、特性劣化による
“0”から“1”への不所望な記憶情報の破壊を防止す
ることができる。その逆に、例えば熱平衡状態の閾値電
圧よりも閾値電圧の高い状態に応答する記憶情報が論理
値“0”、低い状態に応答する記憶情報が論理値“1”
であるなら、特性劣化により、閾値電圧が高い方から低
い方に変化されると仮定すると、論理AND演算を用い
ることにより、一つのデータにつき前記異なる複数アド
レスに格納したデータの全てが“1”に反転されない限
り、特性劣化による “0”から“1”への不所望な記
憶情報の破壊を防止することができる。一方、このと
き、特性劣化により、閾値電圧が低い方から高い方に変
化されると仮定すると、論理OR演算を用いることによ
り、一つのデータにつき前記異なる複数アドレスに格納
したデータの全てが“0”に反転されない限り、特性劣
化による “1”から“0”への不所望な記憶情報の破
壊を防止することができる。
The logical operation executed by the CPU is, for example, when the number of different addresses is 2 or more, the CP
It may be a logical OR operation or a logical AND operation by executing the instructions included in the instruction set of U. For example, when the non-volatile memory is a flash memory capable of storing information according to the level of the threshold voltage, the stored information of the memory cell is determined by the amount of electrons or holes held by the floating gate. If the stored information that responds to a state in which the threshold voltage is higher than the threshold voltage has a logical value of “1” and the stored information that responds to a lower state has a logical value of “0”, the higher threshold voltage will be Assuming that the data is changed to the lower side, by using a logical OR operation, unless all of the data stored at the different addresses for one data are inverted to “0”,
Undesired destruction of stored information from "1" to "0" due to characteristic deterioration can be prevented. On the other hand, assuming that the threshold voltage is changed from a lower value to a higher value due to characteristic deterioration, all the data stored at the different addresses are inverted to "1" by using a logical AND operation. Unless otherwise specified, due to characteristic deterioration
Undesired destruction of stored information from "0" to "1" can be prevented. On the contrary, for example, the storage information responding to the state in which the threshold voltage is higher than the threshold voltage in the thermal equilibrium state is the logical value "0", and the storage information responding to the low state is the logical value "1".
If it is assumed that the threshold voltage is changed from the higher side to the lower side due to the characteristic deterioration, by using the logical AND operation, all the data stored in the different plural addresses for one data is “1”. Unless it is inverted, it is possible to prevent undesired destruction of stored information from "0" to "1" due to characteristic deterioration. On the other hand, at this time, if it is assumed that the threshold voltage is changed from a lower value to a higher value due to the characteristic deterioration, all the data stored in the different plural addresses for one data is set to "0" by using the logical OR operation. Unless it is inverted to "", it is possible to prevent undesired destruction of stored information from "1" to "0" due to characteristic deterioration.

【0017】また、前記CPUが実行する論理演算は、
例えば、前記異なるアドレスの数が3以上のとき、複数
の命令の実行によって行われる多数決を採る演算処理と
してよい。“1”から“0”への不良と“0”から
“1”への不良の双方に対処することができる。
The logical operation executed by the CPU is
For example, when the number of the different addresses is 3 or more, the arithmetic processing may be a majority decision performed by executing a plurality of instructions. Both a defect from "1" to "0" and a defect from "0" to "1" can be dealt with.

【0018】前記不揮発性メモリは前記の特定ブロック
とは異なるブロックに、前記一つデータを異なるアドレ
スのメモリセルに格納するためのプログラム、誤り訂正
を行うためのプログラム、及びその他のプログラムを格
納してよい。
The nonvolatile memory stores a program for storing the one data in a memory cell at a different address, a program for performing error correction, and another program in a block different from the specific block. You may

【0019】前記の特定ブロックは他のブロックに比べ
て多い書換え回数を保証する製品仕様を有することにな
る。
The specific block has a product specification that guarantees a larger number of rewrites than other blocks.

【0020】前記不揮発性メモリは例えば電気的に消去
及び書き込み可能なフラッシュメモリである。前記CP
Uと不揮発性メモリはマイクロコンピュータを構成する
1個の半導体チップに形成されてよい。また、前記CP
Uと不揮発性メモリは夫々別々の半導体チップに形成さ
れてもよい。
The nonvolatile memory is, for example, an electrically erasable and writable flash memory. CP
The U and the non-volatile memory may be formed on one semiconductor chip forming a microcomputer. Also, the CP
The U and the non-volatile memory may be formed on different semiconductor chips.

【0021】[0021]

【発明の実施の形態】図1には本発明に係るデータ処理
装置の一例であるマイクロコンピュータが示される。同
図に示されるマイクロコンピュータ1は、書き換え可能
な不揮発性記憶装置の一例であるフラッシュッメモリ
2、CPU3、RAM(ランダム・アクセス・メモリ)
4及びインタフェース回路5を有し、それらは内部アド
レスバス6、内部データバス7及び図示を省略するコン
トロールバスによって接続される。インタフェース回路
5は外部アドレスバス8、外部データバス9及び図示を
省略する外部コントロールバスを介して図示を省略する
周辺回路等に接続可能にされる。同図に示されるマイク
ロコンピュータ1は、例えばCMOS集積回路製造技術
により、単結晶シリコンなどの1個の半導体基板もしく
は半導体チップに形成される。
DESCRIPTION OF THE PREFERRED EMBODIMENTS FIG. 1 shows a microcomputer which is an example of a data processing device according to the present invention. The microcomputer 1 shown in the figure is a flash memory 2, a CPU 3, a RAM (random access memory), which is an example of a rewritable nonvolatile storage device.
4 and an interface circuit 5, which are connected by an internal address bus 6, an internal data bus 7 and a control bus (not shown). The interface circuit 5 can be connected to a peripheral circuit (not shown) or the like via an external address bus 8, an external data bus 9 and an external control bus (not shown). The microcomputer 1 shown in the figure is formed on a single semiconductor substrate or semiconductor chip such as single crystal silicon by a CMOS integrated circuit manufacturing technique, for example.

【0022】前記CPU3は、特に図示はしないが、命
令制御部と演算部を有し、命令制御部で命令をフェッチ
し、フェッチした命令を解読し、解読結果に従って制御
信号を生成する。演算部は前記制御信号に基づいて、そ
の命令による指示を実現するためのアドレス演算及びデ
ータ演算等を実行する。前記RAM4はCPU3のワー
ク領域又はデータ一時記憶領域に用いられる。CPUの
命令セットには、データ転送命令、論理演算命令、算術
演算命令、ビット操作命令、分岐命令などがある。論理
演算命令として、一般的はAND、OR、排他的論理和
等の論理演算処理を行う命令がある。
Although not shown in the drawing, the CPU 3 has an instruction control unit and a calculation unit, the instruction control unit fetches an instruction, decodes the fetched instruction, and generates a control signal according to the decoding result. Based on the control signal, the arithmetic unit executes an address arithmetic operation, a data arithmetic operation, etc. for realizing the instruction by the instruction. The RAM 4 is used as a work area of the CPU 3 or a temporary data storage area. The instruction set of the CPU includes a data transfer instruction, a logical operation instruction, an arithmetic operation instruction, a bit operation instruction, a branch instruction and the like. As logical operation instructions, there are generally instructions for performing logical operation processing such as AND, OR, and exclusive OR.

【0023】前記フラッシュッメモリ2は、不揮発性メ
モリセルがマトリクス配置された不揮発性記憶領域とし
て、特に制限されないが、頻繁に書き換えが予定されて
いる第1領域としての特定ブロック領域11と、頻繁な
書き換えが予定されていない第2領域としてのプログラ
ム領域12を有する。前記プログラム領域12には、例
えば、前記特定ブロック領域11のアクセスに利用する
プログラムや、その他のプログラムが格納される。図1
において前記特定ブロック領域11とプログラム領域1
2は物理的に分離されているように図示されているが、
同じメモリアレイ内に配置されて差し支えない。
The flash memory 2 is not particularly limited as a non-volatile storage area in which non-volatile memory cells are arranged in a matrix, but a specific block area 11 as a first area where frequent rewriting is planned and a frequent area. The program area 12 is provided as a second area which is not scheduled to be rewritten. The program area 12 stores, for example, a program used for accessing the specific block area 11 and other programs. Figure 1
In the specific block area 11 and the program area 1
2 are shown as physically separated,
It can be located in the same memory array.

【0024】図2には前記不揮発性記憶領域に配置され
た不揮発性メモリセルのIds−Vgs特性が例示され
る。この例では、論理値”0”および”1”を保持して
いるメモリセルではそれぞれ低閾値状態および高閾値状
態となる。したがって、ゲート・ソース間に適切な電圧
を印加すると(選択)、論理値”0”および”1”を保
持しているメモリセルではそれぞれドレイン・ソース間
が導通および非導通となり、記憶情報に応じたデータの
読み出しができる。
FIG. 2 illustrates the Ids-Vgs characteristics of the nonvolatile memory cell arranged in the nonvolatile storage area. In this example, the memory cells holding the logical values “0” and “1” are in the low threshold state and the high threshold state, respectively. Therefore, when an appropriate voltage is applied between the gate and the source (selection), the memory cell holding the logical values “0” and “1” becomes conductive and non-conductive between the drain and source, respectively, depending on the stored information. The data can be read.

【0025】図3には図2に示したような低閾値状態お
よび高閾値状態を作り出すための不揮発性メモリセルの
構造とその書込み状態および消去状態が例示される。特
に制限されないが、ここでは、前記不揮発性メモリセル
の閾値電圧が高い状態(“1”状態)をプログラム(書
込み)状態、前記不揮発性メモリセルの閾値電圧が低い
状態(“0”状態)をイレーズ(消去)状態と定義す
る。
FIG. 3 illustrates the structure of a non-volatile memory cell for producing the low threshold state and the high threshold state as shown in FIG. 2 and its write state and erase state. Although not particularly limited, here, a state where the threshold voltage of the non-volatile memory cell is high (“1” state) is a program (write) state, and a state where the threshold voltage of the non-volatile memory cell is low (“0” state). Defined as an erased state.

【0026】不揮発性メモリセルは、nチャネル型とさ
れ、Pウェル(P型ウェル領域)PWに形成されたソー
スSCとドレインDRとの間のチャネル形成領域の上
に、酸化膜を介してフローティングゲートFGが設けら
れ、その上にゲート絶縁膜を介してコントロールゲート
CGが積層されて構成される。
The non-volatile memory cell is of an n-channel type and floats on the channel forming region between the source SC and the drain DR formed in the P well (P type well region) PW via an oxide film. A gate FG is provided, and a control gate CG is stacked on the gate FG via a gate insulating film.

【0027】イレーズ状態は、例えば、ソースSCに高
い正電圧(10V)、コントロールゲートCGに高い負
電圧(−10V)を印加し、フローティングゲートFG
からソースSCに電子を引き抜くことにより達成され
る。プログラム状態は、例えば、ドレインDRに正電圧
(7V)、ソースSCに回路の接地電圧(0V)、コン
トロールゲートCGに高い正電圧(10V)を印加し、
ドレイン・ソース間に電流を流し、これによって生ずる
ホットエレクトロンをフローティングゲートFGに蓄積
して達成される。
In the erase state, for example, a high positive voltage (10V) is applied to the source SC and a high negative voltage (-10V) is applied to the control gate CG, and the floating gate FG is applied.
From the source SC to the source SC. In the programmed state, for example, a positive voltage (7V) is applied to the drain DR, a circuit ground voltage (0V) is applied to the source SC, and a high positive voltage (10V) is applied to the control gate CG,
This is achieved by passing a current between the drain and the source and accumulating hot electrons generated thereby in the floating gate FG.

【0028】図4には前記フラッシュメモリの一例が示
される。同図においてメモリアレイ20には代表的に示
された不揮発性メモリセル21が多数個マトリクス配置
されている。不揮発性メモリセルのコントロールゲート
(CG)はワード線22に、ドレイン(DR)はビット
線23に、ソース(SC)はソース線24に接続され
る。図示は省略するが、前記ワード線22、ビット線2
3及びソース線24はメモリセル21の行列方向に多数
配置される。
FIG. 4 shows an example of the flash memory. In the figure, a large number of non-volatile memory cells 21, which are typically shown, are arranged in a matrix in a memory array 20. The control gate (CG) of the nonvolatile memory cell is connected to the word line 22, the drain (DR) is connected to the bit line 23, and the source (SC) is connected to the source line 24. Although not shown, the word line 22 and the bit line 2
Many 3 and source lines 24 are arranged in the matrix direction of the memory cell 21.

【0029】Xデコーダ25はアドレスバッファ26に
供給されるXアドレスをデコードしてワード線22を選
択的に駆動する。ワード線22の駆動電圧は読み出しや
書込みなどのフラッシュメモリの動作モードに応じて電
源回路27から供給される動作電源の電圧にしたがって
決定される。ソース及び基板制御回路28は前記ソース
線24及び不揮発性メモリセル21のウェル領域の電圧
を選択的に制御する。ソース線22やウェル領域に供給
される電圧はフラッシュッメモリの動作モードに応じて
電源回路27から供給される動作電源の電圧によって決
定される。ビット線23はYセレクタ29で選択されて
センスアンプ30又は書込みバッファ31に接続され
る。Yデコーダ32はアドレスバッファ26に供給され
るYアドレスをデコードしてYセレクタ29の選択制御
信号を生成する。前記書込みバッファ31は入力バッフ
ァ33を介して書込みデータラッチし、消去状態のメモ
リセル21をプログラム状態に変化させるためにビット
線23を駆動する。ビット線駆動電圧は動作モードに応
じて電源回路27から与えられる動作電源の電圧によっ
て決まる。前記センスアンプ30は読み出し動作又は書
込み動作におけるベリファイ動作でメモリセルからビッ
ト線に読み出された読み出し信号を増幅する。増幅され
た読み出し信号はリードデータとして出力バッファ34
から内部データバス7に出力される。
The X decoder 25 decodes the X address supplied to the address buffer 26 and selectively drives the word line 22. The drive voltage of the word line 22 is determined according to the operating power supply voltage supplied from the power supply circuit 27 according to the operation mode of the flash memory such as reading and writing. The source / substrate control circuit 28 selectively controls the voltages of the source line 24 and the well region of the nonvolatile memory cell 21. The voltage supplied to the source line 22 and the well region is determined by the voltage of the operation power supply supplied from the power supply circuit 27 according to the operation mode of the flash memory. The bit line 23 is selected by the Y selector 29 and connected to the sense amplifier 30 or the write buffer 31. The Y decoder 32 decodes the Y address supplied to the address buffer 26 and generates a selection control signal for the Y selector 29. The write buffer 31 latches write data via the input buffer 33, and drives the bit line 23 to change the erased memory cell 21 to the programmed state. The bit line drive voltage is determined by the voltage of the operating power supply supplied from the power supply circuit 27 according to the operating mode. The sense amplifier 30 amplifies the read signal read from the memory cell to the bit line by the verify operation in the read operation or the write operation. The amplified read signal is output buffer 34 as read data.
Is output to the internal data bus 7.

【0030】制御部36はCPU3からのアクセス指示
を受けてフラッシュメモリ2の内部動作を制御する。制
御部36は、CPU2からリード動作が指示されると、
内部アドレスバス6から与えられたアドレスをXデコー
ダ25およびYデコーダ32にデコードさせてワード線
21およびビット線23を選択させ、これによってアク
セスアドレスに対応するメモリセルを選択する。制御部
36は読み出し動作時にはセンスアンプ30および出力
バッファ34を活性化し、読み出されたデータを内部デ
ータバス7に出力させる。
The control unit 36 receives the access instruction from the CPU 3 and controls the internal operation of the flash memory 2. When the CPU 2 instructs the read operation to the control unit 36,
The address given from the internal address bus 6 is decoded by the X decoder 25 and the Y decoder 32 to select the word line 21 and the bit line 23, thereby selecting the memory cell corresponding to the access address. The control unit 36 activates the sense amplifier 30 and the output buffer 34 during the read operation and outputs the read data to the internal data bus 7.

【0031】制御部36は書込み動作のための制御レジ
スタREGを有し、CPU3によるその制御レジスタR
EGの設定状態に応じて書込み動作を行う。制御レジス
タREGは、プログラムビットP、イレーズビットEな
どの制御ビットを有し、さらに、消去ブロック(消去領
域)の指定領域EBLKを有する。ここでは、消去はソ
ース線を共通とするメモリセル群を最小単位とするもの
であり、消去ブロックの指定は夫々ソース線共通の複数
ブロックの中から消去対象ブロックを指定することによ
って行われる。データの書き換えの最小単位は消去ブロ
ック単位とされる。前記イレーズビットEがイネーブル
にされると、消去ブロック指定領域EBLKで指定され
るブロックのメモリセルに前記イレーズ状態のためのイ
レーズ電圧の印可が行われる。イレーズ電圧の印可は複
数回に分けて行われ、其の都度規定の閾値電圧に到達し
たかのベリファイが行われ、規定の閾値電圧に到達した
ところでイレーズ状態への動作を終了する。前記プログ
ラムビットPがイネーブルにされると、アドレスで指定
される書込み動作の対象メモリセルに対し、書込みデー
タの各ビットの論理値に応じて、前記プログラム状態の
ためのプログラム電圧印可とプログラム電圧印可阻止が
制御される。プログラム電圧の印可は複数回に分けて行
われ、其の都度規定の閾値電圧に到達したかのベリファ
イが行われ、規定の閾値電圧に到達したところでプログ
ラム状態への動作を終了する。
The control unit 36 has a control register REG for writing operation, and the control register R by the CPU 3 is used.
A write operation is performed according to the setting state of EG. The control register REG has control bits such as a program bit P and an erase bit E, and further has a designated area EBLK of an erase block (erase area). Here, erasing is performed by using a memory cell group having a common source line as a minimum unit, and an erasing block is designated by designating an erasing target block from a plurality of blocks each having a common source line. The minimum unit of data rewriting is the erase block unit. When the erase bit E is enabled, the erase voltage for the erase state is applied to the memory cells in the block designated by the erase block designation area EBLK. The erase voltage is applied in a plurality of times, each time a verification is made as to whether or not the specified threshold voltage has been reached, and when the specified threshold voltage is reached, the operation to the erased state is terminated. When the program bit P is enabled, the program voltage application and the program voltage application for the program state are applied to the target memory cell of the write operation specified by the address according to the logical value of each bit of the write data. Blocking is controlled. The application of the program voltage is divided into a plurality of times, and each time, verification is performed as to whether or not the specified threshold voltage has been reached, and when the specified threshold voltage is reached, the operation to the programmed state ends.

【0032】次に、書き換えが頻繁に行われる前記特定
ブロック領域11に対する情報記憶の信頼性を向上させ
るための書込み動作及び読み出し動作について説明す
る。前記CPU3は、前記特定ブロック領域11に情報
を書き込むときは一つのデータを異なるアドレスのメモ
リセルに格納し、前記特定ブロック領域11からデータ
を読み出すときは前記異なるアドレスのメモリセルから
データを読み出し、読み出した前記複数データに対して
論理演算を実行して、必要な誤り訂正を行う。一方、プ
ログラム領域12に対してCPU3は、従来通りのフラ
ッシュッメモリアクセスを行い、一つのデータに対する
別アドレスへの重複書込み、対応別アドレスから読み出
した重複データに基づく必要なエラー訂正といった処理
は行わない。
Next, a write operation and a read operation for improving the reliability of information storage in the specific block area 11 in which rewriting is frequently performed will be described. The CPU 3 stores one data in memory cells of different addresses when writing information in the specific block area 11, and reads data from memory cells of different addresses when reading data from the specific block area 11, A logical operation is performed on the read plurality of data to perform necessary error correction. On the other hand, the CPU 3 performs a conventional flash memory access to the program area 12 and performs processing such as duplicate writing of one data to another address and necessary error correction based on the duplicate data read from the corresponding address. Absent.

【0033】図5には、一つのデータに対する別アドレ
スへの重複書込み、及び対応別アドレスから読み出した
重複データに基づく必要なエラー訂正の処理フローが例
示される。この処理フローの制御主体はCPU3であ
る。要するに、一つのデータに対する別アドレスへの重
複書込み、及び対応別アドレスから読み出した重複デー
タに基づく必要なエラー訂正の処理は、CPU3の動作
プログラムによって規定される。このプログラムはマイ
クロコンピュータの製造メーカ側からユーザに提供され
る場合もあれば、チップユーザが作成する場合もあり得
る。
FIG. 5 exemplifies a processing flow of duplicate writing of one data to another address and necessary error correction based on the duplicate data read from the corresponding address. The CPU 3 controls the processing flow. In short, the duplication writing of one data to another address and the necessary error correction processing based on the duplication data read from the corresponding address are defined by the operation program of the CPU 3. This program may be provided to the user by the manufacturer of the microcomputer, or may be created by the chip user.

【0034】CPU3が実行する特定ブロック領域11
へのアクセスプログラムは、データ書込み動作を制御す
るものと、データ読み出し動作を制御するものに大別さ
れる。其の記述より、データ書込みであればCPU3は
ステップS1〜S4を実行し、データ読み出しであれ
ば、ステップS5〜S9を実行する。
Specific block area 11 executed by CPU 3
The access program for accessing the data is roughly classified into one that controls the data write operation and one that controls the data read operation. From the description, the CPU 3 executes steps S1 to S4 if the data is written, and steps S5 to S9 if the data is read.

【0035】一つのデータ書込みの場合について説明す
る。特定ブロック領域11は、図6に例示されるよう
に、A0からA0+2K−1までの2K個の番地が含ま
れているものとする。特定ブロック領域11への書き込
みを行う場合には、まず書き込むべきアドレスを指定す
るためにCPU3のアドレスレジスタにアドレスAi
(A0≦Ai≦A0+K−1)をセットして内部アドレ
スバス6に出力し(S1)、内部データバス7を介して
フラッシュッメモリ2のプログラムビットPをセットす
ると共に書込みデータDiを出力してフラッシュメモリ
2のアドレスAiにデータDiを書き込む(S2)。こ
のアドレスセット(S1)とデータ書込み(S2)の動
作それ自体は通常動作における前記プログラム及びプロ
グラムベリファイ動作と同じ動作になる。次に、書き込
みアドレスをKだけずらして(Ai+Kにセット)CP
U3のアドレスレジスタにセットし、そのアドレスを内
部アドレスバス6に出力し(S3)、フラッシュッメモ
リ2のアドレスAi+Kに前記と同一データDiを書き
込む(S4)。このアドレスセット(S3)とデータ書
込み(S3)の動作それ自体は通常動作における前記プ
ログラム及びプログラムベリファイ動作と同じ動作にな
る。
The case of writing one data will be described. The specific block area 11 is assumed to include 2K addresses from A0 to A0 + 2K-1, as illustrated in FIG. When writing to the specific block area 11, first, in order to specify the address to be written, the address Ai is set in the address register of the CPU 3.
(A0≤Ai≤A0 + K-1) is set and output to the internal address bus 6 (S1), the program bit P of the flash memory 2 is set via the internal data bus 7, and the write data Di is output. The data Di is written to the address Ai of the flash memory 2 (S2). The operation itself of the address setting (S1) and data writing (S2) is the same as the program and program verify operation in the normal operation. Next, shift the write address by K (set to Ai + K) CP
It is set in the address register of U3, the address is output to the internal address bus 6 (S3), and the same data Di as described above is written to the address Ai + K of the flash memory 2 (S4). The operation itself of the address setting (S3) and data writing (S3) is the same as the program and program verify operation in the normal operation.

【0036】データ読み出しの場合について説明する。
まず、読み出すべきフラッシュメモリのアドレスAi
(A0≦Ai≦A0+K−1)をバス6に出力し(S
5)、CPU3のレジスタ(例えば汎用レジスタ)R0
にデータをロードする(S6)。次に、Kだけずらした
アドレス(Ai+K)をバス6に出力し(S7)、CP
U3のレジスタ(例えば汎用レジスタ)R1にデータを
ロードする(S8)。今、フラッシュメモリセルのフロ
ーティングゲートに電荷がある状態およびない状態がそ
れぞれ論理値“1”および“0”に対応するもとのとす
る。もともとフローティングゲートにあった電荷がなく
なる不良(論理値“1”が論理値“0”に化ける不良)
のみ起こり、その逆の不良は起こらないものと仮定する
と、レジスタR0の値とレジスタR1の値の論理OR演
算命令をCPU3に実行させる(S9)。これにより、
前記論理OR演算の結果は、たかだか一方のデータでし
か不良が起こっていなければ誤りを訂正し本来の正しい
値になる。したがって、CPU3はそのような論理OR
演算の結果をリードデータとして処理することにより、
フラッシュッメモリ2で頻繁に書き換えられるデータの
信頼性を向上させることができ、実質的に、保証書換え
回数を増大させることができる。図5の例は、2重にデ
ータを書込み、読み出しはこれらの論理OR演算を行う
ものであるが、3重あるいはそれ以上にデータを書込
み、これらの論理OR演算を行って読み出すと、セル使
用効率はさらに悪くなるが、データの信頼性はより向上
する。
The case of reading data will be described.
First, the address Ai of the flash memory to be read
(A0 ≦ Ai ≦ A0 + K-1) is output to the bus 6 (S
5), CPU3 register (eg general-purpose register) R0
The data is loaded into (S6). Next, the address (Ai + K) shifted by K is output to the bus 6 (S7), and CP
The data is loaded into the register (for example, general-purpose register) R1 of U3 (S8). Now, it is assumed that the state in which the floating gate of the flash memory cell has a charge and the state in which there is no charge correspond to logical values "1" and "0", respectively. A defect in which the charge that originally existed in the floating gate disappears (a defect in which the logical value "1" turns into a logical value "0")
Assuming that only the error occurs and the opposite does not occur, the CPU 3 is caused to execute the logical OR operation instruction of the value of the register R0 and the value of the register R1 (S9). This allows
As a result of the logical OR operation, if a defect occurs in only one of the data, the error is corrected and the original correct value is obtained. Therefore, the CPU 3 has such a logical OR.
By processing the calculation result as read data,
The reliability of data that is frequently rewritten in the flash memory 2 can be improved, and the number of guaranteed rewrites can be substantially increased. In the example of FIG. 5, the data is written twice and the logical OR operation is performed for reading, but when the data is written three times or more and the logical OR operation is performed and read, the cell is used. Less efficient, but more reliable data.

【0037】特定ブロック領域11以外の他のブロック
をアクセス(書込みおよび読み出し)する場合は、ユー
ザは上述のようなアクセスプログラムを起動せずに通常
の方法でアクセスを行う。したがって、他のブロックで
はデータを冗長に持たせてはいないので、セル使用効率
は劣化しないが、特定ブロック領域11ほどのデータの
信頼性は維持できず、保証書換え回数も特定ブロック領
域11での値より少なくなる。特定ブロック領域11を
含む全てのブロックで特に高い書換え回数を必要としな
いユーザは、特定ブロック領域11へのアクセス時も上
述の特定ブロック領域へのアクセスプログラムを起動し
なければ、全てのブロックでセル使用効率を劣化させず
に済む。また、特定ブロック領域11に加えて他の一部
のブロックでも多数の書換え回数を必要とするユーザに
対してはこれらの複数のブロックで上述のような多重の
書込み及び論理OR演算を行うアクセスプログラムを提
供することにより対応できる。このように様々なユーザ
のニーズに対して特定ブロック領域へのアクセスプログ
ラムのようなプログラムの使用/非使用、或は内容変更
のみで対応でき、フラッシュメモリのハードウェア構成
を一切変更する必要はない。
When accessing (writing and reading) other blocks other than the specific block area 11, the user performs the access by a normal method without activating the above access program. Therefore, since the data is not redundantly provided in the other blocks, the cell use efficiency does not deteriorate, but the reliability of the data as much as the specific block area 11 cannot be maintained, and the guaranteed rewrite count in the specific block area 11 is not maintained. Less than the value. A user who does not require a particularly high number of rewrites in all the blocks including the specific block area 11 does not start the cell in all blocks unless the above-mentioned access program to the specific block area 11 is started even when accessing the specific block area 11. It does not deteriorate the usage efficiency. Further, for a user who needs a large number of rewriting times in some of the other blocks in addition to the specific block area 11, an access program for performing the above-mentioned multiple write and logical OR operation in these plural blocks Can be dealt with by providing. In this way, it is possible to meet the needs of various users by only using / not using a program such as an access program to a specific block area, or by changing the content, and there is no need to change the hardware configuration of the flash memory at all. .

【0038】なお、上述の特定ブロック領域へのアクセ
スプログラムを適用する場合は、適用するブロック(例
えば特定ブロック領域11)からの読み出しは一つのデ
ータにつき複数のCPU命令ステップを必要とするの
で、ウェイトサイクルなしでデータを続けてランダムア
クセスすることはできない。本発明の適切な適用例とし
ては、システムの電源遮断前にRAM4からフラッシュ
メモリ2にデータを書込み、電源投入直後にフラッシュ
メモリ2からRAM4にデータを読み出すような用途が
考えられる。例えば、車載用電子制御装置において学習
値や車載部品の自己診断結果をフラッシュメモリ2に保
存する、エアコンシステムにおいてユーザが使用中に指
定した好みの設定値をフラッシュメモリ2に保存する、
ビデオゲーム装置においてデータをフラッシュメモリ2
に保存する、などの用途が考えられる。
When the above-mentioned access program to the specific block area is applied, since reading from the block to be applied (for example, the specific block area 11) requires a plurality of CPU instruction steps for one data, the wait is performed. It is not possible to continuously access data randomly without cycles. As a suitable application example of the present invention, an application is conceivable in which data is written from the RAM 4 to the flash memory 2 before power-off of the system, and data is read from the flash memory 2 to the RAM 4 immediately after power-on. For example, the learned value and the self-diagnosis result of the in-vehicle component are stored in the flash memory 2 in the vehicle-mounted electronic control device, and the favorite set value designated by the user in the air-conditioning system is stored in the flash memory 2.
Flash memory 2 in the video game device
It can be used for such purposes as storing in.

【0039】図7にはフラッシュメモリで起こる不良が
図5とは逆の場合になると仮定したときの一つのデータ
に対する別アドレスへの重複書込み、及び対応別アドレ
スから読み出した重複データに基づく必要なエラー訂正
の処理フローが例示される。ここでは、図5の場合とは
逆に、論理値“0”が論理値“1”に化ける不良に対処
するときの特定ブロック領域へのアクセスプログラムの
例である。図5との相違点は、ステップS9をステップ
S9aに変更した点であり、ステップS9aでは読み出
し時に論理AND演算命令を実行する。この場合も、論
理AND演算の結果は、たかだか一方のデータでしか不
良が起こっていなければ誤りを訂正し本来の正しい値に
なる。したがって、CPU3はそのような論理AND演
算の結果をリードデータとして処理することにより、フ
ラッシュッメモリ2で頻繁に書き換えられるデータの信
頼性を向上させることができ、実質的に、保証書換え回
数を増大させることができる。図7の例は、2重にデー
タを書込み、読み出しはこれらの論理AND演算を行う
ものであるが、3重あるいはそれ以上にデータを書込
み、これらの論理AND演算を行って読み出すと、セル
使用効率はさらに悪くなるが、データの信頼性はより向
上する。
In FIG. 7, it is assumed that the defect occurring in the flash memory is the opposite of that of FIG. 5, and one data is duplicately written to another address and the necessary data is read based on the duplicated data read from the corresponding another address. A processing flow of error correction is illustrated. Here, contrary to the case of FIG. 5, it is an example of an access program to a specific block area when dealing with a defect in which a logical value “0” becomes a logical value “1”. The difference from FIG. 5 is that step S9 is changed to step S9a, and in step S9a, a logical AND operation instruction is executed at the time of reading. In this case as well, the result of the logical AND operation is corrected to an error and becomes an original correct value if at most one of the data has a defect. Therefore, the CPU 3 can improve the reliability of the data frequently rewritten in the flash memory 2 by processing the result of such logical AND operation as the read data, and substantially increase the guaranteed rewrite frequency. Can be made. In the example of FIG. 7, the data is written twice and the logical AND operation is performed for reading. However, when the data is written three times or more and the logical AND operation is performed and read, the cell is used. Less efficient, but more reliable data.

【0040】図8には書き込み時に3つのアドレス(A
i、Ai+K、Ai+2K)に同一のデータを書き込
み、読み出し時にこれらの多数決論理を採って出力する
アクセスプログラムによる書込みと読み出しの制御フロ
ーが例示される。
FIG. 8 shows three addresses (A
i, Ai + K, Ai + 2K), and the control flow of writing and reading by an access program that writes and outputs the same data by reading the majority logic at the time of reading.

【0041】CPU3が実行する特定ブロック領域への
アクセスプログラムは、データ書込み動作を制御するも
のと、データ読み出し動作を制御するものに大別され
る。その記述より、データ書込みであればCPU3はス
テップS11〜S16を実行し、データ読み出しであれ
ば、ステップS17〜S26を実行する。
Programs for accessing the specific block area executed by the CPU 3 are roughly classified into those which control the data write operation and those which control the data read operation. From the description, the CPU 3 executes steps S11 to S16 if the data is written, and executes the steps S17 to S26 if the data is read.

【0042】一つのデータ書込みの場合について説明す
る。特定ブロック領域11は、図9に例示されるよう
に、A0からA0+3K−1までの3K個の番地が含ま
れているものとする。特定ブロック領域11への書き込
みを行う場合には、まず書き込むべきアドレスを指定す
るためにCPU3のアドレスレジスタにアドレスAi
(A0≦Ai≦A0+K−1)をセットしてアドレスバ
ス6に出力し(S11)、内部データバス7を介してフ
ラッシュメモリのプログラムビットPをセットすると共
に書込みデータDiを出力してフラッシュメモリ2のア
ドレスAiにデータDiを書き込む(S12)。このア
ドレスセット(S11)とデータ書込み(S12)の動
作それ自体は通常動作における前記プログラム及びプロ
グラムベリファイ動作と同じ動作になる。次に、書き込
みアドレスをKだけずらしてCPU3のアドレスレジス
タにセット(Ai+Kにセット)して内部アドレスバス
6に出力し(S13)、フラッシュメモリのアドレスA
i+Kに前記と同一データDiを書き込む(S14)。
このアドレスセット(S13)とデータ書込み(S1
4)動作それ自体は通常動作における前記プログラム及
びプログラムベリファイ動作と同じ動作になる。更に、
書き込みアドレスを2KだけずらしてCPU3のアドレ
スレジスタにセット(Ai+2Kにセット)してアドレ
スバス6に出力し(S15)、フラッシュメモリのアド
レスAi+2Kに前記と同一データDiを書き込む(S
16)。このアドレスセット(S15)とデータ書込み
(S16)動作それ自体は通常動作における前記プログ
ラム及びプログラムベリファイ動作と同じ動作になる。
The case of writing one data will be described. As illustrated in FIG. 9, the specific block area 11 is assumed to include 3K addresses from A0 to A0 + 3K-1. When writing to the specific block area 11, first, in order to specify the address to be written, the address Ai is set in the address register of the CPU 3.
(A0≤Ai≤A0 + K-1) is set and output to the address bus 6 (S11), the program bit P of the flash memory is set via the internal data bus 7, and the write data Di is output to output the flash memory 2 The data Di is written to the address Ai (S12). The address setting (S11) and data writing (S12) operations themselves are the same as the program and program verify operations in the normal operation. Next, the write address is shifted by K and set in the address register of the CPU 3 (set to Ai + K) and output to the internal address bus 6 (S13).
The same data Di as described above is written in i + K (S14).
This address set (S13) and data writing (S1
4) The operation itself is the same as the program and program verify operation in the normal operation. Furthermore,
The write address is shifted by 2K and set in the address register of the CPU 3 (set to Ai + 2K) and output to the address bus 6 (S15), and the same data Di is written to the address Ai + 2K of the flash memory (S).
16). The address setting (S15) and data writing (S16) operations themselves are the same as the program and program verify operations in the normal operation.

【0043】データ読み出しの場合について説明する。
まず、読み出すべきフラッシュメモリのアドレスAi
(A0≦Ai≦A0+K−1)をバス6に出力し(S1
7)、CPU3のレジスタ(例えば汎用レジスタ)R0
にデータをロードする(S18)。例えばR0=011
0がロードされる。次に、Kだけずらしたアドレス(A
i+K)をバス6に出力し(S19)、CPU3のレジ
スタ(例えば汎用レジスタ)R1にデータをロードする
(S20)。例えばR1=0111がロードされる。更
に、2Kだけずらしたアドレス(Ai+2K)をバス6
に出力し(S21)、CPU3のレジスタ(例えば汎用
レジスタ)R2にデータをロードする(S22)。例え
ばR2=0111がロードされる。
The case of reading data will be described.
First, the address Ai of the flash memory to be read
(A0 ≦ Ai ≦ A0 + K-1) is output to the bus 6 (S1
7), CPU3 register (for example, general-purpose register) R0
The data is loaded into (S18). For example, R0 = 011
0 is loaded. Next, the address shifted by K (A
i + K) is output to the bus 6 (S19), and data is loaded into the register (for example, general-purpose register) R1 of the CPU 3 (S20). For example, R1 = 0111 is loaded. Furthermore, the address (Ai + 2K) shifted by 2K is used for bus 6
(S21), and the data is loaded into the register (for example, general-purpose register) R2 of the CPU 3 (S22). For example, R2 = 0111 is loaded.

【0044】ここで、一般に、3つの値(P、Q、R)
の多数決論理は、(P・/Q+/P・Q)・R+P・Q
により表される。記号/はそれが付された値の反転を意
味する。ステップS23〜S25は其の演算を一般のマ
イコンの命令セットに含まれている論理演算命令の組み
合わせにより実行する。ステップS23ではレジスタR
0のデータとレジスタR1のデータに対して排他的論理
和演算を行って其の演算結果をレジスタR3に得る。ス
テップS24ではレジスタR0のデータとレジスタR1
のデータとに対する論理AND演算を行って演算結果を
レジスタR1に格納する。ステップS25ではレジスタ
R2のデータとレジスタR3のデータに対して論理AN
D演算を行ってsの演算結果をレジスタR2に格納す
る。ステップS26ではR1とR2の論理OR演算を行
って結果をR1に格納する。ステップS26でレジスタ
R1に得られた演算の結果は、3個のデータの内一致す
る2個のデータとされる。したがって、CPU3はその
ような多数決論理演算の結果をリードデータとして処理
することにより、フラッシュッメモリ2で頻繁に書き換
えられるデータの信頼性を向上させることができる。特
に図5、図7の例に比べてメモリセルの使用効率が劣化
し、また、命令ステップ数が増大するというデメリット
はあるものの、論理値が“1”から“0”に化ける不良
と“0”から“1”に化ける不良の両方に対応できると
いうメリットがある。
Here, in general, three values (P, Q, R)
Majority logic is (P ・ / Q + / P ・ Q) ・ R + P ・ Q
Represented by The symbol / means the inversion of the value to which it is attached. In steps S23 to S25, the operation is executed by a combination of logical operation instructions included in the instruction set of a general microcomputer. In step S23, register R
An exclusive OR operation is performed on the data of 0 and the data of the register R1 to obtain the operation result in the register R3. In step S24, the data in the register R0 and the register R1
And the result of the logical AND operation is stored in the register R1. In step S25, a logical AN is applied to the data in register R2 and the data in register R3.
The D operation is performed and the operation result of s is stored in the register R2. In step S26, the logical OR operation of R1 and R2 is performed and the result is stored in R1. The result of the operation obtained in the register R1 in step S26 is set as two matching data among the three data. Therefore, the CPU 3 can improve the reliability of the data frequently rewritten in the flash memory 2 by processing the result of such a majority logic operation as the read data. In particular, as compared with the examples of FIGS. 5 and 7, the use efficiency of the memory cell is deteriorated and the number of instruction steps is increased, but there is a disadvantage that the logical value changes from “1” to “0” and “0”. There is a merit that it is possible to deal with both defects that change from "1" to "1".

【0045】図10にはオフチップのフラッシュメモリ
を用いたデータ処理装置の例が示される。図10におい
てマイクロコンピュータ1Aとフラッシュッメモリ2A
は夫々別チップに形成され、マイクロコンピュータ1A
には前記フラッシュッメモリ2がオンチップされず、フ
ラッシュッメモリ2Aは単独で半導体集積回路化されて
いる。図10の構成においてもフラッシュッメモリ2A
は前記特定ブロック領域11を有し、それに対する書込
み及び読み出しは、前記同様にマイクロコンピュータ1
AのCPU3が実行するプログラムによって制御され
る。このマルチチップ構成においてもフラッシュメモリ
2Aの一部の頻繁に書き換えられる特定ブロック領域の
書き換え回数の実質的な制限を緩和でき、頻繁に書き換
えられるデータの信頼性を向上させることができる。
FIG. 10 shows an example of a data processing device using an off-chip flash memory. In FIG. 10, a microcomputer 1A and a flash memory 2A
Are formed on separate chips, and the microcomputer 1A
The flash memory 2 is not on-chip, and the flash memory 2A is independently made into a semiconductor integrated circuit. Even in the configuration of FIG. 10, the flash memory 2A
Has the specific block area 11, and writing and reading to and from the specific block area 11 are performed by the microcomputer 1 as described above.
It is controlled by a program executed by the CPU 3 of A. Even in this multi-chip configuration, it is possible to relax the substantial limit of the number of times of rewriting of a specific block area of the flash memory 2A that is frequently rewritten, and improve the reliability of the frequently rewritten data.

【0046】以上本発明者によってなされた発明を実施
形態に基づいて具体的に説明したが、本発明はそれに限
定されるものではなく、その要旨を逸脱しない範囲にお
いて種々変更可能であることは言うまでもない。
Although the invention made by the present inventor has been specifically described based on the embodiments, the present invention is not limited thereto, and it goes without saying that various modifications can be made without departing from the scope of the invention. Yes.

【0047】例えば、書き込み及び消去は相対的な概念
であり、上記とは逆に定義してもよい。また、フラッシ
ュッメモリのフローティングゲートに対する電子の注入
方式はホットエレクトロン注入に限定されず、トンネル
注入であってもよい。また、不揮発性メモリは1個のメ
モリセルにつき2値でデータを保持する構成に限定され
ず、4値などの多値記憶を行う構成であってもよい。ま
た、不揮発性メモリはフラッシュッメモリに限定され
ず、強誘電体メモリなどの、別の記憶形式を有する書き
換え可能な構成であってもよい。また、フラッシュメモ
リセルトランジスタはpチャネル型であってもよい。
For example, writing and erasing are relative concepts, and may be defined in reverse to the above. The method of injecting electrons into the floating gate of the flash memory is not limited to hot electron injection, and tunnel injection may be used. Further, the non-volatile memory is not limited to a configuration in which one memory cell holds binary data, and may have a configuration in which multi-value storage of four values or the like is performed. Further, the non-volatile memory is not limited to the flash memory and may be a rewritable structure having another storage format such as a ferroelectric memory. Further, the flash memory cell transistor may be a p-channel type.

【0048】また、特定ブロック領域の区切り方は図6
や図9に例示されるようにK個のようなオフセットを持
たせて分離する手法に限定されず、一つのデータを書込
む領域を順次隣同士のアドレスとすることも理論上は可
能である。K個のようなオフセットを持たせて分離する
手法の方がプログラムの作成が容易であり、また、デー
タ把握も容易である。
The method of dividing the specific block area is shown in FIG.
9 is not limited to the method of separating by giving an offset such as K as illustrated in FIG. 9, and it is theoretically possible to sequentially set the areas in which one data is written to adjacent addresses. . It is easier to create a program and easier to grasp the data by the method of separating by giving an offset such as K pieces.

【0049】データ処理装置が備える回路モジュールは
RAMやインタフェース回路に限定されず、ROM、コ
プロセッサ、アクセラレータ、その他の周辺回路などで
あってもよい。
The circuit module included in the data processing device is not limited to the RAM or the interface circuit, but may be a ROM, a coprocessor, an accelerator, or other peripheral circuits.

【0050】[0050]

【発明の効果】本願において開示される発明のうち代表
的なものによって得られる効果を簡単に説明すれば下記
の通りである。
The effects obtained by the typical ones of the inventions disclosed in the present application will be briefly described as follows.

【0051】すなわち、1個の不揮発性メモリに対して
書き換えが頻繁な一部の領域を特定ブロックとし、この
特定ブロックに対する書込みでは一つのデータに対する
別アドレスへの重複書込みを行い、読み出しでは対応別
アドレスから読み出した重複データに基づくエラー訂正
を行い、上記双方の処理をCPUのプログラムによって
実現するから、不揮発性メモリの一部の記憶領域に対し
て情報記憶の信頼性低下の抑制を優先させることができ
る。書き換え回数が少なくてよい領域では上記特定ブロ
ックとしての処理対象としないことによりメモリセルの
使用効率を最大化することを優先させることができる。
これにより、書き換え回数が少ない用途から多い用途ま
で1つの不揮発性メモリで対応でき、情報記憶の信頼性
向上若しくは書き換え上限回数を向上させるために、新
たなハードウェアを必要としない。
That is, a part of the non-volatile memory that is frequently rewritten is set as a specific block. When writing to this specific block, duplicate writing of one data to another address is performed, and when reading, correspondence is determined. Since the error correction is performed based on the duplicated data read from the address and both the above processes are realized by the program of the CPU, priority should be given to suppressing the deterioration of reliability of information storage with respect to a part of the storage area of the nonvolatile memory. You can It is possible to give priority to maximizing the use efficiency of the memory cell by not treating the area as the specific block in the area where the number of times of rewriting may be small.
As a result, one nonvolatile memory can be used for applications where the number of rewrites is small to many, and new hardware is not required to improve the reliability of information storage or the upper limit of the number of rewrites.

【0052】前記CPUが実行する論理演算に論理OR
演算又は論理AND演算の何れか一方を採用すれば、記
憶情報の“1”から“0”への不良、又は“0”から
“1”への不良の何れ一方の不良だけにしか対処できな
いが、メモリセルの利用効率は通常よりも半減するだけ
で済む。論理演算に多数決論理を採用すれば “1”か
ら“0”への不良と“0”から“1”への不良の双方に
対処することができる。
Logical OR for logical operation executed by the CPU
If either the operation or the logical AND operation is adopted, it is possible to deal with only one of the defects of the stored information, "1" to "0" or "0" to "1". The use efficiency of the memory cell need only be reduced by half compared to the usual case. If majority logic is adopted for the logical operation, it is possible to deal with both the defect from "1" to "0" and the defect from "0" to "1".

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

【図1】本発明に係るデータ処理装置の一例であるマイ
クロコンピュータを示すブロック図である。
FIG. 1 is a block diagram showing a microcomputer which is an example of a data processing device according to the present invention.

【図2】不揮発性記憶領域に配置された不揮発性メモリ
セルのIds−Vgs特性を例示する特性図である。
FIG. 2 is a characteristic diagram illustrating an Ids-Vgs characteristic of a nonvolatile memory cell arranged in a nonvolatile storage area.

【図3】図2に示した低閾値状態および高閾値状態を作
り出すための不揮発性メモリセルの構造とそのイレーズ
状態およびプログラム状態を例示する説明図である。
FIG. 3 is an explanatory diagram illustrating the structure of a nonvolatile memory cell for producing the low threshold state and the high threshold state shown in FIG. 2, and its erase state and program state.

【図4】フラッシュメモリの一例を示すブロック図であ
る。
FIG. 4 is a block diagram showing an example of a flash memory.

【図5】一つのデータに対する別アドレスへの重複書込
み、及び対応別アドレスから読み出した重複データに基
づく必要なエラー訂正(論理OR演算)の処理フローを
例示するフローチャートである。
FIG. 5 is a flowchart illustrating a processing flow of duplicate writing of one data to another address and necessary error correction (logical OR operation) based on the duplicate data read from the corresponding address.

【図6】A0からA0+2K−1までの2K個の番地を
含む特定ブロック特定ブロック領域の利用形態を例示す
る説明図である。
FIG. 6 is an explanatory diagram illustrating a usage pattern of a specific block specific block area including 2K addresses from A0 to A0 + 2K−1.

【図7】一つのデータに対する別アドレスへの重複書込
み、及び対応別アドレスから読み出した重複データに基
づく必要なエラー訂正(論理AND演算)の処理フロー
を例示するフローチャートである。
FIG. 7 is a flowchart illustrating a processing flow of duplicate writing of one data to another address and necessary error correction (logical AND operation) based on duplicate data read from the corresponding address.

【図8】3つのアドレス(Ai、Ai+K、Ai+2
K)に同一のデータを書き込み、読み出し時にこれらの
多数決論理を採って出力するアクセスプログラムによる
書込みと読み出しの制御フローを例示するフローチャー
トである。
FIG. 8 shows three addresses (Ai, Ai + K, Ai + 2).
9 is a flow chart illustrating a control flow of writing and reading by an access program that writes the same data to K) and adopts and outputs these majority logics at the time of reading.

【図9】A0からA0+3K−1までの3K個の番地を
含む特定ブロック領域11の利用形態を例示する説明図
である。
FIG. 9 is an explanatory diagram illustrating a usage pattern of a specific block area 11 including 3K addresses from A0 to A0 + 3K-1.

【図10】オフチップのフラッシュメモリを用いたデー
タ処理装置を例示するブロック図である。
FIG. 10 is a block diagram illustrating a data processing device using an off-chip flash memory.

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

1 マイクロコンピュータ 1A マイクロコンピュータ 2 フラッシュメモリ 2A フラッシュメモリ 3 CPU 11 特定ブロック領域 12 プログラム領域 21 不揮発性メモリセル 1 microcomputer 1A microcomputer 2 Flash memory 2A flash memory 3 CPU 11 Specific block area 12 program area 21 Non-volatile memory cell

Claims (10)

【特許請求の範囲】[Claims] 【請求項1】 CPUと書き換え可能な不揮発性メモリ
とを有するデータ処理装置において、前記CPUは、前
記不揮発性メモリにおける記憶領域の一部である特定ブ
ロックに情報を書き込むときは一つのデータを異なるア
ドレスのメモリセルに格納し、前記特定ブロックからデ
ータを読み出すときは前記異なるアドレスのメモリセル
からデータを読み出し、読み出した複数のデータに対し
て論理演算を実行することにより必要な誤り訂正を行う
ことが可能であることを特徴とするデータ処理装置。
1. In a data processing device having a CPU and a rewritable nonvolatile memory, the CPU differs from one data when writing information to a specific block which is a part of a storage area in the nonvolatile memory. When the data is stored in the memory cell of the address and the data is read from the specific block, the data is read from the memory cell of the different address, and the necessary error correction is performed by executing the logical operation on the read plurality of data. A data processing device, which is capable of
【請求項2】 前記異なるアドレスの数は2以上であ
り、前記論理演算は、前記CPUの命令セットに含まれ
る命令の実行による論理OR演算であることを特徴とす
る請求項1記載の半導体集積回路。
2. The semiconductor integrated device according to claim 1, wherein the number of different addresses is two or more, and the logical operation is a logical OR operation by executing an instruction included in an instruction set of the CPU. circuit.
【請求項3】 前記異なるアドレスの数は2以上であ
り、前記論理演算は、前記CPUの命令セットに含まれ
る命令の実行による論理AND演算であることを特徴と
する請求項1記載の半導体集積回路。
3. The semiconductor integrated device according to claim 1, wherein the number of different addresses is two or more, and the logical operation is a logical AND operation by executing an instruction included in the instruction set of the CPU. circuit.
【請求項4】 前記異なるアドレスの数は3以上であ
り、前記論理演算は、前記CPUの命令セットに含まれ
る命令の実行により、前記異なるアドレスのメモリセル
から読み出した複数のデータに対して多数決を採る演算
であることを特徴とする請求項1記載の半導体集積回
路。
4. The number of the different addresses is 3 or more, and the logic operation is performed on a plurality of data read from the memory cells of the different addresses by executing an instruction included in an instruction set of the CPU. The semiconductor integrated circuit according to claim 1, wherein the operation is a calculation.
【請求項5】 前記不揮発性メモリは、前記特定ブロッ
クとは異なる領域として、前記CPUが実行するプログ
ラムを格納するプログラム領域を有して成るものである
ことを特徴とする請求項1乃至4の何れか1項記載の半
導体集積回路。
5. The non-volatile memory has a program area for storing a program executed by the CPU as an area different from the specific block. The semiconductor integrated circuit according to claim 1.
【請求項6】 前記プログラム領域は、前記一つのデー
タを異なるアドレスのメモリセルに格納するためのプロ
グラム、前記誤り訂正を行うためのプログラム、及びそ
の他のプログラムを保有するものでることを特徴とする
請求項5記載の半導体集積回路。
6. The program area holds a program for storing the one data in memory cells at different addresses, a program for performing the error correction, and other programs. The semiconductor integrated circuit according to claim 5.
【請求項7】 前記特定ブロックは他のブロックに比べ
て多い書換え回数を保証する製品仕様を有するものであ
ることを特徴とする請求項1乃至6の何れか1項記載の
半導体集積回路。
7. The semiconductor integrated circuit according to claim 1, wherein the specific block has a product specification that guarantees a larger number of rewrites than other blocks.
【請求項8】 前記不揮発性メモリはメモリセルの閾値
電圧の高低に応じて情報記憶を行うことが可能なフラッ
シュメモリであることを特徴とする請求項1乃至7の何
れか1項記載の半導体集積回路。
8. The semiconductor according to claim 1, wherein the non-volatile memory is a flash memory capable of storing information depending on whether the threshold voltage of a memory cell is high or low. Integrated circuit.
【請求項9】 前記CPUと不揮発性メモリはマイクロ
コンピュータを構成する1個の半導体チップに形成され
て成るものであることを特徴とする請求項1乃至8の何
れか1項記載の半導体集積回路。
9. The semiconductor integrated circuit according to claim 1, wherein the CPU and the non-volatile memory are formed on one semiconductor chip forming a microcomputer. .
【請求項10】 前記CPUと不揮発性メモリは夫々別
々の半導体チップに形成されて成るものであることを特
徴とする請求項1乃至8の何れか1項記載の半導体集積
回路。
10. The semiconductor integrated circuit according to claim 1, wherein the CPU and the non-volatile memory are respectively formed on separate semiconductor chips.
JP2001189276A 2000-09-12 2001-06-22 Data processor Pending JP2003006053A (en)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2001189276A JP2003006053A (en) 2001-06-22 2001-06-22 Data processor
US09/938,629 US6941505B2 (en) 2000-09-12 2001-08-27 Data processing system and data processing method
KR1020010052503A KR20020021001A (en) 2000-09-12 2001-08-29 Data processing system and data processing method
TW090121498A TWI242128B (en) 2000-09-12 2001-08-30 Data processing system and data processing method
US11/200,104 US20050281113A1 (en) 2000-09-12 2005-08-10 Data processing system and data processing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001189276A JP2003006053A (en) 2001-06-22 2001-06-22 Data processor

Publications (1)

Publication Number Publication Date
JP2003006053A true JP2003006053A (en) 2003-01-10

Family

ID=19028229

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001189276A Pending JP2003006053A (en) 2000-09-12 2001-06-22 Data processor

Country Status (1)

Country Link
JP (1) JP2003006053A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7663906B2 (en) 2006-10-02 2010-02-16 Seiko Epson Corporation Semiconductor memory device, data storage device and method for controlling semiconductor memory device
CN106024062A (en) * 2016-07-19 2016-10-12 北京兆易创新科技股份有限公司 Data reading device and method of nonvolatile memory
JP2017054351A (en) * 2015-09-10 2017-03-16 株式会社東芝 Memory system

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7663906B2 (en) 2006-10-02 2010-02-16 Seiko Epson Corporation Semiconductor memory device, data storage device and method for controlling semiconductor memory device
JP2017054351A (en) * 2015-09-10 2017-03-16 株式会社東芝 Memory system
CN106024062A (en) * 2016-07-19 2016-10-12 北京兆易创新科技股份有限公司 Data reading device and method of nonvolatile memory
CN106024062B (en) * 2016-07-19 2023-12-05 兆易创新科技集团股份有限公司 Data reading device and method of nonvolatile memory

Similar Documents

Publication Publication Date Title
US7791952B2 (en) Memory device architectures and operation
US6941505B2 (en) Data processing system and data processing method
JP4129381B2 (en) Nonvolatile semiconductor memory device
US9201730B2 (en) Multiple level cell memory device with single bit per cell, re-mappable memory block
US20140149648A1 (en) Memory system with user configurable density/performance option
US8230166B2 (en) Apparatus and method for processing data of flash memory
US20120072653A1 (en) Memory device with user configurable density/performance
US20060140027A1 (en) Semiconductor memory device and method of operating the same
US20040236910A1 (en) Memory card having a buffer memory for storing testing instruction
JP4554616B2 (en) Semiconductor integrated circuit
JP2007140733A (en) Semiconductor processor and semiconductor integrated circuit
JP2006107719A (en) Nonvolatile memory device and program method thereof
US8046529B2 (en) Updating control information in non-volatile memory to control selection of content
US20120036310A1 (en) Data processing device
US7719893B2 (en) Nonvolatile memory and apparatus and method for deciding data validity for the same
JP2007104708A (en) Data processing method
JP2003006053A (en) Data processor
US8219744B2 (en) Semiconductor memory device which includes memory cell having charge accumulation layer and control gate
KR100764748B1 (en) Flash memory device with improved refresh function
JP5059524B2 (en) MEMORY CONTROL CIRCUIT, SEMICONDUCTOR INTEGRATED CIRCUIT, AND NONVOLATILE MEMORY VERIFY METHOD
TWI420526B (en) Semiconductor device and control method therefor
JP2006221677A (en) Memory card

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20041209

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20070821

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070828

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20071018

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20080212