JP2002288037A - Memory control device and method - Google Patents

Memory control device and method

Info

Publication number
JP2002288037A
JP2002288037A JP2001089303A JP2001089303A JP2002288037A JP 2002288037 A JP2002288037 A JP 2002288037A JP 2001089303 A JP2001089303 A JP 2001089303A JP 2001089303 A JP2001089303 A JP 2001089303A JP 2002288037 A JP2002288037 A JP 2002288037A
Authority
JP
Grant status
Application
Patent type
Prior art keywords
bank
command
control
memory
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.)
Pending
Application number
JP2001089303A
Other languages
Japanese (ja)
Inventor
Katsuhiko Yamanaka
克彦 山中
Original Assignee
Sony Corp
ソニー株式会社
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

Links

Abstract

PROBLEM TO BE SOLVED: To improve the accessing efficiency in switching a bank by moving the access to another bank in a clock cycle where the data is not exchanged in a bank, in a memory control device and a memory control method for controlling SDRAM composed of plural banks. SOLUTION: An inputted request is divided into requests for each of the banks by a request distributing circuit 11, and a command for each bank is generated by command generating circuits 12A, 12B for each bank. During a period when the data is not exchanged in the present bank, a precharge command of the present bank is procrastinated, and the access command of another bank takes priority. Therefore a weight in exchanging the bank is not generated, and the access can be efficiently executed.

Description

【発明の詳細な説明】 DETAILED DESCRIPTION OF THE INVENTION

【0001】 [0001]

