JPH11327978A - データ記憶装置およびデータ管理方法 - Google Patents

データ記憶装置およびデータ管理方法

Info

Publication number
JPH11327978A
JPH11327978A JP10130443A JP13044398A JPH11327978A JP H11327978 A JPH11327978 A JP H11327978A JP 10130443 A JP10130443 A JP 10130443A JP 13044398 A JP13044398 A JP 13044398A JP H11327978 A JPH11327978 A JP H11327978A
Authority
JP
Japan
Prior art keywords
data
block
read
predetermined number
size
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
JP10130443A
Other languages
English (en)
Other versions
JP4197547B2 (ja
Inventor
Kenji Miura
健治 三浦
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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP13044398A priority Critical patent/JP4197547B2/ja
Publication of JPH11327978A publication Critical patent/JPH11327978A/ja
Application granted granted Critical
Publication of JP4197547B2 publication Critical patent/JP4197547B2/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)【要約】 【課題】ブロックサイズ未満の更新リクエスト処理時の
性能低下を軽減することのできるデータ記憶装置を提供
する。 【解決方法】データ記憶装置20全体の制御を司る制御
部21は、ブロックサイズ未満で読み出されたデータ、
もしくはブロックサイズ未満で更新されたデータは、再
度、同一サイズ、すなわちブロックサイズ未満で更新さ
れる可能性が高いと仮定し、ホストシステム10からの
ブロックサイズ未満の読み出しリクエスト処理時、この
リクエストで指定された読み出し対象領域を包含するブ
ロックデータを読み出しバッファ25に格納しておく。
同様に、制御部21は、ホストシステム10からのブロ
ックサイズ未満の更新リクエスト処理時、このリクエス
トで更新されたブロックデータを読み出しバッファ25
に格納しておく。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】この発明は、所定のブロック
サイズをもつブロックデータを所定数蓄積する書き込み
バッファと少なくとも一つ以上のディスク装置とを備
え、この書き込みバッファに蓄積された所定数のブロッ
クデータを一括してディスク装置に書き込むデータ記憶
装置および同装置に適用されるデータ管理方法に係り、
特に、ブロックサイズ未満の更新リクエスト処理時の性
能低下を軽減することのできるデータ記憶装置および同
装置に適用されるデータ管理方法に関する。
【0002】
【従来の技術】近年、情報の電子化が急速に進んでお
り、文書や図形のみならず、音声、静止画像および動画
像などといった様々な情報が電子化されて利用されてい
る。そして、この急速な情報の電子化に伴なって、高速
かつ大容量のデータ記憶装置が種々開発されてきてお
り、その中の一つとして、書き込みリクエストされたブ
ロックデータを所定数蓄積し、この蓄積したブロックデ
ータを元の書き込みリクエストアドレスとは無関係に一
括してディスク装置に書き込むとともに、元のリクエス
トのアドレス(論理アドレス)と実際に書き込んだアド
レス(物理アドレス)との対応をアドレス変換テーブル
により管理するといったデータ記憶装置が存在する。
【0003】このデータ記憶装置では、蓄積した複数の
ブロックデータを一括してディスク装置に書き込むこと
から、ディスク装置に対する処理要求の発生を抑えるこ
とができるため、高速な書き込み処理能力を提供するこ
とが可能となる。
【0004】以下、図面を参照してこのデータ記憶装置
における読み出し処理および書き込み処理の動作原理を
説明する。図8には、このデータ記憶装置20の概略構
成が示されている。
【0005】図8に示すように、このデータ記憶装置2
0は、アドレス変換テーブル23を備えている。このデ
ータ記憶装置20では、ホストシステム10側に提供す
る記憶空間をブロックと称する固定長の記憶単位で分割
する。なお、このホストシステム10側に提供する記憶
空間と、実際にデータを格納するディスク装置24が提
供する記憶空間とは固定で対応づけられるものではな
く、ディスク領域への書き込み時に動的に決定されるも
のである。そして、この対応を管理するためのテーブル
がアドレス変換テーブル23である。
【0006】なお、以降の説明においては、このデータ
記憶装置20がホストシステム10側に提供する記憶空
間を論理記憶空間と、また、この論理記憶空間を参照す
るためのアドレス情報を論理アドレスと表現する。さら
に、ディスク装置24が提供する記憶空間を物理記憶空
間と、また、この物理記憶空間を参照するためのアドレ
ス情報を物理アドレスと表現する。
【0007】図9に、アドレス変換テーブル23の構成
を示す。アドレス変換テーブル23は、論理アドレスに
対応する物理アドレスを格納する。そして、このアドレ
ス変換テーブル23のエントリを各ブロックの先頭論理
アドレスごとに与えることにより、このアドレス変換テ
ーブル23を論理アドレスで参照するのみで該当ブロッ
クが収められているディスク装置の物理アドレスを得る
ことを可能とする。
【0008】ここで、このデータ記憶装置20の書き込
みバッファ22およびディスク装置24への書き込みに
ついて説明する。書き込みバッファ22は、書き込みリ
クエストされたデータを蓄積するための記憶領域であ
る。この書き込みバッファ22は、固定長の記憶領域で
あり、その内部は論理的にブロックサイズ単位に分割さ
れている。また、この書き込みバッファ22は、自身が
格納する各ブロックデータの論理アドレスを保持する。
【0009】制御部21は、ホストシステム10から書
き込みリクエストされたデータをブロックサイズ単位に
分割し、分割されたブロックサイズのデータを書き込み
バッファ22の空き領域に格納するとともに、対応する
論理アドレスも格納する。なお、このときの書き込みリ
クエスト処理は、書き込みデータが書き込みバッファ2
2に格納された時点で完了する。
【0010】また、制御部21は、格納されたデータブ
ロックの数が書き込みバッファに格納可能なブロック数
に達した時点で、書き込み先である物理記憶空間の割り
当てを行ない、その書き込みバッファ22の内容を一括
してディスク装置24へ書き込む。なお、書き込み先の
物理記憶空間の割り当て処理の詳細については、本発明
の範囲外であるので省略する。
【0011】そして、このディスク装置24への書き込
み完了後、制御部21は、アドレス変換テーブル23を
更新する。この処理は、ディスク装置24へ書き込まれ
たデータブロックであって、書き込みバッファ22中に
存在する各データブロックについて、該当データブロッ
クが書き込まれた物理アドレスを、書き込みを行なった
ディスクの先頭物理アドレスと該当データブロックの書
き込みバッファ22内での位置とから求め、アドレス変
換テーブル23を該当ブロックに対応する論理アドレス
で参照し、そのエントリに求めた物理アドレスを登録す
る。
【0012】次に、このデータ記憶装置20の書き込み
バッファ22およびディスク装置24からの読み出しに
ついて説明する。読み出し処理において、制御部21
は、まず、該当データが書き込みバッファ22中に存在
するか否かを検査する。この検査は、書き込みバッファ
22中の各ブロックデータの論理アドレスから実施する
ことができる。そして、該当データが書き込みバッファ
22中に存在する場合、制御部21は、そのデータをリ
クエストで指定されたサイズでホストシステム10に転
送することにより、この読み出しリクエスト処理を完了
する。
【0013】一方、該当データが書き込みバッファ22
中に存在しない場合には、制御部21は、読み出しリク
エストで指定された読み出し論理アドレスを、まず、ブ
ロック境界に補正し、この補正した読み出し論理アドレ
スでアドレス変換テーブル23を参照することにより、
該当データを含むデータブロックが格納されている物理
アドレスを求める。この後、制御部21は、この物理ア
ドレスからリクエストで指定されたサイズのデータをデ
ィスク装置24から読み出し、これをホストシステム1
0に転送することにより、この読み出しリクエストを完
了する。
【0014】
【発明が解決しようとする課題】ここで、前述したデー
タ記憶装置20がブロックサイズ未満の書き込みリクエ
ストを処理する場合について考える。前述したデータ記
憶装置20において、ブロックサイズに満たないサイズ
でのデータ更新リクエスト処理時における書き込みバッ
ファ22への蓄積処理については、一般的には以下のよ
うな手順が考えられる。 (1)書き込みリクエストで指定される更新対象データ
領域を包含するブロックをディスク装置24から読み出
す。 (2)読み出したブロックを書き込みバッファ22の空
き領域に蓄積する。 (3)書き込みバッファ22の空き領域に蓄積したブロ
ックサイズのデータの更新対象領域に更新データを上書
きする。
【0015】すなわち、このような処理により、ブロッ
クサイズに満たない更新の際、データブロック中で更新
対象とならない部分を現在のデータを読み出すことによ
って補完していた。
【0016】しかしながら、このような処理は、ディス
ク装置24からの読み出し処理を伴なうため、ブロック
サイズと一致するサイズでの更新処理に比べてより多く
の時間を要することになる。このため、ブロックサイズ
未満の書き込みアクセスの頻度が大きくなると、データ
記憶装置20の性能を低下させてしまうといった問題が
あった。
【0017】この発明はこのような実情に鑑みてなされ
たものであり、書き込みブロックデータを所定数蓄積
し、この蓄積したブロックデータを一括してディスク装
置に書き込むデータ記憶装置であって、ブロックサイズ
未満の更新リクエスト処理の性能低下を軽減することの
できるデータ記憶装置および同装置に適用されるデータ
管理方法を提供することを目的とする。
【0018】
【課題を解決するための手段】この発明は、前述した目
的を達成するために、既存の書き込みバッファとは別に
ブロックデータを所定数蓄積する読み出しバッファを新
たに設け、読み出しリクエスト処理時に、このリクエス
トで指定されたブロックデータを読み出しバッファに格
納しておくようにしたものである。
【0019】この発明においては、読み出されたデータ
に対するブロックサイズ未満での更新については、再度
の読み出しのためのディスクアクセスを減らすことを実
現するため、データ記憶装置の性能低下を軽減させるこ
とを可能とする。
【0020】また、この発明は、既存の書き込みバッフ
ァとは別にブロックデータを所定数蓄積する読み出しバ
ッファを新たに設け、ブロックサイズ未満の読み出しリ
クエスト処理時に、このリクエストで指定された読み出
し対象領域を包含するブロックデータを読み出しバッフ
ァに格納しておくようにしたものである。
【0021】この発明は、ブロックサイズ未満で読み出
されたデータは、同一サイズ、すなわちブロックサイズ
未満で更新される可能性が高いといったことを前提とす
るものであり、ブロックサイズ未満で更新される可能性
の高いデータを包含するブロックデータを読み出しバッ
ファに格納しておくことにより、ブロックサイズに満た
ない更新リクエスト処理時のディスクアクセスを減らす
ことを実現し、データ記憶装置の性能低下を軽減させる
ことを可能とする。
【0022】また、この発明は、ブロックサイズ未満の
更新リクエスト処理時に、このリクエストで更新された
ブロックデータを前記読み出しバッファに格納しておく
ようにしたものである。
【0023】この発明もまた、ブロックサイズ未満で更
新されたデータは、同一サイズ、すなわちブロックサイ
ズ未満で再度更新される可能性が高いといったことを前
提とするものであり、ブロックサイズ未満で更新される
可能性の高いデータを包含するブロックデータを読み出
しバッファに格納しておくことにより、前述と同様、ブ
ロックサイズに満たない更新リクエスト処理時のディス
クアクセスを減らすことを実現し、データ記憶装置の性
能低下を軽減させることを可能とする。
【0024】また、この発明は、ブロックサイズ未満で
の更新有無を判定するためのフラグを前記ブロックデー
タごとに管理し、読み出しリクエスト処理時に、このリ
クエストで読み出されたブロックデータが過去にブロッ
クサイズ未満で更新されたことがあるか否かを前記管理
するフラグにより判定し、過去にブロックサイズ未満で
更新されたことのあるデータブロックであると判定した
ときに、そのブロックデータを前記読み出しバッファに
格納しておくようにしたものである。
【0025】この発明もまた、過去にブロックサイズ未
満で更新されたデータは、同一サイズ、すなわちブロッ
クサイズ未満で再度更新される可能性が高いといったこ
とを前提とするものであり、ブロックサイズ未満で更新
される可能性の高いデータを包含するブロックデータを
読み出しバッファに格納しておくことにより、前述と同
様、ブロックサイズに満たない更新リクエスト処理時の
ディスクアクセスを減らすことを実現し、データ記憶装
置の性能低下を軽減させることを可能とする。
【0026】また、この発明は、ブロックサイズ未満で
の更新処理が発生したブロックデータの論理アドレスま
たは物理アドレスを管理し、読み出しリクエスト処理時
に、このリクエストで読み出されたブロックデータが過
去にブロックサイズ未満で更新されたことがあるか否か
を前記管理する論理アドレスまたは物理アドレスにより
判定し、過去にブロックサイズ未満で更新されたことの
あるデータブロックであると判定したときに、そのブロ
ックデータを前記読み出しバッファに格納しておくよう
にしたものである。
【0027】この発明もまた、過去にブロックサイズ未
満で更新されたデータは、同一サイズ、すなわちブロッ
クサイズ未満で再度更新される可能性が高いといったこ
とを前提とするものであり、ブロックサイズ未満で更新
される可能性の高いデータを包含するブロックデータを
読み出しバッファに格納しておくことにより、前述と同
様、ブロックサイズに満たない更新リクエスト処理時の
ディスクアクセスを減らすことを実現し、データ記憶装
置の性能低下を軽減させることを可能とする。
【0028】
【発明の実施の形態】以下、図面を参照してこの発明の
実施の形態を説明する。 (第1実施形態)まず、この発明の第1実施形態につい
て説明する。図1は、この第1実施形態に係るデータ記
憶装置の概略構成を示す図である。
【0029】図1に示したように、この第1実施形態の
データ記憶装置20は、図8に示した従来のデータ記憶
装置20に読み出しバッファ25を加えたものである。
この読み出しバッファ25は、書き込みバッファ22と
同様、固定長の記憶領域であり、その内部は論理的にブ
ロック単位に分割されている。また、この読み出しバッ
ファ25も、自身が格納する各データブロックの論理ア
ドレスを保持する。以下、この読み出しバッファ25の
取り扱いを第1実施形態のデータ記憶装置20の読み出
し処理および書き込み処理の動作手順とともに説明す
る。
【0030】図2は、第1実施形態のデータ記憶装置2
0のブロック読み出し処理の動作手順を説明するための
フローチャートである。この第1実施形態における読み
出し処理では、ホストシステム10からの読み出しリク
エストで指定される読み出しサイズがブロックサイズよ
り小さい場合であっても、ディスク装置24からのデー
タ読み出しの際には、読み出し対象領域を包含するブロ
ックをブロックサイズで読み出す。
【0031】読み出し処理において、制御部21は、ま
ず、読み出しリクエストの論理アドレスと読み出しサイ
ズとから、該当データが書き込みバッファ22中に存在
するか否かを検査する(ステップA1)。この検査は、
従来と同様、書き込みバッファ22中の各ブロックデー
タの論理アドレスから実施することができる。そして、
該当データが書き込みバッファ22中に存在する場合
(ステップA1のYES)、制御部21は、そのデータ
をリクエストで指定されたサイズでホストシステム10
に転送することにより(ステップA2)、この読み出し
リクエストを完了する。
【0032】一方、該当データが書き込みバッファ22
中に存在しない場合には(ステップA1のNO)、制御
部21は、今度は、読み出しリクエストの論理アドレス
と読み出しサイズとから、該当データが読み出しバッフ
ァ25中に存在するか否かを検査する(ステップA
3)。この検査は、読み出しバッファ25中の各ブロッ
クデータの論理アドレスから実施することができる。
【0033】ここで、該当データが読み出しバッファ2
5中に存在する場合(ステップA3のYES)、制御部
21は、そのデータをリクエストで指定されたサイズで
ホストシステム10に転送することにより(ステップA
4)、この読み出しリクエストを完了する。
【0034】一方、該当データが読み出しバッファ25
中にも存在しない場合には(ステップA3のNO)、制
御部21は、読み出しリクエストで指定された読み出し
論理アドレスを、まず、ブロック境界に補正し(ステッ
プA5)、この補正した読み出し論理アドレスでアドレ
ス変換テーブル23を参照することにより、該当データ
を含むデータブロックが格納されている物理アドレスを
求める。そして、制御部21は、この物理アドレスから
ブロックサイズのデータを読み出し、読み出したブロッ
クサイズのデータの中からリクエストで指定された範囲
のデータのみをホストシステム10に転送することによ
り(ステップA6)、この読み出しリクエストを完了す
る。また、このとき、制御部21は、ディスク装置24
から読み出したブロックサイズのデータを、読み出しバ
ッファ25の空き領域に格納しておく(ステップA
4)。
【0035】次に、この第1実施形態における書き込み
処理を説明する。ブロックサイズの倍数と一致するサイ
ズの書き込みリクエストの処理については、制御部21
は、従来と同様、ホストシステム10からのリクエスト
データをブロックサイズに分割した後、書き込みバッフ
ァ25の空き領域に順次格納していき、対応する論理ア
ドレスを記録する。そして、書き込みバッファ22にす
べてのリクエストデータが蓄積された時点で書き込みリ
クエストは完了する。
【0036】この第1実施形態の書き込み処理が従来の
書き込み処理と異なる点は、ブロックサイズ未満の書き
込みリクエスト処理であり、このときの処理手順を図3
を参照して説明する。
【0037】制御部21は、まず、書き込みリクエスト
で指定される書き込み先論理アドレスをブロック境界に
補正する(ステップB1)。次に、制御部21は、更新
対象領域を含むデータブロックが書き込みバッファ22
中に存在するか否かを検査する(ステップB2)。この
検査は、ブロックサイズの倍数と一致する書き込み処理
の場合と同様、書き込みバッファ22中の各ブロックデ
ータの論理アドレスから実施することができる。
【0038】更新対象領域を含むデータブロックが書き
込みバッファ22中に存在する場合(ステップB2のY
ES)、制御部21は、従来と同様、書き込みバッファ
22中の該当データブロックの更新対象領域に対して更
新データを上書きし(ステップB3)、この書き込みリ
クエスト処理を完了する。
【0039】一方、更新対象領域を含むデータブロック
が書き込みバッファ22中に存在しない場合(ステップ
B2のNO)、制御部21は、今度は、更新対象領域を
含むデータブロックが読み出しバッファ25中に存在す
るか否かを検査する(ステップB4)。
【0040】更新対象領域を含むデータブロックが読み
出しバッファ25中に存在する場合(ステップB4のY
ES)、制御部21は、該当データブロックの更新対象
領域に対し更新データを上書きする(ステップB5)。
この後、該当データブロックを読み出しバッファ25か
ら書き込みバッファ22の空き領域に複写、蓄積するこ
とにより(ステップB6)、この書き込みリクエストを
完了する。これにより、読み出しバッファ25および書
き込みバッファ22の両方に、更新後のブロックのデー
タが残ることになる。
【0041】一方、更新対象領域を含むデータブロック
が書き込みバッファ22中にも、読み出しバッファ25
中にも存在しない場合は(ステップB4のNO)、制御
部21は、従来と同様、書き込みリクエストで指定され
る更新対象データ領域を包含するブロックをディスク装
置24から読み出し(ステップB7)、この読み出した
データを書き込みバッファ22の空き領域に格納した後
(ステップB8)、更新データを上書きすることにより
(ステップB9)、このリクエスト処理を完了する。ま
た、このとき、制御部21は、書き込みバッファ22中
で更新したデータブロックを読み出しバッファ25の空
き領域へも複写し蓄積する(ステップB10)。これに
より、読み出しバッファ25および書き込みバッファ2
2の両方に、更新後のブロックのデータが残ることにな
る。
【0042】一般的に、ブロックサイズ未満で更新され
たデータは、再びブロックサイズ未満のサイズで更新さ
れる可能性が高い。したがって、このように、更新後の
ブロックデータを読み出しバッファにも格納しておくこ
とにより、以後のブロックサイズ未満の更新処理時、更
新対象領域を包含するブロックが読み出しバッファ25
中に存在する可能性が高くなる。
【0043】ここで、第1実施形態における読み出しバ
ッファ25のデータ管理方法を説明する。図4に、第1
実施形態における読み出しバッファ25の構成を示す。
図4に示したように、この読み出しバッファ25は、複
数のブロックのデータを記憶するための記憶領域251
を備える。また、この記憶領域251をブロック単位で
参照するためのインデックス情報を備える。このインデ
ックス情報は、対応する記憶領域251中のブロックの
論理アドレスを保持する。
【0044】データブロックを読み出しバッファ25に
格納する際、読み出しバッファ25の記憶領域251に
空きがない場合は、読み出しバッファ25中の記憶領域
251に格納されたデータブロックのうち、たとえば参
照頻度が最も低いデータブロックを削除し、その領域に
格納する。この方法を実現する一例としては、読み出し
バッファ25のブロックの参照頻度順に参照するための
インデックス情報を設けて、各インデックスがリスト構
造252をなすようにする方法などが考えられる。
【0045】また、各インデックス情報は、ブロックサ
イズの記憶領域の参照順に並んでおり、この並びは以下
のように維持する。前述の読み出しリクエスト処理時、
あるいは書き込みリクエスト処理時に、読み出しバッフ
ァ25中の記憶領域251に対する読み出し参照または
書き込み参照が発生した場合、その記憶領域へのインデ
ックス情報をリスト構造252の先頭に移動させる。一
方、読み出しバッファ25中の記憶領域251へのブロ
ックデータの格納時には、リスト構造252の最後尾に
位置する記憶領域251に格納するとともに、その格納
後、この記憶領域へのインデックス情報をリスト構造2
52の先頭に移動する。また、参照頻度の低いデータブ
ロックに対応する記憶領域が削除され、新しいデータブ
ロックが格納された場合にも、インデックス情報のリス
ト構造252を変化させる。
【0046】このように、読み出しバッファ25へのブ
ロックの格納およびインデックス情報のリスト構造25
2を操作することにより、常に参照頻度の高いデータの
みを読み出しバッファに格納させることが可能となる。
【0047】これにより、読み出されたデータに対する
ブロックサイズ未満での更新、および過去にブロックサ
イズ未満で更新されたことのあるデータ対するブロック
サイズ未満での更新については、読み出しのためのディ
スクアクセスを減らすことが可能となり、データ記憶装
置20の性能低下を軽減できることになる。
【0048】なお、この第1実施形態では、読み出しバ
ッファ25中の記憶領域251を参照頻度順にアクセス
する機能をインデックスのリスト構造252を用いて実
現したが、この発明はこれに限定するものではない。
【0049】(第2実施形態)次に、この発明の第2実
施形態を説明する。第1実施形態では、ディスク装置2
4からの読み出し処理時に、常に読み出しバッファ25
に読み出しデータを格納している。しかしながら、蓄積
したものの参照されることなく破棄される場合も多い。
【0050】そこで、この第2実施形態では、読み出し
バッファ25中に参照されるブロックが存在する確率を
高めるために、ブロックサイズ未満の更新の可能性の高
いブロックだけを読み出しバッファ25に格納する。
【0051】すなわち、読み出しバッファ25に格納す
るブロックの条件を、ホストシステム10からの読み出
しリクエストのサイズがブロックサイズ未満であり、読
み出しバッファ25中に該当ブロックのデータが存在し
なかったためにディスク装置24から読みだしたデータ
ブロックとする。これは、一度ブロックサイズ未満の読
みだしが発生した場合、該当ブロックに対する更新がブ
ロックサイズ未満の更新される可能性が高いという理由
によるものである。
【0052】これにより、参照される可能性の高いデー
タブロックのみを読み出しバッファ25に置くことがで
き、読み出しバッファ25利用効率をより高めることが
可能となる。
【0053】(第3実施形態)次に、この発明の第3実
施形態を説明する。この第3実施形態は、第2実施形態
で説明した予測方法が常に成り立つものではないという
ことを考慮したものであり、以前の同一ブロックに対す
る更新サイズに基づいて、読み出しバッファ25に格納
するか否かを決定するようにしたものである。
【0054】この第3実施形態では、各論理ブロックご
とに最後に実行された更新時の更新サイズがブロックサ
イズ未満かどうかを記録するための更新サイズ識別フラ
グを設ける。
【0055】具体的には、たとえば図5に示すように、
更新サイズ識別フラグをアドレス変換テーブル23に付
加する。なお、更新サイズの記録方法は、これに限定す
るものではなく、いずれの方法を用いても差し支えな
い。
【0056】この更新サイズ識別フラグは、該当ブロッ
クについての最後の更新が、「ブロックサイズ未満」お
よび「ブロックサイズ」のいずれであったかを示すもの
である。そして、この2つの状態が、ブロックサイズ未
満の更新の発生の有無を予測するための要素となる。
【0057】以下、この更新サイズ認識フラグを利用し
た読み出し処理および書き込み処理と読み出しバッファ
25の管理とについて説明する。初期化時、制御部21
は、更新サイズ認識フラグを、すべてのアドレスについ
て「ブロックサイズ未満」で初期化しておく。
【0058】読み出し処理は、第1実施形態の読み出し
処理と同様に行なうが、読み出したデータの読み出しバ
ッファ25への格納処理時、制御部21は、該当ブロッ
クに対応する更新サイズ認識フラグを参照する。
【0059】更新サイズ認識フラグが「ブロックサイズ
未満」を示している場合、制御部21は、読み出しバッ
ファ25に読み出したブロックのデータを格納し、リク
エストで指定されるデータ領域をホストシステム10に
転送することにより、この読み出しリクエスト処理を完
了する。
【0060】一方、更新サイズ認識フラグが「ブロック
サイズ」を示している場合、制御部21は、読み出しバ
ッファ25に読み出したブロックのデータを格納するこ
となしに、読み出したデータ中のリクエストで指定され
るデータ領域をホストシステム10に転送することによ
り、この読み出しリクエストを完了する。
【0061】また、書き込み処理も、第1実施形態の書
き込み処理と同様に行なうが、書き込みバッファ22へ
の蓄積処理完了後、更新サイズがブロックサイズのとき
は、制御部21は、該当ブロックの更新サイズ認識フラ
グを「ブロックサイズ」とする。一方、更新サイズがブ
ロックサイズ未満のときは、更新サイズ認識フラグを
「ブロックサイズ未満」とする。
【0062】このように、各論理ブロックに対する以前
の更新サイズに基づき、ブロックサイズ未満の更新処理
の発生を予測することにより、参照の可能性の高いデー
タブロックのみを読み出しバッファ25に格納しておく
ことが可能となる。
【0063】なお、この第3実施形態では、ブロックの
更新サイズを「ブロックサイズ未満」および「ブロック
サイズ」の2つの値で認識しているが、この発明はこれ
に限定するものではなく、たとえば更新サイズそのもの
を数値で記録するものであっても構わない。
【0064】(第4実施形態)次に、この発明の第4実
施形態を説明する。この第4実施形態では、過去にブロ
ックサイズ未満の更新処理が発生したブロックを特定す
るための方法として、過去にブロックサイズ未満の更新
処理が発生したブロックの論理アドレスを別途記録する
方法を採用する。
【0065】図6に、この第4実施形態に係るデータ記
録装置20の概略構成を示す。図6に示したように、こ
の第4実施形態のデータ記憶装置20は、図1に示した
第1実施形態のデータ記憶装置20にブロックサイズ未
満更新記録領域26を加えたものである。このブロック
サイズ未満更新記録領域26の構成の一例を図7に示
す。図7に示したように、このブロックサイズ未満更新
記録領域26は、ブロックの先頭論理アドレスを格納す
る。
【0066】読み出し処理は、第1実施形態の読み出し
処理と同様に行なうが、読み出したデータの読み出しバ
ッファ25への格納処理時、制御部21は、ブロックサ
イズ未満更新記録領域26を探索し、該当ブロックに対
応する論理アドレスが格納されているか否かを確認す
る。
【0067】ブロックサイズ未満更新記録領域26に該
当ブロックの論理アドレスが登録されている場合、制御
部21は、読み出しバッファ25に読み出したブロック
のデータを格納し、リクエストで指定されるデータ領域
をホストシステム10に転送することにより、この読み
出しリクエスト処理を完了する。
【0068】一方、ブロックサイズ未満更新記録領域2
6に該当ブロックの論理アドレスが登録されていない場
合、制御部21は、読み出しバッファ25に読み出した
ブロックのデータを格納することなしに、読み出したデ
ータ中のリクエストで指定されるデータ領域をホストシ
ステム10に転送することにより、この読み出しリクエ
ストを完了する。
【0069】また、書き込み処理も、第1実施形態の書
き込み処理と同様に行なうが、書き込みバッファ22へ
の蓄積処理完了後、更新サイズがブロックサイズのとき
は、制御部21は、該当ブロックの論理アドレスをブロ
ックサイズ未満更新記録領域26に登録する。
【0070】この方法によっても、各論理ブロックに対
する以前の更新サイズに基づき、ブロックサイズ未満の
更新処理の発生を予測することができ、参照の可能性の
高いデータブロックのみを読み出しバッファ25に格納
しておくことが可能となる。
【0071】以上のように、前述した第1乃至第4実施
形態のデータ記憶装置20のデータ管理方法によれば、
従来問題となっていた、ブロックサイズ未満の更新処理
時に実行されるディスク装置からの読み出しアクセスに
伴なう性能低下を改善することが可能となる。
【0072】
【発明の効果】以上詳述したように、この発明によれ
ば、既存の書き込みバッファとは別にブロックデータを
所定数蓄積する読み出しバッファを新たに設け、読み出
しリクエスト処理時に、このリクエストで指定されたブ
ロックデータを読み出しバッファに格納しておくように
することにより、読み出されたデータに対するブロック
サイズ未満での更新については、再度の読み出しのため
のディスクアクセスを減らすことを実現するため、デー
タ記憶装置の性能低下を軽減させることを可能とする。
【0073】また、ブロックサイズ未満の読み出しリク
エスト処理時に、このリクエストで指定された読み出し
対象領域を包含するブロックデータを読み出しバッファ
に格納しておくようにすることにより、ブロックサイズ
に満たない更新リクエスト処理時のディスクアクセスを
減らすことを実現し、データ記憶装置の性能低下を軽減
させることを可能とする。
【0074】また、ブロックサイズ未満の更新リクエス
ト処理時に、このリクエストで更新されたブロックデー
タを読み出しバッファに格納しておくようにすることに
より、ブロックサイズ未満で更新される可能性の高いデ
ータを包含するブロックデータを読み出しバッファに格
納しておくことにより、前述と同様、ブロックサイズに
満たない更新リクエスト処理時のディスクアクセスを減
らすことを実現し、データ記憶装置の性能低下を軽減さ
せることを可能とする。
【0075】また、ブロックサイズ未満での更新有無を
判定するためのフラグをブロックデータごとに管理し、
読み出しリクエスト処理時に、このリクエストで読み出
されたブロックデータが過去にブロックサイズ未満で更
新されたことがあるか否かをフラグにより判定し、過去
にブロックサイズ未満で更新されたことのあるデータブ
ロックであると判定したときに、そのブロックデータを
読み出しバッファに格納しておくようにすることによ
り、ブロックサイズ未満で更新される可能性の高いデー
タを包含するブロックデータを読み出しバッファに格納
しておくことにより、前述と同様、ブロックサイズに満
たない更新リクエスト処理時のディスクアクセスを減ら
すことを実現し、データ記憶装置の性能低下を軽減させ
ることを可能とする。
【0076】さらに、ブロックサイズ未満での更新処理
が発生したブロックデータの論理アドレスまたは物理ア
ドレスを管理し、読み出しリクエスト処理時に、このリ
クエストで読み出されたブロックデータが過去にブロッ
クサイズ未満で更新されたことがあるか否かを前記管理
する論理アドレスまたは物理アドレスにより判定し、過
去にブロックサイズ未満で更新されたことのあるデータ
ブロックであると判定したときに、そのブロックデータ
を前記読み出しバッファに格納しておくようにすること
により、ブロックサイズ未満で更新される可能性の高い
データを包含するブロックデータを読み出しバッファに
格納しておくことにより、前述と同様、ブロックサイズ
に満たない更新リクエスト処理時のディスクアクセスを
減らすことを実現し、データ記憶装置の性能低下を軽減
させることを可能とする。
【図面の簡単な説明】
【図1】この発明の第1実施形態に係るデータ記憶装置
の概略構成を示す図。
【図2】同第1実施形態のデータ記憶装置のブロック読
み出し処理の動作手順を説明するためのフローチャー
ト。
【図3】同第1実施形態のブロックサイズ未満の書き込
みリクエスト処理の動作手順を説明するためのフローチ
ャート。
【図4】同第1実施形態における読み出しバッファの構
成を示す図。
【図5】同第1実施形態の更新サイズ識別フラグが付加
されたアドレス変換テーブルを示す図。
【図6】同第4実施形態に係るデータ記録装置の概略構
成を示す図。
【図7】同第4実施形態のブロックサイズ未満更新記録
領域の構成の一例を示す図。
【図8】従来のデータ記憶装置の概略構成を示す図。
【図9】従来のデータ記憶装置のアドレス変換テーブル
の構成を示す図。
【符号の説明】
10…ホストシステム、20…データ記憶装置、21…
制御部、22…書き込みバッファ、23…アドレス変換
バッファ、24…ディスク装置、25…読み出しバッフ
ァ、26…ブロックサイズ未満更新記録領域。

