JP4197587B2 - Data processing apparatus and data reading method - Google Patents
Data processing apparatus and data reading method Download PDFInfo
- Publication number
- JP4197587B2 JP4197587B2 JP2001273823A JP2001273823A JP4197587B2 JP 4197587 B2 JP4197587 B2 JP 4197587B2 JP 2001273823 A JP2001273823 A JP 2001273823A JP 2001273823 A JP2001273823 A JP 2001273823A JP 4197587 B2 JP4197587 B2 JP 4197587B2
- Authority
- JP
- Japan
- Prior art keywords
- read
- address
- data
- physical
- arrangement
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Signal Processing For Digital Recording And Reproducing (AREA)
Description
【0001】
【発明の属する技術分野】
本発明は、リード要求に用いる論理上のアドレス配置とデータを記憶する物理上のアドレス配置とが異なる方式でデータ記録された記憶装置を備えたデータ処理装置およびデータ読み出し方法に関する。
【0002】
【従来の技術】
ディスクドライブを備えたデータ処理システムに於いては、ディスクに対するシーケンシャルリードを高速化する方法として、リードの要求があったアドレスに続く領域のデータを予めキャッシュメモリ上に読み出しておくという先読み処理技術が知られている。この先読み処理については、例えば特公平7−76941号公報に示されている。
【0003】
この際、上記した従来の先読み技術は、磁気ディスク装置等に於いて、リード要求時の論理上のアドレスは連続していても、そのアドレスの示す順番の通りに実データが配置されていない場合、上記した先読み処理が十分に機能しないという問題があった。
【0004】
すなわちリード要求するアドレス(論理アドレス)に対して、実際にそのデータが存在する物理的な位置(物理アドレス)への変換を必要とするシステムにおいては、リード要求された領域が論理的に連続していても、物理的には不連続に配置されている場合があり、リード要求された領域全体をまとめて先読みすることができない。このため、ディスクへのアクセスがランダムアクセスとなることから、単純に物理的な配置に従って先読みを行っても先読みの効果が得られず、従って上記した先読み処理が十分に機能しないという問題があった。
【0005】
【発明が解決しようとする課題】
上記したように、従来の先読み技術に於いては、リード要求時の論理上のアドレスは連続していても、そのアドレスの示す順番の通りに実データが配置されていない場合に、先読み処理本来の機能が十分に発揮できないという問題があった。
【0006】
本発明は上記実情に鑑みなされたもので、先読みのためのリード命令総数を削減して、先読み処理を効率良く行うことのできるデータ処理装置およびデータの先読み方法を提供することを目的とする。
【0007】
また、本発明は、ディスクに対するリード命令総数を削減して、ディスクアクセス処理を効率良く行うことのできるデータ処理装置およびデータ先読み方法を提供することを目的とする。
【0008】
【課題を解決するための手段】
本発明は、リード要求された全ての領域に対して物理アドレスを算出し、物理的に隣り合うアドレスになるデータや、物理的に近傍配置されたアドレス領域にあるデータを、まとめてリードする処理機能を備えたことを特徴とする。
【0009】
更に本発明は、先読み処理を行う際に、予め先読み処理を行いたい全ての領域に対して物理アドレスを算出しておき、物理的に隣り合うアドレスになるデータや、物理的に近傍配置されたアドレス領域にあるデータを、まとめてリードする処理機能を備えたことを特徴とする。
【0010】
即ち、本発明は、少なくとも1つのディスクをアクセス制御するディスクドライブと、前記ディスクドライブよりリードされたデータを一時保持するキャッシュメモリとを具備するデータ処理装置に於いて、 リード/ライトの要求で指定する論理アドレスと前記ディスク上での物理的配置との対応を示すアドレス変換マップと、 前記要求を受け付け、リード要求時に、リード要求された複数の論理アドレスの連続性をもとに先読みを行うか否かを判定する先読み判定手段と、 前記先読み判定手段の判定に従って先読みを行う際に、前記複数の論理アドレスを含むn個の連続する論理アドレスについて、前記アドレス変換マップを参照し、先読みの対象となるアドレス領域全ての物理的な配置を調べ、その配置間隔が、設定範囲内であるとき、その設定範囲内に存在するすべての物理アドレス領域を、先読み領域として判定する先読み領域判定手段と、 前記先読み領域判定手段が判定した先読み領域に従い、前記ディスクドライブにリードアクセスを行い、前記ディスクドライブから前記先読み領域に従う各領域のデータを一度に纏めて読み出すアクセス制御手段と、を具備することを特徴とする。
【0011】
また本発明は、ディスクドライブより読み出したデータを一時保持するキャッシュを備えたデータ処理装置のデータ先読み方法において、 前記ディスクドライブへのリード要求時に、リード要求された複数の論理アドレスの連続性をもとに先読みを行うか否かを判定し、 先読みを行う判定をしたとき、 前記複数の論理アドレスを含むn個の連続する論理アドレスについて、前記物理的な配置を調べ、 調べた配置間隔が、設定範囲内であるとき、その設定範囲内に存在するすべての物理アドレス領域を、先読み領域として判定して、 判定した先読み領域に従い、前記ディスクドライブにリードアクセスを行い、前記ディスクドライブから前記先読み領域に従う各領域のデータを一度に纏めて読み出すことを特徴とする。
【0013】
【発明の実施の形態】
以下、図面を参照して本発明の実施形態を説明する。
【0014】
まず、図1乃至図5を参照して、本発明の第1実施形態を説明する。
【0015】
この第1実施形態に於いては、ホスト装置よりリード要求が発行された際に、先読みを行うか否かを判定し、先読みを行う際に、アドレス変換マップを参照して、先読みを行うアドレス領域全ての物理的配置を調べ、その配置の状態から、ディスクへのリード要求の回数を最小とするように、物理上の複数のアドレス領域を纏めてリードする、複数領域の一括先読み処理を実現している。
【0016】
図1は、本発明の第1実施形態に係るデータ処理装置の要部の構成要素を示すブロック図であり、ホスト装置10、ディスクコントローラ20、ディスクドライブ30等を具備する。
【0017】
ディスクコントローラ20は、ディスクアクセス制御部21、アドレス変換マップ22、キャッシュ(キャッシュメモリ)23、先読み処理部24等を具備する。
【0018】
ディスクアクセス制御部21は、ホスト装置10から、リード要求、ライト要求等を受付けて、ディスクアクセスの制御や、キャッシュ23の割り当て等の制御を行う。リード要求を受けた場合は、アドレス変換マップ22を参照して、要求された論理アドレスに対応する物理アドレス(実際にデータが置かれた場所)を算出する。要求された領域のデータがキャッシュ23上にあれば、そのヒットしたデータをホスト装置10に返し、そうでなければ(ヒットしなければ)上記アドレス変換マップ22上で求めた物理アドレスのデータをディスクドライブ30からキャッシュ23上に読み込む操作を行う。更に、リード要求を受けた場合は、先読み処理部24を起動して、先読みをするか否かを判定させる。
【0019】
アドレス変換マップ22は、論理アドレスと物理アドレスとの対応をとるアドレス変換テーブルにより構成されるもので、リード/ライトアクセス時に於いて、ディスクアクセス制御部21により参照され、論理アドレスに対する物理上(ディスク上)のアドレス配置が認識される。このアドレス変換マップ22の具体的な構成例については図3を参照して後述する。
【0020】
先読み処理部24は、ホスト装置10からのリード要求時に於いて、ディスクアクセス制御部21により起動されて、先読みを行うか否かの判定、および実際の先読み処理を行う。先読みを行うか否かの判定には種々の方法があるが、ここでは、2回以上連続した領域(論理アドレス)にリードの要求があった(シーケンシャルリードであると認識した)際に、先読みを行うべきであると判定し、そうでなければ先読みを行わない。
【0021】
先読みを行うべきと判定した場合は、連続するn個の論理アドレスについて、該当するデータをディスクドライブ30から読んでキャッシュ23上に乗せる操作を行う。この実施形態に於ける動作例では、上記nを「8」とした連続する8個の論理アドレス(図3のLA「2」〜「9」参照)について、該当するデータをディスクドライブ30から読んでキャッシュ23上に記憶する。この際、先読みを行う8個の論理アドレスの全てについて、アドレス変換マップ22を参照して、そのデータが置かれたディスク上の物理的配置を調べ(図4のハッチング参照)、その配置の状態から、ディスクドライブ30へのリード要求の回数を最小とするように、物理上の複数のアドレス領域を纏めて(一括して)リードする(図5の→印参照)。
【0022】
図2は、上記実施形態に於ける先読み処理の手順を示すフローチャートである。
【0023】
図3は、アドレス変換マップ22の構成を説明するための論理−物理アドレスの対応例を示す図であり、LAはホスト装置10からのリード命令に含まれる論理アドレス、PAはディスク上の物理アドレスである。この例では、ホスト装置10から論理アドレスが連続する2つの論理アドレス「0」、「1」のリード命令を受けると、それに続く論理アドレス「2」〜「9」を先読みの対象として、アドレス変換マップ22を用い、その各物理上のアドレスを算出して、それら各アドレス配列から、物理的に隣り合うアドレスが存在するか、若しくは物理的に近い配置(例えばアドレス2個分以内)であるか等の一括リードを可能とする条件を調べ、その条件に含まれる全ての領域について、纏めてデータをリードする。
【0024】
図4は、上記図3に示す論理−物理のアドレス対応に於ける、先読み対象のディスク上での物理的配置の状態を示す図であり、ここでは、上記図3に示した論理アドレス(LA)「2」〜「9」について、その各データ位置(物理的配置の状態を)をハッチングにより示している。
【0025】
図5は、上記図3および図4のアドレス配置に対しての先読み命令発行箇所(図示→印)を示す図である。この例では、論理アドレス「5」、「7」、「2」、「8」に対応する物理アドレス「8」〜「11」の各領域と、論理アドレス「3」、「4」、「9」に対応する物理アドレス「20」〜「23」の各領域について、それぞれ纏めて(一括して)データのリードを行っている。
【0026】
ここで、上記各図を参照して本発明の第1実施形態に於ける動作を説明する。
【0027】
この第1実施形態に於いては、先読みを行う論理上のアドレス領域に対応する物理上の複数のアドレス領域に対し、その物理上のアドレス配置の状態を調べて、ディスクドライブへのリード要求の回数を最小とするように、物理上の複数のアドレス領域を纏めてリードすることを特徴とする。
【0028】
先読み処理部24は、ホスト装置10からのリード要求時に於いて、ディスクアクセス制御部21により起動されて、先読みを行うか否かの判定、および実際の先読み処理を行う。ここでは、2回以上連続した領域(論理アドレス)にリードの要求があった(シーケンシャルリードであると認識した)際に、先読みを行うべきであると判定し、そうでなければ先読みを行わない(図2ステップA11)。
【0029】
その具体例として、ここでは、連続する論理アドレス「0」,「1」に対して、そのアドレス順にリードの要求があった際に、先読み処理部24がシーケンシャルリードであると認識して、先読み処理を開始し、上記先読み判定の対象となった論理アドレス「0」,「1」に続く論理アドレス「2」〜「9」のデータに対して先読み処理を行うものとする。
【0030】
先読み処理部24は、先ず、先読み処理を行う対象となる領域すべてに対して、そのアドレス(論理アドレス「2」〜「9」)が物理的にディスク上の何処の場所(物理アドレス上)に配置されているかを、予めアドレス変換マップ22を参照して調べる(図2ステップA12)。
【0031】
この際のアドレス変換マップ22に於ける先読み処理の対象となる領域(論理アドレス「2」〜「9」)と、その物理アドレスとの対応例を図3に示し、その論理−物理のアドレス対応に於ける、先読み対象のディスク上での物理的配置の状態を図4にハッチングで示している。
【0032】
この物理アドレス配置から、1個のリード命令で分散した領域をどのように読むかを判定する(図2ステップA13〜A17)。ここでは、連続した領域にあるデータ、および物理アドレスが2(i=2)以上離れていない近くのデータに対して、それぞれ先読みを行うべきであると判定し、先読みを行う場合は、一つの命令で一括して行うこととする。
【0033】
図4に示す例の場合、図5に→印で示すようなリード命令となる。即ち、論理アドレス「6」のデータは物理アドレス「5」に配置されていて、近く(物理アドレスで2以上離れていない範囲)に先読み対象となるデータがないので、物理アドレス「5」からサイズ1(1ブロックデータ)の先読み命令を発行する(図2ステップA13,A14,A16)。
【0034】
論理アドレス「5」、「7」、「2」、「8」のデータはそれぞれ物理アドレス「8」、「9」、「10」、「11」に配置されていて、これらのデータは物理的に連続しているので、物理アドレス「8」からサイズ4(4ブロックデータ)の先読み命令を発行する(図2ステップA13〜A16)。
【0035】
また、論理アドレス「3」、「4」、「9」のデータは、それぞれ物理アドレス「20」、「22」、「23」に配置されている。ここで物理アドレス「20」のデータは、物理アドレス「22」、「23」の近く(物理アドレスで2以上離れていない範囲)にあり、従って物理アドレス「20」からサイズ4(4ブロックデータ)の先読み命令を発行する(図2ステップA13〜A16)。この場合、物理アドレス「21」に対応するデータに関する処理は無駄であるが、近くのデータはまとめて1命令で行った方が先読み命令を2回に分けて発行するよりも効率が良くなる。
【0036】
このようにして、連続した領域に対する先読みのための命令の一括化を行うことにより、先読みのためのリード命令総数を削減でき、これによって先読み処理を効率良く行うことができる。
【0037】
尚、上記した実施形態に於いて、ディスクドライブへのリード要求数を制限して、ディスクドライブより先読みするデータの量を動的に調整することにより、先読み要求の数が多くなりディスクドライブへの負荷がかかり過ぎる状態を回避できる。また、ディスクドライブへのリード命令をディスク上の物理的な配置の順に発行することにより、ディスクドライブ上のヘッドの移動量を減らしてシーク動作の迅速かつ円滑化が図れる。
【0038】
次に、図6および図7を参照して本発明の第2実施形態を説明する。
【0039】
この第2実施形態に於いては、ディスクドライブとキャッシュを備えたシステムに於いて、ディスクへの1回のリード要求の処理が終了するまでの間に、ホスト側から発行された複数のリード要求に対して、そのリード要求された複数の論理アドレスそれぞれの物理上のデータ配置(物理アドレス配置)を調べ、その配置の状態から、予め設定された許容範囲の中で、ディスクへのリード要求の回数を最小とするように、物理上の複数領域を纏めてリードする機能を実現している。
【0040】
図6は、本発明の第2実施形態に於けるデータ処理装置の要部の構成要素を示すブロック図であり、ホスト装置1、ディスクコントローラ2、ディスクドライブ3等を具備する。
【0041】
ディスクコントローラ2は、アクセス制御部2a、アドレス変換マップ2b、バッファメモリ2c、ディスクアクセス処理部2d等を具備する。
【0042】
アクセス制御部2aは、ホスト装置1からリード要求、ライト要求等を受けて、ディスクアクセスの制御を行う。この際のリード要求に関しては、ディスクドライブ3への1回のリード要求処理が終了するまでの間にホスト装置1から発行されたリード要求の全てに対して、アドレス変換マップ2bを参照し、その各リード要求のアドレス(論理アドレス)を、実際にデータが置かれた場所を示す物理アドレスに変換して、その物理上(媒体上)のアドレス配置を調べ、物理的に隣り合う配置であるとき、若しくは物理的に近傍配置(例えばアドレス2個分以内)である際に、これら全てのアドレス領域にあるデータを、纏めて(一括して)リードする。
【0043】
アドレス変換マップ2bは、上記した第1実施形態と同様に、論理アドレスと物理アドレスとの対応を示すテーブルを構成し、リード/ライトアクセス時に於いて、アクセス制御部2aにより参照され、論理アドレスに対する物理上(媒体上)のアドレス配置が認識される。
【0044】
図7は、本発明の第2実施形態に於ける一括リード処理の手順を示すフローチャートである。
【0045】
ここで、上記図6および図7を参照して本発明の第2実施形態に於ける動作を説明する。
【0046】
ディスクコントローラ2のアクセス制御部2aは、ディスクドライブ3に設けられたディスクへの1回のリード要求処理が終了するまでの間にホスト装置1から発行されたリード要求をスタックし、そのリード要求の全てに対して、アドレス変換マップ2bを参照して、その各リード要求のアドレス(論理アドレス)を、実際にデータが置かれた場所を示す物理アドレスに変換し、その物理上(媒体上)のアドレス配置を調べる(図7ステップB11,B12)。ここで、物理的に隣り合う配置であるとき、若しくは物理的に近傍配置(例えばアドレス2個分以内)である際に、これら全てのアドレス領域にあるデータを、纏めて(一括して)リードする(図7ステップB13,B14,B15)。この際の一括リード処理については、上記した第1実施形態に於いて、図3乃至図5を参照して説明した動作とほぼ同様であり、その第1実施形態の動作説明から容易に理解できることから、ここではその詳細な動作の説明を省略する。
【0047】
このようにして、連続した領域に対するリード命令の一括化を行うことにより、ディスクに対するリード命令総数を削減でき、これによってディスクアクセス処理を効率良く行うことができる。
【0048】
【発明の効果】
以上詳記したように本発明によれば、連続した領域に対する先読みのための命令の一括化を行うことにより、先読みのためのリード命令総数を削減でき、これによって先読み処理を効率良く行うことができる。
【0049】
また、連続した領域に対するリード命令の一括化を行うことにより、ディスクに対するリード命令総数を削減でき、これによってディスクアクセス処理を効率良く行うことができる。
【図面の簡単な説明】
【図1】本発明の第1実施形態に於けるデータ処理装置の構成を示すブロック図。
【図2】上記第1実施形態に於ける先読み処理の手順を示すフローチャート。
【図3】上記第1実施形態に於けるアドレス変換マップのアドレス対応例を示す図。
【図4】上記第1実施形態に於ける先読み対象となる物理的な配置状態を示す図。
【図5】上記第1実施形態に於ける先読み命令発行箇所を示す図。
【図6】本発明の第2実施形態に於けるデータ処理装置の構成を示すブロック図。
【図7】本発明の第2実施形態に於ける一括リード処理の手順を示すフローチャート。
【符号の説明】
1…ホスト装置
2…ディスクコントローラ
2a…アクセス制御部
2b…アドレス変換マップ
2c…キャッシュ(キャッシュメモリ)
2d…アドレス変換マップ
3…ディスクドライブ
10…ホスト装置
20…ディスクコントローラ
21…アクセス制御部
22…アドレス変換マップ
23…キャッシュ(キャッシュメモリ)
24…先読み処理部
30…ディスクドライブ[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a data processing apparatus and a data reading method including a storage device in which data is recorded in a manner in which a logical address arrangement used for a read request and a physical address arrangement for storing data are different.
[0002]
[Prior art]
In a data processing system equipped with a disk drive, as a method for speeding up sequential reads to a disk, a pre-read processing technique in which data in an area following an address for which a read request has been made is previously read onto a cache memory. Are known. This prefetching process is disclosed in, for example, Japanese Patent Publication No. 7-76941.
[0003]
At this time, in the conventional read-ahead technique described above, in the magnetic disk device or the like, even if the logical address at the time of the read request is continuous, the actual data is not arranged in the order indicated by the address. There is a problem that the above-described prefetching process does not function sufficiently.
[0004]
In other words, in a system that requires conversion to the physical location (physical address) where the data actually exists, the read-requested area (logical address) is logically continuous. However, there are cases where they are physically discontinuously arranged, and it is impossible to prefetch the entire area requested to be read. For this reason, since the access to the disk is random access, there is a problem that the prefetching effect cannot be obtained even if the prefetching is simply performed according to the physical arrangement, and thus the prefetching process described above does not function sufficiently. .
[0005]
[Problems to be solved by the invention]
As described above, in the conventional read-ahead technology, even if the logical address at the time of the read request is continuous, the actual data is not arranged in the order indicated by the address. There was a problem that the function of could not be fully demonstrated.
[0006]
The present invention has been made in view of the above circumstances, and an object of the present invention is to provide a data processing apparatus and a data prefetching method capable of efficiently performing a prefetching process by reducing the total number of read instructions for prefetching.
[0007]
Another object of the present invention is to provide a data processing apparatus and a data prefetching method that can efficiently perform disk access processing by reducing the total number of read instructions for the disk.
[0008]
[Means for Solving the Problems]
The present invention calculates a physical address for all areas requested to be read, and reads data that is physically adjacent addresses or data that is physically located in an address area and reads them collectively It is characterized by having a function.
[0009]
Furthermore, in the present invention, when prefetching processing is performed, physical addresses are calculated in advance for all areas where prefetching processing is to be performed. It is characterized by a processing function for reading data in the address area collectively.
[0010]
That is, according to the present invention, a data processing apparatus comprising a disk drive for controlling access to at least one disk and a cache memory for temporarily storing data read from the disk drive is designated by a read / write request. An address conversion map indicating the correspondence between the logical address to be read and the physical arrangement on the disk, and whether the request is accepted and prefetching is performed based on the continuity of a plurality of logical addresses requested to be read A prefetch determination unit that determines whether or not, and when performing prefetching according to the determination of the prefetch determination unit, the address conversion map is referred to for n consecutive logical addresses including the plurality of logical addresses, Check the physical layout of all the address areas to be, and when the layout interval is within the set range Pre-read area determination means for determining all physical address areas existing in the set range as pre-read areas, and read access to the disk drive according to the pre-read area determined by the pre-read area determination means, from the disk drive Access control means for reading data in each area according to the pre-read area all at once .
[0011]
According to another aspect of the present invention, there is provided a data prefetching method for a data processing apparatus having a cache for temporarily storing data read from a disk drive, wherein the continuity of a plurality of logical addresses requested to be read is maintained when a read request is made to the disk drive. Whether or not prefetching is performed, and when it is determined to perform prefetching, the physical arrangement of the n consecutive logical addresses including the plurality of logical addresses is examined, and the arrangement interval examined is When it is within the set range, all physical address areas existing within the set range are determined as pre-read areas, and read access is made to the disk drive according to the determined pre-read areas, and the pre-read areas from the disk drive The data of each area according to the above is read at once .
[0013]
DETAILED DESCRIPTION OF THE INVENTION
Hereinafter, embodiments of the present invention will be described with reference to the drawings.
[0014]
First, a first embodiment of the present invention will be described with reference to FIGS.
[0015]
In the first embodiment, when a read request is issued from the host device, it is determined whether or not prefetching is to be performed. When prefetching is performed, an address to be prefetched is referred to by referring to the address conversion map. Realizes batch read-ahead processing of multiple areas by examining the physical layout of all areas and reading multiple physical address areas collectively so that the number of read requests to the disk is minimized is doing.
[0016]
FIG. 1 is a block diagram showing the main components of the data processing apparatus according to the first embodiment of the present invention, which includes a
[0017]
The
[0018]
The disk
[0019]
The
[0020]
The
[0021]
If it is determined that prefetching should be performed, an operation is performed to read the corresponding data from the
[0022]
FIG. 2 is a flowchart showing the procedure of the prefetch process in the embodiment.
[0023]
FIG. 3 is a diagram showing a correspondence example of logical-physical addresses for explaining the configuration of the
[0024]
FIG. 4 is a diagram showing a state of physical arrangement on the pre-read target disk in the logical-physical address correspondence shown in FIG. 3, and here, the logical address (LA) shown in FIG. ) About "2" to "9", the data positions (physical arrangement states) are indicated by hatching.
[0025]
FIG. 5 is a diagram showing a prefetch instruction issue location (illustration → mark) for the address arrangement of FIGS. 3 and 4 described above. In this example, the physical addresses “8” to “11” corresponding to the logical addresses “5”, “7”, “2”, and “8” and the logical addresses “3”, “4”, “9” The data of the physical addresses “20” to “23” corresponding to “” is read together (collectively).
[0026]
Here, the operation in the first embodiment of the present invention will be described with reference to the respective drawings.
[0027]
In the first embodiment, the physical address allocation state of a plurality of physical address areas corresponding to the logical address area to be prefetched is checked, and a read request to the disk drive is issued. A plurality of physical address areas are collectively read so as to minimize the number of times.
[0028]
The
[0029]
As a specific example, here, when there is a read request for sequential logical addresses “0” and “1” in the order of the addresses, the
[0030]
First, the
[0031]
FIG. 3 shows an example of the correspondence between the areas (logical addresses “2” to “9”) to be prefetched in the
[0032]
From this physical address arrangement, it is determined how to read the area distributed by one read instruction (steps A13 to A17 in FIG. 2). Here, it is determined that prefetching should be performed on data in a continuous area and nearby data whose physical addresses are not separated by 2 (i = 2) or more. It is assumed that it is performed in batch with instructions.
[0033]
In the case of the example shown in FIG. 4, the read command is as shown by the → mark in FIG. That is, since the data at the logical address “6” is arranged at the physical address “5” and there is no data to be prefetched in the vicinity (a range that is not two or more physical addresses away), the size from the physical address “5” 1 (1 block data) prefetch instruction is issued (steps A13, A14, A16 in FIG. 2).
[0034]
The data of logical addresses “5”, “7”, “2”, “8” are arranged at physical addresses “8”, “9”, “10”, “11”, respectively, and these data are physical Therefore, a prefetch command of size 4 (4 block data) is issued from the physical address “8” (steps A13 to A16 in FIG. 2).
[0035]
Further, the data of the logical addresses “3”, “4”, and “9” are arranged at the physical addresses “20”, “22”, and “23”, respectively. Here, the data of the physical address “20” is close to the physical addresses “22” and “23” (a range not separated by 2 or more in the physical address), and therefore the size is 4 (4 block data) from the physical address “20”. Is issued (steps A13 to A16 in FIG. 2). In this case, the processing related to the data corresponding to the physical address “21” is useless, but it is more efficient to execute the nearby data in one instruction than to issue the prefetch instruction twice.
[0036]
In this way, by batching instructions for prefetching for consecutive areas, the total number of read instructions for prefetching can be reduced, and prefetching processing can be performed efficiently.
[0037]
In the above-described embodiment, by limiting the number of read requests to the disk drive and dynamically adjusting the amount of data prefetched from the disk drive, the number of prefetch requests increases, A state where an excessive load is applied can be avoided. In addition, by issuing read instructions to the disk drive in the order of physical arrangement on the disk, the amount of head movement on the disk drive can be reduced and the seek operation can be performed quickly and smoothly.
[0038]
Next, a second embodiment of the present invention will be described with reference to FIGS.
[0039]
In the second embodiment, in a system having a disk drive and a cache, a plurality of read requests issued from the host side until one read request processing to the disk is completed. On the other hand, the physical data arrangement (physical address arrangement) of each of the plurality of logical addresses requested to be read is checked, and the read request to the disk is determined from the arrangement state within a preset allowable range. In order to minimize the number of times, a function of reading a plurality of physical areas together is realized.
[0040]
FIG. 6 is a block diagram showing the main components of the data processing apparatus according to the second embodiment of the present invention, and includes a
[0041]
The
[0042]
The
[0043]
Similar to the first embodiment, the
[0044]
FIG. 7 is a flowchart showing a procedure of batch read processing in the second embodiment of the present invention.
[0045]
Here, the operation in the second embodiment of the present invention will be described with reference to FIG. 6 and FIG.
[0046]
The
[0047]
In this way, the batch of read instructions for the continuous areas can be reduced, so that the total number of read instructions for the disk can be reduced, whereby the disk access processing can be performed efficiently.
[0048]
【The invention's effect】
As described above in detail, according to the present invention, the number of read instructions for prefetching can be reduced by batching instructions for prefetching for continuous areas, thereby enabling efficient prefetching processing. it can.
[0049]
Also, by batching the read commands for the continuous areas, the total number of read commands for the disk can be reduced, and the disk access process can be performed efficiently.
[Brief description of the drawings]
FIG. 1 is a block diagram showing a configuration of a data processing device according to a first embodiment of the present invention.
FIG. 2 is a flowchart showing a procedure of prefetch processing in the first embodiment.
FIG. 3 is a view showing an address correspondence example of an address conversion map in the first embodiment.
FIG. 4 is a diagram showing a physical arrangement state to be prefetched in the first embodiment.
FIG. 5 is a diagram showing a prefetch instruction issue location in the first embodiment.
FIG. 6 is a block diagram showing a configuration of a data processing device in a second embodiment of the present invention.
FIG. 7 is a flowchart showing a procedure of batch read processing according to the second embodiment of the present invention.
[Explanation of symbols]
DESCRIPTION OF
2d ...
24 ...
Claims (2)
リード/ライトの要求で指定する論理アドレスと前記ディスク上での物理的配置との対応を示すアドレス変換マップと、
前記要求を受け付け、リード要求時に、リード要求された複数の論理アドレスの連続性をもとに先読みを行うか否かを判定する先読み判定手段と、
前記先読み判定手段の判定に従って先読みを行う際に、前記複数の論理アドレスを含むn個の連続する論理アドレスについて、前記アドレス変換マップを参照し、先読みの対象となるアドレス領域全ての物理的なアドレス配置の連続性を調べ、連続しないアドレス配置部分について、その配置間隔が、設定された許容範囲内にあるか否かを判定し、許容範囲内にあるすべての物理アドレス領域を、連続するアドレス配置部分のアドレス領域とともに一括してリードする一連の先読み領域として、
先読み領域を判定する先読み領域判定手段と、
前記先読み領域判定手段が判定した先読み領域に従い、前記ディスクドライブにリードアクセスを行い、前記ディスクドライブから前記先読み領域のすべてのデータを一度に纏めて読み出すアクセス制御手段と、
を具備することを特徴とするデータ処理装置。In a data processing apparatus comprising: a disk drive for controlling access to at least one disk; and a cache memory for temporarily storing data read from the disk drive.
An address conversion map indicating a correspondence between a logical address designated by a read / write request and a physical arrangement on the disk;
Prefetch determination means for accepting the request and determining whether to perform prefetch based on continuity of a plurality of logical addresses requested to be read at the time of a read request;
When performing prefetching according to the determination of the pre-read determination means, for n consecutive logical address including a plurality of logical addresses, referring to the address translation map, subject to address space all physical addresses of the look-ahead Check the continuity of the arrangement, determine whether or not the arrangement interval is within the set allowable range for the non-contiguous address arrangement portion, and assign all the physical address areas within the allowable range to the continuous address arrangement. As a series of read-ahead areas to read together with the partial address area,
Prefetching area judging means for judging a prefetching area;
According to the prefetch area determined by the prefetch area determination means, the disk drive is read-accessed, and access control means for reading all data of the prefetch area from the disk drive at once,
A data processing apparatus comprising:
前記データ処理装置は、
リード/ライトの要求で指定する論理アドレスと前記ディスクドライブのディスク上での物理的配置との対応を示すアドレス変換マップを備えて、
前記ディスクドライブへのリード要求時に、リード要求された複数の論理アドレスの連続性をもとに先読みを行うか否かを判定し、
先読みを行う判定をしたとき、
前記複数の論理アドレスを含むn個の連続する論理アドレスについて、前記アドレス変換マップを参照して、先読みの対象となるアドレス領域全ての物理的なアドレス配置の連続性を調べ、
連続しないアドレス配置部分について、その配置間隔が、設定された許容範囲内にあるか否かを判定し、
許容範囲内にあるすべての物理アドレス領域を、連続するアドレス配置部分のアドレス領域とともに一括してリードする一連の先読み領域として、先読み領域を決定し、
決定した先読み領域に従い、前記ディスクドライブにリードアクセスを行い、前記ディスクドライブから前記先読み領域のすべてのデータを一度に纏めて読み出す
ことを特徴とするデータ先読み方法。In a data prefetching method of a data processing apparatus having a cache for temporarily storing data read from a disk drive,
The data processing device includes:
An address conversion map indicating a correspondence between a logical address designated by a read / write request and a physical arrangement of the disk drive on the disk;
Determining whether to perform prefetching based on the continuity of a plurality of logical addresses requested to be read at the time of a read request to the disk drive;
When you make a decision to prefetch,
For n consecutive logical addresses including the plurality of logical addresses, referring to the address conversion map, the continuity of the physical address arrangement of all address areas to be prefetched is examined,
For non-contiguous address arrangement parts, determine whether the arrangement interval is within the set allowable range,
Decide the prefetch area as a series of prefetch areas to read all physical address areas within the allowable range together with the address area of the continuous address arrangement part ,
According determined lookahead region, the perform read access to the disk drives, data prefetching wherein the reading from the disk drive together all the data of the read-ahead region at a time.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001273823A JP4197587B2 (en) | 2001-09-10 | 2001-09-10 | Data processing apparatus and data reading method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001273823A JP4197587B2 (en) | 2001-09-10 | 2001-09-10 | Data processing apparatus and data reading method |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2003084921A JP2003084921A (en) | 2003-03-20 |
JP4197587B2 true JP4197587B2 (en) | 2008-12-17 |
Family
ID=19098985
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001273823A Expired - Fee Related JP4197587B2 (en) | 2001-09-10 | 2001-09-10 | Data processing apparatus and data reading method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4197587B2 (en) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4915365B2 (en) * | 2008-02-26 | 2012-04-11 | 日本電気株式会社 | Data storage method and apparatus, duplicate data storage method and apparatus, and control program thereof |
JP2013206164A (en) * | 2012-03-28 | 2013-10-07 | Nec Corp | Data storage control device, data storage control system, data storage control method and data storage control program |
US20150370484A1 (en) * | 2013-08-20 | 2015-12-24 | Hitachi, Ltd. | Storage device and data input/output method |
WO2015049719A1 (en) * | 2013-10-01 | 2015-04-09 | 株式会社日立製作所 | Storage system and storage method |
-
2001
- 2001-09-10 JP JP2001273823A patent/JP4197587B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2003084921A (en) | 2003-03-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8006040B2 (en) | Data storage device and method thereof | |
US7979631B2 (en) | Method of prefetching data in hard disk drive, recording medium including program to execute the method, and apparatus to perform the method | |
JP3183993B2 (en) | Disk control system | |
US7937404B2 (en) | Data processing system and method | |
JP2003131942A (en) | Apparatus and method for controlling cache of hard disk devices | |
US20080016273A1 (en) | System And Method To Reduce Disk Access Time During Predictable Loading Sequences | |
US20080229027A1 (en) | Prefetch control device, storage device system, and prefetch control method | |
US20080229071A1 (en) | Prefetch control apparatus, storage device system and prefetch control method | |
US6684294B1 (en) | Using an access log for disk drive transactions | |
JP2007304691A (en) | Disk device and read-ahead control method for rotary type memory device | |
JPH07334310A (en) | Disk device and buffer storage control method for read data of the same | |
JP4197587B2 (en) | Data processing apparatus and data reading method | |
US5867685A (en) | System and method for sequential detection in a cache management system | |
JP3566319B2 (en) | Information storage device | |
JPH11161527A (en) | Data storage system | |
JP4947040B2 (en) | Storage device, storage system, and control method | |
JPH11212733A (en) | External storage system | |
JPH0519981A (en) | Data write normal end judging method for optical disk device | |
JP2001117818A (en) | Memory managing device, managing method, and recording medium recorded with managing program | |
JP2004164144A (en) | Disk device | |
JP2003345519A (en) | Disk array device and disk array control method | |
JPH03102443A (en) | Data preread controlling system | |
JP2002108704A (en) | Disk cache control system | |
JP3735495B2 (en) | Disk controller | |
JPH10124387A (en) | Unit and method for cache control |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20040915 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20070501 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070515 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070717 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20071127 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080128 |
|
A911 | Transfer of reconsideration by examiner before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20080201 |
|
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 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121010 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131010 Year of fee payment: 5 |
|
LAPS | Cancellation because of no payment of annual fees |