JP2011165247A - 電子機器 - Google Patents
電子機器 Download PDFInfo
- Publication number
- JP2011165247A JP2011165247A JP2010025211A JP2010025211A JP2011165247A JP 2011165247 A JP2011165247 A JP 2011165247A JP 2010025211 A JP2010025211 A JP 2010025211A JP 2010025211 A JP2010025211 A JP 2010025211A JP 2011165247 A JP2011165247 A JP 2011165247A
- Authority
- JP
- Japan
- Prior art keywords
- refresh
- electronic device
- predetermined
- centralized
- interval
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 claims abstract description 43
- 230000008569 process Effects 0.000 claims abstract description 30
- 230000001960 triggered effect Effects 0.000 claims abstract 3
- 238000012545 processing Methods 0.000 claims description 25
- 238000012937 correction Methods 0.000 claims description 4
- 230000015556 catabolic process Effects 0.000 abstract description 3
- 238000006731 degradation reaction Methods 0.000 abstract description 3
- 230000009977 dual effect Effects 0.000 description 13
- 230000006870 function Effects 0.000 description 8
- 238000010586 diagram Methods 0.000 description 7
- 230000002457 bidirectional effect Effects 0.000 description 5
- 230000010365 information processing Effects 0.000 description 5
- 230000007246 mechanism Effects 0.000 description 4
- 230000008859 change Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
- G11C11/401—Digital 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/406—Management or control of the refreshing or charge-regeneration cycles
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1605—Handling requests for interconnection or transfer for access to memory bus based on arbitration
- G06F13/161—Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement
- G06F13/1636—Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement using refresh
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
- G11C11/401—Digital 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/406—Management or control of the refreshing or charge-regeneration cycles
- G11C11/40611—External triggering or timing of internal or partially internal refresh operations, e.g. auto-refresh or CAS-before-RAS triggered refresh
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Computer Hardware Design (AREA)
- Dram (AREA)
- Record Information Processing For Printing (AREA)
Abstract
【課題】リフレッシュに基づくDRAMのパフォーマンス低下を防ぐ技術を提供する。
【解決手段】電子機器100は、メモリー制御回路130は、DRAM140を構成する記憶素子について、所定期間Ts内に少なくとも1回はリフレッシュがなされるように、所定間隔でDRAM140に対してリフレッシュコマンドを発行する第1の分散リフレッシュ処理と、DRAM140への所定のリクエストがされることを契機として、当該所定間隔よりも短い間隔で集中的にリフレッシュコマンドを所定回数Nc発行する集中リフレッシュ処理と、所定回数Ncのリフレッシュコマンドを発行し終えると、所定期間Ts内において未だにリフレッシュされていない残りの記憶素子についてリフレッシュするためのリフレッシュ間隔Trを算出し、算出した当該リフレッシュ間隔Trでリフレッシュコマンドを発行する第2の分散リフレッシュ処理と、を行う。
【選択図】図1
【解決手段】電子機器100は、メモリー制御回路130は、DRAM140を構成する記憶素子について、所定期間Ts内に少なくとも1回はリフレッシュがなされるように、所定間隔でDRAM140に対してリフレッシュコマンドを発行する第1の分散リフレッシュ処理と、DRAM140への所定のリクエストがされることを契機として、当該所定間隔よりも短い間隔で集中的にリフレッシュコマンドを所定回数Nc発行する集中リフレッシュ処理と、所定回数Ncのリフレッシュコマンドを発行し終えると、所定期間Ts内において未だにリフレッシュされていない残りの記憶素子についてリフレッシュするためのリフレッシュ間隔Trを算出し、算出した当該リフレッシュ間隔Trでリフレッシュコマンドを発行する第2の分散リフレッシュ処理と、を行う。
【選択図】図1
Description
本発明は、電子機器に関する。
DRAM(Dynamic RAM)は、一定時間アクセスされないと記憶内容が消えてしまうため、一定周期で記憶内容の更新(以下では「リフレッシュ」とよぶ)を行う必要がある(特許文献1など)。例えば、所定期間(64ms)以内にDRAMを構成する全てのセル(記憶域)のリフレッシュを行う場合には、DRAMを制御するコントローラーは、平均7.8μsに1回はDRAMに対してリフレッシュコマンドを発行しなければならない(セル数または列数が8192である場合)。
しかし、必ずしも7.8μs以内に1回はリフレッシュを行わなければならないわけではなく、最終的に所定期間(64ms)以内に全てのセルをリフレッシュできれば、リフレッシュの間隔は自由である。以下では、等間隔でリフレッシュを行うことを「分散リフレッシュ」とよび、分散リフレッシュよりも短時間に集中的にリフレッシュを行うことを「集中リフレッシュ」とよぶ。
ところで、上記のリフレッシュに要する時間は比較的長く、その間DRAMへのアクセスを行うことはできないため、リフレッシュのタイミングによってはDRAMのパフォーマンスに大きな影響がでてしまう。
本発明は、リフレッシュに基づくDRAMのパフォーマンス低下を防ぐ技術を提供することを目的とする。
上記課題を解決するための本願発明は、DRAMを制御するメモリー制御回路を備えた電子機器であって、前記メモリー制御回路は、前記DRAMを構成する記憶素子について、所定期間Ts内に少なくとも1回はリフレッシュがなされるように、所定間隔で前記DRAMに対してリフレッシュコマンドを発行する第1の分散リフレッシュ処理と、前記DRAMへの所定のリクエストがされることを契機として、前記所定間隔よりも短い間隔で集中的に前記リフレッシュコマンドを所定回数Nc発行する集中リフレッシュ処理と、前記所定回数Ncのリフレッシュコマンドを発行し終えると、前記所定期間Ts内において未だにリフレッシュされていない残りの記憶素子についてリフレッシュするためのリフレッシュ間隔Trを算出し、算出した当該リフレッシュ間隔Trで前記リフレッシュコマンドを発行する第2の分散リフレッシュ処理と、を行う。
以下、本発明の実施形態の一例を図面を参照して説明する。
図1は、本発明の一実施形態が適用された画像処理装置100のハードウェア構成の一例を示す図である。画像処理装置100は、プリンター、コピー機、複合機、スキャナーなどの装置である。画像処理装置100は情報処理装置200と接続される。
情報処理装置200は、不図示の、CPUと、RAMと、ROMと、ハードディスク等の補助記憶装置と、ディスプレイと、キーボードやマウス等の入力装置と、通信インターフェイスと、などを備えた一般的なコンピューターで実現される。情報処理装置200では、アプリケーションプログラムや、ドライバープログラム(例えば、プリンタードライバープログラム)が実行される。
画像処理装置100は、画像処理装置100における各種処理を制御する電子機器制御装置としてのコントローラー110と、印刷媒体への印刷や原稿の読み取りを実行するエンジン部160と、ユーザーとの入出力インターフェイスである操作パネル170と、を備えている。
コントローラー110は、CPU120と、メモリー制御ASIC130と、SDRAM140と、I/O(Input/Output)制御ASIC150と、を備える。コントローラー110は、エンジン部160、操作パネル170等の各種機構を制御し、各種画像処理などを含む印刷機能、ファクシミリ機能、スキャナー機能、コピー機能等を実現する。ただし、コントローラー110は、この構成に限定されず、例えば、CPU120をメモリー制御ASIC130に内蔵させてもよい。
CPU120は、メモリー制御ASIC130を介してSDRAM140にアクセスし、各種データの読み書きを行うことで各種処理を実行する。CPU120は、SDRAM140にアクセスするためのアクセス要求をメモリー制御ASIC130に対して出す。
メモリー制御ASIC130は、CPU120、I/O制御ASIC150、エンジン部160からのSDRAM140へのアクセスを制御する。メモリー制御ASIC130は、CPU120を介さない、SDRAM140へのダイレクトメモリーアクセスを制御するようにしてもよい。
また、メモリー制御ASIC130は、SDRAM140をリフレッシュするためのリフレッシュコマンドを発行する。
SDRAM140は、メモリー制御ASIC130が制御を行うメモリーである。SDRAM140は、複数のセル(記憶域)を有し、メモリー制御ASIC130からリフレッシュコマンドが発行されると、リフレッシュの対象となるセル(或いは列)をリフレッシュする。
I/O制御ASIC150は、外部機器(操作パネル170や、情報処理装置200など)とのデータの送受信を制御する。
エンジン部160は、印刷機能、ファクシミリ機能、スキャナー機能、コピー機能等を実現するための給排紙機構、印字機構、スキャン機構等であり、例えば、印刷エンジン、スキャナーエンジンなどを含む。
操作パネル170は、ユーザーの操作を受け付けるためのユニットである。操作パネル170は、例えば、LCDなどのディスプレイと、ディスプレイの表示面側に設けられたタッチパネルを有する。操作パネル170は、ボタンキーなどの各種ハードスイッチを有していてもよい。
以上、画像処理装置100のハードウェア構成について説明した。もちろん、この構成は、本願発明の特徴を説明するにあたって主要構成を説明したのであって、上記の構成に限られない。また、一般的な画像処理装置100が備える他の構成を排除するものではない。
図2は、メモリー制御ASIC130のハードウェア構成の一例を示す図である。図示するように、メモリー制御ASIC130は、インターフェイス部131と、調停回路132と、メモリーコントローラー133と、を備えている。
インターフェイス部131は、CPU120、I/O制御ASIC150、エンジン部160からのアクセス要求を受け付け、調停回路132に通知する。
調停回路132は、通知されたアクセス要求を受け付け、メモリーコントローラー133に通知する。ここで、調停回路132は、複数のアクセス要求を同タイミングで受け付けた場合には、1つのアクセス要求を選択してメモリーコントローラー133に通知する制御を行う。
メモリーコントローラー133は、調停回路132からアクセス要求を受け付けると、SDRAM140に対して所定のコマンドを発行して、アクセス要求に基づくアクセス制御を行う。
また、メモリーコントローラー133は、SDRAM140に対してリフレッシュコマンドを発行して、SDRAM140のリフレッシュを行う。
ここで、メモリーコントローラー133は、複数の制御方法のうちいずれかの方法によってSDRAM140をリフレッシュすることができる。すなわち、メモリーコントローラー133は、「分散リフレッシュ」、「集中リフレッシュ」、「両用リフレッシュ」のいずれかの制御方法によって、SDRAM140をリフレッシュする。
<分散リフレッシュ>
具体的には、メモリーコントローラー133は、分散リフレッシュモードに設定された場合には、等間隔でリフレッシュコマンドをSDRAM140に発行する。
具体的には、メモリーコントローラー133は、分散リフレッシュモードに設定された場合には、等間隔でリフレッシュコマンドをSDRAM140に発行する。
図3(A)は、分散リフレッシュモードにおけるリフレッシュコマンドの発行タイミングの一例を示す図である。図示するように、メモリーコントローラー133は、SDRAM140を構成するセルについて所定区間(期間)Ts内に少なくとも1回はリフレッシュがなされるように、等間隔でリフレッシュコマンドを発行する。分散リフレッシュモードでリフレッシュコマンドが発行される間隔は、例えば、所定区間(期間)Tsを、SDRAM140を構成する全てのセル(或いは所定単位のセル)がリフレッシュされるために必要な総発行回数Nsで除した値(Ts/Ns)に設定される。なお、ここでの所定区間(期間)Tsは、リフレッシュせずに記憶内容を保持可能な期間であり、所定の規格(例えば、JEDEC[Joint Electron Device Engineering Council]により定められている規格)に従う期間とする。
<集中リフレッシュ>
また、メモリーコントローラー133は、集中リフレッシュモードに設定された場合には、分散リフレッシュモードでリフレッシュコマンドを発行する間隔(Ts/Ns)よりも短い間隔で、集中的にリフレッシュコマンドをSDRAM140に発行する。
また、メモリーコントローラー133は、集中リフレッシュモードに設定された場合には、分散リフレッシュモードでリフレッシュコマンドを発行する間隔(Ts/Ns)よりも短い間隔で、集中的にリフレッシュコマンドをSDRAM140に発行する。
図3(B)は、集中リフレッシュモードにおけるリフレッシュコマンドの発行タイミングの一例を示す図である。図示するように、メモリーコントローラー133は、所定区間(期間)Ts内の所定の領域(図示する集中リフレッシュ領域)で、集中的にリフレッシュコマンドを発行する。そして、この所定の領域でリフレッシュコマンドを発行する回数は、SDRAM140を構成する全てのセル(或いは所定単位のセル)がリフレッシュされるために必要な総発行回数Nsとなる。従って、必然的に、集中リフレッシュモードにおいてリフレッシュコマンドが発行される間隔は、分散リフレッシュモードでリフレッシュコマンドが発行される間隔(Ts/Ns)よりも短い間隔となる。なお、この間隔は、リフレッシュコマンドを発行可能な範囲でできるだけ短い間隔であることが望ましい。
<両用リフレッシュ>
また、メモリーコントローラー133は、両用リフレッシュモードに設定された場合には、上記の分散リフレッシュと集中リフレッシュを併用して、リフレッシュコマンドをSDRAM140に発行する。すなわち、メモリーコントローラー133は、SDRAM140への所定のリクエスト(アクセス要求)がされるまでは、分散リフレッシュ(等間隔でリフレッシュコマンドを発行)を行い、SDRAM140への所定のリクエスト(アクセス要求)がされることを契機(トリガ)として、集中リフレッシュ(分散リフレッシュより短い間隔で集中的にリフレッシュコマンドを発行)を行う。
また、メモリーコントローラー133は、両用リフレッシュモードに設定された場合には、上記の分散リフレッシュと集中リフレッシュを併用して、リフレッシュコマンドをSDRAM140に発行する。すなわち、メモリーコントローラー133は、SDRAM140への所定のリクエスト(アクセス要求)がされるまでは、分散リフレッシュ(等間隔でリフレッシュコマンドを発行)を行い、SDRAM140への所定のリクエスト(アクセス要求)がされることを契機(トリガ)として、集中リフレッシュ(分散リフレッシュより短い間隔で集中的にリフレッシュコマンドを発行)を行う。
図3(C)は、両用リフレッシュモードにおけるリフレッシュコマンドの発行タイミングの一例を示す図である。
図示するように、メモリーコントローラー133は、所定区間(期間)Tsの開始時点では、上記の分散リフレッシュモードでリフレッシュコマンドを発行する間隔(Ts/Ns)と同間隔でリフレッシュコマンドを発行する。
そして、メモリーコントローラー133は、SDRAM140への所定のリクエスト(アクセス要求)がされると、これを契機(図示する集中リフレッシュトリガ)として集中リフレッシュを開始する。メモリーコントローラー133は、この集中リフレッシュを開始してから、所定回数(図示する例では5回)Nc、リフレッシュコマンドを発行すると集中リフレッシュを終了する。
ここで、集中リフレッシュを開始してから終了するまでの期間Tcにおいては、上記の集中リフレッシュモードでリフレッシュコマンドを発行する間隔と同間隔でリフレッシュコマンドが発行されるため、この期間Tcは、(集中リフレッシュモードでリフレッシュコマンドを発行する間隔)×Ncとなる。すなわち、メモリーコントローラー133は、集中リフレッシュトリガから期間Tcが経過するまで間に、集中リフレッシュを行うようにしている。
このようにする理由は、所定のリクエスト(アクセス要求)がされると、ほぼ決まって一定期間Tc、SDRAM140へのアクセス要求がされないためである。そして、この期間Tcに集中リフレッシュを行うことより、所定区間(期間)Ts全体においてリフレッシュ時にアクセス要求が起こる確率を低下させることができ、その結果、SDRAM140のパフォーマンス低下を防ぐことができる。
また、メモリーコントローラー133は、集中リフレッシュを終了すると、所定区間(期間)Ts内において未だにリフレッシュされていない残りのセル(記憶域)についてリフレッシュを行うために、等間隔Trでリフレッシュコマンドを発行する。
そのためには、メモリーコントローラー133は、まず、集中リフレッシュを終了した時点において、所定区間(期間)Tsの終了までの時間(Ts−Tb−Tc)と、所定区間(期間)Ts内において未だにリフレッシュされていない残りのセル(記憶域)に対してリフレッシュコマンドを発行する必要のある回数Nrを算出する。ここで、Nrは、SDRAM140を構成する全てのセル(或いは所定単位のセル)がリフレッシュされるために必要なリフレッシュコマンドの総発行回数Nsから、所定時間(期間)Tsの開始から集中リフレッシュを開始するまでに等間隔でリフレッシュコマンドを発行した回数Nbと、集中リフレッシュを開始してから終了するまでにリフレッシュコマンドを発行した回数(図示する例では5回)Ncと、を減算することにより求めることができる(すなわち、Nr=Ns−Nb−Nc)。
次に、メモリーコントローラー133は、算出した時間(Ts−Tb−Tc)を、算出した発行回数Nrで除して、集中リフレッシュを終了してから所定区間(期間)Tsの終了までにリフレッシュコマンドを発行する間隔(等間隔)Trを算出する(すなわち、Tr=(Ts−Tb−Tc)/Nr)。
それから、メモリーコントローラー133は、所定区間(期間)Tsが終了するまで、算出した間隔Trでリフレッシュコマンドを発行する。こうして、本両用リフレッシュモードでも、所定区間(時間)Ts内にSDRAM140を構成する全てのセル(記憶域)をリフレッシュすることができる。
なお、上記の集中リフレッシュトリガには、画像読み取りのリクエスト、色補正のリクエスト、及び、スクリーン処理のリクエスト、の少なくともいずれかが含まれる。
そして、メモリーコントローラー133は、分散リフレッシュモード、集中リフレッシュモード、両用リフレッシュモードにおける上記タイミングでのリフレッシュコマンドの発行を、所定区間(期間)Tsを1単位として繰り返し実行する。
以上、コントローラー110、メモリー制御ASIC130等の構成について説明した。もちろん、この構成は、本願発明の特徴を説明するにあたって主要構成を説明したものであって、上記の構成に限られない。また、一般的なコントローラー110、メモリー制御ASIC130等が備える他の構成を排除するものではない。
次に、上記のメモリーコントローラー133の特徴的な動作について説明する。
図4は、リフレッシュモードの設定処理を示すフロー図である。
メモリーコントローラー133は、例えば、画像処理装置100に電源が投入されるタイミングで、リフレッシュモードの設定処理を開始する。もちろん、本フローを開始するタイミングはこれに限定されず、画像処理装置100の出荷時や、ユーザーから指示されたタイミングで本フローを開始するようにしてもよい。
リフレッシュモードの設定処理を開始すると、メモリーコントローラー133は、SDRAM140をリフレッシュする制御方法を選択する(ステップS101)。例えば、メモリーコントローラー133は、操作パネル170にリフレッシュの制御方法を選択可能にする画面を表示し、ユーザーからいずれかの制御方法を選択する指示を受け付ける。なお、ここで選択可能な制御方法には、上述したように、「A:分散リフレッシュモード」と、「B:集中リフレッシュモード」と、「C:両用リフレッシュモード」と、が含まれる。
ステップS101において、「A:分散リフレッシュモード」が選択される指示を受け付けると(ステップS101:A)、メモリーコントローラー133は、処理をステップ102に移行して、「分散リフレッシュモード」についての設定(手動設定)を行う(ステップS102)。
具体的には、メモリーコントローラー133は、リフレッシュせずにSDRAM140のセルの記憶内容を保持可能な期間(上記の所定区間Ts)と、SDRAM140を構成する全てのセル(或いは所定単位のセル)がリフレッシュされるために必要な総発行回数Nsと、をユーザーから受け付ける。それから、メモリーコントローラー133は、受け付けた値(Ts、Ns)を用いて、リフレッシュコマンドを発行する間隔(等間隔)を算出する(すなわち、Ts/Nsを算出する)。そして、メモリーコントローラー133は、受け付けた値(Ts、Ns)と、算出したリフレッシュ間隔(Ts/Ns)を、分散リフレッシュモードの設定値として所定の記憶領域(例えば、レジスター)に格納する。
もちろん、上記の所定区間Tsとリフレッシュの総発行回数Nsは、予め登録されていてもよく、ステップS102では、分散リフレッシュモードでのリフレッシュコマンドの発行間隔(Ts/Ns)を算出するだけにしてもよい。
その後、メモリーコントローラー133は、本フローを終了して、アクセス要求を待機するとともに、ステップS102で設定された設定値に基づいて、分散リフレッシュモードでのリフレッシュコマンドの発行を開始する。
また、ステップS101において、「B:集中リフレッシュモード」が選択される指示を受け付けると(ステップS101:B)、メモリーコントローラー133は、処理をステップ103に移行して、「集中リフレッシュモード」についての設定(手動設定)を行う(ステップS103)。
図5は、「集中リフレッシュモード」についての設定方法を説明するための図である。図示するように、メモリーコントローラー133は、リフレッシュせずにSDRAM140のセルの記憶内容を保持可能な期間(上記の所定区間Ts)と、SDRAM140を構成する全てのセル(或いは所定単位のセル)がリフレッシュされるために必要な総発行回数Nsと、をユーザーから受け付ける。それから、メモリーコントローラー133は、集中リフレッシュを行う領域(集中リフレッシュ領域)の指定を受け付ける。例えば、メモリーコントローラー133は、受け付けた期間Tsを複数の領域に分割し(図示する例では「6分割」)、分割された領域の中から1つの領域(図示する例では「領域2」)を選択する指示をユーザーから受け付ける。そして、メモリーコントローラー133は、受け付けた値(Ts、Ns)と、選択された集中リフレッシュ領域を、集中リフレッシュモードの設定値として所定の記憶領域(例えば、レジスター)に格納する。
もちろん、上記の所定区間Tsとリフレッシュの総発行回数Nsは、予め登録されていてもよい。
その後、メモリーコントローラー133は、本フローを終了して、アクセス要求を待機するとともに、ステップS103で設定された設定値に基づいて、集中リフレッシュモードでのリフレッシュコマンドの発行を開始する。すなわち、メモリーコントローラー133は、アクセス要求を待機するとともに、ステップS103で設定された集中リフレッシュ領域まではリフレッシュコマンドを発行せず、集中リフレッシュ領域では、ステップS103で設定された総発行回数Nsのリフレッシュコマンドを集中的に発行する。
また、ステップS101において、「C:両用リフレッシュモード」が選択される指示を受け付けると(ステップS101:C)、メモリーコントローラー133は、処理をステップ104に移行して、「両用リフレッシュモード」についての設定(自動設定)を行う(ステップS104、ステップS105)。
図6は、「両用リフレッシュモード」についての設定方法を説明するための図である。図示するように、メモリーコントローラー133は、まず、集中リフレッシュを開始する契機となる集中リフレッシュトリガの設定を行う(ステップS104)。例えば、メモリーコントローラー133は、ユーザーから少なくとも1つ以上のリクエスト(画像読み取りのリクエスト、色補正のリクエスト、スクリーン処理のリクエスト、など)の指定を受け付け、受け付けたリクエストを、集中リフレッシュトリガとして設定する(所定の記憶領域に格納する)。
次に、メモリーコントローラー133は、集中リフレッシュが起こるまでのリフレッシュ間隔の設定を行う(ステップS105)。具体的には、メモリーコントローラー133は、リフレッシュせずにSDRAM140のセルの記憶内容を保持可能な期間(上記の所定区間Ts)と、SDRAM140を構成する全てのセル(或いは所定単位のセル)がリフレッシュされるために必要な総発行回数Nsと、をユーザーから受け付ける。それから、メモリーコントローラー133は、受け付けた値(Ts、Ns)を用いて、集中リフレッシュトリガに設定されたリクエストが発生するまでリフレッシュコマンドを発行する間隔(等間隔)を算出する(具体的には、Ts/Nsを算出する)。そして、メモリーコントローラー133は、受け付けた値(Ts、Ns)と、算出したリフレッシュ間隔(Ts/Ns)を、両用リフレッシュモードの設定値として所定の記憶領域(例えば、レジスター)に格納する。
もちろん、上記の所定区間Tsとリフレッシュの総発行回数Nsは、予め登録されていてもよく、ステップS105では、集中リフレッシュが起こるまでのリフレッシュコマンドの発行間隔(Ts/Ns)を算出するだけにしてもよい。
また、メモリーコントローラー133は、集中リフレッシュを開始してからリフレッシュコマンドを発行する回数を設定する、具体的には、ユーザーから、集中リフレッシュにおけるリフレッシュコマンドの発行回数Ncを受け付け、両用リフレッシュモードの設定値として所定の記憶領域(例えば、レジスター)に格納する。
その後、メモリーコントローラー133は、本フローを終了して、アクセス要求を待機するとともに、ステップS104、ステップS105で設定された設定値に基づいて、両用リフレッシュモードでのリフレッシュコマンドの発行を開始する。すなわち、メモリーコントローラー133は、アクセス要求を待機するとともに、ステップS104で設定された集中リフレッシュトリガのリクエストが発生するまでは分散リフレッシュによるリフレッシュコマンドを発行する。そして、集中リフレッシュトリガに設定されたリクエストが発生すると、集中リフレッシュを開始して、ステップS105で設定された発行回数Nc、リフレッシュコマンドを集中的に発行する。
また、集中リフレッシュが終了すると、上述したように、メモリーコントローラー133は、ステップS105で設定された期間(所定期間Ts)内において未だにリフレッシュされていない残りのセル(記憶域)についてリフレッシュを行う。そのために、メモリーコントローラー133は、集中リフレッシュの終了時に、ステップS105で設定された期間(所定期間Ts)の終了までにリフレッシュコマンドを発行する間隔(等間隔)Trを算出し(上述したTr=(Ts−Tb−Tc)/Nr)、ステップS105で設定された期間(所定期間Ts)の終了までは、算出した間隔Trでリフレッシュコマンドを発行する。
以上の処理により、「分散リフレッシュモード」、「集中リフレッシュモード」、「両用リフレッシュモード」のいずれかのモードによってSDRAM140のリフレッシュを行うことができるため、ユーザーの利用形態に応じて最適なリフレッシュを行うことができる。また、両用リフレッシュモードに設定された場合においては、ステップS104で設定されたリクエストの発生後、決まってSDRAM140へのアクセス要求がされない期間Tcがあり、その期間Tcに集中リフレッシュを行っているため、所定区間(期間)Ts全体においてリフレッシュ時にアクセス要求が起こる確率を低下させることができる。
なお、上記した各フローの各処理単位は、メモリーコントローラー133を理解容易にするために、主な処理内容に応じて分割したものである。処理ステップの分類の仕方やその名称によって、本願発明が制限されることはない。メモリーコントローラー133が行う処理は、さらに多くの処理ステップに分割することもできる。また、1つの処理ステップが、さらに多くの処理を実行してもよい。
また、上記の実施形態は、本発明の要旨を例示することを意図し、本発明を限定するものではない。多くの代替物、修正、変形例は当業者にとって明らかである。
例えば、メモリーコントローラー133は、リフレッシュせずにSDRAM140のセルの記憶内容を保持可能な期間(上記の所定区間Ts)ごとに、分散リフレッシュモード(ステップS102)、集中リフレッシュモード(ステップS103)、両用リフレッシュモード(ステップS104、ステップS105)において設定された設定値を変更するようにしてもよい。
具体的には、「分散リフレッシュモード」が設定された場合に、ステップS102において、各設定値(Ts、Ns)について複数の設定値を登録しておき、区間(期間)Tsが終了する毎に、登録されている設定値のいずれかに変更するようにしてもよい。また、同様に、「集中リフレッシュモード」が設定された場合に、ステップS103において、各設定値(集中リフレッシュ領域、Ts、Ns)について複数の設定値を登録しておき、区間(期間)Tsが終了する毎に、登録されている設定値のいずれかに変更するようにしてもよい。また、「両用リフレッシュモード」が設定された場合に、ステップS104、ステップS105において、各設定値(集中リフレッシュトリガ、Ts、Ns、集中リフレッシュ回数Nc)について複数の設定値を登録しておき、区間(期間)Tsが終了する毎に、登録されている設定値のいずれかに変更するようにしてもよい。
また、メモリーコントローラー133は、「両用リフレッシュモード」において、発生したリクエスト(集中リクエストトリガ)の種類に応じて、集中リフレッシュ回数Ncを変更するようにしてもよい。
具体的には、「両用リフレッシュモード」が設定された場合に、ステップS104において、集中リフレッシュトリガと集中リフレッシュ回数Ncについて複数の設定値を登録しておく。そして、例えば、メモリーコントローラー133は、第1のリクエスト(集中リフレッシュトリガ)が発生した場合には、第1の集中リフレッシュ回数Nc、集中リフレッシュを行い、第1のリクエストとは異なる第2のリクエスト(集中リフレッシュトリガ)が発生した場合には、第1の集中リフレッシュ回数Ncとは異なる第2の集中リフレッシュ回数Nc、集中リフレッシュを行うようにしてもよい。
また、上記のステップS104において、複数のリクエスト(画像読み取りのリクエスト、色補正のリクエスト、スクリーン処理のリクエスト、など)が、集中リフレッシュトリガとして設定されている場合には、メモリーコントローラー133は、上記のステップS105で設定された期間(所定区間Ts)内において各リクエストが発生する毎に、集中リフレッシュを行う(同一の発行回数Nc、リフレッシュコマンドを集中的に発行する)ようにしてもよい。この場合においても、各集中リフレッシュが終了する毎に、ステップS105で設定された期間(所定期間Ts)の終了までにリフレッシュコマンドを発行する間隔(等間隔)Trを算出し、それ以降は算出した間隔Trでリフレッシュコマンドを発行する。
また、上記実施形態では、メモリー制御ASIC130が制御するメモリーをSDRAM140としている。しかし、本発明は、これに限定されず、一定周期でリフレッシュを必要とするメモリーであれば適用可能であり、例えば、DRAM、SDRAM(SDR、DDR、DDR2、DDR3)でもよい。
100・・・画像処理装置、110・・・コントローラー、120・・・CPU、130・・・メモリー制御ASIC、131・・・インターフェイス部、132・・・調停回路、133・・・メモリーコントローラー、140・・・SDRAM、150・・・I/O制御ASIC、160・・・エンジン部、170・・・操作パネル、200・・・情報処理装置。
Claims (8)
- DRAMを制御するメモリー制御回路を備えた電子機器であって、
前記メモリー制御回路は、
前記DRAMを構成する記憶素子について、所定期間Ts内に少なくとも1回はリフレッシュがなされるように、所定間隔で前記DRAMに対してリフレッシュコマンドを発行する第1の分散リフレッシュ処理と、
前記DRAMへの所定のリクエストがされることを契機として、前記所定間隔よりも短い間隔で集中的に前記リフレッシュコマンドを所定回数Nc発行する集中リフレッシュ処理と、
前記所定回数Ncのリフレッシュコマンドを発行し終えると、前記所定期間Ts内において未だにリフレッシュされていない残りの記憶素子についてリフレッシュするためのリフレッシュ間隔Trを算出し、算出した当該リフレッシュ間隔Trで前記リフレッシュコマンドを発行する第2の分散リフレッシュ処理と、を行う、
ことを特徴とする電子機器。 - 請求項1に記載の電子機器であって、
前記第2の分散リフレッシュ処理では、
Nr=Ns−Nb−Nc、
Tr=(Ts−Tb−Tc)/Nr、
(但し、Nsは前記DRAMを構成する記憶素子について所定期間Ts内に少なくとも1回はリフレッシュがなされるために必要なリフレッシュコマンドの総発行回数、Nbは前記第1の分散リフレッシュ処理でのリフレッシュコマンドの発行回数、Ncは前記集中リフレッシュ処理でのリフレッシュコマンドの発行回数、Nrは前記所定期間Ts内において未だにリフレッシュされていない残りの記憶素子をリフレッシュするために必要なリフレッシュコマンドの発行回数、Tbは前記第1の分散リフレッシュ処理でのリフレッシュコマンドの発行に要した時間、Tcは前記集中リフレッシュ処理でのリフレッシュコマンドの発行に要した時間である。)
を用いて、前記リフレッシュ間隔Trを算出する、
ことを特徴とする電子機器。 - 請求項1又は2に記載の電子機器であって、
前記メモリー制御回路は、
前記第1の分散リフレッシュ処理、前記集中リフレッシュ処理、前記第2の分散リフレッシュ処理、におけるリフレッシュコマンドの発行についての設定値を、前記所定期間Tsが経過する毎に変更する、
ことを特徴とする電子機器。 - 請求項1乃至3のいずれか1項に記載の電子機器であって、
前記集中リフレッシュ処理では、
前記DRAMへのリクエストの種類に応じて、リフレッシュコマンドの発行回数Ncを変更する、
ことを特徴とする電子機器。 - 請求項1乃至4のいずれか1項に記載の電子機器であって、
前記集中リフレッシュ処理では、
前記DRAMへの複数種類のリクエストを契機として、前記リフレッシュコマンドを同一の所定回数Nc発行する、
ことを特徴とする電子機器。 - 請求項1乃至6のいずれか1項に記載の電子機器は画像読取装置であって、
前記集中リフレッシュ処理では、
画像読み取りのリクエストがされることを契機として、集中的に前記リフレッシュコマンドを発行する、
ことを特徴とする電子機器。 - 請求項1乃至6のいずれか1項に記載の電子機器は印刷装置であって、
前記集中リフレッシュ処理では、
色補正、スクリーン処理の少なくともいずれかのリクエストがされることを契機として、集中的に前記リフレッシュコマンドを発行する、
ことを特徴とする電子機器。 - 請求項1乃至8のいずれか1項に記載の電子機器であって、
前記メモリー制御回路は、
第1のモードに設定された場合には、
所定期間Ts内において常に所定間隔でリフレッシュコマンドを発行し、
第2のモードに設定された場合には、
所定期間Ts内の所定のタイミングで、集中的にリフレッシュコマンドを前記総発行回数Ns発行し、
第3のモードに設定された場合には、
前記第1の分散リフレッシュ処理、前記集中リフレッシュ処理、及び、前記第2の分散リフレッシュ処理、を行う、
ことを特徴とする電子機器。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010025211A JP2011165247A (ja) | 2010-02-08 | 2010-02-08 | 電子機器 |
CN201010624147.XA CN102157191B (zh) | 2010-02-08 | 2010-12-29 | 电子机器 |
US13/007,557 US8631194B2 (en) | 2010-02-08 | 2011-01-14 | DRAM refresh schedule control module |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010025211A JP2011165247A (ja) | 2010-02-08 | 2010-02-08 | 電子機器 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2011165247A true JP2011165247A (ja) | 2011-08-25 |
Family
ID=44354573
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010025211A Pending JP2011165247A (ja) | 2010-02-08 | 2010-02-08 | 電子機器 |
Country Status (3)
Country | Link |
---|---|
US (1) | US8631194B2 (ja) |
JP (1) | JP2011165247A (ja) |
CN (1) | CN102157191B (ja) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8775725B2 (en) * | 2010-12-06 | 2014-07-08 | Intel Corporation | Memory device refresh commands on the fly |
CN102956260B (zh) * | 2011-08-19 | 2015-12-16 | 华邦电子股份有限公司 | 动态存储器的重刷新电路及方法 |
US9158726B2 (en) | 2011-12-16 | 2015-10-13 | Inphi Corporation | Self terminated dynamic random access memory |
US9230635B1 (en) * | 2012-03-06 | 2016-01-05 | Inphi Corporation | Memory parametric improvements |
US8874973B2 (en) * | 2012-10-26 | 2014-10-28 | Lsi Corporation | Methods and structure to assure data integrity in a storage device cache in the presence of intermittent failures of cache memory subsystem |
JP2015132937A (ja) * | 2014-01-10 | 2015-07-23 | ソニー株式会社 | 情報処理装置、情報処理方法および記録媒体 |
KR102373544B1 (ko) | 2015-11-06 | 2022-03-11 | 삼성전자주식회사 | 요청 기반의 리프레쉬를 수행하는 메모리 장치, 메모리 시스템 및 메모리 장치의 동작방법 |
KR102398209B1 (ko) * | 2017-11-06 | 2022-05-17 | 삼성전자주식회사 | 반도체 메모리 장치, 메모리 시스템 그리고 그것의 리프레쉬 방법 |
TWI639920B (zh) * | 2017-11-17 | 2018-11-01 | 財團法人工業技術研究院 | 記憶體控制器及其控制方法以及記憶體及其控制方法 |
TWI671632B (zh) | 2018-10-24 | 2019-09-11 | 財團法人工業技術研究院 | 記憶體裝置及其復新資訊同步方法 |
CN112114747B (zh) * | 2020-08-31 | 2024-02-09 | 山东华芯半导体有限公司 | 一种SSD中提升NAND Flash读稳定性的方法 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5652723A (en) * | 1991-04-18 | 1997-07-29 | Mitsubishi Denki Kabushiki Kaisha | Semiconductor memory device |
JP4200573B2 (ja) * | 1998-02-24 | 2008-12-24 | ソニー株式会社 | 記憶装置と画像処理装置およびその方法とリフレッシュ動作制御装置およびその方法 |
US7369445B2 (en) * | 2001-07-20 | 2008-05-06 | Samsung Electronics Co., Ltd. | Methods of operating memory systems including memory devices set to different operating modes and related systems |
JP2003211748A (ja) * | 2001-11-09 | 2003-07-29 | Canon Inc | 画像形成装置、画像形成方法およびプログラム |
WO2005088642A1 (ja) * | 2004-03-11 | 2005-09-22 | Fujitsu Limited | 半導体メモリ |
JP4609813B2 (ja) * | 2005-05-18 | 2011-01-12 | エルピーダメモリ株式会社 | 半導体装置 |
KR100660874B1 (ko) * | 2005-07-25 | 2006-12-26 | 삼성전자주식회사 | 듀얼 포트를 갖는 디램에서의 리프레시 제어 방법 |
JP4402641B2 (ja) * | 2005-11-25 | 2010-01-20 | キヤノン株式会社 | クロック供給装置及びその制御方法 |
JP4867395B2 (ja) | 2006-02-28 | 2012-02-01 | セイコーエプソン株式会社 | メモリ制御回路及び印刷装置 |
US20080151670A1 (en) * | 2006-12-22 | 2008-06-26 | Tomohiro Kawakubo | Memory device, memory controller and memory system |
JP5025519B2 (ja) * | 2008-02-12 | 2012-09-12 | キヤノン株式会社 | 情報処理装置及び印刷システム |
JP2011248780A (ja) * | 2010-05-28 | 2011-12-08 | Konica Minolta Business Technologies Inc | プログラムの実行制御方法 |
-
2010
- 2010-02-08 JP JP2010025211A patent/JP2011165247A/ja active Pending
- 2010-12-29 CN CN201010624147.XA patent/CN102157191B/zh active Active
-
2011
- 2011-01-14 US US13/007,557 patent/US8631194B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
US20110197020A1 (en) | 2011-08-11 |
US8631194B2 (en) | 2014-01-14 |
CN102157191B (zh) | 2015-04-08 |
CN102157191A (zh) | 2011-08-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2011165247A (ja) | 電子機器 | |
JP2007199841A (ja) | 電子機器のコントローラ、バス制御装置 | |
US9927861B2 (en) | Information processing apparatus operable in power saving mode and method for controlling the same | |
US10268257B2 (en) | Memory control device that control semiconductor memory, memory control method, information device equipped with memory control device, and storage medium storing memory control program | |
US20160352949A1 (en) | Communication apparatus, control method, and program | |
US20020027820A1 (en) | Refresh control for semiconductor memory device | |
TWI273403B (en) | Display control device, image display device, and control method of data transmission | |
US9697445B2 (en) | Image forming apparatus, image formation control program, and image formation control method | |
JP2012226493A (ja) | 画像処理装置及びその制御プログラム | |
JP6486193B2 (ja) | 通信装置、制御方法及びプログラム | |
JP2012133638A (ja) | 電子機器 | |
JP2017097618A (ja) | コントローラおよび制御方法 | |
JP5594127B2 (ja) | 電子機器、及び画像処理装置 | |
JP2015032241A (ja) | メモリインターフェース | |
US20080192285A1 (en) | Image forming apparatus including a viewer program and method of controlling the same | |
JP2014157432A (ja) | 情報処理装置、画像形成装置、データアクセス方法 | |
US20230236731A1 (en) | Dram row copy | |
JP2019126926A (ja) | 画像形成装置 | |
JP2011188050A (ja) | 画像処理方法、画像処理装置および画像形成装置 | |
JP2022084163A (ja) | 電子機器、及び、その制御プログラム | |
JP6163738B2 (ja) | アプリケーションプログラムおよび演算処理装置 | |
WO2010097836A1 (ja) | 電子ペーパー装置及び電子ペーパーの表示制御方法 | |
JP2008176686A (ja) | バスシステム、及び画像形成装置 | |
US20090094420A1 (en) | Data access method and memory using the same | |
JP5968825B2 (ja) | 画像形成システム |