Claims (12)

    【特許請求の範囲】
  1. 【請求項1】 所定のブロックサイズをもつブロックデ
    ータを所定数蓄積する書き込みバッファと少なくとも一
    つ以上のディスク装置とを備え、前記書き込みバッファ
    に蓄積された所定数のブロックデータを一括して前記デ
    ィスク装置に書き込むデータ記憶装置において、 前記ブロックデータを所定数蓄積する読み出しバッファ
    と、 読み出しリクエスト処理時、このリクエストで読み出さ
    れたブロックデータが前記デイスク装置から読み出され
    たときに、この読み出されたブロックデータを前記読み
    出しバッファに格納するデータ管理手段とを具備するこ
    とを特徴とするデータ記憶装置。
  2. 【請求項2】 所定のブロックサイズをもつブロックデ
    ータを所定数蓄積する書き込みバッファと少なくとも一
    つ以上のディスク装置とを備え、前記書き込みバッファ
    に蓄積された所定数のブロックデータを一括して前記デ
    ィスク装置に書き込むデータ記憶装置において、 前記ブロックデータを所定数蓄積する読み出しバッファ
    と、 ブロックサイズ未満の読み出しリクエスト処理時、この
    リクエストで指定された読み出し対象領域を包含するブ
    ロックデータが前記デイスク装置から読み出されたとき
    に、この読み出されたブロックデータを前記読み出しバ
    ッファに格納するデータ管理手段とを具備することを特
    徴とするデータ記憶装置。
  3. 【請求項3】 所定のブロックサイズをもつブロックデ
    ータを所定数蓄積する書き込みバッファと少なくとも一
    つ以上のディスク装置とを備え、前記書き込みバッファ
    に蓄積された所定数のブロックデータを一括して前記デ
    ィスク装置に書き込むデータ記憶装置において、 前記ブロックデータを所定数蓄積する読み出しバッファ
    と、 ブロックサイズ未満の更新リクエスト処理時、このリク
    エストで更新されたブロックデータを前記読み出しバッ
    ファに格納するデータ管理手段とを具備することを特徴
    とするデータ記憶装置。
  4. 【請求項4】 所定のブロックサイズをもつブロックデ
    ータを所定数蓄積する書き込みバッファと少なくとも一
    つ以上のディスク装置とを備え、前記書き込みバッファ
    に蓄積された所定数のブロックデータを一括して前記デ
    ィスク装置に書き込むデータ記憶装置において、 前記ブロックデータを所定数蓄積する読み出しバッファ
    と、 読み出しリクエスト処理時、このリクエストで読み出さ
    れたブロックデータが過去にブロックサイズ未満で更新
    されたことのあるデータブロックか否かを判定し、過去
    にブロックサイズ未満で更新されたことのあるデータブ
    ロックであると判定したときに、前記読み出されたブロ
    ックデータを前記読み出しバッファへ格納するデータ管
    理手段とを具備することを特徴とするデータ記憶装置。
  5. 【請求項5】 前記データ管理手段は、ブロックサイズ
    未満での更新有無を判定するためのフラグを前記ブロッ
    クデータごとに管理する請求項3記載のデータ記憶装
    置。
  6. 【請求項6】 前記データ管理手段は、ブロックサイズ
    未満での更新処理が発生したブロックデータの論理アド
    レスまたは物理アドレスを管理する請求項3記載のデー
    タ記憶装置。
  7. 【請求項7】 所定のブロックサイズをもつブロックデ
    ータを所定数蓄積する書き込みバッファと、前記ブロッ
    クデータを所定数蓄積する読み出しバッファと、少なく
    とも一つ以上のディスク装置とを備え、前記書き込みバ
    ッファに蓄積された所定数のブロックデータを一括して
    前記ディスク装置に書き込むデータ記憶装置のデータ管
    理方法であって、 読み出しリクエスト処理時、このリクエストで読み出さ
    れたブロックデータが前記デイスク装置から読み出され
    たときに、この読み出されたブロックデータを前記読み
    出しバッファに格納することを特徴とするデータ管理方
    法。
  8. 【請求項8】 所定のブロックサイズをもつブロックデ
    ータを所定数蓄積する書き込みバッファと、前記ブロッ
    クデータを所定数蓄積する読み出しバッファと、少なく
    とも一つ以上のディスク装置とを備え、前記書き込みバ
    ッファに蓄積された所定数のブロックデータを一括して
    前記ディスク装置に書き込むデータ記憶装置のデータ管
    理方法であって、 ブロックサイズ未満の読み出しリクエスト処理時、この
    リクエストで指定された読み出し対象領域を包含するブ
    ロックデータが前記デイスク装置から読み出されたとき
    に、この読み出されたブロックデータを前記読み出しバ
    ッファに格納することを特徴とするデータ管理方法。
  9. 【請求項9】 所定のブロックサイズをもつブロックデ
    ータを所定数蓄積する書き込みバッファと、前記ブロッ
    クデータを所定数蓄積する読み出しバッファと、少なく
    とも一つ以上のディスク装置とを備え、前記書き込みバ
    ッファに蓄積された所定数のブロックデータを一括して
    前記ディスク装置に書き込むデータ記憶装置のデータ管
    理方法であって、 ブロックサイズ未満の更新リクエスト処理時、このリク
    エストで更新されたブロックデータを前記読み出しバッ
    ファに格納することを特徴とするデータ管理方法。
  10. 【請求項10】 所定のブロックサイズをもつブロック
    データを所定数蓄積する書き込みバッファと、前記ブロ
    ックデータを所定数蓄積する読み出しバッファと、少な
    くとも一つ以上のディスク装置とを備え、前記書き込み
    バッファに蓄積された所定数のブロックデータを一括し
    て前記ディスク装置に書き込むデータ記憶装置のデータ
    管理方法であって、 読み出しリクエスト処理時、このリクエストで読み出さ
    れたブロックデータが過去にブロックサイズ未満で更新
    されたことのあるデータブロックか否かを判定し、過去
    にブロックサイズ未満で更新されたことのあるデータブ
    ロックであると判定したときに、前記読み出されたブロ
    ックデータを前記読み出しバッファへ格納することを特
    徴とするデータ管理方法。
  11. 【請求項11】 所定のブロックサイズをもつブロック
    データを所定数蓄積する書き込みバッファと、前記ブロ
    ックデータを所定数蓄積する読み出しバッファと、少な
    くとも一つ以上のディスク装置とを備え、前記書き込み
    バッファに蓄積された所定数のブロックデータを一括し
    て前記ディスク装置に書き込むデータ記憶装置のデータ
    管理方法であって、 ブロックサイズ未満での更新有無を判定するためのフラ
    グを前記ブロックデータごとに管理し、 読み出しリクエスト処理時、このリクエストで読み出さ
    れたブロックデータが過去にブロックサイズ未満で更新
    されたことのあるデータブロックか否かを前記管理する
    フラグにより判定し、過去にブロックサイズ未満で更新
    されたことのあるデータブロックであると判定したとき
    に、前記読み出されたブロックデータを前記読み出しバ
    ッファへ格納することを特徴とするデータ管理方法。
  12. 【請求項12】 所定のブロックサイズをもつブロック
    データを所定数蓄積する書き込みバッファと、前記ブロ
    ックデータを所定数蓄積する読み出しバッファと、少な
    くとも一つ以上のディスク装置とを備え、前記書き込み
    バッファに蓄積された所定数のブロックデータを一括し
    て前記ディスク装置に書き込むデータ記憶装置のデータ
    管理方法であって、 ブロックサイズ未満での更新処理が発生したブロックデ
    ータの論理アドレスまたは物理アドレスを管理し、 読み出しリクエスト処理時、このリクエストで読み出さ
    れたブロックデータが過去にブロックサイズ未満で更新
    されたことのあるデータブロックか否かを前記管理する
    論理アドレスまたは物理アドレスにより判定し、過去に
    ブロックサイズ未満で更新されたことのあるデータブロ
    ックであると判定したときに、前記読み出されたブロッ
    クデータを前記読み出しバッファへ格納することを特徴
    とするデータ管理方法。
JP13044398A 1998-05-13 1998-05-13 データ記憶装置およびデータ管理方法 Expired - Lifetime JP4197547B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP13044398A JP4197547B2 (ja) 1998-05-13 1998-05-13 データ記憶装置およびデータ管理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP13044398A JP4197547B2 (ja) 1998-05-13 1998-05-13 データ記憶装置およびデータ管理方法

Publications (2)

Publication Number Publication Date
JPH11327978A true JPH11327978A (ja) 1999-11-30
JP4197547B2 JP4197547B2 (ja) 2008-12-17

Family

ID=15034375

Family Applications (1)

Application Number Title Priority Date Filing Date
JP13044398A Expired - Lifetime JP4197547B2 (ja) 1998-05-13 1998-05-13 データ記憶装置およびデータ管理方法

Country Status (1)

Country Link
JP (1) JP4197547B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106354745A (zh) * 2015-07-13 2017-01-25 三星电子株式会社 用于提供计算机装置的接口的方法和计算机装置
US11461010B2 (en) 2015-07-13 2022-10-04 Samsung Electronics Co., Ltd. Data property-based data placement in a nonvolatile memory device

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106354745A (zh) * 2015-07-13 2017-01-25 三星电子株式会社 用于提供计算机装置的接口的方法和计算机装置
US11249951B2 (en) 2015-07-13 2022-02-15 Samsung Electronics Co., Ltd. Heuristic interface for enabling a computer device to utilize data property-based data placement inside a nonvolatile memory device
US11461010B2 (en) 2015-07-13 2022-10-04 Samsung Electronics Co., Ltd. Data property-based data placement in a nonvolatile memory device
US11989160B2 (en) 2015-07-13 2024-05-21 Samsung Electronics Co., Ltd. Heuristic interface for enabling a computer device to utilize data property-based data placement inside a nonvolatile memory device

Also Published As

Publication number Publication date
JP4197547B2 (ja) 2008-12-17

Similar Documents

Publication Publication Date Title
US5813011A (en) Storage of a compressed file containing its own compression management table
US6779088B1 (en) Virtual uncompressed cache size control in compressed memory systems
US6216199B1 (en) Hardware mechanism for managing cache structures in a data storage system
US7447836B2 (en) Disk drive storage defragmentation system
KR100584255B1 (ko) 플래시 메모리를 위한 포스트방식의 라이트-스루 캐시
US6940796B2 (en) Optical disk device using a new alternate list for defect correction
JP3898782B2 (ja) 情報記録再生装置
US20080059728A1 (en) Systems and methods for masking latency of memory reorganization work in a compressed memory system
US20090327624A1 (en) Information processing apparatus, controlling method thereof, and program
GB2298063A (en) Semiconductor disk device
US5420983A (en) Method for merging memory blocks, fetching associated disk chunk, merging memory blocks with the disk chunk, and writing the merged data
US7664906B2 (en) Flash memory access apparatus and method
US20110125950A1 (en) Systems and methods for performing deduplicated data processing on tape
US20130304972A1 (en) Control device, storage device, and storage control method
US7287125B2 (en) Disk array device, method for controlling the disk array device and storage system
JP2019028954A (ja) ストレージ制御装置、プログラム、及び重複排除方法
US6782444B1 (en) Digital data storage subsystem including directory for efficiently providing formatting information for stored records
JP2000259468A (ja) ファイルシステムにおけるバッファキャッシュ方法および装置
EP1079298A2 (en) Digital data storage subsystem including directory for efficiently providing formatting information for stored records
JPH08137754A (ja) ディスクキャッシュ装置
JP4197547B2 (ja) データ記憶装置およびデータ管理方法
US7421536B2 (en) Access control method, disk control unit and storage apparatus
US20060143378A1 (en) Information processing apparatus and control method for this information processing apparatus
US6594726B1 (en) Digital data storage subsystem including arrangement for efficiently controlling fast write storage operation
JPH10161932A (ja) ディスクキャッシュ制御方式

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050511

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080624

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080822

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

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

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

Free format text: PAYMENT UNTIL: 20111010

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20111010

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20111010

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20121010

Year of fee payment: 4