US20120226831A1 - Memory system and integrated management method for plurality of dma channels - Google Patents
Memory system and integrated management method for plurality of dma channels Download PDFInfo
- Publication number
- US20120226831A1 US20120226831A1 US13/471,236 US201213471236A US2012226831A1 US 20120226831 A1 US20120226831 A1 US 20120226831A1 US 201213471236 A US201213471236 A US 201213471236A US 2012226831 A1 US2012226831 A1 US 2012226831A1
- Authority
- US
- United States
- Prior art keywords
- memory
- channels
- dma
- controller
- values
- 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.)
- Abandoned
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/28—Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
Definitions
- the present invention relates to a memory system having a plurality of direct memory access (DMA) channels and an integrated management method for the plurality of DMA channels. More particularly, the present invention relates to a memory system which has a plurality of DMA channels and allows access to a memory through a plurality of channels to maximize data transmission efficiency by integratedly controlling the corresponding channels, and an integrated management method for the plurality of DMA channels.
- DMA direct memory access
- General memory controllers array data toward a system memory or data from the system memory as fast as a memory device allows. Since the memory controller can process data as fast as the memory device allows, this does not limit a bandwidth. Meanwhile, one method of increasing a bandwidth is to increase a rate of a memory data bus connecting the memory controller to the memory devices. However, the memory devices cannot catch up with increases in data bandwidth of the memory controller and the memory data buses.
- specific memory controllers have a plurality of channels to raise memory accessibility of a plurality of processors or peripheral devices.
- the memory controllers have the plurality of channels, they cannot increase bandwidths.
- These controllers only provide an advantage of allocating the entire data transmission bandwidth that can be provided by the memory to a device of the destination via the plurality of channels.
- the memory controller having the plurality of channels can provide several channels but cannot increase a memory bandwidth because it actually allows a single memory access.
- the memory controller can previously access a spare channel to prepare a memory access operation, and equally divide the bandwidth when the plurality of channels have equal priorities to access the memory.
- a free-charging time is essential for next data transmission after data is transmitted using one channel,.
- the memory controller can previously prepare next data transmission, and thus transmission performance of a memory can be enhanced.
- a dynamic random access memory DRAM
- DRAM dynamic random access memory
- a waiting time corresponding to the plurality of clock periods is needed.
- the waiting time may correspond to more clock periods than those used for pure data transmission.
- the waiting time of the memory is included in the pure data transmission time, and data transmission efficiency can be enhanced. Such an effect may be obtained by the memory controller having the plurality of channels.
- a DMA channel controller and an integrated channel management method for effectively using a multi-channel memory controller are required to obtain such an effect.
- the present invention is directed to integratedly managing a plurality of direct memory access (DMA) channels in contact with a multi-channel memory controller to enhance data transmission performance of the memory controller.
- DMA direct memory access
- the present invention is also directed to allowing a multi-channel memory controller to perform data transmission via a plurality of channels through integrated management of a plurality of DMA channels to maximize data transmission performance.
- One aspect of the present invention provides a memory system, including: a memory controller exchanging data with a memory and having a plurality of channels physically separated from each other; and a DMA controller having a plurality of DMA channels physically separated from each other and in contact with the plurality of channels of the memory controller, and exchanging data with the memory via the plurality of DMA channels and the memory controller.
- the memory system may further include a contact module connecting the channels of the memory controller with the DMA channels.
- the contact module may include a plurality of buses or a matrix switch for connecting the channels of the memory controller with the DMA channels.
- the DMA controller may include: a register module having a set of registers storing information on the exchanged data; and a multi-channel management module dividing and setting set values for the plurality of DMA channels with reference to the set of registers.
- the set of registers may include at least one selected from the group consisting of a source address, a destination address, a transmission size, a source address offset and a destination address offset, and the multi-channel management module may set values of source and destination addresses for the plurality of DMA channels by selectively adding or subtracting the values of the source and destination address offsets to or from the values of the source and destination addresses.
- the multi-channel management module may set a value of a transmission size for the respective DMA channels by dividing the value of the transmission size by the number of the DMA channels.
- the memory controller may exchange data with the memory via a memory interface.
- the DMA controller may further include one port for exchanging data with a peripheral device.
- Another aspect of the present invention provides an integrated management method for a plurality of DMA channels, including dividing at least one value selected from the group consisting of a predetermined source address, a destination address, a transmission size and a source address set related to exchanged data, and setting set values for the plurality of DMA channels.
- the dividing at least one value and setting set values may include setting values of source and destination addresses for the plurality of DMA channels by selectively adding or subtracting the values of the source and destination address offsets to or from the values of the source and destination addresses.
- the dividing at least one value and setting set values may include setting a value of a transmission size for the respective DMA channels by dividing the value of the transmission size by the number of the DMA channels.
- FIG. 1 is a block diagram of a configuration of a memory system according to an exemplary embodiment of the present invention
- FIG. 2 is a block diagram of a configuration of the memory system in FIG. 1 in which a contact module is composed of a bus;
- FIG. 3 is a block diagram of a configuration of the memory system in FIG. 1 in which the contact module is composed of a matrix switch;
- FIG. 4 is a block diagram of a configuration of a direct memory access (DMA) controller according to an exemplary embodiment of the present invention
- FIGS. 5A and 5B illustrate address and data transmission characteristics when only one channel is used to read data, and when four channels are used to read data, respectively;
- FIGS. 6A and 6B illustrate examples of operation setting values for DMA channels applied to register setting for transmitting data using one DMA channel and to integrated management of four DMA channels.
- FIG. 1 is a block diagram of a configuration of a memory system according to an exemplary embodiment of the present invention.
- the memory system may include a memory 100 , a memory controller 200 , a direct memory access (DMA) controller 300 , and a contact module 400 .
- the memory controller 200 is composed of a plurality of channels, and the DMA controller 300 may be simultaneously in contact with a plurality of channels.
- the 4-channel memory controller 200 and the DMA controller 300 simultaneously in contact with four channels will be described as an example.
- the memory 100 may be a common memory device such as a dynamic random access memory (DRAM) or a synchronous dynamic random access memory (SDRAM).
- DRAM dynamic random access memory
- SDRAM synchronous dynamic random access memory
- the memory controller 200 has four channels 211 , 212 , 213 and 214 to control the one-channel memory 100
- the DMA controller 300 has DMA channels 311 , 312 , 313 and 314 physically separated from each other to be in contact with the memory controller 200 having the four channels 211 , 212 , 213 and 214 .
- the memory 100 may be connected to the memory controller 200 via a memory interface 111 , and the memory controller 200 and the DMA controller 300 may be connected via a contact module 400 .
- the contact module 400 serves to bring the four channels 311 , 312 , 313 and 314 of the DMA controller 300 into simultaneous contact with the channels 211 , 212 , 213 and 214 of the memory controller 200 physically separated from each other.
- the contact module 400 may be composed of four separate buses or a matrix switch capable of simultaneously connecting at least four channels.
- FIG. 2 illustrates the memory system of FIG. 1 in which the contact module 400 is composed of four buses bus 1 , bus 2 , bus 3 and bus 4 , which are separated from each other.
- FIG. 3 illustrates the memory system of FIG. 1 in which the contact module 400 is composed of a matrix switch.
- FIGS. 2 and 3 merely illustrate examples of the contact module 400 , and thus the contact module 400 can be implemented in any type of device, such as a contact logic structure, capable of connecting channels to each other.
- the DMA controller 300 receiving data from the memory 100 and the memory controller 200 via such a contact module 400 transmits the data to a peripheral device and other internal devices through a separate DMA port.
- the data may be transmitted by a bus 500 , and so on.
- FIG. 4 is a block diagram of an internal configuration of the DMA controller 300 according to an exemplary embodiment of the present invention.
- the DMA controller 300 may include a register module 320 , a multi-channel management module 330 , and a DMA channel controller 350 .
- the channels 311 , 312 , 313 , and 314 of the DMA controller 300 which access the memory controller 200 via the contact module 400 , may be independently controlled according to values of the registers used to control the respective channels, and managed to operate as one channel by the multi-channel management module 330 controlled by the multi-channel control register 321 of the register module 320 .
- the source address offset 325 and the destination address offset 326 are used for the multi-channel management module 330 to divide a set value for a transmission block into four values to be set, which will be described in detail below.
- the multi-channel management module 330 serves to divide the set values for the entire block to be transmitted into four values using the values of the source address 322 , the destination address 323 , the transmission size 324 , the source address offset 325 , and the destination address offset 326 , which are set in the set of registers controlling one channel, and set the divided values to the four DMA channels 311 , 312 , 313 , and 314 .
- the source address 322 set to the set of registers of the register module 320 may be divided into a source address 331 , a source address 334 , a source address 337 , and a source address 340 , and the divided source addresses 331 , 334 , 337 and 340 may be set to the channels 311 , 312 , 313 and 314 , respectively.
- the set values of the destination address 323 and the transmission size 324 may be divided into destination addresses 332 , 335 , 338 and 341 and transmission sizes 333 , 336 , 339 and 342 , and the divided destination addresses 332 , 335 , 338 and 341 and the divided transmission sizes 333 , 336 , 339 and 342 may be set to the respective channels 311 , 312 , 313 and 314 .
- a detailed dividing and setting method is as follows. First, as the source and destination addresses 331 and 332 for the channel 311 , the source and destination addresses 322 and 324 for the register module 320 may be used.
- the source and destination addresses 334 and 335 for the channel 312 may be set by adding the values of the source and destination address offsets 325 and 326 of the register module 320 to the source and destination addresses 331 and 332 of the preceding channel 311 .
- the source and destination addresses 337 and 338 for the channel 313 may also be set by adding the values of the source and destination address offsets 325 and 326 of the register module 320 to the source and destination addresses 334 and 335 of the preceding channel 312 .
- the four DMA channels 311 , 312 , 313 and 314 may share an operation which is performed by one channel.
- the multi-channel management module 330 may transfer the reset values of the registers 331 to 342 to the DMA channel controller 350 to independently control the four channels 311 , 312 , 313 and 314 .
- the four channels 311 , 312 , 313 and 314 can access the memory controller 200 via the contact module 400 , thereby reading or writing data from or to the memory 100 .
- the data read from the memory 100 via the four DMA channels 311 , 312 , 313 and 314 is transmitted to peripheral devices or other devices through the one DMA port 310 .
- data read from the peripheral devices or other devices is transmitted to the DMA controller 300 through the one DMA port 310 .
- the multi-channel management module 330 may also divide the set value for the entire block to be transmitted into four values, and set the divided values to the four DMA channels 311 , 312 , 313 and 314 , thereby allowing the four DMA channels 311 , 312 , 313 and 314 to be independently controlled. Accordingly, the data transferred through the DMA port 310 is distributed to the four channels 311 , 312 , 313 and 314 and transferred to the memory 100 via the memory controller 200 , and the memory 100 stores the transmitted data.
- the multi-channel management module 330 may set the four channels 311 , 312 , 313 and 314 physically separated from each other to operate as one channel, and the DMA channel controller 350 controls the four channels 311 , 312 , 313 and 314 of the DMA controller 300 and the four channels 211 , 212 , 213 and 214 of the memory controller 200 to operate in relation to each other using the setting, thereby maximizing transmission efficiency of the memory.
- FIGS. 5A and 5B illustrate address and data transmission characteristics in the channels 211 , 212 , 213 and 214 of the memory controller 200 and the memory interface 111 when one channel is used to read data, and when the four channels are used to read data according to an exemplary embodiment of the present invention.
- FIGS. 6A and 6B illustrate examples of operation setting values for the DMA channels applied to register setting for data transmission using one DMA channel and to integrated management of four channels by the multi-channel management module 330 .
- the DMA controller should sequentially set register values for a channel operation four times.
- the DMA register module should set different register values four times.
- the register module 320 sets channel values once so that the four channels can be simultaneously managed by the multi-channel management module 330 according to an exemplary embodiment of the present invention.
- the multi-channel management module 330 sets values for the four channels using these values only.
- a plurality of DMA channels are integratedly managed, and a multi-channel memory controller having various channels in contact with the DMA channels can have enhanced data transmission performance.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Bus Control (AREA)
Abstract
Provided are a memory system and an integrated management method for a plurality of direct memory access (DMA) channels. The memory system includes a memory controller exchanging data with a memory and having a plurality of channels physically separated from each other, and a DMA controller having a plurality of DMA channels physically separated from each other and in contact with the plurality of channels of the memory controller, and exchanging data with the memory via the plurality of DMA channels and the memory controller.
Description
- This application claims priority to and the benefit of Korean Patent Application No. 10-2009-0128401, filed Dec. 21, 2009, and Korean Patent Application No. 10-2010-0028448, filed Mar. 30, 2010, the disclosure of which is incorporated herein by reference in its entirety.
- 1. Field of the Invention
- The present invention relates to a memory system having a plurality of direct memory access (DMA) channels and an integrated management method for the plurality of DMA channels. More particularly, the present invention relates to a memory system which has a plurality of DMA channels and allows access to a memory through a plurality of channels to maximize data transmission efficiency by integratedly controlling the corresponding channels, and an integrated management method for the plurality of DMA channels.
- The present invention was supported by the IT R&D program of MKE. [2008-S-006-04, Component Module for Ubiquitous Terminal].
- 2. Discussion of Related Art
- General memory controllers array data toward a system memory or data from the system memory as fast as a memory device allows. Since the memory controller can process data as fast as the memory device allows, this does not limit a bandwidth. Meanwhile, one method of increasing a bandwidth is to increase a rate of a memory data bus connecting the memory controller to the memory devices. However, the memory devices cannot catch up with increases in data bandwidth of the memory controller and the memory data buses.
- Meanwhile, specific memory controllers have a plurality of channels to raise memory accessibility of a plurality of processors or peripheral devices. However, although the memory controllers have the plurality of channels, they cannot increase bandwidths. These controllers only provide an advantage of allocating the entire data transmission bandwidth that can be provided by the memory to a device of the destination via the plurality of channels. In other words, the memory controller having the plurality of channels can provide several channels but cannot increase a memory bandwidth because it actually allows a single memory access. However, due to the plurality of channels, the memory controller can previously access a spare channel to prepare a memory access operation, and equally divide the bandwidth when the plurality of channels have equal priorities to access the memory.
- In the memory controllers having the plurality of channels, like a memory controller having one channel, a free-charging time is essential for next data transmission after data is transmitted using one channel,. However, when data is simultaneously transmitted using the plurality of channels provided by the memory controller, the memory controller can previously prepare next data transmission, and thus transmission performance of a memory can be enhanced. For example, a dynamic random access memory (DRAM) needs a plurality of clock periods to activate a row and free-charge a memory bank. Thus, a waiting time corresponding to the plurality of clock periods is needed. Depending on the length of a burst to be read or written, the waiting time may correspond to more clock periods than those used for pure data transmission. However, when next data transmission is prepared during the reading or writing burst, the waiting time of the memory is included in the pure data transmission time, and data transmission efficiency can be enhanced. Such an effect may be obtained by the memory controller having the plurality of channels.
- Accordingly, a DMA channel controller and an integrated channel management method for effectively using a multi-channel memory controller are required to obtain such an effect.
- The present invention is directed to integratedly managing a plurality of direct memory access (DMA) channels in contact with a multi-channel memory controller to enhance data transmission performance of the memory controller.
- The present invention is also directed to allowing a multi-channel memory controller to perform data transmission via a plurality of channels through integrated management of a plurality of DMA channels to maximize data transmission performance.
- One aspect of the present invention provides a memory system, including: a memory controller exchanging data with a memory and having a plurality of channels physically separated from each other; and a DMA controller having a plurality of DMA channels physically separated from each other and in contact with the plurality of channels of the memory controller, and exchanging data with the memory via the plurality of DMA channels and the memory controller.
- The memory system may further include a contact module connecting the channels of the memory controller with the DMA channels.
- The contact module may include a plurality of buses or a matrix switch for connecting the channels of the memory controller with the DMA channels.
- The DMA controller may include: a register module having a set of registers storing information on the exchanged data; and a multi-channel management module dividing and setting set values for the plurality of DMA channels with reference to the set of registers.
- The set of registers may include at least one selected from the group consisting of a source address, a destination address, a transmission size, a source address offset and a destination address offset, and the multi-channel management module may set values of source and destination addresses for the plurality of DMA channels by selectively adding or subtracting the values of the source and destination address offsets to or from the values of the source and destination addresses.
- The multi-channel management module may set a value of a transmission size for the respective DMA channels by dividing the value of the transmission size by the number of the DMA channels.
- The memory controller may exchange data with the memory via a memory interface.
- The DMA controller may further include one port for exchanging data with a peripheral device.
- Another aspect of the present invention provides an integrated management method for a plurality of DMA channels, including dividing at least one value selected from the group consisting of a predetermined source address, a destination address, a transmission size and a source address set related to exchanged data, and setting set values for the plurality of DMA channels.
- The dividing at least one value and setting set values may include setting values of source and destination addresses for the plurality of DMA channels by selectively adding or subtracting the values of the source and destination address offsets to or from the values of the source and destination addresses.
- The dividing at least one value and setting set values may include setting a value of a transmission size for the respective DMA channels by dividing the value of the transmission size by the number of the DMA channels.
- The above and other features and advantages of the present invention will become more apparent to those of ordinary skill in the art by describing in detail preferred embodiments thereof with reference to the attached drawings in which:
-
FIG. 1 is a block diagram of a configuration of a memory system according to an exemplary embodiment of the present invention; -
FIG. 2 is a block diagram of a configuration of the memory system inFIG. 1 in which a contact module is composed of a bus; -
FIG. 3 is a block diagram of a configuration of the memory system inFIG. 1 in which the contact module is composed of a matrix switch; -
FIG. 4 is a block diagram of a configuration of a direct memory access (DMA) controller according to an exemplary embodiment of the present invention; -
FIGS. 5A and 5B illustrate address and data transmission characteristics when only one channel is used to read data, and when four channels are used to read data, respectively; and -
FIGS. 6A and 6B illustrate examples of operation setting values for DMA channels applied to register setting for transmitting data using one DMA channel and to integrated management of four DMA channels. - Hereinafter, exemplary embodiments of the present invention will be described in detail. However, the present invention is not limited to the embodiments disclosed below, but can be implemented in various forms. Therefore, the following embodiments are described in order for this disclosure to be complete and enabling to those of ordinary skill in the art. Memory System
-
FIG. 1 is a block diagram of a configuration of a memory system according to an exemplary embodiment of the present invention. - Referring to
FIG. 1 , the memory system according to an exemplary embodiment of the present invention may include amemory 100, amemory controller 200, a direct memory access (DMA)controller 300, and acontact module 400. Thememory controller 200 is composed of a plurality of channels, and theDMA controller 300 may be simultaneously in contact with a plurality of channels. As shown inFIG. 1 , the 4-channel memory controller 200 and theDMA controller 300 simultaneously in contact with four channels will be described as an example. - To begin with, the
memory 100 may be a common memory device such as a dynamic random access memory (DRAM) or a synchronous dynamic random access memory (SDRAM). - The
memory controller 200 has fourchannels channel memory 100, and theDMA controller 300 hasDMA channels memory controller 200 having the fourchannels - Meanwhile, the
memory 100 may be connected to thememory controller 200 via amemory interface 111, and thememory controller 200 and theDMA controller 300 may be connected via acontact module 400. In other words, thecontact module 400 serves to bring the fourchannels DMA controller 300 into simultaneous contact with thechannels memory controller 200 physically separated from each other. To this end, thecontact module 400 may be composed of four separate buses or a matrix switch capable of simultaneously connecting at least four channels. -
FIG. 2 illustrates the memory system ofFIG. 1 in which thecontact module 400 is composed of four buses bus1, bus2, bus3 and bus4, which are separated from each other.FIG. 3 illustrates the memory system ofFIG. 1 in which thecontact module 400 is composed of a matrix switch. - However,
FIGS. 2 and 3 merely illustrate examples of thecontact module 400, and thus thecontact module 400 can be implemented in any type of device, such as a contact logic structure, capable of connecting channels to each other. - The
DMA controller 300 receiving data from thememory 100 and thememory controller 200 via such acontact module 400 transmits the data to a peripheral device and other internal devices through a separate DMA port. Here, the data may be transmitted by abus 500, and so on. - An internal configuration of the
DMA controller 300 which is considered a characteristic component of the present invention will be described below. -
FIG. 4 is a block diagram of an internal configuration of theDMA controller 300 according to an exemplary embodiment of the present invention. - As shown in
FIG. 4 , theDMA controller 300 may include aregister module 320, amulti-channel management module 330, and aDMA channel controller 350. - To begin with, the
register module 320 may be formed in basically the same structure as a register of a general DMA controller, and include a set of specific registers. Theregister module 320 for data transmission may include amulti-channel control register 321, and further include the set of registers capable of storing information such as asource address 322, adestination address 323, atransmission size 324, a source address offset 325, and a destination address offset 326. Here, the set of registers controlling the channels may be plural in number, and thus can sequentially control the channels. Thechannels DMA controller 300, which access thememory controller 200 via thecontact module 400, may be independently controlled according to values of the registers used to control the respective channels, and managed to operate as one channel by themulti-channel management module 330 controlled by the multi-channel control register 321 of theregister module 320. Meanwhile, the source address offset 325 and the destination address offset 326 are used for themulti-channel management module 330 to divide a set value for a transmission block into four values to be set, which will be described in detail below. - The
multi-channel management module 330 serves to divide the set values for the entire block to be transmitted into four values using the values of thesource address 322, thedestination address 323, thetransmission size 324, the source address offset 325, and the destination address offset 326, which are set in the set of registers controlling one channel, and set the divided values to the fourDMA channels source address 322 set to the set of registers of theregister module 320 may be divided into asource address 331, asource address 334, asource address 337, and asource address 340, and the divided source addresses 331, 334, 337 and 340 may be set to thechannels destination address 323 and thetransmission size 324 may be divided into destination addresses 332, 335, 338 and 341 andtransmission sizes transmission sizes respective channels - A detailed dividing and setting method is as follows. First, as the source and destination addresses 331 and 332 for the
channel 311, the source and destination addresses 322 and 324 for theregister module 320 may be used. The source and destination addresses 334 and 335 for thechannel 312 may be set by adding the values of the source and destination address offsets 325 and 326 of theregister module 320 to the source and destination addresses 331 and 332 of the precedingchannel 311. The source and destination addresses 337 and 338 for thechannel 313 may also be set by adding the values of the source and destination address offsets 325 and 326 of theregister module 320 to the source and destination addresses 334 and 335 of the precedingchannel 312. The source and destination addresses 340 and 341 for thechannel 314 are set by the same method as described above. Meanwhile, values of thetransmission sizes respective channels transmission size 324 of theregister module 320 by the number of thechannels - As a result, the four
DMA channels multi-channel management module 330 may transfer the reset values of theregisters 331 to 342 to theDMA channel controller 350 to independently control the fourchannels channels memory controller 200 via thecontact module 400, thereby reading or writing data from or to thememory 100. - The data read from the
memory 100 via the fourDMA channels DMA port 310. Meanwhile, during general operation, data read from the peripheral devices or other devices is transmitted to theDMA controller 300 through the oneDMA port 310. In this case, themulti-channel management module 330 may also divide the set value for the entire block to be transmitted into four values, and set the divided values to the fourDMA channels DMA channels DMA port 310 is distributed to the fourchannels memory 100 via thememory controller 200, and thememory 100 stores the transmitted data. - Likewise, in the
DMA controller 300, themulti-channel management module 330 may set the fourchannels DMA channel controller 350 controls the fourchannels DMA controller 300 and the fourchannels memory controller 200 to operate in relation to each other using the setting, thereby maximizing transmission efficiency of the memory. -
FIGS. 5A and 5B illustrate address and data transmission characteristics in thechannels memory controller 200 and thememory interface 111 when one channel is used to read data, and when the four channels are used to read data according to an exemplary embodiment of the present invention. - Referring to
FIG. 5A , when one channel is used to transmit addresses and data, there are periodic gaps as long as pre-charging time for next data transmission after predetermined data has been transmitted from thememory 100. In other words, when pieces of data D1, D2, D3 and D4 are transmitted from thememory 100 via thememory interface 111, it is essential to have free-charging time for transmitting next pieces of data D5, D6, D7 and D8. Thus, to transmit all the data, the sum of the transmission time for all the data and the free-charging time is taken. - On the other hand, referring to
FIG. 5B , when four channels are used, and data transmission is performed in one channel, free-charging is performed in another channel. In other words, while data transmission is performed in thechannel 211, free-charging can be performed in thechannel 212. Thus, as soon as the data transmission in thechannel 211 is completed, data transmission in thechannel 212 is performed. As a result, the total data transmission time is reduced as much as a clock period necessary for free-charging, and thus the data transmission efficiency can be maximized. -
FIGS. 6A and 6B illustrate examples of operation setting values for the DMA channels applied to register setting for data transmission using one DMA channel and to integrated management of four channels by themulti-channel management module 330. - Referring to
FIG. 6A , when only one DMA channel is used, it can be seen that the DMA controller should sequentially set register values for a channel operation four times. In other words, the DMA register module should set different register values four times. - On the other hand, referring to
FIG. 6B , theregister module 320 sets channel values once so that the four channels can be simultaneously managed by themulti-channel management module 330 according to an exemplary embodiment of the present invention. In detail, when the values of thesource address 322, thedestination address 323, thetransmission size 324, the source address offset 325, and the destination address offset 326 are set by theregister module 320, themulti-channel management module 330 sets values for the four channels using these values only. As described above, thesource address 331 and thedestination address 332 for thechannel 311 may be set to the source and destination addresses 322 and 323, and the source and destination addresses 334 and 335 for thechannel 312 may be set by adding the values of the source and destination address offsets 325 and 326 to the source and destination addresses 331 and 332. Register values for theother channels transmission sizes respective channels transmission size 324 of theregister module 320. In the example ofFIG. 6B , “0x8” (hexadecimal), the value of thetransmission sizes channels transmission size 324, by 4, the number of thechannels - According to an exemplary embodiment of the present invention, a plurality of DMA channels are integratedly managed, and a multi-channel memory controller having various channels in contact with the DMA channels can have enhanced data transmission performance.
- While the invention has been shown and described with reference to certain exemplary embodiments thereof, it will be understood by those skilled in the art that various changes in form and details may be made therein without departing from the spirit and scope of the invention as defined by the appended claims.
Claims (9)
1. A memory system, comprising:
a memory controller exchanging data with a memory and having a plurality of channels physically separated from each other; and
a direct memory access (DMA) controller having a plurality of DMA channels physically separated from each other and in contact with the plurality of channels of the memory controller, and exchanging data with the memory via the plurality of DMA channels and the memory controller.
2. The memory system of claim 1 , further comprising a contact module connecting the channels of the memory controller with the DMA channels.
3. The memory system of claim 2 , wherein the contact module includes a plurality of buses or a matrix switch for connecting the channels of the memory controller with the DMA channels.
4. The memory system of claim 1 , wherein the DMA controller comprises:
a register module having a set of registers storing information on the exchanged data; and
a multi-channel management module dividing and setting set values for the plurality of DMA channels with reference to the set of registers.
5. The memory system of claim 4 , wherein the set of registers includes at least one selected from the group consisting of a source address, a destination address, a transmission size, a source address offset and a destination address offset, and
the multi-channel management module sets values of source and destination addresses for the plurality of DMA channels by selectively adding or subtracting the values of the source and destination address offsets to or from the values of the source and destination addresses.
6. The memory system of claim 4 , wherein the set of registers includes at least one selected from the group consisting of a source address, a destination address, a transmission size, a source address offset and a destination address offset, and
the multi-channel management module sets a value of a transmission size for the respective DMA channels by dividing the value of the transmission size by the number of the DMA channels.
7. The memory system of claim 1 , wherein the memory controller exchanges data with the memory via a memory interface.
8. The memory system of claim 1 , wherein the DMA controller further comprises one port for exchanging data with a peripheral device.
9.-11. (canceled)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/471,236 US20120226831A1 (en) | 2009-12-21 | 2012-05-14 | Memory system and integrated management method for plurality of dma channels |
Applications Claiming Priority (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2009-0128401 | 2009-12-21 | ||
KR20090128401 | 2009-12-21 | ||
KR10-2010-0028448 | 2010-03-30 | ||
KR1020100028448A KR101324580B1 (en) | 2009-12-21 | 2010-03-30 | Memory system comprising a plurality of dma channels and intergrating management method for a plurality of dma channels |
US12/882,141 US8205021B2 (en) | 2009-12-21 | 2010-09-14 | Memory system and integrated management method for plurality of DMA channels |
US13/471,236 US20120226831A1 (en) | 2009-12-21 | 2012-05-14 | Memory system and integrated management method for plurality of dma channels |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US12/882,141 Division US8205021B2 (en) | 2009-12-21 | 2010-09-14 | Memory system and integrated management method for plurality of DMA channels |
Publications (1)
Publication Number | Publication Date |
---|---|
US20120226831A1 true US20120226831A1 (en) | 2012-09-06 |
Family
ID=44152715
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US12/882,141 Active US8205021B2 (en) | 2009-12-21 | 2010-09-14 | Memory system and integrated management method for plurality of DMA channels |
US13/471,236 Abandoned US20120226831A1 (en) | 2009-12-21 | 2012-05-14 | Memory system and integrated management method for plurality of dma channels |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US12/882,141 Active US8205021B2 (en) | 2009-12-21 | 2010-09-14 | Memory system and integrated management method for plurality of DMA channels |
Country Status (1)
Country | Link |
---|---|
US (2) | US8205021B2 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103793342A (en) * | 2012-11-02 | 2014-05-14 | 中兴通讯股份有限公司 | Multichannel direct memory access (DMA) controller |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9594714B2 (en) | 2012-11-15 | 2017-03-14 | Empire Technology Development Llc | Multi-channel storage system supporting a multi-command protocol |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070103241A1 (en) * | 2005-11-09 | 2007-05-10 | Fujifilm Corporation | Clock signal generating circuit, semiconductor integrated circuit and method for controlling a frequency division ratio |
US20090083476A1 (en) * | 2007-09-21 | 2009-03-26 | Phison Electronics Corp. | Solid state disk storage system with parallel accesssing architecture and solid state disck controller |
US20090125648A1 (en) * | 2007-11-14 | 2009-05-14 | Yin-Hsi Huang | Direct memory access system and method |
US20100017544A1 (en) * | 2008-07-16 | 2010-01-21 | Chun Ik-Jae | Direct memory access controller and data transmitting method of direct memory access channel |
US20120144102A1 (en) * | 2008-08-08 | 2012-06-07 | Imation Corp. | Flash memory based storage devices utilizing magnetoresistive random access memory (mram) |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4181268B2 (en) | 1999-04-13 | 2008-11-12 | 旭化成エレクトロニクス株式会社 | Multi-channel memory controller |
WO2005059764A1 (en) | 2003-12-09 | 2005-06-30 | Thomson Licensing | Memory controller |
KR100951856B1 (en) | 2007-11-27 | 2010-04-12 | 한국전자통신연구원 | SoC for Multimedia system |
-
2010
- 2010-09-14 US US12/882,141 patent/US8205021B2/en active Active
-
2012
- 2012-05-14 US US13/471,236 patent/US20120226831A1/en not_active Abandoned
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070103241A1 (en) * | 2005-11-09 | 2007-05-10 | Fujifilm Corporation | Clock signal generating circuit, semiconductor integrated circuit and method for controlling a frequency division ratio |
US20090083476A1 (en) * | 2007-09-21 | 2009-03-26 | Phison Electronics Corp. | Solid state disk storage system with parallel accesssing architecture and solid state disck controller |
US20090125648A1 (en) * | 2007-11-14 | 2009-05-14 | Yin-Hsi Huang | Direct memory access system and method |
US20100017544A1 (en) * | 2008-07-16 | 2010-01-21 | Chun Ik-Jae | Direct memory access controller and data transmitting method of direct memory access channel |
US20120144102A1 (en) * | 2008-08-08 | 2012-06-07 | Imation Corp. | Flash memory based storage devices utilizing magnetoresistive random access memory (mram) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103793342A (en) * | 2012-11-02 | 2014-05-14 | 中兴通讯股份有限公司 | Multichannel direct memory access (DMA) controller |
Also Published As
Publication number | Publication date |
---|---|
US8205021B2 (en) | 2012-06-19 |
US20110153878A1 (en) | 2011-06-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI409815B (en) | Memory systems and methods for controlling the timing of receiving read data | |
EP2313891B1 (en) | Independently controlled virtual memory devices in memory modules | |
US8612713B2 (en) | Memory switching control apparatus using open serial interface, operating method thereof, and data storage device therefor | |
US20130326090A1 (en) | Ring topology status indication | |
CN109656851B (en) | System with time determination and comprising multiple high-speed bus channels and shared interface | |
US10628348B2 (en) | Memory module with reduced read/write turnaround overhead | |
US11385829B2 (en) | Memory controller for non-interfering accesses to nonvolatile memory by different masters, and related systems and methods | |
US7970960B2 (en) | Direct memory access controller and data transmitting method of direct memory access channel | |
US7836221B2 (en) | Direct memory access system and method | |
US7970959B2 (en) | DMA transfer system using virtual channels | |
US20200034065A1 (en) | Memory system | |
CN111755041A (en) | Semiconductor memory device with a plurality of memory cells | |
US8205021B2 (en) | Memory system and integrated management method for plurality of DMA channels | |
US9740657B2 (en) | Memory device for multiple processors and memory system having the same | |
US9009423B2 (en) | Serially connected memory having subdivided data interface | |
US20080172500A1 (en) | Memory system and method accessing memory array via common signal ports | |
US20180341491A1 (en) | Apparatus and method for memory sharing between computers | |
GB2397668A (en) | Processor array with delay elements | |
US9263112B2 (en) | Semiconductor integrated circuit | |
US20110145491A1 (en) | Method for controlling access to regions of a memory from a plurality of processes and a communication module having a message memory for implementing the method | |
KR101324580B1 (en) | Memory system comprising a plurality of dma channels and intergrating management method for a plurality of dma channels | |
KR20220132333A (en) | Peripheral component interconnect express interface device and operating method thereof | |
KR100754361B1 (en) | Multi-port memory device enabling share of dq power | |
KR20080052801A (en) | Signal processing method and apparatus for transmitting multiful processor signals to a shared memory |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |