US20010013076A1 - Data transfer method and data transfer apparatus - Google Patents
Data transfer method and data transfer apparatus Download PDFInfo
- Publication number
- US20010013076A1 US20010013076A1 US09/801,946 US80194601A US2001013076A1 US 20010013076 A1 US20010013076 A1 US 20010013076A1 US 80194601 A US80194601 A US 80194601A US 2001013076 A1 US2001013076 A1 US 2001013076A1
- Authority
- US
- United States
- Prior art keywords
- bus
- data
- data transfer
- buffer memory
- dma
- 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
- 238000012546 transfer Methods 0.000 title claims abstract description 186
- 238000000034 method Methods 0.000 title claims description 18
- 230000015654 memory Effects 0.000 claims abstract description 157
- 230000006870 function Effects 0.000 claims abstract description 34
- 238000012545 processing Methods 0.000 claims description 57
- 230000000873 masking effect Effects 0.000 claims 1
- MHABMANUFPZXEB-UHFFFAOYSA-N O-demethyl-aloesaponarin I Natural products O=C1C2=CC=CC(O)=C2C(=O)C2=C1C=C(O)C(C(O)=O)=C2C MHABMANUFPZXEB-UHFFFAOYSA-N 0.000 description 8
- 230000004044 response Effects 0.000 description 7
- 238000003745 diagnosis Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000012790 confirmation Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000002401 inhibitory effect Effects 0.000 description 2
- 238000012163 sequencing technique Methods 0.000 description 2
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 230000001502 supplementing effect Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
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/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4004—Coupling between buses
- G06F13/4027—Coupling between buses using bus bridges
- G06F13/4045—Coupling between buses using bus bridges where the bus bridge performs an extender function
-
- 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
- This invention relates to a data transfer method and a data transfer apparatus for transferring data between devices or memories respectively connected to two different buses, and more particularly to a data transfer method and a data transfer apparatus for carrying out diagnosis as to whether or not data transfer normally functions.
- a main bus 101 and a sub bus 102 are both connected to a bus repeater 103 such as bus gateway, etc.
- a device 104 such as CPU or various interfaces, etc. and a DMA controller 105 are connected to the main bus 101
- a device 106 and a memory 107 such as ROM, etc. are connected to the sub bus 102 .
- the DMA controller 105 on the main bus 101 also controls the sub bus 102 through the bus repeater 103 to thereby realize DMA transfer, e.g., between the device 104 and the device 106 .
- DMA transfer e.g., between the device 104 and the device 106 .
- the main bus 101 has bus width of 32 bits and high data access speed and the sub bus 102 has bus width of 16 bits and low data access speed.
- DMA controller changes every time transfer source address or transfer destination address at the time of data transfer.
- address of transfer source and list of transfer quantity are prepared and DMA controller carries out DMA transfer in accordance with that list every time.
- CPU must prepare transfer specification table. As a result, there is the difficulty that overhead for checking transfer specification every time takes place, etc.
- bus widths are different.
- the main bus 101 has bus width of 32 bits and high data access speed and the sub bus 102 has bus width of 16 bits and low data access speed.
- DMA transfer is caused to be carried out between buses where bus widths are different as stated above, there are instances where extra data is rounded down or another data is inserted into the portion between data trains which have been transferred. Also in this case, it is desirable that change of data structure or delimit of address can be carried out with ease.
- This invention has been made in view of such actual circumstances, and its object is to provide a data transfer method and a data transfer apparatus which are capable of easily carrying out DMA transfer function between different two buses, and capable of specifying portion of the question in short time.
- Another object of this invention is to provide a data transfer method and a data transfer apparatus which are capable of changing, in data transfer between different two buses, size of transfer data block with ease without giving burden on CPU, thus to realize improvement in the working efficiency.
- this invention includes a first bus and a second bus, bus repeating means having buffer memory connected to both the first and second buses, first DMA (Direct Memory Access) control means connected to the first bus, and first data processing means (CPU) connected to the first bus, wherein the bus repeating means has a function to issue DMA request to the first DMA control means and a function to mask this DMA request by the first data processing means to mask the DMA request of the bus repeating means by the first data processing means to directly access the buffer memory within the bus repeating means.
- first DMA Direct Memory Access
- second DMA (Direct Memory Access) control means and second data processing means are connected to the second bus
- the first and second DMA control means carry out read/write operation of data with respect to buffer memory within the bus repeating means to thereby carry out data transfer between the first and second buses
- the bus repeating means has a function to issue DMA request to the second DMA control means and a function to mask this DMA request by the second data processing means to mask DMA request of the bus repeating means by the second data processing means to directly access the buffer memory within the bus repeating means.
- DMA request on the other bus in the bus repeater is masked by one of the first and second data processing means (CPUs) to access the buffer memory within the bus repeater from on the other bus.
- CPUs data processing means
- first and second buses different from each other are connected through bus repeating means having a buffer memory
- first DMA (Direct Memory Access) control means is connected to the first bus
- second DMA control means is connected to the second bus to carry out DMA transfer between memory or device connected to the first bus and memory or device connected to the second bus through the buffer memory by these first and second DMA control means, and to mask, by data processing means (CPU), DMA request to the first or second DMA control means from the bus repeating means to directly access the buffer memory within the bus repeating means by the data processing means.
- CPU data processing means
- first data processing means is provided at the first bus and second data processing means is provided at the second bus, the first data processing means masks DMA request on the first bus, the second data processing means masks direct memory access request on the second bus, and the first and second data processing means directly access the buffer memory within the bus repeater under the same transfer condition as the first and second direct memory access control means on the respective buses.
- the first data processing means masks DMA request on the second bus, and the first data processing means directly accesses the buffer memory within the bus repeater from the second bus side.
- DMA transfer is carried out between memories or devices on respective buses and buffer memory of bus repeating means by respective DMA control means on the first and second buses, thereby making it possible to carry out DMA transfer between respective memories and devices on different buses through this buffer memory.
- data processing means (CPUs) on respective buses mask DMA requests on respective buses to directly access the buffer memory, thereby making it possible to check DMA function.
- data processing means on the first bus masks DMA request on the second bus to access the buffer memory from the second bus side, thereby making it possible to check DMA function of the second bus.
- this invention is characterized in that first and second buses different from each other are connected through bus repeating means having a buffer memory to carry out data transfer between the first bus and the second bus through the buffer memory within the bus repeating means, and the bus repeating means adds dummy data at the time of data transfer to thereby enlarge size of transfer data block, or the bus repeating means omits a portion of data at the time of data transfer to thereby reduce size of transfer data block.
- bus repeating means is operative so that even if data within the buffer memory is lost at the time of data transfer, it outputs dummy data when it is supplied with output request to thereby enlarge size of transfer data block, or when data within the buffer memory remains at the time point when data transfer of the output side has been completed at the time of data transfer, it abolishes the remaining data to thereby reduce size of transfer data block.
- the bus repeater which intervenes transfer is caused to additionally have a function to enlarge or reduce block size of transfer data, thereby making it possible to carry out change of simple data configuration at the time of data transfer.
- FIG. 1 is a block diagram showing a conventional example of system using two buses.
- FIG. 2 is a block diagram showing outline of the configuration of an embodiment of this invention.
- FIG. 3 is a block diagram showing an example of internal configuration of bus repeater used in the embodiment of this invention.
- FIG. 4 is a flowchart for explaining an example of the operation of the embodiment of this invention.
- FIG. 5 is a flowchart for explaining another example of the operation of the embodiment of this invention.
- FIG. 6 is a view showing more practical example of data train before transfer.
- FIG. 7 is a view showing more practical example of data train obtained by omitting a portion in transfer.
- FIG. 8 is a view showing more practical example of data train obtained by supplementing another data in transfer.
- FIG. 9 is a view showing one example of data area to be transferred on texture picture.
- FIG. 10 is a view showing data arrangement on memory of FIG. 9.
- FIG. 11 is a view showing one example in which headers are respectively added to several data trains.
- FIG. 12 is a view showing more practical example of header added in FIG. 11.
- FIG. 13 is a block diagram showing one example of system to which the embodiment of this invention is applied.
- FIG. 2 is a block diagram showing system configuration to which a data transfer method which is the embodiment according to this invention is applied.
- both a first bus 11 and a second bus 12 are connected to a bus repeater 13 constituted by using buffer memory such as FIFO, etc., thus making it possible to carry out mutual transfer of data between the buses 11 and 12 through this bus repeater 13 .
- a CPU 21 , a DMA (Direct Memory Access) controller 22 , a device 23 and a memory 24 , etc. are connected to the first bus 11
- a CPU 26 , a DMA controller 27 , a device 28 and a memory 29 , etc. are connected to the second bus 12 .
- the device 23 can issue DMA request with respect to the DMA controller 22 and the device 28 can issue DMA request with respect to the DMA controller 27 .
- these devices 23 , 28 there can be mentioned, e.g., encoder/decoder for picture or speech, graphic engine for graphic processing, picture processing or speech processing IC, etc., hard disc units through respective interfaces therefor, magneto-optical disc unit, floppy disc unit, and/or peripheral equipment such as CD-ROM unit, etc.
- the bus repeater 13 can respectively issue DMA requests (DREQ) with respect to the DMA controllers 22 , 27 . By these DMA requests, it is possible to designate any one of plural DMA channels.
- bus repeater 13 can, e.g., issue request of use right of bus 12 (BREQ: bus request) with respect to the CPU 26 on the bus 12 and receive (accept) response of bus use permission (BACK: Bus Acknowledge) from the CPU 26 .
- BREQ issue request of use right of bus 12
- BACK Bus Acknowledge
- FIG. 3 An example of the configuration of bus repeater 13 used in such system of FIG. 2 is shown in FIG. 3.
- the first bus 11 of FIG. 2 is indicated in the state separated into data bus 11 a and address/control bus 11 b
- the second bus 12 is indicated in the state separated into data bus 12 a and address/control bus 12 b.
- the bus repeater 13 there are provided internal bus 31 connected to the data bus 11 a of the first bus 11 and internal bus 32 connected to the data bus 12 a of the second bus 12 .
- a FIFO (First In First Out) memory 33 is connected to these internal buses 31 , 32 .
- a buffer control unit 34 may be connected to these internal buses 31 , 32 .
- the buffer control unit 34 is also connected to the address/control bus 11 b of the first bus 11 and the address/control bus 12 b of the second bus 12 .
- control signal lines for carrying out DMA request (DREQ) or channel designation, etc. between the buffer control unit 34 and the DMA controllers 22 , 27 of FIG. 2 are connected to the buffer control unit 34 .
- Mask flag 35 is flag for inhibiting DMA of the bus 11 side. When this flag is ON or “1” by control of the CPU 21 of FIG. 2, DMA request (DREQ) from the buffer control unit 34 to the DMA controller 22 of FIG. 2 is not outputted.
- Mask flag 36 is flag for inhibiting DMA of the bus 12 side. When this flag is ON or “1” by the CPU 26 of FIG. 2, DMA request (DREQ) from the buffer control unit 34 to the DMA controller 27 of FIG. 2 is not outputted.
- DREQ bits 37 and 38 are flags respectively indicating ON/OFF (or “1”/“0”) of DMA request with respect to respective buses 11 and 12 , and these bits can be read from both the CPUs 21 , 22 . These flags of DREQ bits 37 and 38 are not masked even if the above-mentioned mask flags 35 , 36 are ON, and the states of DMA requests which do not appear in DMA request (DREQ) to respective DMA controllers 22 , 27 can be read by the respective CPUs 21 , 26 .
- a bus gateway 39 serves to connect the internal buses 31 and 32 in order that the CPU 21 of the bus 11 side of FIG. 2 accesses the bus 12 .
- These mask flags 35 , 36 , the DREQ bits 37 , 38 and the bus gateway 39 are connected to the buffer control unit 34 .
- the FIFO memory 33 is memory serving as role of the buffer, and is adapted so that input/output of data is controlled with respect to the buses 11 , 12 accessed by the buffer control unit 34 , i.e., the internal buses 31 , 32 connected thereto.
- the buffer control unit 34 controls the bus access operation of the FIFO memory 33 , and issues DMA request (DREQ) with respect to the DMA controllers 22 , 27 of the respective buses 11 , 12 to receive (accept) its response (DARK: DMA Acknowledge).
- DMA request can designate any one of plural DMA channels to output it.
- DMA channel select information from the DMA controllers 22 , 27 are also sent to this buffer control unit 34 .
- the buffer control unit 34 of the bus repeater 13 issues request of use right of the bus 12 (BREQ: bus request) with respect to the CPU 26 of the bus 12 .
- the CPU 26 sends, to the buffer control unit 34 of the bus repeater 13 , response to permit use of the bus 12 (BACK: Bus Acknowledge) in response to this bus request.
- BACK Bus Acknowledge
- the CPU 21 can access mask flag 36 of the internal bus 32 side of the bus repeater 13 , the FIFO 33 , and DMA controller 27 , device 28 and memory 29 on the bus 12 , etc.
- DMA request (DREQ) is carried out from the bus repeater 13 to the DMA controller 22 .
- the DMA controller 22 makes a request for use right of bus 11 (BREQ) with respect to the CPU 21 to acquire bus use right to carry out DMA transfer from the memory 24 to the bus repeater 13 .
- the bus repeater 13 carries out DMA request (DREQ) with respect to the DMA controller 27 .
- the DMA controller 27 carries out request for use right of bus 12 (BREQ) with respect to the CPU 26 to acquire bus use right to carry out DMA transfer from the bus repeater 13 to the memory 29 .
- the device 28 on the second bus 12 carries out DMA request (DREQ) with respect to the DMA controller 27 .
- the bus repeater 13 carries out DMA request (DREQ) with respect to the DMA controller 27 .
- the DMA controller 27 responds to reception of respective DMA requests from the device 28 and the bus repeater 13 to carry out request for use right of bus 12 (BREQ) with respect to the CPU 26 to acquire bus use right to carry out DMA transfer from the device 28 to the bus repeater 13 .
- BREQ request for use right of bus 12
- the CPU 26 sends, back to the DMA controller 27 , response when it opens the bus in response to the bus request (BREQ), and the DMA controller 27 sends DMA acknowledge (DARK) back to the bus repeater 13 , etc.
- the bus repeater 13 carries out DMA request (DREQ) with respect to the DMA controller 22 on the first bus 11 .
- the device 23 carries out DMA request (DREQ) with respect to the DMA controller 22 .
- the DMA controller 22 responds to reception of respective DMA requests from the device 23 and the bus repeater 13 to carry out request for use right of bus 11 (BREQ) with respect to the CPU 21 to acquire bus use right to carry out DMA transfer from the bus repeater 13 to the device 23 .
- BREQ request for use right of bus 11
- DMA transfer is caused to be carried out between two buses 11 , 12 through buffer memory of the bus repeater 13 , thereby making it possible to carry out DMA between different buses without allowing standby (wait) time to take place.
- plural DMA channels are permitted to be operated at the same time to thereby simplify processing of CPU to realize simple programming and lesser overhead.
- buffer of repeater between buses can be efficiently utilized.
- program of multi-sled can be written with ease.
- the bus repeater 13 makes a request for use right of bus 12 (BREQ) to the CPU 26 to receive (accept) its response (BACK) to access DMA controller 27 , device 28 and memory 29 , etc. on the bus 12 .
- BREQ request for use right of bus 12
- BACK accept
- the FIFO 33 of FIG. 3 is operative so that when outputs of DMA requests (DREQ) to respective DMA controllers 22 , 27 are inhibited by mask flags 35 , 36 , I/O access operations can be made at respective buses 11 , 12 .
- I/O access must be carried out equivalently without inconsistency with the processing of DMA. Accordingly, access cannot be made arbitrarily, but the I/O access is permitted under the same condition as access of DMA.
- Table 1 An example of the condition of this I/O access is shown in the following Table 1.
- Condition #1 Data transfer is carried out by using DMA controllers 22 , 27 with buses 11 , 12 .
- Condition #2 CPU 21 carries out transmission/reception of data by I/O access only on the bus 11 side.
- Condition #3 CPU 26 carries out transmission/reception of data by I/O access only on the bus 12 side.
- Condition #4 CPUs 21 , 26 carry out transmission/reception of data by I/O access on both the bus 11 and the bus 12 sides.
- Condition #5 In the state where device on the bus 12 side does not exist or device of the bus 12 side is not used, data transfer is carried out by DMA by the DMA controller 22 on the bus 11 side, and the CPU 21 carries out data transfer by I/O access on the bus 12 side.
- Condition #6 In the state where device on the bus 12 side dose not exist or device of the bus 12 side is not used, CPU 21 carries out data transfer by I/O access both on the buses 11 and 12 sides.
- Mask flag 35 off
- Mask flag 36 off
- CPU 21 Instruction of transfer to DMAC 22
- CPU 26 Instruction of transfer to DMAC 27
- Mask flag 35 on, Mask flag 36 : off
- CPU 26 Instruction of transfer to DMAC 27
- CPU 21 Waiting for on of DREQ bit 37 to write data into bus repeater 13 .
- CPU 26 Instruction of transfer to DMAC 27
- CPU 21 Waiting for on of DREQ bit 37 to read data from bus repeater 13 .
- Mask flag 35 off, Mask flag 36 : on
- CPU 21 Instruction of transfer to DMAC 22
- CPU 26 Waiting for on of DREQ bit 38 to read data from bus repeater 13
- CPU 21 Instruction of transfer to DMAC 22
- CPU 26 Waiting for on of DREQ bit 38 to write data into bus repeater 13 .
- Mask flag 35 on, Mask flag 36 : on p Transfer direction: Bus 11 ⁇ Bus 12
- CPU 21 Waiting for on of DREQ bit 37 to write data into bus repeater 13 .
- CPU 26 Waiting for on of DREQ bit 38 to read data from bus repeater 13 .
- CPU 26 Waiting for on of DREQ bit 38 to write data into bus repeater 13 .
- CPU 21 Waiting for on of DREQ bit 37 to read data from bus repeater 13 .
- Mask flag 35 off, Mask flag 36 : on
- CPU 21 Instruction of transfer to DMAC 22
- CPU 21 Instruction of transfer to DMAC 22
- Mask flag 35 on, Mask flag 36 : on
- CPU 21 Waiting for on of DREQ bit 37 to write data into bus repeater 13 .
- CPU 21 Waiting for on of DREQ bit 38 to write data into bus repeater 13
- bus repeating means having buffer memory is provided between the first bus and the second bus, and first direct memory access (DMA) control means is connected to the first bus and second direct memory access control means is connected to the second bus to carry out, through the buffer memory, direct memory access transfer between memory or device connected to the first bus and memory or device connected to the second bus by these first and second direct memory access control means, and to mask, by data processing means (CPU), direct memory access request to the first or second direct memory access control means from the bus repeating means to directly access the buffer memory within the bus repeating means by the data processing means, whereby direct memory access transfer between respective memories or devices on different buses is carried out through this buffer memory.
- DMA direct memory access
- data processing means (CPUs) on respective buses mask direct memory access requests on respective buses to directly access the buffer memory, thereby making it possible to check direct memory access function.
- data processing means on the first bus masks direct memory access request on the second bus to access the buffer memory from the second bus side, thereby making it possible to check direct memory access function of the second bus.
- the bus repeater 13 adds dummy data at the time of transfer, or omits a portion of data to thereby change block size.
- the bus repeater 13 has a function to carry out processing as described below.
- bus repeater 13 By the function of such bus repeater 13 , it is possible to vary configuration of data train to be transferred. As change of the configuration of this data train, it is mentioned that dummy data is supplemented at the time of DMA transfer to thereby enlarge size of data block, and a portion of data is omitted at the time of DMA transfer to thereby reduce size of data block.
- FIG. 6 data trains S 1A , S 1B , S 1C , S 2A , . . . as shown in FIG. 6 are developed in the memory 29 of FIG. 2.
- A, B, C of subscripts of these data trains S 1A , S 1B , S 1C , S 2A , . . . represent data different from each other in kind, and the case where only data of kinds of B, C of these three kinds of data are transferred to the device 23 of FIG. 2 is assumed.
- FIGS. 1, 2, 3 . . . of subscripts of data trains S 1A , S 1B , S 1C , S 2A , . . . show numbers of data blocks which are respective one transfer units.
- the DMA controller 27 there is carried out setting of such DMA transfer to transfer three blocks from data train S 1B with all kinds (A, B, C) of the data S 1A , S 1B , S 1C , S 2A , . . . , i.e., 32 bytes being as one block.
- setting is made so as to transfer three blocks with only two kinds of B, C, i.e., 24 bytes being as 1 block.
- 8 bytes (data trains S 2A , S 3A ) subsequent to data trains (S 1C , S 2C ) of kind C are abolished. For this reason, data trains as shown in FIG. 7 can be resultantly written into the device 23 .
- the device 28 of FIG. 2 outputs data trains as shown in FIG. 8 to write data trains of only kinds of B, C thereof into the device 23 , it is sufficient to make setting in the DMA controller 27 to transfer 3 blocks with 36 bytes from the beginning of data train being as 1 block, and it is sufficient in the DMA controller 27 to transfer three blocks with 24 bytes being as 1 block.
- bus repeater 13 which intervenes transfer to additionally have the above-described function, it is possible to carry out conversion of simple data configuration at the time of transfer of data train, thus making it possible to improve performance of the system.
- FIG. 9 shows texture picture area for texture mapping in picture processing such as computer graphics, etc., and it is assumed that a portion within broad texture area, e.g., areas T 1 , T 2 , T 3 , T 4 indicated by slanting line portions in the figure are transferred.
- This texture picture is developed as shown in FIG. 10, for example, on the memory, and it is required that when data of partial areas T 1 , T 2 , T 3 , T 4 on this memory are transferred, extra data is rounded out.
- headers are respectively added to several data trains as shown in FIG. 11, e.g., polygon data is mentioned. Namely, with respect to polygon data, size of data train changes in dependency upon the number of vertices, or presence/absence of shading or texture, etc. Moreover, for the purpose of distinction from texture data or distinction of transfer destination, there are instances where header (GPUIFtag) is attached.
- Data transferred by interface GPUIF of GPU is such that a set of data called primitive constituted by the leading header (GPUIFtag) and subsequent data are caused to be fundamental unit, and plural primitives processed in a bundle are caused to be collectively GPU packet.
- FIG. 12 shows an example of the configuration of the header (GPUIFtag), and is composed of register descriptor REGS, register descriptor number NREG, and data form FLG, etc. in order from MSB.
- header GUIFtag
- FIG. 12 shows an example of the configuration of the header (GPUIFtag)
- bus repeating means having buffer memory is provided between the first bus and the second bus to carry out, through buffer memory within bus repeating means, data transfer between the first bus and the second bus.
- the bus repeating means adds dummy data at the time of data transfer to thereby enlarge size of transfer data block, or to omit a portion of data at the time of data transfer to thereby reduce size of transfer data block, thereby making it possible to carry out change of simple data configuration at the time of transfer.
- performance of the system can be improved.
- first direct memory access control means is connected to the first bus to carry out data transfer control between the first bus and buffer memory within the bus repeating means
- second direct memory access control means is connected to the second bus to carry out data transfer control between the second bus and buffer memory within the bus repeating means.
- the bus repeating means is caused to have a function to output dummy data when output request is issued even if data within the buffer memory is lost at the time of data transfer and a function to abolish remaining data when data within the buffer memory remains at the time point when data transfer of the output side has been completed at the time of data transfer.
- poor efficient work such that CPU, etc. carries out sequencing processing of data on the memory which has been caused to undergo data transfer or which is to be caused to undergo data transfer can be omitted.
- labor for preparing or making reference to transfer source address for data transfer or special transfer specification table of transfer quantity, etc. can be omitted.
- FIG. 13 shows an example of the system to which the embodiment of this invention as described above is applied.
- a main bus 111 for carrying out high speed picture processing and a sub bus 112 to which low speed peripheral devices such as CD-ROM drive, etc. are connected are connected through a bus repeater 113 having buffer memory such as FIFO, etc.
- a main CPU 121 , a DMA controller 122 , a graphic engine 123 for high speed picture processing and a main memory 124 are connected to the high speed main bus 11 1 , and a sub CPU 126 , a DMA controller 127 , a data recording medium 128 such as CD-ROM, etc. and a sub memory 129 are connected to the relatively low speed sub bus 122 .
- These main bus 111 and sub bus 112 are connected through the bus repeater 113 having buffer memory such as FIFO, etc. as described above, and this bus repeater 113 can issue plural kinds of DMA requests corresponding to plural DMA channels, e.g., three kinds of DMA requests. Since it is sufficient that more practical configuration and operation of this bus repeater 113 are caused to be similar to the bus repeater 13 of the embodiment which has been described with reference to FIGS. 2 to 5 , its explanation is omitted.
- this invention is not limited to the embodiments. While explanation has been given in connection with the example where bidirectional DMA transfer is carried out between the first bus and the second bus, this invention can be also applied to the case where only DMA transfer from the first bus to the second bus, or only DMA transfer from the second bus to the first bus is carried out. In addition, it is a matter of course that the number of DMA channels and/or circuits connected to respective buses, etc. are not limited to those of the embodiments.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Bus Control (AREA)
- Debugging And Monitoring (AREA)
- Communication Control (AREA)
Abstract
Description
- This invention relates to a data transfer method and a data transfer apparatus for transferring data between devices or memories respectively connected to two different buses, and more particularly to a data transfer method and a data transfer apparatus for carrying out diagnosis as to whether or not data transfer normally functions.
- Hitherto, there has been known a system in which different buses such as main bus and sub bus are connected through a bus repeater such as gateway, etc. to carry out DMA transfer of data between these buses by DMA (Direct Memory Access) controller provided in the main bus.
- For example, in the configuration as shown in FIG. 1, a
main bus 101 and asub bus 102 are both connected to abus repeater 103 such as bus gateway, etc. Adevice 104 such as CPU or various interfaces, etc. and aDMA controller 105 are connected to themain bus 101, and adevice 106 and amemory 107 such as ROM, etc. are connected to thesub bus 102. - In the example of FIG. 1, the
DMA controller 105 on themain bus 101 also controls thesub bus 102 through thebus repeater 103 to thereby realize DMA transfer, e.g., between thedevice 104 and thedevice 106. As stated above, if access times of respective buses are the same order even betweendifferent buses - Meanwhile, in the case where different buses coexist within one system, there are many instances where bus widths and/or data access speeds are different. For example, in the example of FIG. 1, the
main bus 101 has bus width of 32 bits and high data access speed and thesub bus 102 has bus width of 16 bits and low data access speed. - In the case where DMA transfer is caused to be carried out between buses in which bus widths and/or data access speeds are different, there is the drawback that useless wait (standby) time is caused to take place on the high speed bus, e.g., the
main bus 101 of FIG. 1. - In view of the above, it is conceivable to connect two different buses through buffer memory to carry out DMA transfer through this buffer memory. In this case, when attempt is made to carry out diagnosis as to whether or not DMA transfer normally functions, it is required to allow CPUs of respective buses to run in debagging mode. This is troublesome.
- Moreover, in the case where data transfer has not been normally carried out, since it is considered that there is any defect in CPUs of both buses or diagnostic program, there are many instances where finding of the cause becomes very difficult.
- Particularly, in the case where CPU or DMA controller, etc. is provided within one LSI, it takes long development time, and schedule of diagnosis, etc. becomes great problem.
- Before LSI is designed or is trially manufactured in practice, software simulation including peripheral equipment is carried out to confirm functions as many as possible. However, because it takes much time in simulation, sufficient verification cannot be carried out and there are actual circumstances where it is required to examine closely the problems in short time after trially manufactured LSI, etc. is made up. Thus, there are many instances where difficulty of debugging as described above results in hindrance of development of product.
- Further, in the case where data transfer is carried out between devices, there are arrangements of data convenient for respective devices. To cope with this, it is necessary to round down extra data, or to insert another data into the portion between data trains which have been transferred.
- When CPU attempts to carry out an operation as described above with respect to data train developed on the memory, it once reads such data train into the register of the CPU thereafter to have to write it for a second time. For this reason, efficiency is very poor (low). This reduces the time required when CPU attempts to carry out other work, and is not therefore preferable.
- Here, it is conceivable that DMA controller changes every time transfer source address or transfer destination address at the time of data transfer. In this case, address of transfer source and list of transfer quantity are prepared and DMA controller carries out DMA transfer in accordance with that list every time. However, CPU must prepare transfer specification table. As a result, there is the difficulty that overhead for checking transfer specification every time takes place, etc.
- Moreover, in the case where different buses coexist within one system as described above, there are many instances where bus widths are different. For example, in the example of FIG. 1, the
main bus 101 has bus width of 32 bits and high data access speed and thesub bus 102 has bus width of 16 bits and low data access speed. Also in the case where DMA transfer is caused to be carried out between buses where bus widths are different as stated above, there are instances where extra data is rounded down or another data is inserted into the portion between data trains which have been transferred. Also in this case, it is desirable that change of data structure or delimit of address can be carried out with ease. - This invention has been made in view of such actual circumstances, and its object is to provide a data transfer method and a data transfer apparatus which are capable of easily carrying out DMA transfer function between different two buses, and capable of specifying portion of the question in short time.
- Moreover, another object of this invention is to provide a data transfer method and a data transfer apparatus which are capable of changing, in data transfer between different two buses, size of transfer data block with ease without giving burden on CPU, thus to realize improvement in the working efficiency.
- Namely, in order to solve the above-described problems, this invention includes a first bus and a second bus, bus repeating means having buffer memory connected to both the first and second buses, first DMA (Direct Memory Access) control means connected to the first bus, and first data processing means (CPU) connected to the first bus, wherein the bus repeating means has a function to issue DMA request to the first DMA control means and a function to mask this DMA request by the first data processing means to mask the DMA request of the bus repeating means by the first data processing means to directly access the buffer memory within the bus repeating means.
- In this case, it is mentioned that second DMA (Direct Memory Access) control means and second data processing means (CPU) are connected to the second bus, the first and second DMA control means carry out read/write operation of data with respect to buffer memory within the bus repeating means to thereby carry out data transfer between the first and second buses, the bus repeating means has a function to issue DMA request to the second DMA control means and a function to mask this DMA request by the second data processing means to mask DMA request of the bus repeating means by the second data processing means to directly access the buffer memory within the bus repeating means.
- In this case, it is mentioned that DMA request on the other bus in the bus repeater is masked by one of the first and second data processing means (CPUs) to access the buffer memory within the bus repeater from on the other bus.
- Moreover, this invention is characterized in that first and second buses different from each other are connected through bus repeating means having a buffer memory, first DMA (Direct Memory Access) control means is connected to the first bus, and second DMA control means is connected to the second bus to carry out DMA transfer between memory or device connected to the first bus and memory or device connected to the second bus through the buffer memory by these first and second DMA control means, and to mask, by data processing means (CPU), DMA request to the first or second DMA control means from the bus repeating means to directly access the buffer memory within the bus repeating means by the data processing means.
- In this case, it is mentioned that first data processing means is provided at the first bus and second data processing means is provided at the second bus, the first data processing means masks DMA request on the first bus, the second data processing means masks direct memory access request on the second bus, and the first and second data processing means directly access the buffer memory within the bus repeater under the same transfer condition as the first and second direct memory access control means on the respective buses.
- Further, it is mentioned that the first data processing means masks DMA request on the second bus, and the first data processing means directly accesses the buffer memory within the bus repeater from the second bus side.
- DMA transfer is carried out between memories or devices on respective buses and buffer memory of bus repeating means by respective DMA control means on the first and second buses, thereby making it possible to carry out DMA transfer between respective memories and devices on different buses through this buffer memory. At this time, data processing means (CPUs) on respective buses mask DMA requests on respective buses to directly access the buffer memory, thereby making it possible to check DMA function. Moreover, data processing means on the first bus masks DMA request on the second bus to access the buffer memory from the second bus side, thereby making it possible to check DMA function of the second bus.
- Further, in order to solve the above-described problems, this invention is characterized in that first and second buses different from each other are connected through bus repeating means having a buffer memory to carry out data transfer between the first bus and the second bus through the buffer memory within the bus repeating means, and the bus repeating means adds dummy data at the time of data transfer to thereby enlarge size of transfer data block, or the bus repeating means omits a portion of data at the time of data transfer to thereby reduce size of transfer data block.
- In this case, it is mentioned that data transfer control is carried out between the first bus and buffer memory within the bus repeating means by first direct memory access control means connected to the first bus and data transfer control is carried out between the second bus and buffer memory within the bus repeating means by second direct memory access control means connected to the second bus. Moreover, it is mentioned that the bus repeating means is operative so that even if data within the buffer memory is lost at the time of data transfer, it outputs dummy data when it is supplied with output request to thereby enlarge size of transfer data block, or when data within the buffer memory remains at the time point when data transfer of the output side has been completed at the time of data transfer, it abolishes the remaining data to thereby reduce size of transfer data block.
- The bus repeater which intervenes transfer is caused to additionally have a function to enlarge or reduce block size of transfer data, thereby making it possible to carry out change of simple data configuration at the time of data transfer.
- FIG. 1 is a block diagram showing a conventional example of system using two buses.
- FIG. 2 is a block diagram showing outline of the configuration of an embodiment of this invention.
- FIG. 3 is a block diagram showing an example of internal configuration of bus repeater used in the embodiment of this invention.
- FIG. 4 is a flowchart for explaining an example of the operation of the embodiment of this invention.
- FIG. 5 is a flowchart for explaining another example of the operation of the embodiment of this invention.
- FIG. 6 is a view showing more practical example of data train before transfer.
- FIG. 7 is a view showing more practical example of data train obtained by omitting a portion in transfer.
- FIG. 8 is a view showing more practical example of data train obtained by supplementing another data in transfer.
- FIG. 9 is a view showing one example of data area to be transferred on texture picture.
- FIG. 10 is a view showing data arrangement on memory of FIG. 9.
- FIG. 11 is a view showing one example in which headers are respectively added to several data trains.
- FIG. 12 is a view showing more practical example of header added in FIG. 11.
- FIG. 13 is a block diagram showing one example of system to which the embodiment of this invention is applied.
- The embodiments according to this invention will now be described with reference to the attached drawings.
- FIG. 2 is a block diagram showing system configuration to which a data transfer method which is the embodiment according to this invention is applied.
- In this FIG. 2, both a
first bus 11 and asecond bus 12 are connected to abus repeater 13 constituted by using buffer memory such as FIFO, etc., thus making it possible to carry out mutual transfer of data between thebuses bus repeater 13. ACPU 21, a DMA (Direct Memory Access)controller 22, adevice 23 and amemory 24, etc. are connected to thefirst bus 11, and aCPU 26, aDMA controller 27, adevice 28 and amemory 29, etc. are connected to thesecond bus 12. - The
device 23 can issue DMA request with respect to theDMA controller 22 and thedevice 28 can issue DMA request with respect to theDMA controller 27. As thesedevices bus repeater 13 can respectively issue DMA requests (DREQ) with respect to theDMA controllers bus repeater 13 can, e.g., issue request of use right of bus 12 (BREQ: bus request) with respect to theCPU 26 on thebus 12 and receive (accept) response of bus use permission (BACK: Bus Acknowledge) from theCPU 26. - An example of the configuration of
bus repeater 13 used in such system of FIG. 2 is shown in FIG. 3. In this FIG. 3, thefirst bus 11 of FIG. 2 is indicated in the state separated intodata bus 11 a and address/control bus 11 b, and thesecond bus 12 is indicated in the state separated intodata bus 12 a and address/control bus 12 b. Within thebus repeater 13, there are providedinternal bus 31 connected to thedata bus 11 a of thefirst bus 11 andinternal bus 32 connected to thedata bus 12 a of thesecond bus 12. A FIFO (First In First Out)memory 33 is connected to theseinternal buses buffer control unit 34 may be connected to theseinternal buses buffer control unit 34 is also connected to the address/control bus 11 b of thefirst bus 11 and the address/control bus 12 b of thesecond bus 12. In addition, control signal lines for carrying out DMA request (DREQ) or channel designation, etc. between thebuffer control unit 34 and theDMA controllers buffer control unit 34. -
Mask flag 35 is flag for inhibiting DMA of thebus 11 side. When this flag is ON or “1” by control of theCPU 21 of FIG. 2, DMA request (DREQ) from thebuffer control unit 34 to theDMA controller 22 of FIG. 2 is not outputted.Mask flag 36 is flag for inhibiting DMA of thebus 12 side. When this flag is ON or “1” by theCPU 26 of FIG. 2, DMA request (DREQ) from thebuffer control unit 34 to theDMA controller 27 of FIG. 2 is not outputted. -
DREQ bits respective buses CPUs DREQ bits mask flags respective DMA controllers respective CPUs - A
bus gateway 39 serves to connect theinternal buses CPU 21 of thebus 11 side of FIG. 2 accesses thebus 12. These mask flags 35, 36, theDREQ bits bus gateway 39 are connected to thebuffer control unit 34. - In the
bus repeater 13 shown in FIG. 3, theFIFO memory 33 is memory serving as role of the buffer, and is adapted so that input/output of data is controlled with respect to thebuses buffer control unit 34, i.e., theinternal buses buffer control unit 34 controls the bus access operation of theFIFO memory 33, and issues DMA request (DREQ) with respect to theDMA controllers respective buses DMA controllers buffer control unit 34. - Moreover, e.g., when the
CPU 21 provides access to address of thebus 12, thebuffer control unit 34 of thebus repeater 13 issues request of use right of the bus 12 (BREQ: bus request) with respect to theCPU 26 of thebus 12. TheCPU 26 sends, to thebuffer control unit 34 of thebus repeater 13, response to permit use of the bus 12 (BACK: Bus Acknowledge) in response to this bus request. Thereafter, theCPU 21 can accessmask flag 36 of theinternal bus 32 side of thebus repeater 13, theFIFO 33, andDMA controller 27,device 28 andmemory 29 on thebus 12, etc. - Meanwhile, in the case where DMA transfer is carried out through the
bus repeater 13 between thefirst bus 11 and thesecond bus 12, it is necessary that settings (e.g., data size, etc.) of DMA ofDMA controllers CPU 21 carries out setting of DMA on the bus with respect to theDMA controller 22 and theCPU 26 carries out setting of DMA on the bus with respect to theDMA controller 27. - In the case where, e.g., data transfer by DMA is carried out from the
memory 24 of thefirst bus 11 to thememory 28 of thesecond bus 12, it is necessary that setting is made such that there are provided DMA channels caused to correspond to each other at the same data sizes (data quantities) with respect to DMA from thememory 24 to thebus repeater 13 in theDMA controller 22 of thefirst bus 11 and with respect to DMA from thebus repeater 13 to thememory 29 in theDMA controller 27 of thesecond bus 12. Processing procedure after these settings have been made is as shown in FIG. 4. - In this FIG. 4, at first step S61, DMA request (DREQ) is carried out from the
bus repeater 13 to theDMA controller 22. At the subsequent step S62, theDMA controller 22 makes a request for use right of bus 11 (BREQ) with respect to theCPU 21 to acquire bus use right to carry out DMA transfer from thememory 24 to thebus repeater 13. At the subsequent step S63, thebus repeater 13 carries out DMA request (DREQ) with respect to theDMA controller 27. At the subsequent step S64, theDMA controller 27 carries out request for use right of bus 12 (BREQ) with respect to theCPU 26 to acquire bus use right to carry out DMA transfer from thebus repeater 13 to thememory 29. - Moreover, in the case where DMA transfer of data is carried out from the
device 28 on thesecond bus 12 to thedevice 23 on thefirst bus 11, it is necessary that setting is made such that there are provided DMA channels caused to correspond to each other at the same data sizes with respect to DMA from thedevice 28 to thebus repeater 13 in theDMA controller 27 and with respect to DMA from thebus repeater 13 to thedevice 23 in theDMA controller 22. Processing procedure after these settings have been made is as shown in FIG. 5. - At the first step S71 of FIG. 5, the
device 28 on thesecond bus 12 carries out DMA request (DREQ) with respect to theDMA controller 27. At the subsequent step S72, thebus repeater 13 carries out DMA request (DREQ) with respect to theDMA controller 27. At step S73, theDMA controller 27 responds to reception of respective DMA requests from thedevice 28 and thebus repeater 13 to carry out request for use right of bus 12 (BREQ) with respect to theCPU 26 to acquire bus use right to carry out DMA transfer from thedevice 28 to thebus repeater 13. At this time, similarly to the normal DMA transfer, theCPU 26 sends, back to theDMA controller 27, response when it opens the bus in response to the bus request (BREQ), and theDMA controller 27 sends DMA acknowledge (DARK) back to thebus repeater 13, etc. At subsequent step S74, thebus repeater 13 carries out DMA request (DREQ) with respect to theDMA controller 22 on thefirst bus 11. At step S75, thedevice 23 carries out DMA request (DREQ) with respect to theDMA controller 22. At the subsequent step S76, theDMA controller 22 responds to reception of respective DMA requests from thedevice 23 and thebus repeater 13 to carry out request for use right of bus 11 (BREQ) with respect to theCPU 21 to acquire bus use right to carry out DMA transfer from thebus repeater 13 to thedevice 23. - It is to be noted that since capacity of memory such as FIFO, etc. of the
bus repeater 13 is finite, in the case where data of size above that capacity is transferred, it is sufficient to make setting of divisional transfer with respect to theDMA controllers bus repeater 13. - Accordingly, DMA transfer is caused to be carried out between two
buses bus repeater 13, thereby making it possible to carry out DMA between different buses without allowing standby (wait) time to take place. Moreover, plural DMA channels are permitted to be operated at the same time to thereby simplify processing of CPU to realize simple programming and lesser overhead. Further, buffer of repeater between buses can be efficiently utilized. In addition, program of multi-sled can be written with ease. - Meanwhile, when, e.g., the
CPU 21 accesses thebus 12, thebus repeater 13 makes a request for use right of bus 12 (BREQ) to theCPU 26 to receive (accept) its response (BACK) to accessDMA controller 27,device 28 andmemory 29, etc. on thebus 12. - At this time, the
FIFO 33 of FIG. 3 is operative so that when outputs of DMA requests (DREQ) torespective DMA controllers mask flags respective buses TABLE 1 STATE OF SIGNAL & FLAG 21 ACCESS 22 ACCESS TRANSFER 37 38 35 36 BACK DIRECTION READ WRITE READ WRITE 0 0 * * * * X X X X 1 0 0 * * * X X X X 1 0 1 * * 12 → 11 ◯ X X X 1 0 1 * * 11 → 12 X ◯ X X 0 1 * 0 * * X X X X 0 1 * 1 0 12 → 11 X X ◯ X 0 1 * 1 0 11 → 12 X X X ◯ 0 1 * 1 1 12 → 11 ◯ X X X 0 1 * 1 1 11 → 12 X ◯ X X - “*” of the column of “state of signal and flag” of this Table 1 represents arbitrary (Don't care) state.
- In this case, as the condition for diagnosing DMA function, cases as described below are conceivable.
- Condition #1: Data transfer is carried out by using
DMA controllers buses - Condition #2:
CPU 21 carries out transmission/reception of data by I/O access only on thebus 11 side. - Condition #3:
CPU 26 carries out transmission/reception of data by I/O access only on thebus 12 side. - Condition #4:
CPUs bus 11 and thebus 12 sides. - Condition #5: In the state where device on the
bus 12 side does not exist or device of thebus 12 side is not used, data transfer is carried out by DMA by theDMA controller 22 on thebus 11 side, and theCPU 21 carries out data transfer by I/O access on thebus 12 side. - Condition #6: In the state where device on the
bus 12 side dose not exist or device of thebus 12 side is not used,CPU 21 carries out data transfer by I/O access both on thebuses - It is to be noted that it is deemed that diagnosis of DMA function is carried out in reverse order from the condition #6 as order of actual debugging.
- By carrying out data transfer by procedure as described below under the above-described
respective conditions # 1 to #6 to examine under what condition problem takes place, it is possible to specify imperfect function unit or function unit of the question. -
Condition # 1 - Mask flag35: off, Mask flag 36: off
- Transfer direction: *
- CPU21: Instruction of transfer to
DMAC 22 - CPU26: Instruction of transfer to
DMAC 27 - Condition #2
- Mask flag35: on, Mask flag 36: off
- Transfer direction:
bus 11→bus 12 - CPU26: Instruction of transfer to
DMAC 27 - CPU21: Waiting for on of
DREQ bit 37 to write data intobus repeater 13. - Transfer direction:
bus 12→bus 11 - CPU26: Instruction of transfer to
DMAC 27 - CPU21: Waiting for on of
DREQ bit 37 to read data frombus repeater 13. - Condition #3
- Mask flag35: off, Mask flag 36: on
- Transfer direction:
Bus 11→Bus 12 - CPU21: Instruction of transfer to
DMAC 22 - CPU26: Waiting for on of
DREQ bit 38 to read data frombus repeater 13 - Transfer direction:
Bus 12→Bus 11 - CPU21: Instruction of transfer to
DMAC 22 - CPU26: Waiting for on of
DREQ bit 38 to write data intobus repeater 13. - Condition #4
- Mask flag35: on, Mask flag 36: on p Transfer direction:
Bus 11→Bus 12 - CPU21: Waiting for on of
DREQ bit 37 to write data intobus repeater 13. - CPU26: Waiting for on of
DREQ bit 38 to read data frombus repeater 13. - Transfer direction:
Bus 12→Bus 11 - CPU26: Waiting for on of
DREQ bit 38 to write data intobus repeater 13. - CPU21: Waiting for on of
DREQ bit 37 to read data frombus repeater 13. - Condition #5
- Mask flag35: off, Mask flag 36: on
- Transfer direction:
Bus 11→Bus 12 - CPU21: Instruction of transfer to
DMAC 22 - :Waiting for on of
DREQ bit 38 to read data frombus repeater 13. - Transfer direction:
Bus 12→Bus 11 - CPU21: Instruction of transfer to
DMAC 22 - :Waiting for on of
DREQ bit 38 to write data intobus repeater 13. - Condition #6
- Mask flag35: on, Mask flag 36: on
- Transfer direction:
Bus 11→Bus 12 - CPU21: Waiting for on of
DREQ bit 37 to write data intobus repeater 13. - :Waiting for on of
DREQ bit 38 to read data frombus repeater 13. - Transfer direction;
Bus 12→Bus 11 - CPU21: Waiting for on of
DREQ bit 38 to write data intobus repeater 13 - :Waiting for on of
DREQ bit 37 to read data frombus repeater 13. - By confirming in what condition of these six kinds of conditions extraordinary state takes place, diagnosis of fault portion or problem point is carried out. In this case, data transferred onto the
bus 12 can be confirmed by test program ofCPU 21 by allowing theCPU 21 to directly access thebus 12. - Accordingly, in accordance with such embodiment of this invention, it is possible to easily debug DMA transfer function between
different buses CPU 21 on thebus 11 serving as main, function confirmation can be carried out. Further, by directly providing access to theother bus 12, debugging except for DMA function can be also carried out. - Summarizing the above-described description, in accordance with the embodiment of this invention, bus repeating means having buffer memory is provided between the first bus and the second bus, and first direct memory access (DMA) control means is connected to the first bus and second direct memory access control means is connected to the second bus to carry out, through the buffer memory, direct memory access transfer between memory or device connected to the first bus and memory or device connected to the second bus by these first and second direct memory access control means, and to mask, by data processing means (CPU), direct memory access request to the first or second direct memory access control means from the bus repeating means to directly access the buffer memory within the bus repeating means by the data processing means, whereby direct memory access transfer between respective memories or devices on different buses is carried out through this buffer memory. At this time, data processing means (CPUs) on respective buses mask direct memory access requests on respective buses to directly access the buffer memory, thereby making it possible to check direct memory access function. Moreover, data processing means on the first bus masks direct memory access request on the second bus to access the buffer memory from the second bus side, thereby making it possible to check direct memory access function of the second bus.
- Accordingly, it is possible to easily debug direct memory access transfer function between different buses to specify the portion of the question. Moreover, only by data processing means on the main bus, the function confirmation can be carried out. Further, by directly providing access to the other bus, debugging except for direct memory access function can be also carried out.
- Explanation will now be given in connection with the example where block size of transfer data of the system for carrying out DMA transfer through buffer between different buses can be changed with ease.
- In this example, the
bus repeater 13 adds dummy data at the time of transfer, or omits a portion of data to thereby change block size. - Namely, in the case where continuous data train from transfer source are all written into the transfer destination as they are in DMA transfer as explained along with the above-mentioned FIGS.2 to 5, setting is made such that one transfer unit (block) is size of
FIFO 33 within thebus repeater 13 along withDMA controllers - In the case where quantity of data inputted to the buffer (FIFO33) and quantity of data outputted therefrom are different from each other, the
bus repeater 13 has a function to carry out processing as described below. - Namely, first, in the case where even if inputted data is lost from the buffer (FIFO33), output request is further issued, the
bus repeater 13 outputs dummy data. - Secondly, in the case where inputted data is left in the buffer (FIFO33) at the time point when DMA of the output side has been completed, left data is abolished.
- By the function of
such bus repeater 13, it is possible to vary configuration of data train to be transferred. As change of the configuration of this data train, it is mentioned that dummy data is supplemented at the time of DMA transfer to thereby enlarge size of data block, and a portion of data is omitted at the time of DMA transfer to thereby reduce size of data block. - A more practical example in the case where capacity of the buffer (FIFO33) of the
bus repeater 13 is 64 bytes will now be described. - For example, it is assumed that data trains S1A, S1B, S1C, S2A, . . . as shown in FIG. 6 are developed in the
memory 29 of FIG. 2. A, B, C of subscripts of these data trains S1A, S1B, S1C, S2A, . . . represent data different from each other in kind, and the case where only data of kinds of B, C of these three kinds of data are transferred to thedevice 23 of FIG. 2 is assumed. At this time, it is necessary to write data trains as shown in FIG. 7 into thedevice 23. In this case, FIGS. 1, 2, 3 . . . of subscripts of data trains S1A, S1B, S1C, S2A, . . . show numbers of data blocks which are respective one transfer units. - In the
DMA controller 27, there is carried out setting of such DMA transfer to transfer three blocks from data train S1B with all kinds (A, B, C) of the data S1A, S1B, S1C, S2A, . . . , i.e., 32 bytes being as one block. On the contrary, in theDMA controller 22, setting is made so as to transfer three blocks with only two kinds of B, C, i.e., 24 bytes being as 1 block. Thus, 8 bytes (data trains S2A, S3A) subsequent to data trains (S1C, S2C) of kind C are abolished. For this reason, data trains as shown in FIG. 7 can be resultantly written into thedevice 23. - Then, let suppose the case where attempt is made to output data trains of the format as shown in FIG. 7 from the
device 23 of FIG. 2 to develop such data trains into, e.g., thememory 29, and to insert data train of kind D after data trains of the kind C as shown in FIG. 8. - In this case, in the
DMA controller 27, setting is made so as to transfer 3 blocks with the 36 bytes being as one block. At this time, as the result of DMA transfer, dummy data of 12 bytes are written into the portion after data train of 24 bytes of the kinds B, C. For this reason, theCPU 26 of FIG. 2 can directly write data train of the kind D into this dummy data area. Namely, theCPU 26 can save labor for shifting data on thememory 29. - It is to be noted that in such cases that e.g., the
device 28 of FIG. 2 outputs data trains as shown in FIG. 8 to write data trains of only kinds of B, C thereof into thedevice 23, it is sufficient to make setting in theDMA controller 27 to transfer 3 blocks with 36 bytes from the beginning of data train being as 1 block, and it is sufficient in theDMA controller 27 to transfer three blocks with 24 bytes being as 1 block. - By causing the
bus repeater 13 which intervenes transfer to additionally have the above-described function, it is possible to carry out conversion of simple data configuration at the time of transfer of data train, thus making it possible to improve performance of the system. - Explanation will now be given with reference to the attached drawings in connection with more practical example where extra data as described above is rounded down or another data is inserted into the portion between data trains. FIG. 9 shows texture picture area for texture mapping in picture processing such as computer graphics, etc., and it is assumed that a portion within broad texture area, e.g., areas T1, T2, T3, T4 indicated by slanting line portions in the figure are transferred. This texture picture is developed as shown in FIG. 10, for example, on the memory, and it is required that when data of partial areas T1, T2, T3, T4 on this memory are transferred, extra data is rounded out.
- Moreover, as example of data addition, the case where headers are respectively added to several data trains as shown in FIG. 11, e.g., polygon data is mentioned. Namely, with respect to polygon data, size of data train changes in dependency upon the number of vertices, or presence/absence of shading or texture, etc. Moreover, for the purpose of distinction from texture data or distinction of transfer destination, there are instances where header (GPUIFtag) is attached. Data transferred by interface GPUIF of GPU (Graphic processor unit) is such that a set of data called primitive constituted by the leading header (GPUIFtag) and subsequent data are caused to be fundamental unit, and plural primitives processed in a bundle are caused to be collectively GPU packet. FIG. 12 shows an example of the configuration of the header (GPUIFtag), and is composed of register descriptor REGS, register descriptor number NREG, and data form FLG, etc. in order from MSB. In the case where header (GPUIFtag) is added to polygon data as stated above, it is necessary to insert another data into the portion between data trains.
- In the case where conversion of simple data configuration as stated above is required, the above-described embodiment of this invention is used, thereby making it possible to omit poor efficient work in which CPU carries out sequencing of data train DMA-transferred onto the memory or data train to be DMA-transferred onto the memory. Thus, performance of the system is improved. Moreover, it is possible to carry out DMA transfer between devices of different data formats. Further, work for preparing transfer source address of special specification or table of transfer quantity, or making reference to table can be omitted.
- As apparent from the above explanation, in accordance with the example which has been explained along with FIGS.6 to 11 of the embodiment of this invention, bus repeating means having buffer memory is provided between the first bus and the second bus to carry out, through buffer memory within bus repeating means, data transfer between the first bus and the second bus. The bus repeating means adds dummy data at the time of data transfer to thereby enlarge size of transfer data block, or to omit a portion of data at the time of data transfer to thereby reduce size of transfer data block, thereby making it possible to carry out change of simple data configuration at the time of transfer. Thus, performance of the system can be improved.
- Moreover, first direct memory access control means is connected to the first bus to carry out data transfer control between the first bus and buffer memory within the bus repeating means, and second direct memory access control means is connected to the second bus to carry out data transfer control between the second bus and buffer memory within the bus repeating means. The bus repeating means is caused to have a function to output dummy data when output request is issued even if data within the buffer memory is lost at the time of data transfer and a function to abolish remaining data when data within the buffer memory remains at the time point when data transfer of the output side has been completed at the time of data transfer. Thus, poor efficient work such that CPU, etc. carries out sequencing processing of data on the memory which has been caused to undergo data transfer or which is to be caused to undergo data transfer can be omitted. Further, labor for preparing or making reference to transfer source address for data transfer or special transfer specification table of transfer quantity, etc. can be omitted. In addition, it is possible to carry out data transfer between devices of different data formats.
- FIG. 13 shows an example of the system to which the embodiment of this invention as described above is applied. In this system, a
main bus 111 for carrying out high speed picture processing and asub bus 112 to which low speed peripheral devices such as CD-ROM drive, etc. are connected are connected through abus repeater 113 having buffer memory such as FIFO, etc. - Namely, in FIG. 13, a
main CPU 121, aDMA controller 122, agraphic engine 123 for high speed picture processing and amain memory 124 are connected to the high speedmain bus 11 1, and asub CPU 126, aDMA controller 127, adata recording medium 128 such as CD-ROM, etc. and asub memory 129 are connected to the relatively lowspeed sub bus 122. Thesemain bus 111 andsub bus 112 are connected through thebus repeater 113 having buffer memory such as FIFO, etc. as described above, and thisbus repeater 113 can issue plural kinds of DMA requests corresponding to plural DMA channels, e.g., three kinds of DMA requests. Since it is sufficient that more practical configuration and operation of thisbus repeater 113 are caused to be similar to thebus repeater 13 of the embodiment which has been described with reference to FIGS. 2 to 5, its explanation is omitted. - In the case where DMA transfer is carried out between the high speed bus and the low speed bus as stated above, data transfer can be carried out without allowing useless standby time to take place on high speed bus, and processing by CPU can be simplified. In addition, it is possible to easily carry out debugging of DMA transfer function between different buses.
- It is to be noted that this invention is not limited to the embodiments. While explanation has been given in connection with the example where bidirectional DMA transfer is carried out between the first bus and the second bus, this invention can be also applied to the case where only DMA transfer from the first bus to the second bus, or only DMA transfer from the second bus to the first bus is carried out. In addition, it is a matter of course that the number of DMA channels and/or circuits connected to respective buses, etc. are not limited to those of the embodiments.
Claims (14)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/801,946 US6453368B2 (en) | 1997-04-22 | 2001-03-07 | Adding a dummy data or discarding a portion of data in a bus repeater buffer memory for a second data transfer to a second bus |
Applications Claiming Priority (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP10497997A JP3602293B2 (en) | 1997-04-22 | 1997-04-22 | Data transfer method and device |
JP9-104979 | 1997-04-22 | ||
PCT/JP1998/001857 WO1998048357A1 (en) | 1997-04-22 | 1998-04-22 | Data transfer method and device |
JPPCT/JP98/01857 | 1998-04-22 | ||
US09/214,084 US6282588B1 (en) | 1997-04-22 | 1998-04-22 | Data transfer method and device |
US09/801,946 US6453368B2 (en) | 1997-04-22 | 2001-03-07 | Adding a dummy data or discarding a portion of data in a bus repeater buffer memory for a second data transfer to a second bus |
Related Parent Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US09/214,084 Division US6282588B1 (en) | 1997-04-22 | 1998-04-22 | Data transfer method and device |
PCT/JP1998/001857 Division WO1998048357A1 (en) | 1997-04-22 | 1998-04-22 | Data transfer method and device |
Publications (2)
Publication Number | Publication Date |
---|---|
US20010013076A1 true US20010013076A1 (en) | 2001-08-09 |
US6453368B2 US6453368B2 (en) | 2002-09-17 |
Family
ID=14395220
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US09/214,084 Expired - Lifetime US6282588B1 (en) | 1997-04-22 | 1998-04-22 | Data transfer method and device |
US09/801,946 Expired - Lifetime US6453368B2 (en) | 1997-04-22 | 2001-03-07 | Adding a dummy data or discarding a portion of data in a bus repeater buffer memory for a second data transfer to a second bus |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US09/214,084 Expired - Lifetime US6282588B1 (en) | 1997-04-22 | 1998-04-22 | Data transfer method and device |
Country Status (9)
Country | Link |
---|---|
US (2) | US6282588B1 (en) |
EP (1) | EP0927938B1 (en) |
JP (1) | JP3602293B2 (en) |
CN (2) | CN1148665C (en) |
AT (1) | ATE357697T1 (en) |
AU (1) | AU748435B2 (en) |
CA (1) | CA2259247A1 (en) |
DE (1) | DE69837377T2 (en) |
WO (1) | WO1998048357A1 (en) |
Cited By (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020124122A1 (en) * | 2001-03-02 | 2002-09-05 | Noboru Hosokawa | Video transmission apparatus for connecting to a network |
US20030065733A1 (en) * | 2001-09-28 | 2003-04-03 | Pecone Victor Key | Modular architecture for a network storage controller |
US20030065836A1 (en) * | 2001-09-28 | 2003-04-03 | Pecone Victor Key | Controller data sharing using a modular DMA architecture |
US20040044809A1 (en) * | 2002-08-30 | 2004-03-04 | Fujitsu Limited | DMA controller and DMA transfer method |
US6732243B2 (en) * | 2001-11-08 | 2004-05-04 | Chaparral Network Storage, Inc. | Data mirroring using shared buses |
US20040177126A1 (en) * | 2003-02-18 | 2004-09-09 | Chaparral Network Storage, Inc. | Broadcast bridge apparatus for transferring data to redundant memory subsystems in a storage controller |
US20040186931A1 (en) * | 2001-11-09 | 2004-09-23 | Gene Maine | Transferring data using direct memory access |
US20050102557A1 (en) * | 2001-09-28 | 2005-05-12 | Dot Hill Systems Corporation | Apparatus and method for adopting an orphan I/O port in a redundant storage controller |
US20060106982A1 (en) * | 2001-09-28 | 2006-05-18 | Dot Hill Systems Corporation | Certified memory-to-memory data transfer between active-active raid controllers |
US20060161709A1 (en) * | 2005-01-20 | 2006-07-20 | Dot Hill Systems Corporation | Safe message transfers on PCI-Express link from RAID controller to receiver-programmable window of partner RAID controller CPU memory |
US20060161707A1 (en) * | 2005-01-20 | 2006-07-20 | Dot Hill Systems Corporation | Method for efficient inter-processor communication in an active-active RAID system using PCI-express links |
US20060277347A1 (en) * | 2001-09-28 | 2006-12-07 | Dot Hill Systems Corporation | RAID system for performing efficient mirrored posted-write operations |
US20070101026A1 (en) * | 2005-10-06 | 2007-05-03 | Via Technologies, Inc. | Bus controller and data buffer space configuration method of the same |
US20080005470A1 (en) * | 2006-06-30 | 2008-01-03 | Dot Hill Systems Corporation | System and method for sharing sata drives in active-active raid controller system |
US20080201616A1 (en) * | 2007-02-20 | 2008-08-21 | Dot Hill Systems Corporation | Redundant storage controller system with enhanced failure analysis capability |
US20100023655A1 (en) * | 2008-07-25 | 2010-01-28 | Hitachi, Ltd. | Data Storage Apparatus and Method of Data Transfer |
US20100036976A1 (en) * | 2007-01-02 | 2010-02-11 | Freescale Semiconductor , Inc. | Device and method for testing a direct memory access controller |
Families Citing this family (34)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5742840A (en) | 1995-08-16 | 1998-04-21 | Microunity Systems Engineering, Inc. | General purpose, multiple precision parallel operation, programmable media processor |
US6643765B1 (en) | 1995-08-16 | 2003-11-04 | Microunity Systems Engineering, Inc. | Programmable processor with group floating point operations |
US6295599B1 (en) * | 1995-08-16 | 2001-09-25 | Microunity Systems Engineering | System and method for providing a wide operand architecture |
US7301541B2 (en) * | 1995-08-16 | 2007-11-27 | Microunity Systems Engineering, Inc. | Programmable processor and method with wide operations |
US7932911B2 (en) * | 1998-08-24 | 2011-04-26 | Microunity Systems Engineering, Inc. | Processor for executing switch and translate instructions requiring wide operands |
ATE557343T1 (en) * | 1998-08-24 | 2012-05-15 | Microunity Systems Eng | PROCESSOR AND METHOD FOR PERFORMING A WIDE OPERAND SWITCHING INSTRUCTION |
DE19846913A1 (en) * | 1998-10-12 | 2000-04-20 | Oce Printing Systems Gmbh | Electronic control device e.g. for preparing print data for high performance printer has bus controller that can read data stored in transmitter module and transfer to receiver module |
JP3614714B2 (en) * | 1999-06-16 | 2005-01-26 | Necマイクロシステム株式会社 | DMA controller |
JP3696515B2 (en) | 2000-03-02 | 2005-09-21 | 株式会社ソニー・コンピュータエンタテインメント | Kernel function realization structure, entertainment device including the same, and peripheral device control method using kernel |
US6658520B1 (en) * | 2000-09-26 | 2003-12-02 | Intel Corporation | Method and system for keeping two independent busses coherent following a direct memory access |
US6779049B2 (en) * | 2000-12-14 | 2004-08-17 | International Business Machines Corporation | Symmetric multi-processing system with attached processing units being able to access a shared memory without being structurally configured with an address translation mechanism |
US6492881B2 (en) * | 2001-01-31 | 2002-12-10 | Compaq Information Technologies Group, L.P. | Single to differential logic level interface for computer systems |
JP4204759B2 (en) * | 2001-03-09 | 2009-01-07 | インターナショナル・ビジネス・マシーンズ・コーポレーション | DMA transfer control method and control apparatus |
US20020133652A1 (en) * | 2001-03-19 | 2002-09-19 | Tai Quan | Apparatus for avoiding starvation in hierarchical computer systems that prioritize transactions |
US6877055B2 (en) | 2001-03-19 | 2005-04-05 | Sun Microsystems, Inc. | Method and apparatus for efficiently broadcasting transactions between a first address repeater and a second address repeater |
US6735654B2 (en) * | 2001-03-19 | 2004-05-11 | Sun Microsystems, Inc. | Method and apparatus for efficiently broadcasting transactions between an address repeater and a client |
US6826643B2 (en) | 2001-03-19 | 2004-11-30 | Sun Microsystems, Inc. | Method of synchronizing arbiters within a hierarchical computer system |
US6889343B2 (en) | 2001-03-19 | 2005-05-03 | Sun Microsystems, Inc. | Method and apparatus for verifying consistency between a first address repeater and a second address repeater |
US7047328B1 (en) * | 2001-07-13 | 2006-05-16 | Legerity, Inc. | Method and apparatus for accessing memories having a time-variant response over a PCI bus by using two-stage DMA transfers |
JP2003256146A (en) * | 2002-02-26 | 2003-09-10 | Sanyo Electric Co Ltd | Data relay control device |
JP2005100064A (en) * | 2003-09-24 | 2005-04-14 | Canon Inc | Image processor and image processing method and its program |
CN1703027B (en) * | 2004-05-25 | 2012-03-14 | 惠普开发有限公司 | Transmitting debugging information |
US20060026308A1 (en) * | 2004-07-29 | 2006-02-02 | International Business Machines Corporation | DMAC issue mechanism via streaming ID method |
US7296129B2 (en) * | 2004-07-30 | 2007-11-13 | International Business Machines Corporation | System, method and storage medium for providing a serialized memory interface with a bus repeater |
US7200693B2 (en) | 2004-08-27 | 2007-04-03 | Micron Technology, Inc. | Memory system and method having unidirectional data buses |
US7523351B2 (en) | 2004-09-27 | 2009-04-21 | Ceva D.S.P. Ltd | System and method for providing mutual breakpoint capabilities in computing device |
US7417883B2 (en) * | 2004-12-30 | 2008-08-26 | Intel Corporation | I/O data interconnect reuse as repeater |
US7209405B2 (en) * | 2005-02-23 | 2007-04-24 | Micron Technology, Inc. | Memory device and method having multiple internal data buses and memory bank interleaving |
US20070028027A1 (en) * | 2005-07-26 | 2007-02-01 | Micron Technology, Inc. | Memory device and method having separate write data and read data buses |
CN101558366B (en) * | 2006-12-15 | 2012-11-21 | 密克罗奇普技术公司 | Direct memory access controller |
US8417860B2 (en) * | 2010-08-05 | 2013-04-09 | Honda Motor Co., Ltd. | Hybrid in-vehicle infotainment network |
CN104021097A (en) * | 2013-03-01 | 2014-09-03 | 中兴通讯股份有限公司 | Data transmission method and device and direct memory access |
US9785565B2 (en) | 2014-06-30 | 2017-10-10 | Microunity Systems Engineering, Inc. | System and methods for expandably wide processor instructions |
JP2024011462A (en) * | 2022-07-14 | 2024-01-25 | オムロン株式会社 | Control system, control device and communication method |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH01311350A (en) * | 1988-06-10 | 1989-12-15 | Yokogawa Electric Corp | Channel interface circuit |
DE69230134T2 (en) * | 1991-08-16 | 2000-06-29 | Cypress Semiconductor Corp., San Jose | DYNAMIC HIGH PERFORMANCE STORAGE SYSTEM |
JPH05128049A (en) * | 1991-11-08 | 1993-05-25 | Mitsubishi Electric Corp | Input/output controller |
JPH05173933A (en) * | 1991-12-24 | 1993-07-13 | Oki Electric Ind Co Ltd | Direct memory access transfer system |
JP3451103B2 (en) * | 1992-11-27 | 2003-09-29 | 富士通株式会社 | Data communication device and method |
JPH06348644A (en) * | 1993-06-07 | 1994-12-22 | Sharp Corp | Dma circuit |
US5664223A (en) * | 1994-04-05 | 1997-09-02 | International Business Machines Corporation | System for independently transferring data using two independently controlled DMA engines coupled between a FIFO buffer and two separate buses respectively |
JP3630460B2 (en) * | 1995-01-23 | 2005-03-16 | 富士通株式会社 | Data length correction system |
JP3426385B2 (en) * | 1995-03-09 | 2003-07-14 | 富士通株式会社 | Disk controller |
US5918072A (en) * | 1995-09-18 | 1999-06-29 | Opti Inc. | System for controlling variable length PCI burst data using a dummy final data phase and adjusting the burst length during transaction |
JPH0991230A (en) * | 1995-09-26 | 1997-04-04 | Matsushita Electric Ind Co Ltd | Data transfer system |
JPH09162877A (en) * | 1995-12-06 | 1997-06-20 | Fujitsu Ltd | Buffer control system |
JP3562126B2 (en) * | 1996-04-09 | 2004-09-08 | 株式会社デンソー | DMA controller |
-
1997
- 1997-04-22 JP JP10497997A patent/JP3602293B2/en not_active Expired - Fee Related
-
1998
- 1998-04-22 US US09/214,084 patent/US6282588B1/en not_active Expired - Lifetime
- 1998-04-22 AT AT98917635T patent/ATE357697T1/en not_active IP Right Cessation
- 1998-04-22 AU AU70796/98A patent/AU748435B2/en not_active Expired
- 1998-04-22 CN CNB988008009A patent/CN1148665C/en not_active Expired - Lifetime
- 1998-04-22 DE DE69837377T patent/DE69837377T2/en not_active Expired - Lifetime
- 1998-04-22 EP EP98917635A patent/EP0927938B1/en not_active Expired - Lifetime
- 1998-04-22 CN CNB031476392A patent/CN100345131C/en not_active Expired - Lifetime
- 1998-04-22 CA CA002259247A patent/CA2259247A1/en not_active Abandoned
- 1998-04-22 WO PCT/JP1998/001857 patent/WO1998048357A1/en active IP Right Grant
-
2001
- 2001-03-07 US US09/801,946 patent/US6453368B2/en not_active Expired - Lifetime
Cited By (34)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020124122A1 (en) * | 2001-03-02 | 2002-09-05 | Noboru Hosokawa | Video transmission apparatus for connecting to a network |
US7472410B2 (en) * | 2001-03-02 | 2008-12-30 | Hitachi Kokusai Electric Inc. | Video transmission apparatus for connecting to a network |
US20060106982A1 (en) * | 2001-09-28 | 2006-05-18 | Dot Hill Systems Corporation | Certified memory-to-memory data transfer between active-active raid controllers |
US7536495B2 (en) | 2001-09-28 | 2009-05-19 | Dot Hill Systems Corporation | Certified memory-to-memory data transfer between active-active raid controllers |
US7340555B2 (en) | 2001-09-28 | 2008-03-04 | Dot Hill Systems Corporation | RAID system for performing efficient mirrored posted-write operations |
US20030065836A1 (en) * | 2001-09-28 | 2003-04-03 | Pecone Victor Key | Controller data sharing using a modular DMA architecture |
US7437493B2 (en) | 2001-09-28 | 2008-10-14 | Dot Hill Systems Corp. | Modular architecture for a network storage controller |
US20050102557A1 (en) * | 2001-09-28 | 2005-05-12 | Dot Hill Systems Corporation | Apparatus and method for adopting an orphan I/O port in a redundant storage controller |
US7558897B2 (en) | 2001-09-28 | 2009-07-07 | Dot Hill Systems Corporation | Method for adopting an orphan I/O port in a redundant storage controller |
US7062591B2 (en) | 2001-09-28 | 2006-06-13 | Dot Hill Systems Corp. | Controller data sharing using a modular DMA architecture |
US20030065733A1 (en) * | 2001-09-28 | 2003-04-03 | Pecone Victor Key | Modular architecture for a network storage controller |
US20060282701A1 (en) * | 2001-09-28 | 2006-12-14 | Dot Hill Systems Corporation | Method for adopting an orphan i/o port in a redundant storage controller |
US20060277347A1 (en) * | 2001-09-28 | 2006-12-07 | Dot Hill Systems Corporation | RAID system for performing efficient mirrored posted-write operations |
US7146448B2 (en) | 2001-09-28 | 2006-12-05 | Dot Hill Systems Corporation | Apparatus and method for adopting an orphan I/O port in a redundant storage controller |
US6732243B2 (en) * | 2001-11-08 | 2004-05-04 | Chaparral Network Storage, Inc. | Data mirroring using shared buses |
US7380115B2 (en) | 2001-11-09 | 2008-05-27 | Dot Hill Systems Corp. | Transferring data using direct memory access |
US20040186931A1 (en) * | 2001-11-09 | 2004-09-23 | Gene Maine | Transferring data using direct memory access |
US20040044809A1 (en) * | 2002-08-30 | 2004-03-04 | Fujitsu Limited | DMA controller and DMA transfer method |
US7380027B2 (en) * | 2002-08-30 | 2008-05-27 | Fujitsu Limited | DMA controller and DMA transfer method |
US7143227B2 (en) | 2003-02-18 | 2006-11-28 | Dot Hill Systems Corporation | Broadcast bridge apparatus for transferring data to redundant memory subsystems in a storage controller |
US20040177126A1 (en) * | 2003-02-18 | 2004-09-09 | Chaparral Network Storage, Inc. | Broadcast bridge apparatus for transferring data to redundant memory subsystems in a storage controller |
US20060161709A1 (en) * | 2005-01-20 | 2006-07-20 | Dot Hill Systems Corporation | Safe message transfers on PCI-Express link from RAID controller to receiver-programmable window of partner RAID controller CPU memory |
US20060161707A1 (en) * | 2005-01-20 | 2006-07-20 | Dot Hill Systems Corporation | Method for efficient inter-processor communication in an active-active RAID system using PCI-express links |
US7543096B2 (en) | 2005-01-20 | 2009-06-02 | Dot Hill Systems Corporation | Safe message transfers on PCI-Express link from RAID controller to receiver-programmable window of partner RAID controller CPU memory |
US7315911B2 (en) | 2005-01-20 | 2008-01-01 | Dot Hill Systems Corporation | Method for efficient inter-processor communication in an active-active RAID system using PCI-express links |
US20070101026A1 (en) * | 2005-10-06 | 2007-05-03 | Via Technologies, Inc. | Bus controller and data buffer space configuration method of the same |
US7536508B2 (en) | 2006-06-30 | 2009-05-19 | Dot Hill Systems Corporation | System and method for sharing SATA drives in active-active RAID controller system |
US20080005470A1 (en) * | 2006-06-30 | 2008-01-03 | Dot Hill Systems Corporation | System and method for sharing sata drives in active-active raid controller system |
US20100036976A1 (en) * | 2007-01-02 | 2010-02-11 | Freescale Semiconductor , Inc. | Device and method for testing a direct memory access controller |
US8341301B2 (en) * | 2007-01-02 | 2012-12-25 | Freescale Semiconductor, Inc. | Device and method for testing a direct memory access controller |
US20080201616A1 (en) * | 2007-02-20 | 2008-08-21 | Dot Hill Systems Corporation | Redundant storage controller system with enhanced failure analysis capability |
US7681089B2 (en) | 2007-02-20 | 2010-03-16 | Dot Hill Systems Corporation | Redundant storage controller system with enhanced failure analysis capability |
US8352663B2 (en) * | 2008-07-25 | 2013-01-08 | Hitachi, Ltd. | Data storage apparatus and method of data transfer |
US20100023655A1 (en) * | 2008-07-25 | 2010-01-28 | Hitachi, Ltd. | Data Storage Apparatus and Method of Data Transfer |
Also Published As
Publication number | Publication date |
---|---|
ATE357697T1 (en) | 2007-04-15 |
CN1497461A (en) | 2004-05-19 |
DE69837377D1 (en) | 2007-05-03 |
CA2259247A1 (en) | 1998-10-29 |
EP0927938A1 (en) | 1999-07-07 |
WO1998048357A1 (en) | 1998-10-29 |
CN1148665C (en) | 2004-05-05 |
EP0927938A4 (en) | 2003-02-19 |
AU748435B2 (en) | 2002-06-06 |
DE69837377T2 (en) | 2007-11-29 |
US6453368B2 (en) | 2002-09-17 |
CN100345131C (en) | 2007-10-24 |
US6282588B1 (en) | 2001-08-28 |
JP3602293B2 (en) | 2004-12-15 |
EP0927938B1 (en) | 2007-03-21 |
CN1229488A (en) | 1999-09-22 |
AU7079698A (en) | 1998-11-13 |
JPH10301889A (en) | 1998-11-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6282588B1 (en) | Data transfer method and device | |
KR100381823B1 (en) | Data processing system with adjustable depth / width FIFO buffers for variable width data transfers | |
JPS6375955A (en) | Program mode access control system | |
US4949246A (en) | Adapter for transmission of data words of different lengths | |
KR100567147B1 (en) | Data transmission method and device | |
MXPA99000018A (en) | Data transfer method and device | |
JP2005190496A (en) | Data transfer method and device | |
JP2006285872A (en) | Multi-cpu system | |
JPS6162158A (en) | Data delivering and receiving system | |
JP2687716B2 (en) | Information processing device | |
JP3304107B2 (en) | Data bus control method | |
JPS61214049A (en) | Bus control system | |
JPH02127758A (en) | Data processor | |
JP2763009B2 (en) | Semiconductor integrated circuit device for data communication | |
JPH07334453A (en) | Memory access system | |
JPS5960553A (en) | Disk data controlling system | |
JPS5856891B2 (en) | information processing system | |
JPS58213336A (en) | Communication controller | |
JPH0160862B2 (en) | ||
JPS6261976B2 (en) | ||
JPS58101336A (en) | High-speed information transmission system | |
JPH01129342A (en) | System for copying specified area at dma transferring time | |
JPS5953929A (en) | Data transfer device | |
JPH041819A (en) | Data block controller | |
JPS608968A (en) | Data buffer controlling system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
FEPP | Fee payment procedure |
Free format text: PAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
CC | Certificate of correction | ||
FPAY | Fee payment |
Year of fee payment: 4 |
|
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 |
|
FPAY | Fee payment |
Year of fee payment: 8 |
|
AS | Assignment |
Owner name: SONY NETWORK ENTERTAINMENT PLATFORM INC., JAPAN Free format text: CHANGE OF NAME;ASSIGNOR:SONY COMPUTER ENTERTAINMENT INC.;REEL/FRAME:027437/0369 Effective date: 20100401 |
|
AS | Assignment |
Owner name: SONY COMPUTER ENTERTAINMENT INC., JAPAN Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:SONY NETWORK ENTERTAINMENT PLATFORM INC.;REEL/FRAME:027449/0108 Effective date: 20100401 |
|
FPAY | Fee payment |
Year of fee payment: 12 |