US20150278113A1 - Data transfer control device and memory-containing device - Google Patents

Data transfer control device and memory-containing device Download PDF

Info

Publication number
US20150278113A1
US20150278113A1 US14/659,842 US201514659842A US2015278113A1 US 20150278113 A1 US20150278113 A1 US 20150278113A1 US 201514659842 A US201514659842 A US 201514659842A US 2015278113 A1 US2015278113 A1 US 2015278113A1
Authority
US
United States
Prior art keywords
memory
address
data transfer
address information
input
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
Application number
US14/659,842
Other versions
US9767054B2 (en
Inventor
Takashi Mori
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
MegaChips Corp
Original Assignee
MegaChips Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by MegaChips Corp filed Critical MegaChips Corp
Assigned to MEGACHIPS CORPORATION reassignment MEGACHIPS CORPORATION ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: MORI, TAKASHI
Publication of US20150278113A1 publication Critical patent/US20150278113A1/en
Application granted granted Critical
Publication of US9767054B2 publication Critical patent/US9767054B2/en
Active legal-status Critical Current
Adjusted expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/1081Address translation for peripheral access to main memory, e.g. direct memory access [DMA]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/25Using a specific main memory architecture
    • G06F2212/253Centralized memory
    • G06F2212/2532Centralized memory comprising a plurality of modules

Definitions

  • the present invention relates to a data transfer control device that conducts data transfer between a module, such as an image processing module, and a memory.
  • a direct memory access (DMA) controller disclosed in Japanese Patent No. 4677581 is an example of a conventional data transfer control device that conducts data transfer between a module, such as an image processing module, and a memory.
  • a module such as an image processing module
  • the DMA controller disclosed in Japanese Patent No. 4677581 prepares, in four registers, two pairs of a start address and an end address of a main memory. Two selectors perform switching between a start address A of a storage area A of the main memory and a start address B of a storage area B of the main memory, and between an end address A of the storage area A and an end address B of the storage area B.
  • An address counter increases a value of the start address of one of the pairs one by one to generate a destination address, and outputs the destination address to an arbiter.
  • the arbiter controls a memory control circuit so that DMA transfer is conducted with respect to the destination address of the main memory.
  • FIG. 8 is a block diagram schematically showing configuration of conventional DMA transfer achieved, for example, by the DMA controller disclosed in Japanese Patent No. 4677581.
  • data transfer between an image processing module 62 (a predetermined module) and a memory 63 is conducted via a DMA controller (DMAC) 61 .
  • DMAC DMA controller
  • a CPU 64 performs pre-setting processing of providing the DMAC 61 with address information indicating details of data transfer between the image processing module 62 and the memory 63 prior to the data transfer between the image processing module 62 and the memory 63 via the DMAC 61 (hereinafter, also simply referred to as “DMA data transfer”).
  • the DMAC 61 controls the DMA data transfer based on the address information.
  • the address information indicates a storage area to be accessed typically by a start address and an end address (or information on the amount of data to be accessed) of the storage area to be accessed.
  • the storage area, in the memory 63 , from the start address to the end address to be accessed is herein referred to as a bank.
  • FIG. 9 schematically shows a plurality of banks BK 0 -BK 2 in the memory 63 .
  • the banks BK 0 -BK 2 as storage areas to be accessed in the memory 63 can be designated by setting start addresses BST 0 -BST 2 and end addresses BED 0 -BED 2 as the address information.
  • the CPU 64 When DMA data transfer is conducted in the order of the banks BK 0 , BK 1 , and BK 2 , for example, the CPU 64 performs address pre-setting processing of outputting address information ⁇ (BST 0 , BED 0 ), (BST 1 , BED 1 ), (BST 2 , BED 2 ) ⁇ to the DMAC 61 prior to the DMA data transfer.
  • the image processing module 62 performs read processing of reading data from the bank BK 0 , which is accessed first, performs arithmetic processing based on the read data, and determines a start address of the bank BK 1 , which is accessed next, from the results of the arithmetic processing is considered.
  • the CPU 64 is required to perform a first address pre-setting processing of setting address information regarding the bank BK 0 , and, after DMA data transfer (the read processing performed by the image processing module 62 ) is conducted with respect to the bank BK 0 , to perform a second address pre-setting processing of setting address information regarding the bank BK 1 based on the results of the arithmetic processing performed by the image processing module 62 .
  • the DMA controller is required to include storages for storing therein a plurality of pieces of address information so that the DMA controller can store therein the largest possible number of pieces of address information in order for the CPU to perform address pre-setting processing without any difficulty.
  • An object of the present invention is to provide a data transfer control device with a reduced circuit size and a reduced load on a CPU.
  • a data transfer control device is a data transfer control device that controls data transfer between a memory and a predetermined module, the predetermined module outputting an address signal group and an addressing request signal, the address signal group including a start address of a storage area to be accessed in the memory, the addressing request signal indicating a request for output of the address signal group, the data transfer control device including: an input/output port for use in communicating with the predetermined module, the input/output port including an input part which receives the address signal group and the addressing request signal and an output part which outputs an address valid signal indicating valid reception of the address signal group, the input/output port being capable of performing signal input/output control processing of outputting, in response to the addressing request signal, the address valid signal to the predetermined module when the address signal group is validly received; and a memory access controller performing memory access processing of accessing the storage area to be accessed in the memory based on the address signal group input via the input/output port.
  • the input/output port that includes the input part and the output part is capable of performing the signal input/output control processing of outputting, in response to the addressing request signal, the address valid signal indicating valid reception of the address signal group to the predetermined module when the address signal group is validly received.
  • the memory access controller included in the data transfer control device can therefore perform the memory access processing based on address signal groups sequentially input via the input/output port. Since the data transfer control device is not required to include storages for storing therein a plurality of address signal groups, a circuit size can be reduced.
  • the predetermined module since the predetermined module outputs different address signal groups sequentially, access to the memory can be achieved while switching a storage area to be accessed. Consequently, in the present invention, data transfer between the memory and the predetermined module can always be conducted with respect to a desired storage area as the storage area to be accessed, without intervention of the controller such as a CPU. A load put on the controller, such as the CPU, can be reduced significantly.
  • FIG. 1 is a block diagram showing configuration of a DMAC as a data transfer control device in a preferred embodiment of the present invention and configuration of peripheral devices;
  • FIG. 2 is a block diagram showing a detail of internal configuration of a DMAR in the preferred embodiment
  • FIG. 3 is a block diagram schematically showing signal input control processing of inputting address information performed by a dynamic bank DMA-I/F unit in the preferred embodiment
  • FIG. 4 is a block diagram showing a detail of internal configuration of a DMAW in the preferred embodiment
  • FIG. 5 schematically shows repeat X transfer processing
  • FIG. 6 schematically shows repeat Y transfer processing
  • FIG. 7 schematically shows repeat Z transfer processing
  • FIG. 8 is a block diagram schematically showing configuration of conventional DMA transfer.
  • FIG. 9 schematically shows a plurality of banks in a memory shown in FIG. 8 .
  • FIG. 1 is a block diagram showing configuration of a DMA controller (DMAC) as a data transfer control device in a preferred embodiment of the present invention and configuration of peripheral devices.
  • DMAC DMA controller
  • a memory-containing device 8 (a memory-containing device) includes a DMAC 1 in the preferred embodiment as well as an image processing module 2 (a predetermined module), a memory 3 , and a CPU 4 .
  • the DMAC 1 , the image processing module 2 , the memory 3 , and the CPU 4 are mounted on the same substrate.
  • the DMAC 1 in the preferred embodiment controls data transfer between the memory 3 and the image processing module 2 .
  • the image processing module 2 outputs address information ADD 2 and an addressing request signal REQ 2 to the DMAC 1 .
  • the address information ADD 2 is an address signal group including a start address and an end address of a storage area to be accessed in the memory 3 in read processing and write processing.
  • the addressing request signal REQ 2 indicating a request for output of the address information ADD 2 .
  • the DMAC 1 includes an image processing module input/output port 6 that is an input/output port for used in communicating with the image processing module 2 .
  • the image processing module input/output port 6 includes an input part which receives the address information ADD 2 and the addressing request signal REQ 2 , and an output part which outputs a reply signal VAL 2 (an address valid signal) indicating valid reception of the address information ADD 2 .
  • FIG. 1 shows the image processing module 2 and the DMAC 1 corresponding to the image processing module 2 .
  • the memory-containing device 8 further includes other modules, such as a display module, a module for external USB connection, and a module for a memory card
  • a DMAC is provided for each of the modules. That is to say, when the memory-containing device 8 includes a plurality of modules, a plurality of DMACs corresponding to respective modules are provided, and the memory 3 and the CPU 4 are shared among the plurality of DMACs.
  • the plurality of DMACs each have equivalent functions to the DMAC 1 , which is described in detail below.
  • the following describes operations performed in first configuration in which the image processing module input/output port 6 includes therein no storage, such as a register.
  • the following describes operations performed in second configuration in which the image processing module input/output port 6 includes therein a storage, such as a register.
  • the address information ADD 2 and the request signal REQ 2 output from the image processing module 2 are input into the image processing module input/output port 6 .
  • the image processing module input/output port 6 outputs, in response to the request signal REQ 2 , the reply signal VAL 2 indicating valid reception (valid storage) of the address information ADD 2 to the image processing module 2 when the image processing module input/output port 6 includes a free storage therein, and the address information ADD 2 is validly received (stored).
  • the image processing module input/output port 6 is capable of performing signal input/output control processing of receiving, as input, the address information ADD 2 and the request signal REQ 2 , and returning, in response to the addressing request signal REQ 2 , the reply signal VAL 2 indicating valid reception of the address information ADD 2 to the image processing module 2 when valid reception of the address information ADD 2 is confirmed.
  • the DMAC 1 includes a DMAR 10 for read processing and a DMAW 30 for write processing as described in detail later.
  • the DMAR 10 and the DMAW 30 each include the image processing module input/output port 6 and the memory access controller 7 shown in FIG. 1 independently of each other.
  • FIG. 2 is a block diagram showing a detail of internal configuration of the DMAR 10 .
  • the DMAR 10 included in the DMAC 1 in the preferred embodiment controls DMA data transfer, which is data transfer between the memory 3 and the image processing module 2 in reading data from the memory 3 .
  • the image processing module 2 outputs, to a dynamic bank DMA-I/F unit 11 , information ⁇ RPT_X_EN, RPT_Y_EN, RPT_Z_EN, REV_EN, START_ADR[31:0], END_ADR[31:0], RPT_X[23:0], RPT_Y[15:0], RPT_Z[15:0], OFS_X[23:0], OFS_Y[23:0], OFS_Z[23:0] ⁇ as the address information ADD 2 , which is an address signal group including a start address and an end address of a storage area to be accessed in the memory 3 in read processing.
  • the dynamic bank DMA-I/F unit 11 corresponds to part of the image processing module input/output port 6 shown in FIG. 1 .
  • the image processing module 2 further outputs a signal ⁇ REG_WR_REQ ⁇ as the addressing request signal REQ 2 to the dynamic bank DMA-I/F unit 11 .
  • a signal DYNBANK_START is a signal indicating start of transfer in a dynamic bank mode
  • a signal DYNBANK_STOP is a signal indicating forced termination of transfer in the dynamic bank mode.
  • [X:0] means bit groups 0-X of (X+1) bits.
  • the dynamic bank DMA-I/F unit 11 includes an input part which receives the address information ADD 2 and the addressing request signal REQ 2 , and an output part which outputs a reply signal VAL 2 ⁇ REG_WR_VAL ⁇ indicating valid reception of the address information ADD 2 .
  • the dynamic bank DMA-I/F unit 11 is capable of performing signal input/output control processing of outputting, in response to the addressing request signal REQ 2 , the reply signal VAL 2 indicating valid reception of the address information ADD 2 to the image processing module 2 when the address information ADD 2 is validly received.
  • the DMAR 10 includes a basic register 12 , an address operation-related register 13 , a data format conversion-related register 14 , a CPU-I/F block 15 , and a DMAR core part 20 .
  • the DMAR 10 in the preferred embodiment performs DMA data transfer processing in the dynamic bank mode when start of transfer in the dynamic bank mode is indicated by the signal DYNBANK_START.
  • the following describes configuration of the DMAR 10 , in particular, configuration of the DMAR 10 related to the above-mentioned feature.
  • the dynamic bank DMA-I/F unit 11 outputs the address information ADD 2 received from the image processing module 2 to the address operation-related register 13 .
  • an operation clock is switched from a device clock CLK-D for the image processing module 2 to a bus clock CLK-B for the DMAR 10 .
  • the address operation-related register 13 temporarily stores the above-mentioned address information ADD 2 received via the dynamic bank DMA-I/F unit 11 , and transfers the address information ADD 2 as the address information ADD 1 to an address operation block 21 included in the DMAR core part 20 .
  • the address operation-related register 13 and the above-mentioned dynamic bank DMA-I/F unit 11 constitute the image processing module input/output port 6 shown in FIG. 1 .
  • the address operation block 21 performs address operation based on the address information ADD 1 , and outputs various control signals ⁇ ARID[3:0], ARADDR[31:0], ARLEN[3:0], ARSIZE[2:0], ARBURST[1:0], ARLOCK[1:0], ARCACHE[3:0], ARPORT[2:0], ARVALID ⁇ for read control to the memory 3 via an address channel I/F unit 22 .
  • a signal ARREADY is a signal indicating that the memory 3 has received the various control signals from the address channel I/F unit 22 .
  • the memory 3 outputs, in response to the above-mentioned control signals, a read data signal group ⁇ RID[3:0], RDATA[127:0], RRESP[1:0], RLAST, RVALID ⁇ to a data rearrangement buffer 25 via a data channel I/F unit 24 .
  • a signal RREADY is a signal indicating that the data channel I/F unit 24 has received the read data group from the memory 3 .
  • An address information storage buffer 23 stores therein address information used by the address channel I/F unit 22 and the data channel I/F unit 24 .
  • Data pieces read from the memory 3 are rearranged by the data rearrangement buffer 25 as necessary via the data channel I/F unit 24 , and a clock transfer buffer 26 switches a clock (from the bus clock CLK-B to the device clock CLK-D). Then, a data bus width converter 27 A converts a data bus, a data alignment converter 27 B converts data alignment, a data format converter 27 C converts data format, and a multiplexer 29 outputs read data ⁇ RD_DATA[127:0], RD_BL[15:0] ⁇ and the like. Signals RD_REQ and RD_VAL are respectively a read request signal output from the image processing module 2 and a reply signal output from the multiplexer 29 to the image processing module 2 . The data format converter 27 C and the multiplexer 29 operate based on data stored in the data format conversion-related register 14 .
  • the memory access controller 7 included in the DMAR 10 shown in FIG. 1 is constituted mainly from the DMAR core part 20 as described above.
  • the CPU-I/F block 15 receives address information ADD 4 ⁇ PADDR[11:0], PSEL, PENABLE, PWRITE, PWDATA[31:0] ⁇ , which are address information output from the CPU 4 used in a normal bank mode, and outputs the received address information ADD 4 to the address operation-related register 13 .
  • a signal PRDATA[31:0] is data read from the DMAR 10 to the CPU 4 .
  • the address operation-related register 13 temporarily stores the address information ADD 4 , and transfers the address information ADD 4 as the address information ADD 1 to the address operation block 21 included in the DMAR core part 20 .
  • the basic register 12 is a register for data transfer between the CPU-I/F block 15 and the DMAR core part 20 .
  • a signal INT_O is an interrupt signal.
  • FIG. 3 is a block diagram schematically showing signal input control processing of inputting the address information ADD 2 performed by the dynamic bank DMA-I/F unit 11 and the like in the preferred embodiment.
  • the following describes the signal input control processing performed by the DMAR 10 in the dynamic bank mode.
  • the image processing module 2 accesses the memory 3 , for example, through read processing or write processing, the image processing module 2 outputs, to the dynamic bank DMA-I/F unit 11 , the address information ADD 2 indicating a storage area to be accessed in the memory 3 and the addressing request signal REQ 2 requesting output of the address information ADD 2 .
  • the reply signal VAL 1 is transferred as the reply signal VAL 2 to the image processing module 2 via the address operation-related register 13 and the dynamic bank DMA-I/F unit 11 .
  • the dynamic bank DMA-I/F unit 11 and the address operation-related register 13 may include therein a plurality of FIFO signal storages.
  • the dynamic bank DMA-I/F unit 11 includes two partial registers 11 a and 11 b that are connected in series
  • the address operation-related register 13 includes four partial registers 13 a - 13 d that are connected in series, as shown by dotted lines.
  • the dynamic bank DMA-I/F unit 11 can return, in response to the addressing request signal REQ 2 , the reply signal VAL 2 indicating normal storage (valid reception) of the address information ADD 2 .
  • the address information ADD 2 is stored in the partial register 11 a.
  • the address operation-related register 13 can return, in response to the addressing request signal REQ 2 output from the dynamic bank DMA-I/F unit 11 , the reply signal VAL 2 indicating normal storage to the dynamic bank DMA-I/F unit 11 .
  • the address information ADD 2 output from the partial register 11 b at the last stage of the dynamic bank DMA-I/F unit 11 is stored as the address information ADD 1 in the partial register 13 a at the initial stage of the address operation-related register 13 .
  • the address operation-related register 13 When the address operation-related register 13 stores the address information ADD 1 in the partial register 13 d at the last stage, the address operation-related register 13 outputs the request signal REQ 1 indicating a request for output of the address information ADD 1 to the DMAR core part 20 .
  • the dynamic bank DMA-I/F unit 11 and the address operation-related register 13 can receive the address information ADD 2 output from the image processing module 2 more smoothly.
  • the following describes the signal input/output control processing performed by the DMAR 10 in the normal bank mode.
  • the CPU 4 In order to perform the address pre-setting processing prior to DMA data transfer between the image processing module 2 and the memory 3 , the CPU 4 outputs the address information ADD 4 to the address operation-related register 13 via the CPU-I/F block 15 along with an addressing request signal REQ 4 . As a result, the address information ADD 4 is stored in the address operation-related register 13 as the address information ADD 1 .
  • the address operation-related register 13 When the address operation-related register 13 stores the address information ADD 1 in the partial register 13 d at the last stage, the address operation-related register 13 outputs the addressing request signal REQ 1 to the DMAR core part 20 .
  • the DMAR core part 20 (the address operation block 21 ) outputs, in response to the addressing request signal REQ 1 , the reply signal VAL 1 indicating valid reception of the address information ADD 1 when valid reception of the address information ADD 1 is confirmed.
  • the address operation-related register 13 can output, in response to the reply signal VAL 1 , next address information ADD 1 (address information ADD 1 transferred from the partial register 13 c to the partial register 13 d ) to the DMAR core part 20 .
  • the reply signal VAL 1 may be returned to the CPU 4 via the CPU-I/F block 15 as in the first configuration in the dynamic bank mode.
  • the DMAR 10 included in the DMAC 1 in the preferred embodiment includes the dynamic bank DMA-I/F unit 11 that serves as an input/output port including an input part for the address information ADD 2 and the addressing request signal REQ 2 , and an output part for the reply signal VAL 2 .
  • the dynamic bank DMA-I/F unit 11 performs the signal input/output control processing of outputting, in response to the addressing request signal REQ 2 , the reply signal VAL 2 indicating valid reception of the address information ADD 2 to the image processing module 2 when the address information ADD 2 is validly received.
  • the memory access controller 7 included in the DMAR 10 can therefore perform the memory access processing of accessing the memory 3 based on pieces of the address information ADD 2 sequentially input via the dynamic bank DMA-I/F unit 11 . Since the DMAR 10 is not required to include storages for storing therein a plurality of pieces of the address information ADD 2 (ADD 1 ), a circuit size can be reduced.
  • the dynamic bank DMA-I/F unit 11 and the address operation-related register 13 can perform the above-mentioned signal input/output control processing, and can thus sequentially receive pieces of the address information ADD 2 output from the image processing module 2 as pieces of the address information ADD 1 and output the pieces of the address information pieces ADD 1 to the DMAR core part 20 .
  • DMA transfer has the problem of the increase in circuit size as the DMA controller is required to include therein storages for setting a plurality of (N) addresses in order for the CPU to perform pre-setting processing to reduce dependence on the CPU by 1/N.
  • the DMAR 10 in the preferred embodiment can solve the problem.
  • the image processing module 2 can perform read processing of sequentially reading data pieces from the memory 3 by switching a storage area to be accessed by the image processing module 2 through change of the address information ADD 2 . Consequently, the DMAR 10 in the preferred embodiment can continuously perform data transfer between the memory 3 and the image processing module 2 in read processing with respect to a desired storage area in the memory 3 as the storage area to be accessed, without intervention of the CPU 4 . A load put on the CPU 4 can be reduced significantly.
  • DMA transfer has a problem in that address setting to the DMA controller is achieved by interrupt processing to the CPU, and, due to the need for intervention of the CPU (software processing), hardware performance cannot sufficiently be achieved by dependence on the software processing.
  • the DMAR 10 in the preferred embodiment can also solve the problem.
  • the dynamic bank DMA-I/F unit 11 includes the partial registers 11 a and 11 b (signal storages) that hold the address information ADD 2 in FIFO.
  • the address operation-related register 13 includes the partial registers 13 a - 13 d (signal storages).
  • the dynamic bank DMA-I/F unit 11 and the address operation-related register 13 can take in at least one (two and four, respectively, in the example of FIG. 3 ) piece of the address information ADD 2 from the image processing module 2 in advance, and thus a stand-by time during output of the address information ADD 2 and the addressing request signal REQ 2 from the image processing module 2 can effectively be reduced.
  • FIG. 4 is a block diagram showing a detail of internal configuration of the DMAW 30 .
  • the DMAW 30 included in the DMAC 1 in the preferred embodiment controls data transfer between the memory 3 and the image processing module 2 in writing data to the memory 3 .
  • the DMAW 30 is different from the DMAR 10 in that the DMAW 30 controls data transfer in write processing in place of read processing.
  • Basic operation of the DMAW 30 is similar to that of the DMAR 10 , and thus description of the similar operation is omitted as appropriate.
  • the image processing module 2 outputs, to a dynamic bank DMA-I/F unit 31 , information ⁇ RPT_X_EN, RPT_Y_EN, RPT_Z_EN, REV_EN, START_ADR[31:0], END_ADR[31:0], RPT_X[23:0], RPT_Y[15:0], RPT_Z[15:0], OFS_X[23:0], OFS_Y[23:0], OFS_Z[23:0] ⁇ as the address information ADD 2 , which is an address signal group including a start address and an end address of a storage area to be accessed in the memory 3 in write processing.
  • the dynamic bank DMA-I/F unit 31 corresponds to part of the image processing module input/output port 6 shown in FIG. 1 .
  • the image processing module 2 further outputs a signal ⁇ REG_WR_REQ ⁇ as the addressing request signal REQ 2 to the dynamic bank DMA-I/F unit 31 .
  • the dynamic bank DMA-I/F unit 31 includes an input part which receives the address information ADD 2 and the addressing request signal REQ 2 , and an output part which outputs a reply signal VAL 2 ⁇ REG_WR_VAL ⁇ indicating confirmation of reception of the address information ADD 2 .
  • the dynamic bank DMA-I/F unit 31 is capable of performing signal input/output control processing of outputting, in response to the addressing request signal REQ 2 , the reply signal VAL 2 indicating valid reception of the address information ADD 2 to the image processing module 2 when the address information ADD 2 is validly received, as with the dynamic bank DMA-I/F unit 11 included in the DMAR 10 .
  • the DMAW 30 includes a basic register 32 , an address operation-related register 33 , a data format conversion-related register 34 , a CPU-I/F block 35 , and a DMAW core part 40 .
  • the basic register 32 , the address operation-related register 33 , the data format conversion-related register 34 , and the CPU-I/F block 35 respectively correspond to the basic register 12 , the address operation-related register 13 , the data format conversion-related register 14 , and the CPU-I/F block 15 , and perform similar operation to the corresponding components of the DMAR 10 .
  • the DMAW core part 40 corresponds to the DMAR core part 20 included in the DMAR 10 .
  • the DMAW 30 in the preferred embodiment performs DMA data transfer processing in the dynamic bank mode, as with the DMAR 10 .
  • the following describes configuration of the DMAW 30 , in particular, configuration of the DMAW 30 related to the above-mentioned feature.
  • the dynamic bank DMA-I/F unit 31 outputs the address information ADD 2 received from the image processing module 2 to the address operation-related register 33 .
  • the operation clock is switched from the device clock CLK-D for the image processing module 2 to the bus clock CLK-B for the DMAW 30 .
  • the address operation-related register 33 temporarily stores the above-mentioned address information ADD 2 , and transfers the address information ADD 2 as the address information ADD 1 to an address operation block 41 included in the DMAW core part 40 .
  • the address operation-related register 33 and the above-mentioned dynamic bank DMA-I/F unit 31 constitute the image processing module input/output port 6 shown in FIG. 1 .
  • the address operation block 41 performs address operation based on the address information ADD 1 , and outputs various control signals ⁇ AWID[3:0], AWADDR[31:0], AWLEN[3:0], AWSIZE[2:0], AWBURST[1:0], AWLOCK[1:0], AWCACHE[3:0], AWPORT[2:0], AWVALID ⁇ for write control to the memory 3 via an alignment adjuster 48 , an address information storage buffer 43 B, and an address channel I/F unit 42 .
  • a signal AWREADY is a signal indicating that the memory 3 has received the various control signals from the address channel I/F unit 42 .
  • the image processing module 2 outputs write data ⁇ WR_DATA[127:0], WR_BL[15:0] ⁇ to the DMAW core part 40 along with a write request signal ⁇ WR_REQ ⁇ requesting write processing.
  • a signal WR_VAL is a reply signal indicating confirmation of reception of the write data from the data format converter 47 C included in the DMAW core part 40 .
  • the data format converter 47 C and a data bus width converter 47 A respectively convert a data format and a data bus width of the write data, a multiplexer 49 performs selection processing, and a clock transfer buffer 46 switches the clock (from the bus clock CLK-B to the device clock CLK-D).
  • the data format converter 47 C and the multiplexer 49 operate based on data stored in the data format conversion-related register 34 .
  • a write data signal group ⁇ WID[3:0], WDATA[127:0], WSTRB[15:0], WLAST, WVALID ⁇ is output to the memory 3 via the data channel I/F unit 44 .
  • a signal WREADY is a signal indicating that the memory 3 has received the write data signal group from the address channel I/F unit 44 .
  • the image processing module 2 also outputs, to the DMAW core part 40 , a signal FLUSH indicating forced termination and a signal BANK_END_FLUSH indicating forced termination of a bank currently being accessed and access to a subsequent bank.
  • the memory 3 outputs a write auxiliary signal group ⁇ BID[3:0], BRESP[1:0], BVALID ⁇ for post-processing after write processing to the DMAW core part 40 via the data channel I/F unit 44 .
  • a signal BREADY is a signal indicating that the data channel I/F unit 44 has received the write auxiliary signal group form the memory 3 .
  • the memory access controller 7 included in the DMAW 30 shown in FIG. 1 is constituted from the DMAW core part 40 as described above.
  • the DMAW 30 included in the DMAC 1 in the preferred embodiment includes the dynamic bank DMA-I/F unit 31 and the address operation-related register 33 that serve as an input/output port including an input part for the address information ADD 2 and the addressing request signal REQ 2 , and an output part for the reply signal VAL 2 , as with the DMAR 10 .
  • the dynamic bank DMA-I/F unit 31 and the address operation-related register 33 are capable of performing signal input/output control processing of outputting, in response to the addressing request signal REQ 2 , the reply signal VAL 2 indicating valid reception of the address information ADD 2 to the image processing module 2 when the address information ADD 2 is validly received.
  • the memory access controller (DMAW core part 40 ) included in the DMAW 30 can therefore perform memory access processing based on the address information ADD 1 input via the dynamic bank DMA-I/F unit 31 and the address operation-related register 33 . Since the DMAW 30 is not required to include storages for storing therein a plurality of pieces of the address information ADD 2 (ADD 1 ), a circuit size can be reduced, as with the DMAR 10 .
  • the image processing module 2 can perform write processing of sequentially writing data pieces to the memory 3 by switching a storage area to be accessed by the image processing module 2 through change of the address information ADD 2 . Consequently, the DMAW 30 in the preferred embodiment can continuously perform data transfer between the memory 3 and the image processing module 2 in write processing with respect to a desired storage area in the memory 3 as the storage area to be accessed, without intervention of the CPU 4 . A load put on the CPU 4 can be reduced significantly.
  • the DMAC 1 in the preferred embodiment includes the DMAR 10 as a first data transfer controller that controls read transfer processing in response to the read request signal (RD_REQ), and the DMAW 30 as a second data transfer controller that controls write transfer processing in response to the write request signal (WR_REQ).
  • the DMAR 10 and the DMAW 30 each include the input/output port (the dynamic bank DMA-I/F unit 11 +address operation-related register 13 and the dynamic bank DMA-I/F unit 31 +the address operation-related register 33 ) for use in communicating with the image processing module 2 , and the memory access controller (the DMAR core part 20 and the DMAW core part 40 ) independently of each other.
  • the DMAR 10 and the DMAW 30 constituting the DMAC 1 can perform read processing and write processing between the memory 3 and the DMAR core part 20 in parallel with each other.
  • the address information ADD 2 output from the image processing module 2 includes repeat control information ⁇ RPT_X_EN, RPT_Y_EN, RPT_Z_EN, RPT_X[23:0], RPT_Y[15:0], RPT_Z[15:0], OFS_X[23:0], OFS_Y[23:0], OFS_Z[23:0] ⁇ for repeat processing.
  • the DMAR 10 (DMAW 30 ) can thus perform various types of repeat transfer processing based on the repeat control information.
  • FIG. 5 schematically shows repeat X transfer processing.
  • the repeat X transfer processing is processing to conduct DMA transfer from a start address SAD 1 (START_ADR[31:0]) to an end address EAD 1 (END_ADR[31:0]) while repeating processing to add, after transfer of data of ⁇ RPT_X ⁇ bytes, an additional offset ⁇ OFS_X ⁇ (bytes) to an offset address, and to transfer data of ⁇ RPT_X ⁇ bytes again.
  • the repeat X transfer processing can be performed with respect to a repeat transfer area 81 in the memory 3 as an area to be accessed.
  • FIG. 6 schematically shows repeat Y transfer processing.
  • the repeat Y transfer processing is processing to conduct DMA transfer from a start address SAD 2 (START_ADR[31:0]) to an end address EAD 2 (END_ADR[31:0]) while repeating processing to add an additional offset ⁇ OFS_Y ⁇ (bytes) to an offset address after the repeat X transfer processing shown in FIG. 5 is repeatedly performed ⁇ RPT_Y ⁇ times.
  • the repeat Y transfer processing can be performed with respect to a repeat transfer area 82 in the memory 3 as an area to be accessed.
  • FIG. 7 schematically shows repeat Z transfer processing.
  • the repeat Z transfer processing is processing to conduct DMA transfer from a start address SAD 3 (START_ADR[31:0]) to an end address EAD 3 (END_ADR[31:0]) while repeating processing to add an additional offset ⁇ OFS_Z ⁇ (bytes) to an offset address after the repeat Y transfer processing is repeatedly performed ⁇ RPT_Z ⁇ times.
  • the repeat Z transfer processing can be performed with respect to a repeat transfer area 83 in the memory 3 as an area to be accessed.
  • the address information ADD 2 output from the image processing module 2 includes the above-mentioned repeat control signal group as an access order indication signal indicating an access order in the storage area to be accessed.
  • the memory access controller included in the DMAC 1 can perform memory access processing of accessing the repeat transfer areas 81 - 83 as storage areas to be accessed in accordance with the access order indicated by the above-mentioned repeat control signal group.
  • the DMAC 1 in the preferred embodiment can perform memory access processing of accessing storage areas to be accessed in the memory 3 in accordance with various access orders.
  • the memory-containing device 8 shown in FIG. 1 may be implemented as various devices including a digital camera and a smartphone.
  • a memory-containing device can be obtained by mounting, at least on the same substrate, the DMAC 1 (DMAR 10 +DMAW 30 ) in the preferred embodiment and a memory to/from which data is transferred from/to a predetermined module through control performed by the DMAC 1 .
  • Such a memory-containing device allows for DMA data transfer between the memory 3 and the predetermined module without intervention of a controller such as a CPU while achieving reduction in device size.
  • the memory 3 is provided outside of the DMAC 1 as shown in FIG. 1 .
  • the DMAC 1 may be a memory-containing DMAC incorporating therein a memory function.

Abstract

An image processing module input/output port in a DMAC includes an input part which receives second address information and an addressing request signal from an image processing module and an output part which outputs a reply signal indicating valid reception of the second address information to the image processing module. The image processing module input/output port can perform signal input/output control processing of returning, in response to the addressing request signal, the reply signal indicating confirmation of valid reception of the second address information to the image processing module when valid reception of the second address information is confirmed. A memory access controller performs memory access processing of accessing a storage area to be accessed in a memory based on the first address information (=the second address information) received via the image processing module input/output port.

Description

    BACKGROUND OF THE INVENTION
  • 1. Field of the Invention
  • The present invention relates to a data transfer control device that conducts data transfer between a module, such as an image processing module, and a memory.
  • 2. Description of the Background Art
  • A direct memory access (DMA) controller disclosed in Japanese Patent No. 4677581 is an example of a conventional data transfer control device that conducts data transfer between a module, such as an image processing module, and a memory.
  • The DMA controller disclosed in Japanese Patent No. 4677581 prepares, in four registers, two pairs of a start address and an end address of a main memory. Two selectors perform switching between a start address A of a storage area A of the main memory and a start address B of a storage area B of the main memory, and between an end address A of the storage area A and an end address B of the storage area B. An address counter increases a value of the start address of one of the pairs one by one to generate a destination address, and outputs the destination address to an arbiter. The arbiter controls a memory control circuit so that DMA transfer is conducted with respect to the destination address of the main memory. As a result, the DMA controller that reduces a load put on a CPU and improves a DMA transfer rate is provided.
  • FIG. 8 is a block diagram schematically showing configuration of conventional DMA transfer achieved, for example, by the DMA controller disclosed in Japanese Patent No. 4677581.
  • As shown in FIG. 8, data transfer between an image processing module 62 (a predetermined module) and a memory 63 is conducted via a DMA controller (DMAC) 61. In this case, a CPU 64 performs pre-setting processing of providing the DMAC 61 with address information indicating details of data transfer between the image processing module 62 and the memory 63 prior to the data transfer between the image processing module 62 and the memory 63 via the DMAC 61 (hereinafter, also simply referred to as “DMA data transfer”). The DMAC 61 controls the DMA data transfer based on the address information.
  • The address information indicates a storage area to be accessed typically by a start address and an end address (or information on the amount of data to be accessed) of the storage area to be accessed. The storage area, in the memory 63, from the start address to the end address to be accessed is herein referred to as a bank.
  • FIG. 9 schematically shows a plurality of banks BK0-BK2 in the memory 63. As shown in FIG. 9, the banks BK0-BK2 as storage areas to be accessed in the memory 63 can be designated by setting start addresses BST0-BST2 and end addresses BED0-BED2 as the address information.
  • When DMA data transfer is conducted in the order of the banks BK0, BK1, and BK2, for example, the CPU 64 performs address pre-setting processing of outputting address information {(BST0, BED0), (BST1, BED1), (BST2, BED2)} to the DMAC 61 prior to the DMA data transfer.
  • In the above-mentioned case, the DMAC 61 is required to store therein three pieces of address information specifying respective banks (pairs of a start address BSTi (i=0-2) and an end address BEDi), and is thus required to have the same number of storage areas for storing the address information as the number of banks targeted for the DMA data transfer.
  • Furthermore, a case where the image processing module 62 performs read processing of reading data from the bank BK0, which is accessed first, performs arithmetic processing based on the read data, and determines a start address of the bank BK1, which is accessed next, from the results of the arithmetic processing is considered.
  • In this case, the CPU 64 is required to perform a first address pre-setting processing of setting address information regarding the bank BK0, and, after DMA data transfer (the read processing performed by the image processing module 62) is conducted with respect to the bank BK0, to perform a second address pre-setting processing of setting address information regarding the bank BK1 based on the results of the arithmetic processing performed by the image processing module 62.
  • As set forth above, conventional DMA transfer achieved as described above has a problem in that a relatively high load is put on the CPU due to the need for intervention of the CPU.
  • There is also a problem of an increase in circuit size as the DMA controller is required to include storages for storing therein a plurality of pieces of address information so that the DMA controller can store therein the largest possible number of pieces of address information in order for the CPU to perform address pre-setting processing without any difficulty.
  • SUMMARY OF THE INVENTION
  • An object of the present invention is to provide a data transfer control device with a reduced circuit size and a reduced load on a CPU.
  • A data transfer control device according to the present invention is a data transfer control device that controls data transfer between a memory and a predetermined module, the predetermined module outputting an address signal group and an addressing request signal, the address signal group including a start address of a storage area to be accessed in the memory, the addressing request signal indicating a request for output of the address signal group, the data transfer control device including: an input/output port for use in communicating with the predetermined module, the input/output port including an input part which receives the address signal group and the addressing request signal and an output part which outputs an address valid signal indicating valid reception of the address signal group, the input/output port being capable of performing signal input/output control processing of outputting, in response to the addressing request signal, the address valid signal to the predetermined module when the address signal group is validly received; and a memory access controller performing memory access processing of accessing the storage area to be accessed in the memory based on the address signal group input via the input/output port.
  • In the transfer control device according to the present invention, the input/output port that includes the input part and the output part is capable of performing the signal input/output control processing of outputting, in response to the addressing request signal, the address valid signal indicating valid reception of the address signal group to the predetermined module when the address signal group is validly received.
  • The memory access controller included in the data transfer control device can therefore perform the memory access processing based on address signal groups sequentially input via the input/output port. Since the data transfer control device is not required to include storages for storing therein a plurality of address signal groups, a circuit size can be reduced.
  • In addition, since the predetermined module outputs different address signal groups sequentially, access to the memory can be achieved while switching a storage area to be accessed. Consequently, in the present invention, data transfer between the memory and the predetermined module can always be conducted with respect to a desired storage area as the storage area to be accessed, without intervention of the controller such as a CPU. A load put on the controller, such as the CPU, can be reduced significantly.
  • As a result, processing of frequently interrupting the CPU through memory access control is reduced, and thus the CPU can concentrate on other HW (HardWare) resources, leading to improvement of performance of a whole system.
  • These and other objects, features, aspects and advantages of the present invention will become more apparent from the following detailed description of the present invention when taken in conjunction with the accompanying drawings.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • FIG. 1 is a block diagram showing configuration of a DMAC as a data transfer control device in a preferred embodiment of the present invention and configuration of peripheral devices;
  • FIG. 2 is a block diagram showing a detail of internal configuration of a DMAR in the preferred embodiment;
  • FIG. 3 is a block diagram schematically showing signal input control processing of inputting address information performed by a dynamic bank DMA-I/F unit in the preferred embodiment;
  • FIG. 4 is a block diagram showing a detail of internal configuration of a DMAW in the preferred embodiment;
  • FIG. 5 schematically shows repeat X transfer processing;
  • FIG. 6 schematically shows repeat Y transfer processing;
  • FIG. 7 schematically shows repeat Z transfer processing;
  • FIG. 8 is a block diagram schematically showing configuration of conventional DMA transfer; and
  • FIG. 9 schematically shows a plurality of banks in a memory shown in FIG. 8.
  • DESCRIPTION OF THE PREFERRED EMBODIMENT Preferred Embodiment
  • (Overall Configuration)
  • FIG. 1 is a block diagram showing configuration of a DMA controller (DMAC) as a data transfer control device in a preferred embodiment of the present invention and configuration of peripheral devices.
  • As shown in FIG. 1, a memory-containing device 8 (a memory-containing device) includes a DMAC 1 in the preferred embodiment as well as an image processing module 2 (a predetermined module), a memory 3, and a CPU 4. The DMAC 1, the image processing module 2, the memory 3, and the CPU 4 are mounted on the same substrate. The DMAC 1 in the preferred embodiment controls data transfer between the memory 3 and the image processing module 2.
  • The image processing module 2 outputs address information ADD2 and an addressing request signal REQ2 to the DMAC 1. The address information ADD2 is an address signal group including a start address and an end address of a storage area to be accessed in the memory 3 in read processing and write processing. The addressing request signal REQ2 indicating a request for output of the address information ADD2.
  • The DMAC 1 includes an image processing module input/output port 6 that is an input/output port for used in communicating with the image processing module 2. The image processing module input/output port 6 includes an input part which receives the address information ADD2 and the addressing request signal REQ2, and an output part which outputs a reply signal VAL2 (an address valid signal) indicating valid reception of the address information ADD2.
  • FIG. 1 shows the image processing module 2 and the DMAC 1 corresponding to the image processing module 2. When the memory-containing device 8 further includes other modules, such as a display module, a module for external USB connection, and a module for a memory card, a DMAC is provided for each of the modules. That is to say, when the memory-containing device 8 includes a plurality of modules, a plurality of DMACs corresponding to respective modules are provided, and the memory 3 and the CPU 4 are shared among the plurality of DMACs. In this case, the plurality of DMACs each have equivalent functions to the DMAC 1, which is described in detail below.
  • The following describes operations performed in first configuration in which the image processing module input/output port 6 includes therein no storage, such as a register.
  • In this case, the address information ADD2 and the request signal REQ2 acquired from the image processing module 2 are respectively output as address information ADD1 (=ADD2) and a request signal REQ1 (=REQ2) to a memory access controller 7 via the image processing module input/output port 6. The memory access controller 7 outputs, in response to the request signal REQ1 (=REQ2), a reply signal VAL1 indicating valid reception of the address information ADD1 (=ADD2) as the reply signal VAL2 to the image processing module 2 via the image processing module input/output port 6 when the address information ADD1 (=ADD2) is validly received.
  • In the first configuration, the image processing module input/output port 6 is capable of performing signal input/output control processing of receiving, as input, the address information ADD2 and the request signal REQ2, and returning, in response to the addressing request signal REQ2, the reply signal VAL2 (=VAL1) indicating valid reception of the address information ADD1 (=ADD2) to the image processing module 2 when the reply signal VAL1 is received from the memory access controller 7 i.e., when valid reception of the address information ADD1 (=ADD2) is confirmed.
  • Next, the following describes operations performed in second configuration in which the image processing module input/output port 6 includes therein a storage, such as a register.
  • In this case, the address information ADD2 and the request signal REQ2 output from the image processing module 2 are input into the image processing module input/output port 6. The image processing module input/output port 6 outputs, in response to the request signal REQ2, the reply signal VAL2 indicating valid reception (valid storage) of the address information ADD2 to the image processing module 2 when the image processing module input/output port 6 includes a free storage therein, and the address information ADD2 is validly received (stored).
  • In the second configuration, the image processing module input/output port 6 is capable of performing signal input/output control processing of receiving, as input, the address information ADD2 and the request signal REQ2, and returning, in response to the addressing request signal REQ2, the reply signal VAL2 indicating valid reception of the address information ADD2 to the image processing module 2 when valid reception of the address information ADD2 is confirmed.
  • The memory access controller 7 performs memory access processing of receiving the address information ADD2 output from the image processing module 2 as the address information ADD1 (=ADD2) via the image processing module input/output port 6, and accessing a storage area to be accessed in the memory 3 based on the address information ADD1.
  • In the preferred embodiment, the DMAC 1 includes a DMAR 10 for read processing and a DMAW 30 for write processing as described in detail later. The DMAR 10 and the DMAW 30 each include the image processing module input/output port 6 and the memory access controller 7 shown in FIG. 1 independently of each other.
  • (DMAR 10)
  • FIG. 2 is a block diagram showing a detail of internal configuration of the DMAR 10. As shown in FIG. 2, the DMAR 10 included in the DMAC 1 in the preferred embodiment controls DMA data transfer, which is data transfer between the memory 3 and the image processing module 2 in reading data from the memory 3.
  • The image processing module 2 outputs, to a dynamic bank DMA-I/F unit 11, information {RPT_X_EN, RPT_Y_EN, RPT_Z_EN, REV_EN, START_ADR[31:0], END_ADR[31:0], RPT_X[23:0], RPT_Y[15:0], RPT_Z[15:0], OFS_X[23:0], OFS_Y[23:0], OFS_Z[23:0]} as the address information ADD2, which is an address signal group including a start address and an end address of a storage area to be accessed in the memory 3 in read processing. The dynamic bank DMA-I/F unit 11 corresponds to part of the image processing module input/output port 6 shown in FIG. 1.
  • The image processing module 2 further outputs a signal {REG_WR_REQ} as the addressing request signal REQ2 to the dynamic bank DMA-I/F unit 11. A signal DYNBANK_START is a signal indicating start of transfer in a dynamic bank mode, and a signal DYNBANK_STOP is a signal indicating forced termination of transfer in the dynamic bank mode. [X:0] means bit groups 0-X of (X+1) bits.
  • The dynamic bank DMA-I/F unit 11 includes an input part which receives the address information ADD2 and the addressing request signal REQ2, and an output part which outputs a reply signal VAL2 {REG_WR_VAL} indicating valid reception of the address information ADD2.
  • The dynamic bank DMA-I/F unit 11 is capable of performing signal input/output control processing of outputting, in response to the addressing request signal REQ2, the reply signal VAL2 indicating valid reception of the address information ADD2 to the image processing module 2 when the address information ADD2 is validly received.
  • In addition to the above-mentioned dynamic bank DMA-I/F unit 11, the DMAR 10 includes a basic register 12, an address operation-related register 13, a data format conversion-related register 14, a CPU-I/F block 15, and a DMAR core part 20.
  • The DMAR 10 in the preferred embodiment performs DMA data transfer processing in the dynamic bank mode when start of transfer in the dynamic bank mode is indicated by the signal DYNBANK_START. The following describes configuration of the DMAR 10, in particular, configuration of the DMAR 10 related to the above-mentioned feature.
  • The dynamic bank DMA-I/F unit 11 outputs the address information ADD2 received from the image processing module 2 to the address operation-related register 13. In this case, an operation clock is switched from a device clock CLK-D for the image processing module 2 to a bus clock CLK-B for the DMAR 10.
  • In the dynamic bank mode, the address operation-related register 13 temporarily stores the above-mentioned address information ADD2 received via the dynamic bank DMA-I/F unit 11, and transfers the address information ADD2 as the address information ADD1 to an address operation block 21 included in the DMAR core part 20. The address operation-related register 13 and the above-mentioned dynamic bank DMA-I/F unit 11 constitute the image processing module input/output port 6 shown in FIG. 1.
  • The address operation block 21 performs address operation based on the address information ADD1, and outputs various control signals {ARID[3:0], ARADDR[31:0], ARLEN[3:0], ARSIZE[2:0], ARBURST[1:0], ARLOCK[1:0], ARCACHE[3:0], ARPORT[2:0], ARVALID} for read control to the memory 3 via an address channel I/F unit 22. A signal ARREADY is a signal indicating that the memory 3 has received the various control signals from the address channel I/F unit 22.
  • The memory 3 outputs, in response to the above-mentioned control signals, a read data signal group {RID[3:0], RDATA[127:0], RRESP[1:0], RLAST, RVALID} to a data rearrangement buffer 25 via a data channel I/F unit 24. A signal RREADY is a signal indicating that the data channel I/F unit 24 has received the read data group from the memory 3.
  • An address information storage buffer 23 stores therein address information used by the address channel I/F unit 22 and the data channel I/F unit 24.
  • Data pieces read from the memory 3 are rearranged by the data rearrangement buffer 25 as necessary via the data channel I/F unit 24, and a clock transfer buffer 26 switches a clock (from the bus clock CLK-B to the device clock CLK-D). Then, a data bus width converter 27A converts a data bus, a data alignment converter 27B converts data alignment, a data format converter 27C converts data format, and a multiplexer 29 outputs read data {RD_DATA[127:0], RD_BL[15:0]} and the like. Signals RD_REQ and RD_VAL are respectively a read request signal output from the image processing module 2 and a reply signal output from the multiplexer 29 to the image processing module 2. The data format converter 27C and the multiplexer 29 operate based on data stored in the data format conversion-related register 14.
  • The memory access controller 7 included in the DMAR 10 shown in FIG. 1 is constituted mainly from the DMAR core part 20 as described above.
  • The CPU-I/F block 15 receives address information ADD4 {PADDR[11:0], PSEL, PENABLE, PWRITE, PWDATA[31:0]}, which are address information output from the CPU 4 used in a normal bank mode, and outputs the received address information ADD4 to the address operation-related register 13. A signal PRDATA[31:0] is data read from the DMAR 10 to the CPU 4.
  • In the normal bank mode, the address operation-related register 13 temporarily stores the address information ADD4, and transfers the address information ADD4 as the address information ADD1 to the address operation block 21 included in the DMAR core part 20.
  • The basic register 12 is a register for data transfer between the CPU-I/F block 15 and the DMAR core part 20. A signal INT_O is an interrupt signal.
  • FIG. 3 is a block diagram schematically showing signal input control processing of inputting the address information ADD2 performed by the dynamic bank DMA-I/F unit 11 and the like in the preferred embodiment.
  • (In Dynamic Bank Mode)
  • The following describes the signal input control processing performed by the DMAR 10 in the dynamic bank mode. When the image processing module 2 accesses the memory 3, for example, through read processing or write processing, the image processing module 2 outputs, to the dynamic bank DMA-I/F unit 11, the address information ADD2 indicating a storage area to be accessed in the memory 3 and the addressing request signal REQ2 requesting output of the address information ADD2.
  • The following describes operations performed in the first configuration in which the dynamic bank DMA-I/F unit 11 and the address operation-related register 13, which constitute the image processing module input/output port 6, include therein no storage, such as a register.
  • The addressing request signal REQ2 is input into the address operation-related register 13 via the dynamic bank DMA-I/F unit 11, and the address operation-related register 13 outputs the request signal REQ2 to the DMAR core part 20 as the addressing request signal REQ1 (=REQ2). The DMAR core part 20 (the address operation block 21) outputs, in response to the addressing request signal REQ1, the reply signal VAL1 indicating valid reception of the address information ADD1 when valid reception of the address information ADD1 (=ADD2) is confirmed.
  • The reply signal VAL1 is transferred as the reply signal VAL2 to the image processing module 2 via the address operation-related register 13 and the dynamic bank DMA-I/F unit 11. As a result, the image processing module 2 can output, in response to the reply signal VAL2 (=VAL1), new address information ADD2 that is different from current address information ADD2.
  • In order to conduct data transfer between the image processing module 2 and the DMAR 10 smoothly, the dynamic bank DMA-I/F unit 11 and the address operation-related register 13 may include therein a plurality of FIFO signal storages. In FIG. 3, the dynamic bank DMA-I/F unit 11 includes two partial registers 11 a and 11 b that are connected in series, and the address operation-related register 13 includes four partial registers 13 a-13 d that are connected in series, as shown by dotted lines.
  • Next, the following describes operations performed in the second configuration in which the dynamic bank DMA-I/F unit 11 and the address operation-related register 13, which constitute the image processing module input/output port 6, include therein a storage, such as a register.
  • In the second configuration, after normal storage of the address information ADD2 in the partial register 11 a at the initial stage is confirmed by the dynamic bank DMA-I/F unit 11 alone, the dynamic bank DMA-I/F unit 11 can return, in response to the addressing request signal REQ2, the reply signal VAL2 indicating normal storage (valid reception) of the address information ADD2. In this case, the address information ADD2 is stored in the partial register 11 a.
  • Similarly, after normal storage of the address information ADD2 in the partial register 13 a at the initial stage is confirmed, the address operation-related register 13 can return, in response to the addressing request signal REQ2 output from the dynamic bank DMA-I/F unit 11, the reply signal VAL2 indicating normal storage to the dynamic bank DMA-I/F unit 11. In this case, the address information ADD2 output from the partial register 11 b at the last stage of the dynamic bank DMA-I/F unit 11 is stored as the address information ADD1 in the partial register 13 a at the initial stage of the address operation-related register 13. When the address operation-related register 13 stores the address information ADD1 in the partial register 13 d at the last stage, the address operation-related register 13 outputs the request signal REQ1 indicating a request for output of the address information ADD1 to the DMAR core part 20.
  • As described above, by including therein FIFO signal storages, the dynamic bank DMA-I/F unit 11 and the address operation-related register 13 can receive the address information ADD2 output from the image processing module 2 more smoothly.
  • (In Normal Bank Mode)
  • The following describes the signal input/output control processing performed by the DMAR 10 in the normal bank mode. In order to perform the address pre-setting processing prior to DMA data transfer between the image processing module 2 and the memory 3, the CPU 4 outputs the address information ADD4 to the address operation-related register 13 via the CPU-I/F block 15 along with an addressing request signal REQ4. As a result, the address information ADD4 is stored in the address operation-related register 13 as the address information ADD1.
  • When the address operation-related register 13 includes therein four FIFO partial registers 13 a-13 d as shown in FIG. 3, the address information ADD1 (=ADD4) for four banks can be stored in the address pre-setting processing.
  • When the address operation-related register 13 stores the address information ADD1 in the partial register 13 d at the last stage, the address operation-related register 13 outputs the addressing request signal REQ1 to the DMAR core part 20. The DMAR core part 20 (the address operation block 21) outputs, in response to the addressing request signal REQ1, the reply signal VAL1 indicating valid reception of the address information ADD1 when valid reception of the address information ADD1 is confirmed.
  • The address operation-related register 13 can output, in response to the reply signal VAL1, next address information ADD1 (address information ADD1 transferred from the partial register 13 c to the partial register 13 d) to the DMAR core part 20. In the normal bank mode, the reply signal VAL1 may be returned to the CPU 4 via the CPU-I/F block 15 as in the first configuration in the dynamic bank mode.
  • As described above, the DMAR 10 included in the DMAC 1 in the preferred embodiment includes the dynamic bank DMA-I/F unit 11 that serves as an input/output port including an input part for the address information ADD2 and the addressing request signal REQ2, and an output part for the reply signal VAL2. In the dynamic bank mode, the dynamic bank DMA-I/F unit 11 performs the signal input/output control processing of outputting, in response to the addressing request signal REQ2, the reply signal VAL2 indicating valid reception of the address information ADD2 to the image processing module 2 when the address information ADD2 is validly received.
  • The memory access controller 7 included in the DMAR 10 can therefore perform the memory access processing of accessing the memory 3 based on pieces of the address information ADD2 sequentially input via the dynamic bank DMA-I/F unit 11. Since the DMAR 10 is not required to include storages for storing therein a plurality of pieces of the address information ADD2 (ADD1), a circuit size can be reduced.
  • For example, in the first configuration in which the dynamic bank DMA-I/F unit 11 and the address operation-related register 13 include no storage therein, the dynamic bank DMA-I/F unit 11 and the address operation-related register 13 can perform the above-mentioned signal input/output control processing, and can thus sequentially receive pieces of the address information ADD2 output from the image processing module 2 as pieces of the address information ADD1 and output the pieces of the address information pieces ADD1 to the DMAR core part 20.
  • Conventional DMA transfer has the problem of the increase in circuit size as the DMA controller is required to include therein storages for setting a plurality of (N) addresses in order for the CPU to perform pre-setting processing to reduce dependence on the CPU by 1/N. The DMAR 10 in the preferred embodiment can solve the problem.
  • In addition, in the dynamic bank mode of the DMAR 10, the image processing module 2 can perform read processing of sequentially reading data pieces from the memory 3 by switching a storage area to be accessed by the image processing module 2 through change of the address information ADD2. Consequently, the DMAR 10 in the preferred embodiment can continuously perform data transfer between the memory 3 and the image processing module 2 in read processing with respect to a desired storage area in the memory 3 as the storage area to be accessed, without intervention of the CPU 4. A load put on the CPU 4 can be reduced significantly.
  • Conventional DMA transfer has a problem in that address setting to the DMA controller is achieved by interrupt processing to the CPU, and, due to the need for intervention of the CPU (software processing), hardware performance cannot sufficiently be achieved by dependence on the software processing. The DMAR 10 in the preferred embodiment can also solve the problem.
  • As a result, memory access control processing of frequently interrupting the CPU 4 is reduced, and thus the CPU 4 can concentrate on other HW resources, leading to improvement of performance of a whole system.
  • Furthermore, the dynamic bank DMA-I/F unit 11 includes the partial registers 11 a and 11 b (signal storages) that hold the address information ADD2 in FIFO. Similarly, the address operation-related register 13 includes the partial registers 13 a-13 d (signal storages). The dynamic bank DMA-I/F unit 11 and the address operation-related register 13 can take in at least one (two and four, respectively, in the example of FIG. 3) piece of the address information ADD2 from the image processing module 2 in advance, and thus a stand-by time during output of the address information ADD2 and the addressing request signal REQ2 from the image processing module 2 can effectively be reduced.
  • (DMAW 30)
  • FIG. 4 is a block diagram showing a detail of internal configuration of the DMAW 30. As shown in FIG. 4, the DMAW 30 included in the DMAC 1 in the preferred embodiment controls data transfer between the memory 3 and the image processing module 2 in writing data to the memory 3.
  • The DMAW 30 is different from the DMAR 10 in that the DMAW 30 controls data transfer in write processing in place of read processing. Basic operation of the DMAW 30, however, is similar to that of the DMAR 10, and thus description of the similar operation is omitted as appropriate.
  • The image processing module 2 outputs, to a dynamic bank DMA-I/F unit 31, information {RPT_X_EN, RPT_Y_EN, RPT_Z_EN, REV_EN, START_ADR[31:0], END_ADR[31:0], RPT_X[23:0], RPT_Y[15:0], RPT_Z[15:0], OFS_X[23:0], OFS_Y[23:0], OFS_Z[23:0]} as the address information ADD2, which is an address signal group including a start address and an end address of a storage area to be accessed in the memory 3 in write processing. The dynamic bank DMA-I/F unit 31 corresponds to part of the image processing module input/output port 6 shown in FIG. 1.
  • The image processing module 2 further outputs a signal {REG_WR_REQ} as the addressing request signal REQ2 to the dynamic bank DMA-I/F unit 31.
  • The dynamic bank DMA-I/F unit 31 includes an input part which receives the address information ADD2 and the addressing request signal REQ2, and an output part which outputs a reply signal VAL2 {REG_WR_VAL} indicating confirmation of reception of the address information ADD2.
  • The dynamic bank DMA-I/F unit 31 is capable of performing signal input/output control processing of outputting, in response to the addressing request signal REQ2, the reply signal VAL2 indicating valid reception of the address information ADD2 to the image processing module 2 when the address information ADD2 is validly received, as with the dynamic bank DMA-I/F unit 11 included in the DMAR 10.
  • In addition to the above-mentioned dynamic bank DMA-I/F unit 31, the DMAW 30 includes a basic register 32, an address operation-related register 33, a data format conversion-related register 34, a CPU-I/F block 35, and a DMAW core part 40.
  • Regarding the relationship between the DMAW 30 and the DMAR 10, the basic register 32, the address operation-related register 33, the data format conversion-related register 34, and the CPU-I/F block 35 respectively correspond to the basic register 12, the address operation-related register 13, the data format conversion-related register 14, and the CPU-I/F block 15, and perform similar operation to the corresponding components of the DMAR 10. The DMAW core part 40 corresponds to the DMAR core part 20 included in the DMAR 10.
  • The DMAW 30 in the preferred embodiment performs DMA data transfer processing in the dynamic bank mode, as with the DMAR 10. The following describes configuration of the DMAW 30, in particular, configuration of the DMAW 30 related to the above-mentioned feature.
  • The dynamic bank DMA-I/F unit 31 outputs the address information ADD2 received from the image processing module 2 to the address operation-related register 33. In this case, the operation clock is switched from the device clock CLK-D for the image processing module 2 to the bus clock CLK-B for the DMAW 30.
  • In the dynamic bank mode, the address operation-related register 33 temporarily stores the above-mentioned address information ADD2, and transfers the address information ADD2 as the address information ADD1 to an address operation block 41 included in the DMAW core part 40. The address operation-related register 33 and the above-mentioned dynamic bank DMA-I/F unit 31 constitute the image processing module input/output port 6 shown in FIG. 1.
  • The address operation block 41 performs address operation based on the address information ADD1, and outputs various control signals {AWID[3:0], AWADDR[31:0], AWLEN[3:0], AWSIZE[2:0], AWBURST[1:0], AWLOCK[1:0], AWCACHE[3:0], AWPORT[2:0], AWVALID} for write control to the memory 3 via an alignment adjuster 48, an address information storage buffer 43B, and an address channel I/F unit 42. A signal AWREADY is a signal indicating that the memory 3 has received the various control signals from the address channel I/F unit 42.
  • The image processing module 2 outputs write data {WR_DATA[127:0], WR_BL[15:0]} to the DMAW core part 40 along with a write request signal {WR_REQ} requesting write processing. A signal WR_VAL is a reply signal indicating confirmation of reception of the write data from the data format converter 47C included in the DMAW core part 40.
  • The data format converter 47C and a data bus width converter 47A respectively convert a data format and a data bus width of the write data, a multiplexer 49 performs selection processing, and a clock transfer buffer 46 switches the clock (from the bus clock CLK-B to the device clock CLK-D). The data format converter 47C and the multiplexer 49 operate based on data stored in the data format conversion-related register 34.
  • After the alignment adjuster 48 adjusts alignment, and then a data rearrangement buffer 45 rearranges data pieces, a write data signal group {WID[3:0], WDATA[127:0], WSTRB[15:0], WLAST, WVALID} is output to the memory 3 via the data channel I/F unit 44. A signal WREADY is a signal indicating that the memory 3 has received the write data signal group from the address channel I/F unit 44.
  • The image processing module 2 also outputs, to the DMAW core part 40, a signal FLUSH indicating forced termination and a signal BANK_END_FLUSH indicating forced termination of a bank currently being accessed and access to a subsequent bank.
  • The memory 3 outputs a write auxiliary signal group {BID[3:0], BRESP[1:0], BVALID} for post-processing after write processing to the DMAW core part 40 via the data channel I/F unit 44. A signal BREADY is a signal indicating that the data channel I/F unit 44 has received the write auxiliary signal group form the memory 3.
  • The memory access controller 7 included in the DMAW 30 shown in FIG. 1 is constituted from the DMAW core part 40 as described above.
  • As described above, the DMAW 30 included in the DMAC 1 in the preferred embodiment includes the dynamic bank DMA-I/F unit 31 and the address operation-related register 33 that serve as an input/output port including an input part for the address information ADD2 and the addressing request signal REQ2, and an output part for the reply signal VAL2, as with the DMAR 10. The dynamic bank DMA-I/F unit 31 and the address operation-related register 33 are capable of performing signal input/output control processing of outputting, in response to the addressing request signal REQ2, the reply signal VAL2 indicating valid reception of the address information ADD2 to the image processing module 2 when the address information ADD2 is validly received.
  • The memory access controller (DMAW core part 40) included in the DMAW 30 can therefore perform memory access processing based on the address information ADD1 input via the dynamic bank DMA-I/F unit 31 and the address operation-related register 33. Since the DMAW 30 is not required to include storages for storing therein a plurality of pieces of the address information ADD2 (ADD1), a circuit size can be reduced, as with the DMAR 10.
  • In addition, in the dynamic bank mode of the DMAW 30, the image processing module 2 can perform write processing of sequentially writing data pieces to the memory 3 by switching a storage area to be accessed by the image processing module 2 through change of the address information ADD2. Consequently, the DMAW 30 in the preferred embodiment can continuously perform data transfer between the memory 3 and the image processing module 2 in write processing with respect to a desired storage area in the memory 3 as the storage area to be accessed, without intervention of the CPU 4. A load put on the CPU 4 can be reduced significantly.
  • As a result, memory access control processing of frequently interrupting the CPU 4 is reduced, and thus the CPU 4 can concentrate on other HW resources, leading to improvement of performance of a whole system.
  • As described above, the DMAC 1 in the preferred embodiment includes the DMAR 10 as a first data transfer controller that controls read transfer processing in response to the read request signal (RD_REQ), and the DMAW 30 as a second data transfer controller that controls write transfer processing in response to the write request signal (WR_REQ).
  • The DMAR 10 and the DMAW 30 each include the input/output port (the dynamic bank DMA-I/F unit 11+address operation-related register 13 and the dynamic bank DMA-I/F unit 31+the address operation-related register 33) for use in communicating with the image processing module 2, and the memory access controller (the DMAR core part 20 and the DMAW core part 40) independently of each other.
  • The DMAR 10 and the DMAW 30 constituting the DMAC 1 can perform read processing and write processing between the memory 3 and the DMAR core part 20 in parallel with each other.
  • (Repeat Transfer Processing)
  • Both in write processing and read processing, the address information ADD2 output from the image processing module 2 includes repeat control information {RPT_X_EN, RPT_Y_EN, RPT_Z_EN, RPT_X[23:0], RPT_Y[15:0], RPT_Z[15:0], OFS_X[23:0], OFS_Y[23:0], OFS_Z[23:0]} for repeat processing. The DMAR 10 (DMAW 30) can thus perform various types of repeat transfer processing based on the repeat control information.
  • (Repeat X Transfer Processing)
  • FIG. 5 schematically shows repeat X transfer processing. The repeat X transfer processing can be performed by setting a repeat X transfer mode, i.e., {RPT_X_EN=1, RPT_Y_EN=0, RPT_Z_EN=0}, in the address information ADD2.
  • The repeat X transfer processing is processing to conduct DMA transfer from a start address SAD1 (START_ADR[31:0]) to an end address EAD1 (END_ADR[31:0]) while repeating processing to add, after transfer of data of {RPT_X} bytes, an additional offset {OFS_X} (bytes) to an offset address, and to transfer data of {RPT_X} bytes again.
  • As a result, the repeat X transfer processing can be performed with respect to a repeat transfer area 81 in the memory 3 as an area to be accessed.
  • (Repeat Y Transfer Processing)
  • FIG. 6 schematically shows repeat Y transfer processing. The repeat Y transfer processing can be performed by setting a repeat Y transfer mode, i.e., {RPT_X_EN=1, RPT_Y_EN=1, RPT_Z_EN=0}, in the address information ADD2.
  • The repeat Y transfer processing is processing to conduct DMA transfer from a start address SAD2 (START_ADR[31:0]) to an end address EAD2 (END_ADR[31:0]) while repeating processing to add an additional offset {OFS_Y} (bytes) to an offset address after the repeat X transfer processing shown in FIG. 5 is repeatedly performed {RPT_Y} times.
  • As a result, the repeat Y transfer processing can be performed with respect to a repeat transfer area 82 in the memory 3 as an area to be accessed.
  • (Repeat Z Transfer Processing)
  • FIG. 7 schematically shows repeat Z transfer processing. The repeat Z transfer processing can be performed by setting a repeat Z transfer mode, i.e., {RPT_X_EN=1, RPT_Y_EN=1, RPT_Z_EN=1}, in the address information ADD2.
  • The repeat Z transfer processing is processing to conduct DMA transfer from a start address SAD3 (START_ADR[31:0]) to an end address EAD3 (END_ADR[31:0]) while repeating processing to add an additional offset {OFS_Z} (bytes) to an offset address after the repeat Y transfer processing is repeatedly performed {RPT_Z} times.
  • As a result, the repeat Z transfer processing can be performed with respect to a repeat transfer area 83 in the memory 3 as an area to be accessed.
  • As described above, in the preferred embodiment, the address information ADD2 output from the image processing module 2 includes the above-mentioned repeat control signal group as an access order indication signal indicating an access order in the storage area to be accessed.
  • The memory access controller included in the DMAC 1 (the memory access controller 7 (the DMAR core part 20) included in the DMAR 10 and the memory access controller (the DMAW core part 40) included in the DMAW 30) can perform memory access processing of accessing the repeat transfer areas 81-83 as storage areas to be accessed in accordance with the access order indicated by the above-mentioned repeat control signal group.
  • As a result, the DMAC 1 (DMAR 10 and DMAW 30) in the preferred embodiment can perform memory access processing of accessing storage areas to be accessed in the memory 3 in accordance with various access orders.
  • (Memory-containing Device 8)
  • The memory-containing device 8 shown in FIG. 1 may be implemented as various devices including a digital camera and a smartphone. For example, a memory-containing device can be obtained by mounting, at least on the same substrate, the DMAC 1 (DMAR 10+DMAW 30) in the preferred embodiment and a memory to/from which data is transferred from/to a predetermined module through control performed by the DMAC 1.
  • Such a memory-containing device allows for DMA data transfer between the memory 3 and the predetermined module without intervention of a controller such as a CPU while achieving reduction in device size.
  • In the preferred embodiment, the memory 3 is provided outside of the DMAC 1 as shown in FIG. 1. The DMAC 1, however, may be a memory-containing DMAC incorporating therein a memory function.
  • It should be noted that the present invention can be implemented by appropriately making modification or omission to the preferred embodiment without departing from the scope of the present invention.
  • While the invention has been shown and described in detail, the foregoing description is in all aspects illustrative and not restrictive. It is therefore understood that numerous modifications and variations can be devised without departing from the scope of the invention.

Claims (5)

What is claimed is:
1. A data transfer control device that controls data transfer between a memory and a predetermined module, said predetermined module outputting an address signal group and an addressing request signal, the address signal group including a start address of a storage area to be accessed in said memory, the addressing request signal indicating a request for output of said address signal group, said data transfer control device comprising:
an input/output port for use in communicating with said predetermined module, said input/output port including an input part which receives said address signal group and said addressing request signal, and an output part which outputs an address valid signal indicating valid reception of said address signal group, said input/output port being capable of performing signal input/output control processing of outputting, in response to said addressing request signal, said address valid signal to said predetermined module when said address signal group is validly received; and
a memory access controller performing memory access processing of accessing said storage area to be accessed in said memory based on said address signal group input via said input/output port.
2. The data transfer control device according to claim 1, wherein
said memory access processing includes read processing of reading data from said storage area to be accessed in said memory and write processing of writing data to said storage area to be accessed in said memory,
said data transfer control device comprises:
a first data transfer controller performing said read processing; and
a second data transfer controller performing said write processing, and
said first data transfer controller and said second data transfer controller each include said input/output port and said memory access controller independently of each other.
3. The data transfer control device according to claim 1, wherein
said input/output port includes at least one signal storage holding said address signal group and said addressing request signal.
4. The data transfer control device according to claim 1, wherein
said address signal group further includes an access order indication signal indicating an access order in said storage area to be accessed, and
said memory access controller performs said memory access processing of accessing said storage area to be accessed in accordance with the access order indicated by said access order indication signal.
5. A memory-containing device comprising:
the memory; and
the data transfer control device according to claim 1, the data transfer control device controlling data transfer between said memory and the predetermined module.
US14/659,842 2014-03-31 2015-03-17 Data transfer control device and memory-containing device Active 2036-03-21 US9767054B2 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2014-072626 2014-03-31
JP2014072626A JP6294732B2 (en) 2014-03-31 2014-03-31 Data transfer control device and memory built-in device

Publications (2)

Publication Number Publication Date
US20150278113A1 true US20150278113A1 (en) 2015-10-01
US9767054B2 US9767054B2 (en) 2017-09-19

Family

ID=54190576

Family Applications (1)

Application Number Title Priority Date Filing Date
US14/659,842 Active 2036-03-21 US9767054B2 (en) 2014-03-31 2015-03-17 Data transfer control device and memory-containing device

Country Status (2)

Country Link
US (1) US9767054B2 (en)
JP (1) JP6294732B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10725958B1 (en) * 2019-02-08 2020-07-28 Arm Limited System, method and apparatus for enabling partial data transfers with indicators

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SG11202004378VA (en) * 2017-11-17 2020-06-29 Mitsubishi Heavy Industries Machinery Systems Ltd Information processing system and information processing method to be executed by information processing system
US11379371B2 (en) 2019-11-07 2022-07-05 Research & Business Foundation Sungkyunkwan University Method and system with improved memory input and output speed

Citations (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4837677A (en) * 1985-06-14 1989-06-06 International Business Machines Corporation Multiple port service expansion adapter for a communications controller
US5948080A (en) * 1996-04-26 1999-09-07 Texas Instruments Incorporated System for assigning a received data packet to a data communications channel by comparing portion of data packet to predetermined match set to check correspondence for directing channel select signal
US6047336A (en) * 1998-03-16 2000-04-04 International Business Machines Corporation Speculative direct memory access transfer between slave devices and memory
US6272582B1 (en) * 1998-02-20 2001-08-07 Mitsubishi Denki Kabushiki Kaisha PCI-PCI bridge allowing controlling of a plurality of PCI agents including a VGA device
US6453366B1 (en) * 1999-02-18 2002-09-17 International Business Machines Corporation Method and apparatus for direct memory access (DMA) with dataflow blocking for users
US20020174272A1 (en) * 2001-05-21 2002-11-21 Dai Fujii DMA controller and automatic DMA controller generating apparatus
US6581112B1 (en) * 2000-03-31 2003-06-17 Emc Corporation Direct memory access (DMA) receiver
US6691182B2 (en) * 2000-07-04 2004-02-10 Renesas Technology Corp. DMA controller in which bus access ratio can be set
US6697882B1 (en) * 1999-06-25 2004-02-24 Canon Kabushiki Kaisha Memory controller and method control method, and rendering device and printing device using the same
US20040210817A1 (en) * 2003-04-21 2004-10-21 International Business Machines Corporation Algorithm to test LPAR I/O subsystem's adherence to LPAR I/O firewalls
US7263572B2 (en) * 2004-10-12 2007-08-28 Fujitsu Limited Bus bridge and data transfer method
US20070299990A1 (en) * 2006-06-27 2007-12-27 Shmuel Ben-Yehuda A Method and System for Memory Address Translation and Pinning
US7631153B2 (en) * 2004-01-30 2009-12-08 Infineon Technologies Ag Device for transmitting data between memories
US7984202B2 (en) * 2007-06-01 2011-07-19 Qualcomm Incorporated Device directed memory barriers
US8291124B2 (en) * 2010-02-24 2012-10-16 Renesas Electronics Corporation Semiconductor device and data processing system having a reduced number of terminals allocated for externally accessed address

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4677581B2 (en) 2000-12-15 2011-04-27 株式会社メガチップス Data transfer control device and data transfer method
JP2004038231A (en) * 2002-06-28 2004-02-05 Renesas Technology Corp Semiconductor integrated circuit
JP4266900B2 (en) * 2004-09-03 2009-05-20 Necアクセステクニカ株式会社 Image processing system
JP2009217640A (en) * 2008-03-11 2009-09-24 Ricoh Co Ltd Data transfer controller

Patent Citations (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4837677A (en) * 1985-06-14 1989-06-06 International Business Machines Corporation Multiple port service expansion adapter for a communications controller
US5948080A (en) * 1996-04-26 1999-09-07 Texas Instruments Incorporated System for assigning a received data packet to a data communications channel by comparing portion of data packet to predetermined match set to check correspondence for directing channel select signal
US6272582B1 (en) * 1998-02-20 2001-08-07 Mitsubishi Denki Kabushiki Kaisha PCI-PCI bridge allowing controlling of a plurality of PCI agents including a VGA device
US6047336A (en) * 1998-03-16 2000-04-04 International Business Machines Corporation Speculative direct memory access transfer between slave devices and memory
US6453366B1 (en) * 1999-02-18 2002-09-17 International Business Machines Corporation Method and apparatus for direct memory access (DMA) with dataflow blocking for users
US6697882B1 (en) * 1999-06-25 2004-02-24 Canon Kabushiki Kaisha Memory controller and method control method, and rendering device and printing device using the same
US6581112B1 (en) * 2000-03-31 2003-06-17 Emc Corporation Direct memory access (DMA) receiver
US6691182B2 (en) * 2000-07-04 2004-02-10 Renesas Technology Corp. DMA controller in which bus access ratio can be set
US20020174272A1 (en) * 2001-05-21 2002-11-21 Dai Fujii DMA controller and automatic DMA controller generating apparatus
US20040210817A1 (en) * 2003-04-21 2004-10-21 International Business Machines Corporation Algorithm to test LPAR I/O subsystem's adherence to LPAR I/O firewalls
US7631153B2 (en) * 2004-01-30 2009-12-08 Infineon Technologies Ag Device for transmitting data between memories
US7263572B2 (en) * 2004-10-12 2007-08-28 Fujitsu Limited Bus bridge and data transfer method
US20070299990A1 (en) * 2006-06-27 2007-12-27 Shmuel Ben-Yehuda A Method and System for Memory Address Translation and Pinning
US7984202B2 (en) * 2007-06-01 2011-07-19 Qualcomm Incorporated Device directed memory barriers
US8291124B2 (en) * 2010-02-24 2012-10-16 Renesas Electronics Corporation Semiconductor device and data processing system having a reduced number of terminals allocated for externally accessed address

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10725958B1 (en) * 2019-02-08 2020-07-28 Arm Limited System, method and apparatus for enabling partial data transfers with indicators
US20200257647A1 (en) * 2019-02-08 2020-08-13 Arm Limited System, method and apparatus for enabling partial data transfers with indicators

Also Published As

Publication number Publication date
JP2015194918A (en) 2015-11-05
US9767054B2 (en) 2017-09-19
JP6294732B2 (en) 2018-03-14

Similar Documents

Publication Publication Date Title
US6950910B2 (en) Mobile wireless communication device architectures and methods therefor
US7797467B2 (en) Systems for implementing SDRAM controllers, and buses adapted to include advanced high performance bus features
EP2725497A1 (en) Memory arbitration circuit and method
US11003606B2 (en) DMA-scatter and gather operations for non-contiguous memory
US20020019911A1 (en) Distributed high-speed memory controller
US20100325375A1 (en) Data-access control device and data-access control method
US9767054B2 (en) Data transfer control device and memory-containing device
US8397005B2 (en) Masked register write method and apparatus
US6272583B1 (en) Microprocessor having built-in DRAM and internal data transfer paths wider and faster than independent external transfer paths
US10884657B2 (en) Computing device within memory processing and narrow data ports
US20180032267A1 (en) Extensible storage system controller
JP4855864B2 (en) Direct memory access controller
US7913013B2 (en) Semiconductor integrated circuit
US7774513B2 (en) DMA circuit and computer system
US5627968A (en) Data transfer apparatus which allows data to be transferred between data devices without accessing a shared memory
TWI553483B (en) Processor and method for accessing memory
CN109271333B (en) SRAM control method, controller and control system
US7185122B2 (en) Device and method for controlling data transfer
US8244929B2 (en) Data processing apparatus
US20070143534A1 (en) Nonvolatile-memory-access control apparatus and nonvolatile-memory control system
JPH08314854A (en) Data transfer system and device relating to the same
US20100153610A1 (en) Bus arbiter and bus system
US8402233B2 (en) Method and apparatus for high throughput mass storage device interface in a microprocessor for handheld systems
US8296481B2 (en) Device and method for improving transfer efficiency of odd number of data blocks
JP2010287058A (en) Memory system

Legal Events

Date Code Title Description
AS Assignment

Owner name: MEGACHIPS CORPORATION, JAPAN

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:MORI, TAKASHI;REEL/FRAME:035179/0755

Effective date: 20150216

STCF Information on status: patent grant

Free format text: PATENTED CASE

MAFP Maintenance fee payment

Free format text: PAYMENT OF MAINTENANCE FEE, 4TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1551); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

Year of fee payment: 4