[go: up one dir, main page]

JP2005502124A - 大きなページ・サイズに対するフラッシュ管理システム - Google Patents

大きなページ・サイズに対するフラッシュ管理システム Download PDF

Info

Publication number
JP2005502124A
JP2005502124A JP2003525470A JP2003525470A JP2005502124A JP 2005502124 A JP2005502124 A JP 2005502124A JP 2003525470 A JP2003525470 A JP 2003525470A JP 2003525470 A JP2003525470 A JP 2003525470A JP 2005502124 A JP2005502124 A JP 2005502124A
Authority
JP
Japan
Prior art keywords
page
flash
sector
write
new
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.)
Granted
Application number
JP2003525470A
Other languages
English (en)
Other versions
JP4004468B2 (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.)
Western Digital Israel Ltd
Original Assignee
M Systems Flash Disk Pionners Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by M Systems Flash Disk Pionners Ltd filed Critical M Systems Flash Disk Pionners Ltd
Publication of JP2005502124A publication Critical patent/JP2005502124A/ja
Application granted granted Critical
Publication of JP4004468B2 publication Critical patent/JP4004468B2/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
    • 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/7202Allocation control and policies

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)

Abstract

デバイスの仕様に違反せずに、また性能を最適化して、フラッシュ・メモリ・システムが、オペレーティング・システム・データ・セクタ・サイズよりも大きなページ(2)を持つフラッシュ・デバイスをサポートすることを可能にするためのシステム及び方法。本発明によれば、フラッシュ・メモリ・システムの書き込みロジックは、セクタ書き込み処理中、PPP制限とデバイスのページ・サイズとを考慮しなくてはならない。PPPは、いつ、単に新しいデータを書き込むべきか、また新しいページを割り当てて、この新しいページへ以前から存在するデータをコピーするべきかの決断に影響を与える。本発明によれば、ページが一つ以上のセクタを含む場合、ソフトウェアは、物理アドレスへ標準置換するが、アドレスを見いだした後、そのアドレスを含むページを調べて、既にデータを含む同ページ内における他のセクタの数を数える。それから、算出物理アドレス内へセクタを書き込むか、あるいは新たなページ内へセクタを書き込み、同時に、オプションとして、既存の隣接するセクタをこの新たなページにコピーするかを決定する。

Description

