JPH08124393A - データ消去回数に制限のあるメモリの制御方法及びこの方法を用いた装置 - Google Patents

データ消去回数に制限のあるメモリの制御方法及びこの方法を用いた装置

Info

Publication number
JPH08124393A
JPH08124393A JP25580994A JP25580994A JPH08124393A JP H08124393 A JPH08124393 A JP H08124393A JP 25580994 A JP25580994 A JP 25580994A JP 25580994 A JP25580994 A JP 25580994A JP H08124393 A JPH08124393 A JP H08124393A
Authority
JP
Japan
Prior art keywords
erase
unit
memory
erasing
data
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.)
Withdrawn
Application number
JP25580994A
Other languages
English (en)
Inventor
Nobushige Iwamoto
宣重 岩本
Hideomi Watanabe
英臣 渡辺
Ken Ryu
憲 劉
Yasumori Hibi
康守 日比
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP25580994A priority Critical patent/JPH08124393A/ja
Priority to US08/431,315 priority patent/US5819307A/en
Priority to TW084104262A priority patent/TW270185B/zh
Publication of JPH08124393A publication Critical patent/JPH08124393A/ja
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/349Arrangements for evaluating degradation, retention or wearout, e.g. by counting erase cycles
    • G11C16/3495Circuits or methods to detect or delay wearout of nonvolatile EPROM or EEPROM memory devices, e.g. by counting numbers of erase or reprogram cycles, by using multiple memory areas serially or cyclically
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/349Arrangements for evaluating degradation, retention or wearout, e.g. by counting erase cycles
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7211Wear leveling

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Read Only Memory (AREA)
  • Memory System (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Channel Selection Circuits, Automatic Tuning Circuits (AREA)
  • Circuits Of Receivers In General (AREA)

Abstract

(57)【要約】 【目的】 フラッシュメモリの書き替え回数を均一化す
る処理を短時間に速やかに行う方法及びこの方法を用い
た装置を提供することを目的とする。 【構成】 メモリの消去単位毎に、各消去単位の消去回
数に従って消去単位を連鎖する制御情報を管理する第1
の工程と、前記制御情報に応じて、書き込みデータの転
送先となる消去単位を決定する第2の工程とを含む。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明はデータ消去回数に制限の
あるメモリの制御方法及びこの方法を用いた装置に関
し、より詳細には、メモリの書き替え回数を均一化する
制御方法及びこの方法を用いた装置に関する。データ消
去回数に制限のあるメモリとして、フラッシュメモリが
知られている。フラッシュメモリは一定領域毎に消去単
位が決められており、その消去回数が限られており、消
去回数の上限に達した領域から使用できなくなる特性を
持つ。一方、フラッシュメモリを搭載した装置において
は、装置寿命までフラッシュメモリの容量を減らすこと
なく動作することが要求されている。このため、フラッ
シュメモリの一部の領域が頻繁に書き替えられることを
防いで、書き替え回数(消去回数)を均一化する必要が
ある。
【0002】
【従来の技術】図14に、NOR型フラッシュメモリの
一般的なメモリのマップを示す。フラッシュメモリは、
次の特徴を有する。第1に、データの上書きができない
(いったん、消去しないとデータを書き込むことができ
ない)。第2に、消去が決められた容量単位で行われ
る。図14に示す構成の場合、64Kバイトを1つの消
去単位にしている。第3に、消去回数に制限がある。通
常、NOR型で10万回、NAND型で100万回であ
る。第4に、データバックアップに電源を必要としな
い。なお、このような特徴を有するメモリとして、EE
PROMがある。EEPROMをフラッシュメモリの一
つとして分類する場合もある。以下の説明では、上記第
1ないし第4の特徴を持つメモリを総称して、フラッシ
ュメモリと称する。
【0003】書き替え回数(消去回数)の均一化方法と
しては、各消去単位の消去回数を逐次比較して消去回数
の少ない消去単位を検索し、検索された消去単位に対し
書き込みデータを優先的に転送するのが一般的である。
【0004】
【発明が解決しようとする課題】しかしながら、上記従
来の均一化方法は、データ転送要求がある都度消去回数
を逐次比較していたために、消去単位数が多ければ多い
ほど検索に時間がかかり、実際にフラッシュメモリへの
データ転送が実際に行われるまでにかなり時間がかかる
という問題点を有していた。
【0005】従って本発明は上記従来技術の問題点を解
決し、フラッシュメモリ等の消去回数に制限のあるメモ
リの書き替え回数を均一化する処理を短時間に速やかに
行う方法及びこの方法を用いた装置を提供することを目
的とする。
【0006】
【課題を解決するための手段】上記発明の課題を解決す
るための手段は次の通りである。請求項1に記載の発明
は、データ消去回数に制限のあるメモリを制御する方法
であって、メモリの消去単位毎に、各消去単位の消去回
数に従って消去単位を連鎖する制御情報(例えば、後述
する構造対の要素)を管理する第1の工程と、前記制御
情報に応じて、書き込みデータの転送先となる消去単位
を決定する第2の工程とを有する。
【0007】請求項2に記載の発明では、前記制御情報
は、消去回数の少ない順に消去単位を連鎖する情報と、
消去回数の多い順に消去単位を連鎖する情報とを含む。
請求項3に記載の発明では、前記制御情報はメモリの消
去単位毎に定義される構造体を含み、各構造体は対応す
る消去単位の消去回数と同数か又は次に多い消去回数の
構造体を示す第1のポインタ情報と、対応する消去単位
の消去回数と同数か又は次に少ない消去回数の消去単位
を示す第2のポインタ情報とを含む。
【0008】請求項4に記載の発明では、前記第1の工
程は、記録可能な消去単位のみを、前記制御情報を用い
て連鎖させて管理する工程を含む。請求項5に記載の発
明では、前記メモリの制御方法は更に、新たに記録可能
となった消去単位をその消去回数に従って他の消去可能
な消去単位とともに連鎖させる第3の工程を含む。
【0009】請求項6に記載の発明では、前記第2の工
程は、前記書き込みデータの指定された転送先の消去単
位から順に前記制御情報を参照して消去単位を検索し、
記録可能な消去単位のうち最も少ない消去回数の消去単
位に前記書き込みデータを転送する工程を有する。請求
項7に記載の発明では、前記メモリの制御方法は更に、
新たに記録可能となった消去単位に関する第1及び第2
のポインタを、該新たに記録可能となった消去単位の消
去回数と他の記録可能な消去単位の消去回数とに基づ
き、該新たに記録可能となった消去単位と他の記録可能
な消去単位とが連鎖するように設定する第3の工程を有
する。
【0010】請求項8に記載の発明は、データ消去回数
に制限のあるメモリを制御する方法であって、メモリの
消去単位のうち所定数の消去単位を選択してこれらの消
去回数を管理する第1の工程と、前記所定数の消去単位
の消去回数のすべてまたは一部が同一の消去回数となる
ように、書き込みデータの転送先となる消去単位を決定
する第2の工程とを有する。
【0011】請求項9に記載の発明では、前記第1の工
程は、前記第2の工程で選択された所定数の消去単位の
消去回数すべて又は一部が同一の消去回数となったとき
に、別の消去単位を前記所定数だけ選択してこれらの消
去回数を管理する工程を含む。請求項10に記載の発明
では、前記第1の工程は、書き換え回数の少ない又は多
い所定数の消去単位を選択する工程を含む。
【0012】請求項11に記載の発明では、データ消去
回数に制限のあるメモリと、メモリの消去単位毎に、各
消去単位の消去回数に従って消去単位を連鎖する制御情
報を管理する第1の手段と、前記制御情報に応じて、書
き込みデータの転送先となる消去単位を決定する第2の
手段とを有する。請求項12に記載の発明では、前記装
置は更に、データ消去回数に制限のないメモリと、該メ
モリと前記データ消去回数に制限のあるメモリとの間の
データ転送を制御するデータ転送制御手段とを有する。
【0013】請求項13に記載の発明では、前記装置は
更に、外部メモリとして接続されるデータ消去回数に制
限のないメモリと前記データ消去回数に制限のあるメモ
リとの間のデータ転送を制御するデータ転送制御手段を
有する。請求項14に記載の発明では、データ消去回数
に制限のあるメモリを制御する装置であって、メモリの
消去単位毎に、各消去単位の消去回数に従って消去単位
を連鎖する制御情報を管理する第1の手段と、前記制御
情報に応じて、書き込みデータの転送先となる消去単位
を決定する第2の手段とを有する。
【0014】
【作用】請求項1に記載の発明は、消去単位の消去回数
に従って消去単位を連鎖する制御情報を管理することで
消去回数を制御するので、消去回数の均一化のための制
御情報に従って書き込みデータの転送先となる消去単位
を短時間で容易に決定するように作用し、従来のように
逐次比較を行う必要がない。
【0015】請求項2に記載の発明は、前記制御情報
は、消去回数の少ない順に消去単位を連鎖する情報と、
消去回数の多い順に消去単位を連鎖する情報とを含むの
で、消去単位の連鎖をたどることでデータ転送先を容易
に決定でき、消去回数の均一化の管理が容易に行えるよ
うに作用する。請求項3に記載の発明は、第1のポイン
タ情報と第2のポインタ情報とで、消去回数が均一化す
るようにデータの転送先を容易に決定できるように作用
する。請求項4に記載の発明は、前記第1の工程で記録
可能な消去単位のみを前記制御情報を用いて連鎖させて
管理するので、転送先を決定する際に扱うデータ量が少
なくなるように作用する。
【0016】請求項5に記載の発明は、新たに記録可能
となった消去単位をその消去回数に従って他の消去可能
な消去単位とともに連鎖させるので、消去回数に応じた
連鎖を容易に更新できるように作用する。請求項6に記
載の発明は、前記第2の工程は、前記書き込みデータの
指定された転送先の消去単位から順に前記制御情報を参
照して消去単位を検索し、記録可能な消去単位のうち最
も少ない消去回数の消去単位に前記書き込みデータを転
送するので、もっとも少ない消去回数の消去単位を容易
に特定できるように作用する。
【0017】請求項7に記載の発明は、前記メモリの制
御方法は更に、新たに記録可能となった消去単位に関す
る第1及び第2のポインタを、該新たに記録可能となっ
た消去単位の消去回数と他の記録可能な消去単位の消去
回数とに基づき、該新たに記録可能となった消去単位と
他の記録可能な消去単位とが連鎖するように設定するこ
とで、新たに記録可能となった消去単位を容易に連鎖の
中に含めることができるように作用する。
【0018】請求項8に記載の発明は、メモリの消去単
位のうち所定数の消去単位を選択してこれらの消去回数
を管理し、前記所定数の消去単位の消去回数のすべてま
たは一部が同一の消去回数となるように、書き込みデー
タの転送先となる消去単位を決定するので、少ないデー
タ量で短時間に容易に、消去回数が均一化するようにデ
ータ転送先の消去単位を決定することができるように作
用する。
【0019】請求項9に記載の発明は、前記第1の工程
は、前記第2の工程で選択された所定数の消去単位の消
去回数すべて又は一部が同一の消去回数となったとき
に、別の消去単位を前記所定数だけ選択してこれらの消
去回数を管理することで、メモリ全体の消去回数を均一
にするように作用する。請求項10に記載の発明は、前
記第1の工程は、書き換え回数の少ない又は多い所定数
の消去単位を選択するように作用する。
【0020】請求項11に記載の発明の第1の手段は、
データ消去回数に制限のあるメモリと、メモリの消去単
位毎に、各消去単位の消去回数に従って消去単位を連鎖
する制御情報を管理する。第2の手段は、前記制御情報
に応じて、書き込みデータの転送先となる消去単位を決
定する。よって、消去回数の均一化のための制御情報に
従って書き込みデータの転送先となる消去単位を短時間
で容易に決定でき、従来のように逐次比較を行う必要が
ない。
【0021】請求項12に記載の発明のデータ転送制御
手段は、前記装置は更に、データ消去回数に制限のない
メモリと、該メモリと前記データ消去回数に制限のある
メモリとの間のデータ転送を制御するように作用する。
請求項13に記載の発明のデータ転送手段は、外部メモ
リとして接続されるデータ消去回数に制限のないメモリ
と前記データ消去回数に制限のあるメモリとの間のデー
タ転送を制御するように作用する。これにより、フラッ
シュメモリ半導体ディスクのような装置において、消去
回数の均一化のための制御情報に従って書き込みデータ
の転送先となる消去単位を短時間で容易に決定でき、従
来のように逐次比較を行う必要がない。
【0022】請求項14に記載の発明の第1の手段は、
データ消去回数に制限のあるメモリを制御する装置であ
って、メモリの消去単位毎に、各消去単位の消去回数に
従って消去単位を連鎖する制御情報を管理する。第2の
手段は、前記制御情報に応じて、書き込みデータの転送
先となる消去単位を決定する。これにより、フラッシュ
メモリカードのような装置内のフラッシュメモリにおい
て、消去回数の均一化のための制御情報に従って書き込
みデータの転送先となる消去単位を短時間で容易に決定
でき、従来のように逐次比較を行う必要がない。
【0023】
【実施例】以下、本発明の一実施例を説明する。図1
は、本発明の制御方法を用いたシステムの一構成例を示
すブロック図である。図1に示すシステムはフラッシュ
メモリ11と、制御部14とフラッシュメモリ11以外
のメモリ(以下、その他のメモリと称する)15とを有
する。制御部14は、CPU12とデータ転送回路13
とを有する。データ転送回路13は、例えばDMA(D
irect Memory Access)コントロー
ラで構成される。なお、制御部12全体がCPUで構成
される場合は、ブロック12及び13共に、CPUが所
定のプログラムを実行することで実現されるものであ
る。
【0024】フラッシュメモリ11は複数の消去単位1
6に区分されており、この消去単位毎にデータを消去
し、新たなデータを書き込む。図1には、便宜上、4つ
の消去単位を示しており、それぞれ消去単位番号0〜3
で特定される。また、各消去単位毎に消去回数が管理さ
れている。この消去回数を示す情報は、例えば各消去単
位の先頭1バイトに格納されている。例えば、消去単位
番号0の消去単位は880回の消去が行われたことを示
している。制御部14はシステム全体の動作を制御す
る。例えば、CPU12は後述する手順に従い、その他
のメモリ15から読み出されたデータをどの消去単位に
書き込むかを決定し、データ転送回路13は実際のデー
タ転送を制御する。
【0025】本実施例による書き替え回数の均一化方法
では、図2に示すように定義された構造体21を用い
る。構造体21は各消去単位毎に設定され、それぞれ3
つの要素22、23及び24からなる。要素22は、こ
の構造体が示す消去単位の位置を示す情報である。要素
23は、この構造体(要素22で示される構造体)が示
す消去単位の消去回数と同じかその次に多い消去回数を
持つ記録可能な消去単位を示す情報(ポインタ)であ
る。要素24は、この構造体(要素22で示される構造
体)が示す消去単位の消去回数と同じかそれよりも少な
い消去回数のうちの最大消去回数を持つ記録可能な消去
単位を示す情報(ポインタ)である。なお、後述するよ
うに、構造体21は3つの要素22〜24を必ず持つ必
要はなく、例えば構造体21を消去単位番号順に並べる
ことで、構造体21中の要素22を省略することができ
る。
【0026】図2に示すような構造体21をシステムの
初期動作時に作成し、書き替え可能な記憶媒体上(例え
ば、図1に示すその他のメモリ15又はフラッシュメモ
リ11上)に記憶させる。図3は、上記構造体21を参
照してフラッシュメモリ11に対し書き込みデータを転
送先(書き込む消去単位)を決定する処理を説明するた
めの図である。図3の例では、消去単位番号順に構造体
が配列されている。すなわち、構造体の配列が要素22
に相当し、各構造体は要素23及び24のみを有する。
以下、このような構造体を参照番号31で特定する。図
3に示す構造体31のうち、要素23及び24共に記号
ダッシュ”−”が表示されているものに対応する消去単
位(例えば、消去単位番号0の消去単位)は、書き込み
不可となっている。それ以外の構造体に対応する消去単
位は、記録可能である。図3の例では、消去単位番号
1、2、5、7及び9で指定される消去単位は記録可能
である。消去単位番号1に対応する構造体31の要素2
3は”5”で、要素24は”9”である。この要素23
の値”5”は、消去単位番号1に対応する消去単位の消
去回数(書き替え回数。図3の例では5回)と同数か又
はそれよりも大きい最小の(次に多い)消去回数を有す
る記録可能な消去単位は消去単位番号5であることを示
している。図3の例では、記録可能な消去単位のうち、
5回の消去回数に等しいか又は次に多い消去回数は7回
の消去回数である。また、要素24の値”9”は、消去
単位番号1に対応する消去単位の消去回数と同数か又は
それよりも少ない最大の消去回数を有する記録可能な消
去単位は消去単位番号9であることを示している。図3
の例では、2回の書き込み回数が5回の書き込み回数よ
り小さい消去回数のうちの最大値であり、よって消去単
位番号1の構造体31の要素24には消去単位番号9が
指定されている。
【0027】図4は、フラッシュメモリ11内のデータ
の転送先を決定する処理のフローチャートであり、図1
に示す制御部14のCPU12が実行する。ステップS
11で、CPU12はデータ転送先38を示す情報で指
定されている消去単位番号に対応する構造体31を参照
する。CPU12はステップS12で、参照した構造体
31の要素24は消去単位番号を指定しているかどうか
を判断する。判断結果がNOの場合には、CPU12は
ステップS13を実行し、この構造体31内の要素23
が指定する消去単位番号をデータ転送先と決定し、処理
を終了する。このように、データ転送先38として指定
された消去単位の構造体31が要素24を指定していな
い場合には、これよりも少ない消去回数の消去単位は存
在していないので、この消去単位にデータを書き込む。
【0028】ステップS12の判断結果がYESの場合
は、データ転送先38として指定された消去単位よりも
少ない消去回数の消去単位が存在する可能性があるの
で、以下に述べるステップS14〜S16でより消去回
数の少ない消去単位を検索する。ステップS14で、C
PU12は要素24で指定されている消去単位番号を新
たにデータの転送先38とする。ステップS15で、C
PU12はデータ転送先38中の消去単位番号に対応す
る構造体31を参照する。そして、ステップS16でス
テップS12と同様の判断、すなわち参照した構造体3
1の要素24は消去単位番号を指定しているかどうかを
判断する。判断結果がNOの場合には、この構造体31
に対応する消去単位よりも消去回数の少ない消去単位は
存在していないので、処理を終了する。ステップS16
の判断結果がYESの場合には、この構造体31に対応
する消去単位よりも消去回数の少ない消去単位が存在す
る可能性があるので、ステップS14に戻り前述の処理
を行う。このようにして、ステップS16の判断結果が
NOとなるまで繰り返しステップS14〜S16の処理
が行われ、最も少ない消去回数の消去単位にデータを書
き込むようにしている。
【0029】図3の例では、データ転送先38として消
去単位番号2が指定されており、この場合のステップS
12の判断結果はNOなので、まず消去単位番号2の消
去単位にデータが書き込まれ、もし書き込みデータのす
べてをここに書き込むことが出来なかった場合には、ス
テップS13で指定されたデータ転送先、すなわち、図
3の例では消去単位番号9の消去単位に残りのデータが
書き込まれる。
【0030】もし、データ転送先38が消去単位番号2
ではなく9の場合にはステップS12の判断結果はYE
Sとなり、ステップS14でデータ転送先38として要
素24で指定される消去単位番号、すなわち消去単位番
号2が設定される。この場合のステップS16の判断結
果はNOとなり、消去単位番号2の消去単位にデータが
書き込まれる。
【0031】なお、図4の処理が終了した後、CPU1
2は構造体31を更新する。例えば、図3の例で消去単
位番号2の消去単位にデータが書き込まれた場合には、
対応する構造体31の要素23の指定を消去し、書き込
み不可とする。また、これと同時にこの要素23が指定
する消去単位番号9の構造体31の要素24の指定を消
去する。これにより、消去単位番号9の消去単位の消去
回数2よりも少ない消去回数の記録可能な消去単位は存
在しないことが示される。
【0032】次に、新たな記録可能になった消去単位が
ある場合、新たに記録可能になった消去単位の要素(ポ
インタ)23及び24を設定し、かつその前後の要素2
3及び24を修正する処理について、図5、図6及び図
7を参照して説明する。図5は、図3に示す状態におい
て、消去単位番号4の消去単位43が新たに記録可能と
なった場合を示す。この際、消去単位43のデータは一
括して消去されるので、対応する消去回数は新消去回数
4に更新される。消去単位43に対応する構造体31の
要素23及び24はそれぞれ”1”及び”9”に設定さ
れると共に、消去単位番号1に対応する構造体31の要
素24は”9”から”4”に変更され、消去単位番号9
に対応する構造体31の要素23は”1”から”4”に
変更される。この処理を、図1に示すCPU12が図6
及び図7に示す処理を実行することで行われる。
【0033】図6のステップS21において、CPU1
2は、新たに記録可能となった消去単位43の消去回数
を1つ増やして、新消去回数42とする。ステップS2
2で、CPU12はデータ転送先38として指定された
データ(消去単位番号)をデータ検索先41とする。ス
テップS23で、CPU12はデータ検索先41のデー
タである消去単位番号で構造体31を参照する。ステッ
プS24で、CPU12は参照した構造体31の要素2
2の消去回数が、新消去回数42よりも多いかどうかを
判断する。ステップS24の判断結果がYESの場合
は、CPU12はステップS25で要素24のデータで
ある消去単位番号をデータ検索先41とする。そしてス
テップS26で、CPU26はデータ検索先のデータで
ある消去単位番号でデータ構造体31を参照する。ステ
ップS27で、CPU12はステップS24と同様の判
断、すなわち参照した構造体31の要素22の消去回数
が、新消去回数42よりも多いかどうかを判断する。ス
テップS27の判断結果がYESの場合にはステップS
25に戻り、以降ステップS27の判断結果がNOとな
るまで、CPU12はステップS25〜S27のループ
を繰り返す。
【0034】ステップS27の判断結果がNOの場合に
はテップS28で、CPU12は参照して要素23のデ
ータである消去単位番号と新たに記録可能となった消去
単位番号43とを入れ換える。ステップS29で、CP
U12は入れ換えた消去単位番号を新たに記録可能とな
った消去単位の要素23に記録する。ステップS30
で、CPU12は入れ換えたデータである消去単位番号
で構造体31を参照する。ステップS31で、CPU1
2は参照した要素24のデータとして、新たに記録可能
となった消去単位番号43を記録する。図7に示すステ
ップS32で、CPU12はデータ検索先41を新たに
記録可能となった消去単位の要素24に記録する。
【0035】図6のステップS24の判断結果がNOの
場合には、CPU12はステップS33で、参照した構
造体31の要素23のデータである消去単位番号をデー
タ検索先41とする。ステップS34で、CPU12は
データ検索先41として指定されている消去単位番号で
構造体31を参照する。ステップS35で、参照した構
造体31の要素22の消去回数が新消去回数42よりも
少ないかどうかを判断する。ステップS35の判断結果
がYESの場合にはステップS33に戻り、CPU12
はステップS35の判断結果がNOとなるまで、ステッ
プS33〜S35のループを繰り返す。
【0036】ステップS35の判断結果がNOの場合に
は、ステップS36で、CPU12は参照した要素24
のデータである消去単位番号と新たに記録可能となった
消去単位番号43とを入れ換える。ステップS37で、
CPU12は入れ換えた消去単位番号を新たに記録可能
と成った消去単位の要素24に記録する。そして、図7
に示すステップS38で、CPU12は入れ換えたデー
タで構造体31を参照する。ステップS39で、CPU
12は参照した要素23のデータに新たに記録可能とな
った消去単位番号43を記録する。最後にステップS4
0で、CPU12は、データ検索先41を新たに記録可
能となった消去単位の要素23に記録する。
【0037】図5に示す例の場合、図3に示す状態にお
いてステップS23で参照する構造体31は消去単位番
号1のものであり、ステップS24の判断結果はYES
となる。ステップS25で、消去単位番号1の要素24
のデータである消去単位番号9がデータ検索先41とし
て設定され、ステップS26で消去単位番号9の構造体
31が参照される。この場合のステップS27の判断結
果はNOとなる。ステップS28及びS29で、消去単
位番号9の構造体31の要素23に新たに記録可能とな
った消去単位番号43である”4”が書き込まれ、新た
に記録可能となった消去単位43である消去単位番号4
の構造体31の要素23に、入れ換えられたデータであ
る消去単位番号1が書き込まれる。ステップS30でも
ともと要素23のデータであった消去単位番号1を用い
て対応する構造体31を参照する。ステップS31で、
消去単位番号1の構造体31の要素24に、新たに記録
可能となった消去単43位の消去単位番号4が記録され
る。そして、ステップS32で新たに記録可能となった
消去単位の構造体31の要素24に、データ検索先41
として設定されている消去単位番号9か記録される。
【0038】以上のようにして、新たに記録可能となっ
た消去単位43が記録可能な他の消去単位の連鎖の中に
組み込まれる。次に、本発明の第2の実施例について説
明する。図8は、本発明の第2の実施例の概要を示す図
である。第2の実施例においては、図8(A)に示す消
去単位番号(図示の例では21個)から、書き換え回数
の少ない又は多い所定数の消去単位をピックアップし
て、これらの消去単位の消去回数が同一回数になるよう
に優先的にデータ転送を行うことを特徴とする。なお、
ピックアップの対象は、原理的には任意でも可能であ
る。
【0039】図8(B)において、図8(A)に示す消
去回数のうち、少ないものから順に同一の消去回数が選
択されないように、5つを選択する。図8(B)の例で
は、消去単位番号9、8、5、1及び7が選択され、こ
れを図示のように並べたものを代表順位とする。このよ
うにして選択した5つの消去単位に対し、データ転送を
優先的に行う。5つの消去単位の消去回数が同一となる
までは、他の消去単位にデータを転送しない。同一とな
った場合には、別の消去単位5つを選択する。図8
(B)に示す例では、消去単位番号17、11、10、
4及び12が選択されている。
【0040】図9は、第2の実施例による処理を示すフ
ローチャートであり、図1に示すCPU12が実行す
る。まず、図中の記号(変数)の定義について説明す
る。”v”は一時変数を意味する。”w”は図8(A)
に示す消去回数を意味し、”x”は図8(A)に示す消
去単位番号を意味する。”y”は図8(B)に示すピッ
クアップされた消去単位の消去回数を意味し、”z”は
図8(B)に示すピックアップされた消去単位の消去単
位番号を意味する。
【0041】以下、図9に示す処理について、図10を
参照して説明する。ステップS41で、CPU12はピ
ックアップした5つの消去回数yを最大消去回数MAX
に設定し、ピックアップ消去単位番号zを0〜4に設定
し、消去単位番号xに0を設定する。ステップS41を
実行した結果を図10の(a)に示す。ステップS42
で、CPU12はx≧21かどうかを判断する。この判
断結果がYESの場合には処理を終了する。NOの場合
には、ステップS43に進み、ピックアップされた消去
単位番号0の消去回数y[0](=MAX)が消去単位
番号x(最初はx=0)の消去回数w[x]よりも大き
いかどうかを判断する。図8の例ではx[0]=8でス
テップS43の判断結果はYESであり、CPU12は
ステップS44を実行する。ステップS44ではy
[0]の値を一時変数vに挿入し、w[x]の値をy
[0]の値とし、xをz[0]に挿入する。w[0]=
MAXなので、図10の(b)に示すように、ピックア
ップされた消去単位番号0の消去回数y[0]は8とな
る。ステップS43の判断結果がNOの場合には、ステ
ップS45でCPU12はy[0]=w[x]かどうか
を判断する。判断結果がYESの場合はステップS58
に進み、NOの場合はステップS46でw[x]の値を
vに挿入する。
【0042】その後、以下に説明するステップを実行す
ることで、図10(c)以降に示しているように、ピッ
クアップされた消去単位の消去回数よりも小さい消去回
数の消去単位が検出されるとこれをピックアップし、z
(0)のその消去単位番号を記録しy(0)にその消去
回数を記録する。そして、いままでピックアップした消
去単位番号とその消去回数を1つ繰り下げる。例えば、
図10(c)の状態で消去回数4よりも小さい消去回数
3が検出されると、図10(d)に示すように、その消
去単位番号5と消去回数3を先頭に記録し、今までにピ
ックアップしていた2つの消去単位を1つ繰り下げる。
以下、同様にして、最終的に図10(g)に示す代表順
位が得られるようになる。
【0043】図9に戻り、ステップS47で、CPU1
2はy[1]がvの値よりも大きいかどうかを判断す
る。判断結果はYESの場合には、ステップS48で、
CPU12はy[1]の値と一時変数vの値を交換し、
x(=0)の値をz[1]に挿入する。そして、ステッ
プS50を実行する。ステップS47の判断結果がNO
の場合には、ステップS49でCPU12はy[1]=
vかどうかを判断する。この判断結果がYESの場合に
はステップS58に進み、NOの場合にはステップS5
0に進む。
【0044】ステップS50で、CPU12はy[2]
がvよりも大きいかどうかを判断する。この判断結果が
YESの場合にはステップS51に進み、CPU12は
vとy[2]の値を入れ換え、xの値をz[2]に設定
する。そして、CPU12はステップS53を実行す
る。ステップS50の判断結果がNOの場合には、CP
U12はステップS52でy[2]=vかどうかを判断
する。この判断結果がNOの場合にはステップS53に
進み、YESの場合にはステップS58に進む。ステッ
プS53で、CPU12はy[3]がvよりも大きいか
どうかを判断する。この判断結果がYESの場合にはス
テップS54に進み、CPU12はvとy[3]の値を
入れ換え、xの値をz[3]に設定する。そして、CP
U12はステップS56を実行する。ステップS53の
判断結果がNOの場合には、CPU12はステップS5
5でy[3]=vかどうかを判断する。この判断結果が
NOの場合にはステップS56に進み、YESの場合に
はステップS58に進む。ステップ56で、CPU12
はy[4]がvよりも大きいかどうかを判断する。この
判断結果がYESの場合にはステップS58に進み、C
PU12はvとy[4]の値を入れ換え、xの値をz
[4]に設定する。そして、CPU12はステップS5
8を実行する。ステップS56の判断結果がNOの場合
には、CPU12はステップS52でy[2]=vかど
うかを判断する。この判断結果がNOの場合にはステッ
プS58に進む。
【0045】このようにして、図8(B)及び図10
(g)に示すように、消去回数が少ない順に5つの消去
単位がピックアップされる。このようにピックアップさ
れた5つの消去単位に対し、データを優先的に転送し、
消去可能となると消去回数が1つカウントアップされ
る。上記第2の実施例では、ピックアップした5つの消
去単位の消去回数がすべて等しくなった場合に別の5つ
の消去単位をピックアップする構成であるが、これに代
えて所定数の消去単位の消去回数が等しくなった場合
に、別の5つの消去単位をピックアップする構成とする
ことも可能である。
【0046】図11は、上記消去回数の均一化方法を適
用したシステムの一構成例を示すブロック図である。以
下、この構成を本発明の第3の実施例として説明する。
図11に示すシステムは、フラッシュメモリICカード
50とホストコンピュータ54とを有する。図1の構成
に対応させると、図1のフラッシュメモリ11が図11
のフラッシュメモリICカード50に対応し、図1の制
御部14及びその他のメモリ15が図11のホストコン
ピュータ54に相当する。ホストコンピュータ54はフ
ラッシュメモリICカード50に対し、前述した第1又
は第2の実施例の処理を実行する。すなわち、このよう
な処理を行うホストコンピュータ54を用いたシステム
に、第3の実施例の特徴がある。
【0047】フラッシュメモリICカード50は、複数
のフラッシュメモリチップ51、アドレスデコーダ・チ
ップセレクタ52及びアドレス/データバス53を具備
する。フラッシュメモリICカード50は、例えばホス
トコンピュータ54内のカード挿入スロット内に装着さ
れ、アドレス/データ及び制御信号を互いに送受する。
各フラッシュメモリチップ51は複数の消去単位に分割
され、全記憶領域を通して前述の消去単位番号が設定さ
れている。これに代えて、フラッシュメモリチップ51
をいくつかのグループに分割し、各グループ毎に独立し
て消去単位番号を設け、前述した処理を行ってもよい。
ある消去単位にアクセスするには、チップ選択信号でチ
ップを選択し、対応する消去単位のアドレスを各チップ
に出力する。選択されたチップのみアドレスを受け取
り、ホストコンピュータ54からのデータ転送を受け
る。
【0048】以上のようなフラッシュメモリICカード
50に対し、簡単で短時間の消去回数の均一化処理を適
用することで、高速な外部記憶媒体を提供することがで
きる。図12は、上記消去回数の均一化方法を適用した
システムの別の構成例を示すブロック図である。以下、
この構成を本発明の第4の実施例として説明する。図1
2に示すシステムは、フラッシュメモリ半導体ディスク
56とホストコンピュータ65とを有する。図1の構成
に対応させると、図1のフラッシュメモリ11及び制御
部14が図12に示すフラッシュメモリ半導体ディスク
56に対応し、図1のその他のメモリ15が図12のホ
ストコンピュータ65(その内部又は外部メモリ)に相
当する。フラッシュメモリ半導体ディスク56内部で、
前述した第1又は第2の実施例の処理を実行する点に、
第4の実施例の特徴がある。
【0049】フラッシュメモリ半導体ディスク56は、
複数のフラッシュメモリチップ57、フラッシュメモリ
コントロール部58、DMAコントローラ59、マイク
ロコントロールユニット(MCU)60、データ誤り訂
正回路61、バッファRAM62、ドライブインターフ
ェース部63及びデータバス64を有する。MCU60
はシステムコントローラとして機能し、前述の第1又は
第2の実施例の処理を含むディスク56全体の動作を制
御する。DMAコントロー59は図1のデータ転送回路
13に相当し、MCU60からデータ転送に関する情報
を受け、フラッシュメモリチップ57とホストコンピュ
ータ65との間のデータ転送を制御する。このデータ転
送において、バッファRAM62内に転送データを一時
格納する。また、このデータ転送において、データ誤り
訂正回路61はデータの誤り訂正処理を行う。各フラッ
シュメモリチップ57は複数の消去単位に分割され、全
記憶領域を通して前述の消去単位番号が設定されてい
る。ある消去単位にアクセスするには、チップ選択信号
でチップを選択し、対応する消去単位のアドレスを各チ
ップに出力する。選択されたチップのみアドレスを受け
取り、ホストコンピュータ65からDMA転送制御でデ
ータ転送を受ける。
【0050】図13は、上記消去回数の均一化方法を適
用したシステムの更に別の構成例を示すブロック図であ
る。以下、この構成を本発明の第5の実施例として説明
する。図13は、フラッシュメモリ搭載ページプリンタ
コントローラ70の構成を示す。図1の構成に対応させ
ると、ページプリンタコントローラ70は図1の全ての
構成要素11、14及び15を含む。図示するように、
ページプリンタコンローラ70は、MCU71、DMA
コントローラ72、パネル操作部73、制御プログラム
用ROM74、コマンドバッファRAM75、プリンタ
機構制御部76、フラッシュメモリ77、フラッシュメ
モリ78、RAM79、アドレス/データバス80及び
プリンタインタフェース81を有する。ページプリンタ
コントローラ70は、プリンタインタフェース81を介
して図示を省略するホストコンピュータに接続される。
MCU71は、前述の第1又は第2の実施例の処理を含
め、ページプリンタコントローラ71全体の動作を制御
する。DMAコントローラ72は、RAM79とフラッ
シュメモリ77又は78との間のデータ転送を制御す
る。パネル操作部73は図示しないプリンタに設けられ
たパネル部分との間のインタフェースをとる。プリンタ
機構制御部76は、図示しないプリンタの機構部との間
のインタフェースをとる。例えばプリンタエンジン等に
制御信号を送る。制御プログラム用ROM74は、MC
U71が動作するのに必要なプログラムを格納する。コ
マンドバッファRAM75は、ページプリンタコントロ
ーラ70内部で用いるコマンドを一時記憶する。RAM
79はページイメージの描画データを記憶する。フラッ
シュメモリ77は、パネル設定に関するデータを記録す
るのに用いられる。フラッシュメモリ78は、外字パタ
ーンを登録するために用いられる。
【0051】各フラッシュメモリ77及び78は複数の
消去単位に分割され、全記憶領域を通して前述の消去単
位番号が設定されている。これに代えて、フラッシュメ
モリ77及び78毎に独立して消去単位番号を設け、前
述した処理を行ってもよい。以上、本発明の第3ないし
第5の実施例を説明した。消去回数の均一化処理はこれ
らのシステムに限定されるものではなく、フラッシュメ
モリを用いた他の構成のシステムにも同様に適用できる
ものである。また、本発明はフラッシュメモリ以外に消
去回数に制限のあるメモリ(例えば、EEPROM)の
均一化処理も含むものである。
【0052】
【発明の効果】以上説明したように、本発明によれば以
下の効果が得られる。請求項1に記載の発明によれば、
消去単位の消去回数に従って消去単位を連鎖する制御情
報を管理することで消去回数を制御するので、消去回数
の均一化のための制御情報に従って書き込みデータの転
送先となる消去単位を短時間で容易に決定でき、従来の
ように逐次比較を行う必要がない。
【0053】請求項2に記載の発明によれば、前記制御
情報は、消去回数の少ない順に消去単位を連鎖する情報
と、消去回数の多い順に消去単位を連鎖する情報とを含
むので、消去単位の連鎖をたどることでデータ転送先を
容易に決定でき、消去回数の均一化の管理が容易に行え
る。請求項3に記載の発明によれば、第1のポインタ情
報と第2のポインタ情報とで、消去回数が均一化するよ
うにデータの転送先を容易に決定できる。
【0054】請求項4に記載の発明によれば、前記第1
の工程で記録可能な消去単位のみを前記制御情報を用い
て連鎖させて管理するので、転送先を決定する際に扱う
データ量が少なくなる。請求項5に記載の発明によれ
ば、新たに記録可能となった消去単位をその消去回数に
従って他の消去可能な消去単位とともに連鎖させるの
で、消去回数に応じた連鎖を容易に更新できる。
【0055】請求項6に記載の発明によれば、前記第2
の工程は、前記書き込みデータの指定された転送先の消
去単位から順に前記制御情報を参照して消去単位を検索
し、記録可能な消去単位のうち最も少ない消去回数の消
去単位に前記書き込みデータを転送するので、もっとも
少ない消去回数の消去単位を容易に特定できる。請求項
7に記載の発明によれば、前記メモリの制御方法は更
に、新たに記録可能となった消去単位に関する第1及び
第2のポインタを、該新たに記録可能となった消去単位
の消去回数と他の記録可能な消去単位の消去回数とに基
づき、該新たに記録可能となった消去単位と他の記録可
能な消去単位とが連鎖するように設定することで、新た
に記録可能となった消去単位を容易に連鎖の中に含める
ことができるように作用する。
【0056】請求項8に記載の発明によれば、メモリの
消去単位のうち所定数の消去単位を選択してこれらの消
去回数を管理し、前記所定数の消去単位の消去回数のす
べてまたは一部が同一の消去回数となるように、書き込
みデータの転送先となる消去単位を決定するので、少な
いデータ量で短時間に容易に、消去回数が均一化するよ
うにデータ転送先の消去単位を決定することができる。
【0057】請求項9に記載の発明によれば、前記第1
の工程は、前記第2の工程で選択された所定数の消去単
位の消去回数すべて又は一部が同一の消去回数となった
ときに、別の消去単位を前記所定数だけ選択してこれら
の消去回数を管理することで、メモリ全体の消去回数を
均一にするようにできる。請求項10に記載の発明によ
れば、前記第1の工程は、書き換え回数の少ない又は多
い所定数の消去単位を選択できる。
【0058】請求項11に記載の発明によれば、消去回
数の均一化のための制御情報に従って書き込みデータの
転送先となる消去単位を短時間で容易に決定でき、従来
のように逐次比較を行う必要がない装置が得られる。請
求項12に記載の発明によれば、DMA転送でデータを
メモリに効率的に転送できる。
【0059】請求項13に記載の発明によれば、フラッ
シュメモリ半導体ディスクのような装置において、消去
回数の均一化のための制御情報に従って書き込みデータ
の転送先となる消去単位を短時間で容易に決定でき、従
来のように逐次比較を行う必要がない装置が得られる。
請求項14に記載の発明によれば、フラッシュメモリI
Cディスクのような装置内のフラッシュメモリにおい
て、消去回数の均一化のための制御情報に従って書き込
みデータの転送先となる消去単位を短時間で容易に決定
でき、従来のように逐次比較を行う必要がない。
【図面の簡単な説明】
【図1】本発明の消去回数均一化処理方法を用いたシス
テムの一構成例を示すブロック図である。
【図2】本発明の第1の実施例で用いる構造体の構成を
示す図である。
【図3】図2に示す構造体を参照してフラッシュメモリ
に対し書き込みデータを転送先(書き込む消去単位)を
決定する処理を説明するための図である。
【図4】本発明の第1の実施例の消去回数均一化処理方
法を示すフローチャートである。
【図5】新たな記録可能になった消去単位がある場合、
新たに記録可能になった消去単位の構造体の要素(ポイ
ンタ)を設定し、かつその前後の構造体の要素を修正す
る処理を説明するための図である。
【図6】新たな記録可能になった消去単位がある場合、
新たに記録可能になった消去単位の構造体の要素を設定
し、かつその前後の構造体の要素を修正する処理を示す
フローチャート(その1)である。
【図7】新たな記録可能になった消去単位がある場合、
新たに記録可能になった消去単位の構造体の要素を設定
し、かつその前後の構造体の要素を修正する処理を示す
フローチャート(その2)である。
【図8】本発明の第2の実施例を示す図である。
【図9】本発明の第2の実施例の処理を示すフローチャ
ートである。
【図10】図9に示すフローチャートにより処理される
データの変遷を示す図である。
【図11】本発明の第3の実施例を示すブロック図であ
る。
【図12】本発明の第4の実施例を示すブロック図であ
る。
【図13】本発明の第5の実施例を示すブロック図であ
る。
【図14】フラッシュメモリの消去単位を説明するため
の図である。
【符号の説明】
11 フラッシュメモリ 12 CPU 13 データ転送回路 14 制御部 15 その他のメモリ
───────────────────────────────────────────────────── フロントページの続き (72)発明者 日比 康守 東京都品川区大崎2丁目8番8号 富士通 デバイス株式会社内

Claims (14)

    【特許請求の範囲】
  1. 【請求項1】 データ消去回数に制限のあるメモリを制
    御する方法であって、 メモリの消去単位毎に、各消去単位の消去回数に従って
    消去単位を連鎖する制御情報を管理する第1の工程と、 前記制御情報に応じて、書き込みデータの転送先となる
    消去単位を決定する第2の工程とを有することを特徴と
    するメモリの制御方法。
  2. 【請求項2】 前記制御情報は、消去回数の少ない順に
    消去単位を連鎖する情報と、消去回数の多い順に消去単
    位を連鎖する情報とを含むことを特徴とする請求項1記
    載のメモリの制御方法。
  3. 【請求項3】 前記制御情報はメモリの消去単位毎に定
    義される構造体を含み、 各構造体は対応する消去単位の消去回数と同数か又は次
    に多い消去回数の構造体を示す第1のポインタ情報と、
    対応する消去単位の消去回数と同数か又は次に少ない消
    去回数の消去単位を示す第2のポインタ情報とを含むこ
    とを特徴とする請求項1記載のメモリの制御方法。
  4. 【請求項4】 前記第1の工程は、記録可能な消去単位
    のみを、前記制御情報を用いて連鎖させて管理する工程
    を含むことを特徴とする請求項1ないし3のいずれか一
    項記載のメモリの制御方法。
  5. 【請求項5】 前記メモリの制御方法は更に、新たに記
    録可能となった消去単位をその消去回数に従って他の消
    去可能な消去単位とともに連鎖させる第3の工程を含む
    ことを特徴とする請求項1ないし3のいずれか一項記載
    のメモリの制御方法。
  6. 【請求項6】 前記第2の工程は、前記書き込みデータ
    の指定された転送先の消去単位から順に前記制御情報を
    参照して消去単位を検索し、記録可能な消去単位のうち
    最も少ない消去回数の消去単位に前記書き込みデータを
    転送する工程を有することを特徴とする請求項1記載の
    メモリの制御方法。
  7. 【請求項7】 前記メモリの制御方法は更に、新たに記
    録可能となった消去単位に関する第1及び第2のポイン
    タを、該新たに記録可能となった消去単位の消去回数と
    他の記録可能な消去単位の消去回数とに基づき、該新た
    に記録可能となった消去単位と他の記録可能な消去単位
    とが連鎖するように設定する第3の工程を有することを
    特徴とする請求項3記載のメモリの制御方法。
  8. 【請求項8】 データ消去回数に制限のあるメモリを制
    御する方法であって、 メモリの消去単位のうち所定数の消去単位を選択してこ
    れらの消去回数を管理する第1の工程と、 前記所定数の消去単位の消去回数のすべてまたは一部が
    同一の消去回数となるように、書き込みデータの転送先
    となる消去単位を決定する第2の工程とを有することを
    特徴とするメモリの制御方法。
  9. 【請求項9】 前記第1の工程は、前記第2の工程で選
    択された所定数の消去単位の消去回数すべて又は一部が
    同一の消去回数となったときに、別の消去単位を前記所
    定数だけ選択してこれらの消去回数を管理する工程を含
    むことを特徴とする請求項7記載のメモリの処理方法。
  10. 【請求項10】 前記第1の工程は、書き換え回数の少
    ない又は多い所定数の消去単位を選択する工程を含むこ
    とを特徴とする請求項9記載のメモリの処理方法。
  11. 【請求項11】データ消去回数に制限のあるメモリと、 メモリの消去単位毎に、各消去単位の消去回数に従って
    消去単位を連鎖する制御情報を管理する第1の手段と、 前記制御情報に応じて、書き込みデータの転送先となる
    消去単位を決定する第2の手段とを有することを特徴と
    する装置。
  12. 【請求項12】 前記装置は更に、 データ消去回数に制限のないメモリと、 該メモリと前記データ消去回数に制限のあるメモリとの
    間のデータ転送を制御するデータ転送制御手段とを有す
    ることを特徴とする請求項11記載の装置。
  13. 【請求項13】 前記装置は更に、外部メモリとして接
    続されるデータ消去回数に制限のないメモリと前記デー
    タ消去回数に制限のあるメモリとの間のデータ転送を制
    御するデータ転送制御手段を有することを特徴とする請
    求項11記載の装置。
  14. 【請求項14】 データ消去回数に制限のあるメモリを
    制御する装置であって、 メモリの消去単位毎に、各消去単位の消去回数に従って
    消去単位を連鎖する制御情報を管理する第1の手段と、 前記制御情報に応じて、書き込みデータの転送先となる
    消去単位を決定する第2の手段とを有することを特徴と
    する装置。
JP25580994A 1994-10-20 1994-10-20 データ消去回数に制限のあるメモリの制御方法及びこの方法を用いた装置 Withdrawn JPH08124393A (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP25580994A JPH08124393A (ja) 1994-10-20 1994-10-20 データ消去回数に制限のあるメモリの制御方法及びこの方法を用いた装置
US08/431,315 US5819307A (en) 1994-10-20 1995-04-28 Control method in which frequency of data erasures is limited
TW084104262A TW270185B (en) 1994-10-20 1995-04-28 Control method of controlling memory in which frequency of data erasures is limited, and apparatus using the same method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP25580994A JPH08124393A (ja) 1994-10-20 1994-10-20 データ消去回数に制限のあるメモリの制御方法及びこの方法を用いた装置

Publications (1)

Publication Number Publication Date
JPH08124393A true JPH08124393A (ja) 1996-05-17

Family

ID=17283934

Family Applications (1)

Application Number Title Priority Date Filing Date
JP25580994A Withdrawn JPH08124393A (ja) 1994-10-20 1994-10-20 データ消去回数に制限のあるメモリの制御方法及びこの方法を用いた装置

Country Status (3)

Country Link
US (1) US5819307A (ja)
JP (1) JPH08124393A (ja)
TW (1) TW270185B (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7006383B2 (en) * 2003-02-04 2006-02-28 Kabushiki Kaisha Toshiba Nonvolatile semiconductor memory for management of a number of data writer/erase times
US8015347B2 (en) 2007-12-28 2011-09-06 Kabushiki Kaisha Toshiba Memory system and control method thereof

Families Citing this family (65)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6347051B2 (en) * 1991-11-26 2002-02-12 Hitachi, Ltd. Storage device employing a flash memory
GB9606928D0 (en) * 1996-04-02 1996-06-05 Memory Corp Plc Memory devices
US5907854A (en) * 1996-09-27 1999-05-25 Alcatel Usa Sourcing, L.P. Flash memory file system for writing data files without rewriting an entire volume
US6000006A (en) * 1997-08-25 1999-12-07 Bit Microsystems, Inc. Unified re-map and cache-index table with dual write-counters for wear-leveling of non-volatile flash RAM mass storage
JP3987244B2 (ja) * 1998-09-22 2007-10-03 株式会社リコー 電子機器
US7610438B2 (en) * 2000-01-06 2009-10-27 Super Talent Electronics, Inc. Flash-memory card for caching a hard disk drive with data-area toggling of pointers stored in a RAM lookup table
DE102004001285B4 (de) * 2004-01-07 2018-01-25 Infineon Technologies Ag Umprogrammierbare nichtflüchtige Halbleiter-Speichereinrichtung
KR100526190B1 (ko) * 2004-02-06 2005-11-03 삼성전자주식회사 플래시 메모리의 재사상 방법
JP2007328620A (ja) * 2006-06-08 2007-12-20 Toshiba Corp アクセス頻度評価装置およびアクセス頻度評価方法
JP2008117195A (ja) * 2006-11-06 2008-05-22 Hitachi Ltd 半導体記憶装置
US7904764B2 (en) * 2006-11-24 2011-03-08 Sandforce, Inc. Memory lifetime gauging system, method and computer program product
US20080126685A1 (en) * 2006-11-24 2008-05-29 Radoslav Danilak System, method, and computer program product for reducing memory write operations using an instruction set
US7809900B2 (en) * 2006-11-24 2010-10-05 Sandforce, Inc. System, method, and computer program product for delaying an operation that reduces a lifetime of memory
US7747813B2 (en) * 2006-11-24 2010-06-29 Sandforce, Inc. Multi-memory device system and method for managing a lifetime thereof
US7904619B2 (en) * 2006-11-24 2011-03-08 Sandforce, Inc. System, method, and computer program product for reducing memory write operations using difference information
US7904672B2 (en) 2006-12-08 2011-03-08 Sandforce, Inc. System and method for providing data redundancy after reducing memory writes
US8090980B2 (en) * 2006-12-08 2012-01-03 Sandforce, Inc. System, method, and computer program product for providing data redundancy in a plurality of storage devices
US7731365B2 (en) * 2007-03-19 2010-06-08 Johnson&Johnson Vision Care, Inc. Method of fitting contact lenses
US8959307B1 (en) 2007-11-16 2015-02-17 Bitmicro Networks, Inc. Reduced latency memory read transactions in storage devices
US7903486B2 (en) * 2007-11-19 2011-03-08 Sandforce, Inc. System, method, and computer program product for increasing a lifetime of a plurality of blocks of memory
US7849275B2 (en) 2007-11-19 2010-12-07 Sandforce, Inc. System, method and a computer program product for writing data to different storage devices based on write frequency
US9183133B2 (en) 2007-11-28 2015-11-10 Seagate Technology Llc System, method, and computer program product for increasing spare space in memory to extend a lifetime of the memory
JP4292225B2 (ja) * 2007-12-17 2009-07-08 株式会社東芝 情報記録装置および情報記録方法
US20100017588A1 (en) * 2008-07-15 2010-01-21 Radoslav Danilak System, method, and computer program product for providing an extended capability to a system
US20100017566A1 (en) * 2008-07-15 2010-01-21 Radoslav Danilak System, method, and computer program product for interfacing computing device hardware of a computing device and an operating system utilizing a virtualization layer
US20100064093A1 (en) * 2008-09-09 2010-03-11 Radoslav Danilak System, method, and computer program product for converting data in a binary representation to a non-power of two representation
US20100146236A1 (en) * 2008-12-08 2010-06-10 Radoslav Danilak System, method, and computer program product for rendering at least a portion of data useless in immediate response to a delete command
US8671258B2 (en) 2009-03-27 2014-03-11 Lsi Corporation Storage system logical block address de-allocation management
US8090905B2 (en) * 2009-03-27 2012-01-03 Sandforce, Inc. System, method, and computer program product for converting logical block address de-allocation information in a first format to a second format
US20100250830A1 (en) * 2009-03-27 2010-09-30 Ross John Stenfort System, method, and computer program product for hardening data stored on a solid state disk
US8230159B2 (en) 2009-03-27 2012-07-24 Lsi Corporation System, method, and computer program product for sending logical block address de-allocation status information
US20110004718A1 (en) 2009-07-02 2011-01-06 Ross John Stenfort System, method, and computer program product for ordering a plurality of write commands associated with a storage device
US9792074B2 (en) * 2009-07-06 2017-10-17 Seagate Technology Llc System, method, and computer program product for interfacing one or more storage devices with a plurality of bridge chips
US8140712B2 (en) * 2009-07-17 2012-03-20 Sandforce, Inc. System, method, and computer program product for inserting a gap in information sent from a drive to a host device
US8516166B2 (en) * 2009-07-20 2013-08-20 Lsi Corporation System, method, and computer program product for reducing a rate of data transfer to at least a portion of memory
US9135190B1 (en) 2009-09-04 2015-09-15 Bitmicro Networks, Inc. Multi-profile memory controller for computing devices
US8665601B1 (en) 2009-09-04 2014-03-04 Bitmicro Networks, Inc. Solid state drive with improved enclosure assembly
US8447908B2 (en) 2009-09-07 2013-05-21 Bitmicro Networks, Inc. Multilevel memory bus system for solid-state mass storage
US8560804B2 (en) 2009-09-14 2013-10-15 Bitmicro Networks, Inc. Reducing erase cycles in an electronic storage device that uses at least one erase-limited memory device
US8108737B2 (en) * 2009-10-05 2012-01-31 Sandforce, Inc. System, method, and computer program product for sending failure information from a serial ATA (SATA) solid state drive (SSD) to a host device
US9372755B1 (en) 2011-10-05 2016-06-21 Bitmicro Networks, Inc. Adaptive power cycle sequences for data recovery
US9043669B1 (en) 2012-05-18 2015-05-26 Bitmicro Networks, Inc. Distributed ECC engine for storage media
US9423457B2 (en) 2013-03-14 2016-08-23 Bitmicro Networks, Inc. Self-test solution for delay locked loops
US9400617B2 (en) 2013-03-15 2016-07-26 Bitmicro Networks, Inc. Hardware-assisted DMA transfer with dependency table configured to permit-in parallel-data drain from cache without processor intervention when filled or drained
US9934045B1 (en) 2013-03-15 2018-04-03 Bitmicro Networks, Inc. Embedded system boot from a storage device
US9971524B1 (en) 2013-03-15 2018-05-15 Bitmicro Networks, Inc. Scatter-gather approach for parallel data transfer in a mass storage system
US9734067B1 (en) 2013-03-15 2017-08-15 Bitmicro Networks, Inc. Write buffering
US9875205B1 (en) 2013-03-15 2018-01-23 Bitmicro Networks, Inc. Network of memory systems
US10489318B1 (en) 2013-03-15 2019-11-26 Bitmicro Networks, Inc. Scatter-gather approach for parallel data transfer in a mass storage system
US9430386B2 (en) 2013-03-15 2016-08-30 Bitmicro Networks, Inc. Multi-leveled cache management in a hybrid storage system
US10120694B2 (en) 2013-03-15 2018-11-06 Bitmicro Networks, Inc. Embedded system boot from a storage device
US9798688B1 (en) 2013-03-15 2017-10-24 Bitmicro Networks, Inc. Bus arbitration with routing and failover mechanism
US9720603B1 (en) 2013-03-15 2017-08-01 Bitmicro Networks, Inc. IOC to IOC distributed caching architecture
US9501436B1 (en) 2013-03-15 2016-11-22 Bitmicro Networks, Inc. Multi-level message passing descriptor
US9842024B1 (en) 2013-03-15 2017-12-12 Bitmicro Networks, Inc. Flash electronic disk with RAID controller
US9916213B1 (en) 2013-03-15 2018-03-13 Bitmicro Networks, Inc. Bus arbitration with routing and failover mechanism
US9672178B1 (en) 2013-03-15 2017-06-06 Bitmicro Networks, Inc. Bit-mapped DMA transfer with dependency table configured to monitor status so that a processor is not rendered as a bottleneck in a system
US9811461B1 (en) 2014-04-17 2017-11-07 Bitmicro Networks, Inc. Data storage system
US9952991B1 (en) 2014-04-17 2018-04-24 Bitmicro Networks, Inc. Systematic method on queuing of descriptors for multiple flash intelligent DMA engine operation
US10055150B1 (en) 2014-04-17 2018-08-21 Bitmicro Networks, Inc. Writing volatile scattered memory metadata to flash device
US10025736B1 (en) 2014-04-17 2018-07-17 Bitmicro Networks, Inc. Exchange message protocol message transmission between two devices
US10042792B1 (en) 2014-04-17 2018-08-07 Bitmicro Networks, Inc. Method for transferring and receiving frames across PCI express bus for SSD device
US10078604B1 (en) 2014-04-17 2018-09-18 Bitmicro Networks, Inc. Interrupt coalescing
WO2017058184A1 (en) * 2015-09-30 2017-04-06 Hewlett Packard Enterprise Development Lp Remapping operations
US10552050B1 (en) 2017-04-07 2020-02-04 Bitmicro Llc Multi-dimensional computer storage system

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2251324B (en) * 1990-12-31 1995-05-10 Intel Corp File structure for a non-volatile semiconductor memory
US5341339A (en) * 1992-10-30 1994-08-23 Intel Corporation Method for wear leveling in a flash EEPROM memory
US5581723A (en) * 1993-02-19 1996-12-03 Intel Corporation Method and apparatus for retaining flash block structure data during erase operations in a flash EEPROM memory array
US5388083A (en) * 1993-03-26 1995-02-07 Cirrus Logic, Inc. Flash memory mass storage architecture
US5568423A (en) * 1995-04-14 1996-10-22 Unisys Corporation Flash memory wear leveling system providing immediate direct access to microprocessor

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7006383B2 (en) * 2003-02-04 2006-02-28 Kabushiki Kaisha Toshiba Nonvolatile semiconductor memory for management of a number of data writer/erase times
US7046558B2 (en) 2003-02-04 2006-05-16 Kabushiki Kaisha Toshiba Method for controlling a nonvolatile memory
US8015347B2 (en) 2007-12-28 2011-09-06 Kabushiki Kaisha Toshiba Memory system and control method thereof
US8886868B2 (en) 2007-12-28 2014-11-11 Kabushiki Kaisha Toshiba Memory system and control method thereof
US9026724B2 (en) 2007-12-28 2015-05-05 Kabushiki Kaisha Toshiba Memory system and control method thereof
US9280292B2 (en) 2007-12-28 2016-03-08 Kabushiki Kaisha Toshiba Memory system and control method thereof
US9483192B2 (en) 2007-12-28 2016-11-01 Kabushiki Kaisha Toshiba Memory system and control method thereof
US9933941B2 (en) 2007-12-28 2018-04-03 Toshiba Memory Corporation Memory system and control method thereof
US10558360B2 (en) 2007-12-28 2020-02-11 Toshiba Memory Corporation Memory system and control method thereof
US11287975B2 (en) 2007-12-28 2022-03-29 Kioxia Corporation Memory system and control method thereof
US11893237B2 (en) 2007-12-28 2024-02-06 Kioxia Corporation Memory system and control method thereof
US12229404B2 (en) 2007-12-28 2025-02-18 Kioxia Corporation Memory system and control method thereof

Also Published As

Publication number Publication date
TW270185B (en) 1996-02-11
US5819307A (en) 1998-10-06

Similar Documents

Publication Publication Date Title
US5819307A (en) Control method in which frequency of data erasures is limited
US5524230A (en) External information storage system with a semiconductor memory
US6172906B1 (en) Increasing the memory performance of flash memory devices by writing sectors simultaneously to multiple flash memory devices
US8078797B2 (en) Increasing the memory performance of flash memory devices by writing sectors simultaneously to multiple flash memory devices
JP5002201B2 (ja) メモリシステム
US7526599B2 (en) Method and apparatus for effectively enabling an out of sequence write process within a non-volatile memory system
US7953950B2 (en) Storage device including flash memory and capable of predicting storage device performance
US5890188A (en) Nonvolatile semiconductor memory device having means for selective transfer of memory block contents and for chaining together unused memory blocks
US5841699A (en) Storage device and method to detect its degradation
KR19990029196A (ko) 반도체 기억 장치 및 그 데이터 관리 방법
US8819332B2 (en) Nonvolatile storage device performing periodic error correction during successive page copy operations
KR100914646B1 (ko) 멀티-플레인 구조의 플래시 메모리 관리 방법
US20100180072A1 (en) Memory controller, nonvolatile memory device, file system, nonvolatile memory system, data writing method and data writing program
US7073015B2 (en) Information storage apparatus
JPH06162786A (ja) フラッシュメモリを用いた情報処理装置
US20050204115A1 (en) Semiconductor memory device, memory controller and data recording method
JPH05282879A (ja) メモリのデータ書き込み装置
JPH07160436A (ja) ディスクアレイ装置

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20020115