JP6558008B2 - Transfer device, transfer system, and program - Google Patents

Transfer device, transfer system, and program Download PDF

Info

Publication number
JP6558008B2
JP6558008B2 JP2015059372A JP2015059372A JP6558008B2 JP 6558008 B2 JP6558008 B2 JP 6558008B2 JP 2015059372 A JP2015059372 A JP 2015059372A JP 2015059372 A JP2015059372 A JP 2015059372A JP 6558008 B2 JP6558008 B2 JP 6558008B2
Authority
JP
Japan
Prior art keywords
request
area
data
communication path
memory controller
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2015059372A
Other languages
Japanese (ja)
Other versions
JP2016177751A (en
Inventor
晃 三角
晃 三角
貴之 橋本
貴之 橋本
杉山 雄一
雄一 杉山
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox Co Ltd
Fujifilm Business Innovation Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fuji Xerox Co Ltd, Fujifilm Business Innovation Corp filed Critical Fuji Xerox Co Ltd
Priority to JP2015059372A priority Critical patent/JP6558008B2/en
Publication of JP2016177751A publication Critical patent/JP2016177751A/en
Application granted granted Critical
Publication of JP6558008B2 publication Critical patent/JP6558008B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、転送装置、転送システムおよびプログラムに関する。   The present invention relates to a transfer device, a transfer system, and a program.

特許文献1には、キャッシュとメインメモリ間のデータ転送を監視して、アクセスされたメインメモリのアドレスを判定し、データ転送の経路を選択する技術が開示されている。   Patent Document 1 discloses a technique for monitoring data transfer between a cache and a main memory, determining an address of the accessed main memory, and selecting a data transfer path.

特開2008−140078号公報Japanese Patent Laid-Open No. 2008-140078

本発明は、複数の装置に共有される記憶内容の一貫性の維持と、これらの装置の処理速度の向上とを両立させることを目的とする。   An object of the present invention is to achieve both the maintenance of the consistency of the storage contents shared by a plurality of devices and the improvement of the processing speed of these devices.

本発明の請求項1に係る転送装置は、共有メモリ内の複数に区分された領域のうち、指定された領域に対して読み書きを行うメモリコントローラと通信する第1通信路と、一以上の演算装置からの要求を調停して、該要求に基づいて前記メモリコントローラに対して前記共有メモリ内の領域を指定して読み書きの要求をする調停装置と通信する第2通信路と、要求装置から前記共有メモリに格納されたデータの要求を受付ける受付手段と、前記調停装置から前記メモリコントローラに対して出力された要求を監視して、該要求で指定された領域への書き込み処理が完了していない場合に、該領域を登録する登録手段と、前記要求装置の要求が、前記登録手段により登録された領域に対するものでない場合に、前記第1通信路経由で前記メモリコントローラから前記データを取得し、該要求が該領域に対するものである場合に、前記第2通信路経由で前記調停装置から前記データを取得する取得手段と、前記取得したデータを前記要求装置に転送する転送手段と、を有し、前記登録手段は、前記要求が読み出し処理のための要求であり、かつ、該要求で指定された領域が登録されていない場合に、該領域を登録し、該要求が書き込み処理のための要求である場合に、該要求で指定された領域への書き込み処理の回数を計数し、該回数が閾値に達した場合に、書き込み処理が完了したものとして、該領域を解放することを特徴とする。 The transfer device according to claim 1 of the present invention includes a first communication path that communicates with a memory controller that reads and writes to a specified area among a plurality of areas in the shared memory, and one or more operations A second communication path that communicates with an arbitration device that arbitrates a request from a device, designates an area in the shared memory to the memory controller based on the request, and requests read / write; The accepting means for accepting a request for data stored in the shared memory and the request output from the arbitration device to the memory controller are monitored, and the writing process to the area designated by the request is not completed. A registration means for registering the area and the request via the first communication path when the request from the requesting device is not for the area registered by the registration means. Acquiring the data from the controller, and when the request is for the area, acquiring means for acquiring the data from the arbitrating device via the second communication path, and transferring the acquired data to the requesting device possess a transferring means for the said registering means, the request is a request for reading processing, and, when the area specified by the request is not registered, register the region, the When the request is a request for write processing, the number of times of write processing to the area specified by the request is counted, and when the number of times reaches a threshold, it is assumed that the write processing is completed. It is characterized by releasing .

本発明の請求項に係る転送システムは、上述の転送装置と、前記転送装置と前記第1通信路経由で通信し、共有メモリ内の指定された領域に対して読み書きを行うメモリコントローラと、装置間の要求を調停する装置であって、前記転送装置と前記第2通信路経由で通信し、一以上の演算装置からの要求に基づいて前記メモリコントローラに対して前記共有メモリ内の領域を指定して読み書きの要求をする調停装置と、前記転送装置に対して前記共有メモリに格納されたデータの要求を送る要求装置と、を有する。 A transfer system according to a second aspect of the present invention includes the above-described transfer device, a memory controller that communicates with the transfer device via the first communication path, and reads / writes from / to a specified area in the shared memory, A device that arbitrates requests between devices, communicates with the transfer device via the second communication path, and allocates an area in the shared memory to the memory controller based on a request from one or more arithmetic devices. An arbitration device that designates a read / write request and a request device that sends a request for data stored in the shared memory to the transfer device.

本発明の請求項に係るプログラムは、共有メモリ内の複数に区分された領域のうち、指定された領域に対して読み書きを行うメモリコントローラと通信する第1通信路と、一以上の演算装置からの要求を調停して、該要求に基づいて前記メモリコントローラに対して前記共有メモリ内の領域を指定して読み書きの要求をする調停装置と通信する第2通信路と、を有するコンピュータを、要求装置から前記共有メモリに格納されたデータの要求を受付ける受付手段と、前記調停装置から前記メモリコントローラに対して出力された要求を監視して、該要求で指定された領域への書き込み処理が完了していない場合に、該領域を登録する登録手段と、前記要求装置の要求が、前記登録手段により登録された領域に対するものでない場合に、前記第1通信路経由で前記メモリコントローラから前記データを取得し、該要求が該領域に対するものである場合に、前記第2通信路経由で前記調停装置から前記データを取得する取得手段と、前記取得したデータを前記要求装置に転送する転送手段として機能させるとともに、前記登録手段が、前記要求が読み出し処理のための要求であり、かつ、該要求で指定された領域が登録されていない場合に、該領域を登録し、該要求が書き込み処理のための要求である場合に、該要求で指定された領域への書き込み処理の回数を計数し、該回数が閾値に達した場合に、書き込み処理が完了したものとして、該領域を解放するように、前記コンピュータを機能させるためのプログラムである。 According to a third aspect of the present invention, a program includes a first communication path that communicates with a memory controller that reads from and writes to a specified area among a plurality of areas in the shared memory, and one or more arithmetic devices A second communication path that communicates with an arbitration device that arbitrates a request from the network and designates an area in the shared memory to the memory controller based on the request and requests read / write, A receiving unit that receives a request for data stored in the shared memory from a requesting device; and a request that is output from the arbitrating device to the memory controller, and a write process to an area specified by the request is performed If not completed, the registration means for registering the area, and the request of the requesting device is not for the area registered by the registration means, Acquiring the data from the memory controller via one communication path, and acquiring the data from the arbitration device via the second communication path when the request is for the area; In addition to functioning as transfer means for transferring data to the requesting device, the registration means, when the request is a request for read processing and the area specified in the request is not registered, When an area is registered and the request is a request for write processing, the number of write processes to the area specified by the request is counted, and when the number reaches the threshold, the write process is completed. As a result, it is a program for causing the computer to function so as to release the area .

請求項1−3に係る発明によれば、複数の装置に共有される記憶内容の一貫性の維持と、これらの装置の処理速度の向上とを両立させることができる。
また、請求項1−3に係る発明によれば、書き込み回数を計数しない場合に比べて、登録される領域の数が抑制される。
According to the first and third aspects of the present invention, it is possible to achieve both maintenance of consistency of stored contents shared by a plurality of devices and improvement in processing speed of these devices.
Further , according to the first to third aspects of the invention, the number of registered areas is suppressed as compared with the case where the number of times of writing is not counted.

本実施形態に係る転送システムの全体構成を示す図。The figure which shows the whole structure of the transfer system which concerns on this embodiment. 転送装置の機能的構成を示す図。The figure which shows the functional structure of a transfer apparatus. 管理表の例を示す図。The figure which shows the example of a management table. 共有メモリを説明するための図。The figure for demonstrating a shared memory. 転送システムの動作を示すシーケンス図。The sequence diagram which shows operation | movement of a transfer system. 転送装置における登録処理の動作を示すフロー図。The flowchart which shows operation | movement of the registration process in a transfer apparatus. 変形例における管理表の例を示す図。The figure which shows the example of the management table | surface in a modification. 変形例における共有メモリを説明するための図。The figure for demonstrating the shared memory in a modification. 変形例における転送装置の登録処理の動作を示すフロー図。The flowchart which shows operation | movement of the registration process of the transfer apparatus in a modification.

1.実施形態
1−1.転送システムの全体構成
図1は、本実施形態に係る転送システム9の全体構成を示す図である。図1に示すように、転送システム9は、転送装置1と、メモリコントローラ3と、調停バス5と、要求装置7とを有する。また、転送システム9は、共有メモリ2と、一以上の演算装置4と、内部バス6と、を有する。
1. Embodiment 1-1. Overall Configuration of Transfer System FIG. 1 is a diagram showing an overall configuration of a transfer system 9 according to the present embodiment. As shown in FIG. 1, the transfer system 9 includes a transfer device 1, a memory controller 3, an arbitration bus 5, and a request device 7. The transfer system 9 includes a shared memory 2, one or more arithmetic devices 4, and an internal bus 6.

共有メモリ2は、転送システム9を構成する装置間で共有されるメモリであって、メモリコントローラ3によって読み書きが行われるメモリである。共有メモリ2の記憶容量は、例えば8ギガバイトである。共有メモリ2は、決められたデータ量ごとに複数のエリア(領域)に予め区分されている。   The shared memory 2 is a memory shared between devices constituting the transfer system 9 and is a memory that is read and written by the memory controller 3. The storage capacity of the shared memory 2 is 8 gigabytes, for example. The shared memory 2 is divided into a plurality of areas (areas) in advance for each determined data amount.

メモリコントローラ3は、共有メモリ2内の指定されたエリアに対して読み書きを行う制御装置である。メモリコントローラ3は、転送装置1と第1通信路P1経由で通信する。また、メモリコントローラ3は、調停バス5から読み書きの要求を受ける。この要求は転送装置1により監視される。   The memory controller 3 is a control device that reads and writes a specified area in the shared memory 2. The memory controller 3 communicates with the transfer device 1 via the first communication path P1. The memory controller 3 receives a read / write request from the arbitration bus 5. This request is monitored by the transfer device 1.

調停バス5は、キャッシュ・コヒーレント・インターコネクト(CCI)バスなどと呼ばれるものであり、演算装置4の要求を調停する装置(調停装置)として機能する。ここで「調停」とは、複数の要求を受けて、それらの要求に対して、対象となるデータの所在を特定したり、処理する順序を割当てて各要求の要求元をその要求の処理が実行されるまで待機させたりすることをいう。   The arbitration bus 5 is called a cache coherent interconnect (CCI) bus or the like, and functions as a device (arbitration device) that arbitrates requests from the arithmetic device 4. Here, “arbitration” means that when multiple requests are received, the location of the target data is specified for those requests, the processing order is assigned, and the request source of each request is processed. It means to make it wait until it is executed.

調停バス5は、転送装置1と第2通信路P2経由で通信し、一以上の演算装置4からの要求に基づいてメモリコントローラ3に対して共有メモリ2内のエリアを指定して読み書きの要求をする。調停バス5は、共有メモリ2内に記憶されているデータと、共有メモリ2から演算装置4のキャッシュメモリに読み出されたデータとの一貫性(コヒーレンシ)を維持するように動作する。   The arbitration bus 5 communicates with the transfer device 1 via the second communication path P2, and designates an area in the shared memory 2 with respect to the memory controller 3 based on a request from one or more arithmetic devices 4, and reads / writes are requested. do. The arbitration bus 5 operates to maintain consistency (coherency) between the data stored in the shared memory 2 and the data read from the shared memory 2 to the cache memory of the arithmetic device 4.

調停バス5は、一以上の演算装置4からの要求に加えて転送装置1からの要求も受付けるため、これらの要求の処理を管理する待ち行列を記憶する一時記憶領域を有する。要求の発生量に要求の処理速度が追いつかなくなると待ち行列が渋滞し、要求した処理が実行されるまでに時間がかかる場合がある。   Since the arbitration bus 5 accepts requests from the transfer device 1 in addition to requests from one or more arithmetic devices 4, the arbitration bus 5 has a temporary storage area for storing a queue for managing the processing of these requests. If the request processing speed cannot keep up with the amount of requests generated, the queue may be congested and it may take some time for the requested processing to be executed.

演算装置4は、調停バス5を介してメモリコントローラ3に対して共有メモリ2内のエリアを指定して読み書きの要求をする装置である。図1に示す演算装置4は、2つであり、演算に用いる一時的な記憶領域としてそれぞれキャッシュメモリ41が備えられている。キャッシュメモリ41の記憶容量は、例えば1メガバイトである。   The arithmetic device 4 is a device for requesting reading and writing by designating an area in the shared memory 2 to the memory controller 3 via the arbitration bus 5. The number of the arithmetic devices 4 shown in FIG. 1 is two, and each has a cache memory 41 as a temporary storage area used for arithmetic operations. The storage capacity of the cache memory 41 is, for example, 1 megabyte.

要求装置7は、ダイレクト・メモリ・アクセス(DMA)などと呼ばれる装置であり、転送装置1に対して共有メモリ2に格納されたデータの読み出し要求を送る装置である。
転送装置1は、要求装置7からの要求の内容に応じてデータの要求先を決めてそのデータを取得し、取得したそのデータを要求装置7に転送する装置である。
内部バス6は、要求装置7と転送装置1との情報伝達を中継するバスである。
The requesting device 7 is a device called direct memory access (DMA) or the like, and is a device that sends a read request for data stored in the shared memory 2 to the transfer device 1.
The transfer device 1 is a device that determines the data request destination according to the content of the request from the requesting device 7, acquires the data, and transfers the acquired data to the requesting device 7.
The internal bus 6 is a bus that relays information transmission between the requesting device 7 and the transfer device 1.

1−2.転送装置の構成
転送装置1は、演算処理装置や、ROM(Read Only Memory)、RAM(Random Access Memory)などの記憶装置を必要に応じて備える。
1-2. Configuration of Transfer Device The transfer device 1 includes an arithmetic processing device and a storage device such as a ROM (Read Only Memory) and a RAM (Random Access Memory) as necessary.

図2は、転送装置1の機能的構成を示す図である。転送装置1は、受付部11、登録部12、取得部13、転送部14、監視部15、および記憶部16として機能する。   FIG. 2 is a diagram illustrating a functional configuration of the transfer apparatus 1. The transfer device 1 functions as a reception unit 11, a registration unit 12, an acquisition unit 13, a transfer unit 14, a monitoring unit 15, and a storage unit 16.

監視部15は、調停バス5からメモリコントローラ3へ伝えられた演算装置4の要求を監視する。
登録部12は、監視部15により監視された要求で指定されたエリアへの書き込み処理が完了しているか否かを調べ、完了していない場合に、このエリアを記憶部16の管理表161に登録する。
The monitoring unit 15 monitors the request of the arithmetic device 4 transmitted from the arbitration bus 5 to the memory controller 3.
The registration unit 12 checks whether or not the writing process to the area specified by the request monitored by the monitoring unit 15 is completed. If the registration processing is not completed, the registration unit 12 stores the area in the management table 161 of the storage unit 16. sign up.

記憶部16は、上述したROMやRAMなどの記憶装置を含み、管理表161を記憶する。   The storage unit 16 includes a storage device such as the above-described ROM or RAM, and stores a management table 161.

図3は、管理表161の例を示す図である。管理表161は、監視部15によって監視された要求で指定されたエリアへの書き込み処理が完了していない場合に、その要求で指定されたエリアを登録する表である。図3(a)に示す通り、読み出しのための要求で指定された共有メモリ2内のエリアは、それぞれ固有の番号が付され、そのエリアの開始位置(SP)と書き込み回数(CT)とを含むレコードで記述される。書き込み回数とは、演算装置4が指定したエリアにデータを書き込んだ回数を示す。   FIG. 3 is a diagram illustrating an example of the management table 161. The management table 161 is a table for registering the area specified by the request when the writing process to the area specified by the request monitored by the monitoring unit 15 is not completed. As shown in FIG. 3A, each area in the shared memory 2 designated by the request for reading is assigned a unique number, and the start position (SP) and the number of times of writing (CT) of the area are indicated. Described in the record that contains it. The number of times of writing indicates the number of times data is written in the area designated by the arithmetic unit 4.

演算装置4は、キャッシュメモリ41から共有メモリ2へデータを書き出す要求をするとき、指定したエリアの開始位置から書き込み処理を開始し、次にそのエリアへの書き込み処理を再開するときには、そのエリアに対して前回、書き込み処理がされた位置に続けて書き込むように要求する。したがって、書き込み処理はエリア内の開始位置ではない途中から開始されることはなく、エリア内で書き込み処理が完了した部分が2箇所以上に分離、遍在することはない。ただし、或るエリアに対する書き込み処理の途中で、他のエリアに対する書き込み処理が割り込まれることはあってもよい。管理表161に記述されるレコードの上限はn個である。   When the arithmetic unit 4 makes a request to write data from the cache memory 41 to the shared memory 2, it starts the writing process from the start position of the designated area, and then resumes the writing process to that area. On the other hand, a request is made to continue writing at the position where the previous writing process was performed. Therefore, the writing process does not start from the middle of the area, which is not the starting position, and the part where the writing process is completed in the area is not separated and ubiquitous. However, the writing process for another area may be interrupted during the writing process for a certain area. The upper limit of records described in the management table 161 is n.

なお、エリアを示すレコードは、開始位置と書き込み回数との組合せで記述されるとは限らず、例えば、図3(b)に示す通り、開始位置(SP)と完了位置(EP)との組合せにより記述されてもよい。完了位置とは、監視部15によって要求が監視されたときまでに書き出されたデータ量の累計を開始位置に加算した値で示される。したがって、完了位置は、エリアへの書き込み処理の回数に応じた値の一例である。エリアに対する読み出し処理が行われた後、書き込み処理が行われていない場合、そのレコードの完了位置には、例えば開始位置と共通の位置が記入されるか、利用不可の値を示す「N/A」が記入される。   Note that the record indicating the area is not always described by the combination of the start position and the number of times of writing. For example, as shown in FIG. 3B, the combination of the start position (SP) and the completion position (EP). May be described. The completion position is indicated by a value obtained by adding the total amount of data written up to when the request is monitored by the monitoring unit 15 to the start position. Therefore, the completion position is an example of a value corresponding to the number of times of writing processing to the area. If the write process is not performed after the read process is performed on the area, for example, a position common to the start position is written in the completion position of the record, or “N / A” indicating an unusable value is indicated. Is entered.

また、図3に破線で示す通り、各レコードには、エリアに対応付けられた通信路の識別情報を記述するフィールドが設けられていてもよい。これは、レコードが示すエリアに対するデータの要求が要求装置7から送られたときに、いずれの通信路を経由してデータを取得すべきかを示すフィールドである。このフィールドには、レコードが示すエリアへの書き込み処理が完了した場合であれば第1通信路P1が、それ以外の場合であれば第2通信路P2が、それぞれ登録部12により記述される。   Further, as indicated by a broken line in FIG. 3, each record may be provided with a field describing the identification information of the communication path associated with the area. This is a field indicating via which communication path data should be acquired when a request for data for the area indicated by the record is sent from the requesting device 7. In this field, the registration unit 12 describes the first communication path P1 if the writing process to the area indicated by the record is completed, and the second communication path P2 otherwise.

例えば、転送装置1は、或るエリアに対する書き込み回数が決められた閾値に達すると、書き込み処理が完了したと判断して上記のフィールドに第1通信路P1を記述し、それ以外の場合には、書き込み処理が完了していないと判断して上記のフィールドに第2通信路P2を記述する。   For example, when the number of times of writing to a certain area reaches a predetermined threshold, the transfer apparatus 1 determines that the writing process has been completed, and describes the first communication path P1 in the above field. Therefore, it is determined that the writing process is not completed, and the second communication path P2 is described in the above field.

或るエリアに対する書き込み回数が決められた閾値に達してから、そのエリアを示すレコードが管理表161から削除されるまで、すなわち、そのエリアが管理表161において解放されるまでの期間に、要求装置7からの要求がない場合、または、その要求が待機させられる場合には、このフィールドはなくてもよい。   The requesting device is used in a period until the record indicating the area is deleted from the management table 161, that is, until the area is released in the management table 161 after the number of times of writing to the area reaches a predetermined threshold. If there is no request from 7, or if the request is queued, this field may not be present.

図4は、共有メモリ2を説明するための図である。図4の一行目は共有メモリの全体を示している。上述した通り共有メモリ2は、決められたデータ量ごとに複数のエリアに区分されている。図4に示す共有メモリ2は、番号「1」から「m」までが割当てられたm個のエリアに区分されている。   FIG. 4 is a diagram for explaining the shared memory 2. The first line in FIG. 4 shows the entire shared memory. As described above, the shared memory 2 is divided into a plurality of areas for each determined data amount. The shared memory 2 shown in FIG. 4 is divided into m areas to which numbers “1” to “m” are assigned.

なお、管理表161のレコードの上限nは、共有メモリ2のエリアの数m以下である(m≧n)。調停バス5における割り込みの上限が定められている場合、管理表161のレコードの上限nは、その割り込みの上限に応じて定められていてもよい。   The upper limit n of records in the management table 161 is equal to or less than the number m of areas in the shared memory 2 (m ≧ n). When the upper limit of the interrupt in the arbitration bus 5 is determined, the upper limit n of the record in the management table 161 may be determined according to the upper limit of the interrupt.

図4の2行目は1つのエリアを示している。1つのエリアは決められた数の最小単位を含む。1つのエリアは、演算装置4のキャッシュメモリ41に相当する記憶容量を有するように構成されてもよい。   The second line in FIG. 4 shows one area. An area includes a fixed number of minimum units. One area may be configured to have a storage capacity corresponding to the cache memory 41 of the arithmetic device 4.

図4に示すエリアは、「0」から「k−1」までの「k」個の最小単位を含む。図4に示すエリアのうち、斜線を付した部分は、書き込み処理が完了した範囲を示す。したがって、図4に示す番号「2」のエリアは、書き込み回数が3回であり、開始位置から3つ分の最小単位について書き込み処理が完了している。   The area shown in FIG. 4 includes “k” minimum units from “0” to “k−1”. In the area shown in FIG. 4, the hatched portion indicates the range where the writing process is completed. Therefore, in the area with the number “2” shown in FIG. 4, the number of times of writing is 3, and the writing process is completed for the minimum unit of 3 from the start position.

図4の3行目は1つの最小単位を示している。最小単位とは、メモリコントローラ3による一回の書き込み処理で、演算装置4のキャッシュメモリ41から共有メモリ2へ書き出されるデータであり、そのデータ量は例えば16バイトである。したがって、1つの最小単位内のデータは、全て書き込み処理が完了しているか、完了していないかのいずれかであり、1つの最小単位内で書き込み処理が完了しているデータと、完了していないデータとが共存するということはない。なお、共有メモリ2内のデータの位置は、バイト単位で記述される。   The third line in FIG. 4 shows one minimum unit. The minimum unit is data written to the shared memory 2 from the cache memory 41 of the arithmetic device 4 in one writing process by the memory controller 3, and the amount of data is, for example, 16 bytes. Therefore, all the data in one minimum unit is either completed or not completed, and the data that has been completed in one minimum unit is completed. There is no coexistence with no data. Note that the position of data in the shared memory 2 is described in units of bytes.

受付部11は、内部バス6を介して要求装置7から共有メモリ2に格納されたデータの要求を受付ける。受付部11は、このデータの要求を受付けると、その要求を取得部13に渡す。   The accepting unit 11 accepts a request for data stored in the shared memory 2 from the requesting device 7 via the internal bus 6. When receiving the data request, the receiving unit 11 passes the request to the acquiring unit 13.

取得部13は、受付部11が受付けた要求と、管理表161の登録内容とに基づいて、要求装置からの要求が登録されたエリアに対するものであるか否かを判断する。そして、取得部13は、その判断結果に応じて調停バス5およびメモリコントローラ3のいずれか一方をデータの要求先として選択し、選択したその要求先からデータを取得する。   The acquiring unit 13 determines whether the request from the requesting device is for the registered area based on the request received by the receiving unit 11 and the registered content of the management table 161. Then, the acquisition unit 13 selects one of the arbitration bus 5 and the memory controller 3 as a data request destination according to the determination result, and acquires data from the selected request destination.

取得部13は、判断の結果、要求装置7からの要求が管理表161に登録されたエリアに対するものでないと判断する場合に、第1通信路P1経由でメモリコントローラ3からデータを取得する。一方、取得部13は、要求装置7からの要求が管理表161に登録されたエリアに対するものであると判断する場合に、第2通信路P2経由で調停バス5からデータを取得する。
転送部14は、取得部13が取得したデータを、内部バス6経由で要求装置7に転送する。
If the determination unit 13 determines that the request from the requesting device 7 is not for the area registered in the management table 161 as a result of the determination, the acquisition unit 13 acquires data from the memory controller 3 via the first communication path P1. On the other hand, when determining that the request from the requesting device 7 is for the area registered in the management table 161, the acquiring unit 13 acquires data from the arbitration bus 5 via the second communication path P2.
The transfer unit 14 transfers the data acquired by the acquisition unit 13 to the requesting device 7 via the internal bus 6.

1−3.転送システムの動作
図5は、転送システム9の動作を示すシーケンス図である。転送装置1は、電源が供給された直後の初期状態において、要求装置7から要求されたデータを第1通信路P1経由でメモリコントローラ3から取得するように設定されている。
1-3. Operation of Transfer System FIG. 5 is a sequence diagram showing the operation of the transfer system 9. The transfer device 1 is set to acquire data requested from the requesting device 7 from the memory controller 3 via the first communication path P1 in an initial state immediately after the power is supplied.

いずれかの演算装置4から要求を受けた調停バス5は、その要求に基づいてメモリコントローラ3に対して共有メモリ2内のエリアを指定して読み書きの要求をする(ステップS001)。転送装置1は、ステップS001のこの要求を監視する(ステップS002)。そして、転送装置1は、この要求で指定されたエリアへの書き込み処理が完了していない場合に、このエリアを登録する(ステップS100)。この登録処理については後述する。   The arbitration bus 5 that has received a request from any of the arithmetic devices 4 makes a read / write request to the memory controller 3 by designating an area in the shared memory 2 based on the request (step S001). The transfer device 1 monitors this request in step S001 (step S002). Then, the transfer device 1 registers this area when the writing process to the area designated by this request is not completed (step S100). This registration process will be described later.

次に、要求装置7が転送装置1に対して、共有メモリ2内のいずれかのエリアを指定してデータの読み出しを要求すると(ステップS011)、この要求を受付けた転送装置1は、この要求の内容と、ステップS100で登録した内容とに応じて、データの要求先を選択し(ステップS012)、メモリコントローラ3または調停バス5のいずれかから(図5に実線で示す例ではメモリコントローラ3から)、要求装置7が要求したエリアのデータを取得する(ステップS013)。そして、転送装置1は、取得したデータを要求装置7に転送する(ステップS014)。   Next, when the requesting device 7 requests the transfer device 1 to read data by designating any area in the shared memory 2 (step S011), the transfer device 1 that has received this request And the contents registered in step S100 (step S012), and from either the memory controller 3 or the arbitration bus 5 (in the example shown by the solid line in FIG. 5, the memory controller 3). ), The data of the area requested by the requesting device 7 is acquired (step S013). Then, the transfer device 1 transfers the acquired data to the requesting device 7 (step S014).

