(57)【要約】  一実施例によると、コンピュータストレージシステムは、１以上のキャッシュサーバに接続される１以上のリダンダントストレージサーバを有する。リダンダントストレージサーバは、各ディスクサーバに接続される。ディスクサーバは、データを格納するよう動作可能な少なくとも１つの大容量ストレージディスクを有する。データは、各論理ブロックが関連付けされた論理ブロック識別子を有する論理ブロックに従ってセグメント化される。リダンダントストレージサーバは、ディスクサーバの少なくとも２つの各論理ブロックを複製するよう動作可能である。キャッシュサーバは、キャッシュメモリを有し、各リダンダントストレージサーバに接続される。各キャッシュサーバは、関連付けされた論理ブロック識別子に従って複製された論理ブロックにアクセスし、キャッシュメモリにキャッシュするよう動作可能である。
2010515196.tif 000002
【特許請求の範囲】
【請求項１】
各リダンダントストレージサーバが複数のディスクサーバのそれぞれに接続される複数のリダンダントストレージサーバと、
各リダンダントストレージサーバに接続され、キャッシュメモリを有する少なくとも１つのキャッシュサーバと、
を有するコンピュータにより実現されるストレージシステムであって、
各ディスクサーバは、各論理ブロックが関連付けされた論理ブロック識別子を有する複数の論理ブロックに従ってセグメント化されたデータを格納するよう動作可能な少なくとも１つの大容量ストレージディスクを有し、
前記複数のリダンダントストレージサーバは、前記複数のディスクサーバの少なくとも２つの各論理ブロックを複製するよう動作可能であり、
前記少なくとも１つのキャッシュサーバは、前記関連付けされた複数の論理ブロック識別子に従って前記複製された論理ブロックにアクセスし、前記関連付けされた複数の論理ブロック識別子に従って前記複製された論理ブロックの一部を前記キャッシュメモリにキャッシュするシステム。
【請求項２】
前記複数のリダンダントストレージサーバは、他のリダンダントストレージサーバが故障した場合、前記他のリダンダントストレージサーバの代わりに機能するよう動作可能なスペアのリダンダントストレージサーバを含む、請求項１記載のシステム。
【請求項３】
前記複数のリダンダントストレージサーバは、スペアのリダンダントストレージサーバを含み、
前記複数のリダンダントストレージサーバのそれぞれは、
他のリダンダントストレージサーバにハートビートメッセージを送信し、
前記ハートビートメッセージへの応答が受信されない場合、前記他のリダンダントストレージサーバの処理を前記スペアのリダンダントストレージサーバに移す、
よう動作可能である、請求項１記載のシステム。
【請求項４】
前記少なくとも１つのキャッシュサーバは、他のキャッシュサーバが故障した場合、前記他のキャッシュサーバの代わりに機能するよう動作可能なスペアのキャッシュサーバを含む複数のキャッシュサーバを有する、請求項１記載のシステム。
【請求項５】
前記少なく１つのキャッシュサーバは、スペアのキャッシュサーバを含む複数のキャッシュサーバを有し、
前記複数のキャッシュサーバのそれぞれは、
他のキャッシュサーバにハートビートメッセージを送信し、
前記ハートビートメッセージへの応答が受信されない場合、前記他のキャッシュサーバの処理を前記スペアのキャッシュサーバに移す、
よう動作可能である、請求項１記載のシステム。
【請求項６】
前記複数のリダンダントストレージサーバは、ストレージエリアネットワークプロトコルを使用して前記複数のストレージサーバのそれぞれに接続される、請求項１記載のシステム。
【請求項７】
前記複数のリダンダントストレージサーバは、ｉＳＣＳＩ（Ｉｎｔｅｒｎｅｔ  Ｓｍａｌｌ  Ｃｏｍｐｕｔｅｒ  Ｓｙｓｔｅｍ  Ｉｎｔｅｒｆａｃｅ）、ＡｏＥ（Ａｄｖａｎｃｅｄ  ｔｅｃｈｎｏｌｏｇｙ  ａｔｔａｃｈｅｍｅｎｔ  ｏｖｅｒ  ｔｈｅ  Ｅｔｈｅｒｎｅｔ）、Ｉｎｆｉｎｉｂａｎｄ、ＰＣＩｅ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ  ｅｘｐｒｅｓｓ）及びｅＳＡＴＡ（Ｅｔｈｅｒｎｅｔ  ｏｖｅｒ  Ｓｅｒｉａｌ  Ａｄｖａｎｃｅｄ  Ｔｅｃｈｎｏｌｏｇｙ  Ａｔｔａｃｈｍｅｎｔ）からなる群から選ばれたストレージエリアネットワークプロトコルを使用して、前記複数のストレージサーバのそれぞれに接続される、請求項１記載のシステム。
【請求項８】
前記少なくとも１つのキャッシュサーバは、ストレージエリアネットワークプロトコルを使用して前記複数のリダンダントストレージサーバのそれぞれに接続される、請求項１記載のシステム。
【請求項９】
前記少なくとも１つのキャッシュサーバは、ｉＳＣＳＩ（Ｉｎｔｅｒｎｅｔ  Ｓｍａｌｌ  Ｃｏｍｐｕｔｅｒ  Ｓｙｓｔｅｍ  Ｉｎｔｅｒｆａｃｅ）、ＡｏＥ（Ａｄｖａｎｃｅｄ  ｔｅｃｈｎｏｌｏｇｙ  ａｔｔａｃｈｅｍｅｎｔ  ｏｖｅｒ  ｔｈｅ  Ｅｔｈｅｒｎｅｔ）、Ｉｎｆｉｎｉｂａｎｄ、ＰＣＩｅ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ  ｅｘｐｒｅｓｓ）及びｅＳＡＴＡ（Ｅｔｈｅｒｎｅｔ  ｏｖｅｒ  Ｓｅｒｉａｌ  Ａｄｖａｎｃｅｄ  Ｔｅｃｈｎｏｌｏｇｙ  Ａｔｔａｃｈｍｅｎｔ）からなる群から選ばれたストレージエリアネットワークプロトコルを使用して、前記複数のリダンダントストレージサーバのそれぞれに接続される、請求項１記載のシステム。
【請求項１０】
前記少なくとも１つのキャッシュサーバはさらに、ＬＲＵ（Ｌｅａｓｔ−Ｒｅｃｅｎｔｌｙ−Ｕｓｅｄ）プロセスに従って前記複製された論理ブロックの一部をキャッシュするよう動作可能である、請求項１記載のシステム。
【請求項１１】
前記複数のリダンダントストレージサーバは、ＲＡＩＤ−５（Ｒｅｄｕｎｄａｎｔ  Ａｒｒａｙ  ｏｆ  Ｉｎｅｘｐｅｎｓｉｖｅ  Ｄｉｓｋｓ  ｌｅｖｅｌ  ５）プロトコルに従って共に構成される、請求項１記載のシステム。
【請求項１２】
各リダンダントストレージサーバが各ディスクサーバに接続される複数のリダンダントストレージサーバによって、各論理ブロックが関連付けされた論理ブロック識別子を有する複数の論理ブロックに従ってセグメント化されたデータを格納するよう動作可能な少なくとも１つの大容量ストレージディスクを各ディスクサーバが有する複数のディスクサーバにアクセスするステップと、
前記複数のディスクサーバの少なくとも２つの各論理ブロックを複製するステップと、
各リダンダントストレージサーバに接続され、キャッシュメモリを有する少なくとも１つのキャッシュサーバによって、前記関連付けされた複数の論理ブロック識別子に従って前記複製された論理ブロックにアクセスするステップと、
前記関連付けされた複数の論理ブロック識別子に従って前記複製された複数の論理ブロックの一部を前記キャッシュメモリにキャッシュするステップと、
を有するコンピュータにより実現される方法。
【請求項１３】
前記関連付けされた複数の論理ブロック識別子に従って前記複製された論理ブロックにアクセスするステップはさらに、故障した他のリダンダントストレージサーバに代わって機能するスペアのリダンダントストレージサーバを介し前記複製された論理ブロックにアクセスする、請求項１２記載の方法。
【請求項１４】
他のリダンダントストレージサーバにハートビートメッセージを送信するステップと、
前記ハートビートメッセージへの応答が受信されない場合、前記他のリダンダントストレージサーバの処理をスペアのリダンダントストレージサーバに移すステップと、
をさらに有する、請求項１２記載の方法。
【請求項１５】
前記関連付けされた複数の論理ブロック識別子に従って前記複製された論理ブロックにアクセスするステップはさらに、故障した他のキャッシュサーバに代わって機能するスペアのリダンダントストレージサーバを介し前記複製された論理ブロックにアクセスする、請求項１２記載の方法。
【請求項１６】
他のキャッシュサーバにハートビートメッセージを送信するステップと、
前記ハートビートメッセージへの応答が受信されない場合、前記他のキャッシュサーバの処理をスペアのキャッシュサーバに移すステップと、
をさらに有する、請求項１２記載の方法。
【請求項１７】
前記複数のリダンダントストレージサーバは、イーサネットプロトコルを使用して前記複数のストレージサーバのそれぞれに接続される、請求項１２記載の方法。
【請求項１８】
前記複数のリダンダントストレージサーバは、ｉＳＣＳＩ（Ｉｎｔｅｒｎｅｔ  Ｓｍａｌｌ  Ｃｏｍｐｕｔｅｒ  Ｓｙｓｔｅｍ  Ｉｎｔｅｒｆａｃｅ）、ＡｏＥ（Ａｄｖａｎｃｅｄ  ｔｅｃｈｎｏｌｏｇｙ  ａｔｔａｃｈｅｍｅｎｔ  ｏｖｅｒ  ｔｈｅ  Ｅｔｈｅｒｎｅｔ）、Ｉｎｆｉｎｉｂａｎｄ、ＰＣＩｅ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ  ｅｘｐｒｅｓｓ）及びｅＳＡＴＡ（Ｅｔｈｅｒｎｅｔ  ｏｖｅｒ  Ｓｅｒｉａｌ  Ａｄｖａｎｃｅｄ  Ｔｅｃｈｎｏｌｏｇｙ  Ａｔｔａｃｈｍｅｎｔ）からなる群から選ばれたプロトコルを使用して、前記複数のストレージサーバのそれぞれに接続される、請求項１２記載の方法。
【請求項１９】
前記複製された論理ブロックの一部は、ＬＲＵ（Ｌｅａｓｔ−Ｒｅｃｅｎｔｌｙ−Ｕｓｅｄ）プロセスに従ってキャッシュされる、請求項１２記載の方法。
【請求項２０】
前記複数のリダンダントストレージサーバは、ＲＡＩＤ−５（Ｒｅｄｕｎｄａｎｔ  Ａｒｒａｙ  ｏｆ  Ｉｎｅｘｐｅｎｓｉｖｅ  Ｄｉｓｋｓ  ｌｅｖｅｌ  ５）プロトコルに従って共に構成される、請求項１２記載の方法。
【請求項２１】
各リダンダントストレージサーバがストレージエリアネットワークプロトコルを使用して複数のディスクサーバのそれぞれに接続される複数のリダンダントストレージサーバと、
ストレージエリアネットワークプロトコルを使用して各リダンダントストレージサーバに接続され、キャッシュメモリを有する少なくとも１つのキャッシュサーバと、
を有するコンピュータにより実現されるストレージシステムであって、
各ディスクサーバは、各論理ブロックが関連付けされた論理ブロック識別子を有する複数の論理ブロックに従ってセグメント化されたデータを格納するよう動作可能な複数の大容量ストレージディスクを有し、
前記複数のリダンダントストレージサーバは、スペアのリダンダントストレージサーバを有し、前記複数のディスクサーバの少なくとも２つの各論理ブロックを複製するよう動作可能であり、
前記少なくとも１つのキャッシュサーバは、スペアのキャッシュサーバを有し、前記関連付けされた複数の論理ブロック識別子に従って前記複製された論理ブロックにアクセスし、前記関連付けされた複数の論理ブロック識別子に従って前記複製された論理ブロックの一部を前記キャッシュメモリにキャッシュするシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
［関連出願］
本出願は、２００７年１月３日に出願された米国特許出願第６０／８８３，２７２号“ＬＯＷ  ＣＯＳＴ  ＣＯＭＰＵＴＥＲ  ＳＴＯＲＡＧＥ  ＳＹＳＴＥＭ”の３５  Ｕ．Ｓ．Ｃ．§１１９（ｅ）による利益を請求する。
［本開示の技術分野］
本開示は、コンピュータストレージシステムに関し、より詳細には、コンピュータストレージシステム及びその動作方法に関する。
【背景技術】
【０００２】
［本開示の背景］
大規模な組織の複雑な計算要求を満たすように、ストレージエリアネットワークが開発されてきた。ストレージエリアネットワークは、１以上のディスクサーバに格納されているデータへの分散化されたアクセスを可能にする。ネットワークの分散化は、比較的大量のデータを格納し、利用性を向上させる冗長性の利用を可能にする。
【発明の概要】
【０００３】
一実施例によると、コンピュータストレージシステムは、１以上のキャッシュサーバに接続される１以上のリダンダントストレージサーバを有する。リダンダントストレージサーバは、各ディスクサーバに接続される。ディスクサーバは、データを格納するよう動作可能な少なくとも１つの大容量ストレージディスクを有する。データは、各論理ブロックが関連付けされた論理ブロック識別子に従ってセグメント化される論理ブロックに従ってセグメント化される。リダンダントストレージサーバは、ディスクサーバの少なくとも２つの各論理ブロックを複製するよう動作可能である。キャッシュサーバは、キャッシュメモリを有し、各リダンダントストレージサーバに接続される。各キャッシュサーバは、関連付けされた論理ブロック識別子に従って複製された論理ブロックにアクセスし、キャッシュメモリにキャッシュするよう動作可能である。
【０００４】
特定の実施例は、多数の技術的効果を提供するかもしれない。一実施例の技術的効果は、リダンダントディスクサーバ、ストレージサーバ及びキャッシュサーバが比較的高い利用性を有する耐故障性を有するコンピュータストレージシステムを提供するということであるかもしれない。
【０００５】
特定の効果が上述されたが、各種実施例は、上述された効果のすべて又は一部を有してもよく、又はその何れも有しないかもしれない。さらに、他の技術的効果は、以下の図面及び説明を参照した後、当業者に容易に明らかになるであろう。
【図面の簡単な説明】
【０００６】
［図面の簡単な説明］
本開示の実施例のより完全な理解は、添付した図面に関連した詳細な説明から明らかになるであろう。
【図１】図１は、本開示の教示によるコンピュータストレージシステムの一実施例を示すブロック図である。
【図２】図２は、図１のコンピュータストレージシステムのキャッシュサーバの一実施例を示す図である。
【図３】図３は、図１のコンピュータストレージシステムにより実行されるステップ系列の一実施例を示すフローチャートである。
【発明を実施するための形態】
【０００７】
［実施例の詳細な説明］
ストレージエリアネットワーク（ＳＡＮ）は、ネットワークを介し大容量ストレージディスクとクライアントとを接続する。企業などの大規模なエンティティは、比較的大量のデータを格納するため、ストレージエリアネットワークを介し接続された大容量ストレージディスクのアレイを使用するかもしれない。サーバは、データへのアクセスを提供するため、ファイバチャネル（ＦＣ）などの高いパフォーマンスのプロトコルを使用するかもしれない。しかしながら、これらの高パフォーマンスネットワークを利用したストレージシステムは、実現及び維持するのに比較的高価であるかもしれない。
【０００８】
図１は、コンピュータストレージシステム１０の一実施例を示す。コンピュータストレージシステム１０は、１以上のディスクサーバ１２と、１以上のリダンダントストレージサーバ１４と、１以上のクライアント２２によりアクセスされるデータを格納する１以上のキャッシュサーバ１６とを有する。データは、各ディスクサーバ１２に構成される１以上の大容量ストレージディスク１８に格納されるかもしれない。各リダンダントストレージサーバ１４は、各ディスクサーバ１２に接続されてもよい。各キャッシュサーバ１６は、各リダンダントストレージサーバ１４に接続されてもよい。以下で詳述されるように、コンピュータストレージシステム１０は、高いパフォーマンスと利用性を有するストレージアーキテクチャを提供するかもしれない。
【０００９】
ディスクサーバ１２は、大容量ストレージディスク１８にデータを格納する。大容量ストレージディスク１８は、３２テラバイトデータ以上などの何れか適切な容量を有してもよい。大容量ストレージディスク１８のデータは、毎秒２００ギガバイト以上など、何れか適切なアクセスレートによりアクセスされるようにしてもよい。
【００１０】
データは、論理ブロックに従って大容量ストレージディスク１８にセグメント化されるかもしれない。論理ブロックは、一般に大容量ストレージディスク１８の使用可能なメモリの一部を有する。各論理ブロックの容量は、一般に大容量ストレージディスク１８のメモリ部分の物理構成に対応する。論理ブロック識別子は、各論理ブロックに関連付けされる。論理ブロックは、それらに関連付けされた論理ブロック識別子に従ってアクセスされるかもしれない。
【００１１】
リダンダントストレージサーバ１４は、ディスクサーバ１２にあるデータを冗長的に格納するよう動作可能である。各ディスクサーバ１２は、７２００ＲＰＭ（Ｒｅｖｏｌｕｔｉｏｎｓ−Ｐｅｒ−Ｍｉｎｕｔｅ）で動作するＳＡＴＡ（Ｓｅｒｉａｌ  Ａｄｖａｎｃｅｄ  Ｔｅｃｈｎｏｌｏｇｙ  Ａｔｔａｃｈｍｅｎｔ）による８つの５００ギガバイト大容量ストレージディスク１８を有してもよい。ディスクサーバ１２が故障した場合、リダンダントストレージサーバ１４がデータを提供することができる。一実施例では、リダンダントストレージサーバ１４は、故障したリダンダントストレージサーバ１４の代わりに機能するスペアのリダンダントストレージサーバ１４’を有してもよい。リダンダントストレージサーバ１４は、その他のリダンダントストレージサーバ１４にハートビートメッセージを送信してもよい。有効なレスポンスが受信されない場合、リダンダントストレージサーバ１４は、スペアなリダンダントストレージサーバ１４’に応答のないリダンダントストレージサーバ１４の処理を移す。
【００１２】
一実施例では、リダンダントストレージサーバ１４は、ＲＡＩＤ−５（Ｒｅｄｕｎｄａｎｔ  Ａｒｒａｙ  ｏｆ  Ｉｎｅｘｐｅｎｓｉｖｅ  Ｄｉｓｋｓ  ｌｅｖｅｌ  ５）プロトコルなどのＲＡＩＤプロトコルに従って実現される。しかしながら、何れか適切なデータ複製プロトコルが利用されてもよい。
【００１３】
各リダンダントストレージサーバ１４は、何れかのストレージエリアネットワークプロトコルを利用して各ディスクサーバ１２に接続されてもよい。ストレージエリアネットワークプロトコルの具体例として、ｉＳＣＳＩ（Ｉｎｔｅｒｎｅｔ  Ｓｍａｌｌ  Ｃｏｍｐｕｔｅｒ  Ｓｙｓｔｅｍ  Ｉｎｔｅｒｆａｃｅ）プロトコル、ＡｏＥ（Ａｄｖａｎｃｅｄ  ｔｅｃｈｎｏｌｏｇｙ  ａｔｔａｃｈｅｍｅｎｔ  ｏｖｅｒ  ｔｈｅ  Ｅｔｈｅｒｎｅｔ）プロトコル、Ｉｎｆｉｎｉｂａｎｄプロトコル、ＰＣＩｅ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ  ｅｘｐｒｅｓｓ）プロトコル、又はｅＳＡＴＡ（Ｅｔｈｅｒｎｅｔ  ｏｖｅｒ  Ｓｅｒｉａｌ  Ａｄｖａｎｃｅｄ  Ｔｅｃｈｎｏｌｏｇｙ  Ａｔｔａｃｈｍｅｎｔ）プロトコルなどがあげられる。ストレージエリアネットワークプロトコルは、論理ブロック識別子に従って論理ブロックに格納されているデータへのアクセスをディスクサーバ１２に提供する。
【００１４】
キャッシュサーバ１６は、クライアント２２とリダンダントストレージサーバ１４との間に接続される。各キャッシュサーバ１６は、各リダンダントストレージサーバ１４に接続されてもよい。キャッシュサーバ１６は、リダンダントストレージサーバ１４にあるデータにアクセスし、当該データをキャッシュメモリ２０に格納する。キャッシュメモリ２０は、レベル１キャッシュとして実現されるかもしれない。キャッシュメモリ２０は、９６ギガバイトまでのストレージと、毎秒４００ギガバイトまでのアクセスレートを提供するかもしれない。キャッシュサーバ１６が、図２Ａ及び２Ｂを参照してより詳細に説明される。
【００１５】
リダンダントストレージサーバ１４が故障した場合、キャッシュサーバ１６がデータを提供するようにしてもよい。一実施例では、キャッシュサーバ１６は、故障したキャッシュサーバ１６の代わりに動作するスペアのキャッシュサーバ１６’を有してもよい。キャッシュサーバ１６は、ハートビートメッセージを他のキャッシュサーバ１６に送信してもよい。有効なレスポンスが受信されない場合、キャッシュサーバ１６は、応答のないキャッシュサーバ１６の処理をスペアのキャッシュサーバ１６’に移す。
【００１６】
キャッシュサーバ１６は、何れか適切なストレージエリアネットワークプロトコルを使用して、リダンダントストレージサーバ１４とクライアント２２に接続されてもよい。プロトコルの具体例として、リダンダントストレージシステム１４を参照して説明されたものなどがあげられる。ストレージエリアネットワークプロトコルは、関連付けされた論理ブロック識別子に従って論理ブロックに格納されているデータへのアクセスをクライアント２２に提供するようにしてもよい。
【００１７】
ディスクサーバ１２、リダンダントストレージサーバ１４及びキャッシュサーバ１６は、何れか適切な構成を有してもよい。一例では、ディスクサーバ１２、リダンダントストレージサーバ１４及びキャッシュサーバ１６は、シングルソケットデュアルコアプロセッサを有する民生用の計算システムを有してもよい。ディスクサーバ１２及びリダンダントストレージサーバ１４は少なくとも２ギガバイトのシステムメモリにより実現され、キャッシュサーバ１６は少なくとも１２ギガバイトのシステムメモリにより実現されてもよい。
【００１８】
本発明の範囲から逸脱することなく、コンピュータストレージシステム１０に変更、追加又は省略が可能である。コンピュータストレージシステム１０の各コンポーネントが統合又は分離されてもよい。例えば、キャッシュサーバ１６の処理は、リダンダントストレージサーバ１４に統合されてもよい。さらに、コンピュータストレージシステム１０の処理は、より多く、より少なく又は他のコンポーネントにより実行されてもよい。例えば、ディスクサーバ１２は、何れか適切な個数の大容量ストレージディスク１８を有してもよい。さらに、コンピュータストレージシステム１０の処理は、ソフトウェア、ハードウェア及び／又は他のロジックを有する何れか適切なロジックを用いて実行されてもよい。本明細書で使用される“各又はそれぞれ”とは、ある集合の各メンバー又はある集合のサブセットの各メンバーを表す。
【００１９】
図２は、図１のキャッシュサーバ１６の実施例を示す。キャッシュサーバ１６は、プロセッサ２４と、キャッシュメモリ２０と、１以上の入出力ポート２６とを有する。プロセッサ２４は、キャッシュメモリ２０に格納されている命令を実行する。入出力ポート２６は、プロセッサ２４をリダンダントストレージサーバ１４及びクライアント２２に接続する。
【００２０】
キャッシュサーバ１６は、パーソナルコンピュータ、ラップトップコンピュータ、メインフレームコンピュータなどの何れか適切な計算システムを有してもよい。一実施例では、キャッシュサーバ１６は、他のブレードサーバの間でラック内に配置可能なブレードサーバである。他の実施例では、キャッシュサーバ１６は、キャッシュメモリ２０として動作可能なシステムメモリを有するＣＯＴＳ（Ｃｏｍｍｅｒｃｉａｌ  Ｏｆｆ−Ｔｈｅ−Ｓｈｅｌｆ）コンピュータを有してもよい。キャッシュメモリ２０は、ＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）やＳＲＡＭ（Ｓｔａｔｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）など、ＣＯＴＳ又は民生用コンピュータと共に使用可能な何れか適切なタイプのメモリであってもよい。他の実施例では、キャッシュメモリ２０はレベル１キャッシュとして実現されてもよい。
【００２１】
一実施例では、キャッシュサーバ１６は、各キャッシュサーバ１６にデータを分散させるかもしれない。このようにして、キャッシュメモリ２０は、キャッシュサーバ１６として実現される複数のＣＯＴＳマザーボードのシステムメモリにより提供されるかもしれない。
【００２２】
論理ブロックとして大容量ストレージディスク１８に格納されているデータの一部は、論理ブロックとしてキャッシュメモリ２０に複製されてもよい。クライアント２２は、大容量ストレージディスク１８より迅速にキャッシュメモリ２０からデータにアクセスするかもしれない。一実施例では、論理ブロックは、ＬＵＮ（Ｌｏｇｉｃａｌ  Ｕｎｉｔ  Ｎｕｍｂｅｒ）識別子と通常呼ばれるＬｉｎｕｘブロックデバイスに従ってフォーマット化されるかもしれない。
【００２３】
キャッシュサーバ１６は、クライアント２２からリクエストを受信し、当該リクエストをリダンダントストレージサーバ１４に転送するか、又は利用可能である場合にはキャッシュメモリ２０からデータにアクセスするかもしれない。データがキャッシュメモリ２０から直接抽出される場合、データに対するクライアントのリクエストに対するレスポンスの遅延は、軽減されるかもしれない。
【００２４】
一実施例では、プロセッサ２４は、ＬＲＵ（Ｌｅａｓｔ  Ｒｅｃｅｎｔｌｙ  Ｕｓｅｄ）プロセスに従ってキャッシュメモリ２０に格納するため、論理ブロックの一部を選択するかもしれない。すなわち、プロセッサ２４は、他の論理ブロックよりあまりアクセスされなかったデータの論理ブロックをキャッシュメモリ２０から間引く。
【００２５】
複数のキャッシュサーバ１６を有する特定の実施例では、論理ブロックは、論理ブロック識別子の最下位ブロックアドレスに従って各キャッシュサーバ１６にストライプ化されるかもしれない。クライアント２２は、データのアクセス前に各ブロックアドレス識別子を読み込むことによって、データのリクエストを適切なキャッシュサーバ１６に指示するかもしれない。このようにして、クライアント２２は、所望のデータを有するキャッシュサーバ１６を正しく確認するかもしれない。
【００２６】
図３は、コンピュータストレージシステム１０により実行されるステップ系列の一実施例を示す。ステップ１００において、当該プロセスが開始される。
【００２７】
ステップ１０２において、キャッシュサーバ１６は、クライアント２２からデータのリクエストを受信する。このリクエストは、リクエストされたデータを含む論理ブロックに係る論理ブロック識別子を含むかもしれない。一実施例では、キャッシュサーバ１６は、論理ブロックに係る論理ブロック識別子の最下位ブロックアドレスに従ってストライプ化された複数のキャッシュサーバ１６の１つであってもよい。
【００２８】
ステップ１０４において、キャッシュサーバ１６は、大容量ストレージディスク１８からリクエストされた論理ブロックにアクセスする。一実施例では、キャッシュサーバ１６は、リクエストされた論理ブロックがそれに関連付けされた論理ブロック識別子に従ってアクセスされるように、ストレージエリアネットワークを介し大容量ストレージディスク１８に接続されてもよい。
【００２９】
ステップ１０６において、キャッシュサーバ１６は、リクエストされた論理ブロックの一部をキャッシュメモリ２０にキャッシュする。一実施例では、この論理ブロックの一部は、ＬＲＵプロセスに従ってキャッシュされる。このようにして、比較的頻繁にアクセスされる論理ブロックは、クライアント２２からの以降のアクセスリクエストに対する比較的迅速なアクセスのため、キャッシュメモリ２０に格納されてもよい。キャッシュメモリ２０は、クライアント２２によるデータのリクエストがキャッシュサーバ１６からサービスを提供されるように、頻繁に使用されるデータを格納し、これにより、ディスクサーバ１２を介したデータのアクセスのスループット遅延を軽減することができる。
【００３０】
ステップ１０８において、当該プロセスは終了する。
【００３１】
本開示の範囲から逸脱することなく、本方法に対する変更、追加又は省略が可能である。本方法は、より多く、より少なく又は他のステップを有してもよい。例えば、キャッシュサーバ１６は、故障したリダンダントストレージサーバ１４の代わりに動作するスペアのリダンダントストレージサーバ１４からのデータにアクセスするかもしれない。
【００３２】
本開示は複数の実施例を記載するが、多数の変更、変形、代替、変換及び改良が当業者に示唆されるかもしれず、本開示はそのような変更、変形、代替、変換及び改良を添付した請求項の範囲内に属するものとして包括することが意図される。
【図１】
2010515196.tif 000003
【図２】
2010515196.tif 000004
【図３】
2010515196.tif 000005
【国際調査報告】
2010515196.tif 000006
2010515196.tif 000007
2010515196.tif 000008