JP2014154119A - Memory controller and semiconductor storage device - Google Patents

Memory controller and semiconductor storage device Download PDF

Info

Publication number
JP2014154119A
JP2014154119A JP2013026220A JP2013026220A JP2014154119A JP 2014154119 A JP2014154119 A JP 2014154119A JP 2013026220 A JP2013026220 A JP 2013026220A JP 2013026220 A JP2013026220 A JP 2013026220A JP 2014154119 A JP2014154119 A JP 2014154119A
Authority
JP
Japan
Prior art keywords
command
memory
memory control
commands
control device
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
Application number
JP2013026220A
Other languages
Japanese (ja)
Inventor
Yasuhiro Okada
康宏 岡田
Keiichi Iwasaki
敬一 岩崎
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.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
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 Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP2013026220A priority Critical patent/JP2014154119A/en
Publication of JP2014154119A publication Critical patent/JP2014154119A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Memory System (AREA)

Abstract

PROBLEM TO BE SOLVED: To rearrange the order of issuing commands on the basis of a previously performed memory access request, without delaying the issue of the commands and affecting the priority of an arbiter circuit.SOLUTION: A command queue is constituted so as to store at least three or more memory access requests, and a memory control unit determines memory commands on the basis of all memory access requests stored in the command queue. A memory controller includes: an arbiter circuit that is provided on the preceding stage of the memory control unit and arbitrates a command request from a plurality of circuits according to a priority; a command history buffer that holds a plurality of command queues; and an order determination unit that performs control so as to change the order of commands to be issued on the basis of a previous command issue history, which is held in the command history buffer, and two or more newly requested commands.

Description

本発明は、ローアドレスとカラムアドレスを異なるタイミングで出力してアクセスする同期式のメモリを制御するメモリ制御装置、及び当該メモリ制御装置を備えた半導体記憶装置に関する。   The present invention relates to a memory control device that controls a synchronous memory that outputs and accesses a row address and a column address at different timings, and a semiconductor memory device including the memory control device.

大容量メモリとして使用されるDRAM(Dynamic Random Access Memory)には、DDR1−SDRAMやDDR2−SDRAMまたはDDR3−SDRAMのようなDDR(ダブルデータレート)方式の同期式DRAM(SDRAM)が主流である。将来的にはDDR4−SDRAMの規格も策定されつつあり、メモリの動作速度および容量は世代が交代する毎に速く、大きくなっていく。現在最も高速な動作をするDDR3−SDRAMにはデータレートが800MHzから1.6GHzを超える仕様がJEDEC(Joint Electron Device Engineering Council)により規格化されている。   As a DRAM (Dynamic Random Access Memory) used as a large-capacity memory, a DDR (Double Data Rate) type synchronous DRAM (SDRAM) such as DDR1-SDRAM, DDR2-SDRAM or DDR3-SDRAM is mainly used. In the future, a standard for DDR4-SDRAM is being formulated, and the operation speed and capacity of the memory become faster and larger with each generation change. For DDR3-SDRAM that operates at the highest speed at present, a specification with a data rate exceeding 800 MHz to 1.6 GHz is standardized by JEDEC (Joint Electron Device Engineering Council).

これらのメモリは、ローアドレスを一度選択(DDR方式メモリにおいてはバンクアクティブコマンドに相当、一般的にページオープンとも呼ばれている)すれば、その後カラムアドレスを選択して実際のリードまたはライトを実施する場合、カラムアドレスの変更だけなら連続して行うことができ、このことにより動作効率が上がる。しかし、ローアドレスを異なるアドレスに選択し直す場合は、再選択するためのコマンドを発行する時間や、再選択に必要な待ち時間が生じ、効率が下がってしまう。   In these memories, once a row address is selected (corresponding to a bank active command in DDR memory, generally called page open), a column address is selected and actual reading or writing is performed. In this case, if only the column address is changed, it can be performed continuously, which increases the operation efficiency. However, when a row address is selected again as a different address, a time for issuing a command for reselection and a waiting time necessary for reselection occur, resulting in a reduction in efficiency.

ここで、上述したDDR2−SDRAMなどの同期式DRAMを対象としたメモリ制御装置において、メモリのリードまたはライトを行うために必要なことを三つのケースに分けて説明する。   Here, in the memory control device for the synchronous DRAM such as the above-mentioned DDR2-SDRAM, what is necessary to read or write the memory will be described in three cases.

第一のケース、該当するバンクのページ(ローアドレス)がオープンされていない場合:まず該当ページのオープンが必要である。そのためには、オープンするバンクアドレスとローアドレスの指定を含むバンクアクティブコマンドを発行する。その次にメモリに対し実際のリードまたはライトをするため、カラムアドレスの指定を含むリードコマンドまたはライトコマンドを発行する必要がある。その後、必要ならページをクローズさせるためにプリチャージコマンドを発行しても良い。   In the first case, when the page (row address) of the relevant bank is not opened: First, the relevant page must be opened. For this purpose, a bank active command including designation of a bank address to be opened and a row address is issued. Next, in order to actually read or write to the memory, it is necessary to issue a read command or a write command including a column address designation. Thereafter, a precharge command may be issued to close the page if necessary.

第二のケース、該当するバンクのページが既にオープンされており、同じページ(同じローアドレスが指定されている)の場合:バンクアクティブコマンドを発行する必要はなく、メモリに対し実際のリードまたはライトをするためのカラムアドレスの指定を含むリードコマンドまたはライトコマンドを発行する。その後、必要ならページをクローズさせるためにプリチャージコマンドを発行しても良い。   Second case, if the corresponding bank page is already open and the same page (the same row address is specified): There is no need to issue a bank active command, and the actual read or write to the memory A read command or a write command including a column address designation for issuing a command is issued. Thereafter, a precharge command may be issued to close the page if necessary.

第三のケース、該当するバンクのページが既にオープンされており、異なるページ(異なるローアドレスが指定されている)の場合:まず、オープンされているページのクローズが必要である。そのために、プリチャージコマンドを発行する。その後、異なるページをオープンするために、バンクアドレスとローアドレスの指定を含むバンクアクティブコマンドを発行する。バンクアクティブコマンドを発行した後の動作は、第一のケースと同様である。   Third case, if the page of the corresponding bank has already been opened and is a different page (a different row address is specified): First, the opened page needs to be closed. For this purpose, a precharge command is issued. Thereafter, in order to open a different page, a bank active command including designation of a bank address and a row address is issued. The operation after issuing the bank active command is the same as in the first case.

なお、リードコマンドまたはライトコマンドを発行後、ページを必ずクローズする場合は、プリチャージ付きリードコマンドまたはプリチャージ付きライトコマンドを、リードコマンドまたはライトコマンドの代わりに発行すれば、別途プリチャージコマンドを発行する必要は無い。   If you want to close the page after issuing a read command or write command, issue a separate precharge command by issuing a read command with precharge or a write command with precharge instead of the read command or write command. There is no need to do.

このような動作をするメモリ制御装置は、一般的に以下の二種類のアクセス方法のどちらかが選択されている。またはどちらかを最初に選択することで動作させている。
(A)異なるページをアクセスするまでページをオープンし続ける方式。同じページを連続してアクセスすれば効率が上がるように構成されている(以下、オープンバンク方式という。例えば特許文献1、2を参照)。
(B)毎回ページをオープンしクローズする方式。異なるバンクを連続してアクセスすれば効率が上がるように構成されている(以下、インターリーブ方式という。例えば特許文献3、4を参照)。
In general, one of the following two types of access methods is selected for the memory control device that performs such an operation. Or it is operated by selecting either one first.
(A) A method of continuously opening a page until a different page is accessed. If the same page is accessed continuously, the efficiency is increased (hereinafter referred to as an open bank method; see, for example, Patent Documents 1 and 2).
(B) A method of opening and closing a page every time. If different banks are accessed continuously, the efficiency is increased (hereinafter referred to as an interleave method; see, for example, Patent Documents 3 and 4).

オープンバンク方式は同じバンクの異なるページのアクセスが連続する場合に効率を落とすことになり、インターリーブ方式は同じバンクのアクセスが連続すると効率を落とすことになるという問題があった。また、オープンバンク方式はメモリが例えば、DDR3−SDRAMの場合、リフレッシュサイクルを実施する際に、オープンしているバンクを一旦クローズするためにプリチャージコマンドを発行した後、しかるべき時間を待ってからリフレッシュコマンドを発行しなければならないため、インターリーブ方式に比べリフレッシュ期間ごとに非効率になるサイクルが生じることになるという問題があった。   The open bank method has a problem that the efficiency is lowered when accesses to different pages in the same bank are consecutive, and the interleave method has a problem that the efficiency is lowered when the same bank is continuously accessed. In the open bank method, for example, when the memory is a DDR3-SDRAM, after executing a refresh cycle, after issuing a precharge command to temporarily close the opened bank, wait for an appropriate time. Since a refresh command must be issued, there is a problem that a cycle that becomes inefficient for each refresh period occurs as compared with the interleave method.

上記の問題点を解決するため、ローアドレスとカラムアドレスを異なるタイミングで出力してアクセスする同期式のメモリにアクセスする際に効率良くアクセスすることができるメモリ制御装置が例えば特許文献5において開示されている。当該メモリ制御装置では、外部からのメモリアクセス要求を蓄えることができるコマンドキューと、前記コマンドキューに蓄えられた前記メモリアクセス要求によりコマンド制御ステートマシンが動作してメモリに対してメモリコマンドを発行するメモリ制御部と、を備え、アドレス空間が複数のバンクに分割されている前記メモリにアクセスするメモリ制御装置において、前記コマンドキューが少なくとも3以上のメモリアクセス要求を蓄えられるように構成され、前記メモリ制御部が、前記コマンドキューに蓄えられている全てのメモリアクセス要求に基づいて前記メモリコマンドを決定するように構成されている。   In order to solve the above problems, for example, Patent Document 5 discloses a memory control device that can be accessed efficiently when accessing a synchronous memory that outputs and accesses a row address and a column address at different timings. ing. In the memory control device, a command queue that can store a memory access request from the outside, and a command control state machine that operates according to the memory access request stored in the command queue and issues a memory command to the memory A memory control unit for accessing the memory whose address space is divided into a plurality of banks, wherein the command queue is configured to store at least three or more memory access requests, and the memory The control unit is configured to determine the memory command based on all memory access requests stored in the command queue.

しかしながら、従来技術に係るメモリ制御装置においては、メモリコントローラ内のコマンドキューに蓄えられている全てのメモリアクセス要求に基づいてメモリコマンドを判定する機能をもっているが、コマンドそのものの順序を入れ換えることはできない。ここで、ローアドレスを異なるアドレスに選択し直す場合は、プリチャージ期間によりバンクの再選択するためのコマンドを発行する時間や、再選択に必要な待ち時間が生じてコマンドの発行待ちが発生して効率が下がってしまうという問題点があった。   However, the memory control device according to the related art has a function of determining a memory command based on all memory access requests stored in the command queue in the memory controller, but the order of the commands themselves cannot be changed. . Here, when re-selecting the row address to a different address, the time for issuing a command for reselecting the bank during the precharge period and the waiting time necessary for the reselection occur, and a command issue wait occurs. As a result, the efficiency is lowered.

本発明の目的は以上の問題点を解決し、過去に行ったメモリアクセス要求を元に、コマンド発行を遅らせることなく、アービタ回路の優先度に影響を与えずに、コマンド発行順序の並び替えを行うことができるメモリ制御装置を提供することにある。   The object of the present invention is to solve the above-mentioned problems and to rearrange the command issuance order based on the memory access requests made in the past without delaying the issuance of commands and without affecting the priority of the arbiter circuit. It is an object of the present invention to provide a memory control device that can be used.

本発明の一態様に係るメモリ制御装置は、
外部からのメモリアクセス要求を蓄えることができるコマンドキューと、
前記コマンドキューに蓄えられた前記メモリアクセス要求によりコマンド制御ステートマシンが動作してメモリに対してメモリコマンドを発行するメモリ制御部とを備え、
アドレス空間が複数のバンクに分割されている前記メモリにアクセスするメモリ制御装置であって、
前記コマンドキューが少なくとも3以上のメモリアクセス要求を蓄えられるように構成され、前記メモリ制御部は、前記コマンドキューに蓄えられている全てのメモリアクセス要求に基づいて前記メモリコマンドを決定し、
前記メモリ制御装置は、前記メモリ制御部の前段に複数の回路からのコマンド要求を優先度に応じて調停を行うアービタ回路を備え、
前記メモリ制御部は、複数のコマンドキューを保持するコマンド履歴バッファを備え、過去のコマンド発行履歴と新たに要求された2つ以上のコマンドに基づいて、発行するコマンドの順序の変更を行うように制御することを特徴とする。
A memory control device according to an aspect of the present invention includes:
A command queue that can store external memory access requests;
A memory control unit in which a command control state machine operates in response to the memory access request stored in the command queue and issues a memory command to the memory;
A memory control device for accessing the memory in which an address space is divided into a plurality of banks,
The command queue is configured to store at least three or more memory access requests, and the memory control unit determines the memory command based on all the memory access requests stored in the command queue;
The memory control device includes an arbiter circuit that arbitrates a command request from a plurality of circuits according to a priority level in front of the memory control unit,
The memory control unit includes a command history buffer that holds a plurality of command queues, and changes the order of commands to be issued based on a past command issue history and two or more newly requested commands. It is characterized by controlling.

従って、本発明に係るメモリ制御装置によれば、過去に行ったメモリアクセス要求を元に、コマンド発行を遅らせることなく、アービタ回路の優先度に影響を与えずに、特定のバンクでプリチャージ動作中である場合に先に処理が可能なコマンドを判断してコマンド発行順序の並び替えを行うことができる。   Therefore, according to the memory control device of the present invention, the precharge operation is performed in a specific bank based on the memory access request made in the past, without delaying the command issue and without affecting the priority of the arbiter circuit. If it is in the middle, it is possible to determine the command that can be processed first and rearrange the command issue order.

本発明の一実施形態に係るメモリ制御装置100の構成を示すブロック図である。It is a block diagram which shows the structure of the memory control apparatus 100 which concerns on one Embodiment of this invention. 図1のコマンド履歴バッファ及び出力回路3及びコマンド受付回路4の詳細構成を示ブロック図である。FIG. 2 is a block diagram illustrating a detailed configuration of a command history buffer / output circuit 3 and a command reception circuit 4 in FIG. 1. 従来例に係るメモリ制御装置においてコマンドを入れ換える回路を有しない場合のコマンド履歴バッファ及び出力回路の動作を示すタイミングチャートである。It is a timing chart which shows operation | movement of the command history buffer and output circuit when not having the circuit which replaces a command in the memory control apparatus which concerns on a prior art example. 図2のコマンド履歴バッファ及び出力回路3の動作を示すタイミングチャートである。3 is a timing chart showing the operation of the command history buffer and output circuit 3 of FIG. 図2のコマンド履歴バッファ及び出力回路3の変形例に係る動作を示すタイミングチャートである。6 is a timing chart showing an operation according to a modification of the command history buffer and output circuit 3 of FIG.

以下、本発明に係る実施形態について図面を参照して説明する。なお、以下の各実施形態において、同様の構成要素については同一の符号を付している。   Hereinafter, embodiments according to the present invention will be described with reference to the drawings. In addition, in each following embodiment, the same code | symbol is attached | subjected about the same component.

図1は本発明の一実施形態に係るメモリ制御装置100の構成を示すブロック図である。また、図2は図1のコマンド履歴バッファ及び出力回路3及びコマンド受付回路4の詳細構成を示ブロック図である。   FIG. 1 is a block diagram showing a configuration of a memory control device 100 according to an embodiment of the present invention. FIG. 2 is a block diagram showing the detailed configuration of the command history buffer, output circuit 3, and command reception circuit 4 of FIG.

図1において、本実施形態に係るメモリ制御装置100は、例えば3個以上の複数N個のコマンド発行元回路5−1〜5−Nとメモリ2との間に設けられ、アービタ回路4Aにてなるコマンド受付回路4と、コマンド履歴バッファ及び出力回路3と、メモリコマンド制御ステートマシンにてなるメモリコントローラ1とを備えて構成される。ここで、メモリコントローラ1は、コマンドキューと、メモリ制御部とを備え、メモリ2と接続される。メモリコントローラ1の内部回路のコマンドキューは、n個の待機コマンドバッファ#1〜#n(nは3以上の整数)から構成されたキューであり、各待機コマンドバッファには、メモリコントローラ1の外部回路から少なくともメモリ2へアクセスするバンクとローアドレスがそれぞれ記憶される。コマンドキューは、コマンドバッファ#1が先のエントリー順で、#2,#3と#nに向かってエントリー順が後ろになるように蓄えられる。メモリ制御部は、発行コマンド判定部と、要求受付制御部と、メモリコマンド制御ステートマシンとを備える。   In FIG. 1, a memory control device 100 according to the present embodiment is provided between, for example, three or more N command issuer circuits 5-1 to 5-N and a memory 2, and an arbiter circuit 4A And a command history buffer and output circuit 3, and a memory controller 1 comprising a memory command control state machine. Here, the memory controller 1 includes a command queue and a memory control unit, and is connected to the memory 2. The command queue of the internal circuit of the memory controller 1 is a queue composed of n standby command buffers # 1 to #n (n is an integer equal to or greater than 3). A bank and a row address for accessing at least the memory 2 from the circuit are stored. The command queue is stored so that the command buffer # 1 is in the previous entry order, and the entry order is backward toward # 2, # 3, and #n. The memory control unit includes an issue command determination unit, a request reception control unit, and a memory command control state machine.

メモリ2は、例えばDDR−SDRAMといった同期式DRAMであって、ローアドレスをバンクアクティブコマンド、カラムアドレスをリードコマンド、ライトコマンド、プリチャージ付きリードコマンド、プリチャージ付きライトコマンドに含めて異なるタイミングで出力してアクセスする。コマンド受付回路4は、コマンドを発行するもととなる複数N個のコマンド発行元回路5−1〜5−Nからのコマンドを受け取り、システムの設定された優先度をもとにコマンドを出力する。コマンド履歴バッファ及び出力回路3は、過去に発行されたコマンドをエントリー順に一定数を蓄えられるコマンド履歴バッファ12(図2)を有する。コマンド履歴バッファ及び出力回路3は、コマンド履歴バッファの内容に基づいて、複数のコマンド要求が入った際に、プリチャージを必要とするバンクの切り替えが必要なコマンドより先にアクセス可能な別のコマンドを先に発行する。   The memory 2 is a synchronous DRAM such as a DDR-SDRAM, for example, and outputs a row address as a bank active command, a column address as a read command, a write command, a read command with precharge, and a write command with precharge at different timings. And access. The command receiving circuit 4 receives commands from a plurality of N command issuing source circuits 5-1 to 5-N that are commands to be issued, and outputs the commands based on the priority set in the system. . The command history buffer and output circuit 3 includes a command history buffer 12 (FIG. 2) that can store a predetermined number of commands issued in the past in the order of entry. Based on the contents of the command history buffer, the command history buffer and output circuit 3 can provide another command that can be accessed before a command that requires bank switching that requires precharging when a plurality of command requests are received. Is issued first.

図2において、コマンド履歴バッファ及び出力回路3は、発行コマンド順序判定部11と、コマンド履歴バッファ12と、コマンド出力回路13とを備えて構成される。   In FIG. 2, the command history buffer and output circuit 3 includes an issue command order determination unit 11, a command history buffer 12, and a command output circuit 13.

図2において、複数N個のコマンド発行元回路5−1〜5−Nから同時にコマンドが発行された場合、コマンド受付回路4でアービタの優先度を元にコマンドを後段のコマンド履歴バッファ及び出力回路3内のコマンド出力回路13に渡す。発行コマンド順序判定部11は、過去に発行したコマンド情報を元に順番を入れ換えてもメモリへのアクセスが遅くならず、先にメモリアクセス可能なコマンドについては順番を入れ換える指示をコマンド出力回路13に出力する。コマンド出力回路13でその判定結果の順序でコマンドを順に出力する。もしくは、発行コマンド順序判定部11の判定結果を元にコマンド出力回路13で順番を入れ換えて出力するのではなく、判定したらその順序でコマンド出力回路13へコマンドを発行する。   In FIG. 2, when a command is issued simultaneously from a plurality of N command issuer circuits 5-1 to 5-N, the command receiving circuit 4 sends a command based on the priority of the arbiter and a subsequent command history buffer and output circuit. 3 is sent to the command output circuit 13. The issued command order determination unit 11 does not slow down access to the memory even if the order is changed based on previously issued command information, and the command output circuit 13 is instructed to change the order of commands that can be accessed in the memory first. Output. The command output circuit 13 sequentially outputs commands in the order of the determination results. Alternatively, the command output circuit 13 does not change the order based on the determination result of the issue command order determination unit 11 and outputs the command, but if it is determined, the command is issued to the command output circuit 13 in that order.

以下、図3において、コマンドを入れ換える回路が無い場合、図4にて今回の実施例による回路の場合のコマンドの発行順の例を示します。すなわち、図3は従来例に係るメモリ制御装置においてコマンドを入れ換える回路を有しない場合のコマンド履歴バッファ及び出力回路の動作を示すタイミングチャートである。また、図5は図2のコマンド履歴バッファ及び出力回路3の変形例に係る動作を示すタイミングチャートである。   In the following, if there is no circuit to replace the command in Fig. 3, Fig. 4 shows an example of the command issue order for the circuit according to this embodiment. That is, FIG. 3 is a timing chart showing the operation of the command history buffer and the output circuit when the memory control device according to the conventional example does not have a circuit for exchanging commands. FIG. 5 is a timing chart showing an operation according to a modification of the command history buffer and output circuit 3 of FIG.

図3において、Bank=B0のプリチャージ期間中に#9のB0へのコマンドが発生し、さらに同時に#10,11のB3,B2のコマンドが発生していることを示しています。この場合、B0のプリチャージ期間完了を待ってから、システムの優先度によってそのままB0,B3,B2のコマンド発行が行われます。   In FIG. 3, it is shown that the command to B0 of # 9 is generated during the precharge period of Bank = B0, and the commands of B3 and B2 of # 10 and 11 are generated at the same time. In this case, B0, B3, and B2 commands are issued according to the system priority after waiting for the completion of the B0 precharge period.

図4において、同一の条件の時にB0へのコマンドが発生しているが、プリチャージ期間であるため、発行コマンド順序判定部11はB3,B2のコマンドを先に発行し、その後に図3のB0発行時間に対して図4のB0は遅くなることなくプリチャージ完了後B0のコマンドを発行する。   In FIG. 4, a command to B0 is generated under the same conditions. However, since it is a precharge period, the issue command order determination unit 11 issues the commands B3 and B2 first, and thereafter, as shown in FIG. The B0 command is issued after the precharge is completed without delaying B0 in FIG.

図5は図2のコマンド履歴バッファ及び出力回路3の変形例に係る動作を示すタイミングチャートである。図5では、4個のメモリバンクを有し、4個のメモリバンクとも開いた状態で別のメモリバンクにアクセスが必要な際にメモリバンクを閉じてアクセスしたいメモリバンクに切り替えるまでの時間に、既にメモリバンクがあいているコマンド発行B3があり、B4のコマンド発行時間に影響が出ない場合B3を先にコマンド発行することを示す。   FIG. 5 is a timing chart showing an operation according to a modification of the command history buffer and output circuit 3 of FIG. In FIG. 5, there are four memory banks, and when the four memory banks are open and another memory bank needs to be accessed, the memory bank is closed and the time until switching to the memory bank to be accessed is shown. If there is a command issuance B3 in which a memory bank is already open and the command issuance time of B4 is not affected, this indicates that B3 is issued first.

以上のように構成された本実施形態によれば、複数のコマンドキューを保持するコマンド履歴バッファ12と、コマンド履歴バッファ12に保持された過去のコマンド発行履歴と新たに要求された2つ以上のコマンドに基づいて、発行するコマンドの順序の変更を行うように制御する順序判定部11とを備える。これにより、過去に行ったメモリアクセス要求を元に、コマンド発行を遅らせることなく、アービタ回路4Aの優先度に影響を与えずに、コマンド発行順序の並び替えを行うことができる。これにより、過去のメモリアクセス履歴を保持し利用することにより全体のパフォーマンスを落とさずに効率よいコマンドを発行することができる。   According to the present embodiment configured as described above, the command history buffer 12 holding a plurality of command queues, the past command issue history held in the command history buffer 12, and two or more newly requested And an order determination unit 11 that controls to change the order of commands to be issued based on the command. As a result, the command issuance order can be rearranged without delaying the issuance of commands and without affecting the priority of the arbiter circuit 4A based on memory access requests made in the past. Thereby, it is possible to issue an efficient command without degrading the overall performance by holding and using the past memory access history.

また、コマンド履歴バッファ12に保持するアドレス情報を全ビット保持するのではなく、バンク及びローアドレスの判定に必要なビットのみを保持するように制御する。これにより、全てのアドレス情報ではなく一部のアドレスに絞ることにより、コマンド履歴バッファに保持するために必要なバッファの量を削減することができる。   In addition, the address information held in the command history buffer 12 is not held in all bits, but is controlled so as to hold only the bits necessary for determining the bank and row addresses. As a result, the amount of buffer necessary for holding in the command history buffer can be reduced by narrowing down to a part of addresses instead of all address information.

さらに、メモリコントローラ1は、高速なクロックによる動作を必要とするが、クロックコマンド履歴バッファ及び出力回路3とコマンド受付回路4、複数あるコマンド発行元回路5−1〜5−Nはそれぞれの回路からコマンド要求が発行されるのでメモリコントローラ1と同じ高速クロックでなく、低速の別のクロックを使用する構成としてもよい。例えばメモリコントローラがある一定の期間に1つのコマンドを処理できるとする場合、複数あるコマンド発行元回路5−1〜5−Nからその期間内に2つのコマンドが発行されるとき、メモリコントローラ1側の2分の1の周波数でも性能を落とすことなく動作が可能になる。すなわち、メモリコントローラ1とは異なる低速のクロックでコマンド履歴バッファ12やコマンド受付回路4及びコマンド発行元回路5−1〜5−Nを動作させることが可能なため、回路全体をレイアウトする際にタイミングの調整がしやすくなる。   Further, the memory controller 1 requires an operation based on a high-speed clock, but the clock command history buffer and output circuit 3, the command reception circuit 4, and a plurality of command issuer circuits 5-1 to 5-N are provided from the respective circuits. Since a command request is issued, it is possible to use another low-speed clock instead of the same high-speed clock as the memory controller 1. For example, when a memory controller can process one command in a certain period, when two commands are issued within a certain period from a plurality of command issuer circuits 5-1 to 5-N, the memory controller 1 side Operation is possible even at a frequency half that of the above without degrading performance. That is, since the command history buffer 12, the command receiving circuit 4, and the command issuing source circuits 5-1 to 5-N can be operated with a low-speed clock different from that of the memory controller 1, timing is determined when the entire circuit is laid out. It becomes easy to adjust.

1…メモリコントローラ、
2…メモリ、
3…コマンド履歴バッファ及び出力回路、
4…コマンド受付回路、
4A…アービタ回路、
5−1〜5−N…コマンド発行元回路、
11…発行コマンド順序判定部、
12…コマンド履歴バッファ、
13…コマンド出力回路、
100…メモリ制御装置。
1 ... Memory controller,
2 ... Memory,
3 ... Command history buffer and output circuit,
4 ... Command reception circuit,
4A ... Arbiter circuit,
5-1 to 5-N: Command issuer circuit,
11 ... Issuing command order determination unit,
12 ... Command history buffer,
13: Command output circuit,
100: Memory control device.

特開2004−310394号公報JP 2004-310394 A 特表2002−530743号公報Special Table 2002-530743 特開2006−164099号公報JP 2006-164099 A 特開2007−249837号公報JP 2007-249837 A 特開2011−060162号公報JP 2011-060162 A

Claims (4)

外部からのメモリアクセス要求を蓄えることができるコマンドキューと、
前記コマンドキューに蓄えられた前記メモリアクセス要求によりコマンド制御ステートマシンが動作してメモリに対してメモリコマンドを発行するメモリ制御部とを備え、
アドレス空間が複数のバンクに分割されている前記メモリにアクセスするメモリ制御装置であって、
前記コマンドキューが少なくとも3以上のメモリアクセス要求を蓄えられるように構成され、前記メモリ制御部は、前記コマンドキューに蓄えられている全てのメモリアクセス要求に基づいて前記メモリコマンドを決定し、
前記メモリ制御装置は、
前記メモリ制御部の前段に複数の回路からのコマンド要求を優先度に応じて調停を行うアービタ回路と、
複数のコマンドキューを保持するコマンド履歴バッファと、
前記コマンド履歴バッファに保持された過去のコマンド発行履歴と新たに要求された2つ以上のコマンドに基づいて、発行するコマンドの順序の変更を行うように制御する順序判定部とを備えたことを特徴とするメモリ制御装置。
A command queue that can store external memory access requests;
A memory control unit in which a command control state machine operates in response to the memory access request stored in the command queue and issues a memory command to the memory;
A memory control device for accessing the memory in which an address space is divided into a plurality of banks,
The command queue is configured to store at least three or more memory access requests, and the memory control unit determines the memory command based on all the memory access requests stored in the command queue;
The memory control device
An arbiter circuit that arbitrates command requests from a plurality of circuits in accordance with priorities in the previous stage of the memory control unit;
A command history buffer holding multiple command queues;
An order determination unit that controls to change the order of commands to be issued based on the past command issue history held in the command history buffer and two or more newly requested commands; A memory control device.
前記順序判定部は、前記コマンド履歴バッファにアドレス情報のすべてではなく一部を保持するように制御することを特徴とする請求項1記載のメモリ制御装置。   The memory control device according to claim 1, wherein the order determination unit controls the command history buffer so that a part, not all, of the address information is held. 前記アービタ回路と前記メモリ制御部とが別々のクロックで動作するように構成されたことを特徴とする請求項1又は2記載のメモリ制御装置。   3. The memory control device according to claim 1, wherein the arbiter circuit and the memory control unit are configured to operate with different clocks. 請求項1から3までのうちのいずれか1つに記載のメモリ制御装置を備えたことを特徴とする半導体記憶装置。   A semiconductor memory device comprising the memory control device according to claim 1.
JP2013026220A 2013-02-14 2013-02-14 Memory controller and semiconductor storage device Pending JP2014154119A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013026220A JP2014154119A (en) 2013-02-14 2013-02-14 Memory controller and semiconductor storage device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013026220A JP2014154119A (en) 2013-02-14 2013-02-14 Memory controller and semiconductor storage device

Publications (1)

Publication Number Publication Date
JP2014154119A true JP2014154119A (en) 2014-08-25

Family

ID=51575891

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013026220A Pending JP2014154119A (en) 2013-02-14 2013-02-14 Memory controller and semiconductor storage device

Country Status (1)

Country Link
JP (1) JP2014154119A (en)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016218635A (en) * 2015-05-18 2016-12-22 富士通株式会社 Information processing device, memory control device, and control method of information processing device
CN108628759A (en) * 2017-12-29 2018-10-09 贵阳忆芯科技有限公司 The method and apparatus of Out-of-order execution NVM command
US10318210B2 (en) 2015-01-22 2019-06-11 Sony Corporation Memory controller, storage device, information processing system, and method of controlling memory
JP2019194811A (en) * 2018-05-02 2019-11-07 キヤノン株式会社 Memory controller and method executed by memory controller
JP2021077121A (en) * 2019-11-08 2021-05-20 キヤノン株式会社 Memory controller, and method and apparatus executed by memory controller
US11029881B2 (en) 2016-06-29 2021-06-08 Sony Corporation Memory controller, memory system, and information processing system
US11262936B2 (en) 2015-10-30 2022-03-01 Sony Corporation Memory controller, storage device, information processing system, and memory control method

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006260472A (en) * 2005-03-18 2006-09-28 Matsushita Electric Ind Co Ltd Memory access device
JP2009015832A (en) * 2007-06-07 2009-01-22 Renesas Technology Corp Inter-access arbitration circuit, semiconductor device, and inter-access arbitration method
JP2009193107A (en) * 2008-02-12 2009-08-27 Panasonic Corp Memory access device

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006260472A (en) * 2005-03-18 2006-09-28 Matsushita Electric Ind Co Ltd Memory access device
JP2009015832A (en) * 2007-06-07 2009-01-22 Renesas Technology Corp Inter-access arbitration circuit, semiconductor device, and inter-access arbitration method
JP2009193107A (en) * 2008-02-12 2009-08-27 Panasonic Corp Memory access device

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10318210B2 (en) 2015-01-22 2019-06-11 Sony Corporation Memory controller, storage device, information processing system, and method of controlling memory
JP2016218635A (en) * 2015-05-18 2016-12-22 富士通株式会社 Information processing device, memory control device, and control method of information processing device
US11262936B2 (en) 2015-10-30 2022-03-01 Sony Corporation Memory controller, storage device, information processing system, and memory control method
US11029881B2 (en) 2016-06-29 2021-06-08 Sony Corporation Memory controller, memory system, and information processing system
CN108628759A (en) * 2017-12-29 2018-10-09 贵阳忆芯科技有限公司 The method and apparatus of Out-of-order execution NVM command
JP2019194811A (en) * 2018-05-02 2019-11-07 キヤノン株式会社 Memory controller and method executed by memory controller
US11385832B2 (en) 2018-05-02 2022-07-12 Canon Kabushiki Kaisha Memory controller and method performed by the memory controller
JP7197998B2 (en) 2018-05-02 2022-12-28 キヤノン株式会社 Memory controllers and methods implemented in memory controllers
US12032856B2 (en) 2018-05-02 2024-07-09 Canon Kabushiki Kaisha Memory controller and method performed by the memory controller
JP2021077121A (en) * 2019-11-08 2021-05-20 キヤノン株式会社 Memory controller, and method and apparatus executed by memory controller
JP7414477B2 (en) 2019-11-08 2024-01-16 キヤノン株式会社 Memory controller, method and apparatus implemented in memory controller

Similar Documents

Publication Publication Date Title
US9293188B2 (en) Memory and memory controller for high reliability operation and method
US9343127B1 (en) Memory device having an adaptable number of open rows
JP2014154119A (en) Memory controller and semiconductor storage device
KR100764633B1 (en) Memory controller, data processing system and semiconductor device
TW594785B (en) Semiconductor memory device having external data load signal and serial-to-parallel data prefetch method thereof
JP2008532140A (en) Memory device and method having multiple internal data buses and memory bank interleaving
CN106856098B (en) Device and method for refreshing DRAM or eDRAM
US20100250841A1 (en) Memory controlling device
KR20160116533A (en) Memory controller and memory system managing refresh operation and operating method thereof
JP3819004B2 (en) Memory control device
JPH04229484A (en) Method and device for shortening memory-fetch time
JP2011060162A (en) Memory control device
CN113900818A (en) DDR memory data read-write scheduling method and device
KR20080079187A (en) Memory controller, access control method of semiconductor memory, and system
JP2002305437A5 (en)
US7778103B2 (en) Semiconductor memory device for independently selecting mode of memory bank and method of controlling thereof
US10592163B2 (en) Controlling write pulse width to non-volatile memory based on free space of a storage
TW201237631A (en) Memory controller and a controlling method adaptable to DRAM
JP2000231788A (en) Semiconductor memory
JP3846543B2 (en) Memory access system
US10185510B2 (en) Bank interleaving controller and semiconductor device including the same
JP2015022437A (en) Control apparatus, computer system, control method, and program
JP2004206850A (en) Semiconductor storage device
TWI721660B (en) Device and method for controlling data reading and writing
US20210257009A1 (en) Methods of performing self-write operation and semiconductor devices used therefor

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160121

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160802

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20170207