JP3544610B2 - メモリ装置 - Google Patents

メモリ装置 Download PDF

Info

Publication number
JP3544610B2
JP3544610B2 JP26433597A JP26433597A JP3544610B2 JP 3544610 B2 JP3544610 B2 JP 3544610B2 JP 26433597 A JP26433597 A JP 26433597A JP 26433597 A JP26433597 A JP 26433597A JP 3544610 B2 JP3544610 B2 JP 3544610B2
Authority
JP
Japan
Prior art keywords
write
writing
block
interrupt
memory
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP26433597A
Other languages
English (en)
Other versions
JPH10111837A (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.)
Nokia Oyj
Original Assignee
Nokia Oyj
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 Nokia Oyj filed Critical Nokia Oyj
Publication of JPH10111837A publication Critical patent/JPH10111837A/ja
Application granted granted Critical
Publication of JP3544610B2 publication Critical patent/JP3544610B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Read Only Memory (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Memory System (AREA)

Description

【0001】
【発明の属する技術分野】
本発明はメモリ装置及びその装置の動作方法に関する。限定するわけではないが、特に、本発明はフラッシュメモリとして知られるメモリ装置に関する。
【0002】
【従来の技術】
半導体もしくは固体メモリ装置は電子信号もしくは電荷を備えており、それらの電子信号もしくは電荷は、メモリ装置に記憶される必要があるデータを表すように配置されている。電子信号を維持するのに電力を供給しなければならない(時にはリフレッシュすると称す)メモリ装置は、揮発性メモリとして知られている。電子信号を維持するのに電力を必要としないメモリ装置は不揮発性メモリとして知られている。不揮発性メモリの初期のタイプは読み出し専用メモリ(ROM)として知られており、ROMにはデータを表す電子信号もしくは電荷がROMを製造する時点でつくられ、その後、装置が作動した時に電子信号によって表されるデータが読み出された。ユーザがROMにプログラムしたりROMに記憶されたデータを電気的に消去して他のデータに置き換える機能は電気的消去可能プログラム可能読み出し専用メモリ(EEPROM)を用いれば可能である。
【0003】
データの入出力及びアドレス指定がシリアル形式なのでEEPROMのプログラム作成には比較的時間がかかる。加えてEEPROMのプログラム作成時は特別に「高い」電圧が必要となる。しかしながら、携帯電子装置の使用中にユーザもしくはシステムパラメータが変更され、その携帯電子装置が動作する次回の使用のために携帯電子装置が電源を切られる時にパラメータが保存されている必要がある携帯電子装置にEEPROMは特に有益である。このような携帯電子装置は例えば無線電話で、そのパラメータは例えば通話回数/時間、最新通話スタック、ユーザインターフェース用のユーザ設定そしてユーザ名とユーザ番号のメモリのためのパラメータである。このような使用は「1回書き込み/多数回読み出し」タイプのアプリケーションと呼ばれており、使用時に比較的時間を要し、また再プログラミング時に高電力を消費することは携帯電池式装置へのEEPROMの使用に不都合ではない。
【0004】
しかしながら、一般的にEEPROMは8キロバイトもしくは16キロバイトといった比較的小さなメモリサイズでのみ使用可能であり、それ以上のサイズになると非常に高価になってしまう。ますます多くの低電力消費で携帯電子装置用の不揮発性メモリ領域が必要とされるにつれて、EEPROMの代案が必要とされる。このような代案はいわゆるフラッシュメモリで、高記憶密度で使用可能であり、例えば16や32メガビット装置が商用的に使用可能である。
並列のアドレス指定及びデータフォーマットを用いているので、フラッシュメモリはEEPROMよりも早い。加えて、フラッシュメモリはEEPROMよりも待機電力消費が小さい。フラッシュメモリは、通常4キロ、8キロ、16キロ等の倍数のバイト単位であるブロック単位に消去する。一度に1ブロックを消去することによりフラッシュメモリの再プログラミングはEEPROMの再プログラミングよりも早くなり、それが「フラッシュ」の語源になっている。それでもやはり、1ブロック消去には比較的時間がかかり、一般的に8キロバイトの1ブロックには0.5秒かかる。
【0005】
ブロック専用消去機能は「リンクリスト」データ構造を記憶するために用いられているフラッシュメモリである。このような構造はインテル社のスマートヴォルテージブートブロックフラッシュメモリファミリー用の「インテルコーポレーションアプリケーリョンノート AP−604 」に記述されている。これらのフラッシュメモリ装置には変わるデータを記憶するための2 つのいわゆるパラメータブロックが与えられる。いずれの場合もある一時にはパラメータブロックの一方だけが使用される。各データレコードはパラメータ値及びそのパラメータの次のレコードへのポインターを備える。もしあるレコードのパラメータが最新の値ならばそのポインターは「空」であるかもしくはそのパラメータのさらなるデータはないということを示すFFHのような値を与えられる。パラメータ値が更新されると先の最新値のポインターは「空」から新しいパラメータ値が記憶されるレコードのアドレスに変更される。新しいレコードはそのレコード中に記憶される新しい値と「空」ポインターを持つ。
【0006】
最新パラメータブロックが一杯になるまでパラメータ値はリンクリスト構造に記憶される。この段階に達すると、各パラメータの最新値は第2のパラメータブロック(現時点では最新パラメータブロックである)に記憶され、リンクリスト構造は新しい最新ブロックに続く。その後、元の最新パラメータブロックは消去される。
【0007】
【発明が解決しようとする課題】
しかしながら、フラッシュメモリはEEPROM及び同種のものに関連するいくつかの問題や欠点の解決を提示しているけれども、フラッシュメモリにはそれ自身の欠点もある。消去サイクル中はそのブロックが消去されているかどうかに関わらずどのブロックからも読み出すことができない。このことはEEPROM以上の深刻な欠点である。EEPROMではどの個々のバイトについてもデータを読み書きできる。加えて、性能低下が起こる前のフラッシュメモリの消去サイクル数は約100、000消去サイクルが限界であり、それはEEPROMの限界よりも非常に少ない。
本発明の目的はフラッシュメモリに関して起こる問題もしくは欠点の少なくとも一つを改善することである。
【0008】
【課題を解決するための手段】
本発明の第1の特徴の実施例はメモリ管理方法であり、メモリ手段を使用する要求を認知する段階と、記憶している電子信号の変更を受けているメモリ手段を検出する段階と、メモリ手段に記憶された電子信号の変更の種類に応じて前記の要求に応じる段階とを備える。
本発明の実施例の有利な点は、何らかのインタラプトが対応を要求しているかどうかを調べ、定期的にメモリ動作を停止してしまうのを取り除くことである。中央演算装置(CPU)を制御回路として使用する実施例については、これによりCPU時間が節約され、CPUの使用が改善される。
前記の変更はメモリ手段への電子信号の書き込みであり、メモリ管理方法は更にこの電子信号の書き込み期間を決定するのが好ましい。
【0009】
一般的にメモリ管理方法は更に所定期間よりも短い前記書き込み期間、前記の要求に対応するのを遅らせる。
前記方法は更に前記書き込み中に休止が存在するのを検出する段階と、その休止の発生まで前記の要求への対応を遅らせる段階と、その休止中前記書き込みを禁止する段階と、前記書き込みが禁止されている間に前記の要求に対応する段階とを備えるのが適切である。
任意で、前記の書き込みは、第1と第2のグループの電子信号を含む複数の電子信号の書き込み段階を含み、そして休止は第1のグループの書き込みと第2のグループの書き込みとの間で生じ、前記電子信号のグループはデジタル・ワードを表している。
【0010】
このような休止は普通のもしくは当然の休止か、もしくはメモリへのワード書き込みとワード書き込みの間のすき間である。
有利なことに、電子信号の前記の変更はメモリ手段の消去動作を含んでおり、メモリ管理方法は消去動作を禁止する段階と、消去動作を禁止している間に要求に応じ、メモリの動作停止を避け、他の装置にメモリを使用する要求があるかどうかを問い合わせる段階とを備える。
一般的に前記の要求はインタラプト要求である。
本発明の第2の特徴はメモリ手段と制御回路とを備える電子装置であり、制御回路はメモリ手段に記憶された電子信号の変更を検出し、その変更の種類に応じてメモリ手段を使用する要求に応ずるように適応される。
【0011】
本発明の第3の特徴は前記のいずれかの方法に従ってプログラムされたコンピュータプロセッサによるメモリ管理のための電子装置である。
本発明の第4の特徴は前記の全ての方法に従う器械による読解可能な命令を記憶するための記憶媒体である。
【0012】
【発明の実施例】
1995年11月に発行されたアプリケーション・ノートAP−604にインテル・コーポレーションの4メガビット、スマートヴォルテージブートブロックフラッシュメモリが説明されている。このインテルの4メガビットフラッシュメモリを図1に示す。インテルの4メガビットフラッシュメモリ100はブロックに分けられており、各ブロックは固定アドレス・レンジを有している。ブロック102、104そして106はいずれもアドレス00000Hと30000Hとの間に広がっている128キロバイトのブロックである。更に、96キロバイトのブロック108があって、これはアドレス30000Hと3BFFFHとの間に広がっている。フラッシュメモリブロック102、104、106、108はメインメモリブロックを構成し、フラッシュメモリ100の使用中変更することのないもしくは変更されそうにないデータもしくは情報を記憶するのに使用するのが典型である。そのようなデータもしくは情報とはごくたまにソフトウェアのアップグレードもしくは更新が必要となる装置の操作プログラムやアプリケーションソフトウエアである。インテルの4メガバイトフラッシュメモリは8キロバイトのパラメータブロック110と112も含んでいる。パラメータブロックI(110)はアドレス3C000Hと3CFFFHとの間に広がっており、そしてパラメータブロックII(112)はアドレス3D000Hと3DFFFHとの間に広がっている。パラメータブロックIとIIは、フラッシュメモリ100の作動中更新されるのが当然であるデータを記憶するために割り当てられているフラッシュメモリのブロックである。例えば、それらのデータは、フラッシュメモリ100を設置した電子装置の作動に関連するパラメータである。もしその電子装置が例えば携帯無線電話であると、その情報とはユーザーのインターフエースのセットアップ、ユーザー個人の電話帳もしくは使用中変わる無線電話のパラメータに関連しており、無線電話の電源を切っている間、保持されなければならない。最終のメモリブロック114はコードブロックであり、例えば電子装置のオペレーティングシステムを初期化し、そしてアプリケーションコードの破局的な故障の際システムを回復させるのに必要なソフトウエアを記憶するのに適切に割り当てている。更に、コードブロック114は通常フラッシュメモリをプログラムし、そして消去するのに必要なコードを記憶する。コードブロック114はブートブロックとしばしば称され、そしてアドレスが3E000Hから3FFFFHまでのメモリの最高領域を占めている。
【0013】
他の半導体メモリと同じように、フラッシュメモリは電子信号としてデータを記憶する。データはバイナリ情報として記憶され、すなわちその情報もしくは記憶されたデータは「1」もしくは「0」のどちらかを表している。フラッシュメモリの特性は、「1」を「0」に変えることによりフラッシュメモリに情報を書き込む(もしくはプログラムする)ことができるだけであるということである。従ってすべてのメモリ位置を「1」で埋めることにより書き込み(もしくは、プログラミング)ができるようフラッシュメモリを初期化する。フラッシュメモリを消すときは「0」を「1」に変える。更に、フラッシュメモリの特徴は、消去プロセスがブロック単位で実施されることにある。図1を参照する。消去プロセスもしくはサイクルは102〜114のブロック内の一つで生じることとなろう。ブロック内で情報を選択的に消去することはできない。そのブロック内の総ての情報を消さなければならないからである。ブロック消去はその一ブロック内の情報を消去するだけであって、他の総てのブロックは影響を受けることはない。消去サイクルの典型的な定義は、消去操作の後に書き込みもしくはプログラミング操作が続く、もしくは書き込みもしくはプログラミング操作の後に消去操作が続くである。最初、データを読み出そうとする場所をアドレス指定し、それからそのデータを読み出すという比較的普通の方法でフラッシュメモリからの読み出し操作は実施される。インテルの4メガバイト、スマートヴォルテージブートブロックフラッシュメモリの特徴として、5ボルト電源で作動しているとき標準温度範囲では100、000消去サイクルにわたって作動し、広い温度範囲ではわずか10、000消去サイクルにわたってだけ作動することとなっている。規定サイクル数のこの上限はある形式の電子装置にこのフラッシュメモリを使用したときの限界である。
【0014】
図2を参照する。このブロック図に示すマイクロ・コントローラ200は複数の集合搭載機能ユニットを有する。マイクロ・コントローラ200はCPU202、フラッシュメモリ204、ランダムアクセスメモリ(RAM)206、入出力ドライバー208、そしてデジタル信号プロセッサ(DSP)210を備える。CPU202は、そのようなプロセッサに関連した通常の機能を有する普通のプロセッサユニットであり、マイクロ・コントローラ200の他の機能ユニットと相互的に作動し、そしてマイクロ・コントローラ200と組み合わされた電子装置からマイクロ・コントローラ200へ加えられる信号で作動する。入出力ドライバー208は、マイクロ・コントローラ200に搭載の個別の機能ユニット間でのデータの転送を扱い、そしてマイクロ・コントローラ200のユニットと外部電子装置との間でのデータの流れを扱う。集合が大きくなるにつれて、マイクロ・コントローラに搭載の機能ユニットは精緻なものとなっていくのが普通であり、例えばDSP210は無線電話におけるボコーディング機能を果たすよう適切にプログラムされている。一般的にマイクロ・コントローラ200はまた様々な形式のメモリを搭載している。フラッシュメモリ204は不揮発性メモリ手段であって、EEPROMの代わりとしてしばしば使用され、EEPROMに匹敵する。RAM206は揮発性メモリ手段であって、通常スクラッチパッドメモリのような機能を果たすか、もしくはCPUで作動しているソフトウエアと関連して使用する。
【0015】
一般的にフラッシュメモリ204は、CPU202がフラッシュメモリ204の書き込みと消去とを行うための命令をメモリブロック114に記憶している。しかしながら、フラッシュメモリの一つの場所からの読み出しは、そのフラッシュメモリの中の別の場所への書き込みを行っているときにはできないので、フラッシュメモリへの書き込み命令は全てRAM206に先ず一時的に記憶されてから、そのコードを実行させて書き込みプロセスを遂行しなければならない。消去プロセスは「0」を「1」に変えるプロセス、すなわち「書き込み」の形であるので、消去サイクル命令も一時的にRAMにダウンロードしてから消去サイクルが始まるようにしなければならない。
本発明の好ましい実施例ではRAM206は、フラッシュメモリのパラメータブロック110、112の一つに記憶されるパラメータもしくは変数を暫定的に記憶するための8キロバイトブロック(以下、8キロRAMキャッシュと称す)を構成している。フラッシュメモリマネージャー(FMM)として知られている器械による読解可能な一組の命令に従ってCPU202を条件づけてフラッシュメモリの効果的な利用を管理する。FMM−RAMキャッシュルーチンとして知られている器械による読解可能な一組の命令が与えられて、RAMキャッシュ212とパラメータブロック110、112とにおける、そしてそれらの間でのパラメータの記憶を制御する。一般的にFMM−RAMキャッシュルーチンのようなFMM命令がフラッシュメモリ200のメインメモリブロック102から108に記憶されており、そしてもしFMM命令がフラッシュメモリのブロック、具体的にはパラメータブロック110、112の一方もしくは他方のブロックの書き込みもしくは消去を構成するのであればFMM命令はRAM206にダウンロードされる。
【0016】
図3を参照する。FMM−RAMキャッシュルーチン命令に従って条件づけられたCPU202の動作のための本発明の流れ図である。今生きているフラッシュメモリ100のフラッシュパラメータブロック、例えばブロック110に記憶されたパラメータを変えるもしくは更新するとき、FMM300は状態302に入り、この状態ではRAMキャッシュ212に記憶された対応パラメータは新しいパラメータ値に更新される。それからFMM300は状態304に進み、この状態では今生きているフラッシュパラメータブロック110への書き込み中にRAMキャッシュ212の更新が生じたか、否かを決定する。もしRAMキャッシュの更新がフラッシュ書き込み中に生じていると、そのときはFMM300は状態306に入り、この状態では今生きているフラッシュパラメータブロック110にRAMキャッシュ212の内容が書き込まれ、今生きているフラッシュパラメータブロック110をRAMキャッシュ212の内容に更新している。このことは、今生きているフラッシュパラメータブロック110に一部古いデータを、そして一部新しいデータを記憶させることになるかもしれないフラッシュ書き込み中のRAMキャッシュ212への書き込みによって、RAMキャッシュ212に記憶されたパラメータ値と今生きているフラッシュパラメータブロック110に記憶されているパラメータ値との間で発生する不一致を考慮してのことである。もし状態304がノーであると、FMM300は状態308に入り、この状態ではRAM内でいま更新されたパラメータの優先レベルを決める。本発明に従ってパラメータは、フラッシュメモリもしくはマイクロ・コントローラが存在する電子装置の作動に対するそれらの重要性如何によって「至急」パラメータもしくは「緩慢」パラメータのどちらかとすることに注目されたい。どのパラメータが「至急」で、そしてどのパラメータが「緩慢」であるのか、そしてそのような優先レベルが電子装置のための様々なパラメータの中にどのように分配されるかは本発明にとって関心事ではない。ただ注意さるべきこととしては、これら2つの優先レベルを有するパラメータがシステム内に存在しており、そしてそのような優先レベルを有するものとして認識されているということである。いかなるシステムにおいても2つ以上の優先レベルがあってもよいことは明らかであり、そしてそのときはFMM300を他の優先レベルを許容するよう適当に変更する。もし今のパラメータが「緩慢」優先レベルを有するのであれば、FMM300は状態310に入り、そしてもし今のパラメータが「至急」優先レベルを有するのであれば、FMM300は状態312に入る。状態310の間で、もし最後のフラッシュバックアップ以来5つよりも多くの「緩慢」パラメータがRAMキャッシュ212に書き込まれているか、もしくは最後の「緩慢」パラメータがRAMキャッシュ212へ書き込まれてから一分以上経っていて、そしてその間にフラッシュバックアップがないならば、FMM300は状態306に入り、この状態では今生きているフラッシュパラメータブロック110にはRAMキャッシュ212の内容が書き込まれて、RAMキャッシュ212をバックアップする。もし状態310がノーであると、FMM300は状態302に入り、この状態では次のパラメータがRAMキャッシュ212に書き込まれるのを待っている。状態312において、もし最後のフラッシュバックアップ以来一つよりも多い至急パラメータがRAMキャッシュ212に書き込まれているか、もしくは最後の至急パラメータがRAMキャッシュ212へ書き込まれてから2秒経っており、そしてフラッシュへの暫定的なバックアップがなかったならば、FMM300は状態306に入り、この状態ではRAMキャッシュ212の内容が今生きているフラッシュメモリのパラメータブロック110にバックアップされる。もし状態312がノーであると、FMM300は状態302に入り、この状態では次のパラメータがRAMキャッシュ212に書き込まれるのをプロセスは待っている。
【0017】
それぞれの状態310、312における基準を詳述する必要のないことは当業者なら理解されよう。その基準は特定の電子装置のパラメータの種類と優先レベルとを考慮して変えられるものである。
図3の流れ図から明かなように、生きているフラッシュメモリのパラメータブロック110への書き込みを必要とする状態と、そのような書き込みを必要としない状態とをFMM300は有している。従って、CPU202がFMM300に従って作動するよう条件づけられようとするとき、FMM300に関係する命令の総てをフラッシュメモリからRAM206にダウンロードしなければならないということではなく、フラッシュメモリのパラメータブロック110への「書き込み」を開始するその部分のFMM300の命令だけをダウンロードすれば足りる。
【0018】
フラッシュメモリは個別に消去されることはできないので、RAMキャッシュ212の内容の各々の順次のバック・アップは今生きているフラッシュメモリのパラメータブロック110内の次に利用できるアドレスに書き込まれる。前に説明したリンクリストのデータ構造がこの目的に特に適している。いつかは、今生きているフラッシュメモリのパラメータブロック110は一杯になる。その時は今生きているフラッシュメモリのパラメータブロック110に記憶されているパラメータの最近の値が第2のフラッシュメモリのパラメータのメモリブロック112に記憶される。今はこの第2のフラッシュメモリのパラメータブロックが、今生きているパラメータブロックとなり、そしてRAMキャッシュ212の内容はFMM300の制御下で新しい今生きているパラメータブロック112へ書き込まれる。電子装置の作動中都合のよいときに元の生きていたパラメータブロック110を消去する、すなわちすべてのメモリ領域を1で満たして、今生きているパラメータブロック212が一杯になった時にパラメータの更新値を受けれるようにする。
【0019】
FMM−RAMキャッシュ・ルーチンにより管理されているフラッシュメモリは長く有効に使用できる。パラメータ値が変化する毎にフラッシュメモリを必ずしも更新する必要はなく、ある回数のパラメータの更新があったときだけ、もしくはパラメータが非常に重要であってフラッシュメモリに直ぐにも保存されなければならないときだけフラッシュメモリを更新すれば足りるからである。こうして、従来の仕方で管理されているフラッシュメモリで可能となるよりももっと多くのパラメータの更新が可能となる。
CPU202のようなセントラルプロセッサユニットが制御している電子装置の作動中、フラッシュメモリ204とRAM206のようなメモリデバイスから情報を読み出さなければならない。しかしながら、上に説明したように、フラッシュメモリのブロックへの書き込み中もしくは消去中にフラッシュメモリ204から読み出すことはできない。従ってもし書き込み中もしくは消去中にフラッシュメモリ204からデータを読むことをCPUが要求するならば、その要求は無視される。そのような要求は以下にインタラプトと称する。
【0020】
電子装置の種類とそれの状態とによって異なるが、もしインタラプトもしくは少なくともある種類のインタラプトに迅速に応じないのであれば、その電子装置は正しく機能するのを停止する。消去についてはその遅延は8キロブロックで2秒までであり、普通この遅延はインタラプトに応じるまでの遅延としては長過ぎる遅延である。
図4を参照する。本発明の好ましい実施例に従うフラッシュメモリマネージャー(FMM)インタラプトハンドラールーチン400の流れ図を示す。CPU202はFMMインタラプトハンドラールーチン400に従って動作するよう条件づけられている。フラッシュメモリ204へのアクセスを要求するインタラプトが発生するとFMMインタラプトハンドラー400が発動される。フラッシュメモリ204が現在書き込みもしくは消去動作中かどうかを状態402でFMMインタラプトハンドラーが決定する。もしそのような動作中でなければ本システムの標準インタラプトハンドラールーチンが開始される状態404に入る。標準インタラプトハンドリングルーチンは当業者には良く知られていて、詳細な説明は不要である。標準インタラプトハンドラーは通常の方法でイタラプト要求に応じ、必要なデータ場所であればどこからでも読み出す。もし書き込みもしくは消去中で、もしフラッシュメモリ204へ「短い」書き込み中ならばFMMインタラプトハンドラー400は状態406に入り、もし「長い」書き込み、例えば1ワードの書き込み中ならば状態408に入り、そしてもし消去中ならば状態410に入る。
【0021】
状態406でフラッシュメモリ204への短い書き込みのために、インタラプトハンドラー400は状態412に入る。そこではインタラプトは不可能である。「短い」書き込みが終わったら、インタラプトハンドラー400は状態414に入る。そこではフラッシュメモリ204のブロック読み出し状態が可能である。その後、インタラプトハンドラーは状態404に入る。そこでは標準インタラプトハンドラーが発動される。一般的に「短い」書き込みとみなされる書き込みの最長時間はCPU202上で動く命令によって制御される電子装置の性質によって変わり、当業者によって適切に決定される。一般的に6マシンサイクルよりも少ない書き込みもしくは1命令が「短い」書き込みとみなされている。
もし例えば多くの「ワード」から成るような「長い」書き込み中ならば、インタラプトハンドラー400は状態408に入り、そして1ワード(一般的に8もしくは16ビット)を現在フラッシュメモリ204に書き込み中かどうかを判断する。もし書き込み中でないならインタラプトハンドラー400は状態414に入る。そこではフラッシュメモリ204はブロック読み出しモードになり、そしてその後状態404に入る。そこでは標準インタラプトハンドラーが発動される。もし1ワードを現在フラッシュメモリ204に書き込み中ならば状態412に入り、ワードの書き込みが終わるまでインタラプトは不可能となる。その後、状態414に入り、ブロック読み出しモードが可能となり、そして状態404で標準インタラプトハンドラーが発動される。任意に、ワード書き込みとワード書き込みの間でインタラプトが可能である。一般的に、ワード書き込みとワード書き込みの間には、新しいワードをデータバッファに置いたりもしくは新しいワードの書き込み用アドレスをロードするための休止があるからである。このようにして、もしこのような可能な期間中にインタラプトが発生したらFMMインタラプトハンドラーはフラッシュメモリ204を読み出しモードにして、インタラプトに応じる。FMMインタラプトハンドラーは「長い」書き込みがワード書き込みとワード書き込みとの間にあるのを検出し、その後フラッシュメモリ204を読み出しモードにする。「長い」書き込みがワード書き込みとワード書き込みの間に入ってきそうな時も認識する。
【0022】
もしFMMインタラプトハンドラー400が消去中であることが検出されている状態410に入ると消去処理は中止されて、状態414でブロック読み出しモードが可能となる。標準インタラプトハンドラーが状態404で発動される。
状態404からFMMインタラプトハンドラー400は状態416に入る。そこではインタラプトハンドラーの発動に先立って実施されていた動作が継続される。例えばもし消去中であったならばインタラプトに応じて中止したところから状態416で消去を続ける。同様に、もし「長い」書き込み中にインタラプトされたなら次のワード書き込みが状態416で実施される。
FMMインタラプトハンドラー400はフラッシュメモリ204に記憶されているが、フラッシュ消去もしくは書き込み操作が実施されなければならない場合は一時的にRAM206に移される。任意で、インタラプトハンドラー400はRAM206に記憶されるのが好ましい。単に一時的にもしくは好ましくに関わらずRAMに記憶されたならば、インタラプト要求はFMMインタラプトハンドラー400を含むRAMアドレスに指示されなければならない。
【0023】
前記したようにフラッシュメモリ204にはフラッシュメモリの性能の低下前に実施できる消去サイクル数に限界がある。フラッシュメモリマネージャーはCPU202にFMMブロックリ・ユースポリシーとして知られる器械による読解可能な一組の命令を与えて、フラッシュメモリブロックを均等に再使用する手段を与え、全ブロックが丁度各ブロック同じ消耗になるようにする。
図5を参照する。FMMブロックリ・ユースポリシーを表している図を示す。CPU202はFMMブロックリ・ユースポリシーに従って動作するよう条件づけられている。ブロックリ・ユースポリシーは一組のサブルーチンを備え、消去−カウント(erase _count )502、消去−開始(erase _initiate)504、コピー−開始(copy_initiate)506、コピー−フロム(copy_from)508、コピー−トゥ(copy_to)510そしてコピー−消耗均一化用(copy_for _wear_levelling )512に分類されている。
【0024】
消去−カウントサブルーチン502は何回ブロックが消去されたかの記録を保持する。ブロックが消去された回数はブロック消耗カウントとして知られている。ブロック消耗カウントはフラッシュメモリが使用される最初の回数を0として開始される。すなわちフラッシュメモリマネージャーがフラッシュメモリ204が備わっている電子装置で動く最初の回数である。フラッシュメモリの各ブロックに対してブロック消耗カウントがあり、ブロック消耗カウントは対応するブロックが消去される度に増す。一般的にあるブロックを消去して、そこに他のブロックをコピーする。従ってコピー先のブロックが消去されている間、消去されているブロック消去のブロック消耗カウントはコピー元のブロックに記憶される。消去−開始サブルーチン504はフラッシュメモリ204内で消去処理の動作を制御する。一般的に消去可能なブロックは消去される。このような消去は、CPU202からのインタラプト要求に応じる必要性からフラッシュメモリマネージャーがインタラプションを要求する時にだけインタラプトされる。
【0025】
コピーの開始はコピー−開始サブルーチン506に従って器械による読解可能な命令により制御される。殆ど一杯のブロックから未使用のブロックへブロックコピーを開始する規準は以下の通りである。「少なくとも1ブロックが80%以上一杯で、そのブロック中に少なくとも20%の使用済み領域がある。かつ同じサイズの空きブロックが使用可能である場合。」
コピー開始サブルーチン506を特定の電子装置もしくはマイクロ・コントローラ/命令セットアーキテクチャーに適応する当業者によって他の条件もしくは規準は決められる。コピー開始サブルーチン506で規準を満たす条件になるとコピー−フロムサブルーチン508及びコピー−トゥサブルーチン510が発動される。コピー−フロムサブルーチン508により最大の使用済み領域をもつブロックの内容がコピーされる。一般的にコピー−フロムサブルーチン508が発動する時、通常1つよりも多くのコピー元の候補となるブロックがある。例えば、もし8つの8キロバイトのブロックがあり、その内6ブロックが以下の通り一杯であるとする。
【0026】
「1つは90%の使用済み領域があり、消耗カウントは30である。1つは80%の使用済み領域があり、消耗カウントは20である。1つは50%の使用済み領域があり、消耗カウントは9である。1つは45%の使用済み領域があり、消耗カウントは3である。1つは30%の使用済み領域があり、消耗カウントは2である。そして最後の1つは10%の使用済み領域がある。消去されているブロックと最後のブロックの中から1つが消去される。」
コピー−フロムサブルーチン508の規準に従ってコピー元となる候補は90%の使用済み領域があるブロックとなる。しかしながら、このブロックは最も消耗カウント数が多い。消耗カウントと使用済み領域の割合とのいずれかを優先させるのは任意である。例えば、使用済み領域の割合が高くなると、最大の領域が解放されるためメモリ資源の使用が良くなり、次のブロックコピーまでの時間が増大する。もし最大の使用済み領域を持つブロックが選ばれないと、次のコピーが早く発生し、従ってブロックコピー要求が早く出され、それ故消耗が早くなってしまうというように連鎖する。「使用済み領域」という言葉は既に更新されてしまった値を記憶しているメモリ領域のことを称しており、従って更新した値は異なるメモリ領域にあるということを注意しておく。各フラッシュブロックは100、000回消去及び再書き込みできるので、コピー元となるブロックの決定において消耗カウントは小さい要因である。従って、特定の実施例においてはコピー−フロムサブルーチン508は消耗カウントを無視し、コピー元となるブロックは最大の使用済み領域をもつブロックであるという単純な規準を使っている。特定の環境内でフラッシュメモリ装置の使用を最適にしようとして当業者が消耗カウントと使用済み領域の割合とのいずれかを優先させるのをいけないと言っているわけではない。
【0027】
コピー−トゥポリシー510が発動される時、一般的にコピー先のメモリブロックの候補は1つよりも多い。例えば、8つの内4つが一杯である8キロバイトブロックを取り上げる。1つは他のブロックに既にコピーされているデータをもち、一つは消去中であり、そして2つは既に消去されているので、この2つだけがすぐに使用可能である。正確には既に消去されている2つのメモリブロックである。これら2つのブロックの各々がブロック消耗カウントをもつ。コピー−トゥサブルーチン510の規準はコピー先となる最初のブロックは最小の消耗カウントをもつブロックである。
ある型のアプリケーションにおいてはフラッシュメモリブロックのいくつかは決してもしくは殆ど消去されない。例えば、あるアプリケーションは2つの大きなレコードをメモリブロックに保存し、決してそれらを消去したり、書き込んだりしない。このような状態では、この特定ブロックは決して消耗しないが、フラッシュメモリ中の他のブロックは消耗してしまう。フラッシュメモリ内のブロックの消耗値間の何らかの大きな差異を認識するためにコピー−消耗均一化専用サブルーチン512が適応され、比較的消耗していないブロックから最も消耗しているブロックへブロックコピーさせたり、又、最も消耗しているブロックから比較的消耗していないブロックへブロックコピーさせたりする。このようにして殆ど消耗していないブロックは何度も使用されるようになり、非常に消耗したブロックの消耗は実質的に減少する。最も使用されていないブロックの消耗レベルと最も使用されているブロックの消耗レベルの差が所定の値を超えると強制コピーが発生する。この値はフラッシュメモリを使用しているアプリケーションに依存するが、一般的に1から40%の範囲内である。フラッシュメモリへの書き込み/消去頻度に応じてこの範囲を変更するようにする。高頻度の書き込み/消去の使用によって強制コピーがより頻繁に発生するからである。加えて、ブロックの消耗カウントが増大するにつれて強制コピーが頻繁に発生する。1ブロック単位についてであっても、強制コピーは前述した規準を考慮するよう適応される。
【0028】
前記の観点から本発明の範囲内で様々な変更を加えることが可能であることは当業者にとって明らかである。例えば、先に述べたように2つよりも多いパラメータの優先レベルがあり、RAMキャッシュ212がフラッシュメモリ100にバックアップされるかどうかを決定する基準がマイクロ・コントローラ200とフラッシュメモリ100が備わっている電子装置に合うように適応される。例えば、さらに先の状態がFMM300には存在し、FMM300は携帯電子装置の電源停止の始まりを検出して、電源停止の前にRAMキャッシュ212を今生きているフラッシュメモリパラメータブロックにバックアップする。
本発明は、本文中で明記した、もしくは示唆したいかなる新規な特徴又はそのような特徴の組み合わせをも含む。又は本発明の請求項に関するかどうか、或いは取り上げた問題のいずれか又は全てを改善するかどうかに関わらず、本発明は一般化したどのような特徴をも含む。本件ならびに本件の分割審査中に新しい請求項を提出することがあることを注記しておく。
【図面の簡単な説明】
【図1】一般的なフラッシュメモリの図を示す。
【図2】VLSIマイクロ・コントローラのブロック図を示す。
【図3】フラッシュメモリマネージャーRAMキャッシュルーチンの流れ図を示す。
【図4】本発明の好ましい実施例に従うフラッシュメモリマネージャーインタラプト
ハンドリングルーチンの流れ図を示す。
【図5】フラッシュメモリマネージャーブロックコピーポリシーの図式表現を示す。
【符号の説明】
100 フラッシュメモリ
102、104、106 128キロバイトのブロック
108 96キロバイトのブロック
110、112 8キロバイトのパラメータブロック
114 16キロバイトのコードブロック
200 マイクロ・コントローラ
202 CPU
204 フラッシュメモリ
206 ランダムアクセスメモリ(RAM)
208 入出力装置
210 デジタル信号プロセッサー(DSP)
212 RAMキャッシュ
214 無線電話
502 消去−カウントサブルーチン
504 消去−開始サブルーチン
506 コピー−開始506サブルーチン
508 コピー−フロムサブルーチン
510 コピー−トゥサブルーチン
512 コピー−消耗均一化用サブルーチン

Claims (9)

  1. メモリ管理方法において、
    不揮発性メモリへ書き込みを行い若しくは消去を行う命令を受け取るまで、不揮発性メモリの命令を実行する段階と、
    不揮発性メモリへ書き込みを行い若しくは消去を行う命令を受け取ったときに、揮発性メモリにおける命令の実行と不揮発性メモリにおける書き込み若しくは消去命令の実行を開始する段階と、
    インタラプト信号を受け取ったときに、前記不揮発性メモリが書き込み若しくは消去動作を受けているかどうかを判断し、それに応じてインタラプトに応じる段階と、
    前記インタラプトに応じたとき、適当ならば、前記書き込み若しくは消去動作を再開する段階と、
    前記書き込み若しくは消去が一旦完了したら、前記不揮発性メモリにおける命令の実行を再び開始する段階と、を備え、
    前記方法は、更に、書き込み命令を受け取ったときに、前記不揮発性メモリへの電子信号の書き込みのために書き込みの特性を判断し、該書き込みの特性にしたがって前記インタラプトに応じるのを遅らせることを特徴とする方法。
  2. 請求項1記載の方法において、前記書き込みの特性は、前記不揮発性メモリへの前記電子信号の書き込みのための期間であり、前記方法は、該期間が所定期間よりも短い場合には、前記期間の間、前記インタラプトに応じるのを遅らせる方法。
  3. 請求項1記載の方法において、前記書き込みの特性は、前記書き込みにおける休止であり、前記方法は、更に、
    前記書き込み中に休止が存在するのを検出する段階と、
    前記休止の発生に関して前記インタラプトに応じるのを遅らせる段階と、
    前記休止中前記書き込みを禁止する段階と、
    前記書き込みが禁止されている間に前記インタラプトに応じる段階と、
    を備える方法。
  4. 請求項3記載の方法において、前記書き込みは、第1と第2グループの電子信号を表わす複数のデータの書き込みを備え、前記休止は前記第1グループの書き込みと前記第2グループの書き込みとの間に生じる方法。
  5. 請求項4記載の方法において、前記電子信号のグループはデジタルワードを表わす方法。
  6. 請求項1記載の方法において、前記不揮発性メモリ手段の消去動作中に、前記方法は更に、前記消去動作を禁止して該消去動作の禁止中に前記インタラプトに応じることを備える方法。
  7. 電子装置において、
    揮発性メモリ、不揮発性メモリ、制御回路とを備え、
    前記制御回路は、不揮発性メモリへ書き込みを行い消去を行う命令を受け取るまで、該不揮発性メモリの命令を実行するようにされており、
    不揮発性メモリへ書き込みを行い若しくは消去を行う命令を受け取ったときに、前記制御回路は、揮発性メモリにおける命令を実行させ、且つ、不揮発性メモリにおける書き込み若しくは消去命令を実行させるようにされており、
    インタラプト信号を受け取ったときに、前記制御回路は、前記不揮発性メモリが書き込み若しくは消去動作を受けているかどうかを判断し、これに従ってインタラプトに応じるようにされており、
    前記インタラプトに応じたとき、適当ならば、前記制御回路は、前記不揮発性メモリ手段による前記書き込み若しくは消去動作を再開させるようになっており、
    前記書き込み若しくは消去が一旦完了したら、前記制御回路は、前記不揮発性メモリにおける命令の実行を再び開始させるようになっており、
    前記制御回路は、更に、書き込み命令を受け取ったときに、前記不揮発性メモリへの電子信号の書き込みのために書き込みの特性を判断し、該書き込みの特性にしたがって前記インタラプトに応じるのを遅らせる装置。
  8. 請求項1記載の方法に従って動作するようにプログラムされたコンピュータプロセッサによるメモリ管理のための電子装置。
  9. 請求項1記載の方法に従って動作するプログラムを記録した、コンピュータ読み取り可能な記録媒体。
JP26433597A 1996-09-30 1997-09-29 メモリ装置 Expired - Fee Related JP3544610B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GB9620371A GB2317721B (en) 1996-09-30 1996-09-30 Memory device
GB9620371:6 1996-09-30

Publications (2)

Publication Number Publication Date
JPH10111837A JPH10111837A (ja) 1998-04-28
JP3544610B2 true JP3544610B2 (ja) 2004-07-21

Family

ID=10800720

Family Applications (1)

Application Number Title Priority Date Filing Date
JP26433597A Expired - Fee Related JP3544610B2 (ja) 1996-09-30 1997-09-29 メモリ装置

Country Status (5)

Country Link
US (1) US5912848A (ja)
EP (2) EP0833250B1 (ja)
JP (1) JP3544610B2 (ja)
DE (1) DE69717229T2 (ja)
GB (1) GB2317721B (ja)

Families Citing this family (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100297986B1 (ko) * 1998-03-13 2001-10-25 김영환 플래쉬 메모리 셀 어레이의 웨어 레벨링 시스템 및 웨어 레벨링 방법
JP4135220B2 (ja) * 1998-07-01 2008-08-20 株式会社デンソー 車両用電子制御装置
DE69832609D1 (de) * 1998-09-30 2006-01-05 St Microelectronics Srl Emulierte EEPROM Speicheranordnung und entsprechendes Verfahren
JP2000148594A (ja) * 1998-11-10 2000-05-30 Mitsubishi Electric Corp Romデータの読み出しプロテクト回路
DE10025594A1 (de) * 2000-05-24 2001-11-29 Diehl Munitionssysteme Gmbh Empfindlichkeitsabgleichung eines optronischen Zünders
DE10025962A1 (de) * 2000-05-25 2001-12-06 Diehl Munitionssysteme Gmbh Verfahren zum Abgleich eines optronischen Zündsystems
DE10026533A1 (de) * 2000-05-27 2001-12-06 Diehl Munitionssysteme Gmbh Verfahren zum Entfernungsabgleich eines optronischen Zünders
FR2824414B1 (fr) * 2001-05-07 2003-12-12 Sagem Procede de gestion d'operations d'effacement dans des memoires de telephone mobile
US7487316B1 (en) * 2001-09-17 2009-02-03 Rockwell Automation Technologies, Inc. Archive and restore system and methodology for on-line edits utilizing non-volatile buffering
US7085879B2 (en) * 2002-02-27 2006-08-01 Microsoft Corporation Dynamic data structures for tracking data stored in a flash memory device
US6901499B2 (en) * 2002-02-27 2005-05-31 Microsoft Corp. System and method for tracking data stored in a flash memory device
US7010662B2 (en) * 2002-02-27 2006-03-07 Microsoft Corporation Dynamic data structures for tracking file system free space in a flash memory device
US7533214B2 (en) 2002-02-27 2009-05-12 Microsoft Corporation Open architecture flash driver
DE60316171T2 (de) * 2002-10-28 2008-05-29 SanDisk Corp., Milpitas Automatischer abnutzungsausgleich in einem nicht-flüchtigen speichersystem
US7082512B2 (en) * 2002-11-21 2006-07-25 Microsoft Corporation Dynamic data structures for tracking file system free space in a flash memory device
JP4179945B2 (ja) * 2003-08-08 2008-11-12 サンデン株式会社 自動販売機の端末制御装置
KR100526190B1 (ko) * 2004-02-06 2005-11-03 삼성전자주식회사 플래시 메모리의 재사상 방법
US7930589B2 (en) * 2005-06-17 2011-04-19 Analog Devices, Inc. Interrupt-responsive non-volatile memory system and method
TW200719317A (en) * 2005-11-11 2007-05-16 Coretronic Corp Memory module used for display device
US7562180B2 (en) * 2006-03-28 2009-07-14 Nokia Corporation Method and device for reduced read latency of non-volatile memory
US8307148B2 (en) 2006-06-23 2012-11-06 Microsoft Corporation Flash management techniques
KR100843136B1 (ko) * 2006-11-14 2008-07-02 삼성전자주식회사 비휘발성 메모리에서 연산 처리를 제어하는 장치 및 그방법
US7987332B2 (en) * 2007-03-21 2011-07-26 Sandisk Technologies Inc. Methods for storing memory operations in a queue
US8332574B2 (en) 2007-04-30 2012-12-11 Sandisk Il Ltd. Method for efficient storage of metadata in flash memory
US8504784B2 (en) * 2007-06-27 2013-08-06 Sandisk Technologies Inc. Scheduling methods of phased garbage collection and housekeeping operations in a flash memory system
JP2012529692A (ja) * 2009-06-10 2012-11-22 マイクロン テクノロジー, インク. メモリアレイにおける読み出し待ち時間を短縮するためのメモリ操作の一時停止
US8850103B2 (en) * 2009-08-28 2014-09-30 Microsoft Corporation Interruptible NAND flash memory
JP4966404B2 (ja) 2010-10-21 2012-07-04 株式会社東芝 メモリ制御装置、記憶装置、及びメモリ制御方法
US10141314B2 (en) * 2011-05-04 2018-11-27 Micron Technology, Inc. Memories and methods to provide configuration information to controllers
US10355001B2 (en) 2012-02-15 2019-07-16 Micron Technology, Inc. Memories and methods to provide configuration information to controllers
CN103809717B (zh) * 2012-11-09 2017-04-12 华为技术有限公司 复位方法和网络设备
CN103902468B (zh) * 2012-12-27 2018-02-23 华为技术有限公司 存储系统的数据清除方法和装置
US8812744B1 (en) 2013-03-14 2014-08-19 Microsoft Corporation Assigning priorities to data for hybrid drives
US9626126B2 (en) 2013-04-24 2017-04-18 Microsoft Technology Licensing, Llc Power saving mode hybrid drive access management
US9946495B2 (en) 2013-04-25 2018-04-17 Microsoft Technology Licensing, Llc Dirty data management for hybrid drives
US10237329B1 (en) * 2014-09-26 2019-03-19 Amazon Technologies, Inc. Wirelessly preparing device for high speed data transfer
US10394462B1 (en) 2014-12-04 2019-08-27 Amazon Technologies, Inc. Data shaping to reduce memory wear in a multi-tenant database
US10496288B1 (en) * 2014-12-04 2019-12-03 Amazon Technologies, Inc. Mechanism for distributing memory wear in a multi-tenant database

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5287469A (en) * 1988-12-27 1994-02-15 Nec Corporation Electrically erasable and programmable non-volatile memory (EEPROM), wherein write pulses can be interrupted by subsequently received read requests
US5072420A (en) * 1989-03-16 1991-12-10 Western Digital Corporation FIFO control architecture and method for buffer memory access arbitration
DE4215063C2 (de) * 1991-05-10 1999-11-25 Intel Corp Einrichtung und Verfahren zum Seitenwechsel bei einem nicht-flüchtigen Speicher
FI89993C (fi) * 1991-05-31 1993-12-10 Nokia Mobile Phones Ltd Programmering av installationsdata i en mobiltelefon
US5519847A (en) * 1993-06-30 1996-05-21 Intel Corporation Method of pipelining sequential writes in a flash memory
US5471518A (en) * 1993-08-10 1995-11-28 Novatel Communications Ltd. Method and apparatus for non-volatile data storage in radio telephones and the like

Also Published As

Publication number Publication date
EP1209570A3 (en) 2006-01-04
US5912848A (en) 1999-06-15
EP1209570A2 (en) 2002-05-29
EP0833250A1 (en) 1998-04-01
EP0833250B1 (en) 2002-11-20
GB2317721A (en) 1998-04-01
DE69717229D1 (de) 2003-01-02
GB2317721B (en) 2001-09-12
JPH10111837A (ja) 1998-04-28
GB9620371D0 (en) 1996-11-13
DE69717229T2 (de) 2003-07-24

Similar Documents

Publication Publication Date Title
JP3544610B2 (ja) メモリ装置
JPH10133940A (ja) メモリ装置
US6092160A (en) Memory management method
JP4822440B2 (ja) 不揮発性メモリシステムのための内部メンテナンススケジュール要求
US5530827A (en) Data management system for programming-limited type semiconductor memory and IC memory card employing data save/erase process with flag assignment
JP5336060B2 (ja) 不揮発性メモリ装置およびそれを動作させる方法
CA2162818C (en) Rewritable rom file device
US7876616B2 (en) System and method for wear leveling utilizing a relative wear counter
US20050060699A1 (en) Method and system for updating software
JPH09185551A (ja) 半導体記憶装置
US10579300B2 (en) Information handling system firmware persistent memory runtime reclaim
JP2003532222A (ja) 記憶媒体上のデータ管理のための方法、システム、及びコンピュータプログラム
EP1345236A1 (en) A non-volatile memory device
US6687815B1 (en) Method and apparatus for storing non-volatile configuration information
CN109690465B (zh) 一种存储设备管理方法及用户终端
US5748537A (en) Method and apparatus for storing items in flash memory
JP2000276461A (ja) マイクロコンピュータ
JP3271935B2 (ja) 制御システム
JP3313576B2 (ja) メモリアクセス制御方法及び装置
JPH06222986A (ja) メモリ制御装置
JP3166659B2 (ja) 記憶装置
JP2002244935A (ja) 記憶管理装置および記憶管理方法
JP2003331239A (ja) メモリ再配置機能を有するicカード
JPH04239357A (ja) 半導体ファイルメモリ装置

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040105

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040225

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: 20040322

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040405

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

Free format text: PAYMENT UNTIL: 20090416

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20090416

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20100416

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20110416

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20120416

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20120416

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20130416

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20130416

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20140416

Year of fee payment: 10

LAPS Cancellation because of no payment of annual fees