US20060242334A1 - Information processor and information processing method - Google Patents
Information processor and information processing method Download PDFInfo
- Publication number
- US20060242334A1 US20060242334A1 US11/392,584 US39258406A US2006242334A1 US 20060242334 A1 US20060242334 A1 US 20060242334A1 US 39258406 A US39258406 A US 39258406A US 2006242334 A1 US2006242334 A1 US 2006242334A1
- Authority
- US
- United States
- Prior art keywords
- packet
- descriptor
- processing
- section
- memory
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
- H04L49/901—Buffering arrangements using storage descriptor, e.g. read or write pointers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
Definitions
- the present invention contains subject matter related to Japanese Patent Application JP 2005-115370 filed in the Japanese Patent Office on Apr. 13, 2005, the entire contents of which are incorporated herein by reference.
- the present invention relates to an information processor and an information processing method, and more specifically to an information processor and an information processing method that are suitably used for reading data stored in a memory by DMA (Direct Memory Access) and transmitting the read data via a network.
- DMA Direct Memory Access
- FIG. 1 shows an example of the configuration of the system.
- a transmitter 1 includes a CPU 11 for controlling the entire transmitter 1 by executing a predetermined program, a memory 13 connected to the CPU 11 via a data bus 12 , a memory controller 14 , and a network card 15 .
- the memory 13 stores data to be transmitted to a receiver 3 (hereinafter, referred to as the “transmit data”).
- the data is read by DMA (Direct Memory Access) from the memory 13 and moved to the network card 15 before being transmitted from the network card 15 to the receiver 3 via a network 2 .
- DMA Direct Memory Access
- step S 1 the CPU 11 writes packet-by-packet information on the transmit data into each descriptor of a descriptor table provided in the memory 13 .
- FIG. 3 shows an example of the descriptor table.
- the descriptor table includes a plurality of descriptors # 0 through #n recorded in a continuous region of the memory 13 .
- FIG. 4 shows the data structure of each descriptor. Described in the descriptor are “address(high)” indicating the higher 32 bits, “address(low)” indicating the lower 32 bits, “reserved” indicating unused 16 bits, and “length” consisting of 16 bits indicating the packet length, of a recording start address in the memory 13 of the corresponding packet.
- step S 2 the CPU 11 notifies the network card 15 of the numbers of descriptors that have become usable (that is, descriptors into which the packet-by-packet information has been written through the processing in step S 1 ).
- step S 3 the network card 15 sequentially reads usable descriptors one by one from the memory 13 . Then, in step S 4 , the network card 15 notifies the memory controller 14 of the recording start address and the packet length that are described in each descriptor. In response to this notification, the memory controller 14 causes data stored in the memory 13 which has the above recording start address at the leading end and the above packet length to be transferred by DMA from the memory 13 to the network card 15 . The network card 15 transmits the DMA-transferred packet to the receiver 3 via the network 2 . Through the processing of steps S 3 and S 4 , one packet of the transmit data has been moved to the network card 15 and transmitted to the receiver 3 .
- step S 5 the network card 15 makes a determination as to whether there are descriptors that have not yet been read among the usable descriptors. If it is determined that there are descriptors that have not yet been read, the processing returns to step S 3 , and the subsequent processing is repeated. If it is determined in step S 5 that there are no descriptors that have not been read, it means that all the packets forming the transmit data have been moved to the network card 15 and transmitted to the receiver 3 . The processing thus advances to step S 6 . In step S 6 , the network card 15 notifies the CPU 11 of the end of DMA. In step S 7 , the CPU 11 frees up the space on the memory 13 in which the transmit data was recorded. The foregoing completes the description of the operation of performing a DMA transfer from the memory 13 to the network card 15 .
- DMA transfer is described in, for example, Japanese Unexamined Patent Application Publication No. 2000-298640.
- the DMA transfer is started by the CPU 11 notifying the network card 15 of the numbers of descriptors that have become usable.
- the granularity (the time interval for controlling the operation timing) of the processing by the CPU 11 which operates in accordance with software, is large as compared with that of the network card 15 .
- the granularity of the software processing thus creates a bottleneck, making it difficult to fully exploit the inherent performance (the fineness of granularity of processing) potential of the network card 15 . Accordingly, for example, it has been difficult to adjust the transmission interval for transmitting a packet from the network card 15 via the network 2 with the precision commensurate with the inherent performance of the network card 15 .
- An information processor includes: generating means for generating a descriptor, the descriptor including positional information, which indicates a packet-by-packet recording position of the data in the memory, and delay time relating to packet-by-packet processing; extracting means for acquiring the descriptor generated by the generating means and extracting the positional information and the delay time from the acquired descriptor; DMA means for reading packet-by-packet data from the memory on the basis of the extracted positional information; and delaying means for delaying processing of at least one of the extracting means and the DMA means by the delay time that has been extracted by the extracting means.
- the generating means can be realized by software, and the delaying means can be realized by hardware.
- the extracting means can be adapted to acquire the descriptors generated by the generating means one by one.
- the extracting means can be adapted to collectively acquire a plurality of the descriptors generated by the generating means.
- An information processing method includes the steps of: generating a descriptor including positional information, which indicates a packet-by-packet recording position of the data in the memory, and delay time relating to packet-by-packet processing; acquiring the descriptor generated by processing of the generating step; extracting the delay time from the descriptor acquired by processing of the acquiring step; extracting the positional information from the descriptor acquired by processing of the acquiring step, and reading packet-by-packet data from the memory on the basis of the extracted positional information; and delaying processing of at least one of the acquiring step and the DMA step by the delay time that has been extracted by processing of the extracting step.
- the descriptor including the positional information, which indicates the packet-by-packet recording position of the data in the memory, and the delay time relating to the packet-by-packet processing is generated, the generated descriptor is acquired, the positional information and the delay time are extracted from the acquired descriptor, and the packet-by-packet data is read by DMA on the basis of the extracted positional information. Then, at least one of the extracting processing and the DMA processing is delayed by the delay time that has been extracted.
- the transmission interval at the time of reading data stored in the memory by DMA and transmitting it can be adjusted with high precision.
- FIG. 1 is a diagram showing an example of a system for transmitting/receiving data via a network
- FIG. 2 is a flowchart for explaining the operation by a transmitter shown in FIG. 1 ;
- FIG. 3 is a diagram showing an example of a descriptor table including a plurality of descriptors
- FIG. 4 is a diagram showing the data structure of a descriptor used for DMA
- FIG. 5 is a block diagram showing an example of the configuration of a transmitter according to an embodiment of the present invention.
- FIG. 6 is a block diagram showing an example of the configuration of functional blocks realized by a CPU shown in FIG. 5 and of a network card;
- FIG. 7 is a diagram showing the data structure of a descriptor set by a descriptor setting section shown in FIG. 6 ;
- FIG. 8 is a flowchart illustrating first packet transmission processing by a transmitter shown in FIG. 5 ;
- FIG. 9 is a flowchart illustrating second packet transmission processing by the transmitter shown in FIG. 5 .
- An information processor for example, a transmitter 30 shown in FIG. 5 ) according to an embodiment of the present invention includes:
- generating means for example, a descriptor setting section 41 shown in FIG. 6 ) for generating a descriptor, the descriptor including positional information, which indicates a packet-by-packet recording position of the data recorded in the memory, and delay time relating to packet-by-packet processing;
- extracting means for example, a descriptor acquiring section 52 shown in FIG. 6 ) for acquiring the descriptor generated by the generating means and extracting the positional information and the delay time from the acquired descriptor;
- DMA means for example, an DMA controlling section 54 shown in FIG. 6 ) for reading packet-by-packet data from the memory on the basis of the extracted positional information;
- delaying means for example, a stand-by-time controlling section 53 shown in FIG. 6 ) for delaying processing of at least one of the extracting means and the DMA means by the delay time that has been extracted by the extracting means.
- generating a descriptor including positional information, which indicates a packet-by-packet recording position of the data in the memory, and delay time relating to packet-by-packet processing (for example, step S 11 shown in FIG. 8 );
- step S 15 shown in FIG. 8 acquiring the descriptor generated by processing of the generating step (for example, step S 15 shown in FIG. 8 );
- step S 16 shown in FIG. 8 extracting the delay time from the descriptor acquired by processing of the acquiring step (for example, step S 16 shown in FIG. 8 );
- step S 14 delaying processing of at least one of the acquiring step and the DMA step by the delay time that has been extracted by processing of the extracting step (for example, step S 14 shown in FIG. 8 ).
- FIG. 5 shows an example of the configuration of a transmitter according to an embodiment of the present invention.
- a transmitter 30 transmits transmit data, which is recorded (or accumulated) in a built-in memory 33 , to a receiver 3 via a network 2 while controlling the transmission rate.
- the transmitter 30 includes a CPU 31 for realizing the functional blocks (a descriptor setting section 41 , a device driver 43 , and an interrupt processing section 44 ) shown in FIG. 6 by executing a program 36 recorded in the memory 33 , the memory 33 connected to the CPU 31 via a data bus 32 , and a network card 35 .
- a CPU 31 for realizing the functional blocks (a descriptor setting section 41 , a device driver 43 , and an interrupt processing section 44 ) shown in FIG. 6 by executing a program 36 recorded in the memory 33 , the memory 33 connected to the CPU 31 via a data bus 32 , and a network card 35 .
- the program 36 (including the device driver program for controlling the network card 35 ) executed by the CPU 31 is recorded in the memory 33 . Further, the memory 33 accumulates transmit data 45 ( FIG. 6 ) and is provided with a descriptor table 46 ( FIG. 6 ) including a plurality of descriptors.
- the memory controller 34 In accordance with a recording start address “address” and a packet length “length” the memory controller 34 is notified of by the network card 35 , the memory controller 34 causes the transmit data 45 recorded in the memory 33 to be transferred to the network card 35 on the packet-by-packet basis.
- the network card 35 reads the descriptors written into the memory 33 by the CPU 31 , and controls the memory controller 34 in accordance with the read descriptors, thus acquiring packet-by-packet transmit data 45 through DMA transfer and transmitting it to the receiver 3 via the network 2 .
- FIG. 6 shows a detailed example configuration of the functional blocks realized by the CPU 31 executing the program 36 , and of the network card 35 .
- the descriptor setting section 41 , the device driver 43 , and the interrupt processing section 44 as functional blocks are realized by the execution of the program 36 by the CPU 31 .
- the descriptor setting section 41 writes packet-by-packet information on the transmit data 45 into each descriptor of the descriptor table 46 provided in the memory 33 .
- the descriptor table 46 includes a plurality of sequentially arranged descriptors.
- FIG. 7 shows the data structure of the descriptor written by the descriptor setting section 41 .
- “address(high)” indicating the higher 32 bits
- “address(low)” indicating the lower 32 bits
- “length” consisting of 16 bits indicating the packet length, of the recording start address in the memory 33 of the corresponding packet are included in the descriptor.
- “delay” indicating the delay time for adjusting the interval of packet DMA transfer is included in the portion of “reserved” consisting of 16 bits which is unused in the descriptor shown in FIG. 3 .
- the “delay” is written by a delay time writing section 42 of the descriptor setting section 41 .
- the descriptor table 46 may be provided not in the memory 33 but in, for example, a storage section (not shown) provided to the network card 35 .
- the device driver 43 notifies a descriptor controlling section 51 of the network card 35 of the number of the descriptor that has become usable, that is, the number of the descriptor that has been set by the descriptor setting section 41 .
- the interrupt processing section 44 performs predetermined interrupt processing (the processing of freeing up the space of the memory 3 occupied by the transmit data 45 , or the like) when notified of the end of DMA by the interrupt controlling section 56 of the network card 35 .
- the network control card 35 includes the descriptor controlling section 51 , a descriptor acquiring section 52 , a stand-by-time controlling section 53 , a DMA controlling section 54 , a transmitting section 55 , and the interrupt controlling section 56 .
- the descriptor controlling section 51 stores the number of the usable descriptor notified by the device driver 43 in a built-in register.
- the descriptor acquiring section 52 acquires the usable descriptor from the descriptor table 46 provided in the memory 33 on the basis of the number of the usable descriptor stored in the descriptor controlling section 51 , notifies the DMA controlling section 54 of the recording start address “address” and the packet length “length” that are included in the descriptor, and notifies the stand-by-time controlling section 53 of the delay time “delay”.
- the stand-by-time controlling section 53 retains stand-by time D, and each time the stand-by-time controlling section 53 is notified of the delay time “delay” by the descriptor acquiring section 52 , the stand-by-time controlling section 53 updates the stand-by time D using the notified delay time “delay. Further, the stand-by-time controlling section 53 delays the start of operation of the descriptor acquiring section 52 by the stand-by time D.
- the DMA controlling section 54 notifies the memory controller 34 of the recording start address “address” and the packet length “length” received from the descriptor acquiring section 52 , and requests execution of DMA. Further, when it receives a notification indicating nonexistence of a usable descriptor from the descriptor acquiring section 52 and receives from the DMA controlling section 54 a notification indicating the end of DMA based on processing of the last usable descriptor, the DMA controlling section 54 notifies the interrupt controlling section 56 of the end of DMA.
- the transmitting section 55 transmits the packet-by-packet transmit data 45 , which is transferred by DMA from the memory 45 in response to control performed by the memory controller 34 , to the receiver 3 via the network 2 .
- the interrupt controlling section 56 Upon receiving from the DMA controlling section 54 a notification indicating the end of DMA, the interrupt controlling section 56 notifies the interrupt processing section 44 of the end of DMA.
- the operation performed by the transmitter 30 will be described.
- the transmitter 30 executes first or second packet transmission processing as described below.
- the transmit data 45 is accumulated in the memory 33 .
- step S 11 the descriptor setting section 41 writes packet-by-packet information (including “delay”) on the transmit data 45 into each descriptor of the descriptor table 46 provided in the memory 33 .
- step S 12 the device driver 43 notifies the descriptor controlling section 51 of the network card 35 of the number of a descriptor that has become usable, that is, the number of a descriptor set by the descriptor setting section 41 in the processing of step S 11 .
- the descriptor controlling section 51 stores the notified descriptor number in the built-in register.
- step S 13 the stand-by-time controlling section 53 initializes the retained stand-by time D to zero.
- step S 14 the stand-by-time controlling section 53 waits on standby for the retained stand-by time D.
- the processing from step S 15 onward is thus delayed by the stand-by time D.
- step S 15 the descriptor acquiring section 52 acquires from the descriptor table 46 provided in the memory 33 one descriptor corresponding to the number stored in the register of the descriptor controlling section 51 .
- step S 16 the descriptor acquiring section 52 notifies the stand-by-time controlling section 53 of the delay time “delay” described in the acquired descriptor.
- the stand-by-time controlling section 53 substitutes the notified delay time “delay” for the retained stand-by time D.
- step S 17 the descriptor acquiring section 52 notifies the DMA controlling section 54 of the recording start address “address” and the packet length “length” that are described in the acquired descriptor.
- the DMA controlling section 54 notifies the memory controller 34 of the notified start address “address” and packet length “length” and requests execution of DMA.
- the memory controller 34 transfers data of the packet length “length” from the notified recording start address “address” of the memory 33 to the transmitting section 55 by DMA.
- the transmitting section 55 transmits the DMA-transferred packet-by-packet transmit data 45 to the receiver 3 via the network 2 .
- step S 18 the descriptor acquiring section 52 makes a determination as to whether or not, of the descriptors corresponding to the numbers stored in the register of the descriptor controlling section 51 , there remain descriptors that have not been acquired. If it is determined that there remain descriptors that have not been acquired, the processing returns to step S 14 , and the subsequent processing is repeated. Note that in the processing of step S 14 from the second time onward, since the delay time “delay” has been substituted for the stand-by time D in the processing of step S 16 the previous time, the stand-by time is actually provided. Thus, the repetition interval for the processing from steps S 14 through S 18 including step S 14 depends on the delay time “delay” described in the descriptor.
- step S 19 the DMA controlling section 54 gives a notification indicating the end of DMA to the interrupt controlling section 56 .
- the interrupt controlling section 56 notifies the interrupt processing section 44 of the end of DMA.
- step S 20 in response to this notification, the interrupt processing section 44 performs predetermined interrupt processing (processing of freeing up the space of the memory 3 occupied by the transmit data 45 , or the like). Note that in actuality, the predetermined interrupt processing is performed when a program for realizing the interrupt processing section 44 is started in response to the notification from the interrupt controlling section 56 .
- predetermined interrupt processing is performed when a program for realizing the interrupt processing section 44 is started in response to the notification from the interrupt controlling section 56 .
- the descriptor set in step S 11 is acquired in step S 14 , and the stand-by time D is set on the basis of this descriptor (step S 16 ).
- the repetition interval for the processing from steps S 14 through S 18 corresponds to the delay time D for which the delay time “delay” described in the descriptor is substituted.
- the delay time D is controlled by the stand-by-time controlling section 53 .
- the stand-by-time controlling section 53 is a circuit formed on the network card 35 as hardware.
- step S 31 the descriptor setting section 41 writes packet-by-packet information (including “delay”) of the transmit data 45 into each descriptor of the descriptor table 46 provided in the memory 33 .
- step S 32 the device driver 43 notifies the descriptor controlling section 51 of the network card 35 of the numbers of the descriptors that have become usable, that is, the numbers of the descriptors set by the descriptor setting section 41 in the processing of step S 31 .
- the descriptor controlling section 51 stores the notified descriptor numbers in the built-in register.
- step S 33 the descriptor acquiring section 52 acquires from the descriptor table 46 provided in the memory 33 all the descriptors corresponding to the numbers stored in the register of the descriptor controlling section 51 .
- step S 34 the stand-by-time controlling section 53 initializes the retained stand-by time D to zero.
- step S 35 the descriptor acquiring section 52 acquires, from among the descriptors that have been acquired from the memory 33 , one descriptor whose recording start address or the like has not been read.
- step S 37 the descriptor acquiring section 52 notifies the stand-by-time controlling section 53 of the delay time “delay” described in the descriptor read by the processing of step S 35 .
- the stand-by-time controlling section 53 substitutes the notified delay time “delay” for the retained stand-by time D.
- step S 38 the descriptor acquiring section 52 notifies the DMA controlling section 54 of the recording start address “address” and the packet length “length” described in the descriptor that has been read by the processing of step S 35 .
- the DMA controlling section 54 notifies the memory controller 34 of the notified recording start address “address” and packet length “length” and requests execution of DMA.
- the memory controller 34 transfers data of the packet length “length” from the notified recording start address “address” of the memory 33 to the transmitting section 55 by DMA.
- the transmitting section 55 transmits the DMA-transferred packet-by-packet transmit data 45 to the receiver 3 via the network 2 .
- step S 39 the descriptor acquiring section 52 makes a determination as to whether or not, from among the descriptors that have been acquired by the processing of step S 33 , there remain descriptors that have not been read by the processing of step S 35 . If it is determined that there remain descriptors that have not been read, the processing returns to step S 35 , and the subsequent processing is repeated. Note that in the processing of step S 36 from the second time onward, since the delay time “delay” has been substituted for the stand-by time D in the processing of step S 37 the previous time, the stand-by time is actually provided. Thus, the repetition interval for the processing from steps S 35 through S 39 including step S 36 depends on the delay time “delay” described in the descriptor.
- step S 40 the DMA controlling section 54 notifies the interrupt controlling section 56 of the end of DMA.
- the interrupt controlling section 56 notifies the interrupt processing section 44 of the end of DMA.
- step S 41 in response to this notification, the interrupt processing section 44 performs predetermined interrupt processing (processing of freeing up the space of the memory 3 occupied by the transmit data 45 , or the like). Note that in actuality, the predetermined interrupt processing is performed when a program for realizing the interrupt processing section 44 is started in response to the notification from the interrupt controlling section 56 . The foregoing completes the description of the second packet transmission processing by the transmitter 30 .
- the descriptor set in step S 31 is acquired in step S 33 , and the stand-by time D is set on the basis of this descriptor (step S 37 ).
- the repetition interval for the processing from steps S 35 through S 39 that is, the repetition interval for the processing of reading the acquired descriptor, transferring the packet by DMA on the basis of the read descriptor, and transmitting it via the network 2 , corresponds to the delay time D for which the delay time “delay” described in the descriptor is substituted.
- the delay time D is controlled by the stand-by-time controlling section 53 .
- the stand-by-time controlling section 53 is a circuit formed on the network card 35 as hardware.
- the present invention can be also applied to cases where the packet length is not fixed, that is, cases where transmit data including variable-length packets are to be transmitted.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer And Data Communications (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Bus Control (AREA)
Abstract
Description
- The present invention contains subject matter related to Japanese Patent Application JP 2005-115370 filed in the Japanese Patent Office on Apr. 13, 2005, the entire contents of which are incorporated herein by reference.
- 1. Field of the Invention
- The present invention relates to an information processor and an information processing method, and more specifically to an information processor and an information processing method that are suitably used for reading data stored in a memory by DMA (Direct Memory Access) and transmitting the read data via a network.
- 2. Description of the Related Art
- A system is considered in which data is transmitted from a transmitter to a receiver via a network.
FIG. 1 shows an example of the configuration of the system. - A
transmitter 1 includes aCPU 11 for controlling theentire transmitter 1 by executing a predetermined program, amemory 13 connected to theCPU 11 via adata bus 12, amemory controller 14, and anetwork card 15. Thememory 13 stores data to be transmitted to a receiver 3 (hereinafter, referred to as the “transmit data”). Normally, in order that the data does not unnecessarily occupy theCPU 11, the data is read by DMA (Direct Memory Access) from thememory 13 and moved to thenetwork card 15 before being transmitted from thenetwork card 15 to thereceiver 3 via anetwork 2. - Referring to the flowchart of
FIG. 2 , description will be made of the operation of performing DMA on thenetwork card 15 with respect to the transmit data recorded in thememory 13. In step S1, theCPU 11 writes packet-by-packet information on the transmit data into each descriptor of a descriptor table provided in thememory 13. -
FIG. 3 shows an example of the descriptor table. The descriptor table includes a plurality ofdescriptors # 0 through #n recorded in a continuous region of thememory 13.FIG. 4 shows the data structure of each descriptor. Described in the descriptor are “address(high)” indicating the higher 32 bits, “address(low)” indicating the lower 32 bits, “reserved” indicating unused 16 bits, and “length” consisting of 16 bits indicating the packet length, of a recording start address in thememory 13 of the corresponding packet. - Returning to
FIG. 2 , in step S2, theCPU 11 notifies thenetwork card 15 of the numbers of descriptors that have become usable (that is, descriptors into which the packet-by-packet information has been written through the processing in step S1). - In response to the above notification, in step S3, the
network card 15 sequentially reads usable descriptors one by one from thememory 13. Then, in step S4, thenetwork card 15 notifies thememory controller 14 of the recording start address and the packet length that are described in each descriptor. In response to this notification, thememory controller 14 causes data stored in thememory 13 which has the above recording start address at the leading end and the above packet length to be transferred by DMA from thememory 13 to thenetwork card 15. Thenetwork card 15 transmits the DMA-transferred packet to thereceiver 3 via thenetwork 2. Through the processing of steps S3 and S4, one packet of the transmit data has been moved to thenetwork card 15 and transmitted to thereceiver 3. - In step S5, the
network card 15 makes a determination as to whether there are descriptors that have not yet been read among the usable descriptors. If it is determined that there are descriptors that have not yet been read, the processing returns to step S3, and the subsequent processing is repeated. If it is determined in step S5 that there are no descriptors that have not been read, it means that all the packets forming the transmit data have been moved to thenetwork card 15 and transmitted to thereceiver 3. The processing thus advances to step S6. In step S6, thenetwork card 15 notifies theCPU 11 of the end of DMA. In step S7, theCPU 11 frees up the space on thememory 13 in which the transmit data was recorded. The foregoing completes the description of the operation of performing a DMA transfer from thememory 13 to thenetwork card 15. - Note that DMA transfer is described in, for example, Japanese Unexamined Patent Application Publication No. 2000-298640.
- As described above, the DMA transfer is started by the
CPU 11 notifying thenetwork card 15 of the numbers of descriptors that have become usable. In this regard, the granularity (the time interval for controlling the operation timing) of the processing by theCPU 11, which operates in accordance with software, is large as compared with that of thenetwork card 15. The granularity of the software processing thus creates a bottleneck, making it difficult to fully exploit the inherent performance (the fineness of granularity of processing) potential of thenetwork card 15. Accordingly, for example, it has been difficult to adjust the transmission interval for transmitting a packet from thenetwork card 15 via thenetwork 2 with the precision commensurate with the inherent performance of thenetwork card 15. - It is desirable to adjust with high precision the transmission interval at the time of reading data stored in the memory and transmitting it by DMA.
- An information processor according to an embodiment of the present invention includes: generating means for generating a descriptor, the descriptor including positional information, which indicates a packet-by-packet recording position of the data in the memory, and delay time relating to packet-by-packet processing; extracting means for acquiring the descriptor generated by the generating means and extracting the positional information and the delay time from the acquired descriptor; DMA means for reading packet-by-packet data from the memory on the basis of the extracted positional information; and delaying means for delaying processing of at least one of the extracting means and the DMA means by the delay time that has been extracted by the extracting means.
- The generating means can be realized by software, and the delaying means can be realized by hardware.
- The extracting means can be adapted to acquire the descriptors generated by the generating means one by one.
- The extracting means can be adapted to collectively acquire a plurality of the descriptors generated by the generating means.
- An information processing method according to an embodiment of the present invention includes the steps of: generating a descriptor including positional information, which indicates a packet-by-packet recording position of the data in the memory, and delay time relating to packet-by-packet processing; acquiring the descriptor generated by processing of the generating step; extracting the delay time from the descriptor acquired by processing of the acquiring step; extracting the positional information from the descriptor acquired by processing of the acquiring step, and reading packet-by-packet data from the memory on the basis of the extracted positional information; and delaying processing of at least one of the acquiring step and the DMA step by the delay time that has been extracted by processing of the extracting step.
- According to the present invention, the descriptor including the positional information, which indicates the packet-by-packet recording position of the data in the memory, and the delay time relating to the packet-by-packet processing is generated, the generated descriptor is acquired, the positional information and the delay time are extracted from the acquired descriptor, and the packet-by-packet data is read by DMA on the basis of the extracted positional information. Then, at least one of the extracting processing and the DMA processing is delayed by the delay time that has been extracted.
- According to the present invention, the transmission interval at the time of reading data stored in the memory by DMA and transmitting it can be adjusted with high precision.
-
FIG. 1 is a diagram showing an example of a system for transmitting/receiving data via a network; -
FIG. 2 is a flowchart for explaining the operation by a transmitter shown inFIG. 1 ; -
FIG. 3 is a diagram showing an example of a descriptor table including a plurality of descriptors; -
FIG. 4 is a diagram showing the data structure of a descriptor used for DMA; -
FIG. 5 is a block diagram showing an example of the configuration of a transmitter according to an embodiment of the present invention; -
FIG. 6 is a block diagram showing an example of the configuration of functional blocks realized by a CPU shown inFIG. 5 and of a network card; -
FIG. 7 is a diagram showing the data structure of a descriptor set by a descriptor setting section shown inFIG. 6 ; -
FIG. 8 is a flowchart illustrating first packet transmission processing by a transmitter shown inFIG. 5 ; and -
FIG. 9 is a flowchart illustrating second packet transmission processing by the transmitter shown inFIG. 5 . - Before describing an embodiment of the present invention, the correspondence between the features of the claims and the specific elements disclosed in an embodiment of the present invention is discussed below. This description is intended to assure that an embodiment(s) supporting the claimed invention are described in this specification. Thus, even if an element in the following embodiment(s) is not described as relating to a certain feature of the present invention, this does not necessarily mean that the element does not relate to that feature of the claims. Conversely, even if an element is described herein as relating to a certain feature of the claims, that does not necessarily mean that the element does not relate to other features of the claims.
- Furthermore, this description should not be construed as restricting that all the aspects of the invention disclosed in the embodiment(s) are described in the claims. That is, the description does not deny the existence of aspects of the present invention that are described in the embodiment(s) but not claimed in the invention of this application, i.e., the existence of aspects of the present invention that in future may be claimed by a divisional application, or that may be additionally claimed through amendments.
- An information processor (for example, a
transmitter 30 shown inFIG. 5 ) according to an embodiment of the present invention includes: - generating means (for example, a
descriptor setting section 41 shown inFIG. 6 ) for generating a descriptor, the descriptor including positional information, which indicates a packet-by-packet recording position of the data recorded in the memory, and delay time relating to packet-by-packet processing; - extracting means (for example, a
descriptor acquiring section 52 shown inFIG. 6 ) for acquiring the descriptor generated by the generating means and extracting the positional information and the delay time from the acquired descriptor; - DMA means (for example, an
DMA controlling section 54 shown inFIG. 6 ) for reading packet-by-packet data from the memory on the basis of the extracted positional information; and - delaying means (for example, a stand-by-
time controlling section 53 shown inFIG. 6 ) for delaying processing of at least one of the extracting means and the DMA means by the delay time that has been extracted by the extracting means. - An information processing method according to an embodiment of the present invention includes the steps of:
- generating a descriptor including positional information, which indicates a packet-by-packet recording position of the data in the memory, and delay time relating to packet-by-packet processing (for example, step S11 shown in
FIG. 8 ); - acquiring the descriptor generated by processing of the generating step (for example, step S15 shown in
FIG. 8 ); - extracting the delay time from the descriptor acquired by processing of the acquiring step (for example, step S16 shown in
FIG. 8 ); - extracting the positional information from the descriptor acquired by processing of the acquiring step, and reading packet-by-packet data from the memory on the basis of the extracted positional information (for example, step S17 shown in
FIG. 8 ); and - delaying processing of at least one of the acquiring step and the DMA step by the delay time that has been extracted by processing of the extracting step (for example, step S14 shown in
FIG. 8 ). - Specific embodiments of the present invention will be described below in detail with reference to the drawings.
-
FIG. 5 shows an example of the configuration of a transmitter according to an embodiment of the present invention. Atransmitter 30 transmits transmit data, which is recorded (or accumulated) in a built-inmemory 33, to areceiver 3 via anetwork 2 while controlling the transmission rate. - The
transmitter 30 includes aCPU 31 for realizing the functional blocks (adescriptor setting section 41, adevice driver 43, and an interrupt processing section 44) shown inFIG. 6 by executing aprogram 36 recorded in thememory 33, thememory 33 connected to theCPU 31 via adata bus 32, and anetwork card 35. - The program 36 (including the device driver program for controlling the network card 35) executed by the
CPU 31 is recorded in thememory 33. Further, thememory 33 accumulates transmit data 45 (FIG. 6 ) and is provided with a descriptor table 46 (FIG. 6 ) including a plurality of descriptors. - In accordance with a recording start address “address” and a packet length “length” the
memory controller 34 is notified of by thenetwork card 35, thememory controller 34 causes the transmitdata 45 recorded in thememory 33 to be transferred to thenetwork card 35 on the packet-by-packet basis. - The
network card 35 reads the descriptors written into thememory 33 by theCPU 31, and controls thememory controller 34 in accordance with the read descriptors, thus acquiring packet-by-packet transmitdata 45 through DMA transfer and transmitting it to thereceiver 3 via thenetwork 2. -
FIG. 6 shows a detailed example configuration of the functional blocks realized by theCPU 31 executing theprogram 36, and of thenetwork card 35. - The
descriptor setting section 41, thedevice driver 43, and the interrupt processing section 44 as functional blocks are realized by the execution of theprogram 36 by theCPU 31. - The
descriptor setting section 41 writes packet-by-packet information on the transmitdata 45 into each descriptor of the descriptor table 46 provided in thememory 33. Note that as shown inFIG. 3 , the descriptor table 46 includes a plurality of sequentially arranged descriptors. -
FIG. 7 shows the data structure of the descriptor written by thedescriptor setting section 41. Like the descriptor shown inFIG. 3 , “address(high)” indicating the higher 32 bits, “address(low)” indicating the lower 32 bits, and “length” consisting of 16 bits indicating the packet length, of the recording start address in thememory 33 of the corresponding packet are included in the descriptor. Further, “delay” indicating the delay time for adjusting the interval of packet DMA transfer is included in the portion of “reserved” consisting of 16 bits which is unused in the descriptor shown inFIG. 3 . The “delay” is written by a delaytime writing section 42 of thedescriptor setting section 41. Note that the descriptor table 46 may be provided not in thememory 33 but in, for example, a storage section (not shown) provided to thenetwork card 35. - The
device driver 43 notifies adescriptor controlling section 51 of thenetwork card 35 of the number of the descriptor that has become usable, that is, the number of the descriptor that has been set by thedescriptor setting section 41. - The interrupt processing section 44 performs predetermined interrupt processing (the processing of freeing up the space of the
memory 3 occupied by the transmitdata 45, or the like) when notified of the end of DMA by the interrupt controllingsection 56 of thenetwork card 35. - On the other hand, the
network control card 35 includes thedescriptor controlling section 51, adescriptor acquiring section 52, a stand-by-time controlling section 53, aDMA controlling section 54, a transmittingsection 55, and the interrupt controllingsection 56. - The
descriptor controlling section 51 stores the number of the usable descriptor notified by thedevice driver 43 in a built-in register. Thedescriptor acquiring section 52 acquires the usable descriptor from the descriptor table 46 provided in thememory 33 on the basis of the number of the usable descriptor stored in thedescriptor controlling section 51, notifies theDMA controlling section 54 of the recording start address “address” and the packet length “length” that are included in the descriptor, and notifies the stand-by-time controlling section 53 of the delay time “delay”. - The stand-by-
time controlling section 53 retains stand-by time D, and each time the stand-by-time controlling section 53 is notified of the delay time “delay” by thedescriptor acquiring section 52, the stand-by-time controlling section 53 updates the stand-by time D using the notified delay time “delay. Further, the stand-by-time controlling section 53 delays the start of operation of thedescriptor acquiring section 52 by the stand-by time D. - The
DMA controlling section 54 notifies thememory controller 34 of the recording start address “address” and the packet length “length” received from thedescriptor acquiring section 52, and requests execution of DMA. Further, when it receives a notification indicating nonexistence of a usable descriptor from thedescriptor acquiring section 52 and receives from the DMA controlling section 54 a notification indicating the end of DMA based on processing of the last usable descriptor, theDMA controlling section 54 notifies the interrupt controllingsection 56 of the end of DMA. - The transmitting
section 55 transmits the packet-by-packet transmitdata 45, which is transferred by DMA from thememory 45 in response to control performed by thememory controller 34, to thereceiver 3 via thenetwork 2. Upon receiving from the DMA controlling section 54 a notification indicating the end of DMA, the interrupt controllingsection 56 notifies the interrupt processing section 44 of the end of DMA. - The operation performed by the
transmitter 30 will be described. Thetransmitter 30 executes first or second packet transmission processing as described below. - First, the first packet transmission processing will now be described with reference to the flowchart of
FIG. 8 . Note that the transmitdata 45 is accumulated in thememory 33. - In step S11, the
descriptor setting section 41 writes packet-by-packet information (including “delay”) on the transmitdata 45 into each descriptor of the descriptor table 46 provided in thememory 33. In step S12, thedevice driver 43 notifies thedescriptor controlling section 51 of thenetwork card 35 of the number of a descriptor that has become usable, that is, the number of a descriptor set by thedescriptor setting section 41 in the processing of step S11. Thedescriptor controlling section 51 stores the notified descriptor number in the built-in register. In step S13, the stand-by-time controlling section 53 initializes the retained stand-by time D to zero. - In step S14, the stand-by-
time controlling section 53 waits on standby for the retained stand-by time D. The processing from step S15 onward is thus delayed by the stand-by time D. In the present case, since the stand-by time D=0, the processing immediately advances to step S15. - In step S15, the
descriptor acquiring section 52 acquires from the descriptor table 46 provided in thememory 33 one descriptor corresponding to the number stored in the register of thedescriptor controlling section 51. In step S16, thedescriptor acquiring section 52 notifies the stand-by-time controlling section 53 of the delay time “delay” described in the acquired descriptor. The stand-by-time controlling section 53 substitutes the notified delay time “delay” for the retained stand-by time D. - In step S17, the
descriptor acquiring section 52 notifies theDMA controlling section 54 of the recording start address “address” and the packet length “length” that are described in the acquired descriptor. TheDMA controlling section 54 notifies thememory controller 34 of the notified start address “address” and packet length “length” and requests execution of DMA. In response to this, thememory controller 34 transfers data of the packet length “length” from the notified recording start address “address” of thememory 33 to the transmittingsection 55 by DMA. The transmittingsection 55 transmits the DMA-transferred packet-by-packet transmitdata 45 to thereceiver 3 via thenetwork 2. - In step S18, the
descriptor acquiring section 52 makes a determination as to whether or not, of the descriptors corresponding to the numbers stored in the register of thedescriptor controlling section 51, there remain descriptors that have not been acquired. If it is determined that there remain descriptors that have not been acquired, the processing returns to step S14, and the subsequent processing is repeated. Note that in the processing of step S14 from the second time onward, since the delay time “delay” has been substituted for the stand-by time D in the processing of step S16 the previous time, the stand-by time is actually provided. Thus, the repetition interval for the processing from steps S14 through S18 including step S14 depends on the delay time “delay” described in the descriptor. - When it is determined in step S18 that there remains no descriptor that has not been acquired, the processing advances to step S19. In step S19, the
DMA controlling section 54 gives a notification indicating the end of DMA to the interrupt controllingsection 56. In response to this notification, the interrupt controllingsection 56 notifies the interrupt processing section 44 of the end of DMA. In step S20, in response to this notification, the interrupt processing section 44 performs predetermined interrupt processing (processing of freeing up the space of thememory 3 occupied by the transmitdata 45, or the like). Note that in actuality, the predetermined interrupt processing is performed when a program for realizing the interrupt processing section 44 is started in response to the notification from the interrupt controllingsection 56. The foregoing completes the description of the first packet transmission processing by thetransmitter 30. - According to the first packet transmission processing, the descriptor set in step S11 is acquired in step S14, and the stand-by time D is set on the basis of this descriptor (step S16). As a result, the repetition interval for the processing from steps S14 through S18 (that is, the repetition interval for the processing of acquiring the descriptor, transferring the packet by DMA on the basis of the acquired descriptor, and transmitting it via the network 2) corresponds to the delay time D for which the delay time “delay” described in the descriptor is substituted. The delay time D is controlled by the stand-by-
time controlling section 53. Herein, the stand-by-time controlling section 53 is a circuit formed on thenetwork card 35 as hardware. Accordingly, it is possible to control the repetition interval for the processing from the steps S14 through S18 with high precision. It is thus possible to achieve stable transmission rate for the transmit data to prevent the transmit data from being transmitted in a burst-like manner, thereby realizing so-called traffic shaping. - Next, the second packet transmission processing will be described with reference to the flowchart of
FIG. 9 . Note that the transmitdata 45 is accumulated in thememory 33. - In step S31, the
descriptor setting section 41 writes packet-by-packet information (including “delay”) of the transmitdata 45 into each descriptor of the descriptor table 46 provided in thememory 33. In step S32, thedevice driver 43 notifies thedescriptor controlling section 51 of thenetwork card 35 of the numbers of the descriptors that have become usable, that is, the numbers of the descriptors set by thedescriptor setting section 41 in the processing of step S31. Thedescriptor controlling section 51 stores the notified descriptor numbers in the built-in register. - In step S33, the
descriptor acquiring section 52 acquires from the descriptor table 46 provided in thememory 33 all the descriptors corresponding to the numbers stored in the register of thedescriptor controlling section 51. - In step S34, the stand-by-
time controlling section 53 initializes the retained stand-by time D to zero. - In step S35, the
descriptor acquiring section 52 acquires, from among the descriptors that have been acquired from thememory 33, one descriptor whose recording start address or the like has not been read. In step S36, the stand-by-time controlling section 53 waits on standby for the retained stand-by time D. The processing from step S37 onward is thus delayed by the stand-by time D. In the present case, since the stand-by time D=0, the processing immediately advances to step S37. - In step S37, the
descriptor acquiring section 52 notifies the stand-by-time controlling section 53 of the delay time “delay” described in the descriptor read by the processing of step S35. The stand-by-time controlling section 53 substitutes the notified delay time “delay” for the retained stand-by time D. - In step S38, the
descriptor acquiring section 52 notifies theDMA controlling section 54 of the recording start address “address” and the packet length “length” described in the descriptor that has been read by the processing of step S35. TheDMA controlling section 54 notifies thememory controller 34 of the notified recording start address “address” and packet length “length” and requests execution of DMA. In response to this, thememory controller 34 transfers data of the packet length “length” from the notified recording start address “address” of thememory 33 to the transmittingsection 55 by DMA. The transmittingsection 55 transmits the DMA-transferred packet-by-packet transmitdata 45 to thereceiver 3 via thenetwork 2. - In step S39, the
descriptor acquiring section 52 makes a determination as to whether or not, from among the descriptors that have been acquired by the processing of step S33, there remain descriptors that have not been read by the processing of step S35. If it is determined that there remain descriptors that have not been read, the processing returns to step S35, and the subsequent processing is repeated. Note that in the processing of step S36 from the second time onward, since the delay time “delay” has been substituted for the stand-by time D in the processing of step S37 the previous time, the stand-by time is actually provided. Thus, the repetition interval for the processing from steps S35 through S39 including step S36 depends on the delay time “delay” described in the descriptor. - When it is determined in step S39 that there remain no descriptors that have not been read, the processing advances to step S40. In step S40, the
DMA controlling section 54 notifies the interrupt controllingsection 56 of the end of DMA. In response to this notification, the interrupt controllingsection 56 notifies the interrupt processing section 44 of the end of DMA. In step S41, in response to this notification, the interrupt processing section 44 performs predetermined interrupt processing (processing of freeing up the space of thememory 3 occupied by the transmitdata 45, or the like). Note that in actuality, the predetermined interrupt processing is performed when a program for realizing the interrupt processing section 44 is started in response to the notification from the interrupt controllingsection 56. The foregoing completes the description of the second packet transmission processing by thetransmitter 30. - According to the second packet transmission processing, the descriptor set in step S31 is acquired in step S33, and the stand-by time D is set on the basis of this descriptor (step S37). As a result, the repetition interval for the processing from steps S35 through S39, that is, the repetition interval for the processing of reading the acquired descriptor, transferring the packet by DMA on the basis of the read descriptor, and transmitting it via the
network 2, corresponds to the delay time D for which the delay time “delay” described in the descriptor is substituted. The delay time D is controlled by the stand-by-time controlling section 53. Herein, the stand-by-time controlling section 53 is a circuit formed on thenetwork card 35 as hardware. Accordingly, it is possible to control the repetition interval for the processing from the steps S35 through S39 with high precision. It is thus possible to achieve stable transmission rate for the transmit data to prevent the transmit data from being transmitted in a burst-like manner, thereby realizing so-called traffic shaping. - Note that since the descriptor is written on the packet-by-packet basis in either of the first and second packet transmission processing described above, the present invention can be also applied to cases where the packet length is not fixed, that is, cases where transmit data including variable-length packets are to be transmitted.
- It should be understood by those skilled in the art that various modifications, combinations, sub-combinations and alterations may occur depending on design requirements and other factors insofar as they are within the scope of the appended claims or the equivalents thereof.
Claims (6)
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JPP2005-115370 | 2005-04-13 | ||
JP2005115370A JP2006293799A (en) | 2005-04-13 | 2005-04-13 | Information processing device and information processing method |
Publications (2)
Publication Number | Publication Date |
---|---|
US20060242334A1 true US20060242334A1 (en) | 2006-10-26 |
US7584307B2 US7584307B2 (en) | 2009-09-01 |
Family
ID=37077666
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US11/392,584 Expired - Fee Related US7584307B2 (en) | 2005-04-13 | 2006-03-30 | Direct memory access DMA with positional information and delay time |
Country Status (3)
Country | Link |
---|---|
US (1) | US7584307B2 (en) |
JP (1) | JP2006293799A (en) |
CN (1) | CN100401277C (en) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090172302A1 (en) * | 2005-06-01 | 2009-07-02 | Hiroshi Kyusojin | Information Processing Apparatus, Information Processing Method, and Program |
US20100095037A1 (en) * | 2005-06-02 | 2010-04-15 | Hiroshi Kyusojin | Information Processing Apparatus, Information Processing Method, and Program |
US9189013B2 (en) | 2011-09-29 | 2015-11-17 | Panasonic Intellectual Property Management Co., Ltd. | Controller using intermittent information |
US9774651B2 (en) | 2011-10-27 | 2017-09-26 | Huawei Technologies Co., Ltd. | Method and apparatus for rapid data distribution |
CN112115082A (en) * | 2020-09-17 | 2020-12-22 | 盛科网络(苏州)有限公司 | DMA controller and data transmission method thereof |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008172515A (en) | 2007-01-11 | 2008-07-24 | Sony Corp | Transmitter and method, communication device, and program |
JP6206524B2 (en) * | 2016-03-14 | 2017-10-04 | 日本電気株式会社 | Data transfer device, data transfer method, and program |
CN113805813B (en) * | 2018-11-30 | 2024-07-16 | 北京忆芯科技有限公司 | Method and apparatus for reducing read command processing delay |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5794073A (en) * | 1994-11-07 | 1998-08-11 | Digital Equipment Corporation | Arbitration system for a shared DMA logic on a network adapter with a large number of competing priority requests having predicted latency field |
US5822618A (en) * | 1994-11-21 | 1998-10-13 | Cirrus Logic, Inc. | System for automatically switching to DMA data transfer mode to load and unload data frames when there are excessive data frames in memory buffer |
US5887187A (en) * | 1993-10-20 | 1999-03-23 | Lsi Logic Corporation | Single chip network adapter apparatus |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04177445A (en) * | 1990-11-08 | 1992-06-24 | Nec Corp | Descriptor control system |
JPH0721117A (en) * | 1993-06-30 | 1995-01-24 | Mitsubishi Electric Corp | Dma controller |
US6202107B1 (en) * | 1998-11-19 | 2001-03-13 | Sun Microsystems, Inc. | Host controller interface descriptor fetching unit |
JP3824122B2 (en) * | 1999-04-12 | 2006-09-20 | 株式会社リコー | DMA device |
JP2002183078A (en) * | 2000-12-14 | 2002-06-28 | Sony Corp | Device and method for transferring data |
JP2002278918A (en) * | 2001-03-19 | 2002-09-27 | Ricoh Co Ltd | Dma device |
TWI226546B (en) * | 2002-06-18 | 2005-01-11 | Via Tech Inc | Method for checking address of data to be transferred in DMA mode and DMA controller |
-
2005
- 2005-04-13 JP JP2005115370A patent/JP2006293799A/en active Pending
-
2006
- 2006-03-30 US US11/392,584 patent/US7584307B2/en not_active Expired - Fee Related
- 2006-04-13 CN CNB2006100724494A patent/CN100401277C/en not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5887187A (en) * | 1993-10-20 | 1999-03-23 | Lsi Logic Corporation | Single chip network adapter apparatus |
US5794073A (en) * | 1994-11-07 | 1998-08-11 | Digital Equipment Corporation | Arbitration system for a shared DMA logic on a network adapter with a large number of competing priority requests having predicted latency field |
US5822618A (en) * | 1994-11-21 | 1998-10-13 | Cirrus Logic, Inc. | System for automatically switching to DMA data transfer mode to load and unload data frames when there are excessive data frames in memory buffer |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090172302A1 (en) * | 2005-06-01 | 2009-07-02 | Hiroshi Kyusojin | Information Processing Apparatus, Information Processing Method, and Program |
US8412871B2 (en) | 2005-06-01 | 2013-04-02 | Sony Corporation | Information processing apparatus, information processing method, and program |
US20100095037A1 (en) * | 2005-06-02 | 2010-04-15 | Hiroshi Kyusojin | Information Processing Apparatus, Information Processing Method, and Program |
US8028114B2 (en) | 2005-06-02 | 2011-09-27 | Sony Corporation | Information processing apparatus, method, and program for simplifying an interrupt process |
US9189013B2 (en) | 2011-09-29 | 2015-11-17 | Panasonic Intellectual Property Management Co., Ltd. | Controller using intermittent information |
US9774651B2 (en) | 2011-10-27 | 2017-09-26 | Huawei Technologies Co., Ltd. | Method and apparatus for rapid data distribution |
CN112115082A (en) * | 2020-09-17 | 2020-12-22 | 盛科网络(苏州)有限公司 | DMA controller and data transmission method thereof |
Also Published As
Publication number | Publication date |
---|---|
CN100401277C (en) | 2008-07-09 |
CN1848099A (en) | 2006-10-18 |
US7584307B2 (en) | 2009-09-01 |
JP2006293799A (en) | 2006-10-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7584307B2 (en) | Direct memory access DMA with positional information and delay time | |
US6070194A (en) | Using an index and count mechanism to coordinate access to a shared resource by interactive devices | |
US8520563B2 (en) | Interface device, communications system, non-volatile storage device, communication mode switching method and integrated circuit | |
TWI400617B (en) | Schedule and data caching for wireless transmission | |
KR102532173B1 (en) | Memory access technology and computer system | |
EP1870817B1 (en) | Information processing device and information processing method | |
US6735662B1 (en) | Method and apparatus for improving bus efficiency given an array of frames to transmit | |
US8635386B2 (en) | Communication control device, data communication method and program | |
EP3470971B1 (en) | Method, apparatus, and system for accessing memory device | |
WO2020015670A1 (en) | File sending method, file receiving method and file transceiving apparatus | |
KR100944892B1 (en) | Bus system and bus interface for connection to a bus | |
US7552232B2 (en) | Speculative method and system for rapid data communications | |
US7409486B2 (en) | Storage system, and storage control method | |
CN114706531A (en) | Data processing method, device, chip, equipment and medium | |
US10095643B2 (en) | Direct memory access control device for at least one computing unit having a working memory | |
US20090022158A1 (en) | Method For Increasing Network Transmission Efficiency By Increasing A Data Updating Rate Of A Memory | |
US10031884B2 (en) | Storage apparatus and method for processing plurality of pieces of client data | |
CN102027424B (en) | Method for controlling access to regions of a storage comprising a plurality of processes and communication module having a message storage for implementing the method | |
JPH1040215A (en) | Pci bus system | |
US20030093594A1 (en) | Apparatus and method for controlling block signal flow in a multi digital signal processor configuration from a shared peripheral direct memory controller to high level data link controller | |
US10701001B2 (en) | Wireless communication circuit with scheduling circuit in MAC layer | |
CN109828944B (en) | Communication method and communication system | |
US20030093603A1 (en) | Apparatus and method for responding to a interruption of a packet flow to a high level data link controller in a signal processing system | |
US6876664B1 (en) | Asynchronous data buffer and a method of use thereof | |
JP2004056376A (en) | Semiconductor device and data transfer control method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: SONY CORPORATION, JAPAN Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:KYUSOJIN, HIROSHI;MATSUMOTO, HIDEKI;KAJIMOTO, MASATO;AND OTHERS;REEL/FRAME:018025/0615;SIGNING DATES FROM 20060512 TO 20060521 |
|
FEPP | Fee payment procedure |
Free format text: PAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
FEPP | Fee payment procedure |
Free format text: PAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY Free format text: PAYER NUMBER DE-ASSIGNED (ORIGINAL EVENT CODE: RMPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
REMI | Maintenance fee reminder mailed | ||
LAPS | Lapse for failure to pay maintenance fees | ||
STCH | Information on status: patent discontinuation |
Free format text: PATENT EXPIRED DUE TO NONPAYMENT OF MAINTENANCE FEES UNDER 37 CFR 1.362 |
|
FP | Lapsed due to failure to pay maintenance fee |
Effective date: 20130901 |