1−4.転送装置の動作
(1)登録処理の動作
図6は、転送装置1の登録処理の動作を示すフロー図である。転送装置1は、調停バス5からメモリコントローラ3に対して出力された要求を監視して、演算装置4からのメモリコントローラ3に対する読み出し処理または書き込み処理の要求を検出したか否か判断する(ステップS101)。これらの要求を検出していないと判断する場合(ステップS101;NO)、転送装置1は、この判断を続ける。
1-4. Operation of Transfer Device (1) Operation of Registration Process FIG. 6 is a flowchart showing the operation of registration processing of the transfer device 1. The transfer device 1 monitors the request output from the arbitration bus 5 to the memory controller 3, and determines whether or not a request for read processing or write processing from the arithmetic device 4 to the memory controller 3 has been detected (step). S101). When determining that these requests are not detected (step S101; NO), the transfer apparatus 1 continues this determination.

一方、調停バス5からメモリコントローラ3への読み出し処理または書き込み処理の要求を検出したと判断する場合(ステップS101;YES)、転送装置1は、検出された要求で指定されたエリアを特定する(ステップS102)。そして、転送装置1は、この要求が読み出し処理のためのものであるか否かを判断し(ステップS103)、読み出し処理のためのものであると判断する場合には(ステップS103;YES)ステップS104へ、読み出し処理のためのものでない(すなわち、書き出し処理のためのものである)と判断する場合には(ステップS103;NO)ステップS106へ、それぞれ処理を進める。   On the other hand, when determining that a request for a read process or a write process from the arbitration bus 5 to the memory controller 3 has been detected (step S101; YES), the transfer device 1 identifies the area specified by the detected request (step S101: YES). Step S102). Then, the transfer device 1 determines whether or not the request is for reading processing (step S103), and if it is determined that the request is for reading processing (step S103; YES), step If it is determined that the processing is not for reading processing (that is, for writing processing) (step S103; NO), the processing proceeds to step S106.

