JP2006107614A - Memory controller - Google Patents

Memory controller Download PDF

Info

Publication number
JP2006107614A
JP2006107614A JP2004292528A JP2004292528A JP2006107614A JP 2006107614 A JP2006107614 A JP 2006107614A JP 2004292528 A JP2004292528 A JP 2004292528A JP 2004292528 A JP2004292528 A JP 2004292528A JP 2006107614 A JP2006107614 A JP 2006107614A
Authority
JP
Japan
Prior art keywords
refresh
page
command
address
bank
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.)
Withdrawn
Application number
JP2004292528A
Other languages
Japanese (ja)
Inventor
Toshiaki Minami
利秋 南
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2004292528A priority Critical patent/JP2006107614A/en
Publication of JP2006107614A publication Critical patent/JP2006107614A/en
Withdrawn legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To reduce the overhead when the RDRAM memory controller issues a burst refresh instruction. <P>SOLUTION: The refresh bank address generating means has a function to sequentially generate bank addresses in advance before burst issuing a refresh command. A page management means issues an NAPExit command and compares those bank addresses with the bank addresses on the page opened. When it detects a contention, it outputs the address information of this contention page with a conflict detection signal. A command issue means issues a command to close this page based on the page address information output when there is a contention, and burst issues a refresh command after finishing the NAPExit. At this time, the refresh bank address generating means again generates the addresses from the first refresh bank address. <P>COPYRIGHT: (C)2006,JPO&NCIPI

Description

本発明は情報処理装置における半導体記憶装置、とりわけDRAMの制御方法に関する。   The present invention relates to a semiconductor memory device in an information processing apparatus, and more particularly to a method for controlling a DRAM.

コンピュータシステムにおける中央演算処理装置の処理能力の向上は今日まで留まるところを知らず、その基本動作クロック周波数は1GHzを超えるまでになった。一方で主記憶を成す半導体メモリデバイスの速度はそれほどには向上しておらず、両者のギャップは広がる一方である。   The improvement of the processing power of the central processing unit in the computer system is not known until now, and its basic operation clock frequency has exceeded 1GHz. On the other hand, the speed of the semiconductor memory device constituting the main memory has not improved so much, and the gap between the two has been widening.

そのため従来よりCPUと主記憶との間に低容量ではあるがより高速なメモリ(キャッシュメモリ)を設け、記憶装置を階層化することで速度ギャップを緩衝することを計ってきた(例えば特許文献1参照)。これはCPUがメモリにアクセスする際の参照の局所性が高いことを利用し、小容量高速のキャッシュメモリにほとんどのアクセスが行われるように構成することで、主記憶の動作速度の遅さを隠蔽するものである。今日では2階層以上のキャッシュメモリを持つコンピュータシステムも珍しくはない。   For this reason, it has been attempted to buffer the speed gap by providing a memory (cache memory) having a low capacity but a higher speed between the CPU and the main memory, and hierarchizing the storage devices (for example, Patent Document 1). reference). This is because the locality of reference when the CPU accesses the memory is high, and it is configured so that almost all accesses are made to the small-capacity and high-speed cache memory, thereby reducing the operation speed of the main memory. It is something to hide. Computer systems with two or more levels of cache memory are not uncommon today.

しかしながら、アクセスがキャッシュにミスした場合の損失は、記憶階層が増加すると共に、また主記憶とCPUの速度さが大きくなると共に相対的に増大する。近年では動画像のようなストリーム型のデータを扱うアプリケーションが増えたことにより、データアクセスの局所性が相対的に低下し、それによりキャッシュの効果が小さくなり、CPU単体の性能が向上してもシステム全体の性能を上げることが難しくなってきた。   However, the loss when an access misses in the cache increases relatively as the storage hierarchy increases and the main memory and CPU speeds increase. In recent years, as the number of applications that handle stream-type data such as moving images has increased, the locality of data access has decreased relatively, which reduces the effect of caching and improves the performance of a single CPU. It has become difficult to improve the performance of the entire system.

この問題に対する本質的な解決方法は主記憶の動作速度を上げることである。しかしながら今日のほとんどのコンピュータシステムの主記憶を構成しているDRAMのデバイス速度そのものをCPUのように大幅に上げることは難しい。従ってDRAMデバイスを中核とする周辺回路のアーキテクチャを工夫することにより実効的な動作速度を向上させなければならない。従来よりこのような考え方の下に様々な種類のDRAMが考案されてきた。近年実用化された代表的なものにはEDO-DRAM,SDRAM,DDR-SDRAMなどがある。その中でもDirectRDRAM(DRDRAM)はインターフェース部分に高いクロック周波数を用い、アクセスをパケット単位のプロトコルで行うことと、深いパイプライン処理によって高い実効転送レートを実現したものである。   The essential solution to this problem is to increase the operating speed of the main memory. However, it is difficult to increase the device speed of DRAM, which constitutes the main memory of most computer systems today, as much as the CPU. Therefore, it is necessary to improve the effective operation speed by devising the peripheral circuit architecture centered on the DRAM device. Conventionally, various types of DRAMs have been devised based on this concept. Typical examples that have been put into practical use in recent years include EDO-DRAM, SDRAM, and DDR-SDRAM. Among them, DirectRDRAM (DRDRAM) uses a high clock frequency for the interface part, performs access by a packet unit protocol, and realizes a high effective transfer rate by deep pipeline processing.

図2にDRDRAMを用いたメモリシステムの構成を示す。DRDRAMではチャネルを構成するCTM/CTMN,CFM/CFMN,RQ[7:0]{ROW[2:0],COL[4:0]},DQA[8:0],DQB[8:0]およびSCK,CMD,SIOの合計33本の信号線によりメモリコントローラとの間で通信する。   FIG. 2 shows the configuration of a memory system using DRDRAM. In DRDRAM, CTM / CTMN, CFM / CFMN, RQ [7: 0] {ROW [2: 0], COL [4: 0]}, DQA [8: 0], DQB [8: 0] Communication is performed with the memory controller via a total of 33 signal lines, SCK, CMD, and SIO.

メモリコントローラから個々のDRDRAMに対し、RQ[7:0]信号線上にCFM/CFMNに同期するパケットに構成されたコマンドが与えられる。パケットはRQ信号線のうちROW[2:0]を使うROWパケットとCOL[4:0]を使うCOLパケットに分けられ、それぞれ対象となるデバイスのデバイスアドレス、バンクアドレス、及びロウアドレス(ROWパケット)ないしカラムアドレス(COLパケット)を含んでいる。コマンドが書き込みコマンドである場合はそれに続いてDQA/DQB信号線上に書き込みデータが送られる。読み出しコマンドである場合はそれに続いて対象デバイスからDQA/DQB信号線上に読み出しデータが返される。   A command composed of a packet synchronized with CFM / CFMN is given to each DRDRAM from the memory controller on the RQ [7: 0] signal line. Packets are divided into ROW packets that use ROW [2: 0] and COL packets that use COL [4: 0] on the RQ signal line, and the device address, bank address, and row address (ROW packet) of the target device. ) Or column address (COL packet). When the command is a write command, write data is subsequently sent on the DQA / DQB signal line. If it is a read command, read data is subsequently returned from the target device onto the DQA / DQB signal line.

図3にROWパケット、図4にCOLパケットの詳しい構成を示す。   FIG. 3 shows the detailed structure of the ROW packet and FIG. 4 shows the COL packet.

次にメモリコントローラがDRDRAMデバイスに対してアクセスする場合の基本動作を説明する。まずROWパケットにより対象となるデバイスの対象バンク内の1ページ(1つのロウアドレスに対応)をアクティベートする。メモリコントローラ内のコマンド発行手段はアクセスが書きこみの場合には、次いでtRCD時間以降にCOLパケット(WRコマンド)を発行し対象デバイスの対象ページ内の位置アドレス(カラムアドレス)に書きこみを行うことを通知する。このとき、オートプリチャージモードであればtRTP後に自動的にプリチャージを行わせることを同時に示す(WRAコマンド)。そしてtCWDの間隔を空けてDQA/DQBに書きこみデータをパケットとして送出する。図5に書き込み時のタイミングチャートを示す。   Next, the basic operation when the memory controller accesses the DRDRAM device will be described. First, one page (corresponding to one row address) in the target bank of the target device is activated by the ROW packet. The command issuing means in the memory controller must write the COL packet (WR command) after the tRCD time and write to the position address (column address) in the target page of the target device when the access is write. To be notified. At this time, in the auto precharge mode, it indicates simultaneously that precharge is automatically performed after tRTP (WRA command). Then, write data is sent to DQA / DQB as a packet with an interval of tCWD. FIG. 5 shows a timing chart at the time of writing.

アクセスが読み出しの場合には、同様にtRCD時間以降にCOLパケット(RDコマンド)を発行し対象デバイスの対象ページ内の位置アドレス(カラムアドレス)から読み出しを行うことを通知する。このとき、オートプリチャージモードであればtRDP後に自動的にプリチャージを行わせることを同時に示す(RDAコマンド)。対象デバイスはtCACの間隔を空けてDQA/DQBに読み出しデータをパケットとして送出する。実際はチャネル上でメモリコントローラから各デバイスまで1クロックサイクル以上の伝播遅延が許容されているため、各デバイスはそれを考慮したタイミングで読み出しデータをチャネル上に送出する。図6にメモリコントローラの位置で見た読み出し時のタイミングチャートを示す。   Similarly, when the access is a read, a COL packet (RD command) is issued after the tRCD time to notify that the read is performed from the position address (column address) in the target page of the target device. At this time, in the auto precharge mode, it indicates that precharge is automatically performed after tRDP (RDA command). The target device sends the read data as a packet to DQA / DQB with an interval of tCAC. Actually, since a propagation delay of one clock cycle or more is allowed from the memory controller to each device on the channel, each device sends read data onto the channel at a timing that takes that into consideration. FIG. 6 shows a timing chart at the time of reading as viewed from the position of the memory controller.

