JP3485938B2 - 不揮発性半導体メモリ装置 - Google Patents
不揮発性半導体メモリ装置Info
- Publication number
- JP3485938B2 JP3485938B2 JP07794092A JP7794092A JP3485938B2 JP 3485938 B2 JP3485938 B2 JP 3485938B2 JP 07794092 A JP07794092 A JP 07794092A JP 7794092 A JP7794092 A JP 7794092A JP 3485938 B2 JP3485938 B2 JP 3485938B2
- Authority
- JP
- Japan
- Prior art keywords
- block
- data
- erased
- unused
- blocks
- 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
Classifications
-
- 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/70—Masking faults in memories by using spares or by reconfiguring
- G11C29/76—Masking faults in memories by using spares or by reconfiguring using address translation or modifications
- G11C29/765—Masking faults in memories by using spares or by reconfiguring using address translation or modifications in solid state disks
-
- 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
- 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
-
- 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/14—Circuits for erasing electrically, e.g. erase voltage switching circuits
- G11C16/16—Circuits for erasing electrically, e.g. erase voltage switching circuits for erasing blocks, e.g. arrays, words, groups
Description
【0001】
【産業上の利用分野】本発明は、電気的に書換可能な不
揮発性半導体メモリ素子(EEPROM)の中のNAN
D型EEPROMを用いた不揮発性半導体メモリ装置に
関する。
揮発性半導体メモリ素子(EEPROM)の中のNAN
D型EEPROMを用いた不揮発性半導体メモリ装置に
関する。
【0002】
【従来の技術】一般にコンピュータシステムにおける書
換可能な記憶装置(記憶素子)は、その容量に物理的な
限界があるため、不要になった情報の上に新しい情報を
重ね書きして使用される。書換可能な記憶装置(記憶素
子)は、その重ね書きの方法で大別すると2通りに分け
ることが出来る。その一つは、ランダムアクセスメモリ
(RAM)やハードディスク、フロッピディスク或いは
磁気テープのように、古い情報の上に新しい情報をその
まま上書き出来るものである。他の一つは、ある種の光
記憶装置やEEPROMのように重ね書きされる古い情
報を一度消去してからでないと新しい情報が書き込めな
いものである。
換可能な記憶装置(記憶素子)は、その容量に物理的な
限界があるため、不要になった情報の上に新しい情報を
重ね書きして使用される。書換可能な記憶装置(記憶素
子)は、その重ね書きの方法で大別すると2通りに分け
ることが出来る。その一つは、ランダムアクセスメモリ
(RAM)やハードディスク、フロッピディスク或いは
磁気テープのように、古い情報の上に新しい情報をその
まま上書き出来るものである。他の一つは、ある種の光
記憶装置やEEPROMのように重ね書きされる古い情
報を一度消去してからでないと新しい情報が書き込めな
いものである。
【0003】NAND型EEPROMの消去方法は2通
りあり、その一つは、例えばインテル社製フラッシュE
EPROMのようにチップ全体の情報を一度に消去する
方法である。他の一つは、チップの一部分の情報のみを
選択的に消去する方法である。
りあり、その一つは、例えばインテル社製フラッシュE
EPROMのようにチップ全体の情報を一度に消去する
方法である。他の一つは、チップの一部分の情報のみを
選択的に消去する方法である。
【0004】NAND型EEPROMでは、連続してデ
ータを読み出したり、データを書き込んだりするための
構造的に連続する複数の記憶セルをページという単位で
呼んでいる。例えば、4MビットEEPROMでは、1
ページは、4096ビットの記憶セルで構成されてい
る。また、構造的に連続する複数ページはブロックとい
う単位で呼ばれる。例えば、4MビットEEPROMで
は、8ページ(4kバイト)分の記憶セルで1ブロック
が構成されている。NAND型EEPROMで、チップ
の一部分の情報のみを選択的に消去する場合の単位は、
このブロックと一致している。
ータを読み出したり、データを書き込んだりするための
構造的に連続する複数の記憶セルをページという単位で
呼んでいる。例えば、4MビットEEPROMでは、1
ページは、4096ビットの記憶セルで構成されてい
る。また、構造的に連続する複数ページはブロックとい
う単位で呼ばれる。例えば、4MビットEEPROMで
は、8ページ(4kバイト)分の記憶セルで1ブロック
が構成されている。NAND型EEPROMで、チップ
の一部分の情報のみを選択的に消去する場合の単位は、
このブロックと一致している。
【0005】NAND型EEPROMは、上記のように
データの一部分のみを消去できるので、磁気ディスク装
置におけるように、1セクタ分のデータのみを書き換え
るといった操作が比較的容易におこなえる不揮発性記憶
素子である。そこで、機械的強度に関する信頼性、低消
費電力、読み出し時間の高速性といった半導体メモリの
特徴を生かして、従来の磁気ディスク装置を置き換える
ような用途に使われだした。
データの一部分のみを消去できるので、磁気ディスク装
置におけるように、1セクタ分のデータのみを書き換え
るといった操作が比較的容易におこなえる不揮発性記憶
素子である。そこで、機械的強度に関する信頼性、低消
費電力、読み出し時間の高速性といった半導体メモリの
特徴を生かして、従来の磁気ディスク装置を置き換える
ような用途に使われだした。
【0006】ところが、EEPROMは、データ読み出
しのためのアクセス時間が高速である割に、データ書き
込みには時間がかかる。例えば、4MビットNAND型
EEPROMの場合、1ブロックのデータ読み出しに要
する時間が約490μsocであるのに対し、1ブロッ
クを消去して書き換えるには、消去に約10msec、
データ書き込みに約4msecの時間を要する。
しのためのアクセス時間が高速である割に、データ書き
込みには時間がかかる。例えば、4MビットNAND型
EEPROMの場合、1ブロックのデータ読み出しに要
する時間が約490μsocであるのに対し、1ブロッ
クを消去して書き換えるには、消去に約10msec、
データ書き込みに約4msecの時間を要する。
【0007】さらに、現状の技術ではデータの書換回数
に制限があり、104 回ないし105 回程度の書換で寿
命となる。よって、同一のブロックに対してデータの重
ね書きが集中するとチップ自体の寿命を縮めてしまうと
いう問題があった。
に制限があり、104 回ないし105 回程度の書換で寿
命となる。よって、同一のブロックに対してデータの重
ね書きが集中するとチップ自体の寿命を縮めてしまうと
いう問題があった。
【0008】
【発明が解決しようとする課題】以上のようにNAND
型EEPROMを用いた従来の不揮発性半導体メモリ装
置は、データの読み出し時間に比べて書き込みに時間が
かかり、しかも、書換回数に制限があるため同一ブロッ
クに重ね書きが集中すると寿命を縮めるという問題があ
った。
型EEPROMを用いた従来の不揮発性半導体メモリ装
置は、データの読み出し時間に比べて書き込みに時間が
かかり、しかも、書換回数に制限があるため同一ブロッ
クに重ね書きが集中すると寿命を縮めるという問題があ
った。
【0009】本発明は、このような問題を解決し、書き
込みを高速に行うことができるとともに長寿命化を図る
ことのできる不揮発性半導体メモリ装置を提供すること
を目的とする。
込みを高速に行うことができるとともに長寿命化を図る
ことのできる不揮発性半導体メモリ装置を提供すること
を目的とする。
【0010】
【課題を解決するための手段】本発明は上記課題を解決
するために、本発明の第1の特徴は、(イ)複数のブロ
ックに分割されたメモリセルアレイで構成されたメモリ
手段と、(ロ)複数のブロックのうち、未使用のブロッ
クを連鎖状に管理する管理手段と、(ハ)未使用のブロ
ックのうち、消去済みのブロックと未消去のブロックを
識別する手段と、(ニ)データの書き換えの際には消去
動作を実行することなく前記未使用のブロックの先頭の
前記消去済みのブロックにデータの書き込みを行い、書
き込みを行うデータの内容が既に記録された旧データを
変更したものであり当該旧データが不要である場合には
当該旧データが記録されていたブロックを未使用のブロ
ックとして管理手段に通知し、所要の場合には旧データ
の中の必要とされる部分のデータを新たなデータを書き
込む消去済みのブロックにコピーし、書き込みに伴い不
要となったデータのブロックを未使用のブロックの最後
尾に付け加える制御手段と、(ホ)未消去のブロックを
順次消去する消去手段とを備えることを特徴とする不揮
発性半導体メモリ装置であることを要旨とする。また、
本発明の第2の特徴は、(イ)複数のそれぞれが最小消
去単位であり且つ複数のページを有するブロックに分割
されたメモリセルアレイを有するメモリ手段と、(ロ)
複数のブロックのうち、物理的に消去された消去済みの
ブロックと、論理的に消去され且つ物理的に消去されて
いない未消去のブロックとを含む未使用のブロックを連
鎖状に管理する管理手段と、(ハ)未使用のブロックの
うち、消去済みのブロックと未消去のブロックとを識別
する手段と、(ニ)データの書き込みの際には消去動作
を実行することなく前記未使用のブロックの先頭の前記
消去済みのブロックに新たなデータの書き込み、書き込
まれる新たなデータが書き込まれる消去済みのブロック
と異なるブロックに記録されていた旧データを変更する
ものである場合には旧データを含む異なるブロックに記
録されていたデータのすべてが不要な時には異なるブロ
ックを未使用のブロックとし、異なるブロックに記録さ
れていたデータの一部が必要な場合には当該データの一
部を書き込まれる消去済みのブロックにコピーし、旧デ
ータのブロックが消去手段により消去される前に書き込
みを行い、書き込みに伴い不要となったデータのブロッ
クを未使用のブロックの最後尾に付け加える制御手段
と、(ホ)未消去のブロックに記録されたデータを消去
する消去手段とを備えることを特徴とする不揮発性半導
体メモリ装置であることを要旨とする。
するために、本発明の第1の特徴は、(イ)複数のブロ
ックに分割されたメモリセルアレイで構成されたメモリ
手段と、(ロ)複数のブロックのうち、未使用のブロッ
クを連鎖状に管理する管理手段と、(ハ)未使用のブロ
ックのうち、消去済みのブロックと未消去のブロックを
識別する手段と、(ニ)データの書き換えの際には消去
動作を実行することなく前記未使用のブロックの先頭の
前記消去済みのブロックにデータの書き込みを行い、書
き込みを行うデータの内容が既に記録された旧データを
変更したものであり当該旧データが不要である場合には
当該旧データが記録されていたブロックを未使用のブロ
ックとして管理手段に通知し、所要の場合には旧データ
の中の必要とされる部分のデータを新たなデータを書き
込む消去済みのブロックにコピーし、書き込みに伴い不
要となったデータのブロックを未使用のブロックの最後
尾に付け加える制御手段と、(ホ)未消去のブロックを
順次消去する消去手段とを備えることを特徴とする不揮
発性半導体メモリ装置であることを要旨とする。また、
本発明の第2の特徴は、(イ)複数のそれぞれが最小消
去単位であり且つ複数のページを有するブロックに分割
されたメモリセルアレイを有するメモリ手段と、(ロ)
複数のブロックのうち、物理的に消去された消去済みの
ブロックと、論理的に消去され且つ物理的に消去されて
いない未消去のブロックとを含む未使用のブロックを連
鎖状に管理する管理手段と、(ハ)未使用のブロックの
うち、消去済みのブロックと未消去のブロックとを識別
する手段と、(ニ)データの書き込みの際には消去動作
を実行することなく前記未使用のブロックの先頭の前記
消去済みのブロックに新たなデータの書き込み、書き込
まれる新たなデータが書き込まれる消去済みのブロック
と異なるブロックに記録されていた旧データを変更する
ものである場合には旧データを含む異なるブロックに記
録されていたデータのすべてが不要な時には異なるブロ
ックを未使用のブロックとし、異なるブロックに記録さ
れていたデータの一部が必要な場合には当該データの一
部を書き込まれる消去済みのブロックにコピーし、旧デ
ータのブロックが消去手段により消去される前に書き込
みを行い、書き込みに伴い不要となったデータのブロッ
クを未使用のブロックの最後尾に付け加える制御手段
と、(ホ)未消去のブロックに記録されたデータを消去
する消去手段とを備えることを特徴とする不揮発性半導
体メモリ装置であることを要旨とする。
【0011】上記構成において、新たなデータの書き込
みは、可能な限り予め消去された未使用のブロック領域
に対して行われる。これにより不揮発性半導体メモリ装
置において本来書き込みに先だって行う必要があり且つ
アクセス時間の増大を余儀なくさせる消去動作が省略さ
れて高速書き込みが可能になる。また、同一データを更
新/変更する場合でも、未消去のブロックは連鎖の最後
尾に付け加えられ、物理的な書き込み位置は書き込みの
都度変わるため、特定のブロックに対する書き込み回数
の増加が回避されて長寿命化を図ることができる。
みは、可能な限り予め消去された未使用のブロック領域
に対して行われる。これにより不揮発性半導体メモリ装
置において本来書き込みに先だって行う必要があり且つ
アクセス時間の増大を余儀なくさせる消去動作が省略さ
れて高速書き込みが可能になる。また、同一データを更
新/変更する場合でも、未消去のブロックは連鎖の最後
尾に付け加えられ、物理的な書き込み位置は書き込みの
都度変わるため、特定のブロックに対する書き込み回数
の増加が回避されて長寿命化を図ることができる。
【0012】
【実施例】以下、本発明の実施例を図面を参照して説明
する。
する。
【0013】図1は、不揮発性半導体メモリ装置の全体
構成を示すブロック図である。同図において1はメモリ
手段としてのNAND型EEPROMモジュールであ
り、複数個のページからなるブロックに分割されたメモ
リセルアレイで構成されている。EEPROMモジュー
ル1はデータ線で結ばれたホストインターフェイス2を
介して図示省略のホストシステムに接続されている。デ
ータ線上には、マルチプレクサ9及びデータバッファ1
0が設けられている。また、ホストインターフェイス2
内には、データレジスタ3、アドレスレジスタ4、カウ
ントレジスタ5、コマンドレジスタ6、ステータレジス
タ7及びエラーレジスタ8が設けられている。11はコ
ントロールロジック、12はECC(誤差修正コード)
ジェネレータ/チェッカ、13はアドレスジェネレー
タ、14は消去手段及び制御手段としての機能を有する
CPU、15は作業用RAM、16は制御プログラムR
OMである。制御プログラムROM16には、データ書
き込み等のための一連の制御プログラムが格納されるよ
うになっている。
構成を示すブロック図である。同図において1はメモリ
手段としてのNAND型EEPROMモジュールであ
り、複数個のページからなるブロックに分割されたメモ
リセルアレイで構成されている。EEPROMモジュー
ル1はデータ線で結ばれたホストインターフェイス2を
介して図示省略のホストシステムに接続されている。デ
ータ線上には、マルチプレクサ9及びデータバッファ1
0が設けられている。また、ホストインターフェイス2
内には、データレジスタ3、アドレスレジスタ4、カウ
ントレジスタ5、コマンドレジスタ6、ステータレジス
タ7及びエラーレジスタ8が設けられている。11はコ
ントロールロジック、12はECC(誤差修正コード)
ジェネレータ/チェッカ、13はアドレスジェネレー
タ、14は消去手段及び制御手段としての機能を有する
CPU、15は作業用RAM、16は制御プログラムR
OMである。制御プログラムROM16には、データ書
き込み等のための一連の制御プログラムが格納されるよ
うになっている。
【0014】本実施例のメモリ装置は、不揮発性メモリ
領域であるEEPROMモジュール1に記録されるデー
タに関し、その位置を割付け、管理するために管理テー
ブルを使用する。このテーブルは、他のユーザデータと
ともにEEPROMモジュール1に記録されるが、この
装置が起動するときに自動的に作業用RAM15に読み
込まれる。また、このテーブルは、EEPROMモジュ
ール1への書き込みが行われる度にその内容が更新され
るが、この更新されたテーブルは、その都度、或いは装
置の使用が終了する時点でEEPROMモジュール1に
書き戻されることとする。
領域であるEEPROMモジュール1に記録されるデー
タに関し、その位置を割付け、管理するために管理テー
ブルを使用する。このテーブルは、他のユーザデータと
ともにEEPROMモジュール1に記録されるが、この
装置が起動するときに自動的に作業用RAM15に読み
込まれる。また、このテーブルは、EEPROMモジュ
ール1への書き込みが行われる度にその内容が更新され
るが、この更新されたテーブルは、その都度、或いは装
置の使用が終了する時点でEEPROMモジュール1に
書き戻されることとする。
【0015】このテーブルの一つは、図3にその構成を
示す未使用ブロックを管理するためのテーブルである。
他の一つは、図4に示すホストシステムが指定してくる
アドレスとメモリモジュール上の物理的なアドレスとの
対照テーブルである。
示す未使用ブロックを管理するためのテーブルである。
他の一つは、図4に示すホストシステムが指定してくる
アドレスとメモリモジュール上の物理的なアドレスとの
対照テーブルである。
【0016】まず図3の未使用ブロックを管理するため
のテーブルの一例を説明する。テーブルの1番目210
は、未使用のデータブロックを連鎖状に管理するための
もので、チェインの先頭のブロックへのポインタであ
る。テーブルの2番目211は、同じ目的のポインタで
あるがチェインの最後尾へのポインタである。テーブル
の3番目からn+2番目は、NAND型EEPROMモ
ジュール1の物理的なブロックの1番目からn番目に対
応している。これらの内容は、212に例示するよう
に、さらに、次の未使用ブロックへのポインタ213と
消去フラグ214とから構成されている。テーブルのm
番目218の中のポインタのようにその内容が”−1”
であった場合にはチェインの最後尾であることを示すも
のとする。よってこの例では、最後尾ポインタ211は
テーブルのm番目218をポイントするため内容はmに
セットされる。消去フラグ214は、対応するブロック
が消去済みであるか否かを示すもので、ここでは”0”
の場合は消去済み、”1”の場合は未消去を表すものと
する。
のテーブルの一例を説明する。テーブルの1番目210
は、未使用のデータブロックを連鎖状に管理するための
もので、チェインの先頭のブロックへのポインタであ
る。テーブルの2番目211は、同じ目的のポインタで
あるがチェインの最後尾へのポインタである。テーブル
の3番目からn+2番目は、NAND型EEPROMモ
ジュール1の物理的なブロックの1番目からn番目に対
応している。これらの内容は、212に例示するよう
に、さらに、次の未使用ブロックへのポインタ213と
消去フラグ214とから構成されている。テーブルのm
番目218の中のポインタのようにその内容が”−1”
であった場合にはチェインの最後尾であることを示すも
のとする。よってこの例では、最後尾ポインタ211は
テーブルのm番目218をポイントするため内容はmに
セットされる。消去フラグ214は、対応するブロック
が消去済みであるか否かを示すもので、ここでは”0”
の場合は消去済み、”1”の場合は未消去を表すものと
する。
【0017】具体的な例を用いてデータが記録される際
の動作の概要を述べる。
の動作の概要を述べる。
【0018】いま、未使用ブロックの連鎖が図2(a)
のようであると仮定する。データを記録するには、ま
ず、先頭ポインタ101の内容を調べる。図2(a)で
は53番目のテーブルをポイントしているから、書き込
み可能なNAND型EEPROMモジュール1上の物理
的なブロックアドレスはオフセット2を減じた51とな
る。ブロック51に書き込みを行なったら、先頭ポイン
タ101の値を、102のポイント先33にセットしな
おしてブロック51に対応するテーブル102をこのチ
ェインから外す。結果を図2(b)に示す。
のようであると仮定する。データを記録するには、ま
ず、先頭ポインタ101の内容を調べる。図2(a)で
は53番目のテーブルをポイントしているから、書き込
み可能なNAND型EEPROMモジュール1上の物理
的なブロックアドレスはオフセット2を減じた51とな
る。ブロック51に書き込みを行なったら、先頭ポイン
タ101の値を、102のポイント先33にセットしな
おしてブロック51に対応するテーブル102をこのチ
ェインから外す。結果を図2(b)に示す。
【0019】この書き込みに伴なって、既存のブロック
のデータが不要になった場合には、さらに、図2(c)
に示すようにテーブルが更新されるような操作を行う。
不要になったデータを記録していたのがブロック45で
あったとすると、最後尾ポインタ105がポイントして
いるテーブルの151番目104の中のポインタと最後
尾ポインタ105の値をブロック45に対応するテーブ
ル番号47にセットしなおす。テーブルの47番目10
7の中のポインタは”−1”に、消去フラグは”−1”
に設定される。
のデータが不要になった場合には、さらに、図2(c)
に示すようにテーブルが更新されるような操作を行う。
不要になったデータを記録していたのがブロック45で
あったとすると、最後尾ポインタ105がポイントして
いるテーブルの151番目104の中のポインタと最後
尾ポインタ105の値をブロック45に対応するテーブ
ル番号47にセットしなおす。テーブルの47番目10
7の中のポインタは”−1”に、消去フラグは”−1”
に設定される。
【0020】未使用のブロックのチェインの最後尾に付
け加えられた直後のブロックは消去されていないので、
読み出し/書き込みアクセスが途絶えたときにチェイン
を順次手繰りながら、消去を行い、そのブロックに対応
するテーブルの消去フラグを”0”にセットする。
け加えられた直後のブロックは消去されていないので、
読み出し/書き込みアクセスが途絶えたときにチェイン
を順次手繰りながら、消去を行い、そのブロックに対応
するテーブルの消去フラグを”0”にセットする。
【0021】次いで、図4の対照テーブルを説明する。
テーブルの長さnは、NAND型EEPROMモジュー
ル1のブロック以下とする。例えば、以後簡単のために
ここではEEPROMモジュール1が4MビットEEP
ROM1個で構成されていると仮定すると、1ブロック
の容量は4kバイトであるから、ブロックの総数は12
8個となり、対照テーブルの項目数nも128以下であ
る。
テーブルの長さnは、NAND型EEPROMモジュー
ル1のブロック以下とする。例えば、以後簡単のために
ここではEEPROMモジュール1が4MビットEEP
ROM1個で構成されていると仮定すると、1ブロック
の容量は4kバイトであるから、ブロックの総数は12
8個となり、対照テーブルの項目数nも128以下であ
る。
【0022】この装置では、EEPROMモジュール1
のブロックの容量に相当するデータ量を単位として、E
EPROMモジュール1上の物理的位置の割り付けを行
う。即ち、テーブルの1項目めは、ホストシステムから
指定される最初の4kバイト分のデータが実際に記録さ
れる物理的位置を示している。図4の例では、203
は、テーブルの3番目の項目であるから、ホストシステ
ムから指定してくるアドレス(以後論理アドレスと記
載)の8kバイト目からの4kバイトが、実際にはEE
PROMモジュール1の101番目のブロックに割り当
てられていることを示している。また、201,202
のように”−1”の書かれたテーブルは、その位置に対
応する論理アドレスへの書き込みがまだ行われていない
ため、物理的な領域の割り付けが行われていないことを
示す。
のブロックの容量に相当するデータ量を単位として、E
EPROMモジュール1上の物理的位置の割り付けを行
う。即ち、テーブルの1項目めは、ホストシステムから
指定される最初の4kバイト分のデータが実際に記録さ
れる物理的位置を示している。図4の例では、203
は、テーブルの3番目の項目であるから、ホストシステ
ムから指定してくるアドレス(以後論理アドレスと記
載)の8kバイト目からの4kバイトが、実際にはEE
PROMモジュール1の101番目のブロックに割り当
てられていることを示している。また、201,202
のように”−1”の書かれたテーブルは、その位置に対
応する論理アドレスへの書き込みがまだ行われていない
ため、物理的な領域の割り付けが行われていないことを
示す。
【0023】次に、この装置の動作を説明する。
【0024】ホストシステムは、図1のホストインター
フェイス2内のアドレスレジスタ4にアクセス開始アド
レスを、カウントレジスタ5にアクセスしたいデータの
セクタ長をセットし、最後にコマンドレジスタ6に読み
出し/書き込み等の命令をセットする。ホストインター
フェイス2のコマンドレジスタ6にアクセス命令が書き
込まれると、コントローラ内のCPU14は、コマンド
レジスタ6内の命令を読み込み、制御プログラムROM
16に納められたコマンド実行のための一連の制御プロ
グラムを実行する。以下の説明では、簡単のためホスト
システムの指定してくるセクタ長とEEPROMモジュ
ール1におけるページ長は一致しているものと仮定す
る。
フェイス2内のアドレスレジスタ4にアクセス開始アド
レスを、カウントレジスタ5にアクセスしたいデータの
セクタ長をセットし、最後にコマンドレジスタ6に読み
出し/書き込み等の命令をセットする。ホストインター
フェイス2のコマンドレジスタ6にアクセス命令が書き
込まれると、コントローラ内のCPU14は、コマンド
レジスタ6内の命令を読み込み、制御プログラムROM
16に納められたコマンド実行のための一連の制御プロ
グラムを実行する。以下の説明では、簡単のためホスト
システムの指定してくるセクタ長とEEPROMモジュ
ール1におけるページ長は一致しているものと仮定す
る。
【0025】図5は、EEPROMモジュール1からデ
ータを読み出す手順を示すフローチャートである。ま
ず、図1のCPU14は、ホストインターフェイス2に
セットされた開始アドレスと管理テーブル内のアドレス
変換テーブルを参照して読み出しを行うべきEEPRO
Mモジュール1上の物理的なアドレスを決定する(ステ
ップ301)。次に、EEPROMモジュール1からデ
ータバッファ10にデータを読み出す(ステップ30
2)。次いで、後に詳述するようなエラー処理及びデー
タバッファ10からホストシステムへのデータ転送等を
実行する(ステップ303〜305)。
ータを読み出す手順を示すフローチャートである。ま
ず、図1のCPU14は、ホストインターフェイス2に
セットされた開始アドレスと管理テーブル内のアドレス
変換テーブルを参照して読み出しを行うべきEEPRO
Mモジュール1上の物理的なアドレスを決定する(ステ
ップ301)。次に、EEPROMモジュール1からデ
ータバッファ10にデータを読み出す(ステップ30
2)。次いで、後に詳述するようなエラー処理及びデー
タバッファ10からホストシステムへのデータ転送等を
実行する(ステップ303〜305)。
【0026】図6は、EEPROMモジュールからデー
タバッファにデータを読み出す手順を示すフローチャー
トである。CPU14は、EEPROMモジュール1を
マルチプレクサ9を通してアクセスし読み出しモードに
設定し、データバッファ10を読み出しモードに設定す
る(ステップ401,402)。アドレスジェネレータ
13には、読み出しを行うべきEEPROMモジュール
1の物理的なアドレスを設定する(ステップ403)。
そして、データバッファ10に、読み出したデータを蓄
えるべき領域を決定してその先頭番地をデータバッファ
10への書き込みアドレスとして設定する(ステップ4
04)。その後、コントロールロジック11に対してデ
ータ読み出しのための定められたシーケンスを実行する
ように指令を送る。
タバッファにデータを読み出す手順を示すフローチャー
トである。CPU14は、EEPROMモジュール1を
マルチプレクサ9を通してアクセスし読み出しモードに
設定し、データバッファ10を読み出しモードに設定す
る(ステップ401,402)。アドレスジェネレータ
13には、読み出しを行うべきEEPROMモジュール
1の物理的なアドレスを設定する(ステップ403)。
そして、データバッファ10に、読み出したデータを蓄
えるべき領域を決定してその先頭番地をデータバッファ
10への書き込みアドレスとして設定する(ステップ4
04)。その後、コントロールロジック11に対してデ
ータ読み出しのための定められたシーケンスを実行する
ように指令を送る。
【0027】コントロールロジック11は、マルチプレ
クサ9をEEPROMモジュール1からの読み出しデー
タがデータバッファ10に流れるように設定し、アドレ
スジェネレータ13の内容をインクリメントしながら、
1セクタ分のデータを読み出す(ステップ405)。ま
た、EECジェネレータ/チェッカ12をこれらのデー
タ及びこれに付随して読み出されるECCコードを使っ
て誤りを検出するように制御する。1セクタ分のデータ
が読み出されると、CPU14は、ECCジェネレータ
/チェッカ12をチェックしデータの誤りを検査する
(ステップ406)。誤りが検出されなかった場合、又
は検出されても訂正が行えた場合は、データバッファ1
0からホストシステムにデータを転送する。もし、訂正
不可能な誤りが検出された場合には、ホストシステムに
対するデータ転送は行わずに、CPU14は、ホストイ
ンターフェイス2内のステータスレジスタ7にエラーが
起きたことを示すコードを、エラーレジスタ8にエラー
の内容を示すコードを設定し、ホストシステムに命令の
実行が異常終了したことを通知して処理を終了する(ス
テップ407〜410)。
クサ9をEEPROMモジュール1からの読み出しデー
タがデータバッファ10に流れるように設定し、アドレ
スジェネレータ13の内容をインクリメントしながら、
1セクタ分のデータを読み出す(ステップ405)。ま
た、EECジェネレータ/チェッカ12をこれらのデー
タ及びこれに付随して読み出されるECCコードを使っ
て誤りを検出するように制御する。1セクタ分のデータ
が読み出されると、CPU14は、ECCジェネレータ
/チェッカ12をチェックしデータの誤りを検査する
(ステップ406)。誤りが検出されなかった場合、又
は検出されても訂正が行えた場合は、データバッファ1
0からホストシステムにデータを転送する。もし、訂正
不可能な誤りが検出された場合には、ホストシステムに
対するデータ転送は行わずに、CPU14は、ホストイ
ンターフェイス2内のステータスレジスタ7にエラーが
起きたことを示すコードを、エラーレジスタ8にエラー
の内容を示すコードを設定し、ホストシステムに命令の
実行が異常終了したことを通知して処理を終了する(ス
テップ407〜410)。
【0028】図7は、データバッファからホストシステ
ムにデータを転送する手順を示すフローチャートであ
る。CPU14は、データバッファ10に読み出したデ
ータが蓄えられた領域の先頭番地を同バッファからの読
み出しアドレスとして設定し(ステップ501,50
2)、コントロールロジック11に対して、ホストシス
テムに1セクタ分のデータの転送を行うように指令す
る。コントロールロジック11は、データバッファ10
とホストインターフェイス2を制御してホストシステム
に対して1セクタ分のデータを転送し(ステップ50
3)、これが終了するとアドレスレジスタ4を1セクタ
分進め、カウントレジスタ5から1を減じ、CPU14
に転送が終了したことを通知する。ホストシステムに転
送すべきデータが残っている限り、CPU14はこの制
御を繰り返す。読み出しデータが全て転送されたら、C
PU14は、ホストインターフェイス2内のステータス
レジスタ7にエラーの無かったことを示すコードを設定
し、ホストシステムに命令の実行が終了したことを通知
して処理を終了する。
ムにデータを転送する手順を示すフローチャートであ
る。CPU14は、データバッファ10に読み出したデ
ータが蓄えられた領域の先頭番地を同バッファからの読
み出しアドレスとして設定し(ステップ501,50
2)、コントロールロジック11に対して、ホストシス
テムに1セクタ分のデータの転送を行うように指令す
る。コントロールロジック11は、データバッファ10
とホストインターフェイス2を制御してホストシステム
に対して1セクタ分のデータを転送し(ステップ50
3)、これが終了するとアドレスレジスタ4を1セクタ
分進め、カウントレジスタ5から1を減じ、CPU14
に転送が終了したことを通知する。ホストシステムに転
送すべきデータが残っている限り、CPU14はこの制
御を繰り返す。読み出しデータが全て転送されたら、C
PU14は、ホストインターフェイス2内のステータス
レジスタ7にエラーの無かったことを示すコードを設定
し、ホストシステムに命令の実行が終了したことを通知
して処理を終了する。
【0029】図8及び図9は、EEPROMモジュール
1へデータを書き込む手順を示すフローチャートであ
る。CPU14はホストインターフェイス2にセットさ
れた開始アドレスと管理テーブル内のアドレス変換テー
ブルを参照して、ホストシステムが書き込みを行おうと
しているアドレスに割り振られているEEPROMモジ
ュール1上のブロックを割り出す(ステップ601)。
ホストシステムの指示するアドレスに対応するEEPR
OMモジュール1上のブロックが既に割り振られてい
て、かつ、ホストシステムからの要求がそのブロックの
データの全てを書き換えるものでない場合は、ブロック
内の書き換えられないデータをデータバッファ10に読
み込む(ステップ602〜604)。EEPROMモジ
ュール1からデータバッファ10にデータを読み出す手
順は、先に図6のフローチャートを用いて説明した。ブ
ロック内の重ね書きされない部分のデータが全てデータ
バッファ10に読み込まれるまで図6の処理が繰り返さ
れる。次いで、後に詳述するようなホストシステムから
データバッファ10への書き込みデータの転送、データ
バッファ10からEEPROMモジュール1へのデータ
の書き込み処理及びエラー処理等を実行する(ステップ
605〜611)。
1へデータを書き込む手順を示すフローチャートであ
る。CPU14はホストインターフェイス2にセットさ
れた開始アドレスと管理テーブル内のアドレス変換テー
ブルを参照して、ホストシステムが書き込みを行おうと
しているアドレスに割り振られているEEPROMモジ
ュール1上のブロックを割り出す(ステップ601)。
ホストシステムの指示するアドレスに対応するEEPR
OMモジュール1上のブロックが既に割り振られてい
て、かつ、ホストシステムからの要求がそのブロックの
データの全てを書き換えるものでない場合は、ブロック
内の書き換えられないデータをデータバッファ10に読
み込む(ステップ602〜604)。EEPROMモジ
ュール1からデータバッファ10にデータを読み出す手
順は、先に図6のフローチャートを用いて説明した。ブ
ロック内の重ね書きされない部分のデータが全てデータ
バッファ10に読み込まれるまで図6の処理が繰り返さ
れる。次いで、後に詳述するようなホストシステムから
データバッファ10への書き込みデータの転送、データ
バッファ10からEEPROMモジュール1へのデータ
の書き込み処理及びエラー処理等を実行する(ステップ
605〜611)。
【0030】図10は、ホストシステムからデータバッ
ファに書き込みデータを転送する手順を示している。C
PU14は、データバッファ10を書き込みモードに設
定し(ステップ701)、ホストシステムから転送され
てくるデータが蓄えられるデータバッファ10上のアド
レスを同バッファへの書き込みアドレスとして設定する
(ステップ702)。その後、コントロールロジック1
1に対して、ホストシステムから1セクタ分のデータの
転送を行うように指令する。コントロールロジック11
は、データバッファ10とホストインターフェイス2を
制御してホストシステムから1セクタ分のデータを受け
取り、これが終了するとCPU14に転送が終了したこ
とを通知する(ステップ703)。図10の処理は、ホ
ストシステムから転送すべきデータが残っていて、か
つ、データバッファ10にEEPROMモジュール1の
書き込みを行おうとしているブロックのためのデータが
不足している限り続けられる。ホストシステムからの転
送が終了したら、CPU14はホストインターフェイス
2にセットされた開始アドレスと未使用ブロックを管理
するテーブルを参照して、先に説明したように未使用ブ
ロックのチェインを手繰って、データバッファ10に蓄
えられた1ブロック分のデータが書き込まれるべきEE
PROMモジュール1上の未使用ブロックを決定し、E
EPROMモジュール1上に書き込みを行う。
ファに書き込みデータを転送する手順を示している。C
PU14は、データバッファ10を書き込みモードに設
定し(ステップ701)、ホストシステムから転送され
てくるデータが蓄えられるデータバッファ10上のアド
レスを同バッファへの書き込みアドレスとして設定する
(ステップ702)。その後、コントロールロジック1
1に対して、ホストシステムから1セクタ分のデータの
転送を行うように指令する。コントロールロジック11
は、データバッファ10とホストインターフェイス2を
制御してホストシステムから1セクタ分のデータを受け
取り、これが終了するとCPU14に転送が終了したこ
とを通知する(ステップ703)。図10の処理は、ホ
ストシステムから転送すべきデータが残っていて、か
つ、データバッファ10にEEPROMモジュール1の
書き込みを行おうとしているブロックのためのデータが
不足している限り続けられる。ホストシステムからの転
送が終了したら、CPU14はホストインターフェイス
2にセットされた開始アドレスと未使用ブロックを管理
するテーブルを参照して、先に説明したように未使用ブ
ロックのチェインを手繰って、データバッファ10に蓄
えられた1ブロック分のデータが書き込まれるべきEE
PROMモジュール1上の未使用ブロックを決定し、E
EPROMモジュール1上に書き込みを行う。
【0031】図11は、データバッファ内のデータ1ペ
ージ分をEEPROMモジュールに書き込む手順を示し
たフローチャートである。CPU14は、EEPROM
モジュール1とデータバッファ10に必要ならば初期設
定を施した後(ステップ801,802)、書き込みを
行うページの先頭アドレスをアドレスジェネレータ13
に設定し(ステップ803)、データバッファ10に
は、書き込まれるデータの先頭アドレスを同バッファの
読み出しアドレスとして設定する(ステップ804)。
そして、コントロールロジック11に対してデータ書き
込みのための定められたシーケンスを実行するように指
令を送る。コントロールロジック11は、マルチプレク
サ9をデータバッファ10からの書き込みデータがEE
PROMモジュール1に流れるように設定し、アドレス
ジェネレータ13の内容をインクリメントしながらデー
タを書き込む(ステップ805)。また、ECCジェネ
レータ/チェッカ12をこれらのデータからECCコー
ドを生成するように制御し、データとともにこのコード
も記録する(ステップ806)。図11の処理は、書き
込みエラーが発生するか、1ブロック分のデータを書き
終えるかするまで続けられる(ステップ807)。デー
タの書き込みが正常に行えなかった場合はエラー処理を
行い、1ブロック分のデータが書き込まれるべきEEP
ROMモジュール1上のブロックを割付けなおして、再
度、書き込みを行なう。書き込みが正常に終了したら管
理テーブルの内容を更新する。
ージ分をEEPROMモジュールに書き込む手順を示し
たフローチャートである。CPU14は、EEPROM
モジュール1とデータバッファ10に必要ならば初期設
定を施した後(ステップ801,802)、書き込みを
行うページの先頭アドレスをアドレスジェネレータ13
に設定し(ステップ803)、データバッファ10に
は、書き込まれるデータの先頭アドレスを同バッファの
読み出しアドレスとして設定する(ステップ804)。
そして、コントロールロジック11に対してデータ書き
込みのための定められたシーケンスを実行するように指
令を送る。コントロールロジック11は、マルチプレク
サ9をデータバッファ10からの書き込みデータがEE
PROMモジュール1に流れるように設定し、アドレス
ジェネレータ13の内容をインクリメントしながらデー
タを書き込む(ステップ805)。また、ECCジェネ
レータ/チェッカ12をこれらのデータからECCコー
ドを生成するように制御し、データとともにこのコード
も記録する(ステップ806)。図11の処理は、書き
込みエラーが発生するか、1ブロック分のデータを書き
終えるかするまで続けられる(ステップ807)。デー
タの書き込みが正常に行えなかった場合はエラー処理を
行い、1ブロック分のデータが書き込まれるべきEEP
ROMモジュール1上のブロックを割付けなおして、再
度、書き込みを行なう。書き込みが正常に終了したら管
理テーブルの内容を更新する。
【0032】ホストシステムの要求するデータを全て記
録し終えるか、エラーからの回復が不可能で処理を中断
した場合は、CPU14は、ホストインターフェイス2
内のステータスレジスタ7に所定のコードを設定し、ホ
ストシステムに命令の実行が終了したことを通知する。
ホストインターフェイス2のコマンドレジスタ6にアク
セス命令が書き込まれない適当なタイミングに、コント
ローラ内のCPU14は、先に説明したように、未使用
ブロック管理テーブルのチェインを手繰りながら未消去
のブロックを順次消去してゆく。
録し終えるか、エラーからの回復が不可能で処理を中断
した場合は、CPU14は、ホストインターフェイス2
内のステータスレジスタ7に所定のコードを設定し、ホ
ストシステムに命令の実行が終了したことを通知する。
ホストインターフェイス2のコマンドレジスタ6にアク
セス命令が書き込まれない適当なタイミングに、コント
ローラ内のCPU14は、先に説明したように、未使用
ブロック管理テーブルのチェインを手繰りながら未消去
のブロックを順次消去してゆく。
【0033】なお、上記の実施例では、EEPROMモ
ジュールは、ホストインターフェイスを介して、ホスト
システムと並行して動作可能なコントローラにより制御
される形態を取っているが、ホストシステムのCPUに
より直接制御される形態を取ってもよい。その他、本発
明はその主旨を逸脱しない範囲で種々変形して用いるこ
とができる。
ジュールは、ホストインターフェイスを介して、ホスト
システムと並行して動作可能なコントローラにより制御
される形態を取っているが、ホストシステムのCPUに
より直接制御される形態を取ってもよい。その他、本発
明はその主旨を逸脱しない範囲で種々変形して用いるこ
とができる。
【0034】以上説明したように、本発明によれば、新
たなデータの書き込みは、可能な限り予め消去された未
使用のブロックに対して行うようにしたため、本来書き
込みに先だって行う必要があり且つアクセス時間の増大
を余儀なくさせる消去動作が省略されて書き込みを高速
に行うことができる。また、同一データを更新/変更す
る場合でも、未消去のブロックは連鎖の最後尾に付け加
えられ、物理的な書き込み位置は書き込みのたびごとに
変わるため、特定のブロックに対する書き込み回数の増
加が回避されて長寿命化を図ることができる。
たなデータの書き込みは、可能な限り予め消去された未
使用のブロックに対して行うようにしたため、本来書き
込みに先だって行う必要があり且つアクセス時間の増大
を余儀なくさせる消去動作が省略されて書き込みを高速
に行うことができる。また、同一データを更新/変更す
る場合でも、未消去のブロックは連鎖の最後尾に付け加
えられ、物理的な書き込み位置は書き込みのたびごとに
変わるため、特定のブロックに対する書き込み回数の増
加が回避されて長寿命化を図ることができる。
【図1】本発明に係る不揮発性半導体メモリ装置の実施
例を示すブロック図である。
例を示すブロック図である。
【図2】本実施例において未使用ブロックを管理するテ
ーブルの操作を説明するための図である。
ーブルの操作を説明するための図である。
【図3】本実施例における未使用ブロックを管理するテ
ーブルの操作を説明するための図である。
ーブルの操作を説明するための図である。
【図4】本実施例におけるアドレス変換用の対照テーブ
ルの構成を示す図である。
ルの構成を示す図である。
【図5】本実施例においてEEPROMモジュールから
データの読み出し処理を説明するためのフローチャート
である。
データの読み出し処理を説明するためのフローチャート
である。
【図6】本実施例においてEEPROMモジュールから
データバッファへのデータの読み出し処理を説明するた
めのフローチャートである。
データバッファへのデータの読み出し処理を説明するた
めのフローチャートである。
【図7】本実施例においてデータバッファからホストシ
ステムへの読み出しデータの転送処理を説明するための
フローチャートである。
ステムへの読み出しデータの転送処理を説明するための
フローチャートである。
【図8】本実施例においてEEPROMモジュールへの
データの書き込み処理を説明するためのフローチャート
である。
データの書き込み処理を説明するためのフローチャート
である。
【図9】本実施例においてEEPROMモジュールへの
データの書き込み処理を説明するためのフローチャート
である。
データの書き込み処理を説明するためのフローチャート
である。
【図10】本実施例においてホストシステムからデータ
バッファへの書き込みデータの転送処理を説明するため
のフローチャートである。
バッファへの書き込みデータの転送処理を説明するため
のフローチャートである。
【図11】本実施例においてデータバッファ内のデータ
をEEPROMモジュールに書き込む処理を説明するた
めのフローチャートである。
をEEPROMモジュールに書き込む処理を説明するた
めのフローチャートである。
1 EEPROMモジュール(メモリ手段)
14 未消去ブロックの消去処理、書き込み処理及びコ
ピー処理等を実行するCPU
ピー処理等を実行するCPU
─────────────────────────────────────────────────────
フロントページの続き
(56)参考文献 特開 平5−27924(JP,A)
特開 平5−233426(JP,A)
特開 平4−137078(JP,A)
特開 昭62−283496(JP,A)
(58)調査した分野(Int.Cl.7,DB名)
G11C 16/02
G06F 12/00 597
G06F 12/02 510
Claims (8)
- 【請求項1】 複数のブロックに分割されたメモリセル
アレイで構成されたメモリ手段と、 前記複数のブロックのうち、未使用のブロックを連鎖状
に管理する管理手段と、 前記未使用のブロックのうち、消去済みのブロックと未
消去のブロックを識別する手段と、 データの書き換えの際には消去動作を実行することなく
前記未使用のブロックの先頭の前記消去済みのブロック
にデータの書き込みを行い、書き込みを行うデータの内
容が既に記録された旧データを変更したものであり当該
旧データが不要である場合には当該旧データが記録され
ていたブロックを前記未使用のブロックとして前記管理
手段に通知し、所要の場合には前記旧データの中の必要
とされる部分のデータを新たなデータを書き込む前記消
去済みのブロックにコピーし、書き込みに伴い不要とな
ったデータのブロックを前記未使用のブロックの最後尾
に付け加える制御手段と、 前記未消去のブロックを順次消去する消去手段 とを備え
ることを特徴とする不揮発性半導体メモリ装置。 - 【請求項2】 複数のそれぞれが最小消去単位であり且
つ複数のページを有するブロックに分割されたメモリセ
ルアレイを有するメモリ手段と、 前記複数のブロックのうち、物理的に消去された消去済
みのブロックと、論理的に消去され且つ物理的に消去さ
れていない未消去のブロックとを含む未使用のブロック
を連鎖状に管理する管理手段と、 前記未使用のブロックのうち、前記消去済みのブロック
と前記未消去のブロックとを識別する手段と、 データの書き込みの際には消去動作を実行することなく
前記未使用のブロックの先頭の前記消去済みのブロック
に新たなデータの書き込み、前記書き込まれる前記新た
なデータが前記書き込まれる消去済みのブロックと異な
るブロックに記録されていた旧データを変更するもので
ある場合には前記旧データを含む前記異なるブロックに
記録されていたデータのすべてが不要な時には前記異な
るブロックを未使用のブロックとし、前記異なるブロッ
クに記録されていた前記データの一部が必要な場合には
当該データの一部を前記書き込まれる前記消去済みのブ
ロックにコピーし、書き込みに伴い不要となったデータ
のブロックを前記未使用のブロックの最後尾に付け加え
る制御手段と、前記未消去のブロックに記録されたデータを消去する消
去手段 とを備えることを特徴とする不揮発性半導体メモ
リ装置。 - 【請求項3】 前記消去手段は、前記未消去のブロック
の前記旧データを消去した際、前記未消去のブロックの
前記旧データが消去されていると前記管理手段に通知す
ることを特徴とする請求項2に記載の不揮発性半導体メ
モリ装置。 - 【請求項4】 前記旧データ又は前記新たなデータが蓄
えられる領域を有するデータバッファと、 前記旧データ又は前記新たなデータの誤りを検出する誤
り訂正手段とを更に備えることを特徴とする請求項2又
は3に記載の不揮発性半導体メモリ装置。 - 【請求項5】 前記ブロックに対応する論理アドレスを
物理アドレスに変換するためのアドレス変換テーブルを
更に備えることを特徴とする請求項2〜4のいずれか1
項に記載の不揮発性半導体メモリ装置。 - 【請求項6】 前記制御手段は、前記アドレス変換テー
ブルを参照して前記論理アドレスに対応する前記ブロッ
クが既に割り付けられているか否かを判断することを特
徴とする請求項5に記載の不揮発性半導体メモリ装置。 - 【請求項7】 前記制御手段は、前記ブロックの容量に
相当するデータ量を単位として、前記メモリ手段上の物
理的位置の割り付けを行うことを特徴とする請求項2〜
6のいずれか1項に記載の不揮発性半導体メモリ装置。 - 【請求項8】 前記ブロックには、当該ブロックのサイ
ズ分の連続した前記論理アドレスの前記データが格納さ
れることを特徴とする請求項5〜7のいずれか1項に記
載の不揮発性半導体メモリ装置。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP07794092A JP3485938B2 (ja) | 1992-03-31 | 1992-03-31 | 不揮発性半導体メモリ装置 |
US08/038,837 US5611067A (en) | 1992-03-31 | 1993-03-29 | Nonvolatile semiconductor memory device having means for selective transfer of memory block contents and for chaining together unused memory blocks |
KR1019930005053A KR960004738B1 (ko) | 1992-03-31 | 1993-03-30 | 불휘발성 반도체 메모리 장치 |
US08/948,089 US5890188A (en) | 1992-03-31 | 1997-10-09 | Nonvolatile semiconductor memory device having means for selective transfer of memory block contents and for chaining together unused memory blocks |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP07794092A JP3485938B2 (ja) | 1992-03-31 | 1992-03-31 | 不揮発性半導体メモリ装置 |
Related Child Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003032999A Division JP2003242788A (ja) | 2003-02-10 | 2003-02-10 | 不揮発性半導体メモリ装置及びその制御方法 |
JP2003033000A Division JP2003263894A (ja) | 2003-02-10 | 2003-02-10 | 不揮発性半導体メモリ装置の制御方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH05282889A JPH05282889A (ja) | 1993-10-29 |
JP3485938B2 true JP3485938B2 (ja) | 2004-01-13 |
Family
ID=13648065
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP07794092A Expired - Fee Related JP3485938B2 (ja) | 1992-03-31 | 1992-03-31 | 不揮発性半導体メモリ装置 |
Country Status (3)
Country | Link |
---|---|
US (2) | US5611067A (ja) |
JP (1) | JP3485938B2 (ja) |
KR (1) | KR960004738B1 (ja) |
Families Citing this family (79)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6347051B2 (en) * | 1991-11-26 | 2002-02-12 | Hitachi, Ltd. | Storage device employing a flash memory |
JP2938732B2 (ja) | 1993-11-10 | 1999-08-25 | 松下電送システム株式会社 | メモリ管理装置とこれを用いたファクシミリ装置 |
JPH07153284A (ja) * | 1993-11-29 | 1995-06-16 | Nec Corp | 不揮発性半導体記憶装置及びその制御方法 |
JP3999822B2 (ja) * | 1993-12-28 | 2007-10-31 | 株式会社東芝 | 記憶システム |
JP3539752B2 (ja) * | 1994-03-02 | 2004-07-07 | 沖電気工業株式会社 | 半導体記憶装置とメモリ制御方法 |
JP3784844B2 (ja) * | 1994-03-30 | 2006-06-14 | 沖電気工業株式会社 | 半導体記憶装置 |
JPH0896588A (ja) * | 1994-09-28 | 1996-04-12 | Nec Corp | 半導体記憶装置 |
US6978342B1 (en) | 1995-07-31 | 2005-12-20 | Lexar Media, Inc. | Moving sectors within a block of information in a flash memory mass storage architecture |
US8171203B2 (en) * | 1995-07-31 | 2012-05-01 | Micron Technology, Inc. | Faster write operations to nonvolatile memory using FSInfo sector manipulation |
US5845313A (en) | 1995-07-31 | 1998-12-01 | Lexar | Direct logical block addressing flash memory mass storage architecture |
US6728851B1 (en) | 1995-07-31 | 2004-04-27 | Lexar Media, Inc. | Increasing the memory performance of flash memory devices by writing sectors simultaneously to multiple flash memory devices |
US5933847A (en) * | 1995-09-28 | 1999-08-03 | Canon Kabushiki Kaisha | Selecting erase method based on type of power supply for flash EEPROM |
US5987478A (en) * | 1995-10-31 | 1999-11-16 | Intel Corporation | Virtual small block file manager for flash memory array |
US5860082A (en) * | 1996-03-28 | 1999-01-12 | Datalight, Inc. | Method and apparatus for allocating storage in a flash memory |
JP3615299B2 (ja) * | 1996-03-29 | 2005-02-02 | 三洋電機株式会社 | 書換え可能romの記憶方法及び記憶装置 |
JPH09330273A (ja) * | 1996-06-10 | 1997-12-22 | Mitsubishi Electric Corp | メモリカードおよびメモリカードにおける誤り訂正方法 |
JPH1069420A (ja) * | 1996-08-29 | 1998-03-10 | Sony Corp | 情報記録装置、情報記録再生装置、情報記録方法および情報再生方法 |
US6275911B1 (en) * | 1996-09-20 | 2001-08-14 | Denso Corporation | Memory writing device for an electronic device |
JP3895816B2 (ja) * | 1996-12-25 | 2007-03-22 | 株式会社東芝 | 不揮発性半導体記憶装置とその制御方法、メモリカード、及び記憶システム |
US6279069B1 (en) * | 1996-12-26 | 2001-08-21 | Intel Corporation | Interface for flash EEPROM memory arrays |
EP0874368A3 (en) * | 1997-04-25 | 2003-03-19 | Sony Corporation | Information recording apparatus and method, and information reproducing apparatus and method |
JPH10302459A (ja) * | 1997-04-28 | 1998-11-13 | Mitsubishi Electric Corp | 半導体記憶装置 |
JP3718578B2 (ja) * | 1997-06-25 | 2005-11-24 | ソニー株式会社 | メモリ管理方法及びメモリ管理装置 |
US5937425A (en) * | 1997-10-16 | 1999-08-10 | M-Systems Flash Disk Pioneers Ltd. | Flash file system optimized for page-mode flash technologies |
US6477632B1 (en) | 1997-12-05 | 2002-11-05 | Tokyo Electron Device Limited | Storage device and accessing method |
JP3544859B2 (ja) * | 1998-05-11 | 2004-07-21 | 富士通株式会社 | 不揮発性半導体メモリを使用した2次記憶装置 |
JP3511916B2 (ja) * | 1998-11-17 | 2004-03-29 | 松下電器産業株式会社 | 記録再生装置 |
JP2000173289A (ja) * | 1998-12-10 | 2000-06-23 | Toshiba Corp | エラー訂正可能なフラッシュメモリシステム |
JP2000227871A (ja) * | 1999-02-05 | 2000-08-15 | Seiko Epson Corp | 不揮発性記憶装置、その制御方法、および、情報記録媒体 |
US6636941B1 (en) * | 2000-01-18 | 2003-10-21 | International Business Machines Corporation | Enhanced stable disk storage |
US7167944B1 (en) | 2000-07-21 | 2007-01-23 | Lexar Media, Inc. | Block management for mass storage |
JP3573706B2 (ja) * | 2000-11-15 | 2004-10-06 | 富士通株式会社 | 記憶装置の書き込み/消去方法 |
KR100389867B1 (ko) | 2001-06-04 | 2003-07-04 | 삼성전자주식회사 | 플래시 메모리 관리방법 |
JP2003030993A (ja) | 2001-07-17 | 2003-01-31 | Toshiba Corp | 半導体記憶装置 |
GB0123417D0 (en) * | 2001-09-28 | 2001-11-21 | Memquest Ltd | Improved data processing |
GB0123416D0 (en) * | 2001-09-28 | 2001-11-21 | Memquest Ltd | Non-volatile memory control |
GB0123415D0 (en) | 2001-09-28 | 2001-11-21 | Memquest Ltd | Method of writing data to non-volatile memory |
GB0123421D0 (en) * | 2001-09-28 | 2001-11-21 | Memquest Ltd | Power management system |
GB0123410D0 (en) | 2001-09-28 | 2001-11-21 | Memquest Ltd | Memory system for data storage and retrieval |
JP2003141888A (ja) * | 2001-11-01 | 2003-05-16 | Mitsubishi Electric Corp | 不揮発性半導体記憶装置 |
TWI240861B (en) * | 2002-01-11 | 2005-10-01 | Integrated Circuit Solution In | Data access method and architecture of flash memory |
US7418436B2 (en) * | 2002-01-31 | 2008-08-26 | Matsushita Electric Industrial Co., Ltd. | Information processing apparatus, memory management apparatus, memory management method, and information processing method |
US7231643B1 (en) | 2002-02-22 | 2007-06-12 | Lexar Media, Inc. | Image rescue system including direct communication between an application program and a device driver |
CA2461446A1 (en) | 2002-08-29 | 2004-03-11 | Matsushita Electric Industrial Co., Ltd. | Semiconductor memory apparatus and method for writing data into the flash memory device |
JP4129381B2 (ja) * | 2002-09-25 | 2008-08-06 | 株式会社ルネサステクノロジ | 不揮発性半導体記憶装置 |
KR100490603B1 (ko) * | 2002-12-06 | 2005-05-27 | (주) 라모스테크놀러지 | 플래시 메모리 동작 제어 방법 및 장치 |
US7154628B2 (en) * | 2002-12-17 | 2006-12-26 | Xerox Corporation | Job secure overwrite failure notification |
JP2003242788A (ja) * | 2003-02-10 | 2003-08-29 | Toshiba Corp | 不揮発性半導体メモリ装置及びその制御方法 |
JP4188744B2 (ja) * | 2003-04-08 | 2008-11-26 | 株式会社ルネサステクノロジ | メモリカード |
US6973519B1 (en) | 2003-06-03 | 2005-12-06 | Lexar Media, Inc. | Card identification compatibility |
KR100533683B1 (ko) * | 2004-02-03 | 2005-12-05 | 삼성전자주식회사 | 플래시 메모리의 데이터 관리 장치 및 방법 |
WO2005081891A2 (en) * | 2004-02-23 | 2005-09-09 | Lexar Media, Inc. | Secure compact flash |
GB2412194A (en) * | 2004-03-19 | 2005-09-21 | Matsushita Electric Ind Co Ltd | Reprogramming a non-volatile memory system |
US7725628B1 (en) | 2004-04-20 | 2010-05-25 | Lexar Media, Inc. | Direct secondary device interface by a host |
US7370166B1 (en) | 2004-04-30 | 2008-05-06 | Lexar Media, Inc. | Secure portable storage device |
US7644239B2 (en) | 2004-05-03 | 2010-01-05 | Microsoft Corporation | Non-volatile memory cache performance improvement |
US7594063B1 (en) * | 2004-08-27 | 2009-09-22 | Lexar Media, Inc. | Storage capacity status |
US7464306B1 (en) * | 2004-08-27 | 2008-12-09 | Lexar Media, Inc. | Status of overall health of nonvolatile memory |
JP4862255B2 (ja) * | 2004-09-30 | 2012-01-25 | カシオ計算機株式会社 | フラッシュrom制御装置、フラッシュrom制御方法及びプログラム |
US7490197B2 (en) | 2004-10-21 | 2009-02-10 | Microsoft Corporation | Using external memory devices to improve system performance |
JP5130646B2 (ja) * | 2005-06-06 | 2013-01-30 | ソニー株式会社 | 記憶装置 |
US7523381B2 (en) * | 2005-09-01 | 2009-04-21 | Micron Technology, Inc. | Non-volatile memory with error detection |
US8914557B2 (en) * | 2005-12-16 | 2014-12-16 | Microsoft Corporation | Optimizing write and wear performance for a memory |
DE102006013763A1 (de) * | 2006-03-24 | 2007-09-27 | Robert Bosch Gmbh | Verfahren zum Betreiben einer Speichereinrichtung |
JP4513786B2 (ja) * | 2006-06-28 | 2010-07-28 | Tdk株式会社 | メモリコントローラ、メモリシステム及びメモリ制御方法 |
KR100859989B1 (ko) * | 2006-11-21 | 2008-09-25 | 한양대학교 산학협력단 | 플래시 메모리의 공간정보 관리장치 및 그 방법 |
KR100877609B1 (ko) * | 2007-01-29 | 2009-01-09 | 삼성전자주식회사 | 버퍼 메모리의 플래그 셀 어레이를 이용하여 데이터 오류 정정을 수행하는 반도체 메모리 시스템 및 그 구동 방법 |
JP2009003783A (ja) * | 2007-06-22 | 2009-01-08 | Toshiba Corp | 不揮発性メモリの制御装置及び制御方法及び記憶装置 |
JP4829202B2 (ja) * | 2007-11-02 | 2011-12-07 | 株式会社日立製作所 | 記憶装置及びメモリ制御方法 |
US8631203B2 (en) * | 2007-12-10 | 2014-01-14 | Microsoft Corporation | Management of external memory functioning as virtual cache |
US8751770B2 (en) | 2008-01-16 | 2014-06-10 | Panasonic Corporation | Semiconductor recording apparatus and semiconductor recording system |
WO2009129819A1 (en) * | 2008-04-21 | 2009-10-29 | Nokia Corporation | Method and device for n times writeable memory devices |
US9032151B2 (en) | 2008-09-15 | 2015-05-12 | Microsoft Technology Licensing, Llc | Method and system for ensuring reliability of cache data and metadata subsequent to a reboot |
US8032707B2 (en) | 2008-09-15 | 2011-10-04 | Microsoft Corporation | Managing cache data and metadata |
US7953774B2 (en) | 2008-09-19 | 2011-05-31 | Microsoft Corporation | Aggregation of write traffic to a data store |
JP2012178194A (ja) * | 2011-02-25 | 2012-09-13 | Renesas Electronics Corp | 不揮発性半導体記憶装置 |
JP5779147B2 (ja) * | 2012-07-06 | 2015-09-16 | 株式会社東芝 | メモリシステム |
US9542166B2 (en) | 2012-10-30 | 2017-01-10 | Oracle International Corporation | System and method for inferring immutability of program variables |
JP5664807B2 (ja) * | 2014-01-21 | 2015-02-04 | ソニー株式会社 | 通信装置、通信方法、及び、無線タグ |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3241125A (en) * | 1962-05-22 | 1966-03-15 | Ibm | Memory allocation |
US4685057A (en) * | 1983-06-06 | 1987-08-04 | Data General Corporation | Memory mapping system |
GB8529890D0 (en) * | 1985-12-04 | 1986-01-15 | Watson P | Garbage collection in computer system |
JP2685173B2 (ja) * | 1986-05-31 | 1997-12-03 | キヤノン株式会社 | メモリ書き込み制御方法 |
US4912629A (en) * | 1986-06-26 | 1990-03-27 | The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration | Real-time garbage collection for list processing using restructured cells for increased reference counter size |
US5268870A (en) * | 1988-06-08 | 1993-12-07 | Eliyahou Harari | Flash EEPROM system and intelligent programming and erasing methods therefor |
US5293560A (en) * | 1988-06-08 | 1994-03-08 | Eliyahou Harari | Multi-state flash EEPROM system using incremental programing and erasing methods |
US5095512A (en) * | 1988-10-24 | 1992-03-10 | Netexpress Systems, Inc. | Method and apparatus for manipulating image data employing an intermediate format |
DE69033262T2 (de) * | 1989-04-13 | 2000-02-24 | Sandisk Corp | EEPROM-Karte mit Austauch von fehlerhaften Speicherzellen und Zwischenspeicher |
JPH038199A (ja) * | 1989-06-05 | 1991-01-16 | Fuji Electric Co Ltd | 書き換え可能promのメモリ管理方式 |
US5023813A (en) * | 1989-08-03 | 1991-06-11 | International Business Machines Corporation | Non-volatile memory usage |
US5200959A (en) * | 1989-10-17 | 1993-04-06 | Sundisk Corporation | Device and method for defect handling in semi-conductor memory |
JPH03250498A (ja) * | 1990-02-27 | 1991-11-08 | Seiko Epson Corp | 不揮発性メモリ装置 |
JP2584120B2 (ja) * | 1990-09-28 | 1997-02-19 | 富士写真フイルム株式会社 | メモリカードにおけるデータ記録方法およびメモリカードシステム |
US5270979A (en) * | 1991-03-15 | 1993-12-14 | Sundisk Corporation | Method for optimum erasing of EEPROM |
JP2582487B2 (ja) * | 1991-07-12 | 1997-02-19 | インターナショナル・ビジネス・マシーンズ・コーポレイション | 半導体メモリを用いた外部記憶システム及びその制御方法 |
US5291584A (en) * | 1991-07-23 | 1994-03-01 | Nexcom Technology, Inc. | Methods and apparatus for hard disk emulation |
JPH05233426A (ja) * | 1992-02-20 | 1993-09-10 | Fujitsu Ltd | フラッシュ・メモリ使用方法 |
US5357475A (en) * | 1992-10-30 | 1994-10-18 | Intel Corporation | Method for detaching sectors in a flash EEPROM memory array |
-
1992
- 1992-03-31 JP JP07794092A patent/JP3485938B2/ja not_active Expired - Fee Related
-
1993
- 1993-03-29 US US08/038,837 patent/US5611067A/en not_active Expired - Lifetime
- 1993-03-30 KR KR1019930005053A patent/KR960004738B1/ko not_active IP Right Cessation
-
1997
- 1997-10-09 US US08/948,089 patent/US5890188A/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
KR960004738B1 (ko) | 1996-04-12 |
JPH05282889A (ja) | 1993-10-29 |
KR930020469A (ko) | 1993-10-19 |
US5890188A (en) | 1999-03-30 |
US5611067A (en) | 1997-03-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3485938B2 (ja) | 不揮発性半導体メモリ装置 | |
US9026721B2 (en) | Managing defective areas of memory | |
US6034897A (en) | Space management for managing high capacity nonvolatile memory | |
US8122193B2 (en) | Storage device and user device including the same | |
US6262918B1 (en) | Space management for managing high capacity nonvolatile memory | |
US7350044B2 (en) | Data move method and apparatus | |
US6202138B1 (en) | Increasing the memory performance of flash memory devices by writing sectors simultaneously to multiple flash memory devices | |
JP3412839B2 (ja) | 不揮発性半導体メモリ装置 | |
EP0935255A2 (en) | Flash EEPROM system | |
KR100932801B1 (ko) | 메모리 관리 방법, 메모리 장치 및 컴퓨터 판독 가능 저장매체 | |
JPH0675836A (ja) | 補助記憶装置 | |
JP2003263894A (ja) | 不揮発性半導体メモリ装置の制御方法 | |
JP2003242788A (ja) | 不揮発性半導体メモリ装置及びその制御方法 | |
JP3977859B2 (ja) | 不揮発性半導体メモリ装置及びその制御方法 | |
JPH10289144A (ja) | メモリの制御方法 | |
JP2006053950A (ja) | 不揮発性半導体メモリ装置及びその制御方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081024 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081024 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091024 Year of fee payment: 6 |
|
LAPS | Cancellation because of no payment of annual fees |