JP4604144B2 - 摩耗防止を備えたメモリ制御手段を有する記憶システムとメモリの管理方法 - Google Patents

摩耗防止を備えたメモリ制御手段を有する記憶システムとメモリの管理方法 Download PDF

Info

Publication number
JP4604144B2
JP4604144B2 JP2006247979A JP2006247979A JP4604144B2 JP 4604144 B2 JP4604144 B2 JP 4604144B2 JP 2006247979 A JP2006247979 A JP 2006247979A JP 2006247979 A JP2006247979 A JP 2006247979A JP 4604144 B2 JP4604144 B2 JP 4604144B2
Authority
JP
Japan
Prior art keywords
area
memory
shift
storage system
contents
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
JP2006247979A
Other languages
English (en)
Other versions
JP2007042123A (ja
Inventor
ギュテルマン,パスカル
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.)
Thales DIS France SA
Original Assignee
Gemalto SA
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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=9534304&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=JP4604144(B2) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Gemalto SA filed Critical Gemalto SA
Publication of JP2007042123A publication Critical patent/JP2007042123A/ja
Application granted granted Critical
Publication of JP4604144B2 publication Critical patent/JP4604144B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

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; CALCULATING OR 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; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1032Reliability improvement, data loss prevention, degraded operation etc
    • G06F2212/1036Life time enhancement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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

Description

