JPH05282889A - 不揮発性半導体メモリ装置 - Google Patents
不揮発性半導体メモリ装置Info
- Publication number
- JPH05282889A JPH05282889A JP7794092A JP7794092A JPH05282889A JP H05282889 A JPH05282889 A JP H05282889A JP 7794092 A JP7794092 A JP 7794092A JP 7794092 A JP7794092 A JP 7794092A JP H05282889 A JPH05282889 A JP H05282889A
- Authority
- JP
- Japan
- Prior art keywords
- data
- block
- unused
- blocks
- writing
- 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.)
- Granted
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
Abstract
(57)【要約】
【目的】 本発明は、書き込みを行うとともに長寿命化
を図ることを目的とする。 【構成】 複数個の各ブロックを最小消去単位とするメ
モリ手段1と、未使用ブロックの管理手段と、未使用ブ
ロックのうち識別した未消去ブロックを順次消去する消
去手段と、データの書き込みは管理された未使用ブロッ
クに順に行い、書き込みデータの内容が記録された旧デ
ータを変更したものであってその旧データが不要のとき
はその旧データが記録されていたブロックを未使用とし
て管理手段に通知し、所要のときは旧データ中の必要部
分のデータを新たなデータを書き込むブロックにコピー
する制御手段とを有することを特徴とする。
を図ることを目的とする。 【構成】 複数個の各ブロックを最小消去単位とするメ
モリ手段1と、未使用ブロックの管理手段と、未使用ブ
ロックのうち識別した未消去ブロックを順次消去する消
去手段と、データの書き込みは管理された未使用ブロッ
クに順に行い、書き込みデータの内容が記録された旧デ
ータを変更したものであってその旧データが不要のとき
はその旧データが記録されていたブロックを未使用とし
て管理手段に通知し、所要のときは旧データ中の必要部
分のデータを新たなデータを書き込むブロックにコピー
する制御手段とを有することを特徴とする。
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】
【課題を解決するための手段】本発明は上記課題を解決
するために、複数のブロックに分割されたメモリセルア
レイを備え、当該ブロックを最小消去単位として構成さ
れたメモリ手段と、未使用の前記ブロックを管理する管
理手段と、前記未使用のブロックのうち消去されたもの
と未消去のものを識別し未消去のブロックを順次消去す
る消去手段と、データの書き込みは前記管理手段で管理
された未使用ブロックに順に行い、書き込みを行うデー
タの内容が既に記録された旧データを変更したものであ
ってその旧データが不要である場合には当該旧データの
記録されていたブロックを未使用として前記管理手段に
通知し、所要の場合には前記旧データの中の必要とされ
る部分のデータを新たなデータを書き込むブロックにコ
ピーする制御手段とを有することを要旨とする。
するために、複数のブロックに分割されたメモリセルア
レイを備え、当該ブロックを最小消去単位として構成さ
れたメモリ手段と、未使用の前記ブロックを管理する管
理手段と、前記未使用のブロックのうち消去されたもの
と未消去のものを識別し未消去のブロックを順次消去す
る消去手段と、データの書き込みは前記管理手段で管理
された未使用ブロックに順に行い、書き込みを行うデー
タの内容が既に記録された旧データを変更したものであ
ってその旧データが不要である場合には当該旧データの
記録されていたブロックを未使用として前記管理手段に
通知し、所要の場合には前記旧データの中の必要とされ
る部分のデータを新たなデータを書き込むブロックにコ
ピーする制御手段とを有することを要旨とする。
【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
Claims (1)
- 【請求項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 |
---|---|---|---|
JP2003033000A Division JP2003263894A (ja) | 2003-02-10 | 2003-02-10 | 不揮発性半導体メモリ装置の制御方法 |
JP2003032999A Division JP2003242788A (ja) | 2003-02-10 | 2003-02-10 | 不揮発性半導体メモリ装置及びその制御方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH05282889A true JPH05282889A (ja) | 1993-10-29 |
JP3485938B2 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) |
Cited By (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07153284A (ja) * | 1993-11-29 | 1995-06-16 | Nec Corp | 不揮発性半導体記憶装置及びその制御方法 |
JPH07244992A (ja) * | 1994-03-02 | 1995-09-19 | Oki Electric Ind Co Ltd | 半導体記憶装置とメモリ制御方法 |
JPH07271645A (ja) * | 1994-03-30 | 1995-10-20 | Oki Electric Ind Co Ltd | 半導体記憶装置 |
JPH0896588A (ja) * | 1994-09-28 | 1996-04-12 | Nec Corp | 半導体記憶装置 |
JP2001195889A (ja) * | 2000-11-15 | 2001-07-19 | Fujitsu Ltd | 記憶装置の書き込み/消去方法 |
JP2002366423A (ja) * | 2001-06-04 | 2002-12-20 | Samsung Electronics Co Ltd | フラッシュメモリの管理方法 |
JP2003242788A (ja) * | 2003-02-10 | 2003-08-29 | Toshiba Corp | 不揮発性半導体メモリ装置及びその制御方法 |
JP3680142B2 (ja) * | 1997-12-05 | 2005-08-10 | 東京エレクトロンデバイス株式会社 | 記憶装置及びアクセス方法 |
US7016228B2 (en) | 2001-07-17 | 2006-03-21 | Kabushiki Kaisha Toshiba | Semiconductor storage device having page copying function |
JP2006099600A (ja) * | 2004-09-30 | 2006-04-13 | Casio Comput Co Ltd | フラッシュrom制御装置、フラッシュrom制御方法及びプログラム |
JP2007018499A (ja) * | 2005-06-06 | 2007-01-25 | Sony Corp | 記憶装置 |
JP2008009614A (ja) * | 2006-06-28 | 2008-01-17 | Tdk Corp | メモリコントローラ、メモリシステム及びメモリ制御方法 |
KR100859989B1 (ko) * | 2006-11-21 | 2008-09-25 | 한양대학교 산학협력단 | 플래시 메모리의 공간정보 관리장치 및 그 방법 |
JP2009520280A (ja) * | 2005-12-16 | 2009-05-21 | マイクロソフト コーポレーション | メモリの書き込み及び損耗性能の最適化 |
JP2009116465A (ja) * | 2007-11-02 | 2009-05-28 | Hitachi Ltd | 記憶装置及びメモリ制御方法 |
JP2009531757A (ja) * | 2006-03-24 | 2009-09-03 | ローベルト ボッシュ ゲゼルシャフト ミット ベシュレンクテル ハフツング | 記憶装置の駆動方法 |
US8751770B2 (en) | 2008-01-16 | 2014-06-10 | Panasonic Corporation | Semiconductor recording apparatus and semiconductor recording system |
US8909861B2 (en) | 2004-10-21 | 2014-12-09 | Microsoft Corporation | Using external memory devices to improve system performance |
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 |
US9361183B2 (en) | 2008-09-19 | 2016-06-07 | Microsoft Technology Licensing, Llc | Aggregation of write traffic to a data store |
US10216637B2 (en) | 2004-05-03 | 2019-02-26 | Microsoft Technology Licensing, Llc | Non-volatile memory cache performance improvement |
Families Citing this family (58)
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 | 松下電送システム株式会社 | メモリ管理装置とこれを用いたファクシミリ装置 |
JP3999822B2 (ja) * | 1993-12-28 | 2007-10-31 | 株式会社東芝 | 記憶システム |
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 |
US8171203B2 (en) * | 1995-07-31 | 2012-05-01 | Micron Technology, Inc. | Faster write operations to nonvolatile memory using FSInfo sector manipulation |
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 |
US5845313A (en) * | 1995-07-31 | 1998-12-01 | Lexar | Direct logical block addressing flash memory mass storage architecture |
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 |
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 |
GB0123417D0 (en) * | 2001-09-28 | 2001-11-21 | Memquest Ltd | Improved data processing |
GB0123421D0 (en) * | 2001-09-28 | 2001-11-21 | Memquest Ltd | Power management system |
GB0123415D0 (en) | 2001-09-28 | 2001-11-21 | Memquest Ltd | Method of writing data to non-volatile memory |
GB0123416D0 (en) | 2001-09-28 | 2001-11-21 | Memquest Ltd | Non-volatile memory control |
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 |
DE60332091D1 (de) * | 2002-01-31 | 2010-05-27 | Panasonic Corp | Informationsverarbeitungsvorrichtung, speicherverwaltungsvorrichtung, speicherverwaltungsverfahren und informationsverarbeitungsverfahren |
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 |
CN100347685C (zh) | 2002-08-29 | 2007-11-07 | 松下电器产业株式会社 | 用于将数据写入快闪存储设备的半导体存储器的装置和方法 |
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 |
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 |
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 |
US7523381B2 (en) * | 2005-09-01 | 2009-04-21 | Micron Technology, Inc. | Non-volatile memory with error detection |
KR100877609B1 (ko) * | 2007-01-29 | 2009-01-09 | 삼성전자주식회사 | 버퍼 메모리의 플래그 셀 어레이를 이용하여 데이터 오류 정정을 수행하는 반도체 메모리 시스템 및 그 구동 방법 |
JP2009003783A (ja) * | 2007-06-22 | 2009-01-08 | Toshiba Corp | 不揮発性メモリの制御装置及び制御方法及び記憶装置 |
US8631203B2 (en) * | 2007-12-10 | 2014-01-14 | Microsoft Corporation | Management of external memory functioning as virtual cache |
WO2009129819A1 (en) * | 2008-04-21 | 2009-10-29 | Nokia Corporation | Method and device for n times writeable memory devices |
US8032707B2 (en) | 2008-09-15 | 2011-10-04 | Microsoft Corporation | Managing cache data and metadata |
JP2012178194A (ja) * | 2011-02-25 | 2012-09-13 | Renesas Electronics Corp | 不揮発性半導体記憶装置 |
JP5779147B2 (ja) * | 2012-07-06 | 2015-09-16 | 株式会社東芝 | メモリシステム |
US9733907B2 (en) | 2012-10-30 | 2017-08-15 | Oracle International Corporation | System and method for testing compiler implementation using dynamic combinatorial test generation |
JP5664807B2 (ja) * | 2014-01-21 | 2015-02-04 | ソニー株式会社 | 通信装置、通信方法、及び、無線タグ |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS62283496A (ja) * | 1986-05-31 | 1987-12-09 | Canon Inc | プログラマブルリ−ドオンリメモリの書き込み回数管理方式 |
JPH04137078A (ja) * | 1990-09-28 | 1992-05-12 | Fuji Photo Film Co Ltd | メモリカードにおけるデータ記録方法およびメモリカードシステム |
JPH0527924A (ja) * | 1991-07-12 | 1993-02-05 | Internatl Business Mach Corp <Ibm> | 半導体メモリを用いた外部記憶システム及びその制御方法 |
JPH05233426A (ja) * | 1992-02-20 | 1993-09-10 | Fujitsu Ltd | フラッシュ・メモリ使用方法 |
Family Cites Families (15)
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 |
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 |
DE69033438T2 (de) * | 1989-04-13 | 2000-07-06 | Sandisk Corp | Austausch von fehlerhaften Speicherzellen einer EEprommatritze |
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 | 不揮発性メモリ装置 |
US5270979A (en) * | 1991-03-15 | 1993-12-14 | Sundisk Corporation | Method for optimum erasing of EEPROM |
US5291584A (en) * | 1991-07-23 | 1994-03-01 | Nexcom Technology, Inc. | Methods and apparatus for hard disk emulation |
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
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS62283496A (ja) * | 1986-05-31 | 1987-12-09 | Canon Inc | プログラマブルリ−ドオンリメモリの書き込み回数管理方式 |
JPH04137078A (ja) * | 1990-09-28 | 1992-05-12 | Fuji Photo Film Co Ltd | メモリカードにおけるデータ記録方法およびメモリカードシステム |
JPH0527924A (ja) * | 1991-07-12 | 1993-02-05 | Internatl Business Mach Corp <Ibm> | 半導体メモリを用いた外部記憶システム及びその制御方法 |
JPH05233426A (ja) * | 1992-02-20 | 1993-09-10 | Fujitsu Ltd | フラッシュ・メモリ使用方法 |
Cited By (40)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07153284A (ja) * | 1993-11-29 | 1995-06-16 | Nec Corp | 不揮発性半導体記憶装置及びその制御方法 |
JPH07244992A (ja) * | 1994-03-02 | 1995-09-19 | Oki Electric Ind Co Ltd | 半導体記憶装置とメモリ制御方法 |
JPH07271645A (ja) * | 1994-03-30 | 1995-10-20 | Oki Electric Ind Co Ltd | 半導体記憶装置 |
JPH0896588A (ja) * | 1994-09-28 | 1996-04-12 | Nec Corp | 半導体記憶装置 |
JP3680142B2 (ja) * | 1997-12-05 | 2005-08-10 | 東京エレクトロンデバイス株式会社 | 記憶装置及びアクセス方法 |
JP2001195889A (ja) * | 2000-11-15 | 2001-07-19 | Fujitsu Ltd | 記憶装置の書き込み/消去方法 |
USRE46404E1 (en) * | 2001-06-04 | 2017-05-16 | Samsung Electronics Co., Ltd. | Flash memory management method |
JP2002366423A (ja) * | 2001-06-04 | 2002-12-20 | Samsung Electronics Co Ltd | フラッシュメモリの管理方法 |
USRE44052E1 (en) | 2001-06-04 | 2013-03-05 | Samsung Electronics Co., Ltd. | Flash memory management method |
US6938116B2 (en) * | 2001-06-04 | 2005-08-30 | Samsung Electronics Co., Ltd. | Flash memory management method |
USRE45222E1 (en) | 2001-06-04 | 2014-10-28 | Samsung Electronics Co., Ltd. | Method of writing of writing to a flash memory including data blocks and log blocks, using a logical address having a block address portion and page identifying portion, a block address table and a page table |
USRE45577E1 (en) * | 2001-06-04 | 2015-06-23 | Samsung Electronics Co., Ltd. | Method of writing to a flash memory including data blocks and log blocks |
US7315473B2 (en) | 2001-07-17 | 2008-01-01 | Kabushiki Kaisha Toshiba | Semiconductor storage device having page copying function |
US7180778B2 (en) | 2001-07-17 | 2007-02-20 | Kabushiki Kaisha Toshiba | Semiconductor storage device having page copying function |
US7596027B2 (en) | 2001-07-17 | 2009-09-29 | Kabushiki Kaisha Toshiba | Semiconductor storage device having page copying function |
US7130217B2 (en) | 2001-07-17 | 2006-10-31 | Kabushiki Kaisha Toshiba | Semiconductor storage device having page copying function |
US7082054B2 (en) | 2001-07-17 | 2006-07-25 | Kabushiki Kaisha Toshiba | Semiconductor storage device having page copying function |
US7016228B2 (en) | 2001-07-17 | 2006-03-21 | Kabushiki Kaisha Toshiba | Semiconductor storage device having page copying function |
JP2003242788A (ja) * | 2003-02-10 | 2003-08-29 | Toshiba Corp | 不揮発性半導体メモリ装置及びその制御方法 |
US10216637B2 (en) | 2004-05-03 | 2019-02-26 | Microsoft Technology Licensing, Llc | Non-volatile memory cache performance improvement |
JP2006099600A (ja) * | 2004-09-30 | 2006-04-13 | Casio Comput Co Ltd | フラッシュrom制御装置、フラッシュrom制御方法及びプログラム |
US9317209B2 (en) | 2004-10-21 | 2016-04-19 | Microsoft Technology Licensing, Llc | Using external memory devices to improve system performance |
US8909861B2 (en) | 2004-10-21 | 2014-12-09 | Microsoft Corporation | Using external memory devices to improve system performance |
US9690496B2 (en) | 2004-10-21 | 2017-06-27 | Microsoft Technology Licensing, Llc | Using external memory devices to improve system performance |
JP2007018499A (ja) * | 2005-06-06 | 2007-01-25 | Sony Corp | 記憶装置 |
US8285916B2 (en) | 2005-06-06 | 2012-10-09 | Sony Corporation | Storage device |
US9529716B2 (en) | 2005-12-16 | 2016-12-27 | Microsoft Technology Licensing, Llc | Optimizing write and wear performance for a memory |
US11334484B2 (en) | 2005-12-16 | 2022-05-17 | Microsoft Technology Licensing, Llc | Optimizing write and wear performance for a memory |
US8914557B2 (en) | 2005-12-16 | 2014-12-16 | Microsoft Corporation | Optimizing write and wear performance for a memory |
JP2009520280A (ja) * | 2005-12-16 | 2009-05-21 | マイクロソフト コーポレーション | メモリの書き込み及び損耗性能の最適化 |
JP2009531757A (ja) * | 2006-03-24 | 2009-09-03 | ローベルト ボッシュ ゲゼルシャフト ミット ベシュレンクテル ハフツング | 記憶装置の駆動方法 |
JP2008009614A (ja) * | 2006-06-28 | 2008-01-17 | Tdk Corp | メモリコントローラ、メモリシステム及びメモリ制御方法 |
KR100859989B1 (ko) * | 2006-11-21 | 2008-09-25 | 한양대학교 산학협력단 | 플래시 메모리의 공간정보 관리장치 및 그 방법 |
JP2009116465A (ja) * | 2007-11-02 | 2009-05-28 | Hitachi Ltd | 記憶装置及びメモリ制御方法 |
US8751770B2 (en) | 2008-01-16 | 2014-06-10 | Panasonic Corporation | Semiconductor recording apparatus and semiconductor recording system |
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 |
US10387313B2 (en) | 2008-09-15 | 2019-08-20 | Microsoft Technology Licensing, Llc | Method and system for ensuring reliability of cache data and metadata subsequent to a reboot |
US9448890B2 (en) | 2008-09-19 | 2016-09-20 | Microsoft Technology Licensing, Llc | Aggregation of write traffic to a data store |
US9361183B2 (en) | 2008-09-19 | 2016-06-07 | Microsoft Technology Licensing, Llc | Aggregation of write traffic to a data store |
US10509730B2 (en) | 2008-09-19 | 2019-12-17 | Microsoft Technology Licensing, Llc | Aggregation of write traffic to a data store |
Also Published As
Publication number | Publication date |
---|---|
KR930020469A (ko) | 1993-10-19 |
JP3485938B2 (ja) | 2004-01-13 |
KR960004738B1 (ko) | 1996-04-12 |
US5890188A (en) | 1999-03-30 |
US5611067A (en) | 1997-03-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3485938B2 (ja) | 不揮発性半導体メモリ装置 | |
EP1739683B1 (en) | Space management for managing high capacity nonvolatile memory | |
EP1228510B1 (en) | Space management for managing high capacity nonvolatile memory | |
US9026721B2 (en) | Managing defective areas of memory | |
US6757842B2 (en) | Flash EEprom system | |
US8533391B2 (en) | Storage device and user device including the same | |
US7492660B2 (en) | Flash EEprom system | |
US5535328A (en) | Non-volatile memory system card with flash erasable sectors of EEprom cells including a mechanism for substituting defective cells | |
JP3412839B2 (ja) | 不揮発性半導体メモリ装置 | |
JP2004342126A (ja) | 複数のデバイスへ同時書き込み操作を行うことにより高まるフラッシュメモリデバイスにおけるメモリ性能 | |
KR100932801B1 (ko) | 메모리 관리 방법, 메모리 장치 및 컴퓨터 판독 가능 저장매체 | |
JP2003263894A (ja) | 不揮発性半導体メモリ装置の制御方法 | |
JP2003242788A (ja) | 不揮発性半導体メモリ装置及びその制御方法 | |
JP4177292B2 (ja) | メモリンコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法 | |
JP3977859B2 (ja) | 不揮発性半導体メモリ装置及びその制御方法 | |
JPH0764831A (ja) | データ記憶装置 | |
JP3974149B2 (ja) | 不揮発性半導体メモリ装置及び不揮発性半導体メモリの制御方法 | |
JP3822171B2 (ja) | 不揮発性半導体メモリ装置及びその制御方法、不揮発性半導体メモリ装置システム及びその制御方法 | |
JP2006053950A (ja) | 不揮発性半導体メモリ装置及びその制御方法 | |
JP2004265594A (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 |