これら読み出し、書き込み動作は、デバイス/バンクアドレス/ページ(ロウ)アドレスが競合しない限り最大4段のパイプライン的に行うことができる。図7に読み出し・書き込みをパイプラインで行った場合のタイミングチャートを示す。   These read and write operations can be performed in a pipeline of up to four stages as long as the device / bank address / page (row) address do not conflict. FIG. 7 shows a timing chart when reading and writing are performed in the pipeline.

以上はアクセス毎にページのオープン(アクティベート)・クローズ(プリチャージ)を行うクローズページポリシーを適用した場合であるが、同一ページに連続してアクセスする場合には一旦当該ページを1つのROWパケットでオープンした後、必要なだけCOLパケットを連続して発行し、最後にページをクローズするようにする(オープンページポリシー)ことで、途中のページアクティベート/プリチャージに要する時間を省くことができ、アクセスのバンド幅を大幅に向上することができる。このためにメモリコントローラ内にオープンされているページの情報を管理するページ管理手段を備え、新たにアクセスするアドレスに対応するページが既にオープンされている(ページヒット)か、あるいは競合する(ページミス、バンク競合)かを判定し、その結果に応じてコマンドを発行する。   The above is the case where a closed page policy that opens (activates) or closes (precharges) a page for each access is applied, but when accessing the same page continuously, the page is temporarily stored in one ROW packet. After opening, COL packets are issued continuously as many times as necessary, and the page is closed at the end (open page policy). The bandwidth can be greatly improved. For this purpose, page management means for managing information on pages opened in the memory controller is provided, and the page corresponding to the newly accessed address is already open (page hit) or conflicts (page miss). Bank conflict), and issue a command according to the result.

図8に読み出し時においてオープンページポリシーを適用した場合のタイミングチャートを示す。   FIG. 8 shows a timing chart when the open page policy is applied at the time of reading.

DRDRAMも内部の記憶部分は通常のDRAMと同一の構造であるため、リフレッシュ動作が必要である。リフレッシュはページ毎に行われるが、ROWパケットによりデバイスアドレス(通常はブロードキャスト)、バンクアドレスを指定したREFA(アクティベート)、REFP(プリチャージ)コマンドの対によって各デバイスに動作指示される。ロウアドレスは各デバイスが内部で管理する。   Since the internal storage part of DRDRAM has the same structure as normal DRAM, a refresh operation is required. The refresh is performed for each page, but an operation instruction is given to each device by a pair of a device address (usually broadcast), a REFA (activate) specifying a bank address, and a REFP (precharge) command by a ROW packet. Each device manages the row address internally.

あるバンクアドレスに対するこのREFAコマンドとREFPコマンドの間隔はtRASであり、REFAコマンドと次ぎのREFAコマンドとの間隔はtRCである。ただしこれらのコマンドも読み出し、書き込みアクセスと同様、バンクアドレスが競合しない限りパイプラン的に発行することができ、リフレッシュにかかるオーバーヘッドを大きく低減することができる。   The interval between this REFA command and the REFP command for a certain bank address is tRAS, and the interval between the REFA command and the next REFA command is tRC. However, as with read and write accesses, these commands can be issued in a pipeline manner as long as the bank addresses do not conflict, and the refresh overhead can be greatly reduced.

このためメモリコントローラは内部に連続するリフレッシュコマンドのバンクアドレスが競合しないようなリフレッシュバンクアドレスを生成する手段を持つ。例えばこのリフレッシュバンクアドレス生成手段はDRDRAMのバンク構成が隣接バンク間でセンスアンプを共有する32バンク構成である場合、(0,2,4,8,10,12,14,16,...,30,1,3,....29,31)といった順にバンクアドレスを生成する。   For this reason, the memory controller has a means for generating a refresh bank address so that the bank addresses of consecutive refresh commands do not conflict. For example, when the refresh bank address generating means has a DRDRAM bank configuration of 32 banks sharing a sense amplifier between adjacent banks, (0, 2, 4, 8, 10, 12, 14, 16, ..., Bank addresses are generated in the order of 30,1,3, .... 29,31).

図9にREFA/REFPコマンドをバースト発行した場合のタイミングチャートを示す。   FIG. 9 shows a timing chart when the REFA / REFP command is issued in bursts.

リフレッシュコマンドをバースト発行することは、特にNAPモードを利用したパワーマネジメントを行う場合に重要である。DRDRAMは図10に示すような6つのパワーモードを持つ。このうち低消費電力モードはNAPモードおよびPowerdownモードである。DRDRAMはインターフェース部分に高周波数クロックを用いるため、動作時には多量の電力を消費する。   Issuing burst refresh commands is particularly important when performing power management using the NAP mode. DRDRAM has six power modes as shown in FIG. Among these, the low power consumption modes are the NAP mode and the Powerdown mode. Since DRDRAM uses a high frequency clock for the interface part, it consumes a large amount of power during operation.

そのため、特にチャネル上に多数のデバイスが存在する場合、システムの消費電力を抑えるためにはアクセスを行わないデバイスは低消費電力モードにする必要がある。しかしPowerdownモードは通常モードに復帰するまでに時間がかかりすぎるため、システムが動作中はアクセス発生時に通常モードに戻るまでの時間が比較的短いNAPモードが用いられる。ただしNAPモードはインターフェース部分のクロックを停止するため、同期の維持の必要性からデバイスを長時間NAPモードに留めることができず、例えば最長でも10usといった制約がある。またNAP状態にあるときにはREFA/REFPコマンドを受け取ることができない。   Therefore, particularly when there are a large number of devices on the channel, in order to reduce the power consumption of the system, it is necessary to set a device that does not perform access to the low power consumption mode. However, since the Powerdown mode takes too much time to return to the normal mode, the NAP mode that uses a relatively short time to return to the normal mode when an access occurs is used while the system is operating. However, since the NAP mode stops the clock of the interface part, the device cannot be kept in the NAP mode for a long time due to the necessity of maintaining the synchronization, and there is a limitation of, for example, 10 us at the longest. Also, REFA / REFP commands cannot be received when in the NAP state.

従ってNAPモードを用いる場合には10us毎に全デバイスを通常モードに戻し、REFA/REFPコマンドによってリフレッシュを行い、その後もともと通常モードにあったもの以外は再度NAPモードに移行させることが行われている。リフレッシュを平均的に行うとすれば10us間に必要なリフレッシュの回数は複数回になる。このとき前述の如くリフレッシュをバースト発行することでリフレッシュに係るオーバーヘッドを低減することができる。
特開昭61−269296号公報
Therefore, when using the NAP mode, all devices are returned to the normal mode every 10us, refreshed by the REFA / REFP command, and then the mode is switched to the NAP mode again except for those that were originally in the normal mode. . If refresh is performed on average, the number of refreshes required in 10us is multiple. At this time, the refresh overhead can be reduced by issuing a refresh burst as described above.
JP-A 61-269296

しかしながら、前述のオープンページポリシーを適用する場合、これからリフレッシュが行われるバンクに存在するページが既にオープンされた状態にあることが起こり得る。その場合、リフレッシュに先立って先ずそのページをクローズしなければならない。もし3つのリフレッシュコマンドを発行しようとするとき、それらのバンクアドレスがオープンされているどのページとも競合しない場合には、前述の如く3つのリフレッシュをバースト発行することができる。しかし、もしいずれかのページと競合する場合は先ずそれらページをクローズし、その後リフレッシュコマンドを発行しなければならない。図13にリフレッシュを行うための従来フローを示す。まずNAP状態にあるデバイスを通常モードに復帰させるためNAP Exitコマンドを発行する。これはSCK,CMD,SIO及びDQA[5:0]の信号を用いて行われる。これにはおよそ100ns以上かかる。DQA[5:0]にはNAPから復帰させるデバイスアドレスを指定するが、ここではブロードキャストを指定する。この場合、NAP状態に無いデバイスはNAP Exitコマンドは無視する。次いで、前記リフレッシュバンクアドレス生成手段からの出力と、前記ページ管理手段の保持する現在オープン状態にあるページのバンクアドレスとを比較する。もし両者が競合するようであれば、当該ページを前もってクローズする。これにはROWパケットのPRERコマンドを用いる。競合するページは複数有り得るので、これを競合するページが全てクローズされるまで行う。次いで当該バンクに対するREFAコマンドを発行する。リフレッシュはブロードキャストで全デバイス一斉に行うため、PRERコマンドとREFAコマンドとの間にはtRPの間隔が必要である。   However, when the above-described open page policy is applied, it may happen that a page existing in a bank to be refreshed is already opened. In that case, the page must first be closed prior to refresh. If three refresh commands are issued and the bank addresses do not conflict with any open page, three refreshes can be issued in bursts as described above. However, if it conflicts with any page, it must first be closed and then a refresh command issued. FIG. 13 shows a conventional flow for performing refresh. First, issue a NAP Exit command to return the device in the NAP state to normal mode. This is done using signals SCK, CMD, SIO and DQA [5: 0]. This takes about 100ns or more. In DQA [5: 0], the device address to be restored from NAP is specified, but here broadcast is specified. In this case, the NAP Exit command is ignored for devices not in the NAP state. Next, the output from the refresh bank address generation means is compared with the bank address of the page currently held by the page management means. If they seem to compete, close the page in advance. For this, the PRER command of the ROW packet is used. Since there can be multiple competing pages, this is done until all competing pages are closed. Next, a REFA command for the bank is issued. Since all devices are refreshed simultaneously by broadcasting, a tRP interval is required between the PRER command and the REFA command.

次いで前記リフレッシュバンクアドレス生成手段にバンクアドレスを更新させる。これをリフレッシュのバースト発行回数分繰り返す。   Next, the refresh bank address generation means is made to update the bank address. This is repeated for the number of refresh bursts issued.

図11に3つのリフレッシュコマンドそれぞれに一つのページが競合する場合のタイミングチャートを示す。   FIG. 11 shows a timing chart when one page competes for each of the three refresh commands.

このようにオープンページポリシーを適用した場合、リフレッシュ時に競合するページをクローズせねばならず、リフレッシュのオーバーヘッドが増大してしまうという問題がある。   When the open page policy is applied in this way, there is a problem that a conflicting page has to be closed at the time of refresh, and the refresh overhead increases.

係る課題を解決するため、本発明においてはメモリコントローラ内の前記リフレッシュバンクアドレス生成手段に、リフレッシュコマンドのバースト発行に先立ち、あらかじめバンクアドレスを順次生成する機能を追加する。NAP Exitコマンド発行後、これらバンクアドレスを前記ページ管理手段に入力し、前記ページ管理手段はその時点でオープンされているページのバンクアドレスと順次入力されるバンクアドレスとを比較し、競合を検知した場合には競合検出信号とともに該競合ページのアドレス情報を出力する。前記コマンド発行手段は前記競合検出信号を入力し、競合の場合前記ページアドレス情報出力に基づいて該ページをクローズするコマンドを発行する。これをバースト回数分繰り返すことによりバースト発行されるリフレッシュコマンドのバンクアドレスに競合するページは全てクローズされるので、NAP Exitが完了した後リフレッシュコマンドをバースト発行する。このとき前記リフレッシュバンクアドレス生成手段は再度最初のリフレッシュバンクアドレスから生成する。   In order to solve such a problem, in the present invention, a function for sequentially generating bank addresses in advance is added to the refresh bank address generating means in the memory controller prior to issuing a refresh command burst. After issuing the NAP Exit command, these bank addresses are input to the page management unit, and the page management unit compares the bank address of the page that is currently open with the bank address that is sequentially input, and detects a conflict. In this case, the address information of the contention page is output together with the contention detection signal. The command issuing means inputs the contention detection signal, and issues a command for closing the page based on the page address information output in the case of contention. By repeating this for the number of bursts, all pages competing for the bank address of the refresh command issued in burst are closed, so that the refresh command is issued in burst after the NAP Exit is completed. At this time, the refresh bank address generating means generates again from the first refresh bank address.

これらページクローズコマンドとNAP Exitは並行して行うことができるため、リフレッシュに係るオーバーヘッドを従来より低減することができる。   Since these page close command and NAP Exit can be performed in parallel, the overhead associated with refresh can be reduced as compared with the conventional case.

以上説明したように、本発明によれば、オープンページポリシーを適用した場合のバーストリフレッシュ発行時のオーバーヘッドを低減することが可能で、これによりメモリシステムの実効バンド幅を向上させることができる。   As described above, according to the present invention, it is possible to reduce the overhead when issuing a burst refresh when the open page policy is applied, thereby improving the effective bandwidth of the memory system.

(実施形態1)
上記した本発明の実施の形態について更に詳細に説明すべく、本発明の一実施例について、図面を参照して詳細に説明する。
(Embodiment 1)
In order to describe the above-described embodiment of the present invention in more detail, an example of the present invention will be described in detail with reference to the drawings.

図1は本発明に係るメモリコントローラの一実施形態の構成を説明する図である。図1において、101はシステムバスインターフェース回路、102はメモリインターフェース回路であり、それぞれ外部とインターフェースするための回路である。メモリに対する書き込み、読み出し要求はシステムバス200を通じてメモリコントローラに指令され、チャネル300を通じてメモリに伝えられる。103はコマンド発行手段であり、前記要求に応じた書き込み、読み出し命令あるいはリフレッシュ命令を生成し、前記メモリインターフェース部102に与える。前記メモリインターフェース部102はこれを前述のようなコマンドパケットに変換し前記チャネル300上に送出する。104はページ管理手段であり、現在オープンされているページのアドレス情報を保持し、また新たなアドレスとの比較を行い、ページのヒット、ミス、バンク競合等を判定し、前記コマンド発行手段に伝える。105はリフレッシュタイミング生成手段であり、あらかじめ設定された時間に基づき、リフレッシュを行うべきタイミングをコマンド発生手段に通知する。106はリフレッシュバンクアドレス生成手段であり、連続するバンクアドレスが互いに競合しないようなアドレスを順次生成する。また必要に応じてアドレス生成系列を元に戻すことができる。例えば4つのバンクアドレスを順次生成した後、再度1番目のアドレスから順に同じアドレスを4つ生成したのち、次のアドレスに移ることができる。107、108はライトデータバッファ、リードデータバッファであり、それぞれ書き込み、読み出しデータを一旦保持しておき、必要なタイミングで出力するためのものである。   FIG. 1 is a diagram for explaining the configuration of an embodiment of a memory controller according to the present invention. In FIG. 1, 101 is a system bus interface circuit, and 102 is a memory interface circuit, which are circuits for interfacing with the outside. Write / read requests to / from the memory are commanded to the memory controller via the system bus 200 and transmitted to the memory via the channel 300. Command issuing means 103 generates a write, read command or refresh command in response to the request, and provides it to the memory interface unit 102. The memory interface unit 102 converts this into a command packet as described above and sends it to the channel 300. 104 is a page management means, which holds address information of the currently opened page, compares it with a new address, determines page hits, misses, bank conflicts, etc., and sends them to the command issuing means. . Reference numeral 105 denotes refresh timing generation means for notifying the command generation means of the timing for refreshing based on a preset time. Reference numeral 106 denotes refresh bank address generation means for sequentially generating addresses such that consecutive bank addresses do not conflict with each other. In addition, the address generation sequence can be restored as necessary. For example, after four bank addresses are generated sequentially, the same four addresses are generated again in order from the first address, and then the next address can be transferred. Reference numerals 107 and 108 denote a write data buffer and a read data buffer, respectively for temporarily storing write and read data and outputting them at a necessary timing.

さて、オープンされているページが無い状態から、前記システムバス200を通じ、順にアドレスA,Bに対する書き込み、アドレスCからの読み出し要求があったとする。本実施例において、アドレスAはデバイスアドレスda, バンクアドレスba,ロウアドレスraにカラムアドレスcaに割り当てられている。これを{da,ba,ra,ca}と表記する。同様にアドレスBは{db,bb,rb,cb},アドレスCは{dc,bc,rc,cc}に割り当てられている。これらアドレスA,B,Cは互いに競合しない別のページに存在する。すなわち、da,db,dcは互いに異なるか、あるいは同一デバイスであってもba,bb,bcが互いに同一でなくかつセンスアンプを共有しないバンクである。さらに前記リフレッシュバンクアドレス生成手段106がba+1,bb,bc-1の順に連続にアドレスを生成しかついまリフレッシュバンクアドレス生成手段106はバンクアドレスba+1を出力している。   Now, assume that there is a write request to addresses A and B and a read request from address C through the system bus 200 in a state where there is no open page. In this embodiment, the address A is assigned to the device address da, the bank address ba, and the row address ra to the column address ca. This is expressed as {da, ba, ra, ca}. Similarly, address B is assigned to {db, bb, rb, cb}, and address C is assigned to {dc, bc, rc, cc}. These addresses A, B, and C exist on different pages that do not conflict with each other. That is, da, db, and dc are different from each other, or even in the same device, ba, bb, and bc are not the same as each other and do not share a sense amplifier. Further, the refresh bank address generation means 106 generates addresses successively in the order of ba + 1, bb and bc-1, and the refresh bank address generation means 106 now outputs the bank address ba + 1.

するとオープンページポリシーを適用する場合これら3つのアクセスが終了した時点でこの3つのページがオープンされていることになる。このとき前記リフレッシュタイミング生成手段105よりバーストリフレッシュ周期に達したことが通知されると、この後バンクアドレスba+1,bb,bc-1の順にリフレッシュが行われるが、baとba+1,bcとbc-1がそれぞれ競合するとすれば、現在オープンされている前記3つページはこれらリフレッシュバンクアドレスと競合することになる。   Then, when the open page policy is applied, these three pages are opened when these three accesses are completed. At this time, if the refresh timing generation means 105 notifies that the burst refresh period has been reached, then refresh is performed in the order of the bank addresses ba + 1, bb, bc-1, but ba and ba + 1, bc And bc-1 compete with each other, the three pages that are currently open compete with these refresh bank addresses.

本発明の一実施例に係るリフレッシュ時のフローチャートを図14に示す。本発明においては前述の従来例におけるフローとは異なり、始めにNAP Exitを開始した後、その終了を待たずに次ぎのステップに進む。次のステップでは前記リフレッシュバンクアドレス生成手段106出力、すなわちba+1と、前記ページ管理手段104の保持する現在オープン状態にあるページのバンクアドレス、すなわちba,bb,bcとを比較する。その結果バンクアドレスがbaであるアドレスAの存在するページが競合することが判明するので、当該ページをクローズする。これにはROWパケットのPRERコマンドを用いる。バンクアドレスba+1と競合するページは他に無いので、次いで前記リフレッシュバンクアドレス生成手段106のバンクアドレスが更新されbbとなる。これはバンクアドレスがbbであるアドレスBの存在するページと競合するので、当該ページをPRERコマンドによりクローズする。バンクアドレスbbと競合するページは他に無いので、前記リフレッシュバンクアドレス生成手段106のバンクアドレスが更新されbc-1となる。これはバンクアドレスがbcであるアドレスCの存在するページと競合するので、当該ページをPRERコマンドによりクローズする。   FIG. 14 is a flowchart for refreshing according to an embodiment of the present invention. In the present invention, unlike the flow in the conventional example described above, after starting the NAP Exit first, the process proceeds to the next step without waiting for the end. In the next step, the output of the refresh bank address generation means 106, ie ba + 1, is compared with the bank address of the currently open page held by the page management means 104, ie ba, bb, bc. As a result, it is found that the page having the address A with the bank address ba conflicts, and the page is closed. For this, the PRER command of the ROW packet is used. Since there is no other page competing with the bank address ba + 1, the bank address of the refresh bank address generation means 106 is then updated to become bb. Since this conflicts with a page having an address B whose bank address is bb, the page is closed by a PRER command. Since there are no other pages competing with the bank address bb, the bank address of the refresh bank address generation means 106 is updated to bc-1. Since this conflicts with a page having an address C having a bank address bc, the page is closed by a PRER command.

リフレッシュのバースト発行回数が3であれば、ここで前記リフレッシュバンクアドレス生成手段106のバンクアドレスを初めのアドレス、すなわちba+1に戻す。   If the number of refresh bursts issued is 3, the bank address of the refresh bank address generation means 106 is returned to the initial address, that is, ba + 1.

その後、もはやリフレッシュと競合するオープン状態のページが存在しないので、NAP Exitが完全に終了したのち、バンクアドレスba+1,bb,bc-1に対してバーストリフレッシュを発行する。   Thereafter, since there is no longer any open page that conflicts with refresh, burst refresh is issued to the bank addresses ba + 1, bb, and bc-1 after the NAP Exit is completed.

このように、本発明においてはNAP Exitの開始とともにあらかじめリフレッシュと競合するページをクローズするようにすることで、オープンページポリシーを適用した場合のリフレッシュに関わるオーバーヘッドを低減することができる。   As described above, in the present invention, by closing the page that competes with the refresh in advance with the start of the NAP Exit, it is possible to reduce the overhead related to the refresh when the open page policy is applied.

以上において、本発明が特定の実施例に関して図示されかつ説明されたが、さらに他の修正および改善が可能であることは言うまでも無い。例えば、本実施例においては前記リフレッシュバンクアドレス生成手段を1組のみ持つが、これを2組持ち、オープンされているページアドレスとの比較のためのアドレスの生成と、リフレッシュコマンド発行時のアドレスの生成をそれぞれ個別の手段で行っても良い。   While the invention has been illustrated and described with respect to specific embodiments, it will be appreciated that other modifications and improvements are possible. For example, in this embodiment, only one set of the refresh bank address generation means is provided, but two sets of the refresh bank address generation means are provided, the generation of an address for comparison with the opened page address, and the address at the time of issuing the refresh command The generation may be performed by individual means.

本実施例においては全ての競合するページをクローズした後、NAP Exit終了判定ステップの前に前記リフレッシュバンクアドレス生成手段の出力アドレスを始まりの状態に戻しているが、これを判定終了後に行っても良いことは言うまでも無い。   In this embodiment, after all the conflicting pages are closed, the output address of the refresh bank address generating means is returned to the start state before the NAP Exit end determination step. Needless to say good things.

したがって、本発明は示された特定の形式に限定されるものではなく、かつ添付の特許請求の範囲において本発明の精神および範囲から離れることのない全ての修正をカバーすることを考えていることが理解されるべきである。   Accordingly, the invention is not intended to be limited to the specific forms shown, but is intended to cover all modifications within the scope of the appended claims which do not depart from the spirit and scope of the invention. Should be understood.

本発明の実施の一形態の構成を示すブロック図。The block diagram which shows the structure of one Embodiment of this invention. RDRAMを用いたメモリサブシステムの構成を説明する図。The figure explaining the structure of the memory subsystem using RDRAM. ROWパケットの構成を示す図。The figure which shows the structure of a ROW packet. COLパケットの構成を示す図。The figure which shows the structure of a COL packet. 書き込み動作時におけるチャネル上の信号のタイミングを示す図。The figure which shows the timing of the signal on the channel at the time of write-in operation | movement. 読み出し動作時におけるチャネル上の信号のタイミングを示す図。The figure which shows the timing of the signal on the channel at the time of read-out operation | movement. チャネル上のパイプライン動作を説明する図。The figure explaining the pipeline operation | movement on a channel. オープンページ時の読み出し動作のタイミングを説明する図。The figure explaining the timing of the read-out operation at the time of an open page. リフレッシュコマンドをバースト発行する場合のタイミングを説明する図。The figure explaining the timing in the case of issuing a refresh command burst. RDRAMのパワーモードを説明する図。The figure explaining the power mode of RDRAM. 従来例におけるリフレッシュ時のタイミングを示す図。The figure which shows the timing at the time of the refresh in a prior art example. 本発明の一実施例におけるリフレッシュ時のタイミングを示す図。The figure which shows the timing at the time of the refresh in one Example of this invention. 従来例におけるリフレッシュ時の動作フローを説明する図。The figure explaining the operation | movement flow at the time of the refresh in a prior art example. 本発明の一実施例におけるリフレッシュ時の動作フローを説明する図。The figure explaining the operation | movement flow at the time of the refresh in one Example of this invention.

符号の説明Explanation of symbols

101 システムバスインターフェース回路
102 メモリインターフェース回路
103 コマンド発行手段
104 ページ管理手段
105 リフレッシュタイミング生成手段
107 ライトデータバッファ
108 リードデータバッファ
200 システムバス
300 チャネル
400 メモリコントローラ
410〜440 RDRAM
450 チャネル
460 終端子
470 クロック発振器
101 System bus interface circuit
102 Memory interface circuit
103 Command issuing means
104 Page management means
105 Refresh timing generation means
107 Write data buffer
108 Read data buffer
200 system bus
300 channels
400 memory controller
410-440 RDRAM
450 channels
460 Termination terminal
470 clock oscillator

Claims (1)

外部から書き込み、読み出し要求を受け、前記書き込み、読み出し要求に応じて一つ無いし複数の記憶デバイスに対して、前記要求が書き込みである場合には、外部より受け取ったデータを前記記憶デバイスに書き込み、前記要求が読み出しである場合には、前記記憶デバイスから読み出したデータを外部に出力する記憶デバイスの制御装置であって、
前記記憶デバイスはダイナミック型半導体メモリであって、
前記ダイナミック型半導体メモリに記憶保持動作を行わせる指示を、一度に複数与える機能を有し、
前記半導体メモリは複数の部分から構成され、
前記複数の部分はそれぞれが独自の状態をとることができ、
前記半導体メモリの前記複数部分における状態と、前記複数の記憶保持動作とが競合するかどうかを前もって判定する手段を有し、
前記判定手段の結果に応じて、前記複数の記憶保持動作を行う前に、前記半導体メモリの前記複数部分における状態が、前記複数の記憶保持動作と競合しないように状態を変更するよう指示を与える機能を有することを特徴とする。
In response to a write / read request from the outside, if there is no request in response to the write / read request and the request is a write to a plurality of storage devices, the data received from the outside is written to the storage device. In the case where the request is read, the storage device control device outputs data read from the storage device to the outside,
The storage device is a dynamic semiconductor memory,
A function of giving a plurality of instructions to perform a memory holding operation in the dynamic semiconductor memory at a time;
The semiconductor memory is composed of a plurality of parts,
Each of the plurality of parts can take a unique state,
Means for determining in advance whether or not the state in the plurality of portions of the semiconductor memory and the plurality of storage holding operations compete with each other;
In accordance with the result of the determination means, prior to performing the plurality of storage holding operations, an instruction is given to change the state in the plurality of portions of the semiconductor memory so as not to compete with the plurality of storage holding operations. It has a function.
JP2004292528A 2004-10-05 2004-10-05 Memory controller Withdrawn JP2006107614A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004292528A JP2006107614A (en) 2004-10-05 2004-10-05 Memory controller

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004292528A JP2006107614A (en) 2004-10-05 2004-10-05 Memory controller

Publications (1)

Publication Number Publication Date
JP2006107614A true JP2006107614A (en) 2006-04-20

Family

ID=36377124

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004292528A Withdrawn JP2006107614A (en) 2004-10-05 2004-10-05 Memory controller

Country Status (1)

Country Link
JP (1) JP2006107614A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11798611B2 (en) 2021-11-04 2023-10-24 Fujitsu Limited Memory access controller with refresher and scrubbing mechanism and memory access control method thereof

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11798611B2 (en) 2021-11-04 2023-10-24 Fujitsu Limited Memory access controller with refresher and scrubbing mechanism and memory access control method thereof

Similar Documents

Publication Publication Date Title
JP6396515B2 (en) Directed automatic refresh synchronization
US5999474A (en) Method and apparatus for complete hiding of the refresh of a semiconductor memory
JP4742116B2 (en) Out-of-order DRAM sequencer
US8547776B2 (en) Multi-port memory based on DRAM core
US6542957B2 (en) Memory of controlling page mode access
US9343127B1 (en) Memory device having an adaptable number of open rows
US6587918B1 (en) Method for controlling refresh of a multibank memory device
US6298413B1 (en) Apparatus for controlling refresh of a multibank memory device
CN113900818A (en) DDR memory data read-write scheduling method and device
US6549991B1 (en) Pipelined SDRAM memory controller to optimize bus utilization
US20040044832A1 (en) Precharge suggestion
US6868486B1 (en) Providing multiple memory controllers on a memory bus
US6650586B1 (en) Circuit and system for DRAM refresh with scoreboard methodology
US5802581A (en) SDRAM memory controller with multiple arbitration points during a memory cycle
US7536519B2 (en) Memory access control apparatus and method for accomodating effects of signal delays caused by load
JP2006107245A (en) Memory controller
US6065093A (en) High bandwidth narrow I/O memory device with command stacking
US5802597A (en) SDRAM memory controller while in burst four mode supporting single data accesses
JP2006107614A (en) Memory controller
US20070121398A1 (en) Memory controller capable of handling precharge-to-precharge restrictions
JP2002197864A (en) Multi-port memory and its control method
JP2006107330A (en) Memory controller
US10929949B2 (en) Accessing a memory configured to store an image data cube
US20240062800A1 (en) Dynamic random access memory (dram) row hammering mitigation
US7941594B2 (en) SDRAM sharing using a control surrogate

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20080108