本発明は、少なくとも一つのメモリと、前記メモリの寿命を延ばすように摩耗防止を備えた前記メモリの制御手段を有する記憶システムに関するものである。
本発明は、かかるメモリの摩耗防止制御法にも関するものである。
本発明は、幾つかのデータが頻繁に更新される可能性のある、一切の不揮発性メモリ又は内容が保存されているメモリに適用される。
本発明は、特にチップカードなどの記憶媒体に適用される。
EPROM、EEPROM、FeRAMタイプのメモリの製造者は、不揮発性メモリの技術のいかんを問わず、メモリを構成するそれぞれのセルに可能な書込み読出しの最大数Nが存在することを知っている。
実際、書込みおよび/または読出し数がこの最大数Nに達したとき、メモリは摩耗したと見なされる。すなわち、この数を越えると、情報が変質し、さらにはメモリ中に書き込めるデータが喪失する恐れがある。
本発明は、幾つかのデータについて書込み(EPROMまたはEEPROMメモリの場合)または読出し(FeRAMメモリの場合)の多数のアクセスを行おうとする不揮発性メモリセルの摩耗を減らすことを目的とする。
従来では、機密と見なされるデータ、すなわち頻繁に更新されるデータを、この目的のために確保されたメモリ内の一部に隔離することで、この問題の解決が試みられていた。
残念ながら、当該区域には疲労が存在するが、それは、常に同一のデータに対して、即ち常に同一のメモリセルに対して実行されるこれらの更新が原因で生じるものである。
新しいデータを連続して書き込む際に、情報の摩耗を分散させる装置を実現するように、確保された部分を2つ又は複数の区域に分割してこの問題の解決が試みられた。これによってその情報専用のメモリセルの摩耗による情報喪失が回避できる。実際には、新しいデータに先行する一つまたは複数のデータが、一つまたは複数の専用区域内に保存される。
しかしながら、今日までに提案されたどの方法も、十分に満足できるものではない。言い換えれば、その解決法もかかるメモリの寿命を有意に延長していない。
本発明の目的は、この問題を解決することである。
本発明のもう一つの目的は、負荷を受けるメモリセルがどれかが初めから分かっていない場合を含めて、メモリの摩耗に解決策をもたらすことである。この様なケースは、翻訳可能プログラム(プログラムは翻訳可能言語のデータで構成されている)をカード内にロードする可能性が提供されることによってますます多くなるだろう。翻訳可能プログラムのロードはユーザー自身が実行するダウンロードであることができる。前記プログラムは、メモリセルの摩耗分散を考慮せずに開発することができる。それは、本発明によるカードのメモリ制御手段によって直接考慮される。
本発明の他の一つの目的は、機密データのスパイ行為に解決法をもたらすことであり、なぜなら後で詳しく見るごとく、これらのデータはメモリ内で移動するからである。
本発明の第一の対象は、更新される可能性のある情報を含む少なくとも一つの不揮発性メモリから成る記憶システムであって、前記メモリの内容の全体または一部をそれぞれメモリの全体または一部上で移動させるのに適したこのメモリの制御手段を有することを主たる特徴とする。
即ち、以下の通りである。
第1に、
更新される可能性のある情報を含む不揮発性メモリ(MA)と、このメモリ制御手段(UT,MP)とから成る、不揮発性メモリの摩耗防止を保証する記憶システムであって、
前記不揮発性メモリは、少なくとも一つの領域が空領域(Po)となる複数の領域(A,B,…n)に編成されており、
前記制御手段は、
−第一領域から第二領域への転送手段(T)、
−第一領域(A)に対する全てのアクセス要求(DA)を、第一領域の内容が転送された第二領域へのアクセス要求に変換するような、アドレス変換手段、および、
−シフトコマンド手段
を含んでおり、
前記シフトコマンド手段はランダム制御信号によって起動され、
前記制御手段が、第一領域の内容を第二領域に段階的にシフトさせ、前記第二領域は、空領域であるか、又は前回のシフトの際に空にされた領域であり、
該シフトは、シフトコマンド手段が起動されるごとに1領域ずつ行われ、
該シフトは、領域A、B・・nの順で周期的に行われる
ことを特徴とする、記憶システム。
第2に、
所定のシフト回数の後に、前記領域のそれぞれの内容が、他の全ての領域のそれぞれに転送されることになることを特徴とする、前記第1に記載の記憶システム。
第3に、
所定のシフト回数の後に、前記領域のそれぞれの内容が、開始領域へと転送して戻ってくることになることを特徴とする、前記第1または第2に記載の記憶システム。
第4に、
前記所定のシフト回数が領域の数に等しいことを特徴とする、前記第2または第3に記載の記憶システム。
第5に
換手段が、プログラム(CA1)によって実現される論理ユニットであることを特徴とする、前記第に記載の記憶システム。
第6に、
変換手段が、メモリのアドレス指定回路内の論理回路によって実現される物理ユニット(CA2)であることを特徴とする、前記第1に記載の記憶システム。
第7に、
チップカードで構成されることを特徴とする、前記第1に記載の記憶システム。
実際には、このメモリ内にあって、物理アドレスを維持することが不可欠なデータを除けば、メモリの全ての内容が移動する。例えば、本発明による制御手段によって実施されるメカニズムの制御データ(および/または命令)の場合である。これらのデータがこのメモリ内に保存されているとき、これらの全てのデータ(および/または命令)を含むメモリの部分は移動しない。
チップカードの例では、これは、カードのシリアル番号、または論理ロックなどのデータの場合であることもできる。
これら全てのデータが、カードの別のメモリ内にあるときは、制御されたメモリの全ての内容が移動する。
メモリ制御手段は、繰り返して移動を実現するのに適している。
繰り返し実現される移動は、周期的である。
移動手段は以下から成る。
−第一領域から第二領域への転送手段。
−第一領域への全てのアクセス要求を、第一領域の内容が転送された第二領域へのアクセス要求に変換するようなアドレス変換手段。
移動手段は、第一領域の内容を第二領域に段階的にシフトさせる。
本発明の推奨実施態様によれば、メモリは、一つまたは複数のセルを含む領域に編成され、領域の少なくとも一つが空であり、制御手段は、第一領域の内容を第二領域に段階的にシフトさせ、前記第二領域が、空領域であるか、又は前回のシフトの際に空にされた領域である。
第一領域の内容を、空のあるいは空にされた第二領域に段階的にシフトする移動手段は、更にシフトコマンド手段を備えている。
シフトコマンド手段は、クロック信号によって実現される。
シフトコマンド手段は、ランダム・キャラクタのコマンド信号によって実現される。
シフトコマンド手段は、メモリへのアクセス数と所定の閾値を比較するカウント手段を備えている。
転送手段は、当該第一領域の全体の読出しと当該第二領域への書込みプログラムを備えている。
アドレス変換手段は、プログラムによって実現される論理ユニットを備えている。
アドレス変換手段は、メモリのアドレス指定回路内の論理回路によって実現される物理ユニットを備えている。
本発明の特定の用途では、記憶システムはチップカードによって構成される。
本発明のもう一つの対象は、更新される可能性のある情報を含む少なくとも一つの不揮発性メモリの制御方法であって、前記メモリの内容の全体または一部をそれぞれメモリの全体または一部に移動させる過程から成ることを主たる特徴とする。
即ち、以下の通りである。
に、
更新される可能性のある情報を含む不揮発性メモリ(MA)における、メモリの摩耗防止を保証する方法であって、前記不揮発性メモリは少なくとも一つの領域が空領域(Po)となる複数のデータ保存領域(A,B,…n)に編成されており、
このメモリの制御手段が以下の過程を実行することを特徴とする、不揮発性メモリの磨耗防止保証方法。
・前記制御手段が前記メモリの第一領域の内容を第二領域に段階的にシフトする過程であって、
該シフトは、一つの領域に関するシフトがランダムに起動されるものであり、
該シフトは、領域A、B、・・nの順で周期的に行われるものであり、
前記第二領域とは、空領域であるか、又は前回のシフトの際に空にされた領域である、段階的シフト過程、および、
・制御手段に含まれるアドレス変換手段が、前記第一領域から第二領域への移動過程が行われる都度、第一領域への全てのアクセス要求を第二領域へのアクセス要求に変換するアドレス変換過程。
に、
前記段階的シフト過程が、新しい空領域の位置決定過程を含んでいることを特徴とする、前記第に記載の方法。
10に、
所定のシフト回数の後に、前記保存領域のそれぞれの内容が、他の全ての保存領域のそれぞれに転送されることになる事を特徴とする、前記第に記載の方法。
第11に、
所定のシフト回数の後に、前記保存領域のそれぞれの内容が、開始領域へと転送して戻ってくることになる事を特徴とする、前記第8に記載の方法。
第12に、
前記所定のシフト回数が領域の数に等しいことを特徴とする、前記第10または第11に記載の方法。
第13に、
前記不揮発性メモリがチップカードに含まれることを特徴とする、前記第8に記載の方法。
一つの推奨実施態様によれば、メモリは複数の領域に編成され、移動過程は領域の内容の転送過程を含んでいる。
有利には、方法は以下の過程を含む。
−前記メモリ内に少なくとも一つの空領域を備え、前記メモリ内に記録される情報は、この空の領域以外のメモリ領域内に記録される。
この実施態様によれば、移動過程は、第一領域の内容を第二領域に段階的にシフトすることによって実現され、前記第二領域は、空領域であるか、前回のシフトの際に空にされた領域である。
段階的シフトは以下の過程を含む。
−新しい空領域の位置決定過程。
移動過程はさらに、第一領域に対する全てのアクセス要求を第一領域の内容が転送された第二領域へのアクセス要求に変換するようなアドレス変換過程を含んでいる。
段階的シフトの過程は、シフトコマンド過程を含んでいる。
シフトコマンドは、クロック信号で実現できる。
シフトコマンドは、ランダム・キャラクタの信号によって実現できる。
もう一つの実施態様によれば、シフトコマンド過程は、前記メモリへのアクセス数のカウントと、このアクセス数と記数について予め定められた閾値との比較を含んでいる。
転送過程は、当該第一領域全体の読出しプログラムと当該第二領域への書込みプログラムによって実現される。
本発明のその他の利点と特徴は、付属の図面を参照して、非制限的な例として挙げられた、下記の説明を読むことによって明らかになるだろう。
−図1は、第一の実施態様による記憶システムの模式図である。
−図2は、第二の実施態様による記憶システムの模式図である。
−図3は、本発明による制御手段が実施するメカニズムを説明するメモリ平面図を模式的に示している。
−図4は、完全にサイクルが終わった後のこのメカニズムを示している。
−図5は、本発明による空領域の位置決定手段を模式的に示している。
つぎに、不揮発性メモリ(または保存されたメモリ)が、更新されるデータを含み、かつチップカード1内に存在するという、特定の応用の枠内で本発明を説明する。
図1と図2はチップカードに考えられる2つの形状を図示している。
図1では、チップカード1は、その一部が更新される可能性のあるデータ(および/または翻訳可能なプログラム)のメモリMAだけを含んでいる。前記メモリMAの制御手段2はこの場合、チップカード読取り装置内に移される。
図2では、チップカードは、メモリ制御手段2と同時にメモリMA自体を備えている。
この2つの図は従来通りである。市販の中には、メモリしか含んでいないチップカードと、プログラムメモリを備えたマイクロプロセッサ及び所定の一つまたは複数のアプリケーションのためのメモリを含むチップカードがある。
本発明は、したがって、メモリ制御手段がメモリ自体と同じ媒体であろうと、例えば、チップカード読取り装置内に移動されていようとに拘わらす、制御手段を有する一切の記憶システムに応用できる。
図1は、例えば、マイクロプロセッサである処理ユニットUTと、このマイクロプロセッサMPに組み合わされたプログラムメモリMP(ROMまたはPROM)によって形成された制御手段をより具体的に示している。このプログラムメモリMPは、一般的にアプリケーションプログラムAPを備えている。本発明によれば、プログラムメモリは以下に詳述する制御メカニズムを実施することを可能にするプログラムPも備えている。
したがって、アプリケーションデータのメモリMAの制御手段2は、処理ユニットUTと、このメモリMAの制御メカニズムを実施するのに適したプログラムPを含んだ少なくとも一つのプログラムメモリMPによって構成される。
このため、このプログラムPは、データ転送サブプログラムTと、メモリMAへのアクセス数NADのカウントおよび前記アクセス数NADを所定の閾値Sと比較するプログラムCPCを含んでいる。
このプログラムPは、変換プログラムCA1も含むことができ、物理アドレスを、アプリケーションプログラムAPによって要求された論理アドレスに変換することが出来る。
これらの変換手段は、実際には、例えば、メモリMAのアドレス指定回路A内に含まれたワイヤードロジック回路CA2によって、メモリMAレベルで直接実現することもできる。
実際、既存のシステムの場合には、前述のごとく、プログラムメモリのサブプログラムCA1内の物理アドレス変換メカニズムを用いることを選択することができる。
しかし、新しいシステムと新しいメモリについては、製造段階で、これらの物理アドレス変換を実施するのに適した論理回路CA2を備えることもできる。
図3,4,および5を用いて、本発明による制御手段によって実現される制御メカニズムを説明する。
王冠形状のメモリ平面図による表現は架空のものであり、数字並べパズルのゲームに類似する使用されるメカニズムを図示するためだけのものである。メモリは、領域A,B,C,…nに物理的に分割または編成され、これらの領域が例えば、単独のメモリセルによって、あるいは使用されるメモリの技術によるセルの集合によって形成できることだけを考慮する。
例として、EEPROMメモリでは、メモリはページと呼ばれる領域に編成され、各ページは数バイトのサイズを有する。
図3の模式図は、2つのメモリ平面図を表し、最初の図は、時間To、すなわちメモリアクセス数NADが例えばゼロである瞬間を取ったものであり、第二の図は、時間T1、すなわちこのアクセス数NAD が所定の閾値Sに達した瞬間を取ったものである。
時間Toでは、領域A,B,C,…nと空の領域Poの位置を割り出すことができる。時間T1では、領域Aの内容が空の領域Poに移り、今度は空の領域Poが時間Toにおいての領域Aの物理アドレス内にあることが確認できる。
したがって、このメカニズムによって、空の領域Po内に領域Aの内容をシフトすることが可能になる。新しい領域Poは、領域Aの元の場所にある。
したがって、このメカニズムによって、空の領域Po内に領域Aの内容を転送する操作が可能になる。
このメカニズムはさらに、領域A内にあるデータについての論理アドレスへのアクセス要求DA(読み出しまたは書き込み)をするアプリケーションプログラムAPに対して、物理アドレス(要求される論理アドレスに対応する)から、領域A内の前記データの新しい場所に対応する物理アドレスへ変換させることを可能にする。
領域Aから、空あるいは空にされた領域Poへの転送実施命令は、アクセス数NADカウントサブプログラムが所定の閾値Sに達したときに、制御手段すなわちプログラムPによって出される。
図4は、全てのメモリ領域のシフトを得るために必要な、全てのシフトを実行したときの本発明によるメカニズムを図示している。もし領域の数がnならば、メモリ制御手段によって実行されたシフトの数はこの数nに等しくなり、開始領域と、ついでシフトごとに空にされた領域を用いてメモリの全ての内容が一つの領域から別の領域に転送される。
このようにして、全ての領域が周期的にシフトされる。
例として、もしn=100領域(あるいはページ)あるならば、制御メカニズムは100×100回のシフトを実行して、ページPの元の物理アドレスAD0に対応する開始点に戻る。
図5は、空の領域Poの場所を割り出すための手段を示している。この位置決定を実現するために、このために確保されたこのメモリMAの固定区域内又は制御システムの電気的プログラミング可能メモリ区域内に置くことができる区域Zoを備える。
この区域の長さはnビット以上であり、nは完全なシフトサイクル(全ての領域のシフト)を実施するためのシフト数に対応する。
本発明によるメカニズムは、空の領域Poが移動される都度、一つのビットを1にすることができる。この区域Zoは、このようにして、空の領域の物理的場所を割り出すことを可能にする。別のカウンタが、シフトの完全なサイクル数のカウントを可能にする。このカウンタCPは、例えば、プログラムPによって実現することができる。
したがって、(老化現象のために)アクセス数が限定された一切のメモリについて、前記メモリを使用するアプリケーションプログラムは、前述のメカニズムを実施する制御手段のおかげで、リスクなしに、所望の全てのアクセスを行うことができる。
このメカニズムは最も頻繁に変更される(または読み出される)メモリ領域のデータが必ずしも同じ領域内に位置付けられず、一つの領域から別の領域に移動するようにし、しかもそれを全ての領域について、それらの領域を識別する必要なしに実施できるようにする。
ある瞬間において、ある領域のデータは例えばメモリの初めにあり、次第に終わりの方にスライドし、また初めに戻る。
アプリケーションプログラムは、アクセスしようとするデータの物理的場所が変わったことを意識せずに読出し/書込みアクセスを行う。
例として、本発明のメカニズムが無ければ、もしアプリケーションプログラムが一つのメモリセルにだけアクセス要求を出し、また例えば、N=1,000,000回そこにアクセスするならば、N回目にセルが破壊され、メモリがもう使えなくなる。
このメカニズムのおかげで、プログラムは例えば、情報に1,000,000回アクセスするが、この情報は例えば、100のセルに次々と移動して、それぞれのセルが負荷を受けるのは10,000回になる。
カードの寿命の間に定期的に更新の必要があるデータが保存される領域(セル)は、アプリケーションプログラムによって他の領域よりも強い負荷を受ける。
したがって、本発明はかかるプログラムが、更新するデータに対して、同一のセルまたは同一の領域にいつも負荷をかけないようにすることを可能にする。前記プログラムは、このデータについて、メモリセルの別の集合に負荷をかけ、ついでまた別のセルの集合、云々に負荷をかけることになる。このデータの更新によって生じた摩耗は、結果として、セルまたは領域の複数の集合の上に分散される。
この負荷の分散を得るために用いられる制御手段は、アプリケーションプログラムに対して完全な透明性を得ることを可能にする。
アプリケーションプログラムは、そのアクセス命令(読出しまたは書込みコマンド)を論理アドレスに出し、制御手段がこれらのコマンドを受信し、データが別の物理アドレスに転送されない限り、物理アドレスと要求された論理アドレスの間の通信が従来通り実施される。
制御手段はシフトが行われる都度、すなわちこのデータがある領域の内容が別の領域に転送されたとき、前記データの物理アドレスの変換を実行する。
第一の実施態様による記憶システムの模式図である。 第二の実施態様による記憶システムの模式図である。 本発明による制御手段が実施するメカニズムを説明するメモリ平面図を模式的に示している。 完全にサイクルが終わった後のこのメカニズムを示している。 本発明による空領域の位置決定手段を模式的に示している。
符号の説明
1 チップカード
2 メモリ制御手段

Claims (13)

  1. 更新される可能性のある情報を含む不揮発性メモリ(MA)と、このメモリの制御手段(UT,MP)とから成る、不揮発性メモリの摩耗防止を保証する記憶システムであって、
    前記不揮発性メモリは、少なくとも一つの領域が空領域(Po)となる複数の領域(A,B,…n)に編成されており、
    前記制御手段は、
    −第一領域から第二領域への転送手段(T)、
    −第一領域(A)に対する全てのアクセス要求(DA)を、第一領域の内容が転送された第二領域へのアクセス要求に変換するような、アドレス変換手段、および、
    −シフトコマンド手段
    を含んでおり、
    前記シフトコマンド手段はランダム制御信号によって起動され、
    前記制御手段が、第一領域の内容を第二領域に段階的にシフトさせ、前記第二領域は、空領域であるか、又は前回のシフトの際に空にされた領域であり、
    該シフトは、シフトコマンド手段が起動されるごとに1領域ずつ行われ、
    該シフトは、領域A、B・・nの順で周期的に行われる
    ことを特徴とする、記憶システム。
  2. 所定のシフト回数の後に、前記領域のそれぞれの内容が、他の全ての領域のそれぞれに転送されることになることを特徴とする、請求項1に記載の記憶システム。
  3. 所定のシフト回数の後に、前記領域のそれぞれの内容が、開始領域へと転送して戻ってくることになることを特徴とする、請求項1または2に記載の記憶システム。
  4. 前記所定のシフト回数が領域の数に等しいことを特徴とする、請求項2または3に記載の記憶システム。
  5. 変換手段が、プログラム(CA1)によって実現される論理ユニットであることを特徴とする、請求項1に記載の記憶システム。
  6. 変換手段が、メモリのアドレス指定回路内の論理回路によって実現される物理ユニット(CA2)であることを特徴とする、請求項1に記載の記憶システム。
  7. チップカードで構成されることを特徴とする、請求項1に記載の記憶システム。
  8. 更新される可能性のある情報を含む不揮発性メモリ(MA)における、メモリの摩耗防止を保証する方法であって、前記不揮発性メモリは少なくとも一つの領域が空領域(Po)となる複数のデータ保存領域(A,B,…n)に編成されており、
    このメモリの制御手段が
    ・前記制御手段が前記メモリの第一領域の内容を第二領域に段階的にシフトする過程であって、
    該シフトは、一つの領域に関するシフトがランダムに起動されるものであり、
    該シフトは、領域A、B、・・nの順で周期的に行われるものであり、
    前記第二領域とは、空領域であるか、又は前回のシフトの際に空にされた領域である、段階的シフト過程、および、
    ・制御手段に含まれるアドレス変換手段が、前記第一領域から第二領域への移動過程が行われる都度、第一領域への全てのアクセス要求を第二領域へのアクセス要求に変換するアドレス変換過程
    を実行することを特徴とする、不揮発性メモリの磨耗防止保証方法
  9. 前記段階的シフト過程が、新しい空領域の位置決定過程を含んでいることを特徴とする、請求項8に記載の方法。
  10. 所定のシフト回数の後に、前記保存領域のそれぞれの内容が、他の全ての保存領域のそれぞれに転送されることになる事を特徴とする、請求項8に記載の方法。
  11. 所定のシフト回数の後に、前記保存領域のそれぞれの内容が、開始領域へと転送して戻ってくることになる事を特徴とする、請求項8に記載の方法。
  12. 前記所定のシフト回数が領域の数に等しいことを特徴とする、請求項10または11に記載の方法。
  13. 前記不揮発性メモリがチップカードに含まれることを特徴とする、請求項8に記載の方法。
