JP4531742B2 - 不揮発性メモリをキャッシュとして用いる保存装置及びその動作方法 - Google Patents

不揮発性メモリをキャッシュとして用いる保存装置及びその動作方法 Download PDF

Info

Publication number
JP4531742B2
JP4531742B2 JP2006342261A JP2006342261A JP4531742B2 JP 4531742 B2 JP4531742 B2 JP 4531742B2 JP 2006342261 A JP2006342261 A JP 2006342261A JP 2006342261 A JP2006342261 A JP 2006342261A JP 4531742 B2 JP4531742 B2 JP 4531742B2
Authority
JP
Japan
Prior art keywords
block
fixed area
data
fixed
point
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.)
Active
Application number
JP2006342261A
Other languages
English (en)
Other versions
JP2007179546A (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.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co 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 Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of JP2007179546A publication Critical patent/JP2007179546A/ja
Application granted granted Critical
Publication of JP4531742B2 publication Critical patent/JP4531742B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • 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/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
    • 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
    • G06F2212/1036Life time enhancement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/22Employing cache memory using specific memory technology
    • G06F2212/222Non-volatile 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/28Using a specific disk cache architecture
    • G06F2212/282Partitioned cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7211Wear leveling

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、不揮発性メモリをキャッシュとして用いる保存装置及びその動作方法に係り、より詳細には、電源が遮断された場合にもデータが残っている不揮発性メモリをキャッシュとして用いる保存装置及びその動作方法に関する。
一般的な保存装置10は、図1のように、ホスト11、データバッファ(キャッシュ)12及び主記録媒体13を含みうる。ホスト11は、ユーザの命令によって主記録媒体13とデータを送受信する役割を行い、一般的にホスト11と主記録媒体13との間の速度差を緩衝させ、保存装置10のアクセス効率を高めるために主記録媒体13より小さくて、速いメモリをデータバッファ12として使用する。データを書き込む時は、速度の遅い主記録媒体13に直接記録するものではなく、速いデータバッファ12に記録することによって記録速度を向上させ、主記録媒体13の一部データをデータバッファ12にあらかじめ移動させて置くことによって読み取り速度を向上させうる。
言い換えれば、ホスト11から伝送されたデータは、主記録媒体13に記録されるまでデータバッファ12に保存され、主記録媒体13から伝送されたデータはホスト11に伝送されるまでデータバッファ12に保存されるものである。このような保存装置10でデータバッファ12は、一般的に揮発性メモリで構成されているために、保存装置10に供給される電源が遮断される場合、データバッファ12に存在するデータはいずれも消去される。アクセス効率を高めるためにデータバッファを大きくする場合、電源遮断によって発生可能な損失データの量も増え、損失を減らすために主記録媒体13に常に電源を供給せねばならないために消費電力の量を減少させるのに限界があるという問題点がある。
したがって、最近には保存装置10に不揮発性メモリをキャッシュとして使用してホスト11が不揮発性メモリに保存されたデータを読取り/書込みする時は、主記録媒体13の電源を遮断して消費電力が減少可能にしている。
しかし、不揮発性メモリを保存装置10のキャッシュとして使用する場合、データの固定如何、すなわち、所定データが不揮発性メモリに常に固定される固定領域と頻繁に変更される非固定領域についてのデータを効果的に管理し、突然の電源遮断からデータを安全に保護するための方案が要求されている。また、主記録媒体13への電源の供給時間を最小化させるためのブロック回収方案及び不揮発性メモリで各物理ブロックに対する使用頻度を考慮して不揮発性メモリの寿命を延長させうる方案などが要求されている。
特許文献1は、アドレス指定可能なフラッシュメモリシステムにおいて、ブロックで組み合わせられた前記フラッシュメモリ指定位置を円形シーケンス(物理セクターアドレスの最下位と最上位の2ヶ所で記録と削除とが起こる)によって周期的にブロック指定削除を行うことによって、フラッシュメモリのWear levelsの一貫性を保持しうるシステムを開始しているが、固定領域及び非固定領域についてのデータを効果的に管理し、突然の電源遮断によるデータ保護し、ブロック回収及び使用頻度調節を通じた寿命延長についての方案は提案されていない。
日本特許公開第2003−256289号公報
本発明は、保存装置のキャッシュとして使われる不揮発性メモリに保存されるデータをデータの固定如何によって分離して管理し、突然の電源遮断時にデータを安全に復旧しうる不揮発性メモリをキャッシュとして用いる保存装置及びその動作方法を提供するところにその目的がある。
また、本発明は、不揮発性メモリをキャッシュとして用いる保存装置で不揮発性メモリのブロック割当及び回収方法と、使用頻度を考慮して不揮発性メモリの寿命を延長させる不揮発性メモリをキャッシュとして用いる保存装置及びその動作方法を提供するところにその目的がある。
本発明の目的は、以上で言及した目的に制限されず、言及されていない他の目的は下の記載から当業者に明確に理解されうる。
前記目的を達成するために本発明の実施形態による不揮発性メモリをキャッシュとして用いる保存装置は、主記録媒体、前記主記録媒体のキャッシュとして使われ、データの固定如何によって固定領域及び非固定領域を含む不揮発性メモリ、及び前記不揮発性メモリに割当てられるブロックを管理するブロック管理部を含む。
また、前記目的を達成するために本発明の実施形態による不揮発性メモリをキャッシュとして用いる保存装置の動作方法は、所定の主記録媒体のキャッシュとして使われる不揮発性メモリの領域をデータの固定如何によって固定領域及び非固定領域に区分するステップと、前記区分された固定領域及び前記非固定領域に割当てられるブロックを管理するステップと、を含む。
本発明の不揮発性メモリをキャッシュとして用いる保存装置及びその動作方法によれば次のような効果が1つあるいはそれ以上ある。
不揮発性メモリに保存されるデータを固定領域及び非固定領域に分離して管理するためにキャッシュとして使われる不揮発性メモリを効率的に管理しうる。
また、固定領域及び非固定領域に対するブロック回収及び使用頻度を考慮して不揮発性メモリの寿命を延ばし得る。
本発明の効果は、以上で言及した効果に制限されず、言及されていないさらに他の効果は特許請求の記載から当業者に明確に理解されうる。
その他の実施例の具体的な事項は詳細な説明及び図面に含まれている。
本発明の利点及び特徴、そしてこれを達成する方法は添付された図面に基づいて詳細に後述されている実施例を参照すれば明確になる。しかし、本発明は以下で開示される実施例に限定されるものではなく、この実施例から外れて多様な形に具現でき、本明細書で説明する実施例は本発明の開示を完全にし、本発明が属する技術分野で当業者に発明の範ちゅうを完全に報せるために提供されるものであり、本発明は請求項及び発明の詳細な説明により定義されるだけである。一方、明細書全体に亙って同一な参照符号は同一な構成要素を示す。
以下、本発明の実施形態によって不揮発性メモリをキャッシュとして用いる保存装置及びその動作方法を説明するためのブロック図またはフローチャートについての図面を参考にして本発明について説明する。この時、フローチャートの各ブロックとフロ−チャートの組合わせはコンピュータプログラムインストラクションにより実行可能なのが理解できるであろう。これらコンピュータプログラムインストラクションは、汎用コンピュータ、特殊用コンピュータまたはその他のプログラム可能データプロセッシング装備のプロセッサに搭載されうるので、コンピュータまたはその他のプログラム可能データプロセッシング装備のプロセッサによって実行されるそのインストラクションがフローチャートのブロックで説明された機能を行う手段を生成するように機構を作れる。これらコンピュータプログラムインストラクションは特定方式で機能を具現するためにコンピュータまたはその他のプログラム可能データプロセッシング装備に備えられるコンピュータによって利用可能または判読可能なメモリに保存されることも可能なので、そのコンピュータによって利用可能または判読可能なメモリに保存されたインストラクションはフローチャートのブロックで説明された機能を行うインストラクション手段を内包する製造品目を生産することも可能である。コンピュータプログラムインストラクションはコンピュータまたはその他のプログラム可能なデータプロセッシング装備上に搭載することも可能なので、コンピュータまたはその他のプログラム可能データプロセッシング装備上で一連の動作段階が実行されてコンピュータで実行されるプロセスを生成し、コンピュータまたはその他のプログラム可能データプロセッシング装備を行うインストラクションはフローチャートのブロックで説明された機能を実行するための段階を提供することも可能である。
また、各ブロックは特定の論理的機能を行うための一つ以上の実行可能なインストラクションを含むモジュール、セグメントまたはコードの一部を示すことができる。また、いくつの代替実行例では、ブロックで言及された機能が順序を外れて発生することも可能であるということに注目せねばならない。例えば、連続して図示されている2つのブロックは、実質的に同時に行われてもよく、またはそのブロックが時々該当する機能によって逆順に行われてもよい。
図2は、本発明の実施形態による不揮発性メモリをキャッシュとして用いる保存装置が示された図面である。
示されたように、本発明の実施形態による不揮発性メモリをキャッシュとして用いる保存装置100は、主記録媒体110、不揮発性メモリ120、ブロック管理部130、アドレス変換テーブル保存部140及び活性データリスト保存部150を含みうる。
主記録媒体110は、ハードディスクドライブ(Hard Disk Drive)のように大容量の記録媒体を意味し、不揮発性メモリ120は、主記録媒体110のキャッシュとして使われるフラッシュメモリなどを意味する。
本発明の実施形態で不揮発性メモリ120は、フラッシュメモリが使われた場合を例として説明し、データが不揮発性メモリ120に固定される固定領域とデータの移動が頻繁に発生する非固定領域とに分けられた場合を例として説明する。この際、不揮発性メモリ120で固定領域と非固定領域とのサイズは用途及び必要に応じて変更されうる。
ブロック管理部130は、ブロック割当部131、ブロック回収部132、使用頻度調節部133及び停電復旧部134を含みうる。
ブロック割当部131は、固定領域及び非固定領域にブロックを割当てて、不揮発性メモリ120の領域を円形構造に変換した後、ブロックを割当てられうる。具体的に、ブロック割当部131は、図3のように不揮発性メモリ120の領域を円形構造に変換し、変換された円形構造で固定領域と非固定領域とを区分するための第1A地点及び第2A地点を設定しうる。この際、第1A地点は、各領域の開始地点を意味し、第2A地点は、各領域の終了地点を意味し、ブロック割当部131は、第1A地点から順次にブロックを割当てうる。したがって、固定領域と非固定領域は、第1A地点を基準に互いに逆方向にブロックが順次割当てられると理解されうる。
また、ブロック割当部131は、各領域で最後にブロックが割当てられた位置を管理しうる。本発明の実施形態で固定領域と非固定領域とで最後にブロックが割当てられた位置を各々第1A終点及び第2A終点と称する。また、固定領域と非固定領域とで活性化されたデータが位置する最初ブロックの位置を示すポインターを各々第1A時点及び第2A時点と称する。言い換えれば、各領域は、第1A地点から活性化されたデータが位置することもあるが、該当領域内の所定地点から活性化されたデータが位置することもあるので、活性化されたデータが位置する最初ブロックの位置を示す第1A時点及び第2A時点が使われる。
この際、ブロック割当部131は、前述した第1A地点、第2A地点、第1A時点、第2A時点、第1A終点及び第2A終点を正常に電源を遮断するか、変更する度に不揮発性メモリ120の所定領域に保存し、今後非正常的な電源遮断が発生した場合、これを復旧するのに使われる。本発明の実施形態では、前述した第1A地点、第2A地点、第1A時点、第2A時点、第1A終点及び第2A終点などが不揮発性メモリ120の所定ブロックに保存される場合を例として説明する。
一方、ブロック割当部131は、固定領域に比べて非固定領域のブロックについての高い使用頻度を勘案して非固定領域でのブロック割当として回転式ブロック割当を使用しうる。具体的に、図4のように、ブロック割当部131は、非固定領域で第2A終点が第2A地点に近接するか、同一になれば、第2A終点を第1A地点に移動させて回転式ブロック割当を行わせ得る。この際、ブロック割当部131は、非固定領域で第1A地点のブロックに活性化されたデータが位置する場合には、該当ブロックのデータを主記録媒体110に移動させた後、ブロックを割当てる。
ブロック回収部132は、不揮発性メモリ120においてデータのアップデート時、既存データを修正せず、新たなデータを追加する方式を使用するために、既存データを非活性化されたデータと判断し、この不揮発性データが位置するブロックを回収して新たなブロック割当時に使用可能にする。
このようなブロック回収は、固定領域と非固定領域とで互いに異なって行われ、まず固定領域に対するブロック回収について詳細に説明する。
固定領域に位置したデータは、大部分主記録媒体110に移動しない特性を有するためにブロック回収は必須的であると言える。
具体的に、ブロック回収部132は、固定領域についてのブロック回収のためにアドレス変換テーブル保存部140から活性データリストを生成し、生成された活性データリストを活性データリスト保存部150に保存しうる。この際、ブロック回収部132は、固定領域で第1A地点が位置したブロックに活性化されたデータが存在する場合にのみ図5Aのように、第1A地点を第1B地点に非固定領域側に所定ブロックほど移動させ、その間の非固定領域のデータは主記録媒体110に移動させる。以後、図5Bのように、ブロック回収部132は、第1A地点に位置した活性化されたデータを第1B地点のブロックに移動させる。次いで、活性データリストによって順次に活性化されたデータを移動させる。この際、ブロック回収部132は、活性化されたデータの移動時、非活性化されたデータは無視する。活性化されたデータの移動が完了すれば、ブロック回収部132は、図5Cのように、最後に移動した活性化されたデータが位置したブロックを第1B終点に設定する。また、ブロック回収部132は、図5Dのように、第1B地点及び第1B終点を再び第1A地点及び第1A終点に設定した後、ブロックを割当てるようにする。
この際、本発明の実施形態において第1A地点及び第1A地点は、実際的に管理される地点であり、第1B地点及び第1B終点は、活性化されたデータを移動させるために臨時的に使われた地点であると理解されうる。一方、本発明の実施形態において第1A地点が第1B地点に移動することによって、第2A地点も非固定領域側に移動しうる。
このように、ブロック回収部132が既存の第1A地点を第1B地点に移動させることは、固定領域に比べて相対的に使用頻度の高い非固定領域について固定領域との使用頻度(Wear Level)を均等にするためである。
次いで、非固定領域に対するブロック回収を通じて非活性データが位置したブロックを回収して新たに割当てて、主記録媒体110へのデータの移動回数を減らしうる。固定領域に対するブロック回収方法のような方法を利用した非固定領域に対するブロック回収は空ブロックの数が所定数以下であるか、非活性化データが占めるブロックの数が所定数以上である場合に使われうる。
具体的に、非固定領域に対するブロック回収は、まず前述した固定領域に対するブロック回収と同様に、ブロック回収部132は、固定領域に対するブロック回収のためにアドレス変換テーブル保存部140から活性化データリストを生成し、生成された活性化データリストを活性化データリスト保存部150に保存しうる。
この際、ブロック回収部132は、図6Aのように、第2A時点のブロックに活性化されたデータが存在する場合にのみ固定領域側に所定ブロックほど第2A時点を移動させた第2B時点を設定する。一方、本発明の実施形態で前述したブロック割当部131は、N個の空ブロックをあらかじめ割当てた後でブロックを割当てるために第2B時点が第2A時点に比べて所定ブロック固定領域側に移動しうる。また、本発明の実施形態において、第2B時点は、第2A時点に比べて1ブロックほど固定領域側に移動した場合を例として説明する。第1A地点と第2A時点とが同じ場合には、N個のブロックに位置したデータを主記録媒体110に移動させる。
この際、ブロック回収部132は、図6Bのように、活性化データリストの順序によって第2B時点からデータを順次に移動させ、最後に割当てられたブロックの位置を示す第2B終点を設定する。次いで、ブロック回収部132は、第2B時点及び第2B終点を各々第2A時点及び第2A終点に変更する。この際、回数されたデータについての情報は、活性データリストで削除される。
一方、非固定領域に対するブロック回収で第2A時点及び第2A終点が実際的に使われる地点であり、第2B時点及び第2B終点は活性化されたデータを移動させるために臨時的に使われた地点であると理解されうる。
使用頻度調節部133は、前述したブロック回収部132によるブロック回収時に各ブロックの使用頻度を均等化するために各ブロックに対する使用頻度についての情報を保存しており、ブロック回収部132は、使用頻度調節部133に保存された各ブロックに対する使用頻度を考慮してブロック回収を行う。言い換えれば、ブロック回収部132は、ブロックを回収する度に使用頻度調節部133の情報に基づいて固定領域で第1A時点を非固定領域側に所定ブロックほど移動させ、ブロック回収を行う。したがって、固定領域に比べて相対的に使用頻度の高い非固定領域に対する使用頻度を固定領域と均等に調節可能になる。
停電復旧部134は、突然の非正常的な電源遮断時に、復旧を行い、このような停電復旧は、前述したブロック割当部131により管理される第1A地点、第2A地点、第1A時点、第2A時点、第2A終点及び第2A終点と各ブロックのスペア領域に記録された論理ブロックアドレスを利用する。第1A地点と第2A地点は、変更される度に不揮発性メモリの特定ブロックに記録され、第1A終点と第2A終点は、ブロックを割当てる度に直ちにその次のブロックに復旧マークを記録する。この際、停電復旧部134は、第1A地点から固定領域及び非固定領域で復旧マークを発見するまで順次に読取り、同じLBAの場合には後で書き込まれたデータを活性化されたデータとして抽出する。これは不揮発性メモリ120でブロック修正時、既存データの修正でない新たなブロックを割当てて追加する方法を使用するために、同じLBAである場合には後で書き込まれたデータが更新されたデータであるためである。次いで、停電復旧部134は、抽出されたデータに基づいてアドレス変換テーブルを復旧する。
具体的に、停電復旧部134は、図7のように、非固定領域で第2A終点の直後に位置したブロックに復旧マークを記録しておく。この際、非正常的な電源遮断の発生時、停電復旧部134は、第1A地点から順次に復旧マークが出るまでスキャニングし、前述したスペア領域に記録されたLBAを通じてアドレス変換テーブルを再び生成する。一方、図7において、同じLBAを有するブロック211、212、213が3つ存在するが、停電復旧部134は、最後に記録されたブロックのLBA213を活性化されたデータとして抽出する。
図8は、本発明の実施形態による不揮発性メモリのブロック割当方法が示された図面である。
示されたように、本発明の実施形態による不揮発性メモリのブロック割当方法は、まずブロック割当部131は、不揮発性メモリ120の領域を円形構造に変形し、不揮発性メモリ120の領域をデータが固定される固定領域とデータとが頻繁に変更される非固定領域とに分けるための第1A地点及び第2A地点を設定する(S110)。この際、第1A地点及び第2A地点により分けられる固定領域及び非固定領域の大きさは用途及び必要に応じて変更されうる。
次いで、ブロック割当部131は、第1A地点を基準に各々固定領域及び非固定領域にブロックを順次に割当てる(S120)。
ブロック割当部131は、固定領域及び非固定領域にブロック割当が完了したか否かを判断し(S130)、判断結果、ブロック割当が完了した場合、最後に割当てられたブロックの位置を示す地点を設定する(S140)。言い換えれば、ブロック割当部131は、前述した図3のように、固定領域及び非固定領域で最後に割当てられたブロックの位置を示す第1A終点及び第2A終点を設定する。また、ブロック割当部131は、第1A地点、第2A地点、第1A終点及び第2A終点などを正常な電源遮断時や必要に応じて不揮発性メモリ120の所定領域に保存する。
図9は、本発明の実施形態による不揮発性メモリの固定領域に対するブロック回収方法が示された図面である。この際、図9の固定領域に対するブロック回収方法は、前述した図5Aないし図5Dのブロック回収方法であると理解されうる。
示されたように、本発明の実施形態による不揮発性メモリの固定領域に対するブロック回収方法は、まずブロック回収部132は、アドレス変換テーブル保存部140に保存されたアドレス変換テーブルから活性化されたデータのリストを生成し、生成された活性データリストを活性データリスト保存部150に保存する(S210)。
次いで、ブロック回収部132は、固定領域と非固定領域とを区分し、ブロック割当開始地点である第1A時点のブロックに活性化されたデータが存在する場合(S220)、第1A地点を基準に非固定領域側の所定個数のブロックを主記録媒体110に移動させる(S230)。
非固定領域側のデータを主記録媒体110に移動させた後、ブロック回収部132は第1A地点を非固定領域側に移動させ、第1B地点に移動させる(S240)。また、前述したS220ステップで第1A地点のブロックに活性化されたデータが存在していない場合には、直ちに第1A地点を非固定領域側の第1B地点にする。
ブロック回収部132は、活性データリストの順序によって活性データを第1B地点から順次に移動させ(S250)、移動した活性データについての情報を活性リストから削除する(S260)。ブロック回収部132は、活性リストが空くまで活性データを移動させて該当情報を活性リストから削除する過程を繰り返し行う(S270)。
ブロック回収部132は、活性データリストが空けば、最後に移動したブロックを第1B終点に設定し(S280)、最後に第1B地点を第1A地点に変更し、第1B終点を第1A終点に変更する(S290)。
図10は、本発明の実施形態による不揮発性メモリの非固定領域に対するブロック回収方法が示された図面である。この際、図10の非固定領域に対するブロック回収方法は、前述した図6A及び図6Bのブロック回収方法であると理解されうる。
示されたように、本発明の実施形態による不揮発性メモリの非固定領域に対するブロック回収方法において、まずブロック回収部132はアドレス変換テーブル保存部140に保存されたアドレス変換テーブルから活性化されたデータのリストを生成し、生成された活性データリストを活性データリスト保存部150に保存する(S310)。
ブロック回収部132は、活性データがページを含むブロックが第2A時点に存在しているか否かを判断する(S320)。
この際、ブロック回収部132は、第2A時点に活性データが存在する場合、第1A地点と第2A時点とが同一か否かを判断する(S330)。
一方、ブロック回収部132は、第1A地点と第2A時点とが異なる場合、第2A時点を固定領域側に所定ブロックほど移動させ、第2B時点に移動させる(S340)。
次いで、ブロック回収部132は、活性データリストの順序によって活性化されたデータを第2B時点から順次に移動させる(S350)。移動した活性データについての情報は活性データリストから削除され(S360)、リストが空くまで順次に活性データの移動と活性データ情報の削除過程(S350及びS360)とが繰り返される(S370)。
活性データの移動が完了すれば、ブロック回収部132は、最後に移動したブロックの位置を第2B終点に設定し(S380)、最後に第2B時点を第2A時点に、第2B終点を第2A終点に変更する(S390)。
前記‘部’は、ソフトウェアまたはFPGA(フィールドプログラマブルゲートアレイ)または注文型半導体(アプリケーションスペシフィックインテグレーテッドサーキット;ASIC)のようなハードウェア構成要素を意味し、部は所定の役割を行う。しかし、部はソフトウェアまたはハードウェアに限定されるものではない。部は、アドレッシング可能な保存媒体に存在すべく構成されても良く、1つまたはそれ以上のプロセッサを実行させるように構成されても良い。したがって、一例として部は、ソフトウェア構成要素、客体指向ソフトウェア構成要素、クラス構成要素及びタスク構成要素のような構成要素と、プロセス、関数、属性、プロシージャ、サブルーチン、プログラムコードのセグメント、ドライバー、ファームウェア、マイクロコード、回路、データ、データベース、データ構造、テーブル、アレイ、及び変数を含む。構成要素とモジュールから提供される機能は、より少数の構成要素及びモジュールで結合されるか、追加的な構成要素とモジュールにさらに分離されうる。
本発明は、不揮発性メモリをキャッシュとして用いる保存装置関連の技術分野に好適に適用されうる。
一般的な保存装置が示された図面である。 本発明の実施形態による不揮発性メモリをキャッシュとして用いる保存装置を示す図である。 本発明の実施形態によって円形構造に変形された不揮発性メモリの領域を示す図である。 本発明の実施形態によって回転式ブロック割当を使用する非固定領域を示す図である。 本発明の実施形態による固定領域のブロック回収時、第1A地点が非固定領域に移動した図である。 本発明の実施形態による固定領域のブロック回収時、第1A地点の活性化されたデータが第1B地点に移動した図である。 本発明の実施形態による固定領域のブロック回収時、活性化されたデータを第1B地点から順次に移動させて最後に移動した活性化されたデータが位置したブロックを示す第2B終点を示す図である。 本発明の実施形態による固定領域のブロック回収時、第1A地点が第1B地点に、第1A終点が第1B終点に移動した図である。 本発明の実施形態による非固定領域のブロック回収時、第2A時点を固定領域に移動させた第2B時点を示す図である。 本発明の実施形態による非固定領域ブロック回収時、第2B時点から活性化されたデータが順次に移動した図である。 本発明の実施形態による停電復旧時のスキャニング方向を示す図である。 本発明の実施形態による不揮発性メモリのブロック割当方法を示す図である。 本発明の実施形態による不揮発性メモリの固定領域に対するブロック回収方法を示す図である。 本発明の実施形態による不揮発性メモリの非固定領域に対するブロック回収方法を示す図である。
符号の説明
100 保存装置
110 主記録媒体
120 不揮発性メモリ
130 ブロック管理部
131 ブロック割当部
132 ブロック回収部
133 使用頻度調節部
134 停電復旧部
140 アドレス変換テーブル保存部
150 活性データリスト保存部

Claims (5)

  1. 主記録媒体と、
    前記主記録媒体のキャッシュとして使われ、データが固定される固定領域及びデータの移動が頻繁に発生する非固定領域を含む不揮発性メモリと、
    前記不揮発性メモリに割当てられるブロックを管理するブロック管理部と、を備える不揮発性メモリをキャッシュとして用いる保存装置であって、
    前記ブロック管理部は、前記固定領域及び前記非固定領域にブロックを割当てるブロック割当部と、前記割当てられたブロックを回収するブロック回収部と、を備え、
    前記ブロック割当部は、前記不揮発性メモリの領域を論理的な円形構造に変換し、前記円形構造で前記固定領域及び前記非固定領域を区分するための二地点を設定し、
    前記二地点は、前記固定領域及び前記非固定領域におけるブロック割当開始地点と、ブロック割当終了地点とを含み、
    前記ブロック割当部は、前記ブロック割当開始地点を基準に前記固定領域及び前記非固定領域にブロックを互いに逆方向に順次に割当て、
    前記ブロック回収部は、前記固定領域のブロック回収時、前記固定領域におけるブロック割当開始地点を前記非固定領域側に所定ブロックほど移動させた後、前記固定領域内の活性データを、前記固定領域内において、移動したブロック割当開始地点から、順次に移動させることを特徴とする不揮発性メモリをキャッシュとして用いる保存装置。
  2. 前記ブロック回収部は、最後に割当てられたブロックの位置を示す終点をブロック回収時最後に移動した活性データの移動先のブロックの位置に変更することを特徴とする請求項1に記載の不揮発性メモリをキャッシュとして用いる保存装置。
  3. 不揮発性メモリをキャッシュとして用いる保存装置の動作方法であって、
    所定の主記録媒体のキャッシュとして使われる不揮発性メモリの領域を、データが固定される固定領域及びデータの移動が頻繁に発生する非固定領域に区分するステップと、
    前記区分された固定領域及び前記非固定領域に割当てられるブロックを管理するステップと、を含み、
    前記ブロックを管理するステップは、
    前記固定領域及び前記非固定領域にブロックを割当てるステップと、
    前記割当てられたブロックを回収するステップと、を含み、
    前記ブロックを割当てるステップは、
    前記不揮発性メモリの領域を論理的な円形構造に変換し、更に、前記円形構造で前記固定領域及び前記非固定領域を区分するために、前記固定領域及び前記非固定領域におけるブロック割当開始地点と、ブロック割当終了地点を含む二地点を設定するステップと、
    ブロック割当開始地点を基準に前記固定領域及び前記非固定領域にブロックを互いに逆方向に順次に割当てるステップとを含み、
    前記ブロックを回収するステップは、前記固定領域のブロック回収時、前記固定領域におけるブロック割当開始地点を前記非固定領域側に所定ブロックほど移動させた後、前記固定領域内の活性データを、前記固定領域内において、移動したブロック割当開始地点から、順次に移動させるステップを含むことを特徴とする不揮発性メモリをキャッシュとして用いる保存装置の動作方法。
  4. 前記ブロックを割当てるステップは、前記固定領域及び前記非固定領域で最後に割当てられたブロックの位置を示す終点を設定するステップを含む請求項に記載の不揮発性メモリをキャッシュとして用いる保存装置の動作方法。
  5. 前記ブロックを回収するステップは、最後に割当てられたブロックの位置を示す終点を前記ブロック回収時最後に移動したブロックの移動先の位置に変更するステップを含む請求項に記載の不揮発性メモリをキャッシュとして用いる保存装置の動作方法。

JP2006342261A 2005-12-27 2006-12-20 不揮発性メモリをキャッシュとして用いる保存装置及びその動作方法 Active JP4531742B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020050130822A KR100755702B1 (ko) 2005-12-27 2005-12-27 비휘발성 메모리가 캐쉬로 사용되는 저장 장치 및 그 동작방법

Publications (2)

Publication Number Publication Date
JP2007179546A JP2007179546A (ja) 2007-07-12
JP4531742B2 true JP4531742B2 (ja) 2010-08-25

Family

ID=37908265

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006342261A Active JP4531742B2 (ja) 2005-12-27 2006-12-20 不揮発性メモリをキャッシュとして用いる保存装置及びその動作方法

Country Status (5)

Country Link
US (1) US7716422B2 (ja)
EP (1) EP1804169A1 (ja)
JP (1) JP4531742B2 (ja)
KR (1) KR100755702B1 (ja)
CN (1) CN100552646C (ja)

Families Citing this family (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100755700B1 (ko) * 2005-12-27 2007-09-05 삼성전자주식회사 비휘발성 메모리가 캐쉬로 사용되는 저장 장치 및 그 관리방법
US8051249B2 (en) * 2006-05-29 2011-11-01 Sandisk Il Ltd. Method for preloading data to improve data-retrieval times
KR101406493B1 (ko) 2007-07-19 2014-06-12 엘지전자 주식회사 플래쉬 메모리를 구비한 컴퓨터 및 플래쉬 메모리의구동방법
JP2009043030A (ja) * 2007-08-09 2009-02-26 Hitachi Ltd ストレージシステム
US20110066792A1 (en) * 2008-02-10 2011-03-17 Rambus Inc. Segmentation Of Flash Memory For Partial Volatile Storage
KR101477047B1 (ko) 2008-02-29 2014-12-30 삼성전자주식회사 메모리 시스템 및 그것의 블록 병합 방법
JP4558054B2 (ja) * 2008-03-11 2010-10-06 株式会社東芝 メモリシステム
US8171205B2 (en) * 2008-05-05 2012-05-01 Intel Corporation Wrap-around sequence numbers for recovering from power-fall in non-volatile memory
KR100950937B1 (ko) 2009-06-30 2010-04-08 주식회사 셀픽 솔리드 스테이트 디스크의 캐쉬 메모리 및 이를 이용한 캐쉬 관리시스템
US8301838B2 (en) * 2009-11-04 2012-10-30 Nokia Corporation Method and apparatus for providing an application-level cache with a locked region and a floating region
KR101627322B1 (ko) 2009-11-18 2016-06-03 삼성전자주식회사 비-휘발성 버퍼를 이용한 데이터 저장 장치 및 방법
EP2577470A4 (en) * 2010-06-04 2013-12-25 Sandisk Entpr Ip Llc CACHE ADMINISTRATION AND ACCELERATION IN STORAGE MEDIA
US8706983B2 (en) * 2010-06-30 2014-04-22 Sandisk Technologies Inc. Garbage collection of memory blocks using volatile memory
US8949506B2 (en) 2010-07-30 2015-02-03 Apple Inc. Initiating wear leveling for a non-volatile memory
US8521948B2 (en) * 2011-01-03 2013-08-27 Apple Inc. Handling dynamic and static data for a system having non-volatile memory
KR101824295B1 (ko) 2011-08-12 2018-01-31 샌디스크 테크놀로지스 엘엘씨 솔리드 스테이트 장치 가상화를 포함하는 캐시 관리
US9158672B1 (en) 2011-10-17 2015-10-13 Rambus Inc. Dynamic deterministic address translation for shuffled memory spaces
US9697115B2 (en) 2011-10-26 2017-07-04 Hewlett-Packard Development Company, L.P. Segmented caches
KR101353968B1 (ko) * 2012-01-26 2014-01-23 전자부품연구원 환형 구조의 비휘발성 메모리 캐쉬에 기록된 데이터를 교체 및 가비지 콜렉션하기 위한 데이터 처리방법
KR101373613B1 (ko) * 2012-01-26 2014-03-13 전자부품연구원 환형 구조의 비휘발성 메모리 캐쉬를 포함하는 하이브리드 스토리지 장치
US9348743B2 (en) * 2013-02-21 2016-05-24 Qualcomm Incorporated Inter-set wear-leveling for caches with limited write endurance
CN103186436B (zh) * 2013-03-28 2016-01-06 深圳市显控自动化技术有限公司 一种android系统掉电保护方法及装置
US9342419B2 (en) 2013-11-11 2016-05-17 Globalfoundries Inc. Persistent messaging mechanism
US9164856B2 (en) 2013-11-11 2015-10-20 International Business Machines Corporation Persistent messaging mechanism
CN105988950B (zh) * 2015-02-03 2019-05-21 群联电子股份有限公司 存储器管理方法、存储器控制电路单元与存储器存储装置
CN106557143B (zh) * 2015-09-28 2020-02-28 伊姆西Ip控股有限责任公司 用于数据存储设备的装置和方法
US10515016B2 (en) 2015-12-03 2019-12-24 Hitachi, Ltd. Method and apparatus for caching in software-defined storage systems
CN105405465B (zh) * 2015-12-29 2019-07-23 中北大学 数据存储及处理电路
GB2559119B (en) 2017-01-20 2020-12-30 Advanced Risc Mach Ltd Apparatus and methods to prolong lifetime of memories
US11016665B2 (en) 2018-01-23 2021-05-25 Seagate Technology Llc Event-based dynamic memory allocation in a data storage device
CN110688327B (zh) * 2019-09-30 2020-12-01 百度在线网络技术(北京)有限公司 显存管理方法、装置、电子设备和计算机可读存储介质
US11334490B2 (en) * 2020-01-07 2022-05-17 Samsung Electronics Co., Ltd. Multi-value mapping for object store

Citations (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04153792A (ja) * 1990-10-17 1992-05-27 Dainippon Printing Co Ltd Icカード
JPH04213129A (ja) * 1990-01-31 1992-08-04 Hewlett Packard Co <Hp> メモリ管理システム及びメモリ管理方法
JPH0511933A (ja) * 1991-07-08 1993-01-22 Kawasaki Steel Corp ハードデイスクエミユレータ及びその固定キヤツシユエリア割付方法
JPH0527924A (ja) * 1991-07-12 1993-02-05 Internatl Business Mach Corp <Ibm> 半導体メモリを用いた外部記憶システム及びその制御方法
JPH06236241A (ja) * 1993-02-09 1994-08-23 Sharp Corp フラッシュメモリを用いたハードディスク装置
JPH06282702A (ja) * 1993-03-24 1994-10-07 Dainippon Printing Co Ltd Cpuを内蔵した情報記録媒体
JPH07160590A (ja) * 1993-12-07 1995-06-23 Sansei Denshi Japan Kk 記憶データアクセス方法とその装置
JPH0877074A (ja) * 1994-09-09 1996-03-22 Hitachi Ltd フラッシュメモリを用いた記憶装置システム
JPH09231110A (ja) * 1995-12-22 1997-09-05 Dainippon Printing Co Ltd Icカード
JPH10154101A (ja) * 1996-11-26 1998-06-09 Toshiba Corp データ記憶システム及び同システムに適用するキャッシュ制御方法
JPH11175381A (ja) * 1997-12-12 1999-07-02 Olympus Optical Co Ltd 情報記録再生装置
JP2000227866A (ja) * 1998-12-04 2000-08-15 Olympus Optical Co Ltd 情報記録再生装置
JP2001051889A (ja) * 1999-05-31 2001-02-23 Sharp Corp 不揮発性半導体記憶装置を用いたファイルシステム
JP2004171411A (ja) * 2002-11-21 2004-06-17 Hitachi Global Storage Technologies Netherlands Bv データ記憶装置及びバッファメモリの管理方法
WO2004059624A1 (en) * 2002-12-24 2004-07-15 Lg Electronics, Inc. Dual journaling store method and storage medium thereof
WO2005103903A1 (ja) * 2004-04-20 2005-11-03 Matsushita Electric Industrial Co., Ltd. 不揮発性記憶システム
US20050246487A1 (en) * 2004-05-03 2005-11-03 Microsoft Corporation Non-volatile memory cache performance improvement
JP2007525753A (ja) * 2004-02-04 2007-09-06 サンディスク コーポレイション デュアルメディアストレージデバイス

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1153261A (ja) 1997-08-07 1999-02-26 Toshiba Corp データ記憶システム及び同システムに適用するキャッシュ制御方法
US6035347A (en) * 1997-12-19 2000-03-07 International Business Machines Corporation Secure store implementation on common platform storage subsystem (CPSS) by storing write data in non-volatile buffer
JPH11249968A (ja) 1998-03-05 1999-09-17 Sanyo Electric Co Ltd ファイル記録方法及びファイルシステム
US6725342B1 (en) * 2000-09-26 2004-04-20 Intel Corporation Non-volatile mass storage cache coherency apparatus
JP2002175211A (ja) 2000-12-07 2002-06-21 Sharp Corp データ管理システムおよびデータ管理方法
US6785767B2 (en) * 2000-12-26 2004-08-31 Intel Corporation Hybrid mass storage system and method with two different types of storage medium
US7533214B2 (en) * 2002-02-27 2009-05-12 Microsoft Corporation Open architecture flash driver
US6901499B2 (en) * 2002-02-27 2005-05-31 Microsoft Corp. System and method for tracking data stored in a flash memory device
US20030163633A1 (en) 2002-02-27 2003-08-28 Aasheim Jered Donald System and method for achieving uniform wear levels in a flash memory device
US6745283B1 (en) * 2002-04-16 2004-06-01 Western Digital Technologies, Inc. Disk drive for dynamically allocating memory accessed concurrently by a host interface and a disk interface to facilitate large host commands
KR101107288B1 (ko) * 2003-12-17 2012-01-20 엘지전자 주식회사 다중 분할된 플래시 메모리 장치 및 분할된 메모리에데이터를 저장하기 위한 이중 저널링 저장방법
US7363420B2 (en) * 2003-12-15 2008-04-22 Nortel Networks Limited Method and file structures for managing data on a flash disk
KR100514756B1 (ko) * 2003-12-23 2005-09-14 삼성전자주식회사 플래쉬 메모리를 파일 시스템으로 라이트하기 위한캐쉬처리 방법
US7127549B2 (en) * 2004-02-04 2006-10-24 Sandisk Corporation Disk acceleration using first and second storage devices
JP4439385B2 (ja) * 2004-12-03 2010-03-24 株式会社ソニー・コンピュータエンタテインメント バッファリング装置およびバッファリング方法
US20070100852A1 (en) * 2005-11-03 2007-05-03 Jeffrey Wang File system management for integrated NOR and NAND flash memory
US7366842B1 (en) * 2005-12-15 2008-04-29 Nvidia Corporation Creating permanent storage on the fly within existing buffers
KR100755700B1 (ko) * 2005-12-27 2007-09-05 삼성전자주식회사 비휘발성 메모리가 캐쉬로 사용되는 저장 장치 및 그 관리방법

Patent Citations (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04213129A (ja) * 1990-01-31 1992-08-04 Hewlett Packard Co <Hp> メモリ管理システム及びメモリ管理方法
JPH04153792A (ja) * 1990-10-17 1992-05-27 Dainippon Printing Co Ltd Icカード
JPH0511933A (ja) * 1991-07-08 1993-01-22 Kawasaki Steel Corp ハードデイスクエミユレータ及びその固定キヤツシユエリア割付方法
JPH0527924A (ja) * 1991-07-12 1993-02-05 Internatl Business Mach Corp <Ibm> 半導体メモリを用いた外部記憶システム及びその制御方法
JPH06236241A (ja) * 1993-02-09 1994-08-23 Sharp Corp フラッシュメモリを用いたハードディスク装置
JPH06282702A (ja) * 1993-03-24 1994-10-07 Dainippon Printing Co Ltd Cpuを内蔵した情報記録媒体
JPH07160590A (ja) * 1993-12-07 1995-06-23 Sansei Denshi Japan Kk 記憶データアクセス方法とその装置
JPH0877074A (ja) * 1994-09-09 1996-03-22 Hitachi Ltd フラッシュメモリを用いた記憶装置システム
JPH09231110A (ja) * 1995-12-22 1997-09-05 Dainippon Printing Co Ltd Icカード
JPH10154101A (ja) * 1996-11-26 1998-06-09 Toshiba Corp データ記憶システム及び同システムに適用するキャッシュ制御方法
JPH11175381A (ja) * 1997-12-12 1999-07-02 Olympus Optical Co Ltd 情報記録再生装置
JP2000227866A (ja) * 1998-12-04 2000-08-15 Olympus Optical Co Ltd 情報記録再生装置
JP2001051889A (ja) * 1999-05-31 2001-02-23 Sharp Corp 不揮発性半導体記憶装置を用いたファイルシステム
JP2004171411A (ja) * 2002-11-21 2004-06-17 Hitachi Global Storage Technologies Netherlands Bv データ記憶装置及びバッファメモリの管理方法
WO2004059624A1 (en) * 2002-12-24 2004-07-15 Lg Electronics, Inc. Dual journaling store method and storage medium thereof
JP2007525753A (ja) * 2004-02-04 2007-09-06 サンディスク コーポレイション デュアルメディアストレージデバイス
WO2005103903A1 (ja) * 2004-04-20 2005-11-03 Matsushita Electric Industrial Co., Ltd. 不揮発性記憶システム
US20050246487A1 (en) * 2004-05-03 2005-11-03 Microsoft Corporation Non-volatile memory cache performance improvement

Also Published As

Publication number Publication date
EP1804169A1 (en) 2007-07-04
US7716422B2 (en) 2010-05-11
CN100552646C (zh) 2009-10-21
US20070150647A1 (en) 2007-06-28
CN1991791A (zh) 2007-07-04
KR20070068807A (ko) 2007-07-02
KR100755702B1 (ko) 2007-09-05
JP2007179546A (ja) 2007-07-12

Similar Documents

Publication Publication Date Title
JP4531742B2 (ja) 不揮発性メモリをキャッシュとして用いる保存装置及びその動作方法
JP2007179545A (ja) 不揮発性メモリをキャッシュとして用いる保存装置及びその管理方法
JP4778942B2 (ja) 不揮発性メモリを管理する装置及び方法
JP4356686B2 (ja) メモリ装置及びメモリ制御方法
RU2642349C1 (ru) Способ для сохранения данных посредством устройства хранения данных и устройство хранения данных
US20130227198A1 (en) Flash memory device and electronic device employing thereof
JP6459644B2 (ja) ストレージ制御装置、制御システム及び制御プログラム
JP2004334419A (ja) 磁気ディスク装置、ファイル管理システム及びその方法
KR20100132244A (ko) 메모리 시스템 및 메모리 시스템 관리 방법
WO2009118917A1 (ja) フラッシュメモリを用いた記憶装置
JP2011059866A (ja) コントローラ、及びデータ記憶装置
JP2007184021A (ja) アドレス割り当て方法およびディスク装置ならびにデータ書き込み方法
JP4874844B2 (ja) 情報記録装置及びその制御方法
KR102098240B1 (ko) 비휘발성 메모리 시스템
JP2015135603A (ja) ストレージ装置及びデータを書き込む記憶領域を選択する方法
JP4561246B2 (ja) メモリ装置
JP5385835B2 (ja) データ記録装置
JPWO2009001514A1 (ja) メモリコントローラ、不揮発性記憶装置、ファイルシステム、不揮発性記憶システム、データ書き込み方法及びデータ書き込みプログラム
JP2010237907A (ja) ストレージ装置および記録方法
JP2012155561A (ja) 情報処理装置及び書き込み制御方法
JP4372168B2 (ja) 半導体メモリ情報蓄積装置とその蓄積データ処理方法
JP2007148965A (ja) フラッシュディスク装置のエラーブロック管理方法及び装置
JP5452735B2 (ja) メモリコントローラ及びメモリアクセス方法
JP3555456B2 (ja) フラッシュ型メモリの管理装置
JP2008191797A (ja) ファイルシステム

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090707

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091007

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100126

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100416

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

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

R150 Certificate of patent or registration of utility model

Ref document number: 4531742

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

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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