ステップS104において、転送装置1は、ステップS102で特定したエリアが管理表161に登録されていない、つまり、新規のエリア(新規エリアという)であるか否か判断する(ステップS104)。特定した上述のエリアが新規エリアであると判断する場合(ステップS104;YES)、転送装置1は、このエリアを管理表161に登録する。これにより、この新規エリアは、要求装置7に要求されたときに第2通信路P2経由で調停バス5からデータを取得すべきエリアとして設定される。   In step S104, the transfer apparatus 1 determines whether the area specified in step S102 is not registered in the management table 161, that is, is a new area (referred to as a new area) (step S104). When determining that the identified area is a new area (step S104; YES), the transfer apparatus 1 registers this area in the management table 161. Thereby, this new area is set as an area where data should be acquired from the arbitration bus 5 via the second communication path P2 when requested by the requesting device 7.

一方、特定した上述のエリアが新規エリアでないと判断する場合(ステップS104;NO)、転送装置1は、ステップS105の登録を行わずに処理をステップS101に戻す。   On the other hand, if it is determined that the specified area is not a new area (step S104; NO), the transfer apparatus 1 returns the process to step S101 without performing the registration in step S105.

ステップS106において、転送装置1は、ステップS102で特定したエリアを管理表161から探し出し、このエリアが記述されたレコードの書き込み回数に「1」を加算する(ステップS106)。すなわち、転送装置1は、監視部15により書き込み処理の要求が監視されたときに、その要求で指定されたエリアへの書き込み処理の回数を計数する。   In step S106, the transfer apparatus 1 searches the management table 161 for the area specified in step S102, and adds “1” to the number of times of writing the record in which this area is described (step S106). In other words, when the monitoring unit 15 monitors a request for write processing, the transfer device 1 counts the number of times of write processing to the area specified by the request.

そして、転送装置1は、「1」が加算された後の書き込み回数に基づいて書き込み処理が完了したか否かを判断する(ステップS107)。この判断は、例えば、書き込み回数が決められた閾値に達しているか否かによって行われる。この決められた閾値とは、例えば、エリアのデータ量を最小単位で除算した値などであり、つまり、1つのエリアを全て上書きするために必要な書き込み処理の回数である。なお、図3におけるこの閾値は、16進数で「0xFFFF」と、10進数で「65535」と表記される数値である。   Then, the transfer device 1 determines whether or not the writing process has been completed based on the number of times of writing after “1” is added (step S107). This determination is made based on, for example, whether or not the write count has reached a predetermined threshold value. The determined threshold is, for example, a value obtained by dividing the data amount of the area by the minimum unit, that is, the number of write processes necessary for overwriting one area. Note that this threshold value in FIG. 3 is a numerical value expressed as “0xFFFF” in hexadecimal and “65535” in decimal.

書き込み処理が完了したと判断する場合(ステップS107;YES)、転送装置1は、上述のエリアを解放して(ステップS108)、処理をステップS101に戻す。すなわち、転送装置1は、書き込み回数が決められた閾値に達した場合に、書き込み処理が完了したものとして、そのエリアを解放する。   When determining that the writing process has been completed (step S107; YES), the transfer apparatus 1 releases the above-described area (step S108), and returns the process to step S101. That is, when the write count reaches a predetermined threshold value, the transfer device 1 releases the area on the assumption that the write process has been completed.