JP2006247979A 1998-12-22 2006-09-13 摩耗防止を備えたメモリ制御手段を有する記憶システムとメモリの管理方法 Expired - Lifetime JP4604144B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR9816216A FR2787601A1 (fr) 1998-12-22 1998-12-22 Systeme de memorisation comprenant des moyens de gestion d'une memoire avec anti-usure et procede de gestion anti-usure d'une memoire

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2000590059A Division JP3926985B2 (ja) 1998-12-22 1999-12-21 摩耗防止を備えたメモリ制御手段を有する記憶システムとメモリの摩耗防止制御法

Publications (2)

Publication Number Publication Date
JP2007042123A JP2007042123A (ja) 2007-02-15
JP4604144B2 true JP4604144B2 (ja) 2010-12-22

Family

ID=9534304

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2000590059A Expired - Lifetime JP3926985B2 (ja) 1998-12-22 1999-12-21 摩耗防止を備えたメモリ制御手段を有する記憶システムとメモリの摩耗防止制御法
JP2006247979A Expired - Lifetime JP4604144B2 (ja) 1998-12-22 2006-09-13 摩耗防止を備えたメモリ制御手段を有する記憶システムとメモリの管理方法

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2000590059A Expired - Lifetime JP3926985B2 (ja) 1998-12-22 1999-12-21 摩耗防止を備えたメモリ制御手段を有する記憶システムとメモリの摩耗防止制御法

