WO2021111583A1 - データ転送装置およびデータ転送方法 - Google Patents

データ転送装置およびデータ転送方法 Download PDF

Info

Publication number
WO2021111583A1
WO2021111583A1 PCT/JP2019/047625 JP2019047625W WO2021111583A1 WO 2021111583 A1 WO2021111583 A1 WO 2021111583A1 JP 2019047625 W JP2019047625 W JP 2019047625W WO 2021111583 A1 WO2021111583 A1 WO 2021111583A1
Authority
WO
WIPO (PCT)
Prior art keywords
time counter
remaining time
data transfer
masters
data
Prior art date
Application number
PCT/JP2019/047625
Other languages
English (en)
French (fr)
Inventor
村田 豊
隆輔 土田
Original Assignee
オリンパス株式会社
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 オリンパス株式会社 filed Critical オリンパス株式会社
Priority to CN201980101132.4A priority Critical patent/CN114503089B/zh
Priority to PCT/JP2019/047625 priority patent/WO2021111583A1/ja
Priority to JP2021562282A priority patent/JP7381603B2/ja
Publication of WO2021111583A1 publication Critical patent/WO2021111583A1/ja
Priority to US17/735,769 priority patent/US11842071B2/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0656Data buffering arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • G06F13/1652Handling requests for interconnection or transfer for access to memory bus based on arbitration in a multiprocessor architecture
    • G06F13/1663Access to shared memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0613Improving I/O performance in relation to throughput
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0635Configuration or reconfiguration of storage systems by changing the path, e.g. traffic rerouting, path reconfiguration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device

Definitions

  • the present invention relates to a data transfer device and a data transfer method.
  • a bus arbiter In the data transfer device in which a plurality of masters are connected to the memory system via a bus, a bus arbiter is provided to carry out arbitration in which the bus usage right is sequentially assigned to the plurality of masters.
  • the bus arbiter mediates the right to use the bus based on the priority of the master.
  • Various arbitration methods have been devised in order to efficiently carry out data transfer by a plurality of masters without data loss.
  • the bus control device described in Patent Document 1 arbitrates the bus usage right based on the remaining time counter for each master calculated from the amount of data stored in the buffer held by the master and the data transfer rate of the master. Since the bus control device described in Patent Document 1 mediates the right to use the bus according to the data transfer status of the buffer held by the master, it is possible to preferably prevent data loss in data transfer.
  • the present invention determines that in a data transfer device and a data transfer method using a memory system in which a memory access prohibition period occurs intermittently, the occurrence of data loss in data transfer is suppressed by a simpler mechanism. The purpose.
  • the data transfer device has a buffer, a plurality of masters that calculate a remaining time counter based on the amount of data in the buffer, and the plurality of masters that perform data transfer with the plurality of masters.
  • a memory system having a memory access prohibition period in which access from the master is intermittently prohibited, a bus arbiter that mediates the plurality of masters based on the remaining time counter, and the memory access prohibition period until the start of the memory access prohibition period.
  • a remaining time counter adjusting unit for adding a remaining time counter offset for adjusting the remaining time counter to at least one of the plurality of masters is provided.
  • the data transfer method is a data transfer method in a memory system having a memory access prohibition period in which data transfer is performed with a plurality of masters and access from the plurality of masters is intermittently prohibited. Therefore, the remaining time counter calculation step of calculating the remaining time counter based on the amount of data in the buffers of the plurality of masters and the remaining time counter offset for adjusting the remaining time counter until the start of the memory access prohibition period are performed. A step of adding a remaining time counter offset to be added to at least one of the plurality of masters, and an arbitration step of arranging the plurality of masters based on the remaining time counter are provided.
  • the data transfer device and data transfer method of the present invention can suppress the occurrence of data loss in data transfer by a simpler mechanism in data transfer using a memory system in which a memory access prohibition period occurs intermittently.
  • FIG. 1 is a diagram showing an overall configuration of a data transfer device 100 according to the present embodiment.
  • the data transfer device 100 includes a master 1, a memory system 2, a bus arbiter 3, and a remaining time counter adjusting unit 4.
  • a plurality of masters 1 are connected to the memory system 2 via a bus.
  • the master 1 is a module that requires real-time processing such as display processing.
  • each master 1 is described as a first master 1a, a second master 1b, and a third master 1c.
  • another master that does not require real-time processing may be connected to the memory system 2.
  • FIG. 2 is a functional block diagram of the master 1.
  • the master 1 has a data processing unit 11, a buffer 12, a bus interface 13, and a remaining time counter calculation unit 14.
  • the data transfer direction is from the memory system 2 to the master 1 (in the case of memory read)
  • the data is transferred from the memory system 2 via the bus interface 13 and the data is temporarily stored in the buffer 12 and then the data processing unit. Transferred to 11.
  • the data transfer direction is from the master 1 to the memory system 2 (in the case of memory write)
  • the data processed by the data processing unit 11 is temporarily stored in the buffer 12, and then is temporarily stored in the buffer 12, and then is stored in the memory system via the bus interface 13. Transferred to 2.
  • the remaining time counter calculation unit 14 calculates the remaining time counter based on the amount of data in the buffer 12 and the band required for data transfer (hereinafter referred to as “required band”) (remaining time counter calculation step).
  • the amount of data in the buffer 12 used by the remaining time counter calculation unit 14 to calculate the remaining time counter is the amount of accumulated data in the buffer 12 when the data transfer direction is from the memory system 2 to the master 1 (in the case of memory read). Become. On the other hand, when the data transfer direction is from the master 1 to the memory system 2 (in the case of memory write), the amount of data calculated by the remaining time counter calculation unit 14 is the amount of free data in the buffer 12.
  • the required band used by the remaining time counter calculation unit 14 to calculate the remaining time counter is a data band required for the data processing unit 11 to perform data processing without data loss.
  • the required bandwidth is 8 bits / clock (32 bits / 4 clocks).
  • the required band may be set and changeable by the CPU or the like by storing it in a register or the like.
  • the remaining time counter calculation unit 14 calculates a value proportional to the value obtained by dividing the amount of data in the buffer 12 by the required band as the remaining time counter. That is, (remaining time counter) ⁇ (data amount [bit] of buffer 12) / (required band [bit / clock]).
  • the remaining time counter shows a numerical value proportional to the number of clocks until the buffer 12 becomes empty (buffer empty).
  • the remaining time counter shows a numerical value proportional to the number of clocks until the buffer 12 becomes full (buffer full). The smaller the calculated remaining time counter, the smaller the number of cycles to reach the buffer empty or buffer full, which may cause data loss in data transfer and is more urgent.
  • the memory system 2 has a memory 21, a memory controller 22, and a slave bus interface 23.
  • the memory system 2 reads data from the memory 21 and writes data in response to a read request or a write request from the master 1 transferred via the slave bus interface 23.
  • the memory 21 is a memory driven by a low voltage such as LPDDR4, and it is necessary to periodically perform calibration for compensating for variations due to temperature and the like not only at the time of initial startup but also during operation. Is.
  • the memory controller 22 issues commands and transfers data to the memory 21.
  • the memory controller 22 also issues commands necessary for performing the above calibration.
  • the memory controller 22 cannot read data or write data to the memory 21 during the calibration.
  • the slave bus interface 23 receives a read request and a write request from the master 1. During the period in which the memory controller 22 is performing the calibration, the slave bus interface 23 cannot respond to a read request or a write request beyond the range that the memory controller 22 can accept. That is, the master 1 is prohibited from accessing the memory during the period when the memory system 2 is performing the calibration. The period during which memory access is prohibited by the master 1 is defined as the "memory access prohibited period". Since calibration needs to be performed regularly even during operation, the memory access prohibition period occurs intermittently.
  • the bus arbiter 3 is provided between the plurality of masters 1 and the memory system 2, and arbitrates the plurality of masters 1 based on the remaining time counter (arbitration process).
  • the bus arbiter 3 preferentially grants the right to use the bus to the master having a small remaining time counter.
  • the master 1 given the right to use the bus by the bus arbiter 3 can access the memory system 2.
  • the bus arbiter 3 may be provided integrally with the memory system 2 or may be provided separately from the memory system 2.
  • FIG. 3 is a diagram illustrating an example of mediation by the bus arbiter 3.
  • the data transfer directions of the first master 1a, the second master 1b, and the third master 1c are from the memory system 2 to the master 1 (memory read).
  • the required bandwidth of the first master 1a is 4 [bit / clock]
  • the required bandwidth of the second master 1b is 2 [bit / clock]
  • the required bandwidth of the third master 1c is 4 [bit / clock].
  • the remaining time counter of the first master 1a is 10
  • the remaining time counter of the second master 1b is 12
  • the remaining time counter of the third master 1c is 8.
  • the priority of the third master 1c having the smallest remaining time counter is the first
  • the priority of the first master 1a is the second
  • the priority of the second master 1b having the largest remaining time counter is. It will be the third place.
  • the bus arbiter 3 arbitrates the bus priority in consideration of the difference in the buffer size. For example, the bus arbiter 3 mediates the bus priority after weighting the remaining time counter corresponding to the buffer size of each buffer 12. Specifically, the weighting coefficient (0 ⁇ weighting coefficient ⁇ 1) is multiplied by the remaining time counter used by the bus arbiter 3 for arbitration.
  • the weighting coefficient is a coefficient indicating the ratio of the buffer sizes of each buffer 12, and is expressed as, for example, a ratio to the maximum buffer size. In the example of FIG. 3, since the buffer sizes of all the buffers 12 are equal, the weighting coefficients are all "1".
  • the remaining time counter adjusting unit 4 adjusts the remaining time counter presented to the bus arbiter until the start of the memory access prohibition period to the master 1 to be smaller than the value actually calculated by the master 1 (remaining time counter). Offset) is added to at least one of the plurality of masters 1 (remaining time counter offset addition step).
  • the master 1 since the master 1 has real-time performance and constantly executes data processing and the like, there is a high possibility that data loss will occur in data transfer during the memory access prohibition period. In order to avoid this, the master 1 stores in a buffer the amount of accumulated data (required buffer amount) that allows processing to be continued without causing data loss during the memory access prohibition period before the memory access prohibition period starts.
  • the required buffer amount can be continuously secured until the memory access prohibition period starts. Since the length of the memory access prohibition period and the timing of occurrence are known, the required buffer amount can be calculated in advance.
  • (adjustment remaining time counter) (remaining time counter calculated by master 1) + (remaining time counter offset).
  • the smaller the value of the remaining time counter the higher the urgency. Therefore, the remaining time counter offset that increases the urgency is a negative value.
  • the remaining time counter adjusting unit 4 adds a remaining time counter offset to a plurality of masters 1.
  • the remaining time counter adjusting unit 4 may add the same value of the remaining time counter offset to the plurality of masters 1, or may add a different value of the remaining time counter offset to each of the plurality of masters 1.
  • the value of the remaining time counter offset must be a value equal to or greater than the required buffer amount. The remaining time counter adjusting unit 4 does not give the remaining time counter offset to other masters that do not require real-time processing.
  • the remaining time counter calculation unit 14 of the master 1 adds an adjustment remaining time counter calculated by adding the remaining time counter offset transferred from the remaining time counter adjusting unit 4 to the remaining time counter calculated by the remaining time counter calculation unit 14, and uses the bus arbiter. Transfer to 3.
  • the remaining time counter adjusting unit 4 may be composed of a logic circuit or software that operates in the CPU. Since the remaining time counter adjusting unit 4 needs to operate during the memory access prohibition period, it is preferable that the remaining time counter adjusting unit 4 is composed of a logic circuit.
  • the remaining time counter adjusting unit 4 reduces the offset amount (absolute value) of the remaining time counter offset during the memory access prohibition period.
  • the remaining time counter adjusting unit 4 sets the value of the remaining time counter offset to zero during the memory access prohibition period.
  • FIG. 4 shows the transition of the adjustment remaining time counter of the master 1 (first master 1a, second master 1b, third master 1c) before and after the memory access prohibition period.
  • the master 1 (first master 1a, second master 1b, third master 1c) is provided with a remaining time counter offset until the start of the memory access prohibition period, and the adjusted remaining time counter is actually It is smaller than the remaining time counter calculated in.
  • the bus arbiter 3 arbitrates so that the remaining time counters of all the masters 1 are close to the safety level. Therefore, the master 1 to which the remaining time counter offset is added is arbitrated in the normal priority order while securing the required buffer amount in the arbitration of the bus usage right by the bus arbiter 3.
  • the remaining time counter adjusting unit 4 adjusts the value of the remaining time counter offset that is added so that the required buffer amount is secured by the start of the memory access prohibition period during the memory access prohibition period.
  • the remaining time counter adjusting unit 4 sets the value of the remaining time counter offset to zero at the start of the memory access prohibition period. As shown in FIG. 4, the adjustment remaining time counters of the master 1 are at the same level before and after the start and end of the memory access prohibition period, and have not reached the danger level. Therefore, at the end of the memory access prohibition period, the bus arbiter 3 gives the same normal priority as before the start of the memory access prohibition period without performing arbitration such as concentrating the bus usage right to some masters 1. Mediation in ranking can be continued.
  • FIG. 5 shows the transition of the remaining time counter of the master 1 (first master A, second master B, third master C) in the data transfer device that does not have the remaining time counter adjusting unit 4. .. Since the remaining time counter offset is not added until the start of the memory access prohibition period, the risk level is set to a large level that secures the required buffer amount that can withstand the memory access prohibition period, and the remaining time counter of the master 1 is set. At the end of the memory access prohibition period, a plurality of masters greatly exceed the danger level, and urgent arbitration occurs among the multiple masters. As a result, unlike arbitration in the normal priority order, suitable scheduling cannot be performed, and the master 1 may lose data in data transfer during the memory access prohibition period.
  • the occurrence of data loss in the data transfer is suppressed by a simpler mechanism. Can be done. Even if the memory access prohibition period occurs intermittently by simply adding the remaining time counter adjusting unit 4 to a general data transfer device that mediates the bus usage right using a remaining time counter or the like. It is possible to suppress the occurrence of data loss in data transfer.
  • the bus arbiter 3 side that mediates the bus usage right using the remaining time counter does not need to make a major specification change in order to cope with the occurrence of the memory access prohibition period.
  • the remaining time counter adjusting unit 4 adds a remaining time counter offset to each master 1, and adds a remaining time counter offset to the remaining time counter calculated by the master 1.
  • the calculation mode of the adjustment remaining time counter is not limited to this.
  • the addition of the remaining time counter offset may be performed by the bus arbiter 3 instead of the master 1.
  • the remaining time counter calculation unit 14 of the master 1 calculates the remaining time counter based on the amount of data in the buffer 12 and the required band, but the calculation mode of the remaining time counter is not limited to this. ..
  • the remaining time counter calculation unit 14 may calculate the remaining time counter only from the amount of data in the buffer. Although the accuracy of urgency prediction is reduced, the remaining time counter can be calculated more easily.
  • the data transfer device 100B according to the second embodiment of the present invention will be described with reference to FIGS. 6 to 7. In the following description, the same reference numerals will be given to the configurations common to those already described, and duplicate description will be omitted.
  • the data transfer device 100B differs from the data transfer device 100 of the first embodiment in the method of adjusting the remaining time counter.
  • the data transfer device 100B includes a master 1, a memory system 2, a bus arbiter 3, and a remaining time counter adjusting unit 4B.
  • the remaining time counter adjusting unit 4B adds a remaining time counter offset to a plurality of masters 1.
  • the remaining time counter adjusting unit 4 gradually increases the offset amount (absolute value) of the remaining time counter offset from the end of the memory access prohibition period to the start of the memory access prohibition period.
  • FIG. 6 shows the transition of the adjustment remaining time counter of the master 1 before and after the memory access prohibition period in the data transfer device 100B.
  • the master 1 is provided with a remaining time counter offset that changes stepwise from the end of the memory access prohibition period to the start of the memory access prohibition period. Since the adjustment remaining time counter transferred from the master 1 to the bus arbiter 3 gradually increases without suddenly increasing, the bus arbiter 3 has an extremely bus usage right for the master 1 whose adjustment remaining time counter suddenly increases. Does not lower the priority of. By performing the same processing on the other master 1, efficient arbitration can be performed without performing arbitration such that the bus usage right is intensively granted only to a certain master 1.
  • the data transfer device 100B of the present embodiment in the data transfer device 100 using the memory system in which the memory access prohibition period occurs intermittently, it is possible to suppress the occurrence of data loss in the data transfer by a simpler mechanism. it can. By adding the remaining time counter offset that changes stepwise, the arbitration of the bus arbiter 3 at the time of giving the remaining time counter offset can be smoothly performed.
  • FIG. 7 shows the transition of the adjustment remaining time counter of the master 1 by the remaining time counter adjusting unit 4C, which is a modification of the remaining time counter adjusting unit 4B.
  • the remaining time counter adjusting unit 4C changes the remaining time counter offset by providing a time difference for each master 1 from the end of the memory access prohibition period to the start of the memory access prohibition period.
  • the remaining time counter adjusting unit 4C first increases the offset amount (absolute value) of the remaining time counter offset of the first master 1a stepwise after the end of the memory access prohibition period.
  • the remaining time counter adjusting unit 4C gradually increases the offset amount (absolute value) of the remaining time counter offset of the second master 1b.
  • the bus arbiter 3 is less likely to have a conflict requesting the right to use the bus, and the bus can be used more efficiently.
  • the present invention can be applied to a data transfer device in which a plurality of masters are connected to a memory system.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Bus Control (AREA)

Abstract

データ転送装置は、バッファを有し、前記バッファのデータ量に基づいて残時間カウンタを算出する複数のマスタと、前記複数のマスタとデータ転送を行い、前記複数のマスタからのアクセスが間欠的に禁止されるメモリアクセス禁止期間を有するメモリシステムと、前記残時間カウンタに基づいて前記複数のマスタの調停を行うバスアービタと、前記メモリアクセス禁止期間の開始までの前記残時間カウンタを調整する残時間カウンタオフセットを、前記複数のマスタの少なくとも一つに付加する残時間カウンタ調整部と、を備える。

Description

データ転送装置およびデータ転送方法
 本発明は、データ転送装置およびデータ転送方法に関する。
 メモリシステムにバスを介して複数のマスタが接続されるデータ転送装置では、複数のマスタにバス使用権を順次割り当てる調停を実施するバスアービタが設けられている。バスアービタは、マスタの優先度等に基づいてバス使用権を調停する。複数のマスタによるデータ転送をデータの欠損なく効率よく実施するため、様々な調停方法が考案されている。
 例えば、特許文献1に記載のバス制御装置は、マスタが保有するバッファに格納されたデータ量とマスタのデータ転送速度とから算出したマスタごとの残時間カウンタに基づいてバス使用権を調停する。特許文献1に記載のバス制御装置は、マスタが保有するバッファのデータ転送状況に応じてバス使用権を調停するため、データ転送におけるデータの欠損を好適に防止できる。
 一方、LPDDR4のような低電圧で駆動されるメモリは最高性能を出すために、電源電圧、温度、個体の出来栄え等に起因する特性ばらつきを補償するキャリブレーションを初期起動時に行うことが必須となってきている。更に、起動後についても温度上昇等の環境変化に対する特性シフトを補償するために動作中の定期的なキャリブレーションを実施することがメモリメーカから推奨されており、これを実施しない場合にはデータ転送エラーを引き起こす恐れがある。このようなメモリを使用するメモリシステムに接続されるマスタは、メモリシステムがキャリブレーションを実施している期間において間欠的にメモリアクセスが禁止される。メモリアクセスが禁止されるメモリアクセス禁止期間が間欠的に発生するメモリシステムを用いるデータ転送装置では、メモリアクセス禁止期間において、全てのマスタからのメモリアクセスが禁止される。
 メモリアクセス禁止期間が間欠的に発生するメモリシステムに接続される複数のマスタのバス使用権を調停するバスアービタは、全てのマスタにおいてデータ転送におけるデータの欠損が発生しないようにバス使用権を調停する必要がある。特に表示処理等のリアルタイム処理を実施するマスタにおいては、メモリアクセス禁止期間が間欠的に発生する場合であっても、データ転送におけるデータの欠損を発生させることはできない。
特許第3708923号公報
 しかしながら、メモリアクセス禁止期間が間欠的に発生するメモリシステムを用いるデータ転送装置において、全てのマスタにおいてデータ転送におけるデータの欠損が発生しないようにバス使用権を調停するためには、メモリアクセス禁止期間に備えて全マスタのバッファ残量を管理する必要があり、複雑で大規模な調停処理が必要となる。
 上記事情を踏まえ、本発明は、メモリアクセス禁止期間が間欠的に発生するメモリシステムを用いるデータ転送装置およびデータ転送方法において、より簡易な仕組みによりデータ転送におけるデータの欠損の発生を抑制することを目的とする。
 上記課題を解決するために、この発明は以下の手段を提案している。
 本発明の第一の態様に係るデータ転送装置は、バッファを有し、前記バッファのデータ量に基づいて残時間カウンタを算出する複数のマスタと、前記複数のマスタとデータ転送を行い、前記複数のマスタからのアクセスが間欠的に禁止されるメモリアクセス禁止期間を有するメモリシステムと、前記残時間カウンタに基づいて前記複数のマスタの調停を行うバスアービタと、前記メモリアクセス禁止期間の開始までの前記残時間カウンタを調整する残時間カウンタオフセットを、前記複数のマスタの少なくとも一つに付加する残時間カウンタ調整部と、を備える。
 本発明の第二の態様に係るデータ転送方法は、複数のマスタとデータ転送を行い、前記複数のマスタからのアクセスが間欠的に禁止されるメモリアクセス禁止期間を有するメモリシステムにおけるデータ転送方法であって、前記複数のマスタが有するバッファのデータ量に基づいて残時間カウンタを算出する残時間カウンタ算出工程と、前記メモリアクセス禁止期間の開始までの前記残時間カウンタを調整する残時間カウンタオフセットを、前記複数のマスタの少なくとも一つに付加する残時間カウンタオフセット付加工程と、前記残時間カウンタに基づいて前記複数のマスタの調停を行う調停工程と、を備える。
 本発明のデータ転送装置およびデータ転送方法は、メモリアクセス禁止期間が間欠的に発生するメモリシステムを用いるデータ転送において、より簡易な仕組みによりデータ転送におけるデータの欠損の発生を抑制することができる。
本発明の第一実施形態に係るデータ転送装置の全体構成を示す図である。 同データ転送装置のマスタの機能ブロック図である。 同データ転送装置のバスアービタによる調停の例を説明する図である。 同データ転送装置のメモリアクセス禁止期間前後におけるマスタの調整残時間カウンタの推移を示している。 比較例のデータ転送装置におけるマスタの残時間カウンタの推移を示している。 本発明の第二実施形態に係るデータ転送装置のメモリアクセス禁止期間前後におけるマスタの調整残時間カウンタの推移を示している。 同データ転送装置の残時間カウンタ調整部の変形例によるマスタの調整残時間カウンタの推移を示している。
(第一実施形態)
 本発明の第一実施形態について、図1から図5を参照して説明する。
 図1は、本実施形態に係るデータ転送装置100の全体構成を示す図である。
 データ転送装置100は、マスタ1と、メモリシステム2と、バスアービタ3と、残時間カウンタ調整部4と、を備えている。メモリシステム2には複数のマスタ1がバスを介して接続されている。マスタ1はいずれも表示処理等のリアルタイム処理が必要なモジュールである。以降の説明において、複数のマスタ1を区別する場合は、それぞれのマスタ1を第一マスタ1a、第二マスタ1b、第三マスタ1cと記載する。なお、メモリシステム2には、リアルタイム処理を必要としない他のマスタも接続されていてもよい。
 図2は、マスタ1の機能ブロック図である。
 マスタ1は、データ処理部11と、バッファ12と、バスインターフェイス13と、残時間カウンタ算出部14と、を有している。データの転送方向がメモリシステム2からマスタ1である場合(メモリリードの場合)、バスインターフェイス13を介してメモリシステム2から転送されデータは、バッファ12に一時的に格納された後、データ処理部11に転送される。データの転送方向がマスタ1からメモリシステム2である場合(メモリライトの場合)、データ処理部11が処理したデータは、バッファ12に一時的に格納された後、バスインターフェイス13を介してメモリシステム2に転送される。
 残時間カウンタ算出部14は、バッファ12のデータ量と、データ転送に必要な帯域(以降、「必要帯域」という)とに基づいて残時間カウンタを算出する(残時間カウンタ算出工程)。
 残時間カウンタ算出部14が残時間カウンタの算出に使用するバッファ12のデータ量は、データの転送方向がメモリシステム2からマスタ1である場合(メモリリードの場合)、バッファ12の蓄積データ量となる。一方、データの転送方向がマスタ1からメモリシステム2である場合(メモリライトの場合)、残時間カウンタ算出部14が算出するデータ量はバッファ12の空きデータ量となる。
 残時間カウンタ算出部14が残時間カウンタの算出に使用する必要帯域は、データ処理部11がデータの欠損なくデータ処理を行うために必要なデータの帯域である。例えば、データ処理部11が4クロックに32ビットのデータ処理が常時必要である場合、必要帯域は8ビット/クロック(32ビット/4クロック)となる。必要帯域はレジスタ等に格納することでCPU等により設定変更可能にしてもよい。
 残時間カウンタ算出部14は、バッファ12のデータ量を必要帯域で除算した値に比例した値を残時間カウンタとして算出する。すなわち、(残時間カウンタ)∝(バッファ12のデータ量[bit])/(必要帯域[bit/clock])である。データの転送方向がメモリシステム2からマスタ1である場合(メモリリードの場合)、残時間カウンタはバッファ12が空状態(バッファエンプティ)になるまでのクロック数に比例した数値を示す。一方、データの転送方向がマスタ1からメモリシステム2である場合(メモリライトの場合)、残時間カウンタはバッファ12が満状態(バッファフル)になるまでのクロック数に比例した数値を示す。算出した残時間カウンタが小さいほど、バッファエンプティやバッファフルへ到達するサイクル数が少なくなるため、データ転送におけるデータの欠損が発生する可能性があり緊急性が高い。
 メモリシステム2は、図1に示すように、メモリ21と、メモリコントローラ22と、スレーブバスインターフェイス23と、を有している。メモリシステム2は、スレーブバスインターフェイス23を経由して転送されるマスタ1からのリード要求やライト要求に応じて、メモリ21からのデータの読み出しやデータの書き込みを実施する。
 メモリ21は、例えばLPDDR4のような低電圧で駆動されるメモリであり、温度等に起因するばらつきを補償するキャリブレーションを、初期起動時だけでなく動作中も定期的に実施する必要があるメモリである。
 メモリコントローラ22は、メモリ21に対するコマンド発行およびデータ転送を行う。また、メモリコントローラ22は、上記キャリブレーションの実施するために必要なコマンド発行も実施する。メモリコントローラ22は、上記キャリブレーションの実施中において、メモリ21に対してデータの読み出しやデータの書き込みを実施できない。
 スレーブバスインターフェイス23は、マスタ1からのリード要求やライト要求を受け付ける。メモリコントローラ22が上記キャリブレーションを実施している期間において、スレーブバスインターフェイス23は、メモリコントローラ22が受付可能な範囲を超えたリード要求やライト要求に応答できない。すなわち、マスタ1は、メモリシステム2がキャリブレーションを実施している期間においてメモリアクセスが禁止される。マスタ1がメモリアクセスが禁止される期間を「メモリアクセス禁止期間」とする。キャリブレーションは動作中も定期的に実施する必要があるため、メモリアクセス禁止期間は間欠的に発生する。
 バスアービタ3は、複数のマスタ1とメモリシステム2との間に設けられており、残時間カウンタに基づいて複数のマスタ1の調停を行う(調停工程)。バスアービタ3は、残時間カウンタが小さいマスタに優先的にバス使用権を付与する。バスアービタ3によってバス使用権を与えられたマスタ1が、メモリシステム2にアクセスできる。なお、バスアービタ3は、メモリシステム2と一体に設けられていてもよいし、メモリシステム2と別体に設けられていてもよい。
 図3は、バスアービタ3による調停の例を説明する図である。
 図3に示す例において、第一マスタ1a、第二マスタ1bおよび第三マスタ1cのデータの転送方向は、メモリシステム2からマスタ1である(メモリリード)。また、第一マスタ1aの必要帯域は4[bit/clock]、第二マスタ1bの必要帯域は2[bit/clock]、第三マスタ1cの必要帯域は4[bit/clock]とする。また、第一マスタ1aのバッファ12には40ビット、第二マスタ1bのバッファ12には24ビット、第三マスタ1cのバッファ12には32ビットのデータがそれぞれ格納されているとする。この場合、第一マスタ1aの残時間カウンタは10、第二マスタ1bの残時間カウンタは12、第三マスタ1cの残時間カウンタは8である。この場合、残時間カウンタが一番小さい第三マスタ1cの優先順位が第一位となり、第一マスタ1aの優先順位が第二位、残時間カウンタが一番大きい第二マスタ1bの優先順位が第三位となる。
 ここで、各バッファ12のバッファサイズが異なっている場合には、バスアービタ3はバッファサイズの違いを考慮してバス優先権を調停することがより好ましい。例えば、バスアービタ3は、各バッファ12のバッファサイズに対応した重み付けを残時間カウンタに対して行ってからバス優先権を調停する。具体的には、バスアービタ3が調停に用いる残時間カウンタに重み付け係数(0<重み付け係数≦1)を乗算する。ここで、重み付け係数は各バッファ12のバッファサイズの比を示す係数であり、例えば最大のバッファサイズに対する比として表される。図3の例では全てのバッファ12のバッファサイズが等しいので、重み付け係数は全て「1」となる。
 残時間カウンタ調整部4はマスタ1に対して、メモリアクセス禁止期間の開始までのバスアービタに提示する残時間カウンタを実際にマスタ1で実際に計算された値よりも小さく調整するオフセット(残時間カウンタオフセット)を、複数のマスタ1の少なくとも一つに付加する(残時間カウンタオフセット付加工程)。ここでマスタ1は、リアルタイム性があり常時データ処理等を実行するためにメモリアクセス禁止期間中にデータ転送におけるデータの欠損が発生する可能性が高くなる。それを回避するため、マスタ1はメモリアクセス禁止期間が開始する前に、メモリアクセス禁止期間中におけるデータの欠損を生じず処理を継続できるだけの蓄積データ量(必要バッファ量)をバッファに貯めておく、もしくはバッファに空きデータ量(必要バッファ量)を確保することが必要となる。残時間カウンタオフセット付加工程によりバスアービタに提示する残時間カウンタを必要バッファ量の分だけ小さくすることで、メモリアクセス禁止期間が開始するまで、必要バッファ量を確保し続けることができる。なお、メモリアクセス禁止期間の長さや発生タイミングは既知であるため、必要バッファ量は事前に算出可能である。
 ここで、残時間カウンタオフセットが付加された残時間カウンタを「調整残時間カウンタ」と称する。すなわち(調整残時間カウンタ)=(マスタ1によって算出された残時間カウンタ)+(残時間カウンタオフセット)である。本実施形態においては、残時間カウンタの値が小さいほど緊急性は高いため、緊急性を高くする残時間カウンタオフセットは負の値である。
 残時間カウンタ調整部4は、複数のマスタ1に対して残時間カウンタオフセットを付加する。残時間カウンタ調整部4は、複数のマスタ1に同じ値の残時間カウンタオフセットを付加してもよいし、複数のマスタ1ごとに異なる値の残時間カウンタオフセットを付加してもよい。残時間カウンタオフセットの値は、上記必要バッファ量の分以上の値とする必要がある。なお、残時間カウンタ調整部4は、リアルタイム処理を必要としない他のマスタに対しては残時間カウンタオフセットを付与しない。
 マスタ1の残時間カウンタ算出部14は、残時間カウンタ算出部14が算出した残時間カウンタに残時間カウンタ調整部4から転送された残時間カウンタオフセットを付加して算出した調整残時間カウンタをバスアービタ3に転送する。
 残時間カウンタ調整部4は、論理回路で構成されていてもよいし、CPUにおいて動作するソフトウェアで構成されていてもよい。残時間カウンタ調整部4は、メモリアクセス禁止期間に動作する必要があるため、論理回路で構成されていることが好ましい。
 残時間カウンタ調整部4は、メモリアクセス禁止期間中において、残時間カウンタオフセットのオフセット量(絶対値)を小さくする。本実施形態においては、残時間カウンタ調整部4はメモリアクセス禁止期間中において、残時間カウンタオフセットの値をゼロとする。
 次にデータ転送装置100の作用について説明する。図4は、メモリアクセス禁止期間前後におけるマスタ1(第一マスタ1a、第二マスタ1b、第三マスタ1c)の調整残時間カウンタの推移を示している。
 マスタ1(第一マスタ1a、第二マスタ1b、第三マスタ1c)は、図4に示すように、メモリアクセス禁止期間の開始まで残時間カウンタオフセットが付加されており、調整残時間カウンタは実際に算出された残時間カウンタより小さい。バスアービタ3は、全てのマスタ1の残時間カウンタが安全水準付近となるように調停を行う。そのため、残時間カウンタオフセットが付加されたマスタ1は、バスアービタ3によるバス使用権の調停において、必要バッファ量を確保しながら通常の優先順位で調停が行われる。
 データの転送方向がメモリシステム2からマスタ1である場合(メモリリードの場合)、マスタ1のバッファ12の蓄積データ量はより多くなる。一方、データの転送方向がマスタ1からメモリシステム2である場合(メモリライトの場合)、マスタ1のバッファ12の空きデータ量はより多くなる。
 残時間カウンタ調整部4は、メモリアクセス禁止期間中において必要バッファ量をメモリアクセス禁止期間が開始されるまでに確保されるように付加する残時間カウンタオフセットの値を調整する。
 データの転送方向がメモリシステム2からマスタ1である場合(メモリリードの場合)、メモリアクセス禁止期間中にバッファ12が空状態(バッファエンプティ)にならない十分な量のデータがメモリシステム2から読み出されてバッファ12に格納されるように、メモリアクセス禁止期間の開始前における残時間カウンタオフセットの値が調整される。
 一方、データの転送方向がマスタ1からメモリシステム2である場合(メモリライトの場合)、メモリアクセス禁止期間中にバッファ12が満状態(バッファフル)にならない十分な量のデータがバッファ12から取り出されてメモリシステム2に対して書き込まれるように、メモリアクセス禁止期間の開始前における残時間カウンタオフセットの値が調整される。
 マスタ1は、メモリアクセス禁止期間においてメモリアクセスが禁止される。そのため、図4に示すように、メモリアクセス禁止期間においてマスタ1の残時間カウンタは時間経過に従い小さくなる。しかしながら、メモリアクセス禁止期間の終了時において、いずれのマスタ1の残時間カウンタも危険水準には達しておらず、データ転送におけるデータの欠損は発生していない。
 残時間カウンタ調整部4はメモリアクセス禁止期間の開始時において、残時間カウンタオフセットの値をゼロとする。図4に示すように、メモリアクセス禁止期間の開始前と終了後において、マスタ1の調整残時間カウンタはいずれも同水準であり、危険水準には達していない。そのため、バスアービタ3は、メモリアクセス禁止期間の終了時において、一部のマスタ1に集中的にバス使用権を付与するような調停を行うことなく、メモリアクセス禁止期間の開始前と同様の通常優先順位での調停を継続できる。
 図5は、比較例として、残時間カウンタ調整部4を有さないデータ転送装置におけるマスタ1(第一マスタA、第二マスタB、第三マスタC)の残時間カウンタの推移を示している。メモリアクセス禁止期間の開始まで残時間カウンタオフセットが付加されていないため、危険水準はメモリアクセス禁止期間に耐えうるだけの必要バッファ量を確保した大きい水準に設定されていて、マスタ1の残時間カウンタはメモリアクセス禁止期間の終了時において複数のマスタが危険水準を大きく超えることとなり、複数マスタでの緊急性の高い調停が発生する。これにより通常優先順位での調停と異なり好適なスケジューリングが行えずメモリアクセス禁止期間にマスタ1はデータ転送におけるデータの欠損が発生する場合もあり得る。
 比較例のデータ転送装置は、図5に示すように、メモリアクセス禁止期間の終了時において、第一マスタA、第二マスタB、第三マスタCの残時間カウンタの全てが危険水準に達している。バスアービタ3が、図5に示すように、残時間カウンタが危険水準に達しているマスタ1のうち優先度が高い第一マスタAに対して連続的にバス使用権を付与する調停を実施した場合、第一マスタAの残時間カウンタは安全水準まで戻る。しかしながら、優先度が低い第三マスタCは、バス使用権の付与を受けることができず、データ転送におけるデータの欠損が発生している。
 本実施形態のデータ転送装置100によれば、メモリアクセス禁止期間が間欠的に発生するメモリシステム2を用いるデータ転送装置100において、より簡易な仕組みによりデータ転送におけるデータの欠損の発生を抑制することができる。残時間カウンタ等を用いてバス使用権の調停を実施する一般的なデータ転送装置に残時間カウンタ調整部4を追加するのみで、メモリアクセス禁止期間が間欠的に発生する場合であっても、データ転送におけるデータの欠損の発生を抑制することができる。残時間カウンタを用いてバス使用権の調停を実施するバスアービタ3側には、メモリアクセス禁止期間の発生に対応するための大きな仕様変更が不要である。
 以上、本発明の第一実施形態について図面を参照して詳述したが、具体的な構成はこの実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲の設計変更等も含まれる。また、上述の実施形態および変形例において示した構成要素は適宜に組み合わせて構成することが可能である。
(変形例1)
 例えば、上記実施形態において残時間カウンタ調整部4は、各マスタ1に対して残時間カウンタオフセットを付加し、マスタ1が算出した残時間カウンタに対して残時間カウンタオフセットを付加した調整残時間カウンタを算出していたが、調整残時間カウンタの算出態様はこれに限定されない。残時間カウンタオフセットの付加は、マスタ1ではなく、バスアービタ3が実施してもよい。
(変形例2)
 例えば、上記実施形態においてマスタ1の残時間カウンタ算出部14は、バッファ12のデータ量と必要帯域とに基づいて残時間カウンタを算出していたが、残時間カウンタの算出態様はこれに限定されない。残時間カウンタ算出部14は、バッファのデータ量のみから残時間カウンタを算出してもよい。緊急性の予測精度は低下するが、より簡易に残時間カウンタを算出することができる。
(第二実施形態)
 本発明の第二実施形態に係るデータ転送装置100Bについて、図6から図7を参照して説明する。以降の説明において、既に説明したものと共通する構成については、同一の符号を付して重複する説明を省略する。データ転送装置100Bは、第一実施形態のデータ転送装置100と比較して、残時間カウンタの調整方法が異なる。
 データ転送装置100Bは、マスタ1と、メモリシステム2と、バスアービタ3と、残時間カウンタ調整部4Bと、を備えている。
 残時間カウンタ調整部4Bは、複数のマスタ1に対して残時間カウンタオフセットを付加する。残時間カウンタ調整部4は、メモリアクセス禁止期間の終了時からメモリアクセス禁止期間の開始までに残時間カウンタオフセットのオフセット量(絶対値)を段階的に大きくする。
図6は、データ転送装置100Bにおけるメモリアクセス禁止期間前後におけるマスタ1の調整残時間カウンタの推移を示している。
 マスタ1は、図6に示すように、メモリアクセス禁止期間の終了時からメモリアクセス禁止期間の開始まで段階的に変化する残時間カウンタオフセットが付加される。マスタ1からバスアービタ3に転送される調整残時間カウンタは急激に高くなることなく段階的に高くなるため、バスアービタ3は調整残時間カウンタが急激に高くなったマスタ1に対して極端にバス使用権の優先順位を下げることはない。他のマスタ1にも同様の処理を実施することで、あるマスタ1のみに集中的にバス使用権の付与を実施するような調停を行うことなく、効率的な調停を実施できる。
 本実施形態のデータ転送装置100Bによれば、メモリアクセス禁止期間が間欠的に発生するメモリシステムを用いるデータ転送装置100において、より簡易な仕組みによりデータ転送におけるデータの欠損の発生を抑制することができる。段階的に変化する残時間カウンタオフセットを付加することで、残時間カウンタオフセット付与時のバスアービタ3の調停をスムーズに行うことができる。
 以上、本発明の第二実施形態について図面を参照して詳述したが、具体的な構成はこの実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲の設計変更等も含まれる。また、上述の実施形態および変形例において示した構成要素は適宜に組み合わせて構成することが可能である。
(変形例3)
 図7は、残時間カウンタ調整部4Bの変形例である残時間カウンタ調整部4Cによるマスタ1の調整残時間カウンタの推移を示している。
 残時間カウンタ調整部4Cは、メモリアクセス禁止期間の終了時からメモリアクセス禁止期間の開始までにマスタ1ごとに時間差を設けて残時間カウンタオフセットを変化させる。図7に示すように、残時間カウンタ調整部4Cは、メモリアクセス禁止期間の終了後、まず第一マスタ1aの残時間カウンタオフセットのオフセット量(絶対値)を段階的に大きくする。その後、残時間カウンタ調整部4Cは第二マスタ1bの残時間カウンタオフセットのオフセット量(絶対値)を段階的に大きくする。
 複数のマスタ1の残時間カウンタオフセットを同時に変化させる場合と比較すると、バスアービタ3において、バス使用権を要求する競合が発生しにくく、より効率的にバスを使用することができる。
 本発明は、複数のマスタがメモリシステムに接続されるデータ転送装置に適用することができる。
100,100B データ転送装置
1 マスタ
1a 第一マスタ
1b 第二マスタ
1c 第三マスタ
11 データ処理部
12 バッファ
13 バスインターフェイス
14 残時間カウンタ算出部
2 メモリシステム
21 メモリ
22 メモリコントローラ
23 スレーブバスインターフェイス
3 バスアービタ
4,4B,4C 残時間カウンタ調整部

Claims (10)

  1.  バッファを有し、前記バッファのデータ量に基づいて残時間カウンタを算出する複数のマスタと、
     前記複数のマスタとデータ転送を行い、前記複数のマスタからのアクセスが間欠的に禁止されるメモリアクセス禁止期間を有するメモリシステムと、
     前記残時間カウンタに基づいて前記複数のマスタの調停を行うバスアービタと、
     前記メモリアクセス禁止期間の開始までの前記残時間カウンタを調整する残時間カウンタオフセットを、前記複数のマスタの少なくとも一つに付加する残時間カウンタ調整部と、を備える、データ転送装置。
  2.  前記複数のマスタは、前記バッファの前記データ量に加えて、前記データ転送に必要な帯域を用いて前記残時間カウンタを算出し、
     前記残時間カウンタは、前記バッファに格納した前記データ量が空状態もしくは満状態となるまでの時間が短いほど小さくなる、
     請求項1に記載のデータ転送装置。
  3.  前記残時間カウンタ調整部は、前記メモリアクセス禁止期間の終了時から前記メモリアクセス禁止期間の開始までに前記残時間カウンタオフセットのオフセット量を段階的に大きくする、
     請求項1または請求項2に記載のデータ転送装置。
  4.  前記残時間カウンタ調整部は、前記複数のマスタごとに異なる値の前記残時間カウンタを付加する前記残時間カウンタオフセットを付加する、
     請求項3に記載のデータ転送装置。
  5.  前記残時間カウンタ調整部は、前記複数のマスタごとに時間差を設けて前記残時間カウンタオフセットを変化させる、
     請求項1から請求項4のいずれか一項に記載のデータ転送装置。
  6.  複数のマスタとデータ転送を行い、前記複数のマスタからのアクセスが間欠的に禁止されるメモリアクセス禁止期間を有するメモリシステムにおけるデータ転送方法であって、
     前記複数のマスタが有するバッファのデータ量に基づいて残時間カウンタを算出する残時間カウンタ算出工程と、
     前記メモリアクセス禁止期間の開始までの前記残時間カウンタを調整する残時間カウンタオフセットを、前記複数のマスタの少なくとも一つに付加する残時間カウンタオフセット付加工程と、
     前記残時間カウンタに基づいて前記複数のマスタの調停を行う調停工程と、
     を備える、
     データ転送方法。
  7.  前記残時間カウンタ算出工程は、前記バッファの前記データ量に加えて、前記データ転送に必要な帯域を用いて前記残時間カウンタを算出し、
     前記残時間カウンタは、前記バッファに格納した前記データ量が空状態もしくは満状態となるまでの時間が短いほど小さくなる、
     請求項6に記載のデータ転送方法。
  8.  前記残時間カウンタオフセット付加工程は、前記メモリアクセス禁止期間の終了時から前記メモリアクセス禁止期間の開始までに前記残時間カウンタオフセットのオフセット量を段階的に大きくする、
     請求項6または請求項7に記載のデータ転送方法。
  9.  前記残時間カウンタオフセット付加工程は、前記複数のマスタごとに異なる値の前記残時間カウンタを付加する前記残時間カウンタオフセットを付加する、
     請求項8に記載のデータ転送方法。
  10.  前記残時間カウンタオフセット付加工程は、前記複数のマスタごとに時間差を設けて前記残時間カウンタオフセットを変化させる、
     請求項6から請求項9のいずれか一項に記載のデータ転送方法。
PCT/JP2019/047625 2019-12-05 2019-12-05 データ転送装置およびデータ転送方法 WO2021111583A1 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN201980101132.4A CN114503089B (zh) 2019-12-05 2019-12-05 数据传送装置和数据传送方法
PCT/JP2019/047625 WO2021111583A1 (ja) 2019-12-05 2019-12-05 データ転送装置およびデータ転送方法
JP2021562282A JP7381603B2 (ja) 2019-12-05 2019-12-05 データ転送装置およびデータ転送方法
US17/735,769 US11842071B2 (en) 2019-12-05 2022-05-03 Data transfer device and data transfer method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2019/047625 WO2021111583A1 (ja) 2019-12-05 2019-12-05 データ転送装置およびデータ転送方法

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US17/735,769 Continuation US11842071B2 (en) 2019-12-05 2022-05-03 Data transfer device and data transfer method

Publications (1)

Publication Number Publication Date
WO2021111583A1 true WO2021111583A1 (ja) 2021-06-10

Family

ID=76221567

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2019/047625 WO2021111583A1 (ja) 2019-12-05 2019-12-05 データ転送装置およびデータ転送方法

Country Status (4)

Country Link
US (1) US11842071B2 (ja)
JP (1) JP7381603B2 (ja)
CN (1) CN114503089B (ja)
WO (1) WO2021111583A1 (ja)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003337741A (ja) * 2002-05-21 2003-11-28 Sony Corp データ転送システム及び方法、並びに、アクセスモニタ装置
JP2004252523A (ja) * 2003-02-18 2004-09-09 Fujitsu Ltd データ転送装置
JP2007108996A (ja) * 2005-10-13 2007-04-26 Sharp Corp メモリ装置およびメモリ制御方法
JP2019134240A (ja) * 2018-01-29 2019-08-08 キヤノン株式会社 画像処理装置

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3214736A (en) * 1959-04-20 1965-10-26 Burroughs Corp Magnetic tape scan with field selection
JPH05244426A (ja) * 1992-02-28 1993-09-21 Fujitsu Ltd 符号データ供給方式
JP3190852B2 (ja) * 1997-04-24 2001-07-23 甲府日本電気株式会社 情報処理システムのディスパッチ方式
JP2000029822A (ja) * 1998-07-15 2000-01-28 Matsushita Electric Ind Co Ltd ブリッジ装置
EP1289196A1 (de) * 2001-08-27 2003-03-05 Siemens Aktiengesellschaft Verfahren zur Übermittlung von Paketdaten unterschiedlicher Prioritätsstufen in einem Telekommunikationsnetz
JP2004055084A (ja) * 2002-07-23 2004-02-19 Renesas Technology Corp メモリ制御回路
JP2004078508A (ja) * 2002-08-16 2004-03-11 Nec Micro Systems Ltd バス調停回路、バス調停方法およびそのプログラム
JP4522808B2 (ja) 2004-09-29 2010-08-11 オリンパス株式会社 バス制御装置
WO2007079985A1 (en) * 2006-01-13 2007-07-19 Freescale Semiconductor, Inc. Protection system and method of operation therein
JP2007280253A (ja) 2006-04-11 2007-10-25 Canon Inc 情報処理装置及び情報処理方法
JP4455540B2 (ja) * 2006-06-15 2010-04-21 キヤノン株式会社 バスシステム及び調停方法
CN101438541B (zh) * 2006-09-20 2011-12-07 松下电器产业株式会社 中继传输设备以及中继传输方法
US7774520B2 (en) * 2006-12-19 2010-08-10 Intel Corporation Method and apparatus for maintaining synchronization of audio in a computing system
JP2008269176A (ja) * 2007-04-18 2008-11-06 Canon Inc バスマスタ装置、情報処理システム、バスマスタ装置の制御方法並びにコンピュータプログラム
JP2009266152A (ja) * 2008-04-30 2009-11-12 Toshiba Corp コントローラ、ハードディスクドライブおよびコントロール方法
JP2011182369A (ja) * 2010-03-04 2011-09-15 Ricoh Co Ltd データ転送装置、データ転送方法、データ転送プログラム及び記録媒体
JP2012003527A (ja) 2010-06-17 2012-01-05 Fujitsu Semiconductor Ltd データ転送管理装置、データ転送管理方法およびデータ転送管理プログラム
CN103201725B (zh) * 2010-11-25 2015-12-09 国际商业机器公司 用于在多个处理器之间共享的存储器的存储器访问设备
WO2013014841A1 (ja) * 2011-07-22 2013-01-31 パナソニック株式会社 データ処理装置およびデータ処理方法
US9361145B1 (en) * 2014-06-27 2016-06-07 Amazon Technologies, Inc. Virtual machine state replication using DMA write records
WO2019043822A1 (ja) 2017-08-30 2019-03-07 オリンパス株式会社 メモリアクセス装置、画像処理装置、および撮像装置
US10430352B1 (en) * 2018-05-18 2019-10-01 Apple Inc. Methods and apparatus for reduced overhead data transfer with a shared ring buffer
JP2021196681A (ja) * 2020-06-10 2021-12-27 ルネサスエレクトロニクス株式会社 半導体装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003337741A (ja) * 2002-05-21 2003-11-28 Sony Corp データ転送システム及び方法、並びに、アクセスモニタ装置
JP2004252523A (ja) * 2003-02-18 2004-09-09 Fujitsu Ltd データ転送装置
JP2007108996A (ja) * 2005-10-13 2007-04-26 Sharp Corp メモリ装置およびメモリ制御方法
JP2019134240A (ja) * 2018-01-29 2019-08-08 キヤノン株式会社 画像処理装置

Also Published As

Publication number Publication date
CN114503089A (zh) 2022-05-13
US11842071B2 (en) 2023-12-12
JP7381603B2 (ja) 2023-11-15
US20220261179A1 (en) 2022-08-18
JPWO2021111583A1 (ja) 2021-06-10
CN114503089B (zh) 2024-05-14

Similar Documents

Publication Publication Date Title
JP4457168B2 (ja) 資源要求調停装置、資源要求調停方法、及び、コンピュータプログラム
WO2011089660A1 (ja) バス調停装置
JP2010282405A (ja) データ処理システム
JP5829890B2 (ja) 半導体データ処理装置、タイムトリガ通信システム及び通信システム
JP4499008B2 (ja) Dma転送システム
EP2423824B1 (en) Data transfer device, method of transferring data, and image forming apparatus
US20130254444A1 (en) Image processing apparatus
EP2709020B1 (en) System and method to arbitrate access to memory
JP2004005677A (ja) 集積回路装置のバスアービター
WO2021111583A1 (ja) データ転送装置およびデータ転送方法
JP2008040650A (ja) バスアービトレーション装置
US9767054B2 (en) Data transfer control device and memory-containing device
JP5677007B2 (ja) バス調停装置、バス調停方法
JP2006215621A (ja) Dma制御装置
EP1424634B1 (en) Avoidance of extended bus occupancy through simple control operation
EP1513069A2 (en) Resource management apparatus
JP4934000B2 (ja) 調停装置、調停方法及びプログラム
CN106030557B (zh) 多端口共享存储器
US20080270668A1 (en) Method to Hide or Reduce Access Latency of a Slow Peripheral in a Pipelined Direct Memory Access System
JP6036806B2 (ja) バスアクセス調停回路およびバスアクセス調停方法
JP4151362B2 (ja) バス調停方式、データ転送装置、及びバス調停方法
US20110055446A1 (en) Semiconductor integrated circuit device
WO2020230413A1 (ja) 情報処理装置
JP2021005327A (ja) 情報処理装置
WO2009078559A1 (en) Direct memory access controller for improving data transmission efficiency in mmoip and method therefor

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 19955254

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2021562282

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 19955254

Country of ref document: EP

Kind code of ref document: A1