JP4197587B2 - Data processing apparatus and data reading method - Google Patents

Data processing apparatus and data reading method Download PDF

Info

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
Application number
JP2001273823A
Other languages
Japanese (ja)
Other versions
JP2003084921A (en
Inventor
雅陽 高山
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 JP2001273823A priority Critical patent/JP4197587B2/en
Publication of JP2003084921A publication Critical patent/JP2003084921A/en
Application granted granted Critical
Publication of JP4197587B2 publication Critical patent/JP4197587B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

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 host device 10, a disk controller 20, a disk drive 30, and the like.
[0017]
The disk controller 20 includes a disk access control unit 21, an address conversion map 22, a cache (cache memory) 23, a prefetch processing unit 24, and the like.
[0018]
The disk access control unit 21 receives a read request, a write request, and the like from the host device 10 and performs control such as disk access control and cache 23 allocation. When a read request is received, a physical address (location where data is actually placed) corresponding to the requested logical address is calculated with reference to the address conversion map 22. If the data of the requested area is on the cache 23, the hit data is returned to the host device 10, otherwise (if not hit) the data of the physical address obtained on the address translation map 22 is stored in the disk. An operation of reading from the drive 30 onto the cache 23 is performed. Further, when a read request is received, the prefetch processing unit 24 is activated to determine whether or not to prefetch.
[0019]
The address conversion map 22 is composed of an address conversion table that takes a correspondence between a logical address and a physical address, and is referred to by the disk access control unit 21 at the time of read / write access, and physically (disk The above address arrangement is recognized. A specific configuration example of the address conversion map 22 will be described later with reference to FIG.
[0020]
The prefetch processing unit 24 is activated by the disk access control unit 21 at the time of a read request from the host device 10, and determines whether to perform prefetching and performs actual prefetching processing. There are various methods for determining whether to perform prefetching. Here, when there is a read request (recognized as sequential read) in a continuous area (logical address) two or more times, prefetching is performed. If it is not, look ahead is not performed.
[0021]
If it is determined that prefetching should be performed, an operation is performed to read the corresponding data from the disk drive 30 and place it on the cache 23 for consecutive n logical addresses. In the operation example in this embodiment, the corresponding data is read from the disk drive 30 for eight consecutive logical addresses (see LA “2” to “9” in FIG. 3) where n is “8”. Is stored in the cache 23. At this time, with respect to all eight logical addresses to be prefetched, the physical arrangement on the disk where the data is placed is checked with reference to the address conversion map 22 (see hatching in FIG. 4), and the state of the arrangement Thus, a plurality of physical address areas are read together (collectively) so as to minimize the number of read requests to the disk drive 30 (see the → marks in FIG. 5).
[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 address conversion map 22, where LA is a logical address included in a read command from the host device 10, and PA is a physical address on the disk. It is. In this example, when a read command for two logical addresses “0” and “1” having consecutive logical addresses is received from the host device 10, the subsequent logical addresses “2” to “9” are used as prefetch targets, and address conversion is performed. The map 22 is used to calculate addresses on each physical, and whether there are physically adjacent addresses from these address arrays, or whether they are physically close (for example, within two addresses). The conditions for enabling batch reading such as the above are checked, and data is read collectively for all areas included in the conditions.
[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 prefetch processing unit 24 is activated by the disk access control unit 21 at the time of a read request from the host device 10, and determines whether to perform prefetching and performs actual prefetching processing. Here, when there is a read request (recognized as sequential read) in a continuous area (logical address) two or more times, it is determined that prefetching should be performed. Otherwise, prefetching is not performed. (FIG. 2, step A11).
[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 prefetch processing unit 24 recognizes that the read is sequential and prefetches. Processing is started, and prefetch processing is performed on the data of logical addresses “2” to “9” following logical addresses “0” and “1” subjected to the prefetch determination.
[0030]
First, the prefetch processing unit 24 physically assigns the addresses (logical addresses “2” to “9”) to all locations on the disk (on the physical addresses) for all areas to be prefetched. Whether it is arranged or not is checked in advance with reference to the address conversion map 22 (step A12 in FIG. 2).
[0031]
FIG. 3 shows an example of the correspondence between the areas (logical addresses “2” to “9”) to be prefetched in the address conversion map 22 at this time and the physical addresses, and the correspondence between the logical and physical addresses. In FIG. 4, the physical arrangement on the pre-read target disk is shown by hatching in FIG.
[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 host device 1, a disk controller 2, a disk drive 3, and the like.
[0041]
The disk controller 2 includes an access control unit 2a, an address conversion map 2b, a buffer memory 2c, a disk access processing unit 2d, and the like.
[0042]
The access control unit 2a receives a read request, a write request, etc. from the host device 1 and controls disk access. With respect to the read request at this time, the address conversion map 2b is referred to for all the read requests issued from the host apparatus 1 until one read request processing to the disk drive 3 is completed. When the address (logical address) of each read request is converted into a physical address indicating the location where the data is actually placed, and the physical address (on the medium) is checked for address allocation, and the addresses are physically adjacent Or, when the physical arrangement is close (for example, within two addresses), the data in all these address areas are read together (collectively).
[0043]
Similar to the first embodiment, the address conversion map 2b constitutes a table indicating the correspondence between logical addresses and physical addresses, and is referred to by the access control unit 2a at the time of read / write access. The physical (medium) address arrangement is recognized.
[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 access control unit 2a of the disk controller 2 stacks the read requests issued from the host device 1 until one read request processing to the disk provided in the disk drive 3 is completed, and For all, referring to the address conversion map 2b, the address (logical address) of each read request is converted into a physical address indicating the location where the data is actually placed, and the physical (on the medium) is converted. The address arrangement is examined (steps B11 and B12 in FIG. 7). Here, when the arrangement is physically adjacent or physically adjacent (for example, within two addresses), the data in all these address areas are read together (collectively). (Steps B13, B14, B15 in FIG. 7). The batch read process at this time is substantially the same as the operation described with reference to FIGS. 3 to 5 in the first embodiment, and can be easily understood from the operation description of the first embodiment. Therefore, detailed description of the operation is omitted here.
[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 SYMBOLS 1 ... Host apparatus 2 ... Disk controller 2a ... Access control part 2b ... Address conversion map 2c ... Cache (cache memory)
2d ... Address conversion map 3 ... Disk drive 10 ... Host device 20 ... Disk controller 21 ... Access control unit 22 ... Address conversion map 23 ... Cache (cache memory)
24 ... Prefetch processing unit 30 ... Disk drive

Claims (2)

少なくとも1つのディスクをアクセス制御するディスクドライブと、前記ディスクドライブよりリードされたデータを一時保持するキャッシュメモリとを具備するデータ処理装置に於いて、
リード/ライトの要求で指定する論理アドレスと前記ディスク上での物理的配置との対応を示すアドレス変換マップと、
前記要求を受け付け、リード要求時に、リード要求された複数の論理アドレスの連続性をもとに先読みを行うか否かを判定する先読み判定手段と、
前記先読み判定手段の判定に従って先読みを行う際に、前記複数の論理アドレスを含む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.
JP2001273823A 2001-09-10 2001-09-10 Data processing apparatus and data reading method Expired - Fee Related JP4197587B2 (en)

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)

* Cited by examiner, † Cited by third party
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

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