JP4245021B2 - ストレージ装置、ストレージシステム、ストレージ装置の制御方法 - Google Patents

ストレージ装置、ストレージシステム、ストレージ装置の制御方法 Download PDF

Info

Publication number
JP4245021B2
JP4245021B2 JP2006242024A JP2006242024A JP4245021B2 JP 4245021 B2 JP4245021 B2 JP 4245021B2 JP 2006242024 A JP2006242024 A JP 2006242024A JP 2006242024 A JP2006242024 A JP 2006242024A JP 4245021 B2 JP4245021 B2 JP 4245021B2
Authority
JP
Japan
Prior art keywords
data
cache memory
storage
written
storage device
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
JP2006242024A
Other languages
English (en)
Other versions
JP2008065559A (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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP2006242024A priority Critical patent/JP4245021B2/ja
Priority to US11/896,061 priority patent/US20080059706A1/en
Publication of JP2008065559A publication Critical patent/JP2008065559A/ja
Application granted granted Critical
Publication of JP4245021B2 publication Critical patent/JP4245021B2/ja
Expired - Fee Related 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/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/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/0804Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with main memory updating
    • 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/0893Caches characterised by their organisation or structure
    • G06F12/0897Caches characterised by their organisation or structure with two or more cache hierarchy levels
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/26Using a specific storage system architecture
    • G06F2212/261Storage comprising a plurality of storage devices
    • 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/283Plural cache memories
    • G06F2212/284Plural cache memories being distributed

Description

本発明は、ホストコンピュータからの要求に応じてデータを入出力するストレージ装置に関し、特にシステム全体としてキャッシュメモリを効率的に利用することができるストレージ装置等に関する。
従来のストレージ装置では、ホストからの書き込み動作時にキャッシュメモリに空き領域がある場合はキャッシュメモリにデータを書き込んだ時点でホストに応答を返し、ディスクへの書き込みは非同期に行うことにより応答の高速化を図っている。
図12に従来のストレージ装置の構成を示す。ストレージ装置400は、ホストインターフェース制御部410、キャッシュメモリ部420、スイッチ部430、ディスク制御部440、物理ディスク部450を備え、ホストコンピュータ300からの要求に応じて、物理ディスク部450へのデータの書き込みおよび物理ディスク部450からのデータの読み出しを行う。また、スイッチ部430を介して同様の構成を持つ他のストレージ装置400と接続されている。
図13に、ホストコンピュータ300から書き込み要求を受けた時のストレージ装置400の動作フローを示す。また図12に、このときのデータの流れを矢印で示す。
ホストコンピュータ300から書き込み要求を受けたホストインターフェース制御部410は、キャッシュメモリ部420に空き領域があるかどうか調査する(S201、図12のB1)。
キャッシュメモリ部420に未使用のキャッシュページがない場合は、ホストインターフェース制御部410は、キャッシュメモリ部420に記憶されているデータのうち物理ディスク部450に未書き込みのデータを物理ディスク部450に書き込んで未使用のキャッシュページを作成する(S202、図12のB2)。次に、未使用のキャッシュページを獲得し、ホストインターフェース制御部410によりホストコンピュータ300から受信したデータをキャッシュメモリ部420に格納する(S203、図12のB3)。格納が完了したらキャッシュページを開放してホストインターフェース制御部410がホストコンピュータ300に応答を送信する(図12のB4)。その後、ディスク制御部440はホストコンピュータ300からの書き込み要求とは非同期にキャッシュメモリ部420上のディスク未書き込みデータを物理ディスク部450に書き込む(S205、図12のB5)。
キャッシュメモリ部430に未使用のキャッシュページがある場合は、S202はスキップし上記のS203ないしS205の動作を行う。
このように、キャッシュメモリに空き領域がない場合はキャッシュメモリのディスクへ未書き込みのデータをディスクに書き込んで空き領域を作成してからホストからのデータをキャッシュメモリに転送していたため、ホストからの書き込み負荷が高い時にホストへの応答が遅延していた。ただし、このような場合でも、接続されている他のストレージ装置のキャッシュメモリには未使用の領域が残っている場合がある。
特許文献1には、ディスクアレイ制御部を冗長化したストレージ装置において、一方のディスクアレイ制御部が他のディスクアレイ制御部のキャッシュメモリを利用することができるストレージ装置が記載されている。このストレージ装置では、複数のディスクアレイ制御部のそれぞれがキャッシュメモリを備え、キャッシュメモリ内にキャッシュメモリの割り当てを管理するキャッシュメモリ管理情報領域を設け、他のディスクアレイ制御部のキャッシュメモリの一部を自装置のキャッシュメモリとして割り当てて使用する。
特開2005−284343号公報
しかし、特許文献1に記載のストレージ装置では、図12のような複数のストレージ装置を備えたストレージシステムを構成した場合に、あるストレージ装置のキャッシュメモリが不足したときに、他のストレージ装置のキャッシュメモリを有効に利用することができなかった。
そこで、本発明は、システム全体として効率的にキャッシュメモリを利用することができるストレージシステム等を提供することを目的とする。
本発明の、ストレージ装置は、キャッシュメモリの使用状況を示す使用状況情報を通信可能に接続された他のストレージ装置から取得するキャッシュメモリ使用状況取得部と、使用状況情報を取得元の前記他のストレージ装置を識別する情報と対応付けて記憶するキャッシュメモリ管理テーブルと、ホストコンピュータからデータを受信したときに自装置のキャッシュメモリの空き領域がない場合にキャッシュメモリ管理テーブルを参照して空き領域のある他のストレージ装置が存在するか否かを判定し、存在する場合には当該他のストレージ装置のキャッシュメモリにデータを格納する外部書き込み部と、キャッシュメモリに他のストレージ装置により書き込まれたデータを当該データの書き込み元の他のストレージ装置のキャッシュメモリに書き込むデータ書き戻し部と、を備えている(請求項1ないし請求項6)。
上記ストレージ装置によれば、使用状況取得部が他のストレージ装置からキャッシュメモリの使用状況情報を取得し、この情報はキャッシュメモリ管理テーブルに集積される。すなわち、ストレージ装置は、他のすべてのストレージ装置のキャッシュメモリの使用状況を把握することができる。外部書き込み部は、自装置のキャッシュメモリに空き領域がない場合にキャッシュメモリ管理テーブルを参照し、他のストレージ装置のキャッシュメモリに空き領域がある場合は、その領域にデータを書き込む。他のストレージ装置によりキャッシュメモリに書き込まれたデータは、データ書き戻し部により書き込み元のストレージ装置のキャッシュメモリに書き戻し、データの矛盾が生じないようにする。
また、上記ストレージ装置において、記憶媒体の記憶領域中の位置を示す記憶位置情報と、その位置に書き込まれるべきデータが他のストレージ装置のキャッシュメモリに書き込まれたものであるか否かを示す情報を対応付けて記憶した外部書き込み管理テーブルを備え、外部書き込み部は、その動作の結果を反映するように外部書き込み管理テーブルを更新し、データ書き戻し部は、その動作の結果を反映するようにデータの書き戻し先の他のストレージ装置の外部書き込み管理テーブルを更新するようにしてもよい。
そのため、ホストからの書き込み負荷が高い場合でも、記憶媒体への書き込みを待たずに他のストレージ装置のキャッシュメモリにデータを書き込んだ時点でホストコンピュータへの応答を行うことができる。すなわち、ホストコンピュータから見た応答時間を短縮することができる。
また、任意の他のストレージ装置のキャッシュメモリを利用することができるから、ホストからの書き込み負荷が高い場合でも十分な記憶容量のキャッシュメモリを各ストレージ装置に備えておく必要がない。すなわち、システム全体としてキャッシュメモリを効率的に利用することができ、コストダウンを図ることができる。
更に、記憶媒体の記憶領域の各部分領域について、そこに記憶されるべきデータが他のストレージ装置のキャッシュメモリに格納されているか否かを常に認識することができる。そのため、そこに格納されるべきデータが他のストレージ装置のキャッシュメモリに格納されている部分領域に対して、再度書き込み要求があった場合に、データの矛盾を生じさせることなく書き込み処理を行うことができる。
上記ストレージ装置において、使用状況情報を、キャッシュメモリの使用中の記憶領域の大きさと未使用の記憶領域の大きさを示すものとしてもよい(請求項2)。
このようにすれば、外部書き込み部は、他のストレージ装置のキャッシュメモリの空き容量を正確に知ることができるから、受信したデータを書き込むのに十分な量の未使用の記憶領域を持つ他のストレージ装置を特定することができる。
上記ストレージ装置において、記憶位置情報を、記憶媒体におけるブロックを特定する情報としてもよい(請求項)。
このようにすれば、ホストコンピュータがデータの読み書きをする際の最小単位であるブロックを基準に外部書き込み管理テーブルを構成しているので、ホストコンピュータの仕様に適合した書き込み処理をすることができる。
上記ストレージ装置において、記憶位置情報を、所定の数のブロックの集合を特定する情報としてもよい(請求項)。
このようにすれば、複数のブロックをまとめてひとつの部分領域として管理することができるので、データの書き込み処理を高速に行うことができる。
上記ストレージ装置において、他のストレージ装置からキャッシュメモリに書き込まれたデータの各々について、当該データを書き込んだ他のストレージ装置を特定する情報と、当該データが書き込まれるべき記憶媒体を特定する情報と、この記憶媒体の当該データが書き込まれるべき位置を示す記憶位置情報とを対応付けて記憶する外部受け入れ管理テーブルを備え、外部書き込み部は、その動作の結果を反映するようにデータの書き込み先の他のストレージ装置の外部受け入れ管理テーブルを更新し、データ書き戻し部は、その動作の結果を反映するように外部受け入れ管理テーブルを更新するようにしてもよい(請求項)。
このようにすれば、他のストレージ装置から自装置のキャッシュメモリに書き込まれたデータについて、その書き込み元に関する情報を正確に把握することができる。そのため、他のストレージ装置がそれらのデータについて再度ホストコンピュータから書き込み要求を受けた場合に、適切な書き込み処理を行うことができる。
本発明の、ストレージ装置の制御方法は、キャッシュメモリの使用状況を示す使用状況情報を通信可能に接続された他のストレージ装置から取得するキャッシュメモリ使用状況取得工程と、使用状況情報を取得元の他のストレージ装置を識別する情報と対応付けてキャッシュメモリ管理テーブルに記憶するキャッシュメモリ使用状況記憶工程と、ホストコンピュータからデータを受信したときに自装置のキャッシュメモリの空き領域がない場合にキャッシュメモリ管理テーブルを参照して空き領域のある他のストレージ装置が存在するか否かを判定し、存在する場合には当該他のストレージ装置のキャッシュメモリにデータを格納する外部書き込み工程と、キャッシュメモリに他のストレージ装置により書き込まれたデータを当該データの書き込み元の他のストレージ装置のキャッシュメモリに書き込むデータ書き戻し工程と、を備えている(請求項6〜10)。
上記ストレージ装置の制御方法において、記憶媒体の記憶領域中の位置を示す記憶位置情報と、その位置に書き込まれるべきデータが他のストレージ装置のキャッシュメモリに書き込まれたものであるか否かを示す情報を対応付けて記憶した外部書き込み管理テーブル予め記憶装置に記憶しておき、外部書き込み工程の実行後に、その実行結果を反映するように外部書き込み管理テーブルを更新し、データ書き戻し工程の実行後に、その実行結果を反映するようにデータの書き戻し先の他のストレージ装置の外部書き込み管理テーブルを更新するようにしてもよい。
上記ストレージ装置の制御方法によれば、ホストからの書き込み負荷が高い場合でも、記憶媒体への書き込みを待たずに他のストレージ装置のキャッシュメモリにデータを書き込んだ時点でホストコンピュータへの応答を行うことができる。すなわち、ホストコンピュータから見た応答時間を短縮することができる。
また、任意の他のストレージ装置のキャッシュメモリを利用することができるから、ホストからの書き込み負荷が高い場合でも十分な記憶容量のキャッシュメモリを各ストレージ装置に備えておく必要がない。すなわち、システム全体としてキャッシュメモリを効率的に利用することができ、コストダウンを図ることができる。
上記ストレージ装置の制御方法において、使用状況情報は、キャッシュメモリの使用中の記憶領域の大きさと未使用の記憶領域の大きさを示すものとしてもよい(請求項)。
このようにすれば、外部書き込み工程では、他のストレージ装置のキャッシュメモリの空き容量を正確に知ることができるから、受信したデータを書き込むのに十分な量の未使用の記憶領域を持つ他のストレージ装置を特定することができる。
このようにすれば、記憶媒体の記憶領域の各部分領域について、そこに記憶されるべきデータが他のストレージ装置のキャッシュメモリに格納されているか否かを常に認識することができる。そのため、そこに格納されるべきデータが他のストレージ装置のキャッシュメモリに格納されている部分領域に対して、再度書き込み要求があった場合に、データの矛盾を生じさせることなく書き込み処理を行うことができる。
上記ストレージ装置の制御方法において、記憶位置情報は、記憶媒体におけるブロックを特定する情報としてもよい(請求項)。
このようにすれば、ホストコンピュータがデータの読み書きをする際の最小単位であるブロックを基準に外部書き込み管理テーブルを構成しているので、ホストコンピュータの仕様に適合した書き込み処理をすることができる。
上記ストレージ装置の制御方法において、記憶位置情報は、所定の数のブロックの集合を特定する情報としてもよい(請求項)。
このようにすれば、複数のブロックをまとめてひとつの部分領域として管理することができるので、データの書き込み処理を高速に行うことができる。
上記ストレージ装置の制御方法において、他のストレージ装置からキャッシュメモリに書き込まれたデータの各々について、当該データを書き込んだ他のストレージ装置を特定する情報と、当該データが書き込まれるべき記憶媒体を特定する情報と、この記憶媒体の当該データが書き込まれるべき位置を示す記憶位置情報とを対応付けて記憶する外部受け入れ管理テーブルを予め記憶装置に記憶しておき、外部書き込み工程の実行後に、その実行結果を反映するようにデータの書き込み先の他のストレージ装置の外部受け入れ管理テーブルを更新し、データ書き戻し工程の実行後に、その動作の結果を反映するように外部受け入れ管理テーブルを更新するようにしてもよい(請求項10)。
このようにすれば、他のストレージ装置から自装置のキャッシュメモリに書き込まれたデータについて、その書き込み元に関する情報を正確に把握することができる。そのため、他のストレージ装置がそれらのデータについて再度ホストコンピュータから書き込み要求を受けた場合に、適切な書き込み処理を行うことができる。
本発明によれば、ホストからの書き込み負荷が高い場合でも、記憶媒体への書き込みを待たずに他のホスト装置のキャッシュメモリにデータを書き込んだ時点でホストコンピュータへの応答を行うことができる。すなわち、ホストコンピュータから見た応答時間を短縮することができる。
また、任意の他のストレージ装置のキャッシュメモリを利用することができるから、ホストからの書き込み負荷が高い場合でも十分な記憶容量のキャッシュメモリを各ストレージ装置に備えておく必要がない。すなわち、ストレージ装置の台数が多い場合でもシステム全体としてキャッシュメモリを効率的に利用することができ、コストダウンを図ることができる。
次に、本発明の一実施形態であるストレージシステム1の構成について図面を参照して詳細に説明する。
図1を参照すると、ストレージ装置200は、ホストコンピュータ100との間のデータおよびコマンドの転送を制御するホスト制御部210、転送されるデータを一時的に記憶するキャッシュメモリ部220、ストレージ装置200の各部の間の通信および他のストレージ装置との間の通信を制御するスイッチ部230、物理ディスク部へのデータの書き込みおよびデータの読み出しを制御するディスク制御部240、データを記憶する物理ディスク部250から構成される。
ホストコンピュータ100は、サーバコンピュータ、パーソナルコンピュータ等の任意のコンピュータシステムで、ストレージ装置200に対してデータの書き込みまたは読み出しの要求を送信する。この要求には、対象となるデータと、そのデータを書き込みまたは読み出す対象となる論理ディスクと、その論理ディスクにおいてデータを書き込みまたは読み出す位置(アドレス)の指定が含まれている。要求が書き込みの場合、ストレージ装置100は、応答時間を短縮するために、キャッシュメモリにデータ書き込んだ段階で応答を返し、その後データをキャッシュメモリから物理ディスクに転送する。
ストレージ装置200は、単独でもストレージ装置として機能するが、スイッチ部230の間をケーブル等で接続することにより複数のストレージ装置200を接続しストレージシステム1を構成している。図1においては2台のストレージ装置200が接続されているが、3台以上のストレージ装置200も接続可能である。また、図1では、2台のストレージ装置のスイッチ部230が直接接続されているが、ストレージ装置200の外部に独立したスイッチ装置を設け、各ストレージ装置をそれに接続するようにしてもよい。
各ストレージ装置200は、例えばSAN(Storage Area Network)により接続されたホストコンピュータ100からの要求に従って、物理ディスク部250へのデータの書き込みおよび物理ディスク部250からのデータの読み出しを行う。
各ストレージ装置200を「ユニット」と呼ぶことにし、区別する必要がある場合は「ユニット1」「ユニット2」のように番号を付すことにし、また、着目しているユニットを「自ユニット」、着目しているユニット以外のユニットを「外部ユニット」と呼ぶことにする。
図2にストレージ装置200の詳細な構成図を示す。
ホスト制御部210は、ホストコマンド制御部211、データ転送制御部212、内部通信制御部213から構成されている。
ホストコマンド制御部211(外部書き込み部の一例)は、ホストコンピュータ100から受信したコマンドを解釈し、スイッチ部230を介してキャッシュメモリ部220にデータを転送する。また、ストレージ装置200においては、このような一般的な機能に加えて、次の各機能を備えている。
(1)ホストコンピュータ100から書き込み要求を受けた時に、外部書き込み管理テーブル223を参照し、データの格納先として指定されたブロックについて、そのブロックに書き込まれるデータを外部ユニットのキャッシュメモリに対する書き込みを実施したブロックであるかどうかを判定する。
(2)ホストコンピュータ100から書き込み要求を受けた時に、自ユニットのキャッシュメモリ221に未使用ページがあるかどうかを判定する。自ユニットのキャッシュメモリ221に未使用ページがない場合には、さらに、キャッシュメモリ管理テーブル222を参照して、他ユニットのキャッシュメモリ221に未使用ページがあるかどうかを判定する。
(3)自ユニットのキャッシュメモリ221と他ユニットのキャッシュメモリ221との間でデータのコピーを行ったときに、外部書き込み管理テーブル223と外部受け入れ管理テーブル224を更新する。
(4)ホストコンピュータ100から書き込み要求を受けたときに、自ユニットのキャッシュメモリに未使用ページがなく、かつ、他ユニットのキャッシュメモリ221に未使用ページがある場合には、他ユニットのキャッシュメモリ221にホストコンピュータ100から受信したデータを書き込み、ホストコンピュータ100に応答を返す。
データ転送制御部212は、ホストコンピュータ100とホスト制御部210の間、ホスト制御部210とキャッシュメモリ部221の間のデータ転送を実行する。
内部通信制御部213は、ホスト制御部210とキャッシュメモリ部221の間、ホスト制御部210とディスク制御部240との間、スイッチ部230を介して自ユニットと他ユニットの間のコマンドの送受信を制御する。
キャッシュメモリ部220は、キャッシュメモリ221、キャッシュメモリ管理テーブル222、外部書き込み管理テーブル223、外部受け入れ管理テーブル224から構成されている。このほか、図示はしていないが、キャッシュメモリに格納されているデータとそのデータを格納する物理ディスクのアドレスの対応関係の管理等を行うメモリ管理機能を備えている。
キャッシュメモリ221は、例えば半導体メモリにより構成され、ホストコンピュータ100から受信した書き込みデータを物理ディス251に書き込むまでの間一時的に記憶する。本実施形態においては、自ユニットに接続されたホストコンピュータ100から受信したデータだけでなく、外部ユニットから受信した書き込みデータを記憶する場合もある。
キャッシュメモリ管理テーブル222は、ストレージシステム1を構成する全ユニットのキャッシュメモリ221の使用状況を管理するテーブルあり、全てのユニットのキャッシュメモリ221の使用状況を未使用キャッシュページ数と使用中キャッシュページ数で管理している。このテーブルは各ユニットのキャッシュ間コピー制御部244が他のユニットからキャッシュメモリ221の使用状況を定期的に取得することにより、常に最新の状態を示すようにしておく。
図3および図4にキャッシュメモリ管理テーブル222の一例を示す。この例では、キャッシュメモリ221の総ページ数は10000ページとしてある。
図3は、ホストコンピュータ100からの書き込み要求がない状態の例を示しており、ユニット1、ユニット2共に使用中キャッシュページ数がゼロである。図4は、ホストコンピュータからの書き込み負荷によりユニット1のキャッシュページが全て使用されており、ユニット2のキャッシュページは5000ページが使用中であるがまだ5000ページの未使用のページが存在する状態を示している。
外部書き込み管理テーブル223は、自ユニットの論理ディスク251の各ブロックについて、そのブロックに書き込まれるデータが他ユニットのキャッシュメモリ221に書き込まれている(以下、このようなブロックを「外部書き込みブロック」という)か否かを示すテーブルである。
図5に外部書き込み管理テーブル223の一例を示す。図中の数値は16進数で詳記している。
この例では、ユニット内の論理ディスク252毎にアドレスブロックに対応したビットマップとなっており、そのブロックが外部書き込みブロックである場合に、対応するビットをセット(値を1と)し、そうでない場合はリセット(値を0と)する。図では、セットされたビットを「○」、リセットされたビットを「×」で示している。また、ユニット内の各論理ディスク252は、一意に識別できるように付された論理ディスク番号により区別している。
例えば、符号223aを付した欄は、論理ディスク番号「0000」を付された論理ディスク252のアドレスブロック「FFFF」に書き込むべきデータは外部ユニットのキャッシュメモリ221に書き込まれてはいないことを、符号223bを付した欄は、論理ディスク番号「0004」を付された論理ディスク252のアドレスブロック「FFFF」に書き込むべきデータは外部ユニットのキャッシュメモリ221に書き込まれていることをそれぞれ示している。
ホストコンピュータ100からの書き込み要求時に、ホストコマンド制御部211がこのテーブルを参照することにより、その要求の対象となるブロックのデータが外部ユニットに書き込まれているのかどうかを判断することができる。
なお、この例では外部書き込み管理テーブル223をブロック単位で管理しているが、このブロックはホストコンピュータ100からの書き込み最小単位のブロックでも良いし、あるいはあるまとまった単位のブロック(たとえば16ブロックや64ブロック)でも良い。
外部受け入れ管理テーブル224は、外部ユニットからの要求により自ユニットのキャッシュメモリ221に書き込んだデータを管理するためのテーブルである。
図6に外部受け入れ管理テーブル224の一例を示す。
外部ユニットから書き込まれたデータに、書き込み元のユニットを識別する情報である書き込み元のユニット番号、書き込み元のユニットがデータを格納すべきものとしてホストコンピュータ100から指定された論理ディスク252を識別する論理ディスク番号、その論理ディスク252のおける当該データの格納ブロックを識別する書き込み開始ブロックと書き込み終了ブロックが格納されている。
例えば、図の1行目(符号224a)は、書き込み元ユニット番号が「00」である外部ユニットの論理ディス番号が「0000」である論理ディスク252の「0000」ブロックから「0001」ブロックに書き込むデータが、自ユニットのキャッシュメモリ221に書き込まれていることを示している。
スイッチ部230は、ストレージ装置200の各部間、自ユニットと他ユニットの間の通信経路を送受信されるデータのヘッダに基づいて決定する。
ディスク制御部240は、ディスクコマンド制御部241、データ転送制御部242、内部通信制御部243、キャッシュ間コピー制御部244から構成されている。
ディスクコマンド制御部241は、ホスト制御部210がホストコンピュータ100から受信し、スイッチ部230を介してキャッシュメモリに転送したデータを物理ディスクに書き込むために、ディスクコマンドを物理ディスク252に対して発行する。
データ転送制御部242は、ディスク制御部240とキャッシュメモリ部221の間、ディスク制御部240と物理ディスク部250との間のデータ転送を実行する。
内部通信制御部243は、ディスク制御部240とキャッシュメモリ部221の間、ホスト制御部210とディスク制御部240との間、スイッチ部230を介して自ユニットと他ユニットの間のコマンドの送受信を制御する。
キャッシュ間コピー制御部244(データ書き戻し部およびキャッシュメモリ使用状況取得部の一例)は、自ユニットのキャッシュメモリ221と他ユニットのキャッシュメモリ221との間のデータコピーを制御する。
また、スイッチ部230経由で接続されている全ての外部ユニットに対して定期的にキャッシュメモリ221の使用状況を取得するコマンドを発行し、接続されている全ユニットのキャッシュメモリ使用状況を外部ユニットの番号と対応付けてキャッシュメモリ管理テーブル222に格納する。
物理ディスク部250は、複数の物理ディスク251により構成されている。
物理ディスク251は、磁気ディスク(記憶媒体の一例)と磁気ディスクに対して情報の読み書きを行う機構から構成されるハードディスク装置である。物理ディスク251は、同じ量のデータの書き込みに要する時間がキャッシュメモリ221と比べた場合大幅に長くなる。物理ディスク251とディスク制御部240は、例えばシリアルATA(AT Attachment)やiSCSI(Small Computer System Interface)のインターフェースにより接続されている。
複数の物理ディスク251を、例えばRAID(Redundant Array of Independent Disks)として構成することにより、ホストコンピュータ100からはひとつの記憶領域として認識される論理ディスク252が構成されている。
物理ディスク251と論理ディスク252の記憶領域は、所定のビット数からなるブロックを単位として管理され、各ブロックにはブロックアドレスが付されている。
なお、物理ディスクとしてはDVD−R(Digital Versatile Disk-Recordable)、磁気テープ等の磁気ディスク以外の記憶媒体にデータの書き込みを行うことができるドライブ装置を用いてもよい。
上記のホスト制御部210とディスク制御部240は、マイクロプロセッサ等により構成されるコンピュータを内蔵しており、これらのコンピュータがコンピュータプログラムを実行することにより上記の各機能を実現する。
次に、ストレージシステム200の動作について説明する。
図7ないし図9は、ホストコンピュータ100から書き込み要求を受けた時のストレージ装置200の動作フローを示す図である。
ホストコンピュータ100から書き込み要求を受けたホストコマンド制御部211は、外部ユニットへの書き込みブロック管理テーブル223を参照し、要求の対象となっている物理ディスクのブロック(以下「対象ブロック」という)が外部書き込みブロックかどうかを調査する(図7のS101)。具体的には、外部書き込み管理テーブル223の対象ブロックに対応するビットを読み出し、そのビットが1(図5では「○」)であれば対象ブロックは外部書き込みブロックであると、そのビットが0(図5では「×」)であれば対象ブロックは外部書き込みブロックではないと判定する。
<対象ブロックが外部書き込みブロックでなく、自ユニット、外部ユニット共に未使用ページがない場合>
対象ブロックが外部書き込み実施ブロックでない場合、ホスト制御部210は、自ユニット内のキャッシュメモリ221に空き領域があるかどうか調査する(S102の判定がノー、S102)。具体的には、キャッシュメモリ管理テーブル222を参照して、自ユニットの未使用キャッシュページ数が0でない場合には空き領域があると、自ユニットの未使用キャッシュページ数が0の場合には空き領域がないと、それぞれ判断する。
自ユニットのキャッシュメモリ221に未使用のキャッシュページがない場合(図4の状態)は、ホスト制御部210は、キャッシュ管理テーブル222を参照して外部ユニットのキャッシュメモリ221内に未使用のキャッシュページがあるかどうかをS101と同様にして調査する(S102の判定がノー、S106)。
外部ユニットのキャッシュメモリ221内に未使用のキャッシュページがない場合は、ディスク制御部240は、自ユニットのキャッシュメモリ221上の物理ディスク251に未書き込みのデータを物理ディスク251に書き込んで未使用のキャッシュページを作成し(S106の判定がノー、S107)、ホスト制御部210は、ホストコンピュータ100から受信したデータをキャッシュメモリ221に格納する(S103)。
格納が完了したらホスト制御部210がホストコンピュータ100に書き込みが完了した旨の応答を送信する(S104)。その後、ディスク制御部240がキャッシュメモリ222上のデータを物理ディスク251の対象ブロックに書き込む(S105)。
<対象ブロックが外部ユニット書き込みブロックでなく、自ユニットに未使用ページがある場合>
自ユニット内のキャッシュメモリ221に空き領域がある(S102の判定がイエスの)場合は、外部ユニットのキャッシュメモリ221に未使用ページがあるかどうかの調査は行わずに、上記のS103ないしS105の動作を行う。
図8は、書き込み対象ブロックが外部ユニットへの書き込みを実施したブロックである(図7のS101の判定がイエスの)場合の動作フローである。
<対象ブロックが外部ユニット書き込みブロックで、自ユニットに未使用ページがある場合>
ホスト制御部210は、図7のS102と同様の手順で自ユニットのキャッシュメモリ221に未使用ページがあるかどうかを調べる(S111)。
自ユニット内のキャッシュメモリに未使用ページがある場合、ホスト制御部210は、対象ブロックの書き込み先の外部ユニットに対して対象ブロックを格納するためのキャッシュページの確保を内部通信制御部213を介して要求するとともに、自ユニット内のキャッシュメモリ221に未使用キャッシュページを確保し、外部ユニットに格納されているデータをキャッシュ間コピー制御部244により自ユニット内に確保した未使用キャッシュページにコピーする(S111の判定がイエス、S112)。
ホスト制御部210は、コピーが完了したら外部ユニットのコピー元キャッシュページを未使用状態に変更し(S113)、外部ユニット内の外部受け入れブロック管理テーブル224から対象ブロックに関するレコードを削除し(S114)、自ユニット内の外部ユニットへの書き込みブロック管理テーブル223の対象ブロックのビットをクリア(図5の例では、「○」を「×」に変更)する(S115)。
その後、ホスト制御部210は、ホストコンピュータ100から受信したデータをS112でコピー先となった自ユニット内のキャッシュページに格納し(S116)、ホストコンピュータ100に書き込みが完了した旨の応答を送信する(S117)。その後、S112でキャッシュメモリ221に格納されたデータをディスク制御部240が物理ディスク251の対象ブロックに書き込む(S118)。
<対象ブロックが外部ユニット書き込みブロックで、自ユニットに未使用ページがない場合>
また、自ユニット内のキャッシュメモリ221に未使用ページがない場合、ホスト制御部210は、書き込み先の外部ユニットに対して対象ブロック用のキャッシュページの確保を内部通信制御部213を介して要求し、ホストから受信したデータを確保した外部ユニットのキャッシュページに格納する(S111の判定がノー、S119)。
その後、ホスト制御部210は、データを格納した外部ユニット内の外部受け入れブロック管理テーブル224に対象データのレコードを追加して更新し(S120)、確保していたキャッシュページを開放してホストコンピュータに応答を送信する(S121)。
このようにすることにより、外部ユニットに一時的にデータが格納された場合においても、データの一貫性を保持することができる。
<対象ブロックが外部ユニット書き込みブロックでなく、外部ユニットに未使用ページがある場合>
図9は、自ユニット内に未使用のキャッシュページがなく、全ユニットのキャッシュメモリ使用状況の調査結果、外部ユニットのキャッシュメモリに未使用のキャッシュページが存在する(図7のS106の判定がイエスの)場合の動作フローである。また、図11はこのときのデータとコマンドの流れを説明する図である。
ホストコンピュータ100から書き込み要求を受けた(図11のA1)ホスト制御部210は、未使用のキャッシュページがある外部ユニットに対してキャッシュページの確保を内部通信制御部213により要求し、ホストから受信したデータをそのキャッシュページに格納する(S131、図11のA2)。その後、ホスト制御部210は、データを格納した外部ユニット内の外部受け入れ管理テーブル224に対象ブロックに関するレコードを登録し(S132)、自ユニット内の外部書き込み管理テーブル223に対象ブロックのビットをセットし(S133)、確保していたキャッシュページを開放してホストに応答を送信する(S134、図11のA3)。
本実施形態ではホスト制御部210やディスク制御部240が外部ユニットのキャッシュメモリ221への書き込みを実施しているが、キャッシュメモリ部220内に独立したキャッシュメモリ間のデータコピー制御部を持つ構成としても良い。
図10は、外部ユニットからキャッシュメモリにデータを書き込まれたユニットにおいて、書き込まれたデータを元のユニットのキャッシュメモリに戻すためのキャッシュデータ書き戻し処理の動作フローを示したものである。
ディスク制御部240は、外部受け入れ管理テーブル224を定期的に調査し、外部ユニットから書き込まれたキャッシュページが存在するかどうかを判定する(S142)。この判定は、外部受け入れ管理テーブルにひとつ以上のレコードがある場合に外部ユニットから書き込まれたキャッシュページがあると判定し、そうでない場合に外部ユニットから書き込まれたキャッシュページはないと判定する。
外部ユニットから書き込まれたキャッシュページがある場合、ディスク制御部240は、データの書き込み元の外部ユニットに未使用キャッシュページがあるかどうかを判定する(S142の判定がイエス、S143)。この判定は、キャッシュメモリ管理テーブル222を参照し、外部受け入れ管理テーブル224から取得した書き込み元ユニット番号に対応する未使用キャッシュページ数が1以上の場合に未使用キャッシュページがあると判定し、そうでない場合は未使用キャッシュページがないと判定する。
書き込み元ユニットのキャッシュメモリに未使用のキャッシュページが存在する場合(S143の判定がイエスの場合)は、ディスク制御部240は、当該キャッシュページおよび書き込み元ユニットのキャッシュページを確保する。次に、ディスク制御部240が当該キャッシュページのデータを書き込み元ユニットのキャッシュページにコピーする(S144、図11のA4)。
ディスク制御部240は、コピーが完了したらコピー元のキャッシュページを未使用状態に変更し(S145)、コピー元およびコピー先のキャッシュページを開放し、自ユニットの外部受け入れ管理テーブル224からコピーを行ったブロックに関するレコードを削除する(S146)。
S143ないしS146の処理は、S142の時点で外部受け入れ管理テーブル224に存在したすべてのレコードについて繰り返し行う。
このようにすることにより、一時的に外部ユニットのキャッシュメモリに格納されたデータは元のユニットのキャッシュメモリに書き戻され、ディスク制御部240により物理ディスク250に書き込まれる(図11のA5)。
ストレージ装置200の第一の効果は、スイッチ部230経由で接続されている外部ストレージ装置200のキャッシュメモリ221を一時的に利用することにより、ホストからの書き込み負荷が高い場合でもホストへの応答を高速に行うことができるということである。
ストレージ装置200の第二の効果は、スイッチ経由で接続されている別のストレージ装置のキャッシュメモリを有効に利用することによりキャッシュメモリの利用効率を向上し、コストダウンを図ることができるということである。
本発明の一実施形態であるストレージシステムの全体構成を示す図である。 図1のストレージ装置の詳細構成を示す図である。 キャッシュメモリ管理テーブルの一例を示す図である。 キャッシュメモリ管理テーブルの一例を示す図である。 外部書き込み管理テーブルの一例を示す図である。 外部受け入れ管理テーブルの一例を示す図である。 ストレージ装置のデータ書き込み動作を示す図である。 ストレージ装置のデータ書き込み動作を示す図である。 ストレージ装置のデータ書き込み動作を示す図である。 ストレージ装置のキャッシュデータ書き戻し動作を示す図である。 ストレージ装置におけるデータとコマンドの流れを説明する図である。 従来のストレージ装置の構成を示す図である。 従来のストレージ装置のデータ書き込み動作を示す図である。
符号の説明
1 ストレージシステム
100 ホストコンピュータ
200 ストレージ装置
210 ホスト制御部
211 ホストコマンド制御部
212 データ転送制御部
213 内部通信制御部
220 キャッシュメモリ部
221 キャッシュメモリ
222 キャッシュメモリ管理テーブル
223 外部書き込み管理テーブル
224 外部受け入れ管理テーブル
230 スイッチ部
240 ディスク制御部
241 ディスクコマンド制御部
242 データ転送制御部
243 内部通信制御部
244 キャッシュ間コピー制御部
250 物理ディスク部

Claims (10)

  1. ホストコンピュータから受信したデータをキャッシュメモリに書き込んだ後に記憶媒体に書き込むストレージ装置において、
    前記キャッシュメモリの使用状況を示す使用状況情報を通信可能に接続された他のストレージ装置から取得するキャッシュメモリ使用状況取得部と、
    前記使用状況情報を取得元の前記他のストレージ装置を識別する情報と対応付けて記憶するキャッシュメモリ管理テーブルと、
    前記ホストコンピュータから前記データを受信したときに自装置の前記キャッシュメモリの空き領域がない場合に前記キャッシュメモリ管理テーブルを参照して前記空き領域のある前記他のストレージ装置が存在するか否かを判定し、存在する場合には前記他のストレージ装置の前記キャッシュメモリに前記データを格納する外部書き込み部と、
    前記キャッシュメモリに前記他のストレージ装置により書き込まれたデータを当該データの書き込み元の前記他のストレージ装置の前記キャッシュメモリに書き込むデータ書き戻し部とを備え、
    前記記憶媒体の記憶領域中の位置を示す記憶位置情報と、その位置に書き込まれるべき前記データが前記他のストレージ装置の前記キャッシュメモリに書き込まれたものであるか否かを示す情報とを対応付けて記憶した外部書き込み管理テーブルを有し、
    前記外部書き込み部は、前記データが前記キャッシュメモリに格納された場合に前記外部書き込み管理テーブルを更新する機能を有し、
    前記データ書き戻し部は、前記データが前記キャッシュメモリに書き込まれた場合に前記他のストレージ装置の前記外部書き込み管理テーブルを更新する機能を備えたことを特徴としたストレージ装置。
  2. 前記使用状況情報は、前記キャッシュメモリの使用中の記憶領域の大きさと未使用の記憶領域の大きさを示すものであることを特徴とした請求項1に記載のストレージ装置。
  3. 前記記憶位置情報は、前記記憶媒体におけるブロックを特定する情報であることを特徴とした請求項1に記載のストレージ装置。
  4. 前記記憶位置情報は、所定の数のブロックの集合を特定する情報であることを特徴とする請求項1に記載のストレージ装置。
  5. 前記他のストレージ装置から前記キャッシュメモリに書き込まれたデータの各々について、当該データを書き込んだ前記他のストレージ装置を特定する情報と、当該データが書き込まれるべき前記記憶媒体を特定する情報と、この記憶媒体の当該データが書き込まれるべき位置を示す前記記憶位置情報とを対応付けて記憶する外部受け入れ管理テーブルを備え、
    前記外部書き込み部は、その動作の結果を反映するようにデータの書き込み先の前記他のストレージ装置の前記外部受け入れ管理テーブルを更新し、
    前記データ書き戻し部は、その動作の結果を反映するように前記外部受け入れ管理テーブルを更新することを特徴とした請求項1又は4に記載のストレージ装置。
  6. ホストコンピュータから受信したデータをキャッシュメモリに書き込んだ後に記憶媒体に書き込むストレージ装置の制御方法において、
    前記キャッシュメモリの使用状況を示す使用状況情報を通信可能に接続された他のストレージ装置から取得するキャッシュメモリ使用状況取得工程と、
    前記使用状況情報を取得元の前記他のストレージ装置を識別する情報と対応付けてキャッシュメモリ管理テーブルに記憶するキャッシュメモリ使用状況記憶工程と、
    前記ホストコンピュータから前記データを受信したときに自装置の前記キャッシュメモリの空き領域がない場合に前記キャッシュメモリ管理テーブルを参照して前記空き領域のある前記他のストレージ装置が存在するか否かを判定し、存在する場合には当該他のストレージ装置の前記キャッシュメモリに前記データを格納する外部書き込み工程と、
    前記キャッシュメモリに前記他のストレージ装置により書き込まれたデータを当該データの書き込み元の前記他のストレージ装置の前記キャッシュメモリに書き込むデータ書き戻し工程とを備え、
    前記記憶媒体の記憶領域中の位置を示す記憶位置情報と、その位置に書き込まれるべき前記データが前記他のストレージ装置の前記キャッシュメモリに書き込まれたものであるか否かを示す情報を対応付けて記憶した外部書き込み管理テーブルを予め記憶装置に記憶しておき、
    前記外部書き込み工程の実行後に、その実行結果を反映するように前記外部書き込み管理テーブルを更新し、
    前記データ書き戻し工程の実行後に、その実行結果を反映するようにデータの書き戻し先の前記他のストレージ装置の前記外部書き込み管理テーブルを更新することを特徴としたストレージ装置の制御方法。
  7. 前記使用状況情報は、前記キャッシュメモリの使用中の記憶領域の大きさと未使用の記憶領域の大きさを示すものであることを特徴とした請求項6に記載のストレージ装置の制御方法。
  8. 前記記憶位置情報は、前記記憶媒体におけるブロックを特定する情報であることを特徴とした請求項7に記載のストレージ装置の制御方法。
  9. 前記記憶位置情報は、所定の数のブロックの集合を特定する情報であることを特徴とする請求項7に記載のストレージ装置の制御方法。
  10. 前記他のストレージ装置から前記キャッシュメモリに書き込まれたデータの各々について、当該データを書き込んだ前記他のストレージ装置を特定する情報と、当該データが書き込まれるべき前記記憶媒体を特定する情報と、この記憶媒体の当該データが書き込まれるべき位置を示す前記記憶位置情報とを対応付けて記憶する外部受け入れ管理テーブルを予め記憶装置に記憶しておき、
    前記外部書き込み工程の実行後に、その実行結果を反映するようにデータの書き込み先の前記他のストレージ装置の前記外部受け入れ管理テーブルを更新し、
    前記データ書き戻し工程の実行後に、その動作の結果を反映するように前記外部受け入れ管理テーブルを更新することを特徴とした請求項6乃至請求項9のいずれかひとつに記載のストレージ装置の制御方法。
JP2006242024A 2006-09-06 2006-09-06 ストレージ装置、ストレージシステム、ストレージ装置の制御方法 Expired - Fee Related JP4245021B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2006242024A JP4245021B2 (ja) 2006-09-06 2006-09-06 ストレージ装置、ストレージシステム、ストレージ装置の制御方法
US11/896,061 US20080059706A1 (en) 2006-09-06 2007-08-29 Storage apparatus, storage system and control method for storage apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006242024A JP4245021B2 (ja) 2006-09-06 2006-09-06 ストレージ装置、ストレージシステム、ストレージ装置の制御方法

Publications (2)

Publication Number Publication Date
JP2008065559A JP2008065559A (ja) 2008-03-21
JP4245021B2 true JP4245021B2 (ja) 2009-03-25

Family

ID=39153395

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006242024A Expired - Fee Related JP4245021B2 (ja) 2006-09-06 2006-09-06 ストレージ装置、ストレージシステム、ストレージ装置の制御方法

Country Status (2)

Country Link
US (1) US20080059706A1 (ja)
JP (1) JP4245021B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10423784B2 (en) * 2014-12-01 2019-09-24 Nec Corporation Dummy information insertion device, dummy information insertion method, and storage medium
US20170161193A1 (en) * 2015-12-02 2017-06-08 International Business Machines Corporation Hybrid cache
US10785301B2 (en) * 2017-08-03 2020-09-22 Toshiba Memory Corporation NVM express over fabrics
US11726704B2 (en) * 2020-03-31 2023-08-15 Kioxia Corporation Buffer optimization for solid-state drives

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4036992B2 (ja) * 1998-12-17 2008-01-23 富士通株式会社 キャッシュモジュール間でデータを動的に管理するキャッシュ制御装置および方法
US7870342B2 (en) * 2003-07-24 2011-01-11 Marvell International Ltd. Line cache controller with lookahead
JP4402997B2 (ja) * 2004-03-26 2010-01-20 株式会社日立製作所 ストレージ装置

Also Published As

Publication number Publication date
JP2008065559A (ja) 2008-03-21
US20080059706A1 (en) 2008-03-06

Similar Documents

Publication Publication Date Title
CN101571815B (zh) 信息系统及i/o处理方法
JP4890160B2 (ja) ストレージシステム及びバックアップ/リカバリ方法
JP4681249B2 (ja) ディスクアレイ装置
JP5420814B2 (ja) バッファメモリに貯蔵されたデータを無効化させるスキームを有する貯蔵システム及びそれを含んだコンピューティングシステム
US7461201B2 (en) Storage control method and system for performing backup and/or restoration
JP6097845B2 (ja) 不揮発性キャッシュメモリにデータをバックアップするストレージシステム
JP5458568B2 (ja) 不揮発性記憶装置、情報記録システム、及び情報記録方法
JP4464378B2 (ja) 同一データを纏める事で格納領域を節約する計算機システム、ストレージシステム及びそれらの制御方法
JP2008015623A (ja) 複数種類の記憶デバイスを備えたストレージシステムの制御装置
JP2008015769A (ja) ストレージシステム及び書き込み分散方法
WO2014155525A1 (ja) ストレージシステム及び制御方法
JP2008033788A (ja) 不揮発性記憶装置、データ記憶システム、およびデータ記憶方法
JP4993020B2 (ja) 仮想テープ装置、制御方法、制御部
JP2008225616A (ja) ストレージシステム、リモートコピーシステム、及びデータ復元方法
JP2019074897A (ja) ストレージ制御装置、及びプログラム
JP5152006B2 (ja) 記憶装置、記憶装置のデータ転送方法
JP2005301499A (ja) ディスクアレイ装置及びディスクアレイ装置の制御方法
JP2008159013A (ja) 半導体記憶装置
JP2015052844A (ja) コピー制御装置,コピー制御方法及びコピー制御プログラム
CN113360082A (zh) 存储系统及其控制方法
JP6561765B2 (ja) ストレージ制御装置およびストレージ制御プログラム
JP4245021B2 (ja) ストレージ装置、ストレージシステム、ストレージ装置の制御方法
JP2006011811A (ja) 記憶制御システム及び記憶制御方法
KR101369408B1 (ko) 스토리지 시스템 및 이의 데이터 전송 방법
JP2012123551A (ja) 情報記憶装置

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080716

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080722

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080919

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20081007

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20081204

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

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

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20120116

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20130116

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20130116

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees