WO2011155096A1 - データ転送制御装置とその集積回路とデータ転送制御方法、データ転送終了通知装置とその集積回路とデータ転送終了通知方法、およびデータ転送制御システム - Google Patents
データ転送制御装置とその集積回路とデータ転送制御方法、データ転送終了通知装置とその集積回路とデータ転送終了通知方法、およびデータ転送制御システム Download PDFInfo
- Publication number
- WO2011155096A1 WO2011155096A1 PCT/JP2011/000372 JP2011000372W WO2011155096A1 WO 2011155096 A1 WO2011155096 A1 WO 2011155096A1 JP 2011000372 W JP2011000372 W JP 2011000372W WO 2011155096 A1 WO2011155096 A1 WO 2011155096A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- transfer control
- data transfer
- information
- order
- control information
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/28—Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
Definitions
- the present invention relates to control of a plurality of data transfers.
- an information processing apparatus that performs DMA (Direct Memory Access) transfer in parallel using a plurality of channels between a high-speed IO interface such as SDXC, USB, and SATA and a main storage device. This suppresses a decrease in DMA transfer throughput.
- DMA Direct Memory Access
- the DMA controller 1030 has descriptors (transfer control information) D1, D2, D3 stored in the buffer 6050 for each DMA channel CH1, CH2, CH3. There is a configuration in which data is transferred by reading D4.
- descriptors D1, D2, D3, D4,... are stored in the buffer 6050 in order from the storage area with the smallest address
- the DMA controller 1030 updates the value of the read pointer RP of the buffer 6050 with the address (x0004) of the storage area in which the descriptor D4 is stored.
- the DMA controller 1030 acquires the descriptor D4 stored in the storage area of the address indicated by the read pointer RP, and starts data transfer based on the descriptor D4.
- the CPU 1000 refers to the value of the read pointer RP in the buffer 6050 and confirms whether all data has been transferred. For example, in the case shown in FIG. 29, the CPU 1000 recognizes that the DMA transfer based on the descriptors D1 to D4 is completed when the value of the read pointer is updated to the address of the storage area of the descriptor D4 at time Td.
- the CPU 1000 completes all DMA transfers based on the descriptors D1, D2, D3, and D4 when the value of the read pointer is updated to the address of the storage area of the descriptor D4 at time Td. It will be recognized as a thing. Then, the CPU 1000 operates erroneously by recognizing that the DMA transfer based on all the descriptors D1, D2, D3, and D4 is completed even though the DMA transfer based on the descriptor D3 is not completed. There was a fear.
- This configuration has been made in view of the above reasons, and a processing device that performs processing using a plurality of data after recognizing the end of the transfer of the plurality of data while realizing a significant improvement in the throughput of the data transfer
- the purpose of this is to prevent malfunctions.
- a data transfer control device includes a transfer control information management unit that holds a plurality of transfer control information read in a predetermined read order and management information for managing the predetermined read order.
- a data transfer control device that reads one transfer control information and controls data transfer performed in any one of a plurality of data transfer channels based on the transfer control information.
- the transfer control information reading means for reading the data, the order information holding means for holding the order information indicating the reading order of the transfer control information read by the transfer control information reading means, and the data transfer based on the transfer control information being completed.
- Transfer end recognition means for recognizing the data and the order information held by each of the other data transfer control devices from other data transfer control devices.
- the recognizing means recognizes that the data transfer is completed, and the reading order indicated by the order information held by the context determining means is ahead of the reading order indicated by the order information held by each of the other data transfer control devices.
- the management information updating means for updating the management information is provided.
- the transfer end recognition unit recognizes that the data transfer is completed, and the order information held by the order determination unit holds the order information held by each of the other data transfer devices.
- each data transfer control device can sequentially execute data transfer independently of other data transfer control devices by providing management information updating means for updating the management information.
- management information updating means for updating the management information.
- the management information is ahead of the foremost read order in the read order indicated by the order information held by itself and the order information held by each of the other data transfer control devices.
- the management information update means indicates the read order indicated by the order information held by the management information update means by the order information held by another data transfer control device. If it is determined to be ahead of the reading order, the executed order information may be updated using the order information held by itself.
- the management information indicates the read order ahead of the forward read order in the read order indicated by the order information held by itself and the order information held by each of the other data transfer control devices.
- the management information updating means updates the executed order information using the order information held by itself, and thereby the order from the beginning to the reading order indicated by the executed order information is established. Since it is possible to prevent transfer control information corresponding to data transfer that has not been executed yet from being mixed in the read transfer control information, from the first data transfer to the data transfer corresponding to the executed sequence information Since it is guaranteed that the processing has been completed reliably, it is possible to prevent malfunction of the processing device that performs processing based only on the executed order information.
- the management information update unit has a read order indicated by the order information held by each of the other data transfer control devices. If it is determined that it is not ahead, the executed order information may not be updated using the order information held by itself.
- the data transfer control device extracts the latest sequence information that extracts the latest sequence information indicating the last read order from the sequence information held by itself and the sequence information held by each of the other data transfer control devices. And the transfer control information reading means is read out next to the transfer control information read in the read order indicated by the latest order information from the transfer control information management means when the end of data transfer is recognized by the transfer end recognition means.
- the transfer control information may be acquired.
- the latest order information extracting means for extracting some latest order information, and when the transfer control information reading means recognizes the end of data transfer by the transfer end recognition means, the read order indicated by the latest order information from the transfer control information management means By acquiring the transfer control information that is read next to the transfer control information that is read by the transfer control information, it is possible to prevent the transfer control information reading means from erroneously reading the transfer control information corresponding to the data transfer that has been executed. Therefore, it is possible to prevent occurrence of useless data transfer.
- the management information includes final order information indicating the read order of the transfer control information stored last in the transfer control information management unit, and acquires the final order information.
- the data transfer control device further comprises final order information update detecting means for detecting the update of the final order information, and the transfer control information reading means includes a read order indicated by the latest order information and a final order determined by the context determination means.
- the transfer control information reading means includes a read order indicated by the latest order information and a final order determined by the context determination means.
- the transfer control information reading unit performs the final order information update detection unit by the final order information update detection unit.
- the transfer control information is obtained by performing the operation of acquiring the transfer control information read next to the transfer control information read in the read order indicated by the latest order information from the transfer control information management unit. Since the reading means can perform the operation of acquiring the transfer control information as soon as new transfer control information is stored, the efficiency of data transfer can be improved.
- the order information held by itself is a local read pointer held by itself indicating the address of the storage area of the transfer control information read by itself
- each of the other data transfer control devices Is the local read pointer held by each of the other data transfer control devices indicating the address of the storage area of the transfer control information read by the other data transfer control device
- the management information is the transfer control information management means Among the write pointer indicating the address of the storage area of the transfer control information stored last, the address indicated by the local read pointer held by itself, and the address indicated by the local read pointer held by each of the other data transfer control devices Transfer control information whose read order is ahead of the transfer control information of the frontmost address Or it may be configured to include a global read pointer indicating the stored address of the storage area.
- the context determining unit determines the order of the read order of the transfer control information according to the value of the local read pointer held by itself and the value of the local read pointer held by each of the other data transfer control devices. can do.
- the transfer control information management means is constituted by a ring buffer, and when the management information updates the value of the write pointer, the value of the write pointer before the update is the write data after the update. If the value is larger than the pointer value, it is set to the enabled state. When updating the read pointer, the overlap is set to the disabled state if the value of the global read pointer before the update is larger than the value of the global read pointer after the update. It may be configured to include a flag.
- the context determining unit holds the value of the write pointer, the value of the local read pointer held by itself, and each of the other data transfer control devices. Compares the magnitude relationship with the value of the local read pointer, reads the transfer control information stored in the storage area of the address indicated by the local read pointer, and the local read held by each of the other data transfer control devices. It may be possible to determine the context of the transfer control information stored in the storage area of the address indicated by the pointer.
- a ring buffer can be used as transfer control information management means.
- the management information update unit updates the value of the global read pointer
- the value of the global read pointer before the update is larger than the value of the global read pointer after the update.
- the overlap flag may be set to a disabled state.
- a ring buffer can be used as transfer control information management means.
- the global read pointer can be appropriately updated on the ring buffer.
- the transfer control information management means comprises a buffer in which transfer control information is stored in order from a storage area having a smaller address in a plurality of storage areas having consecutive addresses. It may be.
- the configuration of the transfer control information management means can be simplified.
- the data transfer control device enables the context determination unit to determine whether the local read pointer value held by itself is smaller than the local read pointer value held by each of the other data transfer control devices.
- the reading order of the transfer control information stored in the storage area of the address indicated by the local read pointer held by the data transfer control information stored in the storage area of the address indicated by the local read pointer held by each of the other data transfer control devices It may be determined to be ahead of the reading order.
- the management information update means has the read order of the transfer control information stored in the storage area of the address indicated by the local read pointer held by the context determination means with other data. If it is determined that it is ahead of the read order of the transfer control information stored in the storage area of the address indicated by the local read pointer held by each transfer control device, the value of the local read pointer held by the global read pointer You may update using.
- This configuration can appropriately update the global read pointer on the buffer.
- the latest order information extracting unit transfers the last read order from the local read pointer held by itself and the local read pointer held by each of the other data transfer control devices.
- the latest read pointer indicating the address of the storage area in which the control information is stored is extracted, and includes a threshold value comparing means for comparing a predetermined threshold value with the value of the latest read pointer, and the transfer control information reading means has a threshold value
- the comparison means determines that the predetermined threshold value is equal to the value of the latest read pointer, an operation of acquiring transfer control information read out next to the transfer control information stored in the storage area of the address indicated by the latest read pointer is performed. You may not perform.
- the data transfer is stopped when the predetermined threshold value is reached without waiting for the transfer control information to be read until the address indicated by the latest read pointer matches the address indicated by the write pointer. Can do.
- the predetermined threshold value may be obtained by adding a predetermined value to the value of the global read pointer.
- data transfer can be stopped each time a number of transfer control information equal to a predetermined threshold is read.
- the predetermined threshold value may be obtained by subtracting a predetermined value from the value of the write pointer.
- data transfer can be stopped when the number of unexecuted transfer control information reaches a predetermined threshold.
- the transfer control information may include at least a transfer destination address of data transfer and a size of data to be transferred.
- the data transfer control device may comprise transfer control information acquisition completion notifying means for sending a transfer control information acquisition completion signal when acquisition of transfer control information by the transfer control information reading means is completed.
- the transfer end recognizing means recognizes whether the data transfer ends normally or abnormally, and the transfer control information reading means performs the data transfer normal end by the transfer end recognizing means.
- the transfer end recognition means does not perform the operation of newly acquiring the transfer control information when the transfer end recognition means recognizes that the data transfer has ended abnormally. Also good.
- the data transfer control device receives a piece of transfer control information from a transfer control information management means that holds a plurality of transfer control information read in a predetermined reading order and management information for managing the predetermined reading order.
- a data transfer control device for controlling one of a plurality of data transfers via a plurality of data transfer channels based on the read control information, and a transfer control for reading the transfer control information from a transfer control information management means
- a flag holding means for holding a data transfer end flag indicating whether or not the data transfer based on the transfer control information is finished , When the end of data transfer is recognized by the transfer completion recognition means, may be provided with a flag updating means for updating the data transfer end flag.
- the data transfer end notification device controls a plurality of data transfers executed in parallel via a plurality of data transfer channels based on the corresponding transfer control information.
- a data transfer end notification device that is commonly connected to the data transfer control device and notifies the at least one data transfer control device that the data transfer controlled by the data transfer control device has been completed.
- An end notification unit may be provided.
- the transfer end notification signal is sent to the corresponding data transfer control device by sending a transfer end notification signal at a predetermined timing.
- the transmission timing can be set appropriately so that transfer control information acquisition operations in a plurality of data transfer control devices can be performed exclusively with each other. It is possible to prevent the operation for acquiring the control information from being performed.
- the data transfer end notification device provides a transfer end notification when a plurality of data transfer channels have priorities set in advance and the transfer end detection means simultaneously detects the end of a plurality of data transfers.
- the means may be provided with a priority determination unit that transmits a transfer end notification signal only to the data transfer control device corresponding to the data transfer channel with the highest priority.
- the transfer end notification unit when a plurality of data transfer channels have priorities set in advance and the transfer end detection unit simultaneously detects the end of a plurality of data transfers, the transfer end notification unit has the highest priority.
- a priority determination unit that sends a transfer end notification signal to a data transfer control device corresponding to a high-speed data transfer channel, transfer control information acquisition operations in a plurality of data transfer control devices are mutually exclusive. Therefore, it is possible to prevent a plurality of data transfer control devices from competing to perform an operation of acquiring one transfer control information.
- the data transfer end notification device further comprises transfer control information acquisition completion recognition means for recognizing completion of acquisition of transfer control information from the data transfer control device, and the transfer end notification means acquires transfer control information acquisition.
- the transfer completion notification signal may not be sent to another data transfer control device until the completion recognizing means recognizes that the acquisition of transfer control information is completed in one data transfer control device.
- the transfer end detection means detects whether the data transfer has ended normally or abnormally and sends an end result notification signal to the corresponding data transfer control device.
- An end result detection unit may be provided.
- the end result detection unit may detect that the data transfer has ended abnormally when a checksum error occurs in the transferred data.
- the present invention reads one transfer control information from a transfer control information management unit that holds a plurality of transfer control information read in a predetermined read order and management information for managing the predetermined read order, and the transfer control information
- a data transfer control integrated circuit for controlling data transfer performed in any one of a plurality of data transfer channels based on the transfer control information reading means for reading the transfer control information from the transfer control information managing means, and the transfer Order information holding means for holding the order information held by itself indicating the reading order of the transfer control information read by the control information reading means, transfer end recognition means for recognizing that the data transfer based on the transfer control information has ended,
- the order information held by each of the other data transfer control devices held by each of the other data transfer control devices is changed to other data transfer control devices.
- Order information acquisition means for acquiring from the apparatus; and a context determination means for determining the order of the read order indicated by the order information held by itself and the read order indicated by the order information held by each of the other data transfer control devices;
- the read end is recognized by the transfer end recognizing means, and the read order indicated by the order information held by the context determining means is higher than the read order indicated by the order information held by each of the other data transfer control devices.
- a data transfer control integrated circuit provided with management information updating means for updating the management information may be used.
- the size can be reduced.
- the present invention reads one transfer control information from a transfer control information management unit that holds a plurality of transfer control information read in a predetermined read order and management information for managing the predetermined read order, and the transfer control information
- An order information holding step for holding the order information held by itself indicating the reading order of the transfer control information read by the reading means; a transfer end recognition means for recognizing that the data transfer based on the transfer control information is completed;
- the order information held by each other data transfer control device held by each data transfer control device is transferred to another data transfer Order information acquisition step for acquiring from the control device, a context determination step for determining the order of the read order indicated by the order information held by itself and the read order indicated by the order information held by each of the other data transfer control devices
- the transfer end recognition means recognizes that the data transfer has ended, and the read order indicated
- each data transfer control device can sequentially execute data transfer independently of other data transfer control devices, and while preventing the occurrence of a transfer waiting time, a predetermined read based on management information is possible. Since it is possible to recognize whether or not the transfer of all the plurality of data has been completed with reference to the order, it is possible to realize a significant improvement in the throughput of the data transfer, It is possible to prevent malfunction of a processing apparatus that performs processing using data.
- the present invention is common to a plurality of data transfer control devices that control any one data transfer among a plurality of data transfers executed in parallel via a plurality of data transfer channels based on corresponding transfer control information.
- a data transfer end notification integrated circuit for notifying at least one data transfer control device that the data transfer controlled by the data transfer control device has been completed.
- a data transfer end comprising: a transfer end detecting means for detecting; and a transfer end notifying means for sending a transfer end notification signal to the corresponding data transfer control device when the transfer end detecting means detects the end of at least one data transfer.
- An integrated circuit for notification may be used.
- the size can be reduced.
- the present invention is common to a plurality of data transfer control devices that control any one data transfer among a plurality of data transfers executed in parallel via a plurality of data transfer channels based on corresponding transfer control information.
- a data transfer end notification method for notifying at least one data transfer control device that data transfer controlled by the data transfer control device has ended, and detecting the end of at least one data transfer
- a data transfer end notification method comprising: a transfer end detection step; and a transfer end notification step of transmitting a transfer end notification signal to a corresponding data transfer control device when the transfer end detection means detects the end of at least one data transfer. It may be.
- the timing for sending the transfer end notification signal can be set as appropriate so that the transfer control information acquisition operations in the plurality of data transfer control devices can be performed exclusively. It is possible to prevent the operation of acquiring one transfer control information from competing by the data transfer control device.
- the present invention reads one transfer control information from a transfer control information management unit that holds a plurality of transfer control information read in a predetermined read order and management information for managing the predetermined read order, and the transfer control information And a data transfer control device that controls data transfer performed in any one of the plurality of data transfer channels, and is connected to the plurality of data transfer control devices and is connected to at least one data transfer control device.
- a data transfer control system composed of a data transfer end notification device for notifying completion of data transfer controlled by the data transfer control device, and holding the order information held by itself indicating the read order of the transfer control information Transfer information in the read order indicated by the order information held by the order information holding means and the transfer control information management means.
- Transfer control information reading means for reading information, transfer end recognition means for recognizing completion of data transfer based on transfer control information, and other data transfer control devices held by other data transfer control devices
- the order information acquisition means for acquiring the order information to be performed from the other data transfer control device, the read order indicated by the order information held by itself, and the read order indicated by the order information held by each of the other data transfer control devices
- the data transfer has been completed by the context determining means for determining the relationship and the transfer end recognizing means, and the reading order indicated by the order information held by the context determining means is the other data transfer control device.
- Management information updating means for updating the management information when it is determined to be ahead of the reading order indicated by the held order information.
- a data transfer control system comprising a data transfer end notification device having a transfer end notification means for transmitting a notification signal may be provided.
- each data transfer control device can sequentially execute data transfer independently of other data transfer control devices, and while preventing the occurrence of a transfer waiting time, a predetermined read based on management information is possible. Since it is possible to recognize whether or not the transfer of all the plurality of data has been completed with reference to the order, it is possible to realize a significant improvement in the throughput of the data transfer, It is possible to prevent malfunction of a processing apparatus that performs processing using data. In addition, since the transfer control information acquisition operation in the plurality of data transfer control devices can be performed mutually exclusively by appropriately setting the timing at which the transfer end notification signal is transmitted, the plurality of data transfer control devices Thus, it is possible to prevent the operation of acquiring one transfer control information from competing.
- FIG. 3 is a conceptual diagram of a descriptor used in the data transfer control device according to the first embodiment.
- FIG. 1 is a configuration diagram of an information processing system according to a first embodiment.
- FIG. 6 is an operation explanatory diagram of the ring buffer according to the first embodiment.
- 7 is an explanatory diagram of ring buffer management information according to Embodiment 1.
- FIG. 6 is an operation explanatory diagram of a write pointer and an overlap flag according to the first embodiment.
- FIG. 6 is an operation explanatory diagram of a global read pointer and an overlap flag according to the first embodiment.
- 1 is a configuration diagram of a data transfer control device according to a first embodiment.
- 5 is an operation explanatory diagram of a context determination unit according to Embodiment 1.
- FIG. 6 is a diagram for explaining operations of a local read pointer and a global read pointer according to the first embodiment.
- FIG. 6 is a diagram for explaining operations of a local read pointer and a global read pointer according to the first embodiment.
- FIG. 6 is an operation explanatory diagram of a latest read pointer extraction unit according to the first embodiment.
- FIG. 6 is an operation explanatory diagram of a descriptor acquisition unit according to Embodiment 1.
- FIG. 1 is a configuration diagram of a data transfer end notification device according to Embodiment 1.
- FIG. FIG. 3 is a sequence diagram illustrating an operation of the information processing system according to the first embodiment. 3 is a time chart of ring buffer management information according to the first embodiment.
- FIG. 6 is a diagram for explaining a change in management information of a ring buffer according to the first embodiment.
- FIG. 3 is a flowchart relating to the operation of the data transfer control device according to the first embodiment.
- 3 is a flowchart relating to the operation of the data transfer end notification device according to the first embodiment.
- 3 is a configuration diagram of an information processing system according to Embodiment 2.
- FIG. 6 is a configuration diagram of a data transfer control device according to a second embodiment.
- FIG. FIG. 10 is a sequence diagram illustrating an operation of the information processing system according to the second embodiment. It is a block diagram of the information processing system which concerns on a modification. It is a block diagram of the data transfer completion notification apparatus which concerns on a modification.
- the data transfer control devices 1061, 1062, and 1063 according to the present embodiment use the descriptor D3010 as transfer control information.
- the descriptor D3010 includes a transfer source address D3011, a transfer destination address D3012, and a size D3013 of data to be transferred.
- a transfer source address D3011 and a transfer destination address D3012 addresses on an IO buffer 1074 or a main storage device 1010 described later are set.
- size D3013 of data to be transferred size information expressed in units of bytes is set.
- Configuration ⁇ 2-1> System Overall Configuration
- FIG. 2 shows a block diagram of an information processing system including data transfer control devices 1061, 1062, and 1063 according to the present embodiment.
- the information processing system includes an SDXC interface 1070 to which an SDXC-compatible device (hereinafter referred to as an SDXC device) 1080 is connected, a main storage device 1010, a CPU 1000, and a DMA (Direct Memory Access).
- a DMA controller 1030 a memory controller 1020, a plurality of (three in the example shown in FIG. 2) data transfer control devices 1061, 1062, and 1063, a data transfer end notification device 1040, and each data transfer And a ring buffer 1050 that holds descriptors used in the control devices 1061, 1062, and 1063.
- the data transfer control system 106 includes three data transfer control devices 1061, 1062, and 1063 and a data transfer end notification device 1040.
- the SDXC interface 1070 includes an IO buffer 1074 for temporarily storing data input from the SDXC device 1080 or data output to the SDXC device 1080.
- the SDXC interface 1070 can transfer the data stored in the IO buffer 1074 to the DMA controller 1030 in parallel via the three logical channels CH1, CH2, and CH3.
- the SDXC device 1080 includes a communication device such as a WLAN or a removable medium such as an SD memory card.
- the DMA controller 1030 transfers data from the IO buffer to the memory controller 1020 via the logical channels CH1, CH2, and CH3, and transfers data from the memory controller 1020 to the IO buffer 1074 via the logical channels CH1, CH2, and CH3. It has the function to do.
- the DMA controller 1030 detects the end of data transfer for each of the logical channels CH1, CH2, and CH3, and sends a transfer end notification signal that notifies the data transfer end notification device 1040 that the data transfer has ended.
- the transfer end notification signal includes a normal end notification signal for notifying that data transfer has ended normally and an abnormal end notification signal for notifying that an abnormality has occurred in data transfer.
- the DMA controller 1030 is provided with a checksum calculator (not shown) for calculating the checksum of the transferred data for each logical channel CH1, CH2, CH3. If the checksum expected value included in the transferred data does not match (when a checksum error occurs), an abnormal end notification signal is included in the data transfer end signal.
- the memory controller 1020 writes a plurality of data transferred in parallel from the DMA controller 1030 via the three logical channels CHS1, CHS2, and CHS3 to the main storage device 1010.
- the memory controller 1020 reads a plurality of data from the main storage device 1010 and transfers them in parallel to the DMA controller 1030 via the logical channels CHS1, CHS2, and CHS3.
- the CPU 1000 When the CPU 1000 recognizes that all data necessary for processing has been transferred to the main storage device 1010 from the value of a global read pointer RPg described later, the CPU 1000 accesses the main storage device 1010 and executes processing.
- the CPU 1000 also has a function of generating a descriptor D3010 for controlling data transfer and storing it in the ring buffer 1050.
- the ring buffer 1050 is realized by a memory such as a DRAM (Dynamic Random Access Memory) or SRAM (Static RAM), and is read by three data transfer control devices 1061, 1062, and 1063.
- the descriptor D3010 is stored. As shown in FIG. 2, the ring buffer 1050 can store a maximum of 12 descriptors D3010.
- the ring buffer 1050 corresponds to transfer control information management means.
- Each descriptor D3010 is read and stored in a FIFO manner.
- the descriptor D3010 is stored in order by the CPU 1000 from the storage area M51 having the smallest address on the ring buffer 1050 to the storage areas M52, M53,. .
- the data are sequentially read from the descriptor D3010a stored in the storage area M51 having the smallest address.
- the ring buffer 1050 of the present embodiment when an address indicated by a write pointer WP, which will be described later, is larger than any of addresses indicated by local read pointers RP11, RP12, RP13, which will be described later, or indicated by a write pointer WP, which will be described later.
- the address is smaller than any of the addresses indicated by the local read pointers RP11, RP12, RP13, which will be described later, the descriptor stored in the storage area with the smaller address among the addresses indicated by the local read pointers RP11, RP12, RP13.
- the reading order is forward as D3010.
- the local read pointer RPll when only the address indicated by the local read pointer RPll is larger than the address indicated by the write pointer WP and the addresses indicated by the other local read pointers RP12 and RP13 are smaller than the addresses indicated by the write pointer WP, the local read pointer RPll1 The reading order of the descriptor D3010 stored in the storage area of the address indicated by
- the reading order of the descriptor D3010 stored in the storage area is the forefront and there is no local read pointer indicating an address larger than the address indicated by the write pointer, the smallest address among all the local read pointers is selected.
- the reading order of the descriptor D3010 stored at the address indicated by the local read pointer shown is the most forward.
- the CPU 1000 first stores the descriptor D3010a in the storage area M51 having the minimum address “x0001”, and then stores the storage area M52 having the address “x0002” and the storage area having the address “x0003”.
- Descriptors D3010b, D3010c, and D3010d are stored in the order of M53 and storage area M54 of address “x0004”.
- each of the data transfer control devices 1061, 1062, and 1063 sequentially reads from the descriptor D3010a stored first.
- the ring buffer 1050 holds a write pointer WP, a global read pointer RPg, and an overlap flag ORF as management information.
- the write pointer WP, the global read pointer RP, and the overlap flag ORF are realized by memory variables and registers.
- the write pointer WP is updated when a new descriptor D3010 is stored in the ring buffer 1050. As shown in FIG. 4, when a new descriptor D3010d is stored in the storage area M61, the value of the write pointer WP is updated to the address “x0011” of the storage area M62.
- the storage area M62 having an address larger than the value indicated by the write pointer WP is an empty area.
- the write pointer WP corresponds to final order information.
- the global read pointer RPg is a descriptor whose read order is ahead of the descriptor D3010a indicated by the local read pointer (RP11 in FIG. 4) having the smallest value among the local read pointers RP11, RP12, and RP13 described later. Indicates the address of the storage area M52 in which D3010e is stored.
- the global read pointer RPg represents how far the data transfer is surely completed among a plurality of data transfers. If the global read pointer RPg indicates the address of the storage area M52 in which the descriptor D3010e is stored, all data transfer based on the descriptor D3010 whose reading order is ahead of the reading order of the descriptor d3010e has been completed.
- the overlap flag ORF is changed to the value of the write pointer WP before the update (in FIG. When “x0012”) is larger than the updated value of the write pointer WP (“x0001” in FIG. 5), “1” (enabled state) is set.
- the data transfer control device 1061 includes a descriptor acquisition unit 5008, a local read pointer holding unit 5007, a transfer end notification signal reception unit 5000, a local read pointer acquisition unit 5001, and a context determination unit 5003.
- the write pointer acquisition unit 5002 acquires the value of the write pointer WP from the ring buffer 1050.
- the write pointer acquisition unit 5002 corresponds to final order information acquisition means.
- ⁇ 2-3-2> Local read pointer holding unit The local read pointer holding unit 5007 is used by the data transfer control device 1061 to which the local read pointer holding unit 5007 belongs, as shown in FIGS.
- the local read pointer (first local read pointer) RP11 indicating the storage area M51 (M57) in which the descriptor D3010a to be stored is stored. Note that the local read pointer holding unit 5007 corresponds to order information holding means.
- Transfer End Notification Signal Receiving Unit 5000 When the transfer end notification signal receiving unit 5000 receives the transfer end notification signal sent from the data transfer end notification device 1040, it indicates that the data transfer based on the descriptor D3010a has ended. recognize.
- the transfer end notification signal receiving unit 5000 corresponds to transfer end recognition means.
- the transfer end notification signal receiving unit 5000 can recognize whether the data transfer has ended normally or abnormally based on the abnormal end signal or the normal end signal included in the transfer end notification signal.
- the transfer end notification signal receiving unit 5000 When the received data transfer end notification signal includes an abnormal end signal, the transfer end notification signal receiving unit 5000 outputs an abnormal end signal to the descriptor acquisition completion notification unit 5009 and the transfer termination unit 5011, while data transfer
- the normal end signal is included in the end notification signal, the normal end signal is output to the descriptor acquisition completion notification unit 5009, the transfer termination unit 5011, and the local read pointer acquisition unit 5001.
- the local read pointer acquisition unit 5001 acquires the values of the local read pointers (second local read pointers) RPl2 and RP13 held by the other data transfer control devices 1062 and 1063. To do.
- the local read pointers RP12 and RP13 indicate storage areas M52 and M53 in which descriptors D3010b and D3010c used by the other data transfer control devices 1062 and 1063 are stored. Note that the local read pointer acquisition unit 5001 corresponds to order information acquisition means.
- the local read pointer acquiring unit 5001 acquires the values of the local read pointers RP12 and RP13 from the other data transfer control devices 1062 and 1063.
- the context relationship determination unit 5003 compares the values of the local read pointer RPl1 and the values of the local read pointers RPl2 and RPl3, respectively, and reads the descriptors D3010a, D3010b, and D3010c. Determine the context of.
- the context determining unit 5003 corresponds to a context determining unit.
- the context determination unit 5003 also functions as a final order comparison unit that compares the value of the write pointer WP with the value of the latest read pointer extracted by the latest read pointer extraction unit 5005 (details will be described later).
- the context determination unit 5003 first compares the value of the write pointer WP with the value of the local read pointers RP11, RP12, RP13, and then based on the values of the local read pointers RP11, RP12, RP13. Determine the order of reading of the descriptor D3010a stored in the storage area of the address indicated by the local read pointer RP11 and the order of reading of the descriptors D3010b and D3010c stored in the storage areas of the addresses indicated by the local read pointers RP12 and RP13. To do.
- the context determining unit 5003 compares the value of the write pointer WP with the values of the local read pointers RP11, RP12, and RP13, and compares the magnitude relationship, and the local read pointer indicating an address larger than the address indicated by the write pointer WP is obtained. If it exists, the read order of the descriptor stored in the storage area of the smallest address among the addresses indicated by the write pointer WP among the addresses indicated by the local read pointers RP11, RP12, RP13 is determined. Judged as the most forward.
- the ring buffer 1050 has storage areas M51, M52,..., M62 that can store a maximum of 12 descriptors D3010.
- the value of the write pointer WP is “x0005”
- the value of the local read pointer RP11 is “x0001”
- the value of the local read pointer RP12 is “x0002”
- the value of the local read pointer RP13 is “x0004”.
- the descriptor D3010a stored at the smallest address “x0001” among the addresses indicated by the local read pointers RP11, RP12, and RP13 is stored. It is determined that the reading order is the frontmost.
- the value of the write pointer WP is “x0004”
- the value of the local read pointer RP11 is “x0011”
- the value of the local read pointer RP12 is “x0012”
- the value of the local read pointer RP13 is smaller than the value of the write pointer WP.
- the read pointer update unit 5004 reads the descriptor D3010a indicated by the local read pointer RP11. If the order is ahead of the read order of the descriptors D3010b and D3010c indicated by the local read pointers RP12 and RP13 held by the other data transfer control devices 1062 and 1063, the value of the global read pointer RPg is set to the local read pointer RP11. Update with values.
- the value of the write pointer WP is “x0005”, the value of the local read pointer RP11 is “x00011”, the value of the local read pointer RP12 is “x0012”, and the value of the local read pointer RP13 is “x0003”. ”.
- the difference between the value of the write pointer WP and the value of the local read pointer RPl1 is “6”, and the difference between the value of the write pointer WP and the value of the local read pointer RPl2 is “5”.
- the difference between the value of the pointer WP and the value of the local read pointer RPl3 is “2”.
- the context determination unit 5003 determines that the reading order of the descriptor D3010a indicated by the local read pointer RP11 is ahead of the reading order of the descriptors D3010b and D3010c indicated by the local read pointers RP12 and RP13.
- the read pointer update unit 5004 updates the value “x0010” of the global read pointer RPg using the value “x0011” of the local read pointer RP11.
- the read pointer update unit 5004 reads the descriptor D3010a held by the data transfer control device 1061 by the context determination unit 5003.
- the value of the global read pointer RPg is updated using the value of the local read pointer RP11. do not do.
- the value of the write pointer WP is “x0005”, the value of the local read pointer RP11 is “x0004”, the value of the local read pointer RP12 is “x0012”, and the value of the local read pointer RP13 is “x0003”. ",” The difference between the value of the write pointer WP and the value of the local read pointer RPl1 is "1”, and the difference between the value of the write pointer WP and the value of the local read pointer RPl2 is "5". Yes, the difference between the value of the write pointer WP and the value of the local read pointer RP13 is “2”.
- the context determination unit 5003 determines that the reading order of the descriptor D3010a indicated by the local read pointer RP11 is not ahead of the reading order of the descriptors D3010b and D3010c indicated by the local read pointers RP12 and RP13.
- the unit 5004 does not update the value “x0011” of the global read pointer RPg using the value “x0004” of the local read pointer RP11.
- the read pointer update unit 5004 updates the value of the global read pointer RPg
- the value “x0012” of the global read pointer RPg before the update is updated.
- the overlap flag ORF is set to “0” (disabled state).
- Local read pointer comparison means (not shown) for comparing the values of the local read pointers RP12 and RP13 acquired from 1062 and 1063 is provided, and the values of the local read pointers RP11, RP12, and RP13 are compared with each other, and the local read pointer RP11 is compared. , RPl2 and RPl3, the local read pointer having the smallest difference from the value of the write pointer WP is extracted as the latest read pointer.
- the value of the write pointer WP is “x0010”, the value of the local read pointer RPL1 is “x0003”, the value of the local read pointer RPL2 is “x0004”, and the value of the local read pointer RPL3.
- Is “x0006” the difference between the value of the write pointer WP and the value of the local read pointer RP11 is “7”, and the difference between the value of the write pointer WP and the value of the local read pointer RP12 is “ 6 ”, and the difference between the value of the write pointer WP and the value of the local read pointer RP13 is“ 4 ”.
- the latest read pointer extraction unit 5005 sets the local read pointer RPL3 to the latest. Extracted as a read pointer.
- the value of the write pointer WP is “x0005”
- the value of the local read pointer RPL1 is “x0011”
- the value of the local read pointer RPL2 is “x0012”
- the value of the local read pointer RPL3 is If it is “x0003”
- the difference between the value of the write pointer WP and the value of the local read pointer RP11 is “6”
- the difference between the value of the write pointer WP and the value of the local read pointer RP12 is “5”.
- the difference between the value of the write pointer WP and the value of the local read pointer RPl3 is" 2 ".
- the latest read pointer extraction unit 5005 sets the local read pointer RPL3 to the latest. Extracted as a read pointer.
- the write pointer update confirmation unit 5006 detects an update of the value of the write pointer WP that occurs when a new descriptor D3010 is stored in the ring buffer 1050.
- the write pointer update confirmation unit 5006 corresponds to a final order information update detection unit.
- the descriptor acquisition unit 5008 stores the value in the storage area indicated by the local read pointer RP11 on the ring buffer 1050 in accordance with the value of the local read pointer RP11 stored in the local read pointer holding unit 5007. An operation of acquiring the stored descriptor D3010a (see FIG. 7) is performed, and when the acquisition of the descriptor D3010a is completed, a descriptor acquisition completion signal is output to the descriptor acquisition completion notifying unit 5009.
- the descriptor acquisition unit 5008 corresponds to transfer control information reading means.
- the descriptor acquiring unit 5008 newly acquires the third descriptor D3010, and the transfer end notification signal receiving unit 5000 performs the data transfer.
- the operation for newly acquiring the third descriptor D3010 is not performed.
- the descriptor acquisition unit 5008 determines that the value of the write pointer WP is equal to the value of the latest read pointer by the context determination unit 5003 and the overlap flag ORF is set to “0” (disabled). Then, the operation for newly acquiring the descriptor D3010 is not performed.
- the latest The read pointer extraction unit 5005 does not update the value of the local read pointer RPL2 held by the local read pointer holding unit 5007, and the descriptor acquisition unit 5008 does not perform the operation of acquiring the descriptor D3010. In this way, the descriptor acquisition unit 5008 is prevented from acquiring the descriptor D3010 corresponding to the data transfer that has already been executed.
- a new descriptor D3010e is stored from the CPU 1000, as shown in FIG.
- the descriptor acquisition unit 5008 acquires a new descriptor D3010e read from the ring buffer 1050 next to the descriptor D3010c stored in the storage area M55 indicated by the local read pointer RPL3 that is the latest read pointer. Can be operated.
- the descriptor acquisition completion notification unit 5009 receives the descriptor acquisition completion signal from the descriptor acquisition unit 5008 after the descriptor acquisition unit 5008 has completed the acquisition of the descriptor D3010a.
- transfer control information acquisition completion notifying means for sending a descriptor acquisition completion notification signal which is a transfer control information acquisition completion signal is configured.
- transfer termination unit 5011 performs termination processing for data transfer between the DMA controller 1030 and the SDXC interface 1070 via the logical channels CH1, CH2, and CH3.
- the transfer termination unit 5011 defines the end of data transfer in the control registers corresponding to the logical channels CH1, CH2, and CH3 to which data transfer for performing data transfer control is performed among the control registers held by the DMA controller 1030. A value is written and a transfer end interrupt process for the CPU is performed.
- ⁇ 2-3-12> Descriptor Setting Unit Upon receiving the activation request signal from the data transfer activation request receiving unit 5012, the descriptor setting unit 5010 is based on the information indicated by the descriptor D3010 acquired by the descriptor acquisition unit 5008, and the DMA controller 1030. Then, data transfer is set for the SDXC interface 1070, and the DMA controller 1030 starts data transfer.
- ⁇ 2-3-13> Data Transfer Activation Request Receiving Unit When the data transfer activation request receiving unit 5012 receives the data transfer activation request signal transmitted from the DMA controller 1030 or the SDXC interface 1070, the data transfer activation request receiving unit 5012 A start request signal is output.
- the data transfer end notification device 1040 includes a plurality of data transfers executed in parallel via three logical channels CH1, CH2, and CH3. It is commonly connected to three data transfer control devices 1061, 1062, and 1063 that control any one data transfer based on the corresponding descriptor D3010.
- the data transfer end notification device 1040 receives a notification from the DMA controller 1030 that the data transfer has ended, the data transfer end notification device 1040 notifies the data transfer control devices 1061, 1062, and 1063 that the data transfer has ended.
- the data transfer end notification device 1040 includes three logical channel transfer end detection units 4011, 4012 and 4013, three logical channel transfer end notification units 4031, 4032 and 4033, and priority determination.
- the logical channel transfer end detection unit 4011, the logical channel transfer end notification unit 4031, and the descriptor acquisition completion notification signal reception unit 4041 are related to the control of data transfer via the logical channel CH1. Further, the logical channel transfer end detection unit 4012, the logical channel transfer end notification unit 4032, and the descriptor acquisition completion notification signal reception unit 4042 are related to control of data transfer through the logical channel CH2. Further, the logical channel transfer end detection unit 4013, the logical channel transfer end notification unit 4033, and the descriptor acquisition completion notification signal reception unit 4043 are related to control of data transfer via the logical channel CH3.
- ⁇ 2-4-1> Logical Channel Transfer End Notification Unit When the logical channel transfer end notification unit 4031 receives a notification from the DMA controller 1030 that the data transfer has been completed, the corresponding data transfer is performed. A transfer end notification means for transmitting a transfer end notification signal to the control device 1061 is configured.
- the logical channel transfer end detection unit 4012 receives a notification from the DMA controller 1030 that the data transfer has ended, the logical channel transfer end notification unit 4032 sends a transfer end notification signal to the corresponding data transfer control device 1062.
- the logical channel transfer end detection unit 4013 receives notification from the DMA controller 1030 that the data transfer has ended, the logical channel transfer end notification unit 4033 sends a transfer end notification signal to the corresponding data transfer control device 1063.
- the descriptor acquisition completion notification signal receiving unit 4041 Upon receiving the descriptor acquisition completion notification signal from the data transfer control device 1061, the descriptor acquisition completion notification signal receiving unit 4041 recognizes that the acquisition of the descriptor D3010 has been completed. It constitutes transfer control information acquisition completion recognition means.
- the descriptor acquisition completion notification signal receiving unit 4042 When receiving the descriptor acquisition completion notification signal from the data transfer control device 1062, the descriptor acquisition completion notification signal receiving unit 4042 recognizes that the acquisition of the descriptor D3010 has been completed, and the descriptor acquisition completion notification signal receiving unit 4043 When the descriptor acquisition completion notification signal is received from the transfer control device 1063, it is recognized that the acquisition of the descriptor D3010 is completed.
- the logical channel transfer end detection units 4011, 4012, and 4013 are at least one of the data transfer end notification signals transmitted from the DMA controller 1030 for each of the logical channels CH 1, CH 2, and CH 3. By receiving one data transfer end notification signal, transfer end detection means for detecting the end of at least one data transfer is configured. In addition, each logical channel transfer end detection unit 4011, 4012, 4013 outputs the data transfer end notification signal to the priority determination unit 4020 when receiving the data transfer end notification signal.
- the logical channel transfer end detection units 4011, 4012, and 4013 detect whether the data transfer has ended normally or abnormally, and provide corresponding data transfer control to the logical channel transfer end notification units 4031, 4032, and 4033.
- the apparatus 1061, 1062, 1063 is provided with end result detection means (not shown) for sending an end result notification signal.
- the priority determination unit 4020 notifies the logical channel transfer end when the three logical channel end detection units 4011, 4012 and 4013 detect the end of two or more data transfers at the same time.
- the units 4031, 4032, and 4033 are caused to send a transfer end notification signal only to the data transfer control devices 1061, 1062, and 1063 corresponding to the logical channels CH 1, CH 2, and CH 3 having the highest priority.
- the priority determination unit 4020 holds information on the priority among the logical channels CH1, CH2, and CH3 in advance, and the priority determination unit 4020 transmits the data transfer end notification signal of two or more logical channels.
- the transfer end notification is sent only to the logical channel transfer end notification unit 4031 corresponding to the logical channel with the highest priority (for example, logical channel CH1) according to the priority held by itself.
- the priority determination unit 4020 sequentially checks the presence / absence of a data transfer end detection signal input from each of the logical channel transfer end detection units 4011, 4012, and 4013 from the logical channel CH 1 with the highest priority. When it is confirmed that a transfer end detection signal has been input, the data transfer end detection signal is sent to a corresponding logical channel transfer end notification unit (for example, logical channel transfer end notification unit 4031).
- the priority determination unit 4020 outputs a data transfer end notification signal to the logical channel transfer end notification unit 4031 and then receives the descriptor acquisition completion notification signal from the descriptor acquisition completion notification signal reception unit 4041. Until this is done, the data transfer end notification signal is not sent to the other logical channel transfer end notification units 4032 and 4033.
- FIG. 14 shows a sequence diagram among the DMA controller 1030, the data transfer end notification device 1040, the ring buffer 1050, and the three data transfer control devices 1061, 1062, and 1063.
- the data transfer end notification device 1040 When the DMA controller 1030 notifies the data transfer end notification device 1040 that the data transfer on the channel CH2 has been completed at time T1, the data transfer end notification device 1040 notifies the data transfer control device 1062 to the data transfer control device 1062. Sends a transfer end notification signal.
- the data transfer control device 1062 that has received the transfer end notification signal acquires the value of the local read pointer RP11 from the data transfer control device 1061, and acquires the value of the local read pointer RP13 from the data transfer control device 1063.
- the context determining unit included in the data transfer control device 1062 determines the order of the reading order of the descriptors D3010a1, D3010b1, and D3010c1 indicated by the local read pointers RP11, RP12, and RP13. As shown in FIGS. 15 and 16, at time T1, the value of the local read pointer RPl2 is not the smallest among the values of the local read pointers RP11, RP12, RP13. Therefore, the read pointer update unit included in the data transfer apparatus 1062 does not update the value of the global read pointer RPg.
- the context determination unit compares the value of the latest read pointer with the value of the write pointer WP, and confirms that the value of the latest read pointer does not match the value of the write pointer WP.
- the pointer extraction unit updates the value of the local read pointer RPl2 held by the local read pointer holding unit at the address “x0008” next to the address “x0007” indicated by the local read pointer RPl3 which is the latest read pointer.
- the descriptor acquisition unit performs an operation of acquiring the descriptor D3010b2 stored in the storage area M58 according to the value indicated by the local read pointer RPL2.
- the context determination unit compares the value of the latest read pointer with the value of the write pointer WP and confirms that the value of the latest read pointer matches the value of the write pointer WP, the latest read pointer.
- the extraction unit 5005 does not update the value of the local read pointer RPL2 held by the local read pointer holding unit. Therefore, the descriptor acquisition unit does not perform an operation of acquiring a descriptor. In this case, the descriptor acquisition unit performs an operation of acquiring the descriptor after the update of the value of the write pointer WP is confirmed.
- the descriptor acquisition completion notification unit sends a descriptor acquisition completion notification signal to the data transfer end notification device 1040.
- the descriptor setting unit sets the DMA controller 1030 based on the acquired descriptor D3010b2.
- the data transfer end notification device 1040 When the DMA controller 1030 notifies the data transfer end notification device 1040 that the data transfer on the channel CH1 has ended at time T2, the data transfer end notification device 1040 notifies the data transfer control device 1061. Sends a transfer end notification signal.
- the data transfer control device 1061 acquires the value “x0008” of the local read pointer RPL2 from the data transfer control device 1062, and acquires the value “x0007” of the local read pointer RPL3 from the data transfer control device 1063. To do.
- the context determining unit 5003 determines the order of the reading order of the descriptors D3010a1, D3010b2, and D3010c1 indicated by the local read pointers RP11, RP12, and RP13.
- the value of the local read pointer RPl1 is smaller than either of the values of the local read pointers RPl2 and RPl3. Therefore, the value of the global read pointer RPg is changed to the value of the local read pointer RPl1. Update with “x0003”.
- the context determination unit 5003 compares the latest read pointer value with the write pointer WP value, and confirms that the latest read pointer value does not match the write pointer WP value.
- the read pointer extraction unit 5005 updates the value of the local read pointer RP11 held by the local read pointer holding unit 5007 at the address “x0009” next to the address “x0008” indicated by the local read pointer RPL2 which is the latest read pointer.
- the descriptor acquisition unit 5008 performs an operation of acquiring the descriptor D3010a2 stored in the storage area M59 according to the value indicated by the local read pointer RP11.
- the context determining unit 5003 compares the value of the latest read pointer with the value of the write pointer WP and confirms that the value of the latest read pointer matches the value of the write pointer WP, the latest read pointer is determined.
- the pointer extraction unit 5005 does not update the value of the local read pointer RP11 held by the local read pointer holding unit 5007. Therefore, the descriptor acquisition unit 5008 does not perform an operation of acquiring a descriptor. In this case, the descriptor acquisition unit 5008 performs an operation of acquiring a descriptor after confirming the update of the value of the write pointer WP.
- the descriptor acquisition completion notification unit 5009 sends a descriptor acquisition completion notification signal to the data transfer end notification device 1040.
- the descriptor setting unit 5010 sets the DMA controller 1030 based on the acquired descriptor D3010a2.
- the data transfer end notification device 1040 When the DMA controller 1030 notifies the data transfer end notification device 1040 that the data transfer on the channel CH3 has ended at time T4, the data transfer end notification device 1040 notifies the data transfer control device 1063. Sends a transfer end notification signal.
- the data transfer control device 1063 acquires the value “x0009” of the local read pointer RP11 from the data transfer control device 1061, and acquires the value “x0010” of the local read pointer RP12 from the data transfer control device 1062. To do.
- the context determining means included in the data transfer control device 1063 determines the order of the reading order of the descriptors D3010a2, D3010b3, D3010c1 indicated by the local read pointers RP11, RP12, RP13.
- the value of the local read pointer RPl3 is smaller than either of the values of the local read pointers RPl1 and RPl2, so the value of the global read pointer RPg is changed to the value of the local read pointer RPl3. Update with “x0007”.
- the context determination unit compares the value of the latest read pointer with the value of the write pointer WP, and confirms that the value of the latest read pointer does not match the value of the write pointer WP.
- the pointer extraction unit updates the value of the local read pointer RPl3 held by the local read pointer holding unit at the address “x0011” next to the address “x0010” indicated by the local read pointer RPl2 which is the latest read pointer.
- the descriptor acquisition unit performs an operation of acquiring the descriptor D3010c2 stored in the storage area M61 according to the value indicated by the local read pointer RPL3.
- the context determination unit compares the value of the latest read pointer with the value of the write pointer WP and confirms that the value of the latest read pointer matches the value of the write pointer WP, the latest read pointer.
- the extraction unit does not update the value of the local read pointer RP13 held by the local read pointer holding unit. Therefore, the descriptor acquisition unit does not perform an operation of acquiring a descriptor. In this case, the descriptor acquisition unit performs an operation of acquiring the descriptor after the update of the value of the write pointer WP is confirmed.
- the descriptor acquisition completion notification unit sends a descriptor acquisition completion notification signal to the data transfer end notification device 1040.
- the descriptor setting unit sets the DMA controller 1030 based on the acquired descriptor D3010c2.
- the transfer end notification signal receiving unit 5000 determines whether or not the transfer end notification signal sent from the data transfer end notification device 1040 has been received (step S7010). The process proceeds to the stage immediately before step S7010. On the other hand, when the transfer end notification signal receiving unit 500 receives the transfer end notification signal in step S7010, the process proceeds to step S7011.
- the transfer end notification signal receiving unit 5000 determines whether the transfer end notification signal includes a normal end signal or an abnormal end signal (step S7011), and includes an abnormal end signal (not normally ended). ), The descriptor acquisition completion notifying unit 5009 is notified that the acquisition of the descriptor D3010 corresponding to the data transfer related to the abnormal end signal is completed in order to perform the data transfer related to the abnormal end signal again. A descriptor acquisition completion notification signal is transmitted (step S7021).
- step S7011 when transfer end notification signal receiving section 5000 determines that a normal end signal is included (normal end), local read pointer acquisition section 5001 receives from each of the other data transfer control devices 1062 and 1063. While acquiring the values of the local read pointers RPl2 and RP13 (step S7012), the write pointer acquisition unit 5002 checks the value of the write pointer WP (step S7013).
- the transfer termination unit 5011 determines whether the data transfer has ended normally or abnormally in step S7011, and then, according to the determination result, the data transfer termination process performed via the corresponding logical channel CH1. I do.
- the context determination unit 5003 compares the respective differences of the values of the local read pointers RP11, RP12, and RP13 with respect to the value of the write pointer WP, and the reading order of the descriptor D3010 indicated by the local read pointer RP11 is determined as the local read pointer. It is determined whether or not it is ahead of the reading order of the descriptor D3010 indicated by RPl2 and RPl3 (step S7014).
- step S7014 If it is determined that the reading order of the descriptor D3010 indicated by the local read pointer RP11 is not ahead of the reading order of the descriptor D3010 indicated by the local read pointers RP12 and RP13 (step S7014: No), the process proceeds to step S7016. To do.
- step S7014 when it is determined that the reading order of the descriptor D3010 indicated by the local read pointer RP11 is ahead of the reading order of the descriptor D3010 indicated by the local read pointers RP12 and RP13 (step S7014: Yes), the value of the global read pointer RPg is set. The local read pointer RP11 is updated using the value (step S7015), and the process proceeds to step S7016.
- the latest read pointer extraction unit 5005 indicates the storage area in which the descriptor D3010 read last from the ring buffer 1050 is stored in the descriptor D3010 indicated by the local read pointers RP11, RP12, and RP13.
- the pointer is extracted as the latest read pointer (step S7016).
- the context determination unit 5003 determines whether or not the value of the write pointer WP is equal to the value of the latest read pointer (here, the determination is performed with reference to the state of the overlap flag ORF) (step) In S7017), when it is determined that the value of the write pointer WP and the value of the latest read pointer are not equal (step S7014: No), the latest read pointer extraction unit 5005 locally sets the address next to the address indicated by the value of the latest read pointer. The read pointer holding unit 5007 is notified.
- the local read pointer holding unit 5007 that has received the notification of the address next to the address indicated by the latest read pointer value updates the value of the local read pointer RP11 held by itself with the notified address (step S7019).
- step S7017 when the context determination unit 5003 determines that the value of the write pointer WP is equal to the value of the latest read pointer (step S7014: Yes), the write pointer update confirmation unit 5006 determines the value of the write pointer WP. Is determined (step S7015), and if it is determined that the value of the write pointer WP has not been updated (S7015: No), the process proceeds to the previous stage of step S7015 again.
- the write pointer update confirmation unit 5006 determines that the value of the write pointer WP has been updated (S7015: Yes)
- the latest read pointer extraction unit 5005 performs local read on the address next to the address indicated by the latest read pointer value.
- the pointer holding unit 5007 is notified.
- the local read pointer holding unit 5007 that has received the notification of the address next to the address indicated by the latest read pointer value updates the value of the local read pointer RP11 held by itself with the notified address (step S7019).
- the descriptor acquisition unit 5008 acquires a new descriptor D3010 according to the value of the local read pointer RP11 held by the local read pointer holding unit 5007 (step S7020). Thereafter, the descriptor acquisition completion notification unit 5009 sends a descriptor acquisition completion notification signal for notifying the data transfer end notification device 1040 that descriptor acquisition has been completed (step S7021).
- the data transfer activation request receiving unit 5012 determines whether or not it has received a data transfer activation request signal transmitted from the DMA controller 1030 or the SDXC interface 1070 (step S7022), and receives the data transfer activation request signal. If it is determined that it is not (Step S7022: No), the process again proceeds to the stage immediately before Step S7022.
- step S7022 when the data transfer activation request receiving unit 5012 determines that the data transfer activation request signal has been received (step S7022: Yes), the descriptor setting unit 5010 performs the DMA controller according to the contents of the descriptor D3010 acquired by the descriptor acquisition unit 5008. By writing a prescribed value for starting DMA transfer in the control registers of 1030 and SDXC interface 1070, data transfer via the corresponding logical channel CH1 is started. Thereafter, the process is restarted from step S7010.
- ⁇ 3-3> Operation of Data Transfer End Notification Device The operation of the data transfer end notification device 1040 according to the present embodiment will be described in more detail based on FIG. Here, description will be made assuming that the priority among the logical channels CH1, CH2, and CH3 is the highest in the logical channel CH1, and thereafter decreases in the order of the logical channel CH2 and the logical channel CH3.
- the priority determination unit 4020 is set to check the presence / absence of a data transfer end notification signal for the logical channel CH1 (step S6011).
- the priority determination unit 4020 determines whether or not there is a data transfer end detection signal related to the logical channel CH1 input from the logical channel transfer end detection unit 4011 (step S6012). If it is determined that the transfer end notification signal has not been input (step S6011: NO), it is determined whether or not the presence of the data transfer end notification signal is the logical channel CH3 having the lowest priority (step S6015). ).
- step S6015 since the logical channel CH1 is confirmed, it is determined that the presence of the data transfer end notification signal is not the logical channel CH3 having the lowest priority (step S6015: No), and the priority determining unit 4020 is determined. Is set to check whether or not the data transfer end notification signal is input for the logical channel CH2 having the next highest priority after the logical channel CH1 (step S6016). Thereafter, the priority determination unit 4020 determines whether there is a data transfer end detection signal related to the logical channel CH2 (step S6012).
- step S6012 determines in step S6012 that the data transfer end detection signal related to the logical channel CH1 is input from the logical channel transfer end detection unit 4011 (step S6012: Yes)
- the logical channel transfer end is completed.
- the notification unit 4031 sends a transfer end notification signal to the data transfer control device 1061 (step S6013).
- the priority determination unit 4020 determines whether or not a descriptor acquisition completion notification signal is input from the data transfer control device 1061 via the descriptor acquisition completion notification signal reception unit 4041 (step S6014). Is determined to have not been received (step S6014: NO), the process again proceeds to the stage immediately before step S6014.
- the priority determination unit 4020 determines whether or not the logical channel corresponding to the descriptor acquisition completion notification signal is the logical channel CH3 having the lowest priority. (Step S6015), and if it is determined that it is not applicable, the priority determination unit 4020 is set to check whether or not the data transfer end notification signal is input for the logical channel CH2 having the next highest priority ( Step S6016).
- the priority determination unit 4020 confirms the presence / absence of a data transfer end notification signal to the logical channel transfer end detection unit 401 (i + 1) for the logical channel CHi + 1 having the next highest priority after the logical channel CHi. (Step S6016).
- step S6012 when the priority determination unit 4020 determines that the data transfer end detection signal related to the logical channel CH1 is input from the logical channel transfer end detection unit 4011 (step S6012: Yes), the logical channel transfer end notification unit In 4031, a transfer end notification signal is sent to the data transfer control device 1061 (step S6013).
- the priority determination unit 4020 determines whether or not a descriptor acquisition completion notification signal is input from the data transfer control device 1061 via the descriptor acquisition completion notification signal reception unit 4041 (step S6014). Is determined to have not been received (step S6014: NO), the process again proceeds to the stage immediately before step S6014.
- the priority determination unit 4020 determines that the logical channel CHi to which the data transfer end notification signal has been input is the logical channel CH3 having the lowest priority. If it is determined whether or not it exists (step S6015) and it is determined that it does not correspond, the priority determination unit 4020 is set to check whether or not a data transfer end notification signal is input for the logical channel CHi + 1 having the next highest priority. (Step S6016). ⁇ Embodiment 2> Hereinafter, this embodiment will be described. Since the operation is the same as that of the first embodiment, the description is omitted. ⁇ 1> Configuration FIG.
- FIG. 19 shows a block diagram of an information processing system including data transfer control devices 2061, 2062, and 2063 according to this embodiment.
- the information processing system is substantially the same as the configuration shown in FIG. 2, and as shown in FIG. 19, the data transfer control devices 2061, 2062, and 2063 each hold data transfer end flags F1, F2, and F3.
- the ring buffer 5050 is different in that it does not hold a global read pointer RPg as management information.
- symbol is attached and description is abbreviate
- the CPU 1000 accesses each of the data transfer control devices 2061, 2062, 2063, and the values of the local read pointers RP11, RP12, RP13 held by the data transfer control devices 2061, 2062, 2063, and data transfer end flags F1, F2 , F3. Then, the CPU 1000 determines whether or not the data transfer based on the descriptor D3010 stored in the storage area indicated by the local read pointers RP11, RP12, and RP13 on the ring buffer 5050 has ended, based on the data transfer end flags F1, F2, and F3. Judge by value.
- the data transfer control device 1061 includes a descriptor acquisition unit 5008, a local read pointer holding unit 5007, a transfer end notification signal receiving unit 5000, a data transfer end flag holding unit 5204, and a flag update. Means 5205 and a local read pointer setting unit 5206 are included. It should be noted that a descriptor acquisition unit 5008, a local read pointer holding unit 5007, a transfer end notification signal reception unit 5000, a local read pointer acquisition unit 5001, a context determination unit 5003, a latest read pointer extraction unit 5005, a write pointer acquisition unit 5002, a write pointer.
- the configurations of the update confirmation unit 5006, the descriptor acquisition completion notification unit 5009, the descriptor setting unit 5010, and the data transfer activation request reception unit 5012 are the same as those in the above-described embodiment, and a description thereof will be omitted.
- the flag holding unit 5204 holds a data transfer end flag F1.
- the flag holding unit 5204 refers to the content of the data transfer end flag F1 held by the CPU 1000.
- the flag update unit 5205 updates the data transfer end flag F1.
- the local read pointer setting unit 5206 acquires the address of the storage area in which the descriptor D3010 that has not yet been executed among the descriptors D3010 stored on the ring buffer 5050 is stored, and acquires the value of the local read pointer RP11. Set to the value of the specified address.
- FIG. 21 shows a sequence diagram among the CPU 1000, the DMA controller 1030, the data transfer end notification device 1040, the ring buffer 1050, and the three data transfer control devices 2061, 2062, and 2063.
- the CPU 1000 the DMA controller 1030, the data transfer end notification device 1040, the ring buffer 1050, and the three data transfer control devices 2061, 2062, and 2063.
- the data transfer end notification device 1040 When the DMA controller 1030 notifies the data transfer end notification device 1040 that the data transfer on the channel CH1 has ended at time T21, the data transfer end notification device 1040 notifies the data transfer control device 2061. Sends a transfer end notification signal.
- the data transfer control device 2061 Upon receiving the transfer end notification signal, the data transfer control device 2061 sets the value of the data transfer end flag F1 to “1”.
- the CPU 1000 acquires the value of the local read pointer RPL1 and the value of the data transfer end flag F1 from the data transfer control device 2061.
- the data transfer control device 2061 acquires the descriptor D3010 corresponding to the data transfer that has not been executed yet from the ring buffer 5050.
- the DMA controller 1030 is set based on the acquired descriptor D3010.
- the data transfer end notification device 1040 notifies the data transfer control device 2062 Sends a transfer end notification signal.
- the data transfer control device 2062 that has received the transfer end notification signal sets the value of the data transfer end flag F2 to “1”.
- the CPU 1000 acquires the value of the local read pointer RPL1 and the value of the data transfer end flag F2 from the data transfer control device 2062.
- the data transfer control device 2062 acquires the descriptor D3010 corresponding to the data transfer that has not been executed yet from the ring buffer 5050.
- the DMA controller 1030 is set based on the acquired descriptor D3010.
- the data transfer end notification device 1040 notifies the data transfer control device 2063. Sends a transfer end notification signal.
- the data transfer control device 2063 that has received the transfer end notification signal sets the value of the data transfer end flag F3 to “1”.
- the CPU 1000 acquires the value of the local read pointer RPL1 and the value of the data transfer end flag F1 from the data transfer control device 2063.
- the data transfer control device 2061 acquires the descriptor D3010 corresponding to the data transfer that has not been executed yet from the ring buffer 5050.
- the DMA controller 1030 is set based on the acquired descriptor D3010.
- the CPU 1000 When the CPU 1000 recognizes that all necessary data transfer has been completed based on the values of the data transfer end flags F1, F2, and F3 and the local read pointers RP11, RP12, and RP13, it uses a plurality of transferred data. Start processing. At this time, the CPU 1000 returns all the values of the data transfer end flags F1, F2, and F3 to “0”.
- the DMA controller 1030 and the SDXC interface 1070 are connected by three logical channels CH1, CH2, and CH3, and the three data transfer control devices 1061, 1062, and the logical channels CH1, CH2, and CH3, respectively.
- the present invention is not limited to this. For example, as shown in FIG.
- the DMA controller 1030 and the SDXC interface 1070 have four or more logical channels CH1, CH2,. .., 106n may be provided for each of the logical channels CH1, CH2,..., CHn.
- the DMA controller 1030 and the SDXC interface 1070 may be connected by two logical channels (not shown), and two data transfer control devices (not shown) may be provided for each logical channel.
- the data transfer end notification device 1040 supports one data transfer among a plurality of data transfers executed in parallel via the three logical channels CH1, CH2, and CH3.
- the DMA controller 1030 and the SDXC interface 1070 have three logical channels. Connected by CH1, CH2, and CH3, data transfer end communication
- the device 1040 is connected in common to four or more data transfer control devices, and the data transfer control devices 1061, 1062,...
- 106n are connected from the DMA controller 1030 to any one of the data transfer control devices 1061, 1062,. .., 106n may notify the end of data transfer controlled by 106n. Further, the DMA controller 1030 and the SDXC interface 1070 are connected by two logical channels (not shown), and the data transfer end notification device 1040 is connected in common to the two data transfer control devices (not shown). The controller 1030 may notify one of the two data transfer control devices that the data transfer controlled by the data transfer control device has ended.
- the transfer control information management unit is configured by the ring buffer 1050 has been described. However, the present invention is not limited to this. For example, the transfer control information management unit is illustrated in FIG. As shown, a buffer 2050 is composed of a plurality of storage areas M251, M252,..., M264,... With consecutive addresses (x0001, x0002,... X0014,). There may be.
- the order determination unit 5003 determines that the read order of the descriptor D3010a indicated by the local read pointer RP11 is the local read. It is determined that it is ahead of the reading order of the descriptors D3010b and D3010c indicated by the pointers RP12 and RP13.
- the context determination unit 5003 reads the descriptor D3010 indicated by the local read pointer RP11, the read order of the descriptor D3010 indicated by the local read pointer RP12, and reads the descriptor D3010 indicated by the local read pointer RP13. It is possible to determine the context relationship with the order only from the magnitude relationship of the values of the local read pointers RPl1, RPl2, and RPl3.
- the reading order of the descriptor D3010 indicated by the local read pointer RP11 is: It is determined to be ahead of the reading order of the descriptors D3010b and D3010c indicated by the local read pointers RP12 and RP13.
- the reading order of the descriptor D3010a indicated by the local read pointer RP11 is shown. Is determined to be ahead of the reading order of the descriptors D3010b and D3010c indicated by the local read pointers RP12 and RP13.
- the context determination unit 5003 needs to consider the write pointer WP in determining the context of the reading order of the descriptors D3010a, D3010b, and D3010c indicated by the local read pointers RP11, RP12, and RP13. Disappears.
- each of the data transfer control devices 1061, 1062, and 1063 may include a buffer information storage unit that stores buffer information such as the start address and size of the buffer 2050.
- a buffer 2050 including discontinuous addresses in the storage areas M251, M252,... is used, for example, an address between the storage area M251 and the storage area M252.
- the descriptor acquisition unit 5008 stores in the storage area indicated by the local read pointer RP11 on the ring buffer 1050 according to the value of the local read pointer RP11 held in the local read pointer holding unit 5007.
- the present invention is not limited to this.
- the descriptor acquisition unit 5008 completes the acquisition of the descriptor D3010a
- the acquired descriptor D3010a (see FIG. 7) is acquired.
- the value of the local read pointer RP11 may be updated with the address of the storage area of D3010.
- the descriptor acquisition unit 5008 obtains the descriptor to be acquired on the ring buffer 2050 from the value of the write pointer WP acquired from the write pointer acquisition unit 5002 and the value of the latest read pointer extracted by the latest read pointer extraction unit 5005.
- the storage area of D3010 may be specified.
- the latest read pointer extraction unit 5005 compares the values of the local read pointers RP11, RP12, RP13, and the value of the write pointer WP from the local read pointers RP11, RP12, RP13.
- the descriptor acquisition unit 5008 When the local read pointer with the smallest difference is extracted as the latest read pointer and the context determination unit 5003 determines that the value of the write pointer WP is equal to the value of the latest read pointer, the descriptor acquisition unit 5008 newly
- a threshold comparison unit (not shown) that compares a predetermined threshold with the value of the latest read pointer is provided. If it is determined that the value of the read pointer is equal, the operation of acquiring a new descriptor D3010 to be read next to the descriptor D3010 indicated by the latest read pointer may not be performed.
- the predetermined threshold may be set to a different value for each of the data transfer control devices 1061, 1062, and 1063, or may be common to all the data transfer control devices 1061, 1062, and 1063. It may be set to a value.
- the predetermined threshold value may be obtained by adding a predetermined value to the value of the global read pointer RPg.
- the predetermined threshold value may be obtained by subtracting a predetermined value from the value of the write pointer WP.
- the threshold comparison unit detects that the latest read pointer value is equal to the predetermined threshold value
- the threshold value comparing unit notifies the CPU 1000 that the latest read pointer value is equal to the predetermined threshold value.
- a storage request unit (not shown) for requesting storage of the descriptor D3010 in the ring buffer 1050 may be provided.
- the present invention is not limited to this, and other IO interfaces such as USB and SATA may be used.
- Embodiments 1 and 2 an example in which a plurality of data transfer control devices 1061, 1062, and 1063 controls data transfer between the IO buffer 1074 provided in the SDXC interface 1070 and the main storage device 1010.
- the present invention is not limited to this, and data transfer between two general storage areas (for example, DRAM, SRAM, etc.) may be controlled.
- a plurality of data transfers are performed in parallel between the IO buffer 1074 provided in the SDXC interface 1070 and the main storage device 1010 via the plurality of logical channels CH1, CH2, and CH3.
- the present invention is not limited to this.
- a plurality of data transfers may be performed in parallel via a plurality of physical channels (not shown).
- the descriptor D3010 includes the transfer source address, the transfer destination address, and the size of the data to be transferred has been described. However, the transfer source address, the transfer destination address, and the transfer size For example, the descriptor D3010 may not include the transfer source address.
- the descriptor D3010 further specifies information for designating whether or not to perform intermittent transfer, the size of data to be transferred per time and the logical channel when performing intermittent transfer. It may be configured to include transfer mode information including information for designating whether or not to use DMA transfer.
- the descriptor D3010 includes the transfer source address, the transfer destination address, and the size of the data to be transferred has been described.
- the D3010 may include an IO command type issued to the SDXC device 1080 and a command argument.
- the ring buffers 1050 and 5050 are realized by a memory has been described as an example.
- the present invention is not limited to this.
- the ring buffer 1050 is configured by a register file. There may be.
- the example in which the ring buffers 1050 and 5050 store the twelve descriptors D3010 has been described.
- the present invention is not limited to this, and the thirteen or more descriptors D3010, or eleven or less The descriptor D3010 may be stored.
- (13) In the first embodiment, the example in which the write pointer WP, the global read pointer RPg, and the local read pointers RP11 and RP12 are incremented has been described.
- the present invention is not limited to this, and for example, the write pointer WP and the global read pointer RPg and local read pointers RP11, RP12, RP13 may be decremented.
- the DMA controller 1030 is provided with a checksum calculator (not shown) for calculating the checksum of the transferred data for each logical channel CH1, CH2, CH3.
- the abnormal end notification signal is included in the data transfer end signal when the calculation result by the unit does not match the expected checksum value included in the transferred data (when a checksum error occurs).
- the present invention is not limited to this.
- a hash value calculation unit (not shown) for calculating a hash value of data transferred to the DMA controller 1030 is provided, and data obtained by transferring a calculation result by the hash calculation unit is provided. If the expected hash value does not match, the abnormal end notification signal is included in the data transfer end signal. It may be.
- a timer (not shown) that counts the data transfer time is provided for each of the data transfer control devices 1061, 1062, and 1063, and the transfer end notification signal receiving unit 5000 does not finish the data transfer within a predetermined time.
- the data transfer may be recognized as having ended abnormally due to a timeout error.
- the logical channels CH1, CH2, and CH3 A register or the like for setting the priority may be provided, and the CPU 1000 may update the register at an arbitrary timing.
- the data transfer end notification device 1040 includes logical channel transfer end detection units 4011, 4012, and 4013 corresponding to the logical channels CH1, CH2, and CH3, and the logical channels CH1, CH2, and CH3
- the example of receiving the transfer end notification signal for each of the above has been described.
- the data transfer end notification device 1040 is transferring or transferring to each of the logical channels CH1, CH2, and CH3.
- One logical channel transfer end detection unit (not shown) that sequentially checks whether or not by polling may be provided.
- the transfer termination unit 5011 clears the interrupt from each of the logical channels CH1, CH2, and CH3 has been described.
- the corresponding logical channels CH1, CH2, and CH3 may be notified that the end of data transfer has been confirmed.
- the descriptor acquisition unit 5008 does not perform an operation of newly acquiring the descriptor D3010 when the value of the latest read pointer is equal to the value of the write pointer WP.
- a storage request unit (not shown) that notifies the CPU 1000 that the value of the pointer and the value of the write pointer WP are equal and requests storage of the descriptor D3010 in the ring buffer 1050 may be provided.
- the SDXC interface 1070, the main storage device 1010, the DMA controller 1030, the memory controller 1020, the three data transfer control devices 1061, 1062, and 1063, and the data transfer end notification device 1040 and the ring buffer 1050 may be realized as an LSI integrated in one semiconductor integrated circuit.
- the three data transfer control devices 1061, 1062, and 1063 and the data transfer end notification device 1040 may be realized individually by LSI.
- the LSI according to the present modification is mounted on a circuit board 901 together with the CPU 1000.
- the present invention is applied to an in-vehicle terminal 914 mounted on the automobile 915.
- the LSI is described above, it may be called an IC, a system LSI, a super LSI, or an ultra LSI depending on the degree of integration.
- the method of circuit integration is not limited to LSI, and implementation with a dedicated circuit or a general-purpose processor is also possible.
- An FPGA Field Programmable Gate Array
- a reconfigurable processor that can reconfigure the connection and setting of circuit cells inside the LSI may be used.
- This configuration can realize efficient transfer control when executing multiple data transfers.
- the transfer size is different for each data transfer, or when a transfer error occurs and the same transfer is repeated, the data transfer waiting time can be greatly reduced compared to the conventional technology, and the data transfer throughput is dramatically improved.
- it is effective for an integrated circuit product that performs data transfer between a high-speed IO interface represented by SDXC, USB, SATA, and the like and the main memory.
- it is also effective for integrated circuit products, home appliances, personal computers, mobile phones, and the like that perform a plurality of data transfers between storage areas.
- 1040 Data transfer end notification device 1050 Ring buffer 1061, 1062, 1063 Data transfer control device 4011, 4012, 4013 Logical channel transfer end detection unit 4020 Priority determination unit 4031, 4032, 4033 Logical channel transfer end notification unit 4041, 4042, 4043 Descriptor acquisition completion notification signal receiving unit 5000 Transfer end notification signal receiving unit 5001 Local read pointer acquisition unit 5002 Write pointer acquisition unit 5003 Front-rear relationship determination unit 5004 Read pointer update unit 5005 Latest read pointer extraction unit 5006 Write pointer update confirmation unit 5007 Local read Pointer holding unit 5008 Descriptor acquisition unit 5009 Descriptor acquisition completion notification unit 5010 Descriptor setting unit 5011 Transfer termination unit 5012 Data transfer start request receiving unit D3010, D3010a, D3010b, D3010c, D3010d, D3010e Descriptor D3011 Transfer source address D3012 Transfer destination address D3014 Transfer size M51, M52,..., M58, M251, M252,. Area ORF Overlap flag RPg Global read pointer
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Bus Control (AREA)
- Information Transfer Systems (AREA)
Abstract
Description
<1>データ
本実施の形態に係るデータ転送制御装置1061,1062,1063は、転送制御情報としてディスクリプタD3010を用いる。ディスクリプタD3010は、図1に示すように、転送元アドレスD3011、転送先アドレスD3012および転送するデータのサイズD3013より構成されている。転送元アドレスD3011および転送先アドレスD3012には、後述のIOバッファ1074または主記憶装置1010上のアドレスが設定される。転送するデータのサイズD3013には、バイト単位で表されたサイズ情報が設定されている。
<2>構成
<2-1>システム全体の構成
本実施の形態に係るデータ転送制御装置1061,1062,1063を含む情報処理システムのブロック図を図2に示す。
<2-2>リングバッファの構成
リングバッファ1050はDRAM(Dynamic Random Access Memory)やSRAM(Static RAM)等のメモリにより実現されており、3つのデータ転送制御装置1061,1062,1063により読み出される複数のディスクリプタD3010を記憶する。リングバッファ1050は、図2に示すように、最大で12個のディスクリプタD3010を記憶できる。なお、リングバッファ1050が、転送制御情報管理手段に相当する。
<2-2-1>管理情報
リングバッファ1050は、管理情報として、ライトポインタWPとグローバルリードポインタRPgとオーバーラップフラグORFとを保持する。ライトポインタWP、グローバルリードポインタRPおよびオーバラップフラグORFは、メモリ上の変数や、レジスタにより実現されている。
<2-3>データ転送制御装置の構成
データ転送制御装置1061は、SDXCインターフェース1070とDMAコントローラ1030との間で論理チャネルCH1を介したデータ転送を制御する。なお、データ転送制御装置1062,1063の構成は、データ転送制御装置1061の構成と同じなので説明を省略する。
<2-3-1>ライトポインタ取得部
ライトポインタ取得部5002は、リングバッファ1050からライトポインタWPの値を取得する。なお、ライトポインタ取得部5002は、最終順序情報取得手段に相当する。
<2-3-2>ローカルリードポインタ保持部
ローカルリードポインタ保持部5007は、図8(a),(b)に示すように、当該ローカルリードポインタ保持部5007が属するデータ転送制御装置1061が使用するディスクリプタD3010aが格納されている格納領域M51(M57)を示すローカルリードポインタ(第1のローカルリードポインタ)RPl1を保持する。なお、ローカルリードポインタ保持部5007が、順序情報保持手段に相当する。
<2-3-3>転送終了通知信号受信部
転送終了通知信号受信部5000は、データ転送終了通知装置1040から送出される転送終了通知信号を受信するとディスクリプタD3010aに基づくデータ転送が終了したことを認識する。なお、転送終了通知信号受信部5000は、転送終了認識手段に相当する。
<2-3-4>ローカルリードポインタ取得部
ローカルリードポインタ取得部5001は、他のデータ転送制御装置1062,1063が保持するローカルリードポインタ(第2のローカルリードポインタ)RPl2,RPl3の値を取得する。このローカルリードポインタRPl2,RPl3は、他のデータ転送制御装置1062,1063それぞれが使用するディスクリプタD3010b,D3010cが格納されている格納領域M52,M53を示す。なお、ローカルリードポインタ取得部5001が、順序情報取得手段に相当する。
<2-3-5>前後関係判別部
前後関係判別部5003は、ローカルリードポインタRPl1の値とローカルリードポインタRPl2,RPl3の値それぞれとを比較して、ディスクリプタD3010a,D3010b,D3010cそれぞれの読み出し順序の前後関係を判別する。なお、前後関係判別部5003は、前後関係判別手段に相当する。
<2-3-6>リードポインタ更新部
リードポインタ更新部5004は、転送終了通知信号受信部5000によりディスクリプタD3010aに基づくデータ転送の終了が認識されると、ローカルリードポインタRPl1が示すディスクリプタD3010aの読出し順序が、他のデータ転送制御装置1062,1063それぞれが保持するローカルリードポインタRPl2,RPl3が示すディスクリプタD3010b,D3010cの読み出し順序よりも前方であれば、グローバルリードポインタRPgの値をローカルリードポインタRPl1の値を用いて更新する。
<2-3-7>最新リードポインタ抽出部
最新リードポインタ抽出部5005は、ローカルリードポインタ保持部5007が保持するローカルリードポインタRPl1の値、およびローカルリードポインタ取得部5001が他のデータ転送制御装置1062,1063から取得するローカルリードポインタRPl2,RPl3の値を比較するローカルリードポインタ比較手段(図示せず)を備え、ローカルリードポインタRPl1,RPl2,RPl3の値同士を比較して、ローカルリードポインタRPl1,RPl2,RPl3の中から、ライトポインタWPの値との差が最も小さいローカルリードポインタを最新リードポインタとして抽出する。
<2-3-8>ライトポインタ更新確認部
ライトポインタ更新確認部5006は、リングバッファ1050に新たなディスクリプタD3010が格納されたときに生じるライトポインタWPの値の更新を検出する。なお、ライトポインタ更新確認部5006は、最終順序情報更新検出手段に相当する。
<2-3-9>ディスクリプタ取得部
ディスクリプタ取得部5008は、ローカルリードポインタ保持部5007に保持されているローカルリードポインタRPl1の値に従って、リングバッファ1050上における当該ローカルリードポインタRPl1の示す格納領域に格納されているディスクリプタD3010a(図7参照)を取得する動作を行い、ディスクリプタD3010aの取得が完了すると、ディスクリプタ取得完了信号をディスクリプタ取得完了通知部5009に対して出力する。なお、ディスクリプタ取得部5008は、転送制御情報読出手段に相当する。
<2-3-10>ディスクリプタ取得完了通知部
ディスクリプタ取得完了通知部5009は、ディスクリプタ取得部5008によるディスクリプタD3010aの取得が完了し、ディスクリプタ取得部5008からディスクリプタ取得完了信号が入力され、更に、ローカルリードポインタ保持部5007が保持するローカルリードポインタRPl1の値が更新されると、転送制御情報取得完了信号であるディスクリプタ取得完了通知信号を送出する転送制御情報取得完了通知手段を構成する。
<2-3-11>転送終端部
転送終端部5011は、DMAコントローラ1030とSDXCインターフェース1070との間で論理チャネルCH1,CH2,CH3を介して行われるデータ転送の終端処理を行う。例えば、転送終端部5011は、DMAコントローラ1030が保持する制御レジスタのうち、データ転送制御を行うデータ転送が行われた論理チャネルCH1,CH2,CH3に対応する制御レジスタにデータ転送の終了を示す規定値の書き込みや、CPUに対する転送終了割り込み処理を行う。
<2-3-12>ディスクリプタ設定部
ディスクリプタ設定部5010は、データ転送起動要求受信部5012から起動要求信号を受信すると、ディスクリプタ取得部5008が取得したディスクリプタD3010の示す情報に基づいて、DMAコントローラ1030およびSDXCインターフェース1070に対して、データ転送の設定を行い、DMAコントローラ1030にデータ転送を開始させる。
<2-3-13>データ転送起動要求受信部
データ転送起動要求受信部5012は、DMAコントローラ1030、又はSDXCインターフェース1070から送出されるデータ転送起動要求信号を受信すると、ディスクリプタ設定部5010に対して起動要求信号を出力する。
<2-4>データ転送終了通知装置の構成
データ転送終了通知装置1040は、図13に示すように、3つの論理チャネルCH1,CH2,CH3を介して並列に実行される複数のデータ転送のうちいずれか1つのデータ転送を対応するディスクリプタD3010に基づいて制御する3つのデータ転送制御装置1061,1062,1063に共通に接続されている。ここで、データ転送終了通知装置1040は、DMAコントローラ1030からデータ転送が終了したことの通知を受けると、データ転送制御装置1061,1062,1063に対してデータ転送が終了したことを通知する。
<2-4-1>論理チャネル転送終了通知部
論理チャネル転送終了通知部4031は、論理チャネル転送終了検知部4011がDMAコントローラ1030からデータ転送が終了した旨の通知を受けると、対応するデータ転送制御装置1061に対して転送終了通知信号を送出する転送終了通知手段を構成する。なお、論理チャネル転送終了通知部4032は、論理チャネル転送終了検知部4012がDMAコントローラ1030からデータ転送が終了した旨の通知を受けると、対応するデータ転送制御装置1062に対して転送終了通知信号を送出し、論理チャネル転送終了通知部4033は、論理チャネル転送終了検知部4013がDMAコントローラ1030からデータ転送が終了した旨の通知を受けると、対応するデータ転送制御装置1063に対して転送終了通知信号を送出する。
<2-4-2>ディスクリプタ取得完了通知信号受信部
ディスクリプタ取得完了通知信号受信部4041は、データ転送制御装置1061からディスクリプタ取得完了通知信号を受信すると、ディスクリプタD3010の取得が完了したことを認識する転送制御情報取得完了認識手段を構成する。なお、ディスクリプタ取得完了通知信号受信部4042は、データ転送制御装置1062からディスクリプタ取得完了通知信号を受信すると、ディスクリプタD3010の取得が完了したことを認識し、ディスクリプタ取得完了通知信号受信部4043は、データ転送制御装置1063からディスクリプタ取得完了通知信号を受信すると、ディスクリプタD3010の取得が完了したことを認識する。
<2-4-3>論理チャネル転送終了検知部
論理チャネル転送終了検知部4011,4012,4013は、DMAコントローラ1030から論理チャネルCH1,CH2,CH3毎に送出されるデータ転送終了通知信号のうち少なくとも1つのデータ転送終了通知信号を受信することにより、少なくとも1つのデータ転送の終了を検知する転送終了検知手段を構成する。また、各論理チャネル転送終了検知部4011,4012,4013は、データ転送終了通知信号を受信すると、優先度判断部4020に対して当該データ転送終了通知信号を出力する。
<2-4-4>優先度判断部
優先度判断部4020は、3つの論理チャネル終了検知部4011,4012,4013において2以上のデータ転送の終了を同時に検知したときに、論理チャネル転送終了通知部4031,4032,4033に対して、最も優先度の高い論理チャネルCH1,CH2,CH3に対応するデータ転送制御装置1061,1062,1063にのみ対して転送終了通知信号を送出させる。
<3>動作
次に、本実施の形態に係る情報処理システムの中で、本実施の形態の特徴となるデータ転送制御装置およびデータ転送終了通知装置の動作について説明する。
<3-1>全体動作
DMAコントローラ1030、データ転送終了通知装置1040、リングバッファ1050および3つのデータ転送制御装置1061,1062,1063相互間のシーケンス図を図14に示し、図14に示すシーケンスで動作が行われた場合における各チャネルCH1,CH2,CH3の状態、各データ転送制御装置1061,1062,1063が保持するローカルリードポインタRPl1,RPl2,RPl3の値、およびグローバルリードポインタRPgの値の経時変化を表すタイムチャートを図15に示す。また、リングバッファ1050の状態を図16に示す。以下、図14から図16に基づいて説明する。
<3-2>データ転送制御装置の動作
本実施の形態に係るデータ転送制御装置1061の動作について図17に基づいて更に詳細に説明する。
一方、ステップS7011において、転送終了通知信号受信部5000が、正常終了信号が含まれる(正常終了した)と判断すると、ローカルリードポインタ取得部5001が、を他のデータ転送制御装置1062,1063それぞれからローカルリードポインタRPl2,RPl3の値を取得するとともに(ステップS7012)、ライトポインタ取得部5002が、ライトポインタWPの値を確認する(ステップS7013)。
<3-3>データ転送終了通知装置の動作
本実施の形態に係るデータ転送終了通知装置1040の動作について図18に基づいて更に詳細に説明する。ここでは、各論理チャネルCH1,CH2,CH3間での優先度が、論理チャネルCH1が最も高く、以降論理チャネルCH2、論理チャネルCH3の順番で低くなるものとして説明する。
<実施の形態2>
以下、本実施の形態について説明する。なお、動作は実施の形態1と同様なので説明を省略する。
<1>構成
本実施の形態に係るデータ転送制御装置2061,2062,2063を含む情報処理システムのブロック図を図19に示す。情報処理システムは、図2に示す構成と略同じであり、図19に示すように、データ転送制御装置2061,2062,2063それぞれが、データ転送終了フラグF1,F2,F3を保持している点、リングバッファ5050が、管理情報として、グローバルリードポインタRPgを保持していない点が相違する。なお、図2と同様の構成については同一の符号を付して説明を省略する。
<1-1>データ転送制御装置
データ転送制御装置1061は、ディスクリプタ取得部5008と、ローカルリードポインタ保持部5007と、転送終了通知信号受信部5000と、データ転送終了フラグ保持部5204と、フラグ更新手段5205と、ローカルリードポインタ設定部5206とを含んで構成される。なお、ディスクリプタ取得部5008、ローカルリードポインタ保持部5007、転送終了通知信号受信部5000、ローカルリードポインタ取得部5001、前後関係判別部5003、最新リードポインタ抽出部5005、ライトポインタ取得部5002、ライトポインタ更新確認部5006、ディスクリプタ取得完了通知部5009、ディスクリプタ設定部5010およびデータ転送起動要求受信部5012の構成は、前述の実施の形態と同様なので、説明を省略する。
<2>動作
次に、本実施の形態に係るデータ転送制御装置を含む情報処理システムの全体動作について説明する。
<変形例>
(1)実施の形態1では、DMAコントローラ1030とSDXCインターフェース1070とが3つの論理チャネルCH1,CH2,CH3により接続され、論理チャネルCH1,CH2,CH3毎に3つのデータ転送制御装置1061,1062,1063を備える例について説明したが、これに限定されるものではなく、例えば、図22に示すように、DMAコントローラ1030とSDXCインターフェース1070とが4つ以上の論理チャネルCH1,CH2,・・・,CHnにより接続され、論理チャネルCH1,CH2,・・・,CHn毎に4つ以上のデータ転送制御装置1061,1062,・・・,106nを備えたものであってもよい。また、DMAコントローラ1030とSDXCインターフェース1070とが2つの論理チャネル(図示せず)により接続され、論理チャネル毎に2つのデータ転送制御装置(図示せず)を備えるものであってもよい。
(2)実施の形態1および2では、データ転送終了通知装置1040が、3つの論理チャネルCH1,CH2,CH3を介して並列に実行される複数のデータ転送のうちいずれか1つのデータ転送を対応する転送制御情報に基づいて制御する複数のデータ転送制御装置に共通に接続されており、DMAコントローラ1030からデータ転送制御装置1061,1062,1063nのいずれかに対してデータ転送制御装置1061,1062,1063が制御するデータ転送が終了したことを通知する例について説明したが、これに限定されるものではなく、例えば、図23に示すように、DMAコントローラ1030とSDXCインターフェース1070とが3つの論理チャネルCH1,CH2,CH3により接続され、データ転送終了通知装置1040が、4つ以上のデータ転送制御装置に共通に接続され、DMAコントローラ1030からデータ転送制御装置1061,1062,・・・,106nのいずれかに対してデータ転送制御装置1061,1062,・・・,106nが制御するデータ転送が終了したことを通知するものであってもよい。また、DMAコントローラ1030とSDXCインターフェース1070とが2つの論理チャネル(図示せず)により接続され、データ転送終了通知装置1040が、2つのデータ転送制御装置(図示せず)に共通に接続され、DMAコントローラ1030から2つのデータ転送制御装置のいずれかに対してデータ転送制御装置が制御するデータ転送が終了したことを通知するものであってもよい。
(3)実施の形態1では、転送制御情報管理手段が、リングバッファ1050により構成される例について説明したが、これに限定されるものではなく、例えば、転送制御情報管理手段が、図24に示すように、アドレス(x0001,x0002,・・・.x0014,・・・)が連続した複数の格納領域M251,M252,・・・,M264,・・・から構成されたバッファ2050よりなるものであってもよい。
(4)実施の形態1では、ディスクリプタ取得部5008が、ローカルリードポインタ保持部5007に保持されているローカルリードポインタRPl1の値に従って、リングバッファ1050上における当該ローカルリードポインタRPl1の示す格納領域に格納されているディスクリプタD3010a(図7参照)を取得する動作を行う例について説明したが、これに限定されるものではなく、例えば、ディスクリプタ取得部5008が、ディスクリプタD3010aの取得を完了すると、取得したディスクリプタD3010の格納領域のアドレスでローカルリードポインタRPl1の値を更新するようにしてもよい。
(4)実施の形態1では、最新リードポインタ抽出部5005が、ローカルリードポインタRPl1,RPl2,RPl3の値同士を比較して、ローカルリードポインタRPl1,RPl2,RPl3の中から、ライトポインタWPの値との差が最も小さいローカルリードポインタを最新リードポインタとして抽出し、前後関係判別部5003が、ライトポインタWPの値と最新リードポインタの値とが等しいと判定すると、ディスクリプタ取得部5008が、新たにディスクリプタD3010を取得する動作を行わない例について説明したが。これに限定されるものではなく、例えば、所定の閾値と最新リードポインタの値とを比較する閾値比較手段(図示せず)を備え、ディスクリプタ取得部5008が、閾値比較手段により所定の閾値と最新リードポインタの値とが等しいと判定されると、最新リードポインタの示すディスクリプタD3010の次に読み出される新たなディスクリプタD3010を取得する動作を行わないようにしてもよい。
(5)実施の形態1および2では高速IOインターフェースとしてSDXCインターフェース1070が用いられる例について説明したが、これに限定されず、例えば、USBやSATAなど、その他のIOインターフェースであってもよい。
(6)実施の形態1および2では、複数のデータ転送制御装置1061,1062,1063が、SDXCインターフェース1070に設けられたIOバッファ1074と主記憶装置1010との間のデータ転送を制御する例について説明したが、これに限定されず、2つの一般的な格納領域(例えば、DRAM、SRAM等)の間でのデータ転送を制御するものであってもよい。
(7)実施の形態1および2では、SDXCインターフェース1070に設けられたIOバッファ1074と主記憶装置1010との間で複数の論理チャネルCH1,CH2,CH3を介して複数のデータ転送が並列に行われる例について説明したが、これに限定されるものではなく、例えば、複数の物理チャネル(図示せず)を介して複数のデータ転送が並列に行われるものであってもよい。
(8)実施の形態1および2ではディスクリプタD3010が、転送元アドレス、転送先アドレス、転送するデータのサイズを含んで構成される例について説明したが、転送元アドレス、転送先アドレス、転送サイズこれに限定されず、例えば、ディスクリプタD3010が転送元アドレスを含まないものであってもよい。
(9)実施の形態1および2では、ディスクリプタD3010が、更に、間欠転送を行うか否かを指定するための情報、間欠転送を行う場合における1回当たりの転送するデータのサイズおよび論理チャネルを用いたDMA転送を行うか否かを指定するための情報等からなる転送モード情報を含む構成であってもよい。
(10)実施の形態1および2では、ディスクリプタD3010が、転送元アドレス、転送先アドレス、転送するデータのサイズを含んで構成される例について説明したが、これに限定されるものではなく、ディスクリプタD3010が、SDXCデバイス1080に対して発行するIOコマンド種別やコマンドの引数を含んで構成されるものであってもよい。
(11)実施の形態1および2では、リングバッファ1050,5050がメモリで実現される場合を例に説明したが、これに限定されず、例えばリングバッファ1050がレジスタファイルで構成されてなるものであってもよい。また、実施の形態1では、リングバッファ1050,5050が12個のディスクリプタD3010を格納する例について説明したが、これに限定されるものではなく、13個以上のディスクリプタD3010、或いは、11個以下のディスクリプタD3010を格納するものであってもよい。
(12)実施の形態1および2では、リングバッファ1050,5050へのディスクリプタD3010の格納がCPU1000により行われる例について説明したが、これに限定されず、例えば、CPU1000がまずリングバッファ1050,5050以外の所定のバッファ(図示せず)に格納し、当該所定のバッファに格納されたディスクリプタD3010をリングバッファ1050,5050に転送する専用のモジュール(図示せず)を備えたものであってもよい。
(13)実施の形態1では、ライトポインタWP、グローバルリードポインタRPg、ローカルリードポインタRPl1,RPl2がインクリメントされていく例について説明したが、これに限定されず、例えば、ライトポインタWP、グローバルリードポインタRPgおよびローカルリードポインタRPl1,RPl2,RPl3がデクリメントされていくものであってもよい。
(14)実施の形態1では、DMAコントローラ1030に各論理チャネルCH1,CH2,CH3毎に、転送されたデータのチェックサムを計算するチェックサム計算部(図示せず)が設けられ、チェックサム計算部による計算結果が転送されたデータに含まれるチェックサム期待値に一致しなかった場合(チェックサムエラーが発生した場合)に、異常終了通知信号をデータ転送終了信号に含ませる例について説明したが、これに限定されるものではなく、例えば、DMAコントローラ1030に転送されたデータのハッシュ値を計算するハッシュ値計算部(図示せず)が設けられ、ハッシュ計算部による計算結果が転送されたデータのハッシュ値の期待値と一致しなかった場合に、異常終了通知信号をデータ転送終了信号に含ませるものであってもよい。
(15)実施の形態1および2では、各論理チャネルCH1,CH2,CH3の優先度が予め定められてなる例について説明したが、これに限定されず、例えば、論理チャネルCH1,CH2,CH3の優先度を設定するレジスタ等を設けて、当該レジスタをCPU1000が、任意のタイミングで更新するものであってもよい。
(16)実施の形態1および2では、データ転送終了通知装置1040が論理チャネルCH1,CH2,CH3毎に対応する論理チャネル転送終了検知部4011,4012,4013を備え、論理チャネルCH1,CH2,CH3毎に各別に転送終了通知信号を受信する例について説明したが、これに限定されず、例えば、データ転送終了通知装置1040が、各論理チャネルCH1,CH2,CH3に対して、転送終了か転送中かをポーリングで順番に確認していく1つの論理チャネル転送終了検知部(図示せず)を備えたものであってもよい。
(17)実施の形態1および2では、転送終端部5011が、各論理チャネルCH1,CH2,CH3からの割り込みをクリアする例について説明したが、これに限定されず、例えば、転送終端部5011が、対応する論理チャネルCH1,CH2,CH3に対してデータ転送の終了が確認された旨を通知するものであってもよい。
(18)実施の形態1では、ディスクリプタ取得部5008が、最新リードポインタの値がライトポインタWPの値と等しいと新たにディスクリプタD3010を取得する動作を行わない例について説明したが、更に、最新リードポインタの値とライトポインタWPの値が等しい状態であることをCPU1000に通知してディスクリプタD3010のリングバッファ1050への格納を要求する格納要求部(図示せず)を備えるものであってもよい。
(19)前述の実施の形態1は、SDXCインターフェース1070と、主記憶装置1010と、DMAコントローラ1030と、メモリコントローラ1020と、3つのデータ転送制御装置1061,1062,1063と、データ転送終了通知装置1040と、リングバッファ1050とが1つの半導体集積回路に集積されてなるLSIとして実現してもよい。或いは、3つのデータ転送制御装置1061,1062,1063、データ転送終了通知装置1040を個別にLSIで実現してもよい。
(20)前述では、LSIとしたが、集積度の違いにより、IC、システムLSI、スーパーLSI、ウルトラLSIと呼称されることもある。
1050 リングバッファ
1061,1062,1063 データ転送制御装置
4011,4012,4013 論理チャネル転送終了検知部
4020 優先度判断部
4031,4032,4033 論理チャネル転送終了通知部
4041,4042,4043 ディスクリプタ取得完了通知信号受信部
5000 転送終了通知信号受信部
5001 ローカルリードポインタ取得部
5002 ライトポインタ取得部
5003 前後関係判別部
5004 リードポインタ更新部
5005 最新リードポインタ抽出部
5006 ライトポインタ更新確認部
5007 ローカルリードポインタ保持部
5008 ディスクリプタ取得部
5009 ディスクリプタ取得完了通知部
5010 ディスクリプタ設定部
5011 転送終端部
5012 データ転送起動要求受信部
D3010,D3010a,D3010b,D3010c,D3010d,D3010e ディスクリプタ
D3011 転送元アドレス
D3012 転送先アドレス
D3014 転送サイズ
M51,M52,・・・,M58,M251,M252,・・・,M264 格納領域
ORF オーバーラップフラグ
RPg グローバルリードポインタ
RPl1 ローカルリードポインタ(第1のローカルリードポインタ)
RPl2,RPl3 ローカルリードポインタ(第2のローカルリードポインタ)
Claims (30)
- 所定の読み出し順序で読み出される複数の転送制御情報と所定の読み出し順序を管理する管理情報とを保持する転送制御情報管理手段から1つの転送制御情報を読み出し、当該転送制御情報に基づいて複数のデータ転送チャネルのいずれか1つで行われるデータ転送を制御するデータ転送制御装置であって、
前記転送制御情報管理手段から前記転送制御情報を読み出す転送制御情報読出手段と、
前記転送制御情報読出手段により読み出された前記転送制御情報の読み出し順序を示す順序情報を保持する順序情報保持手段と、
前記転送制御情報に基づいたデータ転送が終了したことを認識する転送終了認識手段と、
他のデータ転送制御装置それぞれが保持する順序情報を他のデータ転送制御装置から取得する順序情報取得手段と、
自らが保持する順序情報が示す読み出し順序と、他のデータ転送制御装置それぞれが保持する順序情報が示す読み出し順序との前後関係を判別する前後関係判別手段と、
前記転送終了認識手段により前記データ転送が終了したことが認識され、且つ前記前後関係判別手段により前記自らが保持する順序情報が示す読出し順序が前記他のデータ転送制御装置それぞれが保持する順序情報が示す読み出し順序よりも前方と判別されると、前記管理情報を更新する管理情報更新手段と
を備えることを特徴とするデータ転送制御装置。 - 前記管理情報は、前記自らが保持する順序情報および前記他のデータ転送制御装置それぞれが保持する順序情報が示す読み出し順序の中で最も前方の読み出し順序よりも前方の読み出し順序を示す実行済み順序情報を含んで構成され、
前記管理情報更新手段は、前記前後関係判別手段により前記自らが保持する順序情報が示す読出し順序が前記他のデータ転送制御装置それぞれが保持する順序情報が示す読み出し順序よりも前方と判別されると、前記自らが保持する順序情報を用いて前記実行済み順序情報を更新する
ことを特徴とする請求項1記載のデータ転送制御装置。 - 前記管理情報更新手段は、前記前後関係判別手段により前記自らが保持する順序情報が示す読み出し順序が前記他のデータ転送制御装置それぞれが保持する順序情報が示す読み出し順序よりも前方ではないと判別されると、前記実行済み順序情報を前記自らが保持する順序情報を用いて更新しないこと
を特徴とする請求項2に記載のデータ転送制御装置。 - 前記自らが保持する順序情報および前記他のデータ転送制御装置それぞれが保持する順序情報の中で最後の読み出し順序を示す最新順序情報を抽出する最新順序情報抽出手段を備え、
前記転送制御情報読出手段は、前記転送終了認識手段により前記データ転送の終了が認識されると、前記転送制御情報管理手段から前記最新順序情報が示す読み出し順序で読み出される前記転送制御情報の次に読み出される前記転送制御情報を取得する
ことを特徴とする請求項2に記載のデータ転送制御装置。 - 前記管理情報は、前記転送制御情報管理手段に最後に格納された転送制御情報の読み出し順序を示す最終順序情報を含んで構成され、
前記最終順序情報を取得する最終順序情報取得手段と、
前記最終順序情報と前記最新順序情報抽出手段により抽出される前記最新順序情報とを比較する最終順序比較手段と
を備え、
前記転送制御情報読出手段は、前記最終順序比較手段により前記最終順序情報が示す読み出し順序と前記最新順序情報が示す読み出し順序とが等しいと判定されると、前記転送制御情報管理手段から前記最新順序情報が示す前記転送制御情報の次に読み出される前記転送制御情報を取得する動作を行わない
ことを特徴とする請求項4記載のデータ転送制御装置。 - 前記最終順序情報の更新を検出する最終順序情報更新検出手段を備え、
前記転送制御情報読出手段は、前記前後関係判別手段が、前記最新順序情報が示す読み出し順序と前記最終順序情報が示す読み出し順序とが等しいと判別した場合において、前記最終順序情報更新検出手段により前記最終順序情報の更新が検出されると、前記転送制御情報管理手段から前記最新順序情報が示す読み出し順序で読み出される転送制御情報の次に読み出される前記転送制御情報を取得する動作を行う
ことを特徴とする請求項5記載のデータ転送制御装置。 - 前記自らが保持する順序情報は、自らが読み出す前記転送制御情報の格納領域のアドレスを示す自らが保持するローカルリードポインタであり、
前記他のデータ転送制御装置それぞれが保持する順序情報は、他のデータ転送制御装置が読み出す前記転送制御情報の格納領域のアドレスを示す他のデータ転送制御装置それぞれが保持するローカルリードポインタであり、
前記管理情報は、前記転送制御情報管理手段に最後に格納された転送制御情報の格納領域のアドレスを示すライトポインタと、前記自らが保持するローカルリードポインタが示すアドレスと前記他のデータ転送制御装置それぞれが保持するローカルリードポインタが示すアドレスの中で最も読み出し順序が前方の前記転送制御情報よりも読み出し順序が前方の前記転送制御情報が格納された格納領域のアドレスを示すグローバルリードポインタとを含んで構成される
ことを特徴とする請求項2記載のデータ転送制御装置。 - 前記転送制御情報管理手段は、リングバッファにより構成され、
前記管理情報は、前記ライトポインタの値を更新する際、更新前のライトポインタの値が更新後のライトポインタの値よりも大きいとイネーブル状態に設定され、前記リードポインタを更新する際、更新前のグローバルリードポインタの値が更新後のグローバルリードポインタの値よりも大きいとディセーブル状態に設定されるオーバラップフラグを含んで構成される
ことを特徴とする請求項7記載のデータ転送制御装置。 - 前記前後関係判別手段は、前記ライトポインタの値と、前記自らが保持するローカルリードポインタの値および前記他のデータ転送制御装置それぞれが保持するローカルリードポインタの値との大小関係を比較し、前記自らが保持するローカルリードポインタの示すアドレスの格納領域に格納された前記転送制御情報の読み出し順序と、前記他のデータ転送制御装置それぞれが保持するローカルリードポインタが示すアドレスの格納領域に格納された前記転送制御情報の読出し順序との前後関係を判別する
ことを特徴とする請求項8記載のデータ転送制御装置。 - 前記管理情報更新手段は、前記グローバルリードポインタの値を更新する場合、更新前の前記グローバルリードポインタの値が、更新後の前記グローバルリードポインタの値よりも大きいと前記オーバラップフラグをディセーブル状態に設定する
ことを特徴とする請求項8に記載のデータ転送制御装置。 - 前記転送制御情報管理手段は、アドレスが連続した複数の格納領域にアドレスの小さい格納領域から順番に転送制御情報が格納されてなるバッファから構成される
ことを特徴とする請求項7に記載のデータ転送制御装置。 - 前記前後関係判別手段は、前記自らが保持するローカルリードポインタの値が、前記他のデータ転送制御装置が保持するローカルリードポインタの値よりも小さい場合、前記自らが保持するローカルリードポインタが示すアドレスの格納領域に格納された前記転送制御情報の読み出し順序が前記他のデータ転送制御装置それぞれが保持するローカルリードポインタが示すアドレスの格納領域に格納された前記転送制御情報の読み出し順序よりも前方と判別する
ことを特徴とする請求項11に記載のデータ転送制御装置。 - 前記管理情報更新手段は、前記前後関係判別手段により前記自らが保持するローカルリードポインタが示すアドレスの格納領域に格納された前記転送制御情報の読み出し順序が前記他のデータ転送制御装置それぞれが保持するローカルリードポインタが示すアドレスの格納領域に格納された前記転送制御情報の読出し順序よりも前方と判別されると、前記グローバルリードポインタの値を前記自らが保持するローカルリードポインタの値を用いて更新する
ことを特徴とする請求項11に記載のデータ転送制御装置。 - 前記最新順序情報抽出手段は、前記自らが保持するローカルリードポインタおよび前記他のデータ転送制御装置それぞれが保持するローカルリードポインタの中から、読み出し順序が最後の転送制御情報が格納された格納領域のアドレスを示す最新リードポインタを抽出するものであって、
所定の閾値と前記最新リードポインタの値とを比較する閾値比較手段を備え、
前記転送制御情報読出手段は、前記閾値比較手段により前記所定の閾値と前記最新リードポインタの値とが等しいと判定されると、前記最新リードポインタの示すアドレスの格納領域に格納された前記転送制御情報の次に読み出される前記転送制御情報を取得する動作を行わない
ことを特徴とする請求項7記載のデータ転送制御装置。 - 前記所定の閾値は、前記グローバルリードポインタの値に対して予め定められた一定の値を加算してなる
ことを特徴とする請求項14記載のデータ転送制御装置。 - 前記所定の閾値は、前記ライトポインタの値に対して予め定められた一定の値を減算してなる
ことを特徴とする請求項14記載のデータ転送制御装置。 - 前記転送制御情報は、少なくともデータ転送の転送先アドレスおよび転送するデータのサイズを含む
ことを特徴とする請求項1に記載のデータ転送制御装置。 - 前記転送制御情報読出手段による前記転送制御情報の取得が完了すると転送制御情報取得完了信号を送出する転送制御情報取得完了通知手段を備える
ことを特徴とする請求項1に記載のデータ転送制御装置。 - 前記転送終了認識手段は、前記データ転送が正常終了したか異常終了したかを認識し、
前記転送制御情報読出手段は、前記転送終了認識手段により前記データ転送が正常終了したと認識されると新たに前記転送制御情報を取得する動作を行い、前記転送終了認識手段により前記データ転送が異常終了したと認識されると新たに前記転送制御情報を取得する動作を行わない
ことを特徴とする請求項1記載のデータ転送制御装置。 - 所定の読み出し順序で読み出される複数の転送制御情報と所定の読み出し順序を管理する管理情報とを保持する転送制御情報管理手段から1つの転送制御情報を読み出し、当該転送制御情報に基づいて複数のデータ転送チャネルのいずれか1つで行われるデータ転送を制御するデータ転送制御装置であって、
前記転送制御情報管理手段から転送制御情報を読み出す転送制御情報読出手段と、
前記転送制御情報読出手段が読み出す前記転送制御情報の読み出し順序を示す順序情報を保持する順序情報保持手段と、
前記転送制御情報に基づいたデータ転送が終了したことを認識する転送終了認識手段と、
前記転送制御情報に基づいたデータ転送が終了したか否かを示すデータ転送終了フラグを保持するフラグ保持手段と、
前記転送終了認識手段により前記データ転送の終了が認識されると、前記データ転送終了フラグを更新するフラグ更新手段よりなる
ことを特徴とするデータ転送制御装置。 - 複数のデータ転送チャネルを介して並列に実行される複数のデータ転送のうちいずれか1つのデータ転送を対応する転送制御情報に基づいて制御する複数のデータ転送制御装置に共通に接続され且つ少なくとも1つのデータ転送制御装置に対して当該データ転送制御装置が制御するデータ転送が終了したことを通知するデータ転送終了通知装置であって、
少なくとも1つのデータ転送の終了を検知する転送終了検知手段と、
転送終了検知手段が少なくとも1つのデータ転送の終了を検知すると、対応するデータ転送制御装置に対して所定のタイミングで転送終了通知信号を送出する転送終了通知手段と
を備えることを特徴とするデータ転送終了通知装置。 - 複数の前記データ転送チャネルが、予め優先度が設定されてなり、
前記転送終了検知手段が複数のデータ転送の終了を同時に検知したときに、転送終了通知手段に対して、最も優先度の高い前記データ転送チャネルに対応する前記データ転送制御装置のみに対して前記転送終了通知信号を送出させる優先度判断部を備える
ことを特徴とする請求項21記載のデータ転送終了通知装置。 - 前記データ転送制御装置から前記転送制御情報の取得が完了したことを認識する転送制御情報取得完了認識手段を備え、
前記転送終了通知手段は、前記転送制御情報取得完了認識手段により一のデータ転送制御装置において前記転送制御情報の取得が完了したことが認識されるまで、他のデータ転送制御装置に対して前記転送終了通知信号を送出しない
ことを特徴とする請求項21記載のデータ転送終了通知装置。 - 前記転送終了検知手段は、前記データ転送が正常終了したか異常終了したかを検知し、対応する前記データ転送制御装置に対して終了結果通知信号を送出する終了結果検知手段を備える
ことを特徴とする請求項21に記載のデータ転送終了通知装置。 - 前記終了結果検知手段は、転送されるデータにチェックサムエラーが発生すると、データ転送が異常終了したと検知する
ことを特徴とする請求項24記載のデータ転送終了通知装置。 - 所定の読み出し順序で読み出される複数の転送制御情報と所定の読み出し順序を管理する管理情報とを保持する転送制御情報管理手段から1つの転送制御情報を読み出し、当該転送制御情報に基づいて複数のデータ転送チャネルのいずれか1つで行われるデータ転送を制御するデータ転送制御用集積回路であって、
前記転送制御情報管理手段から前記転送制御情報を読み出す転送制御情報読出手段と、
前記転送制御情報読出手段が読み出す前記転送制御情報の読み出し順序を示す順序情報を保持する順序情報保持手段と、
前記転送制御情報に基づいたデータ転送が終了したことを認識する転送終了認識手段と、
他のデータ転送制御装置それぞれが保持する第2の順序情報を他のデータ転送制御装置から取得する順序情報取得手段と、
自らが保持する順序情報が示す読み出し順序と、他のデータ転送制御装置それぞれが保持する順序情報が示す読み出し順序との前後関係を判別する前後関係判別手段と、
前記転送終了認識手段により前記データ転送が終了したことが認識され、且つ前記前後関係判別手段により前記自らが保持する順序情報が示す読出し順序が前記他のデータ転送制御装置それぞれが保持する順序情報が示す読み出し順序よりも前方と判別されると、前記管理情報を更新する管理情報更新手段と
を備えることを特徴とするデータ転送制御用集積回路。 - 所定の読み出し順序で読み出される複数の転送制御情報と所定の読み出し順序を管理する管理情報とを保持する転送制御情報管理手段から1つの転送制御情報を読み出し、当該転送制御情報に基づいて複数のデータ転送チャネルのいずれか1つで行われるデータ転送を制御するデータ転送制御方法であって、
前記転送制御情報管理手段から前記転送制御情報を読み出す転送制御情報読出ステップと、
前記転送制御情報読出手段が読み出す前記転送制御情報の読み出し順序を示す順序情報を保持する順序情報保持ステップと、
前記転送制御情報に基づいたデータ転送が終了したことを認識する転送終了認識手段と、
他のデータ転送制御装置それぞれが保持する順序情報を他のデータ転送制御装置から取得する順序情報取得ステップと、
自らが保持する順序情報が示す読み出し順序と、他のデータ転送制御装置それぞれが保持する順序情報が示す読み出し順序との前後関係を判別する前後関係判別ステップと、
前記転送終了認識手段により前記データ転送が終了したことが認識され、且つ前記前後関係判別手段により前記自らが保持する順序情報が示す読出し順序が前記他のデータ転送制御装置それぞれが保持する順序情報が示す読み出し順序よりも前方と判別されると、前記管理情報を更新する管理情報更新ステップと
を含むことを特徴とするデータ転送制御方法。 - 複数のデータ転送チャネルを介して並列に実行される複数のデータ転送のうちいずれか1つのデータ転送を対応する転送制御情報に基づいて制御する複数のデータ転送制御装置に共通に接続され且つ少なくとも1つのデータ転送制御装置に対して当該データ転送制御装置が制御するデータ転送が終了したことを通知するデータ転送終了通知用集積回路であって、
少なくとも1つのデータ転送の終了を検知する転送終了検知手段と、
前記転送終了検知手段が少なくとも1つのデータ転送の終了を検知すると、対応する前記データ転送制御装置に対して転送終了通知信号を送出する転送終了通知手段と
を備えることを特徴とするデータ転送終了通知用集積回路。 - 複数のデータ転送チャネルを介して並列に実行される複数のデータ転送のうちいずれか1つのデータ転送を対応する転送制御情報に基づいて制御する複数のデータ転送制御装置に共通に接続され且つ少なくとも1つのデータ転送制御装置に対して当該データ転送制御装置が制御するデータ転送が終了したことを通知するデータ転送終了通知方法であって、
少なくとも1つのデータ転送の終了を検知する転送終了検知ステップと、
前記転送終了検知手段が少なくとも1つのデータ転送の終了を検知すると、対応する前記データ転送制御装置に対して転送終了通知信号を送出する転送終了通知ステップと
を含むことを特徴とするデータ転送終了通知方法。 - 所定の読み出し順序で読み出される複数の転送制御情報と所定の読み出し順序を管理する管理情報とを保持する転送制御情報管理手段から1つの転送制御情報を読み出し、当該転送制御情報に基づいて複数のデータ転送チャネルのいずれか1つで行われるデータ転送を制御するデータ転送制御装置と、複数のデータ転送制御装置に共通に接続され且つ少なくとも1つのデータ転送制御装置に対して当該データ転送制御装置が制御するデータ転送が終了したことを通知するデータ転送終了通知装置とから構成されるデータ転送制御システムであって、
前記転送制御情報管理手段から前記転送制御情報を読み出す転送制御情報読出手段と、
前記転送制御情報読出手段が読み出す前記転送制御情報の読み出し順序を示す順序情報を保持する順序情報保持手段と、
前記転送制御情報に基づいたデータ転送が終了したことを認識する転送終了認識手段と、
他のデータ転送制御装置それぞれが保持する順序情報を他のデータ転送制御装置から取得する順序情報取得手段と、
自らが保持する順序情報が示す読み出し順序と、他のデータ転送制御装置それぞれが保持する順序情報が示す読み出し順序との前後関係を判別する前後関係判別手段と、
前記転送終了認識手段により前記データ転送が終了したことが認識され、且つ前記前後関係判別手段により前記自らが保持する順序情報が示す読出し順序が前記他のデータ転送制御装置それぞれが保持する順序情報が示す読み出し順序よりも前方と判別されると、前記管理情報を更新する管理情報更新手段と
を有するデータ転送制御装置と、
少なくとも1つのデータ転送の終了を検知する転送終了検知手段と、
前記転送終了検知手段が少なくとも1つのデータ転送の終了を検知すると、対応する前記データ転送制御装置に対して転送終了通知信号を送出する転送終了通知手段と
を有するデータ転送終了通知装置と
を備えることを特徴とするデータ転送制御システム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/511,228 US8959261B2 (en) | 2010-06-11 | 2011-01-25 | Data transfer control device, integrated circuit of same, data transfer control method of same, data transfer completion notification device, integrated circuit of same, data transfer completion notification method of same, and data transfer control system |
JP2012519204A JP5357333B2 (ja) | 2010-06-11 | 2011-01-25 | データ転送制御装置とその集積回路とデータ転送制御方法、データ転送終了通知装置とその集積回路とデータ転送終了通知方法、およびデータ転送制御システム |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010134558 | 2010-06-11 | ||
JP2010-134558 | 2010-06-11 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2011155096A1 true WO2011155096A1 (ja) | 2011-12-15 |
Family
ID=45097719
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2011/000372 WO2011155096A1 (ja) | 2010-06-11 | 2011-01-25 | データ転送制御装置とその集積回路とデータ転送制御方法、データ転送終了通知装置とその集積回路とデータ転送終了通知方法、およびデータ転送制御システム |
Country Status (3)
Country | Link |
---|---|
US (1) | US8959261B2 (ja) |
JP (1) | JP5357333B2 (ja) |
WO (1) | WO2011155096A1 (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015207222A (ja) * | 2014-04-22 | 2015-11-19 | キヤノン株式会社 | 情報処理装置、情報処理方法、システム |
WO2018135437A1 (ja) * | 2017-01-19 | 2018-07-26 | Necプラットフォームズ株式会社 | 転送制御装置、転送装置、転送制御方法及び転送制御プログラム |
CN112040502A (zh) * | 2020-08-31 | 2020-12-04 | 广东电网有限责任公司广州供电局 | 一种pdc测试数据传输方法及装置 |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013129031A1 (ja) * | 2012-02-29 | 2013-09-06 | 三菱電機株式会社 | データ転送装置、データ転送方法及びデータ転送プログラム |
WO2014167670A1 (ja) | 2013-04-10 | 2014-10-16 | 三菱電機株式会社 | データ転送装置及びデータ転送方法 |
US9465880B2 (en) * | 2013-05-14 | 2016-10-11 | International Business Machines Corporation | Optimizing storage in a publish / subscribe environment |
CN117312200B (zh) * | 2023-11-27 | 2024-02-02 | 沐曦集成电路(南京)有限公司 | 基于环形缓冲区的多通道数据dma系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH03158952A (ja) * | 1989-11-17 | 1991-07-08 | Hitachi Ltd | Dmaコントローラおよび情報処理システム |
JP2008108066A (ja) * | 2006-10-25 | 2008-05-08 | Toshiba Corp | リングバッファメモリ制御装置、及びリングバッファメモリの制御方法 |
JP2008293484A (ja) * | 2007-04-27 | 2008-12-04 | Panasonic Corp | バッファメモリ共有装置 |
JP2009277096A (ja) * | 2008-05-15 | 2009-11-26 | Fuji Xerox Co Ltd | Dma制御システム、印刷装置、および転送指示プログラム |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04238527A (ja) | 1991-01-23 | 1992-08-26 | Matsushita Electric Ind Co Ltd | データ転送方法 |
JPH05134965A (ja) | 1991-11-12 | 1993-06-01 | Canon Inc | データ転送制御装置 |
US6631434B1 (en) * | 1999-11-15 | 2003-10-07 | Hewlett-Packard Development Company, L.P. | Dynamic early indication system for a computer |
US7664127B1 (en) * | 2005-04-05 | 2010-02-16 | Sun Microsystems, Inc. | Method for resolving mutex contention in a network system |
JP2007249635A (ja) | 2006-03-16 | 2007-09-27 | Nec Corp | データ転送装置及びデータ転送方法 |
-
2011
- 2011-01-25 JP JP2012519204A patent/JP5357333B2/ja not_active Expired - Fee Related
- 2011-01-25 WO PCT/JP2011/000372 patent/WO2011155096A1/ja active Application Filing
- 2011-01-25 US US13/511,228 patent/US8959261B2/en not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH03158952A (ja) * | 1989-11-17 | 1991-07-08 | Hitachi Ltd | Dmaコントローラおよび情報処理システム |
JP2008108066A (ja) * | 2006-10-25 | 2008-05-08 | Toshiba Corp | リングバッファメモリ制御装置、及びリングバッファメモリの制御方法 |
JP2008293484A (ja) * | 2007-04-27 | 2008-12-04 | Panasonic Corp | バッファメモリ共有装置 |
JP2009277096A (ja) * | 2008-05-15 | 2009-11-26 | Fuji Xerox Co Ltd | Dma制御システム、印刷装置、および転送指示プログラム |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015207222A (ja) * | 2014-04-22 | 2015-11-19 | キヤノン株式会社 | 情報処理装置、情報処理方法、システム |
WO2018135437A1 (ja) * | 2017-01-19 | 2018-07-26 | Necプラットフォームズ株式会社 | 転送制御装置、転送装置、転送制御方法及び転送制御プログラム |
JP2018116550A (ja) * | 2017-01-19 | 2018-07-26 | Necプラットフォームズ株式会社 | 転送制御装置 |
US11023399B2 (en) | 2017-01-19 | 2021-06-01 | Nec Platforms, Ltd. | Transfer control device, transfer device, transfer control method, and transfer control program |
CN112040502A (zh) * | 2020-08-31 | 2020-12-04 | 广东电网有限责任公司广州供电局 | 一种pdc测试数据传输方法及装置 |
CN112040502B (zh) * | 2020-08-31 | 2024-02-23 | 广东电网有限责任公司广州供电局 | 一种pdc测试数据传输方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
JPWO2011155096A1 (ja) | 2013-08-01 |
US20120233372A1 (en) | 2012-09-13 |
JP5357333B2 (ja) | 2013-12-04 |
US8959261B2 (en) | 2015-02-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
USRE48736E1 (en) | Memory system having high data transfer efficiency and host controller | |
JP5357333B2 (ja) | データ転送制御装置とその集積回路とデータ転送制御方法、データ転送終了通知装置とその集積回路とデータ転送終了通知方法、およびデータ転送制御システム | |
US10740268B2 (en) | Communication system, communication system control method, and program | |
US8843663B2 (en) | Data transmission device and method for merging multiple commands | |
US8799536B2 (en) | Data processing apparatus, data processing method and computer-readable medium | |
US9473273B2 (en) | Memory system capable of increasing data transfer efficiency | |
US8671230B2 (en) | Data transfer device and data transfer method | |
US20150261631A1 (en) | Memory system and memory controller | |
CN114490106A (zh) | 信息交换系统与方法 | |
US8713205B2 (en) | Data transfer device and data transfer method | |
JP5227601B2 (ja) | 制御システム | |
US11127466B2 (en) | Read data sorting method and storage device for sequentially transmitting read data of continuous logic block addresses to host | |
JP7363344B2 (ja) | メモリ制御装置、および制御方法 | |
WO2024012015A1 (zh) | 一种存储系统、主控芯片、数据存储方法及数据读取方法 | |
JP6940283B2 (ja) | Dma転送制御装置、dma転送制御方法、及び、dma転送制御プログラム | |
JP2012128520A (ja) | データ処理装置 |
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: 11792060 Country of ref document: EP Kind code of ref document: A1 |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2012519204 Country of ref document: JP |
|
WWE | Wipo information: entry into national phase |
Ref document number: 13511228 Country of ref document: US |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 11792060 Country of ref document: EP Kind code of ref document: A1 |