JP2017211708A - Information processing system, information processing device and control circuit - Google Patents
Information processing system, information processing device and control circuit Download PDFInfo
- Publication number
- JP2017211708A JP2017211708A JP2016102531A JP2016102531A JP2017211708A JP 2017211708 A JP2017211708 A JP 2017211708A JP 2016102531 A JP2016102531 A JP 2016102531A JP 2016102531 A JP2016102531 A JP 2016102531A JP 2017211708 A JP2017211708 A JP 2017211708A
- Authority
- JP
- Japan
- Prior art keywords
- control circuit
- data
- read
- main memory
- bypass
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Abstract
Description
本発明は、記憶装置間でのデータ転送技術に関する。 The present invention relates to a technique for transferring data between storage devices.
サーバ等の情報処理装置に外部記憶装置や共用の記憶装置等が複数接続されている場合において、その中の或る記憶装置から他の記憶装置にデータが転送されることがある。公知の転送方法においては、データの転送元の記憶装置から読み出されたデータは情報処理装置の主記憶に一旦書き込まれ、主記憶への書き込みが完了した後、主記憶に書き込まれたデータは読み出されて転送先の記憶装置に書き込まれる。 When a plurality of external storage devices, shared storage devices, and the like are connected to an information processing device such as a server, data may be transferred from one storage device to another storage device. In a known transfer method, the data read from the storage device that is the data transfer source is temporarily written in the main memory of the information processing device, and after the writing to the main memory is completed, the data written in the main memory is It is read and written to the destination storage device.
この転送方法には制御が比較的簡単であるという利点がある。しかし、最終的に転送が完了するまでに要する時間が長くなることがある。また、主記憶上の領域を確保するために元々主記憶上にあるデータを別の記憶装置に移動する処理が行われることがあり、その場合にはさらに時間がかかる。 This transfer method has the advantage of relatively simple control. However, it may take a long time to finally complete the transfer. In addition, in order to secure an area on the main memory, a process of moving data originally in the main memory to another storage device may be performed, and in that case, it takes more time.
本発明の目的は、1つの側面では、情報処理装置に接続された複数の記憶装置のうち或る記憶装置から他の記憶装置にデータを転送するのに要する時間を短縮するための技術を提供することである。 An object of the present invention, in one aspect, is to provide a technique for reducing the time required to transfer data from one storage device to another storage device among a plurality of storage devices connected to the information processing device. It is to be.
本発明に係る情報処理装置は、プロセッサと、メインメモリと、第1制御回路と、第2制御回路と、第3制御回路とを有する。そして、第1制御回路は、プロセッサから受信した、情報処理装置に接続された第1記憶装置からデータを読み出すための第1読出命令が、所定の情報を含むか判定する第1判定部と、第1読出命令が所定の情報を含むと第1判定部により判定された場合、読み出しが完了したことを示す完了報告を、当該読み出しが完了する前にプロセッサに送信すると共に、第1記憶装置から読み出したデータと所定の情報とを含む、読み出したデータをメインメモリに書き込むための第1書込命令を第3制御回路に送信する第1送信部とを有する。そして、第2制御回路は、プロセッサから受信した、情報処理装置に接続された第2記憶装置にデータを書き込むための第2書込命令が、所定の情報を含むか判定する第2判定部と、第2書込命令が所定の情報を含むと第2判定部により判定された場合、所定の情報を含む、データをメインメモリから読み出すための第2読出命令を第3制御回路に送信する第2送信部とを有する。そして、第3制御回路は、第1制御回路から受信した第1書込命令が所定の情報を含む場合、第1書込命令を、第3制御回路の第1記憶領域に格納する第1格納処理部と、第2制御回路から受信した第2読出命令が所定の情報を含む場合、第2読出命令を、第3制御回路の第2記憶領域に格納する第2格納処理部と、第1記憶領域に格納された第1書込命令に含まれるメインメモリのアドレスと、第2記憶領域に格納された第2読出命令に含まれるメインメモリのアドレスとが一致する場合、第1記憶領域に格納されたデータを読み出し、データを第2制御回路に送信する第3送信部とを有する。 An information processing apparatus according to the present invention includes a processor, a main memory, a first control circuit, a second control circuit, and a third control circuit. The first control circuit determines whether the first read instruction for reading data from the first storage device connected to the information processing device received from the processor includes predetermined information; When the first determination unit determines that the first read instruction includes predetermined information, a completion report indicating that the read is completed is transmitted to the processor before the read is completed, and from the first storage device A first transmission unit configured to transmit a first write command including the read data and predetermined information to write the read data to the main memory to the third control circuit; The second control circuit includes a second determination unit that determines whether the second write instruction for writing data to the second storage device connected to the information processing device received from the processor includes predetermined information. When the second determination unit determines that the second write command includes predetermined information, a second read command for reading data from the main memory including the predetermined information is transmitted to the third control circuit. 2 transmitters. The third control circuit stores the first write instruction in the first storage area of the third control circuit when the first write instruction received from the first control circuit includes predetermined information. A second storage processing unit for storing the second read command in the second storage area of the third control circuit; and a first storage command when the second read command received from the second control circuit includes predetermined information. When the address of the main memory included in the first write instruction stored in the storage area matches the address of the main memory included in the second read instruction stored in the second storage area, the first storage area A third transmission unit for reading the stored data and transmitting the data to the second control circuit;
1つの側面では、情報処理装置に接続された複数の記憶装置のうち或る記憶装置から他の記憶装置にデータを転送するのに要する時間を短縮できるようになる。 In one aspect, the time required to transfer data from one storage device to another storage device among a plurality of storage devices connected to the information processing device can be shortened.
図1に、本実施の形態におけるシステムの概要を示す。本体装置1a及び1bは、例えばサーバユニット或いはサーバブレード等であり、それぞれ1のコンピュータとして独立して動作する。本体装置1aにはI/O(Input/Output)5aが接続され、本体装置1bにはI/O5bが接続される。I/O5a及び5bは、例えばHDD(Hard Disk Drive)等の外部記憶装置である。本体装置1a及び1bは、共用の記憶装置であるSSU(System Storage Unit)3に接続される。SSU3は、例えば不揮発性のメモリ等である。
FIG. 1 shows an overview of a system in the present embodiment. The
但し、SSU3に接続される本体装置の数は3以上であってもよい。また、各本体装置に接続されるI/Oの数は2以上であってもよい。 However, the number of main devices connected to the SSU 3 may be three or more. Further, the number of I / Os connected to each main device may be two or more.
本実施の形態においては、SSU3からI/O(説明を簡単にするため、以下ではI/O5aとする)にデータを転送することを考える。図2に、主記憶を経由してデータを転送する場合のタイムチャートを示す。図2において、SSM(System Storage Manager)はSSU3と本体装置1aとの間のインタフェース制御を行うユニットであり、チャネルはI/O5aと本体装置1aとの間のインタフェース制御を行うユニットである。
In the present embodiment, it is considered that data is transferred from the
主記憶を経由してデータを転送する場合、まずCPU(Central Processing Unit)は、SSU3に格納されたデータの読出命令をSSMに発行する。SSMは、SSU3に格納されたデータの読出命令をCPUから受け取ると、SSU3からデータを読み出して主記憶に転送する。主記憶へのデータ転送が完了すると、SSMは、読み出しが完了したことを示す完了報告をCPUに発行する。CPUは完了報告を受け取ると、I/O5aへの書込命令をチャネルに発行する。チャネルは、I/O5aへの書込命令を受け取ると、主記憶に格納されたデータをI/O5aに転送する。I/O5aへの転送が完了すると、チャネルは、書き込みが完了したことを示す完了報告をCPUに発行する。以上で一連のデータ転送が完了する。
When transferring data via the main memory, first, a CPU (Central Processing Unit) issues a read command for data stored in the
この転送方法においては処理がシリアルに行われるため、背景技術の欄で述べたように、データの転送が完了するまでの時間が長くなる。 In this transfer method, since processing is performed serially, as described in the background section, it takes a long time to complete data transfer.
そこで本実施の形態においては、主記憶を経由しないように且つ一部の処理を並行して行うようにデータを転送することで転送時間を短縮する。図3に、主記憶を経由せずにデータを転送する場合のタイムチャートを示す。図3において、バイパスバッファとは、本体装置1aのMCU(Memory Controller unit)に設けられるバッファである。まずCPUは、SSU3に格納されたデータの読出命令をSSMに発行する。SSMは、SSU3に格納されたデータの読出命令をCPUから受け取ると、読み出しが完了したことを示す完了報告をCPUに発行する。そして、SSMは、SSU3からデータを読み出してバイパスバッファに転送することを開始する。これと並行して、CPUは完了報告を受け取ると、I/O5aへの書込命令をチャネルに発行する。チャネルは、I/O5aへの書込命令を受け取ると、バイパスバッファに格納されたデータをI/O5aに転送する。I/O5aへの転送が完了すると、チャネルは、書き込みが完了したことを示す完了報告をCPUに発行する。以上で一連のデータ転送が完了する。
Therefore, in the present embodiment, the transfer time is shortened by transferring data so as not to go through the main memory and to perform some processes in parallel. FIG. 3 shows a time chart when transferring data without going through the main memory. In FIG. 3, the bypass buffer is a buffer provided in an MCU (Memory Controller unit) of the
以下では、本実施の形態の具体的な内容について説明する。 Below, the specific content of this Embodiment is demonstrated.
図4に、本体装置1aの構成を示す。本体装置1aは、CPU11と、主記憶12と、MCU10と、SSM13と、チャネル14とを有する。SSM13はSSU3に接続され、チャネル14はI/O5aに接続される。
FIG. 4 shows the configuration of the
図5Aに、MCU10の構成を示す。MCU10は、パケットの転送等を実行するパケット制御回路150a乃至150fと、バイパスバッファ制御回路100とを有する。括弧付きの番号は、以下で説明する、本体装置1aの動作の番号に相当する。
FIG. 5A shows the configuration of the
パケット制御回路150aはCPU11、パケット制御回路150c及びパケット制御回路150eに接続される。パケット制御回路150bはCPU11、パケット制御回路150d及びパケット制御回路150fに接続される。パケット制御回路150cはSSM13、パケット制御回路150a及びバイパスバッファ制御回路100に接続される。パケット制御回路150dはSSM13、パケット制御回路150b及びバイパスバッファ制御回路100に接続される。パケット制御回路150eはチャネル14、パケット制御回路150a及びバイパスバッファ制御回路100に接続される。パケット制御回路150fはチャネル14、パケット制御回路150b及びバイパスバッファ制御回路100に接続される。バイパスバッファ制御回路100は、主記憶12及びパケット制御回路150c乃至150fに接続される。
The
図5Bに、SSM13及びチャネル14の構成を示す。SSM13は、パケットの転送等を実行するパケット制御回路13pと、SSU3へのデータの書き込み及びSSU3からのデータの読み込み等を実行するデータ転送回路13tと、データ転送回路13tに使用されるメモリ13mとを有する。パケット制御回路13pは、バイパス制御回路130を有する。チャネル14は、パケットの転送等を実行するパケット制御回路14pと、チャネル14の特徴的な動作をするためのプログラムを実行するプログラム実行回路14eと、I/O5aへのデータの書き込み及びI/O5aからのデータの読み込み等を実行するデータ転送回路14tと、データ転送回路14tに使用されるメモリ14mとを有する。パケット制御回路14pは、バイパス制御回路140を有する。括弧付きの番号は、以下で説明する、本体装置1aの動作の番号に相当する。
FIG. 5B shows the configuration of the
データ転送回路13tは、SSU3と、メモリ13mと、パケット制御回路13pとに接続される。メモリ13mはデータ転送回路13tに接続される。パケット制御回路13pは、MCU10と、データ転送回路13tに接続される。データ転送回路14tは、I/O5aと、メモリ14mと、プログラム実行回路14eとに接続される。メモリ14mは、データ転送回路14tに接続される。プログラム実行回路14eは、データ転送回路14tとパケット制御回路14pとに接続される。パケット制御回路14pは、MCU10と、プログラム実行回路14eに接続される。
The
図6に、パケット制御回路13pの構成を示す。パケット制御回路13pは、バイパス制御回路130と、入力パケット解析部131と、書き込み制御回路132と、完了報告制御回路133と、出力パケット生成部134とを有する。バイパス制御回路130は、バイパスモードチェック部1301と、先出フラグ1302とを有する。括弧付きの番号は、以下で説明する本体装置1aの動作の番号に相当する。
FIG. 6 shows the configuration of the
入力パケット解析部131は、バイパスモードチェック部1301に接続される。書き込み制御回路132は、先出フラグ1302と、出力パケット生成部134とに接続される。完了報告制御回路133は、出力パケット生成部134と、先出フラグ1302とに接続される。出力パケット生成部134は、完了報告制御回路133と、書き込み制御回路132とに接続される。バイパスモードチェック部1301は、入力パケット解析部131と、先出フラグ1302とに接続される。先出フラグ1302は、バイパスモードチェック部1301と、完了報告制御回路133と、書き込み制御回路132とに接続される。
The input
図7に、パケット制御回路14pの構成を示す。パケット制御回路14pは、バイパス制御回路140と、入力パケット解析部141と、読み出し制御回路142と、完了報告制御回路143と、出力パケット生成部144とを有する。バイパス制御回路140は、バイパスモードチェック部1401と、バイパス実行フラグ1402とを有する。括弧付きの番号は、以下で説明する本体装置1aの動作の番号に相当する。
FIG. 7 shows the configuration of the
入力パケット解析部141は、バイパスモードチェック部1401に接続される。読み出し制御回路142は、バイパス実行フラグ1402と、出力パケット生成部144とに接続される。完了報告制御回路143は、出力パケット生成部144に接続される。出力パケット生成部144は、完了報告制御回路143と、読み出し制御回路142とに接続される。バイパスモードチェック部1401は、入力パケット解析部141と、バイパス実行フラグ1402とに接続される。バイパス実行フラグ1402は、バイパスモードチェック部1401と、読み出し制御回路142とに接続される。
The input
図8に、バイパスバッファ制御回路100の構成を示す。バイパスバッファ制御回路100は、バイパスバッファ101と、バイパスモードチェック回路102と、バイパスモードチェック回路103と、データチェック回路104と、第1切替部105と、第2切替部106と、バイパスリクエストキュー制御回路107と、バイパスリクエストキュー108と、バイパスリクエストポート109と、アドレス比較回路110と、第1調停回路111と、第2調停回路112と、完了報告制御回路113とを有する。括弧付きの番号は、以下で説明する本体装置1aの動作の番号に相当する。
FIG. 8 shows a configuration of the bypass
バイパスバッファ101は、第1切替部105と、完了報告制御回路113と、アドレス比較回路110と、調停ポートAとに接続される。バイパスモードチェック回路102は、データチェック回路104と、第1切替部105とに接続される。バイパスモードチェック回路103は、第2切替部106に接続される。データチェック回路104は、バイパスモードチェック回路102と、第1切替部105とに接続される。第1切替部105は、データチェック回路104と、バイパスバッファ101と、完了報告制御回路113とに接続される。第2切替部106は、バイパスモードチェック回路103と、バイパスリクエストキュー108とに接続される。バイパスリクエストキュー制御回路107は、アドレス比較回路110と、バイパスリクエストキュー108とに接続される。バイパスリクエストキュー108は、第2切替部106と、バイパスリクエストキュー制御回路107と、バイパスリクエストポート109とに接続される。バイパスリクエストポート109は、バイパスリクエストキュー108と、アドレス比較回路110と、調停ポートAとに接続される。アドレス比較回路110は、バイパスリクエストキュー制御回路107と、バイパスリクエストポート109と、バイパスバッファ101と、調停ポートAとに接続される。第1調停回路111は、調停ポートA及びBに接続される。第2調停回路112は、調停ポートC及びDに接続される。完了報告制御回路113は、第1切替部105と、調停ポートCとに接続される。調停ポートA乃至Dは、レジスタ等の記憶装置である。
The
図9に、バイパスバッファ101に格納されるデータの一例を示す。図9の例では、データと、データが格納される主記憶上のアドレス(以下、MS(Main Storage)アドレスと呼ぶ)と、有効フラグの値とが格納される。有効フラグが有効(例えば値が「1」)に設定されている場合、データは調停ポートAへ未だ出力されていない。有効フラグが無効(例えば値が「0」)に設定されている場合、データは調停ポートAへ既に出力されている。
FIG. 9 shows an example of data stored in the
図10に、バイパスリクエストキュー108に格納されるデータの一例を示す。図10の例では、リクエストが格納される。図11に、リクエストのフォーマットの一例を示す。図11の例では、リクエストには、アクセスの種類を規定するオペレーションコードと、MSアドレスと、バイパスモードを示す情報と、データとが含まれる。オペレーションコードが「0001」である場合、リクエストは、CPU11からSSM13に対して発行される、SSU3からの読出命令に相当する。オペレーションコードが「1001」である場合、リクエストは、SSM13からCPU11に対して発行される、SSU3からの読み出しの完了報告に相当する。オペレーションコードが「0010」である場合、リクエストは、CPU11からチャネル14に対して発行される、I/O5aに対する書込命令に相当する。オペレーションコードが「1010」である場合、リクエストは、チャネル14からCPU11に対して発行される、I/O5aに対する書き込みの完了報告に相当する。オペレーションコードが「0100」である場合、リクエストは、SSM13又はチャネル14から主記憶12に対して発行される、主記憶12からの読出命令に相当する。オペレーションコードが「1100」である場合、リクエストは、主記憶12からSSM13又はチャネル14に対して発行される、主記憶12からの読出の応答(以下、読出応答と呼ぶ)に相当する。オペレーションコードが「0101」である場合、リクエストは、SSM13又はチャネル14から主記憶12に対して発行される、主記憶12に対する書込命令に相当する。オペレーションコードが「1101」である場合、リクエストは、主記憶12からSSM13又はチャネル14に対して発行される、主記憶12に対する書き込みの完了報告に相当する。なお、主記憶12に対する書込命令および主記憶12からの読出命令であったとしても、バイパスモードが有効に設定されている場合には、主記憶12に対する書き込みおよび主記憶12からの読み出しは行われない。
FIG. 10 shows an example of data stored in the
図12を用いて、本実施の形態における本体装置1aの動作の概要を説明する。
The outline of the operation of the
CPU11は、SSM13に対して、SSU3からのデータの読出命令をバイパスモードを有効にして(すなわち、バイパスモードの値を1に設定して)発行する(図12における(i))。
The
SSM13は、バイパスモードが有効な読出命令を検出し、SSU3のデータを読み出して主記憶12への書き込みを行うことを待たずに、SSU3からの読み出しの完了報告を先出でCPU11に発行する(図12における(ii))。
The
SSM13は、SSU3からのデータの読出命令に従いSSU3からデータを読み出し(図12における(iii))、読み出したデータを主記憶12へ書き込むための書込命令をバイパスモードを有効にして発行する(図12における(iv))。MCU10のバイパスバッファ制御回路100は、バイパスモードが有効な書込命令をSSM13から受信し、エラーが無ければ、書込命令に含まれるMSアドレスとデータとを有効フラグを有効に設定してバイパスバッファ101に格納する。
The
一方で、CPU11は、SSU3からの読み出しの完了報告をSSM13から受信した場合、I/O5aに対する書込命令をバイパスモードを有効にしてチャネル14に発行する(図12における(v))。
On the other hand, when the
チャネル14は、バイパスモードが有効な書込命令をCPU11から受信する。そして、チャネル14は、データを読み出してI/O5aに書き込むため、主記憶12からの読出命令をバイパスモードを有効にしてMCU10に対して発行する(図12における(vi))。
The
MCU10のバイパスバッファ制御回路100は、バイパスモードが有効な読出命令をチャネル14から受信する。そして、バイパスバッファ制御回路100は、受信した読出命令に従いバイパスバッファ101からデータを読み出し、読み出したデータを含む読出応答をチャネル14に発行する(図12における(vii))。
The bypass
チャネル14は、読出応答をMCU10から受信した場合、受信した読出応答に含まれるデータをI/O5aに書き込む。そして、チャネル14は、I/O5aに対する書き込みの完了報告をCPU11に対して発行する(図12における(viii))。
When the
以上が本体装置1aの動作の概要である。
The above is the outline of the operation of the
より詳細には、本体装置1aは以下のように動作する。なお、括弧付きの番号は図5A乃至図8に示した番号に対応する。
More specifically, the
まず、CPU11は、SSU3からの読出命令を、バイパスモードを有効にし且つMCU10を経由してSSM13に発行する(1)。
First, the
SSM13のバイパスモードチェック部1301は、入力パケット解析部131を介して受信した読出命令のバイパスモードが有効であるか判定する(2)。バイパスモードが有効である場合、SSM13は、SSU3からの読み出しの完了報告を先出するため、先出フラグ1302を有効(例えば「1」)に設定する(3)。先出フラグ1302が有効に設定された場合、SSM13は、完了報告制御回路133を起動する。完了報告制御回路133は、SSU3からの読み出しの完了報告を生成し、生成した完了報告を出力パケット生成部134がCPU11に対して発行する(4)。
The bypass
CPU11は、SSU3からの読み出しの完了報告を受信する。そして、CPU11は、I/O5aに対する書込命令を、バイパスモードを有効にし且つMCU10を経由してチャネル14に発行する(5)。
The
SSM13の入力パケット解析部131は、SSU3からの読出命令をSSU3に発行する(6)。SSM13は、SSU3から読み出されたデータを受信する(7)。そして、先出フラグ1302が有効である場合、SSM13の書き込み制御回路132は、SSU3から読み出されたデータの書込命令を、バイパスモードを有効にしてMCU10に対して発行する(8)。(6)から(8)の処理はデータを漏れなく書き込むまで繰り返し行われる。
The input
MCU10のバイパスバッファ制御回路100におけるバイパスモードチェック回路102は、SSM13から受信した書込命令に設定されたバイパスモードを確認する(9)。
The bypass
バイパスモードが「有効」である場合、バイパスバッファ制御回路100は、以下の処理を実行する。具体的には、データチェック回路104は、書込命令のデータが正常であるか確認し、エラーが発生していた場合には書込命令を廃却してSSM13に対して書込命令の再送要求を送信する(10−1)。第1切替部105は、MSアドレスと書き込まれるデータとを含むセットを、有効フラグを有効にしてバイパスバッファ101に格納する(10−2)。バイパスバッファ101に空きがある場合、完了報告制御回路113は、主記憶12に対する書き込みの完了報告を調停ポートCに設定する(10−3)。(10−2)の書き込みによってバイパスバッファ101に空きが無くなった場合、完了報告制御回路113は、空きが生じるまで完了報告の発行を保留する。
When the bypass mode is “valid”, the bypass
一方、バイパスモードが「有効」ではない場合、バイパスバッファ制御回路100は、以下の処理を実行する。具体的には、バイパスバッファ制御回路100は、書込命令に従って主記憶12に対する書き込みを実行する(11−1)。そして、バイパスバッファ制御回路100は、主記憶12に対する書き込みの完了報告を調停ポートDに設定する(11−2)。
On the other hand, when the bypass mode is not “valid”, the bypass
第2調停回路112は、調停ポートCと調停ポートDのいずれか一方のみが選択され続けることが無いように選択を行い、選択した調停ポートに設定された完了報告をSSM13に対して発行する(12)。
The
完了報告制御回路133は、CPU11から指定された転送長の分の読出命令に対応する書込命令の完了報告を漏れなく受信し且つ先出フラグ1302が有効に設定されている場合、SSU3からの読出命令の完了報告をCPU11に発行せず、先出フラグ1302を無効に設定して処理を終了する(13)。
When the completion
一方、チャネル14のバイパス制御回路140におけるバイパスモードチェック部1401は、入力パケット解析部141を介して受信した書込命令のバイパスモードが有効であるか判定する(14)。バイパスモードが有効である場合、バイパスモードチェック部1401は、バイパス実行フラグ1402を有効に設定する(15)。読み出し制御回路142は、主記憶12からの読出命令を、バイパスモードを有効にして出力パケット生成部144を介してMCU10に発行する(16)。CPU11から指定された転送長分の書き込みを行うためのデータを取得するため、チャネル14は(16)の処理を繰り返し行い、読出命令の発行が完了すると読み出し制御回路142はバイパス実行フラグ1402を無効に設定する(17)。
On the other hand, the bypass
MCU10のバイパスバッファ制御回路100におけるバイパスモードチェック回路103は、チャネル14から受信した読出命令のバイパスモードを確認する(18)。
The bypass
バイパスモードが「有効」である場合、バイパスバッファ制御回路100は、以下の処理を実行する。具体的には、第2切替部106は、バイパスリクエストキュー108の最後尾に受信した読出命令を格納する(19−1)。バイパスリクエストキュー制御回路107は、バイパスリクエストキュー108の先頭の読出命令を、バイパスリクエストポート109が空である場合にバイパスリクエストポート109に格納し、バイパスリクエストキュー108をシフトする(19−2)。調停ポートAが空ではない場合、バイパスバッファ制御回路100は、調停ポートAが空くまで待機する(19−3)。調停ポートAが空である場合、アドレス比較回路110は、バイパスリクエストポート109に格納された読出命令のMSアドレスと同じMSアドレスであり且つ有効フラグが有効に設定されているという条件を満たすセットがバイパスバッファ101に存在するか判定する(19−4)。条件を満たすセットが存在する場合、アドレス比較回路110は、そのセットからデータを読み出して調停ポートAに格納し、有効フラグを無効に設定する。さらに、アドレス比較回路110は、読出命令の返信先のチャネルを示す情報をバイパスリクエストポート109から読み出して調停ポートAに格納し、バイパスリクエストポート109を空にする(19−5)。条件を満たすセットが存在しない場合、バイパスリクエストキュー制御回路107は、バイパスリクエストポート109に格納されている読出命令を取り出してバイパスリクエストキュー108の最後尾に格納し、バイパスリクエストポート109を空にする(19−6)。バイパスリクエストポート109に読出命令が残っている場合、バイパスバッファ制御回路100は、(19−1)から(19−6)までの処理を繰り返す。なお、調停ポートAにデータが格納された場合には以下で説明する(21)も実行される。
When the bypass mode is “valid”, the bypass
一方、バイパスモードが「有効」ではない場合、バイパスバッファ制御回路100は、以下の処理を実行する。具体的には、バイパスバッファ制御回路100は、主記憶12からの読出命令に従い主記憶12からデータを読み出し(20−1)、読み出したデータを調停ポートBに格納する(20−2)。
On the other hand, when the bypass mode is not “valid”, the bypass
バイパスバッファ制御回路100における第1調停回路111は、調停ポートAと調停ポートBのいずれか一方のみが選択され続けることが無いように選択を行い、選択した調停ポートに格納されたデータをチャネル14に送信する(21)。
The first arbitration circuit 111 in the bypass
チャネル14の入力パケット解析部141は、MCU10からデータを受信し(22)、受信したデータをI/O5aに書き込む(23)。完了報告制御回路143は、I/O5aから書き込みの完了報告を受け取り(24)、I/O5aに対する書き込みの完了報告を出力パケット生成部144を介してCPU11に発行する(25)。
The input
以上で本体装置1aの動作の概要についての説明を終了する。
This is the end of the description of the outline of the operation of the
次に、図13乃至図19のフローチャートを用いて、本体装置1aの動作を説明する。
Next, the operation of the
まず、図13を用いて、本実施の形態のシステムにおいて行われる処理の概要を説明する。CPU11はSSM13に対して、SSU3からの読出命令を発行する(図13:ステップS1)。これに応じ、SSM13はCPU11に対して、読出命令の完了報告を発行する(ステップS3)。
First, an outline of processing performed in the system according to the present embodiment will be described with reference to FIG. The
そして、ステップS9乃至S17の処理と、ステップS5及びS7の処理とが並行して行われる。まず、ステップS5及びS7の処理について説明する。 And the process of step S9 thru | or S17 and the process of step S5 and S7 are performed in parallel. First, the processing of steps S5 and S7 will be described.
SSM13は、SSU3からSSM13を介してバイパスバッファ101に対して、SSU3から読み出したデータを転送することを開始する(ステップS5)。
The
SSM13は、SSU3からバイパスバッファ101へのデータ転送が完了したか判定する(ステップS7)。データ転送が完了していない場合(ステップS7:Noルート)、ステップS7の処理に戻る。データ転送が完了した場合(ステップS7:Yesルート)、処理は終了する。
The
一方、CPU11はチャネル14に対して、I/O5aに対する書込命令を発行する(ステップS9)。そして、チャネル14はMCU10のバイパスバッファ制御回路100に対して、主記憶12からの読出命令を発行する。
On the other hand, the
バイパスバッファ制御回路100は、読出命令に含まれるMSアドレスと一致するMSアドレスがバイパスバッファ101に存在するか判定する(ステップS11)。読出命令に含まれるMSアドレスと一致するMSアドレスがバイパスバッファ101に存在しない場合(ステップS11:Noルート)、ステップS11の処理に戻る。
The bypass
一方、読出命令に含まれるMSアドレスと一致するMSアドレスがバイパスバッファ101に存在する場合(ステップS11:Yesルート)、チャネル14は、バイパスバッファ101からチャネル14を介してI/O5aに対して、SSU3から読み出されたデータを転送することを開始する(ステップS13)。
On the other hand, when the MS address that matches the MS address included in the read command is present in the bypass buffer 101 (step S11: Yes route), the
チャネル14は、バイパスバッファ101からI/O5aへのデータ転送が完了したか判定する(ステップS15)。データ転送が完了していない場合(ステップS15:Noルート)、ステップS15の処理に戻る。データ転送が完了した場合(ステップS15:Yesルート)、チャネル14はCPU11に対して、I/O5aに対する書込命令の完了報告を発行する(ステップS17)。そして処理は終了する。
The
以上のように、データの読み出しとデータの書き込みとを並行して行うようにすれば、データの転送に要する時間を短縮できるようになる。また、本体装置に改変を加えることで実現可能なので、CPU11が実行する既存の命令フローを維持することができる。さらに、主記憶12に格納されているデータを別の場所に退避しなくて済むので、主記憶12に対する他のアクセスが遅延することもない。
As described above, when data reading and data writing are performed in parallel, the time required for data transfer can be shortened. Further, since it can be realized by modifying the main device, the existing instruction flow executed by the
比較のため、図2を用いて説明した、主記憶を経由してデータを転送する場合の処理について図14を用いて説明する。 For comparison, the processing for transferring data via the main memory described with reference to FIG. 2 will be described with reference to FIG.
まず、CPU11はSSM13に対して、SSU3からの読出命令を発行する(図14:ステップS21)。
First, the
SSM13は、SSU3に格納されているデータを主記憶12へ転送することを開始する(ステップS23)。SSM13は、データ転送が完了したか判定する(ステップS25)。データ転送が完了していない場合(ステップS25:Noルート)、ステップS25の処理に戻る。
The
一方、データ転送が完了した場合(ステップS25:Yesルート)、SSM13はCPU11に対して、読出命令の完了報告を発行する(ステップS27)。
On the other hand, when the data transfer is completed (step S25: Yes route), the
読出命令の完了報告を受け取ったCPU11はチャネル14に対して、SSU3から読み出され且つ主記憶12に格納されたデータをI/O5aへ書き込む書込命令を発行する(ステップS29)。
Receiving the completion report of the read command, the
チャネル14は、主記憶12に格納されているデータをI/O5aに転送することを開始する(ステップS30)。チャネル14は、データ転送が完了したか判定する(ステップS31)。データ転送が完了していない場合(ステップS31:Noルート)、ステップS31の処理に戻る。
The
一方、データ転送が完了した場合(ステップS31:Yesルート)、チャネル14はCPU11に対して、書込命令の完了報告を発行する(ステップS33)。そして処理は終了する。
On the other hand, when the data transfer is completed (step S31: Yes route), the
以上のような処理の場合、データの読み出しが完了するまでは書き込みを開始できないので、転送が完了するまでの時間が長くなりがちである。また、データを主記憶12まで転送することになるので、本実施の形態の場合よりも転送距離が長い。
In the case of the above processing, since writing cannot be started until the data reading is completed, the time until the transfer is completed tends to be long. Further, since the data is transferred to the
次に、図15乃至図19を用いて、本体装置1aの動作をより詳細に説明する。
Next, the operation of the
まず、図15を用いて、バイパスバッファ制御回路100がSSM13から書込命令を受信した際に実行する処理について説明する。
First, processing executed when the bypass
バイパスバッファ制御回路100のバイパスモードチェック回路102は、SSM13からの書込命令を検出し(図15:ステップS41)、バイパスモードが有効であるか判定する(ステップS43)。そして、バイパスモードチェック回路102は、判定結果を示す情報をデータチェック回路104に出力する。
The bypass
バイパスモードが有効ではない場合(ステップS43:Noルート)、データチェック回路104は、バイパスモードが有効ではないことを第1切替部105に設定する。すると、第1切替部105は書込命令を主記憶12に出力し、これにより主記憶12に対する書き込みが実行される(ステップS45)。バイパスバッファ制御回路100は、主記憶12に対する書き込みの完了報告を受信し(ステップS47)、受信した完了報告を調停ポートDに格納する(ステップS49)。そして処理は終了する。
When the bypass mode is not valid (step S43: No route), the data check circuit 104 sets the
一方、バイパスモードが有効である場合(ステップS43:Yesルート)、データチェック回路104は、書込命令に含まれるデータが正常であるか判定する(ステップS51)。 On the other hand, when the bypass mode is valid (step S43: Yes route), the data check circuit 104 determines whether the data included in the write command is normal (step S51).
データが正常ではない場合(ステップS51:Noルート)、データチェック回路104は、書込命令の再送要求をSSM13に送信する(ステップS53)。そして処理は終了する。 If the data is not normal (step S51: No route), the data check circuit 104 transmits a write command retransmission request to the SSM 13 (step S53). Then, the process ends.
一方、データが正常である場合(ステップS51:Yesルート)、データチェック回路104は、バイパスモードが有効であることを第1切替部105に設定する。すると、第1切替部105は書込命令をバイパスバッファ101に出力する。そして、バイパスバッファ制御回路100は、書込命令に含まれるMSアドレス及びデータを含むセットを、有効フラグを有効にしてバイパスバッファ101に格納する(ステップS55)。
On the other hand, when the data is normal (step S51: Yes route), the data check circuit 104 sets the
完了報告制御回路113は、バイパスバッファ101に空きが有るか判定する(ステップS57)。空きが無い場合(ステップS57:Noルート)、ステップS57の処理に戻る。一方、空きが有る場合(ステップS57:Yesルート)、完了報告制御回路113は、主記憶12への書き込みの完了報告を生成する(ステップS59)。そして、完了報告制御回路113は、生成した完了報告を調停ポートCに設定する(ステップS61)。そして処理は終了する。
The completion
次に、図16を用いて、バイパスバッファ制御回路100の第2調停回路112が実行する処理について説明する。
Next, processing executed by the
まず、第2調停回路112は、調停ポートCにデータが格納されているか判定する(図16:ステップS71)。
First, the
調停ポートCにデータが格納されていない場合(ステップS71:Noルート)、第2調停回路112は、調停ポートDにデータが格納されているか判定する(ステップS73)。調停ポートDにデータが格納されていない場合(ステップS73:Noルート)、処理は終了する。一方、調停ポートDにデータが格納されている場合(ステップS73:Yesルート)、ステップS79の処理に移行する。
When data is not stored in the arbitration port C (step S71: No route), the
調停ポートCにデータが格納されている場合(ステップS71:Yesルート)、第2調停回路112は、調停ポートDにデータが格納されているか判定する(ステップS75)。調停ポートDにデータが格納されていない場合(ステップS75:Noルート)、ステップS81の処理に移行する。一方、調停ポートDにデータが格納されている場合(ステップS75:Yesルート)、第2調停回路112は、調停ポートCが直前に選択されたか判定する(ステップS77)。
When data is stored in the arbitration port C (step S71: Yes route), the
調停ポートCが直前に選択された場合(ステップS77:Yesルート)、第2調停回路112は、調停ポートDを選択する(ステップS79)。そして、第2調停回路112は、調停ポートDに格納されているデータを出力する。そして処理は終了する。
When the arbitration port C is selected immediately before (step S77: Yes route), the
一方、調停ポートCが直前に選択されていない場合(ステップS77:Noルート)、第2調停回路112は、調停ポートCを選択する(ステップS81)。そして、第2調停回路112は、調停ポートCに格納されているデータを出力する。そして処理は終了する。
On the other hand, when the arbitration port C has not been selected immediately before (step S77: No route), the
次に、図17及び図18を用いて、バイパスバッファ制御回路100がチャネル14から読出命令を受信した際に実行する処理について説明する。
Next, processing executed when the bypass
まず、バイパスモードチェック回路103は、チャネル14からの読出命令を検出し(図17:ステップS91)、バイパスモードが有効であるか判定する(ステップS93)。
First, the bypass
バイパスモードが有効ではない場合(ステップS93:Noルート)、バイパスモードチェック回路103は、バイパスモードが有効ではないことを第2切替部106に設定する。すると、第2切替部106は読出命令を主記憶12に出力し、これにより主記憶12からの読み出しが実行される(ステップS95)。バイパスバッファ制御回路100は、主記憶12から読み出したデータを受信し(ステップS97)、受信したデータを調停ポートBに格納する(ステップS99)。そして処理は端子Aを介して図18の説明に移行し終了する。
When the bypass mode is not valid (step S93: No route), the bypass
一方、バイパスモードが有効である場合(ステップS93:Yesルート)、バイパスモードチェック回路103は、バイパスモードが有効であることを第2切替部106に設定する。すると、第2切替部106は、読出命令をバイパスリクエストキュー108に出力し、バイパスバッファ制御回路100は、バイパスリクエストキュー108の最後尾に読出命令を格納する(ステップS101)。
On the other hand, when the bypass mode is valid (step S93: Yes route), the bypass
バイパスリクエストキュー制御回路107は、バイパスリクエストポート109が空であるか判定する(ステップS103)。バイパスリクエストポート109が空ではない場合(ステップS103:Noルート)、ステップS103の処理に戻る。
The bypass request
一方、バイパスリクエストポート109が空である場合(ステップS103:Yesルート)、バイパスリクエストキュー制御回路107は、バイパスリクエストキュー108の先頭の読出命令をバイパスリクエストポート109に格納する(ステップS105)。
On the other hand, when the
バイパスバッファ制御回路100は、調停ポートAが空であるか判定する(ステップS107)。調停ポートAが空ではない場合(ステップS107:Noルート)、ステップS107の処理に戻る。一方、調停ポートAが空である場合(ステップS107:Yesルート)、処理は端子Bを介して図18のステップS109に移行する。
The bypass
図18の説明に移行し、アドレス比較回路110は、バイパスリクエストポート109に格納された読出命令に含まれるMSアドレスがバイパスバッファ101に存在するか判定する(図18:ステップS109)。
Shifting to the description of FIG. 18, the
バイパスリクエストポート109に格納された読出命令に含まれるMSアドレスがバイパスバッファ101に存在しない場合(ステップS111:Noルート)、アドレス比較回路110は、バイパスリクエストポート109に格納された読出命令に含まれるMSアドレスがバイパスバッファ101に存在しないことをバイパスリクエストキュー制御回路107に通知する。これに応じ、バイパスリクエストキュー制御回路107は、バイパスリクエストポート109に格納された読出命令を取り出し、バイパスリクエストキュー108の最後尾に格納する(ステップS113)。そしてステップS119の処理に移行する。
When the MS address included in the read instruction stored in the
一方、バイパスリクエストポート109に格納された読出命令に含まれるMSアドレスがバイパスバッファ101に存在する場合(ステップS111:Yesルート)、アドレス比較回路110は、検出されたMSアドレスに対応するデータとバイパスリクエストポート109に格納されている返信先のチャネルを示す情報とを調停ポートAに格納する(ステップS115)。
On the other hand, when the MS address included in the read instruction stored in the
アドレス比較回路110は、検出されたMSアドレスに対応するデータの有効フラグをリセット(例えば、無効に設定)し(ステップS117)、バイパスリクエストキュー制御回路107に対してバイパスリクエストポート109を空にする通知を行う。これに応じ、バイパスリクエストキュー制御回路107はバイパスリクエストポート109を空にする(ステップS119)。
The
バイパスリクエストキュー制御回路107は、バイパスリクエストキュー108にリクエストが残っているか判定する(ステップS121)。リクエストが残っている場合(ステップS121:Yesルート)、次のリクエストについて処理するため、ステップS103の処理に戻る。一方、バイパスリクエストキュー108にリクエストが残っていない場合(ステップS121:Noルート)、処理は終了する。
The bypass request
次に、図19を用いて、バイパスバッファ制御回路100の第1調停回路111が実行する処理について説明する。
Next, processing executed by the first arbitration circuit 111 of the bypass
まず、第1調停回路111は、調停ポートAにデータが格納されているか判定する(図19:ステップS131)。 First, the first arbitration circuit 111 determines whether data is stored in the arbitration port A (FIG. 19: step S131).
調停ポートAにデータが格納されていない場合(ステップS131:Noルート)、第1調停回路111は、調停ポートBにデータが格納されているか判定する(ステップS133)。調停ポートBにデータが格納されていない場合(ステップS133:Noルート)、処理は終了する。一方、調停ポートBにデータが格納されている場合(ステップS133:Yesルート)、ステップS139の処理に移行する。 When data is not stored in the arbitration port A (step S131: No route), the first arbitration circuit 111 determines whether data is stored in the arbitration port B (step S133). If no data is stored in the arbitration port B (step S133: No route), the process ends. On the other hand, when data is stored in the arbitration port B (step S133: Yes route), the process proceeds to step S139.
調停ポートAにデータが格納されている場合(ステップS131:Yesルート)、第1調停回路111は、調停ポートBにデータが格納されているか判定する(ステップS135)。調停ポートBにデータが格納されていない場合(ステップS135:Noルート)、ステップS141の処理に移行する。一方、調停ポートBにデータが格納されている場合(ステップS135:Yesルート)、第1調停回路111は、調停ポートAが直前に選択されたか判定する(ステップS137)。 When data is stored in the arbitration port A (step S131: Yes route), the first arbitration circuit 111 determines whether data is stored in the arbitration port B (step S135). When data is not stored in the arbitration port B (step S135: No route), the process proceeds to step S141. On the other hand, when data is stored in the arbitration port B (step S135: Yes route), the first arbitration circuit 111 determines whether the arbitration port A has been selected immediately before (step S137).
調停ポートAが直前に選択された場合(ステップS137:Yesルート)、第1調停回路111は、調停ポートBを選択する(ステップS139)。そして、第1調停回路111は、調停ポートBに格納されているデータを出力する。そして処理は終了する。 When the arbitration port A is selected immediately before (step S137: Yes route), the first arbitration circuit 111 selects the arbitration port B (step S139). Then, the first arbitration circuit 111 outputs the data stored in the arbitration port B. Then, the process ends.
一方、調停ポートAが直前に選択されていない場合(ステップS137:Noルート)、第1調停回路111は、調停ポートAを選択する(ステップS141)。そして、第1調停回路111は、調停ポートAに格納されているデータを出力する。そして処理は終了する。 On the other hand, when the arbitration port A has not been selected immediately before (step S137: No route), the first arbitration circuit 111 selects the arbitration port A (step S141). Then, the first arbitration circuit 111 outputs the data stored in the arbitration port A. Then, the process ends.
図20及び図21を用いて、データの転送時間の短縮について説明する。図20は、本実施の形態の転送方法を使用した場合のシーケンス図であり、図21は、公知の転送方法を使用した場合のシーケンス図である。図20及び図21において、縦軸は時間(単位は周期)を表す。「MEM」は主記憶を表し、「CH」はチャネルを表す。円の図形は命令シーケンスの始動を表し、三角形の図形は転送されるデータを表し、破線は読出命令についてのシーケンスを表し、実線は書込命令についてのシーケンスを表す。図20における括弧付きの番号は図5A乃至図8に示した番号に対応する。 The reduction of the data transfer time will be described with reference to FIGS. FIG. 20 is a sequence diagram when the transfer method of the present embodiment is used, and FIG. 21 is a sequence diagram when a known transfer method is used. 20 and 21, the vertical axis represents time (unit is period). “MEM” represents main memory, and “CH” represents channel. The circle graphic represents the start of the instruction sequence, the triangle graphic represents the data to be transferred, the dashed line represents the sequence for the read command, and the solid line represents the sequence for the write command. The numbers in parentheses in FIG. 20 correspond to the numbers shown in FIGS. 5A to 8.
図20に示すように、CPU11は、まずSSU3からの読出命令をSSM13に発行する(1)。SSM13は、SSU3からの読出命令の完了報告をCPU11に発行する(4)と共に、SSU3からの読出命令をSSU3に対して発行する(6)。SSM13は、SSU3から読み出されたデータを受信する(7)。そして、SSM13は、SSU3から読み出されたデータの書込命令を、バイパスモードを有効にしてMCU10に対して発行する(8)。MCU10はSSM13に書き込み完了報告を発行する(12)。最終的に読出命令についてのシーケンスは5サイクルで終了する。
As shown in FIG. 20, the
一方、書込命令についてのシーケンスは、CPU11が完了報告を受信した時点(すなわち、2サイクルが終了した時点)で開始する。まず、CPU11は、I/O5aに対する書込命令を、バイパスモードを有効にしてチャネル14に発行する(5)。チャネル14は、主記憶12からの読出命令をバイパスモードを有効にしてMCU10に発行する(16)。MCU10は、バイパスバッファ101に格納されたデータをチャネル14に送信する(21)。チャネル14は、MCU10から受信したデータをI/O5aに書き込む(23)。チャネル14は、I/O5aから書き込みの完了報告を受け取り(24)、I/O5aに対する書き込みの完了報告をCPU11に発行する(25)。
On the other hand, the sequence for the write command starts when the
一方で、本実施の形態の方法を使用しない場合には以下のようになる。すなわち、図21に示すように、まずCPU11が、SSU3からの読出命令をSSM13に発行する(a)。SSM13は、SSU3からの読出命令をSSU3に対して発行する(b)。SSM13は、SSU3から読み出されたデータを受信し(c)、受信したデータを主記憶12に書き込むための書込命令をMCU10に発行する(d)。MCU10は、書込命令に従いデータを主記憶12へ書き込む(e)。MCU10は、主記憶12にデータが書き込まれたことを確認すると(f)、SSM13に書き込みの完了報告を発行する(g)。SSM13は、SSU3の読み出しの完了報告をCPU11に発行する(h)。このように、読出命令についてのシーケンスは8サイクルで完了する。
On the other hand, when not using the method of this Embodiment, it is as follows. That is, as shown in FIG. 21, first, the
読出命令についてのシーケンスが完了すると、CPU11は、I/O5aに対する書込命令をチャネル14に発行する(i)。チャネル14は、SSU3から読み出されたデータを取得するため、主記憶12からの読出命令をMCU10に発行する(j)。MCU10は、主記憶12からデータを読み出し(k)、読み出したデータをチャネル14に送信する(l)。チャネル14は、受信したデータをI/O5aに書き込み(m)、書き込みの完了報告をI/O5aから受け取る(n)。チャネル14は、書き込みの完了報告をCPU11に対して発行する(o)。このように、書込命令についてのシーケンスは16サイクルで完了する。従って、本実施の形態の方法を使用すれば転送が完了するまでの時間を1/2程度に減らすことができるようになる。
When the sequence for the read command is completed, the
以上本発明の一実施の形態を説明したが、本発明はこれに限定されるものではない。例えば、上で説明した本体装置1aの構成は実際のハードウエアモジュール構成に一致しない場合もある。
Although one embodiment of the present invention has been described above, the present invention is not limited to this. For example, the configuration of the
また、上で説明したデータ保持構成は一例であって、上記のような構成でなければならないわけではない。さらに、処理フローにおいても、処理結果が変わらなければ処理の順番を入れ替えることも可能である。さらに、並列に実行させるようにしても良い。 In addition, the data holding configuration described above is an example, and the above configuration is not necessarily required. Further, in the processing flow, the processing order can be changed if the processing result does not change. Further, it may be executed in parallel.
また、転送元のデータが格納されるストレージデバイスは共用されていなくてもよい。その場合、本体装置の台数が1であってもよい。 Further, the storage device that stores the transfer source data may not be shared. In that case, the number of main body devices may be one.
また、I/O5a又はI/O5bからSSU3へデータを転送する場合にも本実施の形態を応用することで対処可能である。
Further, even when data is transferred from the I /
以上述べた本発明の実施の形態をまとめると、以下のようになる。 The embodiment of the present invention described above is summarized as follows.
本実施の形態の第1の態様に係る情報処理装置は、(A)プロセッサと、(B)メインメモリと、(C)第1制御回路と、(D)第2制御回路と、(E)第3制御回路とを有する。そして、第1制御回路は、(c1)プロセッサから受信した、情報処理装置に接続された第1記憶装置からデータを読み出すための第1読出命令が、所定の情報を含むか判定する第1判定部と、(c2)第1読出命令が所定の情報を含むと第1判定部により判定された場合、読み出しが完了したことを示す完了報告を、当該読み出しが完了する前にプロセッサに送信すると共に、第1記憶装置から読み出したデータと所定の情報とを含む、読み出したデータをメインメモリに書き込むための第1書込命令を第3制御回路に送信する第1送信部とを有する。そして、第2制御回路は、(d1)プロセッサから受信した、情報処理装置に接続された第2記憶装置にデータを書き込むための第2書込命令が、所定の情報を含むか判定する第2判定部と、(d2)第2書込命令が所定の情報を含むと第2判定部により判定された場合、所定の情報を含む、データをメインメモリから読み出すための第2読出命令を第3制御回路に送信する第2送信部とを有する。そして、第3制御回路は、(e1)第1制御回路から受信した第1書込命令が所定の情報を含む場合、第1書込命令を、第3制御回路の第1記憶領域に格納する第1格納処理部と、(e2)第2制御回路から受信した第2読出命令が所定の情報を含む場合、第2読出命令を、第3制御回路の第2記憶領域に格納する第2格納処理部と、(e3)第1記憶領域に格納された第1書込命令に含まれるメインメモリのアドレスと、第2記憶領域に格納された第2読出命令に含まれるメインメモリのアドレスとが一致する場合、第1記憶領域に格納されたデータを読み出し、データを第2制御回路に送信する第3送信部とを有する。 The information processing apparatus according to the first aspect of the present embodiment includes (A) a processor, (B) a main memory, (C) a first control circuit, (D) a second control circuit, and (E). And a third control circuit. The first control circuit (c1) determines whether the first read instruction received from the processor for reading data from the first storage device connected to the information processing device includes predetermined information. And (c2) when the first determination unit determines that the first read instruction includes predetermined information, a completion report indicating that the reading is completed is transmitted to the processor before the reading is completed. And a first transmitter that transmits a first write command for writing the read data to the main memory, including data read from the first storage device and predetermined information, to the third control circuit. The second control circuit determines (d1) whether the second write command received from the processor for writing data to the second storage device connected to the information processing device includes predetermined information. And (d2) if the second determination unit determines that the second write command includes predetermined information, a third read command for reading data including the predetermined information from the main memory is And a second transmitter for transmitting to the control circuit. The third control circuit stores (e1) the first write command in the first storage area of the third control circuit when the first write command received from the first control circuit includes predetermined information. And (e2) a second storage that stores the second read instruction in the second storage area of the third control circuit when the second read instruction received from the second control circuit includes predetermined information. A processing unit; (e3) an address of the main memory included in the first write instruction stored in the first storage area; and an address of the main memory included in the second read instruction stored in the second storage area. If they coincide with each other, a third transmission unit is provided for reading data stored in the first storage area and transmitting the data to the second control circuit.
このようにすれば、読み出しと書き込みとを並行して行えるようになるので、第1の記憶装置から第2の記憶装置にデータを転送するのに要する時間を短縮できるようになる。また、プロセッサが実行する既存の命令フローを維持することができる。 In this way, since reading and writing can be performed in parallel, the time required to transfer data from the first storage device to the second storage device can be shortened. In addition, the existing instruction flow executed by the processor can be maintained.
また、第2制御回路は、(d3)第3制御回路からデータを受信し、受信したデータを第2記憶装置に書き込む書込部をさらに有してもよい。これによりデータの転送を完了することができる。 The second control circuit may further include (d3) a writing unit that receives data from the third control circuit and writes the received data to the second storage device. Thereby, data transfer can be completed.
また、第1格納処理部は、(e11)第1制御回路から受信した第1書込命令が所定の情報を含まない場合、受信した第1書込命令に含まれるデータをメインメモリに格納し、第2格納処理部は、(e21)第2制御回路から受信した第2読出命令が所定の情報を含まない場合、第2読出命令に従ってデータをメインメモリから読み出し、第3送信部は、(e31)メインメモリから読み出したデータを第2制御回路に送信してもよい。メインメモリを使用した通常の転送方法にも対応することができるようになる。 The first storage processing unit stores (e11) data included in the received first write instruction in the main memory when the first write instruction received from the first control circuit does not include predetermined information. The second storage processing unit reads (e21) data from the main memory according to the second read command when the second read command received from the second control circuit does not include predetermined information, and the third transmission unit ( e31) The data read from the main memory may be transmitted to the second control circuit. A normal transfer method using the main memory can also be supported.
また、第3送信部は、(e32)第1記憶領域に格納されたデータと、メインメモリから読み出したデータとの両方が存在する場合、いずれが前回送信されたかに基づき、いずれを次に送信するか決定してもよい。いずれか一方のみについて送信が行われることを抑制できるようになる。 Further, the third transmission unit (e32), when both the data stored in the first storage area and the data read from the main memory exist, which is transmitted next based on which was transmitted last time. You may decide to do it. It is possible to suppress transmission of only one of them.
本実施の形態の第2の態様に係る情報処理システムは、(F)情報処理装置と、(G)情報処理装置に接続された第1記憶装置と、(H)情報処理装置に接続された第2記憶装置とを有する。そして、情報処理装置は、(f1)プロセッサと、(f2)メインメモリと、(f3)第1制御回路と、(f4)第2制御回路と、(f5)第3制御回路とを有する。そして、第1制御回路は、(f31)プロセッサから受信した、第1記憶装置からデータを読み出すための第1読出命令が、所定の情報を含むか判定する第1判定部と、(f32)第1読出命令が所定の情報を含むと第1判定部により判定された場合、読み出しが完了したことを示す完了報告を、当該読み出しが完了する前にプロセッサに送信すると共に、読み出されたデータと所定の情報とを含む、読み出されたデータをメインメモリに書き込むための第1書込命令を第3制御回路に送信する第1送信部とを有する。そして、第2制御回路は、(f41)プロセッサから受信した、第2記憶装置にデータを書き込むための第2書込命令が、所定の情報を含むか判定する第2判定部と、(f42)第2書込命令が所定の情報を含むと第2判定部により判定された場合、所定の情報を含む、データをメインメモリから読み出すための第2読出命令を第3制御回路に送信する第2送信部とを有する。そして、第3制御回路は、(f51)第1制御回路から受信した第1書込命令が所定の情報を含む場合、第1書込命令を、第3制御回路の第1記憶領域に格納する第1格納処理部と、(f52)第2制御回路から受信した第2読出命令が所定の情報を含む場合、第2読出命令を、第3制御回路の第2記憶領域に格納する第2格納処理部と、(f53)第1記憶領域に格納された第1書込命令に含まれるメインメモリのアドレスと、第2記憶領域に格納された第2読出命令に含まれるメインメモリのアドレスとが一致する場合、データを第2制御回路に送信する第3送信部とを有する。 The information processing system according to the second aspect of the present embodiment includes (F) an information processing device, (G) a first storage device connected to the information processing device, and (H) connected to the information processing device. And a second storage device. The information processing apparatus includes (f1) a processor, (f2) main memory, (f3) first control circuit, (f4) second control circuit, and (f5) third control circuit. The first control circuit includes (f31) a first determination unit that determines whether the first read instruction received from the processor for reading data from the first storage device includes predetermined information; When the first determination unit determines that one read instruction includes predetermined information, a completion report indicating that the read is completed is transmitted to the processor before the read is completed, and the read data and And a first transmitter that transmits a first write command for writing the read data to the main memory including predetermined information to the third control circuit. The second control circuit includes (f41) a second determination unit that determines whether the second write instruction received from the processor for writing data to the second storage device includes predetermined information; and (f42). When the second determination unit determines that the second write command includes predetermined information, a second read command for reading data from the main memory including the predetermined information is transmitted to the third control circuit. And a transmission unit. The third control circuit stores (f51) the first write command in the first storage area of the third control circuit when the first write command received from the first control circuit includes predetermined information. And (f52) a second storage that stores the second read command in the second storage area of the third control circuit when the second read command received from the second control circuit includes predetermined information. A processing unit; (f53) an address of the main memory included in the first write instruction stored in the first storage area; and an address of the main memory included in the second read instruction stored in the second storage area. And a third transmission unit that transmits data to the second control circuit when they match.
本実施の形態の第3の態様に係る、情報処理装置の制御回路は、(I)プロセッサから受信した、情報処理装置に接続された第1記憶装置からデータを読み出すための読出命令が、所定の情報を含むか判定する判定部と、(J)読出命令が所定の情報を含むと判定部により判定された場合、読み出しが完了したことを示す完了報告を、当該読み出しが完了する前にプロセッサに送信する送信部とを有する。 In the control circuit of the information processing device according to the third aspect of the present embodiment, (I) a read command received from the processor for reading data from the first storage device connected to the information processing device is predetermined. And (J) if the determination unit determines that the read instruction includes predetermined information, a completion report indicating that the read is completed is sent to the processor before the read is completed. A transmission unit for transmitting to the network.
本実施の形態の第4の態様に係る制御回路は、(K)データを含み且つメインメモリにデータを書き込むための書込命令が、所定の情報をさらに含む場合、書込命令を、制御回路の第1記憶領域に格納する第1格納処理部と、メインメモリからデータを読み出すための読出命令が所定の情報を含む場合、読出命令を、制御回路の第2記憶領域に格納する第2格納処理部と、(L)第1記憶領域に格納された書込命令に含まれるメインメモリのアドレスと、第2記憶領域に格納された読出命令に含まれるメインメモリのアドレスとが一致する場合、第1記憶領域に格納されたデータを読み出し、データを送信する送信部とを有する。 The control circuit according to the fourth aspect of the present embodiment includes (K) a write command when the write command for writing data to the main memory further includes predetermined information when the write command includes data. And a second storage for storing the read instruction in the second storage area of the control circuit when the read instruction for reading data from the main memory includes predetermined information. When the processing unit and (L) the address of the main memory included in the write instruction stored in the first storage area match the address of the main memory included in the read instruction stored in the second storage area, A transmission unit that reads data stored in the first storage area and transmits the data;
なお、上記方法による処理をプロセッサに行わせるためのプログラムを作成することができ、当該プログラムは、例えばフレキシブルディスク、CD−ROM、光磁気ディスク、半導体メモリ、ハードディスク等のコンピュータ読み取り可能な記憶媒体又は記憶装置に格納される。尚、中間的な処理結果はメインメモリ等の記憶装置に一時保管される。 A program for causing the processor to perform the processing according to the above method can be created, and the program can be a computer-readable storage medium such as a flexible disk, a CD-ROM, a magneto-optical disk, a semiconductor memory, a hard disk, or the like. It is stored in a storage device. The intermediate processing result is temporarily stored in a storage device such as a main memory.
以上の実施例を含む実施形態に関し、さらに以下の付記を開示する。 The following supplementary notes are further disclosed with respect to the embodiments including the above examples.
(付記1)
プロセッサと、
メインメモリと、
第1制御回路と、
第2制御回路と、
第3制御回路と、
を有する情報処理装置であって、
前記第1制御回路は、
前記プロセッサから受信した、前記情報処理装置に接続された第1記憶装置からデータを読み出すための第1読出命令が、所定の情報を含むか判定する第1判定部と、
前記第1読出命令が前記所定の情報を含むと前記第1判定部により判定された場合、読み出しが完了したことを示す完了報告を、当該読み出しが完了する前に前記プロセッサに送信すると共に、前記第1記憶装置から読み出した前記データと前記所定の情報とを含む、読み出した前記データを前記メインメモリに書き込むための第1書込命令を前記第3制御回路に送信する第1送信部と
を有し、
前記第2制御回路は、
前記プロセッサから受信した、前記情報処理装置に接続された第2記憶装置に前記データを書き込むための第2書込命令が、前記所定の情報を含むか判定する第2判定部と、
前記第2書込命令が前記所定の情報を含むと前記第2判定部により判定された場合、前記所定の情報を含む、前記データを前記メインメモリから読み出すための第2読出命令を前記第3制御回路に送信する第2送信部と、
を有し、
前記第3制御回路は、
前記第1制御回路から受信した前記第1書込命令が前記所定の情報を含む場合、前記第1書込命令を、前記第3制御回路の第1記憶領域に格納する第1格納処理部と、
前記第2制御回路から受信した前記第2読出命令が前記所定の情報を含む場合、前記第2読出命令を、前記第3制御回路の第2記憶領域に格納する第2格納処理部と、
前記第1記憶領域に格納された前記第1書込命令に含まれる前記メインメモリのアドレスと、前記第2記憶領域に格納された前記第2読出命令に含まれる前記メインメモリのアドレスとが一致する場合、前記第1記憶領域に格納された前記データを読み出し、前記データを前記第2制御回路に送信する第3送信部と、
を有する情報処理装置。
(Appendix 1)
A processor;
Main memory,
A first control circuit;
A second control circuit;
A third control circuit;
An information processing apparatus having
The first control circuit includes:
A first determination unit that determines whether or not a first read command received from the processor for reading data from a first storage device connected to the information processing device includes predetermined information;
When the first determination unit determines that the first read instruction includes the predetermined information, a completion report indicating that the read is completed is transmitted to the processor before the read is completed, and the A first transmission unit configured to transmit a first write command including the data read from the first storage device and the predetermined information to write the read data to the main memory to the third control circuit; Have
The second control circuit includes:
A second determination unit that determines whether a second write command for writing the data to the second storage device connected to the information processing device received from the processor includes the predetermined information;
When the second determination unit determines that the second write instruction includes the predetermined information, a second read instruction for reading the data including the predetermined information from the main memory is the third A second transmitter for transmitting to the control circuit;
Have
The third control circuit includes:
A first storage processing unit that stores the first write command in a first storage area of the third control circuit when the first write command received from the first control circuit includes the predetermined information; ,
A second storage processing unit for storing the second read command in a second storage area of the third control circuit when the second read command received from the second control circuit includes the predetermined information;
The address of the main memory included in the first write instruction stored in the first storage area matches the address of the main memory included in the second read instruction stored in the second storage area A third transmitter for reading the data stored in the first storage area and transmitting the data to the second control circuit;
An information processing apparatus.
(付記2)
前記第2制御回路は、
前記第3制御回路から前記データを受信し、受信した前記データを前記第2記憶装置に書き込む書込部
をさらに有する付記1記載の情報処理装置。
(Appendix 2)
The second control circuit includes:
The information processing apparatus according to
(付記3)
前記第1格納処理部は、
前記第1制御回路から受信した前記第1書込命令が前記所定の情報を含まない場合、受信した前記第1書込命令に含まれる前記データを前記メインメモリに格納し、
前記第2格納処理部は、
前記第2制御回路から受信した前記第2読出命令が前記所定の情報を含まない場合、前記第2読出命令に従って前記データを前記メインメモリから読み出し、
前記第3送信部は、
前記メインメモリから読み出した前記データを前記第2制御回路に送信する、
付記1又は2記載の情報処理装置。
(Appendix 3)
The first storage processing unit
When the first write command received from the first control circuit does not include the predetermined information, the data included in the received first write command is stored in the main memory;
The second storage processing unit
When the second read command received from the second control circuit does not include the predetermined information, the data is read from the main memory according to the second read command,
The third transmitter is
Transmitting the data read from the main memory to the second control circuit;
The information processing apparatus according to
(付記4)
前記第3送信部は、
前記第1記憶領域に格納された前記データと、前記メインメモリから読み出した前記データとの両方が存在する場合、いずれが前回送信されたかに基づき、いずれを次に送信するか決定する、
付記3記載の情報処理装置。
(Appendix 4)
The third transmitter is
If both the data stored in the first storage area and the data read from the main memory exist, determine which to transmit next based on which was transmitted last time;
The information processing apparatus according to
(付記5)
情報処理装置と、
前記情報処理装置に接続された第1記憶装置と、
前記情報処理装置に接続された第2記憶装置と、
を有する情報処理システムであって、
前記情報処理装置は、
プロセッサと、
メインメモリと、
第1制御回路と、
第2制御回路と、
第3制御回路と、
を有し、
前記第1制御回路は、
前記プロセッサから受信した、前記第1記憶装置からデータを読み出すための第1読出命令が、所定の情報を含むか判定する第1判定部と、
前記第1読出命令が前記所定の情報を含むと前記第1判定部により判定された場合、読み出しが完了したことを示す完了報告を、当該読み出しが完了する前に前記プロセッサに送信すると共に、読み出された前記データと前記所定の情報とを含む、読み出された前記データを前記メインメモリに書き込むための第1書込命令を前記第3制御回路に送信する第1送信部と
を有し、
前記第2制御回路は、
前記プロセッサから受信した、前記第2記憶装置に前記データを書き込むための第2書込命令が、前記所定の情報を含むか判定する第2判定部と、
前記第2書込命令が前記所定の情報を含むと前記第2判定部により判定された場合、前記所定の情報を含む、前記データを前記メインメモリから読み出すための第2読出命令を前記第3制御回路に送信する第2送信部と、
を有し、
前記第3制御回路は、
前記第1制御回路から受信した前記第1書込命令が前記所定の情報を含む場合、前記第1書込命令を、前記第3制御回路の第1記憶領域に格納する第1格納処理部と、
前記第2制御回路から受信した前記第2読出命令が前記所定の情報を含む場合、前記第2読出命令を、前記第3制御回路の第2記憶領域に格納する第2格納処理部と、
前記第1記憶領域に格納された前記第1書込命令に含まれる前記メインメモリのアドレスと、前記第2記憶領域に格納された前記第2読出命令に含まれる前記メインメモリのアドレスとが一致する場合、前記データを前記第2制御回路に送信する第3送信部と、
を有する情報処理システム。
(Appendix 5)
An information processing device;
A first storage device connected to the information processing device;
A second storage device connected to the information processing device;
An information processing system having
The information processing apparatus includes:
A processor;
Main memory,
A first control circuit;
A second control circuit;
A third control circuit;
Have
The first control circuit includes:
A first determination unit that determines whether a first read instruction received from the processor for reading data from the first storage device includes predetermined information;
When the first determination unit determines that the first read instruction includes the predetermined information, a completion report indicating that the read is completed is transmitted to the processor before the read is completed, and the read A first transmission unit configured to transmit a first write command for writing the read data to the main memory including the issued data and the predetermined information to the third control circuit; ,
The second control circuit includes:
A second determination unit that determines whether a second write command received from the processor for writing the data to the second storage device includes the predetermined information;
When the second determination unit determines that the second write instruction includes the predetermined information, a second read instruction for reading the data including the predetermined information from the main memory is the third A second transmitter for transmitting to the control circuit;
Have
The third control circuit includes:
A first storage processing unit that stores the first write command in a first storage area of the third control circuit when the first write command received from the first control circuit includes the predetermined information; ,
A second storage processing unit for storing the second read command in a second storage area of the third control circuit when the second read command received from the second control circuit includes the predetermined information;
The address of the main memory included in the first write instruction stored in the first storage area matches the address of the main memory included in the second read instruction stored in the second storage area A third transmitter for transmitting the data to the second control circuit;
An information processing system having
(付記6)
プロセッサと制御回路とを有する情報処理装置の前記制御回路であって、
前記プロセッサから受信した、前記情報処理装置に接続された第1記憶装置からデータを読み出すための読出命令が、所定の情報を含むか判定する判定部と、
前記読出命令が前記所定の情報を含むと前記判定部により判定された場合、読み出しが完了したことを示す完了報告を、当該読み出しが完了する前に前記プロセッサに送信する送信部と、
を有する制御回路。
(Appendix 6)
The control circuit of the information processing apparatus having a processor and a control circuit,
A determination unit that determines whether a read command received from the processor for reading data from a first storage device connected to the information processing device includes predetermined information;
When the determination unit determines that the read instruction includes the predetermined information, a transmission unit that transmits a completion report indicating that the read is complete to the processor before the read is completed;
A control circuit.
(付記7)
プロセッサとメインメモリと制御回路とを有する情報処理装置の前記制御回路であって、
データを含み且つ前記メインメモリに前記データを書き込むための書込命令が、所定の情報をさらに含む場合、前記書込命令を、前記制御回路の第1記憶領域に格納する第1格納処理部と、
前記メインメモリから前記データを読み出すための読出命令が前記所定の情報を含む場合、前記読出命令を、前記制御回路の第2記憶領域に格納する第2格納処理部と、
前記第1記憶領域に格納された前記書込命令に含まれる前記メインメモリのアドレスと、前記第2記憶領域に格納された前記読出命令に含まれる前記メインメモリのアドレスとが一致する場合、前記第1記憶領域に格納された前記データを読み出し、前記データを送信する送信部と、
を有する制御回路。
(Appendix 7)
The control circuit of the information processing apparatus having a processor, a main memory, and a control circuit,
A first storage processing unit for storing the write instruction in a first storage area of the control circuit, when the write instruction for writing the data to the main memory further includes predetermined information; ,
A second storage processing unit that stores the read command in a second storage area of the control circuit when a read command for reading the data from the main memory includes the predetermined information;
When the address of the main memory included in the write instruction stored in the first storage area matches the address of the main memory included in the read instruction stored in the second storage area, A transmitter that reads the data stored in the first storage area and transmits the data;
A control circuit.
1a,1b 本体装置 3 SSU
5a,5b I/O 10 MCU
11 CPU 12 主記憶
13 SSM 14 チャネル
13p パケット制御回路 13t データ転送回路
13m メモリ 130 バイパス制御回路
1301 バイパスモードチェック部 1302 先出フラグ
131 入力パケット解析部 132 書き込み制御回路
133 完了報告制御回路 134 出力パケット生成部
14p パケット制御回路 14t データ転送回路
14m メモリ 14e プログラム実行回路
140 バイパス制御回路
1401 バイパスモードチェック部 1402 バイパス実行フラグ
141 入力パケット解析部 142 読み出し制御回路
143 完了報告制御回路 144 出力パケット生成部
100 バイパスバッファ制御回路
101 バイパスバッファ 102,103 バイパスモードチェック回路
104 データチェック回路 105 第1切替部
106 第2切替部 107 バイパスリクエストキュー制御回路
108 バイパスリクエストキュー 109 バイパスリクエストポート
110 アドレス比較回路 111 第1調停回路
112 第2調停回路 113 完了報告制御回路
150a,150b,150c,150d,150e,150f パケット制御回路
1a,
5a, 5b I /
11
Claims (6)
メインメモリと、
第1制御回路と、
第2制御回路と、
第3制御回路と、
を有する情報処理装置であって、
前記第1制御回路は、
前記プロセッサから受信した、前記情報処理装置に接続された第1記憶装置からデータを読み出すための第1読出命令が、所定の情報を含むか判定する第1判定部と、
前記第1読出命令が前記所定の情報を含むと前記第1判定部により判定された場合、読み出しが完了したことを示す完了報告を、当該読み出しが完了する前に前記プロセッサに送信すると共に、前記第1記憶装置から読み出した前記データと前記所定の情報とを含む、読み出した前記データを前記メインメモリに書き込むための第1書込命令を前記第3制御回路に送信する第1送信部と
を有し、
前記第2制御回路は、
前記プロセッサから受信した、前記情報処理装置に接続された第2記憶装置に前記データを書き込むための第2書込命令が、前記所定の情報を含むか判定する第2判定部と、
前記第2書込命令が前記所定の情報を含むと前記第2判定部により判定された場合、前記所定の情報を含む、前記データを前記メインメモリから読み出すための第2読出命令を前記第3制御回路に送信する第2送信部と、
を有し、
前記第3制御回路は、
前記第1制御回路から受信した前記第1書込命令が前記所定の情報を含む場合、前記第1書込命令を、前記第3制御回路の第1記憶領域に格納する第1格納処理部と、
前記第2制御回路から受信した前記第2読出命令が前記所定の情報を含む場合、前記第2読出命令を、前記第3制御回路の第2記憶領域に格納する第2格納処理部と、
前記第1記憶領域に格納された前記第1書込命令に含まれる前記メインメモリのアドレスと、前記第2記憶領域に格納された前記第2読出命令に含まれる前記メインメモリのアドレスとが一致する場合、前記第1記憶領域に格納された前記データを読み出し、前記データを前記第2制御回路に送信する第3送信部と、
を有する情報処理装置。 A processor;
Main memory,
A first control circuit;
A second control circuit;
A third control circuit;
An information processing apparatus having
The first control circuit includes:
A first determination unit that determines whether or not a first read command received from the processor for reading data from a first storage device connected to the information processing device includes predetermined information;
When the first determination unit determines that the first read instruction includes the predetermined information, a completion report indicating that the read is completed is transmitted to the processor before the read is completed, and the A first transmission unit configured to transmit a first write command including the data read from the first storage device and the predetermined information to write the read data to the main memory to the third control circuit; Have
The second control circuit includes:
A second determination unit that determines whether a second write command for writing the data to the second storage device connected to the information processing device received from the processor includes the predetermined information;
When the second determination unit determines that the second write instruction includes the predetermined information, a second read instruction for reading the data including the predetermined information from the main memory is the third A second transmitter for transmitting to the control circuit;
Have
The third control circuit includes:
A first storage processing unit that stores the first write command in a first storage area of the third control circuit when the first write command received from the first control circuit includes the predetermined information; ,
A second storage processing unit for storing the second read command in a second storage area of the third control circuit when the second read command received from the second control circuit includes the predetermined information;
The address of the main memory included in the first write instruction stored in the first storage area matches the address of the main memory included in the second read instruction stored in the second storage area A third transmitter for reading the data stored in the first storage area and transmitting the data to the second control circuit;
An information processing apparatus.
前記第3制御回路から前記データを受信し、受信した前記データを前記第2記憶装置に書き込む書込部
をさらに有する請求項1記載の情報処理装置。 The second control circuit includes:
The information processing apparatus according to claim 1, further comprising: a writing unit that receives the data from the third control circuit and writes the received data to the second storage device.
前記第1制御回路から受信した前記第1書込命令が前記所定の情報を含まない場合、受信した前記第1書込命令に含まれる前記データを前記メインメモリに格納し、
前記第2格納処理部は、
前記第2制御回路から受信した前記第2読出命令が前記所定の情報を含まない場合、前記第2読出命令に従って前記データを前記メインメモリから読み出し、
前記第3送信部は、
前記メインメモリから読み出した前記データを前記第2制御回路に送信する、
請求項1又は2記載の情報処理装置。 The first storage processing unit
When the first write command received from the first control circuit does not include the predetermined information, the data included in the received first write command is stored in the main memory;
The second storage processing unit
When the second read command received from the second control circuit does not include the predetermined information, the data is read from the main memory according to the second read command,
The third transmitter is
Transmitting the data read from the main memory to the second control circuit;
The information processing apparatus according to claim 1 or 2.
前記第1記憶領域に格納された前記データと、前記メインメモリから読み出した前記データとの両方が存在する場合、いずれが前回送信されたかに基づき、いずれを次に送信するか決定する、
請求項3記載の情報処理装置。 The third transmitter is
If both the data stored in the first storage area and the data read from the main memory exist, determine which to transmit next based on which was transmitted last time;
The information processing apparatus according to claim 3.
前記プロセッサから受信した、前記情報処理装置に接続された第1記憶装置からデータを読み出すための読出命令が、所定の情報を含むか判定する判定部と、
前記読出命令が前記所定の情報を含むと前記判定部により判定された場合、読み出しが完了したことを示す完了報告を、当該読み出しが完了する前に前記プロセッサに送信する送信部と、
を有する制御回路。 The control circuit of the information processing apparatus having a processor and a control circuit,
A determination unit that determines whether a read command received from the processor for reading data from a first storage device connected to the information processing device includes predetermined information;
When the determination unit determines that the read instruction includes the predetermined information, a transmission unit that transmits a completion report indicating that the read is complete to the processor before the read is completed;
A control circuit.
データを含み且つ前記メインメモリに前記データを書き込むための書込命令が、所定の情報をさらに含む場合、前記書込命令を、前記制御回路の第1記憶領域に格納する第1格納処理部と、
前記メインメモリから前記データを読み出すための読出命令が前記所定の情報を含む場合、前記読出命令を、前記制御回路の第2記憶領域に格納する第2格納処理部と、
前記第1記憶領域に格納された前記書込命令に含まれる前記メインメモリのアドレスと、前記第2記憶領域に格納された前記読出命令に含まれる前記メインメモリのアドレスとが一致する場合、前記第1記憶領域に格納された前記データを読み出し、前記データを送信する送信部と、
を有する制御回路。 The control circuit of the information processing apparatus having a processor, a main memory, and a control circuit,
A first storage processing unit for storing the write instruction in a first storage area of the control circuit, when the write instruction for writing the data to the main memory further includes predetermined information; ,
A second storage processing unit that stores the read command in a second storage area of the control circuit when a read command for reading the data from the main memory includes the predetermined information;
When the address of the main memory included in the write instruction stored in the first storage area matches the address of the main memory included in the read instruction stored in the second storage area, A transmitter that reads the data stored in the first storage area and transmits the data;
A control circuit.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016102531A JP6743482B2 (en) | 2016-05-23 | 2016-05-23 | Information processing system, information processing device, and control circuit |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016102531A JP6743482B2 (en) | 2016-05-23 | 2016-05-23 | Information processing system, information processing device, and control circuit |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2017211708A true JP2017211708A (en) | 2017-11-30 |
JP6743482B2 JP6743482B2 (en) | 2020-08-19 |
Family
ID=60475476
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016102531A Active JP6743482B2 (en) | 2016-05-23 | 2016-05-23 | Information processing system, information processing device, and control circuit |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6743482B2 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113709061A (en) * | 2021-07-23 | 2021-11-26 | 合肥忆芯电子科技有限公司 | Message forwarding method and circuit |
-
2016
- 2016-05-23 JP JP2016102531A patent/JP6743482B2/en active Active
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113709061A (en) * | 2021-07-23 | 2021-11-26 | 合肥忆芯电子科技有限公司 | Message forwarding method and circuit |
Also Published As
Publication number | Publication date |
---|---|
JP6743482B2 (en) | 2020-08-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5983484B2 (en) | Information processing system, control program for controlling information processing apparatus, and control method for information processing system | |
JP5351130B2 (en) | System and method for operating mixed types of memory devices | |
CN107526534B (en) | Method and apparatus for managing input/output (I/O) of storage device | |
JP2014535104A (en) | Flash memory controller and data transfer method between flash memories | |
KR20100085564A (en) | Data processing system and data processing method thereof | |
JP5287301B2 (en) | Descriptor transfer device, I / O controller, and descriptor transfer method | |
JP2005182485A (en) | Serial transmission controller, computer system, and serial transmission control method | |
JP6743482B2 (en) | Information processing system, information processing device, and control circuit | |
TW200811660A (en) | Method of requests access and scheduling and related apparatus thereof | |
US20100042756A1 (en) | Data transfer device | |
JP4779010B2 (en) | Buffering device and buffering method | |
JP6337606B2 (en) | Information processing apparatus, route determination method, and program | |
US8909823B2 (en) | Data processing device, chain and method, and corresponding recording medium for dividing a main buffer memory into used space and free space | |
JP7103162B2 (en) | Arithmetic processing unit and control method of arithmetic processing unit | |
US9141563B2 (en) | Memory system | |
JP2011113163A (en) | Inter-end point communication control device and method in io access communication system | |
JP2006031123A (en) | Usb memory device and usb memory device control program | |
CN107025190A (en) | System and its operating method | |
JP2008033657A (en) | Memory control device, information processor and memory control method | |
JP2012199767A (en) | Electronic circuit system | |
US20230176932A1 (en) | Processor, information processing apparatus, and information processing method | |
JP6384359B2 (en) | Information processing apparatus having distributed shared memory, method, and program | |
JP5439742B2 (en) | System controller, semiconductor device, and interface test method | |
JP6940283B2 (en) | DMA transfer control device, DMA transfer control method, and DMA transfer control program | |
CN115114215A (en) | High-speed peripheral component interconnection interface device and operation method thereof |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20190212 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20191126 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20200107 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20200306 |
|
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: 20200630 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20200713 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6743482 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |