JP4674865B2 - Semiconductor integrated circuit - Google Patents
Semiconductor integrated circuit Download PDFInfo
- Publication number
- JP4674865B2 JP4674865B2 JP2006293469A JP2006293469A JP4674865B2 JP 4674865 B2 JP4674865 B2 JP 4674865B2 JP 2006293469 A JP2006293469 A JP 2006293469A JP 2006293469 A JP2006293469 A JP 2006293469A JP 4674865 B2 JP4674865 B2 JP 4674865B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- read
- memory
- write
- output
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
- Dram (AREA)
Description
本発明は、メモリブロックを有する半導体集積回路、更にはリードアクセスの要求に対するデータリード動作のスループットを向上させる技術に関し、例えばロジック回路と共にDRAMを混載したキャッシュメモリ用の半導体集積回路に適用して有効な技術に関する。 The present invention relates to a semiconductor integrated circuit having a memory block, and further to a technique for improving the throughput of a data read operation in response to a read access request. Technology.
情報参照の時間的・空間的局所性に鑑みた記憶装置の記憶階層は、一般にアクセス速度と記憶容量の異なる複数レベルのメモリによって構成される。メインメモリにはビット単価の安いDRAM(ダイナミック・ランダム・アクセス・メモリ)が用いられ、プロセッサ若しくはCPU(セントラル・プロセッシング・ユニット)に近いレベルにはSRAM(スタティック・ランダム・アクセス・メモリ)などによって構成されるキャッシュメモリが配置される。キャッシュメモリはプロセッサが最近利用したデータに対して時間的・空間的に局在するデータを保持し、下位レベルからのデータリード動作よりもスループットを向上させることを可能にするものである。 A storage hierarchy of a storage device in consideration of temporal and spatial locality of information reference is generally configured by a plurality of memories having different access speeds and storage capacities. DRAM (Dynamic Random Access Memory) with a low cost per bit is used for the main memory, and the level close to the processor or CPU (Central Processing Unit) is configured by SRAM (Static Random Access Memory). Cache memory to be used is arranged. The cache memory holds data that is temporally and spatially localized with respect to data recently used by the processor, and makes it possible to improve the throughput as compared with the data read operation from the lower level.
本発明者は、本発明を完成した後、特開平2−297791号及び特開平6−195261号の存在について知らされた。これらの文献は、ダイナミック型メモリ(DRAM)とスタティック型メモリ(SRAM)とを1チップの半導体基板上に有し、上記DRAM及び上記SRAMをキャッシュメモリとして利用することについて述べている。しかしながら、本発明の目的及びその構成については、それらには述べられていない。 The inventor was informed of the existence of Japanese Patent Application Laid-Open Nos. Hei 2-297971 and Hei 6-195261 after completing the present invention. These documents describe having a dynamic memory (DRAM) and a static memory (SRAM) on a one-chip semiconductor substrate, and using the DRAM and the SRAM as a cache memory. However, the object of the present invention and its configuration are not described therein.
本発明者は比較的アクセス速度の遅いDRAMモジュールをロジック回路と共に多数混載してこれをキャッシュメモリに利用可能にすることについて検討した。例えば、レベル1(L1)及びレベル2(L2)キャッシュメモリを内蔵したマイクロプロセッサのレベル3(L3)キャッシュメモリ等に用いることができるDRAM混載の半導体集積回路を検討した。 The present inventor has studied to incorporate a large number of DRAM modules having a relatively low access speed together with a logic circuit so that the DRAM module can be used as a cache memory. For example, a DRAM-embedded semiconductor integrated circuit that can be used for a level 3 (L3) cache memory of a microprocessor incorporating level 1 (L1) and level 2 (L2) cache memories was examined.
本発明者の検討によれば、多数のDRAMモジュールを混載して並列動作可能とすることによって見掛け上メモリ・リードサイクルを短くしようとするとき、並列動作によるデータ出力動作等の競合回避を考慮しなければならない。この場合、データの競合回避のためにデータバッファを採用しようとするとき、データ競合を生じていない場合にもデータバッファリングを行ったのでは無駄のあることが見出された。 According to the study of the present inventor, when trying to shorten the memory read cycle by seemingly shortening the memory read cycle by mounting a large number of DRAM modules in parallel, consideration is given to avoiding competition such as data output operation due to parallel operation. There must be. In this case, when trying to adopt a data buffer to avoid data contention, it was found that it was useless to perform data buffering even when no data contention occurred.
プロセッサによるデータ処理効率を考慮すれば、プロセッサのリードアクセスに応答するリード動作のスループット向上が第一義である。このとき、キャッシュメモリのリード動作にはプロセッサによるライトアクセスに伴うコピーバック(若しくはライトバック)のためのリード動作もあり、そのようなリード動作では殆どの場合高いスループットは要求されない。即ち、コピーバックは、キャッシュミスに際してダーティーなキャッシュラインをリプレースするためにそのデータをメインメモリに退避させる動作だからである。したがって、キャッシュメモリとしての利用を考慮するときは、リードデータのスループット向上に対してもリードデータの用途に応じて軽重の差を付けられるようにしてロジック回路の論理規模が無駄に拡大しないようにすることの必要性が本発明者によって明らかにされた。 Considering the data processing efficiency by the processor, the primary improvement is the throughput of the read operation in response to the read access of the processor. At this time, the read operation of the cache memory also includes a read operation for copy back (or write back) accompanying write access by the processor, and such read operation does not require high throughput in most cases. That is, copy back is an operation of saving the data in the main memory in order to replace a dirty cache line in the event of a cache miss. Therefore, when considering the use as a cache memory, the logic scale of the logic circuit should not be increased unnecessarily by adding a light weight difference according to the use of the read data for improving the read data throughput. The need to do so has been clarified by the inventor.
また、プロセッサのライトアクセスに対してはそれに応答するライト処理の高速化は左程重要ではないが、プロセッサによるデータ処理効率を考慮すれば、ライトアクセスの要求を受け付けてその動作からプロセッサを短時間で解放する事が必要である。特に、DRAMの場合にはリフレッシュインターバル毎に記憶情報のリフレッシュ動作が必要であり、これによってライトアクセス要求の受付が遅れないようにしなければならない。 In addition, for processor write access, it is not as important to speed up the write processing that responds to it, but considering the data processing efficiency of the processor, the write access request is accepted and the processor is put into operation for a short time. It is necessary to release with. In particular, in the case of a DRAM, a refresh operation of stored information is required at each refresh interval, so that reception of a write access request must not be delayed.
本発明の目的は、メモリブロックの並列動作によるデータ競合を回避するためにデータバッファを採用した構成においてリード動作のスループットを改善することができる半導体集積回路を提供することにある。 An object of the present invention is to provide a semiconductor integrated circuit capable of improving the throughput of a read operation in a configuration employing a data buffer in order to avoid data contention due to parallel operation of memory blocks.
本発明の別の目的は、ロジック回路の論理規模が無駄に拡大しないようにリード動作のスループットを改善することができる半導体集積回路を提供することにある。 Another object of the present invention is to provide a semiconductor integrated circuit capable of improving the throughput of the read operation so that the logic scale of the logic circuit is not increased unnecessarily.
本発明のその他の目的は、内部のメモリ動作状態に拘わらずにライトアクセスの要求を受け付ける事が容易な半導体集積回路を提供することにある。 Another object of the present invention is to provide a semiconductor integrated circuit that can easily accept a write access request regardless of the internal memory operation state.
本発明の前記並びにその他の目的と新規な特徴は本明細書の記述及び添付図面から明らかになるであろう。 The above and other objects and novel features of the present invention will be apparent from the description of this specification and the accompanying drawings.
本願において開示される発明のうち代表的なものの概要を簡単に説明すれば下記の通りである。 The following is a brief description of an outline of typical inventions disclosed in the present application.
〔1〕メモリブロックの並列動作によるデータ競合を回避するためにリードバッファを採用し、リード動作のスループットを改善する。そのための構成として、半導体集積回路は、並列動作可能な複数個のメモリブロック(BNK0〜BNK7)と、外部からライトデータを入力可能であって外部へリードデータを出力可能な外部インタフェース手段(I/F1)と、前記メモリブロックから読み出されたリードデータを前記外部インタフェース手段から外部に出力不可能な状態に呼応して保持する事が可能なリードバッファ(RB0〜RB3)と、前記出力不可能な状態が解消されているとき前記メモリブロックから読み出されたリードデータ又は前記リードバッファから読み出されたリードデータを選択して前記外部インタフェース手段に与える選択手段(40,41)と、を有する。 [1] A read buffer is employed to avoid data contention due to parallel operation of memory blocks, thereby improving the throughput of the read operation. As a configuration for this purpose, the semiconductor integrated circuit includes a plurality of memory blocks (BNK0 to BNK7) that can operate in parallel, and external interface means (I / O) that can input write data from the outside and output read data to the outside. F1), a read buffer (RB0 to RB3) capable of holding read data read from the memory block in response to a state in which it cannot be output to the outside from the external interface means, and the output impossible Selecting means (40, 41) for selecting the read data read from the memory block or the read data read from the read buffer and giving the read data to the external interface means when the state is resolved .
上記手段によれば、並列動作可能なメモリブロックの一つのリードデータが外部インタフェース手段から外部に出力されているとき、他のメモリブロックのリード動作が行われると、このリードデータは外部出力の点でリソース競合を生ずることになるのでリードバッファに一旦格納され、先のデータ出力動作が終了された後、リードバッファから外部に出力可能にされる。したがって、リードデータの出力動作でリソース競合を生ずる事になるようなリードアクセス要求があってもその要求を待たせずにリード動作を開始でき、リソース競合の虞が無くなればバッファから即座にリードデータを外部に出力でき、この点においてリードデータ出力動作のスループットを向上させる事が可能になる。 According to the above means, when one read data of a memory block that can be operated in parallel is output to the outside from the external interface means, if the read operation of another memory block is performed, the read data Since resource contention occurs in this case, the data is temporarily stored in the read buffer, and after the previous data output operation is completed, the data can be output from the read buffer to the outside. Therefore, even if there is a read access request that causes resource contention in the read data output operation, the read operation can be started without waiting for the request, and when there is no risk of resource contention, the read data is immediately read from the buffer. Can be output to the outside, and in this respect, the throughput of the read data output operation can be improved.
メモリブロックからデータが読み出されたとき前記リソース競合が無ければ、リードデータはリードバッファを介することなく直接外部インタフェース手段から外部に出力されるから、データ競合を生じていない場合にも一旦データをバッファリングするような無駄を回避でき、この点においてリードデータ出力動作のスループット向上に寄与する。 If there is no resource contention when data is read from the memory block, the read data is directly output from the external interface means without going through the read buffer. Therefore, even if no data contention occurs, the data is temporarily stored. Waste such as buffering can be avoided, which contributes to the improvement of the throughput of the read data output operation.
リードバッファはメモリブロックに比べて小容量・高速のメモリ等によって構成すればよい。例えばメモリブロックをDRAMモジュールで構成するとき、リードバッファをSRAMモジュールで構成すればよい。 The read buffer may be constituted by a memory having a small capacity and high speed as compared with the memory block. For example, when the memory block is composed of a DRAM module, the read buffer may be composed of an SRAM module.
上記構成を制御の観点から述べれば、半導体集積回路は、並列動作可能な複数個のメモリブロック(BNK0〜BNK7)と、前記メモリブロックから読み出されたリードデータを保持する事が可能なリードバッファ(RB0〜RB3)と、前記リードバッファから出力されるリードデータ及び前記メモリブロックから出力されるリードデータを外部へ出力可能な外部インタフェース手段(I/F1)と、前記メモリブロックから読み出されたリードデータを前記外部インタフェース手段から外部に出力不可能な状態に呼応して当該リードデータを前記リードバッファに保持させ、前記出力不可能な状態が解消されているとき前記メモリブロックから読み出されたリードデータ又は前記リードバッファから読み出されたリードデータを前記外部インタフェース手段から出力させる制御手段(MCNT)と、を有する。 To describe the above configuration from the viewpoint of control, the semiconductor integrated circuit includes a plurality of memory blocks (BNK0 to BNK7) that can operate in parallel and a read buffer that can hold read data read from the memory block. (RB0 to RB3), external interface means (I / F1) capable of outputting the read data output from the read buffer and the read data output from the memory block to the outside, and read from the memory block In response to a state in which read data cannot be output from the external interface means to the outside, the read data is held in the read buffer, and read from the memory block when the non-outputable state has been resolved Read data read from the read buffer or the read buffer And a control means for outputting from the interface means (MCNT), the.
〔2〕内部のメモリ動作状態に拘わらずに外部からのライトアクセスの要求を容易に受け付け可能にするために、半導体集積回路は、並列動作可能な複数個のメモリブロック(BNK0〜BNK7)と、外部からライトデータを入力可能な外部インタフェース手段(I/F1)と、前記外部インタフェース手段に入力されたライトデータを入力して保持し、メモリブロックがライト動作可能にされた後にライトデータをメモリブロックに供給するライトバッファ(WB0〜WB3)と、を有する。 [2] In order to make it possible to easily accept external write access requests regardless of the internal memory operation state, the semiconductor integrated circuit includes a plurality of memory blocks (BNK0 to BNK7) capable of operating in parallel, External interface means (I / F1) capable of inputting write data from the outside and the write data inputted to the external interface means are inputted and held, and the write data is stored in the memory block after the memory block is enabled for the write operation. And write buffers (WB0 to WB3) to be supplied to.
記憶情報のリフレッシュやリード動作などメモリブロックの内部動作中に、それに対するライトアクセスの要求があっても、ライトバッファにライトデータを予めバッファリングする事ことができるから、ライトアクセスを行うプロセッサなどをライトアクセス動作から短時間で解放する事が可能になる。プロセッサ等によるデータ処理効率を考慮したとき、プロセッサのライトアクセスに対してはそれに応答するメモリ側でのライト処理の高速化は左程重要ではないが、上記より、プロセッサのライトアクセス要求を待たせないので、システム全体のデータ処理効率の向上に寄与する。 Even if there is a request for write access during a memory block internal operation such as refresh or read operation of stored information, write data can be buffered in the write buffer in advance. It is possible to release the write access operation in a short time. When considering the data processing efficiency of the processor, etc., it is not important to increase the write processing on the memory side in response to the write access of the processor. However, from the above, it is necessary to wait for the write access request of the processor. This contributes to improving the data processing efficiency of the entire system.
ライトバッファはメモリブロックに比べて小容量・高速のメモリ等によって構成すればよく、上記同様、例えばメモリブロックをDRAMモジュールで構成するとき、ライトバッファをSRAMモジュールで構成すればよい。 The write buffer may be configured by a memory having a smaller capacity and higher speed than the memory block. For example, when the memory block is configured by a DRAM module, the write buffer may be configured by an SRAM module.
上記構成を制御の観点を主体に述べれば、半導体集積回路は、外部からライトデータを入力可能な外部インタフェース手段(I/F1)と、前記外部インタフェース手段に入力されたライトデータを入力するライトバッファ(WB0〜WB3)と、前記ライトバッファからライトデータが供給される複数個のメモリブロック(BNK0〜BNK7)と、外部からのアクセス要求に応答して外部インタフェース手段に供給されるライトデータを前記ライトバッファに格納させ、アクセス対象メモリブロックがライト動作可能にされるのを待ってライトデータをライトバッファからメモリブロックに供給させる制御手段(MCNT)と、を有する。 If the above configuration is mainly described from the viewpoint of control, the semiconductor integrated circuit includes an external interface unit (I / F1) capable of inputting write data from the outside, and a write buffer for inputting the write data input to the external interface unit (WB0 to WB3), a plurality of memory blocks (BNK0 to BNK7) to which write data is supplied from the write buffer, and write data supplied to external interface means in response to an external access request And a control unit (MCNT) that stores the data in the buffer and waits for the memory block to be accessed to be able to perform a write operation, and supplies write data from the write buffer to the memory block.
〔3〕上記リードバッファとライトバッファの双方の構成を兼ね備えた半導体集積回路は、並列動作可能な複数個のメモリブロック(BNK0〜BNK7)と、外部からライトデータを入力可能であって外部へリードデータを出力可能な外部インタフェース手段(I/F1)と、前記外部インタフェース手段に入力されたライトデータを入力して保持し、メモリブロックがライト動作可能にされた後にライトデータをメモリブロックに供給するライトバッファ(WB0〜WB3)と、前記メモリブロックから読み出されたリードデータを前記外部インタフェース手段から外部に出力不可能な競合状態に応答して保持する事が可能なリードバッファ(RB0〜RB3)と、前記出力不可能な競合状態が解消されているとき前記メモリブロックから読み出されたリードデータ又は前記リードバッファから読み出されたリードデータを選択して前記外部インタフェース手段(40,41)に与える選択手段と、を有する。 [3] The semiconductor integrated circuit having both the read buffer and write buffer configurations is capable of inputting a plurality of memory blocks (BNK0 to BNK7) capable of operating in parallel and inputting write data from the outside and reading to the outside. External interface means (I / F1) capable of outputting data and write data input to the external interface means are input and held, and the write data is supplied to the memory block after the memory block is enabled for write operation. A write buffer (WB0 to WB3) and a read buffer (RB0 to RB3) capable of holding read data read from the memory block in response to a race condition that cannot be output to the outside from the external interface means And when the non-output possible race condition is resolved, the memory block Read read data or select the read data read from the read buffer having a selecting means for giving the outside interface means (40, 41).
〔4〕下位レベル及び上位レベルの双方の記憶階層に接続可能なキャッシュメモリとしての用途を想定する。このとき、半導体集積回路は、並列動作可能な複数個のメモリブロック(BNK0〜BNK7)と、外部からライトデータを入力可能であって外部へリードデータを出力可能な第1の外部インタフェース手段(I/F1)と、外部からライトデータを入力可能であって外部へリードデータを出力可能な第2の外部インタフェース手段(I/F2)とを有する。更に、半導体集積回路は、前記第1又は第2の外部インタフェース手段に入力されたライトデータを入力して保持し、メモリブロックがライト動作可能にされた後にライトデータをメモリブロックに供給するライトバッファ(WB0〜WB3)、前記第2の外部インタフェース手段から出力すべきリードデータの保持と、前記第1の外部インタフェース手段から出力すべきリードデータであって当該第1の外部インタフェース手段から出力不可能な競合状態にあるリードデータの保持とを行うことが可能なリードバッファ(RB0〜RB3)と、前記出力不可能な競合状態が解消されているとき前記メモリブロックから読み出されたリードデータ又は前記リードバッファから読み出されたリードデータを選択して前記第1の外部インタフェース手段に与える選択手段(40,41)と、を有する。 [4] Assume a use as a cache memory that can be connected to both lower and upper level storage hierarchies. At this time, the semiconductor integrated circuit includes a plurality of memory blocks (BNK0 to BNK7) capable of operating in parallel and first external interface means (I) capable of inputting write data from the outside and outputting read data to the outside. / F1) and second external interface means (I / F2) capable of inputting write data from the outside and outputting read data to the outside. Further, the semiconductor integrated circuit inputs and holds the write data input to the first or second external interface means, and supplies the write data to the memory block after the memory block is enabled for the write operation (WB0 to WB3), holding read data to be output from the second external interface means, and read data to be output from the first external interface means, which cannot be output from the first external interface means A read buffer (RB0 to RB3) capable of holding read data in a different race state, and the read data read from the memory block when the non-output race state has been resolved, or The read data read from the read buffer is selected and the first external interface is selected. A selection means providing a means (40, 41), the.
この構成において、第1の外部インタフェース手段は上位の記憶階層に接続され、第2の外部インタフェース手段は下位の記憶階層に接続される。プロセッサのリード・ライトアクセス要求に対する前記リードバッファ及びライトバッファの基本的な作用は上記同様である。特に、第2の外部インタフェース手段を介する下位記憶階層へのリードデータの出力は、リードバッファを介するデータ出力だけになる。これは、下位記憶階層へのリードデータ出力として、プロセッサによるライトアクセスに伴うコピーバック(若しくはライトバック)のためのリード動作を想定するからである。コピーバックは、キャッシュミスに際してダーティーなキャッシュラインをリプレースするためにそのデータをメインメモリに退避させる動作だから、そのようなリード動作では殆どの場合高いスループットは要求されないので、リードバッファを迂回して直接リードデータを第2の外部インタフェース手段から出力可能にするデータパスやそのためのロジック回路を省いて、回路の論理規模が無駄に拡大しないようにしている。 In this configuration, the first external interface means is connected to the upper storage hierarchy, and the second external interface means is connected to the lower storage hierarchy. The basic operation of the read buffer and the write buffer with respect to the read / write access request of the processor is the same as described above. In particular, the output of read data to the lower storage hierarchy via the second external interface means is only data output via the read buffer. This is because a read operation for copy back (or write back) accompanying write access by the processor is assumed as read data output to the lower storage hierarchy. Copyback is an operation that saves the data to the main memory in order to replace the dirty cache line in the event of a cache miss, so in such a read operation, high throughput is not required in most cases. The data path that enables the read data to be output from the second external interface means and the logic circuit therefor are omitted so that the logic scale of the circuit is not increased unnecessarily.
前記半導体集積回路をマルチプロセッサシステムに適用することを考慮すると、下位の記憶階層側にも別のプロセッサが接続される事になり、当該別のプロセッサのアクセスにもその半導体集積回路が動作される場合が想定される。これに対処するには、前記第1及び第2の外部インタフェース手段は、夫々個別にメモリブロックに対するアクセス要求とアクセスアドレスとを外部から入力可能であればよい。 Considering application of the semiconductor integrated circuit to a multiprocessor system, another processor is connected to the lower storage hierarchy side, and the semiconductor integrated circuit is operated for accessing the other processor. A case is assumed. In order to cope with this, it is sufficient that the first and second external interface means can individually input an access request and an access address to the memory block from the outside.
また、下位の記憶階層から上記半導体集積回路を通過して上位の記憶階層にリードデータが供給されるときのリソース競合を考慮すれば、前記第2の外部インタフェース手段からデータを入力して保持し、保持したデータを前記第2の外部インタフェース手段から外部に出力可能なメモリバッファ(54)を更に有することが、キャッシュメモリとしての半導体集積回路の利便性を増す。 In addition, if resource contention occurs when read data is supplied from the lower storage layer to the upper storage layer through the semiconductor integrated circuit, data is input from the second external interface unit and held. Further, having the memory buffer (54) capable of outputting the held data from the second external interface means to the outside increases the convenience of the semiconductor integrated circuit as the cache memory.
〔5〕メモリブロックが例えばDRAMで構成される場合に、DRAMのアクセス時間の短縮は公知のページモードやスタティック・カラムモードでも達成できる。更に、DRAMで構成されるようなメモリブロックにおける見掛け上のアクセスタイムを短縮するために、データの入力に直列並列変換を施し、データ出力に並列・直列変換を施す。即ち、半導体集積回路は、メモリセルアレイ(10)、ロウ選択回路(11)、カラム選択回路(12,13)、直列・並列変換回路(21)、ライトアンプ(17W)、メインアンプ(17R)、並列・直列変換回路(25)を有するメモリブロックを含む。メモリセルアレイは、選択端子がワード線に接続され、データ入出力端子がビット線に接続されたメモリセルを複数個有する。ロウ選択回路は、ロウアドレスストローブ信号の変化にクロック信号同期で応答しロウアドレス信号で指定されるワード線を選択する。カラム選択回路は、カラムアドレスストローブ信号の変化にクロック信号同期で応答しカラムアドレス信号で指定されるビット線を複数本並列に選択する。直列・並列変換回路は、ライトバッファから直列的に入力されるライトデータをクロック信号に同期して並列データに変換する。ライトアンプは、前記カラム選択回路で選択された複数本のビット線に前記直列・並列変換回路の出力を並列出力する。メインアンプは、前記カラム選択回路で選択された複数本のビット線から並列出力される並列データを増幅する。並列・直列変換回路はメインアンプから供給される並列データをクロック信号に同期して直列データに変換して前記リードバッファ及び選択手段に向けて出力する。 [5] When the memory block is composed of, for example, a DRAM, the access time of the DRAM can be shortened even in a known page mode or static column mode. Further, in order to shorten the apparent access time in a memory block constituted by a DRAM, serial / parallel conversion is performed on the data input, and parallel / serial conversion is performed on the data output. That is, the semiconductor integrated circuit includes a memory cell array (10), a row selection circuit (11), a column selection circuit (12, 13), a serial / parallel conversion circuit (21), a write amplifier (17W), a main amplifier (17R), It includes a memory block having a parallel / serial conversion circuit (25). The memory cell array has a plurality of memory cells each having a selection terminal connected to a word line and a data input / output terminal connected to a bit line. The row selection circuit responds to the change of the row address strobe signal in synchronization with the clock signal and selects the word line specified by the row address signal. The column selection circuit responds to the change of the column address strobe signal in synchronization with the clock signal and selects a plurality of bit lines specified by the column address signal in parallel. The serial / parallel conversion circuit converts the write data serially input from the write buffer into parallel data in synchronization with the clock signal. The write amplifier outputs the output of the serial / parallel conversion circuit in parallel to a plurality of bit lines selected by the column selection circuit. The main amplifier amplifies parallel data output in parallel from a plurality of bit lines selected by the column selection circuit. The parallel / serial conversion circuit converts the parallel data supplied from the main amplifier into serial data in synchronization with the clock signal, and outputs the serial data to the read buffer and the selection means.
前記メモリブロックは前記クロック信号周期のn(2以上の正の整数)倍の周期で変化される前記カラムアドレスストローブ信号が入力され、カラムアドレス信号が変化されるサイクル毎に、メモリセルアレイから読み出されクロック信号サイクルに同期して並列・直列変換された複数の直列データがメモリブロックから出力され、またクロック信号サイクルに同期してメモリブロックに入力されて直・並列変換された並列データがメモリセルアレイに書込まれる。このように、クロック信号のnサイクルに1回の割合でカラムアドレスストローブ信号を変化させるというアクセス仕様によってメモリ動作の高速化を図ることが可能になる。 The memory block receives the column address strobe signal that is changed at a cycle of n (a positive integer greater than or equal to 2) times the clock signal cycle, and reads from the memory cell array every cycle when the column address signal is changed. A plurality of serial data converted in parallel / serial in synchronization with the clock signal cycle is output from the memory block, and the parallel data input in the memory block in synchronization with the clock signal cycle and subjected to serial / parallel conversion is output to the memory cell array. Written on. As described above, it is possible to increase the memory operation speed by the access specification that the column address strobe signal is changed once every n cycles of the clock signal.
前記直列・並列変換回路の直列データ入力経路と、前記並列・直列変換回路の直列データ出力経路とを独立に備えるとよい。リード動作ではカラムアドレスストローブ信号の変化に応答してメモリセルアレイからデータを読み出した後に並列・直列変換の時間を要してメモリブロックから直列データが出力されるが、ライト動作では、カラムアドレスストローブ信号の変化に応答してメモリセルアレイに並列データを書込む前に、予めメモリブロックに入力された直列データを並列データに変換する動作を完了していなければならない。このとき、リード動作に続けてライト動作が指示されると、リード動作による直列データをメモリブロックから出力する動作に並行して、ライト動作のための直列データを予めメモリブロックに順次直列に入力する動作を行わなければならないことが多く予想される。即ち、メモリブロックからの直列データ出力タイミングとメモリブロックへの直列データ入力タイミングとがオーバラップする蓋然性が高い。前述の如く、メモリブロックの直列データ入力経路と直列データ出力経路とを独立に持つことによって、そのような処理のオーバラップに対してもデータの衝突を回避して効率的な処理を実現可能になる。 A serial data input path of the serial / parallel converter circuit and a serial data output path of the parallel / serial converter circuit may be provided independently. In the read operation, data is read from the memory cell array in response to the change in the column address strobe signal, and then serial / serial conversion takes time to output serial data from the memory block. In the write operation, the column address strobe signal is output. Before the parallel data is written to the memory cell array in response to the change of the above, the operation for converting the serial data input to the memory block into the parallel data in advance must be completed. At this time, when a write operation is instructed following the read operation, serial data for the write operation is sequentially serially input to the memory block in advance in parallel with the operation of outputting the serial data from the read operation from the memory block. Many operations are expected to be performed. That is, there is a high probability that the serial data output timing from the memory block and the serial data input timing to the memory block overlap. As described above, by having the serial data input path and serial data output path of the memory block independently, it is possible to realize efficient processing by avoiding data collision even for such processing overlap. Become.
〔6〕リードデータの伝播遅延を考慮するとき、前記半導体集積回路には以下のレイアウト構成を採用するのがよい。例えば信号入出力用のボンディングパッド若しくはバンプ電極などの外部接続電極がチップの中央部に配置されているセンタパッド形態を想定する。このとき、半導体チップ上にメモリブロックが離間して対向配置される。前記対向するメモリブロックの間に、メモリブロックから読み出されたリードデータを保持することが可能なリードバッファ及びメモリブロックに与えるライトデータを保持する事が可能なライトバッファが配置される。前記リードバッファとライトバッファとの近傍に外部インタフェース手段が配置される。前記外部インタフェース手段の近傍に位置する外部接続電極を有する。前記ライトバッファは、前記外部インタフェース手段に入力されたライトデータを入力して保持し、メモリブロックがライト動作可能にされた後にライトデータをメモリブロックに供給する。前記リードバッファは、前記メモリブロックから読み出されたリードデータを前記外部インタフェース手段から外部に出力不可能な状態に呼応して保持する事が可能である。 [6] When considering propagation delay of read data, it is preferable to adopt the following layout configuration for the semiconductor integrated circuit. For example, a center pad configuration in which external connection electrodes such as signal input / output bonding pads or bump electrodes are arranged at the center of the chip is assumed. At this time, the memory blocks are arranged opposite to each other on the semiconductor chip. A read buffer capable of holding read data read from the memory block and a write buffer capable of holding write data to be given to the memory block are arranged between the opposing memory blocks. External interface means is disposed in the vicinity of the read buffer and the write buffer. An external connection electrode located in the vicinity of the external interface means; The write buffer receives and holds the write data input to the external interface means, and supplies the write data to the memory block after the memory block is enabled for the write operation. The read buffer can hold the read data read from the memory block in response to a state in which the read data cannot be output from the external interface means to the outside.
本願において開示される発明のうち代表的なものによって得られる効果を簡単に説明すれば下記の通りである。 The effects obtained by the representative ones of the inventions disclosed in the present application will be briefly described as follows.
すなわち、メモリブロックの並列動作によるデータ競合を回避するためにデータバッファを採用した構成においてリード動作のスループットを改善することができる。 That is, the read operation throughput can be improved in a configuration employing a data buffer in order to avoid data contention due to parallel operation of memory blocks.
ロジック回路の論理規模が無駄に拡大しないようにリード動作のスループットを改善することができる。 The throughput of the read operation can be improved so that the logic scale of the logic circuit does not increase unnecessarily.
内部のメモリ動作状態に拘わらずにライトアクセスの要求を受け付ける事が容易な半導体集積回路を実現する事ができる。 It is possible to realize a semiconductor integrated circuit that can easily accept a write access request regardless of the internal memory operation state.
図1には本発明に係る半導体集積回路の一例が全体的に示される。同図に示される半導体集積回路1は、特に制限されないが、L3キャッシュメモリとしての利用が想定された半導体集積回路であり、8個のメモリブロックBNK0〜BNK7、4個のライトバッファWB0〜WB3、4個のリードバッファRB0〜RB3、上位記憶階層(例えばプロセッサバス)に接続される上位階層インタフェースブロックI/F1、下位記憶階層(例えばメモリバス)に接続される下位階層インタフェースブロックI/F2、メモリ制御回路MCNTを有する。
FIG. 1 generally shows an example of a semiconductor integrated circuit according to the present invention. The semiconductor integrated
前記上位階層インタフェースブロックI/F1は、上位記憶階層例えばL1キャッシュメモリ及びL2キャッシュメモリを内蔵したプロセッサが接続されるプロセッサバス等に接続され、アクセス制御信号及びアクセスアドレス信号を等を含むアクセス制御情報を入力し、また、例えば72ビット並列でデータを入出力する。 The upper layer interface block I / F1 is connected to a processor bus to which a processor incorporating an upper storage layer, for example, an L1 cache memory and an L2 cache memory is connected, and includes access control information including an access control signal and an access address signal. In addition, for example, data is input / output in parallel with 72 bits.
前記下位階層インタフェースブロックI/F2は、下位記憶階層例えばメインメモリ又はL4キャッシュメモリ等が接続されるメモリバス等に接続され、例えば72ビット並列でデータを入出力する。特に制限されないが、マルチプロセッサシステムを想定し、上位記憶階層のプロセッサとは別のプロセッサからもアクセス可能なように、前記下位階層インタフェースブロックI/F2は当該別のプロセッサからアクセス制御情報を入力してメモリブロックBNK0〜BNK7のアクセスが可能になっている。
The lower layer interface block I /
前記メモリ制御回路MCNTはアクセス制御情報を入力し、それに含まれるアドレス情報の一部をデコードしてアクセス対象メモリブロックを判定し、アクセス対象メモリブロックに、ローカルなメモリアドレスとアクセス制御信号を出力して、そのメモリブロックの動作を制御する。 The memory control circuit MCNT inputs access control information, decodes a part of address information included in the memory control circuit MCNT, determines an access target memory block, and outputs a local memory address and an access control signal to the access target memory block. To control the operation of the memory block.
代表的に示されたメモリブロックBNK0は72ビット(8バイト)単位で直列的に入力されるライトデータを4個のライトレジスタ(ILT)22に順次ラッチして、288ビット(32バイト)並列でDRAMコア8に書込み可能にされ、また、DRAMコア8から288ビット並列で読み出されたリードデータを72ビット単位でリードレジスタ(OLT)26にラッチし、セレクタ27によりリードレジスタ26の出力を順次選択して72ビット単位で直列的にリードデータを出力可能になっている。従って、メモリブロックBNK0は、DRAMコア8のアクセスタイムに対して4倍の速度でデータを入出力することができる。尚、本明細書においては、1バイトは8ビットのデータと1ビットのパリティーデータとを含むものとされる。
In the memory block BNK0 shown as a representative, write data inputted in series in units of 72 bits (8 bytes) is sequentially latched in four write registers (ILT) 22, and 288 bits (32 bytes) are paralleled. The read data read from the
上位階層インタフェースブロックI/F1に入力された上位記憶階層からの書込みデータはライトバッファWB0(WB1〜WB3)を介してメモリブロックBNK0(BNK1〜BNK7)に供給される。 Write data from the upper storage layer input to the upper layer interface block I / F1 is supplied to the memory block BNK0 (BNK1 to BNK7) via the write buffer WB0 (WB1 to WB3).
メモリブロックBNK0(BNK1〜BNK7)から読み出されたリードデータの出力経路は、上位スルー経路、上位バッファリング経路、及び下位バッファリング経路の3通りとされる。上位スルー経路は、概略的に示されたセレクタ40,41を介して上位階層インタフェースブロックI/F1から上位記憶階層に出力する経路である。上位バッファリング経路は、リードバッファRB0(RB1〜RB3)に一旦蓄えられたリードデータを前記セレクタ40,41を介して上位階層インタフェースブロックI/F1から上位記憶階層に出力する経路である。下位バッファリング経路は、リードバッファRB0(RB1〜RB3)に一旦蓄えられたリードデータを前記セレクタ42を介して下位階層インタフェースブロックI/F2から下位記憶階層に出力する経路である。下位階層へのスルー経路は設けられていない。
There are three output paths for read data read from the memory block BNK0 (BNK1 to BNK7): an upper through path, an upper buffering path, and a lower buffering path. The upper through route is a route that is output from the upper layer interface block I / F1 to the upper storage layer via the
前記リードバッファRB0〜RB3及びライトバッファWB0〜WB3はSRAMによって構成される。それらSRAMのアクセスはシステムのクロック信号によって規定される1サイクル単位で可能にされている。上記リードバッファRB0〜RB3乃び上記ライトバッファWB0〜WB3のおのおのを構成する上記SRAMは公知のSRAMと同様に構成することが可能である。上記SRAMは、特に制限されないが、複数のスタティク型メモリセルと複数のワード線と複数の相補データ線対とを含むメモリアレイ、所定のワード線をアドレス信号に応答して選択するアドレスデコーダー、選択された複数個のメモリセルのデータを増幅するセンスアンプ及び増幅されたデータを出力するデータ出力回路とを有する構成とされる。 The read buffers RB0 to RB3 and the write buffers WB0 to WB3 are constituted by SRAM. Access to these SRAMs is made possible in units of one cycle defined by the system clock signal. The SRAM constituting each of the read buffers RB0 to RB3 and the write buffers WB0 to WB3 can be configured in the same manner as a known SRAM. The SRAM is not particularly limited, but includes a memory array including a plurality of static memory cells, a plurality of word lines, and a plurality of complementary data line pairs, an address decoder that selects a predetermined word line in response to an address signal, and a selection A sense amplifier for amplifying data of the plurality of memory cells and a data output circuit for outputting the amplified data are provided.
以下に述べられる様に、各SRAMは、一組のアドレス信号の入力に対して、72個のメモリセルが同時に選択される構成とされる。各スタティク型メモリセルは、Nチャンネル型MOSFETとPチャンネル型MOSFETとを含むCMOSインバータを1対含むと共に、上記1対のCMOSインバータの入力と出力とを交差結合して構成された情報記憶部と、その情報記憶部を選択するための複数個のNチャンネル型トランスファMOSFETからなる選択トランジスタを含む。上記複数個の選択トランジスタのゲート端子は、1本乃至複数本のワード線に選択的に結合され、上記複数個の選択トランジスタのソース・ドレインパスは、対応する1対乃至複数対の相補データ線に結合され、多入力ポート・多出力ポートのメモリセルとして構成される。上記リードバッファRB0〜RB3乃び上記ライトバッファWB0〜WB3のおのおのを構成する上記SRAMの各々は、特に制限されないが、128ワード×72ビットの構成とされる。 As will be described below, each SRAM has a configuration in which 72 memory cells are simultaneously selected in response to a set of address signals. Each static memory cell includes a pair of CMOS inverters including an N-channel MOSFET and a P-channel MOSFET, and an information storage unit configured by cross-coupling the input and output of the pair of CMOS inverters. And a selection transistor including a plurality of N-channel type transfer MOSFETs for selecting the information storage unit. The gate terminals of the plurality of select transistors are selectively coupled to one to a plurality of word lines, and the source / drain paths of the plurality of select transistors are a pair of complementary data lines. And configured as a memory cell with multiple input ports and multiple output ports. Each of the SRAMs constituting the read buffers RB0 to RB3 and the write buffers WB0 to WB3 is not particularly limited, but has a configuration of 128 words × 72 bits.
尚、多入力ポート・多出力ポートのメモリセルの構成自体は、種々変更可能である事は当業者にとって容易に理解されるであろう。 It will be readily appreciated by those skilled in the art that the configuration of the memory cell of the multi-input port / multi-output port can be variously changed.
図2には前記半導体集積回路1における前記リードデータの出力経路の詳細が例示される。メモリブロックBNK0、BNK4はリードバッファRB0とライトバッファWB0を共有する。同じく、メモリブロックBNK1、BNK5はリードバッファRB1及びライトバッファWB1を共有し、メモリブロックBNK2、BNK6はリードバッファRB2及びライトバッファWB2を共有し、メモリブロックBNK3、BNK7はリードバッファRB3及びライトバッファWB3を共有する。前記ライトバッファWB0〜WB3及びリードバッファRB0〜RB3は、特に制限されないが、2個のリードポートと2個のライトポートを有する。各ポートは8バイトの並列アクセスポートである。
FIG. 2 illustrates details of the output path of the read data in the semiconductor integrated
対を成す一方のメモリブロックBNK0からのリードデータと他方のメモリブロックBNK4からのリードデータとの何れかを選択するセレクタ41Aaが設けられている。他のメモリブロックに関しても同様のセレクタ41Ab〜41Adが設けられている。S10〜S13は前記セレクタ41Aa〜41Adの選択制御信号である。前記リードバッファRB0から出力されるリードデータとセレクタ41Aaで選択されるリードデータとの何れかを選択するセレクタ40Aaが設けられている。他のメモリブロックに関しても同様のセレクタ40Ab〜40Adが設けられている。S20〜S23は前記セレクタ40Aa〜40Adの選択制御信号である。前記セレクタ40Aa〜40Adの出力はセレクタ41Bで選択されて上位階層インタフェースブロックI/F1に与えられる。セレクタ41Bの動作は2ビットの選択信号S30A,S30Bで制御される。前記セレクタ42はリードバッファRB0〜RB3の一方のリードポートからの出力を選択して下位階層インタフェースブロックI/F2に与える。セレクタ42の動作は2ビットの選択信号S31A,S31Bで制御される。
A selector 41Aa for selecting either read data from one memory block BNK0 and read data from the other memory block BNK4 is provided. Similar selectors 41Ab to 41Ad are provided for the other memory blocks. S10 to S13 are selection control signals for the selectors 41Aa to 41Ad. A selector 40Aa is provided for selecting either the read data output from the read buffer RB0 or the read data selected by the selector 41Aa. Similar selectors 40Ab to 40Ad are provided for the other memory blocks. S20 to S23 are selection control signals for the selectors 40Aa to 40Ad. The outputs of the selectors 40Aa to 40Ad are selected by the
図3には前記メモリ制御回路MCNTが生成する制御信号が例示される。メモリ制御回路MCNTは、メモリブロックBNK0〜BNK7毎にアドレス信号ADRS、ロウアドレスストローブ信号RAS、カラムアドレスストローブ信号CAS及びライトイネーブル信号WE等を出力し、リードバッファRB0〜RB3毎にアドレス信号ADRS、メモリイネーブル信号MS、リード/ライト信号R/W及びポートセレクト信号PSLを出力し、ライトバッファWB0〜WB3毎にアドレス信号ADRS、メモリイネーブル信号MS、リード/ライト信号R/W及びポートセレクト信号PSLを出力し、前記セレクタ選択信号S10〜S13,S20〜S23,S30A,S30B,S31A,S31Bを出力し、インタフェースブロックI/F1,I/F2に対する出力イネーブル信号OEP1,OEP2等を出力する。メモリ制御回路MCNTはアクセス制御情報を上位記憶階層と下位記憶階層との双方から入力し、入力したアクセス制御情報が指示する動作を実現するように上記制御信号の中から必要な制御信号を所定のタイミングで活性化制御する。上記メモリ制御回路MCNTは、メモリブロックBNK0〜BNK7のリフレッシュ動作の期間に関する信号MRef0〜7が各メモリブロックBNK0〜BNK7から入力される。 FIG. 3 illustrates control signals generated by the memory control circuit MCNT. The memory control circuit MCNT outputs an address signal ADRS, a row address strobe signal RAS, a column address strobe signal CAS, a write enable signal WE, and the like for each of the memory blocks BNK0 to BNK7, and an address signal ADRS and a memory for each of the read buffers RB0 to RB3. Enable signal MS, read / write signal R / W, and port select signal PSL are output, and address signal ADRS, memory enable signal MS, read / write signal R / W, and port select signal PSL are output for each of write buffers WB0 to WB3. The selector selection signals S10 to S13, S20 to S23, S30A, S30B, S31A and S31B are output, and the output enable signals OEP1 and OEP2 for the interface blocks I / F1 and I / F2 are output. To. The memory control circuit MCNT inputs the access control information from both the upper storage hierarchy and the lower storage hierarchy, and sends a necessary control signal from the control signals to a predetermined value so as to realize the operation indicated by the input access control information. Activation control is performed at the timing. In the memory control circuit MCNT, signals MRef0 to MRef7 related to the refresh operation period of the memory blocks BNK0 to BNK7 are input from the memory blocks BNK0 to BNK7.
アクセス制御情報43は図4に例示されるようにアドレス指定部43Aとオペレーション指定部43Bとを含む。アドレス指定部43Aはリード、ライトを行うメモリブロックBNK0〜BNK7の指定情報と、メモリブロック内のアドレス情報とを含む。オペレーション指定部43Bは、半導体集積回路1に、例えばアドレス指定部で指定されるアドレスからの8バイトのデータのリード/ライト、アドレス指定部で指定されるアドレスから連続16バイトのデータのリード/ライト、アドレス指定部で指定されるアドレスから連続32バイトのデータのリード/ライト等の動作を指定する。
The
前記メモリ制御回路MCNTは半導体集積回路1の内部においてリソースが競合しない範囲でメモリブロックBNK0〜BNK7を並列動作させるように外部からのアクセス要求を受け付ける。また、メモリ制御回路MCNTは、メモリブロックBNK0〜BNK7の中から選ばれた一つのメモリブロック又はリードバッファRB0〜RB3の中から選ばれた1つのリードバッファをインタフェースブロックI/F1、I/F2に導通させて、リードデータの外部出力を制御する。
The memory control circuit MCNT accepts an external access request so that the memory blocks BNK0 to BNK7 are operated in parallel within a range in which resources do not compete within the semiconductor integrated
図5には外部からのアクセス要求に対する前記メモリ制御回路MCNTの主な制御手順が代表的に示される。 FIG. 5 representatively shows a main control procedure of the memory control circuit MCNT in response to an access request from the outside.
前記メモリ制御回路MCNTは、ライトアクセスの要求に対しては、ライト対象メモリブロックによるリフレッシュ等の内部動作の有無に関係なくライトバッファWB0〜WB3の内の対応するライトバッファに予めライトデータを取込む制御を行う(T1)。その後、書込み対象メモリブロックがリフレッシュ等の内部動作を行っておらずライト動作可能であるかの判定が行われ(T2)、ライト動作可能の判定を待って対象メモリブロックへデータライトが行われる(T3)。 In response to a write access request, the memory control circuit MCNT takes in write data in advance in the corresponding write buffer of the write buffers WB0 to WB3 regardless of whether there is an internal operation such as refresh by the write target memory block. Control is performed (T1). Thereafter, it is determined whether the write target memory block is not performing an internal operation such as refresh and the write operation is possible (T2), and data write to the target memory block is performed after waiting for the determination of the write operation possible (T2). T3).
図6にはライトアクセスの途中にリフレッシュ動作が介在される場合のライト動作の一例が示される。図6ではメモリブロックBNK0を書込み対象とする。U1〜U8は夫々半導体集積回路1の外部から与えられるアセス単位を意味するものであり、アクセス単位のデータは72ビット並列である。システムの動作サイクル4〜9ではメモリブロックBNK0はリフレッシュ動作を行い、その前後ではリード/ライト可能である。ライトデータは1サイクル遅れで順次ライトバッファWB0に格納されていく。一旦ライトバッファWB0に格納されたライトデータは、書き込み対象メモリブロックBNK0がリード/ライト可能であれば、1サイクル毎にライトデータが順次メモリブロックBNK0のライトレジスタ22に供給されていく。アクセス単位U4のデータがライトレジスタ22にラッチされたとき既にメモリブロックBNK0はリフレッシュ動作に入っている。メモリ制御回路MCNTはライトバッファWB0からライトレジスタ22へのデータ転送を中断してリフレッシュ動作の終了を待つ。その間、ライトバッファWB0へのライトデータの書込みは継続される。動作サイクル9でメモリブロックBNK0のリフレッシュ動作が完了されると、メモリ制御回路MCNTはサイクル10でメモリブロックBNK0に対してストローブ信号RAS,CAS,WEをアサートしライトアドレスを与え、アクセス単位U1〜U4のデータを4サイクルかけてDRAMコア8に書込む。DRAMコア8への書込みに並行して、後続のアクセス単位U5〜U8のライトデータをライトレジスタ22に順次転送する。メモリ制御回路MCNTはサイクル14でメモリブロックBNK0に対してストローブ信号RAS,CAS,WEをアサートしライトアドレスを与え、アクセス単位U5〜U8のデータを4サイクルかけてDRAMコア8に書込む。結果として、アクセス単位U1〜U8のライトアクセスを指示する上位記憶階層側のプロセッサは、サイクル8で今回のライトアクセスの処理から解放され、メモリブロックBNK0にリフレッシュ動作が介在されてもその影響を受けない。
FIG. 6 shows an example of a write operation when a refresh operation is interposed during the write access. In FIG. 6, the memory block BNK0 is a write target. U1 to U8 mean access units given from the outside of the semiconductor integrated
図7にはライトバッファWB0が設けられていない場合ライト動作の一例が示される。ライトバッファWB0が無い場合、DRAMコア8でリフレッシュ動作が開始されると、ライトアクセスを指示する上位記憶階層側のプロセッサは、サイクル4でライトアドレスとライトデータの出力、即ちライトアクセス要求の発行を中断し、リフレッシュ動作が完了するのを検出しながら待たなければならない。リフレッシュ動作が終わったサイクル9以降、上位記憶階層側のプロセッサは再び、ライトアクセスの要求を発行して、サイクル10から順次アクセス単位U5〜U8のアドレス及びデータを出力する。これにより、メモリブロックBNK0のDRAMコア8に対するアクセス単位U1〜U8のライトデータ書込みはサイクル19で完了するが、ライトアクセスを指示する上位記憶階層側のプロセッサは、サイクル13までライトアクセスの処理から解放されない。図6と比較すれば明らかなように、L3キャッシュメモリとされる半導体集積回路1がライトバッファWB0〜WB3をもつ事により、上位階層のプロセッサのデータ処理効率を格段に向上させることが可能になる。
FIG. 7 shows an example of a write operation when the write buffer WB0 is not provided. In the absence of the write buffer WB0, when the refresh operation is started in the
一方、前記メモリ制御回路MCNTは、メモリブロックBNK0〜BNK7から読み出されたリードデータをインタフェースブロックI/F1、I/F2を介して外部に出力する動作を制御するときは、前記リードデータの出力経路の選択、即ち、前記上位スルー経路、上位バッファリング経路、及び下位バッファリング経路の選択制御を行って、データリード動作のスループットを向上させる。 On the other hand, when the memory control circuit MCNT controls the operation of outputting the read data read from the memory blocks BNK0 to BNK7 to the outside via the interface blocks I / F1 and I / F2, the output of the read data is performed. Path selection, that is, selection control of the upper through path, upper buffering path, and lower buffering path is performed to improve the throughput of the data read operation.
前記上位スルー経路を選択するか上位バッファリング経路を選択するかはリソース競合を生ずる虞があるか否かをメモリ制御回路MCNTが判定することによって行う。 Whether the upper through path or the upper buffering path is selected is determined by the memory control circuit MCNT determining whether there is a risk of resource contention.
即ち、前記メモリ制御回路MCNTは、図5に例示されるように、リードアクセス要求に対して、アクセス対象メモリブロックのDRAMコア8からデータを読み出し(T4)、読み出したリードデータを前記上位階層インタフェースブロックI/F1から外部に出力するときリソース競合があるかを判定し(T5)、リソース競合がある場合、即ち、前記上位階層インタフェースブロックI/F1から外部にそのリードデータを出力することが不可能な状態であるときは、当該リードデータを対応するリードバッファRB0〜RB3に保持させる(T6)。前記出力不可能な状態が解消されているときは前記メモリブロックBNK0〜BNK7から読み出されたリードデータ又は前記リードバッファRB0〜RB3から読み出されたリードデータを前記上位階層インタフェースブロックI/F1から外部に出力させる(T7)。
That is, as illustrated in FIG. 5, the memory control circuit MCNT reads data from the
図8にはリードバッファRB0〜RB3を利用したリード動作の一例が示される。図8において上位記憶階層側のプロセッサはシステムの動作サイクル単位で連続してアクセス要求A〜Dを発行する。アクセス要求AはメモリブロックBNK0のアドレスAから連続する32バイトのデータA−0、A−1,A−2,A−3を読み出すリードアクセス要求である。同様に、アクセス要求BはメモリブロックBNK4のアドレスBから連続する32バイトのデータB−0、B−1,B−2,B−3を読み出すリードアクセス要求、アクセス要求CはメモリブロックBNK1のアドレスCから連続する32バイトのデータC−0、C−1,C−2,C−3を読み出すリードアクセス要求、アクセス要求DはメモリブロックBNK3のアドレスDから連続する32バイトのデータD−0、D−1,D−2,D−3を読み出すリードアクセス要求である。 FIG. 8 shows an example of a read operation using the read buffers RB0 to RB3. In FIG. 8, the processor on the upper storage hierarchy side issues access requests A to D continuously in units of system operation cycles. The access request A is a read access request for reading continuous 32-byte data A-0, A-1, A-2, A-3 from the address A of the memory block BNK0. Similarly, the access request B is a read access request for reading consecutive 32-byte data B-0, B-1, B-2, and B-3 from the address B of the memory block BNK4, and the access request C is the address of the memory block BNK1. Read access request for reading continuous 32-byte data C-0, C-1, C-2, C-3 from C, access request D is 32-byte data D-0 continuous from address D of memory block BNK3, This is a read access request for reading D-1, D-2, and D-3.
前記アクセス要求Aがあると、メモリ制御回路MCNTはメモリブロックBNK0のDRAMコア8からアドレスAで指定された288ビットのデータを並列に読み出してリードレジスタ26にラッチする。そしてリードレジスタ26が順次選択され、8バイト単位でリードデータA−0,A−1,A−2,A−3がメモリブロックBNK0から出力される。このリードデータの出力はシステムの動作サイクル単位(1サイクル単位)で行われる。このとき、上位階層インタフェースブロックI/F1は出力動作を行っていない。これに従ってメモリコントローラMCNTはセレクタ41Aa,40Aa,41BによってメモリブロックBNK0からの出力データA−0,A−1,A−2,A−3を直接上位階層インタフェースブロックI/F1に伝達して外部に出力させる。
When there is the access request A, the memory control circuit MCNT reads 288-bit data designated by the address A in parallel from the
この出力動作に並行して、1サイクル遅れで、次のアクセス要求Bが発行され、メモリブロックBNK4から順次リードデータB−0,B−1,B−2,B−3が出力される。出力されたリードデータは順次リードバッファRB0に蓄えられていく。同様に、後続する次のアクセス要求CによってメモリブロックBNK1から順次リードデータC−0,C−1,C−2,C−3が出力されてリードバッファRB1に蓄えられ、更に後続する次のアクセス要求DによってメモリブロックBNK3から順次リードデータD−0,D−1,D−2,D−3が出力されてリードバッファRB3に蓄えられる。後続するリードデータをリードバッファに保持する動作を行っている途中で、上位階層インタフェースブロックI/F1による外部へのデータ出力が終了すると、これに続くアクセス要求のリードデータを今度はリードバッファから読み出して外部に出力させる。即ち、データA−3の次は、リードバッファRB0から順次リードデータB−0,B−1,B−2,B−3を出力させ、これをセレクタ40Aa,41Bで選択して上位階層インタフェースブロックI/F1から外部へデータさせる。以下、データC−0〜D−3まで連続して外部に出力される。 In parallel with this output operation, the next access request B is issued with a delay of one cycle, and read data B-0, B-1, B-2, and B-3 are sequentially output from the memory block BNK4. The output read data is sequentially stored in the read buffer RB0. Similarly, the read data C-0, C-1, C-2, and C-3 are sequentially output from the memory block BNK1 by the subsequent next access request C and stored in the read buffer RB1. In response to the request D, read data D-0, D-1, D-2, and D-3 are sequentially output from the memory block BNK3 and stored in the read buffer RB3. When the data output to the outside by the upper layer interface block I / F1 is finished while the operation of holding the subsequent read data in the read buffer is completed, the read data of the subsequent access request is read from the read buffer this time. Output to the outside. That is, next to the data A-3, the read data B-0, B-1, B-2, B-3 are sequentially output from the read buffer RB0, and this is selected by the selectors 40Aa, 41B, and the upper layer interface block. Data is transmitted from the I / F1 to the outside. Thereafter, data C-0 to D-3 are continuously output to the outside.
一方、図9に例示されるようにリードバッファが無ければ、最初のアクセス要求Aに係るリードデータを全て外部に出力するまで、次のアクセス要求を受け付けることはできない。異なったメモリブロックにおいて、少なくとも、リードレジスタの出力動作が競合しないようにしなければならない。 On the other hand, if there is no read buffer as illustrated in FIG. 9, the next access request cannot be accepted until all the read data related to the first access request A is output to the outside. In different memory blocks, at least the output operation of the read register must not conflict.
これより明らかなように、リードバッファRB0〜RB3を採用することによって後続のリードアクセス要求を予め受け付けてメモリブロックの内部動作を先行させる事ができ、また、リードバッファにはDRAMよりもアクセス速度の速いSRAMを採用することによりバッファリングされたデータ出力動作が遅くなることもなく、データリード動作のスループットを向上させる事ができる。 As is clear from this, by adopting the read buffers RB0 to RB3, subsequent read access requests can be received in advance and the internal operation of the memory block can be preceded, and the read buffer has an access speed higher than that of the DRAM. By adopting a fast SRAM, the buffered data output operation is not delayed, and the throughput of the data read operation can be improved.
更に、メモリブロックBNK0〜BNK7からデータが読み出されたとき前記リソース競合が無ければ、リードデータはリードバッファRB0〜RB3を介することなく直接上位階層インタフェースブロックI/F1から外部に出力されるから、データ競合を生じていない場合にも一旦データバッファリングを行うような無駄を回避でき、この点においてリードデータ出力動作のスループットを向上に寄与する。 Further, when there is no resource contention when data is read from the memory blocks BNK0 to BNK7, the read data is directly output from the upper layer interface block I / F1 without going through the read buffers RB0 to RB3. Even when data contention does not occur, it is possible to avoid waste such as temporarily performing data buffering, which contributes to improving the throughput of the read data output operation.
次に前記半導体集積回路1をキャッシュメモリシステムに適用した場合に即して説明する。
Next, the case where the semiconductor integrated
図10にはキャッシュメモリシステムの第1の例が示される。半導体集積回路1はL3キャッシュメモリとして利用され、プロセッサ50とメインメモリ51の間に配置される。半導体集積回路1の前記上位階層インタフェースブロックI/F1にはプロセッサバス52が接続され、プロセッサとの間でデータを入出力し、また、プロセッサ50から出力されるアクセス制御情報を入力する。半導体集積回路1の前記下位階層インタフェースブロックI/F2にはメモリバス53が接続され、メインメモリ51との間でデータを入出力する。メインメモリ51に対するアクセス制御情報は、特に制限されないが、プロセッサ50が発行する情報である。
FIG. 10 shows a first example of the cache memory system. The semiconductor integrated
プロセッサ50はCPU50Aと共にL1キャッシュメモリ50B、L2キャッシュメモリ50Cを内蔵し、更にL3キャッシュメモリのためのタグ制御論理(TAG)50Dを備えている。半導体集積回路1はL3キャッシュメモリのデータメモリ部として位置付けられる。タグ制御論理50Dは、L3キャッシュメモリとしての半導体集積回路1のキャッシュライン毎にインデックスアドレスとキャッシュエントリのタグアドレスとを関連着ける情報を有する。更に、キャッシュライン毎に、そのキャッシュラインの有効性を示すバリッドビット、キャッシュラインのリプレースに際して下位記憶階層へのコピーバック若しくはライトバックの必要性を示すダーティービット等を有する。
The
尚、図10において、半導体集積回路1の下位記憶階層はメインメモリに限定されず、L4キャッシュメモリであってもよい。L4キャッシュメモリのタグ制御部はプロセッサ50の内部に構成してよい。
In FIG. 10, the lower storage hierarchy of the semiconductor integrated
図11には図10のキャッシュメモリシステムにおけるプロセッサのリードアクセス動作に着目したデータフローが示される。プロセッサ50に内蔵されたL1キャッシュメモリ50B、L2キャッシュメモリ50Cがキャッシュミスのとき、タグ制御論理50Dによって半導体集積回路1がキャッシュヒットするならば、プロセッサ50は半導体集積回路1をターゲットとしてリードアクセスを要求する。この時のアクセス制御情報の経路はP1である。前述のように、リソース競合が無ければリードデータはメモリブロックBNK0〜BNK7から直接プロセッサ50に返される(経路P2)。リソース競合があるときは、リードデータは一旦リードバッファRB0〜RB3の内の一つに保持され、リソース競合を生じないタイミングでリードバッファRB0〜RB3からプロセッサ50に返される(経路P2’)。半導体集積回路1もキャッシュミスになるとき、プロセッサ50はアクセス制御情報をメインメモリ51に与え(経路P3)、メインメモリ51のリードデータがプロセッサ50に返される(径路P4)。
FIG. 11 shows a data flow focusing on the read access operation of the processor in the cache memory system of FIG. If the semiconductor integrated
このとき、仮に、別の回路モジュールの影響によって径路P4でバスの競合を生ずるような場合、メインメモリ51からリードデータをプロセッサ50に送る事ができない。バス競合が解消されても、再度プロセッサ50はメインメモリ51にアクセス要求を発行して、DRAMで成るようなアクセス速度の遅いメインメモリ51を再度アクセスしなければならなくなる。そこで、図11に例示されるように、リードバッファRB0〜RB3と同様にSRAM等で成る高速アクセス可能なメモリバッファ(MB)54をメインメモリ51とプロセッサ50との間に配置するとよい。
At this time, if a bus conflict occurs in the path P4 due to the influence of another circuit module, the read data cannot be sent from the
メモリバッファ54は半導体集積回路1に内蔵させてもよい。メモリバッファ54は前記下位階層インタフェースブロックI/F2からデータを入力して保持し、保持したデータを前記上位階層インタフェースブロックI/F1から外部に出力可能にすればよい。メモリバッファ54のリードデータ出力とメモリブロックBNK0〜BNK7のリードデータ出力は排他的であれよく、例えば、プロセッサ50はメモリバッファ54を直接指定して動作させればよい。
The
図12は図10のキャッシュメモリシステムにおけるプロセッサのライトアクセスに動作に着目したデータフローが示される。プロセッサ50のライトアクセスにおいて、プロセッサ50に内蔵されたL1キャッシュメモリ50B、L2キャッシュメモリ50Cがキャッシュミスのとき、タグ制御論理50Dによって半導体集積回路1がキャッシュヒットするならば、プロセッサ50は半導体集積回路1をターゲットとしてライトアクセスを要求する。この時のアクセス制御情報の経路はP1である。前述のように、ライトデータは一旦ライトバッファWB0〜WB3の内の一つに格納され、ライト対象メモリブロックがライト動作可能になったときライトバッファからメモリブロックにライトデータが書き込まれる(経路P5)。半導体集積回路1はライトバッファWB0〜WB3を備えるので、ライト要求の途中でメモリブロックのリフレッシュ動作が介在されても書き込み要求を途中で中断しなくてもよい。したがって、書き込み処理からプロセッサ50を早く開放してやることができる。半導体集積回路1もキャッシュミスになるときは、プロセッサ50はアクセス制御情報をメインメモリ51に与え(経路P3)、ライトデータをメインメモリ51に与える(径路P6)。
FIG. 12 shows a data flow focusing on the operation for the write access of the processor in the cache memory system of FIG. In the write access of the
図13は図10のキャッシュメモリシステムにおけるキャッシュラインのリプレースに着目したデータフローが示される。ライトアクセス又はリードアクセス時における半導体集積回路1のキャッシュミスに応答してメモリブロックBNK0〜BNK7の所定のキャッシュラインをリプレースするとき、当該キャッシュラインのダーティービットがイネーブルであるとき、リプレース前に、そのキャッシュラインのエントリを対応するタグアドレスの下位階層エリアにコピーバックしなければならない。コピーバックすべきデータはメモリブロックBNK0〜BNK7からリードバッファRB0〜RB3に格納すればよく、実際にアクセス速度の遅いDRAMから成るメインメモリ51に実際にコピーバックされるのを待つ必要はない。また、リプレースすべき新たなキャッシュエントリのデータは、コピーバックすべきデータがリードバッファRB0〜RB3に転送されるのを待つことなくメインメモリ51からライトバッファWB0〜W3に書き込んでよい。これにより、キャッシュラインのリプレースを伴なうようなときにもプロセッサ50による最終的なデータリードのスループットを向上させることができる。
FIG. 13 shows a data flow focusing on the replacement of the cache line in the cache memory system of FIG. When replacing a predetermined cache line of the memory blocks BNK0 to BNK7 in response to a cache miss of the semiconductor integrated
前記図1及び図2に基づいて説明したように下位階層インタフェースブロックI/F2とメモリブロックBNK0〜BNK7との接続はリードバッファRB0〜RB3を介する経路のみであり、上位階層のようなスルー経路は設けられていない。コピーバックは、キャッシュミスに際してダーティーなキャッシュラインをリプレースするためにそのデータをメインメモリに退避させる動作だから、そのようなリード動作では殆どの場合高いスループットは要求されないので、リードバッファRB0〜RB3を迂回して直接リードデータを下位階層インタフェースブロックI/F2から出力可能にするデータパスやそのためのロジック回路を省けば、半導体集積回路1の論理規模が無駄に拡大しないようになる。
As described with reference to FIGS. 1 and 2, the lower layer interface block I / F2 and the memory blocks BNK0 to BNK7 are only connected via the read buffers RB0 to RB3. Not provided. Copyback is an operation that saves the data to the main memory in order to replace the dirty cache line in the event of a cache miss. Therefore, in such a read operation, high throughput is not required in most cases, and the read buffers RB0 to RB3 are bypassed. If the data path that enables direct read data to be output from the lower layer interface block I /
図14にはキャッシュメモリシステムの第2の例が示される。半導体集積回路1を前記プロセッサ50のメインメモリとして利用することも可能である。この場合、半導体集積回路1の下位階層インタフェースブロックI/F2を用いる必要はない。
FIG. 14 shows a second example of the cache memory system. It is also possible to use the semiconductor integrated
図15にはキャッシュメモリシステムの第3の例が示される。同図に示されるキャッシュメモリシステムはマルチプロセッサシステムに適用された例であり、特に制限されないが、前記プロセッサ50−1,50−2を有し、夫々には前記半導体集積回路1で構成されたL3キャッシュメモリ1−1,1−2が接続され、L3キャッシュメモリ1−1,1−2はバススイッチ回路55を介して前記メインメモリ51に接続される。
FIG. 15 shows a third example of the cache memory system. The cache memory system shown in the figure is an example applied to a multiprocessor system, and is not particularly limited, but includes the processors 50-1 and 50-2, each of which is configured by the semiconductor integrated
前記L3キャッシュメモリ1−1,1−2は上位階層インタフェースブロックI/F1に接続するプロセッサバス52−1,52−2を介してプロセッサ50−1,50−2に結合し、プロセッサ50−1,50−2との間でデータを入出力し、また、プロセッサ50−1,50−2から出力されるアクセス制御情報を入力する。L3キャッシュメモリ1−1,1−2の前記下位階層インタフェースブロックI/F2はメモリバス53−1,53−2を介してバススイッチ回路55に接続され、メインメモリ51はメモリバス53−3を介してバススイッチ55に接続する。
The L3 cache memories 1-1 and 1-2 are coupled to the processors 50-1 and 50-2 via the processor buses 52-1 and 52-2 connected to the upper layer interface block I / F1, and the processor 50-1 , 50-2, and access control information output from the processors 50-1, 50-2. The lower layer interface block I / F2 of the L3 cache memories 1-1 and 1-2 is connected to the
前記バススイッチ回路55は特に制限されないが第1乃至第4のバス接続状態を選択的に実現する。第1のバス接続状態は、プロセッサ50−1から出力されるアクセス制御情報をメインメモリ51に伝達し、メインメモリ51とL3キャッシュメモリ1−1又はプロセッサ50−1との間でデータ入出力を可能にする。第2のバス接続状態は、プロセッサ50−2から出力されるアクセス制御情報をメインメモリ51に伝達し、メインメモリ51とL3キャッシュメモリ1−2又はプロセッサ50−2との間でデータ入出力を可能にする。第3のバス接続状態はプロセッサ50−1から出力されるアクセス制御情報をL3キャッシュメモリ1−2に伝達し、L3キャッシュメモリ1−2とプロセッサ50−1又はL3キャッシュメモリ1−1との間でデータ入出力を可能にする。第4のバス接続状態はプロセッサ50−2から出力されるアクセス制御情報をL3キャッシュメモリ1−1に伝達し、L3キャッシュメモリ1−1とプロセッサ50−2又はL3キャッシュメモリ1−2との間でデータ入出力を可能にする。
The
L3キャッシュメモリ1−2は、前記第3のバス接続状態に応答するため、下位階層インタフェースブロックI/F2にプロセッサ1−1から出力されるアクセス制御情報を受けてキャッシュメモリ動作可能になっている。同様に、L3キャッシュメモリ1−1は、前記第4のバス接続状態に応答するため、下位階層インタフェースブロックI/F2にプロセッサ1−2から出力されるアクセス制御情報を受けてキャッシュメモリ動作可能になっている。
Since the L3 cache memory 1-2 responds to the third bus connection state, the lower layer interface block I /
図16には前記半導体集積回路1のチップレイアウトが示されている。単結晶シリコンのような1個の矩形の半導体チップ1Aの主面の中央部はロジック回路の領域1Bとされ、その上下に夫々メモリブロックBNK0〜BNK3とメモリブロックBNK4〜BNK7が分離して配置される。ロジック回路領域1Bの端にはリードバッファRB0〜RB3とライトバッファWB0〜WB3が分離して配置される。リードバッファRB0〜RB3とライトバッファWB0〜WB3との間にはインタフェースブロックI/F1,I/F2が分離配置される。インタフェースブロックI/F1,I/F2の近傍にはボンディングパッド又はバンプ電極のような外部接続電極(図示せず)が多数配置されている。特に制限されないが、インタフェースブロックI/F1,I/F2の間には、図11で説明したバッファメモリ(MB)54が配置される。ロジック回路領域1Bには特に図示はしないがその他の論理回路も配置されている。
FIG. 16 shows a chip layout of the semiconductor integrated
図16のレイアウト構成を採用する事により、リードバッファRB0〜RB3はメモリブロックBNK0〜BNK7よりもインタフェースブロックI/F1,I/F2及び外部接続電極の近くに位置される。これにより、メモリブロックBNK0〜BNK7のリードレジスタからリードバッファRB0〜RB3を介することなく直接リードデータを外部に出力させる径路の動作遅延及び伝播遅延に対して、リードバッファRB0〜RB3からリードデータを外部に出力させる径路の動作遅延及び伝播遅延が極端に増えてしまわないようにできる。したがって、上記レイアウト構成は、データリード動作のスループット向上に寄与する。 By adopting the layout configuration of FIG. 16, the read buffers RB0 to RB3 are located closer to the interface blocks I / F1 and I / F2 and the external connection electrodes than the memory blocks BNK0 to BNK7. As a result, the read data from the read buffers RB0 to RB3 is externally applied to the path operation delay and propagation delay in which the read data is directly output from the read registers of the memory blocks BNK0 to BNK7 without passing through the read buffers RB0 to RB3 It is possible to prevent the operation delay and propagation delay of the path to be output from increasing excessively. Therefore, the layout configuration contributes to an improvement in the throughput of the data read operation.
図17にはメモリブロックの詳細な一例が示される。同図に代表的に示されるメモリブロックBNK0は、図示を省略するダイナミック型メモリセルがマトリクス配置されたメモリセルアレイ10を有する。ダイナミック型メモリセルは情報を記憶する容量素子と、それに結合されたNチャネル型MOSFFTからなる選択トランジスタとを含み、上記選択トランジスタのゲートである選択端子はワード線WLに接続され、上記選択トランジスタのソース・ドレインパスの一端は上記容量素子に結合され、上記ソース−ドレインパスの他端、すなわち、データ入出力端子は相補ビット線BLに接続される。特に図示はしないが、相補ビット線はセンスアンプを中心とした折り返しビット線構造を有し、相補ビット線間にはプリチャージ回路などが配置されている。
FIG. 17 shows a detailed example of the memory block. A memory block BNK0 typically shown in the figure has a
ロウデコーダ11はロウアドレスストローブ信号RASの立ち下がり変化に応答してドレスロウアドレス信号RASADRで指定されるワード線WLを選択するロウ選択回路である。相補ビット線BLの選択はカラムデコーダ13及びカラムスイッチ回路12で行う。カラムデコーダ13はカラムアドレスストローブ信号CASの立ち下がり変化に応答してカラムアドレス信号CASADRで指定される相補ビット線を複数本並列に選択するためのカラム選択信号14を生成する。更にカラムデコーダ13は、ライトイネーブル信号WEのローレベルによる書込み動作の指示に応答して書込み信号15Wを活性化し、ライトイネーブル信号WEのハイレベルによる読み出し動作の指示に応答して読み出し信号15Rを活性化する。カラムスイッチ回路12はカラム選択信号14によってスイッチ動作して当該信号14にて指示される32バイト(288ビット)分の相補ビット線を32バイト分の相補書込みデータ線WIOと32バイト分の相補読み出しデータ線RIOに夫々通させる。
The
前記相補書込みデータ線WIOにはライトアンプ17Wから出力される32バイトの書込みデータが並列に供給される。また、前記相補読み出しデータ線RIOはメインアンプ17Rに32バイトの読み出しデータを並列に供給される。ライトアンプ17Wは288個の書込み増幅回路を有し、書込み信号15Wが活性化されるのに応答して、並列入力される288ビットの書き込みデータDIN<0>〜DIN<3>に対する増幅信号を前記相補書込みデータ線WIOに288ビットで並列出力動作可能にされる。前記メインアンプ17Rは288個の読み出し増幅回路を有し、前記読み出し信号が活性化されるのに応答して、前記相補読み出しデータ線RIOからの入力に対する増幅信号を288ビットの読み出しデータMAOUT<0>〜MAOUT<3>として並列出力動作可能にされる。尚、前記データDIN<0>,…,DIN<3>は夫々8バイトであり、同様に前記データMAOUT<0>,…,MAOUT<3>も夫々8バイトである。
The complementary write data line WIO is supplied with 32-byte write data output from the
書込みデータWDの入力経路20と前記ライトアンプ17Wとの間には直列・並列変換回路21が配置されている。特に制限されないが、書込みデータWDは8バイト並列で供給される。直列・並列変換回路21は、前記4個のライトレジスタ22とデータラッチ制御回路23を有する。ライトレジスタ22の入力端子は入力経路20に共通接続され、出力端子は個別にライトアンプ17Wの書込み増幅回路の入力端子に結合される。データラッチ制御回路23は2ビットのラッチ制御データDLAT<1:0>をクロック信号CLKに同期してデコードすることにより4ビットのラッチ制御信号DINL<3:0>を生成し、対応するライトレジスタ22のラッチ制御を行う。ラッチ制御データLATD<1:0>が順次インクリメントされて変化されることにより、8バイト単位で並列に入力される書き込みデータWDがクロック信号CLKに同期して順次4個のライトレジスタ22にラッチされ、4個のライトレジスタ22の出力には32バイト並列で書き込みデータDIN<0>〜DIN<3>が得られる。
A serial /
読み出しデータMUXOUTの出力経路29と前記メインアンプ17Rとの間には並列・直列変換回路25が配置されている。並列・直列変換回路25は、4個のリードレジスタ26、出力セレクタ27及び選択制御回路28を有する。リードレジスタ26の入力端子にはメインアンプ17Rから夫々読み出しデータMAOUT<0>〜MAOUT<3>が入力される。リードレジスタ26のラッチタイミングはラッチ制御信号PDOLTTで制御される。ラッチ制御信号PDOLTTによるラッチタイミングは、メモリセルから読み出されたデータによって読み出しデータMAOUT<0>〜MAOUT<3>が確定された後のタイミングとなるように後述の出力制御回路30で制御される。
A parallel /
前記セレクタ27は、リードレジスタ26の出力データDOUT<0>〜DOUT<3>を8バイトづつ選択制御信号MSEL<3:0>で選択して前記出力経路に29に出力する。選択制御回路28は2ビットの選択制御データMUXSEL<1:0>をクロック信号CLKに同期してデコードすることにより4ビットの選択制御信号MSEL<3:0>を生成する。選択制御データMUXSEL<1:0>が順次インクリメントされて変化されることにより、出力データDOUT<0>〜DOUT<3>がクロック信号CLKに同期して順次8バイトづつ出力経路29に出力されて読み出しデータMUXOUTが得られる。
The
出力制御回路30はCASレイテンシに従って前記ラッチ制御信号PDOLTTを生成する。CASレイテンシとは、データ読み出し動作において前記カラムアドレスストローブ信号CASの立ち下がり変化にクロック同期で応答するときその次のクロックサイクルから前記並列・直列変換回路25のデータ入力が確定するまでの遅延時間を前記クロック信号CLKのサイクル数相当で表現したものである。詳しくは、カラムアドレスストローブ信号CASの立ち下がりをクロック信号CLKの立下り(フォールエッジで)で検出する場合、前記カラムアドレスストローブ信号CASの立ち下がりを検出するフォールエッジの次のクロック信号CLKのフォールエッジから前記読み出しデータDOUT<0>〜DOUT<3>が確定した状態におけるクロック信号CLKの最初のフォールエッジまでのクロック信号CLKのサイクル数がCASレイテンシである。メモリセルアレイ10からのデータ読み出し動作とメインアンプ17Rによる読み出しデータの増幅動作は回路構成及び回路素子の特性等によって一義的に決まる。したがって、外部へ高速にデータを出力するには、それら動作遅延時間以上でそれに最も近い遅延時間のCASレイテンシを設定することが必要である。前述の如くCASレイテンシはクロック信号CLKのサイクル数相当であるから、CASレイテンシによる実際の遅延時間はクロック信号CLKの周波数に依存し、同じ遅延時間を設定する場合であっても、クロック信号CLKの周波数が高ければCASレイテンシは相対的に大きく、クロック信号CLKの周波数が低ければCASレイテンシは相対的に小さくなる。図1の例において出力制御回路30は、レイテンシ設定データFRCD<1:0>を入力して前記CASレイテンシを可変制御可能なCASレイテンシ制御回路を実現する。前記CASレイテンシは前記ラッチ制御信号PDOLTTによるラッチタイミングに反映される。
The
リフレッシュ制御回路(RCC)40は、上記メモリセルアレイ内の各メモリセルのデータを定期的にリフレッシュするための制御回路であり、メモリブロックBNK0の内部回路に対して複数の内部制御信号refを生成して供給する。一
方、上記リフレッシュ制御回路40は、上記メモリ制御回路MCNTに対して、メモリブロックBNK0がリフレッシュ期間おいて活性化されるリフレッシュ期間通知信号MRef0を出力する。
The refresh control circuit (RCC) 40 is a control circuit for periodically refreshing the data of each memory cell in the memory cell array, and generates a plurality of internal control signals ref for the internal circuit of the memory block BNK0. Supply. On the other hand, the
以上の説明より明らかなように、前記メモリブロックBNK0〜BNK7は前記クロック信号CLKの周期の複数倍の周期で変化される前記カラムアドレスストローブ信号CASが入力され、カラムアドレス信号CASが変化されるサイクル毎に、メモリセルアレイ10から読み出されクロック信号CLKのサイクルに同期して並列・直列変換された複数の直列データがメモリブロックから出力され、またクロック信号CLKのサイクルに同期してメモリブロックに入力されて直・並列変換された並列データがメモリセルアレイ10に書込まれる。このように、クロック信号CLKの複数サイクルに1回の割合でカラムアドレスストローブ信号CASを変化させるというアクセス仕様によってメモリ動作の高速化を図ることが可能になる。
As is apparent from the above description, the memory blocks BNK0 to BNK7 are supplied with the column address strobe signal CAS which is changed at a multiple of the clock signal CLK, and the column address signal CAS is changed. Each time, a plurality of serial data read out from the
以上本発明者によってなされた発明を実施形態に基づいて具体的に説明したが、本発明はそれに限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能であることは言うまでもない。 Although the invention made by the present inventor has been specifically described based on the embodiments, it is needless to say that the present invention is not limited thereto and can be variously modified without departing from the gist thereof.
例えば、本発明の半導体集積回路は上位及び下位階層双方のインタフェースブロックを有する構成に限定されない。例えば、図11に示されるようにメモリブロックとリードバッファを備える構成、図12示されるようにメモリブロックとライトバッファを備える構成、図13示されるようにメモリブロックとリードバッファ及びライトバッファを備える構成として本発明を夫々別々に把握することが可能である。 For example, the semiconductor integrated circuit of the present invention is not limited to a configuration having both upper and lower interface blocks. For example, a configuration including a memory block and a read buffer as shown in FIG. 11, a configuration including a memory block and a write buffer as shown in FIG. 12, and a configuration including a memory block, a read buffer and a write buffer as shown in FIG. It is possible to grasp the present invention separately.
また、チップ面積に余裕があればリードバッファやライトバッファをメモリブロック毎に設けてもよい。 Further, a read buffer and a write buffer may be provided for each memory block as long as the chip area is sufficient.
また、メモリブロックの数、並列データ入出力ビット数、リードレジスタ及びライトレジスタの段数等についても適宜変更することが可能である。 Further, the number of memory blocks, the number of parallel data input / output bits, the number of stages of read registers and write registers, and the like can be changed as appropriate.
メモリブロックはDRAMに限定されず、リードバッファ及びライトバッファはSRAMに限定されず、他の記憶形式のメモリであってもよい。本発明は各種階層のキャッシュメモリ、メインメモリ、その他のロジック混載半導体集積回路に広く適用できることは言うまでもない。 The memory block is not limited to the DRAM, and the read buffer and the write buffer are not limited to the SRAM, but may be a memory of another storage format. Needless to say, the present invention can be widely applied to cache memories of various levels, main memories, and other logic-embedded semiconductor integrated circuits.
1 半導体集積回路
BNK0〜BNK7 メモリブロック
RB0〜RB3 リードバッファ
WB0〜WB3 ライトバッファ
MCNT メモリ制御回路
I/F1 上位階層インタフェースブロック
I/F2 下位階層インタフェースブロック
40(40Aa,40Ab,40Ac,40Ad) セレクタ
41(41Aa,41Ab,41Ac,41Ad、41B) セレクタ
42 セレクタ
8 DRAMコア
22 ライトレジスタ
26 リードレジスタ
50,50−1,50−2 プロセッサ
50A CPU
50B L1キャッシュメモリ
50C L2キャッシュメモリ
50D タグ制御論理
51 メインメモリ
52,52−1,52−2 プロセッサバス
53,53−1,53−2,53−3 メモリバス
54 メモリバッファ
55 バススイッチ回路
CLK クロック信号
BL 相補ビット線
WL ワード線
RAS ロウアドレスストローブ信号
CAS カラムアドレスストローブ信号
1 Semiconductor integrated circuit BNK0 to BNK7 Memory block RB0 to RB3 Read buffer WB0 to WB3 Write buffer MCNT Memory control circuit I / F1 Upper layer interface block I / F2 Lower layer interface block 40 (40Aa, 40Ab, 40Ac, 40Ad) Selector 41 ( 41Aa, 41Ab, 41Ac, 41Ad, 41B)
50B
Claims (4)
前記ライトバッファ回路に格納された前記入力データを、前記入力データの単位で順次格納する複数のライトレジスタと、
リフレッシュ動作が定期的に必要とされる複数のメモリセルを有し、前記複数のライトレジスタに格納された前記入力データを並列的に入力して保持するメモリブロックと、
リフレッシュ期間が開始されたとき、前記ライトバッファ回路へのデータの入力を継続するとともに、前記ライトバッファ回路のデータが前記複数のライトレジスタに格納されるのを待って、前記メモリブロックへ前記入力データを書き込む動作を中断し、リフレッシュ期間が終了されたとき、前記ライトレジスタに格納された前記入力データを前記メモリブロックに書き込む動作を再開する制御回路とを有する、半導体集積回路。 A write buffer circuit for sequentially storing input data ;
A plurality of write registers for sequentially storing the input data stored in the write buffer circuit in units of the input data;
A memory block having a plurality of memory cells that require a refresh operation periodically, and holding the input data stored in the plurality of write registers in parallel;
When the refresh period starts, the input of data to the write buffer circuit is continued and the input data to the memory block is waited for the data of the write buffer circuit to be stored in the plurality of write registers. And a control circuit that resumes the operation of writing the input data stored in the write register into the memory block when the refresh period ends.
上記複数のメモリセルの各々は、1つのメモリセルが1つのワード線と1つのデータ線とに結合される様に上記複数のワード線と上記複数のデータ線とに結合され、容量素子と選択トランジスタとを含み、
上記選択トランジスタは、対応するワード線に結合された選択端子と、対応するデータ線に結合されたデータ入出力端子とを有するものであることを特徴とする請求項1記載の半導体集積回路。 The memory block further includes a plurality of word lines and a plurality of data lines ,
Each of the plurality of memory cells is coupled to the plurality of word lines and the plurality of data lines so that one memory cell is coupled to one word line and one data line. Including a transistor,
2. The semiconductor integrated circuit according to claim 1, wherein said selection transistor has a selection terminal coupled to a corresponding word line and a data input / output terminal coupled to a corresponding data line.
複数のスタティク型メモリセルと複数のワード線と複数の相補データ線対とを含むメモリアレイと、
所定のワード線をアドレス信号に応答して選択するアドレスデコーダーと、
選択された複数個のメモリセルのデータを増幅するセンスアンプと、
増幅されたデータを出力するデータ出力回路と、を有するものであることを特徴とする請求項2記載の半導体集積回路。 Each of the write buffer circuits is
A memory array including a plurality of static memory cells, a plurality of word lines, and a plurality of complementary data line pairs;
An address decoder for selecting a predetermined word line in response to an address signal;
A sense amplifier that amplifies data of a plurality of selected memory cells;
3. The semiconductor integrated circuit according to claim 2, further comprising a data output circuit for outputting the amplified data.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006293469A JP4674865B2 (en) | 2006-10-30 | 2006-10-30 | Semiconductor integrated circuit |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006293469A JP4674865B2 (en) | 2006-10-30 | 2006-10-30 | Semiconductor integrated circuit |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000032636A Division JP3940539B2 (en) | 2000-02-03 | 2000-02-03 | Semiconductor integrated circuit |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2007080283A JP2007080283A (en) | 2007-03-29 |
JP4674865B2 true JP4674865B2 (en) | 2011-04-20 |
Family
ID=37940462
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006293469A Expired - Fee Related JP4674865B2 (en) | 2006-10-30 | 2006-10-30 | Semiconductor integrated circuit |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4674865B2 (en) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8572333B2 (en) * | 2008-12-30 | 2013-10-29 | Micron Technology, Inc. | Non-volatile memory with extended operating temperature range |
CN102971795A (en) * | 2010-05-07 | 2013-03-13 | 莫塞德技术公司 | Method and apparatus for concurrently reading a plurality of memory devices using a single buffer |
US8635390B2 (en) * | 2010-09-07 | 2014-01-21 | International Business Machines Corporation | System and method for a hierarchical buffer system for a shared data bus |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11511872A (en) * | 1994-11-22 | 1999-10-12 | モノリシック・システム・テクノロジー・インコーポレイテッド | Method and configuration using a DRAM array as a second level cache memory |
JP2002528844A (en) * | 1998-10-27 | 2002-09-03 | モノリシック・システム・テクノロジー・インコーポレイテッド | Method and apparatus for increasing the time allowed to refresh a device compatible with TSRAM |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR0133078B1 (en) * | 1987-12-23 | 1998-10-01 | 엔. 라이스 머레트 | Synchronous dynamic random access memory device and recording method thereby |
CA2011518C (en) * | 1989-04-25 | 1993-04-20 | Ronald N. Fortino | Distributed cache dram chip and control method |
JPH06175911A (en) * | 1992-12-08 | 1994-06-24 | Nec Eng Ltd | Memory control system |
JPH06251582A (en) * | 1993-02-26 | 1994-09-09 | Nec Corp | Memory control circuit |
JP3352577B2 (en) * | 1995-12-21 | 2002-12-03 | インターナショナル・ビジネス・マシーンズ・コーポレーション | Storage device |
JPH11167519A (en) * | 1997-12-04 | 1999-06-22 | Nec Kofu Ltd | Memory refresh control circuit, memory, memory module, and digital device |
-
2006
- 2006-10-30 JP JP2006293469A patent/JP4674865B2/en not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11511872A (en) * | 1994-11-22 | 1999-10-12 | モノリシック・システム・テクノロジー・インコーポレイテッド | Method and configuration using a DRAM array as a second level cache memory |
JP2002528844A (en) * | 1998-10-27 | 2002-09-03 | モノリシック・システム・テクノロジー・インコーポレイテッド | Method and apparatus for increasing the time allowed to refresh a device compatible with TSRAM |
Also Published As
Publication number | Publication date |
---|---|
JP2007080283A (en) | 2007-03-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3940539B2 (en) | Semiconductor integrated circuit | |
KR100816053B1 (en) | Memory device, memory system and dual port memory device with self-copy function | |
US6504785B1 (en) | Multiprocessor system with integrated memory | |
JP3304413B2 (en) | Semiconductor storage device | |
JP5104864B2 (en) | Semiconductor memory device and system | |
US6381190B1 (en) | Semiconductor memory device in which use of cache can be selected | |
JP3745185B2 (en) | Dynamic random access memory | |
US7447109B2 (en) | Semiconductor storage device | |
US20090083479A1 (en) | Multiport semiconductor memory device and associated refresh method | |
US7398362B1 (en) | Programmable interleaving in multiple-bank memories | |
US5400292A (en) | Semiconductor memory device with changeable input/output data bit arrangement | |
KR100855580B1 (en) | Multi-path accessible semiconductor memory device having processor reset function and method for controlling reset therefor and multi-processor system | |
US6876557B2 (en) | Unified SRAM cache system for an embedded DRAM system having a micro-cell architecture | |
JP4674865B2 (en) | Semiconductor integrated circuit | |
JP2002175692A (en) | Semiconductor memory and data processing system | |
US20020118591A1 (en) | Semiconductor Integrated circuit device | |
CN117116317A (en) | Apparatus and method for command decoding | |
US12073911B2 (en) | Apparatuses and methods for command decoding | |
JPH0982085A (en) | Semiconductor memory | |
US7593283B2 (en) | Semiconductor memory device | |
JP2001148194A (en) | Semiconductor memory and data processing apparatus | |
JP4116801B2 (en) | Semiconductor memory device | |
US12100473B2 (en) | Computer memory arrays employing memory banks and integrated serializer/de-serializer circuits for supporting serialization/de-serialization of read/write data in burst read/write modes, and related methods | |
JPH08161883A (en) | Semiconductor memory | |
US20230420017A1 (en) | Computer memory arrays employing memory banks and integrated serializer/de-serializer circuits for supporting serialization/de-serialization of read/write data in burst read/write modes, and related methods |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20100204 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100209 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100408 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20110120 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20110121 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140204 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140204 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |