JP4692501B2 - Data storage system and data storage method - Google Patents
Data storage system and data storage method Download PDFInfo
- Publication number
- JP4692501B2 JP4692501B2 JP2007058559A JP2007058559A JP4692501B2 JP 4692501 B2 JP4692501 B2 JP 4692501B2 JP 2007058559 A JP2007058559 A JP 2007058559A JP 2007058559 A JP2007058559 A JP 2007058559A JP 4692501 B2 JP4692501 B2 JP 4692501B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- storage area
- memory
- buffer
- data storage
- 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
Description
本発明はデータ記憶システム、及びデータ記憶方法に関し、特にCPUの負荷を削減できるデータ記憶システム、及びデータ記憶方法に関する。 The present invention relates to a data storage system and a data storage method, and more particularly to a data storage system and a data storage method capable of reducing a load on a CPU.
従来のログデータ記憶システムの例を図17に示す。図17に示すように、この従来のログデータ記憶システムは、CPU901と、メモリ902と、DMA(Direct Memory Access)コントローラ(DMAC)920と、ディスクシステム910とから構成されている。それぞれのデバイスは、バス905を介して互いにデータを送受信することができる。
An example of a conventional log data storage system is shown in FIG. As shown in FIG. 17, this conventional log data storage system includes a
CPU901では、アプリケーションプログラムが動作する。また、ログデータを生成するログ生成プログラムも動作する。ログ生成プログラムは、アプリケーションプログラムの動作状態や、OSの動作状態をログデータとして出力する。ログデータを生成する機能が、アプリケーションプログラムやOS何に含まれる場合と、異なるプログラムで実現される場合がある。
In the
メモリ902は、CPU901上のログ生成プログラムが発生するデータをディスクシステム910に書き込むまで一時的に保存する。
The
ディスクシステム910は、ディスクドライブ911と、ディスクキャッシュ912とで構成される。
The
ディスクドライブ911は、データを記憶する装置である。一般的にディスクドライブは、磁気ディスクを利用するため、データの書き込み及び読み出しは、メモリ902と比較すると低速である。
The
ディスクキャッシュ912は、ディスクドライブ911へデータを書き込む際に、メモリ902からのデータを一時的に保存する。ディスクキャッシュ912は、一般的には、データの書き込み及び読み込みがディスクドライブと比較して高速な半導体メモリが利用される。ディスクキャッシュ912に高速な半導体メモリを利用することによって、大量のデータをメモリからディスクへ書き込む際に高速なディスクキャッシュへ一時的に書き込み、その後低速なディスクドライブへの書き込みを実施することにより、メモリからディスクへのデータ書き込み処理を高速化することができる。
DMAコントローラ920は、DMA開始手段921と、アドレスカウント手段922と、ディスク書き込み制御手段923と、完了割り込み通知手段924で構成される。
The
The
DMA開始手段921は、CPU901からDMA転送要求を受信し、転送対象となるメモリアドレスをアドレスカウント手段922へ設定する。アドレスカウント手段922は、メモリからディスクシステムへデータを転送するごとに、データの読み出し元となるメモリのアドレスを更新し、ディスク書き込み制御手段923へ通知する。ディスク書き込み制御手段923は、メモリカウント手段922から指定されるメモリアドレスのデータを読み出し、ディスクキャッシュ912へデータを書き込む。完了割り込み通知手段924は、CPU901からDMA転送要求で要求された全データの転送を完了すると、CPU901へ完了を伝える割り込みを通知する。
The
上記のような構成を有する従来のログデータ記憶システムの動作シーケンスを図18、19に示す。図18は、CPU901の動作シーケンスであり、図19は、DMAコントローラ920の動作シーケンスである。
The operation sequence of the conventional log data storage system having the above configuration is shown in FIGS. FIG. 18 shows an operation sequence of the
図18を参照して、CPU901の動作について説明する。
The operation of the
ステップS901において、CPU901がメモリ902にログデータを書き込む。
一般的にメモリ902の空き容量は、CPU901上で動作しているOSが管理している。このため、メモリ902上に空き容量が少なくなると、CPU901上のOSが、メモリ902上のデータをディスクシステム910へ書き出すためのDMA転送要求をDMAコントローラ920へ発行する。
In step S <b> 901, the
In general, the free space in the
ステップ902において、CPU902は転送するデータのメモリアドレス及びデータサイズを設定する。ステップS903において、CPU901は、転送先のディスクアドレスを設定する。その後、ステップS904において、CPU901はDMA転送要求をDMAコントローラ920へ通知する。DMA転送要求では、転送対象となるメモリアドレス及びデータサイズを通知する。
In
DMAコントローラ920は、DMA転送要求を受信すると、DMA転送要求で指定されたアドレスのデータをメモリ902から読み取り、ディスクキャッシュ912に書き込む。この動作については、後で、DMAコントローラの動作フローとして、図19を参照して説明する。
When receiving the DMA transfer request, the
DMA転送要求により要求されたすべてのデータの転送が終了すると、CPU901は、DMA転送完了割込みを、ステップS905で受信する。DMA転送完了割込みを受けると、メモリ902を管理するOSがメモリの空き状態を更新する。
When the transfer of all data requested by the DMA transfer request is completed, the
次に、図19を参照してDMAコントローラ920の動作フローを説明する。
Next, the operation flow of the
DMAコントローラ920は、CPU901からDMA転送要求を受信すると、DMA開始手段921が、転送対象となるメモリアドレスをアドレスカウント手段922へ設定する(ステップS921)。アドレスカウント手段922は、ステップS922において、データ転送ごとに転送対象となるメモリアドレスをインクリメントし、このメモリアドレスをディスク書き込み制御手段923へ設定する。
When the
次に、ディスク書き込み制御手段923が、アドレスカウント手段922に設定されたメモリアドレスからデータを読み出し(ステップS923)、読み出したデータをディスクキャッシュ912へ書き込む(ステップS924)。ディスクキャッシュ912へ書き込まれたデータは、ディスクドライブ911へ書き込まれる。メモリ902とディスクシステム910間のデータ転送で一度に転送できるデータ量は、バスやOSにより決められている。このため、DMA転送要求のデータ量がこの制限されたデータ量より大きい場合は、要求されたデータ量の転送が終了するまで、上記転送動作を繰り返す(ステップS925)。
Next, the disk
以上で説明したように、従来のログデータ記憶システムでは、DMAを利用することによって、CPUはメモリからディスクシステムへのデータ転送に関する処理を行わないため、ログデータをディスクシステムへ記憶する際のCPU負荷を下げることができる。
また、従来のログデータ管理システムでは、リモートの管理用コンピュータへログデータを転送する場合は、ログデータをTCP/IPプロトコルを利用して、データの収集を行う。
As described above, in the conventional log data storage system, by using DMA, the CPU does not perform processing related to data transfer from the memory to the disk system, and therefore the CPU for storing log data in the disk system. The load can be reduced.
In the conventional log data management system, when log data is transferred to a remote management computer, the log data is collected using the TCP / IP protocol.
本発明に関連する技術を開示するものとして、例えば、特許文献1、特許文献2、特許文献3がある。
第1の問題点は、ログデータの収集量が増大すると、CPU負荷が増大するということである。 The first problem is that the CPU load increases as the amount of collected log data increases.
その理由は、ディスクデバイスドライバの呼び出しと、DMA転送完了の割り込みの処理をDMA転送のたびにCPUが実施するためである。 The reason for this is that the CPU executes the disk device driver call and the DMA transfer completion interrupt process for each DMA transfer.
第2の問題点は、管理対象コンピュータと異なるリモートの管理用コンピュータにログデータを転送する際に、転送処理のCPU負荷が増大するということである。 The second problem is that the transfer processing CPU load increases when log data is transferred to a remote management computer different from the management target computer.
その理由は、コンピュータ間の転送処理のためのTCP/IPプロトコルの処理負荷が増大するためである。 The reason is that the processing load of the TCP / IP protocol for transfer processing between computers increases.
[発明の目的]
本発明の目的は、CPU負荷を低減することができるデータ記憶システムを提供することにある。
[Object of invention]
An object of the present invention is to provide a data storage system capable of reducing the CPU load.
本発明の他の目的は、ディスクドライブへ記憶するデータの重複および欠落を防ぐことにある。 Another object of the present invention is to prevent duplication and omission of data stored in a disk drive.
本発明の第1のデータ記憶システムは、複数のバッファを有し、データの保存先であるデータ記憶領域と、前記バッファの状態を記憶するバッファ状態記憶領域と、を備えたメモリと、
前記データ記憶領域と前記複数のバッファと前記バッファ状態記憶領域とのメモリアドレスを決定するメモリアドレス決定手段と、前記データ記憶領域内において前記データを保存するアドレス順を決定するメモリアクセス順決定手段と、前記メモリアクセス順決定手段が決定した順番に従って前記バッファ状態記憶領域のバッファ状態を取得し、バッファの状態がデータを書き込める状態でなければデータの書き込みを保留し、バッファの状態がデータを書き込める状態であればデータを書き込み、前記バッファ状態記憶領域のバッファ状態を更新するデータ書き込み手段として機能させるプログラムにより動作するプロセッサと、
前記データ記憶領域内のデータの転送先となるディスクドライブと、
前記メモリ上の前記データ記憶領域と前記バッファと前記バッファ状態記憶領域とのアドレスを前記プログラムから取得し、記憶する手段と、
前記データ記憶領域内のデータを前記プログラムがデータを書き込むアドレス順に従って前記バッファ状態記憶領域のバッファ状態を取得し、バッファの状態がデータを読み出せる状態でなければ処理を保留し、バッファの状態がデータを読み出せる状態であれば、バッファ単位でデータを読み出し、読み出したデータを前記ディスクドライブへ書き込み、バッファ状態を更新するディスク書き込み制御手段と、
を有することを特徴とする。
本発明の第2のデータ記憶システムは、複数のバッファを有し、データの保存先であるデータ記憶領域と、前記バッファの状態を記憶するバッファ状態記憶領域と、を備えたメモリと、
前記データ記憶領域と前記複数のバッファと前記バッファ状態記憶領域とのメモリアドレスを決定するメモリアドレス決定手段と、前記データ記憶領域内において前記データを保存するアドレス順を決定するメモリアクセス順決定手段と、前記メモリアクセス順決定手段が決定した順番に従って前記バッファ状態記憶領域のバッファ状態を取得し、バッファの状態がデータを読み出せる状態でなければデータの読み出しを保留し、バッファの状態がデータを読み出せる状態であればデータを読み出し、前記バッファ状態記憶領域のバッファ状態を更新するデータ読み出し手段として機能させるプログラムにより動作するプロセッサと、
前記データ記憶領域内のデータの転送元となるディスクドライブと、
前記メモリ上の前記データ記憶領域と前記バッファと前記バッファ状態記憶領域とのアドレスを前記プログラムから取得し、記憶する手段と、
前記データ記憶領域内のデータを前記プログラムがデータを書き込むアドレス順に従って前記バッファ状態記憶領域のバッファ状態を取得し、バッファの状態がデータを書き込める状態でなければ処理を保留し、バッファの状態がデータを書き込める状態であれば、前記ディスクドライブからデータを読み出し、読み出したデータを前記メモリ上の前記データ記憶領域へ書き込み、バッファ状態を更新するディスク読み出し制御手段と、
を有することを特徴とする。
A first data storage system of the present invention has a plurality of buffers, a memory including a data storage area that is a storage destination of data, and a buffer state storage area that stores the state of the buffer;
Memory address determining means for determining memory addresses of the data storage area, the plurality of buffers, and the buffer state storage area; and memory access order determining means for determining an address order for storing the data in the data storage area; The buffer access state of the buffer state storage area is acquired according to the order determined by the memory access order determination means, and if the buffer state is not a state where data can be written, the data write is suspended and the buffer state is a state where data can be written A processor that operates according to a program that functions as data writing means for writing data and updating the buffer state of the buffer state storage area,
A disk drive to which data in the data storage area is transferred;
Means for acquiring and storing addresses of the data storage area, the buffer and the buffer state storage area on the memory from the program;
The buffer status in the buffer status storage area is acquired in accordance with the address order in which the program writes the data in the data storage area. If the buffer status is not readable, the processing is suspended. If the data can be read, the disk write control means for reading the data in buffer units, writing the read data to the disk drive, and updating the buffer state;
It is characterized by having.
A second data storage system of the present invention has a plurality of buffers, a memory including a data storage area that is a data storage destination, and a buffer state storage area that stores the state of the buffer;
Memory address determining means for determining memory addresses of the data storage area, the plurality of buffers, and the buffer state storage area; and memory access order determining means for determining an address order for storing the data in the data storage area; The buffer status in the buffer status storage area is acquired according to the order determined by the memory access order determination means, and if the buffer status is not readable, the data reading is suspended and the buffer status is read from the data. A processor that operates according to a program that reads data if it can be output and functions as data reading means for updating the buffer state of the buffer state storage area;
A disk drive from which data in the data storage area is transferred;
Means for acquiring and storing addresses of the data storage area, the buffer and the buffer state storage area on the memory from the program;
The data in the data storage area is acquired according to the order of addresses in which the program writes data, and the buffer status in the buffer status storage area is acquired. Disk read control means for reading data from the disk drive, writing the read data to the data storage area on the memory, and updating the buffer status;
It is characterized by having.
このような構成を有し、プロセッサとデータ転送制御部で予めメモリへデータを書き込む領域のアドレスを共有し、バッファが書き込み可能または読み出し可能であることを確認することにより、プロセッサ負荷の低減及び記憶するデータの重複及び欠落を防ぐという本発明の目的を達成することができる。 Having such a configuration, the processor and the data transfer control unit share the address of the area in which data is written to the memory in advance, and confirm that the buffer is writable or readable, thereby reducing processor load and storing The object of the present invention can be achieved to prevent duplication and omission of data.
本発明の第3のデータ記憶システムは、第1の発明において、バッファ状態記憶領域からバッファ状態を確認する前に、メモリからディスクドライブへ転送したデータを記憶し、前記メモリから読み出したデータが前記記憶されたデータと異なる場合にデータ転送をディスク書き込み制御手段へ指示することを特徴とする。このような構成を有することにより、メモリアクセスの回数を低減しCPU負荷を低減することができる。 According to a third data storage system of the present invention, in the first invention, before the buffer status is confirmed from the buffer status storage area, the data transferred from the memory to the disk drive is stored, and the data read from the memory is If the stored data is different from the stored data, the disk write control means is instructed to transfer the data. By having such a configuration, the number of memory accesses can be reduced and the CPU load can be reduced.
本発明の第4のデータ記憶システムは、第1又は第2の発明において、前記データ記憶領域内のバッファ単位でのデータ書き込みの完了を確認する時間間隔を記憶し、書き込み完了の確認の際に既に書き込みが完了している際には、次回の確認までの待ち時間を短くし、まだ書き込みが完了していない場合は、次回の確認までの待ち時間を長くするようにメモリ読み出し間隔を制御する転送間隔制御手段を有することを特徴とする。このような構成を有し、メモリへアクセスする時間間隔を制御することにより、メモリアクセスの回数を低減しCPU負荷を低減することができる。 According to a fourth data storage system of the present invention, in the first or second invention, a time interval for confirming completion of data writing in units of buffers in the data storage area is stored, and when confirming completion of writing, When writing has already been completed, the waiting time until the next confirmation is shortened, and when writing has not been completed, the memory reading interval is controlled so as to increase the waiting time until the next confirmation. It has a transfer interval control means. By having such a configuration and controlling the time interval for accessing the memory, the number of memory accesses can be reduced and the CPU load can be reduced.
本発明の第5のデータ記憶システムは、第1又は2の発明において、バス上のコマンドをモニタし、コマンドの内容が前記CPUから前記データ記憶領域へのデータ書き込み要求であり、かつ新たなバッファへの書き込み要求であった場合に、メモリ読み出しを行うコマンドモニタ手段を有することを特徴とする。このような構成を有し、メモリへアクセスする時間間隔を制御することにより、メモリアクセスの回数を低減しCPU負荷を低減することができる。 According to a fifth data storage system of the present invention, in the first or second invention, the command on the bus is monitored, the content of the command is a data write request from the CPU to the data storage area, and a new buffer It is characterized by having a command monitoring means for performing memory reading when a write request is made. By having such a configuration and controlling the time interval for accessing the memory, the number of memory accesses can be reduced and the CPU load can be reduced.
本発明の第6のデータ記憶システムは、第1から第5の発明において、複数のディスクドライブを有し、データの転送先ディスクドライブをデータの内容に応じて選択するデータ転送先選択手段を有することを特徴とする。このような構成を有し、複数のディスクへデータを分散して記憶することで、ディスクへの書き込み速度を向上させデータの欠落を防ぐことができる。 According to a sixth data storage system of the present invention, in the first to fifth aspects of the present invention, the data storage system includes a plurality of disk drives, and further includes a data transfer destination selection unit that selects a data transfer destination disk drive according to the contents of the data. It is characterized by that. By having such a configuration and distributing and storing data on a plurality of disks, it is possible to improve the writing speed to the disks and prevent data loss.
本発明の第7のデータ記憶システムは、第6の発明において、バス上のコマンドをコンピュータの外部ネットワークのプロトコルにカプセル化するバスプロトコル転送部と、バスに接続したディスクドライブを制御可能なCPUを決定するパーティション制御手段とバスプロトコル転送部で接続されたリモートディスクドライブを転送先に指定する前記データ転送先選択手段とを備えたことを特徴とする。このような構成を有し、データをバスプロトコルのままカプセル化してリモートディスクへ転送することで、TCP/IP処理を削減し、CPU負荷を低減することができる。 According to a seventh data storage system of the present invention, in the sixth invention, a bus protocol transfer unit that encapsulates a command on the bus into a protocol of an external network of the computer, and a CPU that can control a disk drive connected to the bus. The partition control means for determining and the data transfer destination selecting means for designating the remote disk drive connected by the bus protocol transfer unit as the transfer destination are provided. With such a configuration, by encapsulating data in the bus protocol and transferring it to a remote disk, TCP / IP processing can be reduced and CPU load can be reduced.
第1の効果は、メモリからディスクへデータを転送する際のCPU負荷を低減できることにある。 The first effect is that the CPU load when transferring data from the memory to the disk can be reduced.
その理由は、プロセッサとデータ転送制御部で予めメモリへデータを書き込む領域のアドレスを共有することにより、データ転送のたびにメモリアドレスを通知する処理を省略できるためである。 This is because the processor and the data transfer control unit share the address of the area in which data is written to the memory in advance, so that the process of notifying the memory address each time data is transferred can be omitted.
また他の理由は、データ読み出しのために、ディスク書き込み制御手段がメモリへアクセスするタイミングを制御するためである。 Another reason is to control the timing at which the disk write control means accesses the memory for data reading.
第2の効果は、ディスクドライブへ記憶するデータの重複を防ぐことにある。 The second effect is to prevent duplication of data stored in the disk drive.
その理由は、メモリから読み出したデータを一時記憶し、この記憶されたデータと異なるデータのみを転送するためである。 The reason is that data read from the memory is temporarily stored, and only data different from the stored data is transferred.
次に、発明を実施するための最良の形態について図面を参照して詳細に説明する。 Next, the best mode for carrying out the invention will be described in detail with reference to the drawings.
以下に説明する各実施形態においては、CPUはデータ書き込み手段とデータ読み出し手段とを備え、データ転送制御部はディスク書き込み制御手段とディスク読み出し制御手段と有するものとした説明する。しかし、CPUがデータ書き込み手段がなく、データ転送制御部がディスク書き込み制御手段がないデータ記憶システム、CPUがデータ読み出し手段がなく、データ転送制御部がディスク読み出し制御手段がないデータ記憶システムも本発明に含まれるものとする。 In each embodiment described below, it is assumed that the CPU includes a data writing unit and a data reading unit, and the data transfer control unit includes a disk writing control unit and a disk reading control unit. However, a data storage system in which the CPU has no data writing means and the data transfer control unit has no disk writing control means, and a data storage system in which the CPU has no data reading means and the data transfer control unit has no disk reading control means are also included in the present invention. Shall be included.
[第1の実施形態]
図1に示すように、本実施形態のログデータ記憶システムは、CPU101と、メモリ102と、データ転送制御部130と、ディスクシステム110とから構成されている。CPU(プロセッサとなる)101、メモリ102、データ転送制御部130、ディスクシステム110は、バス105を介して互いにデータを送受信することができる。
[First Embodiment]
As shown in FIG. 1, the log data storage system of this embodiment includes a
CPU101とディスクシステム110とは、図17に示した従来のCPU901とディスクシステム910とそれぞれ同じ機能を有するため、ここでの説明は省略する。
The
メモリ102は、データ記憶領域120とバッファ状態記憶領域125とバッファ割当記憶領域126とを有する。データ記憶領域120は、複数のバッファに分割されている。このデータ記憶領域120に、CPU101からログデータが書き込まれ、この領域内のデータがデータ転送制御部130により、ディスクシステム110へ転送される。
The
データ記憶領域120を、複数のバッファに分割することで、バッファごとにデータを転送する際に、一つのバッファ内のデータを転送中に、他のバッファに対してログデータを書き込むことができる。このため、メモリ102からディスクシステム110へデータ転送中であっても、メモリ102へのログデータの書き込みを継続することができる。それぞれのバッファのサイズは同じでも、異なっていてもよい。
By dividing the
このメモリ102への書き込み速度は、一般的に、ディスクシステム110への書き込み速度より高速である。このため、メモリ102への書き込みデータ量が過剰に多いと、メモリ102からディスクシステム110へのデータ転送が追いつかずにメモリが溢れ、ログデータが欠落することが考えられる。これを防ぐ方法の1つとして、複数のディスクドライブで構成し、メモリからのデータ転送を複数のディスクドライブで並行処理する方法がある。
The writing speed to the
データ記憶領域120は、図1に示すようにプログラムがディスクシステムにデータを書き込む処理と、プログラムがディスクシステムからデータを読み込む処理との両方が混在する場合は、それぞれ書き込み領域と読み出し領域とを作成する。また、図1のプログラム200a、プログラムb、プログラムmのように、ログデータを生成もしくはディスクシステムから読み出すプログラムが複数存在する場合は、プログラムごとに読み出し領域(プログラム用のデータ記憶領域となる)を作成する。また、プログラムごとに、書き込みと読み出しが混在する場合は、プログラムごとに書き込み領域と読み出し領域と(プログラム用のデータ記憶領域となる)を作成し、それぞれの領域内においてリングバッファを構成する。それぞれのプログラムに割り当てられた領域は、割り当てられたプログラムに関するプログラムおよびデータ転送制御部からの処理のみにアクセスを許すようにする。
As shown in FIG. 1, the
これら領域の区切りとなるアドレスまたはサイズの情報は、メモリ上のバッファ割当記憶領域126に記憶される。この情報を、データ転送制御部130のメモリアドレス記憶手段132に記憶することで、データ転送制御部130はメモリをアクセスする領域を特定することができる。
Information on the address or size used as a partition between these areas is stored in the buffer
バッファ状態記憶領域125は、各バッファのデータの状態を記憶する。バッファの状態としては、「書き込み可能」、「書き込み中」、「読み出し可能」、「読み出し中」がある。
The buffer
プログラムがディスクにデータを書き込む領域においては、「書き込み可能」はプログラムがメモリにデータを書き込み可能であることを、「書き込み中」はプログラムがメモリにデータを書き込み中であることを、「読み出し可能」はデータ転送制御部がメモリからデータを読み出し可能であることを、「読み出し中」はデータ転送制御部がメモリからデータを読み出し中であることを表す。「書き込み可能」と「書き込み中」の場合は、データ転送制御部はメモリからデータを読み出すことも、メモリへデータを書き込むこともできない。「読み出し可能」と「読み出し中」の場合は、プログラムはメモリからデータを読み出すことも、メモリへデータを書き込むこともできない。 In the area where the program writes data to the disk, “Writable” means that the program can write data to the memory, and “Writing” means that the program is writing data to the memory. "Indicates that the data transfer control unit can read data from the memory, and" during reading "indicates that the data transfer control unit is reading data from the memory. When “Writable” and “Writing”, the data transfer control unit cannot read data from the memory or write data to the memory. When “Readable” and “Reading”, the program cannot read data from the memory or write data to the memory.
プログラムがディスクからデータを読み出す領域においては、「書き込み可能」はデータ転送制御部がメモリにデータを書き込み可能であることを、「書き込み中」はデータ転送制御部がメモリにデータを書き込み中であることを、「読み出し可能」はプログラムがメモリからデータを読み出し可能であることを、「読み出し中」はプログラムがメモリからデータを読み出し中であることを表す。「書き込み可能」と「書き込み中」の場合は、プログラムはメモリからデータを読み出すことも、メモリへデータを書き込むこともできない。「読み出し可能」と「読み出し中」の場合は、データ転送制御部はメモリからデータを読み出すことも、メモリへデータを書き込むこともできない。 In the area where the program reads data from the disk, “Writable” indicates that the data transfer control unit can write data to the memory, and “Writing” indicates that the data transfer control unit is writing data to the memory. “Readable” means that the program can read data from the memory, and “Reading” means that the program is reading data from the memory. When “Writable” and “Writing”, the program cannot read data from the memory or write data to the memory. In the case of “Readable” and “Reading”, the data transfer control unit cannot read data from the memory or write data to the memory.
図2に示すように、データ記憶領域125は、各バッファの状態を記憶している。図2の例は、プログラム1(プログラム200a)の書き込み領域の状態を示している。ここでは、データ記憶領域120のプログラム1の書き込み領域はN個のバッファからなっており、図2において、データ記憶領域125はN個のバッファの状態を示している。
As shown in FIG. 2, the
バッファ1が書き込み可能、バッファ2が読み出し中、バッファ3、4が読み出し可能、バッファ5が書き込み中、バッファ6からバッファNが書き込み可能である。この状態は、CPU上のプログラム及びデータ転送制御部130により更新される。このように各バッファの状態を利用して、書き込みと読み出しの順番が逆転しないように制御を行う。
The buffer 1 can be written, the buffer 2 can be read, the
それぞれログデータの生成を行うプログラム200aから200mは、CPU101上で動作する。プログラム200aから200mのそれぞれは、メモリアドレス決定手段201、メモリアクセス順決定手段202、データ書き込み手段203、データ読み出し手段204を有する。
Each of the
メモリアドレス決定手段201は、メモリ102上のデータ記憶領域120、バッファ、バッファ状態記憶領域125のアドレスを決定する。また、メモリアドレス決定手段201は、この決定したアドレス情報をデータ転送制御部130へ通知する。
The memory
メモリアクセス順決定手段202は、データ記憶領域120内において、ログデータを書き込む順番を決定する。アクセス順の例としては、メモリアドレスに対して連続的な順番、データの重要度に応じた順番がある。また、メモリアクセス順手段202は、この決定したアクセス順をデータ転送制御部130へ通知する。
The memory access
データ書き込み手段203は、ログデータをメモリ102へ書き込む処理を行う。この書き込み処理はディスクシステムへの書き込みを要求する。しかし、ディスクシステムへの書き込み完了を待たず、メモリ102上へデータの書き込みが完了すると、書き込み処理関数の完了処理として、正常終了の戻り値を返して正常終了する。メモリ102からディスクシステム110への書き込みはデータ転送制御部130が実行するため、プログラムから見ると、メモリ102へデータを保存した時点で関数を終了することができる。プログラムがメモリ102へデータを書き込む領域は、メモリアドレス決定手段201が決定した領域とし、書き込む順番はメモリアクセス順決定手段202が決定した順とする。
The
データ読み出し手段204は、ログデータをメモリ102から読み出す処理を行う。この読み出し処理は、メモリ102からのデータの読み出しが完了すると、読み出し処理関数の完了処理を行う。データを読み出す領域は、メモリアドレス決定手段201が決定した領域とし、読み出す順番はメモリアクセス順決定手段202が決定した順とする。
The
データ転送制御部130は、メモリ102からディスクシステム110へのデータ転送を制御する。データ転送制御部130は、メモリアドレス取得手段131と、メモリアドレス記憶手段132と、ディスク書き込み制御手段133と、ディスク読み出し制御手段136とから構成される。
メモリアドレス取得手段131は、CPU101からデータ記憶領域120及びバッファのアドレスとメモリアクセスの順番を取得し、メモリアドレス記憶手段132に登録する。
The data
The memory
メモリアドレス記憶手段132は、データ記憶領域120及びバッファのアドレスとメモリアクセスの順番を記憶する。記憶されたアドレス情報は、ディスク書き込み制御手段133によるデータ転送のタイミング決定に利用される。
The memory
ディスク書き込み制御手段133は、メモリ102からディスクシステム110へのデータ転送を制御する。より具体的には、データ記憶領域120から、バッファ単位でデータを読み出し、読み出したデータをディスクシステム110内のディスクキャッシュ112へ書き込む。
The disk
ディスク読み出し制御手段136は、メモリ102からディスクシステム110へのデータ転送を制御する。
次に、図3から図6のフローチャートを参照して、本実施の形態の全体動作について説明する。本発明では、ログデータをディスクシステムへの書き込む動作とログデータをディスクシステムから読み出す2種類の動作がある。まず、図3、図4を参照して、ディスクシステムへの書き込み動作を説明する。その後、ディスクからの読み出し動作を説明する。
The disk read
Next, the overall operation of the present embodiment will be described with reference to the flowcharts of FIGS. In the present invention, there are two types of operations: writing log data to the disk system and reading log data from the disk system. First, the writing operation to the disk system will be described with reference to FIGS. Thereafter, a read operation from the disk will be described.
図3は、本実施の形態におけるCPU101の動作を示すフローチャートである。図4は、本実施の形態におけるデータ転送制御部130の動作を示すフローチャートである。
FIG. 3 is a flowchart showing the operation of the
本実施の形態では、図1に示した複数の装置が互いに連携して動作する。同時に複数の装置が処理を行っているため、それぞれの動作を個別のフローチャートを参照して説明する。フローチャートは個別に示すが、他装置への動作開始の契機の通知や、他装置からのデータ書き込み状態を参照することによって、本実施形態は互いの装置が連携して動作して効果を達成するものである。 In the present embodiment, a plurality of devices shown in FIG. 1 operate in cooperation with each other. Since a plurality of apparatuses perform processing simultaneously, each operation will be described with reference to individual flowcharts. Although the flowchart is shown individually, this embodiment achieves an effect by operating each other's devices in cooperation by notifying other devices of the start of operation and referring to the data write state from other devices. Is.
はじめに、図3を参照して、CPU101の動作を説明する。
First, the operation of the
はじめに、ステップS501、S502で初期化作業を行う。ステップS501において、CPU101が、データ転送制御部130に対して、データ記憶領域120と各バッファのアドレスを通知する。バッファについては、アドレスでなくとも、各バッファ間の境界を決定できる情報であればよく、例えばデータ記憶領域120の開始アドレスと各バッファ容量でもよい。なお、本説明においては、図1に示すようにデータ記憶領域120は、N個のバッファに分割され、それぞれにID=1〜Nが割り当てられているとする。また、メモリにアクセスする順番を決定する。これら決定したメモリに関する情報は、データ転送制御部130に通知する。
First, initialization is performed in steps S501 and S502. In step S501, the
ステップS502において、バッファ状態記憶領域125の初期化を行う。最初にアクセスを開始するバッファ(図3の例では、ID=1)を書き込み中とし、他のバッファ状態を書き込み可能に設定する。
In step S502, the buffer
ステップS501、S502での初期設定が終了すると、ステップS503以降でデータを転送する。ステップS503において、アクセス順に従い、バッファの状態を確認する。ステップS504において、状態が書き込み可能であれば、ステップS507において、状態を書き込み中へ更新する。その後、ステップS508へ移行する。ステップS504で読み出し中または読み出し可能であった場合は、ステップS505において、データをプログラム内のキャッシュに一時保存する。その後、ある時間が経過した後に、再度バッファ状態を確認する(ステップS503へ戻る)。このような処理により、メモリからディスクへ転送が終了していないデータに新たなデータを上書きすることを防ぐことができる。また、ステップS505において、メモリ102上にデータ記憶領域を新たに割り当てて、この拡張領域に一時的にデータを保存することもできる。
When the initial settings in steps S501 and S502 are completed, data is transferred in step S503 and subsequent steps. In step S503, the buffer status is confirmed according to the access order. If the state is writable in step S504, the state is updated to write in step S507. Thereafter, the process proceeds to step S508. If the data is being read or can be read in step S504, the data is temporarily stored in a cache in the program in step S505. Thereafter, after a certain time has elapsed, the buffer state is confirmed again (return to step S503). Such processing can prevent new data from being overwritten on data that has not been transferred from the memory to the disk. In step S505, a data storage area can be newly allocated on the
バッファの状態がステップS504において、書き込み中であった場合は、ステップS508でバッファサイズに十分な空きがあるか確認する。十分な空きがある場合は、ステップS509において、ログデータをメモリへ書き込む。空き容量が無い場合は、ステップS511において、現在アクセスしているバッファの状態を読み出し可能へ更新する。ステップS512において、アクセス順に基づく次のバッファの状態を確認する。次のバッファの状態が書き込み可能である場合は、次のバッファの状態を書き込み中に更新する(ステップS514)。そしてステップS509へ移行する。次バッファの状態が書き込み可能でない場合は、ある時間経過後に再度バッファ状態を確認する(ステップS503へ戻る)。このようなログデータのメモリへの記憶をログ収集が終了するまで継続する(ステップS510)。 If the buffer status is in writing in step S504, it is checked in step S508 whether there is sufficient space in the buffer size. If there is sufficient space, the log data is written to the memory in step S509. If there is no free space, the state of the currently accessed buffer is updated to be readable in step S511. In step S512, the state of the next buffer based on the access order is confirmed. If the state of the next buffer is writable, the state of the next buffer is updated during writing (step S514). Then, control goes to a step S509. If the state of the next buffer is not writable, the buffer state is confirmed again after a certain time has elapsed (return to step S503). Such storage of log data in the memory is continued until log collection is completed (step S510).
次に図4を参照して、データ転送制御部130の動作を説明する。
Next, the operation of the data
ステップS531において、メモリアドレス取得手段131が、CPU101からデータ記憶領域120とバッファのアドレスとメモリへのアクセス順序を取得する。このアドレス情報を、メモリアドレス記憶手段132に登録する。
In step S531, the memory
ステップS532において、ディスク書き込み制御手段133は、メモリ102からディスクシステム110へ転送するデータのアドレスをメモリアドレス記憶手段132から取得する。
In step S 532, the disk
またステップS532において、メモリアクセス記憶手段132に記憶された、メモリアクセス順決定手段202が決定したメモリのアクセス順に従い、次のアクセス対象となるバッファの状態をバッファ状態記憶領域125から取得する。
In step S532, the state of the next buffer to be accessed is acquired from the buffer
ステップS533において、バッファ状態が読み出し可能であるか判断する。読み出し可能でない場合は、ある時間が経過した後に再度バッファの状態を確認する(ステップS532へ戻る)。バッファ状態が読み出し可能である場合は、ステップS534において、バッファ状態を読み出し中に更新する。 In step S533, it is determined whether the buffer state can be read. If it is not readable, the buffer status is confirmed again after a certain period of time (returns to step S532). If the buffer status can be read, the buffer status is updated during reading in step S534.
次にステップS535において、メモリ102のデータ記憶領域120の該当バッファからデータを読み出す。ステップS536において、データをディスクシステム110のディスクキャッシュ112へデータを書き込む。ステップS535、S536によるデータ転送は、一回の転送データサイズがバス帯域等で制限されている場合は複数回に分けてデータを転送することもできる。データ転送が完了すると、ステップS537において、バッファ状態を書き込み可能に更新する。このようなメモリからディスクへのデータの転送をログ収集が終了するまで継続する(ステップS538)。
In step S535, data is read from the corresponding buffer in the
このように、メモリ120がデータを書き込む領域とメモリへの書き込み順を固定することで、CPU101とデータ転送制御部130でCPUがデータを書き込んだメモリアドレスを共有でき、CPU101がデータを書き込んだアドレスを通知するDMA転送要求を省略することができる。
In this way, by fixing the area in which the
また、データ記憶領域120の空き容量の管理は、バッファ状態記憶領域125で行っているため、従来ではメモリの空き状況管理で必要であったDMA転送完了通知を省略することができる。
In addition, since the free capacity management of the
また、バッファ状態記憶領域125でバッファ状態を記憶し、この状態をデータの書き込み主体であるCPUと、データの読み出し主体であるデータ転送制御部が共有することによって、CPUからメモリへデータを書き込む際にまだディスクへの転送が完了していないデータへの上書きと、メモリからディスクへ転送するデータが重複することを避けることができる。
In addition, the buffer state is stored in the buffer
次に図5、図6を参照して、ディスクに保存したログデータを読み出す動作手順を説明する。 Next, an operation procedure for reading log data stored on the disk will be described with reference to FIGS.
図5は、ディスク読み出し時のCPU101の動作を示すフローチャートである。図6は、ディスク読み出し時のデータ転送制御部130の動作を示すフローチャートである。基本的な動作はこれまでに説明したディスクへ書き込み処理の逆の動作となる。
FIG. 5 is a flowchart showing the operation of the
図5を参照してディスク読み出し時のCPU101の動作を説明する。
With reference to FIG. 5, the operation of the
はじめに、ステップS631、S632において、初期化を行う。この動作は、図3でのステップS501、S502と同じ処理である。この初期化処理では、プログラムが読み出すログデータを指定し、データ転送制御部130へ通知する。読み出すログデータの指定は、ファイル名や、ディスク内のアドレスを指定することで実現できる。続いて実行するステップS633からS638は、図4のステップS532からS538と基本は同じである。異なる点は、ステップS535のメモリからデータを読み出しと、ステップS536のディスクシステムのディスクキャッシュへのデータの書き込みが、ステップS636のメモリからのデータ読み出しに変更されている点である。
First, initialization is performed in steps S631 and S632. This operation is the same processing as steps S501 and S502 in FIG. In this initialization process, log data to be read by the program is designated and notified to the data
図6を参照して、ディスク読み出し時のデータ転送制御部130の動作を説明する。
With reference to FIG. 6, the operation of the data
はじめに、ステップS601において、初期化を行う。この動作は、図4でのステップS531と同じ処理である。続いて実行するステップS603からステップS615は、図3のステップS503からステップS514と基本は同じである。異なる点は、ステップS608とステップS609の間に、ステップS615として、ログデータのディスクからの読み出しを追加したことである。 First, in step S601, initialization is performed. This operation is the same processing as step S531 in FIG. Subsequent steps S603 to S615 are basically the same as steps S503 to S514 in FIG. The difference is that, in step S615, reading of log data from the disk is added between step S608 and step S609.
[第2の実施形態]
次に、本発明の第2の実施の形態について図面を参照して詳細に説明する。図7に示すように、本発明の第2の実施の形態は、図1に示す第1の実施の形態に加えて、データ転送制御部190に転送データ記憶手段135とデータ重複フィルタ手段134を有する。
[Second Embodiment]
Next, a second embodiment of the present invention will be described in detail with reference to the drawings. As shown in FIG. 7, in the second embodiment of the present invention, in addition to the first embodiment shown in FIG. 1, a transfer
データ重複フィルタ手段134は、メモリ102から読み出したデータが既に過去に転送済みではないか判断し、既に転送済みの場合は、ディスク書き込み制御手段133にディスクシステム110への書き込みを行わせない。過去に転送済みであるかは、ログデータの場合は、タイムスタンプを参照して判断することができる。
The data
転送データ記憶手段135は、転送したデータをある期間記憶する。転送データ記憶手段135に記憶されているデータを基に、データ重複フィルタ手段134が、メモリ102から読み出したデータの重複を判断する。
The transfer
次に、図8を参照して本発明の第2の実施の形態の動作を説明する。図8は第2の実施の形態におけるデータ転送制御部190の動作を示すフローチャートである。CPUの動作は既に説明した図3での動作と同じであるので、ここでの説明は省略する。
Next, the operation of the second exemplary embodiment of the present invention will be described with reference to FIG. FIG. 8 is a flowchart showing the operation of the data
ステップS121において、メモリアドレス取得手段131が、CPU101からデータ記憶領域120とバッファのアドレス、およびメモリアクセスの順序を取得する。これらアドレス情報を、メモリアドレス記憶手段132に登録する。
In step S <b> 121, the memory
ステップS122において、メモリアドレス記憶手段132に登録されているメモリアクセス順序に従い、読み出すバッファのメモリアドレスを指定する。
In step S122, the memory address of the buffer to be read is designated according to the memory access order registered in the memory
ステップS123において、ディスク書き込み制御手段133は、メモリアドレス記憶手段132で指定されたアドレスからメモリ102のデータを読み出す。CPU101からメモリへの書き出し順とディスク書き込み制御手段133がメモリからデータを読み出す順は、CPUと転送制御部133で順序を共有していればよい。
In step S123, the disk
ステップS124において、データ重複フィルタ手段134が、メモリから読み出したデータが新規データであるか判断する。この判断は、転送データ記憶手段135に記憶してあるデータと一致しない場合は、データは新規であると判断する。新規ではなく、既に転送済みと判断された場合は、時間をおいて再度同じメモリアドレスからデータを読み出す。
In step S124, the data
ステップS124において、データ記憶領域120から読み出したデータが新規と判断された場合は、このデータをディスクキャッシュ112へ書き込む(ステップS125)。転送したデータは、ステップS126において、転送データ記憶手段135に記憶される。この転送データ記憶手段135に記憶されたデータを消去するタイミングとしては、データ記憶領域120のデータサイズ転送後、一定時間経過後、データ転送回数やデータ転送サイズが閾値を超えたタイミングがある。
If it is determined in step S124 that the data read from the
その後、ステップS127において、バッファ状態を書き込み可能へ更新する。 Thereafter, in step S127, the buffer state is updated to be writable.
上記処理をログ収集が終了するまで継続する(ステップS128)。 The above process is continued until the log collection is completed (step S128).
このように、データの重複をデータ転送制御部190が確認することで、メモリからデータを読み出す前に、データ転送制御部190がバッファ状態記憶領域125へアクセスする処理を省略することができる。このため、データ転送のレイテンシ(latency)を抑えることができる。
As described above, the data
[第3の実施形態]
次に、本発明の第3の実施の形態について図面を参照して詳細に説明する。
[Third Embodiment]
Next, a third embodiment of the present invention will be described in detail with reference to the drawings.
図9は、本発明の第3の実施の形態の構成を示すブロック図である。図9に示す本発明の第3の実施の形態は、図1のデータ転送制御部と比べて、データ転送制御部140に転送間隔制御手段141を有する点が異なる。
FIG. 9 is a block diagram showing the configuration of the third exemplary embodiment of the present invention. The third embodiment of the present invention shown in FIG. 9 is different from the data transfer control unit shown in FIG. 1 in that the data
転送間隔制御手段141以外の装置は第1の実施の形態と同じであるため、ここでの説明は省略する。
Since the apparatus other than the transfer
転送間隔制御手段141は、ディスク書き込み制御手段133に対して、メモリ102からディスクシステム110へのデータ転送開始のトリガを通知する。第1の実施の形態では、ディスク書き込み制御手段133が自立的にメモリをアクセスしていたが、本第3の実施形態は転送間隔制御手段141からのトリガでアクセスする点が異なる。このトリガを通知する時間間隔は、ディスク書き込み制御手段133がデータ記憶領域120内のバッファにデータ読み込みアクセスをした際に、対象バッファがCPU101からデータ書き込み中であった場合は、次回のトリガ発生までの時間間隔を長くする。反対に、ディスク書き込み制御手段133がデータ記憶領域120内のバッファにデータ読み込みアクセスをした際に、対象バッファがCPU101からのデータ書き込みが終了していた場合は、次回のトリガ発生までの時間間隔を短くする。このように、データ記憶領域120へのデータ読み込みタイミングを制御することで、データ記憶領域120からディスクシステム110への転送間隔が長くなることによるデータ記憶領域120の容量溢れと、転送要求間隔が短くなることで、まだ書き込み中のバッファに対して何度も読み込み要求を出すことによるメモリアクセス負荷の増大を抑えることが可能となる。
The transfer
続いて、図10を参照して、本発明の第3の実施の形態の動作について説明する。図10は、本発明の第3の実施の形態のデータ転送制御部140の動作を示すフローチャートである。
Next, the operation of the third exemplary embodiment of the present invention will be described with reference to FIG. FIG. 10 is a flowchart illustrating the operation of the data
ステップS221とステップS222において初期化処理を行う。 Initialization processing is performed in steps S221 and S222.
ステップS221において、メモリアドレス取得手段131が、CPU101からメモリ102上のデータ記憶領域120とバッファのアドレス情報、メモリアクセス順序を取得し、このアドレス情報をメモリアドレス記憶手段132へ登録する。
In step S <b> 221, the memory
ステップS222において、データ転送要求を発行するまでの待ち時間であるtを初期値t0に設定する。この待ち時間tは、時間に変換できる数値であればよく、例えばクロック数でもよい。 In step S222, it sets a t a waiting time until issuing a data transfer request to the initial value t 0. The waiting time t may be a numerical value that can be converted into time, for example, the number of clocks.
ステップS223において、メモリアクセス順に従い、読み出すべきバッファの状態を取得する。ステップS224で読み出し可能でない場合は、ステップS225において時間(Δt1)だけ待つ。その後、ステップS206において、前回のデータ転送開始トリガを発行してからの経過時間を更新する。 In step S223, the state of the buffer to be read is acquired according to the memory access order. If it is not possible to read in step S224, the process waits for time (Δt 1 ) in step S225. Thereafter, in step S206, the elapsed time since the previous data transfer start trigger is issued is updated.
ステップS224で、読み出し可能と判断されたバッファに対しては、ステップS227において、バッファ状態を読み出し中に更新する。続いて、ステップS228において、データをメモリ102から読み出す。ステップS229において、メモリから読み出したデータをディスクキャッシュ112へ書き込む。このデータの転送サイズがバス規格などにより制限されている場合は、データをすべて転送するまで、このデータ転送を繰り返す。その後、ステップS230において、バッファ状態を書き込み可能に更新する。
For the buffer that is determined to be readable in step S224, the buffer status is updated during reading in step S227. Subsequently, data is read from the
ステップS231において、トリガ間の経過時間が前回と同じか比較する。ステップS231の判定により値が異なる場合、つまり、ステップS225で待ちが入った場合は、ステップS234において、経過時間tだけ次回も待つ。ステップS231の判定により前回と同じ場合、つまり経過時間の増分が無かった場合は、ステップS232において、ステップS234で待つ時間をΔt2短縮する。この待ち時間短縮により、ログ収集機能からログ書き込み領域120への書き込み速度が増加した場合でも、データ転送要求の発行間隔を短くすることでメモリが溢れることを防ぐことができる。ステップS232での、待ち時間の短縮は、ある時間だけ短くする引き算の処理に限らず、例えば時間を半分にするなどしてもよい。
In step S231, it is compared whether the elapsed time between triggers is the same as the previous time. If the values differ depending on the determination in step S231, that is, if the process waits in step S225, the next time is waited for the elapsed time t in step S234. Same as the previous is determined in step S231, if that is the elapsed time increment was not, in step S232, a time to wait in step S234 Delta] t 2 shortened. By reducing the waiting time, even when the writing speed from the log collection function to the
ログ収集を終了する際は、ステップS233で判定され、データ転送発行の処理を終了する。 When the log collection is finished, it is determined in step S233, and the data transfer issuance process is finished.
以上で説明したように、本発明の第3の実施の形態では、転送間隔制御手段141が、CPU101からメモリ102へのデータ書き込み状況に応じて、データ記憶領域120へのデータ読み込みタイミングを制御することができる。これにより、CPU101からの書き込み頻度が多い場合は、データ記憶領域120からディスクシステム110への転送間隔を短くすることで、データ記憶領域120の容量溢れることによるログデータの欠落を防ぐことができる。また、CPU101からメモリ102への書き込み頻度が少ない場合は、転送要求間隔を長くすることで、まだ書き込み中のバッファに対して何度も読み込み要求を出すことによるメモリアクセス負荷の増大を抑えることが可能となる。
As described above, in the third embodiment of the present invention, the transfer
[第4の実施形態]
次に、本発明の第4の実施の形態について図面を参照して詳細に説明する。
[Fourth Embodiment]
Next, a fourth embodiment of the present invention will be described in detail with reference to the drawings.
図11は、本発明の第4の実施の形態のデータ記憶システムの構成を示すブロック図である。図11に示す第4の実施の形態のデータ転送制御部150は、図1に示す第1の実施の形態のデータ転送制御部と比べてコマンドモニタ手段151を有する点で異なる。
FIG. 11 is a block diagram showing the configuration of the data storage system according to the fourth embodiment of this invention. A data
コマンドモニタ手段151以外の装置は第1の実施の形態と同じであるため、ここでの説明は省略する。
Since the apparatus other than the
コマンドモニタ手段151は、バス105上のコマンドをモニタする。コマンドモニタ手段151は、CPU101からデータ記憶領域120への書き込み命令をモニタし、その書き込みアドレスが新たなバッファ領域へ入ると、ディスク書き込み制御手段133に対してデータ転送を要求する。
Command monitor means 151 monitors commands on
図12を参照して、本発明の第4の実施の形態の動作を説明する。第4の実施の形態では、CPUの動作は、本発明の第1の実施の形態における動作と同じであるため、ここでは、CPU101の動作の説明は省略し、データ転送制御部150の動作を説明する。
The operation of the fourth embodiment of the present invention will be described with reference to FIG. In the fourth embodiment, since the operation of the CPU is the same as that in the first embodiment of the present invention, the description of the operation of the
コマンドモニタ手段151を有するデータ転送制御部150の動作を図12のフローチャートを参照して説明する。
The operation of the data
ステップS301において、メモリアドレス取得手段131は、CPU101からデータ記憶領域120とその中にあるバッファのアドレス、メモリアクセス順を取得し、メモリアドレス記憶手段132に登録する。
In step S <b> 301, the memory
ステップS302において、コマンドモニタ手段151は、バス105上のコマンドをモニタする。モニタしたコマンドはステップS303とS304において、データ転送開始をディスク書き込み制御手段133へ通知するか判断する。
In step S <b> 302, the
ステップS303では、ステップS302でモニタされたコマンド内容が、CPU101からデータ記憶領域120に対する書き込み命令であるか判断する。コマンドが書き込みであるかは、コマンド内の命令タイプから判断する。書き込み先のアドレスがデータ記憶領域120内であるかは、ステップS301でログ収集機能から通知されるデータ記憶領域120のアドレスと、モニタしたコマンド内の処理対象アドレスを比較して判断する。
In step S303, it is determined whether the command content monitored in step S302 is a write command for the
データ記憶領域120には、ログデータしか書き込まないため、データの中身を見ることなく、コマンドが書き込み命令であることと、書き込み先のメモリアドレスがデータ記憶領域120内であることが分かれば、コマンドモニタ手段151は、CPU101からメモリ102上にログデータの書き込みが発生したことを検知できる。
Since only log data is written in the
ステップS303での判定の結果、コマンドがCPU101からデータ記憶領域120への書き込み要求でないと判断すると、ステップS302へ戻る。ステップS303での判定の結果、コマンドがCPU101からデータ記憶領域120への書き込み要求であると判断すると、ステップS304において、バッファへの書き込みが終了したか判断する。
If the result of determination in step S303 is that the command is not a write request from the
CPU101からデータ記憶領域120への書き込みは、メモリアドレスに対して連続的に行われる。このため、書き込み命令内のアドレスが新たなバッファ領域内のアドレスであれば、その前のバッファに対するログデータの書き込みが終了したと判断できる。
例えば、モニタしたコマンド内の処理対象となるアドレスがバッファID=2内だったものが、あるときのステップS304の判定でバッファID=3内のアドレスになった場合は、バッファID=2へのログデータ書き込みが終了したと判断できる。
Writing from the
For example, if the address to be processed in the monitored command is in the buffer ID = 2, but the determination in step S304 at that time becomes the address in the buffer ID = 3, the buffer ID = 2 is set. It can be determined that the log data writing has been completed.
ステップS304で、バッファへのログデータ書き込みが終了したと判断されたバッファに対するデータ転送要求をディスク書き込み制御手段133へ通知する。
In step S304, the disk
例えば、ステップS304において、バッファID=2のデータ書き込みが終了したと判断されると、ステップS305において、バッファ状態を読み出し中に更新する。ステップS306において、メモリからバッファID=2のデータを読み出す。ステップS307において、読み出したデータをディスクキャッシュ112へ書き込む。その後ステップS308において、バッファ状態を書き込み可能に更新する。ステップ302からステップS308までの動作はログ収集が終了するまで行われる(ステップS309)。ステップS304において、バッファへの書き込みが終了していないと判断された場合は、ステップS302へ戻る。
For example, if it is determined in step S304 that the data writing of the buffer ID = 2 has been completed, the buffer state is updated during reading in step S305. In step S306, data with buffer ID = 2 is read from the memory. In step S307, the read data is written to the
以上で説明した第4の実施の形態の効果について説明する。 The effects of the fourth embodiment described above will be described.
第3の実施の形態では、転送間隔制御手段141が、過去のトリガ発生間隔に基づき、トリガの発生タイミングを決定していた。このため、急激にデータ書き込み速度が変更するなど、過去の状況と異なる場合に、バッファが一杯になってからメモリ読み込みまでの間隔が長くなったり、バッファが一杯になっていないにも関わらず、メモリ読み込み要求が頻繁に発生したりすることが考えられる。
In the third embodiment, the transfer
これに対して、本第4の実施形態では、コマンドモニタ手段151が、バス105上の命令をモニタしているため、バッファへのログデータの書き込みが一杯になったタイミングで的確にメモリからディスクシステムへのデータ転送要求を発行することができる。このため、バッファが一杯になってからメモリ読み込みまでの間隔が長くなったり、バッファが一杯になっていないにも関わらず、メモリ読み込み要求が頻繁に発生したりすることを防ぐことができる。
On the other hand, in the fourth embodiment, since the
[第5の実施形態]
次に、本発明の第5の実施の形態について、図面を参照して説明する。
[Fifth Embodiment]
Next, a fifth embodiment of the present invention will be described with reference to the drawings.
図13は、本発明の第5の実施の形態の構成を示すブロック図である。 FIG. 13 is a block diagram showing a configuration of the fifth exemplary embodiment of the present invention.
本発明の第5の実施の形態は、図1に示した第1の実施の形態に加えて、データ転送制御部にデータ転送先選択手段161を備える点と、複数のディスクシステム110a,110bを備える点が特徴である。データ転送先選択手段161以外は、第1の実施の形態と同じであるので、ここではデータ転送先選択手段161のみを説明し、他の説明は省略する。図13おいて、ディスクシステム110bの内部構成が示されていないが、その構成はディスクシステム110aと同一である。
In the fifth embodiment of the present invention, in addition to the first embodiment shown in FIG. 1, a data transfer control unit includes a data transfer destination selection means 161, and a plurality of
データ転送先選択手段161は、ディスク書き込み制御手段133がディスクシステム110へデータを書き込む際に、その書き込み先ディスクシステムを選択する。書き込み先ディスクシステムを選択する基準としては、データの重要度やデータが生成された時期で分ける方法がある。例えば、データの重要度が高いデータはディスクシステム110aへ保存し、データの優先度が低いデータはディスクシステム110bへ保存することができる。
The data transfer
図14を参照して、本発明の第5の実施の形態の動作について説明する。図14は、データ転送制御部160の動作を示すフローチャートである。第5の実施の形態におけるCPUの動作は、第1の実施の形態におけるCPUの動作と同じであるため、ここでの説明は省略する。
The operation of the fifth embodiment of the present invention will be described with reference to FIG. FIG. 14 is a flowchart showing the operation of the data
図15に示すデータ転送制御部160の動作は、第1の実施の形態での動作に加えて、ステップS535とステップS536の間にステップS401を有する。ステップS401においては、データ転送先選択手段161が、メモリ102から読み出したデータ内容に応じて、書き込むディスクシステムを選択する。また、ステップS533でバッファ状態が読み出し可能でない場合に、一定時間経過後、バッファ状態を確認するステップS402を経てステップS533に戻る点が異なる。
The operation of the data
以上で説明した第5の実施の形態の効果について説明する。 The effects of the fifth embodiment described above will be described.
第5の実施の形態では、データ転送先選択手段161が、データの重要度により、転送先を選択できる。このため、重要度が高いデータは信頼性が高いディスクシステムへ、重要度が低いデータは信頼性が低いディスクシステムへ転送することで、ディスクシステムのコストを削減することができるようになる。
In the fifth embodiment, the data transfer
また、バッファごとに転送先のディスクシステムを決めておくことでも同様の効果を得ることができる。この場合は、CPUがデータをメモリにデータを書き込む際に、どのバッファに書き込むか選択する手段が必要となる。これにより、データ転送制御部160が、ステップS401でデータ内容をモニタしなくてもバッファIDをモニタすれば、転送先のディスクシステムを決定することができる。
The same effect can also be obtained by determining the transfer destination disk system for each buffer. In this case, when the CPU writes data into the memory, a means for selecting which buffer to write is necessary. Thus, if the data
[第6の実施形態]
次に、図15を参照して、本発明の第6の実施の形態について説明する。図15は、本発明の第6の実施の形態の構成を示すブロック図である。図15は、ログ収集の管理対象となる管理対象コンピュータ11と、ログデータを分析するリモート管理用コンピュータ12と、ログデータを記憶するディスクドライブがリモートディスクノード13として別ノードで構成されているログデータ記憶システムを示す。
[Sixth Embodiment]
Next, a sixth embodiment of the present invention will be described with reference to FIG. FIG. 15 is a block diagram showing the configuration of the sixth exemplary embodiment of the present invention. FIG. 15 shows a log in which a managed computer 11 that is a management target of log collection, a remote management computer 12 that analyzes log data, and a disk drive that stores log data is configured as a remote disk node 13 in another node. 1 shows a data storage system.
図15のログデータ記憶システムは、第5の実施の形態と比べて、管理対象コンピュータ11がバスプロトコル転送部180a、リモート管理用コンピュータ12がバスプロトコル転送部180b、リモートディスクノード13がバスプロトコル転送部180cを有し、パーティション制御機能付スイッチ190で接続されている点で異なる。バスプロトコル転送部180a〜180cとパーティション制御機能付スイッチ190以外の構成は、第5の実施の形態と同じであるため、ここでの説明は省略する。バスプロトコル転送部180a〜180cの構成及び動作は同じであるため、以下、バスプロトコル転送部180aを例として説明する。
The log data storage system of FIG. 15 is different from the fifth embodiment in that the managed computer 11 is a bus protocol transfer unit 180a, the remote management computer 12 is a bus protocol transfer unit 180b, and the remote disk node 13 is a bus protocol transfer. It differs in that it has a
バスプロトコル転送部180aは、バス105aで利用しているバスプロトコルを、コンピュータ間接続に利用しているネットワークプロトコルで通信するための処理を行う。例えば、バスプロトコルとしては、PCI Expressがあり、ネットワークプロトコルとしてはEthernet(登録商標)がある。 The bus protocol transfer unit 180a performs processing for communicating the bus protocol used on the bus 105a with the network protocol used for connection between computers. For example, PCI Express is a bus protocol, and Ethernet (registered trademark) is a network protocol.
バスプロトコル転送部180aの構成を図16に示す。バスプロトコル転送部180b、180cも同様な構成である。バスプロトコル転送部180aは、バスプロトコル処理手段181と、ネットワークプロトコル処理手段182と、カプセル化手段183と、デカプセル化手段184とから構成される。
The configuration of the bus protocol transfer unit 180a is shown in FIG. The bus
バスプロトコル処理手段181は、バスプロトコルのヘッダ処理を行う。ネットワークプロトコル処理手段182は、ネットワークプロトコルのヘッダ処理を行う。カプセル化手段183は、データの流れが内部バス側から外部ネットワークへの場合に、バスプロトコルのデータをネットワークプロトコルでカプセル化する。逆にデータの流れが外部ネットワークから内部バスへの場合は、デカプセル化手段184が、ネットワークプロトコルからネットワークプロトコルのヘッダを除き、内部プロトコルデータを抽出する。 The bus protocol processing means 181 performs header processing of the bus protocol. The network protocol processing means 182 performs network protocol header processing. The encapsulating means 183 encapsulates the bus protocol data with the network protocol when the data flow is from the internal bus side to the external network. Conversely, when the data flow is from the external network to the internal bus, the decapsulating means 184 removes the network protocol header from the network protocol and extracts the internal protocol data.
バスプロトコル転送部180a、180cにより、バス105aとバス105cが同一バスと同様にデータを通信することができるようになる。
The bus
パーティション制御機能付スイッチ190は、ディスクシステム110cとこれを制御するCPUを関連付けるパーティションの制御を行う。同一パーティションに属するCPUがディスクシステムを制御することができ、異なるパーティションのCPUからはディスクシステムを制御することができないようにする。例えば、バスプロトコル転送部で処理されるネットワークプロトコルがEthernet(登録商標)の場合は、VLAN(Virtual LAN)を利用することで、VLAN IDごとにパーティションを構成することができる。
The switch with
CPU101aからのログデータをリモートノード13内のディスクシステム110cへ保存するときは、パーティション機能付スイッチ190は、ディスクシステム110cとCPU101aを同一パーティションに設定する。また、ディスクシステム110c内のログデータをCPU101bで分析する際には、ディスクシステム110cとCPU101bを同じパーティションに設定する。
When the log data from the CPU 101a is stored in the disk system 110c in the remote node 13, the switch with
本発明の第6の実施の形態における動作は、ログデータをディスクシステムに転送する手順は、第5の実施の形態における動作と同じである。ステップS401において、転送先のディスクをリモートディスクに設定することで、ログデータをリモートディスクへ保存することができる。ただし、ディスクシステムへデータを転送する前に、パーティション制御機能付スイッチ190により、管理対象コンピュータ11のCPU101aと、転送先であるディスクシステム110cを同一パーティションに設定する。また、ディスクシステム110cに保存されたログデータをリモート管理用コンピュータ上で分析する際には、CPU101bとディスクシステム110bを同一パーティションに設定する。
In the operation of the sixth embodiment of the present invention, the procedure for transferring log data to the disk system is the same as that in the fifth embodiment. In step S401, the log data can be stored in the remote disk by setting the transfer destination disk to the remote disk. However, before transferring data to the disk system, the partition control function-equipped
以上で説明した第6の実施の形態の効果について説明する。 The effects of the sixth embodiment described above will be described.
本発明の第6の実施の形態では、リモートディスクへのデータ転送に必要なTCP/IP処理を、バスプロトコルをネットワークプロトコルにカプセル化する専用装置で実行することにより、TCP/IP処理をCPU処理から省略できるため、CPU負荷を低減することができる。 In the sixth embodiment of the present invention, the TCP / IP processing necessary for data transfer to the remote disk is executed by a dedicated device that encapsulates the bus protocol into the network protocol, whereby the TCP / IP processing is performed by the CPU processing. Therefore, the CPU load can be reduced.
以上、本発明の各実施形態の説明において、CPU上で動作するログ収集機能によりメモリ上へ書き込むログデータを例として説明したが、本発明の効果はログデータに限定されるものではなく、より一般的にCPU上のプログラムがメモリ上に書き込んだデータをディスクシステムへ転送する際に利用できる技術である。 As described above, in the description of each embodiment of the present invention, the log data written on the memory by the log collection function operating on the CPU has been described as an example. However, the effect of the present invention is not limited to the log data. In general, this is a technique that can be used when data written on a memory by a program on a CPU is transferred to a disk system.
また、上記動作の説明では、第1の実施の形態以外では、ディスクへの書き込み時の動作しか説明しなかったが、上記説明したすべての実施の形態において、第1の実施の形態におけるディスクからの読み出しと同じ動作を行うことで、ディスクに保存したデータ読み出しにおいてもCPU負荷を低減させることができる。 Further, in the description of the above operation, only the operation at the time of writing to the disk has been described except for the first embodiment. However, in all the above described embodiments, from the disk in the first embodiment. By performing the same operation as reading, the CPU load can be reduced even when reading data stored on the disk.
また各実施の形態の説明において、データ転送制御部内に複数の機能を実現する手段が存在するが、これらの全てが一つの装置で構成されても、分割され複数の装置で実現されても、各実施形態の効果を実現することができる。また、これら装置の一部又は全てがディスクシステム内に構成されても、各実施形態の効果を実現することができる。 In the description of each embodiment, there is a means for realizing a plurality of functions in the data transfer control unit, all of which may be configured by one device, or may be divided and realized by a plurality of devices. The effect of each embodiment can be realized. Even if some or all of these devices are configured in the disk system, the effects of the embodiments can be realized.
本発明はCPUの負荷を削減できるデータ記憶システム、及びデータ記憶方法に用いられ、データ記憶システムを有するコンピュータ、かかるコンピュータをネットワークで接続したシステム等に用いられる。 The present invention is used in a data storage system and a data storage method capable of reducing the load on the CPU, and is used in a computer having a data storage system, a system in which such computers are connected via a network, and the like.
101 CPU
102 メモリ
105 バス
110 ディスクシステム
111 ディスクドライブ
112 ディスクキャッシュ
120 データ記憶領域
130、140、150、160、190 データ転送制御部
131 メモリアドレス取得手段
132 メモリアドレス記憶手段
133 ディスク書き込み制御手段
134 データ重複フィルタ手段
135 転送データ記憶手段
136 ディスク読み出し制御手段
141 転送間隔制御手段
151 コマンドモニタ手段
161 データ転送先選択手段
180 バスプロトコル転送部
181 バスプロトコル処理手段
182 ネットワークプロトコル処理手段
183 カプセル化手段
184 デカプセル化手段
190 パーティション制御機能付スイッチ
201 メモリアドレス決定手段
202 メモリ書き込み順決定手段
203 データ書き込み手段
204 データ読み出し手段
901 CPU
902 メモリ
910 ディスクシステム
911 ディスクドライブ
912 ディスクキャッシュ
920 DMAコントローラ
921 DMA開始手段
922 アドレスカウント手段
923 ディスク書き込み制御手段
924 完了割り込み通知手段
101 CPU
102
902
Claims (18)
前記データ記憶領域と前記複数のバッファと前記バッファ状態記憶領域とのメモリアドレスを決定するメモリアドレス決定手段と、前記データ記憶領域内において前記データを保存するアドレス順を決定するメモリアクセス順決定手段と、前記メモリアクセス順決定手段が決定した順番に従って前記バッファ状態記憶領域のバッファ状態を取得し、バッファの状態がデータを書き込める状態でなければデータの書き込みを保留し、バッファの状態がデータを書き込める状態であればデータを書き込み、前記バッファ状態記憶領域のバッファ状態を更新するデータ書き込み手段として機能させるプログラムにより動作するプロセッサと、
前記データ記憶領域内のデータの転送先となるディスクドライブと、
前記メモリ上の前記データ記憶領域と前記バッファと前記バッファ状態記憶領域とのアドレスを前記プログラムから取得し、記憶する手段と、
前記データ記憶領域内のデータを前記プログラムがデータを書き込むアドレス順に従って前記バッファ状態記憶領域のバッファ状態を取得し、バッファの状態がデータを読み出せる状態でなければ処理を保留し、バッファの状態がデータを読み出せる状態であれば、バッファ単位でデータを読み出し、読み出したデータを前記ディスクドライブへ書き込み、バッファ状態を更新するディスク書き込み制御手段と、
を有することを特徴とするデータ記憶システム。 A memory having a plurality of buffers and having a data storage area for storing data, and a buffer state storage area for storing the state of the buffer;
Memory address determining means for determining memory addresses of the data storage area, the plurality of buffers, and the buffer state storage area; and memory access order determining means for determining an address order for storing the data in the data storage area; The buffer access state of the buffer state storage area is acquired according to the order determined by the memory access order determination means, and if the buffer state is not a state where data can be written, the data write is suspended and the buffer state is a state where data can be written A processor that operates according to a program that functions as data writing means for writing data and updating the buffer state of the buffer state storage area,
A disk drive to which data in the data storage area is transferred;
Means for acquiring and storing addresses of the data storage area, the buffer and the buffer state storage area on the memory from the program;
The buffer status in the buffer status storage area is acquired in accordance with the address order in which the program writes the data in the data storage area. If the buffer status is not readable, the processing is suspended. If the data can be read, the disk write control means for reading the data in buffer units, writing the read data to the disk drive, and updating the buffer state;
A data storage system comprising:
前記複数のプログラム内の各メモリアドレス決定手段は、前記メモリのデータ記憶領域内にそれぞれのプログラム用のデータ記憶領域を作成し、割り当てた該プログラム用のデータ記憶領域をバッファ割当記憶領域に登録し、
前記データ書き込み手段は、所属するプログラム用に割り当てられた前記プログラム用のデータ記憶領域のみにアクセスし、
前記ディスク書き込み制御手段は、指定されたプログラム用に割り当てられた前記プログラム用のデータ記憶領域のみにアクセスすることを特徴とする請求項1記載のデータ記憶システム。 The processor is operated by a plurality of the programs,
Each memory address determination means in the plurality of programs creates a data storage area for each program in the data storage area of the memory, and registers the allocated data storage area for the program in the buffer allocation storage area. ,
The data writing means accesses only the data storage area for the program allocated for the program to which it belongs,
2. The data storage system according to claim 1, wherein the disk write control means accesses only the data storage area for the program allocated for the designated program.
前記データ記憶領域と前記複数のバッファと前記バッファ状態記憶領域とのメモリアドレスを決定するメモリアドレス決定手段と、前記データ記憶領域内において前記データを保存するアドレス順を決定するメモリアクセス順決定手段と、前記メモリアクセス順決定手段が決定した順番に従って前記バッファ状態記憶領域のバッファ状態を取得し、バッファの状態がデータを読み出せる状態でなければデータの読み出しを保留し、バッファの状態がデータを読み出せる状態であればデータを読み出し、前記バッファ状態記憶領域のバッファ状態を更新するデータ読み出し手段として機能させるプログラムにより動作するプロセッサと、
前記データ記憶領域内のデータの転送元となるディスクドライブと、
前記メモリ上の前記データ記憶領域と前記バッファと前記バッファ状態記憶領域とのアドレスを前記プログラムから取得し、記憶する手段と、
前記データ記憶領域内のデータを前記プログラムがデータを書き込むアドレス順に従って前記バッファ状態記憶領域のバッファ状態を取得し、バッファの状態がデータを書き込める状態でなければ処理を保留し、バッファの状態がデータを書き込める状態であれば、前記ディスクドライブからデータを読み出し、読み出したデータを前記メモリ上の前記データ記憶領域へ書き込み、バッファ状態を更新するディスク読み出し制御手段と、
を有することを特徴とするデータ記憶システム。 A memory having a plurality of buffers and having a data storage area for storing data, and a buffer state storage area for storing the state of the buffer;
Memory address determining means for determining memory addresses of the data storage area, the plurality of buffers, and the buffer state storage area; and memory access order determining means for determining an address order for storing the data in the data storage area; The buffer status in the buffer status storage area is acquired according to the order determined by the memory access order determination means, and if the buffer status is not readable, the data reading is suspended and the buffer status is read from the data. A processor that operates according to a program that reads data if it can be output and functions as data reading means for updating the buffer state of the buffer state storage area;
A disk drive from which data in the data storage area is transferred;
Means for acquiring and storing addresses of the data storage area, the buffer and the buffer state storage area on the memory from the program;
The data in the data storage area is acquired in accordance with the address order in which the program writes data, and the buffer status in the buffer status storage area is acquired. If the buffer status is not in a state where data can be written, processing is suspended and the buffer status is data. Disk read control means for reading data from the disk drive, writing the read data to the data storage area on the memory, and updating the buffer status;
A data storage system comprising:
前記プログラムは、前記メモリアクセス順決定手段が決定した順番に従って前記バッファ状態記憶領域のバッファ状態を取得し、バッファの状態がデータを読み出せる状態でなければデータの読み出しを保留し、バッファの状態がデータを読み出せる状態であればデータを読み出し、前記バッファ状態記憶領域のバッファ状態を更新するデータ読み出し手段として、前記プロセッサを機能させ、
前記データ記憶領域内のデータを前記プログラムがデータを書き込むアドレス順に従って前記バッファ状態記憶領域のバッファ状態を取得し、バッファの状態がデータを書き込める状態でなければ処理を保留し、バッファの状態がデータを書き込める状態であれば、前記ディスクドライブからデータを読み出し、読み出したデータを前記メモリ上の前記データ記憶領域へ書き込み、バッファ状態を更新するディスク読み出し制御手段を有することを特徴とする請求項1記載のデータ記憶システム。 The disk drive becomes a data transfer source in the data storage area,
The program obtains the buffer status of the buffer status storage area according to the order determined by the memory access order determination means, and if the buffer status is not readable, the data reading is suspended. If the data can be read, the data is read, and the processor functions as data reading means for updating the buffer status in the buffer status storage area.
The data in the data storage area is acquired in accordance with the address order in which the program writes data, and the buffer status in the buffer status storage area is acquired. If the buffer status is not in a state where data can be written, processing is suspended and the buffer status is data. 2. A disk read control means for reading data from the disk drive, writing the read data to the data storage area on the memory, and updating a buffer state if the data is in a state in which data can be written. Data storage system.
前記複数のプログラム内の各メモリアドレス決定手段は、前記メモリのデータ記憶領域内にそれぞれのプログラム用のデータ記憶領域を作成し、割り当てた該プログラム用のデータ記憶領域をバッファ割当記憶領域に登録し、
前記データ読み出し手段は、所属するプログラム用に割り当てられた前記プログラム用のデータ記憶領域のみにアクセスし、
前記ディスク読み出し制御手段は、指定されたプログラム用に割り当てられた前記プログラム用のデータ記憶領域のみにアクセスすることを特徴とする請求項3または4記載のデータ記憶システム。 The processor is operated by a plurality of the programs,
Each memory address determination means in the plurality of programs creates a data storage area for each program in the data storage area of the memory, and registers the allocated data storage area for the program in the buffer allocation storage area. ,
The data reading means accesses only the data storage area for the program allocated for the program to which it belongs,
5. The data storage system according to claim 3, wherein the disk read control means accesses only the data storage area for the program allocated for the designated program.
前記メモリから読み出したデータが前記記憶されたデータと異なる場合に、前記ディスクドライブへのデータ書き込み時はディスク書き込み制御手段へ、前記ディスクドライブからのデータ読み出し時はディスク読み出し制御手段へ、データ転送を指示するデータ重複フィルタ手段と、
を有することを特徴とする請求項4に記載のデータ記憶システム。 Transfer data storage means for temporarily storing data transferred between the memory and the disk drive;
When the data read from the memory is different from the stored data, the data is transferred to the disk writing control means when writing data to the disk drive, and to the disk reading control means when reading data from the disk drive. A data duplication filter means for instructing;
The data storage system according to claim 4, comprising:
前記複数のディスクドライブからデータの転送先ディスクドライブをデータの内容に応じて選択するデータ転送先選択手段を有することを特徴とする請求項1から8のいずれかに記載のデータ記憶システム。 A plurality of the disk drives;
9. The data storage system according to claim 1, further comprising data transfer destination selection means for selecting a data transfer destination disk drive from the plurality of disk drives in accordance with data contents.
前記第1のコンピュータのデータを分析する第2のコンピュータと、
前記第1のコンピュータのデータを記憶するディスクドライブとを備え、
前記第1及び第2のコンピュータと前記ディスクドライブにそれぞれ設けられ、バス上のコマンドを外部ネットワークのプロトコルにカプセル化するバスプロトコル転送部と、
前記第1のコンピュータのプロセッサ又は前記第2のコンピュータのプロセッサから、データ転送先のディスクドライブにアクセスするプロセッサを決定するパーティション制御手段と
を備えたことを特徴とする請求項1から9のいずれかに記載のデータ記憶システム。 A first computer constituting the data storage system according to any one of claims 1 to 9;
A second computer for analyzing the data of the first computer;
A disk drive for storing data of the first computer,
A bus protocol transfer unit provided in each of the first and second computers and the disk drive and encapsulating a command on the bus into a protocol of an external network;
10. A partition control means for determining a processor to access a data transfer destination disk drive from the processor of the first computer or the processor of the second computer. The data storage system described in 1.
前記プロセッサ上で動作するプログラムが、
前記データ記憶領域と前記複数のバッファと前記バッファ状態記憶領域とのメモリアドレスを決定し、
前記データ記憶領域内において前記データを書き込むアドレス順を決定し、決定したアドレス順に従って前記バッファ状態記憶領域のバッファ状態を取得し、バッファの状態がデータを書き込める状態でなければデータの書き込みを保留し、バッファの状態がデータを書き込める状態であればデータを書き込み、バッファ状態を更新するデータ書き込み、
前記データ転送制御部が、
前記メモリ上の前記データ記憶領域と前記バッファと前記バッファ状態記憶領域のアドレスを前記プログラムから取得し、記憶し、
前記データ記憶領域内のデータを前記プログラムがデータを書き込むアドレス順に従って前記バッファ状態記憶領域のバッファ状態を取得し、バッファの状態がデータを読み出せる状態でなければ処理を保留し、バッファの状態がデータを読み出せる状態であれば、バッファ単位でデータを読み出し、読み出したデータを前記ディスクドライブへ書き込み、バッファ状態を更新することを特徴とするデータ記憶方法。 A processor, a memory, a data transfer control unit, and a disk drive are connected by a bus, and the memory has a plurality of buffers and a data storage area in which data is stored, and a buffer state storage that stores the state of the buffer And a data storage method for a data storage system comprising:
A program running on the processor is
Determining memory addresses of the data storage area, the plurality of buffers and the buffer state storage area;
Determines the address order for writing the data in the data storage area, obtains the buffer state of the buffer state storage area according to the determined address order, and if the buffer state is not a state where data can be written, the data writing is suspended. , Write data if the buffer is ready to write data, write data to update the buffer status,
The data transfer control unit is
Obtaining and storing the addresses of the data storage area, the buffer, and the buffer state storage area on the memory from the program,
The buffer status in the buffer status storage area is acquired in accordance with the address order in which the program writes the data in the data storage area. If the buffer status is not readable, the processing is suspended. A data storage method comprising: reading data in units of buffers if the data can be read; writing the read data to the disk drive; and updating the buffer status.
前記プロセッサ上で動作するプログラムが、
前記データ記憶領域と前記複数のバッファと前記バッファ状態記憶領域とのメモリアドレスを決定し、
前記データ記憶領域内において前記データを保存するアドレス順を決定し、
決定したアドレス順に従って前記バッファ状態記憶領域のバッファ状態を取得し、バッファの状態がデータを読み出せる状態でなければデータの読み出しを保留し、バッファの状態がデータを読み出せる状態であればデータを読み出し、バッファ状態を更新するデータ読み出し、
前記データ転送制御部が、
読み出すデータのディスク上のアドレスと、前記メモリ上のデータ記憶領域とバッファとバッファ状態記憶領域のアドレスとを前記プログラムから取得し、記憶し、
前記データ記憶領域内のデータを前記プログラムがデータを書き込むアドレス順に従って前記バッファ状態記憶領域のバッファ状態を取得し、
バッファの状態がデータを書き込める状態でなければ処理を保留し、バッファの状態がデータを書き込める状態であれば、ディスクからデータを読み出し、読み出したデータをメモリ上の前記データ記憶領域へ書き込み、バッファ状態を更新することを特徴とするデータ記憶方法。 A processor, a memory, a data transfer control unit, and a disk drive are connected by a bus, and the memory has a plurality of buffers and a data storage area in which data is stored, and a buffer state storage that stores the state of the buffer And a data storage method for a data storage system comprising:
A program running on the processor is
Determining memory addresses of the data storage area, the plurality of buffers and the buffer state storage area;
Determining an address order for storing the data in the data storage area;
Acquires the buffer status of the buffer status storage area according to the determined address order. If the buffer status is not readable, the data reading is suspended. If the buffer status is readable, the data is stored. Read, read data to update buffer status,
The data transfer control unit is
The address on the disk of the data to be read, the data storage area on the memory, the address of the buffer and the buffer status storage area are acquired from the program, stored,
Obtaining the buffer status of the buffer status storage area according to the address order in which the program writes the data in the data storage area;
If the buffer state is not a state where data can be written, the processing is suspended, and if the buffer state is a state where data can be written, the data is read from the disk, and the read data is written to the data storage area in the memory. The data storage method characterized by updating.
データを前記ディスクドライブへ書き込む処理の場合は、前記メモリから取得したデータが前記データ転送制御部に記憶されたデータと異なる場合にデータ転送を行うことを特徴とする請求項11または12記載のデータ記憶方法。 Storing data transferred between the memory and the disk drive in the data transfer control unit;
13. The data according to claim 11 or 12, wherein in the process of writing data to the disk drive, data transfer is performed when the data acquired from the memory is different from the data stored in the data transfer control unit. Memory method.
前記データ転送制御部は、前記複数のディスクドライブからデータの転送先ディスクドライブをデータの内容に応じて選択することを特徴とする請求項11から15のいずれかに記載のデータ記憶方法。 A plurality of the disk drives;
16. The data storage method according to claim 11, wherein the data transfer control unit selects a data transfer destination disk drive from the plurality of disk drives according to data contents.
前記リモートディスクにアクセスするプロセッサを前記管理対象コンピュータ内のプロセッサとするようにパーティション制御を行い、
前記管理対象コンピュータ内のデータ転送制御部がデータ転送先ディスクをリモートディスクに設定し、
前記リモートディスクへのデータ転送コマンドを前記管理対象コンピュータの外部ネットワークのプロトコルにカプセル化し、
前記管理対象コンピュータから転送されたデータを前記リモートディスクに書き込むことを特徴とする請求項11から16のいずれかに記載のデータ記憶方法。 A data storage method for a data storage system in which a managed computer that is a data storage system used in the data storage method according to any one of claims 11 to 16 and a remote disk are connected via a bus protocol transfer means. ,
Perform partition control so that the processor accessing the remote disk is a processor in the managed computer,
The data transfer control unit in the managed computer sets the data transfer destination disk as a remote disk,
Encapsulating the data transfer command to the remote disk into an external network protocol of the managed computer,
17. The data storage method according to claim 11, wherein the data transferred from the management target computer is written to the remote disk.
前記リモートディスクにアクセスするプロセッサをリモート管理コンピュータ内のプロセッサとするようにパーティション制御を行い、
前記リモートディスク内のデータを前記リモート管理コンピュータ内のプロセッサが読み出すことを特徴とする請求項17記載のデータ記憶方法。 After data is stored on the remote disk,
Perform partition control so that the processor accessing the remote disk is a processor in a remote management computer,
18. The data storage method according to claim 17, wherein data in the remote disk is read by a processor in the remote management computer.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007058559A JP4692501B2 (en) | 2007-03-08 | 2007-03-08 | Data storage system and data storage method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007058559A JP4692501B2 (en) | 2007-03-08 | 2007-03-08 | Data storage system and data storage method |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2008225543A JP2008225543A (en) | 2008-09-25 |
JP4692501B2 true JP4692501B2 (en) | 2011-06-01 |
Family
ID=39844141
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007058559A Expired - Fee Related JP4692501B2 (en) | 2007-03-08 | 2007-03-08 | Data storage system and data storage method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4692501B2 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8380962B2 (en) * | 2010-08-16 | 2013-02-19 | Symantec Corporation | Systems and methods for efficient sequential logging on caching-enabled storage devices |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3413843B2 (en) * | 1991-03-19 | 2003-06-09 | 株式会社日立製作所 | Vector processor for parallel processing of vector data elements |
JPH0619857A (en) * | 1992-07-01 | 1994-01-28 | Fujitsu Ltd | Data coincidence device between computers |
JP2546526B2 (en) * | 1993-08-17 | 1996-10-23 | 日本電気株式会社 | Exchange system |
-
2007
- 2007-03-08 JP JP2007058559A patent/JP4692501B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2008225543A (en) | 2008-09-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110321066B (en) | Electronic device, computer system, and control method thereof | |
JP4464378B2 (en) | Computer system, storage system and control method for saving storage area by collecting the same data | |
US20150058522A1 (en) | Detection of hot pages for partition migration | |
JP5624583B2 (en) | PROGRAM, COMPUTER PROCESSING DEVICE, MEMORY MANAGEMENT METHOD, AND COMPUTER | |
US11397675B2 (en) | Storage device, computer system, and operation method of storage device configured to arbitrarily stop garbage collection | |
US7849214B2 (en) | Packet receiving hardware apparatus for TCP offload engine and receiving system and method using the same | |
WO2013185637A1 (en) | Storage device and method for performing interruption control thereof | |
WO2013185636A1 (en) | Method for controlling interruption in data transmission process | |
JP2005122640A (en) | Server system and method for sharing i/o slot | |
US8650339B2 (en) | Control of data transfer | |
US20230214326A1 (en) | Computer Memory Expansion Device and Method of Operation | |
JP2006323826A (en) | System for log writing in database management system | |
US20150058521A1 (en) | Detection of hot pages for partition hibernation | |
US20140298333A1 (en) | Migration processing program, migration method, and cloud computing system | |
JP2003345525A (en) | Computer system and replication method | |
WO2014206078A1 (en) | Memory access method, device and system | |
WO2020000485A1 (en) | Nvme-based data writing method, device, and system | |
US8036076B2 (en) | Method of reducing storage power consumption by use of prefetch and computer system using the same | |
JP2007079749A (en) | Storage device and disk control method | |
JP4053208B2 (en) | Disk array controller | |
US20170199819A1 (en) | Cache Directory Processing Method for Multi-Core Processor System, and Directory Controller | |
US20180217875A1 (en) | Data processing system and data processing method | |
US11500799B2 (en) | Managing access to a CPU on behalf of a block application and a non-block application | |
JP2007501473A (en) | Method and apparatus for transferring data between main memory and storage device | |
US20060265523A1 (en) | Data transfer circuit and data transfer method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20080620 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20081016 |
|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20100907 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20100907 |
|
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: 20110125 |
|
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: 20110207 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140304 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4692501 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |