JP4122972B2 - データ記録装置及びフラッシュメモリに対するデータ書き込み方法 - Google Patents

データ記録装置及びフラッシュメモリに対するデータ書き込み方法 Download PDF

Info

Publication number
JP4122972B2
JP4122972B2 JP2002554876A JP2002554876A JP4122972B2 JP 4122972 B2 JP4122972 B2 JP 4122972B2 JP 2002554876 A JP2002554876 A JP 2002554876A JP 2002554876 A JP2002554876 A JP 2002554876A JP 4122972 B2 JP4122972 B2 JP 4122972B2
Authority
JP
Japan
Prior art keywords
management information
block
page
written
flash 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
JP2002554876A
Other languages
English (en)
Other versions
JPWO2002054247A1 (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.)
Sony Corp
Original Assignee
Sony Corp
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 Sony Corp filed Critical Sony Corp
Publication of JPWO2002054247A1 publication Critical patent/JPWO2002054247A1/ja
Application granted granted Critical
Publication of JP4122972B2 publication Critical patent/JP4122972B2/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/16Protection against loss of memory contents
    • 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/72Details relating to flash memory management
    • G06F2212/7207Details relating to flash memory management management of metadata or control data
    • 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/10Programming or data input circuits
    • G11C16/102External programming circuits, e.g. EPROM programmers; In-circuit programming or reprogramming; EPROM emulators

Description

