JP4175881B2 - 不揮発性メモリの記憶方法及び記憶装置 - Google Patents

不揮発性メモリの記憶方法及び記憶装置 Download PDF

Info

Publication number
JP4175881B2
JP4175881B2 JP2002374366A JP2002374366A JP4175881B2 JP 4175881 B2 JP4175881 B2 JP 4175881B2 JP 2002374366 A JP2002374366 A JP 2002374366A JP 2002374366 A JP2002374366 A JP 2002374366A JP 4175881 B2 JP4175881 B2 JP 4175881B2
Authority
JP
Japan
Prior art keywords
information
storage
data
copy
nonvolatile 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 - Lifetime
Application number
JP2002374366A
Other languages
English (en)
Other versions
JP2004206381A (ja
Inventor
勇 中島
Original Assignee
スパンション エルエルシー
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 スパンション エルエルシー filed Critical スパンション エルエルシー
Priority to JP2002374366A priority Critical patent/JP4175881B2/ja
Priority to US10/727,481 priority patent/US7185140B2/en
Publication of JP2004206381A publication Critical patent/JP2004206381A/ja
Application granted granted Critical
Publication of JP4175881B2 publication Critical patent/JP4175881B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1441Resetting or repowering
    • 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
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (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)

Description

【0001】
【発明の属する技術分野】
本発明は不揮発性メモリの記憶方法及び記憶装置に関し、特に中央演算処理装置による書き換え可能な不揮発性メモリの記憶方法及び書き換え可能な不揮発性メモリにデータを記憶する記憶装置に関する。
【0002】
【従来の技術】
フラッシュROM、EEPROMなどの不揮発性メモリは構造上、データの書き込み前にブロック単位又は一括でデータが消去されてないと書き込みができず、RAMのようにデータの書き換えをすることができない。そこで、不揮発性メモリを、あたかもRAMにアクセスしているかのようにするドライバがある。
【0003】
このドライバは、アプリケーションが指定するアドレスと、不揮発性メモリの書き込み可能なアドレスとを1対1対応するよう管理し、RAMにアクセスしているかのようにする。
【0004】
例えば、アプリケーションが不揮発性メモリのアドレスAにデータ‘1’を記憶するよう指定したとする。このときドライバは、不揮発性メモリのアドレスB1にデータ‘1’を記憶したとする。次に、アプリケーションがアドレスAにデータ‘2’を記憶するよう指定したとする。不揮発性メモリは、ブロック単位又は一括でデータが消去されないとアドレスB1のデータ‘1’をデータ‘2’に書き換えることができないので、ドライバは、不揮発性メモリの新たなアドレスB2にデータ‘2’を記憶する。ドライバは、アプリケーションが指定したアドレスと不揮発性メモリの実際にデータが記憶されたアドレスとの対応関係を不揮発性メモリに記憶する。そしてドライバは、データの読み出し時にこのアドレスの対応関係を参照して、適正なデータが読み出せるようにしている。
【0005】
以下、ドライバの不揮発性メモリへのデータ書き込みについて説明する。図8は、ドライバのデータ書き込みの処理手順を示したフローチャートである。ドライバは、以下の手順に従ってデータを不揮発性メモリに記憶する。
【0006】
[ステップS51]ドライバは、不揮発性メモリのデータの書き込み可能な領域(未使用領域)を検索する。
[ステップS52]ドライバは、データの書き込み開始を示す書き込み開始情報を不揮発性メモリ上の書き込み管理情報に書き込む。
【0007】
[ステップS53]ドライバは、ステップS51で検索した領域にデータを書き込む。
[ステップS54]ドライバは、データを記憶するのにアプリケーションが指定したアドレスと、実際にデータを記憶した不揮発性メモリのアドレスとの対応関係を、不揮発性メモリ上のアドレス管理情報に書き込む。
【0008】
[ステップS55]ドライバは、データの書き込みが完了したことを示す書き込み完了情報を書き込み管理情報に書き込む。
ドライバは、不揮発性メモリからデータを読み出すとき、アドレス管理情報のアドレスの対応関係を参照し、アプリケーションが要求するデータを読み出す。
【0009】
次に、ドライバのデータ書き換えの処理手順について説明する。図9は、ドライバのデータ書き換えの処理手順を示したフローチャートである。ドライバは、以下の手順に従って不揮発性メモリのデータを書き換える。
【0010】
[ステップS61]ドライバは、不揮発性メモリの書き換えデータの書き込み可能な領域(未使用領域)を検索する。
[ステップS62]ドライバは、書き換えデータの書き込み開始を示す書き込み開始情報を不揮発性メモリ上の書き込み管理情報に書き込む。
【0011】
[ステップS63]ドライバは、ステップS61で検索した領域に書き換えデータを書き込む。
[ステップS64]ドライバは、データを記憶するのにアプリケーションが指定したアドレスと、実際に書き換えデータを記憶した不揮発性メモリの新たなアドレスとの対応関係を、不揮発性メモリ上のアドレス管理情報に書き込む。
【0012】
[ステップS65]ドライバは、書き換え前のデータに関するアドレスの対応関係を無効にするため、書き換え前のデータに対応するアドレス管理情報に無効情報を書き込む。
【0013】
[ステップS66]ドライバは、書き換え前のデータを無効に(削除)するための削除済み情報を書き込み管理情報に書き込む。
[ステップS67]ドライバは、書き換えデータの書き込みが完了したことを示す書き込み完了情報を書き込み管理情報に書き込む。
【0014】
このように、アドレス管理情報を記憶することによって、書き換えデータも不揮発性メモリから読み出すことができる。
次に、ガーベージコレクションの処理手順について説明する。図10は、ドライバのガーベージコレクションの処理手順を示したフローチャートである。ドライバは、以下の手順に従って不揮発性メモリのガーベージコレクションを行う。
【0015】
[ステップS71]ドライバは、コピー元ユニット(ユニット:消去単位)を選択する。
[ステップS72]ドライバは、スペアユニットとなるコピー先ユニットのヘッダ領域にコピー開始情報を書き込む。
【0016】
[ステップS73]ドライバは、コピー先ユニットにコピー元ユニットの有効なデータをコピーする。有効なデータとは、図9のステップS66で説明した削除済みデータでないデータである。
【0017】
[ステップS74]ドライバは、コピー先ユニットのヘッダ領域にコピーが完了したことを示すコピー完了情報を書き込む。
[ステップS75]ドライバは、コピー元ユニットのヘッダ領域にコピー元ユニットを無効に(削除)するための削除済み情報を書き込む。
【0018】
[ステップS76]ドライバは、コピー元ユニットのデータを消去する。これにより、コピー元ユニットは、新たなデータの書き込みが可能となる。
[ステップS77]ドライバは、コピー元ユニットのヘッダ領域にヘッダ情報を書き込む。
【0019】
このように、ドライバは、コピー元ユニット及びコピー先ユニットのヘッダ領域に情報を書き込みながらガーベージコレクションを行う。
以上のドライバの処理において、データの不揮発性メモリへの書き込み途中に電源断が発生し、復帰したとする。ドライバは、不揮発性メモリに記憶されているデータの書き込み開始を示す情報及び書き込み完了を示す情報を参照し、書き込みしたデータが信頼できるか否かの判断を行う。若し、書き込み完了を示す情報が記憶されていなければ、ドライバは、そのデータを再度書き込む回復処理を行う。
【0020】
また、データ書き込み時の中断要因を検出し、データにその中断要因に応じたデータを付加して、信頼できるデータの範囲を確定する記憶方法がある(例えば、特許文献1参照)。
【0021】
【特許文献1】
特開2000−132464号公報(第4頁、第1図)
【0022】
【発明が解決しようとする課題】
しかしながら、アプリケーションと不揮発性メモリのアドレス対応関係に関する情報(以下、記憶管理情報)の書き込み途中に電源断が発生した場合、電源復帰後、誤った記憶管理情報によってデータの回復処理が行われる恐れがあるという問題点があった。
【0023】
本発明はこのような点に鑑みてなされたものであり、処理断から復帰したとき、記憶管理情報の書き込み完了の判断を行って、適正に回復処理を行うことができる不揮発性メモリの記憶方法及び記憶装置を提供することを目的とする。
【0024】
【課題を解決するための手段】
本発明では上記課題を解決するために、図1に示す中央演算処理装置1による書き換え可能な不揮発性メモリの記憶方法が提供される。中央演算処理装置1の記憶管理情報記憶部3は、不揮発性メモリ6に記憶する消去単位より小さい単位のデータAnの記憶管理に関する記憶管理情報Bnを不揮発性メモリ6に記憶する。記憶完了情報記憶部4は、記憶管理情報Bnの記憶が完了したことを示す記憶完了情報Cnを不揮発性メモリ6に記憶する。記憶情報判断部5は、記憶管理情報Bnの記憶途中における処理断から復帰したとき、記憶完了情報Cnを参照して記憶管理情報Bnの書き込み完了を判断する。
【0025】
これによれば、記憶管理情報Bnの不揮発性メモリ6への記憶が完了したことを示す記憶完了情報Cnを不揮発性メモリ6に記憶し、記憶完了情報Cnを参照することによって、記憶管理情報Bnの書き込み完了を判断する。
【0026】
【発明の実施の形態】
以下、本発明の実施の形態を図面を参照して説明する。
図1は、本発明の原理を説明する原理図である。図に示す中央演算処理装置1は、書き換え可能な不揮発性メモリ6にデータを記憶するドライバを実行することにより、別に実行しているアプリケーションが指示するデータを不揮発性メモリ6に記憶する。中央演算処理装置1は、ドライバを実行することにより、データ記憶部2、記憶管理情報記憶部3、記憶完了情報記憶部4、記憶情報判断部5を有している。
【0027】
データ記憶部2は、アプリケーションからの指示に応じて、消去単位より小さい単位のデータA1,A2,…,Anを不揮発性メモリ6に記憶する。
記憶管理情報記憶部3は、データA1,A2,…,Anの記憶管理に関する記憶管理情報B1,B2,…,Bnを不揮発性メモリ6に記憶する。記憶管理情報記憶部3は、データA1が不揮発性メモリ6に記憶されるとき、データA1に関する記憶管理情報B1を記憶し、以下同様に、データAnが不揮発性メモリ6に記憶されるとき、データAnに関する記憶管理情報Bnを記憶する。
【0028】
記憶管理情報B1,B2,…,Bnは、例えば、アプリケーションが指示したデータA1,A2,…,Anの記憶するアドレスと、実際にデータ記憶部2が不揮発性メモリ6に記憶したアドレスである。
【0029】
記憶完了情報記憶部4は、記憶管理情報B1,B2,…Bnのそれぞれにおいて、不揮発性メモリ6への記憶が完了したとき、記憶が完了したことを示す記憶完了情報C1,C2,…,Cnを不揮発性メモリ6に記憶する。記憶完了情報C1は、記憶管理情報B1に対応し、以下、記憶完了情報Cnは、記憶管理情報Bnに対応する情報である。
【0030】
記憶情報判断部5は、記憶管理情報記憶部3の記憶管理情報B1,B2,…Bnの記憶途中に、例えば中央演算処理装置1への電源断が発生し、それから復帰したとき、記憶完了情報C1,C2,…Cnを参照して、記憶管理情報B1,B2,…Bnの記憶が完了していたか否かを判断する。
【0031】
以下、原理図の動作について説明する。
まず、データ記憶部2は、アプリケーションの指示に応じて、データA1,A2,…,Anを不揮発性メモリ6に記憶する。
【0032】
記憶管理情報記憶部3は、データ記憶部2がデータA1,A2,…,Anを記憶するたびに、そのデータA1,A2,…,Anに関する記憶管理情報B1,B2,…,Bnを不揮発性メモリ6に記憶する。
【0033】
記憶完了情報記憶部4は、記憶管理情報記憶部3の記憶管理情報B1,B2,…,Bnの各々の記憶が完了する毎に、記憶完了情報C1,C2,…,Cnを記憶する。
【0034】
記憶情報判断部5は、記憶管理情報記憶部3が記憶管理情報B1,B2,…Bnの記憶途中の電源断等から復帰したとき、記憶完了情報C1,C2,…Cnを参照して、記憶管理情報B1,B2,…Bnの不揮発性メモリ6への記憶が完了していたか否かを判断する。
【0035】
このように、記憶管理情報の不揮発性メモリへの記憶が完了したとき、記憶完了を示す記憶完了情報を不揮発性メモリに記憶するようにした。そして、記憶完了情報を参照して、記憶管理情報の書き込み完了を判断するようにした。よって、電源断等により中断された処理に対して、適正にデータの回復処理を行うことができる。
【0036】
次に本発明の不揮発性メモリの記憶方法を携帯電話に適用した場合の例について説明する。図2は、本発明の不揮発性メモリの記憶方法を適用した携帯電話のハードウェア構成図である。図に示すように、携帯電話10は、CPU10a、ROM10b、RAM10c、フラッシュROM10d、RAM10e、バックアップ電池10f、電池パック10g、バス10hを有している。
【0037】
CPU10aは、バス10hを介して、ROM10b、RAM10c、フラッシュROM10d、及びRAM10eと接続され、装置全体を制御している。
ROM10bには、OS(Operating System)プログラムや通話機能、住所録機能を持ったアプリケーションプログラムなどが記憶されている。また、CPU10aが処理するデータをフラッシュROM10dに記憶するためのドライバプログラムが記憶されている。
【0038】
RAM10cには、CPU14に実行させるOSやアプリケーション、ドライバの少なくとも一部が一時的に記憶される。また、RAM10cには、CPU10aによる処理に必要な各種データが記憶される。
【0039】
フラッシュROM10dには、消滅してはならないデータ、例えば、住所録などのデータが記憶される。フラッシュROM10dは、書き換え可能な不揮発性メモリであり、例えば、携帯電話10のメイン電源である電池パック10gからの電源が遮断されても、記憶したデータを保持する。なお、電源が遮断されてもデータを保持できる書き換え可能な不揮発性メモリであればよく、例えば、EEPROMであってもよい。
【0040】
RAM10eには、例えば、携帯電話10の機能設定するデータなどの消滅してはならないデータが記憶される。RAM10eは、バックアップ電池10fから常時電源が供給されており、携帯電話10のメイン電源である電池パック10gによる電源が遮断されても、RAM10eは、記憶したデータを保持する。
【0041】
電池パック10gは、携帯電話10の本体背面に取り付けられ、CPU10a、ROM10b、RAM10c、及びフラッシュROM10dに電源を供給している。
【0042】
以上のような構成によって、携帯電話10は、通話機能や住所録機能などを実現している。
次に、CPU10aが、データをフラッシュROM10dに記憶するためのドライバを実行することによって有する機能について説明する。CPU10aは、例えば、住所録のアプリケーションを実行することによって、データをフラッシュROM10dに書き込むとき、またデータをフラッシュROM10dから読み出すとき、ドライバの実行によってフラッシュROM10dにアクセスする。
【0043】
図3は、CPUの機能ブロック図である。図に示すように、CPU10aは、データ記憶部11、管理情報記憶部12、完了情報記憶部13、及び記憶情報判断部14を有している。また、図3には、フラッシュROM10dに記憶されるデータ15、アドレス管理情報16a、書き込み管理情報16b、コピー書き込み管理情報16cが示してある。また、アドレス管理完了フラグ17a、書き込み完了フラグ17b、コピー書き込み完了フラグ17cが示してある。
【0044】
データ記憶部11は、アプリケーションから書き込み指示に応じて、データ15をフラッシュROM10dの書き込み可能な領域に書き込む。書き込み可能な領域とは、フラッシュROM10dの消去されてからデータの書き込みが行われていない領域である。また、データ記憶部11は、アプリケーションからの読み出し指示に応じて、記憶したデータ15をフラッシュROM10dに記憶されているアドレス管理情報16aを参照して(後述詳細)、フラッシュROM10dから読み出す。また、データ記憶部11は、記憶されているデータを消去単位(後述詳細)で消去する。
【0045】
管理情報記憶部12は、データ記憶部11がデータ15をフラッシュROM10dに記憶すると、そのデータ15のアドレス管理に関するアドレス管理情報16aをフラッシュROM10dに記憶する。アドレス管理情報16aは、アプリケーションでのデータ15を書き込むアドレス、実際にデータ記憶部11がフラッシュROM10dにデータ15を書き込むアドレス、及びこれらのアドレスが有効、又は無効であることを示す情報である。アプリケーションは、アドレスの他にファイル名によってもデータ15の記憶先を指定する場合がある。この場合は、アドレスではなく、ファイル名がアドレス管理情報16aに含まれる。
【0046】
データ記憶部11は、アプリケーションからデータ15の読み出し要求があった場合、アドレス管理情報16aを参照し、アプリケーション上のアドレスに対応する、実際にフラッシュROM10dに記憶されたアドレスを取得し、そのアドレスに記憶されたデータ15を読み出す。
【0047】
また、管理情報記憶部12は、データ記憶部11がデータ15をフラッシュROM10dに記憶すると、そのデータ15の書き込みに関する書き込み管理情報16bをフラッシュROM10dに記憶する。書き込み管理情報16bは、データ記憶部11のフラッシュROM10dへのデータ15の書き込み開始を示す情報、書き込み完了を示す情報、及び書き込みしたデータ15を削除(無効)したことを示す情報である。
【0048】
また、管理情報記憶部12は、ガーベージコレクション処理(後述詳細)に関するコピー書き込み管理情報16cをフラッシュROM10dに記憶する。コピー書き込み管理情報16cは、ガーベージコレクション処理における、データコピーの開始を示す情報、コピーの完了を示す情報、及びコピー元のデータを削除したことを示す情報である。
【0049】
完了情報記憶部13は、管理情報記憶部12のアドレス管理情報16aのフラッシュROM10dへの書き込みが完了すると、書き込みが完了したことを示すアドレス管理完了フラグ17aをフラッシュROM10dに書き込む。
【0050】
また、完了情報記憶部13は、管理情報記憶部12の書き込み管理情報16bのフラッシュROM10dへの書き込みが完了すると、書き込みが完了したことを示す書き込み完了フラグ17bをフラッシュROM10dに書き込む。
【0051】
また、完了情報記憶部13は、管理情報記憶部12のコピー書き込み管理情報16cのフラッシュROM10dへの書き込みが完了すると、書き込みが完了したことを示すコピー書き込み完了フラグ17cをフラッシュROM10dに書き込む。
【0052】
記憶情報判断部14は、管理情報記憶部12のアドレス管理情報16a、書き込み管理情報16b、又はコピー書き込み管理情報16cの書き込み途中、電池パック10gの例えば、本体からの脱離などによる電源断、又はハードウェアリセットが発生して復帰したとき、アドレス管理完了フラグ17a、書き込み完了フラグ17b、又はコピー書き込み完了フラグ17cを参照して、これらの管理情報の書き込みが完了していたか否かを判断する。
【0053】
例えば、アドレス管理情報16aのフラッシュROM10dへの書き込み途中に電源断が発生し、アドレス管理情報16aの書き込みが完了しなかったとする。よって、フラッシュROM10dには、書き込みが完了してないことを示すアドレス管理完了フラグ17aが記憶されている。この場合、記憶情報判断部14は、電源が復帰したとき、このアドレス管理完了フラグ17aを参照することによって、アドレス管理情報16aの書き込みが完了していないことを判断することができる。
【0054】
アドレス管理完了フラグ17a、書き込み完了フラグ17b、及びコピー書き込み完了フラグ17cは、1ビットのデータであり、‘0’及び‘1’によって、書き込みが完了したか否かを示す。1ビットのデータにすることにより、フラッシュROM10dの各メモリセルにおける書き込み時間のばらつきを低減することができる。また、アドレス管理完了フラグ17a、書き込み完了フラグ17b、及びコピー書き込み完了フラグ17cを多ビットのデータであってもよい。この場合、記憶が完了したことを示す値以外は、全て無効(記憶が完了していない)と記憶情報判断部14に判断させるようにする。これにより、例えば、電源断で誤った値で記憶されたことによる、記憶情報判断部14の誤判断を低減することができる。
【0055】
次に、フラッシュROM10dの記憶構造について説明する。図4は、フラッシュメモリの記憶構造の一例を示した図である。図に示すように、フラッシュROM10dの記憶領域は、大きく消去単位21a,21b,…に分けられる。フラッシュROM10dは、消去単位21a,21b,…毎に記憶したデータを消去することができる。各消去単位21a,21b,…は、同じ記憶構造を有するので、以下では、消去単位21aについての記憶構造についてのみ説明する。
【0056】
消去単位21aは、情報領域22aとデータ領域22bに分けられる。情報領域22aは、さらに、ヘッダ領域23、管理領域24a,25a、フラグ領域24b,25bに分かれている。ヘッダ領域23には、図3で説明したコピー書き込み管理情報16c、コピー書き込み完了フラグ17cが記憶される。管理領域24aには、アドレス管理情報16aが記憶される。フラグ領域24bには、アドレス管理完了フラグ17aが記憶される。管理領域25aには、書き込み管理情報16bが記憶される。フラグ領域25bには、書き込み完了フラグ17bが記憶される。
【0057】
アドレス管理情報16aとアドレス管理完了フラグ17a、書き込み管理情報16bと書き込み完了フラグ17b、コピー書き込み管理情報16cとコピー書き込み完了フラグ17cは、関連性を持つよう対応して記憶される。
【0058】
データ領域22bは、さらに小さな領域26に分かれている。データ15は、フラッシュROM10dの消去単位より小さい単位で領域26に書き込まれる。図3で示したデータ記憶部11が、1つのデータ15をデータ領域22bの領域26に記憶すると、管理情報記憶部12は、そのデータ15に関連するアドレス管理情報16a、書き込み管理情報16bを記憶する。完了情報記憶部13は、アドレス管理完了フラグ17a、又は書き込み完了フラグ17bを情報領域22aに記憶する。
【0059】
ところで、アプリケーション上で、同一アドレスでのデータの書き換え処理を行った場合、フラッシュROM10dでは、同一アドレスでのデータの上書きができない。そのため、管理情報記憶部12は、書き換え前のデータを無効とするため、書き換え前のデータのアドレス管理情報16aを無効にし、書き換え後の新たなデータのアドレスに関するアドレス管理情報16aを記憶する。このデータの書き換え処理が多くなると、無効(削除)となったデータがデータ領域22bを占めるようになる。そのため、無効となったデータを整理するために、ガーベージコレクションの処理を行う。
【0060】
データ記憶部11は、未使用の消去単位を選択する。データ記憶部11は、書き込み管理情報16bの書き込みしたデータを削除したこと示す情報を参照し、削除されていないデータ(有効なデータ)のみを選択して、未使用の消去単位のデータ領域22bにコピーしていく。
【0061】
以下、図3のCPU10aの処理手順についてフローチャートを用いて説明する。図5は、CPUのデータ書き込みの処理手順を示したフローチャートである。CPU10aは、以下の手順に従ってデータ15をフラッシュROM10dに書き込む。
【0062】
[ステップS1]CPU10aのデータ記憶部11は、フラッシュROM10dのデータ15の書き込み可能な領域を検索する。
[ステップS2]CPU10aの管理情報記憶部12は、データ15の書き込み開始を示す書き込み管理情報16bをフラッシュROM10dに書き込む。
【0063】
[ステップS3]CPU10aの完了情報記憶部13は、ステップ2における書き込み管理情報16bの書き込みが完了したことを示す書き込み完了フラグ17bをフラッシュROM10dに書き込む。
【0064】
[ステップS4]CPU10aのデータ記憶部11は、アプリケーションが指示するデータ15をステップS1で検索したフラッシュROM10dの書き込み可能な領域に書き込む。
【0065】
[ステップS5]CPU10aの管理情報記憶部12は、アプリケーション上で指示されたアドレスと、データ15が実際にフラッシュROM10dに記憶されたアドレスとを示す(対応関係を示す)アドレス管理情報16aをフラッシュROM10dに書き込む。
【0066】
[ステップS6]CPU10aの完了情報記憶部13は、ステップS5におけるアドレス管理情報16aの書き込みが完了したことを示すアドレス管理完了フラグ17aをフラッシュROM10dに書き込む。
【0067】
[ステップS7]CPU10aの管理情報記憶部12は、データ15の書き込み完了を示す書き込み管理情報16bをフラッシュROM10dに書き込む。
[ステップS8]CPU10aの完了情報記憶部13は、書き込み管理情報16bの書き込みが完了したことを示す書き込み完了フラグ17bをフラッシュROM10dに書き込む。
【0068】
ここで、CPU10aがステップS2、ステップS5、又はステップS7の処理を実行しているとき、電源断が発生したとする。電源断から復帰したとき、CPU10aの記憶情報判断部14は、アドレス管理完了フラグ17a、書き込み完了フラグ17bを参照し、アドレス管理情報16a、書き込み管理情報16bの書き込みが完了していたか否かを判断する。アドレス管理情報16a、書き込み管理情報16bの書き込みが完了していた場合、CPU10aは、中断された処理を再開すること等により、適正にデータの回復処理を行うことができる。アドレス管理情報16a、書き込み管理情報16b書き込みが完了していない場合、例えば、アドレス管理情報16a、書き込み管理情報16bの回復処理をする。又はアドレス管理情報16a、書き込み管理情報16bを無効にして、その後の処理に影響がないようにする。
【0069】
次に、フラッシュROM10dのデータの書き換え処理について説明する。図6は、CPUのデータ書き換えの処理手順を示したフローチャートである。CPU10aは、以下の手順に従ってフラッシュROM10dのデータを書き換える。
【0070】
[ステップS11]CPU10aのデータ記憶部11は、書き換えをする新しいデータ15(以下、書き換えデータ)のフラッシュROM10dの書き込み可能な領域を検索する。
【0071】
[ステップS12]CPU10aの管理情報記憶部12は、書き換えデータ15の書き込み開始を示す書き込み管理情報16bをフラッシュROM10dに書き込む。
【0072】
[ステップS13]CPU10aの完了情報記憶部13は、ステップS12の書き込み管理情報16bの書き込みが完了したことを示す書き込み完了フラグ17bをフラッシュROM10dに書き込む。
【0073】
[ステップS14]CPU10aのデータ記憶部11は、アプリケーションが指示する書き換えデータ15をステップS11で検索したフラッシュROM10dの書き込み可能な領域に書き込む。
【0074】
[ステップS15]CPU10aの管理情報記憶部12は、アプリケーション上で指示されたアドレスと、書き換えデータ15が実際にフラッシュROM10dに記憶されるアドレスとを示す(対応関係を示す)アドレス管理情報16aをフラッシュROM10dに書き込む。
【0075】
[ステップS16]CPU10aの完了情報記憶部13は、ステップS15におけるアドレス管理情報16aの書き込みが完了したことを示すアドレス管理完了フラグ17aをフラッシュROM10dに書き込む。
【0076】
[ステップS17]CPU10aの管理情報記憶部12は、書き換え前のデータに関するアドレス管理情報16aにアドレス対応関係を無効にするよう書き込む。
【0077】
[ステップS18]CPU10aの完了情報記憶部13は、ステップ17におけるアドレス管理情報16aの書き込みが完了したことを示すアドレス管理完了フラグ17aをフラッシュROM10dに書き込む。
【0078】
[ステップS19]CPU10aの管理情報記憶部12は、書き換え前のデータに関する書き込み管理情報16bにデータを削除した旨の情報を書き込む。
[ステップS20]CPU10aの完了情報記憶部13は、ステップS19における書き込み管理情報16bの書き込みが完了したことを示す書き込み完了フラグ17aをフラッシュROM10dに書き込む。
【0079】
[ステップS21]CPU10aの管理情報記憶部12は、書き換えデータ15の書き込み完了を示す書き込み管理情報16bをフラッシュROM10dに記憶する。
【0080】
[ステップS22]CPU10aの完了情報記憶部13は、ステップS21における書き込み管理情報16bの書き込みが完了したことを示す書き込み完了フラグ17bをフラッシュROM10dに書き込む。
【0081】
ここで、CPU10aがステップS12、ステップS15、ステップS17、ステップS19、又はステップS21の処理を実行しているとき、電源断が発生したとする。電源断から復帰したとき、CPU10aの記憶情報判断部14は、アドレス管理完了フラグ17a、書き込み完了フラグ17bを参照し、アドレス管理情報16a、書き込み管理情報16bの書き込みが完了していたか否かを判断する。アドレス管理情報16a、書き込み管理情報16bの書き込みが完了していた場合、CPU10aは、中断された処理を再開すること等により、適正にデータの回復処理を行うことができる。アドレス管理情報16a、書き込み管理情報16bの書き込みが完了していない場合、例えば、アドレス管理情報16a、書き込み管理情報16bの回復処理をする。又はアドレス管理情報16a、書き込み管理情報16bを無効にして、その後の処理に影響がないようにする。
【0082】
次に、ガーベージコレクションについて説明する。図7は、CPUのガーベージコレクションの処理手順を示したフローチャートである。CPU10aは、以下の手順に従ってフラッシュROM10dのガーベージコレクションを行う。
【0083】
[ステップS31]CPU10aのデータ記憶部11は、無効となったデータを整理するコピー元ユニット(ユニット:消去単位)を選択する。
[ステップS32]CPU10aの管理情報記憶部12は、コピー先ユニットのヘッダ領域にコピーの開始を示すコピー書き込み管理情報16cを書き込む。
【0084】
[ステップS33]CPU10aの完了情報記憶部13は、ステップS32におけるコピー書き込み管理情報16cの書き込みが完了したことを示すコピー書き込み完了フラグ17cをコピー先ユニットのヘッダ領域に書き込む。
【0085】
[ステップS34]CPU10aのデータ記憶部11は、コピー元ユニットの有効なデータをコピー先ユニットにコピーする。データ記憶部11は、書き込み管理情報16bのデータを削除したこと示す情報を参照し、削除されていない有効なデータのみを選択して、コピー先ユニットにコピーする。
【0086】
[ステップS35]CPU10aの管理情報記憶部12は、コピー先ユニットのヘッダ領域にコピーの完了を示すコピー書き込み管理情報16cを書き込む。
[ステップS36]CPU10aの完了情報記憶部13は、ステップS35におけるコピー書き込み管理情報16cの書き込みが完了したことを示すコピー書き込み完了フラグ17cをコピー先ユニットのヘッダ領域に書き込む。
【0087】
[ステップS37]CPU10aの管理情報記憶部12は、コピー元ユニットのヘッダ領域に削除を示すコピー書き込み管理情報16cを書き込む。
[ステップS38]CPU10aの完了情報記憶部13は、ステップS37におけるコピー書き込み管理情報16cの書き込みが完了したことを示すコピー書き込み完了フラグ17cをコピー先ユニットのヘッダ領域に書き込む。
【0088】
[ステップS39]CPU10aのデータ記憶部11は、コピー元ユニットの全データを消去する。
[ステップS40]CPU10aの管理情報記憶部12は、コピー元ユニットのヘッダ領域にヘッダ情報を書き込む。コピー元ユニットをスペアユニットにする。
【0089】
[ステップS41]CPU10aの完了情報記憶部13は、ステップS40におけるヘッダ情報の書き込みが完了したことを示すコピー書き込み完了フラグ17cをコピー先ユニットのヘッダ領域に書き込む。
【0090】
ここで、CPU10aがステップS32、ステップS35、ステップS37、又はステップS40の処理を実行しているとき、電源断が発生したとする。電源断から復帰したとき、CPU10aの記憶情報判断部14は、コピー書き込み完了フラグ17cを参照し、コピー書き込み管理情報16cの書き込みが完了していたか否かを判断する。コピー書き込み管理情報16cの書き込みが完了していた場合、CPU10aは、データの再コピーをすることにより、適正にデータの回復処理を行うことができる。コピー書き込み管理情報16cの書き込みが完了していない場合、例えば、コピー書き込み管理情報16cの回復処理をする。又はコピー書き込み管理情報16cを無効にして、その後の処理に影響がないようにする。
【0091】
このように、アドレス管理情報16a、書き込み管理情報16b、及びコピー書き込み管理情報16cの書き込みが完了したとき、書き込みが完了したことを示すアドレス管理完了フラグ17a、書き込み完了フラグ17b、及びコピー書き込み完了フラグ17cを記憶するようにし、電源断等の復帰後、これらのフラグを参照し、管理情報の書き込みが完了していたかを判断するようにした。よって、管理情報の書き込みが完了していた場合、CPU10aは、データの再コピーをすることにより、適正にデータの回復処理を行うことができる。
【0092】
なお上記では、アドレス管理情報16a、書き込み管理情報16b、コピー書き込み管理情報16c、アドレス管理完了フラグ17a、書き込み完了フラグ17b、及びコピー書き込み完了フラグ17cをフラッシュROM10dに記憶するようにしたが、これらの管理情報及びフラグは、電源断においてもデータ消滅しないメモリに記憶されればよく、図2のRAM10eに記憶するようにしてもよい。
【0093】
【発明の効果】
以上説明したように本発明では、データの記憶管理に関する記憶管理情報の不揮発性メモリへの記憶が完了したことを示す記憶完了情報を不揮発性メモリに記憶する。そして、処理断から復帰したとき、記憶完了情報を参照することによって、記憶管理情報の書き込み完了を判断するようにした。これにより、処理断からの復帰後、適正にデータの回復処理を行うことができるようになる。
【図面の簡単な説明】
【図1】本発明の原理を説明する原理図である。
【図2】本発明の不揮発性メモリの記憶方法を適用した携帯電話のハードウェア構成図である。
【図3】CPUの機能ブロック図である。
【図4】フラッシュメモリの記憶構造の一例を示した図である。
【図5】CPUのデータ書き込みの処理手順を示したフローチャートである。
【図6】CPUのデータ書き換えの処理手順を示したフローチャートである。
【図7】CPUのガーベージコレクションの処理手順を示したフローチャートである。
【図8】ドライバのデータ書き込みの処理手順を示したフローチャートである。
【図9】ドライバのデータ書き換えの処理手順を示したフローチャートである。
【図10】ドライバのガーベージコレクションの処理手順を示したフローチャートである。
【符号の説明】
1 中央演算処理装置
2 データ記憶部
3 記憶管理情報記憶部
4 記憶完了情報記憶部
5 記憶情報判断部
6 不揮発性メモリ
10 携帯電話
10a CPU
10d フラッシュROM
11 データ記憶部
12 管理情報記憶部
13 完了情報記憶部
14 記憶情報判断部
15,A1〜An データ
16a アドレス管理情報
16b 書き込み管理情報
16c コピー書き込み管理情報
17a アドレス管理完了フラグ
17b 書き込み完了フラグ
17c コピー書き込み完了フラグ
B1〜Bn 記憶管理情報
C1〜Cn 記憶完了情報

Claims (8)

  1. 中央演算処理装置による書き換え可能な不揮発性メモリの記憶方法において、
    ガーベージコレクション処理における、不揮発性メモリに記憶する消去単位より小さい単位のデータのコピーに関するコピー情報を前記不揮発性メモリに記憶し、
    前記コピー情報の記憶が完了したことを示すコピー情報記憶完了フラグを前記不揮発性メモリ内の前記コピー情報とは異なる領域に記憶し、
    前記コピー情報の記憶途中における処理断から復帰したとき、前記コピー情報記憶完了フラグを参照して前記コピー情報の書き込み完了を判断する、
    ことを特徴とする不揮発性メモリの記憶方法。
  2. 前記コピー情報は、コピーの開始を示す第1の情報、コピーの完了を示す第2の情報、及びコピー元のデータの削除を示す第3の情報を含み、
    前記第1から第3の情報のそれぞれの記憶が完了するたびに、前記コピー情報記憶完了フラグの記憶を行うことを特徴とする請求項1記載の不揮発性メモリの記憶方法。
  3. アプリケーション上で指示される前記不揮発性メモリの論理アドレス、前記データが実際に前記不揮発性メモリに記憶される物理アドレス、及び前記論理アドレスと前記物理アドレスとの対応関係が有効か無効かを示すアドレス無効情報を前記不揮発性メモリに記憶し、
    前記論理アドレス、前記物理アドレス、及び前記アドレス無効情報のそれぞれの記憶が完了したことを示すアドレス管理完了フラグを前記不揮発性メモリに記憶し、
    前記論理アドレス、前記物理アドレス、及び前記アドレス無効情報の記憶途中における処理断から復帰したとき、前記アドレス管理完了フラグを参照して前記論理アドレス、前記物理アドレス、及び前記アドレス無効情報の書き込み完了を判断する、
    ことを特徴とする請求項1記載の不揮発性メモリの記憶方法。
  4. 前記データの前記不揮発性メモリへの記憶開始を示す第4の情報、前記データの前記不揮発性メモリへの記憶完了を示す第5の情報、及びデータ書き換え時において前記データを無効にしたことを示す第6の情報を前記不揮発性メモリに記憶し、
    前記第4の情報、前記第5の情報、及び前記第6の情報のそれぞれの記憶が完了したことを示すデータ書き込み完了フラグを前記不揮発性メモリに記憶し、
    前記第4の情報、前記第5の情報、及び前記第6の情報の記憶途中における処理断から復帰したとき、前記データ書き込み完了フラグを参照して前記第4の情報、前記第5の情報、及び前記第6の情報の書き込み完了を判断する、
    ことを特徴とする請求項1記載の不揮発性メモリの記憶方法。
  5. 前記コピー情報記憶完了フラグは、1ビットデータで示されることを特徴とする請求項1記載の不揮発性メモリの記憶方法。
  6. 前記コピー情報及び前記コピー情報記憶完了フラグは、バッテリによって電源バックアップされた揮発性メモリに記憶されることを特徴とする請求項1記載の不揮発性メモリの記憶方法。
  7. 書き換え可能な不揮発性メモリにデータを記憶する記憶装置において、
    ガーベージコレクション処理における、不揮発性メモリに記憶する消去単位より小さい単位のデータのコピーに関するコピー情報を前記不揮発性メモリに記憶する記憶管理情報記憶部と、
    前記コピー情報の記憶が完了したことを示すコピー情報記憶完了フラグを前記不揮発性メモリ内の前記コピー情報とは異なる領域に記憶する記憶完了情報記憶部と、
    前記コピー情報の記憶途中における処理断から復帰したとき、前記コピー情報記憶完了フラグを参照して前記コピー情報の書き込み完了を判断する記憶情報判断部と、
    を有することを特徴とする記憶装置。
  8. 前記コピー情報は、コピーの開始を示す第1の情報、コピーの完了を示す第2の情報、及びコピー元のデータの削除を示す第3の情報を含み、
    前記記憶完了情報記憶部は、前記第1から第3の情報のそれぞれの記憶が完了するたびに、前記コピー情報記憶完了フラグの記憶を行うことを特徴とする請求項7記載の記憶装置。
JP2002374366A 2002-12-25 2002-12-25 不揮発性メモリの記憶方法及び記憶装置 Expired - Lifetime JP4175881B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2002374366A JP4175881B2 (ja) 2002-12-25 2002-12-25 不揮発性メモリの記憶方法及び記憶装置
US10/727,481 US7185140B2 (en) 2002-12-25 2003-12-05 Method for storing in nonvolatile memory and storage unit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002374366A JP4175881B2 (ja) 2002-12-25 2002-12-25 不揮発性メモリの記憶方法及び記憶装置

Publications (2)

Publication Number Publication Date
JP2004206381A JP2004206381A (ja) 2004-07-22
JP4175881B2 true JP4175881B2 (ja) 2008-11-05

Family

ID=32652676

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002374366A Expired - Lifetime JP4175881B2 (ja) 2002-12-25 2002-12-25 不揮発性メモリの記憶方法及び記憶装置

Country Status (2)

Country Link
US (1) US7185140B2 (ja)
JP (1) JP4175881B2 (ja)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005222201A (ja) * 2004-02-04 2005-08-18 Matsushita Electric Ind Co Ltd メモリアクセス装置、及び半導体メモリカード
JP4653747B2 (ja) * 2004-07-23 2011-03-16 スパンション エルエルシー コントローラ、データ記憶システム、データ書き換え方法及びコンピュータプログラムプロダクト
JP4637526B2 (ja) * 2004-07-28 2011-02-23 ルネサスエレクトロニクス株式会社 メモリカードおよび不揮発性記憶装置
JP4574475B2 (ja) * 2005-07-15 2010-11-04 キヤノン株式会社 記録再生装置、記録再生装置の制御方法
US8275949B2 (en) * 2005-12-13 2012-09-25 International Business Machines Corporation System support storage and computer system
US8595413B2 (en) * 2008-02-20 2013-11-26 Sony Corporation Memory control method and device, memory access control method, computer program, and recording medium
US8085588B2 (en) * 2009-04-30 2011-12-27 Spansion Llc Semiconductor device and control method thereof
JP2013061799A (ja) 2011-09-13 2013-04-04 Toshiba Corp 記憶装置、記憶装置の制御方法およびコントローラ
JP2017021561A (ja) * 2015-07-10 2017-01-26 ファナック株式会社 制御装置のファイルシステム
US10671494B1 (en) * 2017-11-01 2020-06-02 Pure Storage, Inc. Consistent selection of replicated datasets during storage system recovery
KR102456176B1 (ko) * 2020-05-21 2022-10-19 에스케이하이닉스 주식회사 메모리 컨트롤러 및 그 동작 방법
US11573891B2 (en) 2019-11-25 2023-02-07 SK Hynix Inc. Memory controller for scheduling commands based on response for receiving write command, storage device including the memory controller, and operating method of the memory controller and the storage device

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06161493A (ja) 1992-11-19 1994-06-07 Meidensha Corp 音声合成装置の長音処理方式
JPH09297713A (ja) 1996-04-30 1997-11-18 Anritsu Corp 携帯用機器における不良データ識別装置及び方法
JP2000057039A (ja) * 1998-08-03 2000-02-25 Canon Inc アクセス制御方法及び装置及びファイルシステム及び情報処理装置
JP2000132464A (ja) 1998-10-27 2000-05-12 Canon Inc データ書き込み方法、装置及び画像形成装置
JP2001125894A (ja) * 1999-10-29 2001-05-11 Sony Corp 文書編集処理装置及び文書編集処理方法およびプログラム提供媒体
JP4037605B2 (ja) * 2000-12-04 2008-01-23 株式会社東芝 不揮発性メモリユニットのコントローラ、同コントローラを有するメモリシステム及び不揮発性メモリユニットの制御方法
JP4060552B2 (ja) * 2001-08-06 2008-03-12 株式会社日立製作所 記憶装置システム、および、記憶装置システムの構成方法
JP3967121B2 (ja) * 2001-12-11 2007-08-29 株式会社ルネサステクノロジ ファイルシステム、ファイルシステム制御方法およびファイルシステムを制御するためのプログラム

Also Published As

Publication number Publication date
US7185140B2 (en) 2007-02-27
JP2004206381A (ja) 2004-07-22
US20040128432A1 (en) 2004-07-01

Similar Documents

Publication Publication Date Title
US5682497A (en) Managing file structures for a flash memory file system in a computer
US6839823B1 (en) Increased reliability of data stored on flash memory in applications sensitive to power-loss
US7558904B2 (en) Controller, data memory system, data rewriting method, and computer program product
US6938144B2 (en) Address conversion unit for memory device
USRE45222E1 (en) Method of writing of writing to a flash memory including data blocks and log blocks, using a logical address having a block address portion and page identifying portion, a block address table and a page table
US20060168392A1 (en) Flash memory file system
US20040044858A1 (en) Single segment data object management
JP3827682B2 (ja) フラッシュメモリ、そのためのマッピング制御装置及び方法
JP4175881B2 (ja) 不揮発性メモリの記憶方法及び記憶装置
JP4046877B2 (ja) 一括消去型不揮発性メモリおよび携帯電話
JP2004303238A (ja) フラッシュメモリアクセス装置及び方法
JP4586469B2 (ja) メモリ制御装置、メモリ制御方法、プログラム
JP5057887B2 (ja) データ更新装置及びデータ更新方法及びデータ更新プログラム
JPH11272569A (ja) フラッシュメモリを使用した外部記憶装置のデータ回復方式
JP3808842B2 (ja) 書き換え可能な不揮発性メモリを備えた記憶装置及び記憶装置用不揮発性メモリの制御方法
JP4794530B2 (ja) 半導体装置および携帯電話
EP2267725A1 (en) Memory device for managing the recovery of a non volatile memory
JP2001084180A (ja) ファイル管理装置
JP4183237B2 (ja) 記憶装置
JP2011175361A (ja) データ記憶装置及びデータ記憶方法
KR100319254B1 (ko) 플레쉬 메모리를 이용한 비휘발성 데이터 영역 복구 방법
JP4031693B2 (ja) 不揮発性メモリおよびこれを有したデータ記憶装置
JP3271935B2 (ja) 制御システム
KR20050009045A (ko) 플래시 메모리를 이용한 기억장치 및 그 에러 복구 방법
JP3166659B2 (ja) 記憶装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050921

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20060522

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20060701

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080205

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080430

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080708

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080715

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

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080819

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

Free format text: PAYMENT UNTIL: 20110829

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4175881

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

Year of fee payment: 4

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

Year of fee payment: 5

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

Year of fee payment: 5

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: R3D02

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

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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