【発明の属する技術分野】この発明は、コンピュータの主記憶メモリや画像処理プロセッサに用いられるSDR [Field of the Invention The invention is used in the main memory and an image processing processor of the computer SDR
AMを制御するのに用いて好適なメモリ制御装置及び方法に関する。 Of the preferred memory controller and method used to control the AM.

【0002】 [0002]

【従来の技術】近年、コンピュータの主記憶メモリや、 In recent years, and a main memory of a computer,
画像処理プロセッサのメモリとして、SDRAM(Sync As a memory of the image processor, SDRAM (Sync
hronous Dynamic Random Access Memory)が広く用いられるようになってきている。 hronous Dynamic Random Access Memory) has come to be widely used. SDRAMは、クロックに同期した連続的なデータ転送が可能であり、バースト転送を指定すると、指定したバイト数分のデータ転送を1 SDRAM is capable of continuous data transfer in synchronization with a clock, specifying a burst transfer, the data transfer for the number of bytes specified 1
クロック単位で連続して行うことができる。 It can be carried out continuously in clock units. また、SD In addition, SD
RAM内の記憶領域は、複数のバンクに分割した構成とされている。 Storage area in the RAM is configured divided into a plurality of banks. このようにバンクを分割すると、バンク毎に切り換えてバースト転送を行うことで、異なるページをアクセスする際に必要となるプリチャージ動作を隠蔽することが可能になり、転送レートを向上することができる。 With this splitting the banks by performing a burst transfer is switched for each of the banks, it is possible to hide the precharge operation which is required for accessing the different pages, it is possible to improve the transfer rate .

【0003】図6は、従来のSDRAMのメモリコントローラの構成を示すブロック図である。 [0003] Figure 6 is a block diagram showing a memory controller of the configuration of a conventional SDRAM. 図6において、 6,
メモリコントローラ101は、リクエスト処理回路11 Memory controller 101, the request processing circuit 11
1と、コマンド生成回路112と、コマンド出力回路1 1, a command generating circuit 112, the command output circuit 1
13と、データ制御回路114とからなる。 13, and a data control circuit 114..

【0004】リクエスト処理回路111に、メモリ対する処理を行うための要求が与えられる。 [0004] request processing circuit 111, a request to perform a memory against treatment is given. リクエスト処理回路111は、この要求を保持し、この要求をコマンド生成回路112に対して出力する。 Request processing circuit 111 holds the request, and outputs the request to the command generation circuit 112. コマンド生成回路1 Command generating circuit 1
12は、この要求に対するコマンドを生成する。 12 generates a command for this request. このコマンドは、ある要求に対するバンクアクティブ、リード/ライト、プリチャージのコマンドセットからなる。 This command, the bank for a request active, read / write, consisting command set of the precharge. コマンド生成回路112で生成されたコマンドは、コマンド出力回路113から出力され、SDRAM102に与えられる。 Command generated by the command generating circuit 112 is output from the command output circuit 113 is provided to SDRAM102. データ制御回路114は、クロックに同期してSDRAM102からデータの読み出し/書き込みを行う制御を行なう。 Data control circuit 114 performs control to read / write data from SDRAM102 in synchronization with the clock.

【0005】 [0005]

【発明が解決しようとする課題】SDRAMでは、各バンクは独立しており、各バンクに対して独立にコマンドを発行することができる。 [SUMMARY OF THE INVENTION In SDRAM, each bank is independent, it is possible to issue commands independently for each bank. また、このような複数バンク構成のSDRAMでは、データ線は各バンクで共有するため、リード/ライト動作を同時に行うことができないが、アクティブコマンドの発行からリード/ライト期間、及びそれからプリチャージコマンド発行までの間に発生するデータアクセスのないクロックサイクルでは、 Further, the SDRAM of such multiple-bank configuration, since the data lines are shared by each bank, but can not perform read / write operations at the same time, the read / write period from the issuance of an active command, and issuing it from the pre-charge command in the clock cycle there is no data access that occurs during the up,
他のバンクに対するアクセスを同時に行うことができる。 It is possible to perform the access to the other bank at the same time.

【0006】そこで、このようなデータアクセスのないクロックサイクルに、別のバンクをアクセスし、バンクが切り換えられたときのアクセス効率を上げることが考えられる。 [0006] Therefore, there is no clock cycle of such data access, and access to another bank, it is conceivable to increase the efficiency of access when the bank is switched.

【0007】つまり、SDRAMでは、バンクにアクティブコマンドを送り、リード/ライトのコマンドを送った後に、データのリード/ライトが行われる。 [0007] In other words, in the SDRAM, send an active command to the bank, after sending a read / write command, data read / write is performed. アクティブコマンドを送った後にリード/ライトコマンドが送れるようになるまで、及び、リード/ライトコマンドを送った後に実際にデータがリード/ライトされまで、待ち時間が必要である。 After sending an active command until the send read / write command, and, until the actual data after sending the read / write command is read / write, it is necessary to wait. したがって、そのバンクでデータのやり取りがなされていないクロックサイクルで、他のバンクにアクティブコマンドを送っておけば、他のバンクに切り換えられたときに、待ち時間がなくなり、即座にデータがリード/ライトできる。 Therefore, in the clock cycle that has not been exchange of data in the bank, if by sending an active command to the other bank, when it is switched to the other bank, there is no waiting time, immediately to the data read / write it can.

【0008】ところが、上述の従来のSDRAMのコントローラでは、要求毎に順次コマンドセットを発行するようにしている。 [0008] However, in the conventional SDRAM controller described above, and are sequentially issues a command set for each request. このため、1つのバンクに対するバンクアクティブ、リード/ライト、プリチャージからなるコマンドセットが発行された後でないと、他のバンクに対するコマンドセットが発行できない。 Therefore, the bank active for one bank, read / write, only after the command is issued set of pre-charge can not issue a command set for the other banks. このため、そのバンクでデータのやり取りがなされていないクロックサイクルで、他のバンクをアクセスして、アクセス効率を上げるようにすることは困難である。 Therefore, at clock cycle that data exchange that bank is not made, by accessing the other bank, it is difficult to raise the access efficiency.

【0009】すなわち、図7は、上述の従来のメモリコントローラ101でのコマンド発行アルゴリズムを示すフローチャートである。 [0009] That is, FIG. 7 is a flowchart showing the command issuing algorithm in a conventional memory controller 101 described above. 図7において、アイドリング状態から(ステップS101)、アクセス要求があるか否かが判断され(ステップS102)、アクセス要求があったら、アクティブコマンドが発行される(ステップS 7, in an idling state (step S101), whether it is determined there is an access request (step S102), if there is an access request, an active command is issued (step S
103)。 103). そして、リード/ライトコマンドが発行可能になるまで(ステップS105)、ウェイトされ(ステップS104)、リード/ライトコマンドが発行可能になったら、リード/ライトコマンドが発行される(ステップS106)。 Then, until the read / write command is issuable (step S105), the weight (step S104), and If the read / write command is enabled issued is issued read / write command (step S106). そして、データの読み出しが終了するまで(ステップS108)、ウェイトされ(ステップS Then, until the data read is completed (step S108), the weights (step S
107)、バーストアクセスが終了するまで(ステップS109)、リード/ライトコマンドの発行(ステップS106)、ウェイト(ステップS107)、データの読み出し終了の判断が行われる(ステップS108)。 107), until the burst access is completed (step S109), the issuance of the read / write command (step S106), the weight (step S107), the read end of the determination of the data is performed (step S108).
ステップS109でバーストアクセスが終了したと判断されたら、ステップS106で、さらに、リード/ライトコマンドが発行される。 If it is determined that the burst access has ended in step S109, in step S106, further, is issued read / write command. ステップS108で、データの読み出しが終了したら、プリチャージか可能になるまで(ステップS110)、ウェイトされ(ステップS1 In step S108, When the data reading is completed, to be ready or the pre-charge (step S110), the weight (step S1
11)、プリチャージが可能になったら、プリチャージが実行される(ステップS112)。 11), when it is possible to pre-charge, pre-charge is performed (step S112).

【0010】例えば、SDRAMのバンクAへのリードの要求と、バンクBへのリードの要求が起こったとする。 [0010] For example, it is assumed that the request of the lead to the bank A of the SDRAM, a read request to the bank B has occurred. この場合、従来のメモリコントローラ101では、 In this case, in the conventional memory controller 101,
図8に示すように、バンクAに対するバンクアクティブ、リード/ライト、プリチャージからなるコマンドセットが発行された後に、バンクBに対するバンクアクティブ、リード/ライト、プリチャージからなるコマンドセットが発行される。 As shown in FIG. 8, a bank active to the bank A, the read / write, after being issued command set consisting of pre-charge, bank active for the bank B, the read / write, the command set consisting of precharge is issued.

【0011】すなわち、図8は、従来のメモリコントローラ101で、バンクAへのリードの要求と、バンクB [0011] That is, FIG. 8, a conventional memory controller 101, a read request to the bank A, bank B
へのリードの要求が起こったときの動作を示すものである。 Illustrates the operation when the read request to the occurred. なお、CASレイテンシーは「2」、バースト長は「2」とする。 In addition, CAS latency is "2", the burst length is "2".

【0012】図8において、クロックサイクル「1」 [0012] In FIG. 8, clock cycle "1"
で、バンクAに対するバンクアクティブコマンドが発行される。 In, a bank active command is issued to the bank A. クロックサイクル「2」がウェイトとなり、クロックサイクル「3」で、バンクAのリードコマンドが発行される。 Clock cycle "2" is the weight, in clock cycle "3", the read command of the bank A is issued. クロックサイクル「4」がウェイトとなり、クロックサイクル「5」で、バンクAに対するリードコマンドが発行される。 Will clock cycle "4" is the weight, in clock cycle "5", read command for the bank A is issued. クロックサイクル「6」がウェイトとなり、クロックサイクル「7」でバンクAに対するプリチャージコマンドが発行される。 Clock cycle "6" is the weight, precharge command for the bank A is issued at clock cycle "7".

【0013】このようにして、バンクAに対するバンクアクティブ、リード、プリチャージのコマンドセットが発行された後のサイクルから、バンクBに対するコマンドセットが発行される。 [0013] Thus, bank active to the bank A, leads from the cycle after the command set of the precharge is issued, the command set for the bank B is issued.

【0014】クロックサイクル「8」で、バンクBに対するアクティブコマンドが発行される。 [0014] In clock cycle "8", an active command is issued to the bank B. クロックサイクル「9」がウェイトとなり、クロックサイクル「10」 Clock cycle "9" is a wait, clock cycle "10"
でバンクBに対するアクティブコマンドが発行される。 In active command for bank B it is issued.
クロックサイクル「11」がウェイトとなり、クロックサイクル「12」で、バンクBに対するプリチャージコマンドが発行される。 As clock cycle "11" is the weight, in clock cycle "12", a precharge command for bank B is issued.

【0015】このように、従来のメモリコントローラでは、バンクAに対するコマンドセットを発行してから、 [0015] Thus, in the conventional memory controller, issue the command set for the bank A,
バンクBに対するコマンドセットを発行していたため、 Because it was issuing the command set for the bank B,
バンクAに対するリードとバンクBに対するリードを行う処理に12クロックサイクル要する。 A process of performing read operation to read the bank B to the bank A 12 required clock cycles.

【0016】ここで、クロックサイクル「1」でバンクAのアクティブコマンドを発行してから、クロックサイクル「3」又はクロックサイクル「5」でリードコマンドを発行するまでの期間、及びクロックサイクル「7」 [0016] In this case, issue an active command of the bank A at the clock cycle "1", the period of until you issue a read command in clock cycle "3" or clock cycle "5", and clock cycle "7"
でプリチャージコマンドを発行する間では、他方のバンクBに対するアクセスを同時に行うことができる。 In Between issuing the precharge command, it is possible to access to the other bank B at the same time. この間に、バンクBにアクティブコマンドを与えておけば、 During this time, if given an active command to the bank B,
バンクAのデータの読み出しを行った後に、直ちに、バンクBのデータを読み出すことができる。 After the reading of the data of the bank A, it can immediately read the data of the bank B.

【0017】ところが、上述のように、従来のメモリコントローラでは、各バンクに順次バンクアクティブ、リード/ライト、プリチャージからなるコマンドセットを与える構成とされており、アクティブからリード/ライトまでの間及びプリチャージ発行の間のデータのやり取りがなされていないクロックサイクルで、別のバンクをアクセスして、アクセス効率を上げることができないという問題がある。 [0017] However, as described above, in the conventional memory controller, and between sequential bank active in each bank, the read / write, are configured to provide a command set of the pre-charge, from an active to a read / write in clock cycles exchanged is not made of data between the precharge issued, by accessing a different bank, it is impossible to raise the access efficiency.

【0018】したがって、この発明の目的は、複数のバンクからなるSDRAMを制御するメモリ制御装置及び方法において、そのバンクでデータのやり取りがなされていないクロックサイクルに別のバンクにアクセスを移し、バンクを切り換えたときのアクセス効率を上げることができるようにしたメモリ制御装置及び方法を提供することにある。 [0018] Accordingly, an object of this invention is a memory control apparatus and method for controlling the SDRAM comprising a plurality of banks, transferred to access another bank clock cycles exchanged is not made of the data in the bank, the bank to provide a memory control apparatus and method capable of increasing efficiency of access when switching.

【0019】 [0019]

【課題を解決するための手段】この発明は、複数のバンクから構成され、クロックを使用してデータを読み書きを行う同期型メモリを制御するメモリ制御装置であって、入力された要求を上記複数のバンク毎に分配するリクエスト分配手段と、上記要求に基づいて上記複数のバンク毎のコマンドを生成する複数のコマンド生成手段と、上記複数のコマンド生成手段で生成されたコマンドを選択し、上記同期型メモリに供給するコマンド選択手段とを備え、上記コマンド選択手段は、バンクのデータアクセスがない期間に、他のバンクのコマンドを優先させるようにしたことを特徴とするメモリ制御装置である。 Means for Solving the Problems] The present invention is composed of a plurality of banks, a memory control device for controlling a synchronous memory to read and write data using a clock, the plurality of input required a request distribution means for distributing each of the bank, to select a plurality of command generating means for generating a command for each of the plurality of banks on the basis of the request, the command generated by said plurality of command generating means, the synchronization and a command selecting means for supplying to the mold a memory, said command selecting means, a period no data access bank, a memory controller, characterized in that so as to prioritize other bank commands.

【0020】この発明は、複数のバンクから構成され、 [0020] The present invention is composed of a plurality of banks,
クロックを使用してデータを読み書きを行う同期型メモリを制御するメモリ制御方法であって、入力された要求を上記複数のバンク毎に分配し、上記要求に基づいて上記複数のバンク毎のコマンドを生成し、上記生成されたコマンドを選択して、上記同期型メモリに供給し、上記選択は、バンクのデータアクセスがない期間に、他のバンクのコマンドを優先させるようにしたメモリ制御方法である。 A memory control method for controlling a synchronous memory to read and write data using a clock, the entered request partitioned for each of the plurality of banks, a command for each of the plurality of banks on the basis of the request produced, by selecting the generated command is supplied to the synchronous memory, the selection period no data access bank is the memory control method so as to give priority to other banks commands .

【0021】入力された要求が各バンク毎の要求とに分けられ、各バンク毎のコマンド生成回路により、各バンク毎にコマンドが生成される。 The entered request is divided into a request for each bank, the command generating circuit for each bank, the command is generated for each bank. そして、現在のバンクでデータのやり取りがなされていない期間に、現在のバンクのプリチャージコマンドが先送りされ、他のバンクのアクセスコマントが優先される。 Then, during a period in which no exchange of data in the current bank is made, it is postponed precharge command current bank, another bank access co mantle is given priority. これにより、バンクを切り換えたときのウェイトがなくなり、アクセスが効率的に行われる。 This eliminates the wait when switching between banks, access is performed efficiently.

【0022】 [0022]

【発明の実施の形態】以下、この発明の実施の形態について図面を参照して説明する。 BEST MODE FOR CARRYING OUT THE INVENTION Hereinafter, will be explained with reference to the drawings showing preferred embodiments of the present invention. 図1は、この発明の一実施の形態を示すものである。 Figure 1 shows an embodiment of the present invention. 図1において、1はメモリコントローラ、2はSDRAMである。 In Figure 1, 1 is a memory controller, 2 is a SDRAM. SDRAM2 SDRAM2
は、図2に示すように、2つのバンクA、バンクBを有する。 As shown in FIG. 2, it has two banks A, bank B. メモリコントローラ1は、このような2つのバンクA、BからなるSDRAM2の制御を行うものである。 The memory controller 1 performs such a two bank A, the control of SDRAM2 consisting B. SDRAMは、バースト転送を指定すると、指定したワード線分のデータ転送を1クロックサイクルで行うことができる。 SDRAM, specifying a burst transfer, it is possible to transfer data of the specified word line in one clock cycle.

【0023】図1において、この発明が適用されたメモリコントローラ1は、リクエスト分配回路11と、コマンド生成回路12A及び12Bと、コマンド選択回路1 [0023] In FIG 1, the memory controller 1 to which the invention is applied, requests and distribution circuit 11, a command generating circuit 12A and 12B, the command selecting circuit 1
3と、データ制御回路14とからなる。 3, and a data control circuit 14.

【0024】リクエスト分配回路11には、メモリに対する処理を行うための要求が与えられる。 [0024] request distribution circuit 11, a request for processing to the memory is provided. この要求には、バンクAに対する要求と、バンクBに対する要求とがある。 This request is a request for the bank A, a request for the bank B is. リクエスト分配回路11は、与えられた要求を、バンクAに対する要求とバンクBに対する要求とに分け、バンクAに対する要求は、コマンド生成回路12 Request distribution circuit 11, a given request, divided into a request for the request and the bank B to the bank A, a request for the bank A, the command generation circuit 12
Aに供給し、コマンドBに対する要求はコマンド生成回路12Bに供給している。 Is supplied to A, a request for a command B are supplied to the command generation circuit 12B.

【0025】コマンド生成回路12Aは、SDRAM2 [0025] The command generating circuit 12A, SDRAM2
のバンクAの要求に対するコマンドを生成している。 It is generating the command for the bank A request. コマンド生成回路12Bは、SDRAM2のバンクBの要求に対するコマンドを生成している。 Command generation circuit 12B is to generate a command to the request of the bank B in the SDRAM 2.

【0026】コマンドには、アクティブ、リード/ライト、プリチャージがある。 [0026] command, active, read / write, there is a pre-charge. アクティブコマンドは、選択したメモリセルに対応するワード線に所定のパルス電圧(ワード線を活性化させる)ことを指示するコマンドである。 Active command is a command instructing that a predetermined pulse voltage to the word line corresponding to the selected memory cell (activating the word line). リードコマンドは、選択されたメモリセルのデータ線の電位から記憶データを読み取ることを指示するコマンドである。 Read command is a command for instructing to read the stored data from the potential of the data line of the selected memory cell. ライトコマンドは、選択されたメモリセルのデータ線に、書き込むデータに応じた電位を印加することを指示するコマンドである。 Write command is a command for instructing to apply the data lines of the selected memory cell, a potential corresponding to the write data. プリチャージコマンドは、SDRAM2内のアクセスを行うメモリセルに対応するデータ線を所定の電位に設定することを指示するコマンドである。 Precharge command is a command for instructing to set the data line corresponding to the memory cell to be accessed in SDRAM2 to a predetermined potential.

【0027】コマンド生成回路12A及びコマンド生成回路12Bからのコマンドがコマンド選択回路13に供給される。 The command from the command generating circuit 12A and the command generating circuit 12B is supplied to the command selecting circuit 13. コマンド選択回路13は、SDRAM2のアクセスが効率的に行われるように、バンクAに対するコマンドとバンクBに対するコマンドとを選択して、SD Command selecting circuit 13, as access SDRAM2 is efficiently performed, and select a command to the command and the bank B to the bank A, SD
RAM2に送っている。 It is sent to RAM2.

【0028】すなわち、アクティブコマンドの発行からリード/ライト期間、及びプリチャージコマンド発行の期間において、データのやり取りがなされていないクロックサイクルでは、別のバンクをアクセスすることができる。 [0028] That is, the read / write period from the issuance of an active command, and the precharge command period issue, in clock cycles data exchange is not performed, it is possible to access another bank. そこで、例えば、バンクAに対するアクセスを行っている間において、データのやり取りがなされていないクロックサイクルで、バンクBに対するコマンドのうちアクティブコマンドを優先して出し、プリチャージコマンドを先送りするようにする。 Therefore, for example, in a while performing access to the bank A, the clock cycle in which data exchange is not performed, out in favor of an active command of the command for bank B, and so as to put off the precharge command. このようにすると、バンクAからバンクBにアクセスが移ったときに、バンクBのリード/ライトを直ちに行うことができ、効率的にアクセスが行える。 In this way, when the access is moved to the bank B from the bank A, Immediately can perform the read / write banks B, it can be performed efficiently access.

【0029】コマンド選択回路13は、このように、現在のバンクでデータのやり取りがなされていないクロックサイクルに、他のバンクでアクティブコマンドの発行があればそれを優先し、プリチャージコマンドは先送りにして、バンクが切り換えられたときのアクセスが効率的に行えるようにしている。 The command selecting circuit 13, thus, the clock cycle that does not exchange data is performed by the current bank, and priority to, if any issuance of an active command in another bank precharge command is put off Te, access when bank is switched is to allow efficient.

【0030】データ制御回路14は、クロックに同期してSDRAM2からデータの読み出し/書き込みを行う制御を行っている。 The data control circuit 14 performs control for reading / writing data from SDRAM2 in synchronization with the clock.

【0031】このように、この発明の実施の形態では、 [0031] Thus, in the embodiment of the invention,
リクエスト分配回路11により、メモリコントローラ1 The request distribution circuit 11, the memory controller 1
に入力された要求がバンクAに対する要求とバンクBに対する要求とに分けられ、コマンド生成回路12A及び12Bで、各バンク毎にコマンドが生成される。 Is entered request is divided into a request for the request and the bank B to the bank A, the command generating circuits 12A and 12B, the command is generated for each bank. そして、コマンド選択回路13で、SDRAM2のアクセスが効率的に行われるように、現在のバンクでデータのやり取りがなされていないクロックサイクルに、他のバンクでアクティブコマンドの発行があればそれを優先し、 Then, the command selecting circuit 13, as access SDRAM2 is efficiently performed, the clock cycle that does not exchange data is performed by the current bank, it preferentially if any issuance of an active command in another bank ,
プリチャージコマンドは先送りにしている。 Precharge command has been put off.

【0032】図3は、コマンド選択回路13のコマンド選択アルゴリズムの一例を示すものである。 [0032] Figure 3 shows an example of a command selection algorithm command selection circuit 13. 図3において、現在アクセス中のバンクのコマンドが実行される(ステップS1)。 3, bank command currently accessing is performed (step S1). そして、次のコマンドがあるか否かが判断される(ステップS2)。 Then, whether or not the next command is determined (step S2). 次のコマンドがあったら、次のコマンドがプリチャージコマンドであるか否かが判断され(ステップS3)、プリチャージコマンドでなければ、ステップS1に戻り、現在のバンクのコマンドが引き続き実行される。 If there is a next command, the next command is determined whether a precharge command (step S3), and if not a precharge command, the process returns to step S1, the command of the current bank is executed subsequently.

【0033】ステップS3で、プリチャージコマンドであると判断されたら、プリチャージコマンドは先送りされるため、次のバンクに移り(ステップS4)、ステップS1に戻り、次のバンクのコマンドが実行される。 [0033] In step S3, if it is determined that the precharge command, since the precharge command is postponed, proceed to the next bank (step S4), and returns to step S1, the command is executed in the next bank .

【0034】ステップS2で、次のコマンドがなければ、他のバンクのアクティブコマンドがあるか否かが判断される(ステップS5)。 [0034] In step S2, if there is no next command, whether there is an active command of another bank is determined (step S5). 他のバンクのアクティブコマンドがあれば、他のバンクのアクティブコマンドが優先して発行され(ステップS6)、ステップS2に戻る。 If there is an active command for the other bank, an active command for the other bank is issued with priority (step S6), and returns to step S2.

【0035】ステップS5で、他のバンクのアクティブコマンドがなければ、他のバンクのプリチャージコマンドがあるか否かが判断される(ステップS7)。 [0035] In step S5, if there is no active command of another bank, whether there is a precharge command for the other bank is determined (step S7). 他のバンクのプリチャージコマンドがあったら、アクセス済みバンクのプリチャージコマンドが発行され(ステップS If you have a pre-charge command of other banks, it is issued precharge command of the accessed bank (step S
8)、ステップS2に戻る。 8), the flow returns to step S2.

【0036】ステップS7で、他のバンクのプリチャージコマンドがなければ、コマンド発行をせずに(ステップS9)、ステップS2に戻る。 [0036] In step S7, if there is no precharge command for the other bank, without issuing command (step S9), and returns to step S2.

【0037】例えば、バンクAとバンクBとにアクセスするような場合、現在、バンクAにアクセスしているとすると、先ず、バンクAのコマンドが出力される(ステップS1)。 [0037] For example, if as accessing the banks A and B, now, if you are accessing the bank A, first, a command for bank A is output (step S1). ここで、次に、どのコマンドを出力すべきであるかの判断が行われる。 Here, then, if it should be output which command determination is made. 先ず、現在のバンクAに対し、次に有効なコマンドがあるか否かが判断され(ステップS2)、有効なコマンドがある場合には、次がプリチャージコマンドであるか否かが判断され(ステップS First, for the current bank A, whether or not there is a next valid command is determined (step S2), and if there is a valid command, whether or not the next is precharge command is determined ( step S
3)、次がプリチャージコマンド以外のコマンドである場合には、そのコマンドを発行し、次がプリチャージコマンドであれば、アクセス要求を待っている次のバンクにアクセスに移される(ステップS4)。 3) If the next is a command other than the precharge command issued the command, following if precharge command is transferred to access the next bank waiting for access requests (step S4) .

【0038】バンクAに次のコマンドがない場合には、 [0038] If there is no next command to Bank A,
アクティブコマンド要求を出しているバンクがあれば(ステップS5)、これが発行され(ステップS6)、 If there is a bank that has issued an active command request (step S5), and which is issued (step S6), and
アクティブコマンド要求を出しているバンクがない場合には、プリチャージ待ちのバンクがあるか否かが判断され(ステップS7)、プリチャージ待ちのバンクがあったら、プリチャージが発行され(ステップS8)、プリチャージ待ちのバンクがない場合には、次のクロックではコマンドは発行せず(ステップS9)、更に、ステップS2に戻り、次のクロックにおける判断に移る。 If there is no bank that has issued an active command request, whether there is a bank of the precharge wait is determined (step S7), and if there is a bank of the precharge wait, precharge is issued (Step S8) , when there is no bank precharge waiting, at the next clock command without issuing (step S9), and further, it returns to step S2, proceeds to the judgment in the next clock. このような処理が繰り返し行われる。 Such a process is repeated.

【0039】図4は、この発明が適用されたメモリコントローラ1で、バンクAへのリードの要求と、バンクB [0039] Figure 4 is a memory controller 1 to which the invention is applied, and the lead of request to the bank A, bank B
へのリードの要求が起こったときの動作を示すものである。 Illustrates the operation when the read request to the occurred. なお、CASレイテンシーは「2」、バースト長は「2」とする。 In addition, CAS latency is "2", the burst length is "2".

【0040】図4において、クロックサイクル「1」 [0040] In FIG. 4, the clock cycle "1"
で、バンクAに対するバンクアクティブコマンドが発行される。 In, a bank active command is issued to the bank A. クロックサイクル「2」がウェイトとなり、クロックサイクル「3」で、バンクAのリードコマンドが発行される。 Clock cycle "2" is the weight, in clock cycle "3", the read command of the bank A is issued.

【0041】クロックサイクル「4」では、バンクBに対するアクティブコマンドが出されているので、これを優先して、バンクBに対するアクティブコマンドが与えられる。 [0041] In the clock cycle "4" and the active command has been issued for the bank B, which was priority, given an active command for bank B.

【0042】クロックサイクル「5」で、バンクAに対するリードコマンドが発行される。 [0042] In clock cycle "5", read command for the bank A is issued. クロックサイクル「6」がウェイトとなる。 Clock cycle "6" is the weight.

【0043】クロックサイクル「7」では、バンクAに対するプリチャージコマンドが発行されるべきであるが、これは先送りにされ、アクセスがバンクBに移され、バンクBのリードコマンドが発行される。 [0043] In clock cycle "7", but it should precharge command is issued for bank A, which is put off, the access is transferred to the bank B, the read command for bank B is issued.

【0044】クロックサイクル「8」で、バンクAに対するプリチャージコマンドが発行され、クロックサイクル「9」で、バンクBに対するプリチャージコマンドが発行される。 [0044] In clock cycle "8", is issued precharge command for the bank A, in a clock cycle "9", a precharge command for bank B is issued.

【0045】従来では、アクティブ、リード/ライト、 [0045] In the past, active, read / write,
プリチャージのコマンドセットを順次バンクに送るようにしていたのに対して、この発明の実施の形態では、上述のように、現在のバンクでデータのやり取りがなされていない期間に、他のバンクでアクティブコマンドの発行があればそれを優先し、プリチャージコマンドは先送りにしている。 Whereas had to send sequentially bank a command set of the precharge, in the embodiment of the present invention, as described above, in the period in which no exchange of data in the current bank is made, on the other bank it was priority if any issuance of an active command, a precharge command is put off.

【0046】図4に示したこの発明が適用されたメモリコントローラを使ったときのデータアクセスのタイミングと、図8に示した従来のメモリコントローラを使ったときのデータアクセスのタイミングとを比較すれば分かるように、従来のように、アクティブ、リード・ライト、プリチャージのコマンドセットを順次バンクに送るようにした場合には、バンクAに対するリードとバンクBに対するリードを行う処理に12クロックサイクル要するのに対して、この発明の実施の形態では、9クロックサイクルで処理できる。 The timing of data access when using a memory controller to which the invention is applied as shown in FIG. 4, the comparison between the timing of data access when using conventional memory controller shown in FIG. 8 as can be seen, unlike the conventional, active, read-write, when to send the sequentially bank a command set of the pre-charge is 12 to required clock cycles to process for performing a read to the read and the bank B for bank a respect, in the embodiment of the invention, can be processed in nine clock cycles. このように、この発明の実施の形態では、3クロック分の短縮が図れる。 Thus, in the embodiment of the invention, it can be shortened three clocks.

【0047】なお、上述の例では、SDRAM2のバンク数を2つにしているが、この発明は、バンク数が複数の場合にも同様に適用できる。 [0047] In the above example, although 2 Tsunishi the number of banks of SDRAM 2, the invention is equally applicable when the number of banks of the plurality.

【0048】例えば、図5は、SDRAM2のバンク数を4にした場合の例である。 [0048] For example, FIG. 5 is an example of a case where four the number of banks of SDRAM 2. バンク数が4の場合には、 If the number of banks is 4,
各バンクに対応して、コマンド生成回路12A、12 Corresponding to each bank, the command generating circuit 12A, 12
B、12C、12Dが設けられる。 B, 12C, 12D are provided. リクエスト分配回路11では、4つのバンクに対応してリクエストが分配され、各コマンド生成回路12A、12B、12C、12 The request distribution circuit 11, a request corresponding to the four banks is distributed, the command generating circuits 12A, 12B, 12C, 12
D、各バンク毎のコマンドが生成される。 D, the command for each bank are generated. そして、コマンド選択回路13で、SDRAM2のアクセスが効率的に行われるように、コマンドが分配される。 Then, the command selecting circuit 13, as access SDRAM2 is efficiently performed, the command is dispensed. このときの処理は、バンクが2つのときと同様に、そのバンクに対するコマンドのうちプリチャージコマンドを先送りにし、他のバンクに対するコマンドのうちアクティブコマンドを早く出すようにすれば良く、そのときの処理は、 Processing of the processing at this time, similarly to the case banks of two, to put off the precharge command among the command for the bank, it is sufficient to issue early active command of command for the other bank, then It is,
前述の図3の処理と同様である。 It is similar to the processing in FIG. 3 described above.

【0049】 [0049]

【発明の効果】この発明によれば、入力された要求が各バンク毎の要求とに分けられ、各バンク毎のコマンド生成回路により、各バンク毎にコマンドが生成される。 Effects of the Invention According to the present invention, the entered request is divided into a request for each bank, the command generating circuit for each bank, the command is generated for each bank. そして、現在のバンクでデータのやり取りがなされていない期間に、現在のバンクのプリチャージコマンドが先送りされ、他のバンクのアクセスコマントが優先される。 Then, during a period in which no exchange of data in the current bank is made, it is postponed precharge command current bank, another bank access co mantle is given priority.
これにより、バンクを切り換えたときのウェイトがなくなり、アクセスが効率的に行われる。 This eliminates the wait when switching between banks, access is performed efficiently.

【図面の簡単な説明】 BRIEF DESCRIPTION OF THE DRAWINGS

【図1】この発明の一実施の形態のブロック図である。 1 is a block diagram of one embodiment of the present invention.

【図2】SDRAMの説明に用いる略線図である。 2 is a schematic diagram used for explanation of the SDRAM.

【図3】この発明の一実施の形態の説明に用いるフローチャートである。 3 is a flowchart for use in explanation of an embodiment of the present invention.

【図4】この発明の一実施の形態の説明に用いるタイミング図である。 4 is a timing diagram for use in explanation of an embodiment of the present invention.

【図5】この発明の他の実施の形態のブロック図である。 5 is a block diagram of another embodiment of the present invention.

【図6】従来のメモリコントローラの一例のブロック図である。 6 is a block diagram of an example of a conventional memory controller.

【図7】従来のメモリコントローラの一例の説明に用いるフローチャートである。 7 is a flow chart for use in explaining one example of a conventional memory controller.

【図8】従来のメモリコントローラの一例の説明に用いるタイミング図である。 8 is a timing diagram for use in explaining one example of a conventional memory controller.

【符号の説明】 DESCRIPTION OF SYMBOLS

1・・・メモリコントローラ、11・・・リクエスト分配回路、12A、12B、12C・・・コマンド生成回路、13・・・コマンド選択回路 1 ... memory controller, 11 ... request distribution circuit, 12A, 12B, 12C ... command generation circuit, 13 ... command selection circuit

Claims (8)

    【特許請求の範囲】 [The claims]
  1. 【請求項1】 複数のバンクから構成され、クロックを使用してデータを読み書きを行う同期型メモリを制御するメモリ制御装置であって、 入力された要求を上記複数のバンク毎に分配するリクエスト分配手段と、 上記要求に基づいて上記複数のバンク毎のコマンドを生成する複数のコマンド生成手段と、 上記複数のコマンド生成手段で生成されたコマンドを選択し、上記同期型メモリに供給するコマンド選択手段とを備え、 上記コマンド選択手段は、バンクのデータアクセスがない期間に、他のバンクのコマンドを優先させるようにしたことを特徴とするメモリ制御装置。 Consists 1. A plurality of banks, a memory control device for controlling a synchronous memory to read and write data using a clock, the request distribution for distributing the entered request for each of the plurality of banks means and, a plurality of command generating means for generating a command for each of said plurality of banks based on the request, select a command generated by the plurality of command generating means, the command selecting means for supplying to said synchronous memory preparative provided, said command selecting means, a memory control device according to claim in a period no data access bank that was to give priority to other banks commands.
  2. 【請求項2】 上記コマンド選択手段は、バンクのデータアクセスがない期間に、他のバンクのアクティブコマンドを優先させるようにした請求項1に記載のメモリ制御装置。 Wherein said command selecting means, a period no data access bank memory controller according to claim 1 which is adapted to prioritize active command of another bank.
  3. 【請求項3】 上記コマンド選択手段は、プリチャージコマンドを先送りするようにした請求項1に記載のメモリ制御装置。 Wherein said command selecting means, a memory controller according to claim 1 which is adapted to postpone the precharge command.
  4. 【請求項4】 上記コマンド選択手段は、バンクのデータアクセスがない期間に、他のバンクのアクティブコマンドを優先させると共に、プリチャージコマンドを先送りするようにした請求項1に記載のメモリ制御装置。 Wherein said command selecting means, a period no data access bank, the priority is given to the active command of another bank, the memory controller according to claim 1 which is adapted to postpone the precharge command.
  5. 【請求項5】 複数のバンクから構成され、クロックを使用してデータを読み書きを行う同期型メモリを制御するメモリ制御方法であって、 入力された要求を上記複数のバンク毎に分配し、 上記要求に基づいて上記複数のバンク毎のコマンドを生成し、 上記生成されたコマンドを選択して、上記同期型メモリに供給し、 上記選択は、バンクのデータアクセスがない期間に、他のバンクのコマンドを優先させるようにしたメモリ制御方法。 Consists 5. plurality of banks, a memory control method for controlling a synchronous memory to read and write data using a clock, the entered request partitioned for each of the plurality of banks, the generates a command for each of said plurality of banks based on the request, select the generated command is supplied to the synchronous memory, the selection period no data access bank, other banks memory control method so as to give priority to the command.
  6. 【請求項6】 上記選択は、バンクのデータアクセスがない期間に、他のバンクのアクティブコマンドを優先させるようにした請求項5に記載のメモリ制御方法。 Wherein said selection period no data access bank memory control method according to claim 5 which is adapted to prioritize active command of another bank.
  7. 【請求項7】 上記選択は、プリチャージコマンドを先送りするようにした請求項5に記載のメモリ制御方法。 7. The selection memory control method according to claim 5 which is adapted to postpone the precharge command.
  8. 【請求項8】 上記コマンド選択手段は、バンクのデータアクセスがない期間に、他のバンクのアクティブコマンドを優先させると共に、プリチャージコマンドを先送りするようにした請求項5に記載のメモリ制御方法。 8. The command selection means, in periods of no data access bank, the priority is given to the active command of another bank, a memory control method according to claim 5 which is adapted to postpone the precharge command.
JP2001089303A 2001-03-27 2001-03-27 Memory control device and method Pending JP2002288037A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001089303A JP2002288037A (en) 2001-03-27 2001-03-27 Memory control device and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001089303A JP2002288037A (en) 2001-03-27 2001-03-27 Memory control device and method

Publications (1)

Publication Number Publication Date
JP2002288037A true true JP2002288037A (en) 2002-10-04

Family

ID=18944254

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001089303A Pending JP2002288037A (en) 2001-03-27 2001-03-27 Memory control device and method

Country Status (1)

Country Link
JP (1) JP2002288037A (en)

Cited By (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006011593A (en) * 2004-06-23 2006-01-12 Sony Corp Memory controller
US7124263B2 (en) 2003-07-09 2006-10-17 Kabushiki Kaisha Toshiba Memory controller, semiconductor integrated circuit, and method for controlling a memory
JP2007514221A (en) * 2003-12-09 2007-05-31 トムソン ライセンシングThomson Licensing Memory controller
KR100803188B1 (en) 2005-09-09 2008-02-14 후지쯔 가부시끼가이샤 Semiconductor memory device, semiconductor integrated circuit system using the same, and control method of semiconductor memory device
CN100433189C (en) * 2004-08-09 2008-11-12 凌阳科技股份有限公司 Data exchange circuit and method for synchronous DRAM
JP2013012232A (en) * 2006-02-09 2013-01-17 Metallum Inc Memory circuit system and method
US8705240B1 (en) 2007-12-18 2014-04-22 Google Inc. Embossed heat spreader
US8710862B2 (en) 2009-06-09 2014-04-29 Google Inc. Programming of DIMM termination resistance values
US8751732B2 (en) 2006-10-05 2014-06-10 Google Inc. System and method for increasing capacity, performance, and flexibility of flash storage
US8760936B1 (en) 2006-11-13 2014-06-24 Google Inc. Multi-rank partial width memory modules
US8762675B2 (en) 2008-06-23 2014-06-24 Google Inc. Memory system for synchronous data transmission
US8773937B2 (en) 2005-06-24 2014-07-08 Google Inc. Memory refresh apparatus and method
US8797779B2 (en) 2006-02-09 2014-08-05 Google Inc. Memory module with memory stack and interface with enhanced capabilites
US8811065B2 (en) 2005-09-02 2014-08-19 Google Inc. Performing error detection on DRAMs
US8819356B2 (en) 2008-07-25 2014-08-26 Google Inc. Configurable multirank memory system with interface circuit
US8868829B2 (en) 2006-07-31 2014-10-21 Google Inc. Memory circuit system and method
US8949519B2 (en) 2005-06-24 2015-02-03 Google Inc. Simulating a memory circuit
US8972673B2 (en) 2006-07-31 2015-03-03 Google Inc. Power management of memory circuits by virtual memory simulation
US8977806B1 (en) 2006-10-05 2015-03-10 Google Inc. Hybrid memory module
US9047976B2 (en) 2006-07-31 2015-06-02 Google Inc. Combined signal delay and power saving for use with a plurality of memory circuits
US9171585B2 (en) 2005-06-24 2015-10-27 Google Inc. Configurable memory circuit system and method
US9507739B2 (en) 2005-06-24 2016-11-29 Google Inc. Configurable memory circuit system and method
US9632929B2 (en) 2006-02-09 2017-04-25 Google Inc. Translating an address associated with a command communicated between a system and memory circuits

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000259494A (en) * 1999-03-04 2000-09-22 Matsushita Electric Ind Co Ltd Memory controller

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000259494A (en) * 1999-03-04 2000-09-22 Matsushita Electric Ind Co Ltd Memory controller

Cited By (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7124263B2 (en) 2003-07-09 2006-10-17 Kabushiki Kaisha Toshiba Memory controller, semiconductor integrated circuit, and method for controlling a memory
JP2007514221A (en) * 2003-12-09 2007-05-31 トムソン ライセンシングThomson Licensing Memory controller
JP2006011593A (en) * 2004-06-23 2006-01-12 Sony Corp Memory controller
CN100433189C (en) * 2004-08-09 2008-11-12 凌阳科技股份有限公司 Data exchange circuit and method for synchronous DRAM
US9507739B2 (en) 2005-06-24 2016-11-29 Google Inc. Configurable memory circuit system and method
US9171585B2 (en) 2005-06-24 2015-10-27 Google Inc. Configurable memory circuit system and method
US8949519B2 (en) 2005-06-24 2015-02-03 Google Inc. Simulating a memory circuit
US8773937B2 (en) 2005-06-24 2014-07-08 Google Inc. Memory refresh apparatus and method
US8811065B2 (en) 2005-09-02 2014-08-19 Google Inc. Performing error detection on DRAMs
KR100803188B1 (en) 2005-09-09 2008-02-14 후지쯔 가부시끼가이샤 Semiconductor memory device, semiconductor integrated circuit system using the same, and control method of semiconductor memory device
JP2013012232A (en) * 2006-02-09 2013-01-17 Metallum Inc Memory circuit system and method
US8797779B2 (en) 2006-02-09 2014-08-05 Google Inc. Memory module with memory stack and interface with enhanced capabilites
US9632929B2 (en) 2006-02-09 2017-04-25 Google Inc. Translating an address associated with a command communicated between a system and memory circuits
US9047976B2 (en) 2006-07-31 2015-06-02 Google Inc. Combined signal delay and power saving for use with a plurality of memory circuits
US8972673B2 (en) 2006-07-31 2015-03-03 Google Inc. Power management of memory circuits by virtual memory simulation
US8868829B2 (en) 2006-07-31 2014-10-21 Google Inc. Memory circuit system and method
US8751732B2 (en) 2006-10-05 2014-06-10 Google Inc. System and method for increasing capacity, performance, and flexibility of flash storage
US8977806B1 (en) 2006-10-05 2015-03-10 Google Inc. Hybrid memory module
US8760936B1 (en) 2006-11-13 2014-06-24 Google Inc. Multi-rank partial width memory modules
US8705240B1 (en) 2007-12-18 2014-04-22 Google Inc. Embossed heat spreader
US8730670B1 (en) 2007-12-18 2014-05-20 Google Inc. Embossed heat spreader
US8762675B2 (en) 2008-06-23 2014-06-24 Google Inc. Memory system for synchronous data transmission
US8819356B2 (en) 2008-07-25 2014-08-26 Google Inc. Configurable multirank memory system with interface circuit
US8710862B2 (en) 2009-06-09 2014-04-29 Google Inc. Programming of DIMM termination resistance values

Similar Documents

Publication Publication Date Title
US5511024A (en) Dynamic random access memory system
US6272609B1 (en) Pipelined memory controller
US5875452A (en) DRAM/SRAM with uniform access time using buffers, write back, address decode, read/write and refresh controllers
US5870350A (en) High performance, high bandwidth memory bus architecture utilizing SDRAMs
US7111143B2 (en) Burst mode implementation in a memory device
US6002632A (en) Circuits, systems, and methods with a memory interface for augmenting precharge control
US6421274B1 (en) Semiconductor memory device and reading and writing method thereof
US6006307A (en) Computer system employing a mirrored memory system for providing prefetch bandwidth
US20010054135A1 (en) Memory control technique
US6418077B1 (en) Memory access methods and devices for use with random access memories
US20060129740A1 (en) Memory device, memory controller and method for operating the same
US5974514A (en) Controlling SDRAM memory by using truncated burst read-modify-write memory operations
US20050144369A1 (en) Address space, bus system, memory controller and device system
US6965974B1 (en) Dynamic partitioning of memory banks among multiple agents
US6253297B1 (en) Memory control using memory state information for reducing access latency
US5920898A (en) Memory control unit providing optimal timing of memory control sequences between different memory segments by optimally selecting among a plurality of memory requests
US5721860A (en) Memory controller for independently supporting synchronous and asynchronous DRAM memories
US20040103258A1 (en) Dynamic optimization of latency and bandwidth on DRAM interfaces
US7047375B2 (en) Memory system and method for two step memory write operations
US6088774A (en) Read/write timing for maximum utilization of bidirectional read/write bus
US20060218315A1 (en) Memory access control circuit
US20040107324A1 (en) DDR SDRAM memory controller with multiple dependency request architecture and intelligent requestor interface
US6026466A (en) Multiple row address strobe DRAM architecture to improve bandwidth
US6412039B1 (en) Cross-bank, cross-page data accessing and controlling system
US6360305B1 (en) Method and apparatus for optimizing memory performance with opportunistic pre-charging

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20071214

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20101208

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101214

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20110405