【技術分野】
【0001】
本発明は、フラッシュメモリ・システムにおいて情報を保存及び検索するための、改良型のシステムに関する。特に、大きなページのフラッシュメモリ・デバイスに書き込まれたデータを組織化して処理するシステムに関する。
【背景技術】
【0002】
本技術の熟練者に既知であるように、本技術では、フラッシュタイプのフローティングゲート・トランジスタからなる、電気的に消去可能でプログラム可能な読み出し専用メモリ(EEPROM)が証されており、また現在、製品が市販されている。これらの、いわゆるフラッシュメモリは、機能及び性能がEPROMメモリと同様な非揮発性メモリであり、追加機能として、メモリのブロックを消去するための、回路内でのプログラム可能な処理を許容する。しかしながら、典型的なフラッシュメモリでは、メモリの、以前に書き込んだ領域に、その領域をブロックとして消去せずにリライトすることは実際的ではない。
【0003】
典型的なコンピュータ・システムでは、オペレーティング・システム・プログラムは、システムの一部であるデータ記憶装置のデータ管理に責任を持つ。データ記憶装置の必要な、そして通常十分な特性は、オペレーティング・システム・プログラムへ適合性を達成することであるため、オペレーティング・システムは、これらの装置からデータを読み取り、また、これらのデータ記憶媒体のどの位置へもデータを書き込むことができる。したがって、典型的なフラッシュメモリは、以前にデータが書き込まれたフラッシュメモリの領域には、まずその領域が消去されない限り、データを書き込むことができないため、典型的な既存のオペレーティング・システム・プログラムとは互換性がない。
【0004】
本技術分野では、オペレーティング・システム・プログラムを修正することなく、既存のコンピュータ操作プログラムによってフラッシュメモリを処理することを可能にする、ソフトウェア機構が提案されている。しかしながら、これらの従来の技術によるプログラムは、「1度の書き込みで何度も読み取る」装置として、フラッシュメモリを操作する。このような既知のソフトウェア機構は、以前に書き込んでしまった記憶位置をリサイクルすることができない。結局、すべての位置が書き込まれてしまった場合、ユーザーの特定な介入なしに、メモリをさらに用いることはできない。
【0005】
フラッシュメモリの消去及び再書き込みの制限を考慮すると、ソフトウェア・マネージメント・システムがフラッシュメモリ・デバイスのこれらの機能を処理するという必要性は、絶対条件である。このようなシステムは、例えば、バン及びアミール氏が1993年3月5日に出願した米国特許第5,404,485号に開示されている(参照により本文に完全に記載したものとする)。
【0006】
さらに、書き込まれていない物理ユニットが全くなくなってしまったときに再編成させる、NAND及びAND技術によって例示されるページ・モードの装置を可能にする必要がある。このような必要性は、データを読み取る、あるいは書き込むためのメモリ部分、例えばページ等の大きさが、消去のための最小部分、例えばユニット等の大きさとは異なる場合、フラッシュメモリを組織化する方法によっていた。ページ・モードのフラッシュ技術に最適化したフラッシュ・ファイル・システムは、例えば、バン及びアミール氏が1997年10月16日に出願した米国特許第5,937,425号に開示されている(参照により本文に完全に記載したものとする)。バン氏の425の発明及び本発明の両方によれば、用語「ページ」は、一つの処理で書き込まれる最小データ量と定義され、また用語「ユニット」は、一つの処理で消去される最小データ量と定義される(一つのユニットが一つ以上のページを含む)。
【0007】
今日使用されるたいていのオペレーティング・システム(OS)は、磁性ハードディスクあるいはフラッシュ・メモリ・ディスクによらず、OSが記憶装置から読み取る、あるいはそれに書き込むデータの最小量である「セクタ」と呼ぶ基本論理データ・ユニットに基づいて、ファイル保存システムを論理的に組織化している。セクタの最も一般的な大きさは今日512バイトである。他のサイズも可能である。(その大きさに拘らず)各読み取りあるいは書き込み処理に関連する不変なシステム・オーバヘッドがあるため、OSが、より大きな量のデータを処理することが、より効率的である。したがって、多くのOSは、複数のセクタを一つのより大きな論理エンティティに結合する、そのような(時々「クラスタ」と呼ばれる)より大きな量を定義する。それでも、ハードウェアにアクセスする最低レベルにおける基本単位はセクタである。
【0008】
多くのフラッシュ・メモリ・ディスクにとっては、512バイト量がフラッシュ・デバイスの基本的な物理属性であるため、デバイスの物理構造は、このOS構造に非常に適している。例えば、NANDフラッシュ・デバイスは、物理的に512バイト量で、データを読み取り、そして書き込む。単一バイトを読み取るという必要が僅かな場合でさえも、フラッシュ・アレイからフラッシュ・チップ内の内部バッファへ、512バイトを読み取り、それから所望の単一バイトにアクセスする必要がある。結果として、512バイトのセクタを用いることは、そのようなフラッシュ・ディスク上に存在するファイル・システムにアクセスするオペレーティング・システムでは比較的に効率的である。上記フラッシュ管理システムは、すべてこのように作用する。
【0009】
しかしながら、最近、フラッシュの主要なメーカーは、読み取り及び書き込み基本量が、512バイトの読み取り書き込み基本量サイズをもはや持たず、より大きな量を持つ、未来のデバイスを発表している。そのような例の一つがサムスン(www. samsung.com -23Fl.-Ka, Taepyung-ro, Chung-gu、韓国、ソウル)である。2キロバイトの基本読み取り書き込みページ・サイズを持つ、未来のK9F1G08U0M−YCB0、1ギガビット・デバイスを発表している。東芝 (www.toshiba.com、日本、105−8001東京都港区芝浦1丁目1−1、株式会社東芝)も、間もなく同様なデバイスを提供すると発表した。これらのデバイスを用いるであろうオペレーティング・システムは、それでも512バイト論理セクタに基づいたままであろうから、性能に関する、そして/あるいは信頼性に関する問題が起こるかもしれない。例えば、OSが、フラッシュ管理システムに、同じ物理ページを共有する四つのデータ・セクタを書き込むよう指示すると想定する。書き込み要求は、SWアプリケーションの必要条件によって規定されるため、四つのセクタが一緒に書き込まれることに依存することはできない。また、多くの場合、そのようにはならないだろう。したがって、これらの書き込み要求は、典型的に、四つの個々のコールで実行されるであろう。前記状況(512バイトのページ)では、図1から明らかなように、四つの書き込みコマンド間には妨害が全くなく、各セクタは、他から独立して、個々のフラッシュ・ページ内へ書き込まれるであろう。しかしながら、 2Kページの場合は、四つのセクタが一つの物理ページを共有するので、消去なしに、同じページに4度の書き込みは許されないだろう。したがって、同じページ内に単純に4度書き込むという些細な解決方法は容認しないことになる。例えば、上記サムスンのデバイスは、ページを消去しなければならなくなる前に、(技術文献で「パーシャル・ページ・プログラミング」あるいは「PPP」として知られる)単に3度の書き込み処理を保証するだけである。もちろん、上記書き込み処理を、同じページ内に決して2度の書き込みを行わずに達成することは可能である。既にもう一つのセクタを含んでいるページ内へセクタを書き込む各要求に対して、新しいページを指定して、それに新しいデータと既存のデータとの両方を書き込むことができる。しかし、この方法は、図2から明らかなように、性能を著しく損なうだろう。同じページ内に四つのセクタを書き込む上記の例においては、セクタが一つずつ来る場合、PPP仕様の違反を避けるこの強力な方法の論理は、次の事象の連鎖に導くであろう。
a.第一のセクタ書き込み要求が到着する。
b.第一のセクタのデータが第一のページに書き込まれる。
c.第二のセクタ書き込み要求が到着する。
d.第二のページが指定され、第一のセクタが第一のページから読み取られ、そして第一及び第二のセクタのデータが、第二のページに書き込まれる。
e.第三のセクタ書き込み要求が到着する。
f.第三のページが指定され、第一及び第二のセクタが第二のページから読み取られ、そして第一、第二、そして第三のセクタのデータが、第三のページに書き込まれる。
g.第四のセクタ書き込み要求が到着する。
h.第四のページが指定され、第一、第二、そして第三のセクタが、第三のページから読み取られ、そしてすべての四つのセクタのデータが、第四のページに書き込まれる。
【0010】
したがって、一つのセクタは4度、もう一つのセクタは3度、さらにもう一つは2度書き込まれ、そして最後に書き込まれるものだけが1度書き込まれる。(既存のセクタを新しい位置にコピーするのに必要な、追加の読み取り処理があることは言うまでもない)。
【0011】
したがって、確かに、デバイスの仕様に違反することなく、また性能を最適化する、512バイトよりも大きなページを持つフラッシュ・デバイスをサポート可能なフラッシュメモリ・システムを扱う方法の必要性がある。
【0012】
強調すべきことは、本発明の目的のために、特定なページ・サイズを持つフラッシュメモリ・システムへ言及するが、これは、そのようなページ・サイズを持つフラッシュ・デバイスからなるシステムに限定するものではない。ソフトウェアの観点から、単一のデバイス・ページだけにアクセスするのは非実用的になるので、むしろ常に多数のページに一緒にアクセスするやり方で、より小さなページ・サイズのフラッシュ・デバイスを組み合わせてフラッシュ・メモリ・システムを構成してもよい。例えば、512の8ビット・バイトのページ・サイズを持つ複数のフラッシュ・デバイスを、16ビット・データ・バスに並列に接続してもよい。そうすれば、両方にバスの下部と上部とで並列にアクセスすることができる。このようなアレンジメントは、ソフトウェアが、実用的に512の16ビット・ワードの最小アクセス・サイズを持つように強いる。したがって、本発明の目的のために、このようなフラッシュ・メモリ・システムは、1 K バイトのページ・サイズを持つと考える。
【発明の開示】
【課題を解決するための手段】
【0013】
本発明によれば、デバイスの仕様に違反せずに、また性能を最適化して、フラッシュ・メモリ・システムが、512バイトよりも大きなページを持つフラッシュ・デバイスをサポートすることを可能にする方法が提供される。
【0014】
システムは、次のものからなる。
i.少なくとも一つのフラッシュ・デバイスからなるフラッシュ・メモリ・システム。このフラッシュ・デバイスは、オペレーティング・システムのセクタ・サイズよりも大きなサイズのフラッシュ・ページを持つ。
ii.仮想アドレスの物理アドレスへのマッピングに基づくフラッシュ管理システム。
iii.データ・セクタを基本単位として用いるオペレーティング・システム。本発明の目的のために、オペレーティング・システムは、例えば、マイクロソフト社のウインドウズ・オペレーティング・システム等の、市販のオペレーティング・システムに限定されるものではなく、フラッシュ・デバイス内でデータを処理するのためにフラッシュ管理システムを用いる、如何なるソフトウェア・プログラムをも含む。
【0015】
本発明の好適実施例によれば、次のステップからなる、フラッシュ・メモリ・デバイスにデータの書き込みを可能にする方法が提供される。この場合、そのデバイスは、データ・セクタよりも大きなページをサポートする。
i.フラッシュ管理システムが少なくとも一つのデータ・セクタを書き込むように命令するステップ。
ii.物理フラッシュ・アドレスを計算するステップ。このアドレスは、フラッシュ・ページがデータ・セクタより大きなフラッシュ・ページ内にある。そして
iii.データ・セクタを、その位置指定フラッシュ・ページに、あるいは代替的な、新しいフラッシュ・ページに書き込むべきかを決定するステップ。
【0016】
セクタをどこに書き込むかの決断は、二つの基本的な選択肢を含む。
a.算出物理アドレス内へ(おそらく部分的に書き込まれているであろう大きなページの空きセクタ内へ)セクタを書き込む。あるいは
b.新たな(空の)ページ内へセクタを書き込み、同時に、(同じページ内における)既存の隣接するセクタをこの新たなページ内へコピーする。
【0017】
どこに書き込むかの決断は、ページ・サイズ、そして/あるいはPPPルール等の、フラッシュ・メモリ・デバイスの特徴を考慮する。
【0018】
さらに、本発明の好適実施例においては、利用可能な選択肢にもう一つの選択肢を加えてもよい。それは、新たな(空の)ページ内へセクタを書き込むが、(同じページ内における)既存の隣接するセクタを、この新たなページ内へコピーしないことである。
【発明の効果】
【0019】
本発明は、フラッシュ管理システムが、ホスト・オペレーティング・システム論理セクタ・サイズとは等しくない、大きなページ・サイズを持つフラッシュ・デバイスをサポートすることを可能にする。これは、フラッシュ仕様に違反せずに、良好な書き込み及び読み取り性能を達成しながら可能である。
【0020】
ソリッド・ステート記憶システム開発技術の熟練者には、ここに表す独創的な方法及びシステムが、より多くの実施例を開発するのに用いることができるということは明らかである。前述の実施例は、例として挙げたもので、ここに表す技術を、これらの例だけに限定することを意図していない。
【発明を実施するための最良の形態】
【0021】
本発明は、デバイスの仕様に違反せずに、また性能を最適化して、512バイト・ページよりも大きなフラッシュ・デバイスをサポートするフラッシュ・メモリ・システムを可能にする方法に関する。
【0022】
次の説明から、本技術における通常の技能を持つ者は、特定なアプリケーションとその必要条件を備える環境において、本発明を用いることができるようになる。好適実施例への種々の修正は、本技術の技能者には明らかであろう。また、ここに定義する一般的な原理は、他の実施例にも適用できる。したがって、本発明が、提示して説明する特定な実施例に限定されることを意図しておらず、本発明は、ここに開示する原理及び新規な特徴に一貫性がある最も広い範囲を占めるものである。
【0023】
特に、本発明によれば、フラッシュ管理システムの書き込みロジックは、セクタ書き込み処理中、デバイスのPPP限界を考慮しなくてはならない。PPPは、デフォルト物理位置に新しいデータを単純に書き込むべきか、そして、新しいページを割り当てて、その新しいページに以前から存在するデータをコピーするべきかの決断に影響を与える。
【0024】
たいていのフラッシュ管理システムは、物理アドレス内への仮想アドレスのマッピングに基づいている。システムが、データのセクタを書き込む要求を受信した場合、そのコマンドは、OSが論理的にそのセクタを見つけることができる仮想アドレスを含んでいる。フラッシュ管理SWは、まず、これを物理フラッシュ・アドレスに変換する。その結果の位置が空いているなら、そこに単純に書き込み処理を行う。しかし、その結果の位置が既に書き込まれているなら、まず、空きページのいくつかを割り当てて(異なるフラッシュ管理システム間では、方法及びアルゴリズムが異なる)、それから、その新たに割り当てたページ内へ書き込み処理を行う。これは、フラッシュ・ページのサイズがセクタ・サイズに等しい場合である。
【0025】
本発明によれば、(サムスン電子が導入する大きなページ・サイズ等の)1ページが一つ以上のセクタを含む場合、ソフトウェアは物理アドレスへの標準的な置き換えを行うが、このアドレスを見つけた後、ソフトウェアは、そのアドレスを含むページを調べ、既にデータを含む同じページ内の他のセクタの数を数える。次に、二つの選択肢から決定する。
a.算出物理アドレス内へ(部分的に書き込まれている大きなページの空きセクタ内へ)、セクタを書き込む。あるいは
b.新たな(空の)ページ内へセクタを書き込むと同時に、(同じページ内の)既存の隣接するセクタを、この新たなページ内へコピーする。
【0026】
算出物理アドレスが古いデータで既に書き込まれている場合は、(フラッシュ媒体を単純に上書きすることはできないので)実質的に選択肢がなく、選択肢「b」を選択しなくてはならないことは明らかである。
【0027】
本発明の好適実施例によれば、可能な決定ルールの実行は、(フラッシュのメーカーが提供する)PPP仕様と、ページ内の既に書き込まれているセクタ数とを考慮する。PPPは、データに対する信頼性の問題を起こさずに、1ページ内に部分的なプログラミング(毎回、ページ・データの一部分のみをプログラムする)を何度許容するのかを定義する、フラッシュのメーカーが提供する仕様である。その限界に達したら、ユーザーは、追加の書き込みに用いる前に、まずそのページを消去しなければならない。たいていの市販NANDフラッシュ・デバイスにおけるPPP値は、典型的に、3から10の範囲にある。この場合、セクタを書き込むことが、PPP仕様に違反しない(従う)なら、選択肢「a.」が選ばれ、そのような書き込み処理が違反を犯すなら、選択肢「b.」が選ばれる。
【0028】
例えば、図3及び4に参照すれば明らかなように、最大PPPが3で、1ページが4セクタを含む場合を仮定する。一つの可能な決定ルールとしては、ページ内に3セクタ以上が既に書き込まれていることが分かったなら、3回のPPP許容書き込み処理が既に用いられてしまった可能性があるので、新たなページに移動することが必要であるとみなすことである。3回よりも少ないPPP書き込み処理が用いられてしまったことが明確なすべての他のケースでは、システムは、新しいセクタの書き込みをそのデフォルト位置に行ってもよい。図3及び4において、「X」マークを含むボックスは、書き込まれたセクタを示し、空のボックスは、使われていないセクタを示す。図3の場合、単に二つのセクタが用いられていることが分かるので、新しいセクタは、そのデフォルト位置に書き込んでもよい。図4の場合には、三つのセクタが用いられていることが分かるので、新たなページを用いて、既存のセクタをそこに移動しなければならない。図4は、新しいページに既存のセクタをコピーして、それらの相対的な順序と、ページ内におけるそれらの絶対的な位置との両方を維持することを示す。しかし、強調すべきことは、これは、単に図を単純化するためのものであり、本発明の目的に必要なことではなく、如何なるコピー・スキームを用いてもよい。
【0029】
厳格な決定ルールは、また、フラッシュ管理システムが、ページに関連するコントロール情報として必要とする、追加の書き込み処理をも考慮しなくてはならない。したがって、計算は、必ずしも、上記の例から推論するかもしれないような、単純な数の比較ではない。システムが、異なる特徴を持つ多数のフラッシュ・デバイスを含み、同じフラッシュ管理ソフトウェアが、多数のフラッシュ・デバイス・タイプをサポートする可能性があるため、システムは、ページを含むデバイスに応じて、リアルタイムで決定ルールの確定を行うようにすることが賢明である。したがって、可能であるソフトウェアは、関連する特定のデバイスに応じて異なる決定ルールを用いるロジックを含んでもよい。
【0030】
さらに、本発明の好適実施例においては、利用可能な選択肢にもう一つの選択肢を加えてもよい。それは、新たな(空の)ページ内へセクタを書き込むことであるが、(同じページ内の)既存の隣接するセクタを、この新たなページ内へコピーしない。このような選択肢は、いくつかのフラッシュ管理システム、例えば米国特許第5,937,425号のシステムでは実用的である。図5に表すこの選択肢は、図4と全く同じシナリオを示すが、以前に書き込んだデータのコピーは全く実行されない。この選択肢は、先の二つに加えて利用可能である。あるいは上記選択肢「b」を置き換えてもよいが、以前のように、単に二つの選択肢だけになる。この新しい選択肢は、既存データをコピーするというコストを避ける利点があるが、論理的に隣接するセクタを、物理的に異なるページに残すという欠点がある。この事実は、後に(例えば、四つのセクタすべてを読み取らなければならない場合に)性能に影響するかもしれない。
【0031】
本発明の実施例の前述の説明は、解き明かす目的で提示したもので、徹底的であること、あるいは開示した形態に正確に本発明を限定することを意図してはいない。上記の説明から、多くの修正及び変更が可能であることは明らかである。本発明の範囲は、この詳細な説明で限定するのではなく、むしろ添付の請求項によって限定するように意図している。
【図面の簡単な説明】
【0032】
本発明を、次の添付図面を参照しながら実施例を用いて説明する。
【図1】本技術において既知である、データ・セグメントが同じサイズのページに書き込まれる基本的な処理を表す図である。
【図2】大きなページのフラッシュ・デバイス構成に対する、非常に効率が悪い些細なデータ書き込み処理を表す図である。
【図3】既に他のセクタを含む大きなページ内へセクタが書き込まれる処理を表す。この場合、同じ物理ページに新しいセクタを書き込むことを禁止するルールは全くない。
【図4】セクタが大きなページ内へ書き込まれる処理を表す。この場合は、そのページが既に他のセクタを含んでいるため、PPPルールが、同じ物理ページに新しいセクタを書き込むことを禁止する。この場合、新しいセクタは新しいページに書き込まれる。そして、部分的に書き込まれているページ内の既存のセクタは、新しいセクタを書き込む際にコピーされる。
【図5】セクタが大きなページ内へ書き込まれる処理を表す。この場合、そのページは既に他のセクタを含んでいる。そしてPPPルールが、同じ物理ページに新しいセクタを書き込むことを禁止する。この場合は、新しいセクタは新しいページに書き込まれるが、部分的に書き込まれているページ内の既存のセクタは、新しいセクタを書き込む際にコピーされない。

Claims (37)

  1. 少なくとも一つのフラッシュ・メモリ・デバイスにデータの書き込みを可能にして、前記デバイスが、オペレーティング・システムのデータ・セクタよりも大きなページをサポートするようにさせるための方法であって、
    i.前記オペレーティング・システムによって、フラッシュ管理システムがフラッシュ・メモリ・システムに少なくとも一つのデータ・セクタを書き込むように命令するステップ、
    ii.前記オペレーティング・システムのデータ・セクタよりも大きなフラッシュ・ページ内に物理フラッシュ・アドレスを計算するステップ、そして
    iii.前記ページに前記データ・セクタを書き込むべきか、あるいは新しいフラッシュ・ページに前記データ・セクタを書き込み、同時に、前記フラッシュ・ページ内における既存の隣接するセクタを、前記新しいフラッシュ・ページにコピーするべきかを選択するステップからなる方法。
  2. 前記フラッシュ管理システムが一つ以上のフラッシュ・デバイス・タイプをサポートし、前記デバイスの組合せが複数の特徴を提供し、各セクタ書き込みの選択肢が、書き込まれる各特定なデバイスの前記特徴によって決まる、請求項1に記載の方法。
  3. 前記選択肢がフラッシュ・メモリ・デバイスのPPP仕様に依存する、請求項1に記載の方法。
  4. 前記選択肢が、前記新しいデータ・セクタがマッピングされる前記ページ内の既存の使用済みセクタの数に依存する、請求項1に記載の方法。
  5. 前記選択肢が、フラッシュ・メモリ・デバイスのPPP仕様に、そして前記新しいデータ・セクタがマッピングされる前記ページ内の既存の使用済みセクタ数に依存する、請求項1に記載の方法。
  6. 前記フラッシュ管理システムが一つ以上のフラッシュ・デバイス・タイプをサポートし、前記デバイスの組合せが複数のPPP仕様を提供し、各セクタ書き込みの選択肢が、書き込まれる各特定なデバイスの前記PPP仕様によって決まる、請求項2に記載の方法。
  7. 少なくとも一つのフラッシュ・メモリ・デバイスにデータの書き込みを可能にして、前記デバイスが、オペレーティング・システムのデータ・セクタよりも大きなページをサポートするようにさせるための方法であって、
    i.オペレーティング・システムによって、フラッシュ管理システムがフラッシュ・システムに少なくとも一つのデータ・セクタを書き込むように命令するステップ、
    ii.物理フラッシュ・アドレスを、前記オペレーティング・システムのデータ・セクタよりも大きなフラッシュ・ページ内に計算するステップ、
    iii.前記ページに前記データ・セクタを書き込むべきか、あるいは新しいフラッシュ・ページ内に、前記フラッシュ・ページ内に既存の隣接するセクタを前記新しいフラッシュ・ページ内へコピーしないで前記データ・セクタを書き込むべきかを選択するステップからなる方法。
  8. 前記フラッシュ管理システムが一つ以上のフラッシュ・デバイス・タイプをサポートし、前記デバイスの組合せが複数の特徴を提供し、各セクタ書き込みの選択肢が、書き込まれる各特定なデバイスの前記特徴によって決まる、請求項7に記載の方法。
  9. 前記選択肢がフラッシュ・メモリ・デバイスのPPP仕様に依存する、請求項7に記載の方法。
  10. 前記選択肢が、前記新しいセクタがマッピングされる前記ページ内に既存の使用済みセクタの数に依存する、請求項7に記載の方法。
  11. 前記選択肢が、フラッシュ・メモリ・デバイスのPPP仕様に、そして前記新しいデータ・セクタがマッピングされる前記ページ内に既存の使用済みセクタ数に依存する、請求項7に記載の方法。
  12. 前記フラッシュ管理システムが一つ以上のフラッシュ・デバイス・タイプをサポートし、前記デバイスの組合せが複数のPPP仕様を提供し、各セクタ書き込みの選択肢が、書き込まれる各特定なデバイスの前記PPP仕様によって決まる、請求項8に記載の方法。
  13. 少なくとも一つのフラッシュ・メモリ・デバイスにデータの書き込みを可能にして、前記デバイスが、オペレーティング・システムのデータ・セクタよりも大きなページをサポートするようにさせるための方法であって、
    i.オペレーティング・システムによって、フラッシュ管理システムがフラッシュ・システムに少なくとも一つのデータ・セクタを書き込むように命令するステップ、
    ii.前記オペレーティング・システムのデータ・セクタよりも大きなフラッシュ・ページ内に物理フラッシュ・アドレスを計算するステップ、そして
    iii.前記ページに前記データ・セクタを書き込むべきか、あるいは新しいフラッシュ・ページ内に前記データ・セクタを書き込み、同時に、前記フラッシュ・ページ内に既存の隣接するセクタを前記新しいフラッシュ・ページにコピーすべきか、あるいは新しいフラッシュ・ページ内に前記データ・セクタを書き込み、前記フラッシュ・ページ内に既存の隣接するセクタを前記新しいフラッシュ・ページにコピーしないべきかを選択するステップからなる方法。
  14. 前記フラッシュ管理システムが一つ以上のフラッシュ・デバイス・タイプをサポートし、前記デバイスの組合せが複数の特徴を提供し、各セクタ書き込みの選択肢が、書き込まれる各特定なデバイスの前記特徴によって決まる、請求項13に記載の方法。
  15. 前記選択肢がフラッシュ・メモリ・デバイスのPPP仕様に依存する、請求項13に記載の方法。
  16. 前記選択肢が、前記新しいデータ・セクタがマッピングされる前記ページ内に既存の使用済みセクタの数に依存する、請求項13に記載の方法。
  17. 前記選択肢が、フラッシュ・メモリ・デバイスのPPP仕様に、そして前記新しいデータ・セクタがマッピングされる前記ページ内に既存の使用済みセクタ数に依存する、請求項13に記載の方法。
  18. 前記フラッシュ管理システムが一つ以上のフラッシュ・デバイス・タイプをサポートし、前記デバイスの組合せが複数のPPP仕様を提供し、各セクタ書き込みの選択肢が、書き込まれる各特定なデバイスの前記PPP仕様によって決まる、請求項14に記載の方法。
  19. フラッシュ・メモリ・デバイスにデータの書き込みを可能にして、前記デバイスが、オペレーティング・システム・データ・セクタよりも大きなページをサポートするようにさせるためのシステムであって、
    i.少なくとも一つのフラッシュ・デバイスからなるフラッシュ・メモリ・システム、
    なお、前記少なくとも一つのフラッシュ・デバイスは、オペレーティング・システム・データ・セクタ・サイズよりも大きなサイズのフラッシュ・ページを持ち、前記少なくとも一つのフラッシュ・デバイスは、前記ページを消去することなく前記ページ内で許容可能な、複数のパーシャル・ページ・プログラミング処理数に制限がある、
    ii.仮想的なフラッシュ・アドレスを物理フラッシュ・アドレスにマッピングすることによって、前記フラッシュ・メモリ・システムを管理するフラッシュ管理システム、そして
    iii.データ・セクタを基本単位として用いるオペレーティング・システムからなり、
    前記オペレーティング・システムは、前記フラッシュ・メモリ・システムにデータを書き込む、そして前記フラッシュ・メモリ・システムからデータを読み取るために前記フラッシュ管理システムを用いることを特徴とする、システム。
  20. 前記フラッシュ管理システムが、物理フラッシュ・アドレスにマッピングされる各セクタ書き込み要求に対する選択肢を決めることによって作用し、前記物理アドレスを含むページが、既に以前に書き込んだセクタを含む可能性があり、前記選択肢が、
    a)前記セクタを、前記セクタの現在マッピングした物理アドレス内へ書き込む、そして
    b)新しいページ内へ前記セクタを書き込み、同時に、前記ページ内に既存の隣接するセクタを前記新しいページ内へコピーするのいずれかである、請求項19に記載のシステム。
  21. 前記フラッシュ管理システムが複数のフラッシュ・デバイス・タイプをサポートし、前記デバイスの組合せが複数の特徴を提供し、各セクタ書き込みの選択肢が、書き込まれる各特定なデバイスの前記特徴によって決まる、請求項20に記載のシステム。
  22. 前記選択肢が前記フラッシュ・メモリ・システムのPPP仕様に依存する、請求項20に記載のシステム。
  23. 前記選択肢が、前記新しいセクタがマッピングされる前記ページ内に既存の使用済みセクタの数に依存する、請求項20に記載のシステム。
  24. 前記選択肢が、前記フラッシュ・メモリ・システムのPPP仕様に、そして前記新しいセクタがマッピングされる前記ページ内に既存の使用済みセクタ数に依存する、請求項20に記載のシステム。
  25. 前記フラッシュ管理システムが複数のフラッシュ・デバイス・タイプをサポートし、前記デバイスの組合せが複数のPPP仕様を提供し、各セクタ書き込みの選択肢が、書き込まれる各特定なデバイスの前記PPP仕様によって決まる、請求項21に記載のシステム。
  26. 前記フラッシュ管理システムが、物理フラッシュ・アドレスにマッピングされる各セクタ書き込み要求に対する選択肢を決めることによって作用し、前記物理アドレスを含むページが、既に以前に書き込んだセクタを含む可能性があり、前記選択肢が、
    a)前記セクタの現在マッピングされた物理アドレス内へ、前記セクタを書き込む、そして
    b)新しいページ内へ前記セクタを書き込み、前記ページ内に既存の隣接するセクタを前記新しいページ内へコピーしないのいずれかである、請求項19に記載のシステム。
  27. 前記フラッシュ管理システムが複数のフラッシュ・デバイス・タイプをサポートし、前記デバイスの組合せが複数の特徴を提供し、各セクタ書き込みの選択肢が、書き込まれる各特定なデバイスの前記特徴によって決まる、請求項26に記載のシステム。
  28. 前記選択肢がフラッシュ・メモリ・システムのPPP仕様に依存する、請求項26に記載のシステム。
  29. 前記選択肢が、前記新しいセクタがマッピングされる前記ページ内に既存の使用済みセクタの数に依存する、請求項26に記載のシステム。
  30. 前記選択肢が、前記フラッシュ・メモリ・システムのPPP仕様に、そして前記新しいセクタがマッピングされる前記ページ内に既存の使用済みセクタ数に依存する、請求項26に記載のシステム。
  31. 前記フラッシュ管理システムが複数のフラッシュ・デバイス・タイプをサポートし、前記デバイスの組合せが複数のPPP仕様を提供し、各セクタ書き込みの選択肢が、書き込まれる各特定なデバイスの前記PPP仕様によって決まる、請求項27に記載のシステム。
  32. 前記フラッシュ管理システムが、物理アドレスにマッピングされる各セクタ書き込み要求に対する選択肢を決めることによって作用し、その物理アドレスを含むページが、既に以前に書き込んだセクタを含む可能性があり、前記選択肢が、
    a)前記セクタの現在マッピングされた物理アドレス内へ前記セクタを書き込む、
    b)新しいページ内へ前記セクタを書き込み、同時に、前記ページ内に既存の隣接するセクタを前記新しいページ内へコピーする、そして
    c)新しいページ内へ前記セクタを書き込むが、前記ページ内に既存の隣接するセクタを前記新しいページ内へコピーしないのいずれかである、請求項19に記載のシステム。
  33. 前記フラッシュ管理システムが複数のフラッシュ・デバイス・タイプをサポートし、前記デバイスの組合せが複数の特徴を提供し、各セクタ書き込みの選択肢が、書き込まれる各特定なデバイスの前記特徴によって決まる、請求項32に記載のシステム。
  34. 前記選択肢が前記フラッシュ・メモリ・システムのPPP仕様に依存する、請求項32に記載のシステム。
  35. 前記選択肢が、前記新しいセクタがマッピングされる前記ページ内に既存の使用済みセクタの数に依存する、請求項32に記載のシステム。
  36. 前記選択肢が、前記フラッシュ・メモリ・システムのPPP仕様に、そして前記新しいセクタがマッピングされる前記ページ内に既存の使用済みセクタ数に依存する、請求項32に記載のシステム。
  37. 前記フラッシュ管理システムが複数のフラッシュ・デバイス・タイプをサポートし、前記デバイスの組合せが複数のPPP仕様を提供し、各セクタ書き込みの選択肢が、書き込まれる各特定なデバイスの前記PPP仕様によって決まる、請求項33に記載のシステム。
JP2003525470A 2001-09-05 2002-07-24 大きなページをサポートするようにさせるための方法およびシステム Expired - Fee Related JP4004468B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/945,803 US6760805B2 (en) 2001-09-05 2001-09-05 Flash management system for large page size
PCT/US2002/023482 WO2003021448A1 (en) 2001-09-05 2002-07-24 Flash management system for large page size

Publications (2)

Publication Number Publication Date
JP2005502124A true JP2005502124A (ja) 2005-01-20
JP4004468B2 JP4004468B2 (ja) 2007-11-07

Family

ID=25483573

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003525470A Expired - Fee Related JP4004468B2 (ja) 2001-09-05 2002-07-24 大きなページをサポートするようにさせるための方法およびシステム

Country Status (4)

Country Link
US (1) US6760805B2 (ja)
EP (1) EP1444583A4 (ja)
JP (1) JP4004468B2 (ja)
WO (1) WO2003021448A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006221636A (ja) * 2005-02-07 2006-08-24 Samsung Electronics Co Ltd Run単位アドレスマッピングテーブル及びそれの構成方法
WO2007105688A1 (ja) * 2006-03-16 2007-09-20 Matsushita Electric Industrial Co., Ltd. メモリコントローラ、不揮発性記憶装置、及び不揮発性記憶システム

Families Citing this family (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100389867B1 (ko) * 2001-06-04 2003-07-04 삼성전자주식회사 플래시 메모리 관리방법
KR101046083B1 (ko) * 2003-12-03 2011-07-01 파나소닉 주식회사 정보 기록 매체의 데이터 처리 장치 및 데이터 기록 방법
KR100533682B1 (ko) * 2003-12-26 2005-12-05 삼성전자주식회사 플래시 메모리의 데이터 관리 장치 및 방법
KR100526188B1 (ko) * 2003-12-30 2005-11-04 삼성전자주식회사 플래시 메모리의 주소 사상 방법, 사상 정보 관리 방법 및상기 방법을 이용한 플래시 메모리
US7389397B2 (en) * 2005-06-01 2008-06-17 Sandisk Il Ltd Method of storing control information in a large-page flash memory device
US7631245B2 (en) * 2005-09-26 2009-12-08 Sandisk Il Ltd. NAND flash memory controller exporting a NAND interface
US8291295B2 (en) * 2005-09-26 2012-10-16 Sandisk Il Ltd. NAND flash memory controller exporting a NAND interface
US8194880B2 (en) * 2006-01-30 2012-06-05 Audience, Inc. System and method for utilizing omni-directional microphones for speech enhancement
KR100737919B1 (ko) * 2006-02-28 2007-07-10 삼성전자주식회사 낸드 플래시 메모리의 프로그램 방법 및 메모리 시스템의프로그램 방법
US7996598B2 (en) * 2006-03-14 2011-08-09 Stmicroelectronics Pvt. Ltd. Memory management module
US7564721B2 (en) * 2006-05-25 2009-07-21 Micron Technology, Inc. Method and apparatus for improving storage performance using a background erase
US20080046630A1 (en) * 2006-08-21 2008-02-21 Sandisk Il Ltd. NAND flash memory controller exporting a logical sector-based interface
US20080046641A1 (en) * 2006-08-21 2008-02-21 Sandisk Il Ltd. NAND flash memory controller exporting a logical sector-based interface
US7624329B2 (en) 2006-08-30 2009-11-24 Freescale Semiconductor, Inc. Programming a memory device having error correction logic
US8745315B2 (en) 2006-11-06 2014-06-03 Rambus Inc. Memory Systems and methods supporting volatile and wear-leveled nonvolatile physical memory
JP4498341B2 (ja) * 2006-11-20 2010-07-07 株式会社東芝 メモリシステム
TWI326028B (en) 2006-11-20 2010-06-11 Silicon Motion Inc Method for flash memory data management
KR101490327B1 (ko) 2006-12-06 2015-02-05 퓨전-아이오, 인크. 뱅크 인터리브를 이용한 솔리드-스테이트 스토리지의 명령 관리 장치, 시스템 및 방법
US9495241B2 (en) 2006-12-06 2016-11-15 Longitude Enterprise Flash S.A.R.L. Systems and methods for adaptive data storage
US9116823B2 (en) 2006-12-06 2015-08-25 Intelligent Intellectual Property Holdings 2 Llc Systems and methods for adaptive error-correction coding
US8074011B2 (en) * 2006-12-06 2011-12-06 Fusion-Io, Inc. Apparatus, system, and method for storage space recovery after reaching a read count limit
US7953954B2 (en) * 2007-01-26 2011-05-31 Micron Technology, Inc. Flash storage partial page caching
US20080189473A1 (en) * 2007-02-07 2008-08-07 Micron Technology, Inc Mlc selected multi-program for system management
US8429677B2 (en) * 2007-04-19 2013-04-23 Microsoft Corporation Composite solid state drive identification and optimization technologies
US8195912B2 (en) * 2007-12-06 2012-06-05 Fusion-io, Inc Apparatus, system, and method for efficient mapping of virtual and physical addresses
US7836226B2 (en) 2007-12-06 2010-11-16 Fusion-Io, Inc. Apparatus, system, and method for coordinating storage requests in a multi-processor/multi-thread environment
US8024546B2 (en) * 2008-10-23 2011-09-20 Microsoft Corporation Opportunistic page largification
US8316201B2 (en) * 2008-12-18 2012-11-20 Sandisk Il Ltd. Methods for executing a command to write data from a source location to a destination location in a memory device
US8268543B2 (en) * 2009-03-23 2012-09-18 Micron Technology, Inc. Methods of forming patterns on substrates
US20110040924A1 (en) * 2009-08-11 2011-02-17 Selinger Robert D Controller and Method for Detecting a Transmission Error Over a NAND Interface Using Error Detection Code
US20110041039A1 (en) * 2009-08-11 2011-02-17 Eliyahou Harari Controller and Method for Interfacing Between a Host Controller in a Host and a Flash Memory Device
EP2317442A1 (en) * 2009-10-29 2011-05-04 Thomson Licensing Solid state memory with reduced number of partially filled pages
US8443263B2 (en) * 2009-12-30 2013-05-14 Sandisk Technologies Inc. Method and controller for performing a copy-back operation
US8595411B2 (en) 2009-12-30 2013-11-26 Sandisk Technologies Inc. Method and controller for performing a sequence of commands
WO2011128867A1 (en) 2010-04-15 2011-10-20 Ramot At Tel Aviv University Ltd. Multiple programming of flash memory without erase
JP2012203443A (ja) * 2011-03-23 2012-10-22 Toshiba Corp メモリシステムおよびメモリシステムの制御方法
KR101293224B1 (ko) * 2011-04-01 2013-08-05 (주)아토솔루션 데이터 기록 방법. 메모리, 및 메모리 기록 시스템
KR20130096881A (ko) * 2012-02-23 2013-09-02 삼성전자주식회사 플래시 메모리 장치
US10241923B2 (en) * 2012-11-06 2019-03-26 International Business Machines Corporation Configurable I/O address translation data structure
US9778864B2 (en) * 2015-03-10 2017-10-03 SK Hynix Inc. Data storage device using non-sequential segment access and operating method thereof

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5404485A (en) 1993-03-08 1995-04-04 M-Systems Flash Disk Pioneers Ltd. Flash file system
US5867641A (en) * 1995-10-27 1999-02-02 Scm Microsystems (U.S.) Inc. Flash translation layer cleanup system and method
US5956743A (en) * 1997-08-25 1999-09-21 Bit Microsystems, Inc. Transparent management at host interface of flash-memory overhead-bytes using flash-specific DMA having programmable processor-interrupt of high-level operations
US5937425A (en) 1997-10-16 1999-08-10 M-Systems Flash Disk Pioneers Ltd. Flash file system optimized for page-mode flash technologies
US6622199B1 (en) * 1999-07-02 2003-09-16 Qualcomm Incorporated Method for minimizing data relocation overhead in flash based file systems
DE60037417D1 (de) * 1999-07-28 2008-01-24 Sony Corp Aufnahmesystem, daten-aufnahmevorrichtung, speicher-vorrichtung, und daten-aufnahmeverfahren
US6266273B1 (en) * 2000-08-21 2001-07-24 Sandisk Corporation Method and structure for reliable data copy operation for non-volatile memories
US6591330B2 (en) * 2001-06-18 2003-07-08 M-Systems Flash Disk Pioneers Ltd. System and method for flexible flash file
US6678785B2 (en) * 2001-09-28 2004-01-13 M-Systems Flash Disk Pioneers Ltd. Flash management system using only sequential write

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006221636A (ja) * 2005-02-07 2006-08-24 Samsung Electronics Co Ltd Run単位アドレスマッピングテーブル及びそれの構成方法
WO2007105688A1 (ja) * 2006-03-16 2007-09-20 Matsushita Electric Industrial Co., Ltd. メモリコントローラ、不揮発性記憶装置、及び不揮発性記憶システム

Also Published As

Publication number Publication date
US6760805B2 (en) 2004-07-06
EP1444583A4 (en) 2008-01-16
EP1444583A1 (en) 2004-08-11
JP4004468B2 (ja) 2007-11-07
US20030046484A1 (en) 2003-03-06
WO2003021448A1 (en) 2003-03-13

Similar Documents

Publication Publication Date Title
JP4004468B2 (ja) 大きなページをサポートするようにさせるための方法およびシステム
JP5295778B2 (ja) フラッシュメモリ管理方法
US8190811B2 (en) Defragmentation of solid state memory
KR100882862B1 (ko) 플렉시블 플래시 파일 시스템을 위한 시스템 및 방법
KR100952135B1 (ko) 순차적 기록만을 사용하는 플래시 관리 시스템
US5953737A (en) Method and apparatus for performing erase operations transparent to a solid state storage system
US8171203B2 (en) Faster write operations to nonvolatile memory using FSInfo sector manipulation
EP1410399B1 (en) Method and apparatus for decreasing block write operation times performed on nonvolatile memory
US8117374B2 (en) Flash memory control devices that support multiple memory mapping schemes and methods of operating same
US6262918B1 (en) Space management for managing high capacity nonvolatile memory
US6081878A (en) Increasing the memory performance of flash memory devices by writing sectors simultaneously to multiple flash memory devices
JP4238514B2 (ja) データ記憶装置
US7529879B2 (en) Incremental merge methods and memory systems using the same
JP5480913B2 (ja) 記憶装置、およびメモリコントローラ
US20090157756A1 (en) File System For Storing Files In Multiple Different Data Storage Media
KR20080032636A (ko) 논리 어드레스 공간 전반에 걸쳐 그리고 직접 데이터 파일기반 위에서 동작하는 인터페이싱 시스템
WO2009096180A1 (ja) メモリコントローラ、不揮発性記憶装置、及び、不揮発性記憶システム
US20080244188A1 (en) Information recording apparatus and control method thereof
JP4829202B2 (ja) 記憶装置及びメモリ制御方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20041116

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20061031

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20061110

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20070130

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20070206

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070413

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070706

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070709

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070821

R150 Certificate of patent or registration of utility model

Ref document number: 4004468

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

Year of fee payment: 3

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

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

Free format text: PAYMENT UNTIL: 20100831

Year of fee payment: 3

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

Free format text: PAYMENT UNTIL: 20110831

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

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20120831

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

Year of fee payment: 6

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

LAPS Cancellation because of no payment of annual fees