JP4350431B2 - 半導体メモリ装置 - Google Patents
半導体メモリ装置 Download PDFInfo
- Publication number
- JP4350431B2 JP4350431B2 JP2003165498A JP2003165498A JP4350431B2 JP 4350431 B2 JP4350431 B2 JP 4350431B2 JP 2003165498 A JP2003165498 A JP 2003165498A JP 2003165498 A JP2003165498 A JP 2003165498A JP 4350431 B2 JP4350431 B2 JP 4350431B2
- Authority
- JP
- Japan
- Prior art keywords
- address
- identification data
- physical address
- memory
- read
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- 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
- G11C16/102—External programming circuits, e.g. EPROM programmers; In-circuit programming or reprogramming; EPROM emulators
- G11C16/105—Circuits or methods for updating contents of nonvolatile memory, especially with 'security' features to ensure reliable replacement, i.e. preventing that old data is lost before new data is reliably written
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- 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
- G11C16/102—External programming circuits, e.g. EPROM programmers; In-circuit programming or reprogramming; EPROM emulators
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Read Only Memory (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Memory System (AREA)
Description
【発明の属する技術分野】
本発明は、電気的に書き込み可能な不揮発性メモリを搭載した半導体メモリ装置に関する。
【0002】
【従来の技術】
従来より、システム制御のプログラムおよびパラメータ格納用またはデータ格納用メモリとして不揮発性メモリが不可欠である。その中で最も安価に製造できるのはマスクROMであるが、半導体メモリ装置の製造工程においてデータを物理的に作りこんでおく必要があり、ROMデータ確定から製品出荷までの納期が長くなる。
【0003】
一方EPROMは電気的に書き込みができ且つ、紫外線消去可能なメモリで、任意のアドレスに任意の値を1回だけ書き込むことができるため、ROMデータが確定してから短納期が実現できる。また紫外線消去により全メモリ領域を消去できる。しかし、紫外線を通さない材質のパッケージに組み立てられると書き込むだけで消去はできない。
【0004】
そこで、近年主流になっているのは電気的に書き込み・消去が行えるEEPROMである。EEPROMのうちワード単位で書き込み・消去可能なメモリは、消去単位毎にメモリセルアレイの分割が必要で、面積が大きくなりコスト面で大容量化に不向きのため、現在はワード単位で書き込めるが、消去はある一定の領域を一括消去するフラッシュEEPROMが多く使われている。
【0005】
EPROMまたはフラッシュEEPROMを用いることにより短納期が実現できるだけでなく、仕向け先別にROMデータに変更が必要な場合の生産調整にも用いられており、それ故、EPROMまたはフラッシュEEPROMはほとんどの機器に搭載されている。
【0006】
しかし、EEPROMのようなワード単位で複数回の書き換えを必要とする用途も多く、システム上にEPROMやフラッシュEEPROMと共にEEPROMが搭載されていることが多い。このEEPROMは例えば個別のシリアルナンバーの格納やセキュリティコードの格納に用いられている。
【0007】
シリアルナンバーはユーザが変わると書き換える必要があり、セキュリティコードは定期的に書き換えてセキュリティレベルを高める必要があるなど、小単位での書き換えが必要である。このような用途に用いる場合、例えばフラッシュEEPROMが8Mbitで、EEPROMが512bitのようにEEPROMの必要容量が非常に小さい場合が多く、同一チップ内に両方を搭載する場合、フラッシュEEPROMとは別に小単位で個別に消去可能にするためにメモリセルの基板を分割する必要があり、両メモリを同一メモリセルアレイ内に配置できず、デバイスの面積が大きくなる(例えば、非特許文献1参照)。
【0008】
そのため、EEPROMを搭載せずにフラッシュEEPROMを制御するプログラムで対応している場合があり、図18にその処理フローを示している。まず、書き換えアドレスから該当消去ブロックを算出し(ステップ131)、書き換えが必要なデータが存在する消去ブロックのデータ全てをRAMなどに格納する(ステップ132)。前記消去ブロックの消去を実行し(ステップ133)、書き換えが必要なデータに相当するRAMに格納されたデータを書き換えて(ステップ134)、再度RAMの全データをフラッシュEEPROMに書き込む(ステップ135)。これにより任意のワード単位の書き換えが可能になる。
【0009】
【非特許文献1】
伊藤清男著「アドバンスト エレクトロニクスI−9 超LSIメモリ」培風館、2000年2月20日、p.23−24 初版第6刷
【0010】
【発明が解決しようとする課題】
以上に述べたように、フラッシュEEPROMと小容量のEEPROMを同時に搭載する際、同一チップ上に混載するとデバイスの面積が増大するという問題があった。またプログラム制御で実現した場合、書き戻し作業に時間がかかり、また毎回消去が必要であるために、書き換え回数に制限のあるフラッシュEEPROMではEEPROMとして用いる領域の書き換え回数がフラッシュEEPROMの書き換え回数以下に制限されるという問題がある。
【0011】
本発明は、上記従来の問題点を解決するもので、デバイスの面積を増大させること無く且つ、書き換え回数を仕様以下に制限すること無く、簡単な回路構成で書き換え可能な半導体メモリ装置を提供することを目的とする。
【0012】
【課題を解決するための手段】
上記課題を解決するために第1の発明は、1つの論理アドレスに対して複数個の物理アドレスメモリを割り当てたメモリ手段と、前記複数個の物理アドレスメモリの中で空いている物理アドレスメモリを選択する書き込み先選択手段と、前記選択された空いている物理アドレスメモリにデータを書き込む書き込み手段と、前記物理アドレスメモリに含まれるアドレス識別データ領域が有する前記アドレス識別データを読み出す読み出しパルスを発生するパルス発生回路と、前記読み出しパルスに同期して前記アドレス識別データ領域の最下位アドレスから順にインクリメントするアドレス生成カウンタと、前記アドレス識別データ領域から読み出されたデータと所定の識別データ値とを比較する比較器と、前記比較器の出力に応じて前記アドレス生成カウンタの値を取り込むアドレスラッチと、入力アドレスを左シフトさせるシフト回路と、前記シフト回路の出力と前記アドレス生成カウンタの出力とを合成してアドレスデコード回路に所望の物理アドレスを供給するアドレス合成回路とを備えたことを特徴とする。
【0013】
上記発明によれば、1つの論理アドレスに記憶されている内容を書き替える時、対応して設けられている複数個の物理アドレスメモリの中で空いているメモリに、データを書き込めば、消去処理を行わず、また、特別な書き込み制限を設けることなく、再書込みを行うことができる。
【0014】
第2の発明は、前記複数個の物理アドレスメモリの中で最後にデータを書き込んだ物理アドレスメモリを選択する読み出し先選択手段と、前記選択された最後にデータを書き込んだ物理アドレスメモリからデータを読み出す読み出し手段とを備えたことを特徴とする。
【0015】
上記発明によれば、消去処理を行わないため、1つの論理アドレスに対応する複数の物理アドレスメモリにデータが書き込まれている可能性があるが、最後に書き込まれたデータが最新の有効なデータであるため、最後にデータを書き込んだ物理アドレスメモリからデータを読み出すことにより、消去処理を行わなくとも、最後に書き込まれた有効なデータを読み出すことができる。
【0016】
第3の発明は、1つの論理アドレスに対して複数個の物理アドレスメモリとアドレス識別データ領域を割り当てたメモリ手段と、前記複数個の物理アドレスメモリの中で空いている物理アドレスメモリを前記アドレス識別データ領域のアドレス識別データに基づいて選択する書き込み先選択手段と、前記選択された空いている物理アドレスメモリにデータを書き込む書き込み手段と、前記物理アドレスメモリに含まれるアドレス識別データ領域が有する前記アドレス識別データを読み出す読み出しパルスを発生するパルス発生回路と、前記読み出しパルスに同期して前記アドレス識別データ領域の最下位アドレスから順にインクリメントするアドレス生成カウンタと、前記アドレス識別データ領域から読み出されたデータと所定の識別データ値とを比較する比較器と、前記比較器の出力に応じて前記アドレス生成カウンタの値を取り込むアドレスラッチと、入力アドレスを左シフトさせるシフト回路と、前記シフト回路の出力と前記アドレス生成カウンタの出力とを合成してアドレスデコード回路に所望の物理アドレスを供給するアドレス合成回路とを備えたことを特徴とする。
【0017】
上記発明によれば、1つの論理アドレスに記憶されている内容を書き替える時に、対応して設けられているアドレス識別データ領域のアドレス識別データによって複数個の物理アドレスメモリの中で空いているメモリを選択し、この空いている物理アドレスメモリにデータを書き込めば、消去処理を行わず、また、特別な書き込み制限を設けることなく、再書込みを行うことができる。
【0018】
第4の発明は、前記複数個の物理アドレスメモリの中で最後にデータを書き込んだ物理アドレスメモリを前記アドレス識別データ領域のアドレス識別データに基づいて選択する読み出し先選択手段と、前記選択された最後にデータを書き込んだ物理アドレスメモリからデータを読み出す読み出し手段とを備えたことを特徴とする。
【0019】
上記発明によれば、消去処理を行わないため、1つの論理アドレスに対応する複数の物理アドレスメモリにデータが書き込まれている可能性があるが、最後に書き込まれたデータが最新の有効なデータであるため、最後にデータを書き込んだ物理アドレスメモリを前記アドレス識別データ領域のアドレス識別データに基づいて選択し、この物理アドレスメモリからデータを読み出すことにより、消去処理を行わなくとも、最後に書き込まれた有効なデータを読み出すことができる。
【0020】
第5の発明の前記書き込み先選択手段は、前記1つの論理アドレスに物理アドレス対応で設けられているアドレス識別データ領域をアドレス番に指定してアドレス識別データを読み出し、その結果からアクセスする物理アドレスを選択することを特徴とする。
【0021】
上記発明によれば、1つの論理アドレスに設けられているアドレス識別データ領域をアドレス順に指定して空いている物理アドレスメモリを選択するため、データが書き込まれる物理アドレスメモリを物理アドレス順とすることができる。
【0022】
第6の発明は、前記読み出し先選択手段は、前記1つの論理アドレスに物理アドレス対応で設けられているアドレス識別データ領域をアドレス順に指定してアドレス識別データを読み出し、その結果から空の物理アドレスメモリを選択し、その一つ前のアドレスの物理アドレスメモリを最後にデータを書き込んだ物理アドレスメモリとして選択することを特徴とする。
【0023】
上記発明によれば、データが書き込まれる物理アドレスメモリが物理アドレス順である場合、アドレス識別データ領域のアドレス識別データをアドレス順に読み出して空の物理アドレスメモリが見つかると、その一つ前のアドレスの物理アドレスメモリにはデータが入っており、しかも、この物理アドレスメモリに入っているデータが最後に書き込まれた読み出すべき有効なデータとなる。
【0024】
第7の発明は、前記1つの論理アドレスに対して設けられた前記各物理アドレスメモリの一部の領域を前記アドレス識別データ領域に設定することを特徴とする。
【0025】
上記発明によれば、複数個の物理アドレスメモリの一部の領域がアドレス識別データ領域であるため、アドレス識別データ領域を確保するために別の物理アドレスメモリを用意する必要がなく、デバイスの面積を大きくすることがない。
【0026】
第8の発明は、前記1つの論理アドレスに対して設けられた複数個の物理アドレスメモリとは別の物理アドレスメモリに前記アドレス識別データ領域を物理アドレス対応で設定することを特徴とする。
【0027】
上記発明によれば、データ書き込み用の物理アドレスメモリにアドレス識別データ領域が設定されないため、ワード長を変えずに書き換え可能な領域を設けることができる。
【0028】
第9の発明は、前記1つの論理アドレスに対して複数のアドレス識別データ領域を前記複数個の物理アドレスメモリとは別のメモり領域に物理アドレス毎に1ビットずつ設定することを特徴とする。
【0029】
上記発明によれば、アドレス識別データが1ビットで済むため、アドレス識別データ領域を小さくすることにより、無駄な領域を発生させずに書き換え可能な領域を設けることができる。
【0030】
第10の発明は、前記別のメモリ領域に設定された各1ビットのアドレス識別データを揮発性のメモリに読み出して用いることを特徴とする。
【0031】
上記発明によれば、アドレス識別データが各1ビットのため、これをレジスタなどの揮発性メモリに容易に読み出して格納することができ、以降は、この揮発性メモリに高速アクセスして、アドレス識別データを用いることができるため、メモリ手段へのデータの書き込み及び読み出し速度を向上させることができる。
【0032】
第11の発明は、前記メモリ手段を構成する1つの論理アドレスに対する複数個の物理アドレスを複数個の異なる書き換え可能な不揮発性メモリの消去ブロックに配置し、前記書き込み手段により第1の消去ブロック内の前記複数個の物理アドレスメモリ全てに対する書き込みが完了すると第2の消去ブロック内の前記複数個の物理アドレスメモリに対して書き込みを行い、その間に前記第1の消去ブロックを消去する制御手段を備えたことを特徴とする。
【0033】
上記発明によれば、1つの論理アドレスに対する複数個の物理アドレスメモリを書き換え可能な不揮発性メモリ(フラッシュEEPROMなど)の少なくとも2つの消去ブロックに配置することにより、第1の消去ブロック内の複数個の物理アドレスメモリ全てにデータが書き込まれると、次に第2の消去ブロック内の複数個の物理アドレスメモリにデータの書き込みを行い、その間に第1の消去ブロックの書き込みデータを消去することにより、次に第2の消去ブロック内の複数個の物理アドレスメモリ全てにデータが書き込まれると、また第1の消去ブロック内の複数個の物理アドレスメモリにデータを書き込むことができ、1つの論理アドレスに対する書き換え回数を大幅に増加させることができる。
【0034】
【発明の実施の形態】
(第1の実施の形態)
以下、本発明の実施の形態を図面に基づいて説明する。図1は、本発明の第1の実施の形態に係る半導体メモリ装置の構成を示す模式図である。1は不揮発性メモリ装置(EPROMまたはフラッシュEEPROM)、2は複数個の物理アドレスメモリ#0、#1、…、#nの集合体である不揮発性メモリ、3はメモリデータの出力を制御する出力制御部である。
【0035】
ここで、不揮発性メモリ2は論理アドレス#Aに割り当てられている。また不揮発性メモリ2内の全メモリ集合体の初期状態は消去状態(データ“1”)である。ここで、不揮発性メモリ2に格納するデータは例えばセキュリティコードなど常に“FF”以外のデータを格納するものとする。なお、ここでは不揮発性メモリが消去後はデータ“1”、書き込み後はデータ“0”として説明する。
【0036】
次に本実施の形態の動作について説明する。まず、書き込み動作について説明する。図2は第1の実施の形態における書き込み動作の流れを示すフローチャートである。論理アドレス#Aに対して書き込み動作が行われると、不揮発性メモリ2内のまず物理アドレス#0の読み出しを行い(ステップ101)、読み出した値が“FF”であれば(ステップ102)、物理アドレス#0に対して書き込みを行う(ステップ103)。
【0037】
もし読み出した値が“FF”以外であれば、アドレスを+1インクリメントし(ステップ104)、次に物理アドレス#1の読み出しを行う。以下同様で、読み出した値が“FF”であれば物理アドレス#1対して書き込みを行い、“FF”以外であれば次に物理アドレス#2の読み出しを行う。物理アドレス#2の読み出し値が“FF”であれば物理アドレス#2に対して書き込みを行い、“FF”以外であれば次に物理アドレス#3の読み出しを行う。このように物理アドレス#nまで順番にデータが書き込まれていない(つまり“FF”でない)メモリ領域に対して書き込みを行う。
【0038】
次に、読み出し動作について説明する。図3は第1の実施の形態における読み出し動作の流れを示すフローチャートである。論理アドレス#Aに対して読み出し動作が行われると、不揮発性メモリ2内のまず物理アドレス#0の読み出しを行い(ステップ201)、読み出した値が“FF”であれば(ステップ202)、物理アドレスを−1ディクリメントとするが(ステップ203)、この場合は物理アドレス#0であるためディクリメントを行わず、この物理アドレス#0の読み出し値を出力制御部3の制御により論理アドレス#Aのデータとして出力する(ステップ204)。この場合は、論理アドレス#Aにはデータが入っていない。
【0039】
もし、読み出した値が“FF”以外であれば(ステップ203)、物理アドレスを+1インクリメントした後(ステップ205)、次に物理アドレス#1の読み出しを行い、読み出した値が“FF”であれば(ステップ202)、物理アドレスを−1ディクリメントとして(ステップ203)一つ前の物理アドレス#0の読み出し値を論理アドレス#Aのデータとして出力する(ステップ204)。
【0040】
以下同様で、もし物理アドレス#1の読み出し値が“FF”以外であれば、次に物理アドレス#2の読み出しを行い、読み出し値が“FF”であれば物理アドレス#1の読み出し値を出力制御部3の制御により論理アドレス#Aのデータとして出力する。もし物理アドレス#2の読み出し値が“FF”以外であれば次に物理アドレス#3の読み出しを行う。このように物理アドレス#0から順番にデータを読み出し、読み出し値が“FF”であった物理アドレスの1つ前の物理アドレスメモリの値を読み出しデータとして出力する。
【0041】
このように論理アドレス#Aに対する書き込みにおいて、物理アドレスを#0、#1、#2、…、順番に移動させていくことにより、消去処理を行わずデータの再書き込みを行うことができ、また読み出し時は物理アドレス#0、#1、#2、…、と順番に読み出しを行うことにより、最後に書き込まれたデータを判定し、論理アドレス#Aの出力として出力することができる。つまりは論理アドレス#Aが書き換えられたと見做すことができる。
【0042】
(第2の実施の形態)
図4は本発明の第2の実施の形態に係る半導体メモリ装置の構成を示すブロック図である。1は不揮発性メモリ装置(EPROMまたはフラッシュEEPROM)、12は書き込みデータ領域とアドレス識別データ領域からなる複数個の物理アドレスメモリ#0、#1、…、#nの集合体である不揮発性メモリ、3はメモリデータの出力を制御する出力制御部、14は通常のEPROMまたはフラッシュEEPROMのアドレスデコード回路、15は書き込みデータ生成回路、16はアドレス識別データを読み出す読み出しパルス発生回路、17はアドレス識別データ読み出しパルスに同期してアドレス識別データ領域の最下位アドレスから順番にインクリメントするアドレス生成カウンタ、18はアドレス識別データ領域から読み出されたデータと所定の識別データ値とを比較する比較器、19は比較器18の出力に応じてアドレス生成カウンタ17の値を取り込むアドレスラッチ、20はアドレス識別データ領域と書き込みデータ領域のいずれの領域に対する処理であるかによってアドレス生成カウンタ17の値とアドレスラッチ19の値から選択するアドレス選択回路、21は入力アドレスをmビット左シフトさせるシフト回路、22はアドレス選択回路20の出力とシフト回路21の出力を合成してアドレスデコード回路に所望の物理アドレスを供給するアドレス合成回路、23は書き込みパルスと論理アドレス#Aに対する読み出しパルスを生成するパルス生成回路である。
【0043】
まず、書き込み動作について説明する。図5は第2の実施の形態における書き込み動作の流れを示すフローチャートである。論理アドレス#Aに対して書き込み動作が行われると、まずアドレス生成カウンタ17はリセットされ(ステップ301)、アドレス#0になり、同時に読み出しパルス発生回路16が読み出しパルスを発生する。
【0044】
アドレス選択回路20はアドレス識別データの読み出し中はアドレス生成カウンタ17の値を、それ以外(つまり論理アドレス#Aに対する読み出し・書き込み処理中)はアドレスラッチ19の値を選択するが、ここではアドレス識別データ読み出し中であるのでアドレス生成カウンタ17の値が選択される。
【0045】
一方、その間に入力アドレス(論理アドレス#A)はシフト回路21でmビット左シフトされており(ステップ302)、シフト回路21の出力とアドレス選択回路20の出力であるアドレスのビット0〜(m−1)がアドレス合成回路22で合成され(ステップ303)、アドレスデコード回路14により物理アドレス#0が選択される。
【0046】
これにより、不揮発性メモリ12内の物理アドレス#0の読み出しが行われ、読み出しデータは比較器18で所定の識別データと比較される(ステップ304)。比較結果が不一致ならばアドレス生成カウンタ17の値がアドレスラッチ19に取り込まれ、同時にパルス生成回路23が書き込みパルスを生成する。
【0047】
書き込みパルスが生成されると、アドレス選択回路20はアドレスラッチ19の値を選択し、シフト回路21の出力とアドレス合成回路22で合成され、アドレスデコード回路14により物理アドレス#0が選択される。また書き込みデータ生成回路15において、入力された書き込みデータに所定の識別データを合成した書き込みデータが生成され(ステップ305)、物理アドレス#0の書き込みデータ領域には入力データが、アドレス識別データ領域には所定の識別データの書き込みが行われる(ステップ306)。
【0048】
ここで、比較器18の比較結果が一致であった場合について説明する。比較結果が一致であれば、アドレス生成カウンタ17はインクリメントされ(ステップ307)、その値は0から1に変化する。また、読み出しパルス発生回路16が再度読み出しパルスを発生するが、このときアドレス選択回路20は再度アドレス生成カウンタ17の値を選択し、その出力であるアドレスのビット0〜m-1とシフト回路21の出力とがアドレス合成回路22で合成され(ステップ303)、不揮発性メモリ12内の物理アドレス#1の読み出しが行われ、読み出しデータは比較器18で所定の識別データと比較される(ステップ304)。比較結果が不一致になれば、上記物理アドレス#0の場合と同様、物理アドレス#1に対して書き込みデータと所定の識別データの書き込みが行われる(ステップ305)。
【0049】
一方、一致した場合は上記物理アドレス#0の場合と同様、アドレス生成カウンタ17がインクリメントされ(ステップ306)、読み出しパルス発生回路が再度アドレス識別データ読み出しパルスを発生し、物理アドレス#2の読み出しを行う。そこで比較結果が一致であれば、次は物理アドレス#3…と順番にアドレス#n(n=2m−1)まで読み出した識別データが、所定の識別データと一致しないメモリ(すなわちまだ書き込まれていないメモリ)に対して書き込みを行う(ステップ305)。
【0050】
次に、読み出し動作について説明する。図6は本発明の第2の実施の形態における読み出し動作の流れを示すフローチャートである。論理アドレス#Aに対して読み出し動作が行われると、まずアドレス生成カウンタ17はリセットされアドレス#0になり(ステップ401)、同時に読み出しパルス発生回路16が読み出しパルスを発生させる。
【0051】
アドレス選択回路20はアドレス識別データの読み出し中はアドレス生成カウンタ17の値を、それ以外(つまり論理アドレス#Aに対する読み出し・書き込み処理中)はアドレスラッチ19の値を選択するが、ここではアドレス識別データ読み出し中であるのでアドレス生成カウンタ17の値が選択される。
【0052】
一方、その間に入力アドレス(論理アドレス#A)はシフト回路21でmビット左シフトされており(ステップ402)、シフト回路21の出力とアドレス選択回路20の出力であるアドレスのビット0〜(m−1)がアドレス合成回路22で合成され(ステップ403)、アドレスデコード回路14により物理アドレス#0が選択される。
【0053】
それ故、不揮発性メモリ12内の物理アドレス#0の読み出しが行われ、読み出しデータは比較器18で所定の識別データと比較される(ステップ404)。比較結果が一致の場合は、上記書き込み動作と同じように順番にアドレス生成カウンタがインクリメントされ(ステップ408)、所定の識別データと不一致になるまで繰り返す。
【0054】
比較結果が不一致であればアドレス生成カウンタ17の値がアドレスラッチ19に取り込まれ、同時にパルス生成回路23が論理アドレス#Aに対する読み出しパルスを生成する。
【0055】
このときアドレス選択回路20はアドレスラッチ19の値―1の値を出力し (ステップ405)、シフト回路21の出力とアドレス合成回路22で合成され(ステップ406)、アドレスデコーダ14により所望の物理アドレスが選択される。これにより識別データが不一致であった物理アドレスの1つ前の物理アドレスメモリ、つまり最後に書き込まれた物理アドレスの値を出力制御部3の制御により読み出しデータとして出力する(ステップ407)。
【0056】
このように本実施の形態によれば、第1の実施の形態と同様に、論理アドレス#Aに対する書き込みにおいて、物理アドレスを#0、#1、#2、…と順番に移動させていくことにより消去処理を行わずデータの再書き込みを行うことができ、また読み出し時は物理アドレス内の識別データ領域#0、#1、#2、…と順番に読み出しを行うことにより、最後に書き込まれたデータを判定して論理アドレス#Aの出力として出力することができる。このような効果により、不揮発性メモリ12の論理アドレス#Aが書き換えられたと見做すことができる。さらに論理アドレス#Aに書き込むデータに特別な制限を設けることなく任意の書き換えたいデータ格納用途に用いることができる。
【0057】
(第3の実施の形態)
図7は本発明の第3の実施の形態に係る半導体メモリ装置の構成を示すブロック図である。但し、第2の実施の形態と同様の部分には同一符号を付して説明する。1は不揮発性メモリ装置(EPROMまたはフラッシュEEPROM)、32は複数個の書き込みデータ領域物理アドレスメモリ#0、#2、…、#n−1と複数個のアドレス識別データ領域物理アドレスメモリ#1、#3、…、#nの集合体である不揮発性メモリ、3はメモリデータの出力を制御する出力制御部、30はアドレス識別データ領域と書き込みデータ領域のいずれの領域に対する処理であるかによってアドレス生成カウンタ17の値とアドレスラッチ19の値からの選択と、最下位アドレスの選択を行うアドレス選択回路、31は入力アドレスを(m+1)ビット左シフトさせるシフト回路、33は論理アドレス#Aに対する読み出しパルスと書き込みデータ領域への書き込みパルスとアドレス識別データ領域への書き込みパルスとを生成するパルス生成回路、35はアドレスが書き込みデータ領域かアドレス識別データ領域かによって書き込むデータを入力データと所定の識別データから選択する書き込みデータ選択回路(MPX)である。
【0058】
次に本実施の形態の動作について説明する。まず、書き込み動作について説明する。図8は第3の実施の形態における書き込み動作の流れを示すフローチャートである。論理アドレス#Aに対して書き込み動作が行われると、まずアドレス生成カウンタ17はリセットされてアドレス#0になり、同時に読み出しパルス発生回路16が読み出しパルスを発生させる。
【0059】
アドレス選択回路30は、アドレス識別データの読み出し中、アドレス生成カウンタ17の値(アドレス1〜m)を選択し、それ以外(つまり論理アドレス#Aに対する読み出し・書き込み処理中)はアドレスラッチ19の値を選択するが、ここではアドレス識別データ読み出し中であるのでアドレス生成カウンタ17の値を選択する。
【0060】
またアドレス選択回路30はアドレス識別データ領域へのアクセス時は最下位アドレス“1”を、書き込みデータ領域へのアクセス時は最下位アドレス“0”を選択するが、ここではアドレス識別データ読み出し中であるので最下位アドレスは“1”が選択される(ステップ501)ため、アドレス生成カウンタ17のアドレスは下位1〜mビットアドレスが#0になる(ステップ502)。
【0061】
一方その間に、入力アドレス(論理アドレス#A)はシフト回路31で(m+1)ビット左シフトされており(ステップ503)、このシフト回路31の出力とアドレス選択回路30の出力であるアドレスのビット0〜mがアドレス合成回路22で合成されて(ステップ504)、アドレスデコード回路14により物理アドレス#1が選択される。
【0062】
それ故、不揮発性メモリ32内の物理アドレス#1の読み出しが行われ、読み出しデータは比較器18で所定の識別データと比較される(ステップ505)。比較結果が不一致ならばアドレス生成カウンタ17の値がアドレスラッチ19に取り込まれ、同時にパルス生成回路33が書き込みパルスを生成する。
【0063】
書き込みパルスが生成されるとアドレス選択回路30はアドレスラッチ19の値を選択し、シフト回路31の出力とアドレス合成回路22で合成され、アドレスデコード回路14により物理アドレスが選択されるが、ここでパルス生成回路は連続で2回の書き込みパルスを発生し、それに同期してアドレス選択回路30は最下位アドレスが“0”→“1”と変化するので、最下位アドレスが“0”の時(ステップ506)は、物理アドレス#0が選択され、続いて最下位アドレスが“1”の時(ステップ508)は、物理アドレス#1が選択される。
【0064】
また書き込みデータ選択回路35において、最下位アドレスが“0”のときには入力データが選択され、“1”のときには所定の識別データが選択される。これにより物理アドレス#0の書き込みデータ領域には入力データの書き込みが行われ(ステップ507)、物理アドレス#1のアドレス識別データ領域には所定の識別データの書き込みが行われる(ステップ509)。
【0065】
ここで、比較器18の比較結果が一致であった場合について説明する。比較結果が一致であればアドレス生成カウンタ17はインクリメントされて(ステップ510)、その値は0から1に変化する。また、読み出しパルス発生回路16が再度読み出しパルスを発生させるが、このときアドレス選択回路30は再度アドレス生成カウンタ17の値と最下位ビット“1”を選択し、その出力であるアドレスのビット0〜mとシフト回路31の出力とがアドレス合成回路22で合成され、不揮発性メモリ32内の物理アドレス#3の読み出しが行われる。読み出しデータは比較器18で所定の識別データと比較される。
【0066】
比較結果が不一致になれば、上記物理アドレス#1の場合と同様物理アドレス#0に対して所定の識別データ、物理アドレス#1に対して書き込みデータの書き込みが行われる。一方一致した場合は上記物理アドレス#1の場合と同様、アドレス生成カウンタ17がインクリメントされ、読み出しパルス発生回路が再度アドレス識別データ読み出しパルスを発生させ、物理アドレス#5の読み出しを行う。そこで比較結果が一致であれば、次は物理アドレス#7、…と順番にアドレス#n(n=2m+1)まで順番に読み出した識別データが所定の識別データと一致しないメモリ(すなわちまだ書き込まれていないメモリ)に対して入力データと所定の識別データの書き込みを行う。
【0067】
次に、読み出し動作について説明する。図9は本発明の第3の実施の形態における読み出し動作の流れを示すフローチャートである。論理アドレス#Aに対して読み出し動作が行われると、まずアドレス生成カウンタ17はリセットされアドレス#0になり、同時に読み出しパルス発生回路16が読み出しパルスを発生させる。
【0068】
アドレス選択回路30はアドレス識別データの読み出し中はアドレスビット1〜mはアドレス生成カウンタ17の値、最下位ビットは“1”を選択する(ステップ601)ため、アドレス生成カウンタ17のアドレスは下位1〜mビットアドレスが#0になる(ステップ602)。
【0069】
一方その間に、入力アドレス(論理アドレス#A)はシフト回路31で(m+1)ビット左シフトされており(ステップ603)、シフト回路31の出力とアドレス選択回路30の出力がアドレス合成回路22で合成され(ステップ604)、アドレスデコード回路14により物理アドレス#1が選択される。
【0070】
それ故、不揮発性メモリ32内の物理アドレス#1の読み出しが行われ、読み出しデータは比較器18で所定の識別データと比較される(ステップ605)。比較結果が一致の場合は、上記書き込み動作と同じように順番にアドレス生成カウンタがインクリメントされ(ステップ610)、所定の識別データと不一致になるまで繰り返す。
【0071】
比較結果が不一致であればアドレス生成カウンタ17の値がアドレスラッチ19に取り込まれ、同時にパルス生成回路23が論理アドレス#Aに対する読み出しパルスを生成する。このときアドレス選択回路30は、最下位アドレスは“0”で(ステップ606)、アドレス1〜mはアドレスラッチ19の値−1の値(ステップ607)を出力し、この出力とシフト回路31の出力とがアドレス合成回路22で合成され(ステップ608)、アドレスデコーダ14により所望の物理アドレスが選択される。これにより識別データが不一致であったアドレス識別データ領域物理アドレスの1つ前の物理アドレスメモリに対応する書き込みデータ領域の物理アドレスメモリ、つまり書き込みデータ領域で最後に書き込まれた物理アドレスの値を読み出し(ステップ609)、出力制御部3の制御により読み出しデータとして出力する。
【0072】
このように本発明の第2の実施の形態と同様に、論理アドレス#Aに対する書き込みにおいて、物理アドレスを#0、#1、#2、…と順番に移動させていくことにより消去処理を行わず、また書き込みデータに特別な制限を設けることなくデータの再書き込みを行うことができ、また読み出し時は物理アドレス内の識別データ領域#0、#1、#2、…と順番に読み出しを行うことにより最後に書き込まれたデータを判定し、論理アドレス#Aの出力として出力することができ、つまりは論理アドレス#Aが書き換えられたとみなすことができる。さらに、データのワード長を減らすことなくワード単位での書き換えが可能である。
【0073】
(第4の実施の形態)
図10は本発明の第4の実施の形態に係る半導体メモリ装置の構成を示すブロック図である。1は不揮発性メモリ装置(EPROMまたはフラッシュEEPROM)、42は複数個の物理アドレスメモリ#0、#1、…、#nの集合体である不揮発性メモリ、3はメモリデータの出力を制御する出力制御部、43は不揮発性メモリ42のワード数と同じビット数の不揮発性メモリで構成され論理アドレスXに配置された不揮発性メモリであるアドレス識別データメモリ、44は不揮発性メモリ42に対する読み出しまたは書き込み時にアドレス識別データメモリ43の値を取り込む識別データラッチ、45は識別データラッチ44の値から次に書き込む識別データ値の算出と不揮発性メモリ42の物理アドレス0〜 (m−1)を算出するアドレス・データ算出器、46は入力アドレスからアドレス識別データメモリのアドレス算出と読み出しパルスを発生させる識別データ読み書き制御部、47はアドレス識別データメモリ領域へのアクセス時は識別データ読み出し制御部46の出力を、書き込みデータ領域へのアクセス時はアドレス合成回路22の出力を選択するアドレス選択回路である。アドレスデコード回路14、シフト回路21、アドレス合成回路22、パルス生成回路23は第2の実施の形態と同じ機能を有する。
【0074】
次に本実施の形態の動作について説明する。まず、書き込み動作について説明する。図11は第4の実施の形態における書き込み動作の流れを示すフローチャートである。論理アドレス#Aに対して書き込み動作が行われると、まず識別データ読み書き制御部46が入力アドレスに基づいて識別データアドレスの算出と(ステップ701)、識別データ領域の読み出しパルスを発生する。
【0075】
このときアドレス選択回路47は識別データ読み書き制御部46の出力を選択するため、アドレスデコード回路14によってアドレス識別データメモリ43内の物理アドレスXが選択され、識別データの読み出しが行われる(ステップ702)。その際、識別データラッチ44に読み出しデータを取り込む。
【0076】
そこでアドレス・データ算出器45は識別用データの値から次に書き込む不揮発性メモリ42内の物理アドレスを選択するアドレス0〜(m−1)を算出して(ステップ703)アドレス合成回路22に入力する。アドレス合成回路22はシフト回路21によりmビット左シフトされた書き込みアドレス(ステップ704)とアドレス・データ算出器45の出力を合成し(ステップ705)、アドレス選択回路47に入力する。
【0077】
パルス生成回路23は論理アドレス#Aへの書き込みパルスを発生するため、アドレス選択回路47はアドレス合成回路22の出力を選択してアドレスデコード回路14が物理アドレス#0〜#n(n=2m−1)のいずれかを選択する。例えば識別データラッチ44の値が(11111100)であれば、物理アドレス#0、#1にはすでにデータが書き込まれていると判断し、物理アドレス#2を選択する。
【0078】
書き込みデータ選択回路35は識別データ読み書き制御部46の出力から書き込みデータ領域へのアクセスであると判定して、書き込みデータを選択し、物理アドレス#2に書き込みデータが書き込まれる(ステップ706)。
【0079】
書き込みが完了したら次にアドレス・データ算出器45は識別用データの中でまだ0が書かれていない最も下位のビットのみが0である識別データ領域書き込みデータを生成する(ステップ707)。
【0080】
例えば識別データラッチ44の値が(11111100)であれば(11111011)を生成する。このとき識別データ読み書き制御部46は識別データの書き込みパルスを発生させ、書き込みデータ選択回路35はアドレス・データ算出器45の出力である識別データを選択し、またアドレス選択回路47は識別データ読み書き制御部46の出力である識別データ領域アドレスを選択する(ステップ708)。これにより、識別データ領域の論理アドレスXに識別データが書き込まれる(ステップ709)。消去せずに書き込んでいるため、書き込み後の論理アドレスXの値は(11111000)となる。
【0081】
次に読み出し動作について説明する。図12は第4の実施の形態における読み出し動作の流れを示すフローチャートである。論理アドレス#Aに対して読み出し動作が行われると、まず識別データ読み書き制御部46が入力アドレスから識別データアドレスの算出と(ステップ801)、識別データ領域の読み出しパルスを発生する。このときアドレス選択回路47は識別データ読み書き制御部46の出力を選択するため、アドレスデコード回路14によってアドレス識別データメモリ43内の物理アドレスXが選択され、識別データの読み出しが行われる(ステップ802)。
【0082】
その際、識別データラッチ44に読み出しデータを取り込む。そこでアドレス・データ算出器45は識別用データの値から読み出しを行う不揮発性メモリ42内の物理アドレスを選択するアドレス0〜(m−1)を算出し(ステップ803)、アドレス合成回路22に入力する。
【0083】
アドレス合成回路22はシフト回路21によりシフトされた読み出しアドレスと(ステップ804)と、アドレス・データ算出器45の出力を合成し(ステップ805)、アドレス選択回路47に入力する。パルス生成回路23が論理アドレス#Aへの読み出しパルスを発生するため、アドレス選択回路47はアドレス合成回路22の出力を選択しアドレスデコード回路14が物理アドレス#0〜#n(n=2m−1)のいずれかを選択する。例えば識別データラッチ44の値が(11111000)であれば物理アドレス#2を読み出し(ステップ806)、出力制御部3の制御により読み出しデータとして出力する。
【0084】
このように本実施の形態によれば、第3の実施の形態と同様に、論理アドレス#Aに対する書き込みにおいて、物理アドレスを#0、#1、#2、…と順番に移動させていくことにより、消去処理を行わず、また書き込みデータに特別な制限を設けることなくデータの再書き込みを行うことができ、また読み出し時は識別データ領域の読み出しを行うことにより、短時間で複数の物理アドレスのうちの1つを選択することができる。
【0085】
また識別データを不揮発性メモリ42の1物理アドレスにつき1ビットとしたことで、識別データ領域の占める割合を大幅に減らすことができる。
【0086】
(第5の実施の形態)
図13は本発明の第5の実施の形態に係る半導体メモリ装置の構成を示すブロック図である。1は不揮発性メモリ装置(EPROMまたはフラッシュEEPROM)、42は複数個の物理アドレスメモリ#0、#1、…、#nの集合体である不揮発性メモリ、3はメモリデータの出力を制御する出力制御部、43は不揮発性メモリ42のワード数と同じビット数の不揮発性メモリで構成され論理アドレスXに配置された不揮発性メモリであるアドレス識別データメモリ、54は識別データメモリ43の書き込み処理完了時に識別データメモリ43の値を取り込んで保持しておく揮発性の識別データレジスタである。アドレス・データ算出器45、識別データ読み書き制御部46、シフト回路21、パルス生成回路23、アドレス合成回路22、アドレス選択回路47、アドレスデコード回路14、書き込みデータ選択回路35は全て第4の実施の形態と同じ機能を有する。
【0087】
次に本実施の形態の動作について説明する。まず、書き込み動作について説明する。図14は本発明の第5の実施の形態における書き込み動作の流れを示すフローチャートである。まず不揮発性メモリ1の電源立ち上げ時に、識別データメモリ43の内容を読み出し識別データレジスタ54に書き込んでおく。
【0088】
論理アドレス#Aに対して書き込み動作が行われると、アドレス・データ算出器45は識別データレジスタ54に格納されている識別データ値から次に書き込む不揮発性メモリ42内の物理アドレスを選択するアドレス0〜(m−1)を算出して(ステップ901)、アドレス合成回路22に入力する。
【0089】
アドレス合成回路22はシフト回路21により書き込みアドレスをmビット左にシフトして得た(ステップ902)出力とアドレス・データ算出器45の出力を合成し(ステップ903)、アドレス選択回路47に入力する。パルス生成回路23が論理アドレス#Aへの書き込みパルスを発生するため、アドレス選択回路47はアドレス合成回路22の出力を選択してアドレスデコード回路14に入力し、アドレスデコード回路14が物理アドレス#0〜#n(n=2m−1)のいずれかを選択する。
【0090】
例えば識別データラッチ44の値が(11111100)であれば、物理アドレス#0、#1にはすでにデータが書き込まれていると判断し、物理アドレス#2を選択する。書き込みデータ選択回路35は識別データ読み書き制御部46の出力から書き込みデータ領域へのアクセスであると判定して、書き込みデータを選択し、物理アドレス#2に書き込みデータが書き込まれる(ステップ904)。
【0091】
書き込みが完了したら次にアドレス・データ算出器45は識別用データの中でまだ0が書かれていない最も下位のビットのみが0である識別データ領域書き込みデータを生成する(ステップ906)。例えば識別データラッチ44の値が(11111100)であれば(11111011)を生成する。このとき識別データ読み書き制御部46は識別データの書き込みパルスを発生させ、書き込みデータ選択回路35はアドレス・データ算出器45の出力である識別データを選択し、またアドレス選択回路は識別データ読み書き制御部46の出力(ステップ905)である識別データ領域アドレスを選択する。
【0092】
これにより、識別データ領域の論理アドレスXに識別データが書き込まれる (ステップ907)。消去せずに書き込んでいるため、書き込み後の論理アドレスXの値は(11111000)となる。ここまでの動作は第4の実施の形態とほぼ同じであるが、本実施の形態では、書き込み完了を示す識別データ書き込みパルスの立下りで新規に書き込んだ識別データを識別データレジスタ54に書き込む(ステップ908)。
【0093】
次に読み出し動作について説明する。図15は本発明の第5の実施の形態における読み出し動作の流れを示すフローチャートである。論理アドレス#Aに対して読み出し動作が行われると、アドレス・データ算出器45は識別データレジスタ54に格納されている識別データ値から次に書き込む不揮発性メモリ42内の物理アドレスを選択するアドレス0〜(m−1)を算出し(ステップ111)、アドレス合成回路22に入力する。
【0094】
アドレス合成回路22はシフト回路21により読み出しアドレスをmビット左にシフトして得た出力(ステップ112)とアドレス・データ算出器45の出力を合成し(ステップ113)、アドレス選択回路47に入力する。パルス生成回路23が論理アドレス#Aへの読み出しパルスを発生するため、アドレス選択回路47はアドレス合成回路22の出力を選択しアドレスデコード回路14が物理アドレス#0〜#n(n=2m−1)のいずれかを選択する。例えば識別データラッチ44の値が(11111000)であれば物理アドレス#2を読み出し(ステップ114)、出力制御部3の制御により読み出しデータとして出力する。
【0095】
このように本発明の第4実施の形態と同様に、論理アドレス#Aに対する書き込みにおいて、物理アドレスを#0、#1、#2、…と順番に移動させていくことにより消去処理を行わず、また書き込みデータに特別な制限を設けることなくデータの再書き込みを行うことができ、また読み出し時は識別データ領域の読み出しを行うことにより短時間で複数の物理アドレスのうちの1つを選択することができる。
【0096】
また識別データを不揮発性メモリ42の1物理アドレスにつき1ビットとしたことで、識別データ領域の占める割合を大幅に減らすことができる。
【0097】
さらに、識別データを不揮発性メモリで構成された識別データメモリ43とともに揮発性の識別データレジスタ54にも格納しておくことにより、アドレスデコードのための不揮発性メモリの読み出しが不要で、アドレスデコードを瞬時に行うことができ、特に読み出しにおいては、1つの論理アドレスに対して1つの物理アドレスをもつ通常のEPROMやフラッシュEEPROMと同じ速度で読み出すことができる。
【0098】
(第6の実施の形態)
図16は本発明の第6の実施の形態に係る半導体メモリ装置の構成を示すブロック図である。6はブロック単位で一括消去できる不揮発性メモリ装置(フラッシュEEPROM)、62は書き込みデータ領域である複数個の物理アドレスメモリ#0、#1、…、#nの集合体64と識別用メモリ領域である不揮発性メモリ65と不揮発性メモリで構成された消去ブロックAの状態フラグ68を内蔵し、消去ブロックAに配置されている不揮発性メモリ、63は書き込みデータ領域である複数個の物理アドレスメモリ#0、#1、…、#nの集合体66と識別用メモリ領域である不揮発性メモリ67と不揮発性メモリで構成された消去ブロックBの状態フラグ69を内蔵し、消去ブロックBに配置されている不揮発性メモリ、70は1つの論理アドレス#Aに対して不揮発性メモリ62と不揮発性メモリ63のどちらを用いるかを制御するブロック切り替え制御部、61は不揮発性メモリ62と不揮発性メモリ63とブロック切り替え制御部68を内蔵した1論理アドレスに対応する不揮発性メモリ、71は不揮発性メモリ装置6の消去・書き込みの制御を行う書き換え制御部である。不揮発性メモリ62と不揮発性メモリ63は上記の第5の実施の形態と同じ機能を有するものとする。
【0099】
次に本実施の形態の動作について説明する。1つの論理アドレス#Aに対応した不揮発性メモリ61へのデータ書き込み方法について説明する。消去ブロックAの状態フラグ68にはブロックAが有効であることを表すデータが予め書き込まれているものとする。
【0100】
論理アドレス#Aへの書き込み動作が行なわれると、まずブロック切り替え制御部70は消去ブロックA状態フラグ68と消去ブロックB状態フラグ69の読み出し有効が書き込まれている消去ブロックに対応する上位アドレスを発生させる。
【0101】
初期状態では消去ブロックAが有効になっているため、上位アドレスが消去ブロックAに該当する物理アドレスに決定し、消去ブロックAの物理アドレスが選択され、以降上記の第5の実施の形態に記載の方法で不揮発性メモリ62に対して書き込みを行い、n回目までの書き換えを行なうことができる(ステップ121〜123)。
【0102】
n回目の書き換え時に識別データレジスタの値をデコードした結果が#nになったことをトリガーとして、ブロック切り替え制御部68に内蔵されている不揮発性メモリの値をブロックBが有効であることを示す値として書き込む(ステップ124〜127)。
【0103】
n+1回目の書き込みが発生すると、ブロック切り替え制御部70は消去ブロックA状態フラグ68と消去ブロックB状態フラグ69を読み出し、双方に有効であることを示す値が書き込まれている場合は優先度の低い消去ブロック(この場合は消去ブロックB)を選択し、消去ブロックBに該当する物理アドレスが選択される。
【0104】
これにより、以降n+n回目まで上記の第5の実施の形態に記載の方法で不揮発性メモリ63に対して書き込みを行う。n+1回目からn+n回目までの書き込みの間に書換制御部71が処理の空いているタイミングを使って消去ブロックA全体を消去する。
【0105】
n+n回目の書き込み時にすでに消去されている消去ブロックAの状態フラグ68に消去ブロックAが有効であることを示す値を書き込み、n+n+1回目の書き込み時にはブロック切り替え制御部70は消去ブロックAを選択し、消去ブロックAに該当する物理アドレスを選択する。
【0106】
このように本実施の形態によれば、順番に消去ブロックA→B→A→Bと順番に書き込んでいくことにより、フラッシュEEPROMの消去回数×n回の書き換えが可能になり、論理アドレス#Aに対する書き換え回数が大幅に増加する。
【0107】
尚、不揮発性メモリ62、63は上記第5の実施の形態に記載の不揮発性メモリと同等の機能を有することとしたが、上記第1〜第5実施の形態のどの不揮発性メモリでもよい。
【0108】
また、本発明は上記実施の形態に限定されることなく、その要旨を逸脱しない範囲において、具体的な構成、機能、作用、効果において、他の種々の形態によっても実施することができる。
【0109】
【発明の効果】
請求項1に記載の発明によれば、1つの論理アドレスに対して複数個の物理アドレスメモリを割り当てることにより、1つの論理アドレスに記憶されている内容を書き替える時、対応して設けられている複数個の物理アドレスメモリの中で空いているメモリにデータを書き込むことにより、1つの論理アドレスに対して消去動作を伴わずにデータの書き換えを行うことできる。これにより、デバイスの面積を増大させること無く、不揮発性メモリの書き換えを可能することができ、その上、消去動作を伴わないため、電気的に消去できないEPROMを書き換え可能にすることができ、さらに、一括消去型のフラッシュEEPROMに少量単位(ワード単位)での書き換えが可能な領域を設けることができる。
【0110】
請求項2に記載の発明によれば、1つの論理アドレスに記憶されている内容を読み出す時、最後に書き込まれた物理アドレスメモリの内容を読み出すことにより、書き込み時に消去動作を行なわなくとも有効なデータを読み出すことができる。
【0111】
請求項3、5に記載の発明によれば、1つの論理アドレスに対して複数個の物理アドレスメモリとアドレス識別領域を割り当てることにより、1つの論理アドレスに記憶されている内容を書き替える時、対応して設けられている複数個の物理アドレスメモリの中で空いているメモリをアドレス識別領域のアドレス識別データにより探し出し、この空いている物理アドレスメモリにデータを書き込むことにより、1つの論理アドレスに対して消去動作を伴わずにデータの書き換えを行うことができる。それ故、デバイスの面積を増大させること無く、不揮発性メモリの書き換えを可能することができ、しかも、アドレス識別データを空きメモリの検索に用いるため、物理アドレスメモリに格納するデータに空きメモリの検索情報を含ませる必要がなく、物理アドレスメモリに特別な書き込み制限を設けることなく、再書込みを行うことができる。
【0112】
請求項4、6に記載の発明によれば、1つの論理アドレスに記憶されている内容を読み出す時、アドレス識別データによって最後に書き込まれた物理アドレスメモリを探し出し、この物理アドレスメモリの内容を読み出すことにより、書き込み時に消去動作を行なわなくとも有効なデータを読み出すことができる。
【0113】
請求項7に記載の発明によれば、前記1つの論理アドレスに対する複数個の物理アドレスメモリの一部の領域を前記アドレス識別データ領域に設定することにより、アドレス識別データ領域を確保するために別の物理アドレスメモリを用意する必要がなく、デバイスの面積の増加を防止することができる。
【0114】
請求項8に記載の発明によれば、1つの論理アドレスに対する複数個の物理アドレスメモリに対して別の物理アドレスメモリを前記アドレス識別データ領域に設定することにより、ワード長を変えずに書き換え可能な領域を設けることができる。
【0115】
請求項9に記載の発明によれば、アドレス識別データ領域として1物理アドレスにつき1ビットを割り当てることにより、アドレス識別データ領域を小さくすることにより、無駄な領域を発生させずに書き換え可能な領域を設けることができる。
【0116】
請求項10に記載の発明によれば、アドレス識別データ領域のアドレス識別データを揮発性のメモリに読み出して用いることにより、書き込み、読み出し時のアドレスデコード時間をほとんど無視できる程度に小さくすることができ、通常のEPROMやフラッシュEEPROMと同じ読み出しスピードを保ったまま書き換え可能な領域を設けることができ、さらに、既存のEEPROMでのワード書き換えは消去処理と書き込み処理の組み合わせになっているが、本発明では読み出し処理と書き込み処理のみで書き換えを行なっているので、EEPROMに比べてはるかに書き換え時間を短くすることができる。
【0117】
請求項11に記載の発明によれば、異なる複数の消去ブロックに物理アドレスメモリを配置することにより、第1の消去ブロック内の複数個の物理アドレスメモリ全てにデータが書き込まれると、次に第2の消去ブロック内の複数個の物理アドレスメモリにデータの書き込みを行い、その間に第1の消去ブロックの書き込みデータを消去し、次に第2の消去ブロック内の複数個の物理アドレスメモリ全てにデータが書き込まれると、また第1の消去ブロック内の複数個の物理アドレスメモリにデータを書き込むことを繰り返すことにより、1つの論理アドレスに対する書き換え回数を大幅に増加させることができる。
【図面の簡単な説明】
【図1】本発明の第1の実施の形態に係る半導体メモリ装置の構成を示す模式図。
【図2】第1の実施の形態における書き込み動作の流れを示すフローチャート。
【図3】第1の実施の形態における読み出し動作の流れを示すフローチャート。
【図4】本発明の第2の実施の形態に係る半導体メモリ装置の構成を示すブロック図。
【図5】第2の実施の形態における書き込み動作の流れを示すフローチャート。
【図6】本発明の第2の実施の形態における読み出し動作の流れを示すフローチャート。
【図7】本発明の第3の実施の形態に係る半導体メモリ装置の構成を示すブロック図。
【図8】第3の実施の形態における書き込み動作の流れを示すフローチャート。
【図9】本発明の第3の実施の形態における読み出し動作の流れを示すフローチャート。
【図10】本発明の第4の実施の形態に係る半導体メモリ装置の構成を示すブロック図。
【図11】第4の実施の形態における書き込み動作の流れを示すフローチャート。
【図12】第4の実施の形態における読み出し動作の流れを示すフローチャート。
【図13】本発明の第5の実施の形態に係る半導体メモリ装置の構成を示すブロック図。
【図14】本発明の第5の実施の形態における書き込み動作の流れを示すフローチャート。
【図15】本発明の第5の実施の形態における読み出し動作の流れを示すフローチャート。
【図16】本発明の第6の実施の形態に係る半導体メモリ装置の構成を示すブロック図。
【図17】本発明の第6の実施の形態における書き込み動作の流れを示すフローチャート。
【図18】従来の不揮発性メモリの書き換え処理の流れを示すフロチャート。
【符号の説明】
1、6 不揮発性メモリ装置
2、12、32、42、61、62、63、65、67 不揮発性メモリ
3 出力制御部
14 アドレスデコード回路
15 書き込みデータ生成回路
16 アドレスデコード用読み出しパルス発生回路
17 アドレス生成カウンタ
18 比較器
19 ラッチ
20、30、47 アドレス選択回路
21 mビット左シフト回路
22 アドレス合成回路
23、33 読み出し・書き込みパルス生成回路
31 m+1ビット左シフト回路
35 書き込みデータ選択回路(MPX)
43 アドレス識別データメモリ
44 識別データラッチ
45 アドレス・データ算出器
46 識別データ読み書き制御部
54 識別データレジスタ
70 ブロック切り替え制御部
71 フラッシュEEPROM書き換え制御部
Claims (11)
- 1つの論理アドレスに対して複数個の物理アドレスメモリを割り当てたメモリ手段と、
前記複数個の物理アドレスメモリの中で空いている物理アドレスメモリを選択する書き込み先選択手段と、
前記選択された空いている物理アドレスメモリにデータを書き込む書き込み手段と、
前記物理アドレスメモリに含まれるアドレス識別データ領域が有する前記アドレス識別データを読み出す読み出しパルスを発生するパルス発生回路と、
前記読み出しパルスに同期して前記アドレス識別データ領域の最下位アドレスから順にインクリメントするアドレス生成カウンタと、
前記アドレス識別データ領域から読み出されたデータと所定の識別データ値とを比較する比較器と、
前記比較器の出力に応じて前記アドレス生成カウンタの値を取り込むアドレスラッチと、
入力アドレスを左シフトさせるシフト回路と、
前記シフト回路の出力と前記アドレス生成カウンタの出力とを合成してアドレスデコード回路に所望の物理アドレスを供給するアドレス合成回路と
を備えたことを特徴とする半導体メモリ装置。 - 前記複数個の物理アドレスメモリの中で最後にデータを書き込んだ物理アドレスメモリを選択する読み出し先選択手段と、
前記選択された最後にデータを書き込んだ物理アドレスメモリからデータを読み出す読み出し手段と、
を備えたことを特徴とする請求項1に記載の半導体メモリ装置。 - 1つの論理アドレスに対して複数個の物理アドレスメモリとアドレス識別データ領域を割り当てたメモリ手段と、
前記複数個の物理アドレスメモリの中で空いている物理アドレスメモリを前記アドレス識別データ領域のアドレス識別データに基づいて選択する書き込み先選択手段と、
前記選択された空いている物理アドレスメモリにデータを書き込む書き込み手段と、
前記物理アドレスメモリに含まれるアドレス識別データ領域が有する前記アドレス識別データを読み出す読み出しパルスを発生するパルス発生回路と、
前記読み出しパルスに同期して前記アドレス識別データ領域の最下位アドレスから順にインクリメントするアドレス生成カウンタと、
前記アドレス識別データ領域から読み出されたデータと所定の識別データ値とを比較する比較器と、
前記比較器の出力に応じて前記アドレス生成カウンタの値を取り込むアドレスラッチと、
入力アドレスを左シフトさせるシフト回路と、
前記シフト回路の出力と前記アドレス生成カウンタの出力とを合成してアドレスデコード回路に所望の物理アドレスを供給するアドレス合成回路と
を備えたことを特徴とする半導体メモリ装置。 - 前記複数個の物理アドレスメモリの中で最後にデータを書き込んだ物理アドレスメモリを前記アドレス識別データ領域のアドレス識別データに基づいて選択する読み出し先選択手段と、
前記選択された最後にデータを書き込んだ物理アドレスメモリからデータを読み出す読み出し手段と、
を備えたことを特徴とする請求項3に記載の半導体メモリ装置。 - 前記書き込み先選択手段は、前記1つの論理アドレスに物理アドレス対応で設けられているアドレス識別データ領域をアドレス番に指定してアドレス識別データを読み出し、その結果からアクセスする物理アドレスを選択することを特徴とする請求項3に記載の半導体メモリ装置。
- 前記読み出し先選択手段は、前記1つの論理アドレスに物理アドレス対応で設けられているアドレス識別データ領域をアドレス順に指定してアドレス識別データを読み出し、その結果から空の物理アドレスメモリを選択し、その一つ前のアドレスの物理アドレスメモリを最後にデータを書き込んだ物理アドレスメモリとして選択することを特徴とする請求項4に記載の半導体メモリ装置。
- 前記1つの論理アドレスに対して設けられた前記各物理アドレスメモリの一部の領域を前記アドレス識別データ領域に設定することを特徴とする請求項3から6のいずれか一項に記載の半導体メモリ装置。
- 前記1つの論理アドレスに対して設けられた複数個の物理アドレスメモリとは別の物理アドレスメモリに前記アドレス識別データ領域を物理アドレス対応で設定することを特徴とする請求項3から6のいずれか一項に記載の半導体メモリ装置。
- 前記1つの論理アドレスに対して複数のアドレス識別データ領域を前記複数個の物理アドレスメモリとは別のメモり領域に物理アドレス毎に1ビットずつ設定することを特徴とする請求項3から6のいずれか一項に記載の半導体メモリ装置。
- 前記別のメモリ領域に設定された各1ビットのアドレス識別データを揮発性のメモリに読み出して用いることを特徴とする請求項9に記載の半導体メモリ装置。
- 前記メモリ手段を構成する1つの論理アドレスに対する複数個の物理アドレスを複数個の異なる書き換え可能な不揮発性メモリの消去ブロックに配置し、前記書き込み手段により第1の消去ブロック内の前記複数個の物理アドレスメモリ全てに対する書き込みが完了すると第2の消去ブロック内の前記複数個の物理アドレスメモリに対して書き込みを行い、その間に前記第1の消去ブロックを消去する制御手段を備えたことを特徴とする請求項3に記載の半導体メモリ装置。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003165498A JP4350431B2 (ja) | 2003-06-10 | 2003-06-10 | 半導体メモリ装置 |
US10/863,328 US7251717B2 (en) | 2003-06-10 | 2004-06-09 | Semiconductor memory device |
CNB2004100714597A CN100382200C (zh) | 2003-06-10 | 2004-06-10 | 半导体存储器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003165498A JP4350431B2 (ja) | 2003-06-10 | 2003-06-10 | 半導体メモリ装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2005004845A JP2005004845A (ja) | 2005-01-06 |
JP4350431B2 true JP4350431B2 (ja) | 2009-10-21 |
Family
ID=33508857
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003165498A Expired - Fee Related JP4350431B2 (ja) | 2003-06-10 | 2003-06-10 | 半導体メモリ装置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US7251717B2 (ja) |
JP (1) | JP4350431B2 (ja) |
CN (1) | CN100382200C (ja) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8732388B2 (en) | 2008-09-16 | 2014-05-20 | Micron Technology, Inc. | Embedded mapping information for memory devices |
JP2010108436A (ja) * | 2008-10-31 | 2010-05-13 | Hochiki Corp | フラッシュメモリを備えた制御装置及びフラッシュメモリへのデータ書込み方法 |
KR101293224B1 (ko) * | 2011-04-01 | 2013-08-05 | (주)아토솔루션 | 데이터 기록 방법. 메모리, 및 메모리 기록 시스템 |
JP5792019B2 (ja) * | 2011-10-03 | 2015-10-07 | 株式会社日立製作所 | 半導体装置 |
US9117530B2 (en) | 2013-03-14 | 2015-08-25 | Sandisk Technologies Inc. | Preserving data from adjacent word lines while programming binary non-volatile storage elements |
US9009568B2 (en) | 2013-08-09 | 2015-04-14 | Sandisk Technologies Inc. | Sensing parameter management in non-volatile memory storage system to compensate for broken word lines |
CN105094742B (zh) * | 2014-05-09 | 2018-12-07 | 华为技术有限公司 | 一种写数据的方法和设备 |
WO2023221021A1 (en) * | 2022-05-19 | 2023-11-23 | Yangtze Advanced Memory Industrial Innovation Center Co., Ltd. | Memory system, memory device, and method for read reference voltage management |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4488256A (en) * | 1981-11-23 | 1984-12-11 | Motorola, Inc. | Memory management unit having means for detecting and preventing mapping conflicts |
JPS618798A (ja) | 1984-06-21 | 1986-01-16 | Nec Corp | 不揮発性記憶装置 |
JPH0411957A (ja) | 1990-05-01 | 1992-01-16 | Mitsubishi Electric Corp | 乾式研米装置 |
US5396619A (en) * | 1993-07-26 | 1995-03-07 | International Business Machines Corporation | System and method for testing and remapping base memory for memory diagnostics |
JPH10223000A (ja) * | 1997-02-04 | 1998-08-21 | Mitsubishi Electric Corp | 半導体記憶装置 |
US6070205A (en) * | 1997-02-17 | 2000-05-30 | Ssd Company Limited | High-speed processor system having bus arbitration mechanism |
US5732017A (en) * | 1997-03-31 | 1998-03-24 | Atmel Corporation | Combined program and data nonvolatile memory with concurrent program-read/data write capability |
US6128509A (en) * | 1997-11-07 | 2000-10-03 | Nokia Mobile Phone Limited | Intelligent service interface and messaging protocol for coupling a mobile station to peripheral devices |
DE19954345A1 (de) * | 1999-11-11 | 2001-05-31 | Infineon Technologies Ag | Speichereinrichtung |
-
2003
- 2003-06-10 JP JP2003165498A patent/JP4350431B2/ja not_active Expired - Fee Related
-
2004
- 2004-06-09 US US10/863,328 patent/US7251717B2/en active Active
- 2004-06-10 CN CNB2004100714597A patent/CN100382200C/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CN100382200C (zh) | 2008-04-16 |
US20040255092A1 (en) | 2004-12-16 |
CN1574096A (zh) | 2005-02-02 |
JP2005004845A (ja) | 2005-01-06 |
US7251717B2 (en) | 2007-07-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3229345B2 (ja) | 不揮発性icメモリ | |
US8745357B2 (en) | Remapping for memory wear leveling | |
US7877562B2 (en) | Memory controller, flash memory system, and control method of flash memory | |
JP5792019B2 (ja) | 半導体装置 | |
US20020188814A1 (en) | Non-volatile storage device and rewrite control method thereof | |
KR20140111323A (ko) | 멀티 칩 패키지 nand 플래시 메모리 시스템에서의 디바이스 선택 방식 | |
US20220019357A1 (en) | Storage controller and an operation method of the storage controller | |
JPH10326493A (ja) | 複合化フラッシュメモリ装置 | |
JP4350431B2 (ja) | 半導体メモリ装置 | |
JP2007250101A (ja) | 不揮発性メモリ装置および不揮発性メモリ装置の制御方法 | |
US5229972A (en) | Nonvolatile semiconductor memory system | |
JP6727365B1 (ja) | 半導体記憶装置 | |
KR100953062B1 (ko) | 불휘발성 메모리 소자의 어드레스 입력 방법 및 동작 방법 | |
US9760301B2 (en) | WOM code emulation of EEPROM-type devices | |
US9373369B1 (en) | Data storage device and operating method thereof | |
JP4661191B2 (ja) | メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法 | |
JP4710753B2 (ja) | メモリコントローラ及びメモリコントローラを用いたフラッシュメモリシステム、並びにフラッシュメモリの制御方法 | |
US7328302B2 (en) | Device and method for treating a state of a memory | |
US20050251643A1 (en) | Memory arrangement | |
JP6767532B2 (ja) | 半導体記憶装置 | |
JP4661748B2 (ja) | メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法 | |
JP2005316793A (ja) | フラッシュメモリシステム及びフラッシュメモリの制御方法 | |
KR100560802B1 (ko) | 파셜 카피 백 동작 모드를 갖는 플래시 메모리 장치 | |
US20080320208A1 (en) | Semiconductor device and method for controlling thereof | |
JP2003331585A (ja) | 不揮発性半導体記憶装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20060325 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060424 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20071114 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20071121 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20071128 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20071205 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20071212 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20081226 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090114 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090316 |
|
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: 20090623 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20090722 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120731 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |