JP5311466B2 - Memory control method and apparatus - Google Patents
Memory control method and apparatus Download PDFInfo
- Publication number
- JP5311466B2 JP5311466B2 JP2008302742A JP2008302742A JP5311466B2 JP 5311466 B2 JP5311466 B2 JP 5311466B2 JP 2008302742 A JP2008302742 A JP 2008302742A JP 2008302742 A JP2008302742 A JP 2008302742A JP 5311466 B2 JP5311466 B2 JP 5311466B2
- Authority
- JP
- Japan
- Prior art keywords
- address
- read
- refresh
- unit
- access
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Dram (AREA)
Description
本発明は、DRAMなどの揮発性メモリのリフレッシュを含むメモリの制御方法および装置に関するものである。 The present invention relates to a memory control method and apparatus including refresh of a volatile memory such as a DRAM.
ダイナミックランダムアクセスメモリ(DRAM)セルのような揮発性メモリセルに貯蔵されたデータは短時間に消失する。このため、メモリセルを周期的にリフレッシュしてデータを保持しなければならない。したがって、DRAM、SDRAMのような多数の揮発性メモリセルを含む集積回路は、周期的にリフレッシュサイクルを実行するための機能(オートリフレッシュ機能)を備えている。 Data stored in volatile memory cells, such as dynamic random access memory (DRAM) cells, disappears in a short time. For this reason, the memory cells must be periodically refreshed to hold data. Therefore, an integrated circuit including a large number of volatile memory cells such as a DRAM and an SDRAM has a function (auto-refresh function) for periodically executing a refresh cycle.
特許文献1は、所定間隔でオートリフレッシュリクエストを発生させるオートリフレッシュリクエスト発生回路と、オートリフレッシュリクエスト発生のタイミングで、アイドル状態でない場合にはダイナミックランダムアクセスメモリに対するオートリフレッシュ要求をホールドしてホールド回数をカウントするホールド回数カウント回路と、アイドル状態を検出した時に、ホールドされた回数に達するまでダイナミックランダムアクセスメモリに対しホールドされたオートリフレッシュ要求を行う回路とを含むオートリフレッシュ制御回路が開示されている。このオートリフレッシュ制御回路を含むメモリコントローラでは、ホールドされたオートリフレッシュ要求が実行されると、実行した回数に基づきホールド回数を更新する。
SDRAMに対するリフレッシュタイミングは、SDRAMの容量によって変化する。例えば、64Mbits、128Mbitsの場合は4096回/64msで、256Mbits、512Mbitsの場合は8192回/64msのアクセスが必要である。さらに、リフレッシュサイクルはアイドル状態で行われる必要がある。したがって、特許文献1では、アイドル状態でない場合にはオートリフレッシュ要求をホールドするようにしている。 The refresh timing for the SDRAM varies depending on the capacity of the SDRAM. For example, access is required 4096 times / 64 ms for 64 Mbits and 128 Mbits, and 8192 times / 64 ms for 256 Mbits and 512 Mbits. Furthermore, the refresh cycle needs to be performed in an idle state. Therefore, in Patent Document 1, an auto-refresh request is held when not in an idle state.
また、リフレッシュサイクルの間はメモリにアクセスできない。1回のリフレッシュサイクルに要する時間が、たとえば、140nsとすると、64msの間に8192回のリフレッシュサイクルを実行すると1.15msがリフレッシュのために費やされ、メモリにアクセスできない。メモリ転送レートを向上するためにはリフレッシュの頻度を下げることが必要であるが、データの消失を防ぐためにはリフレッシュの頻度を下げることができない。 Also, the memory cannot be accessed during the refresh cycle. If the time required for one refresh cycle is 140 ns, for example, if 8192 refresh cycles are executed during 64 ms, 1.15 ms is consumed for refresh and the memory cannot be accessed. In order to improve the memory transfer rate, it is necessary to reduce the refresh frequency, but in order to prevent data loss, the refresh frequency cannot be reduced.
本発明の一態様は、第1のアドレスおよび第2のアドレスを含むアドレスデータによりアクセス可能な多数のメモリセルを含む揮発性メモリ装置に対しライトアクセスした複数のライト済みの第1のアドレスを保持する第1のアドレス記憶部と、複数のライト済みの第1のアドレスの内、リフレッシュ操作を要する第1の時間内にライトアクセスおよびリードアクセスのない、未アクセスのライト済みの第1のアドレスに対しダミーリードを行うダミーリードコマンドを発行するダミーリードユニットと、複数のライト済みの第1のアドレスの内、リードアクセスが行われたライト済みの第1のアドレスを第1のアドレス記憶部から消去する更新ユニットとを有するリフレッシュ制御装置である。典型的な揮発性メモリ装置はDRAMであり、第1のアドレスはロウアドレスであり、第2のアドレスはカラムアドレスである。 One aspect of the present invention holds a plurality of written first addresses that are write-accessed to a volatile memory device that includes a large number of memory cells accessible by address data including a first address and a second address. To the first address storage unit that has been written, and among the plurality of written first addresses, there is no write access and no read access within the first time that requires a refresh operation, and there is an unaccessed written first address. A dummy read unit that issues a dummy read command for performing a dummy read, and a first address that has been read-accessed among a plurality of written first addresses is erased from the first address storage unit A refresh control device having an update unit to perform. A typical volatile memory device is a DRAM, the first address is a row address, and the second address is a column address.
同一のアドレスにリードが繰り返される可能性があるアプリケーションに対しては、更新ユニットは、リードアクセスが最終のリードアクセスであることを判断する機能を含み、最終のリードアクセスが行われたライト済みの第1のアドレスのみを第1のアドレス記憶部から消去することが望ましい。または、更新ユニットは、リードアクセスが、同一のアドレスに対する再リードを確保するためのデータ保持型リードアクセスであることを判断する機能を含み、データ保持型リードアクセスが行われたライト済みの第1のアドレスは第1のアドレス記憶部に保持することが望ましい。 For applications that may be repeatedly read to the same address, the update unit includes a function that determines that the read access is the final read access, and the written unit where the final read access was made. It is desirable to erase only the first address from the first address storage unit. Alternatively, the update unit includes a function of determining that the read access is a data holding type read access for securing re-reading with respect to the same address, and the written first data that has been subjected to the data holding type read access is included. Is preferably stored in the first address storage unit.
オートリフレッシュコマンドを発行する方法では、どのロウアドレスをリフレッシュしているのかはDRAM外部からは知る手段が無い。このため、DRAMの全領域に対してリフレッシュを実行する必要があり、一定期間内に決まった回数のオートリフレッシュコマンドを発行しなくてはならない。したがって、リフレッシュに要する一定の時間はDRAMにアクセスできない。DRAMなどの揮発性メモリ装置のメモリセルは、メモリリード、メモリライトでもリフレッシュされる。さらに、揮発性メモリ装置に含まれる多数のメモリセルのうち、データを保持する必要のあるメモリセルだけリフレッシュすればよい。このため、本発明においては、ライト済みのロウアドレスを記憶し、そのライト済みのロウアドレスに対しライトまたはリードアクセスがリフレッシュサイクルの間にない場合にダミーリードを行うことにより、データ保持を保証するとともにリフレッシュの回数を抑制する。さらに、ライト済みのロウアドレスのデータを破棄できるリードアクセス(または最終のリードアクセス)があると、リードされたライト済みのロウアドレスを消去することによりリフレッシュの回数を抑制する。 In the method of issuing the auto refresh command, there is no means for knowing from the outside of the DRAM which row address is being refreshed. For this reason, it is necessary to perform refresh for the entire area of the DRAM, and a predetermined number of auto-refresh commands must be issued within a certain period. Therefore, the DRAM cannot be accessed for a certain time required for refresh. A memory cell of a volatile memory device such as a DRAM is also refreshed by memory read or memory write. Furthermore, it is only necessary to refresh only the memory cells that need to hold data among the many memory cells included in the volatile memory device. For this reason, in the present invention, data retention is guaranteed by storing a written row address and performing dummy read when there is no write or read access to the written row address during the refresh cycle. At the same time, the number of refreshes is suppressed. Furthermore, if there is a read access (or final read access) that can discard the data of the written row address, the number of refreshes is suppressed by erasing the read written row address.
この方式は、ダミーリード用のロウアドレスを生成するので、ダミーリードの頻度が高くなるリフレッシュに要する時間(第1の消費時間)が、オートリフレッシュを用いたリフレッシュに要する時間(第2の消費時間)よりも長くなる可能性がある。しかしながら、理論的な第1の消費時間と第2の消費時間とが同じ場合は、リードアクセスがあったロウアドレスに対するダミーリードが発行されない分だけ実際の第1の消費時間は短くなる。したがって、本発明のリフレッシュ制御装置は、揮発性メモリ装置に対して第1の時間内に所定の回数のオートリフレッシュコマンドを発行するオートリフレッシュユニットと、ダミーリードユニットおよびオートリフレッシュユニットのいずれか一方を有効とする監視ユニットとをさらに有する。監視ユニットは、第1のアドレス記憶部に保持されている複数のライト済みの第1のアドレスに対しダミーリードを行うために要する第1の消費時間およびオートリフレッシュユニットにより揮発性メモリ装置をオートリフレッシュするために要する第2の消費時間を比較し、第1の消費時間が第2の消費時間と同じまたは短いときは、ダミーリードユニットを有効、オートリフレッシュユニットを無効とし、第1の消費時間が前記第2の消費時間より長いときは、ダミーリードユニットを無効、オートリフレッシュユニットを有効とする。 Since this method generates a row address for dummy read, the time required for refresh (first consumption time) at which the frequency of dummy read is high is the time required for refresh using auto-refresh (second consumption time). ) May be longer. However, when the theoretical first consumption time and the second consumption time are the same, the actual first consumption time is shortened by the amount that the dummy read for the row address where the read access has been made is not issued. Therefore, the refresh control device of the present invention includes an auto-refresh unit that issues a predetermined number of auto-refresh commands to the volatile memory device within a first time, and a dummy read unit or an auto-refresh unit. further comprising a monitoring unit to enable. The monitoring unit auto-refreshes the volatile memory device by the first consumption time and auto-refresh unit required for performing dummy read on the plurality of first addresses already written held in the first address storage unit. When the first consumption time is equal to or shorter than the second consumption time, the dummy read unit is enabled, the auto-refresh unit is disabled, and the first consumption time is When the time is longer than the second consumption time, the dummy read unit is disabled and the auto refresh unit is enabled.
このリフレッシュ制御装置は、メモリ制御装置に組み込むことができる。すなわち、本発明の他の態様の1つは、メモリ制御装置であり、リフレッシュ制御装置と、アクセス要求ユニットとを含む。アクセス要求ユニットは、揮発性メモリ装置に対するライト用のアドレスデータおよびライトコマンドを含むライトアクセス命令、または、リード用のアドレスデータおよびリードコマンドを含むリードアクセス命令に基づき、揮発性メモリ装置にアクセス要求を発行する。アクセス要求ユニットは、また、リフレッシュ制御装置のアドレスデータとして、リフレッシュ制御装置にライト用のアドレスデータおよびリード用のアドレスデータを供給する。メモリ制御装置は、アクセス要求と、ダミーリードコマンドまたはオートリフレッシュコマンドとの、揮発性メモリ装置に対するアクセスを調停する調停ユニットを有することが望ましい。 This refresh control device can be incorporated into a memory control device. That is, another aspect of the present invention is a memory control device, which includes a refresh control device and an access request unit. The access request unit issues an access request to the volatile memory device based on a write access instruction including address data and a write command for writing to the volatile memory device, or a read access instruction including a read address data and a read command. Issue. The access request unit also supplies the refresh control device with write address data and read address data as address data of the refresh control device. The memory control device preferably includes an arbitration unit that arbitrates access to the volatile memory device between the access request and the dummy read command or the auto-refresh command.
本発明の他の態様の1つは、上記のメモリ制御装置と、このメモリ制御装置により制御される揮発性メモリ装置と、データ処理部とを有するデータ処理装置である。データ処理部は、ライトアクセス命令により揮発性メモリ装置に書き込まれるデータを生成し、リードアクセス命令により揮発性メモリ装置から読み出されるデータによる処理を実行する機能を含む。典型的なデータ処理装置は、ASIC、プロセッサ、マイクロコンピュータなどの半導体集積回路装置である。データ処理装置は、プリンタ、パーソナルコンピュータ、携帯電話、PDAなどの情報処理端末であってもよい。 Another aspect of the present invention is a data processing device having the above memory control device, a volatile memory device controlled by the memory control device, and a data processing unit. The data processing unit includes a function of generating data to be written to the volatile memory device by a write access command and executing a process using data read from the volatile memory device by a read access command. A typical data processing device is a semiconductor integrated circuit device such as an ASIC, a processor, or a microcomputer. The data processing apparatus may be an information processing terminal such as a printer, a personal computer, a mobile phone, or a PDA.
本発明の他の態様の1つは、メモリの制御方法であり、以下のステップを含む。
(1)第1のアドレスおよび第2のアドレスを含むアドレスデータによりアクセス可能な多数のメモリセルを含む揮発性メモリ装置に対しライトアクセスした複数のライト済みの第1のアドレスを第1のアドレス記憶部に保持すること。
(2)複数のライト済みの第1のアドレスの内、リフレッシュ操作を要する第1の時間内にライトアクセスおよびリードアクセスのない、未アクセスのライト済みの第1のアドレスに対しダミーリードを行うダミーリードコマンドを発行すること。
(3)複数のライト済みの第1のアドレスの内、リードアクセスが行われたライト済みの第1のアドレスを第1のアドレス記憶部から消去すること。
Another aspect of the present invention is a memory control method including the following steps.
(1) First address storage of a plurality of written first addresses that have been write-accessed to a volatile memory device including a large number of memory cells accessible by address data including a first address and a second address To keep in the department.
(2) A dummy that performs a dummy read on an unaccessed written first address that does not have a write access and a read access within a first time that requires a refresh operation among a plurality of written first addresses. Issue a read command.
(3) Erasing, from the first address storage unit, the written first address that has been read-accessed among the plurality of written first addresses.
メモリの制御方法は、さらに以下のステップを含むことが望ましい。
(4)揮発性メモリ装置に対して第1の時間内に所定の回数のオートリフレッシュコマンドを発行すること。
(5)第1のアドレス記憶部に保持されている複数のライト済みの第1のアドレスに対しダミーリードを行うために要する第1の消費時間およびオートリフレッシュコマンドにより揮発性メモリ装置をオートリフレッシュするために要する第2の消費時間を比較し、第1の消費時間が第2の消費時間と同じまたは短いときは、ダミーリードコマンドを発行することを選択し、第1の消費時間が第2の消費時間より長いときは、オートリフレッシュコマンドを発行することを選択すること。
It is desirable that the memory control method further includes the following steps.
(4) Issue a predetermined number of auto-refresh commands to the volatile memory device within a first time.
(5) The volatile memory device is auto-refreshed by the first consumption time and the auto-refresh command required for performing the dummy read with respect to the plurality of written first addresses held in the first address storage unit. The second consumption time required for the comparison is compared, and when the first consumption time is the same as or shorter than the second consumption time, it is selected to issue a dummy read command, and the first consumption time is the second consumption time. If it is longer than the consumption time, choose to issue an auto-refresh command.
図1に、プリンタの概略構成を示している。プリンタ1は、インクジェットヘッドなどの印刷機構、紙送り機構などを含む印刷機構(プリンタメカ)2と、プリンタコントローラ3とを含む。プリンタコントローラ3は、プリンタメカ2の制御を行うプリンタメカコントローラ4と、CPU5と、CPU5で稼働するプログラムを格納したROM6と、パーソナルコンピュータ(PC)9などのホスト装置と適当な媒体、たとえば、LANインターフェイス、USBなどのシリアルインターフェイスなどにより接続するためのインターフェイス7と、印刷データを処理するためのデータ処理ユニット10と、これらを接続するバス8とを含む。データ処理ユニット10は、データの解凍・伸長、色変換、誤差拡散などの印刷用のデータを生成するために必要な種々の処理を実行するようにユーザにより設計されたデータ処理部(ASIC)11と、作業用のデータ格納領域を提供するメモリ(DRAM)12と、ASIC11とDRAM12との間の入出力を制御するメモリコントローラ(DRAMコントローラ)13とを含む。メモリコントローラ13は、ASIC11に搭載されており、DRAM12とはメモリインタフェイス14により接続されている。
FIG. 1 shows a schematic configuration of the printer. The printer 1 includes a printing mechanism (printer mechanism) 2 including a printing mechanism such as an inkjet head, a paper feed mechanism, and the like, and a printer controller 3. The printer controller 3 includes a
DRAMコントローラ13は、ASIC11から供給される、ライトアドレスデータ(ライト用のアドレスデータ)およびライトコマンドを含むライトアクセス命令、リードアドレスデータ(リード用のアドレスデータ)およびリードコマンドを含むリードアクセス命令を、DRAM12に対するアクセス要求に変換して発行する。ASIC11は、ライトアクセス命令によりDRAM12に書き込まれるデータを生成し、また、リードアクセス命令によりDRAM12から読み出されるデータによる処理を実行する。DRAM12は、多数の揮発性メモリセルを含む揮発性メモリ装置の1つの例である。DRAM12は、たとえば、DDR、DDR2、DDR3などのSDRAMである。DRAMコントローラ13は、さらにDRAM12のリフレッシュを行うリフレッシュ制御ユニット20を含む。
The
図2に、DRAMコントローラ13の構成をさらに詳しく示している。DRAMコントローラ13は、ASIC11のアクセス制御部18から発行されるライトアクセス命令φ1およびリードアクセス命令φ2をデコードして、DRAM12に対するアクセス要求を発行するアクセス要求ユニット28と、DRAM12のリフレッシュを行うリフレッシュ制御ユニット20と、これらのユニットからDRAM12に対する入出力を調停する調停ユニット(アービタ)29とを含む。アクセス要求ユニット28は、アクセス命令φ1およびφ2の含まれるアドレスデータ(ライト用のアドレスデータおよびリード用のアドレスデータ、以降ではアドレス)をDRAM12にアクセスするためのロウアドレス(行アドレス、第1のアドレス)Arとカラムアドレス(列アドレス、第2のアドレス)Acとに分けて、DRAM12に発行する機能を含む。DRAM12に含まれる多数のメモリセルは、まず、ロウアドレスArにより行、たとえば2kバイトのメモリセルが指定され、次にカラムアドレスAcにより列が指定されることにより所定のメモリセルにデータを書き込んだり、メモリセルからデータを読み出すことができる。
FIG. 2 shows the configuration of the
アクセス要求ユニット28は、さらに、DRAM12にデータを書き込み、または、DRAM12からデータを読み出すために、コマンド、たとえば、RAS(ローアドレスストローブ)信号、CAS(カラムアドレスストローブ)信号、WE(ライトイネーブル)信号などを用いてDRAM12を制御する。また、アクセス要求ユニット28は、アドレスおよびデータをDRAM12に供給するタイミング調整用のFF(フリップフロップ)27などを含む。アクセス要求ユニット28は、さらに、アクセス命令φ1およびφ2を受信すると、リフレッシュ制御ユニット20に対して、それらの命令φ1またはφ2に含まれている、ロウアドレスArと、コマンド、すなわち、ライトコマンドCwおよびリードコマンドCrを供給する。
The
リフレッシュ制御ユニット20は、ライトコマンドCwによりライト(書き込み)を検出するライト検出ユニット21と、リードコマンドCrによりリード(読み出し)を検出するリード検出ユニット22と、ライトコマンドCwとともに供給されたロウアドレスArを、ライト済みのロウアドレスとして格納するロウアドレス保持ユニット(ロウアドレス記憶部)23とを含む。ロウアドレス保持ユニット23は、SRAM23mを備えている。
The
リフレッシュ制御ユニット20は、ロウアドレス保持ユニット23に格納される複数のロウアドレスArの登録25aおよび削除25dを制御する更新ユニット25を含む。登録する機能25aは、ライト検出ユニット21がライトコマンドCwを検出すると、ロウアドレスArをロウアドレス保持ユニット23に登録する。削除する機能25dは、リード検出ユニット22がリードコマンドCrを検出し、さらに、最終リード判断ユニット24により最終リードであることが判明すると、そのときのロウアドレスArをロウアドレス保持ユニット23から削除する。最終リード判断ユニット24は、リードコマンドCrと、ASIC11のデータ破棄有効判断ユニット19から供給されるデータ破棄有効信号φ3との論理積により最終リードを検出し、リード後はリフレッシュを要しないデータになることを判断する。
The
最終リード判断ユニット24は、同じアドレスにリードが繰り返される可能性があるアプリケーションを実装するのに有効である。一方、同じアドレスにリードが繰り返されないアプリケーションを実装する場合は、最終リード判断ユニット24を省略し、リードアクセスのロウアドレスArをロウアドレス保持ユニット23から削除してもよい。また、同じアドレスにリードが繰り返される可能性がゼロではないアプリケーションを実装する場合は、ASIC11にデータ保持判断ユニットを設け、それから供給されるデータ保持信号とリードコマンドCrとの論理積によりデータ保持型リードアクセスであることを判断するユニットを設けることが望ましい。そして、データ保持型リードアクセスの場合は、ロウアドレス保持ユニット23からリードアクセスされたロウアドレスを削除せずに保持することが望ましい。
The final
リフレッシュ制御ユニット20は、さらに、ダミーリードユニット30を含む。ダミーリードユニット30は、ロウアドレス保持ユニット23に格納された複数のライト済みのロウアドレスArの内、リフレッシュ操作を要するリフレッシュサイクル(第1の時間)tr内にライトアクセスおよびリードアクセスのない、未アクセスのライト済みのロウアドレスArに対しダミーリードを行うダミーリードコマンドCdrを発行する。ダミーリードユニット30は、ロウアドレス保持ユニット23に保持されている複数のロウアドレスArのそれぞれについて最終のアクセスからの時間をカウントするリフレッシュカウンタ31と、リフレッシュカウンタ31がリフレッシュサイクルtrに達するとダミーリードコマンドを発行するユニット(ダミーリードコマンド発行ユニット)32とを含む。
The
リフレッシュカウンタ31は、ライト検出ユニット21およびリード検出ユニット22によりライトコマンドCwまたはリードコマンドCrが検出されると、そのロウアドレスArのカウントをリセットする。また、ダミーリードコマンド発行ユニット32からダミーリードコマンドCdrが発行されると、そのロウアドレスArのカウントをリセットする。リフレッシュカウンタ31は、たとえば、64msのリフレッシュサイクルtrをダウンカウントしてもアップカウントしてもよい。したがって、まず、あるロウアドレスArにライトアクセスがあり、データが書き込まれると、カウンタ31はリセットされるので、リフレッシュサイクルtrの間は、そのロウアドレスArにダミーリードは行われない。また、リフレッシュサイクルtrの間にリードアクセスがあると、カウンタ31は再びリセットされるので、その後のリフレッシュサイクルtrの間は、ダミーリードは行われない。
When the
DRAM12に対するライトアクセス、リードアクセスおよびダミーリードアクセスが同時に行われることはないので、複数のロウアドレスArについてリフレッシュサイクルtrが同時にカウントアップ(カウントダウン)されることはなく、複数のロウアドレスArに対して同時にダミーリードコマンドCdrが発行されることはない。しかしながら、リードアクセスあるいはライトアクセスと、ダミーリードアクセス(ダミーリードコマンド)とが競合する可能性はあり、そのようなアクセスの競合は調停ユニット(アービタ)29により調整される。
Since the write access, read access, and dummy read access to the
リフレッシュ制御ユニット20はさらに、DRAM12に対してリフレッシュサイクル(第1の時間)tr内に所定の回数のオートリフレッシュコマンドCarを発行するオートリフレッシュユニット40と、オートリフレッシュユニット40およびダミーリードユニット30の有効無効を選択する監視ユニット50とを含む。オートリフレッシュユニット40が有効になると、たとえば、512MbitsのDRAM12に対して8192回/64msのオートリフレッシュコマンドCarを発行する。
The
監視ユニット50は、オートリフレッシュによりリフレッシュサイクルtrの間にロスする時間(第2の消費時間)Tbがセットされるレジスタ51と、1回のダミーリードに要する時間がセットされるレジスタ52と、ロウアドレス保持ユニット23に保持されているロウアドレスArの数をカウントするカウンタ53と、レジスタ52の時間とカウンタ53のカウント値によりリフレッシュサイクルtrの間にダミーリードに要する時間(第1の消費時間)Taを計算する乗算器55とを含む。カウンタ53は、更新ユニット25において登録25aが選択されると1つアップし、削除25dが選択されると1つダウンすることによりロウアドレス保持ユニット23に保持されているロウアドレスArの数(セット数)をカウントする。
The
監視ユニット50は、さらにコンパレータ56を含み、第2の消費時間Tbが第1の消費時間Taより小さいと選択信号φsを「1」にセットしてセレクタ57を制御し、オートリフレッシュユニット40から出力されるオートリフレッシュコマンドCarを有効にする。一方、コンパレータ56は、第1の消費時間Taが第2の消費時間Tbと等しいか、または小さいときは、選択信号φsを「0」にセットしてセレクタ57を制御し、ダミーリードユニット30から出力されるダミーリードコマンドCdrを有効にする。したがって、このリフレッシュ制御ユニット20においては、ロウアドレス保持ユニット23に保持されている複数のライト済みのロウアドレスArに対しダミーリードを行うために要する第1の消費時間Taと、オートリフレッシュユニット40によりDRAM12をオートリフレッシュするために要する第2の消費時間Tbとを比較し、第1の消費時間Taが第2の消費時間Tbと同じまたは短いときは、ダミーリードユニット30を有効、オートリフレッシュユニット40を無効とする。逆に、第1の消費時間Taが第2の消費時間Tbより長いときは、ダミーリードユニット30を無効、オートリフレッシュユニット40を有効とする。
The
図3に、リフレッシュ制御ユニット20の動作をフローチャートにより示している。ステップ71でコマンドの有無を確認する。ASIC11からコマンドが供給され、ステップ81においてライト検出ユニット21がライトを検出すると、ステップ82で更新ユニット25によりロウアドレスArをロウアドレス保持ユニット23に登録する(ステップ(1))。次に、ステップ83で、監視ユニット50により第1の消費時間Taと第2の消費時間Tbとを計算し、ステップ84で比較した結果、第2の消費時間Tbが第1の消費時間Taよりも短ければ、ステップ85でオートリフレッシュユニット40を有効にする。逆に、第1の消費時間Taが第2の消費時間Tbと同じまたは短ければ、ステップ86でダミーリードユニット30を有効にする(ステップ(5))。
FIG. 3 is a flowchart showing the operation of the
ダミーリードユニット30が選択されている場合、DRAM12に対するライトアクセスおよび/またはリードアクセスにより、ロウアドレス保持ユニット23に保持されているロウアドレスArのすべてに対してダミーリードコマンドCdrが発行される可能性は少ない。したがって、ダミーリードを行うことにより消費される時間(第1の消費時間)Taは計算値または最大値であり、実際に消費される時間は第1の消費時間Taより短くなる。一方、オートリフレッシュにより消費される時間(第2の消費時間)Tbは、オートリフレッシュコマンドCarによりどのロウアドレスArがリフレッシュされているかDRAMコントローラ13ではわからないため、所定の数だけ発行する必要があり、第2の消費時間Tbは必ず消費される。したがって、監視ユニット50は、第1の消費時間Taと第2の消費時間Tbとが等しい場合は、ダミーリードユニット30を選択し、リフレッシュに要する時間が短縮されるようにする。
When the dummy read
ステップ81において、リード検出ユニット22がリードを検出すると、ステップ87で最終リード判断ユニット24により最終リードか否かを判断する。検出されたリードが最終リードの場合は、そのリードアドレスのDRAM12のデータはリードされた後に破棄されてもよいので、リフレッシュの必要はない。したがって、ステップ88で更新ユニット25によりロウアドレス保持ユニット23に保持されているロウアドレスArを削除(消去)する(ステップ(3))。最終リードを判断せずに、同じアドレスにリードが繰り返される可能性があるアプリケーションの場合はリードアクセスで該当するロウアドレスArを削除してもよい。一方、再リードされる頻度が少ない場合は、データ保持型リードアクセスであることを判断して、データ保持型リードアクセスの場合は、ロウアドレス保持ユニット23からリードアクセスされたロウアドレスを削除せずに保持するようにしてもよい。
In
ステップ81において、ライトを検出した場合も、リードを検出した場合もDRAM12に対するアクセスが発生する。したがって、ステップ76においてリフレッシュカウンタ31をリセットする。これにより、ダミーリードユニット30が有効になっている場合は、最終アクセスからリフレッシュサイクルtrが経過した後でなければ、そのロウアドレスArにはダミーリードコマンドCdrが発行されない。すなわち、ロウアドレス保持ユニット23に保持されている複数のライト済みのロウアドレスArの内、リフレッシュ操作を要するリフレッシュサイクル(第1の時間)trのサイクル内(時間内)にライトアクセスおよびリードアクセスのない、未アクセスのライト済みのロウアドレスArに対してのみダミーリードを行うダミーリードコマンドCdrが発行される(ステップ(2))。したがって、リフレッシュによるDRAM12の転送レートの低下を抑制できる。
In
ステップ71においてコマンドが検出されない場合は、ステップ72において、セレクタ57でダミーリードユニット30が有効になっていれば、ステップ74でリフレッシュカウンタ31がカウントアップしたか否かが判断される。リフレッシュカウンタ31のカウントによりリフレッシュサイクルtrが経過している場合は、ステップ75でダミーリードユニット30から、リフレッシュを要するロウアドレスArに対してダミーリードコマンドCdrが発行される。ライトアクセスされ、データが破棄されていないロウアドレスArに対しては、リフレッシュサイクルtrが経過すればダミーリードコマンドCdrが発行される。したがって、ダミーリードにより、DRAM12に書き込まれ、後でリードされる可能性のあるデータは有効に保持される。
If no command is detected in
ステップ72においてオートリフレッシュユニット40が選択されている場合は、ステップ73においてオートリフレッシュユニット40から所定のタイミングでオートリフレッシュコマンドCarが発行される(ステップ(4))。したがって、オートリフレッシュにより、DRAM12に書き込まれ、後でリードされる可能性のあるデータは有効に保持される。さらに、このリフレッシュ制御ユニット20においては、ダミーリードユニット30が選択されることにより、リフレッシュサイクルtr中にリフレッシュのために消費される時間が短くなることがあっても、リフレッシュにより消費される時間が最大でオートリフレッシュにより消費される時間Tbを超えることはない。
If the auto-
このように、リフレッシュ制御ユニット20を採用することにより、DRAM12に書き込まれているデータ量がそれほど多くない場合は、DRAM12に対してオートリフレッシュコマンドCarを発行する必要がなく、オートリフレッシュの実行によるDRAM12に対する転送レートの低下を抑制できる。たとえば、オートリフレッシュの実行により、64msのリフレッシュサイクルtrの間に1.15ms(8192回×140ns)のDRAM12へアクセスできない時間(無駄時間)が発生するが、その無駄時間のすべて、または一部の発生を抑制できる。
As described above, by adopting the
さらに、リフレッシュ制御ユニット20においては、ダミーリードの対象となるロウアドレスArを常にアップデートすることにより、DRAM12のメモリセルのうち、必要最小限のセル(ロウアドレス)に対してリフレッシュを行う。このため、DRAM12を、キャッシュのように局所的に利用し、頻繁にライトアクセスおよびリードアクセスを繰り返すアプリケーションをASIC11において実行している場合は、ダミーリードコマンドCdrの発行も抑制できる。したがって、DRAM12をリフレッシュすることによる転送レートの低下をさらに抑制できる。ベストケースでは、リフレッシュのためのダミーリードコマンドCdrが発行されず、DRAM12をリフレッシュするために消費される時間をゼロにすることも可能である。
Further, the
また、ダミーリードコマンドCdrの発行頻度が少ない場合は、調停ユニット29により、リードアクセスあるいはライトアクセスを優先させることが可能である。したがって、ダミーリードコマンドCdrが発行される条件であっても、ダミーリードはDRAMアクセスが発生していない期間で実行することで転送レートの低下を抑制する、または転送レートの低下が発生しないようにすることが可能となる。
When the frequency of issuing the dummy read command Cdr is low, the
一方、ダミーリードを発行するためのロウアドレスの数が数万個に増えることで、オートリフレッシュコマンド制御よりも転送レートの低下が大きくなることも考えられる。このリフレッシュ制御ユニット20では、監視ユニット50において、ダミーリードによるリフレッシュサイクルの消費時間Taを常に監視し、消費時間が長くなったときはオートリフレッシュコマンド制御に自動で切り替える。したがって、オートリフレッシュコマンドによる消費時間Tbよりリフレッシュ時間が長くなることはない。このため、ダミーリードによるリフレッシュを採用しても、オートリフレッシュコマンド制御を採用したときの転送レートは担保される。
On the other hand, when the number of row addresses for issuing dummy reads increases to several tens of thousands, it is conceivable that the transfer rate decreases more than the auto refresh command control. In the
なお、上記の例では、ダミーリードを発行するサイクルをリフレッシュカウンタ31によりカウントすることにより監視しているが、リフレッシュサイクルの監視手段には公知のさまざまな方式を採用できる。また、データ処理ユニット10はASIC11に限定されることはなく、汎用タイプのプロセッサ、マイクロコンピュータであってもよい。さらに、リフレッシュ制御ユニットによりリフレッシュの対象となる揮発性メモリ装置は、DRAMに限らず、他のリフレッシュを要するメモリに適用できる。また、上記ではプリンタおよびプリンタコントローラを例に説明しているが、コンピュータおよびその他の情報端末におけるメモリ制御にも本発明は適用できる。
In the above example, the cycle for issuing the dummy read is monitored by counting by the
10 データ処理装置、 11 ASIC、 12 DRAM
13 DRAMコントローラ
20 リフレッシュ制御ユニット
10 data processing device, 11 ASIC, 12 DRAM
13
Claims (10)
前記複数のライト済みの第1のアドレスの内、リフレッシュ操作を要する第1の時間内にライトアクセスおよびリードアクセスのない、未アクセスのライト済みの第1のアドレスに対しダミーリードを行うダミーリードコマンドを発行するダミーリードユニットと、
前記複数のライト済みの第1のアドレスの内、リードアクセスが行われたライト済みの第1のアドレスを前記第1のアドレス記憶部から消去する更新ユニットと、
前記揮発性メモリ装置に対して前記第1の時間内に所定の回数のオートリフレッシュコマンドを発行するオートリフレッシュユニットと、
前記第1のアドレス記憶部に保持されている前記複数のライト済みの第1のアドレスに対しダミーリードを行うために要する第1の消費時間および前記オートリフレッシュユニットにより前記揮発性メモリ装置をオートリフレッシュするために要する第2の消費時間を比較し、前記第1の消費時間が前記第2の消費時間と同じまたは短いときは、前記ダミーリードユニットを有効、前記オートリフレッシュユニットを無効とし、前記第1の消費時間が前記第2の消費時間より長いときは、前記ダミーリードユニットを無効、前記オートリフレッシュユニットを有効とする監視ユニットとを有するリフレッシュ制御装置。 A first address storage for holding a plurality of written first addresses that have been write-accessed to a volatile memory device including a large number of memory cells accessible by address data including a first address and a second address And
A dummy read command for performing a dummy read on an unaccessed written first address that does not have a write access and a read access within a first time requiring a refresh operation among the plurality of written first addresses. A dummy lead unit that issues
An update unit for erasing, from the first address storage unit, a written first address that has been read-accessed among the plurality of written first addresses ;
An auto-refresh unit that issues a predetermined number of auto-refresh commands within the first time to the volatile memory device;
The volatile memory device is auto-refreshed by a first consumption time required for performing a dummy read on the plurality of written first addresses held in the first address storage unit and the auto-refresh unit. And comparing the second consumption time required for the operation, when the first consumption time is equal to or shorter than the second consumption time, the dummy read unit is enabled, the auto-refresh unit is disabled, And a monitoring unit that disables the dummy read unit and enables the auto-refresh unit when the consumption time of one is longer than the second consumption time .
前記揮発性メモリ装置に対するライト用のアドレスデータおよびライトコマンドを含むライトアクセス命令、または、リード用のアドレスデータおよびリードコマンドを含むリードアクセス命令に基づき前記揮発性メモリ装置にアクセス要求を発行するアクセス要求ユニットであって、前記リフレッシュ制御装置に前記ライト用のアドレスデータおよび前記リード用のアドレスデータを供給するアクセス要求ユニットとを有するメモリ制御装置。 A refresh control device according to any one of claims 1 to 4 ,
An access request for issuing an access request to the volatile memory device based on a write access instruction including address data and a write command for writing to the volatile memory device, or a read access command including a read address data and a read command A memory control device comprising: an access request unit for supplying the write address data and the read address data to the refresh control device.
前記メモリ制御装置により制御される揮発性メモリ装置と、
前記ライトアクセス命令により前記揮発性メモリ装置に書き込まれるデータを生成し、前記リードアクセス命令により前記揮発性メモリ装置から読み出されるデータによる処理を実行するためのデータ処理部とを有するデータ処理装置。 A memory control device according to claim 5 or 6 ,
A volatile memory device controlled by the memory control device;
A data processing device comprising: a data processing unit for generating data to be written to the volatile memory device by the write access command and executing processing by data read from the volatile memory device by the read access command.
前記複数のライト済みの第1のアドレスの内、リフレッシュ操作を要する第1の時間内にライトアクセスおよびリードアクセスのない、未アクセスのライト済みの第1のアドレスに対しダミーリードを行うダミーリードコマンドを発行することと、
前記複数のライト済みの第1のアドレスの内、リードアクセスが行われたライト済みの第1のアドレスを前記第1のアドレス記憶部から消去することと、
前記揮発性メモリ装置に対して前記第1の時間内に所定の回数のオートリフレッシュコマンドを発行することと、
前記第1のアドレス記憶部に保持されている前記複数のライト済みの第1のアドレスに対しダミーリードを行うために要する第1の消費時間および前記オートリフレッシュコマンドにより前記揮発性メモリ装置をオートリフレッシュするために要する第2の消費時間を比較し、前記第1の消費時間が前記第2の消費時間と同じまたは短いときは、前記ダミーリードコマンドを発行することを選択し、前記第1の消費時間が前記第2の消費時間より長いときは、前記オートリフレッシュコマンドを発行することを選択することとを有するメモリの制御方法。 A plurality of written first addresses that have been write-accessed to a volatile memory device including a large number of memory cells that can be accessed by address data including the first address and the second address are stored in a first address storage unit. Holding,
A dummy read command for performing a dummy read on an unaccessed written first address that does not have a write access and a read access within a first time requiring a refresh operation among the plurality of written first addresses. And issuing
Erasing, from the first address storage unit, a written first address that has been read-accessed among the plurality of written first addresses ;
Issuing a predetermined number of auto-refresh commands to the volatile memory device within the first time;
The volatile memory device is auto-refreshed by a first consumption time required for performing a dummy read on the plurality of written first addresses held in the first address storage unit and the auto-refresh command. A second consumption time required for the first consumption time is compared, and when the first consumption time is equal to or shorter than the second consumption time, the dummy read command is selected and the first consumption time is selected. And selecting to issue the auto-refresh command when the time is longer than the second consumption time .
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2008302742A JP5311466B2 (en) | 2008-11-27 | 2008-11-27 | Memory control method and apparatus |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2008302742A JP5311466B2 (en) | 2008-11-27 | 2008-11-27 | Memory control method and apparatus |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2010129123A JP2010129123A (en) | 2010-06-10 |
| JP5311466B2 true JP5311466B2 (en) | 2013-10-09 |
Family
ID=42329408
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2008302742A Expired - Fee Related JP5311466B2 (en) | 2008-11-27 | 2008-11-27 | Memory control method and apparatus |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP5311466B2 (en) |
Family Cites Families (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS63229694A (en) * | 1987-03-19 | 1988-09-26 | Fujitsu Ltd | Refreshment controller |
| JPH0294095A (en) * | 1988-09-30 | 1990-04-04 | Fuji Xerox Co Ltd | Memory controller |
| JPH0419896A (en) * | 1990-05-14 | 1992-01-23 | Sharp Corp | Refresh method for dynamic memory |
| JPH0478094A (en) * | 1990-07-13 | 1992-03-12 | Nec Corp | Refresh control circuit |
| JPH09312094A (en) * | 1996-05-23 | 1997-12-02 | Nec Eng Ltd | Refresh control system |
| JP2000339953A (en) * | 1999-05-27 | 2000-12-08 | Ricoh Co Ltd | DRAM refresh control circuit |
| JP2004047051A (en) * | 2002-05-17 | 2004-02-12 | Matsushita Electric Ind Co Ltd | Memory control device and method and program |
| JP4786155B2 (en) * | 2004-08-18 | 2011-10-05 | ルネサスエレクトロニクス株式会社 | Semiconductor device and semiconductor device refresh processing method |
-
2008
- 2008-11-27 JP JP2008302742A patent/JP5311466B2/en not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| JP2010129123A (en) | 2010-06-10 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| TWI735727B (en) | Memory device and refresh method thereof and memory system | |
| JP5157207B2 (en) | Semiconductor memory, memory controller, system, and operation method of semiconductor memory | |
| JP5000844B2 (en) | Memory controller and refresh cycle control method for controlling refresh cycle of memory | |
| JP5171096B2 (en) | Method for driving semiconductor memory device | |
| KR102389820B1 (en) | Memory controller and memory system controlling training operation and operating method thereof | |
| TW201923764A (en) | Partial refresh technique to save memory refresh | |
| CN102969017B (en) | For making the minimized method and system of the impact of refresh operation on volatibility memory performance | |
| KR20230069234A (en) | Refresh management list for DRAM | |
| JP2008210088A (en) | Memory controller, semiconductor memory access control method and system | |
| KR102449333B1 (en) | Memory system and read request management method thereof | |
| CN114464227A (en) | Memory device, host, and operating method thereof | |
| KR20170093053A (en) | Volatile memory device and electronic device comprising refresh information generator, providing the information method thereof, and controlling the refresh operation method thereof | |
| JP3705276B2 (en) | Refresh control and internal voltage generation in semiconductor memory devices | |
| JP5311466B2 (en) | Memory control method and apparatus | |
| JP2000235789A (en) | Memory controller | |
| JP2022042635A (en) | Semiconductor storage device | |
| US7536519B2 (en) | Memory access control apparatus and method for accomodating effects of signal delays caused by load | |
| JP4561089B2 (en) | Storage device | |
| US20250006242A1 (en) | Memory device and refresh controlling method thereof | |
| JP2005174437A5 (en) | ||
| JP2007280562A (en) | Refresh control device | |
| JP4100403B2 (en) | Refresh control and internal voltage generation in semiconductor memory devices | |
| JP4207905B2 (en) | Refresh control and internal voltage generation in semiconductor memory devices | |
| CN118942505A (en) | A memory refresh method, device, electronic device and storage medium | |
| JP2014093030A (en) | SDRAM controller |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20111125 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20121126 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130207 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130405 |
|
| TRDD | Decision of grant or rejection written | ||
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20130604 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130627 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 5311466 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| LAPS | Cancellation because of no payment of annual fees |