一方、書き込み処理が完了していないと判断する場合(ステップS107;NO)、転送装置1は、そのまま処理をステップS101に戻す。   On the other hand, when it is determined that the writing process is not completed (step S107; NO), the transfer apparatus 1 returns the process to step S101 as it is.

以上、説明した動作により、転送装置1は、演算装置4が読み出し処理のための要求で指定したエリアを記憶部16の管理表161に登録し、そのエリアに対する書き込み処理の回数に基づいて、書き込み処理が完了したか否かを判断して、書き込み処理が完了している場合に、登録されたそのエリアを解放する。   As described above, the transfer device 1 registers the area designated by the calculation device 4 in the request for the read process in the management table 161 of the storage unit 16, and writes based on the number of write processes for the area. It is determined whether or not the processing is completed, and when the writing processing is completed, the registered area is released.

そして、転送装置1は、管理表161に登録されているエリアに対して、要求装置7からデータの要求があった場合、要求されたそのデータを第2通信路P2経由で調停バス5から取得し、それ以外のエリアに対して要求があった場合、要求されたそのデータを第1通信路P1経由でメモリコントローラ3から取得して、それぞれ要求装置7に転送する。   Then, when there is a data request from the requesting device 7 to the area registered in the management table 161, the transfer device 1 acquires the requested data from the arbitration bus 5 via the second communication path P2. If there is a request for any other area, the requested data is acquired from the memory controller 3 via the first communication path P1 and transferred to the requesting device 7, respectively.

管理表161に登録されているエリアは、演算装置4が読み出し処理の要求をしたエリアであって、書き込み処理が完了していないエリアであるから、そのエリアに書き出されるべき最新のデータは未だ演算装置4のキャッシュメモリ41上にある可能性が高い。   The area registered in the management table 161 is an area for which the calculation device 4 has requested read processing and the write processing has not been completed. Therefore, the latest data to be written to the area is not yet calculated. There is a high possibility of being on the cache memory 41 of the device 4.

したがって、転送装置1は、要求装置7が要求するデータが演算装置4のキャッシュメモリ41にある可能性が高い場合に、調停バス5からデータを取得して転送するため、共有メモリ2の一貫性が維持される。また、要求装置7が要求するデータが演算装置4のキャッシュメモリ41にある可能性がない場合にはメモリコントローラ3からデータを取得して転送するため、調停バス5からデータを取得する場合に比べて、データの転送速度が向上する。   Therefore, the transfer device 1 acquires and transfers data from the arbitration bus 5 when there is a high possibility that the data requested by the requesting device 7 is in the cache memory 41 of the arithmetic device 4. Is maintained. Further, when there is no possibility that the data requested by the requesting device 7 is in the cache memory 41 of the arithmetic device 4, the data is acquired from the memory controller 3 and transferred, so that the data is acquired from the arbitration bus 5. Thus, the data transfer speed is improved.

2.変形例
以上が実施形態の説明であるが、この実施形態の内容は以下のように変形し得る。また、以下の変形例を組合せてもよい。
2. Modification The above is the description of the embodiment, but the contents of this embodiment can be modified as follows. Further, the following modifications may be combined.

2−1.変形例1
上述した実施形態において、転送装置1は、管理表161においてエリアに対応付けられた書き込み回数を、書き込み処理が検知される度にインクリメントし、この書き込み回数が決められた閾値に達しているか否かで、このエリアに対する書き込み処理が完了しているか否かを判定していたが、転送装置1は、書き込み回数を計数しなくてもよい。
2-1. Modification 1
In the embodiment described above, the transfer device 1 increments the number of writes associated with an area in the management table 161 every time a write process is detected, and whether or not the number of writes reaches a predetermined threshold. Thus, although it has been determined whether or not the writing process for this area has been completed, the transfer apparatus 1 does not have to count the number of times of writing.

図7は、この変形例における管理表161の例を示す図である。また、図8は、この変形例における共有メモリ2を説明するための図である。この変形例において、共有メモリ2は、決められたデータ量ごとに複数のエリアに区分されており、そのデータ量は、最小単位のデータ量である。したがって、各エリアは最小単位で構成される。   FIG. 7 is a diagram showing an example of the management table 161 in this modification. FIG. 8 is a diagram for explaining the shared memory 2 in this modification. In this modification, the shared memory 2 is divided into a plurality of areas for each determined data amount, and the data amount is a minimum unit data amount. Therefore, each area is composed of a minimum unit.

この場合、図7で示したとおり管理表161には、読み出し処理のための要求が検出された各エリアについて、図3で示した書き込み回数を対応付けて記憶する必要がない。一回の書き込み処理により書き込まれるデータ量は最小単位のデータ量であるから、最小単位で構成されたエリアに対する書き込み処理には、その処理の「途中」が存在しないためである。したがって、読み出し処理のための要求が検出されたときに、その要求で指定されたエリアが管理表161に登録され、書き込み処理のための要求が検出されたときに、その要求で指定されたエリアが管理表161から解放される。   In this case, as shown in FIG. 7, the management table 161 does not need to store the number of times of writing shown in FIG. 3 in association with each area where the request for the reading process is detected. This is because the amount of data written by a single writing process is the minimum unit data amount, and there is no “middle” of the process in the writing process to the area configured by the minimum unit. Therefore, when a request for read processing is detected, the area specified by the request is registered in the management table 161, and when a request for write processing is detected, the area specified by the request Are released from the management table 161.

図9は、この変形例における転送装置1の登録処理の動作を示すフロー図である。この変形例において、転送装置1は、図5、図6にステップS100で示した登録処理に代えて、図9にステップS110で示した登録処理を実行する。   FIG. 9 is a flowchart showing the operation of the registration process of the transfer apparatus 1 in this modification. In this modification, the transfer device 1 executes the registration process shown in FIG. 9 in step S110 instead of the registration process shown in step S100 in FIGS.

転送装置1は、調停バス5からメモリコントローラ3に対して出力された要求を監視して、演算装置4からのメモリコントローラ3に対する読み出し処理または書き込み処理の要求を検出したか否か判断する(ステップS111)。これらの要求を検出していないと判断する場合(ステップS111;NO)、転送装置1は、この判断を続ける。   The transfer device 1 monitors the request output from the arbitration bus 5 to the memory controller 3, and determines whether or not a request for read processing or write processing from the arithmetic device 4 to the memory controller 3 has been detected (step). S111). When determining that these requests are not detected (step S111; NO), the transfer apparatus 1 continues this determination.

一方、調停バス5からメモリコントローラ3への読み出し処理または書き込み処理の要求を検出したと判断する場合(ステップS111;YES)、転送装置1は、検出された要求で指定されたエリアを特定する(ステップS112)。そして、転送装置1は、この要求が読み出し処理のためのものであるか否かを判断し(ステップS113)、読み出し処理のためのものであると判断する場合には(ステップS113;YES)ステップS114へ、読み出し処理のためのものでないと判断する場合には(ステップS113;NO)ステップS118へ、それぞれ処理を進める。   On the other hand, when it is determined that a request for a read process or a write process from the arbitration bus 5 to the memory controller 3 has been detected (step S111; YES), the transfer apparatus 1 identifies the area specified by the detected request (step S111: YES). Step S112). Then, the transfer device 1 determines whether or not the request is for reading processing (step S113), and if it is determined that the request is for reading processing (step S113; YES), step If it is determined that the process is not for reading processing (step S113; NO), the process proceeds to step S118.

ステップS114において、転送装置1は、ステップS112で特定したエリアが新規エリアであるか否か判断する(ステップS114)。特定した上述のエリアが新規エリアであると判断する場合(ステップS114;YES)、転送装置1は、このエリアを管理表161に登録する。一方、特定した上述のエリアが新規エリアでないと判断する場合(ステップS114;NO)、転送装置1は、ステップS115の登録を行わずに処理をステップS111に戻す。   In step S114, the transfer device 1 determines whether or not the area specified in step S112 is a new area (step S114). When determining that the identified area is a new area (step S114; YES), the transfer apparatus 1 registers this area in the management table 161. On the other hand, when determining that the specified area is not a new area (step S114; NO), the transfer apparatus 1 returns the process to step S111 without performing the registration in step S115.

ステップS118において、転送装置1は、ステップS112で特定したエリアが書き込み処理のための要求で指定されたものであり、その書き込み処理が実行されることによって、書き込み処理が完了したとして、このエリアを解放し(ステップS118)、処理をステップS111に戻す。   In step S118, the transfer apparatus 1 determines that the area specified in step S112 is designated by the request for the writing process, and that the writing process is completed by executing the writing process. Release (step S118), and the process returns to step S111.

この変形例においても、転送装置1は、要求装置7が要求するデータが演算装置4のキャッシュメモリ41にある可能性が高い場合に、調停バス5からデータを取得して転送するため、共有メモリ2の一貫性が維持される。また、要求装置7が要求するデータが演算装置4のキャッシュメモリ41にある可能性がない場合にはメモリコントローラ3からデータを取得して転送するため、調停バス5からデータを取得する場合に比べて、データの転送速度が向上する。   Also in this modification, the transfer device 1 acquires and transfers data from the arbitration bus 5 when there is a high possibility that the data requested by the requesting device 7 is in the cache memory 41 of the arithmetic device 4. 2 consistency is maintained. Further, when there is no possibility that the data requested by the requesting device 7 is in the cache memory 41 of the arithmetic device 4, the data is acquired from the memory controller 3 and transferred, so that the data is acquired from the arbitration bus 5. Thus, the data transfer speed is improved.

なお、この変形例では、エリアが最小単位で構成されるため、書き込み回数や完了位置などをエリアごとに記憶する必要がない代わりに、管理表161に登録されるレコードの数が、実施形態で示した場合に比べて多くなる。調停バス5によって読み出されてから書き込まれるまでの期間に、並行してアクセスされる共有メモリ2のエリアの数が多くなると、管理表161を記憶する記憶容量を大きくする必要がある。   In this modified example, since the area is configured by a minimum unit, the number of records and the completion position need not be stored for each area, but instead of the number of records registered in the management table 161 in the embodiment. More than shown. If the number of areas of the shared memory 2 that are accessed in parallel during the period from reading to writing by the arbitration bus 5 increases, the storage capacity for storing the management table 161 needs to be increased.

一方、実施形態で示した通り、共有メモリ2を構成する複数のエリアが、それぞれ複数の最小単位から構成されていると、この変形例に示した場合に比べて管理表161に登録されるレコードの数が抑制される。   On the other hand, as shown in the embodiment, when a plurality of areas constituting the shared memory 2 are each composed of a plurality of minimum units, records registered in the management table 161 compared to the case shown in this modification example. Is suppressed.

2−2.変形例2
転送装置1を制御するためのプログラムは、磁気テープや磁気ディスクなどの磁気記録媒体、光ディスクなどの光記録媒体、光磁気記録媒体、半導体メモリなどの、コンピュータ装置が読み取り可能な記録媒体に記憶された状態で提供し得る。また、これらのプログラムを、インターネットなどを経由してダウンロードさせることも可能である。なお、上記の転送装置1の演算処理装置としては種々の装置が適用される場合があり、例えば、専用のプロセッサなどが用いられる。
2-2. Modification 2
A program for controlling the transfer device 1 is stored in a recording medium readable by a computer device such as a magnetic recording medium such as a magnetic tape or a magnetic disk, an optical recording medium such as an optical disk, a magneto-optical recording medium, or a semiconductor memory. It can be provided in the state. It is also possible to download these programs via the Internet or the like. Note that various devices may be applied as the arithmetic processing device of the transfer device 1, and for example, a dedicated processor or the like is used.

1…転送装置、11…受付部、12…登録部、13…取得部、14…転送部、15…監視部、16…記憶部、161…管理表、2…共有メモリ、3…メモリコントローラ、4…演算装置、41…キャッシュメモリ、5…調停バス、6…内部バス、7…要求装置、9…転送システム、P1…第1通信路、P2…第2通信路。 DESCRIPTION OF SYMBOLS 1 ... Transfer apparatus, 11 ... Reception part, 12 ... Registration part, 13 ... Acquisition part, 14 ... Transfer part, 15 ... Monitoring part, 16 ... Memory | storage part, 161 ... Management table, 2 ... Shared memory, 3 ... Memory controller, DESCRIPTION OF SYMBOLS 4 ... Arithmetic unit, 41 ... Cache memory, 5 ... Arbitration bus, 6 ... Internal bus, 7 ... Request device, 9 ... Transfer system, P1 ... 1st communication path, P2 ... 2nd communication path.

Claims (3)

共有メモリ内の複数に区分された領域のうち、指定された領域に対して読み書きを行うメモリコントローラと通信する第1通信路と、
一以上の演算装置からの要求を調停して、該要求に基づいて前記メモリコントローラに対して前記共有メモリ内の領域を指定して読み書きの要求をする調停装置と通信する第2通信路と、
要求装置から前記共有メモリに格納されたデータの要求を受付ける受付手段と、
前記調停装置から前記メモリコントローラに対して出力された要求を監視して、該要求で指定された領域への書き込み処理が完了していない場合に、該領域を登録する登録手段と、
前記要求装置の要求が、前記登録手段により登録された領域に対するものでない場合に、前記第1通信路経由で前記メモリコントローラから前記データを取得し、該要求が該領域に対するものである場合に、前記第2通信路経由で前記調停装置から前記データを取得する取得手段と、
前記取得したデータを前記要求装置に転送する転送手段と、
を有し、
前記登録手段は、前記要求が読み出し処理のための要求であり、かつ、該要求で指定された領域が登録されていない場合に、該領域を登録し、該要求が書き込み処理のための要求である場合に、該要求で指定された領域への書き込み処理の回数を計数し、該回数が閾値に達した場合に、書き込み処理が完了したものとして、該領域を解放する
ことを特徴とする転送装置。
A first communication path that communicates with a memory controller that reads from and writes to a specified area among a plurality of areas in the shared memory;
A second communication path that communicates with an arbitration device that arbitrates a request from one or more arithmetic devices, designates an area in the shared memory to the memory controller based on the request, and requests read / write;
Receiving means for receiving a request for data stored in the shared memory from a requesting device;
A registration unit that monitors a request output from the arbitration device to the memory controller and registers the area when the write process to the area specified by the request is not completed;
When the request of the requesting device is not for the area registered by the registration means, the data is acquired from the memory controller via the first communication path, and when the request is for the area, Obtaining means for obtaining the data from the arbitrating device via the second communication path;
Transfer means for transferring the acquired data to the requesting device;
I have a,
The registration means registers the area when the request is a request for a read process and the area specified in the request is not registered, and the request is a request for a write process. In some cases, the number of times of write processing to the area specified by the request is counted, and when the number of times reaches a threshold, the area is released as the write process is completed. apparatus.
求項1に記載の転送装置と、
前記転送装置と前記第1通信路経由で通信し、共有メモリ内の指定された領域に対して読み書きを行うメモリコントローラと、
装置間の要求を調停する装置であって、前記転送装置と前記第2通信路経由で通信し、一以上の演算装置からの要求に基づいて前記メモリコントローラに対して前記共有メモリ内の領域を指定して読み書きの要求をする調停装置と、
前記転送装置に対して前記共有メモリに格納されたデータの要求を送る要求装置と、
を有する転送システム。
A transfer device according to Motomeko 1,
A memory controller that communicates with the transfer device via the first communication path and reads / writes from / to a specified area in a shared memory;
A device that arbitrates requests between devices, communicates with the transfer device via the second communication path, and allocates an area in the shared memory to the memory controller based on a request from one or more arithmetic devices. An arbitration device that specifies and requests reading and writing;
A requesting device for sending a request for data stored in the shared memory to the transfer device;
Having a transfer system.
有メモリ内の複数に区分された領域のうち、指定された領域に対して読み書きを行うメモリコントローラと通信する第1通信路と、
一以上の演算装置からの要求を調停して、該要求に基づいて前記メモリコントローラに対して前記共有メモリ内の領域を指定して読み書きの要求をする調停装置と通信する第2通信路と、
を有するコンピュータを、
要求装置から前記共有メモリに格納されたデータの要求を受付ける受付手段と、
前記調停装置から前記メモリコントローラに対して出力された要求を監視して、該要求で指定された領域への書き込み処理が完了していない場合に、該領域を登録する登録手段と、
前記要求装置の要求が、前記登録手段により登録された領域に対するものでない場合に、前記第1通信路経由で前記メモリコントローラから前記データを取得し、該要求が該領域に対するものである場合に、前記第2通信路経由で前記調停装置から前記データを取得する取得手段と、
前記取得したデータを前記要求装置に転送する転送手段
として機能させるとともに、
前記登録手段が、前記要求が読み出し処理のための要求であり、かつ、該要求で指定された領域が登録されていない場合に、該領域を登録し、該要求が書き込み処理のための要求である場合に、該要求で指定された領域への書き込み処理の回数を計数し、該回数が閾値に達した場合に、書き込み処理が完了したものとして、該領域を解放するように、前記コンピュータを機能させるためのプログラム。
Among the plurality in the region segmented in the shared memory, a first communication path that communicates with a memory controller for reading and writing to the designated area,
A second communication path that communicates with an arbitration device that arbitrates a request from one or more arithmetic devices, designates an area in the shared memory to the memory controller based on the request, and requests read / write;
A computer having
Receiving means for receiving a request for data stored in the shared memory from a requesting device;
A registration unit that monitors a request output from the arbitration device to the memory controller and registers the area when the write process to the area specified by the request is not completed;
When the request of the requesting device is not for the area registered by the registration means, the data is acquired from the memory controller via the first communication path, and when the request is for the area, Obtaining means for obtaining the data from the arbitrating device via the second communication path;
While functioning as transfer means for transferring the acquired data to the requesting device ,
The registration means registers the area when the request is a request for read processing and the area specified by the request is not registered, and the request is a request for write processing. In some cases, the computer counts the number of write operations to the area specified by the request, and when the number of times reaches a threshold, the computer is released so that the write process is completed and the area is released. A program to make it work .
JP2015059372A 2015-03-23 2015-03-23 Transfer device, transfer system, and program Expired - Fee Related JP6558008B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015059372A JP6558008B2 (en) 2015-03-23 2015-03-23 Transfer device, transfer system, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015059372A JP6558008B2 (en) 2015-03-23 2015-03-23 Transfer device, transfer system, and program

Publications (2)

Publication Number Publication Date
JP2016177751A JP2016177751A (en) 2016-10-06
JP6558008B2 true JP6558008B2 (en) 2019-08-14

Family

ID=57070064

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015059372A Expired - Fee Related JP6558008B2 (en) 2015-03-23 2015-03-23 Transfer device, transfer system, and program

Country Status (1)

Country Link
JP (1) JP6558008B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109491587B (en) * 2017-09-11 2021-03-23 华为技术有限公司 Data access method and device

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3965784B2 (en) * 1998-06-15 2007-08-29 株式会社日立製作所 Shared memory exclusive access control method
JP2008140065A (en) * 2006-11-30 2008-06-19 Toshiba Corp Access arbitration device, access arbitration method and information processor
JP2008140078A (en) * 2006-11-30 2008-06-19 Toshiba Corp Bus bridge device, information processor, and data transfer control method

Also Published As

Publication number Publication date
JP2016177751A (en) 2016-10-06

Similar Documents

Publication Publication Date Title
US9639469B2 (en) Coherency controller with reduced data buffer
JP5931196B2 (en) Control method of cache memory provided in I / O node and plural calculation nodes
JP2014130420A (en) Computer system and control method of computer
US9619150B2 (en) Data arrangement control method and data arrangement control apparatus
US10956205B2 (en) Data processing
JP6244949B2 (en) Information processing apparatus, control method, and control program
US10824425B2 (en) Selecting destination for processing management instructions based on the processor buffer size and uncompleted management instructions
CN110362426B (en) Selective copy realization method and system for bursty load
JP6558008B2 (en) Transfer device, transfer system, and program
JP5158576B2 (en) I / O control system, I / O control method, and I / O control program
WO2018176397A1 (en) Lock allocation method, device and computing apparatus
JP6558009B2 (en) Transfer device, transfer system, and program
EP3293625B1 (en) Method and device for accessing file, and storage system
EP3788494B1 (en) Transfer protocol in a data processing network
US9858204B2 (en) Cache device, cache system, and cache method
CN114356839B (en) Method, device, processor and device readable storage medium for processing write operation
JP4176933B2 (en) RECORDING MEDIUM RECORDING EXTERNAL STORAGE DEVICE DRIVER PROGRAM AND COMPUTER HAVING EXTERNAL STORAGE DEVICE ACCESS FUNCTION
US9201611B2 (en) Interface control apparatus, data storage apparatus and interface control method
US20170315941A1 (en) Bridge and method for coupling a requesting interconnect and a serving interconnect in a computer system
KR100950356B1 (en) Data transfer unit with support for multiple coherency granules
US9383941B2 (en) Migrating and retrieving queued data in byte-addressable storage
US11422937B2 (en) Multiprocessor system and method for controlling shared memory
JP6565729B2 (en) Arithmetic processing device, control device, information processing device, and control method for information processing device
JP5696891B2 (en) Job scheduling method by IO configuration
JPH03142551A (en) Common bus control system

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180228

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20181114

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20181120

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190109

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190701

R150 Certificate of patent or registration of utility model

Ref document number: 6558008

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees