WO2009139109A1 - メモリ制御装置、およびこれを備えた情報処理装置 - Google Patents

メモリ制御装置、およびこれを備えた情報処理装置 Download PDF

Info

Publication number
WO2009139109A1
WO2009139109A1 PCT/JP2009/001533 JP2009001533W WO2009139109A1 WO 2009139109 A1 WO2009139109 A1 WO 2009139109A1 JP 2009001533 W JP2009001533 W JP 2009001533W WO 2009139109 A1 WO2009139109 A1 WO 2009139109A1
Authority
WO
WIPO (PCT)
Prior art keywords
refresh
memory
request
access
master
Prior art date
Application number
PCT/JP2009/001533
Other languages
English (en)
French (fr)
Inventor
渡邉義治
村上大輔
Original Assignee
パナソニック株式会社
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 パナソニック株式会社 filed Critical パナソニック株式会社
Priority to JP2010511867A priority Critical patent/JPWO2009139109A1/ja
Publication of WO2009139109A1 publication Critical patent/WO2009139109A1/ja
Priority to US12/941,499 priority patent/US20110055443A1/en

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/406Management or control of the refreshing or charge-regeneration cycles
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/406Management or control of the refreshing or charge-regeneration cycles
    • G11C11/40603Arbitration, priority and concurrent access to memory cells for read/write or refresh operations

Definitions

  • the present invention is connected to a plurality of master devices and a memory shared by the plurality of master devices, and controls access from the master device to the memory in response to an access request issued from the plurality of master devices.
  • the present invention relates to a memory control device and an information processing device including the same.
  • a unified memory technology in which a plurality of masters such as processors and hardware engines access a shared memory.
  • a memory used at this time there is an SDRAM (SynchronousoDynamic Random Access Memory) or the like.
  • the SDRAM is a volatile memory, and in order to retain data, it is necessary to perform an operation of injecting charges at regular intervals called refresh.
  • refresh operation is performed on the SDRAM, there is a period during which access to the SDRAM is impossible for a certain period before and after the refresh operation according to the specifications of the SDRAM. Therefore, when the refresh operation occurs, the access request from the master to the SDRAM is temporarily interrupted, leading to a decrease in access efficiency from the master to the SDRAM.
  • a memory refresh control circuit described in Patent Document 1 is disclosed as a conventional technique for alleviating this decrease in access efficiency.
  • the memory refresh control circuit of Patent Literature 1 issues a refresh command in advance of a periodic refresh issue interval when an access request to the memory is not issued from the host CPU.
  • a refresh request synchronized with the periodic refresh issuance time is issued while an access request to the memory is issued from the host CPU, the following processing is performed.
  • the memory refresh control circuit stops issuing the refresh command according to the refresh request. Accordingly, since the access request from the host CPU to the memory is not interrupted, a reduction in the access efficiency from the host CPU to the memory due to the issuance of the refresh command is alleviated.
  • JP-A-6-236683 JP-A-6-236683
  • Patent Document 1 it is possible to alleviate a decrease in access efficiency from the host CPU to the memory, but a configuration in which a plurality of masters share the memory is not adopted.
  • a refresh command can be issued in advance as in Patent Document 1 only when all the plurality of masters have not issued a memory access request. It becomes.
  • there are few situations in which all of the plurality of masters do not issue access requests to the memory and there is a problem that the effect of alleviating the decrease in access efficiency in Patent Document 1 is reduced.
  • the present invention provides a memory control device that alleviates a decrease in access efficiency from a master to a memory due to the issuance of a refresh command by issuing a refresh command in advance even when the memory is shared by a plurality of masters. It is another object of the present invention to provide an information processing apparatus including the memory control apparatus.
  • a semiconductor device of the present invention is connected to a plurality of master devices and a memory shared by the plurality of master devices, and the master device responds to an access request issued from the plurality of master devices.
  • a memory control device that controls access from a device to the memory, and monitors a use band that is a memory access data amount per unit time by an access request issued from the master device for each of the plurality of master devices.
  • a monitoring unit a holding unit that holds a predetermined request bandwidth for each of the plurality of master devices, and a determination as to whether or not a corresponding use bandwidth has reached a corresponding request bandwidth for each of the plurality of master devices. Based on the determination result of each master device by the band determination unit and the band determination unit, regardless of the refresh cycle timing. And a control unit that issues a command to the memory.
  • the preceding refresh command is issued to the memory shared by a plurality of master devices based on the used bandwidth and the requested bandwidth, so that the master device by issuing the refresh command generated in synchronization with the refresh cycle. Can reduce the decrease in access efficiency to the memory.
  • control unit regards that the corresponding master device has not asserted the access request, and all of the plurality of master devices have received the access request. May be issued to the memory.
  • control unit is configured to decrement the normal refresh control unit for periodically issuing a normal refresh command for refreshing the memory to the memory, and to decrement by 1 for each refresh cycle.
  • a refresh issuance counter that increments by 1 and increments by 1 when the preceding refresh command is issued, and the normal refresh controller issues the normal refresh command when the count value of the refresh issuance counter reaches a reference value
  • the normal refresh command does not have to be issued when the count value of the refresh issue counter reaches a value other than the reference value.
  • the number of times that the preceding refresh command corresponding to the period is issued before the period in which the normal refresh command is not issued is equal to or more than the number of times the normal refresh command should be issued in the period.
  • control unit may prohibit the issuance of the preceding refresh command when the value counted by the refresh issuance number counter is equal to or greater than a predetermined threshold value that is greater than the reference value.
  • the memory control device issues a normal refresh command at least once within the time corresponding to the threshold value and the refresh cycle. As a result, it is possible to further prevent memory data from being volatilized due to the memory not being refreshed for a long time.
  • control unit periodically issues a normal refresh request for refreshing the memory, a difference between a use band corresponding to each of the plurality of master devices and a corresponding request band, and the refresh Based on the refresh request bandwidth that is the memory access data amount per unit time according to the request, the normal refresh request and each access request issued from the plurality of master devices are arbitrated, and a command according to the arbitration result May be included in the memory.
  • An information processing apparatus includes a semiconductor integrated circuit having the memory control device and the plurality of master devices, and the memory connected to the semiconductor integrated circuit and requiring a refresh operation.
  • the master device includes: a first master device for writing encoded data input from the outside to the memory; and decoding the encoded data written to the memory and decoding the decoded data that is the encoded data A second master device that writes to the memory; and a third master device that acquires the decoded data from the memory and outputs the acquired decoded data to a display device.
  • the first master device may write the encoded data separated from the digital broadcast wave into the memory.
  • the encoded data may be data including an image.
  • the information processing apparatus further includes an image sensor that captures an image of a subject and outputs image data, and a fourth master device that writes the output image data to the memory.
  • the second master device further includes: The shooting data is acquired from the memory, the acquired shooting data is encoded, the encoded shooting data that is the encoded shooting data is written to the memory, and the third master device further stores the shooting data. Obtaining from the memory, outputting the obtained shooting data to the display device, the first master device acquires the encoded shooting data from the memory, and records the acquired encoded shooting data on a recording medium May be.
  • a memory control device and information for alleviating a decrease in access efficiency from the master to the memory due to issuing a refresh command by issuing a refresh command in advance A processing device can be provided.
  • FIG. 1 is a diagram illustrating a configuration of the memory control device according to the first embodiment.
  • FIG. 2 is a block diagram illustrating a detailed configuration of the access request arbitration unit.
  • FIG. 3 is a block diagram illustrating an example of a detailed configuration of the used bandwidth monitoring unit.
  • FIG. 4 is a block diagram showing a detailed configuration of the refresh request issuing unit.
  • FIG. 5 is a timing chart showing an example of the operation of the memory control device.
  • FIG. 6 is a block diagram illustrating a detailed configuration of the refresh request issuing unit in the second embodiment.
  • FIG. 7 is a timing chart showing an example of the operation of the memory control device.
  • FIG. 8 is a block diagram showing a system configuration in the third embodiment.
  • FIG. 9 is a block diagram illustrating a system configuration according to the fourth embodiment.
  • FIG. 10 is a block diagram showing a configuration of a digital camera including the memory control device of the present invention.
  • the memory control device is connected to a plurality of master devices that issue access requests and a memory shared by the plurality of master devices, and controls memory access in accordance with the access requests.
  • Each of the plurality of master devices a monitoring unit that monitors a used bandwidth that is a memory access data amount per unit time by an access request issued from the master device, and for each of the plurality of master devices, A holding unit that holds a predetermined required bandwidth, a bandwidth determination unit that determines whether or not a corresponding used bandwidth has reached a corresponding required bandwidth for each of the plurality of master devices, and a master by the bandwidth determination unit
  • a controller that issues a prior refresh command to the memory regardless of the refresh cycle timing based on the determination result for each device.
  • the preceding refresh command is issued to the memory shared by a plurality of master devices based on the used bandwidth and the requested bandwidth, so that the master device by issuing the refresh command generated in synchronization with the refresh cycle. Can reduce the decrease in access efficiency to the memory.
  • FIG. 1 is a diagram showing a configuration of a memory control device according to the first embodiment of the present invention.
  • masters 100 to 102 connected to the memory control device 103 and a memory 104 are also shown.
  • the memory control device 103 includes an access request arbitration unit 105 and a refresh request control unit 106, and controls arbitration of access requests 150 to 152 from the masters 100 to 102 to the memory 104 and issuance of access commands to the memory 104.
  • the memory control device 103 also controls issue of a refresh command to the memory 104.
  • the access request arbitration unit 105 performs arbitration for the access requests 150 to 152 to the memory 104 issued from each master so as to satisfy a predetermined bandwidth to the memory 104 for each master 100 to 102. Next, one of the access commands 153 to 155 is issued to the memory 104 via the command transmission signal line 169 according to the arbitration result.
  • the access commands 153 to 155 are composed of write / read distinction, master type, access address, access data amount, and the like.
  • the access request arbitration unit 105 transmits the result of the arbitration to the master via the access request permission signals 156 to 158.
  • the access request arbitration unit 105 also monitors the bandwidth used by each master based on access commands 153 to 155 and access request permission signals 156 to 158 from each master to the memory 104.
  • the request bandwidth excess signals 159 to 161 are asserted to the master that has issued an access request exceeding the requested bandwidth to the memory 104 set for each master, and the refresh request control unit 106 exceeds the requested bandwidth.
  • the fact that the access requests 150 to 152 are issued is transmitted.
  • the refresh request control unit 106 generates a refresh request 162, a refresh command 163, a preceding refresh request signal 164, and the like based on the access requests 150 to 152 from the masters 100 to 102 and the arbitration result in the access request arbitration unit 105.
  • the refresh request control unit 106 includes a refresh cycle counter 107, a refresh issuance counter 108, and a refresh request issuance unit 109, and includes a refresh request 162, a refresh command 163, a preceding refresh request signal 164, a refresh cycle.
  • a refresh cycle count signal 165 that is a signal indicating the value of the counter 107 is issued to the access request arbitration unit 105.
  • the refresh cycle counter 107 is a down counter that decrements the value by 1 every cycle with a value corresponding to a set refresh cycle (for example, 10 milliseconds) as an initial value based on a master clock input from the outside.
  • the refresh cycle counter 107 outputs a refresh cycle count signal 165 to the access request arbitration unit 105. Further, when the value of the refresh cycle counter 107 becomes 1, the refresh cycle counter 107 asserts the refresh issue number counter decrement signal 167. Also, the value of the refresh cycle counter 107 is reset to the initial value in the next cycle when it becomes 1.
  • the refresh issue counter 108 increments the counter value by 1 when the refresh request permission signal 166 is asserted from the access request arbitration unit 105, and decrements by 1 when the refresh issue counter decrement signal 167 is asserted from the refresh cycle counter 107. . That is, the value of the refresh issuance counter 108 represents the number of times that the refresh is issued before the refresh cycle comes. The value of the refresh issue number counter 108 is transmitted to the refresh request issue unit 109 via the refresh issue number count signal 168.
  • the refresh request issuance unit 109 performs the refresh request 162 and the preceding refresh according to the value of the refresh issuance count counter 108 transmitted by the refresh issuance count signal 168 and the request bandwidth excess signals 159 to 161 corresponding to the masters 100 to 102, respectively.
  • a request signal 164 is issued.
  • the refresh request issuing unit 109 outputs a refresh command 163 to the access request arbitration unit 105.
  • the refresh command 163 is a fixed value, a command ID indicating that the access request arbitration unit 105 is a refresh command necessary for issuing a refresh to the memory 104, and which area of the memory 104 is refreshed. It has information on the refresh area indicating whether to execute.
  • FIG. 2 is a block diagram showing a detailed configuration of the access request arbitration unit 105 in FIG.
  • the access request arbitration unit 105 includes an arbitrator 200, request band holding units 201 to 203, use band monitoring units 204 to 206, and comparators 217 to 219.
  • the arbiter 200 includes requested bandwidth holding units 201 to 203 set for each master 100 to 102, used bandwidths 250 to 252 for each master 100 to 102 transmitted from the used bandwidth monitoring units 204 to 206, and a refresh cycle count signal 165. Based on the preceding refresh request signal 164, the access requests 150 to 152 and the refresh request 162 from the masters 100 to 102 are arbitrated. The arbitration result is transmitted to masters 100 to 102 and refresh request control unit 106 via access request permission signals 156 to 158 and refresh request permission signal 166, respectively.
  • the arbiter 200 includes subtracters 207 to 209, a request band calculation unit 210, access request mask circuits 211 to 213, a maximum value determination circuit 214, and a selector 215.
  • Each of the subtracters 207 to 209 subtracts the corresponding use band monitored by the corresponding use band monitoring unit 204 from the request band held in the corresponding request band holding unit 201. Specifically, the subtracter 207 calculates (requested bandwidth-used bandwidth 250 held by the requested bandwidth holding unit 201), and the subtracter 208 calculates (requested bandwidth-used bandwidth 251 held by the requested bandwidth holding unit 202). The subtracter 209 calculates (the required bandwidth held by the required bandwidth holding unit 203 ⁇ the used bandwidth 252), and the calculation result is transmitted to the maximum value determination circuit 214.
  • the requested bandwidth refers to the amount of memory access data per unit time that is required for smoothly proceeding the processing in the corresponding masters 100 to 102.
  • the required bandwidth increases, and in a process with a low frequency of memory access, the required bandwidth decreases.
  • each master 100 to 102 or OS may set a requested bandwidth in the requested bandwidth holding units 201 to 203 at the time of initialization. Further, it may be dynamically changed when the program (task or process) is switched.
  • the unit time may be a fixed value, but may be, for example, the unit processing time in the masters 100 to 102, an integral multiple of the frame (field) cycle of image processing, or an integral multiple of the refresh cycle.
  • the used bandwidth refers to the memory access data amount per unit time at the present time according to the access request issued from the masters 100 to 102.
  • the requested bandwidth holding units 201 to 203 function as holding units.
  • the requested bandwidth calculation unit 210 calculates a refresh requested bandwidth that is a memory access data amount per unit time based on the refresh request 162 based on the refresh cycle count signal 165.
  • the refresh request bandwidth is calculated from the access interruption time generated for the memory 104 by the refresh operation and the refresh cycle count signal 165 at that time.
  • the access request mask circuits 211 to 213 respectively negate the access requests 150 to 152 from the corresponding masters 100 to 102 when the preceding refresh request signal 164 is asserted, and when the preceding refresh request signal 164 is negated. Outputs access requests 150-152 from the corresponding masters 100-102. The outputs of the access request mask circuits 211, 212, and 213 are transmitted to the maximum value determination circuit 214.
  • the maximum value determination circuit 214 determines the refresh request corresponding to the largest value from the subtraction results in the subtracters 207 to 209 and the calculation result in the request band calculation unit 210, depending on whether or not the refresh request 162 is asserted. 162 and access requests 150-152 are determined. The maximum value determination circuit 214 instructs the selector 215 with a refresh command 163 and access commands 153 to 155 corresponding to the determined refresh request 162 and access requests 150 to 152.
  • the maximum value determination circuit 214 compares the subtraction results of the subtracters 207 to 209 corresponding to the access request mask circuits 211 to 213 whose outputs are asserted, The access request permission signals 156 to 158 to the masters 100 to 102 corresponding to the subtracters 207 to 209 having the maximum subtraction result are asserted. Further, the refresh request permission signal 166 is negated.
  • the refresh request 162 when the refresh request 162 is asserted, the subtraction result of the subtracters 207 to 209 corresponding to the access request mask circuits 211 to 213 whose output is asserted is compared with the calculation result of the request bandwidth calculation unit 210. To do. As a result of the comparison, when the calculation result in the request bandwidth calculation unit 210 is the maximum, the refresh request permission signal 166 output to the refresh issue number counter 108 is asserted. Also, access request permission signals 156 to 158 are negated. As a result of comparison, if any subtraction result of the subtracters 207 to 209 is the maximum, the access request permission signal 156 to the masters 100 to 102 corresponding to the subtracters 207 to 209 having the maximum subtraction result. Assert ⁇ 158.
  • the maximum value determining circuit 214 can perform arbitration between the access requests 150 to 152 when a plurality of access requests 150 to 152 from the masters 100 to 102 are asserted. Further, when the refresh request 162 is asserted while at least one access request 150 to 152 from each master 100 to 102 is asserted, the access request 150 to 152 and the refresh request 162 can be arbitrated.
  • the selector 215 sends any one of the refresh command 163 and the access commands 153 to 155 according to the signal indicating any one of the refresh command 163 and the access commands 153 to 155 output from the maximum value determination circuit 214.
  • the selector 215 when the value of the subtracter 207, 208 or 209 is the maximum value in the maximum value determination circuit 214, the corresponding access command 153, 154, 155 is transmitted to the memory control unit 216, When the value of the requested bandwidth calculation unit 210 is the maximum value, the refresh command 163 is transmitted to the memory control unit 216.
  • the used bandwidth monitoring units 204 to 206 correspond to the masters 100 to 102, respectively, and monitor the used bandwidths of the access commands 153 to 155 issued from the corresponding masters 100 to 102. Specifically, when the corresponding access request permission signals 156 to 158 are asserted, the used bandwidth monitoring units 204 to 206 calculate the used bandwidth based on the access data amounts given by the corresponding access commands 153 to 155, respectively. Do. For example, the used bandwidth monitoring units 204 to 206 may monitor the used bandwidth for each of the masters 100 to 102 as follows.
  • the used bandwidth monitoring units 204 to 206 calculate the access data amounts corresponding to the corresponding access commands 153 to 155 each time the access requests 150 to 152 from the corresponding masters 100 to 102 are asserted, and issue them within the unit time.
  • the access data amount by all the access commands 153 to 155 that have been issued may be accumulated.
  • FIG. 3 is a block diagram illustrating an example of a detailed configuration of the used bandwidth monitoring unit 204.
  • the used bandwidth monitoring units 205 and 206 have the same configuration. Also shown in the figure is a timer 245 of an external circuit of the used bandwidth monitoring unit 204.
  • the used bandwidth monitoring unit 204 shown in the figure includes an access data amount acquisition unit 241, an adder 242, an accumulator 243, and a register 244.
  • the access data amount acquisition unit 241 acquires the access data amount given by the access command 153.
  • the adder 242 adds the access data amount acquired by the access data amount acquisition unit 241 and the access data amount held in the accumulator 243, and outputs the addition result to the accumulator 243.
  • the accumulator 243 accumulates and holds the access data amount from the reset timing controlled by the timer 245 to the present time.
  • the reset signal input from the timer 245 is asserted, the stored access data amount is output to the register 244.
  • the timer 245 asserts a reset signal every predetermined unit time (for example, 1 msec).
  • the used bandwidth monitoring unit 204 can accumulate the access data amount corresponding to all the access commands 153 issued within the unit time.
  • the used bandwidth monitoring units 204 to 206 function as monitoring units.
  • the memory control unit 216 generates an access command and a refresh command for the memory 104 according to the access commands 153 to 155 and the refresh command 163 selected by the arbiter 200, and sends each command to the memory 104 using the command transmission signal line 169. Issue.
  • the comparators 217 to 219 correspond to the masters 100 to 102, the requested bandwidths held in the corresponding requested bandwidth holding units 201 to 203, and the corresponding used bandwidth monitoring units 204 to 206 at the corresponding time points. A comparison is made with the used bandwidths 250 to 252, and when the used bandwidth exceeds the requested bandwidth, the requested bandwidth excess signals 159 to 161 are asserted.
  • the comparators 217 to 219 function as a band determination unit.
  • the access request arbitration unit 105 issues a refresh command to the memory 104 even if the access requests 150 to 152 from the masters 100 to 103 are asserted. Further, when the refresh request 162 and the preceding refresh request signal 164 are negated and the access requests 150 to 152 are asserted from two or more of the plurality of masters 100 to 102, the corresponding time points for the respective masters 100 to 102 Mediation based on the difference between the requested bandwidth and the corresponding used bandwidth 250-252.
  • the refresh request 162 when the refresh request 162 is asserted, the preceding refresh request signal 164 is negated, and the access requests 150 to 152 are asserted from at least one of the plurality of masters 100 to 102, each master 100 to 102
  • the refresh request 162 and the access requests 150 to 152 are arbitrated based on the difference between the corresponding requested bandwidth and the corresponding used bandwidth 250 to 252 and the refresh requested bandwidth.
  • refresh request control unit 106 the arbiter 200, and the memory control unit 216 function as a control unit.
  • FIG. 4 is a block diagram showing a detailed configuration of the refresh request issuing unit 109 in FIG.
  • the refresh request issuing unit 109 includes an access request determining unit 300, a comparator 301, a combinational circuit 302, and a refresh command generating unit 303.
  • the access request determination unit 300 asserts the access requests 150 to 152 and determines whether or not there are masters 100 to 102 that negate the request band excess signals 159 to 161. That is, if any one of the masters 100 to 102 issues an access request and the corresponding used bandwidth 250 to 252 does not exceed the corresponding requested bandwidth, the access request from the master 100 to 102 is issued. The access request determination unit 300 negates the output. In addition, when none of the masters 100 to 102 issues an access request, or any one of the masters 100 to 102 issues an access request, the corresponding used bandwidth 250 to 252 exceeds the corresponding requested bandwidth. If the access request is received, the access request determination unit 300 asserts the output, assuming that the access request from the masters 100 to 102 has not been issued. The output of the access request determination unit 300 is output as a preceding refresh request signal 164.
  • the comparator 301 determines whether or not the refresh issuance count signal 168, that is, the count value of the refresh issuance counter 108 is a reference value. For example, when the reference value is 0, the output is asserted if the refresh issue count signal 168 is 0, and the output is negated if it is not 0.
  • the combinational circuit 302 asserts and negates the refresh request 162 based on the results of the access request determination unit 300 and the comparator 301. Specifically, the combinational circuit 302 determines that the refresh request 162 when the value of the refresh issue counter 108 is 0 or the access request determination unit 300 considers that the access request from the masters 100 to 102 has not been issued. Is asserted. When the value of the refresh issuance number counter 108 is not 0 and the access request from the masters 100 to 102 to the refresh request issuing unit 109 is considered to be issued, the refresh request 162 is negated.
  • the refresh command generation unit 303 outputs a refresh command 163 for the access request arbitration unit 105.
  • the refresh command 163 is a fixed value, and is based on the command ID set by the refresh command generation unit 303 indicating that it is a refresh command and the information on the refresh area indicating which area of the memory 104 is to be refreshed. The value is determined.
  • Information set in the refresh command generation unit 303 may be fixed as hardware or set by software.
  • the refresh request issuing unit 109 asserts or negates the refresh request 162 and the preceding refresh request signal 164 based on the refresh issue count signal 168, the access requests 150 to 152, and the request bandwidth excess signals 159 to 161. Also, a refresh command 163 for the access request arbitration unit 105 is output.
  • the refresh cycle counter 107, the selector 215, the memory control unit 216, the comparator 301, the combinational circuit 302, and the refresh command generation unit 303 function as a normal refresh control unit.
  • the comparator 301 and the combinational circuit 302 also function as a refresh request issuing unit, and the arbiter 200 and the memory control unit 216 also function as an arbitration unit.
  • FIG. 5 is a timing chart illustrating an example of the operation of the memory control device 103 according to the first embodiment.
  • the access request arbitration unit 105 asserts a refresh request permission signal 166 for the refresh request 162.
  • a refresh command is issued from the memory control unit 216 to the memory 104.
  • the refresh request permission signal 166 is asserted, the value of the refresh issue counter 108 is incremented by 1 and changes from 0 to 1. Further, the refresh request 162 is negated when the value of the refresh issue counter 108 changes to 1.
  • the value of the refresh cycle counter 107 is initialized to a value corresponding to the refresh cycle which is an initial value.
  • the value of the refresh issue counter 108 is decremented by 1 and changes from 1 to 0. Further, the refresh request 162 is asserted when the value of the refresh issue counter 108 has changed to zero.
  • a request band excess signal 159 indicating that the master 100 has issued an access request 150 in a state of exceeding the request band is asserted.
  • the request band excess signal 160 indicating that the master 101 has issued the access request 151 in a state of exceeding the request band is asserted. Therefore, at this time, the master 100 asserts the access request 150 but also the request band excess signal 159, and the master 101 asserts the access request 151 but also the request band excess signal 160. Further, the master 102 has not asserted the access request 152. Therefore, it is considered that the access request determination unit 300 has not issued any access requests from the masters 100 to 102 to the refresh request issuing unit 109, and the preceding refresh request signal 164 is asserted. In addition, the refresh request 162 from the refresh request issuing unit 109 is also asserted.
  • the refresh request permission signal 166 is asserted by the access request arbitration unit 105.
  • the refresh request 162 is permitted with the highest priority in the access request arbitration unit 105.
  • the value of the refresh issue counter 108 is incremented by 1 and changes from 0 to 1.
  • the access request determination unit 300 has not issued any access requests from the masters 100 to 102 to the refresh request issuing unit 109. Therefore, although the value of the refresh issue number counter 108 is 1 or more, the refresh request 162 from the refresh request issuing unit 109 holds the asserted state.
  • the access request arbitration unit 105 asserts the refresh request permission signal 166.
  • the refresh request permission signal 166 is asserted, the value of the refresh issue counter 108 is incremented by 1 and changes from 1 to 2.
  • the refresh request 162 from the refresh request issuing unit 109 holds the asserted state.
  • the request band excess signal 159 for the master 100 is negated.
  • the access request determination unit 300 assumes that the access request 150 from the master 100 is asserted in the refresh request issuing unit 109. Therefore, the preceding refresh request signal 164 is negated.
  • the value of the refresh issue counter 108 is 3, which is 1 or more, so the refresh request 162 is negated.
  • the value of the refresh cycle counter 107 since the value of the refresh cycle counter 107 becomes 1 in the state one cycle before, the value of the refresh cycle counter 107 is initialized to the refresh cycle which is the initial value. As the value of the refresh cycle counter 107 is initialized, the value of the refresh issue counter 108 is decremented by 1 and changes from 3 to 2. At this time, the value of the refresh issue counter 108 is 1 or more, and the refresh request issuing unit 109 determines that the access request from the master 100 has been issued. Hold.
  • the refresh request 162 holds a negated state.
  • the refresh cycle counter 107 since the value of the refresh cycle counter 107 becomes 1 in the state one cycle before, the value of the refresh cycle counter 107 is initialized to the refresh cycle which is the initial value.
  • the value of the refresh issue counter 108 is decremented by 1 and changes from 1 to 0. Since the value of the refresh issue counter 108 has changed to 0, the refresh request 162 is asserted.
  • access requests 150 and 151 from the masters 100 and 101 are asserted, but request band excess signals 159 and 160 are also asserted.
  • the access request determination unit 300 regards that the access requests 150 and 151 are not present, and the refresh request issuing unit 109 asserts the preceding refresh request signal 164.
  • the refresh command 163 can be issued even when there are access requests 150 and 151 from the masters 100 and 101.
  • T407 to T410 since the value of the refresh issue counter 108 is 1 or more, the refresh command to the memory 104 is not issued. Therefore, in T407 to T410, it is possible to alleviate a decrease in the access efficiency from the masters 100 and 101 issuing the access request to the memory 104 due to the issue of the refresh command.
  • the memory control device 103 determines the number of times that the preceding refresh command corresponding to the period is issued before the period (T408 to T410) when the normal refresh command is not issued. The number of times to be performed (2 times) or more. As a result, volatilization of data in the memory 104 due to insufficient refresh can be prevented.
  • the memory control device 103 issues the preceding refresh command based on the use bandwidth corresponding to each of the masters 100 to 102 and the corresponding request bandwidth.
  • the access requests 150 to 152 When at least one of the access requests 150 to 152 is asserted, it is possible to mitigate a decrease in access efficiency from the masters 100 to 102 to the memory 104 due to a refresh command issued in synchronization with the refresh cycle.
  • the comparator 301 asserts the output when the refresh issue count signal 168 is 0, and negates the output when the refresh is not 0.
  • the value asserted by the comparator 301 is A range such as 0 or 1 may be provided. Furthermore, the range may be freely set according to the number of masters, the memory refresh cycle, and the like.
  • the memory control device does not issue the preceding refresh command to the memory 104 when the value counted by the refresh issue counter 108 is equal to or larger than a predetermined threshold value that is larger than the reference value.
  • the configuration of the memory control device in this embodiment is almost the same as the configuration of the memory control device 103 in the first embodiment, but the configuration of the refresh request issuing unit is different.
  • the memory control device according to the present embodiment will be described focusing on differences from the memory control device according to the first embodiment.
  • FIG. 6 is a block diagram showing a detailed configuration of the refresh request issuing unit of the present embodiment.
  • the refresh request issuing unit 509 shown in the figure further includes a comparator 504 and a combinational circuit 505 as compared with the refresh request issuing unit 109 shown in the first embodiment.
  • the access request determination unit 300, the comparator 301, the combinational circuit 302, and the refresh command generation unit 303 are the same as those in FIG.
  • the preceding refresh request signal 164 is the same as that shown in FIG.
  • the comparator 504 asserts an output when the refresh issuance count signal 168 is less than a predetermined threshold value (for example, 2) greater than the reference value, and negates the output when it is greater than the threshold value.
  • a predetermined threshold value for example, 2
  • the combinational circuit 505 takes the logical product of the output of the comparator 504 and the output of the access request determination unit 300.
  • the combinational circuit 302 calculates the logical sum of the output of the combinational circuit 505 and the output of the comparator 301 and outputs the result as a refresh request 162 to the access request arbitration unit 105.
  • the refresh request issuing unit 509 negates the refresh request 162 regardless of the determination result of the access request determining unit 300 when the refresh issue count signal 168 is 2 or more.
  • FIG. 7 is a timing chart showing an example of the operation of the memory control device according to the second embodiment.
  • access requests 150 to 152 and request band excess signals 159 to 161 are the same as those in FIG. This is because the value of the refresh issue counter 108 is 0, the value of the refresh issue counter 108 is 1 or more and less than 2, and the access request determination unit 300 determines that the access request from the master has not been issued. In this case, the refresh request 162 is asserted, otherwise it is negated.
  • access requests 150 and 151 from the masters 100 and 101 to the memory 104 are asserted.
  • Corresponding request band excess signals 159 and 160 are negated. Therefore, the preceding refresh request signal 164 is negated.
  • the value of the refresh issue counter 108 is 0, the value of the refresh request 162 from the refresh request issuing unit 109 is asserted.
  • the value of the refresh cycle counter is a value corresponding to the refresh cycle which is the initial value.
  • the access request arbitration unit 105 asserts the refresh request permission signal 166.
  • the refresh request permission signal 166 is asserted, the value of the refresh issue counter 108 is incremented by 1 and changes from 0 to 1.
  • the refresh request 162 is negated when the value of the refresh issue counter 108 changes to 1 while the access requests 150 and 151 from the masters 100 and 101 are asserted.
  • the value of the refresh cycle counter 107 is initialized to the initial refresh cycle.
  • the value of the refresh issue counter 108 is decremented by 1 and changes from 1 to 0. Further, the refresh request 162 is asserted when the value of the refresh issue counter 108 has changed to zero.
  • a request band excess signal 160 indicating that the master 101 has issued an access request 151 in a state of exceeding the request band is asserted. Further, the master 102 has not asserted the access request 152. Prior to T603, a request band excess signal 159 indicating that the master 100 has issued an access request 150 in a state of exceeding the request band is asserted.
  • the access request determination unit 300 since the access request determination unit 300 considers that no access requests from the masters 100 to 102 to the refresh request issuing unit 109 have been issued, the preceding refresh request signal 164 is asserted. Further, since the value of the refresh issue number counter 108 is 0, the refresh request 162 from the refresh request issuing unit 109 is also asserted.
  • the refresh request permission signal 166 is asserted by the access request arbitration unit 105.
  • the value of the refresh issue counter 108 is incremented by 1 and changes from 0 to 1.
  • the access request determination unit 300 has not issued any access requests from the masters 100 to 102 to the refresh request issuing unit 109. Therefore, the preceding refresh request signal 164 holds the asserted state.
  • the refresh request 162 from the refresh request issuing unit 109 holds the asserted state.
  • the access request arbitration unit 105 asserts the refresh request permission signal 166.
  • the refresh request permission signal 166 is asserted, the value of the refresh issue counter 108 is incremented by 1 and changed to 2. Since it is considered that the access request from the masters 100 to 102 to the refresh request issuing unit 109 has not been issued, the preceding refresh request signal 164 holds the asserted state. On the other hand, since the value of the refresh issuance number counter 108 does not satisfy the condition of 1 or more and less than 2, the refresh request 162 from the refresh request issuing unit 109 is negated.
  • the value of the refresh cycle counter 107 is initialized to a value corresponding to the refresh cycle which is the initial value.
  • the value of the refresh issue counter 108 is decremented by 1 and changed from 2 to 1.
  • the refresh request is issued.
  • the refresh request 162 from the request issuing unit 109 is asserted.
  • the access request arbitration unit 105 asserts the refresh request permission signal 166.
  • the refresh request permission signal 166 is asserted, the value of the refresh issue counter 108 is incremented by 1 and changed to 2. It is considered that access requests from the masters 100 to 102 to the refresh request issuing unit 109 are not issued, and the preceding refresh request signal 164 holds the asserted state.
  • the refresh issue number counter 108 does not satisfy the condition of 1 or more and less than 2, the refresh request 162 from the refresh request issuing unit 109 is negated again.
  • the request band excess signal 159 for the master 100 is negated. Since the access request 150 from the master 100 has been issued and the request bandwidth excess signal 159 has been negated, the access request 150 from the master 100 is asserted in the refresh request issuing unit 109 by the access request determination unit 300. Judge that there is. Therefore, the preceding refresh request signal 164 is negated. Further, since the value of the refresh issue counter 108 is 2, the refresh request 162 is kept negated.
  • the value of the refresh issue counter 108 is decremented by 1 and changed from 2 to 1 as in T608.
  • the value of the refresh issue number counter 108 is 1 or more and less than 2, since the access request 150 from the master 100 has been issued, the refresh request 162 holds the negated state.
  • the value of the refresh cycle counter 107 is initialized to a value corresponding to the refresh cycle which is the initial value.
  • the value of the refresh issue counter 108 is decremented by 1 and changes from 1 to 0. Since the value of the refresh issue counter 108 has changed to 0, the refresh request 162 is asserted.
  • the memory control device prohibits issuing a refresh command to the memory 104 when the value of the refresh issue counter 108 is equal to or greater than a threshold value.
  • the memory control device issues a refresh command to the memory 104 at least once during a time obtained by multiplying a value obtained by adding 1 to the threshold and the refresh cycle.
  • volatilization of data in the memory due to the memory 104 not being refreshed for a long time can be prevented.
  • the threshold value in the comparator 504 is 2 is shown as an example, but a number of 3 or more may be set according to the number of masters, the refresh period of the memory, and the like. Further, as in the first embodiment, the value asserted by the comparator 301 is not limited to 0.
  • memory control device described above may be applied to various information processing devices and systems.
  • FIG. 8 is a block diagram illustrating a configuration of a system according to the third embodiment.
  • the system shown in FIG. 8 includes a system LSI 700, an input device 701 such as a DVD drive, a display device 702 such as a liquid crystal display, and a memory 703.
  • a system LSI 700 an input device 701 such as a DVD drive
  • a display device 702 such as a liquid crystal display
  • the system LSI 700 includes a microcomputer circuit 704, a moving picture decoding circuit 705, an output device interface circuit 706, an input device interface (I / F) circuit 707, and a memory control device 708.
  • the memory control device 708 is either the memory control device 103 shown in the first embodiment or the memory control device shown in the second embodiment.
  • the microcomputer circuit 704, the moving picture decoding circuit 705, the output device interface circuit 706, and the input device interface circuit 707 are each connected to the memory control device 708. Further, the microcomputer circuit 704 is connected to the moving picture decoding circuit 705, the output device interface circuit 706, and the input device interface circuit 707, and can control each connection destination circuit.
  • the output device interface circuit 706 is connected to the display device 702, the input device interface circuit 707 is connected to the input device 701, and the memory control device 708 is connected to the memory 703.
  • the system shown in FIG. 8 controls the moving picture decoding circuit 705, the output device interface circuit 706, and the input device interface circuit 707 by the microcomputer circuit 704 executing the program stored in the memory 703 while reading it. Accordingly, the input device interface circuit 707 loads the moving image stream data from the input device 701 into the memory 703, and the moving image stream data read into the memory 703 is decoded by the moving image decoding circuit 705 to generate image data.
  • the output device interface circuit 706 reads out the image data written in the memory 703 and displays it on the display device 702.
  • the input device interface circuit 707 functions as a first master device
  • the moving image decoding circuit 705 functions as a second master device
  • the output device interface circuit 706 functions as a third master device.
  • the moving picture decoding circuit 705, the output device interface circuit 706, and the input device interface circuit 707 may access the memory 703 locally in each process, or conversely, access to the memory 703 for a certain period. There is a case that does not occur.
  • the output device interface circuit 706 data is locally read from the memory 703 according to the display frequency of the display device 702, and after the data for the display image to the display device 702 is read from the memory 703, The access request to the memory 703 is not issued during the period until the image is read out. That is, there are cases where an access request is issued beyond the requested bandwidth and cases where an access request is not issued. Since such a master accesses the memory 703 using the memory control device 708, an efficient refresh operation can be performed on the memory.
  • the refresh operation for the memory can be efficiently performed in the access state of a plurality of masters, and the system performance can be improved.
  • FIG. 9 shows a block diagram showing the configuration of the case.
  • the system shown in the figure includes a function unit 801 and a mobile phone M.
  • the function unit 801 includes a camera and a memory card, and holds encoded data.
  • the mobile phone M includes a display device 702, a memory 703, a system LSI 800, and an antenna 810.
  • the system LSI 800 includes a microcomputer circuit 704, a moving picture decoding circuit 705, an output device interface circuit 706, a high frequency transmission / reception device interface circuit 807, an external input device interface circuit 809, and a memory control device 708.
  • the memory control device 708 is the memory control device according to any one of the first and second embodiments.
  • a microcomputer circuit 704, a moving picture decoding circuit 705, an output device interface circuit 706, a high frequency transmission / reception device interface circuit 807 and an external input device interface circuit 809 are connected to the memory control device 708.
  • the microcomputer circuit 704 is connected to the moving picture decoding circuit 705, the output device interface circuit 706, the high frequency transmission / reception device interface circuit 807, and the external input device interface circuit 809, and can control each connection destination circuit.
  • the output device interface circuit 706 is connected to the display device 702, the high frequency transmission / reception device interface circuit 807 is connected to the antenna 810, the external input device interface circuit 809 is connected to the function unit 801, and the memory control device 708 is connected to the memory 703.
  • the moving picture decoding circuit 705, the output device interface circuit 706, the high frequency transmission / reception device interface circuit 807, and the external input device are executed by the microcomputer circuit 704 executing while reading the program stored in the memory 703.
  • the interface circuit 809 is controlled.
  • the external input device interface circuit 809 loads the moving image stream data from the functional unit 801 or the high frequency transmission / reception device interface circuit 807 from the antenna 810 to the memory 703, and the moving image stream data read into the memory 703 is decoded into a moving image.
  • the image data is generated by decoding by the circuit 705 and written into the memory 703, and the image data written in the memory 703 is read out by the output device interface circuit 706 and displayed on the display device 702.
  • the high frequency transmitting / receiving device interface circuit 807 and the external input device interface circuit 809 function as a first master device.
  • the moving picture decoding circuit 705, the output device interface circuit 706, the high frequency transmission / reception device interface circuit 807, and the external input device interface circuit 809 are locally transferred to the memory 703 in each processing.
  • the memory control device 708 is used to access the memory 703, so that the refresh operation for the memory can be performed efficiently, and the system performance can be improved.
  • the present invention may be applied to a television receiver.
  • a memory card or the like is applied as the functional unit, and the antenna 810 is considered to be a satellite antenna, a terrestrial antenna, a cable, or the like.
  • the antenna 810 receives a digital broadcast wave, for example.
  • the high frequency transmitter / receiver interface circuit 807 writes the encoded data separated from the digital broadcast wave received by the antenna 810 in the memory 703. This encoded data is data including an image.
  • FIG. 10 is a block diagram showing a configuration when the present invention is applied to a digital camera.
  • the digital camera C includes a display device 702, a memory 703, a system LSI 900, and a CCD 910.
  • a memory card 901 and a charge coupled device (CCD) 910 are listed as input devices.
  • the system LSI 900 includes an external input device interface circuit 809 and a CCD interface circuit 907 as these interfaces.
  • the CCD 910 is an image sensor that shoots a subject and outputs shooting data.
  • the CCD interface circuit 907 writes the shooting data output from the CCD 910 in the memory 703.
  • the CCD interface circuit 907 functions as a fourth master device.
  • the number of masters is three masters, but the number of masters may be any number of two or more masters.
  • the number of memories is one, but the number of memories may be any number.
  • the memory in the first to third embodiments can be applied to a memory that requires a refresh operation, such as SDR-SDRAM, DDR-SDRAM, and FCRAM.
  • the memory control device is connected to a plurality of master devices and a memory shared by the plurality of master devices, and from the master device in response to an access request issued from the plurality of master devices.
  • a memory control device that controls access to a memory and is useful as a DVD recorder, a mobile phone, a television receiver, a digital camera, and the like.

Abstract

 本発明のメモリ制御装置は、アクセス要求を発行する複数のマスタ(100~102)と、前記複数のマスタ(100~102)が共有するメモリ(104)とに接続され、前記アクセス要求に応じて前記メモリ(104)へのアクセスを制御するメモリ制御装置であって、前記複数のマスタ装置毎に、当該マスタ(100~102)から発行されたアクセス要求による単位時間当たりのメモリアクセスデータ量である使用帯域を監視する監視部と、前記複数のマスタ装置毎に、予め定められた要求帯域を保持する保持部と、前記複数のマスタ(100~102)毎に、対応する使用帯域が対応する要求帯域に達したか否かを判定する帯域判定部と、前記帯域判定部によるマスタ装置毎の判定結果に基づいて、リフレッシュ周期のタイミングと無関係に先行リフレッシュコマンドを前記メモリ(104)へ発行する制御部とを備える。

Description

メモリ制御装置、およびこれを備えた情報処理装置
 本発明は、複数のマスタ装置と、前記複数のマスタ装置が共有するメモリとに接続され、前記複数のマスタ装置から発行されたアクセス要求に応じて前記マスタ装置から前記メモリへのアクセスを制御するメモリ制御装置およびこれを備えた情報処理装置に関する。
 システムLSIでは、プロセッサやハードウェアエンジン等複数のマスタが共有のメモリにアクセスするユニファイドメモリ技術が知られている。このときに使用されるメモリとして、SDRAM(Synchronous Dynamic Random Access Memory)等がある。SDRAMは揮発性のメモリであり、データ保持のためには、リフレッシュと呼ばれる一定時間ごとに電荷を注入する動作を行う必要がある。SDRAMに対してリフレッシュ動作を行う際、SDRAMのスペックに応じてリフレッシュ動作の前後で一定期間、SDRAMへのアクセスが不可能となる期間が存在する。そのため、リフレッシュ動作が発生することにより、マスタからSDRAMへのアクセス要求は一時中断されることになり、マスタからSDRAMへのアクセス効率低下に繋がる。
 このアクセス効率低下を緩和する従来技術として、例えば、特許文献1に記載のメモリリフレッシュ制御回路が開示されている。特許文献1のメモリリフレッシュ制御回路は、ホストCPUからメモリへのアクセス要求が発行されていない場合は、周期的なリフレッシュ発行間隔に対して先行してリフレッシュコマンドを発行する。一方、ホストCPUからメモリへのアクセス要求が発行されている際に周期的なリフレッシュ発行間隔に同期したリフレッシュ要求が発生した場合は、以下の処理を行う。メモリリフレッシュ制御回路は、当該時点以前に先行してリフレッシュコマンドを発行している場合、当該リフレッシュ要求によるリフレッシュコマンドの発行を停止する。よって、ホストCPUからメモリへのアクセス要求は中断されないので、リフレッシュコマンド発行によるホストCPUからメモリへのアクセス効率低下を緩和する。
特開平6-236683号公報
 特許文献1においては、ホストCPUからメモリへのアクセス効率低下を緩和することが可能であるが、複数のマスタがメモリを共有する構成を採っていない。複数のマスタがメモリを共有する構成の場合には、複数のマスタすべてがメモリへのアクセス要求を発行していない状況においてのみ、特許文献1のようにリフレッシュコマンドを先行して発行することが可能となる。しかしながら、複数のマスタすべてがメモリへのアクセス要求を発行していない状況は少なく、特許文献1でのアクセス効率低下を緩和するという効果が薄くなるという課題が存在する。
 本発明は上記課題を鑑み、メモリを複数のマスタで共有している場合にも先行してリフレッシュコマンドを発行することでリフレッシュコマンドの発行によるマスタからメモリへのアクセス効率低下を緩和するメモリ制御装置および当該メモリ制御装置を備える情報処理装置を提供することを目的とする。
 上記課題を解決するため、本発明の半導体装置は、複数のマスタ装置と、前記複数のマスタ装置が共有するメモリとに接続され、前記複数のマスタ装置から発行されたアクセス要求に応じて前記マスタ装置から前記メモリへのアクセスを制御するメモリ制御装置であって、前記複数のマスタ装置毎に、当該マスタ装置から発行されたアクセス要求による単位時間当たりのメモリアクセスデータ量である使用帯域を監視する監視部と、前記複数のマスタ装置毎に、予め定められた要求帯域を保持する保持部と、前記複数のマスタ装置毎に、対応する使用帯域が対応する要求帯域に達したか否かを判定する帯域判定部と、前記帯域判定部によるマスタ装置毎の判定結果に基づいて、リフレッシュ周期のタイミングと無関係に先行リフレッシュコマンドを前記メモリへ発行する制御部とを備える。
 これにより、複数のマスタ装置に共有されるメモリに対しても、先行リフレッシュコマンドを使用帯域と要求帯域とに基づいて発行するので、リフレッシュ周期に同期して発生するリフレッシュコマンドの発行による当該マスタ装置からメモリへのアクセス効率の低下を緩和できる。
 また、前記制御部は、使用帯域が対応する要求帯域に達していると判定されたとき、対応するマスタ装置が前記アクセス要求をアサートしていないとみなし、前記複数のマスタ装置すべてが前記アクセス要求をアサートしていないとみなされるとき、前記先行リフレッシュコマンドを前記メモリへ発行してもよい。
 これにより、複数のマスタ装置すべてがメモリへアクセス要求を発行していない場合にのみ先行リフレッシュコマンドを発行する場合と比較して、より多くの先行リフレッシュコマンドを発行できるので、メモリへのアクセス効率の低下を一層緩和できる。
 また、前記制御部は、前記メモリをリフレッシュする通常のリフレッシュコマンドを周期的に前記メモリへ発行するための通常リフレッシュ制御部と、前記リフレッシュ周期毎に1デクリメントし、前記通常のリフレッシュコマンドの発行時に1インクリメントし、前記先行リフレッシュコマンド発行時に1インクリメントするリフレッシュ発行回数カウンタとを備え、前記通常リフレッシュ制御部は、前記リフレッシュ発行回数カウンタのカウント値が基準値になったとき前記通常のリフレッシュコマンドを発行し、前記リフレッシュ発行回数カウンタのカウント値が前記基準値以外の値になったとき前記通常のリフレッシュコマンドを発行しなくてもよい。
 これにより、通常のリフレッシュコマンドが発行されない期間までに、当該期間に対応する先行リフレッシュコマンドが発行された回数は、当該期間において通常のリフレッシュコマンドが発行されるべき回数以上となる。その結果、リフレッシュ不足によるメモリのデータの揮発を防止できる。
 また、前記制御部は、前記リフレッシュ発行回数カウンタによってカウントされた値が前記基準値より大きい予め定められた閾値以上の場合、前記先行リフレッシュコマンドの発行を禁止してもよい。
 これにより、メモリ制御装置は、閾値およびリフレッシュ周期に対応する時間内に少なくとも1回は通常のリフレッシュコマンドを発行する。その結果、長時間にわたりメモリがリフレッシュされないことによるメモリのデータの揮発を一層防止できる。
 また、前記制御部は、前記メモリをリフレッシュする通常のリフレッシュ要求を周期的に発行するリフレッシュ要求発行部と、前記複数のマスタ装置毎に対応する使用帯域と対応する要求帯域との差分と前記リフレッシュ要求による単位時間当たりのメモリアクセスデータ量であるリフレッシュ要求帯域とに基づいて、前記通常のリフレッシュ要求と前記複数のマスタ装置から発行された各アクセス要求とを調停し、調停した結果に応じてコマンドを前記メモリへ発行する調停部とを備えてもよい。
 これにより、各マスタ装置からのアクセス要求が複数発生している場合に、当該アクセス要求間での調停ができる。また、各マスタ装置からのアクセス要求が少なくとも1つ発生している期間に通常のリフレッシュ要求が発生した場合、当該アクセス要求と通常のリフレッシュ要求との調停ができる。
 また、本発明の情報処理装置は、上記メモリ制御装置と前記複数のマスタ装置とを有する半導体集積回路と、前記半導体集積回路に接続されたリフレッシュ動作を必要とする前記メモリとを備え、前記複数のマスタ装置は、外部から入力された符号化データを前記メモリに書き込む第1マスタ装置と、前記メモリに書き込まれた前記符号化データを復号して、復号した前記符号化データである復号データを前記メモリに書き込む第2マスタ装置と、前記復号データを前記メモリから取得し、取得した前記復号データを表示装置に出力する第3マスタ装置とを含む。
 また、前記第1マスタ装置は、デジタル放送波から分離された前記符号化データを前記メモリに書き込んでもよい。
 また、前記符号化データは、画像を含むデータであってもよい。
 また、前記情報処理装置はさらに、被写体を撮影して撮影データを出力する撮像素子と、出力された前記撮影データを前記メモリに書き込む第4マスタ装置とを備え、前記第2マスタ装置はさらに、前記メモリから前記撮影データを取得し、取得した前記撮影データを符号化して、符号化した前記撮影データである符号化撮影データを前記メモリへ書き込み、前記第3マスタ装置はさらに、前記撮影データを前記メモリから取得し、取得した前記撮影データを前記表示装置に出力し、前記第1マスタ装置は、前記符号化撮影データを前記メモリから取得し、取得した前記符号化撮影データを記録媒体に記録してもよい。
 本発明によれば、メモリを複数のマスタで共有している場合にも先行してリフレッシュコマンドを発行することでリフレッシュコマンドの発行によるマスタからメモリへのアクセス効率低下を緩和するメモリ制御装置および情報処理装置を提供できる。
図1は、第1の実施形態に係るメモリ制御装置の構成を示す図である。 図2は、アクセス要求調停部の詳細な構成を示すブロック図である。 図3は、使用帯域監視部の詳細な構成の一例を示すブロック図である。 図4は、リフレッシュ要求発行部の詳細な構成を示すブロック図である。 図5は、メモリ制御装置の動作の一例を示すタイミングチャートである。 図6は、第2の実施形態におけるリフレッシュ要求発行部の詳細な構成を示すブロック図である。 図7は、メモリ制御装置の動作の一例を示すタイミングチャートである。 図8は、第3の実施形態におけるシステム構成を示すブロック図である。 図9は、第4の実施形態におけるシステム構成を示すブロック図である。 図10は、本発明のメモリ制御装置を備えるデジタルカメラの構成を示すブロック図である。
符号の説明
 100~102 マスタ
 103、708 メモリ制御装置
 104、703 メモリ
 105 アクセス要求調停部
 106 リフレッシュ要求制御部
 107 リフレッシュ周期カウンタ
 108 リフレッシュ発行回数カウンタ
 109、509 リフレッシュ要求発行部
 150~152 アクセス要求
 153~155 アクセスコマンド
 156~158 アクセス要求許可信号
 159~161 要求帯域超過信号
 162 リフレッシュ要求
 163 リフレッシュコマンド
 164 先行リフレッシュ要求信号
 165 リフレッシュ周期カウント信号
 166 リフレッシュ要求許可信号
 167 リフレッシュ発行回数カウンタデクリメント信号
 168 リフレッシュ発行回数カウント信号
 169 コマンド伝達用信号線
 200 調停器
 201~203 要求帯域保持部
 204~206 使用帯域監視部
 207~209 減算器
 210 要求帯域演算部
 211~213 アクセス要求マスク回路
 214 最大値決定回路
 215 セレクタ
 216 メモリ制御部
 217~219、301、504 比較器
 241 アクセスデータ量取得部
 242 加算器
 243 アキュムレータ
 244 レジスタ
 245 タイマ
 250~252 使用帯域
 300 アクセス要求判定部
 302、505 組み合わせ回路
 303 リフレッシュコマンド生成部
 700、800、900 システムLSI
 701 入力装置
 702 表示装置
 704 マイコン回路
 705 動画像復号化回路
 706 出力装置インタフェース回路
 707 入力装置インタフェース回路
 801 機能部
 807 高周波送受信装置インタフェース回路
 809 外部入力装置インタフェース回路
 810 アンテナ
 901 メモリカード
 907 CCDインタフェース回路
 910 CCD
 M  携帯電話機
 C  デジタルカメラ
 (第1の実施形態)
 本実施形態のメモリ制御装置は、アクセス要求を発行する複数のマスタ装置と、前記複数のマスタ装置が共有するメモリとに接続され、前記アクセス要求に応じて前記メモリへのアクセスを制御するメモリ制御装置であって、前記複数のマスタ装置毎に、当該マスタ装置から発行されたアクセス要求による単位時間当たりのメモリアクセスデータ量である使用帯域を監視する監視部と、前記複数のマスタ装置毎に、予め定められた要求帯域を保持する保持部と、前記複数のマスタ装置毎に、対応する使用帯域が対応する要求帯域に達したか否かを判定する帯域判定部と、前記帯域判定部によるマスタ装置毎の判定結果に基づいて、リフレッシュ周期のタイミングと無関係に先行リフレッシュコマンドを前記メモリへ発行する制御部とを備える。
 これにより、複数のマスタ装置に共有されるメモリに対しても、先行リフレッシュコマンドを使用帯域と要求帯域とに基づいて発行するので、リフレッシュ周期に同期して発生するリフレッシュコマンドの発行による当該マスタ装置からメモリへのアクセス効率の低下を緩和できる。
 図1は、本発明の第1の実施形態に係るメモリ制御装置の構成を示す図である。なお、同図においては、メモリ制御装置103に接続されるマスタ100~102と、メモリ104も示されている。
 メモリ制御装置103は、アクセス要求調停部105およびリフレッシュ要求制御部106を備え、各マスタ100~102からメモリ104へのアクセス要求150~152の調停、およびメモリ104へのアクセスコマンド発行を制御する。また、メモリ制御装置103はメモリ104へのリフレッシュコマンド発行を制御する。
 アクセス要求調停部105は、マスタ100~102毎に予め定められたメモリ104への要求帯域を満たすように、各マスタから発行されるメモリ104へのアクセス要求150~152に対する調停を行う。次に、調停した結果に従ってアクセスコマンド153~155のいずれか1つを、コマンド伝達用信号線169を介してメモリ104に対して発行する。なお、アクセスコマンド153~155は書き込み・読み込みの区別、マスタの種類、アクセスアドレス、アクセスデータ量等から構成される。アクセス要求調停部105は、アクセス要求許可信号156~158を介して、調停の結果をマスタへ伝達する。また、アクセス要求調停部105は、各マスタからメモリ104へのアクセスコマンド153~155およびアクセス要求許可信号156~158に基づいて各マスタの使用帯域を監視する。そして、マスタ毎に設定されたメモリ104への要求帯域を超えてアクセス要求を発行しているマスタに対して要求帯域超過信号159~161をアサートしてリフレッシュ要求制御部106に要求帯域を超えてアクセス要求150~152が発行されていることを伝達する。
 リフレッシュ要求制御部106は、マスタ100~102からのアクセス要求150~152と、アクセス要求調停部105での調停結果に基づき、リフレッシュ要求162、リフレッシュコマンド163及び先行リフレッシュ要求信号164等を発生する。具体的には、リフレッシュ要求制御部106は、リフレッシュ周期カウンタ107、リフレッシュ発行回数カウンタ108およびリフレッシュ要求発行部109を備え、リフレッシュ要求162と、リフレッシュコマンド163と、先行リフレッシュ要求信号164と、リフレッシュ周期カウンタ107の値を示す信号であるリフレッシュ周期カウント信号165とを、アクセス要求調停部105に対して発行する。アクセス要求調停部105によりリフレッシュ要求162が許可されると、リフレッシュ要求許可信号166を介してリフレッシュ要求の許可が伝達される。
 リフレッシュ周期カウンタ107は、外部から入力されるマスタクロックを基に、設定されたリフレッシュ周期(例えば、10m秒)に対応する値を初期値として毎サイクル1ずつ値をデクリメントするダウンカウンタである。このリフレッシュ周期カウンタ107は、リフレッシュ周期カウント信号165をアクセス要求調停部105へ出力する。また、リフレッシュ周期カウンタ107は、リフレッシュ周期カウンタ107の値が1になると、リフレッシュ発行回数カウンタデクリメント信号167をアサートする。また、リフレッシュ周期カウンタ107の値は、1になった次のサイクルで初期値にリセットされる。
 リフレッシュ発行回数カウンタ108は、アクセス要求調停部105からリフレッシュ要求許可信号166がアサートされるとカウンタ値を1インクリメントし、リフレッシュ周期カウンタ107からリフレッシュ発行回数カウンタデクリメント信号167がアサートされると1デクリメントする。つまり、リフレッシュ発行回数カウンタ108の値は、リフレッシュ周期が来る前に前もってリフレッシュ発行が行われた回数を表している。リフレッシュ発行回数カウンタ108の値は、リフレッシュ発行回数カウント信号168を介してリフレッシュ要求発行部109に伝達される。
 リフレッシュ要求発行部109は、リフレッシュ発行回数カウント信号168により伝達されるリフレッシュ発行回数カウンタ108の値、およびマスタ100~102それぞれに対応する要求帯域超過信号159~161に従って、リフレッシュ要求162、および先行リフレッシュ要求信号164を発行する。
 また、リフレッシュ要求発行部109は、リフレッシュコマンド163をアクセス要求調停部105に対して出力する。リフレッシュコマンド163は固定値であり、アクセス要求調停部105がメモリ104に対してリフレッシュ発行を実施するために必要なリフレッシュコマンドであることを示すコマンドID、およびメモリ104のどの領域に対してリフレッシュを実行するかを示すリフレッシュ領域の情報を有している。
 図2は、図1中のアクセス要求調停部105の詳細な構成を示すブロック図である。
 アクセス要求調停部105は、調停器200と、要求帯域保持部201~203と、使用帯域監視部204~206と、比較器217~219とを備える。
 調停器200は、マスタ100~102毎に設定された要求帯域保持部201~203、使用帯域監視部204~206から伝達されるマスタ100~102毎の使用帯域250~252、リフレッシュ周期カウント信号165および先行リフレッシュ要求信号164に基づき、マスタ100~102からのアクセス要求150~152およびリフレッシュ要求162の調停を行う。調停結果はアクセス要求許可信号156~158およびリフレッシュ要求許可信号166を介して、それぞれマスタ100~102およびリフレッシュ要求制御部106に伝達される。
 具体的には、調停器200は、減算器207~209、要求帯域演算部210、アクセス要求マスク回路211~213、最大値決定回路214及びセレクタ215を備える。
 減算器207~209はそれぞれ、対応する要求帯域保持部201に保持されている要求帯域から対応する使用帯域監視部204が監視している対応する使用帯域を減算する。具体的には、減算器207では(要求帯域保持部201が保持する要求帯域-使用帯域250)の演算が、減算器208では(要求帯域保持部202が保持する要求帯域-使用帯域251)の演算が、減算器209では(要求帯域保持部203が保持する要求帯域-使用帯域252)の演算が行われ、演算結果はそれぞれ最大値決定回路214に伝達される。
 ここで、要求帯域とは、対応するマスタ100~102における処理を円滑に進めるために要求される単位時間当たりのメモリアクセスデータ量をいう。メモリアクセスの頻度が高い処理では、要求帯域が大きくなり、メモリアクセスの頻度が低い処理では要求帯域が小さくなる。例えば、各マスタ100~102またはOSは、初期化時に要求帯域保持部201~203に要求帯域を設定すればよい。また、プログラム(タスク又はプロセス)の切り換え時に動的に変更してもよい。上記の単位時間は、固定値でよいが、例えば、マスタ100~102における単位処理の時間、画像処理のフレーム(フィールド)周期の整数倍、リフレッシュ周期の整数倍でよい。
 また、使用帯域とは、マスタ100~102から発行されたアクセス要求による、現時点における単位時間当たりのメモリアクセスデータ量をいう。なお、要求帯域保持部201~203は、保持部として機能する。
 要求帯域演算部210では、リフレッシュ周期カウント信号165に基づいてリフレッシュ要求162による単位時間当たりのメモリアクセスデータ量であるリフレッシュ要求帯域を算出する。リフレッシュ要求帯域は、リフレッシュ動作によりメモリ104に対して発生するアクセス中断時間、および当該時点でのリフレッシュ周期カウント信号165より算出される。
 アクセス要求マスク回路211~213はそれぞれ、先行リフレッシュ要求信号164がアサートされているときは対応するマスタ100~102からのアクセス要求150~152をネゲートし、先行リフレッシュ要求信号164がネゲートされているときは対応するマスタ100~102からのアクセス要求150~152を出力する。アクセス要求マスク回路211、212、213の出力は、最大値決定回路214に伝達される。
 最大値決定回路214は、リフレッシュ要求162がアサートされているか否かに応じて、減算器207~209での減算結果と要求帯域演算部210での算出結果とから最も大きい値に対応するリフレッシュ要求162およびアクセス要求150~152を決定する。また、最大値決定回路214は、決定したリフレッシュ要求162およびアクセス要求150~152に対応するリフレッシュコマンド163およびアクセスコマンド153~155をセレクタ215に指示する。
 具体的には、最大値決定回路214は、リフレッシュ要求162がネゲートしている場合、出力がアサートしているアクセス要求マスク回路211~213に対応する減算器207~209の減算結果を比較し、減算結果が最大である減算器207~209に対応するマスタ100~102へのアクセス要求許可信号156~158をアサートする。また、リフレッシュ要求許可信号166をネゲートする。
 一方、リフレッシュ要求162がアサートしている場合、出力がアサートしているアクセス要求マスク回路211~213に対応する減算器207~209の減算結果と、要求帯域演算部210での算出結果とを比較する。比較した結果、要求帯域演算部210での算出結果が最大である場合、リフレッシュ発行回数カウンタ108へ出力しているリフレッシュ要求許可信号166をアサートする。また、アクセス要求許可信号156~158をネゲートする。また、比較した結果、減算器207~209のうちのいずれかの減算結果が最大である場合、減算結果が最大である減算器207~209に対応するマスタ100~102へのアクセス要求許可信号156~158をアサートする。
 これにより、最大値決定回路214は、各マスタ100~102からのアクセス要求150~152が複数アサートしている場合に、当該アクセス要求150~152間での調停ができる。また、各マスタ100~102からのアクセス要求150~152が少なくとも1つアサートしている期間にリフレッシュ要求162がアサートした場合、当該アクセス要求150~152とリフレッシュ要求162との調停ができる。
 セレクタ215は、最大値決定回路214から出力されたリフレッシュコマンド163およびアクセスコマンド153~155のいずれか1つを示す信号に従い、リフレッシュコマンド163およびアクセスコマンド153~155のいずれか1つをメモリ制御部216へ出力する。具体的には、セレクタ215では、最大値決定回路214において減算器207、208または209の値が最大値である場合は、対応するアクセスコマンド153、154、155をメモリ制御部216に伝達し、要求帯域演算部210の値が最大値である場合は、リフレッシュコマンド163をメモリ制御部216に伝達する。
 使用帯域監視部204~206はそれぞれ、マスタ100~102に対応し、対応するマスタ100~102から発行されたアクセスコマンド153~155の使用帯域を監視する。具体的には、使用帯域監視部204~206はそれぞれ、対応するアクセス要求許可信号156~158がアサートされると、対応するアクセスコマンド153~155により与えられるアクセスデータ量に基づき使用帯域の算出を行う。例えば、使用帯域監視部204~206は、マスタ100~102毎の使用帯域の監視を次のようにすればよい。使用帯域監視部204~206はそれぞれ、対応するマスタ100~102からのアクセス要求150~152がアサートする毎に対応するアクセスコマンド153~155に対応するアクセスデータ量を算出し、単位時間内に発行された全ての当該アクセスコマンド153~155によるアクセスデータ量を累算すればよい。
 図3は、使用帯域監視部204の詳細な構成の一例を示すブロック図である。なお、使用帯域監視部205および206も同様の構成である。また、同図には、使用帯域監視部204の外部回路のタイマ245も示されている。
 同図に示す使用帯域監視部204は、アクセスデータ量取得部241と、加算器242と、アキュムレータ243と、レジスタ244とを備える。アクセスデータ量取得部241は、アクセス要求許可信号156がアサートされると、アクセスコマンド153により与えられるアクセスデータ量を取得する。加算器242は、アクセスデータ量取得部241により取得されたアクセスデータ量と、アキュムレータ243に保持されているアクセスデータ量とを加算し、加算結果をアキュムレータ243へ出力する。アキュムレータ243は、タイマ245により制御されるリセットタイミングから現時点までのアクセスデータ量を累算し、保持する。また、タイマ245から入力されているリセット信号がアサートした場合、保持しているアクセスデータ量をレジスタ244に出力する。なお、タイマ245は、予め定められた単位時間(例えば、1m秒)ごとにリセット信号をアサートする。
 これにより、使用帯域監視部204は、単位時間内に発行された全てのアクセスコマンド153に対応するアクセスデータ量を累算できる。なお、この使用帯域監視部204~206は、監視部として機能する。
 メモリ制御部216は、調停器200により選択されたアクセスコマンド153~155およびリフレッシュコマンド163に従ってメモリ104に対するアクセスコマンドおよびリフレッシュコマンドを生成し、コマンド伝達用信号線169を用いてメモリ104へ各コマンドを発行する。
 比較器217~219はそれぞれ、マスタ100~102に対応し、対応する要求帯域保持部201~203に保持されている要求帯域と、対応する使用帯域監視部204~206から与えられる当該時点での使用帯域250~252との比較を行い、使用帯域が要求帯域を超えている場合には要求帯域超過信号159~161をアサートする。この比較器217~219は、帯域判定部として機能する。
 このように、アクセス要求調停部105は、先行リフレッシュ要求信号164がアサートされている場合、マスタ100~103からのアクセス要求150~152がアサートされていても、メモリ104へリフレッシュコマンドを発行する。また、リフレッシュ要求162および先行リフレッシュ要求信号164がネゲートされ、かつ複数のマスタ100~102のうち2つ以上からアクセス要求150~152がアサートされている場合、マスタ100~102ごとに対応する当該時点での要求帯域と、対応する使用帯域250~252との差分に基づき調停する。また、リフレッシュ要求162がアサートされ、かつ先行リフレッシュ要求信号164がネゲートされ、かつ複数のマスタ100~102のうち少なくとも1つからアクセス要求150~152がアサートされている場合、マスタ100~102ごとに対応する当該時点での要求帯域と対応する使用帯域250~252との差分と、リフレッシュ要求帯域に基づき、リフレッシュ要求162と当該アクセス要求150~152とを調停する。
 なお、リフレッシュ要求制御部106と、調停器200と、メモリ制御部216とは制御部として機能する。
 図4は、図1中のリフレッシュ要求発行部109の詳細な構成を示すブロック図である。リフレッシュ要求発行部109は、アクセス要求判定部300と、比較器301と、組み合わせ回路302と、リフレッシュコマンド生成部303とを備える。
 アクセス要求判定部300は、アクセス要求150~152をアサートし、かつ要求帯域超過信号159~161をネゲートしているマスタ100~102が存在するか否かの判定を行う。つまり、いずれか1つのマスタ100~102でもアクセス要求を発行し、かつ対応する使用帯域250~252が対応する要求帯域を超過していない場合には、当該マスタ100~102からのアクセス要求が発行されているとみなして、アクセス要求判定部300は出力をネゲートする。また、いずれのマスタ100~102もアクセス要求を発行していない場合、またはマスタ100~102のいずれか1つがアクセス要求を発行しているが対応する使用帯域250~252が対応する要求帯域を超過している場合には、マスタ100~102からのアクセス要求は発行されていないとみなして、アクセス要求判定部300は出力をアサートする。このアクセス要求判定部300の出力は、先行リフレッシュ要求信号164として出力される。
 比較器301は、リフレッシュ発行回数カウント信号168、すなわちリフレッシュ発行回数カウンタ108のカウント値が基準値か否かを判定する。例えば、基準値が0の場合、リフレッシュ発行回数カウント信号168が0であれば出力をアサートし、0以外であれば出力をネゲートする。
 組み合わせ回路302では、アクセス要求判定部300および比較器301の結果に基づき、リフレッシュ要求162をアサートおよびネゲートする。具体的には、組み合わせ回路302は、リフレッシュ発行回数カウンタ108の値が0、またはアクセス要求判定部300によりマスタ100~102からのアクセス要求が発行されていないとみなされた場合にはリフレッシュ要求162をアサートする。リフレッシュ発行回数カウンタ108の値が0ではなく、かつリフレッシュ要求発行部109に対するマスタ100~102からのアクセス要求が発行されているとみなされた場合にはリフレッシュ要求162をネゲートする。
 リフレッシュコマンド生成部303は、アクセス要求調停部105に対するリフレッシュコマンド163を出力する。リフレッシュコマンド163は固定値であり、リフレッシュコマンド生成部303で設定されたリフレッシュコマンドであることを示すコマンドID、およびメモリ104のどの領域に対してリフレッシュを実行するかを示すリフレッシュ領域の情報によってその値が決定される。なお、リフレッシュコマンド生成部303に設定される情報はハードウェアとして固定しても、ソフトウェアにより設定されてもどちらでも良い。
 このように、リフレッシュ要求発行部109は、リフレッシュ発行回数カウント信号168、アクセス要求150~152および要求帯域超過信号159~161に基づいて、リフレッシュ要求162および先行リフレッシュ要求信号164をアサートまたはネゲートする。また、アクセス要求調停部105に対するリフレッシュコマンド163を出力する。
 これにより、複数のマスタ100~102すべてがアクセス要求150~152をネゲートしている場合にのみ先行してリフレッシュコマンドを発行する場合と比較して、より多くのリフレッシュコマンドを先行して発行できるので、メモリ104へのアクセス効率の低下を一層緩和できる。
 なお、リフレッシュ周期カウンタ107、セレクタ215、メモリ制御部216、比較器301、組み合わせ回路302およびリフレッシュコマンド生成部303は通常リフレッシュ制御部として機能する。
 また、比較器301および組み合わせ回路302はリフレッシュ要求発行部としても機能し、調停器200およびメモリ制御部216は調停部としても機能する。
 次に、ここまで説明したメモリ制御装置103の動作について説明する。図5は、第1の実施形態におけるメモリ制御装置103の動作の一例を示すタイミングチャートである。
 まずT400において、マスタ100および101からメモリ104に対するアクセス要求150および151がアサートされているが、対応する要求帯域超過信号159および160はネゲートされている。したがって、先行リフレッシュ要求信号164はネゲートされている。また、リフレッシュ発行回数カウンタ108の値は0であるので、リフレッシュ要求発行部109からのリフレッシュ要求162はアサートされている。また、T400ではリフレッシュ周期カウンタ107の値は初期値であるリフレッシュ周期に対応した値となっている。
 次にT401において、アクセス要求調停部105によって、リフレッシュ要求162に対するリフレッシュ要求許可信号166がアサートされる。リフレッシュ要求162が許可されたことで、メモリ制御部216からメモリ104へリフレッシュコマンドが発行される。また、リフレッシュ要求許可信号166がアサートされたことにより、リフレッシュ発行回数カウンタ108の値は1加算されて0から1に変化する。また、リフレッシュ発行回数カウンタ108の値が1に変化したことにより、リフレッシュ要求162はネゲートされる。
 次にT402において、1サイクル前の状態においてリフレッシュ周期カウンタ107の値が1になるので、T402ではリフレッシュ周期カウンタ107の値は初期値であるリフレッシュ周期に対応する値に初期化される。リフレッシュ周期カウンタ107の値が初期化されたことにより、リフレッシュ発行回数カウンタ108の値は1減算され1から0に変化する。また、リフレッシュ発行回数カウンタ108の値が0に変化したことにより、リフレッシュ要求162はアサートされる。
 次に、T402~T403において、再度T401およびT402と同様に動作する。
 次にT403において、マスタ100が要求帯域を超えた状態でのアクセス要求150を発行している状態となったことを示す要求帯域超過信号159がアサートされる。
 次にT404において、マスタ101が要求帯域を超えた状態でのアクセス要求151を発行している状態となったことを示す要求帯域超過信号160がアサートされる。したがって、このとき、マスタ100はアクセス要求150をアサートしているが要求帯域超過信号159もアサートされ、マスタ101はアクセス要求151をアサートしているが要求帯域超過信号160もアサートされている。また、マスタ102はアクセス要求152をアサートしていない。よって、アクセス要求判定部300によりリフレッシュ要求発行部109に対するマスタ100~102からのアクセス要求はいずれも発行されていないとみなされ、先行リフレッシュ要求信号164がアサートされる。また、リフレッシュ要求発行部109からのリフレッシュ要求162もアサートされる。
 次にT405において、アクセス要求調停部105によってリフレッシュ要求許可信号166がアサートされる。このとき、先行リフレッシュ要求信号164がアサートされているので、リフレッシュ要求162はアクセス要求調停部105において最優先に許可されている。リフレッシュ要求許可信号166がアサートされたことによりリフレッシュ発行回数カウンタ108の値は1加算されて0から1に変化する。このとき、アクセス要求判定部300によりリフレッシュ要求発行部109に対するマスタ100~102からのアクセス要求はいずれも発行されていないとみなされている。よって、リフレッシュ発行回数カウンタ108の値は1以上であるが、リフレッシュ要求発行部109からのリフレッシュ要求162はアサートされた状態を保持する。
 次にT406において、アクセス要求調停部105によってリフレッシュ要求許可信号166がアサートされる。リフレッシュ要求許可信号166がアサートされたことによりリフレッシュ発行回数カウンタ108の値は1加算されて1から2に変化する。しかし、リフレッシュ要求発行部109に対するマスタ100、101、102からのアクセス要求は発行されていないとみなされているため、リフレッシュ要求発行部109からのリフレッシュ要求162はアサートされた状態を保持する。
 次にT407において、マスタ100に対する要求帯域超過信号159がネゲートされる。このとき、マスタ100からのアクセス要求150は発行されているため、アクセス要求判定部300によってリフレッシュ要求発行部109においてはマスタ100からのアクセス要求150がアサートされているものとみなす。そのため、先行リフレッシュ要求信号164はネゲートされる。また、T407においてはリフレッシュ発行回数カウンタ108の値は3であり1以上となっているのでリフレッシュ要求162もネゲートされる。
 次にT408において、1サイクル前の状態においてリフレッシュ周期カウンタ107の値が1になるので、リフレッシュ周期カウンタ107の値は初期値であるリフレッシュ周期に初期化される。リフレッシュ周期カウンタ107の値が初期化されたことにより、リフレッシュ発行回数カウンタ108の値は1減算され3から2に変化する。このとき、リフレッシュ発行回数カウンタ108の値は1以上であり、かつリフレッシュ要求発行部109においてはマスタ100からのアクセス要求が発行されているものと判断するため、リフレッシュ要求162はネゲートされた状態を保持する。
 次にT409においても、T408と同様にリフレッシュ発行回数カウンタ108の値は1減算され2から1に変化するが、リフレッシュ発行回数カウンタ108の値は1以上であり、かつリフレッシュ要求発行部109においてはマスタ100からのアクセス要求が発行されているものと判断するため、リフレッシュ要求162はネゲートされた状態を保持する。
 次にT410において、1サイクル前の状態においてリフレッシュ周期カウンタ107の値が1になるので、リフレッシュ周期カウンタ107の値は初期値であるリフレッシュ周期に初期化される。リフレッシュ周期カウンタ107の値が初期化されたことにより、リフレッシュ発行回数カウンタ108の値は1減算され1から0に変化する。リフレッシュ発行回数カウンタ108の値が0に変化したことにより、リフレッシュ要求162がアサートされる。
 同図に示すように、T404~T407においては、マスタ100および101からのアクセス要求150および151がアサートされているが、要求帯域超過信号159および160もアサートされている。その結果、アクセス要求判定部300により、アクセス要求150および151はないものとみなされて、リフレッシュ要求発行部109により先行リフレッシュ要求信号164がアサートされる。これにより、マスタ100および101からのアクセス要求150および151がある状態においてもリフレッシュコマンド163を発行することが可能となる。
 また、T407~T410においては、リフレッシュ発行回数カウンタ108の値が1以上であるので、メモリ104へのリフレッシュコマンドが発行されない。よって、T407~T410において、アクセス要求を発行しているマスタ100および101からメモリ104へのアクセス効率がリフレッシュコマンドの発行によって低下することを緩和できる。
 このように、メモリ制御装置103は、通常のリフレッシュコマンドが発行されない期間(T408~T410)までに、当該期間に対応する先行リフレッシュコマンドが発行された回数は、当該期間において通常のリフレッシュコマンドが発行されるべき回数(2回)以上となる。その結果、リフレッシュ不足によるメモリ104のデータの揮発を防止できる。
 以上のように、本実施形態のメモリ制御装置103は、マスタ100~102それぞれに対応する使用帯域と対応する要求帯域とに基づいて、先行リフレッシュコマンドを発行するので、各マスタ100~102からのアクセス要求150~152が少なくとも1つアサートされている場合に、リフレッシュ周期に同期して発生するリフレッシュコマンドの発行による当該マスタ100~102からメモリ104へのアクセス効率の低下を緩和できる。
 なお、本実施形態では、比較器301はリフレッシュ発行回数カウント信号168が0であれば出力をアサートし、0以外であれば出力をネゲートする例を示したが、比較器301がアサートする値は0または1のように範囲を持たせても良い。さらに、当該範囲はマスタの数やメモリのリフレッシュ周期等に応じて、自由に設定させて良い。
 (第2の実施形態)
 本発明の第2の実施形態におけるメモリ制御装置は、リフレッシュ発行回数カウンタ108によってカウントされた値が基準値より大きい予め定められた閾値以上の場合、先行リフレッシュコマンドをメモリ104へ発行しない。
 本実施形態におけるメモリ制御装置の構成は、第1の実施形態におけるメモリ制御装置103の構成とほぼ同じであるが、リフレッシュ要求発行部の構成が異なる。以下、本実施形態におけるメモリ制御装置が、第1の実施形態におけるメモリ制御装置と異なる点を中心に説明する。
 図6は、本実施形態のリフレッシュ要求発行部の詳細な構成を示すブロック図である。同図に示すリフレッシュ要求発行部509は、第1の実施形態で示したリフレッシュ要求発行部109と比較して、さらに比較器504および組み合わせ回路505を備える。なお、アクセス要求判定部300、比較器301、組み合わせ回路302およびリフレッシュコマンド生成部303は図4におけるものと同様のものである。また、先行リフレッシュ要求信号164も図4と同様である。
 比較器504は、リフレッシュ発行回数カウント信号168が基準値より大きい予め定められた閾値(例えば、2)未満のとき出力をアサートし、閾値以上のとき出力をネゲートする。
 組み合わせ回路505は、比較器504の出力とアクセス要求判定部300の出力との論理積をとる。また、組み合わせ回路302は、組み合わせ回路505の出力と比較器301の出力との論理和をとり、その結果をリフレッシュ要求162としてアクセス要求調停部105へ出力する。
 これにより、リフレッシュ要求発行部509は、リフレッシュ発行回数カウント信号168が2以上であるときにはアクセス要求判定部300の判定結果によらずリフレッシュ要求162をネゲートする。
 図7は、第2の実施形態におけるメモリ制御装置の動作の一例を示すタイミングチャートである。なお、同図において、アクセス要求150~152および要求帯域超過信号159~161は、図5と同様である。これはリフレッシュ発行回数カウンタ108の値が0である場合と、リフレッシュ発行回数カウンタ108の値が1以上2未満でありかつアクセス要求判定部300によりマスタからのアクセス要求が発行されていないと判断された場合とはリフレッシュ要求162をアサートし、それ以外の場合はネゲートするものである。
 まず、T600において、マスタ100および101からメモリ104に対するアクセス要求150および151がアサートされる。また、対応する要求帯域超過信号159および160はネゲートされている。したがって、先行リフレッシュ要求信号164はネゲートされている。また、リフレッシュ発行回数カウンタ108の値は0であるので、リフレッシュ要求発行部109からのリフレッシュ要求162の値はアサートされている。また、T600ではリフレッシュ周期カウンタの値は初期値であるリフレッシュ周期に対応した値となっている。
 次にT601において、アクセス要求調停部105によってリフレッシュ要求許可信号166がアサートされる。リフレッシュ要求許可信号166がアサートされたことにより、リフレッシュ発行回数カウンタ108の値は1加算されて0から1に変化する。マスタ100および101からのアクセス要求150および151がアサートされた状態でリフレッシュ発行回数カウンタ108の値が1に変化したことにより、リフレッシュ要求162はネゲートされる。
 次にT602において、1サイクル前の状態においてリフレッシュ周期カウンタ107の値が1になるのでT602ではリフレッシュ周期カウンタ107の値は初期値であるリフレッシュ周期に初期化される。リフレッシュ周期カウンタ107の値が初期化されたことにより、リフレッシュ発行回数カウンタ108の値は1減算され1から0に変化する。また、リフレッシュ発行回数カウンタ108の値が0に変化したことにより、リフレッシュ要求162はアサートされる。
 次にT603において、マスタ101が要求帯域を超えた状態でのアクセス要求151を発行している状態となったことを示す要求帯域超過信号160がアサートされる。また、マスタ102はアクセス要求152をアサートしていない。なお、T603以前に、マスタ100が要求帯域を越えた状態でのアクセス要求150を発行している状態となったことを示す要求帯域超過信号159がアサートされている。
 よって、アクセス要求判定部300によりリフレッシュ要求発行部109に対するマスタ100~102からのアクセス要求はいずれも発行されていないとみなされるので、先行リフレッシュ要求信号164がアサートされる。また、リフレッシュ発行回数カウンタ108の値は0であるので、リフレッシュ要求発行部109からのリフレッシュ要求162もアサートされる。
 次にT604において、アクセス要求調停部105によってリフレッシュ要求許可信号166がアサートされる。リフレッシュ要求許可信号166がアサートされたことによりリフレッシュ発行回数カウンタ108の値は1加算されて0から1に変化する。このとき、T603と同様に、アクセス要求判定部300によりリフレッシュ要求発行部109に対するマスタ100~102からのアクセス要求はいずれも発行されていないとみなされている。よって、先行リフレッシュ要求信号164はアサートされた状態を保持する。また、リフレッシュ発行回数カウンタ108の値は1であるので、リフレッシュ要求発行部109からのリフレッシュ要求162はアサートされた状態を保持する。
 次にT605において、アクセス要求調停部105によってリフレッシュ要求許可信号166がアサートされる。リフレッシュ要求許可信号166がアサートされたことによりリフレッシュ発行回数カウンタ108の値は1加算されて2に変化する。リフレッシュ要求発行部109に対するマスタ100~102からのアクセス要求は発行されていないとみなされているので、先行リフレッシュ要求信号164はアサートされた状態を保持する。一方、リフレッシュ発行回数カウンタ108の値が1以上2未満の条件を満たさないため、リフレッシュ要求発行部109からのリフレッシュ要求162はネゲートされる。
 次にT606において、1サイクル前の状態においてリフレッシュ周期カウンタ107の値が1になるのでT606ではリフレッシュ周期カウンタ107の値は初期値であるリフレッシュ周期に対応する値に初期化される。リフレッシュ周期カウンタ107の値が初期化されたことにより、リフレッシュ発行回数カウンタ108の値は1減算され2から1に変化する。このとき、リフレッシュ要求発行部109に対するマスタ100~102からのアクセス要求はいずれも発行されていないと判断されており、かつリフレッシュ発行回数カウンタ108の値が1以上2未満の条件を満たすため、リフレッシュ要求発行部109からのリフレッシュ要求162がアサートされる。
 次にT607において、アクセス要求調停部105によってリフレッシュ要求許可信号166がアサートされる。リフレッシュ要求許可信号166がアサートされたことによりリフレッシュ発行回数カウンタ108の値は1加算されて2に変化する。リフレッシュ要求発行部109に対するマスタ100~102からのアクセス要求は発行されていないとみなされ、先行リフレッシュ要求信号164はアサートされた状態を保持する。一方、リフレッシュ発行回数カウンタ108の値が1以上2未満の条件を満たさないため、リフレッシュ要求発行部109からのリフレッシュ要求162は再びネゲートされる。
 次にT608において、マスタ100に対する要求帯域超過信号159がネゲートされる。マスタ100からのアクセス要求150が発行されており、かつ要求帯域超過信号159がネゲートされているため、アクセス要求判定部300によってリフレッシュ要求発行部109においてはマスタ100からのアクセス要求150がアサートされているものと判断する。そのため、先行リフレッシュ要求信号164はネゲートされる。また、リフレッシュ発行回数カウンタ108の値は2であるので、リフレッシュ要求162はネゲートされたままの状態を保持する。
 次にT609においても、T608と同様にリフレッシュ発行回数カウンタ108の値は1減算され2から1に変化する。リフレッシュ発行回数カウンタ108の値は1以上2未満であるが、マスタ100からのアクセス要求150が発行されているのでリフレッシュ要求162はネゲートされた状態を保持する。
 次にT610において、1サイクル前の状態においてリフレッシュ周期カウンタ107の値が1になるのでT610ではリフレッシュ周期カウンタ107の値は初期値であるリフレッシュ周期に対応する値に初期化される。リフレッシュ周期カウンタ107の値が初期化されたことにより、リフレッシュ発行回数カウンタ108の値は1減算され1から0に変化する。リフレッシュ発行回数カウンタ108の値が0に変化したことにより、リフレッシュ要求162がアサートされる。
 以上のように、本実施形態のメモリ制御装置は、リフレッシュ発行回数カウンタ108の値が閾値以上の場合、メモリ104へのリフレッシュコマンドの発行を禁止する。これにより、メモリ制御装置は、閾値に1を加算した値とリフレッシュ周期とを乗算した時間に、少なくとも1回はメモリ104へリフレッシュコマンドを発行する。その結果、長時間にわたりメモリ104がリフレッシュされないことによるメモリのデータの揮発を防止できる。
 なお、本実施形態では比較器504における閾値が2である場合を一例として示したが、マスタの数やメモリのリフレッシュ周期等に応じて3以上の数を設定しても良い。さらに、第1の実施形態と同様に、比較器301がアサートする値は0のみに限られない。
 また、上述したメモリ制御装置を各種情報処理装置およびシステムに適応してもよい。
 (第3の実施形態)
 図8は、第3の実施形態におけるシステムの構成を示すブロック図である。
 図8に示したシステムは、システムLSI700と、DVDドライブ等の入力装置701と、液晶ディスプレイ等の表示装置702と、メモリ703とを備える。
 システムLSI700は、マイコン回路704、動画像復号化回路705、出力装置インタフェース回路706、入力装置インタフェース(I/F)回路707およびメモリ制御装置708を備える。このメモリ制御装置708は、第1の実施形態で示したメモリ制御装置103または第2の実施形態で示したメモリ制御装置のいずれかである。
 マイコン回路704、動画像復号化回路705、出力装置インタフェース回路706および入力装置インタフェース回路707はそれぞれ、メモリ制御装置708に接続されている。また、マイコン回路704は、動画像復号化回路705、出力装置インタフェース回路706、入力装置インタフェース回路707に接続されており、接続先の各回路の制御を行うことができる。
 出力装置インタフェース回路706は、表示装置702に、入力装置インタフェース回路707は入力装置701に、メモリ制御装置708はメモリ703に、それぞれ接続されている。
 図8に示したシステムは、マイコン回路704がメモリ703に格納されたプログラムを読み込みながら実行することにより、動画像復号化回路705、出力装置インタフェース回路706および入力装置インタフェース回路707を制御する。これにより、入力装置インタフェース回路707が入力装置701から動画ストリームデータをメモリ703にロードし、メモリ703に読み込まれた動画ストリームデータを動画像復号化回路705によりデコードして画像データを作成してメモリ703に書き込み、メモリ703に書き込まれた画像データを出力装置インタフェース回路706が読み出し表示装置702に表示する。
 なお、入力装置インタフェース回路707は第1マスタ装置として機能し、動画像復号化回路705は第2マスタ装置として機能し、出力装置インタフェース回路706は第3マスタ装置として機能する。
 このとき、動画像復号化回路705、出力装置インタフェース回路706および入力装置インタフェース回路707は、それぞれの処理において局所的にメモリ703へのアクセスが頻発するケースや、逆に一定期間メモリ703へのアクセスが発生しないというケースが存在する。例えば、出力装置インタフェース回路706においては、表示装置702の表示周波数に応じて局所的にメモリ703よりデータの読み出しを行い、表示装置702への表示画像分のデータをメモリ703より読み出した後は次の画像読み出しまでの期間メモリ703へのアクセス要求は発行しない。すなわち、要求帯域以上にアクセス要求を発行するケースやアクセス要求が発行されない期間が続くケースが存在する。そのようなマスタが、メモリ制御装置708を用いてメモリ703にアクセスするため、効率の良いリフレッシュ動作をメモリに対して行うことができる。
 以上、第3の実施形態によると複数のマスタのアクセス状態において、効率良くメモリに対するリフレッシュ動作を実施することができ、システム性能を高めることができる。
 (第4の実施形態)
 第3の実施形態では、例えばDVDドライブといった入力装置701と、例えば液晶ディスプレイ表示装置702とを備えるシステムの例を示したが、本発明を携帯電話機に適用しても良く、携帯電話機に適用した場合の構成を示すブロック図を図9に表す。
 同図に示すシステムは、機能部801および携帯電話機Mを含む。機能部801は、カメラおよびメモリカードを含み、符号化データを保持する。携帯電話機Mは、表示装置702、メモリ703、システムLSI800およびアンテナ810を備える。
 システムLSI800は、マイコン回路704、動画像復号化回路705、出力装置インタフェース回路706、高周波送受信装置インタフェース回路807、外部入力装置インタフェース回路809およびメモリ制御装置708を含む。このメモリ制御装置708は、第1および第2の実施形態のいずれかのメモリ制御装置である。マイコン回路704、動画像復号化回路705、出力装置インタフェース回路706、高周波送受信装置インタフェース回路807および外部入力装置インタフェース回路809がメモリ制御装置708に接続されている。マイコン回路704は、動画像復号化回路705、出力装置インタフェース回路706、高周波送受信装置インタフェース回路807、外部入力装置インタフェース回路809に接続されており、接続先の各回路の制御を行うことができる。
 出力装置インタフェース回路706は表示装置702に、高周波送受信装置インタフェース回路807はアンテナ810に、外部入力装置インタフェース回路809は機能部801に、メモリ制御装置708はメモリ703に接続されている。
 図9に示したシステムは、マイコン回路704がメモリ703に格納されたプログラムを読み込みながら実行することにより、動画像復号化回路705、出力装置インタフェース回路706、高周波送受信装置インタフェース回路807および外部入力装置インタフェース回路809を制御する。これにより、外部入力装置インタフェース回路809が機能部801から、または高周波送受信装置インタフェース回路807がアンテナ810から動画ストリームデータをメモリ703にロードし、メモリ703に読み込まれた動画ストリームデータを動画像復号化回路705によりデコードして画像データを作成してメモリ703に書き込み、メモリ703に書き込まれた画像データを出力装置インタフェース回路706が読み出し表示装置702に表示する。
 なお、高周波送受信装置インタフェース回路807および外部入力装置インタフェース回路809は、第1マスタ装置として機能する。
 このとき、第3の実施形態と同様に、動画像復号化回路705、出力装置インタフェース回路706、高周波送受信装置インタフェース回路807および外部入力装置インタフェース回路809は、それぞれの処理において局所的にメモリ703へのアクセスが頻発するケースや、逆に一定期間メモリ703へのアクセスが発生しないというケースが存在する。よって、第4の実施形態においても、メモリ制御装置708を用いてメモリ703にアクセスするため、効率良くメモリに対するリフレッシュ動作を実施することができ、システム性能を高めることができる。
 なお、本発明をテレビジョン受像機に適用しても良い。その場合、機能部はメモリカード等が適用され、アンテナ810は衛星アンテナ、地上波アンテナおよびケーブル等になると考えられる。このアンテナ810は、例えばデジタル放送波を受信する。また、高周波送受信装置インタフェース回路807は、アンテナ810により受信されたデジタル放送波から分離された符号化データをメモリ703に書き込む。この符号化データは画像を含むデータである。
 さらに、本発明をデジタルカメラに適用することも可能である。図10は、本発明をデジタルカメラに適用した場合の構成を示すブロック図である。デジタルカメラCは、表示装置702、メモリ703、システムLSI900およびCCD910を備える。その場合、入力装置としてメモリカード901およびCCD(Charge Coupled Device)910等が挙げられ、これらのインタフェースとして、システムLSI900は、外部入力装置インタフェース回路809およびCCDインタフェース回路907を備える。このCCD910は被写体を撮影して撮影データを出力する撮像素子であり、CCDインタフェース回路907はCCD910から出力された撮影データをメモリ703に書き込む。なお、CCDインタフェース回路907は第4マスタ装置として機能する。
 以上、本発明の第1~4の実施形態に基づいて説明したが、本発明は、この実施形態に限定されるものではない。本発明の趣旨を逸脱しない限り、当業者が思いつく各種変形を本実施形態に施したものや、異なる実施形態における構成要素を組み合わせて構成される形態も、本発明の範囲内に含まれる。
 例えば、第1の実施形態および第2の実施形態においてマスタの数を3マスタとしているがマスタの数は2マスタ以上の任意の数でよい。また、第1~3の実施形態においてメモリの数を1つとしているがメモリの数は任意の数でよい。さらに、第1~3の実施形態におけるメモリはSDR-SDRAM、DDR-SDRAM、FCRAM等リフレッシュ動作を必要とするメモリに対しても適用できることは言うまでもない。
 以上説明してきた通り、本発明に係るメモリ制御装置は、複数のマスタ装置と、複数のマスタ装置が共有するメモリとに接続され、複数のマスタ装置から発行されたアクセス要求に応じてマスタ装置からメモリへのアクセスを制御するメモリ制御装置であって、DVDレコーダ、携帯電話機、テレビジョン受像機およびデジタルカメラ等として有用である。

Claims (9)

  1.  アクセス要求を発行する複数のマスタ装置と、前記複数のマスタ装置が共有するメモリとに接続され、前記アクセス要求に応じて前記メモリへのアクセスを制御するメモリ制御装置であって、
     前記複数のマスタ装置毎に、当該マスタ装置から発行されたアクセス要求による単位時間当たりのメモリアクセスデータ量である使用帯域を監視する監視部と、
     前記複数のマスタ装置毎に、予め定められた要求帯域を保持する保持部と、
     前記複数のマスタ装置毎に、対応する使用帯域が対応する要求帯域に達したか否かを判定する帯域判定部と、
     前記帯域判定部によるマスタ装置毎の判定結果に基づいて、リフレッシュ周期のタイミングと無関係に先行リフレッシュコマンドを前記メモリへ発行する制御部と
     を備えるメモリ制御装置。
  2.  前記制御部は、
     使用帯域が対応する要求帯域に達していると判定されたとき、対応するマスタ装置が前記アクセス要求をアサートしていないとみなし、
     前記複数のマスタ装置すべてが前記アクセス要求をアサートしていないとみなされるとき、前記先行リフレッシュコマンドを前記メモリへ発行する
     請求項1記載のメモリ制御装置。
  3.  前記制御部は、
     前記メモリをリフレッシュする通常のリフレッシュコマンドを周期的に前記メモリへ発行するための通常リフレッシュ制御部と、
     前記リフレッシュ周期毎に1デクリメントし、前記通常のリフレッシュコマンドの発行時に1インクリメントし、前記先行リフレッシュコマンド発行時に1インクリメントするリフレッシュ発行回数カウンタとを備え、
     前記通常リフレッシュ制御部は、
     前記リフレッシュ発行回数カウンタのカウント値が基準値になったとき前記通常のリフレッシュコマンドを発行し、
     前記リフレッシュ発行回数カウンタのカウント値が前記基準値以外の値になったとき前記通常のリフレッシュコマンドを発行しない
     請求項2記載のメモリ制御装置。
  4.  前記制御部は、
     前記リフレッシュ発行回数カウンタによってカウントされた値が前記基準値より大きい予め定められた閾値以上の場合、前記先行リフレッシュコマンドの発行を禁止する
     請求項3記載のメモリ制御装置。
  5.  前記制御部は、
     前記メモリをリフレッシュする通常のリフレッシュ要求を周期的に発行するリフレッシュ要求発行部と、
     前記複数のマスタ装置毎に対応する使用帯域と対応する要求帯域との差分と前記リフレッシュ要求による単位時間当たりのメモリアクセスデータ量であるリフレッシュ要求帯域とに基づいて、前記通常のリフレッシュ要求と前記複数のマスタ装置から発行された各アクセス要求とを調停し、調停した結果に応じてコマンドを前記メモリへ発行する調停部と
     を備える請求項1記載のメモリ制御装置。
  6.  請求項1~5のいずれか1項に記載のメモリ制御装置と前記複数のマスタ装置とを有する半導体集積回路と、
     前記半導体集積回路に接続されたリフレッシュ動作を必要とする前記メモリとを備え、
     前記複数のマスタ装置は、
     外部から入力された符号化データを前記メモリに書き込む第1マスタ装置と、
     前記メモリに書き込まれた前記符号化データを復号して、復号した前記符号化データである復号データを前記メモリに書き込む第2マスタ装置と、
     前記復号データを前記メモリから取得し、取得した前記復号データを表示装置に出力する第3マスタ装置とを含む
     情報処理装置。
  7.  前記第1マスタ装置は、デジタル放送波から分離された前記符号化データを前記メモリに書き込む
     請求項6記載の情報処理装置。
  8.  前記符号化データは、画像を含むデータである
     請求項7記載の情報処理装置。
  9.  前記情報処理装置はさらに、
     被写体を撮影して撮影データを出力する撮像素子と、
     出力された前記撮影データを前記メモリに書き込む第4マスタ装置とを備え、
     前記第2マスタ装置はさらに、
     前記メモリから前記撮影データを取得し、取得した前記撮影データを符号化して、符号化した前記撮影データである符号化撮影データを前記メモリへ書き込み、
     前記第3マスタ装置はさらに、
     前記撮影データを前記メモリから取得し、取得した前記撮影データを前記表示装置に出力し、
     前記第1マスタ装置は、
     前記符号化撮影データを前記メモリから取得し、取得した前記符号化撮影データを記録媒体に記録する
     請求項6記載の情報処理装置。
PCT/JP2009/001533 2008-05-13 2009-04-01 メモリ制御装置、およびこれを備えた情報処理装置 WO2009139109A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2010511867A JPWO2009139109A1 (ja) 2008-05-13 2009-04-01 メモリ制御装置、およびこれを備えた情報処理装置
US12/941,499 US20110055443A1 (en) 2008-05-13 2010-11-08 Memory control apparatus and information processing apparatus including the same

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2008-125555 2008-05-13
JP2008125555 2008-05-13

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US12/941,499 Continuation US20110055443A1 (en) 2008-05-13 2010-11-08 Memory control apparatus and information processing apparatus including the same

Publications (1)

Publication Number Publication Date
WO2009139109A1 true WO2009139109A1 (ja) 2009-11-19

Family

ID=41318486

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2009/001533 WO2009139109A1 (ja) 2008-05-13 2009-04-01 メモリ制御装置、およびこれを備えた情報処理装置

Country Status (3)

Country Link
US (1) US20110055443A1 (ja)
JP (1) JPWO2009139109A1 (ja)
WO (1) WO2009139109A1 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018120490A (ja) * 2017-01-26 2018-08-02 キヤノン株式会社 メモリアクセスシステム、その制御方法、プログラム、及び画像形成装置
JP2020517024A (ja) * 2017-04-14 2020-06-11 華為技術有限公司Huawei Technologies Co.,Ltd. メモリリフレッシュ技術およびコンピュータシステム
US11074958B2 (en) 2017-04-14 2021-07-27 Huawei Technologies Co., Ltd. Memory refresh technology and computer system

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6356485B1 (en) * 1999-02-13 2002-03-12 Integrated Device Technology, Inc. Merging write cycles by comparing at least a portion of the respective write cycle addresses
US8675444B2 (en) * 2011-12-08 2014-03-18 International Business Machines Corporation Synchronized command throttling for multi-channel duty-cycle based memory power management
CN113535089A (zh) * 2020-05-22 2021-10-22 长江存储科技有限责任公司 用于ssd的映射表的刷新方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06236683A (ja) * 1993-02-09 1994-08-23 Oki Electric Ind Co Ltd メモリリフレッシュ制御回路

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5239636A (en) * 1988-09-09 1993-08-24 Advanced Micro Devices, Inc. Buffer memory subsystem for peripheral controllers
JP3155545B2 (ja) * 1990-09-07 2001-04-09 シャープ株式会社 メモリのリフレッシュ制御回路
US5392434A (en) * 1993-09-03 1995-02-21 Motorola, Inc. Arbitration protocol system granting use of a shared resource to one of a plurality of resource users
JPH11353872A (ja) * 1998-06-04 1999-12-24 Oki Electric Ind Co Ltd メモリインタフェース回路
US6330647B1 (en) * 1999-08-31 2001-12-11 Micron Technology, Inc. Memory bandwidth allocation based on access count priority scheme
JP2002236607A (ja) * 2001-02-13 2002-08-23 Matsushita Electric Ind Co Ltd 共有メモリ制御装置とマルチメディア処理システム
US7007138B2 (en) * 2002-04-17 2006-02-28 Matsushita Electric Industiral Co., Ltd. Apparatus, method, and computer program for resource request arbitration
US7474670B2 (en) * 2002-07-08 2009-01-06 Brooktree Broadband Holding, Inc. Method and system for allocating bandwidth
US7020741B1 (en) * 2003-04-29 2006-03-28 Advanced Micro Devices, Inc. Apparatus and method for isochronous arbitration to schedule memory refresh requests
US7213084B2 (en) * 2003-10-10 2007-05-01 International Business Machines Corporation System and method for allocating memory allocation bandwidth by assigning fixed priority of access to DMA machines and programmable priority to processing unit
FR2860896A1 (fr) * 2003-10-14 2005-04-15 St Microelectronics Sa Procede d'arbitrage de l'acces a une ressource partagee
KR100585116B1 (ko) * 2003-12-13 2006-06-01 삼성전자주식회사 멀티 뱅크 메모리의 억세스 효율을 개선한 아비터, 이를구비한 메모리 억세스 중재 시스템 및 그 방법
US7107376B2 (en) * 2004-01-26 2006-09-12 International Business Machines Corp. Systems and methods for bandwidth shaping
JP2005310245A (ja) * 2004-04-20 2005-11-04 Seiko Epson Corp メモリコントローラ、半導体集積回路装置、マイクロコンピュータ及び電子機器
KR100564633B1 (ko) * 2004-09-25 2006-03-28 삼성전자주식회사 향상된 동작 성능을 가지는 반도체 메모리 장치 및 이에대한 액세스 제어 방법
US8327068B2 (en) * 2005-03-03 2012-12-04 Panasonic Corporation Memory module, memory controller, nonvolatile storage, nonvolatile storage system, and memory read/write method
WO2006098212A1 (ja) * 2005-03-15 2006-09-21 Matsushita Electric Industrial Co., Ltd. メモリコントローラ、不揮発性記憶装置、不揮発性記憶システム、及びデータ書き込み方法
US20090129214A1 (en) * 2005-07-11 2009-05-21 Yasuyuki Tomida Memory control device
WO2007013372A1 (ja) * 2005-07-29 2007-02-01 Matsushita Electric Industrial Co., Ltd. メモリコントローラ、不揮発性記憶装置、不揮発性記憶システム及び不揮発性メモリのアドレス管理方法
JP4816911B2 (ja) * 2006-02-07 2011-11-16 日本電気株式会社 メモリの同期化方法及びリフレッシュ制御回路
JP4895355B2 (ja) * 2006-03-24 2012-03-14 株式会社メガチップス メモリ制御装置
JP4470185B2 (ja) * 2006-11-28 2010-06-02 エルピーダメモリ株式会社 半導体記憶装置
CN101495975B (zh) * 2006-12-25 2011-10-05 松下电器产业株式会社 存储控制装置、存储装置及存储控制方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06236683A (ja) * 1993-02-09 1994-08-23 Oki Electric Ind Co Ltd メモリリフレッシュ制御回路

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018120490A (ja) * 2017-01-26 2018-08-02 キヤノン株式会社 メモリアクセスシステム、その制御方法、プログラム、及び画像形成装置
JP2020517024A (ja) * 2017-04-14 2020-06-11 華為技術有限公司Huawei Technologies Co.,Ltd. メモリリフレッシュ技術およびコンピュータシステム
US11074958B2 (en) 2017-04-14 2021-07-27 Huawei Technologies Co., Ltd. Memory refresh technology and computer system
JP7043515B2 (ja) 2017-04-14 2022-03-29 華為技術有限公司 メモリリフレッシュ技術およびコンピュータシステム
US11705180B2 (en) 2017-04-14 2023-07-18 Huawei Technologies Co., Ltd. Memory refresh technology and computer system

Also Published As

Publication number Publication date
JPWO2009139109A1 (ja) 2011-09-15
US20110055443A1 (en) 2011-03-03

Similar Documents

Publication Publication Date Title
WO2009139109A1 (ja) メモリ制御装置、およびこれを備えた情報処理装置
US10331195B2 (en) Power and performance aware memory-controller voting mechanism
US20100007770A1 (en) Memory access control apparatus and image pickup apparatus
GB2500915A (en) Measurement and control of bandwidth in an interconnect
TW201719379A (zh) 記憶體管理系統和方法
JPWO2006001245A1 (ja) 低バンド幅で局所集中アクセスを保証する調停装置、調停方法、及び調停装置を含む動画処理装置
US20190079881A1 (en) Memory access control device, image processing device, and imaging device
US8732378B2 (en) Bus bandwidth monitoring device and bus bandwidth monitoring method
US8543777B2 (en) Memory control apparatus, memory control method, and computer program with refresh commands at optimum intervals
US9026703B2 (en) Bus monitoring device, bus monitoring method, and program
US7843460B2 (en) Method and apparatus for bandwidth corruption recovery
US10719458B2 (en) Data transfer device, image processing device, and imaging device
US20120121008A1 (en) Memory access device and video processing system
US7231477B2 (en) Bus controller
US20140244887A1 (en) Data processing apparatus and control method
US7080176B2 (en) Bus control device and information processing system
US20200192830A1 (en) Memory access device, image processing device and imaging device
US7516258B2 (en) Electronic apparatus and control method
JP4850504B2 (ja) 信号処理装置、撮像装置およびデータ転送方法
JP2006039672A (ja) バス要求制御回路
JPWO2018134882A1 (ja) メモリアクセス装置、画像処理装置、および撮像装置
JP2000276436A (ja) Dma制御装置
JP5623150B2 (ja) 電子機器及びその制御方法
US20120042111A1 (en) Bus bandwidth monitoring device and bus bandwidth monitoring method
JP2017162431A (ja) メモリ制御装置及び撮像装置

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 09746316

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2010511867

Country of ref document: JP

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 09746316

Country of ref document: EP

Kind code of ref document: A1