(57)【要約】【課題】圧縮・展開処理時間のオーバーヘッドを少なくし、インターフェースの互換性維持や転送バンド幅の実質的な拡大を実現するメモリデータの圧縮・展開システムを提供する。【解決手段】上位装置とキャッシュメモリと他の記憶装置とで階層状にデータの授受を行うシステムであって、上位装置の下位に非圧縮データを保持する記憶部その１と、記憶部その１の下位に圧縮データを保持する記憶部その２と、記憶部その２の下位に非圧縮データを保持する記憶部その３と、を備えたことを特徴とするメモリデータの圧縮・展開システム。【選択図】図３
2011170403.tif 000002
【特許請求の範囲】
【請求項１】
上位装置とキャッシュメモリと他の記憶装置とで階層状にデータの授受を行うシステムであって、
上位装置の下位に非圧縮データを保持する記憶部その１と、
記憶部その１の下位に圧縮データを保持する記憶部その２と、
記憶部その２の下位に非圧縮データを保持する記憶部その３と、を備えたことを特徴とするメモリデータの圧縮・展開システム。
【請求項２】
記憶部その１と記憶部その２の間の記憶部その１側にデータ圧縮・展開装置を有し、
また、記憶部その２と記憶部その３の間の記憶部その３側にデータ圧縮・展開装置を、有することを特徴とする請求項１記載のメモリデータの圧縮・展開システム。
【請求項３】
記憶部その１と記憶部その２の間の記憶部その１側にデータ圧縮・展開装置を有し、
また、記憶部その２と記憶部その３の間の記憶部その２側にデータ圧縮・展開装置を、有することを特徴とする請求項１記載のメモリデータの圧縮・展開システム。
【請求項４】
記憶部その１と記憶部その２の間の記憶部その２側にデータ圧縮・展開装置を有し、
また、記憶部その２と記憶部その３の間の記憶部その３側にデータ圧縮・展開装置を、有することを特徴とする請求項１記載のメモリデータの圧縮・展開システム。
【請求項５】
記憶部その１と記憶部その２の間の記憶部その２側にデータ圧縮・展開装置を有し、
また、記憶部その２と記憶部その３の間の記憶部その２側にデータ圧縮・展開装置を、有することを特徴とする請求項１記載のメモリデータの圧縮・展開システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、階層状に構成された記憶装置システムにおけるデータ圧縮・展開システムに関するものである。
【背景技術】
【０００２】
図１は、従来から用いられているメモリ階層の例として磁気ディスク装置を用い、更に高速アクセスのためにキャッシュメモリを用いたシステムの一例を示すものである。図中、１は上位装置であり、２はこの上位装置とのインターフェース制御部である。３は下位装置であるディスク装置であり、４はこのディスク装置を制御するデバイス制御部である。５は磁気ディスク装置に読み書きするデータを一時格納しておくキャッシュメモリであり、６はこの磁気ディスク制御装置全体を制御するマイクロプロセッサである。
【０００３】
上記装置において、上位装置１がディスク装置３のデータを読み出す場合は、上位装置１は、上位インターフェース制御部２を介してディスク制御装置にリードのために必要な命令を発行する。ディスク制御装置内部のマイクロプロセッサ６は命令に従って、要求されたデータがキャッシュメモリ５に存在している場合は（リードヒットと呼ぶ）、マイクロプロセッサ６はディスク装置３からデータを読み出さず、直接キャッシュメモリ５のデータを上位インターフェース制御部２を介して上位装置１に送る。この場合は、キャッシュメモリを装備していない磁気ディスク制御装置に比べ、アクセスタイムは著しく短くなり性能は向上する。
【０００４】
一方、データがキャッシュメモリ５に存在していない場合は（リードミスと呼ぶ）、デバイス制御部４を介して下位のディスク装置３に対して該当データの読み出しを行わなければならない。この場合は、キャッシュメモリを装備していない磁気ディスク制御装置と比べ、上位装置１から命令を受け取った後、実際にデータを上位装置１に送り始めるまでアクセスタイムは同等であり、キャッシュメモリの効果はない。
【０００５】
上記リードミスを無くすためにキャッシュメモリを増設すればよいが、ディスク装置３に比べ高価であるため、小さな容量しか実現できず、リードヒットのヒット率向上にも限度がある。
【０００６】
これを解決するために、限られた容量を実質的に拡大する方法や装置が提案されている。その一例として、階層状に構成された記憶装置システムにおいて、キャッシュメモリへのデータ書き込み時にデータを圧縮するデータ圧縮部と、キャッシュメモリからデータ読み出し時にデータを伸張するデータ伸張部とからなるキャッシュメモリ・データ制御装置がある（特許文献１）。
【０００７】
図２は上記キャッシュメモリ・データ制御装置を適用した磁気ディスク制御装置の構成の一例を示したものである。この磁気ディスク制御装置では、７ａは上位インターフェース制御部２とキャッシュメモリ５との間に付加されたデータ圧縮部であり、７ｂは同じく伸張部であり８ａは、同様にデバイス制御部４との間に付加されたデータ圧縮部であり、８ｂは伸張部である。データ圧縮部７ａと８ａの動作は、キャッシュメモリ５への書き込みデータを圧縮する動作をする。同様に、キャッシュメモリ５に書かれていた圧縮データは、データ伸張部７ｂと８ｂを通る際、伸張してもとの長さに戻して上位インターフェース、又はデバイス側に渡される。
【０００８】
この構成によれば、上位インターフェース制御部２またはデバイス制御部４を介してキ
ャッシュメモリ５に格納されるデータは、すべてデータ圧縮伸張部７または８を経由して、圧縮された形で格納される。また、このキャッシュメモリ５上の圧縮された形のデータが上位インターフェース制御部２またはデバイス制御部４を介して読み出されるときも、すべてデータ圧縮伸張部７または８を経由して伸張され、圧縮される前の元の形のデータとして読み出される。
【０００９】
上位装置１がディスク装置３のデータを読み出そうとした場合に、そのデータがキャッシュメモリ５上に存在しなかったリードミスのときは、マイクロプロセッサ６はデバイス制御部４を介して、ディスク装置から該当データを読み出す。このとき読み出されて上位装置に送られると同時に、キャッシュメモリ５にも格納されるデータは、キャッシュメモリ５に格納される前にデータ圧縮伸張部８を通り圧縮されるので、元の生のデータに比べ数分の一の容量になっている。こうして、同一の大きさのキャッシュメモリで、より大量のデータを記憶することが出来、キャッシュのリードヒットのヒット率向上を高めることが出来る。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】特開平５−７３４１３号公報
【発明の概要】
【発明が解決しようとする課題】
【００１１】
図２に示されたキャッシュメモリへのデータ書き込み時にデータを圧縮するデータ圧縮部と、キャッシュメモリからデータ読み出し時にデータを伸張するデータ伸張部とからなるキャッシュメモリ・データ制御装置においては、圧縮された状態でメモリに格納されたデータを、非圧縮データとしてアクセスする際に展開処理（展開とは上記伸張と同じ）が行われる。そのために処理時間待ちが発生する。また、アドレスとデータの対応づけが圧縮時と非圧縮時とで異なるため、このための管理および変換が必要となる。そのためインターフェースが非圧縮システムと異なったものになるか、あるいは変換するための制御部分で処理時間が増大してしまう。また、上位および下位の階層とデータをやり取りする際に上位や下位の階層が同じ圧縮データを保持する場合にはデータを展開する必要がない。この場合、非圧縮時のデータ量で換算した場合にデータ転送量の低下や圧縮・展開処理時間のオーバーヘッドが発生する。
【００１２】
本発明は、係る問題点に鑑みてなされたものであり、圧縮・展開処理時間のオーバーヘッドを少なくし、インターフェースの互換性維持や転送バンド幅の実質的な拡大を実現するメモリデータの圧縮・展開システムを提供することを目的とする。
【課題を解決するための手段】
【００１３】
本発明の請求項１に係る発明は、上位装置とキャッシュメモリと他の記憶装置とで階層状にデータの授受を行うシステムであって、
上位装置の下位に非圧縮データを保持する記憶部その１と、
記憶部その１の下位に圧縮データを保持する記憶部その２と、
記憶部その２の下位に非圧縮データを保持する記憶部その３と、を備えたことを特徴とするメモリデータの圧縮・展開システムである。
【００１４】
本発明の請求項２に係る発明は、記憶部その１と記憶部その２の間の記憶部その１側にデータ圧縮・展開装置を有し、
また、記憶部その２と記憶部その３の間の記憶部３側にデータ圧縮・展開装置を、有することを特徴とする請求項１記載のメモリデータの圧縮・展開システムである。
【００１５】
本発明の請求項３に係る発明は、記憶部その１と記憶部その２の間の記憶部その１側にデータ圧縮・展開装置を有し、
また、記憶部その２と記憶部その３の間の記憶部その２側にデータ圧縮・展開装置を、有することを特徴とする請求項１記載のメモリデータの圧縮・展開システムである。
である。
【００１６】
本発明の請求項４に係る発明は、記憶部その１と記憶部その２の間の記憶部その２側にデータ圧縮・展開装置を有し、
また、記憶部その２と記憶部その３の間の記憶部その３側にデータ圧縮・展開装置を、有することを特徴とする請求項１記載のメモリデータの圧縮・展開システムである。
【００１７】
本発明の請求項５に係る発明は、記憶部その１と記憶部その２の間の記憶部その２側にデータ圧縮・展開装置を有し、
また、記憶部その２と記憶部その３の間の記憶部その２側にデータ圧縮・展開装置を、有することを特徴とする請求項１記載のメモリデータの圧縮・展開システムである。
【発明の効果】
【００１８】
本発明のメモリデータの圧縮・展開システムは以上のような構成であるので、キャッシュメモリへのデータ書き込み時にデータを圧縮するデータ圧縮部と、キャッシュメモリからデータ読み出し時にデータを伸張するデータ伸張部とからなるキャッシュメモリ・データ制御装置において発生する圧縮・展開（伸張）処理のためにアクセス時間が増大してしまう問題が解決される。また、最上位あるいは最下位のメモリ階層では非圧縮システムと等価であるため、インターフェースの互換性が維持される。また、上位や下位の階層が同じ圧縮データを保持する場合には圧縮メモリ階層間でデータを展開する必要がない。この場合において、転送バンド幅の実質的な拡大を実現すると同時に、圧縮・展開処理時間のオーバーヘッドの発生を抑えることが出来る。
【図面の簡単な説明】
【００１９】
【図１】従来から用いられているメモリ階層の例として磁気ディスク装置を用い、更にキャッシュメモリを用いたシステムの一例を示す図。
【図２】キャッシュメモリ・データ制御装置においてデータ圧縮部とデータ伸張部を有した磁気ディスク制御装置の構成の一例を示す図。
【図３】本発明に係るメモリデータの圧縮・展開システムの実施例１を示す図。
【図４】本発明に係るメモリデータの圧縮・展開システムの実施例２を示す図。
【図５】本発明に係るメモリデータの圧縮・展開システムの実施例３を示す図。
【図６】本発明に係るメモリデータの圧縮・展開システムの実施例４を示す図。
【発明を実施するための形態】
【００２０】
以下、図面を用いて本発明を実施するための形態を説明する。
【実施例１】
【００２１】
図３に実施例１を示す。記憶部その２であるＬ２キャッシュメモリをデータ圧縮階層とする実施例を示す。上位装置であるプロセッサの下位には非圧縮データを保持する記憶部その１であるＬ１キャッシュメモリと、記憶部その１の下位には圧縮データを保持する記憶部その２であるＬ２キャッシュメモリと、記憶部その２の下位には非圧縮データを保持する記憶部その３であるメインメモリがある。Ｌ２キャッシュメモリには圧縮データ制御論理と管理情報が付随し、Ｌ２キャッシュメモリ内に保持される圧縮データの管理を行う。また、この実施例では圧縮・展開装置はデータ圧縮階層の外側にある。即ち、記憶部その１と記憶部その２の間の記憶部その１側にデータ圧縮・展開装置があり、記憶部その２と記憶部その３の間の記憶部その３側にデータ圧縮・展開装置がある。
【実施例２】
【００２２】
図４に実施例２を示す。Ｌ２キャッシュメモリとメインメモリを記憶部その２とし、データ圧縮階層とする実施例を示す。上位装置であるプロセッサの下位には非圧縮データを保持する記憶部その１であるＬ１キャッシュメモリがあり、記憶部その１の下位には圧縮データを保持する記憶部その２であるＬ２キャッシュメモリとメインメモリがあり、記憶部その２の下位には非圧縮データを保持する記憶部その３である非圧縮データを保持する外部記憶装置がある。Ｌ２キャッシュメモリとメインメモリにはそれぞれ圧縮データ制御論理と管理情報が付随し、Ｌ２キャッシュメモリやメインメモリに保持される圧縮データの管理を行う。この実施例では圧縮・展開装置はデータ圧縮階層境界の上位側のメモリ階層にある。即ち、記憶部その１と記憶部その２の間の記憶部その１側にデータ圧縮・展開装置があり、また、記憶部その２と記憶部その３の間の記憶部その２側にデータ圧縮・展開装置がある。
【実施例３】
【００２３】
図５に実施例３を示す。記憶部その２であるＬ２キャッシュメモリをデータ圧縮階層とする実施例１とは別の実施例を示す。上位装置であるプロセッサの下位には非圧縮データを保持する記憶部その１であるＬ１キャッシュメモリと、記憶部その１の下位には圧縮データを保持する記憶部その２であるＬ２キャッシュメモリと、記憶部その２の下位には非圧縮データを保持する記憶部その３であるメインメモリがある。Ｌ２キャッシュメモリには圧縮データ制御論理と管理情報が付随し、Ｌ２キャッシュメモリ内に保持される圧縮データの管理を行う。また、この実施例では圧縮・展開装置はデータ圧縮階層の下位側にある。即ち、記憶部その１と記憶部その２の間の記憶部その２側にデータ圧縮・展開装置があり、記憶部その２と記憶部その３の間の記憶部その３側にデータ圧縮・展開装置がある。
【実施例４】
【００２４】
図６に実施例４を示す。Ｌ２キャッシュメモリとメインメモリを記憶部その２とし、データ圧縮階層とする実施例２とは別の実施例を示す。上位装置であるプロセッサの下位には非圧縮データを保持する記憶部その１であるＬ１キャッシュメモリがあり、記憶部その１の下位には圧縮データを保持する記憶部その２であるＬ２キャッシュメモリとメインメモリがあり、記憶部その２の下位には非圧縮データを保持する記憶部その３である非圧縮データを保持する外部記憶装置がある。Ｌ２キャッシュメモリとメインメモリにはそれぞれ圧縮データ制御論理と管理情報が付随し、Ｌ２キャッシュメモリやメインメモリに保持される圧縮データの管理を行う。この実施例では圧縮・展開装置はデータ圧縮階層内にある。即ち、記憶部その１と記憶部その２の間の記憶部その２側にデータ圧縮・展開装置があり、また、記憶部その２と記憶部その３の間の記憶部その２側にデータ圧縮・展開装置がある。
【００２５】
上記、本発明に係る実施例１、実施例２、実施例３及び実施例４の場合、データ圧縮階層はメモリ階層において中間部分のみに制限されており、メモリ階層上位にて保持されるデータは非圧縮データとなる。このためプロセッサ等がＬ１キャッシュなどのデータ圧縮階層より上位の階層のデータにアクセスする限り展開処理時間が不要となる。また、データ圧縮階層より上位にアクセスする場合に限り圧縮・展開が行われていないシステムと等価なインターフェースを用いる事ができる。通常上位のメモリ階層より下位のメモリ階層の方がレイテンシに関して許容量が大きく、アクセス頻度も大幅に少なくなるため、圧縮・展開処理時間にかかるオーバーヘッドの影響を少なくする事ができる。また、データ圧縮階層より下位の記憶装置にて保持されるデータは非圧縮データであり、圧縮・展開が行われていないシステムと等価なデータとなる。このため、この非圧縮データにアクセスする限り圧縮・展開が行われていないシステムと等価なインターフェースを用いる事ができるだけでなく、圧縮・展開処理時間が不要となる。
【００２６】
また、従来は上位または下位の階層とデータをやり取りする場合は一度圧縮・展開が行われていたが、圧縮階層内においては圧縮・展開処理を行う必要はない。圧縮データをメモリ階層間で転送する場合には同一のバンド幅の場合には実質的にデータ転送量が拡大し、また同一転送量でよい場合には必要なバンド幅を減少させる効果を期待できる。特にチップ外部との間でデータ転送を行わせる場合にはピン数や周波数などでバンド幅が制約される事が多いため、実質的なバンド幅の拡大はデータ転送に関する性能向上の面で効果が期待できる。
【００２７】
以上のように本発明によるメモリデータの圧縮・展開システムによれば、プロセッサがＬ１キャッシュメモリのデータにアクセスする場合には、圧縮・展開処理のためのオーバーヘッドが発生する問題を解決すると同時に、等価なインターフェースを利用する事により互換性の問題が解決される。また、圧縮階層間での圧縮・展開処理時間のオーバーヘッドをなくし、転送バンド幅の実質的な拡大を実現することが出来る。
【符号の説明】
【００２８】
１・・・上位装置
２・・・インターフェース制御部
３・・・下位装置であるディスク装置
４・・・デバイス制御部
５・・・キャッシュメモリ
６・・・マイクロプロセッサ
７ａ・・・データ圧縮部
７ｂ・・・データ伸張部
８ａ・・・データ圧縮部
８ｂ・・・データ伸張部
【図１】
2011170403.tif 000003
【図２】
2011170403.tif 000004
【図３】
2011170403.tif 000005
【図４】
2011170403.tif 000006
【図５】
2011170403.tif 000007
【図６】
2011170403.tif 000008