【技術分野】
【0001】
本発明は、フラッシュメモリに書き込まれた管理情報に関するものであり、詳しくは管理情報の更新に伴う書き込みエラーから管理情報を保護するデータ記録装置及びフラッシュメモリに対するデータ書き込み方法に関する。
【背景技術】
【0002】
電気的にデータを一括消去でき、何度でもデータを書き込める不揮発性のPROM(Programmable Read-Only Memory)であるフラッシュメモリは、小型、軽量、高速性、低消費電力といった特性を有することから携帯型PC(Personal Computer)のHDD(Hard Disk Drive)に代わる補助記憶媒体などに用いられている。またフラッシュメモリをリムーバルにしたものに、メモリーカードがある。メモリーカードは、データ記録装置に装着され画像データや音楽データなどが記録される。メモリーカードに記録された画像データや音楽データは、メモリーカードをPC、デジタルカメラ、音楽再生装置などに装着し再生させることができる。
【0003】
続いて、図1を用いて、上述したフラッシュメモリのメモリ構成について説明をする。フラッシュメモリは、データの消去単位である所定のデータ量の複数のブロックによって構成されている。さらに各ブロックはデータの読み出し、書き込みの単位である所定のデータ量の複数のページで構成されている。また、各ページはデータを書き込む、例えば、512Byteのデータ領域と、パリティーデータなどを書き込む16Byteの拡張領域(Extra領域)とを備えている。フラッシュメモリは、データ記録装置で記録される画像データ、音楽データ以外に装置が動作するために必要な情報である装置起動情報、装置管理情報などの重要な情報(以下、管理情報と呼ぶ)を上述したデータ領域に記憶している。この管理情報は、フラッシュメモリを使用する際に装置内のRAM(Random Access Memory)に読み込まれ記憶及び管理される。記憶された管理情報は、必要に応じて、例えば、音楽データや画像データの書き込みによって記憶データが変化したことに応じて、データ記憶装置のCPUの制御により更新され、更新された管理情報は、再びフラッシュメモリのデータ領域に書き込まれる。
【0004】
次に、図2に示すフローチャートを用いて、フラッシュメモリの管理情報を更新する際の動作について説明をする。ここでは、ある管理情報がフラッシュメモリ内の所定のブロックに書き込まれているとする。まず、ステップS21において、CPUは、フラッシュメモリ内の所定のブロックを検索し、ブロック内に空ページがあるかどうかを判断する。ブロック内に空ページがない場合は工程をステップS22へと進め、ブロック内に空ページがある場合は工程をステップS23へと進める。
【0005】
ステップS22において、CPUは、更新直前の管理情報が書き込まれているページと同一のブロックにある空ページを、更新した管理情報を書き込むための新しいページとして確保する。管理情報が書き込まれてるページが当該ブロックの最後のページの場合は、次のブロックの先頭ページに管理情報が書き込まれる。
【0006】
ステップS23において、CPUは、フラッシュメモリ内の全てのブロックに空ページがなかったことに応じて、先頭のブロックに書き込まれている更新前の管理情報を全て消去し、更新した管理情報を書き込むためのブロックを用意する。そしてCPUは、更新前の管理情報を消去したブロックの先頭ページを更新した新しい情報を書き込むための新しいページとして確保する。
【0007】
ステップS24において、CPUは、ステップS22又はステップS23で確保した新しいページに更新した管理情報を書き込む。ステップS24が終了すると管理情報の更新処理は終了する。
【0008】
図2のフローチャートを用いて説明したように管理情報の更新が行われると、フラッシュメモリのブロックは図3に示すように管理情報が更新されていく。管理情報が書き込まれるブロックをブロック100a、ブロック100bとすると、まず、ブロック100aのページ番号0から管理情報は書き込まれ、ページ番号nまで書き込まれる。続いて、ブロック100bへと移り、ブロック100bのページ番号0から管理情報が書き込まれる。このようにして、フラッシュメモリのブロックへは、ブロック毎に順番に管理情報が更新されていく。また、フラッシュメモリの管理情報の更新処理で、更新処理に失敗した場合、CPUは、更新直前の管理情報を用いて再び更新処理を行うことになる。
【0009】
ところで、フラッシュメモリは、ページにデータを書き込む処理においてエラーが発生した場合、そのページが属するブロック内のデータ全体にエラーが及ぶ串刺しエラーという現象を生じてしまう特性がある。串刺しエラーとは、図4に示すように、ブロック内のページのあるビットにエラーが生じると、ブロック内の他の全てのページの同一ビットもエラーが生じブロック内全てのデータがダメージを被るというものである。
【0010】
上述のフローチャートで示した、フラッシュメモリ内の管理情報の更新では、ブロック内の更新前の管理情報が書き込まれているページの次の空きページに管理情報を書き込むので、更新処理に失敗しエラーが生じた場合、エラーが生じたページを有するブロック内の全ての管理情報にエラーが生じてしまう。したがって、更新処理に失敗した場合に必要となる更新直前の管理情報にもエラーが生じてしまい、再び更新処理を行えなくなるといった問題がある。
【0011】
さらに、従来フラッシュメモリの一つのメモリセルには1bitの情報しか記憶できなかったが、フラッシュメモリの低コスト化、大容量化のために一つのメモリセルに2bit、さらには4bitといった情報を記憶する多値化が行われた場合、上述の串刺しエラーは広範囲のビットに及ぶことになり、誤り訂正コードだけでは対処できないといった問題がある。
【発明の開示】
【0012】
そこで、本発明は上述したような問題を解決するために案出されたものであり、管理情報の更新に伴う書き込みエラーから、管理情報を保護するデータ記録装置及びフラッシュメモリに対するデータ書き込み方法を提供することを目的とする。
【0013】
本発明に係るデータ記録装置は、所定のデータ量のページ単位でデータが書き込まれ、書き込まれた上記データが複数の上記ページからなるブロック単位で一括消去されるフラッシュメモリにデータを書き込み、データを記録させるデータ記録装置において、上記フラッシュメモリに記憶されている管理情報を読み出し、記憶する記憶手段と、上記記憶手段に記憶されている管理情報を更新する更新手段と、上記フラッシュメモリのデータ書き込み単位である上記ページに上記更新手段で更新された管理情報を書き込む管理情報書き込み手段と、更新した上記管理情報を、上記管理情報書き込み手段によって上記フラッシュメモリのページに書き込む際、最新の更新前管理情報が記録されているページを含むブロック以外の上記ブロックを選択し、この選択した上記ブロック内の最新の更新前管理情報が記録されているページの次の空ページに更新した管理情報を書き込むよう上記管理情報書き込み手段を制御する制御手段とを備え、上記制御手段は、上記選択したブロックに空ページがないとき、このブロックに書き込まれている古い管理情報を消去して先頭のページに、上記更新した管理情報を書き込む。
【0014】
このデータ記録装置では、管理情報の更新に必要となる更新直前の管理情報を保護することができる。
【0015】
本発明に係るフラッシュメモリに対するデータ書き込み方法は、所定のデータ量のページ単位でデータが書き込まれ、書き込まれた上記データが複数の上記ページからなるブロック単位で一括消去されるフラッシュメモリに対するデータ書き込み方法において、上記フラッシュメモリに記憶されている管理情報を読み出し、所定の記憶手段に記憶させ、上記記憶手段に記憶されている管理情報を更新し、更新した上記管理情報を上記フラッシュメモリのページに書き込む際、最新の更新前管理情報が記録されているページを含むブロック以外の上記ブロックを選択し、上記選択した上記ブロック内の最新の更新前管理情報が記録されているページの次の空ページに更新した上記管理情報を書き込み、上記選択したブロックに空ページがないとき、このブロックに書き込まれている古い管理情報を消去して先頭のページに、上記更新した管理情報を書き込む。
【0016】
このフラッシュメモリに対するデータ書き込み方法では、管理情報の更新に必要となる更新直前の管理情報を保護することができる。
【発明を実施するための最良の形態】
【0017】
以下、本発明に係るデータ記録装置及びフラッシュメモリに対するデータ書き込み方法の実施の形態を図面を参照にして詳細に説明する。
本発明は、図5に示すデータ記録装置1に適用される。データ記録装置1は、フラッシュメモリ2と、インターフェース(IF)3と、メモリ4と、ディスプレイ5と、I/O(Input/Output)6と、CPU(Central Processing Unit)7と、バス8とを備えている。
【0018】
フラッシュメモリ2は、電気的にデータの一括消去が行え、データの書き込みが何度でも行える不揮発性のPROM(Programmable Read-only Memory)である。ユーザの命令に応じて、データ記録装置1はフラッシュメモリ2に音楽データや画像データを書き込む。また、フラッシュメモリ2は、データ記録装置1に固定されていてもよいし、データ記録装置1から着脱自在なリムーバルメディアであってもよい。
【0019】
インターフェース3は、フラッシュメモリ2を接続し、フラッシュメモリ2に記憶されているデータの読み出し、フラッシュメモリ2へのデータの書き込みを行うインターフェースである。
【0020】
メモリ4は、データ記録装置1の主記憶装置であり、書き込み読み出し自在なRAM(Random Access Memory)である。メモリ4は、CPU7の制御に応じて、フラッシュメモリ2から読み出された管理情報を記憶する。
【0021】
ディスプレイ5は、フラッシュメモリ2にデータを書き込む際の操作を支援するプログラムを表示させたり、フラッシュメモリ2の空き容量などを表示したりする表示装置である。
【0022】
I/O6は、入出力インターフェースであり、ユーザの当該データ記録装置1への命令を入力したり、フラッシュメモリ2内に記録されている画像データや音楽データを出力したりする。
【0023】
CPU7は、データ記録装置1の各部を統括的に制御する。また、CPU7は、フラッシュメモリ2に書き込まれている管理情報を読み出してメモリ4へ記憶させ、メモリ4へ記憶させた管理情報の書き換えや管理などを行う。
【0024】
またCPU7は、メモリ4へ記憶させた管理情報に基づいて、フラッシュメモリ2へ画像データや音楽データを書き込む際の制御を行う。
【0025】
バス8は、上述の各部を接続するバスであり、ここでは区別していないが、CPU7からの制御を各部へ伝える制御バスと、各種データを伝えるデータバスとを備えている。
【0026】
続いてフラッシュメモリ2に記憶されている管理情報が更新される際の動作の概要について図6に示すフローチャートを用いて説明をする。
【0027】
まず、ステップS1において、管理情報の更新処理に入ると、CPU7は、フラッシュメモリ2内を検索し、更新した管理情報を書き込むための新しいページを取得する。
【0028】
ステップS2において、CPU7は、ステップS1で取得したフラッシュメモリ2の新しいページに更新した管理情報を書き込む。
【0029】
続いて、ステップS3において、CPU7は書き込んだ管理情報にエラーがあるかどうかの判断をする。エラーがない場合は工程を終了し、エラーがある場合は工程をステップS4に進める。
【0030】
ステップS4において、CPU7は、フラッシュメモリ2を検索して、上述のステップS2で書き込んだデータが書き込まれたページを備えるブロック以外の新しいブロックを取得する。ステップS4が終了すると工程はステップS1へと戻り、書き込みエラーがなくなるまでこの工程は続けられる。
【0031】
このようにして、データ記録装置1は、更新した管理情報を書き込むページを、更新直前の管理情報が書き込まれているページが属するブロックとは異なるブロックに確保するので、管理情報を更新する際に書き込みエラーが生じた場合でも、更新前の直前の情報は必ず保護される。
【0032】
続いて、上述のフローチャートで示したステップS1の工程及びステップS2の工程の具体的な動作について図7に示すフローチャートを用いて説明をする。
【0033】
ここで、図7に示したフローチャートの説明をする前に、図8を用いてフラッシュメモリ2のブロック構造について説明をする。フラッシュメモリ2は、1つのブロックサイズが16KByteであるブロックが複数集まって構成されている。フラッシュメモリ2を構成する複数のブロックは、512ブロック毎のまとまりがセグメントとして定義され、セグメント毎に後述する論理アドレス、予備ブロックの管理が行われる。
【0034】
例えば、図8に示すように、16MByteのメモリサイズであるフラッシュメモリ2の場合、セグメント番号”0”及び”1”のセグメントから構成され、32MByteのメモリサイズであるフラッシュメモリ2の場合、セグメント番号”0”〜”3”のセグメントから構成され、64MByteのメモリサイズであるフラッシュメモリ2の場合、セグメント番号”0”〜”7”のセグメントから構成され、128MByteのメモリサイズであるフラッシュメモリ2の場合、セグメント番号”0”〜”15”のセグメントから構成される。
【0035】
また、セグメントを使用することにより、論理アドレスの設定されている物理ブロック番号の範囲が決まることになる。例えば、図8に示すように、物理ブロック番号0〜511(ブロック数:512)で構成されるセグメントは、セグメント番号”0”と定義される。セグメント番号”0”のセグメントに設定される論理アドレスは、括弧内に示すように0〜493と決まっていて、残りのブロックが予備ブロックとして管理される。
【0036】
同様に、セグメント番号”1”〜”15”と定義された各セグメントにおいても物理ブロック番号に対応した論理アドレスが設定され、論理アドレスの対応づけがなされていないブロックが予備ブロックとなる。
【0037】
管理情報を書き込むブロックは、上述したこの予備ブロックとすることが好ましい。なぜなら、予備ブロックには、実データによるアクセスがなされず、論理番号と物理番号との対応づけがなされていないため、管理データ領域として独立して管理することができ、奇数ブロック及び偶数ブロックにまたがるような複雑な更新処理をしても対応付けが容易だからである。また、上記管理情報としては論理物理の変換テーブルデータや実データのディレクトリエントリなどが考えられる。
【0038】
ここでは、フラッシュメモリ2内に更新した管理情報を書き込むブロックを2つ用意し、それぞれを偶数ブロック、奇数ブロックと呼ぶことにする。さらに偶数ブロック、奇数ブロック内のページには、通し番号を0から与える。更新された管理情報は、この通し番号の順にフラッシュメモリ2に記憶される。例えば、図9に示すように、偶数用ブロック10aには0,2,4,6…と通し番号が与えられ、奇数用ブロック10bには、1,3,5,7…と通し番号が与えられる。更新された管理情報は、通し番号0,1,2,3,4,5,6,7…の順番にページ内に書き込まれていくことになる。
【0039】
また、偶数用ブロック10a、奇数用ブロック10bの各ページにはそれぞれページ番号が与えられていて、上述の通し番号と対応させると通し番号0と通し番号1のページ番号は0、通し番号2と通し番号3のページ番号は1というような関係になる。
【0040】
なお、偶数用ブロック10a、奇数用ブロック10bの各ページに与える通し番号は、説明のために便宜的に与えるものである。したがって、CPU7は、実際の処理において管理情報を書き込む際、直接通し番号を指定するのではなく、ブロック内の所定の基準となるページから数えてN番目のページに所望の管理情報を書き込むというように指定をする。
【0041】
まず、ステップS11において、管理情報の更新処理に入ると、CPU7は、フラッシュメモリ2で更新直前の管理情報が書き込まれているページを検索する。奇数用ブロック10bのページに更新直前の管理情報が書き込まれている場合は工程をステップS12へと進め、奇数用ブロック10bのページに書き込まれていない場合、つまり偶数用ブロック10aに書き込まれている場合は工程をステップS15へと進める。更新された管理情報は、更新直前の管理情報が書き込まれているページの次の通し番号が与えられたページに書き込まれることになる。
【0042】
ステップS12において、奇数用ブロック10bのページに更新直前の管理情報が書き込まれていることから、更新した管理情報を書き込むのは偶数用ブロック10aとなるため、CPU7は、更新直前の管理情報が書き込まれている奇数用ブロック10bのページ番号を1だけインクリメントしたページ番号の偶数用ブロック10aのページを、更新した管理情報を書き込むページとして確保する。
【0043】
ステップS13において、CPU7は、偶数用ブロック10aに空ページがあるかどうかの判断をし、空ページがない場合は工程をステップS14へと進め、空ページがある場合は工程をステップS18へと進める。これは、更新直前の管理情報が書き込まれている奇数用ブロック10bのページが当該奇数用ブロック10bの最後のページであるかどうかを判断する工程である。つまり奇数用ブロック10bの最後のページである場合は上述のステップS12において、偶数用ブロック10aのページ番号を1インクリメントしても該当するページは存在しないことになる。したがってこのステップS13で空ページが存在するかどうかを判断することで、更新した管理情報を書き込むページがないという状態を防止する。
【0044】
ステップS14において、CPU7は、偶数用ブロック10aには空ページがないことから、偶数用ブロック10aに書き込まれている古い管理情報を消去して先頭のページ、つまりページ番号0(通し番号0)のページを更新した管理情報を書き込むページとして確保する。ステップS14が終了すると工程はステップS18へと進む。
【0045】
ステップS15において、CPU7は、更新直前の管理情報が書き込まれているページのページ番号が偶数用ブロック10aの先頭のページ、つまりページ番号0(通し番号0)であるかどうかを判断する。先頭ページである場合は工程をステップS16へと進め、先頭ページでない場合は工程をステップS17へと進める。
【0046】
ステップS16において、CPU7は、偶数用ブロック10aの先頭ページ、つまりページ番号0(通し番号0)に更新直前の管理情報が書き込まれていることから、奇数用ブロック10bに書き込まれている全ての情報を消去して、先頭のページ、つまりページ番号0(通し番号1)を更新した管理情報を書き込む領域として確保する。
【0047】
ステップS17において、CPU7は、偶数用ブロック10aの先頭ページ、つまりページ番号0(通し番号0)以外のページに更新直前の管理情報が書き込まれていることから、更新直前の管理情報が書き込まれている偶数用ブロック10aのページ番号と同じページ番号の奇数用ブロック10bのページを更新した管理情報を書き込む領域として確保する。
【0048】
ステップS18において、CPU7は、更新した管理情報が確保したページに書き込まれるようインターフェース3を制御する。
【0049】
このようにして、データ記録装置1では、フラッシュメモリ2に更新した管理情報を書き込むページを、更新前の更新直前の管理情報が書き込まれているページを備えるブロックとは異なるブロックに確保することで、書き込みエラーが生じた際に必要となる更新前の更新直前の管理情報を保護することができる。
【0050】
また、本発明は、フラッシュメモリ2の管理情報の更新及び管理をデータ記録装置1のCPU7とメモリ4とで行うばかりでなく、フラッシュメモリと、フラッシュメモリへのデータ書き込みを制御するコントロールICとでリムーバルメディアを形成し、このコントロールICで管理情報の更新及び管理を行ってもよい。例えば、上述したようなフラッシュメモリ2にコントロールICを備え、管理情報の更新及び管理を行うリムーバルメディアにメモリーカードがある。
【0051】
続いて、図10を用いて、フラッシュメモリ2と、コントロールICとを備えたメモリーカード20の構成について説明をする。メモリーカード20は、フラッシュメモリ30と、コントロールIC40とを備えている。また、メモリーカード20は、電源端子となるVCC21と、グランドとなるVSS22とを備えており、データ記録装置に装着されることで電源が供給されることになる。
【0052】
フラッシュメモリ30は上述したフラッシュメモリ2と同様の構成をしており、データの消去単位である所定のデータ量の複数のブロックによって構成されている。さらに各ブロックはデータの読み出し、書き込みの単位である所定のデータ量の複数のページを備えている。さらに各ページはデータを書き込む、例えば、512Byteのデータ領域と、パリティーデータを書き込む16Byteの拡張領域(Extra領域)とを備えている。コントロールIC40は、レジスタ41と、ページバッファ42と、アトリビュートROM43と、フラッシュメモリI/F44と、OSCコントローラ45と、IF46とを備えている。
【0053】
レジスタ41は、フラッシュメモリ30から読み出すデータのパラメータ、例えば、上述した通し番号など、を記憶しコマンドに応じてフラッシュメモリ30から該当するデータを読み出し、ページバッファ42へ送出するパラメータレジスタである。ページバッファ42は、上述のレジスタ41に記憶されたパラメータに従って読み出されたデータを一時的に記憶する。レジスタ41は、上述したデータ記録装置1におけるメモリ4の機能を担う。アトリビュートROM43は、メモリーカードのメモリ情報などを記憶している読み出し専用のメモリである。フラッシュメモリI/F44は、フラッシュメモリ30とコントロールICとを接続するインターフェースであり、レジスタ41から送出される命令に応じてフラッシュメモリ30へのデータの書き込み、フラッシュメモリからのデータの読み出しをする。OSCコントローラ45は、コントロールIC40のクロックを発生し、コントロールICの動作タイミングを制御する。IF46は、メモリーカード20のコントロールIC40へ、メモリーカード20を装着したデータ記録装置からの制御信号の入力、データ記録装置とメモリーカード20間でのデータ入出力をするためのインターフェースである。
【0054】
IF46には、BS(バスステート)47と、DIO(DATE I/O)48と、SCLK(シリアルクロック)49とが備えられている。BS47は、メモリーカード20に入出力するデータの入出力制御をするCPU7から送出される制御信号を伝送する。DIO48は、データ記録装置からフラッシュメモリ30に入力されるデータと、フラッシュメモリ30からデータ記録装置1へ出力されるデータを伝送する。SCLK49は、コントロールICを制御するクロックを伝送する。
【0055】
以上のようにフラッシュメモリ30と、コントロールIC40とを備えることで、メモリーカード20は管理情報を更新する際に、上述の図6及び図7のフローチャートで示した動作を実行することができる。これにより、メモリーカード20に備えられたフラッシュメモリ30で、管理情報の更新時に書き込みエラーが発生しても、管理情報の更新に必要となる更新直前の管理情報を保護することができる。
産業上の利用可能性
【0056】
以上の説明からも明らかなように、本発明のデータ記録装置は、フラッシュメモリに記憶されている管理情報を更新する際に、制御手段によって、最新の更新前管理情報が記録されているページを含むブロック以外のブロックを選択し、選択したブロック内の最新の更新前管理情報が記録されているページの次の空ページに更新した管理情報を書き込むよう管理情報書き込み手段を制御することで、管理情報更新時に発生する書き込みエラーに伴うブロック内全管理情報のエラーから更新直前管理情報を保護することができ、書き込みエラーが発生した場合でも保護された更新直前管理情報を用いて管理情報の更新処理を行うことを可能とする。
【0057】
また、以上の説明からも明らかなように、本発明のフラッシュメモリに対するデータ書き込み方法は、フラッシュメモリに記憶されている管理情報を更新する際に、最新の更新前管理情報が記録されているページを含むブロック以外のブロックを選択し、選択したブロック内の最新の更新前管理情報が記録されているページの次の空ページに更新した管理情報を書き込むことで、管理情報更新時に発生する書き込みエラーに伴うブロック内全管理情報のエラーから更新直前管理情報を保護することができ、書き込みエラーが発生した場合でも保護された更新直前管理情報を用いて管理情報の更新処理を行うことを可能とする。
【図面の簡単な説明】
【0058】
【図1】 図1は、フラッシュメモリのメモリ構成を説明するための図である。
【図2】 図2は、背景技術として示す、データ記録装置において、管理情報の更新処理動作について説明するためのフローチャートである。
【図3】 図3は、同データ記録装置において、管理情報が書き込まれるブロックについて説明するための図である。
【図4】 図4は、同データ記録装置において、管理情報のフラッシュメモリへの書き込み時にブロックに発生する串刺しエラーについて説明するための図である。
【図5】 図5は、本発明の実施の形態として示すデータ記録装置の要部構成を説明するためのブロック図である。
【図6】 図6は、同データ記録装置において、管理情報の更新処理動作の概要を説明するためのフローチャートである。
【図7】 図7は、同データ記録装置において、具体的な管理情報の更新処理動作を説明するためのフローチャートである。
【図8】 図8は、同データ記録装置において、フラッシュメモリのブロック構造について説明するための概略図である。
【図9】 図9は、同データ記録装置において、管理情報が書き込まれる偶数ブロック及び奇数ブロックについて説明するための図である。
【図10】 図10は、本発明の実施の形態として示すメモリーカードの要部構成を説明するためのブロック図である。

Claims (6)

  1. 所定のデータ量のページ単位でデータが書き込まれ、書き込まれた上記データが複数の上記ページからなるブロック単位で一括消去されるフラッシュメモリにデータを書き込み、データを記録させるデータ記録装置において、
    上記フラッシュメモリに記憶されている管理情報を読み出し、記憶する記憶手段と、
    上記記憶手段に記憶されている管理情報を更新する更新手段と、
    上記フラッシュメモリのデータ書き込み単位である上記ページに上記更新手段で更新された管理情報を書き込む管理情報書き込み手段と、
    更新した上記管理情報を、上記管理情報書き込み手段によって上記フラッシュメモリのページに書き込む際、最新の更新前管理情報が記録されているページを含むブロック以外の上記ブロックを選択し、この選択した上記ブロック内の最新の更新前管理情報が記録されているページの次の空ページに更新した管理情報を書き込むよう上記管理情報書き込み手段を制御する制御手段とを備え、
    上記制御手段は、上記選択したブロックに空ページがないとき、このブロックに書き込まれている古い管理情報を消去して先頭のページに、上記更新した管理情報を書き込むことを特徴とするデータ記録装置。
  2. 上記フラッシュメモリのデータ消去単位であるブロックが、偶数ブロックと、奇数ブロックとからなり、
    上記制御手段は、更新した上記管理情報を、上記管理情報書き込み手段によって上記フラッシュメモリのページに書き込む際、最新の更新前管理情報が上記偶数ブロックに書き込まれている場合は、上記奇数ブロックを選択し、選択した上記奇数ブロックの空ページに更新した上記管理情報を書き込むよう制御し、
    最新の更新前管理情報が上記奇数ブロックに書き込まれている場合は、上記偶数ブロックを選択し、選択した上記偶数ブロックの空ページに更新した上記管理情報を書き込むよう制御することを特徴とする請求項1記載のデータ記録装置。
  3. 上記フラッシュメモリのデータ消去単位であるブロックが、偶数ブロックと、奇数ブロックとからなり、
    上記制御手段は、更新した上記管理情報を、上記管理情報書き込み手段によって上記フラッシュメモリのページに書き込む際、最新の更新前管理情報が上記偶数ブロックに書き込まれている場合は、この最新の更新前管理情報が上記偶数ブロックの先頭ページに書き込まれているとき、上記奇数ブロックを選択し、選択した上記奇数ブロックに書き込まれている古い管理情報を消去して先頭のページに、上記更新した管理情報を書き込むよう制御することを特徴とする請求項1記載のデータ記録装置。
  4. 所定のデータ量のページ単位でデータが書き込まれ、書き込まれた上記データが複数の上記ページからなるブロック単位で一括消去されるフラッシュメモリに対するデータ書き込み方法において、
    上記フラッシュメモリに記憶されている管理情報を読み出し、
    所定の記憶手段に記憶させ、
    上記記憶手段に記憶されている管理情報を更新し、
    更新した上記管理情報を上記フラッシュメモリのページに書き込む際、最新の更新前管理情報が記録されているページを含むブロック以外の上記ブロックを選択し、
    上記選択した上記ブロック内の最新の更新前管理情報が記録されているページの次の空ページに更新した上記管理情報を書き込み、
    上記選択したブロックに空ページがないとき、このブロックに書き込まれている古い管理情報を消去して先頭のページに、上記更新した管理情報を書き込むことを特徴とするフラッシュメモリに対するデータ書き込み方法。
  5. 上記フラッシュメモリのデータ消去単位であるブロックが、偶数ブロックと、奇数ブロックとからなり、
    更新した上記管理情報を上記フラッシュメモリのページに書き込む際、最新の更新前管理情報が上記偶数ブロックに書き込まれている場合は、上記奇数ブロックを選択し、
    選択した上記奇数ブロックの空ページに更新した上記管理情報を書き込み、
    最新の更新前管理情報が上記奇数ブロックに書き込まれている場合は、上記偶数ブロックを選択し、
    選択した上記偶数ブロックの空ページに更新した上記管理情報を書き込むことを特徴とする請求項4記載のフラッシュメモリに対するデータ書き込み方法。
  6. 上記フラッシュメモリのデータ消去単位であるブロックが、偶数ブロックと、奇数ブロックとからなり、
    更新した上記管理情報を上記管理情報書き込み手段によって上記フラッシュメモリのページに書き込む際、最新の更新前管理情報が上記偶数ブロックに書き込まれている場合は、この最新の更新前管理情報が上記偶数ブロックの先頭ページに書き込まれているとき、上記奇数ブロックを選択し、選択した上記奇数ブロックに書き込まれている古い管理情報を消去して先頭のページに、上記更新した管理情報を書き込むことを特徴とする請求項4記載のフラッシュメモリに対するデータ書き込み方法。
JP2002554876A 2000-12-28 2001-12-28 データ記録装置及びフラッシュメモリに対するデータ書き込み方法 Expired - Fee Related JP4122972B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2000403461 2000-12-28
JP2000403461 2000-12-28
PCT/JP2001/011678 WO2002054247A1 (fr) 2000-12-28 2001-12-28 Enregistreur de donnees et procede d'enregistrement de donnees dans une memoire flash

Publications (2)

Publication Number Publication Date
JPWO2002054247A1 JPWO2002054247A1 (ja) 2004-05-13
JP4122972B2 true JP4122972B2 (ja) 2008-07-23

Family

ID=18867581

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002554876A Expired - Fee Related JP4122972B2 (ja) 2000-12-28 2001-12-28 データ記録装置及びフラッシュメモリに対するデータ書き込み方法

Country Status (7)

Country Link
US (1) US7065608B2 (ja)
EP (1) EP1347383A4 (ja)
JP (1) JP4122972B2 (ja)
KR (1) KR100871027B1 (ja)
CN (1) CN1307554C (ja)
TW (1) TW539950B (ja)
WO (1) WO2002054247A1 (ja)

Families Citing this family (67)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004280752A (ja) * 2003-03-19 2004-10-07 Sony Corp データ記憶装置、およびデータ記憶装置における管理情報更新方法、並びにコンピュータ・プログラム
JP4218406B2 (ja) * 2003-04-25 2009-02-04 富士フイルム株式会社 情報記録再生方法
KR100546348B1 (ko) * 2003-07-23 2006-01-26 삼성전자주식회사 플래시 메모리 시스템 및 그 데이터 저장 방법
JP2005222201A (ja) * 2004-02-04 2005-08-18 Matsushita Electric Ind Co Ltd メモリアクセス装置、及び半導体メモリカード
JP4460967B2 (ja) * 2004-07-23 2010-05-12 株式会社東芝 メモリカード、不揮発性半導体メモリ、及び半導体メモリの制御方法
JP4843222B2 (ja) * 2005-01-11 2011-12-21 株式会社東芝 半導体記憶装置の制御方法、メモリカード、及びホスト機器
KR100703727B1 (ko) * 2005-01-12 2007-04-05 삼성전자주식회사 비휘발성 메모리, 이를 위한 사상 제어 장치 및 방법
JP2007011872A (ja) * 2005-07-01 2007-01-18 Toshiba Corp メモリカードとその制御方法
KR100746289B1 (ko) 2005-07-11 2007-08-03 삼성전자주식회사 메모리 용량 정보를 갱신하는 비휘발성 메모리 카드 장치및 방법
JP4356686B2 (ja) 2005-12-01 2009-11-04 ソニー株式会社 メモリ装置及びメモリ制御方法
KR100825802B1 (ko) * 2007-02-13 2008-04-29 삼성전자주식회사 기입 데이터의 논리적 페이지보다 이전 논리적 페이지들을가지는 데이터들을 데이터 블록으로부터 복사하는 불휘발성메모리 장치의 데이터 기입 방법
US8365040B2 (en) 2007-09-20 2013-01-29 Densbits Technologies Ltd. Systems and methods for handling immediate data errors in flash memory
US8694715B2 (en) 2007-10-22 2014-04-08 Densbits Technologies Ltd. Methods for adaptively programming flash memory devices and flash memory systems incorporating same
WO2009072104A2 (en) 2007-12-05 2009-06-11 Densbits Technologies Ltd. Flash memory device with physical cell value deterioration accommodation and methods useful in conjunction therewith
WO2009074978A2 (en) 2007-12-12 2009-06-18 Densbits Technologies Ltd. Systems and methods for error correction and decoding on multi-level physical media
EP2249244B1 (en) * 2008-02-08 2014-12-17 Fujitsu Limited Backup method, storage method, and disc array device
WO2009118720A2 (en) 2008-03-25 2009-10-01 Densbits Technologies Ltd. Apparatus and methods for hardware-efficient unbiased rounding
TWI383399B (zh) * 2009-03-03 2013-01-21 Wistron Corp 嵌入式電子裝置及資料儲存方法
US8819385B2 (en) 2009-04-06 2014-08-26 Densbits Technologies Ltd. Device and method for managing a flash memory
US8458574B2 (en) * 2009-04-06 2013-06-04 Densbits Technologies Ltd. Compact chien-search based decoding apparatus and method
US8566510B2 (en) * 2009-05-12 2013-10-22 Densbits Technologies Ltd. Systems and method for flash memory management
US8995197B1 (en) 2009-08-26 2015-03-31 Densbits Technologies Ltd. System and methods for dynamic erase and program control for flash memory device memories
US9330767B1 (en) 2009-08-26 2016-05-03 Avago Technologies General Ip (Singapore) Pte. Ltd. Flash memory module and method for programming a page of flash memory cells
US8730729B2 (en) 2009-10-15 2014-05-20 Densbits Technologies Ltd. Systems and methods for averaging error rates in non-volatile devices and storage systems
US8724387B2 (en) 2009-10-22 2014-05-13 Densbits Technologies Ltd. Method, system, and computer readable medium for reading and programming flash memory cells using multiple bias voltages
US9037777B2 (en) * 2009-12-22 2015-05-19 Densbits Technologies Ltd. Device, system, and method for reducing program/read disturb in flash arrays
US8745317B2 (en) 2010-04-07 2014-06-03 Densbits Technologies Ltd. System and method for storing information in a multi-level cell memory
US8468431B2 (en) 2010-07-01 2013-06-18 Densbits Technologies Ltd. System and method for multi-dimensional encoding and decoding
US8964464B2 (en) 2010-08-24 2015-02-24 Densbits Technologies Ltd. System and method for accelerated sampling
US9063878B2 (en) 2010-11-03 2015-06-23 Densbits Technologies Ltd. Method, system and computer readable medium for copy back
US8850100B2 (en) 2010-12-07 2014-09-30 Densbits Technologies Ltd. Interleaving codeword portions between multiple planes and/or dies of a flash memory device
US8990665B1 (en) 2011-04-06 2015-03-24 Densbits Technologies Ltd. System, method and computer program product for joint search of a read threshold and soft decoding
US9110785B1 (en) 2011-05-12 2015-08-18 Densbits Technologies Ltd. Ordered merge of data sectors that belong to memory space portions
US9396106B2 (en) 2011-05-12 2016-07-19 Avago Technologies General Ip (Singapore) Pte. Ltd. Advanced management of a non-volatile memory
US9195592B1 (en) 2011-05-12 2015-11-24 Densbits Technologies Ltd. Advanced management of a non-volatile memory
US9372792B1 (en) 2011-05-12 2016-06-21 Avago Technologies General Ip (Singapore) Pte. Ltd. Advanced management of a non-volatile memory
US8996790B1 (en) 2011-05-12 2015-03-31 Densbits Technologies Ltd. System and method for flash memory management
US9501392B1 (en) 2011-05-12 2016-11-22 Avago Technologies General Ip (Singapore) Pte. Ltd. Management of a non-volatile memory module
US8423722B1 (en) * 2011-08-26 2013-04-16 Western Digital Technologies, Inc. System and method for high performance command processing in solid state drives
US8996788B2 (en) 2012-02-09 2015-03-31 Densbits Technologies Ltd. Configurable flash interface
US8947941B2 (en) 2012-02-09 2015-02-03 Densbits Technologies Ltd. State responsive operations relating to flash memory cells
US8996793B1 (en) 2012-04-24 2015-03-31 Densbits Technologies Ltd. System, method and computer readable medium for generating soft information
US8838937B1 (en) 2012-05-23 2014-09-16 Densbits Technologies Ltd. Methods, systems and computer readable medium for writing and reading data
US8879325B1 (en) 2012-05-30 2014-11-04 Densbits Technologies Ltd. System, method and computer program product for processing read threshold information and for reading a flash memory module
US9921954B1 (en) 2012-08-27 2018-03-20 Avago Technologies General Ip (Singapore) Pte. Ltd. Method and system for split flash memory management between host and storage controller
JP5360287B2 (ja) * 2012-10-31 2013-12-04 富士通株式会社 データ制御方法およびシステム
US9368225B1 (en) 2012-11-21 2016-06-14 Avago Technologies General Ip (Singapore) Pte. Ltd. Determining read thresholds based upon read error direction statistics
US9069659B1 (en) 2013-01-03 2015-06-30 Densbits Technologies Ltd. Read threshold determination using reference read threshold
US9136876B1 (en) 2013-06-13 2015-09-15 Densbits Technologies Ltd. Size limited multi-dimensional decoding
US9413491B1 (en) 2013-10-08 2016-08-09 Avago Technologies General Ip (Singapore) Pte. Ltd. System and method for multiple dimension decoding and encoding a message
US9786388B1 (en) 2013-10-09 2017-10-10 Avago Technologies General Ip (Singapore) Pte. Ltd. Detecting and managing bad columns
US9397706B1 (en) 2013-10-09 2016-07-19 Avago Technologies General Ip (Singapore) Pte. Ltd. System and method for irregular multiple dimension decoding and encoding
US9348694B1 (en) 2013-10-09 2016-05-24 Avago Technologies General Ip (Singapore) Pte. Ltd. Detecting and managing bad columns
US9536612B1 (en) 2014-01-23 2017-01-03 Avago Technologies General Ip (Singapore) Pte. Ltd Digital signaling processing for three dimensional flash memory arrays
US10120792B1 (en) 2014-01-29 2018-11-06 Avago Technologies General Ip (Singapore) Pte. Ltd. Programming an embedded flash storage device
US9542262B1 (en) 2014-05-29 2017-01-10 Avago Technologies General Ip (Singapore) Pte. Ltd. Error correction
US9892033B1 (en) 2014-06-24 2018-02-13 Avago Technologies General Ip (Singapore) Pte. Ltd. Management of memory units
US9972393B1 (en) 2014-07-03 2018-05-15 Avago Technologies General Ip (Singapore) Pte. Ltd. Accelerating programming of a flash memory module
US9584159B1 (en) 2014-07-03 2017-02-28 Avago Technologies General Ip (Singapore) Pte. Ltd. Interleaved encoding
US9449702B1 (en) 2014-07-08 2016-09-20 Avago Technologies General Ip (Singapore) Pte. Ltd. Power management
US9524211B1 (en) 2014-11-18 2016-12-20 Avago Technologies General Ip (Singapore) Pte. Ltd. Codeword management
US10305515B1 (en) 2015-02-02 2019-05-28 Avago Technologies International Sales Pte. Limited System and method for encoding using multiple linear feedback shift registers
US10628255B1 (en) 2015-06-11 2020-04-21 Avago Technologies International Sales Pte. Limited Multi-dimensional decoding
US9851921B1 (en) 2015-07-05 2017-12-26 Avago Technologies General Ip (Singapore) Pte. Ltd. Flash memory chip processing
US9954558B1 (en) 2016-03-03 2018-04-24 Avago Technologies General Ip (Singapore) Pte. Ltd. Fast decoding of data stored in a flash memory
CN106569747B (zh) * 2016-10-27 2019-01-11 宁波迦南智能电气股份有限公司 一种大容量采集终端的数据位置存储及检索方法
CN112764683B (zh) * 2021-01-22 2023-01-10 苏州浪潮智能科技有限公司 存储块管理信息同步记录方法、系统、终端及存储介质

Family Cites Families (13)

* 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
FR2701578B1 (fr) * 1993-02-16 1995-03-31 Gemplus Card Int Procédé d'écriture dans une mémoire non volatile, notamment dans une carte à mémoire.
US5485595A (en) 1993-03-26 1996-01-16 Cirrus Logic, Inc. Flash memory mass storage architecture incorporating wear leveling technique without using cam cells
US5696917A (en) * 1994-06-03 1997-12-09 Intel Corporation Method and apparatus for performing burst read operations in an asynchronous nonvolatile memory
US6081878A (en) * 1997-03-31 2000-06-27 Lexar Media, Inc. Increasing the memory performance of flash memory devices by writing sectors simultaneously to multiple flash memory devices
EP0803815A1 (en) * 1995-11-10 1997-10-29 Sony Corporation Information processing apparatus and method
US5761732A (en) * 1996-06-28 1998-06-02 Intel Corporation Interleaving for memory cards
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
JPH11144478A (ja) * 1997-11-10 1999-05-28 Hitachi Device Eng Co Ltd 不揮発性半導体メモリの情報記憶方法および電子機器
JPH11249968A (ja) 1998-03-05 1999-09-17 Sanyo Electric Co Ltd ファイル記録方法及びファイルシステム
US6148354A (en) * 1999-04-05 2000-11-14 M-Systems Flash Disk Pioneers Ltd. Architecture for a universal serial bus-based PC flash disk
WO2001008015A1 (fr) * 1999-07-28 2001-02-01 Sony Corporation Systeme d'enregistrement, dispositif d'enregistrement de donnees, dispositif a memoire et procede d'enregistrement de donnees
JP4037605B2 (ja) * 2000-12-04 2008-01-23 株式会社東芝 不揮発性メモリユニットのコントローラ、同コントローラを有するメモリシステム及び不揮発性メモリユニットの制御方法

Also Published As

Publication number Publication date
CN1307554C (zh) 2007-03-28
EP1347383A1 (en) 2003-09-24
CN1426557A (zh) 2003-06-25
KR100871027B1 (ko) 2008-11-27
US20030014582A1 (en) 2003-01-16
KR20020079917A (ko) 2002-10-19
WO2002054247A1 (fr) 2002-07-11
US7065608B2 (en) 2006-06-20
JPWO2002054247A1 (ja) 2004-05-13
EP1347383A4 (en) 2007-06-27
TW539950B (en) 2003-07-01

Similar Documents

Publication Publication Date Title
JP4122972B2 (ja) データ記録装置及びフラッシュメモリに対するデータ書き込み方法
JP3604466B2 (ja) フラッシュディスクカード
JP4356686B2 (ja) メモリ装置及びメモリ制御方法
TWI417717B (zh) 具多流更新之非揮發性記憶體及方法
US8386698B2 (en) Data accessing method for flash memory and storage system and controller using the same
KR100618298B1 (ko) 기록 시스템, 데이터 기록 장치, 메모리 장치 및 데이터기록 방법
US20080028132A1 (en) Non-volatile storage device, data storage system, and data storage method
JPH08137634A (ja) フラッシュディスクカード
JP4828816B2 (ja) メモリカード、半導体装置、及びメモリカードの制御方法
JP2004280752A (ja) データ記憶装置、およびデータ記憶装置における管理情報更新方法、並びにコンピュータ・プログラム
KR100684061B1 (ko) 기록 시스템, 데이터 기록 장치, 메모리 장치 및 데이터기록 방법
JP2007241576A (ja) 不揮発性記憶装置およびそのデータ書込み方法
JP2006079434A (ja) 記憶装置、メモリ管理方法及びプログラム
JPWO2007105688A1 (ja) メモリコントローラ、不揮発性記憶装置、及び不揮発性記憶システム
JP2003076605A (ja) ブロック消去型不揮発メモリを搭載した半導体記憶装置とそのデータの書込み・読出し方法
JP3694501B2 (ja) 記憶装置
JP3702515B2 (ja) フラッシュメモリ制御方法及びフラッシュメモリ制御ユニット
JP6072428B2 (ja) 制御装置、記憶装置、記憶制御方法
JP4308780B2 (ja) 半導体メモリ装置、メモリコントローラ及びデータ記録方法
JP4661497B2 (ja) メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法
JP2007179479A (ja) メモリコントローラおよびフラッシュメモリシステム
JP3112709B2 (ja) 追記型記憶媒体のアクセス装置
JP2004326523A (ja) 書き換え可能な不揮発性メモリを備えた記憶装置及び記憶装置用不揮発性メモリの制御方法
CN103389943A (zh) 控制装置、存储装置及存储控制方法
JP4334331B2 (ja) フラッシュメモリのアクセス制御方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040924

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070501

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070702

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20071023

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20071225

A911 Transfer of reconsideration by examiner before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20080107

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080212

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080311

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

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

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

Free format text: PAYMENT UNTIL: 20110516

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20120516

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20130516

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees