JP4074029B2 - フラッシュメモリ - Google Patents
フラッシュメモリ Download PDFInfo
- Publication number
- JP4074029B2 JP4074029B2 JP18187499A JP18187499A JP4074029B2 JP 4074029 B2 JP4074029 B2 JP 4074029B2 JP 18187499 A JP18187499 A JP 18187499A JP 18187499 A JP18187499 A JP 18187499A JP 4074029 B2 JP4074029 B2 JP 4074029B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- signal
- read
- output
- memory cell
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1068—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in sector programmable memories, e.g. flash disk
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/04—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
- G11C16/0483—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1006—Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1072—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in multilevel memories
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C2029/0411—Online error correction
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C2207/00—Indexing scheme relating to arrangements for writing information into, or reading information out from, a digital store
- G11C2207/10—Aspects relating to interfaces of memory device to external buses
- G11C2207/104—Embedded memory devices, e.g. memories with a processing device on the same die or ASIC memory designs
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Read Only Memory (AREA)
- For Increasing The Reliability Of Semiconductor Memories (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Description
【発明の属する技術分野】
本発明は、フラッシュメモリに係り、特に誤り訂正回路を搭載した高信頼性のフラッシュメモリに関するもので、NAND型フラッシュメモリ、NOR型フラッシュメモリなどに使用されるものである。
【0002】
【従来の技術】
ところで、不揮発性の半導体メモリのうち、フラッシュメモリは、電気的に比較的大きな単位でデータの消去・書き換えが可能であり、ハードディスクの代替、コンピュータシステムではBIOS(基本入出力システム)の記憶、携帯電話では通信規約などの記憶、デジタルカメラなどで画像の記憶などに応用されている。したがって、フラッシュメモリに記憶されているデータに1ビットでも誤りが生じれば、コンピュータシステムのダウン、携帯電話の通信不能、データ破壊などを引き起こすことになる。
【0003】
そこで、フラッシュメモリの応用システムが高信頼性を要求する場合には、フラッシュメモリを管理するシステムの機能として、記憶させたい情報データに対して誤り検出・訂正が可能なように検査データを付加してフラッシュメモリに書き込み、また、情報データと検査データを読み出して情報データに誤りが無いかチェックし、誤りがある場合には誤りを訂正する機能を持たせる。
【0004】
ところが、フラッシュメモリを管理するシステム毎に誤り訂正の方法が異なる場合が多く、例えば検査データが異なったり、そのデータ長が異なると、問題が生じる。即ち、あるシステムAで書き込まれたデータを別のシステムBで読み出すと、データに誤りが無いにもかかわらず、誤りがあるとして正しいデータを間違ったデータに変えてしまったり、訂正不可能な誤りが生じたと誤検出されてしまい、これによってシステム上のデータの破壊が起こる。
【0005】
一方、フラッシュメモリに誤り訂正回路を搭載してしまう方法があり、これはシステムに依存せずにフラッシュメモリ内で誤り訂正を行うので有効である。
【0006】
しかし、誤り訂正回路は複雑で回路面積が大きく、フラッシュメモリのチップサイズが大きくなりコスト高を招く。これに対して、本願出願人の出願に係る例えば特願平7−83459「誤り訂正回路と半導体記憶装置」では、読み出し・書き込みのためのデータ記憶回路と誤り訂正回路の一部を共用して回路面積の増大を抑えている。
【0007】
また、近年のフラッシュメモリには、1つのメモリセルに1ビット以上のデータを記憶させる多値記憶式のものが見られる。しかし、多値記憶式のフラッシュメモリは、1つのメモリセルが破壊した場合に複数ビットのデータに誤りが生じる(つまり、バースト誤りが生じる)。
【0008】
このようなバースト誤りを短い検査データで効率よく訂正するために、リード・ソロモン符号に基づく誤り訂正方法があるが、誤りの特定に複雑な回路が必要であり、回路面積が大きくなり、フラッシュメモリのチップサイズが大きくなり、コスト高を招く。これに対して、本願出願人の出願に係る例えば特願平6−326344では、多値記憶式フラッシュメモリの誤り訂正をビット単位の誤り訂正方法により行い、1つのメモリセルに同時に書き込みされる複数ビットのデータを複数の検査データで救済するようにしている。
【0009】
上述したように、フラッシュメモリに誤り訂正回路を搭載するという技術は従来から存在するが、従来の誤り訂正回路を搭載しないフラッシュメモリとの互換性、誤りの検出やその誤りの特定を行うための所要時間を短くする点、検査データを発生させるための所要時間を短くする点、製品テストなどで不良解析を行う場合に誤り訂正回路による支障が発生しないようにする点、フラッシュメモリの応用システム側で誤り訂正を行う場合にメモリ内部の誤り訂正回路による支障が発生しないようにする点などの実用上の利便性を考慮した誤り訂正回路を搭載したフラッシュメモリは見当たらない。
【0010】
【発明が解決しようとする課題】
本発明は上記の事情に鑑みてなされたもので、従来の誤り訂正回路を搭載しないフラッシュメモリとの互換性を確保し得るフラッシュメモリを提供することを目的とする。
【0022】
【課題を解決するための手段】
本発明の第1のフラッシュメモリは、複数のフラッシュメモリセルから構成されるメモリセクタと、外部からの書き込みデータ入力命令を受け書き込みデータ入力命令信号を発生し、外部からの書き込み命令を受け書き込み命令信号を発生するコマンドインターフェイスと、外部から入力される第1の信号を受け取る第1の信号バッファと、前記書き込み命令信号によって活性化され、制御信号を発生する制御信号発生回路と、前記書き込みデータ入力命令信号によって活性化され、外部から入力される書き込みデータを前記第1の信号に同期して受け取るデータ入力バッファと、前記書き込みデータ入力命令信号によって活性化され、前記第1の信号に同期して前記書き込みデータを受け取り、前記書き込み命令によって活性化され、前記制御信号に同期して誤り訂正のための検査データを発生する誤り訂正回路と、外部から入力されるアドレスデータを受け取るアドレスバッファと、前記書き込みデータ入力命令信号によって活性化され、前記第1の信号に同期して前記アドレスデータに基づいてあらかじめ決められた順にアドレス信号を発生し、前記書き込み命令信号によって活性化され、前記制御信号に同期してあらかじめ決められた順にアドレス信号を発生するアドレス信号発生回路と、各々が各々のメモリセルに対して設けられ、各々は割り付けられたアドレス信号を受けて前記書き込みデータあるいは検査データを取り込み一時記憶する複数のデータ記憶回路と、前記書き込み命令によって活性化され、前記複数のデータ記憶回路に一時記憶されている書き込みデータと検査データを前記メモリセクタに書き込む手段とを備えたことを特徴とする。
【0023】
さらに、第1のフラッシュメモリの望ましい実施態様として、(1)前記書き込み命令信号に従ってビジー信号を外部へ出力するビジー信号出力回路を備えるようにしてもよい。
【0024】
本発明の第2のフラッシュメモリは、複数のフラッシュメモリセルから構成されるメモリセクタと、複数の前記メモリセクタから構成されるメモリセルアレイと、制御信号を発生する制御信号発生回路と、外部から入力される第1の信号を受け取る第1の信号バッファと、外部から入力されるアドレスデータを受け取るアドレスバッファと、前記制御信号に同期してあらかじめ決められた順にアドレス信号を発生し、前記第1の信号に同期して前記アドレスデータに基づいてあらかじめ決められた順にアドレス信号を発生するアドレス信号発生回路と、前記アドレスデータに基づいて前記メモリセルアレイ中のメモリセクタを選択し、選択されたメモリセクタの各々のメモリセルからデータを読み出す読み出し手段と、各々が各々のメモリセルに対して設けられ、各々は選択されたメモリセクタの対応するメモリセルから読み出されたデータを一時記憶し、各々は割り付けられたアドレス信号を受けて一時記憶しているメモリセルから読み出されたデータを出力する複数のデータ記憶回路と、前記第1の信号に同期して、前記複数のデータ記憶回路から出力されるメモリセルから読み出されたデータを外部へ出力するデータ出力バッファと、前記制御信号に同期して前記複数のデータ記憶回路から出力されるメモリセルから読み出したデータを受け取り、前記データ出力バッファから出力されるデータが誤りであるか否かを前記第1の信号に同期して判断して訂正する誤り訂正回路とを備えたことを特徴とする。
【0025】
さらに、第2のフラッシュメモリの望ましい実施態様を、以下の(1)〜(4)のようにしてもよい。
【0026】
(1)外部からのステータス読み出し命令を受けステータス読み出し命令信号を発生するコマンドインターフェイスと、前記ステータス読み出し命令信号によって活性化され、メモリセルから読み出されたデータに誤りがあったか否かを前記データ出力バッファを介して出力するステータス出力手段とをさらに備える。
【0027】
(2)前記誤り訂正回路はメモリセルから読み出したデータのうち複数個のデータを訂正可能であり、前記ステータス出力手段は誤りの数を出力可能である。
【0028】
(3)前記誤り訂正回路はメモリセルから読み出したデータのうちn個(n≧1)のデータを訂正可能で(n+1)個の誤りの存在を検出可能であって、前記ステータス出力手段は誤り訂正可能か否かを出力可能である。
【0029】
(4)メモリセルからのデータの読み出しおよびメモリセルから読み出されたデータを前記誤り訂正回路が受け取る期間にわたって連続してビジー信号を外部へ出力するビジー信号出力回路をさらに備える。
【0030】
本発明の第3のフラッシュメモリは、複数のフラッシュメモリセルから構成されるメモリセクタと、複数の前記メモリセクタから構成されるメモリセルアレイと、外部からの訂正読み出し命令を受け訂正読み出し命令信号を発生するコマンドインターフェイスと、前記訂正読み出し命令信号によって活性化され、制御信号を発生する制御信号発生回路と、外部から入力される第1の信号を受け取る第1の信号バッファと、外部から入力されるアドレスデータを受け取るアドレスバッファと、前記第1の信号に同期して前記アドレスデータに基づいて予め決められた順にアドレス信号を発生し、前記訂正読み出し命令信号によって活性化され、前記制御信号に同期して予め決められた順にアドレス信号を発生するアドレス信号発生回路と、前記アドレスデータに基づいて前記メモリセルアレイ中のメモリセクタを選択し、選択されたメモリセクタの各々のメモリセルからデータを読み出す読み出し手段と、各々が各々のメモリセルに対して設けられ、各々は選択されたメモリセクタの対応するメモリセルから読み出されたデータを一時記憶し、各々は割り付けられたアドレス信号を受けて一時記憶しているメモリセルから読み出されたデータを出力する複数のデータ記憶回路と、前記第1の信号に同期して、前記複数のデータ記憶回路から出力されるメモリセルから読み出されたデータを外部へ出力するデータ出力バッファと、前記第1の信号に同期して前記複数のデータ記憶回路から出力されるメモリセルから読み出したデータを受け取り、前記制御信号に同期して前記複数のデータ記憶回路から出力されるメモリセルから読み出したデータを受け取り、メモリセルから読み出したデータに誤りがあるか否かを判断し、誤りがある場合はそのデータを特定する誤り訂正回路とを備えたことを特徴とする。
【0031】
さらに、第3のフラッシュメモリの望ましい実施態様を、以下の(1)〜(4)にしてもよい。
【0032】
(1)前記コマンドインターフェイスは、外部からのステータス読み出し命令を受けステータス読み出し命令信号を発生し、さらに、前記ステータス読み出し命令信号によって活性化され、メモリセルから読み出されたデータに誤りがあったか否かを前記データ出力バッファを介して出力するステータス出力手段と、を備える。
【0033】
(2)前記誤り訂正回路はメモリセルから読み出したデータのうち複数個のデータを訂正可能であり、前記ステータス出力手段は誤りの数を出力可能である。
【0034】
(3)前記誤り訂正回路はメモリセルから読み出したデータのうちn個(n≧1)のデータを訂正可能で(n+1)個の誤りの存在を検出可能であって、前記ステータス出力手段は誤り訂正可能か否かを出力可能である。
【0035】
(4)メモリセルからのデータの読み出し期間にビジー信号を外部へ出力し、かつ、前記訂正読み出し命令信号に従ってビジー信号を外部へ出力するビジー信号出力回路をさらに備える。
【0036】
本発明の第4のフラッシュメモリは、複数のフラッシュメモリセルから構成されるメモリセクタと、外部からの書き込みデータ入力命令を受け書き込みデータ入力命令信号を発生し、外部からの書き込み命令を受け書き込み命令信号を発生するコマンドインターフェイスと、外部から入力される第1の信号を受け取る第1の信号バッファと、前記書き込み命令信号によって活性化され、制御信号を発生する制御信号発生回路と、前記書き込みデータ入力命令信号によって活性化され、外部から入力される書き込みデータを前記第1の信号に同期して受け取るデータ入力バッファと、前記書き込みデータ入力命令信号によって活性化され、前記第1の信号に同期して前記書き込みデータを受け取り、前記書き込み命令によって活性化され、前記制御信号に同期して誤り訂正のための検査データを発生する誤り訂正回路と、各々が各々のメモリセルに対して設けられ、前記第1の信号および前記制御信号に同期して前記書き込みデータあるいは検査データを取り込み一時記憶する複数のデータ記憶回路と、前記書き込み命令によって活性化され、前記複数のデータ記憶回路に一時記憶されている書き込みデータと検査データを前記メモリセクタに書き込む手段とを備えることを特徴とする。
【0037】
さらに、第4のフラッシュメモリの望ましい実施態様として、(1)前記書き込み命令信号に従ってビジー信号を外部へ出力するビジー信号出力回路をさらに備えるようにしてもよい。
【0038】
本発明の第5のフラッシュメモリは、複数のフラッシュメモリセルから構成されるメモリセクタと、複数の前記メモリセクタから構成されるメモリセルアレイと、制御信号を発生する制御信号発生回路と、外部から入力される第1の信号を受け取る第1の信号バッファと、外部から入力されるアドレスデータを受け取るアドレスバッファと、前記アドレスデータに基づいて前記メモリセルアレイ中のメモリセクタを選択し、選択されたメモリセクタの各々のメモリセルからデータを読み出す読み出し手段と、各々が各々のメモリセルに対して設けられ、各々は選択されたメモリセクタの対応するメモリセルから読み出されたデータを一時記憶し、前記制御信号および前記第1の信号に同期して一時記憶しているメモリセルから読み出されたデータを出力する複数のデータ記憶回路と、前記第1の信号に同期して、前記複数のデータ記憶回路から出力されるメモリセルから読み出されたデータを外部へ出力するデータ出力バッファと、前記制御信号に同期して前記複数のデータ記憶回路から出力されるメモリセルから読み出したデータを受け取り、前記データ出力バッファから出力されるデータが誤りであるか否かを前記第1の信号に同期して判断して訂正する誤り訂正回路と、を備えることを特徴とする。
【0039】
さらに、第5のフラッシュメモリの望ましい実施態様として、以下の(1)〜(4)のようにしてもよい。
【0040】
(1)外部からのステータス読み出し命令を受けステータス読み出し命令信号を発生するコマンドインターフェイスと、前記ステータス読み出し命令信号によって活性化され、メモリセルから読み出されたデータに誤りがあったか否かを前記データ出力バッファを介して出力するステータス出力手段とをさらに備える。
【0041】
(2)前記誤り訂正回路はメモリセルから読み出したデータのうち複数個のデータを訂正可能であり、前記ステータス出力手段は誤りの数を出力可能である。
【0042】
(3)前記誤り訂正回路はメモリセルから読み出したデータのうちn個(n≧1)のデータを訂正可能で(n+1)個の誤りの存在を検出可能であって、前記ステータス出力手段は誤り訂正可能か否かを出力可能である。
【0043】
(4)メモリセルからのデータの読み出しおよびメモリセルから読み出されたデータを前記誤り訂正回路が受け取る期間にわたって連続してビジー信号を外部へ出力するビジー信号出力回路をさらに備える。
【0044】
本発明の第6のフラッシュメモリは、複数のフラッシュメモリセルから構成されるメモリセクタと、複数の前記メモリセクタから構成されるメモリセルアレイと、外部からの訂正読み出し命令を受け訂正読み出し命令信号を発生するコマンドインターフェイスと、前記訂正読み出し命令信号によって活性化され、制御信号を発生する制御信号発生回路と、外部から入力される第1の信号を受け取る第1の信号バッファと、外部から入力されるアドレスデータを受け取るアドレスバッファと、前記アドレスデータに基づいて前記メモリセルアレイ中のメモリセクタを選択し、選択されたメモリセクタの各々のメモリセルからデータを読み出す読み出し手段と、各々が各々のメモリセルに対して設けられ、各々は選択されたメモリセクタの対応するメモリセルから読み出されたデータを一時記憶し、前記第1の信号および前記制御信号に同期して一時記憶しているメモリセルから読み出されたデータを出力する複数のデータ記憶回路と、前記第1の信号に同期して、前記複数のデータ記憶回路から出力されるメモリセルから読み出されたデータを外部へ出力するデータ出力バッファと、前記第1の信号に同期して前記複数のデータ記憶回路から出力されるメモリセルから読み出したデータを受け取り、前記制御信号に同期して前記複数のデータ記憶回路から出力されるメモリセルから読み出したデータを受け取り、メモリセルから読み出したデータに誤りがあるか否かを判断し、誤りがある場合はそのデータを特定する誤り訂正回路とを備えることを特徴とする。
【0045】
さらに、第6のフラッシュメモリの望ましい実施態様として、以下の(1)〜(4)のようにしてもよい。
【0046】
(1)前記コマンドインターフェイスは、外部からのステータス読み出し命令を受けステータス読み出し命令信号を発生し、さらに、前記ステータス読み出し命令信号によって活性化され、メモリセルから読み出されたデータに誤りがあったか否かを前記データ出力バッファを介して出力するステータス出力手段とを備える。
【0047】
(2)前記誤り訂正回路はメモリセルから読み出したデータのうち複数個のデータを訂正可能であり、前記ステータス出力手段は誤りの数を出力可能である。
【0048】
(3)前記誤り訂正回路はメモリセルから読み出したデータのうちn個(n≧1)のデータを訂正可能で(n+1)個の誤りの存在を検出可能であって、前記ステータス出力手段は誤り訂正可能か否かを出力可能である。
【0049】
(4)メモリセルからのデータの読み出し期間にビジー信号を外部へ出力し、かつ、前記訂正読み出し命令信号に従ってビジー信号を外部へ出力するビジー信号出力回路をさらに備える。
【0078】
【発明の実施の形態】
以下、図面を参照して本発明の実施の形態を詳細に説明する。
【0079】
<第1の実施の形態>
図1は、本発明の第1の実施の形態に係るフラッシュメモリの構成を示すブロック図である。
【0080】
複数の端子1は、外部からの電源や信号を受けたり、あるいは信号を外部へ出力するためのものである。これらの端子1のうち、VCC端子は電源電圧VCCを受け、VSS 端子は接地され、nCE 端子はチップ・イネーブル信号nCE を受け、nWE 端子はライト・イネーブル信号nWE を受け、CLE 端子はコマンド・ラッチ・イネーブル信号CLE 号を受け、ALE 端子はアドレス・ラッチ・イネーブル信号ALE を受け、nRE 端子はリード・イネーブル信号nRE を受け、ECCENB端子は誤り訂正回路活性化信号ECCENBを受ける。
【0081】
nBUSY 端子はビジー信号nBUSY を出力し、D0端子〜D7端子は、書き込みデータ、コマンドデータ、アドレスデータなどの入力データD0〜D7を受け、読み出しデータ、ステータスデータなどの出力データD0〜D7を出力する。
【0082】
前記ライト・イネーブル信号nWE 、コマンド・ラッチ・イネーブル信号CLE 、アドレス・ラッチ・イネーブル信号ALE 、リード・イネーブル信号nRE 、入力データDO〜D7は、チップ・イネーブル信号nCE が"L" の場合に受け付けられ、出力データD0〜D7は、チップ・イネーブル信号nCE が"L" の時に出力される。
【0083】
なお、前記VCC端子から各内部回路に供給される電源線や前記VSS 端子から各内部回路に供給される接地線は、表示が煩雑になるので図示を省略した。
【0084】
パワーオン検出回路2は、電源電圧VCCが十分に高い電圧レベルであるかを検出し、十分なレベルであればパワーオン検出信号PON を"H" にする。
【0085】
コマンドインターフェイス3は、チップ・イネーブル信号nCE="L" 、コマンド・ラッチ・イネーブル信号CLE="H" の時、ライト・イネーブル信号nWE が"L" から"H" に遷移するタイミングで入力されるデータD0〜D7をコマンドデータとして受け取り、読み出し命令信号READ、データラッチ読み出し命令信号DLREAD、計算命令信号CALC、データ出力命令信号OUTPUT、ステータス読み出し命令信号STATUS、倍速書き込み命令DOUBLE信号、データ入力命令信号INPUT 、検査データ発生命令信号CHKGEN、書き込み命令信号PRO 、消去命令信号ERASE などを出力する。また、読み出し、書き込みなどを内部で処理していることを外部へ伝えるために、前記ビジー信号nBUSY をnBUSY 端子から出力する。
【0086】
アドレスバッファ4は、チップ・イネーブル信号nCE="L" 、アドレス・ラッチ・イネーブル信号ALE="H" の時、ライト・イネーブル信号nWE が"L" から"H" に遷移するタイミングで入力されるデータD0〜D7をアドレスデータとして受け取り、ロウアドレスデータAddX_0-12 とAddZ、カラムアドレス初期データAddY_init_0-9 を出力する。
【0087】
データ入出力バッファ5は、データ入力命令信号INPUT を受けて、チップ・イネーブル信号nCE="L" 、アドレス・ラッチ・イネーブル信号ALE="L" 、コマンド・ラッチ・イネーブルCLE="L" の時、ライト・イネーブル信号nWE が"L" から"H" に遷移するタイミングで入力されるデータD0〜D7を書き込みデータとして受け取る。
【0088】
また、データ入出力バッファ5は、データ出力命令信号OUTPUTを受けて、チップ・イネーブル信号nCE="L" の時、リード・イネーブル信号nRE が"H" から"L" に遷移するタイミングで読み出しデータD0〜D7の出力を開始する。さらに、ステータス読み出し命令信号STATUSを受けて、信号nCE="L" の時、信号nRE が"H" から"L" に遷移するタイミングでステータスデータD0〜D7の出力を開始する。
【0089】
D0端子〜D7端子から入力する書き込みデータは、データ入出力バッファ5で反転させられて、さらに信号線DL_0-7を介しIOバッファ6で再度反転させられて信号線IO_0-7を介してカラム制御回路15に入力される。
【0090】
読み出しデータは、信号線IO_0-7を介してIOバッファ6で反転させられて信号線DL_0-7に出力され、データ入出力バッファ5で再度反転させられてD0端子〜D7端子から出力される。なお、前記信号線DL_0-7は誤り訂正回路11に接続されている。
【0091】
誤り訂正制御信号発生回路7は、カラムアドレス初期データAddY_init_0-9 、データラッチ読み出し命令信号DLREAD、計算命令信号CALCなどで制御され、誤り訂正制御信号ECCLK を発生する機能を有する。
【0092】
出力制御信号発生回路8は、リード・イネーブル信号nRE とデータ出力命令信号OUTPUTなどで制御され、このリード・イネーブル信号nRE に同期して出力制御信号OUTCLKを出力する機能を有する。
【0093】
検査データ発生制御信号発生回路9は、カラムアドレス信号CSLa_527、CSL_b527や検査データ発生命令信号CHKGENなどで制御され、検査データ発生制御信号CGCLK を発生する機能を有する。
【0094】
入力制御信号発生回路10は、データ入力命令信号INPUT やライト・イネーブル信号nWE などで制御され、この信号nWE に同期して入力制御信号INCLK を発生する機能を有する。
【0095】
誤り訂正回路11は、データ入力命令信号INPUT を受けて入力制御信号INCLK に同期して信号線DL_0-7から書き込みデータを取り込み、検査データ発生命令信号CHKGENを受けて検査データ発生制御信号CGCLK に同期して検査データとパリティデータを信号線DL_0-7に出力する機能を有する。
【0096】
また、誤り訂正回路11は、データラッチ読み出し命令信号DLREADを受けて誤り訂正制御信号ECCLK に同期して信号線DL_0-7から読み出しデータを取り込み、さらに計算命令信号CALCを受けて誤り訂正制御信号ECCLK に同期して読み出しデータの誤り検出を行う機能を有する。
【0097】
また、誤り訂正回路11は、データ出力命令信号OUTPUTを受けて出力制御信号OUTCLKに同期して誤ったデータを訂正する機能を有し、ステータス読み出し命令信号STATUSを受けて誤り訂正回路のステータスを信号線DL_0-7に出力する機能を有する。
【0098】
この誤り訂正回路11は、カラムアドレス信号CSLa_527、CSLb_527、CSLa_516、CSLb_516、カラムアドレス初期データAddY_init_0-9 などでも制御される。
【0099】
そして、メモリセルアレイ12およびそれに対応してソース・ウェル制御回路13、ロウ制御回路14、カラム制御回路15、カラムアドレス発生回路16が設けられている。
【0100】
ここで、ソース・ウェル制御回路13は、メモリセルアレイ12のソース線SRC とメモリセルアレイ12が形成されるウェルCWELL を制御するものである。
【0101】
また、ロウ制御回路14は、メモリセルアレイ12のワード線WLと選択ゲート線SGを制御するものである。また、カラム制御回路15は、メモリセルアレイ12のビット線BLを制御するのである。また、カラムアドレス発生回路16は、アドレス信号AddZやAddY_init_0-9 と誤り訂正制御信号ECCLK 、出力制御信号OUTCLK、検査データ発生制御信号CGCLK、入力制御信号INCLK などで制御され、これらの制御信号に同期して予め決められた順にカラムアドレス信号CSL を発生するものである。
【0102】
本例では、前記メモリセルアレイ12と前記各回路13、14、15、16は2個づつが設けられており、この2組のうちの一方がアドレス信号AddZで選択される。例えばアドレス信号AddZ="L"でメモリセルアレイAおよびそれに対応する回路13、14、15、16が選択され、アドレス信号AddZ="H"でメモリセルアレイBおよびそれに対応する回路13、14、15、16が選択される。
【0103】
図2は、図1中のメモリセルアレイ12の1個分(メモリセルアレイA)とそれに対応するカラム制御回路15の1個分を取り出してより詳細な構成を示している。
【0104】
このメモリセルアレイ12は、同一ウェルCWELLaに形成されたNAND型メモリセルユニットのアレイを用いている。NAND型メモリセルユニットは、フローティングゲートと制御ゲートが積層された形を有するセルトランジスタMが例えば4個直列に接続され、その両端に選択トランジスタSが接続されてなり、このNANDセルユニットの一端はビット線BLa_8j〜BLa_8j+7のいずれか1本に接続され、他端は共通ソース線SRCaに接続される。
【0105】
ここで、同一行のセルトランジスタMの集まりを1ページと称し、連続する4ページの集まりを1ブロックと称する。そして、ある1ブロックにおける4個のセルトランジスタMに対応するワード線をWLa_0 〜WLa_3 、SG1a_0はNANDセルユニットの一端側の選択トランジスタSの選択ゲート線をSG1a_0、NANDセルユニットの他端側の選択トランジスタSの選択ゲート線をSG2a_0で示している。
【0106】
カラム制御回路15は、上記メモリセルアレイ12のビット線BLa_8j〜BLa_8j+7に接続されるデータ記憶回路17を含む。このデータ記憶回路17は、カラムアドレス信号CSLa_jで選択された時、それぞれが接続される信号線IO_0-7と電気的に接続され、選択されたメモリセルMに書き込むためのデータを一時記憶したり、選択されたメモリセルMから読み出された読み出しデータを一時記憶したりするものである。
【0107】
なお、図2のメモリセルアレイ12において、ビット線BLa_8j〜BLa_8j+7、カラム選択線CSLa_jの添え字jは0から548である。よって、ビット線BLa はBLa_0 からBLa_4391まであり、カラム信号CSLaはCSLa_0 からCSLa_548まである。なお、メモリセルアレイBも同様な構成である。
【0108】
次に、図2のメモリセルアレイ12の動作を簡単に説明する。
【0109】
(a)データの消去はブロック単位で行われ、選択されたブロックの全ワード線(例えばWLa_0 〜WLa_3 )は0V、非選択ブロックのワード線は全て20V にされる。この時、ウェルCWELLaは20V とされ、メモリセルの閾値は0V以下となってデータは"11"にリセットされる。
【0110】
(b)データの書き込みはページ単位で行われる。ここでは、1つのメモリセルMが4値記憶するものとすると、ロウアドレスデータAddX_0が"L" であるメモリセルMが選択され、書き込みデータ"0" か"1" が記憶され、メモリセルのデータは"10"か"11"となる。
【0111】
ロウアドレスデータAddX_1〜AddX_12 が同じなら、同一のメモリセルMが選択され、もともと"10"を記憶しているメモリセルに"0" を書くと"00"となる。もともと"10"を記憶しているメモリセルに"1" を書くと"10"となる。もともと"11"を記憶しているメモリセルに"0" を書くと"01"となる。もともと"11"を記憶しているメモリセルに"1" を書くと"11"となる。
【0112】
なお、書き込みの時は、選択ワード線が20V にされ、非選択ワード線は10V にされる。書き込みデータ"1" を書く時は、ビット線をVCCにし、"0" を書く時はビット線を0Vにする。選択ゲート線SG1 はVCC、選択ゲート線SG2 は0Vである。非選択ブロックのワード線、選択ゲート線はすべて0Vである。なお、書き込み動作と書き込みベリファイ動作を繰り返しながら書き込みを行うことにより、メモリセルの閾値の制御は良くなる。
【0113】
表1は、データとメモリセルMの閾値の関係を示す。
【0114】
【表1】
【0115】
(c)データの読み出しは、ページ単位で行われ、全選択ゲート線を4V、選択ワード線を0Vあるいは0.9Vあるいは1.8V、非選択ワード線を4Vにする。非選択ブロックの全選択ゲート、全ワード線は0Vである。
【0116】
選択ワード線を0Vにしてセル電流が流れれば、ビット線電圧レベルが"L" となり"11"が読める。同様に、選択ワード線を0.9Vにして"10"を読み出すことができ、選択ワード線を1.8Vにして"01"と"00"を読み出すことができる。
【0117】
表2は、選択ブロックの各動作の電圧関係を示す。
【0118】
【表2】
【0119】
ここで、ページとは、図2に示された同一行の4392個のメモリセルMの集まりを示す物理的な単位であり、論理的な書き込み・読み出し単位は、4392ビットのメモリセクタである。この例では、物理的な1ページに論理的な2メモリセクタのデータが書き込まれる、あるいは物理的な1ページから論理的な2メモリセクタのデータが読み出される。つまり、ロウアドレスデータAddx_0〜AddX_12 とロウアドレスデータAddZで指定するのは、メモリセクタのアドレスである。よって、消去の物理的な単位はブロックであって、物理的な4ページで構成され、論理的な8メモリセクタで構成される。
【0120】
図3は、図1に示したような構成のフラッシュメモリが用いられているシステムの構成図である。
【0121】
フラッシュメモリ20は、CPU(中央演算装置)21によって制御される。CPU21は、キャッシュメモリ22やその他キーボード、ディスプレイなどの制御をする。フラッシュメモリ20、CPU21、キャッシュメモリ22には共通に電源電圧VCCが供給される。
【0122】
このシステムでは、システム全体を制御するためのプログラムがフラッシュメモリ20に格納されている。このシステムの電源投入による電源電圧VCCの立ち上がり時に、フラッシュメモリ20は自動的に所定の番地のデータを読み出す。CPU21は、電源立ち上がり時にフラッシュメモリ20からデータを読み出すが、この読み出したデータにはフラッシュメモリ20を制御するためのコードが入っている。
【0123】
CPU21は、上記コードをキャッシュメモリ22に格納し、フラッシュメモリ20を制御してシステム全体を制御するプログラムを読み出し、システムを制御する。フラッシュメモリ20は自動的に誤り訂正をするので、CPU21はフラッシュメモリ20からデータを読み出すだけでよい。もし、フラッシュメモリ20が自動的に誤り訂正できないと、CPU21が誤り訂正するしかないが、フラッシュメモリ20を制御するためのコードはフラッシュメモリ20に格納されているので、このコードだけは誤り訂正できない。
【0124】
図4は、図1中の誤り訂正回路11において、情報データ(外部入力である書き込みデータ)から検査データを発生する部分(検査データ発生回路)を示す。この回路は、主に、D0〜D19 、P で示した21個のシフトレジスタ18と9個の論理演算回路19から構成される。
【0125】
図5(a) は、図4中のシフトレジスタ18の1個分(D で示されている)を取り出して構成を示している。
【0126】
このシフトレジスタは、クロック信号Φとその反転信号nΦからなる相補的な信号で駆動され、クロック信号Φが"L" →"H" →"L" となる(クロック信号Φを1 サイクル回す)ことでラッチデータを出力し、また入力信号を取り込みラッチする。このクロック信号Φは、検査データ発生制御信号CGCLK や入力制御信号INCLK に同期した信号である。
【0127】
図5(b) は、図4中の論理演算回路19の1個分の構成を示している。
【0128】
この論理演算回路は、2つの入力IN1 とIN2 を演算してOUT を出力する。
【0129】
図1中のD0端子〜D7端子から入力された書き込みデータは、データ入出力バッファ5で論理が反転させられて信号線DL_0〜DL_7に出力される。この各信号線DL_0〜DL_7に対応して図4の検査データ発生回路が図1中の誤り訂正回路に設けられている。
【0130】
クロック信号Φを1 サイクル回すとともに1 ビットの書き込みデータを図4の検査データ発生回路に取り込み、クロック信号Φの528 サイクル後にD0〜D19 で示したシフトレジスタ18に20ビットの検査データを発生させる。また、P で示したシフトレジスタ18にはパリティデータが発生する。
【0131】
D0〜D19 で示したシフトレジスタ18に発生した検査データは、スイッチSW3 をオンにしてクロック信号Φを1 サイクル回す度に各信号線DL_0〜DL_7に1 ビットづつ発生する。
【0132】
検査データを20ビット発生した後、スイッチSW5 をオンにしてクロック信号Φを1 サイクル回すと、各信号線DL_0〜DL_7にパリティデータが1 ビット発生する。よって、クロック信号Φを549サイクル回すことで、D0端子〜D7端子に入力された528 ビットのデータから20ビットの検査データと1ビットのパリティデータを発生する。このように発生した検査データとパリティデータは、信号線DL_0〜DL_7に出力され、図2に示したカラム制御回路15中のデータ記憶回路17に送られ、書き込みデータとともに選択されたメモリセクタに書き込まれる。
【0133】
全て“1”の書き込みデータ(信号線DL_0〜DL_7上では“0”の書き込みデータ)から発生させられる検査データとパリティデータは全て”1”である。よって、消去した状態は、全て”1”の書き込みデータと、それから発生した検査データとパリティデータを書き込んだ状態と等価である。
【0134】
上記検査データ発生回路では、2重誤り訂正BCH(1023,1003) 符号に基づいて検査データを発生するものであり、いわゆる生成多項式G(x)は、
G(x) =x20+x12+x11+x6 +x5 +x4 +x2 +x+1
である。
【0135】
1つのメモリセルに2 ビットのデータが書き込まれるので、1つのメモリセルが破壊した場合に2 ビットかたまりの誤りが生じる可能性が高い。しかし、この実施例では、それぞれのビットデータはそれぞれの検査データによって独立に訂正されるので、BCH符号のようなビット単位訂正方式で救済確率を落とすことがない。反対に、1 ビット単位で不良を起こすメモリデバイスでは、リード・ソロモン符号のようなバースト不良訂正方式は、誤り訂正回路が複雑になるので好ましくない。
【0136】
図6は、図1中の誤り訂正回路11での検査データとパリティデータの発生のアルゴリズムを示している。
【0137】
まず、ステップS1で、コマンドインターフェイス3にデータ入力命令(コマンド)として例えば16進コード"80H" が入力される。ステップS2で、アドレスバッファ4にアドレスデータが入力されて書き込みデータの入力が始まる。ステップS3で、データ入力開始カラムアドレスAddY_init_0 〜9 をカラムアドレス発生回路16にある変数カラムアドレスレジスタAdd_col にセットし、この変数カラムアドレスレジスタAdd_col の内容にしたがってカラムアドレス信号CSL を発生する。
【0138】
ステップS4で、D0〜D19 、P で示したレジスタを"0" に、データ記憶回路17の書き込みデータを"1" にリセットする。ステップS5で、スイッチSW1 をオンにし、スイッチSW3 とSW5 をオフにする。
【0139】
次に、ステップS6で、D0端子〜D7端子に入力された書き込みデータを取り込む。ステップS7で、変数カラムアドレスレジスタAdd_col の内容が516 であると判定されれば、ステップS9でスイッチSW2 とSW4 をオフにし、変数カラムアドレスレジスタAdd_col の内容が516 でないと判定されれば、ステップS8でスイッチSW2 とSW4 をオンにする。
【0140】
これによって、変数カラムアドレスレジスタAdd_col の内容が516 の時は、誤り訂正回路11に書き込みデータ"1" が取り込まれることになる(DL_i のデータは反転データであるから)。つまり、カラムアドレス516のデータは誤り訂正から除外されることになる。
【0141】
このことによって次のような利点がある。つまり、516番地のデータを後から追加で書き込むことができ、フラッシュメモリ20に記憶されているデータの管理上必要なフラグデータ(例えば不良セクタフラグなど)を後から追加で書き込むことができる。
【0142】
次に、ステップS10 で、書き込みデータを誤り訂正回路11に取り込んで検査データとパリティデータの演算を行う。つまり、クロック信号Φを1 サイクル回す。この時、書き込みデータはカラムアドレス信号CSL が出力されてデータ記憶回路17にも記憶される。そして、ステップS11 で、変数カラムアドレスレジスタAdd_col の内容を1づつ増加させて、カラムアドレスの順に書き込みデータを取り込む。ステップS12 で、書き込み命令である例えば16進コード"10"H の入力が判定されるまで、ステップS6〜S12 の動作が繰り返される。
【0143】
上記したステップS6〜S12 は、ライト・イネーブル信号nWE に同期して行われる。入力制御信号発生回路10でライト・イネーブル信号nWE に同期して入力制御信号INCLK が発生する。ライト・イネーブル信号nWE に同期して入力される書き込みデータは、誤り訂正回路11で入力制御信号INCLK に同期して発生させられるクロック信号Φにしたがって誤り訂正回路11に取り込まれ、同時に入力制御信号INCLK に同期して変数カラムアドレスレジスタAdd_col の内容にしたがって発生させられるカラムアドレス信号CSL の指示で選択されたデータ記憶回路17に一時記憶される。
【0144】
前記ステップS12 で、前記書き込み命令である16進コード"10"H の入力が判定されると、ステップS13 で変数カラムアドレスレジスタAdd_col の内容が527 より大きいか判定する。この判定の結果、もし、変数カラムアドレスレジスタAdd_col の内容≦527 なら、ステップS14 でスイッチSW2 とSW4 をオフにし、ステップS15 で仮想的に"1" 書き込みデータが入力されたとして検査データとパリティの演算を行い、ステップS16 で変数カラムアドレスレジスタAdd_col の内容を1増加させて、ステップS13 で再度変数カラムアドレスレジスタAdd_col の内容が527より大きいか判定する。
【0145】
この判定の結果、変数カラムアドレスレジスタAdd_col の内容≧528 であれば、さらに、ステップS17 で変数カラムアドレスレジスタAdd_colの内容=548 であるか否かが判定される。この判定の結果、もし、変数カラムアドレスレジスタAdd_colの内容=548 でなければ、ステップS18 で、スイッチSW1 とSW5 をオフ、スイッチSW3 とSW4 をオンにして、ステップS19 で検査データの出力とパリティ演算を行う。この時、変数カラムアドレスレジスタAdd_colの内容にしたがって検査データはデータ記憶回路17に一時記憶される。そして、ステップS20 で、変数カラムアドレスレジスタAdd_colの内容を1つ増加させて、ステップS17 で再度変数カラムアドレスレジスタAdd_colの内容=548 か判断する。
【0146】
この判定の結果、変数カラムアドレスレジスタAdd_colの内容=548 となったら、ステップS21 でスイッチSW3 をオフ、スイッチSW5 をオンにして、ステップS22 でパリティデータを出力する。この時、変数カラムアドレスレジスタAdd_colの内容にしたがって検査データがデータ記憶回路17に一時記憶される。この後、ステップS23 では、基本的にはデータ記憶回路17に記憶されている書き込みデータと検査データとパリティデータをメモリセクタに一括して書き込む。
【0147】
なお、上記したようなステップS13 〜S22 は検査データ発生制御信号CGCLK に同期して行われる。書き込み命令信号PRO によって検査データ発生命令CHKGENが発生し、この検査データ発生命令CHKGENによって検査データ発生制御信号発生回路9で検査データ発生制御信号CGCLK が自動的に発生する。この検査データ発生制御信号CGCLK に同期して誤り訂正回路11から発生する検査データとパリティデータは、同時に検査データ発生制御信号CGCLK に同期して変数カラムアドレスレジスタAdd_colの内容にしたがって発生させられるカラムアドレス信号CSL の指示で選択されたデータ記憶回路17に一時記憶させられる。
【0148】
図7は、メモリセルアレイ12の各アレイA、Bから1つづつメモリセクタを選択して同時に2つのセクタにデータを書き込む動作のタイミングの一例を示している。
【0149】
図8は、メモリセルアレイ12の各アレイA、Bから1つづつメモリセクタを選択して1セクタだけデータを書き込む動作のタイミングの一例を示している。
【0150】
まず、図7の動作タイミングについて説明する。コマンド・ラッチ・イネーブル信号CLE が"H" の期間内のライト・イネーブル信号nWE の立ち上がりで、倍速書き込み命令として例えば16進コード"D0"H が入力される。続いて、コマンド・ラッチ・イネーブル信号CLE が"H" の期間内のライト・イネーブル信号nWE の立ち上がりで、図6のステップS1で述べたようにデータ入力命令として16進コード"80"H が入力される。
【0151】
続いて、アドレス・ラッチ・イネーブル信号ALE が"H" の期間に、図6のステップS2〜S5で述べたように3回のアドレスデータが取り込まれる。ここでは、メモリセルアレイ12のセルアレイAのアドレスが入力される。続いて、データ入力命令信号INPUT が"H" となり、図6のステップS6〜S12 で述べたように書き込みデータh0〜h527が入力される。ライト・イネーブル信号nWE に同期して書き込みデータhが入力され、誤り訂正回路11で入力制御信号INCLK に同期して発生させられるクロック信号Φにしたがって誤り訂正回路11に取り込まれ、同時にINCLK に同期して変数カラムアドレスレジスタAdd_colの内容にしたがって発生させられるカラムアドレス信号CSL の指示で選択されたデータ記憶回路17に一時記憶される。
【0152】
書き込み命令である16進コード"10"H が入力されると、図6のステップS13 〜S22 で述べたように書き込み命令信号PRO が"H" となり、この書き込み命令信号PRO によって検査データ発生命令信号CHKGENも"H" となる。この検査データ発生命令信号CHKGENによって検査データ発生制御信号CGCLK が発生し、この検査データ発生制御信号CGCLK に同期して誤り訂正回路11から発生する検査データとパリティデータは、同時にCGCLK に同期して変数カラムアドレスレジスタAdd_colの内容にしたがって発生させられるカラムアドレス信号CSL の指示で選択されたデータ記憶回路17に一時記憶される。
【0153】
倍速書き込み命令である16進コード"D0"H によって、実効的な書き込み(図6のステップS23 )の書き込み動作は行われず、パリティデータがデータ記憶回路17に記憶されると、書き込み命令信号PRO と検査データ発生命令信号CHKGENは"L" となって書き込み終了となる。書き込み命令信号PRO と検査データ発生命令信号CHKGENが"H" の期間は、nBUSY が"L" となって外部にビジー状態(内部処理中)であることを伝える。
【0154】
次に、図8の動作タイミングについて説明する。コマンド・ラッチ・イネーブル信号CLE が"H" の期間内のライト・イネーブル信号nWE の立ち上がりで、図6のステップS1で述べたようにデータ入力命令である16進コード"80"H が入力される。
【0155】
続いて、アドレス・ラッチ・イネーブル信号ALE が"H" の期間に、図6のステップS2〜S5で述べたように3回のアドレスデータが取り込まれる。ここでは、メモリセルアレイ12のセルアレイBのアドレスが入力される。
【0156】
続いて、データ入力命令信号INPUT が"H" となり、図6のステップS6〜S12 で述べたように書き込みデータh3〜h520が入力される。ライト・イネーブル信号nWE に同期して書き込みデータhが入力され、誤り訂正回路11でINCLK に同期して発生させられるクロック信号Φにしたがって誤り訂正回路11に取り込まれ、同時に入力制御信号INCLK に同期して変数カラムアドレスレジスタAdd_colの内容にしたがって発生させられるカラムアドレス信号CSL の指示で選択されたデータ記憶回路17に一時記憶させられる。
【0157】
書き込みデータh0〜h2は入力されないが、データ記憶回路17の書き込みデータは"1" にリセットされており、また、誤り訂正回路11では書き込みデータh0〜h2が"1" であるとすると、D0〜D19 で示したレジスタおよびP で示したレジスタの内容は、h2までの演算で変化しないので問題はない。つまり、実効的に書き込みデータh0〜h2を"1" としている。
【0158】
書き込み命令である16進コード"10"H が入力されると、図6のステップS13 〜S22 で述べたように書き込み命令信号PRO が"H" となり、この書き込み命令信号PRO によって検査データ発生命令信号CHKGENも"H" となる。この検査データ発生命令信号CHKGENによって検査データ発生制御信号CGCLK が発生し、外部から入力されなかった書き込みデータh521〜h527の代わりにダミー書き込みデータ"1" を内部でCGCLK に同期して発生する。また、上記検査データ発生制御信号CGCLK に同期して誤り訂正回路11から発生する検査データとパリティデータは、同時にCGCLK に同期して変数カラムアドレスレジスタAdd_col の内容にしたがって発生させられるカラムアドレス信号CSL の指示で選択されたデータ記憶回路17に一時記憶させられる。
【0159】
パリティデータがデータ記憶回路17に記憶されると、検査データ発生命令信号CHKGENは"L" となって書き込み動作になる。この例では、メモリセルアレイ12のセルアレイAとBの選択された2つのメモリセクタに同時に書き込みが行われる。書き込み命令信号PRO が"H" の期間は、nBUSY が"L" となって外部にビジー状態(内部処理中)であることを伝える。
【0160】
図9は、誤り訂正回路11を非活性化したときのデータ書き込み動作のタイミングの一例を示している。まず、コマンド・ラッチ・イネーブル信号CLE が"H" の期間内のライト・イネーブル信号nWE の立ち上がりで、誤り訂正非活性化命令として例えば16進コード"A0"H が入力される。続いて、コマンド・ラッチ・イネーブル信号CLE が"H" の期間内のライト・イネーブル信号nWE の立ち上がりで、データ入力命令として16進コード"80"H が入力される。
【0161】
続いて、アドレス・ラッチ・イネーブル信号ALE が"H" の期間に、3回のアドレスデータが取り込まれる。続いて、データ入力命令信号INPUT が"H" となり、書き込みデータh0〜h548が入力される。書き込み命令である16進コード"10"H が入力されると、書き込み命令信号PRO が"H" となるが、検査データ発生命令信号CHKGENは"L" のままである。書き込み命令である16進コード"10"の投入後、直ぐに書き込み動作になる。
【0162】
コマンドインターフェイス3は、誤り訂正回路11を活性化するか非活性化するかスイッチするのである。図1中のECCENB端子に入力される誤り訂正回路活性化信号ECCENBを"L" とすると、コマンドインターフェイス3は誤り訂正回路11を非活性化するようにスイッチされる。
【0163】
図10は、誤り訂正回路活性化信号ECCENBを"L" とした時のデータ書き込み動作のタイミングの一例を示している。コマンド・ラッチ・イネーブル信号CLE が"H" の期間内のライト・イネーブル信号nWE の立ち上がりで、データ入力命令として16進コード"80"H が入力される。続いて、アドレス・ラッチ・イネーブル信号ALE が"H" の期間に、3回のアドレスデータが取り込まれる。続いて、データ入力命令信号INPUT が"H" となり、書き込みデータh0〜h548が入力される。書き込み命令である16進コード"10"H が入力されると、書き込み命令信号PRO が"H" となるが、検査データ発生命令信号CHKGENは"L" のままである。書き込み命令である16進コード"10"の投入後、直ぐに書き込み動作になる。
【0164】
なお、図8に示した動作タイミングでは、誤り訂正回路活性化信号ECCENBが"H" を示しており、図10に示した動作タイミングと同様に、データ入力命令"80"→アドレス入力→データ入力→書き込み命令"10"の流れで自動的に検査データが発生される。誤り訂正回路活性化信号ECCENBが"L" を示していると、図10に示した動作タイミングのように検査データは発生されない。
【0165】
図11乃至図17は、図1中の誤り訂正回路11において、メモリセルから読み出されたデータから誤りの生じたデータを訂正・検出する部分を示している。
【0166】
即ち、図11は、シンドロームS1、S3計算器の1個分を示しており、図12は、シンドロームS3の変換器の1個分を示しており、図13は、σ1(= S1×S1) 計算器の1個分を示しており、図14は、σ2(= S1×S1×S1+S3) 計算器の1個分を示しており、図15は、σ1 →λ1 変換器の1個分を取り出して示しており、図16は、σ2 →λ2 変換器の1個分を取り出して示しており、図17は、誤り位置検出器の1個分を示している。
【0167】
これらの回路は、主に、D0〜D19 、P 、A0〜A9、B0〜B9、C0〜C9で示した51個のシフトレジスタ18と複数個の論理演算回路19から構成されており、各信号線DL_0〜DL_7に対応してそれぞれ設けられている。
【0168】
これらの回路は、メモリセルから読み出されたデータに対して2重誤り訂正BHC(1023,1003) 符号に基づいて誤り訂正するものであり、いわゆる2つの最小多項式M1とM3は、
M1(x) = x 10 + x 3 + 1
M3(x) = x 10 + x 3 +x 2 + x +1
である。
【0169】
また、誤り訂正回路11の動作は、aとbとを”足して”cにすると、a,b,cはそれぞれ“0”か“1”であり、全ての演算結果は、下記に示すような演算である。
【0170】
【表3】
【0171】
なお、誤り位置検出の準備が整うまで、誤り訂正制御信号発生回路7で発生させられる誤り訂正制御信号ECCLK に同期して動作が行われる。
【0172】
図11に示すシンドロームS1、S3計算器は、主に、D0〜D19 、P 、A0〜A9で示した31個のシフトレジスタ18と複数の論理演算回路19から構成される。
【0173】
データ記憶回路17へメモリセクタから読み出された読み出しデータは、IOバッファ6で論理が反転させられて信号線DL_0〜DL_7に出力される。
【0174】
D0〜D19 、P で示したレジスタは、計算前に全て“0”にリセットされる、つまり初期値が“0”にされる。クロック信号Φの548 サイクル後にD0〜D19 で示したシフトレジスタ18に20ビットのシンドロームS1とS3を発生させる。また、P で示したレジスタには、読み出しデータのパリティ計算結果が生じる。
【0175】
誤り訂正制御信号ECCLK に同期してカラムアドレス信号CSL が発生させられ、クロック信号Φの1サイクル目にカラムアドレス0番地の読み出しデータが取り込まれ、以下、順に2 サイクル目のにカラムアドレス1番地、...、548サイクル目にカラムアドレス547番地の読み出しデータが取り込まれる。
【0176】
カラムアドレス516番地のサイクルでは、スイッチSW4 とSW6 とSW7 がオフとなり、ダミーデータ“0”が取り込まれる。これは、検査データ発生時に516番地の書き込みデータをダミーデータ“0”として計算しているからである。
【0177】
シンドロームS1はA0〜A9で示したレジスタに記憶される。ここまでの計算で、D0〜D9で示したレジスタにシンドロームS1、D10 〜D19 で示したレジスタにシンドロームS3、A0〜A9で示したレジスタにシンドロームS1、P で示したレジスタに読み出しデータのパリティが記憶されている。
【0178】
なお、図11に示したシンドロームS1、S3計算器で得られたシンドロームS3は、シンドロームS1と多項式表現の次数が異なっているので、図12に示すシンドロームS3の変換器により整合させる。
【0179】
図12に示すシンドロームS3の変換器は、主に、B0〜B9、C0〜C9で示した20個のシフトレジスタ18と複数の論理演算回路19から構成されており、シンドロームS3をシンドロームS1に整合させるものである。
【0180】
まず、STEP1では、C で示したレジスタを全て“0”にリセットし、STEP2 の演算を10回繰り返した時、C で示したレジスタにS3の変換値が生じる。これを、D10 〜D19 で示したレジスタに記憶させる。
【0181】
ここまでの計算で、D0〜D9で示したレジスタにシンドロームS1、D10 〜D19 で示したレジスタにシンドロームS3、A0〜A9で示したレジスタにシンドロームS1、P で示したレジスタに読み出しデータのパリティが記憶されている。
【0182】
図13に示すシンドロームS1×S1の計算器は、主に、B0〜B9、C0〜C9で示した20個のシフトレジスタ18と複数の論理演算回路19から構成されており、シンドロームS1×S1を計算させるものである。
【0183】
まず、STEP1では、C で示したレジスタを全て“0”にリセットし、STEP2 の演算を10回繰り返した時、C で示したレジスタにS1×S1が生じる。これを、D0〜D9で示したレジスタに記憶させる。
【0184】
ここまでの計算で、D0〜D9で示したレジスタにS1×S1、D10 〜D19 で示したレジスタにシンドロームS3、A0〜A9で示したレジスタにシンドロームS1、P で示したレジスタに読み出しデータのパリティが記憶されている。
【0185】
図14に示すシンドロームS1×S1×S1+S3の計算器は、主に、B0〜B9、C0〜C9で示した20個のシフトレジスタ18と複数の論理演算回路19から構成されており、シンドロームS1×S1×S1+S3を計算させるものである。
【0186】
まず、STEP1では、C で示したレジスタを全て“0”にリセットし、STEP2 の演算を10回繰り返した時、C で示したレジスタにS1×S1×S1(=S1^3) が生じる。これを、それぞれD10 〜D19 で示したレジスタのデータに足し込み、記憶させる。
【0187】
ここまでの計算で、D0〜D9で示したレジスタにS1×S1(=σ1)、D10 〜D19 で示したレジスタにシンドロームS1^3+S3(= σ2)、A0〜A9で示したレジスタにシンドロームS1、P で示したレジスタに読み出しデータのパリティが記憶されている。
【0188】
なお、図14に示したシンドロームS1×S1×S1+S3の計算器で得られたσ1 のままでも誤り位置検出器を動作させることができるが、頭出しに時間がかかるので、頭出しを高速に行うために、図15に示すσ1 →λ1 変換器によりσ1 をλ1 に変換する。
【0189】
図15に示すσ1 →λ1 変換器は、主に、B0〜B9、C0〜C9で示した20個のシフトレジスタ18と複数の論理演算回路19から構成されており、σ1 をλ1 に変換するものである。
【0190】
まず、STEP1では、C で示したレジスタを全て“0”にリセットし、STEP2 の演算を10回繰り返した時、C で示したレジスタにλ1 が生じる。これを、D0〜D9で示したレジスタに記憶させる。
【0191】
ここまでの計算で、D0〜D9で示したレジスタにλ1 、D10 〜D19 で示したレジスタにσ2 、A0〜A9で示したレジスタにシンドロームS1、P で示したレジスタに読み出しデータのパリティが記憶されている。
【0192】
なお、図15に示したσ1 →λ1 変換器で得られたσ2 のままでも誤り位置検出器を動作させることができるが、頭出しに時間がかかるので、頭出しを高速に行うために、図16に示すσ2 →λ2 変換器によりσ2 をλ2 に変換する。
【0193】
図16に示すσ2 →λ2 変換器は、主に、B0〜B9、C0〜C9で示した20個のシフトレジスタ18と複数の論理演算回路19から構成されており、σ2 をλ2 に変換するものである。
【0194】
まず、STEP1では、C で示したレジスタを全て“0”にリセットし、STEP2 の演算を10回繰り返した時、C で示したC レジスタにλ2 が生じる。これを、D10 〜D19 で示したレジスタに記憶させる。
【0195】
ここまでの計算で、D0〜D9で示したレジスタにλ1 、D10 〜D19 で示したレジスタにλ2 、A0〜A9で示したレジスタにシンドロームS1、P で示したレジスタに読み出しデータのパリティが記憶されている。
【0196】
図17に示す誤り位置検出器は、主に、D0〜D19 、A0〜A9で示した30個のシフトレジスタ18と複数の論理演算回路19から構成されている。
【0197】
この誤り位置検出器は、D0〜D9で示したレジスタに記憶されているλ1 とD10 〜D19 で示したレジスタに記憶されているλ2 とA0〜A9で示したレジスタに記憶されているシンドロームS1を用いて誤り位置を検出するものであり、出力制御信号発生回路8で発生させられる出力制御信号OUTCLKに同期して発生するクロック信号Φによって動作する。この場合、下記の条件式、
A0 = D0 + D10
A1 = D1 + D11
A2 = D2 + D12
A3 = D3 + D13
A4 = D4 + D14
A5 = D5 + D15
A6 = D6 + D16
A7 = D7 + D17
A8 = D8 + D18
A9 = D9 + D19
が成立する時に、データ記憶回路17から各信号線DL_0〜DL_7を介してD0端子〜D7へ出力される読み出しデータを反転させて誤り訂正する。
【0198】
クロック信号Φの1 サイクル(誤り位置演算の1 サイクル)後に条件式が成立すれば、カラムアドレス0番地の読み出しデータが誤っている。詳しい例では、例えば、信号線DL_3の誤り位置検出回路がクロック信号Φの200サイクル目(誤り位置演算の200サイクル目)で条件式を満たすと、カラムアドレス199番地が誤っていることが検出される。
【0199】
図18は、図1中の誤り訂正回路11で読み出しデータから誤り位置検出・訂正を行うアルゴリズムの一例を示している。
【0200】
まず、ステップS101で、メモリセクタと読み出し開始する先頭のカラムアドレスデータが入力される。次に、ステップS102で、メモリセクタからデータ記憶回路17にデータが読み出される。次いで、ステップS103で、D0〜D19 で示したレジスタ、P で示したレジスタが"0" にリセットされる。次いで、ステップS104で、変数カラムアドレスレジスタAdd_col の内容を0にセットする。この変数カラムアドレスレジスタAdd_col はカラムアドレス発生回路16にあり、この変数カラムアドレスレジスタAdd_col の内容にしたがってカラムアドレス信号CSL を発生する。
【0201】
次に、ステップS105で、カラムアドレスによって選択されたデータ記憶回路17から読み出しデータを出力する。そして、ステップS106で、変数カラムアドレスレジスタAdd_col の内容が516 か否かを判定し、変数カラムアドレスレジスタAdd_col の内容が516 の場合には、ステップS108で、スイッチSW4 、SW6 、SW7 をオフにし、変数カラムアドレスレジスタAdd_col の内容が516 以外なら、ステップS107で、スイッチSW4 、SW6 、SW7 をオンにする。
【0202】
次いで、ステップS109で、誤り訂正制御信号ECCLK に同期して発生させられるクロック信号Φによってシンドロームとパリティの演算を行う。そして、ステップS110で、変数カラムアドレスレジスタAdd_col の内容=547 か否かを判定し、547 以外ならステップS111に移り、変数カラムアドレスレジスタAdd_col の内容を1つ進めて前記ステップS105に戻る。このようにして、変数カラムアドレスレジスタAdd_col の内容=547 になるまで1づつ増加させながら、シンドロームとパリティの演算を繰り返す。なお、上記ステップS105〜S111の動作は誤り訂正制御信号ECCLK に同期して行われる。
【0203】
そして、前記ステップS110で変数カラムアドレスレジスタAdd_col の内容=547 と判定されたら、ステップS112で、シンドロームS1が0か否かを判定する。この判定の結果、もし、S1=0ならば、ステップS113でS3=0か否かを判定する。この判定の結果がS3=0ならば、誤りなしと判定して、ステップS114でステータスを”正常”にセットする。
【0204】
これに対して、前記ステップS112での判定の結果がS1=0であり、前記ステップS113での判定の結果がS3≠0 ならば、3ビット以上の誤りが生じたと判定して、ステップS115でステータスを”訂正不能”にセットする。
【0205】
これに対して、前記ステップS112での判定の結果がS1≠0ならば、ステップS116でS3=0か否かを判定する。この判定の結果がS3=0ならば、3ビット以上の誤りが生じたと判定して、ステップS122でステータスを”訂正不能”にセットする。また、ステップS116での判定の結果がS3≠0 ならば、ステップS117で、S3の変換、σ1 の計算、σ2 の計算、λ1 の計算、λ2 の計算を行う。
【0206】
次に、ステップS118でλ2 が0か否かを判定する。この判定の結果がλ2=0 ならば、1 ビット誤りが生じたと判定して、ステップS119でステータスに"1ビット誤り”をセットする。
【0207】
これに対して、前記ステップS118での判定の結果がλ2 ≠0 ならば、ステップS120で、書き込みデータから発生したパリティと読み出しデータから発生したパリティとが一致しているか否かを判定する。この判定の結果、パリティ一致なら、2ビット誤りが生じたと判定して、ステップS121でステータスに" 2ビット誤り”をセットする。また、前記ステップS120での判定の結果、パリティ不一致なら、3ビット以上の誤りが生じたと判定して、ステップS122でステータスに" 訂正不能”をセットする。そして、ステータスが確定したら、ステップS123で再び変数カラムアドレスレジスタAdd_col の内容を0にセットする。なお、上記ステップS112〜S123S105〜S111の動作は誤り訂正制御信号ECCLK に同期して行われる。
【0208】
次に、ステップS124で誤り位置演算を1 サイクル行い、ステップS125で変数カラムアドレスレジスタAdd_col の内容がデータ出力開始のカラムアドレスと一致するか否かを判定する。この判定の結果、一致しなければ、ステップS126に移り、変数カラムアドレスレジスタAdd_col の内容を1つ進めて前記ステップS124に戻る。このようにして、変数カラムアドレスレジスタAdd_col の内容がデータ出力開始のカラムアドレスと一致するなるまで1づつ増加させて、ステップS124〜S126を繰り返す。なお、上記ステップS124〜S126の動作は誤り訂正制御信号ECCLK に同期して発生するクロック信号Φに同期して行われる。
【0209】
前記ステップS125で変数カラムアドレスレジスタAdd_col の内容がデータ出力開始のカラムアドレスと一致したと判定されたら、ステップS127で、リード・イネーブル信号nRE に同期して発生するOUTCLKに同期して、誤り位置演算を行い、変数カラムアドレスレジスタAdd_col の内容にしたがってデータの外部への出力を行う。
【0210】
なお、誤り位置演算とデータ出力は、リード・イネーブル信号nRE によって外部から要求されただけ繰り返される。このように出力データを訂正するべきか否かを1 サイクル前に調べておくことで高速に出力ができる。むろん高速に出力することを考えなければ、出力と訂正すべきかを同一サイクルで処理してよい。
【0211】
図19は、図18に示したアルゴリズムにおけるデータ読み出し動作のタイミングの一例を示している。
【0212】
即ち、図19において、まず、アドレス・ラッチ・イネーブル信号ALE が"H" の期間内のライト・イネーブル信号nWE の立ち上がりで、メモリセクタの選択とデータ出力開始カラムアドレスの指定を行うアドレスデータad0 〜ad2 が入力される(図18のステップS101) 。
【0213】
アドレスデータad2 を取り込むと、自動的に読み出し命令信号READが"H" となり、選択されたメモリセクタからデータ記憶回路17へメモリセルのデータが読み出される(図18のステップS102) 。また、この間に、D0〜D19 で示したレジスタ、P で示したレジスタが"0" にリセットされ(図18のステップS103) 、変数カラムアドレスレジスタAdd_col の内容が0にセットされる(図18のステップS104) 。
【0214】
変数カラムアドレスレジスタAdd_colはカラムアドレス発生回路16にあり、この変数カラムアドレスレジスタAdd_col の内容にしたがってカラムアドレス信号CSL を発生する。
【0215】
データ記憶回路17へのデータ読み出しが終了すると、データラッチ読み出し命令信号DLREADが"H" となり、これによって誤り訂正制御信号ECCLK が出力される。誤り訂正制御信号ECCLK に同期して、カラムアドレス0番地から547番地まで順に、カラムアドレスによって選択されたデータ記憶回路17から読み出しデータが誤り訂正回路11に出力され、シンドロームとパリティの計算が行われる(図18のステップS105〜S111) 。
【0216】
続いて、計算命令信号CALCが"H" となり、再度誤り訂正制御信号ECCLK が出力される。誤り訂正制御信号ECCLK に同期して読み出しデータの誤り検出を行う(図18のステップS112〜S122) 。
【0217】
CALCが"L" となると、データ出力命令信号OUTPUTが"H" となって、出力制御信号OUTCLKが出力され、外部への出力準備を行う(図18のステップS123〜S126) 。図19の例では、データ出力開始カラムアドレスが“1”番地であるので、誤り位置演算(図18のステップS124) が2回行われる。
【0218】
この後、読み出し命令信号READが"L" となって、外部へ出力可能となる。この読み出し命令信号READが"H" の間、ビジー信号nBUSY を"L" にして、外部へ出力準備中であることを伝える。
【0219】
リード・イネーブル信号nRE が"H" から"L" に遷移するタイミングで、出力制御信号OUTCLKが"L" から"H" となりカラムアドレス信号CSL が出力され、読み出しデータD0〜D7に対応するD0端子〜D7端子から出力を開始する。同時に、次のカラムアドレスの出力データが誤りであるかを検出するため、誤り位置演算が行われる(図18のステップS127)。
【0220】
コマンド・ラッチ・イネーブル信号CLE が"H" の期間内のライト・イネーブル信号nWE の立ち上がりで、ステータス読み出し命令である16進コード"70"H が入力されると、図18のステップS114、S115、S119、S121、S122で述べたようにセットしたステータスを出力する。また、上記ステータス読み出し命令"70"H が入力されると、ステータス読み出し命令信号STATUSが"H" となる。このステータス読み出し命令信号STATUSを受けて、nCE="L" の時、リード・イネーブル信号nRE が"H" から"L" に遷移するタイミングでステータスの端子D0〜端子D7から出力を開始する。例えば端子D0〜端子D2からの出力を用いて、下記の表4のように出力する。
【0221】
【表4】
【0222】
D0で示したレジスタのステータスデータは、誤り訂正も含めて読み出しに成功したかを意味している(0="PASS" / 1="FAIL") 。書き込み/消去後にステータス読み出しを行うと、成功していれば0、成功しなければ1を出す。
【0223】
D0で示したレジスタのステータスデータは、読み出し/書き込み/消去のステータスデータとして共通にされている。D1で示したレジスタとD2で示したは最大誤り数を示している。
【0224】
図11〜17の回路は、各信号線DL_0〜DL_7に対応して設けられており、同時に動作するので、それぞれから誤り数が得られる。ステータスとしては、最大の誤り数を出力する。
【0225】
図20は、図18に示したアルゴリズムにおける誤り訂正をせずに読み出しデータを出力する動作のタイミングの一例を示している。
【0226】
ここの例では、検査データとパリティデータも出力する。これによって、誤り訂正回路11の動作を外部でチェックすることができる。
【0227】
即ち、図20において、まず、コマンド・ラッチ・イネーブル信号CLE が"H" の期間内のライト・イネーブル信号nWE の立ち上がりで、誤り訂正非活性化命令である16進コード"B0"H が入力される。なお、この誤り訂正非活性化命令は、書き込み時の誤り訂正非活性化命令"A0"H と同じコマンドを用いてもよい。
【0228】
図20に示した動作のタイミングは、図19に示した動作のタイミングとほぼ同じである。違いは、(1)"B0"H コマンドを投入すること、(2)誤りデータを検出しても訂正しないで出力すること、(3)検査データとパリティデータも出力することである。
【0229】
図21は、図1中のECCENB端子に入力される誤り訂正回路活性化信号ECCENBを"L" とした時のデータ読み出し動作のタイミングの一例を示している。
【0230】
誤り訂正回路活性化信号ECCENBを"L" とすると、図1中のコマンドインターフェイス3で誤り訂正回路11を非活性化するようにスイッチされる。
【0231】
即ち、図21において、アドレス・ラッチ・イネーブル信号ALE が"H" の期間内のライト・イネーブル信号nWE の立ち上がりで、メモリセクタの選択とデータ出力開始カラムアドレスの指定を行うアドレスデータad0 〜ad2 が入力される。
【0232】
アドレスデータad2 を取り込むと、自動的に読み出し命令信号READが"H" となり、選択されたメモリセクタからデータ記憶回路17へメモリセルのデータが読み出される。この後、読み出し命令信号READが"L" となって、外部へ出力可能となる。また、データ出力命令信号OUTPUTが"H" となって、出力制御信号OUTCLKが出力可能となる。読み出し命令信号READが"H" の間、ビジー信号nBUSY を"L" にして、外部へ出力準備中であることを伝える。
【0233】
リード・イネーブル信号nRE が"H" から"L" に遷移するタイミングで、出力制御信号OUTCLKが"L" から"H" となりカラムアドレス信号CSL が出力され、読み出しデータD0〜D7がD0端子〜D7端子から出力を開始する。
【0234】
図22は、図3に示したシステムにおいて電源立ち上がり時に自動的に所定番地のメモリセクタの読み出しを行う動作のタイミングの一例を示している。
【0235】
即ち、図22において、電源電圧VCCが0Vから立ち上がり、所定の電圧値に達したらパワーオン検出回路2がパワーオン検出信号PON を"H" にする。コマンドインターフェイス3は、上記パワーオン検出信号PON の"L" から"H" への遷移を受けて、自動的に読み出し命令信号READを"H" にして、読み出しを開始する。アドレスバッファ4も、前記パワーオン検出信号PON の"L" から"H" への遷移を受けて、自動的にアドレスデータを所定の値にセットする。この例では、データ出力開始カラムアドレスが”0”番地にセットされている。
【0236】
図22に示した動作のタイミングは、図19に示した動作のタイミングとほぼ同じであり、違いはパワーオン検出信号PON によって起動されることである。
【0237】
<第2の実施の形態>
第2の実施の形態は、前記第1の実施の形態と読み出し動作だけが異なる。
【0238】
第2の実施の形態に係る誤り訂正回路を搭載したフラッシュメモリの回路構成は、図1に示した回路構成とほぼ同様であって、さらに外部からの誤り訂正命令を受けてコマンドインターフェイス3から誤り訂正読み出し命令信号ECREADが出力される点が異なる。
【0239】
図23は、第2の実施の形態において図1中の誤り訂正回路11で読み出しデータから誤り位置検出・訂正を行うアルゴリズムの一例を示しており、図18を参照して前述した第1の実施の形態において図1中の誤り訂正回路11で読み出しデータから誤り位置検出・訂正を行うアルゴリズムとは異なる。
【0240】
即ち、まず、ステップS201で、メモリセクタと読み出し開始する先頭のカラムアドレスデータが入力される。次に、ステップS202で、メモリセクタからデータ記憶回路17にデータが読み出される。次いで、ステップS203で、D0〜D19 で示したレジスタ、P で示したレジスタが"0" にリセットされる。次いで、ステップS204で、変数カラムアドレスレジスタAdd_col の内容を0にセットする。この変数カラムアドレスレジスタAdd_col はカラムアドレス発生回路16にあり、この内容にしたがってカラムアドレス信号CSL を発生する。
【0241】
次に、ステップS205で、カラムアドレスによって選択されたデータ記憶回路17から読み出しデータを外部へ出力する。そして、ステップS206で、変数カラムアドレスレジスタAdd_col の内容が516 か否かを判定し、516 の場合には、ステップS208で、スイッチSW4 、SW6 、SW7 をオフにし、516 以外なら、ステップS207で、スイッチSW4 、SW6 、SW7 をオンにする。
【0242】
次いで、ステップS209で、外部からのリード・イネーブル信号nRE に同期した出力制御信号OUTCLKに同期して発生させられるクロック信号Φによってシンドロームとパリティの演算を行う。そして、ステップS210で、変数カラムアドレスレジスタAdd_col の内容を1つ進めて前記ステップS205に戻る。このようにして、変数カラムアドレスレジスタAdd_col の内容=527 になるまで1づつ増加させながら、シンドロームとパリティの演算を繰り返す。なお、上記ステップS205〜S210の動作は出力制御信号OUTCLKに同期して行われる。
【0243】
次に、ステップS211で、コマンドインターフェイス3に訂正読み出し命令として例えば16進コード"20"H が入力されると、訂正読み出し命令信号ECREADによって誤り訂正動作になる。そして、ステップS212で、スイッチSW4 、SW6 、SW7 をオンにする。さらに、ステップS213で、誤り訂正制御信号ECCLK に同期して発生させられるクロック信号Φによってシンドロームとパリティの演算を行う。
【0244】
そして、ステップS214で、変数カラムアドレスレジスタAdd_col の内容547 か否かを判定し、547 以外ならステップS215に移り、1つ進めて前記ステップS213に戻る。このようにして、変数カラムアドレスレジスタAdd_col の内容=547 になるまでを1づつ増加させながら、シンドロームとパリティの演算を繰り返す。なお、上記ステップS213〜S215の動作は誤り訂正制御信号ECCLK に同期して行われる。
【0245】
そして、前記ステップS214で変数カラムアドレスレジスタAdd_col の内容=547 と判定されたら、ステップS216で、シンドロームS1が0か否かを判定する。この判定の結果、もし、S1=0ならば、ステップS217でS3=0か否かを判定する。この判定の結果がS3=0ならば、誤りなしと判定して、ステップS218でステータスを”正常”にセットする。
【0246】
これに対して、前記ステップS216での判定の結果がS1=0であり、前記ステップS217での判定の結果がS3≠0 ならば、3ビット以上の誤りが生じたと判定して、ステップS219でステータスを”訂正不能”にセットする。
【0247】
これに対して、前記ステップS216での判定の結果がS1≠0ならば、ステップS220でS3=0か否かを判定する。この判定の結果がS3=0ならば、3ビット以上の誤りが生じたと判定して、ステップS226でステータスを”訂正不能”にセットする。また、前記ステップS220での判定の結果がS3≠0 ならば、ステップS221で、S3の変換、σ1 の計算、σ2 の計算、λ1 の計算、λ2 の計算を行う。
【0248】
次に、ステップS222で、λ2 が0か否かを判定する。この判定の結果がλ2=0 ならば、1 ビット誤りが生じたと判定して、ステップS223でステータスに"1ビット誤り”をセットする。
【0249】
これに対して、前記ステップS222での判定の結果がλ2 ≠0 ならば、ステップS224で、書き込みデータから発生したパリティと読み出しデータから発生したパリティとが一致しているか否かを判定する。この判定の結果がパリティ一致なら、2ビット誤りが生じたと判定して、ステップS225でステータスに" 2ビット誤り”をセットする。
【0250】
これに対して、前記ステップS224での判定の結果がパリティ不一致なら、3ビット以上の誤りが生じたと判定して、ステップS226でステータスに" 訂正不能”をセットする。ステータスが確定したら、ステップS227で変数カラムアドレスレジスタAdd_col の内容を再び0にセットし、ステップS228で誤り位置演算を1 サイクル行う。なお、上記ステップS216〜S228の動作は誤り訂正制御信号ECCLK に同期して行われる。
【0251】
次に、ステップS229で、コマンド・ラッチ・イネーブル信号CLE が"H" でライト・イネーブル信号nWE の立ち上がりでステータス読み出し命令として16進コード"70"H が入力されると、前記ステップS218、S219、S223、S225、S226でそれぞれセットしたステータスをステップS230で出力する。
【0252】
即ち、ステータス読み出し命令"70"H が入力されると、ステータス読み出し命令信号STATUSが"H" となる。ステータス読み出し命令信号STATUSを受けてチップ・イネーブル信号nCE="L" の時にリード・イネーブル信号nRE が"H" から"L" に遷移するタイミングで、前記ステップS230で、例えば表4に示したようにD0端子〜D2端子からステータスを出力する。
【0253】
通常は、誤りが無いのでステータスとして”正常”が出力されて、読み出し終了である。もし、1bit誤りあるいは2bit誤りがステータスとして出力されると、再度読み出しデータを出力する。この時、訂正して出力される。もし、”訂正不能”のステータスが出力されると、読み出し終了となり、訂正不能となったメモリセクタは破壊されたものとCPU21が認識する。
【0254】
図24は、図23に示したアルゴリズムにおけるデータ読み出し動作のタイミングの一例を示している。
【0255】
アドレス・ラッチ・イネーブル信号ALE が"H" の期間にライト・イネーブル信号nWE の立ち上がりでメモリセクタの選択とデータ出力開始カラムアドレスの指定を行うアドレスデータad0 〜ad2 が入力される(図23のステップS201) 。
【0256】
アドレスデータad2 を取り込むと、自動的に読み出し命令信号READが"H" となり、選択されたメモリセクタからデータ記憶回路17へメモリセルのデータが読み出される(図23のステップS202) 。また、この間に、D0〜D19 で示したレジスタ、P で示したレジスタが"0" にリセットされ(図23のステップS203) 、変数カラムアドレスレジスタAdd_col の内容が0にセットされる(図23のステップS204) 。変数カラムアドレスレジスタAdd_colはカラムアドレス発生回路16にあり、この変数カラムアドレスレジスタAdd_col の内容にしたがってカラムアドレス信号CSL を発生する。読み出し命令信号READが"H" の間、ビジー信号nBUSY を"L" にして、外部へ出力準備中であることを伝える。
【0257】
データ記憶回路17へのデータ読み出しが終了すると、データ出力命令信号OUTPUTが"H" となり、これによってリード・イネーブル信号nRE に同期して出力制御信号OUTCLK出力される。出力制御信号OUTCLKに同期して、カラムアドレス0番地から527番地まで順に、カラムアドレスによって選択されたデータ記憶回路17から読み出しデータが誤り訂正回路11に出力され、シンドロームとパリティの計算が行われる(図23のステップS205〜S210) 。
【0258】
訂正読み出し命令"20"H が入力されると(図23のステップS211) 、誤り訂正読み出し命令信号ECREADが"H" となり、これを受けてデータラッチ読み出し命令信号DLREADが"H" となり、これによって誤り訂正制御信号ECCLK が出力される。誤り訂正制御信号ECCLK に同期して、カラムアドレス528番地から547番地まで順に、カラムアドレスによって選択されたデータ記憶回路17から読み出しデータが誤り訂正回路11に出力され、シンドロームとパリティの計算が行われる(図23のステップS212〜S215) 。
【0259】
続いて、計算命令信号CALCが"H" となり、誤り訂正制御信号ECCLK が再度出力される。誤り訂正制御信号ECCLK に同期して読み出しデータの誤り検出を行う(図23のステップS216〜S226) 。
【0260】
計算命令信号CALCが"L" となると、データ出力命令信号OUTPUTが"H" となって、出力制御信号OUTCLKが出力され、外部への出力準備を行う(図23のステップS227、S228) 。誤り訂正読み出し命令信号ECREADが"L" となって訂正読み出し動作は終了する。誤り訂正読み出し命令信号ECREADが"H" の間、ビジー信号nBUSY を"L" にして、外部へ出力準備中であることを伝える。
【0261】
コマンド・ラッチ・イネーブル信号CLE が"H" の期間にライト・イネーブル信号nWE の立ち上がりでステータス読み出し命令"70"H が入力されると(図23のステップS229) 、図23のステップS218、S219、S223、S225、S226でセットしたステータスを図23のステップS230で出力する。この場合、ステータス読み出し命令"70"H が入力されると、ステータス読み出し命令信号STATUSが"H" となる。ステータス読み出し命令信号STATUSを受けてnCE="L" の時にnRE が"H" から"L" に遷移するタイミングで、例えば表4に示したようにD0端子〜D2端子からステータスを出力する。
【0262】
もし、1bit誤りあるいは2bit誤りのステータスであれば、リード・イネーブル信号nRE が"H" から"L" に遷移するタイミングで、出力制御信号OUTCLKが"L" から"H" となり、カラムアドレス信号CSL が出力され、D0端子〜D7端子から読み出しデータの出力を開始する。同時に、次のカラムアドレスの出力データが誤りであるか否かを検出するため、誤り位置演算が行われる。このように、出力データを訂正するべきか否かを、1 サイクル前に調べておくことにより高速に出力することができる。むろん高速に出力することを考えなければ、出力と訂正すべきか否かの検出を同一サイクルで処理して良い。
【0263】
上記第2の実施の形態においても、前記第1の実施の形態で述べたように、誤り訂正回路を活性化したり非活性化したりすることが容易に可能である。また、検査データやパリティデータの出力も容易に可能である。
【0264】
図25は、第1の実施の形態および第2の実施の形態に係るフラッシュメモリにおけるデータ消去動作のタイミングの一例を示している。
【0265】
ここでは、メモリセルアレイ12の各アレイA、Bから1つづつメモリブロックを選択して同時に2つのブロックを消去する場合を示している。
【0266】
コマンド・ラッチ・イネーブル信号CLE が"H" の期間にライト・イネーブル信号nWE の立ち上がりで消去アドレス入力命令として16進コード"60"H が入力される。続いてアドレス・ラッチ・イネーブル信号ALE が"H" の期間に2回のアドレスデータが取り込まれる。再度、コマンド・ラッチ・イネーブル信号CLE が"H" の期間にライト・イネーブル信号nWE の立ち上がりで消去アドレス入力命令"60"H が入力され、続いてアドレス・ラッチ・イネーブル信号ALE が"H" の期間に2回のアドレスデータが取り込まれる。なお、1 ブロックだけ消去する場合は、2 回目の消去アドレス入力命令"60"H の入力とアドレスの入力は行わない。
【0267】
コマンド・ラッチ・イネーブル信号CLE が"H" の期間にライト・イネーブル信号nWE の立ち上がりで消去命令として16進コード"90"H が入力され、消去命令信号ERASE が"H" となり、選択されたブロックが消去される。消去命令信号ERASE が"H" の間、ビジー信号nBUSY が"L" となって内部処理中であることを外部へ伝える。
【0268】
以上の説明の中で、検査データとパリティデータを分かり易くするために別々に扱ってきたが、パリティデータも誤りの程度を検査するための検査データの1つである。
【0269】
前記した実施の態様から理解できるように、本発明は、以下に述べるような特徴を有するフラッシュメモリをそれぞれ提供するものである。
【0270】
即ち、本発明に係る第1のフラッシュメモリは、複数のフラッシュメモリセルM から構成されるメモリセクタと、外部からの書き込みデータ入力命令"80"を受けて書き込みデータ入力命令信号INPUT を発生し、外部からの書き込み命令"10"H を受けて書き込み命令信号PRO を発生するコマンドインターフェイス3 と、外部から入力される第1の信号nWE を受け取る第1の信号バッファ10と、前記書き込み命令信号PRO によって活性化され、制御信号CGCLK を発生する制御信号発生回路9 と、前記書き込みデータ入力命令信号INPUT によって活性化され、外部から入力される書き込みデータを前記第1の信号nWE に同期して受け取るデータ入力バッファ5 と、前記書き込みデータ入力命令信号INPUT によって活性化され、前記第1の信号nWE に同期して前記書き込みデータを受け取り、前記書き込み命令PRO によって活性化され、前記制御信号CGCLK に同期して誤り訂正のための検査データを発生する誤り訂正回路11と、外部から入力されるアドレスデータを受け取るアドレスバッファ4 と、前記書き込みデータ入力命令信号INPUT によって活性化され、前記第1の信号nWE に同期して前記アドレスデータに基づいて予め決められた順にアドレス信号CSL を発生し、前記書き込み命令信号PRO によって活性化され、前記制御信号CSL に同期して予め決められた順にアドレス信号を発生するアドレス信号発生回路16と、各々が各々のメモリセルM に対して設けられ、各々は割り付けられたアドレス信号CSL を受けて前記書き込みデータあるいは検査データを取り込み一時記憶する複数のデータ記憶回路17と、前記書き込み命令PRO によって活性化され、前記複数のデータ記憶回路17に一時記憶されている書き込みデータと検査データを前記メモリセクタに書き込む手段(13,14,15)とを備えたことを特徴とする。
【0271】
さらに、望ましい実施態様として、前記書き込み命令信号PRO にしたがってビジー信号nBUSY を外部へ出力するビジー信号出力回路3を備えている。
【0272】
上記第1のフラッシュメモリによれば、書き込み回路への情報データの入力は、外部から制御される信号nWE に同期して行わせるが、誤り訂正回路は2つの期間において2つの制御信号に同期させて動作させる、つまり、1つめの期間は外部制御信号nWE に同期させ、2つめの期間においては自動的に内部制御信号CGCLK を発生させ、これに同期させる。
【0273】
これにより、外部制御信号が入力されない期間でも、誤り訂正のために検査データを内部誤り訂正回路で発生させる、検査データを書き込み回路へ入力させるなどの処理は、フラッシュメモリの内部で自動的に処理できる。したがって、従来の誤り訂正回路を搭載しないフラッシュメモリと互換性のあるフラッシュメモリを提供することができる。
【0274】
また、本発明に係る第2のフラッシュメモリは、複数のフラッシュメモリセルM から構成されるメモリセクタと、複数の前記メモリセクタから構成されるメモリセルアレイ12と、制御信号ECCLK を発生する制御信号発生回路7と、外部から入力される第1の信号nRE を受け取る第1の信号バッファ8と、外部から入力されるアドレスデータを受け取るアドレスバッファ4と、前記制御信号ECCLK に同期して予め決められた順にアドレス信号CSLを発生し、前記第1の信号nRE に同期して前記アドレスデータに基づいてあらかじめ決められた順にアドレス信号CSL を発生するアドレス信号発生回路16と、前記アドレスデータに基づいて前記メモリセルアレイ12中のメモリセクタを選択し、選択されたメモリセクタの各々のメモリセルmからデータを読み出す読み出し手段(13,14,15)と、各々が各々のメモリセルMに対して設けられ、各々は選択されたメモリセクタの対応するメモリセルMから読み出されたデータを一時記憶し、各々は割り付けられたアドレス信号CSLを受けて一時記憶しているメモリセルMから読み出されたデータを出力する複数のデータ記憶回路17と、前記第1の信号nRE に同期して、前記複数のデータ記憶回路17から出力されるメモリセルMから読み出されたデータを外部へ出力するデータ出力バッファ5と、前記制御信号ECCLKに同期して前記複数のデータ記憶回路17から出力されるメモリセルMから読み出したデータを受け取り、前記データ出力バッファ5から出力されるデータが誤りであるか否かを前記第1の信号nRE に同期して判断して訂正する誤り訂正回路11とを備えたことを特徴とする。
【0275】
さらに、望ましい実施態様として、
(1)外部からのステータス読み出し命令"70"H を受けステータス読み出し命令信号STATUSを発生するコマンドインターフェイス3と、前記ステータス読み出し命令信号STATUSによって活性化されメモリセルMから読み出されたデータに誤りがあったか否かを前記データ出力バッファ5を介して出力するステータス出力手段(5,11)とを備える。
【0276】
(2)前記誤り訂正回路11は、メモリセルMから読み出したデータのうち複数個のデータを訂正可能であり、前記ステータス出力手段(5,11)は誤りの数を出力可能である。
【0277】
(3)前記誤り訂正回路11は、メモリセルMから読み出したデータのうちn個(n≧1)のデータを訂正可能で、(n+1)個の誤りの存在を検出可能であって、前記ステータス出力手段(5,11)は誤り訂正可能か否かを出力可能である。
【0278】
(4)前記メモリセルMからのデータの読み出しおよびメモリセルMから読み出されたデータを前記誤り訂正回路11が受け取る期間にわたって連続してビジー信号nBUSY を外部へ出力するビジー信号出力回路3を備える。
【0279】
上記第2のフラッシュメモリによれば、読み出し回路からの情報データの出力は、外部から制御される信号nRE に同期して行わせるが、誤り訂正回路は、2つの期間において2つの制御信号に同期させて動作させる、つまり、1つめの期間は外部制御信号nRE に同期させ、2つめの期間においては自動的に内部制御信号ECCLK を発生させ、これに同期させる。
【0280】
これにより、外部制御信号が入力されない期間でも、誤り訂正のために検査データを内部誤り訂正回路で発生させる、誤り訂正のための読み出し回路から読み出しデータ(情報データと検査データ)を誤り訂正回路へ読み出すなどの処理は、フラッシュメモリの内部で自動的に処理できる。したがって、従来の誤り訂正回路を搭載しないフラッシュメモリと互換性のあるフラッシュメモリを提供することができる。
【0281】
また、本発明に係る第3のフラッシュメモリは、複数のフラッシュメモリセルMから構成されるメモリセクタと、複数の前記メモリセクタから構成されるメモリセルアレイ12と、外部からの訂正読み出し命令"20"H を受け訂正読み出し命令信号ECREADを発生するコマンドインターフェイス3と、前記訂正読み出し命令信号ECREADによって活性化され、制御信号ECCLK を発生する制御信号発生回路7と、外部から入力される第1の信号nRE を受け取る第1の信号バッファ8と、外部から入力されるアドレスデータを受け取るアドレスバッファ4と、前記第1の信号nRE に同期して前記アドレスデータに基づいて予め決められた順にアドレス信号CSLを発生し、前記訂正読み出し命令信号ECREADによって活性化され、前記制御信号ECCLKに同期して予め決められた順にアドレス信号CSLを発生するアドレス信号発生回路16と、前記アドレスデータに基づいて前記メモリセルアレイ12中のメモリセクタを選択し、選択されたメモリセクタの各々のメモリセルMからデータを読み出す読み出し手段(13,14,15)と、各々が各々のメモリセルMに対して設けられ、各々は選択されたメモリセクタの対応するメモリセルMから読み出されたデータを一時記憶し、各々は割り付けられたアドレス信号CSLを受けて一時記憶しているメモリセルMから読み出されたデータを出力する複数のデータ記憶回路17と、前記第1の信号nREに同期して、前記複数のデータ記憶回路17から出力されるメモリセルMから読み出されたデータを外部へ出力するデータ出力バッファ5と、前記第1の信号nREに同期して前記複数のデータ記憶回路17から出力されるメモリセルMから読み出したデータを受け取り、前記制御信号ECCLKに同期して前記複数のデータ記憶回路17から出力されるメモリセルMから読み出したデータを受け取り、メモリセルMから読み出したデータに誤りがあるか否かを判断し、誤りがある場合はそのデータを特定する誤り訂正回路11とを備えたことを特徴とする。
【0282】
さらに、望ましい実施態様として、
(1)前記コマンドインターフェイス3は、外部からのステータス読み出し命令"70"を受けステータス読み出し命令信号STATUSを発生し、さらに、前記ステータス読み出し命令信号STATUSによって活性化されメモリセルMから読み出されたデータに誤りがあったか否かを前記データ出力バッファ5を介して出力するステータス出力手段(5,11)とを備える。
【0283】
(2)前記誤り訂正回路11は、メモリセルMから読み出したデータのうち複数個のデータを訂正可能であり、前記ステータス出力手段(5,11)は誤りの数を出力可能である。
【0284】
(3)前記誤り訂正回路11は、メモリセルMから読み出したデータのうちn個(n≧1)のデータを訂正可能で(n+1)個の誤りの存在を検出可能であって、前記ステータス出力手段(5,11)は誤り訂正可能か否かを出力可能である。
【0285】
(4)前記メモリセルMからのデータの読み出し期間にビジー信号nBUSY を外部へ出力し、かつ、前記訂正読み出し命令信号ECREADにしたがってビジー信号nBUSY を外部へ出力するビジー信号出力回路3を備える。
【0286】
上記第3のフラッシュメモリによれば、2つの期間において2つの制御信号に同期させて誤り訂正回路を動作させる、つまり、1つめの期間は外部制御信号nRE に同期させ、2つ目の期間においては自動的に内部制御信号ECCLK を発生させ、これに同期させる。これにより、外部制御信号が入力されない期間でも、誤り訂正のために検査データを内部誤り訂正回路で発生させ、誤りがある場合はそのデータを特定するなどの処理は、フラッシュメモリの内部で自動的に処理できる。したがって、従来の誤り訂正回路を搭載しないフラッシュメモリと互換性のあるフラッシュメモリを提供することができる。
【0287】
また、本発明に係る第4のフラッシュメモリは、複数のフラッシュメモリセルMから構成されるメモリセクタと、外部からの書き込みデータ入力命令"80"H を受けて書き込みデータ入力命令信号INPUTを発生し、外部からの書き込み命令"10"H を受けて書き込み命令信号PRO を発生するコマンドインターフェイス3と、外部から入力される第1の信号nWE を受け取る第1の信号バッファ10と、前記書き込み命令信号PROによって活性化され、制御信号CGCLKを発生する制御信号発生回路9と、前記書き込みデータ入力命令信号INPUTによって活性化され、外部から入力される書き込みデータを前記第1の信号nWEに同期して受け取るデータ入力バッファ5と、前記書き込みデータ入力命令信号INPUTによって活性化され、前記第1の信号nWEに同期して前記書き込みデータを受け取り、前記書き込み命令PROによって活性化され、前記制御信号CGCLKに同期して誤り訂正のための検査データを発生する誤り訂正回路11と、各々が各々のメモリセルMに対して設けられ、前記第1の信号nWEおよび前記制御信号CGCLKに同期して前記書き込みデータあるいは検査データを取り込み一時記憶する複数のデータ記憶回路17と、前記書き込み命令PROによって活性化され、前記複数のデータ記憶回路17に一時記憶されている書き込みデータと検査データを前記メモリセクタに書き込む手段(13,14,15)とを備えることを特徴とする。
【0288】
さらに、望ましい実施態様として、前記書き込み命令信号PROにしたがってビジー信号nBUSYを外部へ出力するビジー信号出力回路3を備える。
【0289】
上記第4のフラッシュメモリによれば、前記第1のフラッシュメモリと比べて、データ記憶回路17に書き込みデータあるいは検査データを取り込み一時記憶する際に、割り付けられたアドレス信号ではなく、外部制御信号nWEおよび内部制御信号CGCLKに同期して取り込む点が異なるが、前述した第1のフラッシュメモリと基本的に同様の効果が得られる。
【0290】
また、本発明に係る第5のフラッシュメモリは、複数のフラッシュメモリセルMから構成されるメモリセクタと、複数の前記メモリセクタから構成されるメモリセルアレイ12と、制御信号ECCLKを発生する制御信号発生回路7と、外部から入力される第1の信号nREを受け取る第1の信号バッファ8と、外部から入力されるアドレスデータを受け取るアドレスバッファ4と、前記アドレスデータに基づいて前記メモリセルアレイ12中のメモリセクタを選択し、選択されたメモリセクタの各々のメモリセルMからデータを読み出す読み出し手段(13,14,15)と、各々が各々のメモリセルMに対して設けられ、各々は選択されたメモリセクタの対応するメモリセルMから読み出されたデータを一時記憶し、前記制御信号ECCLKおよび前記第1の信号nREに同期して一時記憶しているメモリセルMから読み出されたデータを出力する複数のデータ記憶回路17と、前記第1の信号nREに同期して、前記複数のデータ記憶回路17から出力されるメモリセルMから読み出されたデータを外部へ出力するデータ出力バッファ5と、前記制御信号ECCLKに同期して前記複数のデータ記憶回路17から出力されるメモリセルMから読み出したデータを受け取り、前記データ出力バッファ5から出力されるデータが誤りであるか否かを前記第1の信号nREに同期して判断して訂正する誤り訂正回路11とを備えることを特徴とする。
【0291】
さらに、望ましい実施態様として、
(1)外部からのステータス読み出し命令"70"を受けステータス読み出し命令信号STATUSを発生するコマンドインターフェイス3と、前記ステータス読み出し命令信号STATUSによって活性化されメモリセルMから読み出されたデータに誤りがあったか否かを前記データ出力バッファ5を介して出力するステータス出力手段(5,11)とを備える。
【0292】
(2)前記誤り訂正回路11は、メモリセルMから読み出したデータのうち複数個のデータを訂正可能であり、前記ステータス出力手段(5,11)は誤りの数を出力可能である。
【0293】
(3)前記誤り訂正回路11は、メモリセルMから読み出したデータのうちn個(n≧1)のデータを訂正可能で(n+1)個の誤りの存在を検出可能であって、前記ステータス出力手段(5,11)は誤り訂正可能か否かを出力可能である。
【0294】
(4)メモリセルMからのデータの読み出しおよびメモリセルMから読み出されたデータを前記誤り訂正回路11が受け取る期間にわたって連続してビジー信号nBUSYを外部へ出力するビジー信号出力回路3を備える。
【0295】
上記第5のフラッシュメモリによれば、前記第2のフラッシュメモリと比べて、データ記憶回路17からデータを出力する際に、割り付けられたアドレス信号ではなく、内部制御信号ECCLKおよび外部制御信号nREに同期させる点が異なるが、前述した第2のフラッシュメモリと基本的に同様の効果が得られる。
【0296】
また、本発明に係る第6のフラッシュメモリは、複数のフラッシュメモリセルMから構成されるメモリセクタと、複数の前記メモリセクタから構成されるメモリセルアレイ12と、外部からの訂正読み出し命令"20"H を受け訂正読み出し命令信号ECREADを発生するコマンドインターフェイス3と、前記訂正読み出し命令信号ECREADによって活性化されて制御信号ECCLKを発生する制御信号発生回路7と、外部から入力される第1の信号nREを受け取る第1の信号バッファ8と、外部から入力されるアドレスデータを受け取るアドレスバッファ4と、前記アドレスデータに基づいて前記メモリセルアレイ12中のメモリセクタを選択し、選択されたメモリセクタの各々のメモリセルMからデータを読み出す読み出し手段(13,14,15)と、各々が各々のメモリセルMに対して設けられ、各々は選択されたメモリセクタの対応するメモリセルMから読み出されたデータを一時記憶し、前記第1の信号nREおよび前記制御信号ECCLKに同期して一時記憶しているメモリセルMから読み出されたデータを出力する複数のデータ記憶回路17と、前記第1の信号nREに同期して、前記複数のデータ記憶回路17から出力されるメモリセルMから読み出されたデータを外部へ出力するデータ出力バッファ5と、前記第1の信号nREに同期して前記複数のデータ記憶回路17から出力されるメモリセルMから読み出したデータを受け取り、前記制御信号ECCLKに同期して前記複数のデータ記憶回路17から出力されるメモリセルMから読み出したデータを受け取り、メモリセルMから読み出したデータに誤りがあるか否かを判断し、誤りがある場合はそのデータを特定する誤り訂正回路11とを備えることを特徴とする。
【0297】
さらに、望ましい実施態様として、
(1)前記コマンドインターフェイス3は、外部からのステータス読み出し命令"70"H を受けステータス読み出し命令信号STATUSを発生し、さらに、前記ステータス読み出し命令信号STATUSによって活性化され、メモリセルMから読み出されたデータに誤りがあったか否かを前記データ出力バッファ5を介して出力するステータス出力手段(5,11)とを備える。
【0298】
(2)前記誤り訂正回路11は、メモリセルMから読み出したデータのうち複数個のデータを訂正可能であり、前記ステータス出力手段(5,11)は誤りの数を出力可能である。
【0299】
(3)前記誤り訂正回路11は、メモリセルMから読み出したデータのうちn個(n≧1)のデータを訂正可能で(n+1)個の誤りの存在を検出可能であって、前記ステータス出力手段(5,11)は誤り訂正可能か否かを出力可能である。
【0300】
(4)メモリセルMからのデータの読み出し期間にビジー信号nBUSYを外部へ出力し、かつ、前記訂正読み出し命令信号ECREADにしたがってビジー信号nBUSYを外部へ出力するビジー信号出力回路3を備える。
【0301】
上記第6のフラッシュメモリによれば、前記第3のフラッシュメモリと比べて、データ記憶回路17からデータを出力する際に、割り付けられたアドレス信号ではなく、外部制御信号nREおよび内部制御信号ECCLKに同期させる点が異なるが、前述した第3のフラッシュメモリと基本的に同様の効果が得られる。
【0350】
なお、本発明は上述した実施形態に限定されるものではない。フラッシュメモリセルとしては、上述した実施形態のNAND型メモリセル以外にも、NOR型メモリセル、仮想グランドメモリセルなど、メモリセルの形態は選ばない。また、クラスタのサイズは、上述した実施形態では4セクタであったが、8セクタ、9セクタ、16セクタなどシステムの特性に応じて選ぶことが可能である。また、クラスタとセクタの数を同じにしてもよい。
【0351】
また、上述した実施形態では1つのメモリセルに2ビットのデータを書いたが、1つのメモリセルに1ビット、3ビット、4ビットなどでもよい。その他、本発明の要旨を逸脱しない範囲で種々変形して実施することができる。
【0352】
【発明の効果】
上述したように本発明のフラッシュメモリは、2つの期間において2つの制御信号に同期させて誤り訂正回路を動作させ、1つ目の期間は外部制御信号に同期させ、2つ目の期間においては自動的に内部制御信号を発生させ、これに同期させることにより、外部制御信号が入力されない期間でも、誤り訂正のために検査データを内部誤り訂正回路で発生させる、検査データを書き込み回路へ入力させる、誤り訂正のための読み出し回路から誤り訂正回路へ読み出しデータ(情報データと検査データ)を読み出す、などは内部で自動的に処理できる。したがって、従来の誤り訂正回路を搭載しないフラッシュメモリと互換性のあるフラッシュメモリを提供することができる。
【図面の簡単な説明】
【図1】本発明の第1の実施の形態に係るフラッシュメモリの構成を示すブロック図。
【図2】図1中のメモリセルアレイの1個分を取り出して示す回路図。
【図3】図1のフラッシュメモリを適用したシステムの構成を示すブロック図。
【図4】図1中の誤り訂正回路における検査データ発生部を示す回路図。
【図5】図1中の誤り訂正回路におけるシフトレジスタと論理演算回路を示す回路図。
【図6】第1の実施の形態における書き込みアルゴリズムの一例を示す図。
【図7】図6の書き込みアルゴリズムにおいて同時に2つのメモリセクタにデータを書き込む動作のタイミングの一例を示す図。
【図8】図6の書き込みアルゴリズムにおいて1つのメモリセクタにだけデータを書き込む動作のタイミングの一例を示す図。
【図9】実施例に係る書き込みタイミングを示す図。
【図10】実施例に係る書き込みタイミングを示す図。
【図11】図1中の誤り訂正回路におけるシンドロームS1、S3発生部を示す図。
【図12】図1中の誤り訂正回路におけるシンドロームS3の変換回路を示す図。
【図13】図1中の誤り訂正回路におけるσ1=S1×S1計算回路を示す図。
【図14】図1中の誤り訂正回路におけるσ2=S1×S1×S1+S3 計算回路を示す図。
【図15】図1中の誤り訂正回路におけるσ1 →λ1 変換器を示す図。
【図16】図1中の誤り訂正回路におけるσ2 →λ2 変換器を示す図。
【図17】図1中の誤り訂正回路における誤り位置検出回路を示す図。
【図18】第1の実施の形態における読み出しアルゴリズムの一例を示す図。
【図19】図18の読み出しアルゴリズムにおける読み出し動作のタイミングの一例を示す図。
【図20】図18の読み出しアルゴリズムにおいて誤り訂正をせずに読み出しデータを出力する動作の一例を示す図。
【図21】図18の読み出しアルゴリズムにおいて誤り訂正活性化信号ECCENBを"L" とした時のデータ読み出し動作のタイミングの一例を示す図。
【図22】図3に示したシステムにおいて電源立ち上がり時に自動的に所定番地のメモリセクタの読み出しを行う動作のタイミングの一例を示す図。
【図23】第2の実施の形態における読み出しアルゴリズムの一例を示す図。
【図24】図23の読み出しアルゴリズムにおけ読み出し動作のタイミングの一例を示す図。
【図25】本発明のフラッシュメモリにおける消去動作のタイミングの一例を示す図。
【符号の説明】
1…外部端子、
2…パワーオン検出回路、
3…コマンドインターフェイス、
4…アドレスバッファ、
5…データ入出力バッファ、
6…IOバッファ、
7…誤り訂正制御信号発生回路、
8…出力制御信号発生回路、
9…検査データ発生制御信号発生回路、
10…入力制御信号発生回路、
11…誤り訂正回路、
12…メモリセルアレイ、
13…ソース・ウェル制御回路、
14…ロウ制御回路、
15…カラム制御回路、
16…カラムアドレス発生回路、
17…データ記憶回路、
18…シフトレジスタ、
19…論理演算回路、
20…フラッシュメモリ、
21…CPU、
22…キャッシュメモリ。
Claims (24)
- 複数のフラッシュメモリセルから構成されるメモリセクタと、
外部からの書き込みデータ入力命令を受け書き込みデータ入力命令信号を発生し、外部からの書き込み命令を受け書き込み命令信号を発生するコマンドインターフェイスと、
外部から入力される第1の信号を受け取る第1の信号バッファと、
前記書き込み命令信号によって活性化され、制御信号を発生する制御信号発生回路と、
前記書き込みデータ入力命令信号によって活性化され、外部から入力される書き込みデータを前記第1の信号に同期して受け取るデータ入力バッファと、
前記書き込みデータ入力命令信号によって活性化され、前記第1の信号に同期して前記書き込みデータを受け取り、前記書き込み命令によって活性化され、前記制御信号に同期して誤り訂正のための検査データを発生する誤り訂正回路と、
外部から入力されるアドレスデータを受け取るアドレスバッファと、
前記書き込みデータ入力命令信号によって活性化され、前記第1の信号に同期して前記アドレスデータに基づいて予め決められた順にアドレス信号を発生し、前記書き込み命令信号によって活性化され、前記制御信号に同期して予め決められた順にアドレス信号を発生するアドレス信号発生回路と、
各々が各々のメモリセルに対して設けられ、各々は割り付けられたアドレス信号を受けて前記書き込みデータあるいは検査データを取り込み一時記憶する複数のデータ記憶回路と、
前記書き込み命令によって活性化され、前記複数のデータ記憶回路に一時記憶されている書き込みデータと検査データを前記メモリセクタに書き込む手段
とを具備することを特徴とするフラッシュメモリ。 - 前記書き込み命令信号に従ってビジー信号を外部へ出力するビジー信号出力回路をさらに具備することを特徴とする請求項1記載のフラシュメモリ。
- 複数のフラッシュメモリセルから構成されるメモリセクタと、
複数の前記メモリセクタから構成されるメモリセルアレイと、
制御信号を発生する制御信号発生回路と、
外部から入力される第1の信号を受け取る第1の信号バッファと、
外部から入力されるアドレスデータを受け取るアドレスバッファと、
前記制御信号に同期して予め決められた順にアドレス信号を発生し、前記第1の信号に同期して前記アドレスデータに基づいて予め決められた順にアドレス信号を発生するアドレス信号発生回路と、
前記アドレスデータに基づいて前記メモリセルアレイ中のメモリセクタを選択し、選択されたメモリセクタの各々のメモリセルからデータを読み出す読み出し手段と、
各々が各々のメモリセルに対して設けられ、各々は選択されたメモリセクタの対応するメモリセルから読み出されたデータを一時記憶し、各々は割り付けられたアドレス信号を受けて一時記憶しているメモリセルから読み出されたデータを出力する複数のデータ記憶回路と、
前記第1の信号に同期して、前記複数のデータ記憶回路から出力されるメモリセルから読み出されたデータを外部へ出力するデータ出力バッファと、
前記制御信号に同期して前記複数のデータ記憶回路から出力されるメモリセルから読み出したデータを受け取り、前記データ出力バッファから出力されるデータが誤りであるか否かを前記第1の信号に同期して判断して訂正する誤り訂正回路
とを具備することを特徴とするフラッシュメモリ。 - 外部からのステータス読み出し命令を受けステータス読み出し命令信号を発生するコマンドインターフェイスと、前記ステータス読み出し命令信号によって活性化されメモリセルから読み出されたデータに誤りがあったか否かを前記データ出力バッファを介して出力するステータス出力手段
とをさらに具備することを特徴とする請求項3記載のフラッシュメモリ。 - 前記誤り訂正回路は、メモリセルから読み出したデータのうち複数個のデータを訂正可能であり、前記ステータス出力手段は誤りの数を出力可能であることを特徴とする請求項4記載のフラッシュメモリ。
- 前記誤り訂正回路は、メモリセルから読み出したデータのうちn個(n≧1)のデータを訂正可能で(n+1)個の誤りの存在を検出可能であって、前記ステータス出力手段は誤り訂正可能か否かを出力可能であることを特徴とする請求項4記載のフラッシュメモリ。
- 前記メモリセルからのデータの読み出しおよびメモリセルから読み出されたデータを前記誤り訂正回路が受け取る期間にわたって連続してビジー信号を外部へ出力するビジー信号出力回路をさらに具備することを特徴とする請求項3記載のフラッシュメモリ。
- 複数のフラッシュメモリセルから構成されるメモリセクタと、
複数の前記メモリセクタから構成されるメモリセルアレイと、
外部からの訂正読み出し命令を受け訂正読み出し命令信号を発生するコマンドインターフェイスと、
前記訂正読み出し命令信号によって活性化され制御信号を発生する制御信号発生回路と、
外部から入力される第1の信号を受け取る第1の信号バッファと、
外部から入力されるアドレスデータを受け取るアドレスバッファと、
前記第1の信号に同期して前記アドレスデータに基づいて予め決められた順にアドレス信号を発生し、前記訂正読み出し命令信号によって活性化され前記制御信号に同期して予め決められた順にアドレス信号を発生するアドレス信号発生回路と、
前記アドレスデータに基づいて前記メモリセルアレイ中のメモリセクタを選択し、選択されたメモリセクタの各々のメモリセルからデータを読み出す読み出し手段と、
各々が各々のメモリセルに対して設けられ、各々は選択されたメモリセクタの対応するメモリセルから読み出されたデータを一時記憶し、各々は割り付けられたアドレス信号を受けて一時記憶しているメモリセルから読み出されたデータを出力する複数のデータ記憶回路と、
前記第1の信号に同期して、前記複数のデータ記憶回路から出力されるメモリセルから読み出されたデータを外部へ出力するデータ出力バッファと、
前記第1の信号に同期して前記複数のデータ記憶回路から出力されるメモリセルから読み出したデータを受け取り、前記制御信号に同期して前記複数のデータ記憶回路から出力されるメモリセルから読み出したデータを受け取り、メモリセルから読み出したデータに誤りがあるか否かを判断し、誤りがある場合はそのデータを特定する誤り訂正回路
とを具備することを特徴とするフラッシュメモリ。 - 前記コマンドインターフェイスは、外部からのステータス読み出し命令を受けステータス読み出し命令信号を発生し、
前記ステータス読み出し命令信号によって活性化されメモリセルから読み出されたデータに誤りがあったか否かを前記データ出力バッファを介して出力するステータス出力手段をさらに具備することを特徴とする請求項8記載のフラッシュメモリ。 - 前記誤り訂正回路は、メモリセルから読み出したデータのうち複数個のデータを訂正可能であり、前記ステータス出力手段は誤りの数を出力可能であることを特徴とする請求項9記載のフラッシュメモリ。
- 前記誤り訂正回路は、メモリセルから読み出したデータのうちn個(n≧1)のデータを訂正可能で(n+1)個の誤りの存在を検出可能であって、前記ステータス出力手段は誤り訂正可能か否かを出力可能であることを特徴とする請求項9記載のフラッシュメモリ。
- 前記メモリセルからのデータの読み出し期間にビジー信号を外部へ出力し、かつ、前記訂正読み出し命令信号に従ってビジー信号を外部へ出力するビジー信号出力回路をさらに具備することを特徴とする請求項8記載のフラッシュメモリ。
- 複数のフラッシュメモリセルから構成されるメモリセクタと、
外部からの書き込みデータ入力命令を受け書き込みデータ入力命令信号を発生し、外部からの書き込み命令を受け書き込み命令信号を発生するコマンドインターフェイスと、
外部から入力される第1の信号を受け取る第1の信号バッファと、
前記書き込み命令信号によって活性化され、制御信号を発生する制御信号発生回路と、
前記書き込みデータ入力命令信号によって活性化され、外部から入力される書き込みデータを前記第1の信号に同期して受け取るデータ入力バッファと、
前記書き込みデータ入力命令信号によって活性化され前記第1の信号に同期して前記書き込みデータを受け取り、前記書き込み命令によって活性化され前記制御信号に同期して誤り訂正のための検査データを発生する誤り訂正回路と、
各々が各々のメモリセルに対して設けられ、前記第1の信号および前記制御信号に同期して前記書き込みデータあるいは検査データを取り込み一時記憶する複数のデータ記憶回路と、
前記書き込み命令によって活性化され、前記複数のデータ記憶回路に一時記憶されている書き込みデータと検査データを前記メモリセクタに書き込む手段
とを具備することを特徴とするフラッシュメモリ。 - 前記書き込み命令信号に従ってビジー信号を外部へ出力するビジー信号出力回路をさらに具備することを特徴とする請求項13記載のフラッシュメモリ。
- 複数のフラッシュメモリセルから構成されるメモリセクタと、
複数の前記メモリセクタから構成されるメモリセルアレイと、
制御信号を発生する制御信号発生回路と、
外部から入力される第1の信号を受け取る第1の信号バッファと、
外部から入力されるアドレスデータを受け取るアドレスバッファと、
前記アドレスデータに基づいて前記メモリセルアレイ中のメモリセクタを選択し、選択されたメモリセクタの各々のメモリセルからデータを読み出す読み出し手段と、
各々が各々のメモリセルに対して設けられ、各々は選択されたメモリセクタの対応するメモリセルから読み出されたデータを一時記憶し、前記制御信号および前記第1の信号に同期して一時記憶しているメモリセルから読み出されたデータを出力する複数のデータ記憶回路と、
前記第1の信号に同期して、前記複数のデータ記憶回路から出力されるメモリセルから読み出されたデータを外部へ出力するデータ出力バッファと、
前記制御信号に同期して前記複数のデータ記憶回路から出力されるメモリセルから読み出したデータを受け取り、前記データ出力バッファから出力されるデータが誤りであるか否かを前記第1の信号に同期して判断して訂正する誤り訂正回路
とを具備することを特徴とするフラッシュメモリ。 - 外部からのステータス読み出し命令を受けステータス読み出し命令信号を発生するコマンドインターフェイスと、前記ステータス読み出し命令信号によって活性化されメモリセルから読み出されたデータに誤りがあったか否かを前記データ出力バッファを介して出力するステータス出力手段とをさらに具備することを特徴とする請求項15記載のフラッシュメモリ。
- 前記誤り訂正回路は、メモリセルから読み出したデータのうち複数個のデータを訂正可能であり、前記ステータス出力手段は誤りの数を出力可能であることを特徴とする請求項16記載のフラッシュメモリ。
- 前記誤り訂正回路は、メモリセルから読み出したデータのうちn個(n≧1)のデータを訂正可能で(n+1)個の誤りの存在を検出可能であって、前記ステータス出力手段は誤り訂正可能か否かを出力可能であることを特徴とする請求項16記載のフラッシュメモリ。
- 前記メモリセルからのデータの読み出しおよびメモリセルから読み出されたデータを前記誤り訂正回路が受け取る期間にわたって連続してビジー信号を外部へ出力するビジー信号出力回路をさらに具備することを特徴とする請求項15記載のフラシュメモリ。
- 複数のフラッシュメモリセルから構成されるメモリセクタと、
複数の前記メモリセクタから構成されるメモリセルアレイと、
外部からの訂正読み出し命令を受け訂正読み出し命令信号を発生するコマンドインターフェイスと、
前記訂正読み出し命令信号によって活性化され制御信号を発生する制御信号発生回路と、
外部から入力される第1の信号を受け取る第1の信号バッファと、
外部から入力されるアドレスデータを受け取るアドレスバッファと、
前記アドレスデータに基づいて前記メモリセルアレイ中のメモリセクタを選択し、選択されたメモリセクタの各々のメモリセルからデータを読み出す読み出し手段と、
各々が各々のメモリセルに対して設けられ、各々は選択されたメモリセクタの対応するメモリセルから読み出されたデータを一時記憶し、前記第1の信号および前記制御信号に同期して一時記憶しているメモリセルから読み出されたデータを出力する複数のデータ記憶回路と、
前記第1の信号に同期して前記複数のデータ記憶回路から出力されるメモリセルから読み出されたデータを外部へ出力するデータ出力バッファと、
前記第1の信号に同期して前記複数のデータ記憶回路から出力されるメモリセルから読み出したデータを受け取り、前記制御信号に同期して前記複数のデータ記憶回路から出力されるメモリセルから読み出したデータを受け取り、メモリセルから読み出したデータに誤りがあるか否かを判断し、誤りがある場合はそのデータを特定する誤り訂正回路
とを具備することを特徴とするフラッシュメモリ。 - 前記コマンドインターフェイスは、外部からのステータス読み出し命令を受けステータス読み出し命令信号を発生し、
前記ステータス読み出し命令信号によって活性化されメモリセルから読み出されたデータに誤りがあったか否かを前記データ出力バッファを介して出力するステータス出力手段をさらに具備することを特徴とする請求項20記載のフラッシュメモリ。 - 前記誤り訂正回路は、メモリセルから読み出したデータのうち複数個のデータを訂正可能であり、前記ステータス出力手段は誤りの数を出力可能であることを特徴とする請求項21記載のフラッシュメモリ。
- 前記誤り訂正回路は、メモリセルから読み出したデータのうちn個(n≧1)のデータを訂正可能で(n+1)個の誤りの存在を検出可能であって、前記ステータス出力手段は誤り訂正可能か否かを出力可能であることを特徴とする請求項21記載のフラッシュメモリ。
- 前記メモリセルからのデータの読み出し期間にビジー信号を外部へ出力し、かつ、前記訂正読み出し命令信号に従ってビジー信号を外部へ出力するビジー信号出力回路をさらに具備することを特徴とする請求項20記載のフラッシュメモリ。
Priority Applications (15)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP18187499A JP4074029B2 (ja) | 1999-06-28 | 1999-06-28 | フラッシュメモリ |
TW089111490A TW473719B (en) | 1999-06-28 | 2000-06-13 | Flash memory |
KR10-2000-0035593A KR100378272B1 (ko) | 1999-06-28 | 2000-06-27 | 플래쉬 메모리 |
US09/604,692 US6611938B1 (en) | 1999-06-28 | 2000-06-27 | Flash memory |
DE60035810T DE60035810T2 (de) | 1999-06-28 | 2000-06-28 | Flash-Speicher |
DE60013044T DE60013044T2 (de) | 1999-06-28 | 2000-06-28 | Fehlerdetektion und -korrektur Schaltung in eimem Flash-Speicher |
CN2005100655644A CN1681046B (zh) | 1999-06-28 | 2000-06-28 | 快闪存储器 |
CNB001192493A CN1206657C (zh) | 1999-06-28 | 2000-06-28 | 快闪存储器 |
EP04011269A EP1450259B1 (en) | 1999-06-28 | 2000-06-28 | Flash memory |
EP00113125A EP1065594B1 (en) | 1999-06-28 | 2000-06-28 | Error detection and correction circuit in a flash memory |
US10/601,636 US7219285B2 (en) | 1999-06-28 | 2003-06-24 | Flash memory |
US11/747,225 US7509566B2 (en) | 1999-06-28 | 2007-05-10 | Flash memory |
US12/371,659 US7908529B2 (en) | 1999-06-28 | 2009-02-16 | Flash memory |
US13/046,333 US8365025B2 (en) | 1999-06-28 | 2011-03-11 | Flash memory |
US13/708,222 US9053043B2 (en) | 1999-06-28 | 2012-12-07 | Method of error correction of a memory |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP18187499A JP4074029B2 (ja) | 1999-06-28 | 1999-06-28 | フラッシュメモリ |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2001014888A JP2001014888A (ja) | 2001-01-19 |
JP4074029B2 true JP4074029B2 (ja) | 2008-04-09 |
Family
ID=16108377
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP18187499A Expired - Lifetime JP4074029B2 (ja) | 1999-06-28 | 1999-06-28 | フラッシュメモリ |
Country Status (7)
Country | Link |
---|---|
US (6) | US6611938B1 (ja) |
EP (2) | EP1450259B1 (ja) |
JP (1) | JP4074029B2 (ja) |
KR (1) | KR100378272B1 (ja) |
CN (2) | CN1681046B (ja) |
DE (2) | DE60035810T2 (ja) |
TW (1) | TW473719B (ja) |
Families Citing this family (114)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4112849B2 (ja) | 2001-11-21 | 2008-07-02 | 株式会社東芝 | 半導体記憶装置 |
JP3851865B2 (ja) | 2001-12-19 | 2006-11-29 | 株式会社東芝 | 半導体集積回路 |
CN1319071C (zh) * | 2002-08-07 | 2007-05-30 | 飞虹积体电路股份有限公司 | 以快闪存储器模拟电擦除可编程只读存储器的系统及方法 |
JP4129381B2 (ja) | 2002-09-25 | 2008-08-06 | 株式会社ルネサステクノロジ | 不揮発性半導体記憶装置 |
US7296213B2 (en) * | 2002-12-11 | 2007-11-13 | Nvidia Corporation | Error correction cache for flash memory |
JP4314057B2 (ja) | 2003-04-18 | 2009-08-12 | サンディスク コーポレイション | 不揮発性半導体記憶装置および電子装置 |
ITRM20030198A1 (it) * | 2003-04-28 | 2004-10-29 | Micron Technology Inc | Monitor ad unita' di controllo basata su rom in un |
US7703780B2 (en) * | 2003-09-30 | 2010-04-27 | Toyota Jidosha Kabushiki Kaisha | Wheel supporting apparatus improving ride comfort of vehicle |
US7865809B1 (en) | 2004-03-11 | 2011-01-04 | Super Talent Electronics, Inc. | Data error detection and correction in non-volatile memory devices |
JP2005327437A (ja) * | 2004-04-12 | 2005-11-24 | Nec Electronics Corp | 半導体記憶装置 |
US7882299B2 (en) * | 2004-12-21 | 2011-02-01 | Sandisk Corporation | System and method for use of on-chip non-volatile memory write cache |
US8055979B2 (en) * | 2006-01-20 | 2011-11-08 | Marvell World Trade Ltd. | Flash memory with coding and signal processing |
US7844879B2 (en) | 2006-01-20 | 2010-11-30 | Marvell World Trade Ltd. | Method and system for error correction in flash memory |
JP4846384B2 (ja) * | 2006-02-20 | 2011-12-28 | 株式会社東芝 | 半導体記憶装置 |
JP4836608B2 (ja) * | 2006-02-27 | 2011-12-14 | 株式会社東芝 | 半導体記憶装置 |
DE602006006788D1 (de) * | 2006-03-02 | 2009-06-25 | St Microelectronics Srl | Leseverfahren eines Speichers mit eingebetteter Fehlerkorrekturkode und Speicher mit eingebetteter Fehlerkorrekturkode |
JP2007305267A (ja) * | 2006-05-15 | 2007-11-22 | Toshiba Corp | 半導体記憶装置 |
US7624329B2 (en) * | 2006-08-30 | 2009-11-24 | Freescale Semiconductor, Inc. | Programming a memory device having error correction logic |
US7809899B2 (en) * | 2007-05-29 | 2010-10-05 | Lsi Corporation | System for integrity protection for standard 2n-bit multiple sized memory devices |
WO2009037697A2 (en) * | 2007-09-20 | 2009-03-26 | Densbits Technologies Ltd. | Improved systems and methods for determining logical values of coupled flash memory cells |
WO2009095902A2 (en) * | 2008-01-31 | 2009-08-06 | Densbits Technologies Ltd. | Systems and methods for handling immediate data errors in flash memory |
US8694715B2 (en) | 2007-10-22 | 2014-04-08 | Densbits Technologies Ltd. | Methods for adaptively programming flash memory devices and flash memory systems incorporating same |
WO2009053961A2 (en) | 2007-10-25 | 2009-04-30 | Densbits Technologies Ltd. | Systems and methods for multiple coding rates in flash devices |
US8453022B2 (en) | 2007-12-05 | 2013-05-28 | Densbits Technologies Ltd. | Apparatus and methods for generating row-specific reading thresholds in flash memory |
WO2009072103A2 (en) | 2007-12-05 | 2009-06-11 | Densbits Technologies Ltd. | Flash memory apparatus and methods using a plurality of decoding stages including optional use of concatenated bch codes and/or designation of 'first below' cells |
WO2009072105A2 (en) * | 2007-12-05 | 2009-06-11 | Densbits Technologies Ltd. | A low power chien-search based bch/rs decoding system for flash memory, mobile communications devices and other applications |
US8359516B2 (en) | 2007-12-12 | 2013-01-22 | Densbits Technologies Ltd. | Systems and methods for error correction and decoding on multi-level physical media |
WO2009074979A2 (en) * | 2007-12-12 | 2009-06-18 | Densbits Technologies Ltd. | Chien-search system employing a clock-gating scheme to save power for error correction decoder and other applications |
WO2009078006A2 (en) | 2007-12-18 | 2009-06-25 | Densbits Technologies Ltd. | Apparatus for coding at a plurality of rates in multi-level flash memory systems, and methods useful in conjunction therewith |
JP4672742B2 (ja) * | 2008-02-27 | 2011-04-20 | 株式会社東芝 | メモリコントローラおよびメモリシステム |
US8972472B2 (en) * | 2008-03-25 | 2015-03-03 | Densbits Technologies Ltd. | Apparatus and methods for hardware-efficient unbiased rounding |
JP2008251154A (ja) * | 2008-04-11 | 2008-10-16 | Renesas Technology Corp | 不揮発性半導体記憶装置 |
US8332725B2 (en) | 2008-08-20 | 2012-12-11 | Densbits Technologies Ltd. | Reprogramming non volatile memory portions |
US8458574B2 (en) * | 2009-04-06 | 2013-06-04 | Densbits Technologies Ltd. | Compact chien-search based decoding apparatus and method |
US8819385B2 (en) | 2009-04-06 | 2014-08-26 | Densbits Technologies Ltd. | Device and method for managing a flash memory |
CN101872318B (zh) * | 2009-04-22 | 2012-10-24 | 群联电子股份有限公司 | 用于快闪记忆体的资料存取方法及其储存系统与控制器 |
KR101575248B1 (ko) | 2009-04-30 | 2015-12-07 | 삼성전자주식회사 | 메모리 컨트롤러 및 그것을 포함하는 메모리 시스템 |
US8566510B2 (en) | 2009-05-12 | 2013-10-22 | Densbits Technologies Ltd. | Systems and method for flash memory management |
US8225052B2 (en) * | 2009-06-03 | 2012-07-17 | Micron Technology, Inc. | Methods for controlling host memory access with memory devices and systems |
JP5668279B2 (ja) | 2009-08-06 | 2015-02-12 | ソニー株式会社 | 不揮発性ランダムアクセスメモリおよび不揮発性メモリシステム |
EP2299362A3 (en) * | 2009-08-18 | 2011-05-04 | ViaSat, Inc. | Forward error correction for memories |
US9330767B1 (en) | 2009-08-26 | 2016-05-03 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Flash memory module and method for programming a page of flash memory cells |
US8995197B1 (en) | 2009-08-26 | 2015-03-31 | Densbits Technologies Ltd. | System and methods for dynamic erase and program control for flash memory device memories |
US8868821B2 (en) | 2009-08-26 | 2014-10-21 | Densbits Technologies Ltd. | Systems and methods for pre-equalization and code design for a flash memory |
US8305812B2 (en) * | 2009-08-26 | 2012-11-06 | Densbits Technologies Ltd. | Flash memory module and method for programming a page of flash memory cells |
US8730729B2 (en) | 2009-10-15 | 2014-05-20 | Densbits Technologies Ltd. | Systems and methods for averaging error rates in non-volatile devices and storage systems |
US8724387B2 (en) | 2009-10-22 | 2014-05-13 | Densbits Technologies Ltd. | Method, system, and computer readable medium for reading and programming flash memory cells using multiple bias voltages |
TWI486764B (zh) * | 2009-10-30 | 2015-06-01 | Silicon Motion Inc | 資料儲存裝置,控制器,以及於次等級記憶體存取資料之方法 |
US8626988B2 (en) * | 2009-11-19 | 2014-01-07 | Densbits Technologies Ltd. | System and method for uncoded bit error rate equalization via interleaving |
US9037777B2 (en) * | 2009-12-22 | 2015-05-19 | Densbits Technologies Ltd. | Device, system, and method for reducing program/read disturb in flash arrays |
US8607124B2 (en) * | 2009-12-24 | 2013-12-10 | Densbits Technologies Ltd. | System and method for setting a flash memory cell read threshold |
CN102117230B (zh) * | 2009-12-31 | 2013-01-09 | 群联电子股份有限公司 | 数据写入方法、闪存控制器与闪存储存装置 |
US8700970B2 (en) * | 2010-02-28 | 2014-04-15 | Densbits Technologies Ltd. | System and method for multi-dimensional decoding |
US9104610B2 (en) | 2010-04-06 | 2015-08-11 | Densbits Technologies Ltd. | Method, system and medium for analog encryption in a flash memory |
US8527840B2 (en) | 2010-04-06 | 2013-09-03 | Densbits Technologies Ltd. | System and method for restoring damaged data programmed on a flash device |
US8745317B2 (en) | 2010-04-07 | 2014-06-03 | Densbits Technologies Ltd. | System and method for storing information in a multi-level cell memory |
US20110258366A1 (en) * | 2010-04-19 | 2011-10-20 | Mosaid Technologies Incorporated | Status indication in a system having a plurality of memory devices |
US9021177B2 (en) | 2010-04-29 | 2015-04-28 | Densbits Technologies Ltd. | System and method for allocating and using spare blocks in a flash memory |
US8726130B2 (en) | 2010-06-01 | 2014-05-13 | Greenliant Llc | Dynamic buffer management in a NAND memory controller to minimize age related performance degradation due to error correction |
US8799747B2 (en) * | 2010-06-03 | 2014-08-05 | Seagate Technology Llc | Data hardening to compensate for loss of data retention characteristics in a non-volatile memory |
US8510639B2 (en) | 2010-07-01 | 2013-08-13 | Densbits Technologies Ltd. | System and method for multi-dimensional encoding and decoding |
US8539311B2 (en) | 2010-07-01 | 2013-09-17 | Densbits Technologies Ltd. | System and method for data recovery in multi-level cell memories |
US20120008414A1 (en) | 2010-07-06 | 2012-01-12 | Michael Katz | Systems and methods for storing, retrieving, and adjusting read thresholds in flash memory storage system |
US8964464B2 (en) | 2010-08-24 | 2015-02-24 | Densbits Technologies Ltd. | System and method for accelerated sampling |
US8508995B2 (en) | 2010-09-15 | 2013-08-13 | Densbits Technologies Ltd. | System and method for adjusting read voltage thresholds in memories |
US9063878B2 (en) | 2010-11-03 | 2015-06-23 | Densbits Technologies Ltd. | Method, system and computer readable medium for copy back |
US8850100B2 (en) | 2010-12-07 | 2014-09-30 | Densbits Technologies Ltd. | Interleaving codeword portions between multiple planes and/or dies of a flash memory device |
US10079068B2 (en) | 2011-02-23 | 2018-09-18 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Devices and method for wear estimation based memory management |
US8693258B2 (en) | 2011-03-17 | 2014-04-08 | Densbits Technologies Ltd. | Obtaining soft information using a hard interface |
US8990665B1 (en) | 2011-04-06 | 2015-03-24 | Densbits Technologies Ltd. | System, method and computer program product for joint search of a read threshold and soft decoding |
US9195592B1 (en) | 2011-05-12 | 2015-11-24 | Densbits Technologies Ltd. | Advanced management of a non-volatile memory |
US9501392B1 (en) | 2011-05-12 | 2016-11-22 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Management of a non-volatile memory module |
US9372792B1 (en) | 2011-05-12 | 2016-06-21 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Advanced management of a non-volatile memory |
US9110785B1 (en) | 2011-05-12 | 2015-08-18 | Densbits Technologies Ltd. | Ordered merge of data sectors that belong to memory space portions |
US8996790B1 (en) | 2011-05-12 | 2015-03-31 | Densbits Technologies Ltd. | System and method for flash memory management |
US9396106B2 (en) | 2011-05-12 | 2016-07-19 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Advanced management of a non-volatile memory |
US8667211B2 (en) | 2011-06-01 | 2014-03-04 | Densbits Technologies Ltd. | System and method for managing a non-volatile memory |
US8588003B1 (en) | 2011-08-01 | 2013-11-19 | Densbits Technologies Ltd. | System, method and computer program product for programming and for recovering from a power failure |
US8553468B2 (en) | 2011-09-21 | 2013-10-08 | Densbits Technologies Ltd. | System and method for managing erase operations in a non-volatile memory |
WO2013094913A1 (ko) * | 2011-12-23 | 2013-06-27 | 한양대학교 산학협력단 | 입출력 핀을 이용한 다중 웨이 낸드 플래시 제어 장치 및 방법 |
US8947941B2 (en) | 2012-02-09 | 2015-02-03 | Densbits Technologies Ltd. | State responsive operations relating to flash memory cells |
US8996788B2 (en) | 2012-02-09 | 2015-03-31 | Densbits Technologies Ltd. | Configurable flash interface |
US8806294B2 (en) | 2012-04-20 | 2014-08-12 | Freescale Semiconductor, Inc. | Error detection within a memory |
US8996793B1 (en) | 2012-04-24 | 2015-03-31 | Densbits Technologies Ltd. | System, method and computer readable medium for generating soft information |
US8838937B1 (en) | 2012-05-23 | 2014-09-16 | Densbits Technologies Ltd. | Methods, systems and computer readable medium for writing and reading data |
US8879325B1 (en) | 2012-05-30 | 2014-11-04 | Densbits Technologies Ltd. | System, method and computer program product for processing read threshold information and for reading a flash memory module |
US8797804B2 (en) | 2012-07-30 | 2014-08-05 | Micron Technology, Inc. | Vertical memory with body connection |
US9921954B1 (en) | 2012-08-27 | 2018-03-20 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Method and system for split flash memory management between host and storage controller |
US9368225B1 (en) | 2012-11-21 | 2016-06-14 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Determining read thresholds based upon read error direction statistics |
US9069659B1 (en) | 2013-01-03 | 2015-06-30 | Densbits Technologies Ltd. | Read threshold determination using reference read threshold |
US9136876B1 (en) | 2013-06-13 | 2015-09-15 | Densbits Technologies Ltd. | Size limited multi-dimensional decoding |
US9413491B1 (en) | 2013-10-08 | 2016-08-09 | Avago Technologies General Ip (Singapore) Pte. Ltd. | System and method for multiple dimension decoding and encoding a message |
US9786388B1 (en) | 2013-10-09 | 2017-10-10 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Detecting and managing bad columns |
US9397706B1 (en) | 2013-10-09 | 2016-07-19 | Avago Technologies General Ip (Singapore) Pte. Ltd. | System and method for irregular multiple dimension decoding and encoding |
US9348694B1 (en) | 2013-10-09 | 2016-05-24 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Detecting and managing bad columns |
CN104681097B (zh) * | 2013-11-27 | 2017-11-21 | 北京兆易创新科技股份有限公司 | 一种非易失性存储器的修复方法 |
TWI523025B (zh) * | 2013-12-27 | 2016-02-21 | 慧榮科技股份有限公司 | 資料儲存裝置及其錯誤校正方法 |
US9536612B1 (en) | 2014-01-23 | 2017-01-03 | Avago Technologies General Ip (Singapore) Pte. Ltd | Digital signaling processing for three dimensional flash memory arrays |
US10120792B1 (en) | 2014-01-29 | 2018-11-06 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Programming an embedded flash storage device |
US9542262B1 (en) | 2014-05-29 | 2017-01-10 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Error correction |
US9892033B1 (en) | 2014-06-24 | 2018-02-13 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Management of memory units |
US9584159B1 (en) | 2014-07-03 | 2017-02-28 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Interleaved encoding |
US9972393B1 (en) | 2014-07-03 | 2018-05-15 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Accelerating programming of a flash memory module |
US9449702B1 (en) | 2014-07-08 | 2016-09-20 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Power management |
JP6540703B2 (ja) * | 2014-07-24 | 2019-07-10 | ソニー株式会社 | メモリコントローラおよびメモリコントローラの制御方法 |
US9367392B2 (en) * | 2014-08-01 | 2016-06-14 | Winbond Electronics Corporation | NAND flash memory having internal ECC processing and method of operation thereof |
US9524211B1 (en) | 2014-11-18 | 2016-12-20 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Codeword management |
US10305515B1 (en) | 2015-02-02 | 2019-05-28 | Avago Technologies International Sales Pte. Limited | System and method for encoding using multiple linear feedback shift registers |
US10628255B1 (en) | 2015-06-11 | 2020-04-21 | Avago Technologies International Sales Pte. Limited | Multi-dimensional decoding |
US9851921B1 (en) | 2015-07-05 | 2017-12-26 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Flash memory chip processing |
US9954558B1 (en) | 2016-03-03 | 2018-04-24 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Fast decoding of data stored in a flash memory |
KR102540765B1 (ko) * | 2016-09-07 | 2023-06-08 | 에스케이하이닉스 주식회사 | 메모리 장치 및 이를 포함하는 메모리 시스템 |
CN107918571B (zh) * | 2016-10-08 | 2021-04-30 | 上海宝存信息科技有限公司 | 测试储存单元的方法以及使用该方法的装置 |
CN112230855A (zh) * | 2020-10-20 | 2021-01-15 | 英韧科技(上海)有限公司 | 固态硬盘及其读写方法 |
Family Cites Families (38)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB509485A (en) | 1936-10-20 | 1939-07-17 | Signalisation Et Construction | Improvements in or relating to gutters and kerbs for roads |
JPS58108830A (ja) | 1981-12-23 | 1983-06-29 | Hitachi Ltd | ジヨセフソン論理集積回路 |
JPS61134988A (ja) | 1984-12-04 | 1986-06-23 | Toshiba Corp | 半導体メモリにおける誤り検出訂正機能制御系 |
US4646312A (en) * | 1984-12-13 | 1987-02-24 | Ncr Corporation | Error detection and correction system |
US5019966A (en) * | 1986-09-01 | 1991-05-28 | Nec Corporation | Dual processors using busy signal for controlling transfer for predetermined length data when receiving processor is processing previously received data |
JPH04141900A (ja) | 1990-10-01 | 1992-05-15 | Nec Ic Microcomput Syst Ltd | 半導体集積回路 |
JP2821278B2 (ja) | 1991-04-15 | 1998-11-05 | 日本電気アイシーマイコンシステム株式会社 | 半導体集積回路 |
US6230233B1 (en) * | 1991-09-13 | 2001-05-08 | Sandisk Corporation | Wear leveling techniques for flash EEPROM systems |
KR950003013B1 (ko) | 1992-03-30 | 1995-03-29 | 삼성전자 주식회사 | 틀림정정회로를 가지는 이이피롬 |
US6078520A (en) * | 1993-04-08 | 2000-06-20 | Hitachi, Ltd. | Flash memory control method and information processing system therewith |
KR970008188B1 (ko) * | 1993-04-08 | 1997-05-21 | 가부시끼가이샤 히다찌세이사꾸쇼 | 플래시메모리의 제어방법 및 그것을 사용한 정보처리장치 |
JP3999822B2 (ja) | 1993-12-28 | 2007-10-31 | 株式会社東芝 | 記憶システム |
US5603001A (en) | 1994-05-09 | 1997-02-11 | Kabushiki Kaisha Toshiba | Semiconductor disk system having a plurality of flash memories |
US6804760B2 (en) * | 1994-12-23 | 2004-10-12 | Micron Technology, Inc. | Method for determining a type of memory present in a system |
US5475693A (en) * | 1994-12-27 | 1995-12-12 | Intel Corporation | Error management processes for flash EEPROM memory arrays |
JP3272903B2 (ja) | 1995-03-16 | 2002-04-08 | 株式会社東芝 | 誤り訂正検出回路と半導体記憶装置 |
US5606532A (en) | 1995-03-17 | 1997-02-25 | Atmel Corporation | EEPROM array with flash-like core |
TW318240B (ja) * | 1996-01-22 | 1997-10-21 | Sony Co Ltd | |
JPH09288895A (ja) | 1996-04-19 | 1997-11-04 | Toshiba Corp | 3値記憶半導体記憶システム |
JP3200012B2 (ja) | 1996-04-19 | 2001-08-20 | 株式会社東芝 | 記憶システム |
JP3740212B2 (ja) * | 1996-05-01 | 2006-02-01 | 株式会社ルネサステクノロジ | 不揮発性半導体記憶装置 |
US5793943A (en) * | 1996-07-29 | 1998-08-11 | Micron Electronics, Inc. | System for a primary BIOS ROM recovery in a dual BIOS ROM computer system |
US5754566A (en) | 1996-09-06 | 1998-05-19 | Intel Corporation | Method and apparatus for correcting a multilevel cell memory by using interleaving |
CA2214743C (en) * | 1996-09-20 | 2002-03-05 | Ntt Mobile Communications Network Inc. | A frame synchronization circuit and communications system |
US5864569A (en) | 1996-10-18 | 1999-01-26 | Micron Technology, Inc. | Method and apparatus for performing error correction on data read from a multistate memory |
US6026014A (en) * | 1996-12-20 | 2000-02-15 | Hitachi, Ltd. | Nonvolatile semiconductor memory and read method |
US6279069B1 (en) * | 1996-12-26 | 2001-08-21 | Intel Corporation | Interface for flash EEPROM memory arrays |
JPH10207726A (ja) | 1997-01-23 | 1998-08-07 | Oki Electric Ind Co Ltd | 半導体ディスク装置 |
US5920578A (en) * | 1997-04-23 | 1999-07-06 | Cirrus Logic, Inc. | Method and apparatus for efficiently processing a multi-dimensional code |
US6048090A (en) * | 1997-04-23 | 2000-04-11 | Cirrus Logic, Inc. | Error correction and concurrent verification of a product code |
KR100323554B1 (ko) * | 1997-05-14 | 2002-03-08 | 니시무로 타이죠 | 불휘발성반도체메모리장치 |
US6360346B1 (en) * | 1997-08-27 | 2002-03-19 | Sony Corporation | Storage unit, method of checking storage unit, reading and writing method |
DE69932962T2 (de) * | 1998-01-21 | 2007-02-01 | Sony Corp. | Kodierungsverfahren und Speicheranordnung |
JP3199021B2 (ja) * | 1998-03-19 | 2001-08-13 | 日本電気株式会社 | 半導体メモリ装置、該半導体メモリ装置の検査方法及び使用方法 |
JPH11298895A (ja) | 1998-04-06 | 1999-10-29 | Sony Corp | 画像符号化装置とその方法 |
DE69832609D1 (de) * | 1998-09-30 | 2006-01-05 | St Microelectronics Srl | Emulierte EEPROM Speicheranordnung und entsprechendes Verfahren |
JP4105819B2 (ja) * | 1999-04-26 | 2008-06-25 | 株式会社ルネサステクノロジ | 記憶装置およびメモリカード |
US6360347B1 (en) * | 1999-05-18 | 2002-03-19 | Advanced Micro Devices, Inc. | Error correction method for a memory device |
-
1999
- 1999-06-28 JP JP18187499A patent/JP4074029B2/ja not_active Expired - Lifetime
-
2000
- 2000-06-13 TW TW089111490A patent/TW473719B/zh not_active IP Right Cessation
- 2000-06-27 US US09/604,692 patent/US6611938B1/en not_active Expired - Lifetime
- 2000-06-27 KR KR10-2000-0035593A patent/KR100378272B1/ko active IP Right Grant
- 2000-06-28 DE DE60035810T patent/DE60035810T2/de not_active Expired - Lifetime
- 2000-06-28 CN CN2005100655644A patent/CN1681046B/zh not_active Expired - Lifetime
- 2000-06-28 CN CNB001192493A patent/CN1206657C/zh not_active Expired - Lifetime
- 2000-06-28 DE DE60013044T patent/DE60013044T2/de not_active Expired - Lifetime
- 2000-06-28 EP EP04011269A patent/EP1450259B1/en not_active Expired - Lifetime
- 2000-06-28 EP EP00113125A patent/EP1065594B1/en not_active Expired - Lifetime
-
2003
- 2003-06-24 US US10/601,636 patent/US7219285B2/en not_active Expired - Lifetime
-
2007
- 2007-05-10 US US11/747,225 patent/US7509566B2/en not_active Expired - Fee Related
-
2009
- 2009-02-16 US US12/371,659 patent/US7908529B2/en not_active Expired - Fee Related
-
2011
- 2011-03-11 US US13/046,333 patent/US8365025B2/en not_active Expired - Fee Related
-
2012
- 2012-12-07 US US13/708,222 patent/US9053043B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
EP1065594B1 (en) | 2004-08-18 |
US20040030971A1 (en) | 2004-02-12 |
DE60035810T2 (de) | 2008-09-18 |
KR100378272B1 (ko) | 2003-03-29 |
EP1450259A2 (en) | 2004-08-25 |
EP1065594A3 (en) | 2001-03-21 |
US20110167320A1 (en) | 2011-07-07 |
US7908529B2 (en) | 2011-03-15 |
CN1206657C (zh) | 2005-06-15 |
JP2001014888A (ja) | 2001-01-19 |
CN1681046B (zh) | 2011-07-13 |
EP1450259A3 (en) | 2004-10-20 |
CN1279482A (zh) | 2001-01-10 |
US7219285B2 (en) | 2007-05-15 |
US8365025B2 (en) | 2013-01-29 |
US20070223277A1 (en) | 2007-09-27 |
CN1681046A (zh) | 2005-10-12 |
US20130097473A1 (en) | 2013-04-18 |
DE60013044T2 (de) | 2005-08-18 |
US9053043B2 (en) | 2015-06-09 |
US20090164712A1 (en) | 2009-06-25 |
TW473719B (en) | 2002-01-21 |
US7509566B2 (en) | 2009-03-24 |
EP1065594A2 (en) | 2001-01-03 |
DE60013044D1 (de) | 2004-09-23 |
DE60035810D1 (de) | 2007-09-13 |
KR20010007539A (ko) | 2001-01-26 |
EP1450259B1 (en) | 2007-08-01 |
US6611938B1 (en) | 2003-08-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4074029B2 (ja) | フラッシュメモリ | |
US8166371B2 (en) | Semiconductor memory system and signal processing system | |
US9606864B2 (en) | Non-volatile memory device having adjustable read voltage, memory system comprising same, and method of operating same | |
US9201718B2 (en) | Data recovery in a solid state storage system | |
JP5236949B2 (ja) | 消去されたセクタの検出メカニズム | |
US10725863B2 (en) | Memory system and method for operating the same | |
US8347183B2 (en) | Flash memory device using ECC algorithm and method of operating the same | |
KR20130027138A (ko) | 에러 정정 방법 및 이를 이용하는 메모리 장치 | |
US7688640B2 (en) | Flash memory device and method for driving the same | |
JP2023120450A (ja) | 半導体記憶装置および誤り検出訂正方法 | |
JPH0831196A (ja) | 半導体メモリ | |
JP5059524B2 (ja) | メモリ制御回路、半導体集積回路、不揮発性メモリのベリファイ方法 | |
TWI753814B (zh) | 半導體儲存裝置以及錯誤檢測糾正相關資訊的讀出方法 | |
CN112634972B (zh) | 电压识别方法、存储器控制电路单元以及存储器储存装置 | |
JP2009176393A (ja) | 不揮発性半導体記憶装置及びその自動テスト方法 | |
JPH10334696A (ja) | 半導体記憶装置およびその駆動方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050304 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20071016 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20071023 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20071220 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20080122 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20080124 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110201 Year of fee payment: 3 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 4074029 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120201 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120201 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130201 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140201 Year of fee payment: 6 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313111 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
EXPY | Cancellation because of completion of term |