JPH07261938A - 記憶制御方法及びそれを用いた圧縮機能付きディスクシステム - Google Patents

記憶制御方法及びそれを用いた圧縮機能付きディスクシステム

Info

Publication number
JPH07261938A
JPH07261938A JP6053910A JP5391094A JPH07261938A JP H07261938 A JPH07261938 A JP H07261938A JP 6053910 A JP6053910 A JP 6053910A JP 5391094 A JP5391094 A JP 5391094A JP H07261938 A JPH07261938 A JP H07261938A
Authority
JP
Japan
Prior art keywords
physical
block
logical
data
physical block
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.)
Granted
Application number
JP6053910A
Other languages
English (en)
Other versions
JP3419538B2 (ja
Inventor
Kiyousuke Achiwa
恭介 阿知和
Akira Yamamoto
山本  彰
Minoru Yoshida
稔 吉田
Tetsuzo Kobashi
徹三 小橋
Tetsuhiko Fujii
哲彦 藤井
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP05391094A priority Critical patent/JP3419538B2/ja
Publication of JPH07261938A publication Critical patent/JPH07261938A/ja
Application granted granted Critical
Publication of JP3419538B2 publication Critical patent/JP3419538B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

(57)【要約】 【目的】論理ブロックを複数個並べた一連のデータを、
ディスク記憶媒体上のサイズ固定の複数の物理データブ
ロックに格納するとき、納効率が良く、一つの論理デー
タブロックを読むのに最低限のシークや回転待ちで済む
記憶制御方法を提供する。 【構成】複数の論理ブロック210からなる論理ブロッ
クグループ220と、複数の物理ブロック230からな
る物理ブロックグループとを1対1に対応付ける。一つ
の論理ブロックの圧縮データをディスクに格納する際、
その圧縮データの容量に応じて、1個ないし複数個の物
理ブロックを確保して、この物理ブロックに格納する。
この物理ブロックは、可能であれば、当該論理ブロック
の属する論理ブロックグループに対応付けられた物理ブ
ロックグループの中から選ぶ。でなければ、隣接する物
理ブロックグループを含めてこれらの物理ブロックグル
ープの中から選ぶ。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、計算機の論理アドレス
を物理アドレスに対応付ける記憶制御方法とそれを用い
た記憶装置システムに係り、特に記憶効率と応答性能を
重視した記憶制御方法と、それを用いた圧縮機能を有す
る圧縮機能付きディスクシステムに関する。
【0002】
【従来の技術】コンピュータシステムでは、ディスク容
量を有効に使うため、データを圧縮してディスクに格納
することがあり、次に示すような技術が知られている。
【0003】下記の文献[1]は、データ圧縮機能とラ
イトバック機能を有するディスクアレイサブシステムに
ついて述べている。このディスクアレイサブシステムで
は、ホストインターフェースとキャッシュメモリとの間
にデータ圧縮部を持ち、ホストコンピュータから送られ
てくるライトデータを圧縮し、圧縮したライトデータを
キャッシュメモリに格納する。ライトデータのディスク
への格納は、ライトアクセスの順序に、データを追記形
式で格納する。
【0004】文献[1]:CGS GROUP:The
Evaluator Series, An Ana
lysis Of The StorageTek I
ceberg 9200 Storage Syste
m, ES−0003−0,March 1992,2
−9.(シージーエスグループ:ザ エバルエーター
シリーズ、アン アナリシス オブ ザ ストレージテ
ック アイスバーグ 9200 ストレージ システ
ム) また、特開平5−189157公報においては、圧縮機
能を有するディスクのデータ格納方法について述べてい
る。
【0005】
【発明が解決しようとする課題】上記文献[1]に記載
ののディスクアレイサブシステムにおけるアドレスマッ
プ方法を用いた場合、論理アドレスの持つ連続性を考慮
せずに追記形式で格納するため、論理アドレス上連続し
た長いデータをアクセスするときには多くのシークや回
転待ちが発生してしまい、効率良くシーケンシャルリー
ド時の先読みができないという問題がある。
【0006】また、上記特開平5−189157号公報
に記載のようにディスクシステムに圧縮機能を持たせた
場合、次のような問題が生ずる。
【0007】すなわち、同じ長さのデータを圧縮して
も、データの内容により、圧縮率が変化することがある
ため、ディスク上のデータの更新時に、更新データの圧
縮率が以前より低くなり、ディスク上の元の位置に格納
できなくなる場合がある。特開平5−189157で
は、こうしたデータによる圧縮率の変化に対応するため
に、圧縮データの格納領域として固定サイズ格納エリア
とオーバーフロー部格納エリアを用意し、通常の圧縮デ
ータは固定サイズ格納エリアに格納するが、圧縮率が低
く固定サイズ格納エリアに格納できないデータに対し、
固定サイズ格納エリアに入らない部分をオーバーフロー
部格納エリアに格納することにより、圧縮されたデータ
のサイズの変動の問題に対応している。しかし、このデ
ータ格納方法を用いた場合、圧縮率の低いデータへは少
なくとも2回のヘッド位置付けを要するディスクアクセ
スが発生するため、応答時間が長くなってしまうという
問題がある。
【0008】本発明の第1の目的は、ディスク記憶媒体
を用いたディスク記憶装置の制御において、論理ブロッ
クを複数個並べた一連のデータを、ディスク記憶媒体上
のサイズ固定の複数の物理データブロックに格納すると
き、納効率が良く、一つの論理データブロックを読むの
に最低限のシークや回転待ちで済む記憶制御方法および
システムを提供することである。
【0009】本発明の第2の目的は、圧縮機能付きディ
スクシステムにおいて、ディスク上の特定の領域へ圧縮
率の低いデータが集中しても、ディスク満杯やライト不
可能になりにくい記憶制御方法およびシステムを提供す
ることである。
【0010】本発明の第3の目的は、圧縮機能を有し、
ホストコンピュータの指定する論理アドレスと、実際の
ディスク上の物理アドレスがある領域の範囲内で異なる
ことを許すディスクシステムにおいて、ホストコンピュ
ータ指定のライト領域に未使用部分が不足した場合など
で、他の領域の未使用部分を割り当てた時にも応答時間
の劣化を抑える記憶制御方法およびシステムを提供する
ことである。
【0011】本発明の第4の目的は、圧縮機能を持たな
いディスクシステムと比較して、リードの応答時間がそ
れほど長くならないようなデータ圧縮機能を持つディス
クの制御方法およびシステムを提供することである。
【0012】本発明の第5の目的は、圧縮機能付きディ
スクシステムにおける、シーケンシャルリード時の性能
の良い先読み機能を実現する記憶制御方法およびシステ
ムを提供することである。
【0013】本発明の第6の目的は、ホストコンピュー
タの指定する論理アドレスと、実際のディスク上の物理
アドレスが異なることを許すディスクシステムにおい
て、ディスク上の空き領域が多くの箇所に分散して存在
することをできるだけ防ぐ記憶制御方法を提供すること
である。
【0014】
【課題を解決するための手段】上記目的を達成するため
に、本発明による記憶制御方法は、上位装置から見える
論理アドレスにより管理される論理ブロックのデータを
圧縮し、該圧縮されたデータを、物理アドレスにより管
理される物理ブロックのデータとしてディスク記憶装置
に格納する記憶制御方法であって、前記物理ブロックの
容量を前記論理ブロックの容量より小さく設定し、連続
する複数個の論理ブロックで論理ブロックグループを形
成し、連続する複数個の物理ブロックで物理ブロックグ
ループを形成し、該物理ブロックグループと前記論理ブ
ロックグループとを1対1に対応付け、一つの論理ブロ
ックを、その圧縮データの容量に応じて、当該論理ブロ
ックの属する論理ブロックグループに対応付けられた物
理ブロックグループ内の1個または複数個の物理ブロッ
クに割り当て、該1個または複数個の物理ブロックに前
記圧縮データを格納するようにしたものである。
【0015】この方法において、好ましくは、前記一つ
の論理ブロックの属する物理ブロックグループに対応づ
けられた物理ブロックグループ(以下、対応物理ブロッ
クグループという)内に、前記圧縮データのすべてを格
納しうる空き物理ブロックが存在しない場合、当該対応
物理ブロックグループに隣接する物理ブロックグループ
内で空き物理ブロックを探し、該空き物理ブロックを前
記論理ブロックに割り当てる。
【0016】また、本発明による上位装置から見える論
理アドレスにより管理される論理ブロックのデータを圧
縮し、該圧縮されたデータを、物理アドレスにより管理
される物理ブロックのデータとしてディスク記憶装置に
格納する圧縮機能付きディスクシステムであって、前記
論理ブロックのデータの圧縮および伸長を行なう圧縮伸
長手段と、該圧縮および伸長の対象となるデータを一時
格納する一時記憶手段と、一つの論理ブロックのデータ
を圧縮した圧縮データを格納する物理ブロックとして、
当該圧縮データの容量に基づいて、その格納に必要な物
理ブロックの個数を判定する物理ブロック個数判定手段
と、該決定された個数の物理ブロックとして、連続した
物理ブロックまたは近接した物理ブロックを確保する物
理ブロック確保手段と、該確保された物理ブロックに前
記圧縮データを格納する格納手段とを備えたものであ
る。
【0017】
【作用】本発明では、一つの論理ブロックの圧縮データ
をディスク記憶装置に格納する際、その論理ブロック
を、圧縮データの容量に応じて、当該論理ブロックの属
する論理ブロックグループに対応付けられた物理ブロッ
クグループ(対応物理ブロックグループ)内の1個また
は複数個の物理ブロックに割り当てる。あるいは、その
対応物理ブロックの隣接する物理ブロックグループ内の
物理ブロックに割り当てる。このように、一つの論理ブ
ロックの圧縮データが一つの物理ブロックに収納し切れ
ない場合であっても、従来のように直ちにオーバーフロ
ー部格納エリアを利用するのではなく、当該対応物理ブ
ロックグループおよび/または隣接物理ブロックグルー
プ内で相互に連続または近接した複数の物理ブロックを
確保することができる。換言すれば、ディスク上の特定
の割り当て領域へ圧縮率の低いデータが集中して未使用
部分が無くなっても、当該割り当て領域の近傍割り当て
領域も含めて未使用部分を探し、近傍の物理ブロックを
確保する。近傍でない物理ブロックには極力割り当てな
いようにする。このようにして確保された物理ブロック
は最低限(例えば1回)のシーク動作でアクセスできる
ことが期待される。このような構成により、シーク動作
の発生を最低限に抑えることができ、データの圧縮率の
如何に関わらずシステムの応答時間が長くならないよう
にすることができる。
【0018】本発明は、見方を変えれば、論理アドレス
の上位の値によりディスク上のおおまかな位置である割
り当て領域を決定し、論理アドレスの下位とは関係無
く、上記割り当て領域の中で未使用部分がまとまるよう
に未使用部分を割り当てるものであり、これにより、空
き領域が多くの箇所に分散して存在することをできるだ
け防ぐことができる。
【0019】また、ディスク上の特定の割り当て領域へ
圧縮率の低いデータが集中して未使用部分が無くなって
も、予備領域の未使用部分を割り当てることにより、ラ
イト不可能にならないようにすることができる。予備領
域の未使用部分を割り当てるときには必ず連続に割り当
てるようにすることにより、予備領域内でのシーク動作
の発生を防ぐことができ、応答時間の短縮が図れる。
【0020】また、連続した論理アドレスを持つ一連の
データ(例えば、数十キロバイトを想定)を圧縮する際
に、データを複数の小片に分割してそれぞれ圧縮するこ
とにより、そのデータのごく一部が必要になった場合に
も必要になった小片を含む最低読みだし単位(物理ブロ
ック)のデータのみをディスクからリードし、その小片
のみを伸長すれば目的のデータが得られるため、数キロ
バイト程度の小規模なリードを高速に行なうことができ
る。また、圧縮された小片をまとめ、ディスク上の連続
な領域を割り当てることで、数十キロバイト程度のデー
タが必要になったときに、多くのシークや回転待ちが発
生することもなく、高速に処理することができる。
【0021】ディスク上で連続している物理ブロック間
には論理ブロック小片(圧縮したものであっても、しな
いものであってもよい)をまたがらせることにより物理
ブロックの格納効率を良くし、ディスク上で連続してい
ない物理ブロック間には論理ブロック小片をまたがらせ
ないようにして、一つの論理ブロック小片をディスク上
の離れた位置に配置しないようにすることで、その論理
ブロック小片を含む物理ブロックをリードするとき、2
回以上のアクセスが発生しないようにすることができ
る。
【0022】また、割り当て領域全体をディスク上の格
納順に全て読み込んで、読み込んだデータを論理アドレ
ス順に並び換えることにより、先読み機能の実現ができ
る(割り当て領域のデータ全てを論理アドレスの順番で
揃えることができる)。
【0023】
【実施例】以下、本発明の好適な実施例について、図面
を参照して詳細に説明する。
【0024】図1に、本発明を適用した圧縮機能を有す
る記憶装置システム100の構成例を、ホストコンピュ
ータ110とともに示す。
【0025】記憶装置システム100は、ホストコンピ
ュータ110とデータの受渡しを行なうホストインター
フェース120、データの圧縮処理や伸長処理を行なう
圧縮伸長装置130と、中央処理装置(CPU)140
と、このCPU140の内部記憶装置としてのメモリ1
50と、外部記憶装置としてのディスクドライブ160
と、ディスクドライブ160とデータの受渡しを行なう
ドライブインターフェース170とにより構成される。
これらの各要素はバスにより相互に接続されている。圧
縮伸長装置130は、コンピュータにおけるプログラム
やテキスト・ファイルに関するデータを圧縮/伸長する
装置である。この圧縮伸長装置130において採用しう
るデータ圧縮アルゴリズムの詳細については、例えば、
文献「可逆圧縮アルゴリズムを理解する」インタフェー
スAug.1992、第88〜123頁に記載されてい
る。可逆圧縮とは、圧縮前後で情報落ちを許さない圧縮
をいう。
【0026】本実施例では、ディスクドライブ160
は、2.5GBの容量を持つものとし、本記憶装置シス
テム100は圧縮効果を期待して、ホストコンピュータ
110に対し、4GB分の論理アドレスへのアクセスを
許可するものとする。勿論、本発明は、この構成に限定
されるものではなく、任意の容量のディスクドライブ1
60に適用可能である。また、論理アドレスも任意分取
ることが可能である。
【0027】図2は、本記憶装置システム100におい
て、ホストコンピュータ110から見えるディスクであ
る論理ディスク180と、実際に圧縮されたデータを格
納するディスクである物理ディスク190の対応関係を
示している。
【0028】本実施例では、論理ディスク180は8K
Bのサイズを持つ論理ブロック小片200を多数集めた
ものである。論理ブロック小片200のサイズはこれに
限定されるものではなく、任意サイズであってよい。こ
の論理ブロック片200の集合により論理ブロック21
0が構成され、さらにこの論理ブロック210の集合に
より論理ブロックグループ220が構成される。
【0029】次に、論理ディスク180の管理単位であ
る論理ブロック210と論理ブロックグループ220の
定義を述べる。
【0030】本実施例では、アドレス上連続した論理ブ
ロック小片200を8個まとめて、論理ブロック210
を構成する。論理ブロック210は、64KBのサイズ
を持ち、論理ディスク180における基本的な管理単位
を構成する。また、論理ブロック210を16個(1M
B)集めたものが論理ブロックグループ220を構成す
る。ただし、論理ブロック210を構成する論理ブロッ
ク小片200の個数、および論理ブロックグループ22
0を構成する論理ブロック210の個数は、これらに限
定されるものではなく、他の構成を採用することも可能
である。
【0031】次に、本実施例における物理ディスク19
0の管理単位について述べる。
【0032】物理ディスク190内の16KBの単位を
物理ブロック230とする。連続した物理ブロック23
0を32個(512KB)まとめて物理ブロックグルー
プ240を構成する。また、ディスクの末尾に512M
B分の物理ブロック230からなる予備領域250があ
る。通常、ディスクはシリンダー、トラック、セクタと
いう物理的な単位を持つが、物理ブロック230は単純
に32個のセクタに相当する(1セクタが512バイト
のとき)と考えてよい。これらのセクタは、物理的に連
続しているものとする。一つの物理ブロックグループは
1シリンダまたは複数の隣接するシリンダ内の連続する
物理ブロックにより構成されるものとする。
【0033】論理ブロック210は、その圧縮の度合い
に応じて、1個から最大4個の物理ブロック230に対
応させて物理ディスク190に格納する。この対応付け
はマッピングテーブル300で行なう。マッピングテー
ブル300は、メモリ150にもつテーブルであり、そ
の詳細については、後述する。論理ブロックグループ2
20と物理ブロックグループ240とは1対1対応させ
る。また、圧縮率の低い論理ブロック210のデータは
予備領域250に格納されることがある。その具体的な
例については後述する。
【0034】物理ブロック230や予備領域250サイ
ズのサイズについても、本発明は上記のものに限定され
るものではない。物理ブロックグループ240を構成す
る物理ブロック230の個数についても同様である。た
だし、圧縮効果を得るためには、物理ブロックグループ
240は論理ブロックグループ220よりも小さくなく
てはならない。
【0035】図3は、本実施例の記憶装置システム10
0における圧縮の概念を説明するための図であり、伸長
データ260と圧縮データ280の対応関係を示す。
【0036】伸長データ260の圧縮に際し、まず、伸
長データ260を複数の圧縮単位270に等分して、こ
れらの各圧縮単位270ごとに圧縮処理を行ない、その
結果得られた複数の圧縮データ小片265をまとめて一
つの圧縮データ280とする。これにより、論理ブロッ
ク内の部分的なデータのリード要求に対して、その論理
ブロックに対応したすべての圧縮データの伸長を行なう
必要がなくなり、該当する圧縮データ片のみの伸長を行
なえばよいので、リード処理の応答が速くなる。
【0037】図4は本実施例における、ホストコンピュ
ータ110とやりとりを行なう伸長データ260を格納
する論理ブロック210と、ディスクに格納する圧縮デ
ータ280を格納する物理ブロック230の対応関係を
示す。
【0038】一つの論理ブロック210はデータの圧縮
率に応じて、1個〜4個の物理ブロック230と対応す
る。図4の例では、1個の論理ブロック210の圧縮デ
ータは3個の物理ブロック230に格納されている。本
実施例では単純のために、一つの物理ブロック230に
は異なる論理ブロック210のデータは格納しないもの
とする。もちろん、本発明は一つの物理ブロック230
に異なる論理ブロック210を格納するようにすること
も可能である。
【0039】前述のように、論理ブロック210は64
KBのサイズを持ち、これを8KBずつ8等分したもの
を論理ブロック小片200と呼ぶ。論理ブロック210
のデータは論理ブロック小片200単位に分割して圧縮
する。すなわち、論理ブロック210単位でなく、論理
ブロック小片200単位で圧縮することにより、論理ブ
ロック小片200程度のサイズのリード要求が来たとき
に、論理ブロック210全体を用意する必要が無く、対
応する論理ブロック小片200のみをよいすればよいた
め、応答時間が短くなる。
【0040】論理ブロック小片200のデータを圧縮し
たものを圧縮データ小片290と呼び、これを論理ブロ
ック210に対応する物理ブロック230に格納する。
【0041】ディスク上で物理的に連続している(すな
わちディスクのヘッド位置付けが1階で済む)二つの物
理ブロック230間には圧縮データ小片200がまたが
るように格納して圧縮データ小片200の格納効率を上
げる。図では圧縮データ小片291が隣接する二つの物
理ブロック230にまたがって格納されている。一方、
連続しない物理ブロック230間には、たとえ空きエリ
アが生じるとしても、両物理ブロック230間にまたが
って圧縮データ小片200を格納することはしない。こ
れにより、またがり部分へのリード要求に対してディス
クのヘッド位置付けが2回発生することを防ぐ。図の例
では、物理ブロック292と293が連続していないの
で、圧縮データ小片294は両者にまたがらずに、物理
ブロック293の先頭から格納される。
【0042】図5は本実施例における物理ディスク19
0上のデータ格納形式を示す。
【0043】前述のとおり、物理ブロック230は16
KBのサイズを持ち、連続した物理ブロック230を3
2個まとめて、512KBのサイズの物理ブロックグル
ープ240を構成する。ディスクの末尾に、512MB
分の大きさを持ち、物理ブロックグループ240に入り
切らない圧縮データを格納する予備領域250を持つ。
【0044】図6はホストコンピュータ110から見え
る論理ディスク180のデータ格納形式を示す。
【0045】本実施例では、論理ブロック210は64
KBのサイズを持ち、連続した論理ブロック210を1
6個まとめて、1024KBのサイズの論理ブロックグ
ループ220を構成する。
【0046】図7は論理ブロックグループ220と物理
ブロックグループ240の対応関係を示す。
【0047】図示のとおり、同一番号の論理ブロックグ
ループ220と物理ブロックグループ240とは1対1
に対応させる。
【0048】図8、図9は1個の論理ブロック210と
1個以上の物理ブロック230との対応関係を示す。
【0049】通常は図8に示すように、論理ブロック2
10はその論理ブロック210の属する論理ブロックグ
ループ220に対応する物理ブロックグループ240b
とその隣接物理ブロックグループ240a,240cに
属する1〜4個の物理ブロック230に格納する。1〜
4個の物理ブロックは、なるべく空き領域を生じさせな
いように、一つの物理ブロックグループの先頭から順次
確保していくことが好ましい。選択する物理ブロックグ
ループとしては、まず、その論理ブロックグループ22
0に対応する物理ブロックグループ240bに着目し、
ここで必要な連続物理ブロックを確保できるか調べ、で
きなければ、いずれか隣の物理ブロックグループ240
aまたは240cにおいてその連続物理ブロックが確保
できるかを調べる。連続ブロックの確保がいずれの物理
ブロックグループでも無理である場合には、物理ブロッ
クグループ240bにおいて、不連続であっても必要個
数の物理ブロックを確保できるか調べ、できなければ、
隣接する物理ブロックグループも含めて当該必要個数の
物理ブロックが確保できるか探す。それでも確保できな
い場合には、いずれの物理ブロックグループも使用せ
ず、予備領域においてその必要個数すべての物理ブロッ
クを連続して確保する。このような優先順位をもって、
物理ブロックの確保を行なうことにより、論理ブロック
210の圧縮データの容量の如何にかからわず、極力、
ヘッド位置付けの変更が少なくなるような物理的に近接
したディスク領域における物理ブロックの割り当てが可
能になる。なお、論理ブロックに対応して確保する物理
ブロックの位置の決定処理については、後にフローチャ
ートを用いて詳述する。
【0050】論理ブロック210を予備領域250に格
納するときには、図9に示すように、必ず連続した物理
ブロック230に格納する。連続した物理ブロック23
0に格納するのは、予備領域250はかなり大きなサイ
ズ、たとえば本実施例では全ディスクの5分の1のサイ
ズを持つため、物理ブロック230が離れていると1個
の論理ブロック210のアクセス中にシーク動作が入
り、応答時間が長くなる恐れがあるためである。
【0051】図10はディスク上の空き物理ブロック2
30を管理する空き物理ブロック管理ビットマップ42
0である。
【0052】一つの物理ブロック230が空いているか
使用中かを1ビットで表す。本実施例では1は使用、0
は空きを表す。このビットマップ420において、物理
ブロックグループ240nに対応する部分は、ビットマ
ップの先頭を0ビット目として、n×32ビット目から
32ビット分である。一般に、物理ブロックグループ2
40がm個の物理ブロック230から構成されていると
きには、n×mビット目からmビット分となる。
【0053】図11、図12は、論理ブロック210と
物理ブロック230を対応させるマッピングテーブル3
00とそのエントリ310を示す。このマッピングテー
ブル300は、記憶装置システム100の持つメモリ1
50上に置く。一つの論理ブロック210に一つのマッ
ピングテーブルエントリ310が対応する。
【0054】図11は、論理ブロック210に対応する
物理ブロック230が物理ブロックグループ240内に
ある場合のマッピングテーブル300とそのエントリ3
10を示す。
【0055】一つのエントリ310内の各項目(320
〜380)を同図の右側に拡大して示す。予備領域利用
フラグ320は、そのエントリ310に割り当てられた
論理ブロック210に対応する物理ブロック230が予
備領域250内にあるかどうかを示す。この場合、予備
領域250ではなく物理ブロックグループ240内にあ
るので、フラグ320はオフとなっている。
【0056】第0物理ブロックの物理ブロックグループ
内位置330、第1物理ブロックの物理ブロックグルー
プ内位置340、第2物理ブロックの物理ブロックグル
ープ内位置350、第3物理ブロックの物理ブロックグ
ループ内位置360は、それぞれ、論理ブロック210
に対応する最大4個の物理ブロック230が、隣接も含
めた3個の物理ブロックグループ240内のどの位置に
あるかを示す。本実施例においては、物理ブロックグル
ープ240は32個の物理ブロック230から構成され
ているため、3個の物理ブロックグループ240内にあ
る物理ブロック230の位置を表わすのに7ビット以上
必要である。この7ビットを用いることにより、ライト
対象の論理ブロックグループ220に対応する物理ブロ
ックグループ240がn番目であるとき、n−1番目の
物理ブロックグループ240の先頭の物理ブロック23
0から、n+1番目の物理ブロックグループ240の末
尾の物理ブロック240を一意に特定することができ
る。
【0057】また、一つの論理ブロック210に対応す
る物理ブロック230の個数が3個以下の場合には、必
要のない物理ブロックグループ内位置330〜360に
物理ブロック230の位置番号としてありえない値、た
とえば「−1」を書き込んでおく。
【0058】370〜380は、1論理ブロック210
内の8個の論理ブロック小片200がそれぞれどの物理
ブロック230に格納されているかを示す物理ブロック
番号(これは、第0から第3物理ブロックいずれかを示
す2ビットデータである)、物理ブロック230の先頭
から格納されているか否かを示す物理ブロック先頭フラ
グ、および物理ブロック230内のどこに格納されてい
るかを示す物理ブロック内位置を表わす。
【0059】図12に、論理ブロック210に対応する
物理ブロック230が予備領域250内にある場合のマ
ッピングテーブル300とそのエントリ390を示す。
【0060】図11の場合と同様、予備領域利用フラグ
320は、論理ブロック210に対応する物理ブロック
230が予備領域250内にあるか否かを示し、この場
合、オンである。このフラグ320に続く項目400お
よび410はこの場合に特有のものである。テーブル用
エリアとしては、図11と同一のエリアを用いている。
【0061】使用物理ブロック数400は論理ブロック
210に対応する物理ブロック230の数を示す。「第
0物理ブロックの予備領域内位置」410は、論理ブロ
ック210に対応する1個〜4個の連続した物理ブロッ
ク230が予備領域250内のどの位置にあるかを示
す。370〜380は、図11の場合と同様、論理ブロ
ック210内の8個の論理ブロック小片200がそれぞ
れどの物理ブロック230に格納されているか、物理ブ
ロック230の先頭から格納されているか否か、物理ブ
ロック230内のどこに格納されているかを示す。
【0062】次に、図13〜図20のフローチャートを
用いて、記憶装置システム100の基本的な動作を説明
する。
【0063】図13はリード処理のフローチャートであ
る。
【0064】CPU140は、ホストコンピュータ11
0より要求を受けた論理ブロック小片200の属する論
理ブロックグループ220番号、論理ブロック210番
号に基づいてメモリ150内のマッピングテーブル30
0を参照することにより対応する物理ブロック230
(物理ブロックグループ内位置330〜360の“−
1”でないもの)を全て求め、ドライブインターフェー
ス170にそれらの物理ブロック230のリード要求を
出す(ステップ500)。但し、本実施例では、論理ブ
ロックの分割圧縮を行なっているので、論理ブロック内
の一部のデータのみをリード対象とするときには、その
一部のデータを含む論理ブロック小片に対応する圧縮デ
ータ小片(例えば図4の290)を含む物理ブロックの
みに対してリード要求を出せばよい。この物理ブロック
からメモリ150(図1)上に読みだした圧縮データ小
片の伸長を行ない、このメモリから必要な部分のみを読
みだせばよい。このように、論理ブロックの分割圧縮を
行なうようにしたことにより、分割圧縮を行なわない場
合に比較して、リード処理の応答時間を短縮することが
できる。
【0065】ドライブインターフェース170はディス
クドライブ160から要求データを格納している物理ブ
ロック230をリードし、メモリ150にリードデータ
を転送する(ステップ510)。
【0066】圧縮伸長装置130は、メモリ150上に
あるディスクドライブ160からのリードデータを伸長
し、メモリ150に格納する(ステップ520)。
【0067】ホストインターフェース120はメモリ1
50上にある、伸長したデータ中の要求された論理ブロ
ック小片200をホストコンピュータ110に転送する
(ステップ530)。
【0068】図14はライト処理のフローチャートを示
す。
【0069】ホストインターフェース120は、ホスト
コンピュータ110よりライトデータを受けとり、メモ
リ150に格納する(ステップ540)。
【0070】CPU140は、ホストコンピュータ11
0より要求を受けた論理ブロック小片200の属する論
理ブロックグループ220、論理ブロック210番号に
基づいてマッピングテーブル300を参照することによ
り、対応する物理ブロック230を全て求め、ドライブ
インターフェース170にそれらのリード要求を出す
(ステップ550)。リード要求を出すのは、ディスク
の物理ブロック230にライトデータを格納するため
に、一旦、論理ブロック210全体のデータを揃えて物
理ブロック230に詰め直す必要があるためであり、論
理ブロック210全体へのライトであればリード動作は
行なわない。
【0071】ドライブインターフェース170は、ディ
スクドライブ160から物理ブロック230をリード
し、メモリ150に転送する(ステップ560)。
【0072】圧縮伸長装置130は、メモリ150上に
あるディスクからのリードデータを伸長し、メモリ15
0に格納する(ステップ570)。
【0073】CPU140は、リードしたデータにホス
トコンピュータ110からのライトデータを上書きし、
ディスク格納データを生成する(ステップ580)。
【0074】CPU140は、マッピングテーブル30
0、空き物理ブロック管理ビットマップ420を修正し
て、論理ブロック210に対応する物理ブロック230
を空きにする(ステップ590)。
【0075】後述するディスク格納データ圧縮処理を行
なう(ステップ600)。
【0076】後述するライト位置決定処理を行なう(ス
テップ610)。
【0077】ドライブインタフェース170は、ステッ
プ600で圧縮された、メモリ150上のディスク格納
データを、ステップ610のライト位置決定処理により
得られたディスク上の物理ブロック230にライトする
(ステップ620)。
【0078】図15でディスク格納データ圧縮処理につ
いて説明する。
【0079】圧縮伸長装置130は、ディスクに格納す
る論理ブロック210を構成する論理ブロック小片20
0を全て別々に圧縮し(ステップ630)、圧縮データ
をメモリ150上に詰めて格納する(ステップ64
0)。これは、図22の491に示すように、複数の物
理ブロック230が連続して確保できたとき、物理ブロ
ック230間にデータがまたがるように格納したものと
同じ配置になっている。なお、図22では、物理ブロッ
ク230と圧縮データ小片290を示すブロックの高さ
を変えて示してあるが、これは単に両者の識別のためで
あり、それ以外の意味はない。
【0080】CPU140は、マッピングテーブル30
0の論理ブロック小片200に関する情報を、物理ブロ
ック230が連続して確保できたものとして修正する
(ステップ650)。
【0081】図16〜図20により、論理ブロック21
0に対応する物理ブロック230を決定する処理(ライ
ト位置決定処理)について説明する。ライト位置決定処
理はCPU140が行なう。空きの物理ブロック230
の検索には空き物理ブロック管理ビットマップ420を
用いる。また、空き物理ブロック230を確保する処理
については、後述する。
【0082】図16のステップ660において、圧縮し
たデータが1個の物理ブロック230に格納できるかど
うかをそれらの容量の比較により判定し、格納できるよ
うであれば図17のステップ690に、格納できないよ
うであればステップ670に進む。
【0083】圧縮データが2個の連続した物理ブロック
230に格納できるかどうかを判定し、格納できるよう
であれば図18のステップ730に、格納できないよう
であればステップ680に進む。
【0084】圧縮データが3個の連続した物理ブロック
230に格納できるかどうかを判定し、格納できるよう
であれば図19のステップ830に、格納できないよう
であれば図20のステップ930に進む。
【0085】図17は圧縮データが1個の物理ブロック
230に格納できる場合である。
【0086】ステップ690において、論理ブロック2
10の属する論理ブロックグループ220に対応する物
理ブロックグループ240内に空き物理ブロック230
があるかどうかを判定し、存在すればその空き物理ブロ
ック230を確保する(ステップ720)。存在しなけ
れば、隣接している物理ブロックグループ240内に空
き物理ブロック230があるかどうか判定し(ステップ
700)、あればその空き物理ブロック230を確保し
(ステップ720)、なければ予備領域250に空き物
理ブロック230を確保する(ステップ710)。
【0087】図18は、圧縮データが、容量的には、2
個の連続した物理ブロック230に格納できる場合であ
る。
【0088】ステップ730において、論理ブロック2
10の属する論理ブロックグループ220に対応する物
理ブロックグループ240内に2個の連続した空き物理
ブロック230が存在するかどうかを判定する。存在す
ればその空き物理ブロック230を確保する(ステップ
820)。
【0089】存在しなければ、隣接している物理ブロッ
クグループ240も含めて2個の連続した空き物理ブロ
ック230があるかどうか判定し(ステップ740)、
あればその空き物理ブロック230を確保する(ステッ
プ820)。
【0090】無い場合には、圧縮データが2個の連続し
ない物理ブロック230に格納できるかどうかを判定す
る(ステップ750)。これは、連続した物理ブロック
230間ではデータのまたがりを許すのに対し、連続し
ない物理ブロック230間ではまたがりを許さないた
め、連続する物理ブロック230には格納できても、同
数の連続しない物理ブロック230には格納できない場
合があるためである。
【0091】2個の連続しない物理ブロック230に圧
縮データを格納できる場合には、ステップ760におい
て、論理ブロック210の属する論理ブロックグループ
220に対応する物理ブロックグループ240内に2個
の空き物理ブロック230があるかどうかを判定し、存
在すればその空き物理ブロック230を確保する(ステ
ップ820)。
【0092】存在しなければ、隣接している物理ブロッ
クグループ240も含めて2個の空き物理ブロック23
0があるかどうか判定し(ステップ770)、あればそ
の空き物理ブロック230を確保する(ステップ82
0)。無ければ、予備領域250に2個の連続した空き
物理ブロック230を確保する(ステップ780)。
【0093】2個の連続しない物理ブロック230に圧
縮データを格納できない場合には、ステップ790にお
いて、論理ブロック210の属する論理ブロックグルー
プ220に対応する物理ブロックグループ240内に3
個の空き物理ブロック230があるかどうかを判定し、
存在すればその空き物理ブロック230を確保する(ス
テップ810)。
【0094】存在しなければ、隣接している物理ブロッ
クグループ240も含めて3個の空き物理ブロック23
0があるかどうか判定し(ステップ800)、あればそ
の空き物理ブロック230を確保する(ステップ81
0)。無ければ、予備領域250に2個の連続した空き
物理ブロック230を確保する(ステップ780)。
【0095】図19は、圧縮データが容量的には3個の
連続した物理ブロック230に格納できる場合である。
【0096】ステップ830において、論理ブロック2
10の属する論理ブロックグループ220に対応する物
理ブロックグループ240内に3個の連続した空き物理
ブロック230が存在するかどうかを判定する。存在す
ればその空き物理ブロック230を確保する(ステップ
920)。
【0097】存在しなければ、隣接している物理ブロッ
クグループ240も含めて3個の連続した空き物理ブロ
ック230があるかどうか判定し(ステップ840)、
あればその空き物理ブロック230を確保する(ステッ
プ920)。
【0098】無い場合には、容量的に、圧縮データが3
個の連続しない物理ブロック230に格納できるかどう
かを判定する(ステップ850)。
【0099】3個の連続しない物理ブロック230に圧
縮データを格納できる場合には、ステップ860におい
て、論理ブロック210の属する論理ブロックグループ
220に対応する物理ブロックグループ240内に3個
の空き物理ブロック230があるかどうかを判定し、存
在すればその空き物理ブロック230を確保する(ステ
ップ920)。
【0100】存在しなければ、隣接している物理ブロッ
クグループ240も含めて3個の空き物理ブロック23
0があるかどうか判定し(ステップ870)、あればそ
の空き物理ブロック230を確保する(ステップ92
0)。無ければ、予備領域250に3個の連続した空き
物理ブロック230を確保する(ステップ880)。
【0101】容量的に、3個の連続しない物理ブロック
230に圧縮データを格納できない場合には、ステップ
890において、論理ブロック210の属する論理ブロ
ックグループ220に対応する物理ブロックグループ2
40内に4個の空き物理ブロック230があるかどうか
を判定し、存在すればその空き物理ブロック230を確
保する(ステップ910)。
【0102】存在しなければ、隣接している物理ブロッ
クグループ240も含めて4個の空き物理ブロック23
0があるかどうか判定し(ステップ900)、あればそ
の空き物理ブロック230を確保する(ステップ91
0)。無ければ、予備領域250に3個の連続した空き
物理ブロック230を確保する(ステップ880)。
【0103】図20は圧縮データが4個の連続した物理
ブロック230を必要とする場合である。
【0104】ステップ930において、論理ブロック2
10の属する論理ブロックグループ220に対応する物
理ブロックグループ240内に4個の連続した空き物理
ブロック230があるかどうかを判定し、存在すればそ
の空き物理ブロック230を確保する(ステップ98
0)。
【0105】存在しなければ、隣接している物理ブロッ
クグループ240も含めて4個の連続した空き物理ブロ
ック230があるかどうか判定し(ステップ940)、
あればその空き物理ブロック230を確保する(ステッ
プ980)。
【0106】無ければ、論理ブロック210の属する論
理ブロックグループ220に対応する物理ブロックグル
ープ240内に4個の空き物理ブロック230が存在す
るかどうかを判定し(ステップ950)、存在すればそ
の空き物理ブロック230を確保する(ステップ98
0)。
【0107】存在しなければ、隣接している物理ブロッ
クグループ240も含めて4個の空き物理ブロック23
0があるかどうか判定し(ステップ960)、あればそ
の空き物理ブロック230を確保する(ステップ98
0)。
【0108】無ければ、予備領域250に4個の連続し
た空き物理ブロック230を確保する(ステップ97
0)。
【0109】図21を用いて空き物理ブロック230を
確保する処理について説明する。
【0110】CPU140は空き物理ブロック管理ビッ
トマップ420を走査して、空き物理ブロック230が
連続に確保できるかどうかを調べる(ステップ99
0)。
【0111】連続に確保できるようであれば、CPU1
40は物理ブロック230間にデータをまたがらせるよ
うに決定する(ステップ1040)。
【0112】連続に確保できないようであれば、CPU
140は物理ブロック230間に一つの圧縮データ小片
290のデータをまたがらせないように決定し(ステッ
プ1000)、メモリ150上の圧縮データを図22の
492のように配置し直して(ステップ1010)、マ
ッピングテーブル300の論理ブロック小片200に関
する情報を、物理ブロック230を不連続に確保したも
のとして修正する(ステップ1020)。
【0113】CPU140は、空き物理ブロック管理ビ
ットマップ420修正する(ステップ1030)。
【0114】図23、図24を用いて先読み処理につい
て説明する。
【0115】先読み処理は、シーケンシャルリード時に
リードヒット率を上げるために、後続データをホストコ
ンピュータ110のリード要求に先だって、ディスクか
らメモリ150に読んでおくものである。
【0116】ここで、図24に示すように、物理ブロッ
クグループ240内のデータであって、物理ブロックグ
ループ240の先頭から要求データ470の直前までの
部分を物理ブロックグループ240前半部分480と
し、要求データ470の直後から物理ブロックグループ
240の最後までの部分を物理ブロックグループ後半部
分490とする。
【0117】要求データ470リード後、ドライブイン
ターフェース170はヘッドのある位置から物理ブロッ
クグループの後半部分490をディスクリードし、メモ
リ150に格納する(ステップ1050)。
【0118】ドライブインターフェース170は要求デ
ータ470のある物理ブロックグループ240の先頭に
ディスクヘッドを位置付ける(ステップ1060)。
【0119】ドライブインターフェース170は物理ブ
ロックグループ前半部分480をリードし、メモリ15
0に格納する(ステップ1070)。
【0120】CPU140はリードした物理ブロックグ
ループ240のデータを論理アドレスの順番に並び換え
る(ステップ1080)。
【0121】先読みを次の物理ブロックグループ240
以降も続けるときには、先読み対象の物理ブロックグル
ープ240を全てリードし、そのデータを論理アドレス
の順番に並び換えればよい。
【0122】本実施例では、ライト対象となる物理ブロ
ックグループ240内に空き物理ブロック230が無か
ったとき、隣接の物理ブロックグループ240内で空き
物理ブロック230を探しているが、探索対象を近傍の
n個の物理ブロックグループ240としても問題はな
い。
【0123】また、探索対象を近傍のn個の物理ブロッ
クグループ240としたときに、ライト対象の物理ブロ
ックグループ240に近い物理ブロックグループ240
から探していくことによって、同一論理ブロック210
のデータをディスク上でできるだけ近くに配置すること
ができる。
【0124】本実施例によれば、物理ブロックグループ
240内の空き物理ブロック230をまとめることがで
きるため、フラグメンテーションを防ぐことができる。
【0125】また、物理ブロックグループ240を全て
読み込んで論理アドレス順にソートすることによって、
論理アドレスと物理アドレスが同一である通常のディス
クの場合と同様に高速な先読み処理が実現できる。
【0126】物理ブロックグループ240内に未使用な
物理ブロック230が無くなっても、近傍の物理ブロッ
クグループ240や予備領域の未使用な物理ブロックグ
ループ240を使用することができるため、ライト不可
能な状況になりにくい。
【0127】圧縮単位を小さくできるため、小規模リー
ドの応答時間が短い。また、ある程度論理アドレスの連
続性が保証されるため、中規模リードの応答時間も短
い。
【0128】ディスク上で連続している物理ブロック2
30間では論理ブロック210をまたがらせることによ
り、物理ブロック230の格納効率の向上を図り、ディ
スク上で連続していない物理ブロック230間では論理
ブロック210をまたがらせないことにより、2つの離
れた物理ブロック230を読むことによる応答時間の遅
れを防ぐことができる。
【0129】
【発明の効果】本発明によれば、ホストコンピュータの
指定する論理アドレスと、実際のディスク上の物理アド
レスが異なることを許すディスクシステムにおいて、デ
ィスク上の空き領域が多くの箇所に分散して存在するこ
とを極力防止することができる。また、従来に較べて応
答性能の良い圧縮機能付きディスクを実現することがで
きる。
【図面の簡単な説明】
【図1】本発明を適用した圧縮機能付き記憶装置システ
ムの構成例を示すブロック図。
【図2】論理ディスクと物理ディスクの対応を示す説明
図。
【図3】伸長データと圧縮データの対応を示す説明図。
【図4】論理ブロックと物理ブロックの対応を示す説明
図。
【図5】ディスク上のデータ配置を示す説明図。
【図6】ホストコンピュータから見える仮想的なディス
クのデータ配置を示す説明図。
【図7】論理ブロックグループと物理ブロックグループ
の対応を示す説明図。
【図8】通常格納時の論理ブロックと物理ブロックの対
応を示す説明図。
【図9】予備領域格納時の論理ブロックと物理ブロック
の対応を示す説明図。
【図10】空き物理ブロック管理ビットマップを示す説
明図。
【図11】通常格納時のマッピングテーブルエントリを
示す説明図。
【図12】予備領域格納時のマッピングテーブルエント
リを示す説明図。
【図13】リード処理のフローチャート。
【図14】ライト処理のフローチャート。
【図15】圧縮処理のフローチャート。
【図16】ライト位置決定処理の全体の流れのフローチ
ャート。
【図17】ライト位置決定処理の一部のフローチャー
ト。
【図18】ライト位置決定処理の一部のフローチャー
ト。
【図19】ライト位置決定処理の一部のフローチャー
ト。
【図20】ライト位置決定処理の一部のフローチャー
ト。
【図21】空き物理ブロック確保処理のフローチャー
ト。
【図22】物理ブロック内のデータ配置を示す説明図。
【図23】先読み処理のフローチャート。
【図24】先読み処理の動作概要を示す説明図。
【符号の説明】
180 論理ディスク 190 物理ディスク 200 論理ブロック小片 210 論理ブロック 220 論理ブロックグル−プ 230 物理ブロック 240 物理ブロックグル−プ 250 予備領域
───────────────────────────────────────────────────── フロントページの続き (72)発明者 小橋 徹三 神奈川県小田原市国府津2880番地 株式会 社日立製作所ストレージシステム事業部内 (72)発明者 藤井 哲彦 神奈川県川崎市麻生区王禅寺1099 株式会 社日立製作所システム開発研究所内

Claims (20)

    【特許請求の範囲】
  1. 【請求項1】上位装置から見える論理アドレスにより管
    理される論理ブロックのデータを圧縮し、該圧縮された
    データを、物理アドレスにより管理される物理ブロック
    のデータとしてディスク記憶装置に格納する記憶制御方
    法であって、 前記物理ブロックの容量を前記論理ブロックの容量より
    小さく設定し、 連続する複数個の論理ブロックで論理ブロックグループ
    を形成し、 連続する複数個の物理ブロックで物理ブロックグループ
    を形成し、 該物理ブロックグループと前記論理ブロックグループと
    を1対1に対応付け、 一つの論理ブロックを、その圧縮データの容量に応じ
    て、当該論理ブロックの属する論理ブロックグループに
    対応付けられた物理ブロックグループ内の1個または複
    数個の物理ブロックに割り当て、 該1個または複数個の物理ブロックに前記圧縮データを
    格納することを特徴とする記憶制御方法。
  2. 【請求項2】前記一つの論理ブロックの属する物理ブロ
    ックグループに対応づけられた物理ブロックグループ
    (以下、対応物理ブロックグループという)内に、前記
    圧縮データのすべてを格納しうる空き物理ブロックが存
    在しない場合、当該対応物理ブロックグループに隣接す
    る物理ブロックグループ内で空き物理ブロックを探し、
    該空き物理ブロックを前記論理ブロックに割り当てるこ
    とを特徴とする請求項1記載の記憶制御方法。
  3. 【請求項3】前記ディスク記憶装置に前記物理ブロック
    より大容量の予備領域を用意しておき、前記対応物理ブ
    ロックグループおよびこれに隣接する物理ブロックグル
    ープのいずれにおいても、必要な物理ブロックを確保で
    きないとき、前記予備領域において当該必要な物理ブロ
    ックを確保することを特徴とする請求項2記載の記憶制
    御方法。
  4. 【請求項4】前記圧縮データの格納にn個(nは複数)
    の物理ブロックを必要とする場合、前記対応物理ブロッ
    クグループ内で、連続したn個の物理ブロックを確保で
    きないとき、前記隣接する物理ブロックグループ内にお
    いて当該連続したn個の物理ブロックを探し、該連続し
    たn個の物理ブロックを確保することを特徴とする請求
    項3記載の記憶制御方法。
  5. 【請求項5】前記隣接する物理ブロックグループ内にお
    いても連続したn個の物理ブロックを確保できないと
    き、前記対応物理ブロックグループ内で非連続なn個の
    物理ブロックを探し、該非連続なn個の物理ブロックを
    確保することを特徴とする請求項4記載の記憶制御方
    法。
  6. 【請求項6】前記対応物理ブロックグループ内において
    n個の物理ブロックを確保できないとき、当該対応物理
    ブロックグループおよびこれに隣接する物理ブロックグ
    ループ内で非連続なn個の物理ブロックを探し、該n個
    の物理ブロックを確保することを特徴とする請求項5記
    載の記憶制御方法。
  7. 【請求項7】前記ディスク記憶装置に前記物理ブロック
    より大容量の予備領域を用意しておき、前記対応物理ブ
    ロックグループおよびこれに隣接する物理ブロックグル
    ープ内において、前記n個の物理ブロックのうち1個で
    も確保できないとき、前記予備領域においてn個の物理
    ブロックを確保することを特徴とする請求項6記載の記
    憶制御方法。
  8. 【請求項8】一つの物理ブロックグループに属するすべ
    ての物理ブロックは、前記ディスク記憶装置のヘッドの
    1トラック(またはシリンダ)内もしくは隣接トラック
    (またはシリンダ)内に存在することを特徴とする請求
    項1〜7のいずれかに記載の記憶制御方法。
  9. 【請求項9】一つの論理ブロックを複数の論理ブロック
    小片に分割し、該ブロック小片毎に圧縮を行ない、該ブ
    ロック小片を圧縮した各圧縮ブロック小片について、連
    続した物理ブロック間では両物理ブロックにまたがって
    格納することを許容し、非連続の物理ブロック間では両
    物理ブロックにまたがって格納することを禁止すること
    を特徴とする請求項1〜7のいずれかに記載の記憶制御
    方法。
  10. 【請求項10】データ先読みを行なう際、前記ディスク
    記憶装置の少なくとも1ブロックデータをバッファメモ
    リ内に読み込み、該読み込んだデータを論理アドレス順
    に並び換えることを特徴とする請求項1記載の記憶制御
    方法。
  11. 【請求項11】上位装置から見える論理アドレスとディ
    スク記憶装置上の物理アドレスの対応付けを行なう記憶
    制御方法であって、 論理アドレス情報の一部分より前記ディスク記憶装置上
    のおおまかな格納位置である割り当て領域を決定する上
    位アドレス割り当てのステップと、 前記論理アドレス情報の残りの部分には依らず、前記割
    り当て領域の中で未使用部分を割り当てる下位アドレス
    割り当てのステップと、 を有する記憶制御方法。
  12. 【請求項12】上位装置から見える論理アドレスにより
    管理されるデータを圧縮し、該圧縮されたデータをディ
    スク記憶装置に格納する記憶制御方法であって、 前記アドレスの連続したひとまとまりのデータを複数の
    小片に分割するステップと、 該ステップで分割した小片をそれぞれ圧縮するステップ
    と、 該ステップで圧縮した小片をまとめ、前記ディスク記憶
    装置上の連続した領域に格納するステップと、 を有する記憶制御方法。
  13. 【請求項13】上位装置がデータをリードあるいはライ
    トする単位であるところの論理ブロックデータを複数個
    並べた一連のデータを、ディスク記憶装置上のサイズ固
    定の管理単位であるところの複数の物理ブロックへ格納
    する記憶制御方法であって、 前記論理ブロックを複数の論理ブロック小片に分割する
    ステップと、 前記ディスク記憶装置上で連続している物理ブロック間
    には論理ブロック小片のデータをまたがらせるステップ
    と、 前記ディスク記憶装置上で連続していない物理ブロック
    間には論理ブロックのデータをまたがらせないステップ
    とを有する記憶制御方法。
  14. 【請求項14】上位装置から見える論理アドレスにより
    管理される論理ブロックのデータを圧縮し、該圧縮され
    たデータを、物理アドレスにより管理される物理ブロッ
    クのデータとしてディスク記憶装置に格納する圧縮機能
    付きディスクシステムであって、 前記論理ブロックのデータの圧縮および伸長を行なう圧
    縮伸長手段と、 該圧縮および伸長の対象となるデータを一時格納する一
    時記憶手段と、 一つの論理ブロックのデータを圧縮した圧縮データを格
    納する物理ブロックとして、当該圧縮データの容量に基
    づいて、その格納に必要な物理ブロックの個数を判定す
    る物理ブロック個数判定手段と、 該決定された個数の物理ブロックとして、前記ディスク
    記憶装置上で連続した物理ブロックまたは近接した物理
    ブロックを確保する物理ブロック確保手段と、 該確保された物理ブロックに前記圧縮データを格納する
    格納手段と、 を備えた圧縮機能付きディスクシステム。
  15. 【請求項15】前記論理ブロックとこの論理ブロックに
    対して確保された1個または複数個の物理ブロックの対
    応関係を保持するテーブル手段を備えたことを特徴とす
    る請求項14記載の圧縮機能付きディスクシステム。
  16. 【請求項16】複数の連続した論理ブロックからなる論
    理ブロックグループと、複数の連続した物理ブロックグ
    ループとが1対1に関係づけられ、前記物理ブロック確
    保手段は、前記一つの論理ブロックについてその属する
    論理ブロックグループに対応づけられた物理ブロックグ
    ループ内から必要な個数の空き物理ブロックを確保し、
    この確保ができないとき、隣接する物理ブロックグルー
    プ内から前記必要な個数の空き物理ブロックを確保する
    ことを特徴とする請求項14または15記載の圧縮機能
    付きディスクシステム。
  17. 【請求項17】前記ディスク記憶装置のすべての物理ブ
    ロックが空きか否かを示す情報を保持する空き物理ブロ
    ック管理手段を備えることを特徴とする請求項14〜1
    6のいずれかに記載の圧縮機能付きディスクシステム。
  18. 【請求項18】前記圧縮伸長手段は、一つの論理ブロッ
    クのデータ圧縮時に、該論理ブロックを複数の論理ブロ
    ック小片に分割し、該分割により得られた論理ブロック
    小片のデータごとに圧縮処理を行なうことを特徴とする
    請求項14〜17のいずれかに記載の圧縮機能付きディ
    スクシステム。
  19. 【請求項19】前記物理ブロック確保手段は、1つの論
    理ブロックに対して複数の物理ブロックを確保する必要
    があるとき、1つの物理ブロックグループ内で連続した
    物理ブロックを確保することを特徴とする請求項14〜
    18のいずれかに記載の圧縮機能付きディスクシステ
    ム。
  20. 【請求項20】前記ディスク記憶装置は、予備領域を有
    し、前記物理領域確保手段が一つの論理ブロックに対し
    て物理ブロックを確保できないとき、前記予備領域の連
    続した未使用部分を当該物理ブロックとして確保するこ
    とを特徴とする請求項14〜19のいずれかに記載の圧
    縮機能付きディスクシステム。
JP05391094A 1994-03-24 1994-03-24 記憶制御方法及びそれを用いた圧縮機能付きディスクシステム Expired - Lifetime JP3419538B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP05391094A JP3419538B2 (ja) 1994-03-24 1994-03-24 記憶制御方法及びそれを用いた圧縮機能付きディスクシステム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP05391094A JP3419538B2 (ja) 1994-03-24 1994-03-24 記憶制御方法及びそれを用いた圧縮機能付きディスクシステム

Publications (2)

Publication Number Publication Date
JPH07261938A true JPH07261938A (ja) 1995-10-13
JP3419538B2 JP3419538B2 (ja) 2003-06-23

Family

ID=12955878

Family Applications (1)

Application Number Title Priority Date Filing Date
JP05391094A Expired - Lifetime JP3419538B2 (ja) 1994-03-24 1994-03-24 記憶制御方法及びそれを用いた圧縮機能付きディスクシステム

Country Status (1)

Country Link
JP (1) JP3419538B2 (ja)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001043115A (ja) * 1999-07-29 2001-02-16 Nec Corp ファイル管理システム及びファイル管理方法
JP2007172082A (ja) * 2005-12-19 2007-07-05 Fujitsu Ltd 制御装置およびコピー制御方法
JP2009104236A (ja) * 2007-10-19 2009-05-14 Hitachi Ltd ストレージ装置及びこれを用いたデータ格納方法
JP2009151807A (ja) * 2009-02-09 2009-07-09 Hitachi Ltd 記憶装置
JP2010113727A (ja) * 2009-12-21 2010-05-20 Hitachi Ltd 制御方法及び記憶システム
JP2014514622A (ja) * 2011-09-13 2014-06-19 株式会社日立製作所 フラッシュメモリを含むストレージシステム、及び記憶制御方法
JP2014182823A (ja) * 2013-03-15 2014-09-29 Seagate Technology Llc 動的粒状体に基づく中間記憶領域を利用する方法、データ記憶システムおよび記憶媒体
WO2015162681A1 (ja) * 2014-04-22 2015-10-29 株式会社日立製作所 ストレージシステムおよび記憶デバイスの制御方法

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6760916B2 (ja) 2017-12-20 2020-09-23 Necプラットフォームズ株式会社 ストレージコントローラ、ストレージアレイ装置、データ格納方法、およびプログラム

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001043115A (ja) * 1999-07-29 2001-02-16 Nec Corp ファイル管理システム及びファイル管理方法
JP2007172082A (ja) * 2005-12-19 2007-07-05 Fujitsu Ltd 制御装置およびコピー制御方法
US7657719B2 (en) 2005-12-19 2010-02-02 Fujitsu Limited Controller for a copy operation between a host computer and hard disks, a control method thereof, and a recording medium storing a program for executing the control method
JP4667225B2 (ja) * 2005-12-19 2011-04-06 富士通株式会社 制御装置およびコピー制御方法
JP2009104236A (ja) * 2007-10-19 2009-05-14 Hitachi Ltd ストレージ装置及びこれを用いたデータ格納方法
JP2009151807A (ja) * 2009-02-09 2009-07-09 Hitachi Ltd 記憶装置
JP2010113727A (ja) * 2009-12-21 2010-05-20 Hitachi Ltd 制御方法及び記憶システム
JP2014514622A (ja) * 2011-09-13 2014-06-19 株式会社日立製作所 フラッシュメモリを含むストレージシステム、及び記憶制御方法
US9400618B2 (en) 2011-09-13 2016-07-26 Hitachi, Ltd. Real page migration in a storage system comprising a plurality of flash packages
JP2014182823A (ja) * 2013-03-15 2014-09-29 Seagate Technology Llc 動的粒状体に基づく中間記憶領域を利用する方法、データ記憶システムおよび記憶媒体
WO2015162681A1 (ja) * 2014-04-22 2015-10-29 株式会社日立製作所 ストレージシステムおよび記憶デバイスの制御方法
US10222988B2 (en) 2014-04-22 2019-03-05 Hitachi, Ltd. Efficient management storage system via defining of several size units in advance

Also Published As

Publication number Publication date
JP3419538B2 (ja) 2003-06-23

Similar Documents

Publication Publication Date Title
JP2831602B2 (ja) 圧縮データ管理装置及び圧縮データ管理方法
JP3852954B2 (ja) データ記憶装置
US6233648B1 (en) Disk storage system and data update method used therefor
US6941420B2 (en) Log-structure array
EP0747806B1 (en) Data compression method and structure for a direct access storage device
US6397311B1 (en) System and method for defragmenting a file system
JP3371044B2 (ja) ディスクアレイのための領域割り当て方法およびディスクアレイアクセス方法
US6349372B1 (en) Virtual uncompressed cache for compressed main memory
JP2804115B2 (ja) ディスクファイルシステム
US5666560A (en) Storage method and hierarchical padding structure for direct access storage device (DASD) data compression
US20030145172A1 (en) Method and system for updating data in a compressed read cache
US20110185132A1 (en) Method and system for storing memory compressed data onto memory compressed disks
WO2015076354A1 (ja) ストレージ装置と方法並びにプログラム
US8621134B2 (en) Storage tiering with minimal use of DRAM memory for header overhead
US5537658A (en) Distributed directory method and structure for direct access storage device (DASD) data compression
US5420983A (en) Method for merging memory blocks, fetching associated disk chunk, merging memory blocks with the disk chunk, and writing the merged data
JP3419538B2 (ja) 記憶制御方法及びそれを用いた圧縮機能付きディスクシステム
WO1993000635A1 (en) Data storage management systems
KR20070031647A (ko) 플래시 메모리 장치에 압축 데이터를 기록하는 방법 및상기 기록된 데이터를 읽는 방법, 그리고 상기 방법을이용하는 플래시 메모리 장치
KR20150127434A (ko) 메모리제어장치 및 메모리제어장치의 동작 방법
US5761710A (en) Information apparatus with cache memory for data and data management information
CN114625318A (zh) 应用于固态硬盘的数据写入方法、装置、设备
JP6760916B2 (ja) ストレージコントローラ、ストレージアレイ装置、データ格納方法、およびプログラム
CN115454357B (zh) 一种qcow2文件存储方法以及格式转换方法
JP2004102822A (ja) ディスクアレイ制御装置及びディスクアレイ制御装置におけるデータ書き込み方法

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090418

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20090418

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20100418

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20110418

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20120418

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20120418

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20130418

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20140418

Year of fee payment: 11

EXPY Cancellation because of completion of term