(57)【要約】      （修正有）【課題】いくつかのホストプロセッサが他のホストプロセッサより良いキャッシュ性能を受けることができるようにする。【解決手段】記憶装置のキャッシュメモリにデータを記憶する方法は、キャッシュメモリの第１のセグメントに第１のデータ構造を提供する工程と、キャッシュメモリの第２のセグメントに第２のデータ構造を提供する工程と、を有することができ、第１のセグメントのアクセスは第１のデータ構造のアクセスを含み、第２のセグメントのアクセスは第２のデータ構造のアクセスを含む。データ構造は、データのブロックの２重にリンクしたリングリストとすることができる。異なるグループの外部ホストシステムに、異なるアクセス、優先度、およびキャッシュの異なるセグメントに関するサービスレベルを提供する。【選択図】図５
2006196011.tif 000002
【特許請求の範囲】
【請求項１】
キャッシュメモリにデータを記憶する方法において、
記憶装置に接続された１つ以上の外部ホストシステムの内の第１のグループを受け持つキャッシュメモリの第１のセグメントへの排他的アクセスを可能とする第１の機構を提供する工程と、
記憶装置に接続された１つ以上の外部ホストシステムの内の第２のグループを受け持つキャッシュメモリの第２のセグメントへの排他的アクセスを可能とする第２の機構を提供する工程と、
を有し、前記第１のセグメントへの排他的アクセスは前記第２のセグメントへのアクセスと独立であることを特徴とする方法。
【請求項２】
キャッシュメモリの少なくとも第３のセグメントへの排他的アクセスを可能とする少なくとも第３の機構を有し、前記いずれかのセグメントへの排他的アクセスは他のセグメントへの排他的アクセスと独立である請求項１に記載の方法。
【請求項３】
前記第１及び第２の機構はロックである請求項１に記載の方法。
【請求項４】
前記ロックはハードウエアによるロックである請求項３に記載の方法。
【請求項５】
前記ロックはソフトウエアによるロックである請求項３に記載の方法。
【請求項６】
キャッシュメモリの第１のセグメントに第１のデータ構造体を提供する工程と、
キャッシュメモリの第２のセグメントに第２のデータ構造体を提供する工程と、を有し、第１のセグメントへのアクセスは、第１のデータ構造体へのアクセスを含み、第２のセグメントへのアクセスは、第２のデータ構造体へのアクセスを含む請求項１に記載の方法。
【請求項７】
前記データ構造体はデータのブロックの２重にリンクしたリングリストである請求項５に記載の方法。
【請求項８】
データの各ブロックはディスクドライブ上のトラックに対応する請求項７に記載に方法。
【請求項９】
前記第１のセグメントについて第１のキャッシュフォールスルータイムを決定する工程と、
前記第２のセグメントについての第２のキャッシュフォールスルータイムを決定する工程と、
第１及び第２のキャッシュフォールスルータイムに従って第１および第２のセグメントの１つにデータを割り当てる工程と、を有する請求項１に記載の方法。
【請求項１０】
第１と第２のキャッシュフォールスルータイムの差を決定する工程をさらに有し、第１および第２のセグメントの１つへのデータの割り当てが前記差に基づく請求項９に記載の方法。
【請求項１１】
前記差の所定量によって、データが第１および第２のセグメントの一方に割り当てられる請求項１０に記載の方法。
【請求項１２】
記憶装置のキャッシュメモリにおいて、
記憶装置に接続された１つ以上の外部ホストシステムの内の第１のグループを受け持つキャッシュメモリの第１のセグメントへの排他的アクセスを可能とする第１の機構を有する第１のセグメントと、
記憶装置に接続された１つ以上の外部ホストシステムの内の第２のグループを受け持つキャッシュメモリの第２のセグメントへの排他的アクセスを可能とする第２の機構を有する第２のセグメントと、
を有し、前記第１のセグメントへの排他的アクセスは前記第２のセグメントへの排他的アクセスと独立であることを特徴とするキャッシュメモリ。
【請求項１３】
前記第１及び第２の機構はソフトウエアによるロックである請求項１２に記載のキャッシュメモリ。
【請求項１４】
前記キャッシュメモリの第１のセグメントは第１のデータ構造体を有し、
キャッシュメモリの第２のセグメントは第２のデータ構造体を有し、前記第１のセグメントへのアクセスは、第１のデータ構造体へのアクセスを含み、第２のセグメントへのアクセスは、第２のデータ構造体へのアクセスを含む請求項１２に記載の方法。
【請求項１５】
前記データ構造体はデータのブロックの２重にリンクしたリングリストである請求項１４に記載のキャッシュメモリ。
【請求項１６】
データの各ブロックはディスクドライブ上のトラックに対応する請求項１５に記載のキャッシュメモリ。
【請求項１７】
前記第１のセグメントについて第１のキャッシュフォールスルータイムが決定され、
前記第２のセグメントについての第２のキャッシュフォールスルータイムが決定され、データは第１及び第２のキャッシュフォールスルータイムに従って第１および第２のセグメントの１つに割り当てられる請求項１２に記載のキャッシュメモリ。
【請求項１８】
第１と第２のキャッシュフォールスルータイムの差が決定され、第１および第２のセグメントの１つへのデータの割り当てが前記差に基づく請求項１７に記載のキャッシュメモリ。
【請求項１９】
前記差の所定量によって、データが第１および第２のセグメントの一方に割り当てられる請求項１８に記載のキャッシュメモリ。
【請求項２０】
複数のディスクドライブと、
各々が前記ディスクドライブのうちの１つに接続された複数のディスクインターフェースユニットと、
前記ディスクインターフェースユニットを相互接続するバスと
前記バスに接続されたキャッシュメモリとからなる記憶装置であって、
前記キャッシュメモリは複数のセグメントを有し、前記複数の各々のセグメントは前記ディスクインターフェースユニットの１つにより独立に制御可能である記憶装置。
【請求項２１】
前記キャッシュメモリの前記セグメントはそれらへの排他的アクセスを可能とする機構を有する請求項２０に記載の記憶装置。
【請求項２２】
前記各セグメントは各データ構造体を有し、前記セグメントのアクセスはそれぞれの前記データ構造体に対応するアクセスである請求項２１に記載の記憶装置。
【請求項２３】
前記データ構造体はデータのブロックの２重にリンクしたリングリストである請求項２２に記載の記憶装置。
【請求項２４】
キャッシュメモリが複数のセグメントと、複数のロック機構と、を有し、前記ロック機構の各々が前記セグメントの特定の１つへの排他的アクセスに対応し、前記セグメントの１つへの排他的アクセスは前記セグメントの他の１つへの排他的アクセスと独立である請求項２０に記載の記憶装置。
【請求項２５】
前記各セグメントは各データ構造体を有し、前記セグメントのアクセスはそれぞれの前記データ構造体に対応するアクセスである請求項２０に記載の記憶装置。
【請求項２６】
前記データ構造体はデータのブロックの２重にリンクしたリングリストである請求項２５に記載の記憶装置。
【請求項２７】
データの各ブロックはディスクドライブ上のトラックに対応する請求項２６に記載の記憶装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はコンピュータデータ記憶の分野に関し、特にキャッシュにアクセスする複数のプロセッサを有するコンピュータデータ記憶システムにキャッシュを構成する分野に関する。
【背景技術】
【０００２】
ホストプロセッサシステムは、複数のインタフェースユニット、ディスクドライブ、およびディスクインタフェースユニットを含む記憶装置を使用してデータを記憶および検索することができる。そのような記憶装置は、例えばマサチューセッツ州、ホプキントンのＥＭＣ社により提供され、Yanai et al.への米国特許第5,206,939号、Galtzur et al.への米国特許第 5,778,394号、Vishlizzky et al.への米国特許第5,845,147号、およびOfekへの米国特許第5,857,208号に記載されている。ホストシステムは、それに設けられた複数のチャンネルを通じて記憶装置へアクセスする。ホストシステムは記憶装置へのチャンネルを通じてデータおよびアクセス制御情報を提供し、記憶装置もそのチャンネルを通じてホストシステムへデータを提供する。ホストシステムは記憶装置のディスクドライブを直接的にはアドレスしないが、ホストシステムが複数の論理的ディスクユニットと考えるものにアクセスする。論理的ディスクユニットは実際のディスクドライブに対応するものまたは対応しないものとすることができる。複数のホストシステムが単一の記憶装置ユニットへアクセスできるようにすることにより、ホストシステムはその内部に記憶されたデータを共用することができる。
【０００３】
記憶システムの性能はキャッシュを使用することにより改善されうる。ディスクドライブシステムの場合、ディスクドライブより相対的に低いデータアクセス時間を有する半導体メモリのブロックを使用して実現することができる。アクセスされたデータは有益にディスクドライブからキャッシュへ移動されるので、そのデータへの２回目のおよびその後のアクセスはディスクドライブではなくキャッシュへ行うことができる。最近アクセスされていないデータをキャッシュから除去して新たなデータのための空間を作ることができる。しばしば、そのようなキャッシュアクセスは、データを要求するホストシステムにとって明白である。
【０００４】
キャッシュを実現する１つの手法は、データをブロックで記憶し、各ブロックを以下に「論理的リングユニット」（ＬＲＵ）と呼ぶ２重にリンクされたリングリストに一体的にリンクすることである。ＬＲＵの各ブロックは論理的ディスクユニットからデータのブロックを示す。それらのブロックは、それらがディスクから検索された順序で２重にリンクされたリングリスト内に配置される。ポインタは、リストに最も最近加えられたブロックを指し示す。こうして、新しいブロックをキャッシュに追加すべき場合、ＬＲＵ構造をヘッドポインタとともに使用して除去すべきＬＲＵ中の最も古いブロックを決定して新しいブロックのための空間を作る。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
ＬＲＵメカニズムの欠点は、２重にリンクされたリング構造の複雑性により複数のプロセスがいつでもデータ構造を操作可能とすることが困難であるので、単一のプロセスのみしか一時にリングリストを操作可能できないことである。この一時に１つのアクセスを実施する１つの方法はソフトウェアロックを使用することであり、それはＬＲＵへのプロセスの排他的アクセスを可能とする従来のセマフォー（semaphore）類似の機構である。しかし、複数のプロセッサがキャッシュの使用を必要とする場合、排他的ＬＲＵアクセス方法は障害となる。加えて、いくつかの場合では、いくつかのホストプロセッサが他のホストプロセッサより良いキャッシュ性能を受けることができるように記憶装置に接続されたホストプロセッサシステムに提供されるキャッシュサービスを調整するための機構を提供することが望まれる。
【課題を解決するための手段】
【０００６】
本発明によれば、キャッシュメモリにデータを記憶する方法は、キャッシュメモリの第１の部分への排他的アクセスを可能とする第１の機構を提供する工程と、キャッシュメモリの第２の部分への排他的アクセスを可能とする第２の機構を提供する工程と、を有し、第１の部分への排他的アクセスは第２の部分への排他的アクセスと独立である。また、キャッシュメモリへデータを記憶する方法は、キャッシュメモリの少なくとも第３の部分への排他的アクセスを可能とする少なくとも第３の機構を提供することができ、いずれかの部分への排他的アクセスは他の部分への排他的アクセスと独立である。第１および第２の機構はロックとすることができる。ロックはソフトウェアロックまたはハードウェアロックとすることができる。排他的アクセスを可能とする方法は、キャッシュメモリの第１の部分に第１のデータ構造を提供する工程と、キャッシュメモリの第２の部分に第２のデータ構造を提供する工程と、を有することができ、第１の部分のアクセスは第１の構造のアクセスを含み、第２の部分のアクセスは第２の構造のアクセスを含む。データ構造はデータのブロックの２重にリンクしたリングリストとすることができ、ブロックはディスクドライブのトラックに対応することができる。排他的アクセスを可能とする方法は、第１の部分についての第１のキャッシュフォールスルータイムを決定する工程と、第２の部分についての第２のキャッシュフォールスルータイムを決定する工程と、第１および第２のキャッシュフォールスルータイムにしたがって第１および第２の部分の１つにデータを割り当てる工程と、を有することができる。排他的アクセスを可能とする方法は、第１と第２のキャッシュフォールスルータイムの差を決定する工程を有することができ、第１および第２の部分へのデータの割り当てはその差に基づく。その差が所定量より小さい場合に、データを第１および第２の部分の一方にランダムに割り当てすることができる。
【０００７】
さらに本発明によれば、キャッシュメモリは、第１の部分であって、第１の部分への排他的アクセスを可能とする第１の機構を有する第１の部分と、第２の部分であって、第２の部分への排他的アクセスを可能とする第２の機構を有する第２の部分と、を有し、第１の部分への排他的アクセスは第２の部分への排他的アクセスと独立である。第１および第２の機構はソフトウェアロックとすることができる。第１の部分は第１のデータ構造を有することができ、第２の部分は第２のデータ構造を有することができ、第１の部分のアクセスは第１の構造のアクセスを含み、第２の部分のアクセスは第２の構造のアクセスを含む。データ構造は、データのブロックの２重にリンクしたリングリストとすることができる。データの各ブロックはディスクドライブ上のトラックに対応することができる。第１の部分についての第１のキャッシュフォールスルータイムが決定され、第２の部分についての第２のキャッシュフォールスルータイムが決定され、データは第１および第２のキャッシュフォールスルータイムにしたがって第１および第２の部分の１つへ割り当てられる。第１および第２のキャッシュフォールスルータイムの差が決定され、第１および第２の部分の１つの割り当てはその差に基づく。その差が所定量より小さい場合に、データを第１および第２の部分の１つにランダムに割り当てることができる。
【０００８】
さらに本発明によれば、記憶装置は、複数のディスクドライブと、各々がディスクドライブの１つに接続された複数のディスクインタフェースユニットと、ディスクインタフェースユニットを相互接続するバスと、バスに接続され複数の部分を有するキャッシュメモリとを有し、複数の部分の各々はディスクインタフェースユニットの１つにより独立に制御可能である。キャッシュメモリの各部分はそれらへの排他的アクセスを可能とする機構を有することができる。各部分はデータ構造を有し、部分のアクセスはデータ構造の対応するものへのアクセスを含むことができる。データ構造は、２重にリンクされたリングリストとすることができる。  
【０００９】
さらに本発明によれば、キャッシュメモリは複数の部分と複数のロックとを有し、ロックの各々は特定の１つの部分への排他的アクセスに対応し、１つの部分への排他的アクセスは部分の他の１つへの排他的アクセスと独立である。各部分はデータ構造を有し、１つの部分へのアクセスはデータ構造へのアクセスを含む。データ構造は、２重にリンクされたリングリストとすることができる。データの各ブロックはディスクドライブ上のトラックに対応することができる。
【００１０】
本発明によれば、記憶装置のキャッシュメモリにデータを記憶する方法は、記憶装置に接続された第１のグループの外部ホストシステムのためにキャッシュメモリの第１のセグメントにアクセスする工程と、記憶装置に接続された第２のグループの外部ホストシステムのためにキャッシュメモリの第２のセグメントにアクセスする工程と、を有し、キャッシュメモリの第２のセグメントの少なくとも一部はキャッシュメモリの第１のセグメントの一部ではない。いくつかの実施形態では、キャッシュメモリの第２のセグメントは第１のセグメントの一部ではない。
【００１１】
また、記憶装置のキャッシュメモリにデータを記憶する方法は、キャッシュメモリの第１のセグメントに第１のデータ構造を提供する工程と、キャッシュメモリの第２のセグメントに第２のデータ構造を提供する工程と、を有し、第１のセグメントのアクセスは第１のデータ構造のアクセスを含み、第２のセグメントのアクセスは第２のデータ構造のアクセスを含む。データ構造は、データのブロックの２重にリンクしたリングリストとすることができる。データの各ブロックはディスクドライブ上のトラックに対応することができる。
【００１２】
また、キャッシュメモリにデータを記憶する方法は、キャッシュメモリをスロットに割り当てる工程と、各スロットを、キャッシュメモリの第１および第２のセグメントの少なくとも一方にマップする工程と、を有することができる。スロットは式またはテーブルを使用してセグメントにマップされうる。グループはテーブルを使用してセグメントの特定のものへマップされうる。テーブルはグループ識別子と、対応するマスクとを含むことができる。マスクは、Ｎ番目のビット位置に「１」であるビットを有し、あるグループがＮ番目のセグメントに割り当てられていることを示す二進数値とすることができる。キャッシュにデータを記憶する方法は、キャッシュメモリのブロックの要求に応じて、キャッシュメモリにマップされたグループについてのキャッシュメモリのブロックの利用可能性を決定する工程を有することができる。利用可能なグループについてのキャッシュメモリのブロックが無いことに応じて、他のグループに対応するキャッシュメモリのブロックを提供することができる。提供されるキャッシュメモリのブロックは、次に利用可能なブロック、割り当てられた最大番号のブロックを有するグループに対応するブロック、利用可能な最大番号を有するブロックを有するグループに対応するブロック、および、利用可能なブロックの最大割合を有するグループに対応するブロックの少なくとも１つとすることができる。
【００１３】
さらに本発明によれば、記憶装置のキャッシュメモリは、記憶装置に接続された第１のグループの外部ホストシステムのためにアクセスされるキャッシュメモリの第１のセグメントと、記憶装置に接続された第２のグループの外部ホストシステムのためにアクセスされるキャッシュメモリの第２のセグメントと、を有し、キャッシュメモリの第２のセグメントの少なくとも一部はキャッシュメモリの第１のセグメントの一部ではない。いくつかの実施形態では、キャッシュメモリの第２のセグメントは第１のセグメントの一部ではない。
【００１４】
また、キャッシュメモリは、キャッシュメモリの第１のセグメント内の第１のデータ構造と、キャッシュメモリの第２のセグメント内の第２のデータ構造と、を有し、第１のセグメントのアクセスは第１のデータ構造のアクセスを含み、第２のセグメントのアクセスは第２のデータ構造のアクセスを含む。データ構造は、データのブロックの２重にリンクされたリングリストとすることができる。データの各ブロックはディスクドライブのトラックに対応することができる。また、キャッシュメモリは、複数のスロットを有し、各スロットはキャッシュメモリの一部に対応し、各スロットはキャッシュメモリの第１および第２のセグメントの少なくとも１つにマップされる。スロットは、式またはテーブルを使用してセグメントにマップされうる。グループはテーブルを使用してセグメントの特定のものにマップされうる。テーブルは、グループ識別子と、対応するマスクと、を有することができる。マスクは、Ｎ番目のビット位置に「１」であるビットを有し、あるグループがＮ番目のセグメントに割り当てられていることを示す二進数値とすることができる。
【００１５】
さらに本発明によれば、記憶装置は、複数のディスクドライブと、各々がディスクドライブのうちの１つに接続された複数のディスクインタフェースユニットと、ディスクインタフェースユニットを相互接続するバスと、バスに接続されたキャッシュメモリと、を有し、キャッシュメモリは、記憶装置に接続された第１のグループの外部ホストシステムのためにアクセスされる第１のセグメントと、記憶装置に接続された第２のグループの外部ホストシステムのためにアクセスされる第２のセグメントと、を有し、キャッシュメモリの第２のセグメントの少なくとも一部はキャッシュメモリの第１のセグメントの一部ではない。
【００１６】
さらに本発明によれば、記憶装置のキャッシュメモリにデータを記憶する方法は、記憶装置に接続された第１のグループの外部ホストシステムのためにキャッシュメモリの第１のセグメントにアクセスする工程と、記憶装置に接続された第２のグループの外部ホストシステムのためにキャッシュメモリの第２のセグメントにアクセスする工程であって、キャッシュメモリの第２のセグメントの少なくとも一部はキャッシュメモリの第１のセグメントの一部ではない工程と、キャッシュメモリのブロックの要求に応じて、キャッシュメモリにマップされたグループについてのキャッシュメモリのブロックの利用可能性を決定する工程と、利用可能なグループについてのキャッシュメモリが無いことに応じて、他のグループに対応するキャッシュメモリのブロックを提供する工程と、を有する。また、記憶装置のキャッシュメモリにデータを記憶する方法は、キャッシュメモリの第１のセグメントに第１のデータ構造を提供する工程と、キャッシュメモリの第２のセグメントに第２のデータ構造を提供する工程と、を有し、第１のセグメントのアクセスは第１のデータ構造のアクセスを含み、第２のセグメントのアクセスは第２のデータ構造のアクセスを含む。データ構造は、データのブロックの２重にリンクしたリングリストとすることができる。データの各ブロックはディスクドライブのトラックに対応することができる。
【発明を実施するための最良の形態】
【００１７】
図１を参照すると、データ記憶装置２０は、複数のホストインタフェースユニット２２〜２４と、複数のディスクインタフェースユニット２６〜２８と、複数のディスクドライブ３２〜３４とを有し、複数のディスクドライブ３２〜２４の各々はディスクインタフェースユニット２６〜２８のそれぞれに接続されている。ホストインタフェースユニット２２〜２４を、データをディスクドライブへ読み書きするコンピュータなどの１つ以上の外部ホストシステム（図示せず）に接続することができる。
【００１８】
記憶装置２０は、そうでなければ各ホストシステムに接続された従来のディスクドライブシステムが行ったであろう動作を実行する。そうして、記憶装置２０はホストインタフェースユニット２２〜２４を通じてディスクコマンドを受け取り、ディスクドライブ３２〜３４からのディスクデータをホストインタフェースユニット２２〜２４を通じてホストシステムへ提供する。しかし、記憶装置２０に接続されたホストシステムはディスクドライブ３２〜３４へ直接アクセスせず、ホストシステムは１つ以上の論理的ディスクの使用を要求することにより記憶装置２０にアクセスする。記憶装置２０は、特定の論理的ディスクへのアクセスのためのホストからの要求をディスクドライブ３２〜３４上の物理的位置に翻訳する。バス３１はホストインタフェースユニット２２〜２４とディスクインタフェースユニット２６〜２８の間の通信を提供する。  
【００１９】
ホストからの要求は、ホストインタフェースユニット２２〜２４のうちの１つを通じて、論理的ディスク番号、シリンダ番号、およびトラック番号の形態で提供される。すなわち、ホストは論理的ディスク番号、シリンダ番号およびトラック番号を特定することによりデータを読み書きする。この要求はホストインタフェースユニット２２〜２４のそれぞれ１つを通じてディスクインタフェースユニット２６〜２８の適当な１つへ送られ、次にディスクインタフェースユニット２６〜２８の適当な１つはディスクドライブ３２〜３４の適当な１つのデータへアクセスし、そのデータをホストインタフェースユニット２２〜２４の適当な１つへ提供する。
【００２０】
いくつかの例では、要求されたいくつかのデータをキャッシュすることにより、ディスクドライブ３２〜３４に対して行われる物理的ディスクアクセス数を減少させることがより効率的である。この目的のため、システムメモリ３６がバス３１に接続され、以下により詳細に説明するように、ディスクドライブ３２〜３４とホストインタフェースユニット２２〜２４の間で伝送されるキャッシュデータの記憶を提供する。各ディスクインタフェースユニット２６〜２８は１つのプロセッサを含み、システムメモリ３６へ直接アクセスするプロセスを実行する。こうして、以下により詳細に説明するように、キャッシュするためにシステムメモリ３６を使用することは、２つ以上のプロセスが重要なデータへ同時にアクセスしようとした時に生じるであろう問題を防止する手法の使用を必要とする。
【００２１】
図２を参照すると、その概略図はシステム３６をより詳細に示す。システムメモリは、他のメモリ３７（ここでは議論していない他のシステムデータコンポーネントを含む）、トラックI.D.テーブル３８、およびキャッシュメモリ３９を含む。キャッシュメモリ３９およびその構造は後により詳細に説明される。トラックI.D.テーブル３８は、ディスクドライブ３２〜３４上の各トラックについてのエントリーを含むテーブルである。各トラックについてエントリーは特定のトラックがキャッシュメモリ３９内にあるか否かを示し、もしあれば、キャッシュメモリ内のデータが書き込まれているが、まだディスクドライブ３２〜３４へコピーして戻されていないかを示す。こうしてトラックI.D.テーブル３８はいくぶん従来的な直接マップキャッシュシステムを実行するための使用され、そのシステムでは全てのディスクメモリ位置についてデータがキャッシュ内にあるか否かを示す対応するインジケータが存在する。
【００２２】
図３を参照すると、概略図はキャッシュメモリ３９をより詳細に示す。キャッシュメモリは、第１の論理的リングユニット（ＬＲＵ）４２と、第２のＬＲＵ４４とを有する。また、キャッシュメモリ３９は第１および第２のソフトウェアＬＲＵロック４６、４７を有し、それらは以下により詳細に説明される。
【００２３】
ここに示す例示的実施形態は２つのＬＲＵ４２、４４を使用しているが、ここに記載するシステムをあらゆる数のＬＲＵに一般化することができることが当業者に理解されるであろう。実際、その手法はあらゆる数のキャッシュメモリ３９の部分とともに動作するようにさらに一般化できる。
【００２４】
ＬＲＵ４２は複数のメモリブロック５１〜５５から構成され、それら各々はディスクドライブ３２〜３４の１つの上の１つのトラックに対応する。各ブロック５１〜５５はキャッシュメモリ３９の１つのスロットに対応することができ、スロットは単純にブロック５１〜５５の１つについて使用されるキャッシュメモリ３９の部分を指している。加えて、「スロット番号」はブロック５１〜５５の特定の１つを指すように使用され、スロットはキャッシュメモリ３９内のその相対的位置にしたがってゼロで始まる連続番号を付される。よって、最小メモリアドレスを有するスロットはスロット０とすることができ、次に高いメモリアドレスを有するスロットはスロット１とすることができ、他も同様である。１つの実施形態では、ディスクドライブ３２〜３４の、および各メモリブロック５１〜５５内の各トラックは50,368バイトのメモリを含む。しかし、そのサイズは変更可能であることが当業者には理解されるであろう。加えて、ここに記載したシステムを適合化して各ブロック５１〜５５のサイズがディスドライブ３２〜３４の各トラックのサイズに必ずしも対応しないようにすることが可能であることが当業者には理解されるであろう。例えば、各ブロック５１〜５５は、トラックサイズの倍数またはトラックサイズの分数とすることができる。
【００２５】
また、第２のＬＲＵ４４は、第１のＬＲＵ４２のメモリブロック５１〜５５に類似した複数のメモリブロック６１〜６５を含む。ＬＲＵ４２は、最も最近にＬＲＵ４２へ追加されたブロック５５を指し示すヘッドポインタを含む。同様に、ＬＲＵ４４も最も最近ＬＲＵ４４へ追加されたブロック６５を指し示すヘッドポインタを含む。  
【００２６】
ディスクインタフェースユニット２６〜２８のいずれかのプロセッサは、例えば第１のＬＲＵ４２または第２のＬＲＵ４４のいずれかを操作し、それにブロックを加えるかそれからブロックを除去する。ＬＲＵ４２、４４の各々は２重にリンクしたリングリスト（比較的複雑なデータ構造）として構成されているので、一度に１つのプロセッサのみがＬＲＵ４２、４４の１つにアクセスすることが許可される。これは、ソフトウェアロック４６，４７を使用することにより達成され、そのソフトウェアロックは手旗信号法のものであってプロセッサがＬＲＵ４２、４４の１つへの排他的なアクセスを得ることを可能とし、そうして同時アクセスを禁止する。１つの実施形態では、ＬＲＵ４２、４４の１つへのアクセスを望むディスクインタフェースユニット２６〜２８の１つのプロセッサはまず従来のハードウェアメモリロックを使用してメモリハードウェアをロックし、ソフトウェアロック４６、４７へのアクセスを防止する。ハードウェアロックが達成されると、アクセスを望むプロセッサは次にソフトウェアロック４６、４７の１つを取得し、その後ハードウェアロックが解放される。ソフトウェアロック４６はＬＲＵ４２について使用することができ、ソフトウェアロック４７はＬＲＵ４４について使用することができることを述べておく。
【００２７】
ここに記載されるシステムの形態は、ディスクインタフェースユニット２６〜２８の１つが例えば第１のＬＲＵ４２へのアクセスをしている間、ディスクインタフェースユニット２６〜２８の別の１つが同時にＬＲＵ４４へアクセスすることを可能とするものである。よって、２つのプロセッサは同時にＬＲＵ４２、４４へアクセスすることができる。同時アクセスを許容することは、プロセッサがキャッシュへのアクセスを待つ場合を減らす。ＬＲＵ４２、４４への２つのプロセッサの同時アクセスは、ＬＲＵ４２、４４の各々が、他のデータ構造への変更により影響を受けないスタンドアローンデータ構造であることにより可能となる。よって、ＬＲＵ４２のリンクされたリングリストの操作はＬＲＵ４４のリンクされたリングリストに影響を与えない。いくつかの実施形態において、時々、各ソフトウェアロック４６、４７をアクセスおよび保持することにより、全てのＬＲＵ４２、４４がロックされるまで、キャッシュメモリ３９全体をロックすることが有益である。  
【００２８】
データへのアクセスがホストの１つにより要求されるたびに、トラックI.D.テーブル３８を調べてデータが既にキャッシュメモリ３９内にあるか否かを決定する。データが既にキャッシュメモリ３９内にあるならば、ディスクドライブ３２〜３４にアクセスするのではなくキャッシュメモリ３９がアクセスされる。読み取り処理の場合、これはホストインタフェースユニット２２〜２４ならびにディスクインタフェース２６〜２８により実行することができる。そうでなければ、要求されたデータが既にキャッシュメモリ３９内にない場合、それはフェッチされ、キャッシュメモリ３９内に入れられる。その場合、そのデータに関連付けされるブロックが、以下により詳細に記述される方法でＬＲＵ４２、４４の１つへ割り当てられる。
【００２９】
いくつかの実施形態では、スロット番号を使用してＬＲＵ４２、４４のいずれが特定のデータを含んでいるかを決定する。例えば、２つのＬＲＵを有するシステムにおいて、奇数のスロット番号を１つのＬＲＵに対応させ、偶数のスロット番号を他方のＬＲＵに対応させることができる。Ｎ個のＬＲＵを有するシステムでは、式：（スロット番号）modＮを使用して特定のＬＲＵにスロット番号をマップすることができる。トラックI.D.テーブル３８はキャッシュメモリのどこに特定のデータが存在するかを示すので、この手法はどのＬＲＵが特定のデータを含むかを決定するための便利な機構を提供し、この情報を使用してスロット番号を決定し、それを特定のＬＲＵにマップする。
【００３０】
図４Ａおよび４Ｂを参照すると、キャッシュ３９内のブロックを変更するためのプロセスが示されている。システム２０に接続されたホストがキャッシュ３９内に記憶されたデータを変更する時、ホストはホストインタフェースユニット２２〜２４の適当な１つを通じてディスク書き込み命令を送信する。書き込み中のディスクドライブ３２〜３４のトラックがキャッシュ３９内にあるならば、書き込み中のブロック（図４Ａおよび４Ｂの例においてはブロック６２）がＬＲＵ４４から移動されてブロック６２が書き込み動作中に他のプロセスにより操作されることを防止する。書き込み動作のためにブロック６２が除去されると、トラックI.D.テーブル３８内の対応するエントリーが変更されて書き込み動作を示す。ブロック６２がＬＲＵ４４から除去されると、第２のＬＲＵ４４についてのソフトウェアロック４７が解放され、他のプロセスが第２のＬＲＵ４４を変更することができる。一度ブロック６２が第２のＬＲＵ４４から分離されると、ホストインタフェース２２〜２４の１つが提供したデータを使用してブロック６２を変更することができる。変更後、ブロック６２からのデータは、ブロック６２に対応するディスクドライブ３２〜３４のトラックへコピーして戻される。
【００３１】
図４Ｂに示すように、ブロック６２がディスクドライブ３２〜３４へコピーされると、ブロック６２はＬＲＵ４２、４４の１つへ戻る。図４Ｂに示す例では、ブロック６２は第２のＬＲＵ４４ではなく、第１のＬＲＵ４２へ戻る。別の実施形態では、ブロック６２は常にＬＲＵ４４へ戻り、一般的に１つのブロックがある１つのＬＲＵに割り当てられると、それは移動しない。
【００３２】
新しいブロックがキャッシュ３９に加えられるたびに、および、書き込み処理後に１つのブロックがＬＲＵ４２、４４のうちの特定の１つに戻されるたびに、そのブロックはＬＲＵ４２、４４の特定の１つに割り当てられる。１つの実施形態では、ＬＲＵ４２、４４の特定の１つへのブロックの割り当ては、乱数または疑似乱数をとることにより行われる。乱数または疑似乱数は例えばＬＲＵ４２、４４の番号のウォールクロックタイム（wall clock time）モジューロであり、ここでは２である。こうして、図４Ａおよび４Ｂに示すブロック６２などの変更されたブロック、またはディスク３２からアクセスされた新しいブロックに対してＬＲＵ４２、４４の特定の１つがランダムに割り当てられ、それによりＬＲＵ４２、４４中のブロック数を均衡させるメカニズムが提供される。スロット番号がＬＲＵにマップされる場合には、１つのブロックについての特定のＬＲＵが割り当てられると、特定のスロット（および、スロット番号）を得てブロックを割り当てられたＬＲＵに配置することができることを述べておく。
【００３３】
図５を参照すると、フローチャート７０は１つのブロックをＬＲＵ４２、４４の１つに割り当てるステップを示す。第１のステップ７２で、各ＬＲＵ４２、４４のフォールスルータイム（fall through time）が計算される。フォールスルータイムは、ブロックがＬＲＵ上で費やす時間量を調べることにより決定することができ、新しいブロックが追加された場合は最も古いブロックは無視されることを述べておく。新しいブロックのための空間を作るためにブロックが除去されるたびに、ブロックが追加された時間からブロックが除去された時間を減算することによりフォールスルータイムが決定できる。こうして、特に小さいフォールスルータイムを有するＬＲＵは比較的少数のブロックを記憶し、比較的大きなフォールスルータイムを有するＬＲＵは比較的多数のブロックが割り当てられる。
【００３４】
ステップ７２の次はステップ７４であり、そこではＬＲＵ４２と４４のフォールスルータイムの差が計算される。その差は、ＬＲＵ４２、４４の一方のフォールスルータイムをＬＲＵ４２、４４の他方のフォールスルータイムから減算することにより計算される。ステップ７４の次はステップ７６であり、そこではステップ７４で計算されたデルタ値（差の値）が特定の閾値より大きいか否かが決定される。閾値は絶対数に設定することができ、またはフォールスルータイムの大きい方または小さい方のある割合として計算することができる。閾値は、いくつかの経験的観察や計算にしたがって決定することができ、その性能は当業者には単純である。
【００３５】
ステップ７６においてデルタ値が特定の閾値未満であると決定された場合、制御はステップ７６からステップ７８へ進み、そこでは上述と類似の方法でブロックがＬＲＵ４２、４４の１つにランダムに割り当てられる。その代わりに、テストステップ７６でデルタ値が特定の閾値より大きいと決定されたならば、制御はテストステップ７６からステップ７９へ進み、そこで小さいフォールスルータイムを有するほうのＬＲＵに新しいブロックが割り当てられる。
【００３６】
ここに記載されたシステムはあらゆる数のＬＲＵを使用して実行することができる。ＬＲＵの数が増加すると、ブロックがＬＲＵ上で費やす時間量が減少する。しかし、ＬＲＵへのアクセスを待っているプロセッサの衝突数も減少する。１つのプロセスのみが一度にそのデータ構造を変更できるメカニズムが存在するならば、各ＬＲＵについて２重にリンクされたリングリスト以外のデータ構造も使用できることを述べておく。また、本発明は、ここに図示したものと異なる方法で動作するように構成された、ここに示したものと異なるハードウェアにより実施することができることを述べておく。ホストインタフェースユニット２２〜２４もキャッシュ３９を制御することができる。
【００３７】
図６を参照すると、概略図１００は、複数のＬＲＵ１０６〜１０８を含むキャッシュ１０４を有する記憶装置１０２を示す。ＬＲＵ１０６〜１０８の動作は、ＬＲＵ１０６〜１０８へのブロックの割り当てを以下に詳細に述べる種々の手法にしたがって行うことができることを除き、上述のものと同じである。データ記憶装置１０２は、外部ホストシステム（図示せず）をデータ記憶装置１０２に接続するための複数の接続１１０〜１１２を有する。ホスト接続１１０〜１１２をグループに分類し、例えばホスト接続１１０が第１のグループを代表し、ホスト接続１１１が第２のグループを代表し、ホスト接続１１２が第３のグループを代表することができる。
【００３８】
以下により詳細に説明するように、ホスト接続１１０〜１１２の異なるグループに、異なるアクセス、優先度およびＬＲＵ１０６〜１０８に関するサービスレベルを提供することができる。そうして、例えば、ホスト接続１１１のグループよりも多くの利用可能メモリ空間を有するキャッシュ１０４の第１のセグメントをホスト接続１１０のグループに割り当てることができる。これは、例えば、ホスト接続１１０〜１１２の各グループをＬＲＵ１０６〜１０８の特定の１つにマップすることにより実現することができる。こうして、セグメントは１つ以上のＬＲＵを含み、または一般的にキャッシュメモリのあらゆるサブセットを参照することができる。より低いレベルのサービスを提供されているホスト接続１１０〜１１２の第２のグループより多くのＬＲＵにマップされることにより、ホスト接続１１０〜１１２の第１のグループに、キャッシュ１０４（すなわち、多量のメモリ空間に対応するキャッシュ１０４のセグメント）へのより多数のアクセスを提供することができる。加えて、ホスト接続１１０〜１１２の第１のグループを、ホスト接続１１０〜１１２の第２のグループより相対的に大きなＬＲＵ（すなわち、より多数のブロックを含むＬＲＵ）に割り当てることができる。
【００３９】
図７を参照すると、テーブル１２０は特定のＬＲＵを特定のグループに割り当てる手法を示す。図７の例は、４つのグループの外部ホスト接続と８つのＬＲＵがあると仮定している。テーブル１２０は各グループを特定のＬＲＵマスクに関連付け、そのＬＲＵマスクはどのＬＲＵが対応するグループに割り当てられているかを示す８ビット値である。ＬＲＵマスクの各ビット位置は、８つのＬＲＵの特定の１つに対応する。加えて、あるビットの値１は、対応するＬＲＵがそのグループに割り当てられていることを示し、値０は対応するＬＲＵがそのグループに割り当てられていないことを示す。こうして、図７の例では、グループ１が３つのＬＲＵに割り当てられ、グループ２および３の各々が２つのＬＲＵに割り当てられ、グループ４は１つのみのＬＲＵが割り当てられている。図７の例では、２つ以上のグループに割り当てられたＬＲＵは無い。しかし、他の実施形態では、２つ以上のグループを同一のＬＲＵに割り当てることができる（すなわち、複数のグループが特定のＬＲＵを共用する）。
【００４０】
全てのＬＲＵが同一のサイズであると仮定すると（異なるサイズのＬＲＵを有する実施形態は後述する）、テーブル１２０はグループ１接続に接続された外部ホストシステムはキャッシュの３／８に対応するセグメントに割り当てられ、グループ２および３は各々キャッシュの１／４に対応するセグメントに割り当てられ、グループ４はキャッシュの１／８に対応するセグメントに割り当てられることを示している。グループ間の特定の割り当ては、例えばグループ１はより多数の外部ホストシステムを有し、またはより多量の記憶を要する外部ホストシステムを有するなどの種々の理由から行うことができる。加えて、テーブル１２０に反映されている種々のグループのサービスレベルは、例えば記憶装置１０２を制御する記憶提供者への追加料金の支払いなどを含む種々の他の理由によりより高いレベルのサービスがグループ１に提供されていることを単に示している。
【００４１】
テーブル１２０に記載された方針の実施は、上述のスロット数／ＬＲＵ割り当てルールを使用して達成することができる。すなわち、式：ＬＲＵ番号＝スロット番号（モジューロ）Ｎ（ここで、ＮはＬＲＵの数）を使用しＬＲＵが特定のスロット番号と関連付けられると仮定すると、キャッシュのブロックの要求は、要求を行った装置のグループに割り当てられたＬＲＵに対応するスロット番号を割り当てることにより処理される。例えば、１０個のＬＲＵがあり、要求している装置がＬＲＵ番号５にアクセスするグループに関連付けされているとすると、その装置からのキャッシュブロックの要求は、スロット番号モジューロ１０が５となるようにスロット番号を割り当てる（例えば、スロット番号５、１５、２５など）。
【００４２】
図８を参照すると、フローチャート１３０は、要求している外部ホストシステムによりキャッシュメモリを取得することに関連して実行されるステップを示す。処理は第１のステップ１３２で始まり、そこでキャッシュブロックを要求している外部ホストシステムに対応する接続についてグループ番号が取得される。図６に示し先に述べたように、グループ番号は記憶装置１０２のホスト接続１１０〜１１２にマップすることができる。各ホスト接続１１０〜１１２が固有の識別子を有し、ホスト接続１１０〜１１２の特定の１つの識別子にグループ番号をマップする従来のテーブル（図示せず）を提供するようにすることができる。  
【００４３】
ステップ１３２の次はステップ１３４であり、そこでＬＲＵマスクが取得される。ＬＲＵマスクは、図７に関連して上述したテーブル１２０に類似するテーブルを使用して取得される。ステップ１３４の次はステップ１３６であり、そこではステップ１３４で取得されたＬＲＵマスクから割り当てられたＬＲＵにマッチングするスロット番号が返される。マッチングスロット番号をステップ１３６で返すことは後により詳細に説明する。
【００４４】
ステップ１３６の次はテストステップ１３８であり、ステップ１３８はマッチングスロット番号がステップ１３６で取得されたか否かを決定する。そのグループに割り当てられたＬＲＵに対応する利用可能なスロットが存在しない可能性があり、よってステップ１３６でマッチングスロット番号を返すことが不可能な場合があることを述べておく。スロットは、種々の理由、例えばブロックに対応するスロットが変更中であるなどの理由により利用不能となる場合がある。ステップ１３６でマッチングスロット番号を取得するルーチンは、いずれのスロット番号にも対応しない値、例えば−１を返すことにより、マッチングスロットが利用不能であることを示すことができる。
【００４５】
ステップ１３８でマッチングスロットが利用可能であることが決定されると、処理は完了する。そうでなく、マッチングスロット番号が利用不能であるならば、制御はステップ１３８から１４０へ進み、そこで代わりのスロット番号が返される。ステップ１４０で代わりのスロット番号を返すことは、後により詳細に説明される。
【００４６】
図９を参照すると、フローチャート１５０は図８のステップ１３６でマッチングスロット番号を返すことに関して実行されるステップの詳細を示す。一般的に、マッチングスロット番号を返すプロセスは、空きスロットが見つかるまでグループのＬＲＵについての全てのスロットの処理を繰り返すことを伴う。ここに記載する実施形態では、各ＬＲＵのスロットのリストを指し示すポインタがあり、各ＬＲＵへのポインタ（すなわち、各ＬＲＵのスロットの各リストへのポインタ）がある。よって、そのプロセスは、スロットを要求しているグループに割り当てられた全てのＬＲＵを通じた第１の（外部）繰返しループと、どのスロットが空いているかを決定するために各ＬＲＵについて全てのスロットを調べる第２の（内部）繰返しループと、を含む。
【００４７】
処理は第１のステップ１５２で始まり、そこでグループの第１のＬＲＵが指し示される。そのグループに対応するＬＲＵの決定は、例えば図７との関連で先に述べたように、ＬＲＵマスクの適当なビットを調べてそれがそのグループについて１か０かを決定することにより行うことができる。ステップ１５２の次はステップ１５４であり、そこでＬＲＵの第１スロットが指し示される。上述のように、種々の手法を利用してスロット番号を特定のＬＲＵにマップすることができ、その方法は、式：ＬＲＵ番号＝（スロット番号）モジューロＮを含み、ＮはＬＲＵの数である。スロット番号をＬＲＵにマップするための他の手法を以下に述べる。
【００４８】
ステップ１５４の次はテストステップ１５６であり、そこでは指し示されているスロットが使用可能か否かが決定される。指し示されているスロットが使用可能である場合、制御はステップ１５６からステップ１５８へ移行し、そこでスロット番号が呼び出しルーチン（すなわち、図８に示すプロセス）へ戻る。そうでなく、テストステップ１５６でスロットが利用不能であることが決定されたならば、制御はステップ１５６からテストステップ１６０へ進み、そこでさらに調べるべきスロットがＬＲＵに存在するか否かを決定する。ＬＲＵにさらにスロットがあれば、制御はステップ１６０からステップ１６２へ進み、そこでそのＬＲＵ内の次のスロットが指し示される。ステップ１６２の後、制御はステップ１５６へ戻り、次の繰返しを実行し、そうして第２の（内部）ループを閉じる。
【００４９】
ＬＲＵの全てのスロットが調べられると、次に制御はテストステップ１６０からテストステップ１６４へ進み、そこでそのグループにさらについて調べるべきＬＲＵがあるか否かが決定される。上述のように、２つ以上のＬＲＵを１つのグループに割り当てることができる。テストステップ１６４において、そのグループについてさらに調べるべきＬＲＵがあると決定された場合、制御はステップ１６４からステップ１６６へ進み、そこで−１が（呼び出しルーチンへ）返される。ステップ１６６の後、処理は終了する。
【００５０】
テストステップ１６４において、さらに調べるべきＬＲＵがあると決定された場合、次に制御はステップ１６４からステップ１６８へ進み、そこで次のＬＲＵへのポインタが取得される。ステップ１６８に続いて、制御はステップ１５４へ戻って次の繰返しを実行し、そうして第１の（外部）ループを閉じる。
【００５１】
（ステップ１３６でマッチングスロットが使用不能な場合に）代わりのスロットが取得される図８のステップ１４０は、種々の方法で実行することができ、それは他のグループからスロットを“借りる”ことを含む。１つの実施形態では、他のグループからの第１の利用可能スロットは単純にステップ１４０で取得される。どのＬＲＵが空きスロットを与えるかの選択はランダムに行うことができる。別の手法は、最大のＬＲＵ番号が割り当てられた別のグループに対応するＬＲＵから利用可能なスロットを返し、最も空いているスロットを有するＬＲＵに対応するスロットを返し、および／または最大の割合の利用可能なスロットを有するグループに関連するＬＲＵに対応するスロットを返すことを含む。他の手法は従来技術の当業者に自明であろう。
【００５２】
図１０を参照すると、テーブル１７０は、式：ＬＲＵ番号＝（スロット番号）モジューロＮ（ＮはＬＲＵの数）の使用に変わるスロット番号のマッピング手法を示す。図１０の手法はＬＲＵの相対的サイズを調整することに使用できる。テーブルは、スロット番号のエントリーと、ＬＲＵ番号についての対応するエントリーを含む。図１０のテーブル１７０の例については、スロット番号０と１はＬＲＵ番号１に対応し、スロット２〜５はＬＲＵ番号２に対応し、スロット６はＬＲＵ番号３に対応し、スロット７〜１２はＬＲＵ番号４に対応する。こうしてスロットをＬＲＵにマッピングすることは、ＬＲＵが異なるサイズを有することを可能とする。こうして、いくつかの場合、相対的に大きなＬＲＵの小さい番号を、相対的に小さいＬＲＵの大きな番号に割り当てるのではなく特定のグループに割り当て、またその逆を行うことが有益である。例えば、各々が１０個のスロットを有する３つのＬＲＵを特定のグループに割り当てるのではなく、各々が１５スロットを有する２つのＬＲＵを割り当てることが望ましい。スロット番号をＬＲＵにマッピングするためのテーブル１７０とグループ番号をＬＲＵにマッピングするためのテーブル１２０の使用は、記憶装置に接続された装置についての性能レベル、利用可能なキャッシュメモリ、などを調整する際に最大の柔軟性を提供する。
【００５３】
ここに記載したグループをキャッシュのセグメントに割り当てるシステムは、異なるデータ構造とデータのブロックをキャッシュに記憶するための手法を使用して実行することができる。例えば、種々のグループが使用するキャッシュのセグメントを単純にオーバーラップ（すなわち、いくつかのグループがセグメントのある部分を共用する）を有しまたは有しないように割り当てることができる。キャッシュ内のデータのブロックは、ブロックの線形アレイ、ブロックへのポインタのリストまたはアレイ、その他としてキャッシュを構成およびアクセスすることを含む種々の従来のキャッシュ管理手法のいずれかを使用して操作することができる。
【００５４】
本発明を詳細に図示および記述した好適な実施形態との関係で説明してきたが、従来技術の当業者にはその種々の変形および改善が容易に自明となろう。よって、本発明の精神および視野は請求の範囲によってのみ限定されるべきである。
【図面の簡単な説明】
【００５５】
【図１】本発明を利用するシステムの概略図である。
【図２】図１のシステムのメモリを示す詳細概略図である。
【図３】本発明のキャッシュメモリに記憶されるデータを示す詳細概略図である。
【図４Ａ】本発明のキャッシュメモリに記憶されるデータの変形ブロックの処理を示す。
【図４Ｂ】本発明のキャッシュメモリに記憶されるデータの変形ブロックの処理を示す。
【図５】本発明によるデータのブロックについてＬＲＵを選択する１つの手法を示すフローチャートである。
【図６】本発明による複数のＬＲＵを有するデータ記憶装置を示す概略図である。
【図７】本発明によるグループとＬＲＵマスクとの相関を示すテーブルである。
【図８】本発明によるスロットの割り当てを示すフローチャートである。
【図９】本発明によるマッチングスロットの取得を示すフローチャートである。
【図１０】本発明によるスロット番号の特定のＬＲＵへのマッピングを示すテーブルである。
【図１】
2006196011.tif 000003
【図２】
2006196011.tif 000004
【図３】
2006196011.tif 000005
【図４Ａ】
2006196011.tif 000006
【図４Ｂ】
2006196011.tif 000007
【図５】
2006196011.tif 000008
【図６】
2006196011.tif 000009
【図７】
2006196011.tif 000010
【図８】
2006196011.tif 000011
【図９】
2006196011.tif 000012
【図１０】
2006196011.tif 000013