Country Status (9)

Country Link
US (1) US6539453B1 (ja)
EP (1) EP1151384B1 (ja)
JP (2) JP3926985B2 (ja)
CN (1) CN100367236C (ja)
AT (1) ATE436052T1 (ja)
AU (1) AU1784400A (ja)
DE (1) DE69941095D1 (ja)
FR (1) FR2787601A1 (ja)
WO (1) WO2000038067A1 (ja)

Families Citing this family (48)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10144617A1 (de) * 2001-09-11 2003-01-30 Bosch Gmbh Robert Verfahren zum Betreiben einer Schaltungsanordnung, die einen Mikrocontroller und ein EEPROM enthält
US7043493B2 (en) * 2001-09-17 2006-05-09 Fujitsu Limited Hierarchical file system and anti-tearing algorithm for a limited-resource computer such as a smart card
US7330954B2 (en) * 2002-04-18 2008-02-12 Intel Corporation Storing information in one of at least two storage devices based on a storage parameter and an attribute of the storage devices
WO2004040586A1 (en) * 2002-10-28 2004-05-13 Sandisk Corporation Automated wear leveling in non-volatile storage systems
US7082490B2 (en) * 2003-10-20 2006-07-25 Atmel Corporation Method and system for enhancing the endurance of memory cells
US7639542B2 (en) * 2006-05-15 2009-12-29 Apple Inc. Maintenance operations for multi-level data storage cells
US7747813B2 (en) * 2006-11-24 2010-06-29 Sandforce, Inc. Multi-memory device system and method for managing a lifetime thereof
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
US7904619B2 (en) * 2006-11-24 2011-03-08 Sandforce, Inc. System, method, and computer program product for reducing memory write operations using difference information
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
WO2008067185A1 (en) * 2006-11-27 2008-06-05 Sandisk Corporation Segmented bitscan for verification of programming
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
CN100504814C (zh) * 2007-01-17 2009-06-24 忆正存储技术(深圳)有限公司 闪存的区块管理方法
JP5134255B2 (ja) * 2007-01-30 2013-01-30 富士通株式会社 データ記録システム
US7731365B2 (en) * 2007-03-19 2010-06-08 Johnson&Johnson Vision Care, Inc. Method of fitting contact lenses
CN101419834B (zh) * 2007-10-22 2011-03-30 群联电子股份有限公司 平均磨损方法及使用此方法的控制器
CN101149815B (zh) * 2007-10-23 2010-12-01 中兴通讯股份有限公司 硬件模块的信息标签及更新硬件模块的信息标签的方法
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
JP5081076B2 (ja) * 2008-06-23 2012-11-21 株式会社リコー メモリ管理装置、画像形成装置及びメモリ管理方法
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
FR2935504B1 (fr) * 2008-09-02 2010-12-10 Oberthur Technologies Systeme de gestion d'usure d'une memoire non volatile reinscriptible.
KR101038167B1 (ko) 2008-09-09 2011-05-31 가부시끼가이샤 도시바 프로세서로부터 메모리로의 액세스를 관리하는 메모리 관리 장치를 포함하는 정보 처리 장치 및 메모리 관리 방법
JP4909963B2 (ja) * 2008-09-09 2012-04-04 株式会社東芝 統合メモリ管理装置
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
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
JP5523379B2 (ja) * 2010-03-18 2014-06-18 京セラドキュメントソリューションズ株式会社 記憶制御装置、画像形成装置および記憶制御方法
EP2386958A1 (en) 2010-05-13 2011-11-16 Assa Abloy AB Method for incremental anti-tear garbage collection
CN101989459B (zh) * 2010-10-27 2013-10-09 福建新大陆通信科技股份有限公司 通过数据缓冲提高eeprom使用寿命的方法
JP5722685B2 (ja) 2011-04-12 2015-05-27 株式会社日立製作所 半導体装置、不揮発性メモリ装置の制御方法
JP5792019B2 (ja) 2011-10-03 2015-10-07 株式会社日立製作所 半導体装置
US8773193B2 (en) 2012-07-13 2014-07-08 Wispry, Inc. Methods, devices, and systems for switched capacitor array control
JP5847940B2 (ja) 2012-07-19 2016-01-27 株式会社日立製作所 半導体装置
CN108920386B (zh) * 2018-07-20 2020-06-26 中兴通讯股份有限公司 面向非易失性内存的磨损均衡及访问方法、设备和存储介质
JP2021033423A (ja) * 2019-08-19 2021-03-01 ソニーセミコンダクタソリューションズ株式会社 コントローラ、半導体記憶装置、及び該装置における摩耗平準化処理方法

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0546359A (ja) * 1991-08-13 1993-02-26 Mitsubishi Electric Corp 記憶装置
JPH05151097A (ja) * 1991-11-28 1993-06-18 Fujitsu Ltd 書換回数制限型メモリのデータ管理方式
JPH0778485A (ja) * 1993-09-06 1995-03-20 Fuji Film Micro Device Kk 不揮発性半導体記憶装置とデータ書換/読出方法
JPH07122083A (ja) * 1993-10-20 1995-05-12 Mitsubishi Electric Corp 不揮発性半導体記憶装置
JPH07210468A (ja) * 1994-01-18 1995-08-11 Hitachi Ltd 半導体補助記憶装置
JPH0869697A (ja) * 1994-08-31 1996-03-12 Hitachi Ltd 半導体ファイル記憶装置
JPH0918620A (ja) * 1995-06-30 1997-01-17 Sanyo Electric Co Ltd ファクシミリ装置
JPH11511879A (ja) * 1995-09-27 1999-10-12 メモリー・コーポレーシヨン・ピー・エル・シー メモリシステム

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03250499A (ja) * 1990-02-27 1991-11-08 Nec Corp データ記憶回路
US5420993A (en) * 1991-06-13 1995-05-30 Unisys Corporation Extended address translation system for pointer updating in paged memory systems
US6230233B1 (en) * 1991-09-13 2001-05-08 Sandisk Corporation Wear leveling techniques for flash EEPROM systems
JP3407317B2 (ja) * 1991-11-28 2003-05-19 株式会社日立製作所 フラッシュメモリを使用した記憶装置
US5835933A (en) * 1993-02-19 1998-11-10 Intel Corporation Method and apparatus for updating flash memory resident firmware through a standard disk drive interface
JP3215237B2 (ja) * 1993-10-01 2001-10-02 富士通株式会社 記憶装置および記憶装置の書き込み/消去方法
FR2712412B1 (fr) * 1993-11-12 1996-02-09 Peugeot Dispositif de sauvegarde de données dans un ensemble à microprocesseur notamment de véhicule automobile.
JPH0844628A (ja) * 1994-08-03 1996-02-16 Hitachi Ltd 不揮発性メモリ、およびそれを用いたメモリカード、情報処理装置、ならびに不揮発性メモリのソフトウェアライトプロテクト制御方法
JP3446397B2 (ja) * 1995-05-19 2003-09-16 富士ゼロックス株式会社 Eepromの制御方法
DE19525916A1 (de) * 1995-07-04 1997-01-09 Siemens Ag Verfahren zum Aktualisieren des Speicherinhaltes eines elektronischen Speichers eines elektronischen Gerätes
US5845313A (en) * 1995-07-31 1998-12-01 Lexar Direct logical block addressing flash memory mass storage architecture
US5896393A (en) * 1996-05-23 1999-04-20 Advanced Micro Devices, Inc. Simplified file management scheme for flash memory
GB2317720A (en) * 1996-09-30 1998-04-01 Nokia Mobile Phones Ltd Managing Flash memory
US6088759A (en) * 1997-04-06 2000-07-11 Intel Corporation Method of performing reliable updates in a symmetrically blocked nonvolatile memory having a bifurcated storage architecture
JP3534585B2 (ja) * 1997-10-21 2004-06-07 株式会社日立製作所 フラッシュメモリを複数使用した外部記憶装置のデータ記憶制御方法及び装置
US5920501A (en) * 1997-12-12 1999-07-06 Micron Technology, Inc. Flash memory system and method for monitoring the disturb effect on memory cell blocks due to high voltage conditions of other memory cell blocks
US6038636A (en) * 1998-04-27 2000-03-14 Lexmark International, Inc. Method and apparatus for reclaiming and defragmenting a flash memory device
JP2000285688A (ja) * 1999-04-01 2000-10-13 Mitsubishi Electric Corp 不揮発性半導体記憶装置

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0546359A (ja) * 1991-08-13 1993-02-26 Mitsubishi Electric Corp 記憶装置
JPH05151097A (ja) * 1991-11-28 1993-06-18 Fujitsu Ltd 書換回数制限型メモリのデータ管理方式
JPH0778485A (ja) * 1993-09-06 1995-03-20 Fuji Film Micro Device Kk 不揮発性半導体記憶装置とデータ書換/読出方法
JPH07122083A (ja) * 1993-10-20 1995-05-12 Mitsubishi Electric Corp 不揮発性半導体記憶装置
JPH07210468A (ja) * 1994-01-18 1995-08-11 Hitachi Ltd 半導体補助記憶装置
JPH0869697A (ja) * 1994-08-31 1996-03-12 Hitachi Ltd 半導体ファイル記憶装置
JPH0918620A (ja) * 1995-06-30 1997-01-17 Sanyo Electric Co Ltd ファクシミリ装置
JPH11511879A (ja) * 1995-09-27 1999-10-12 メモリー・コーポレーシヨン・ピー・エル・シー メモリシステム

Also Published As

Publication number Publication date
DE69941095D1 (de) 2009-08-20
JP2002533810A (ja) 2002-10-08
CN1338073A (zh) 2002-02-27
ATE436052T1 (de) 2009-07-15
US6539453B1 (en) 2003-03-25
AU1784400A (en) 2000-07-12
JP2007042123A (ja) 2007-02-15
CN100367236C (zh) 2008-02-06
JP3926985B2 (ja) 2007-06-06
FR2787601A1 (fr) 2000-06-23
EP1151384A1 (fr) 2001-11-07
WO2000038067A1 (fr) 2000-06-29
EP1151384B1 (fr) 2009-07-08

Similar Documents

Publication Publication Date Title
JP4604144B2 (ja) 摩耗防止を備えたメモリ制御手段を有する記憶システムとメモリの管理方法
US5611067A (en) Nonvolatile semiconductor memory device having means for selective transfer of memory block contents and for chaining together unused memory blocks
KR100531192B1 (ko) 비휘발성 메모리의 제어방법
EP0686976B1 (en) Data management system for programming-limited type semiconductor memory and IC memory card having the data management system
CN100483366C (zh) 闪速存储器控制器高速缓存架构
CN101727978B (zh) 在电可擦和可编程的非易失性存储器中写入和读取数据的方法
US5963970A (en) Method and apparatus for tracking erase cycles utilizing active and inactive wear bar blocks having first and second count fields
EP1451673B1 (en) Non-volatile memory control
EP1410399B1 (en) Method and apparatus for decreasing block write operation times performed on nonvolatile memory
CN101401076B (zh) 针对具有可擦除/可重写存储器使用带有主机装置的一次或数次可编程存储器的方法及装置
CN110806985B (zh) 用来管理一记忆装置的方法以及其相关的记忆装置
KR101165429B1 (ko) 반도체 기억장치 및 그 액세스 방법 및 메모리 제어 시스템
US7404031B2 (en) Memory card, nonvolatile semiconductor memory, and method of controlling semiconductor memory
EP2309517A1 (en) Method of updating contents of a multibit flash memory
WO2007058624A1 (en) A controller for non-volatile memories, and methods of operating the memory controller
KR930010981A (ko) 플래시메모리를 사용한 기억장치
JP2008242944A (ja) 統合メモリ管理装置及び方法
US6938140B2 (en) System and method for linear object reallocation in place
US7000071B2 (en) Method for virtually enlarging the stack of a portable data carrier
JP3583829B2 (ja) 外部記憶サブシステムの制御方法および制御装置
US20050268026A1 (en) Memory card, semiconductor device, and method of controlling semiconductor memory
US7328302B2 (en) Device and method for treating a state of a memory
JP2010015222A (ja) メモリカード
JP4334331B2 (ja) フラッシュメモリのアクセス制御方法
EP1808769B1 (en) Method for manipulating state machine storage in a small memory space

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090501

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090519

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20090818

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20090821

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090917

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20100720

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20100818

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100822

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20100818

R150 Certificate of patent or registration of utility model

Ref document number: 4604144

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131015

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term