JP2010033659A - 情報処理システムおよび半導体記憶装置 - Google Patents
情報処理システムおよび半導体記憶装置 Download PDFInfo
- Publication number
- JP2010033659A JP2010033659A JP2008194871A JP2008194871A JP2010033659A JP 2010033659 A JP2010033659 A JP 2010033659A JP 2008194871 A JP2008194871 A JP 2008194871A JP 2008194871 A JP2008194871 A JP 2008194871A JP 2010033659 A JP2010033659 A JP 2010033659A
- Authority
- JP
- Japan
- Prior art keywords
- data
- signal
- input
- signal line
- 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.)
- Withdrawn
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4204—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
- G06F13/4208—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a system bus, e.g. VME bus, Futurebus, Multibus
- G06F13/4217—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a system bus, e.g. VME bus, Futurebus, Multibus with synchronous protocol
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Dram (AREA)
Abstract
【課題】高速データ転送と低レイテンシを両立する情報処理システムを提供する。
【解決手段】情報処理装置CPU_CHIPとランダムアクセスメモリMEM0とが接続された情報処理システムにおいて、CPU_CHIPで実行しているプログラムに対応して、CPU_CHIPとMEM0間のデータ信号DQ[31:0]およびデータ同期信号DQS[3:0]の入力・出力データ幅を設定によって変更可能にする。例えば、DQ[31:0]およびDQS[3:0]の全てを入出力共用に設定したり、一部を入力専用に、他の一部を出力専用に設定する。このような設定は、CPU_CHIPが、ピンレジスタセット命令と共に所定の設定値をピンレジスタPNREGに送信することで行われる。
【選択図】図1
【解決手段】情報処理装置CPU_CHIPとランダムアクセスメモリMEM0とが接続された情報処理システムにおいて、CPU_CHIPで実行しているプログラムに対応して、CPU_CHIPとMEM0間のデータ信号DQ[31:0]およびデータ同期信号DQS[3:0]の入力・出力データ幅を設定によって変更可能にする。例えば、DQ[31:0]およびDQS[3:0]の全てを入出力共用に設定したり、一部を入力専用に、他の一部を出力専用に設定する。このような設定は、CPU_CHIPが、ピンレジスタセット命令と共に所定の設定値をピンレジスタPNREGに送信することで行われる。
【選択図】図1
Description
本発明は、情報処理システムおよび半導体記憶装置に関し、特に、ランダムアクセスメモリや、それを制御する情報処理装置を含んだシステムに適用して有益な技術に関する。
例えば、特許文献1には、DMAテストの時間短縮および検査精度の向上を狙った半導体記憶装置が記載されている。具体的には、低周波数で検査を行う際には、IO端子を入出力端子(コモンモード)として動作させ、高周波数で検査を行う際には、IO端子の一部を入力端子、他の一部を出力端子(セパレートモード)として動作させる。また、特許文献2には、メモリコントローラ側における読み出しデータのスキューの低減を狙った半導体記憶装置が記載されている。具体的には、IOコモンモードとIOセパレートモードを備え、IOセパレートモードでは、アドレス端子からデータ入力を行い、IO端子からデータ出力を行うように動作する。また、特許文献3には、3Dコンピュータグラフィックス用バッファ向けに高速なリードモディファイライトを可能にする半導体記憶装置が記載されている。具体的には、読み出し/書き込みで独立にデータ入出力可能なメモリアレイと、読み出し用のアドレス信号をデコードしてメモリアレイに出力する回路と、この読み出し用のアドレス信号を所定クロック数遅延させた後に書き込み用のアドレス信号としてデコードし、それをメモリアレイに出力する回路とを設ける。
特開2005−235248号公報
特開平10−50054号公報
特開平10−64257号公報
本願発明者等は、本願に先立って、情報処理装置とランダムアクセスメモリとから構成される情報処理システムでの動作について検討を行った。
ランダムアクセスメモリには、特に限定されないが情報処理装置で処理する通信制御用プログラムや、MPEG、JPEGおよびグラフィックスなどのメディヤ処理向けプログラムおよびデータが格納されている。通信制御プログラムに関して、情報処理装置(例えばCPU:Central Processing Unit)は、ランダムアクセスメモリに格納されている通信制御用命令を読み出し、通信制御を行う。この際には、ランダムアクセスメモリからの命令の読み出しが頻繁に発生することになる。一方、MPEG、JPEGおよびグラフィックスなどのメディヤ処理向けプログラムに関して、情報処理装置は、ランダムアクセスメモリに格納されている、これらのプログラムの命令およびデータを読み出し、情報処理装置内部で所定の命令に従ってデータを加工し、そのデータをランダムアクセスメモリへ書きこむ。この際には、ランダムアクセスメモリからのデータの読み出しと書き込みが交互に、頻繁に発生することになる。
したがって、メディヤ処理向けプログラムを高速に動作させるには、データ読み出しと書き込みが交互に発生した際のデータ転送速度が重要となり、通信制御向けプログラムを高速に動作させるには、1回のデータ読み出しが終了するまでのレイテンシが重要となる。データ信号が双方向になっている、つまりデータ信号が双方向バッファで制御されているランダムアクセスメモリでは、そのランダムアクセスメモリへ、頻繁に、データ読み出しと書き込みが交互に発生した場合に、双方向バッファの切り替え時間が多発し、データ転送速度が劣化してしまう。すなわち、従来の一般的に知られているランダムアクセスメモリでは、情報処理装置で実行しているプログラムに柔軟に対応して、高速データ転送と低レイテンシを実現することが困難となっている。
こうした中、前述した特許文献1、特許文献2には、テスト時間の短縮や読み出しデータスキューの低減を目的とした半導体記憶装置が示されている。ただし、これらは、所望の目的に特化した構成となっているため、前述したようなプログラム処理の効率化を図れるような構成にはなっていない。また、特許文献3の半導体記憶装置を用いると、同一アドレスに対するリードモディファイライトは効率的に実現可能となるが、前述したような各種プログラム処理に応じて柔軟に効率化を図るようなことは困難となっている。
そこで、本発明の目的の一つは、情報処理装置で実行しているプログラムに柔軟に対応して、高速データ転送と低レイテンシを両立する情報処理システムおよび半導体記憶装置を提供することである。
本発明の前記並びにその他の目的と新規な特徴は、本明細書の記述及び添付図面から明らかになるであろう。
本願において開示される発明のうち、代表的な実施の形態の概要を簡単に説明すれば、次のとおりである。
すなわち、代表的なものの概要は、情報処理装置とランダムアクセスメモリとが接続された構成において、情報処理装置で実行しているプログラムに対応して、ランダムアクセスメモリのデータ信号線を、読み出しおよび書き込みデータ共用へ設定したり、読み出し専用と書き込み専用へ設定したり、変更できるようにする。その際、変更するための命令は情報処理装置からランダムアクセスメモリへ送信し、ランダムアクセスメモリはその命令に従って切り替えると良い。
本願において開示される発明のうち、代表的な実施の形態によって得られる効果を簡単に説明すると、高速データ転送と低レイテンシを両立する情報処理システムおよび半導体記憶装置が実現可能になる。
以下の実施の形態においては便宜上その必要があるときは、複数のセクションまたは実施の形態に分割して説明するが、特に明示した場合を除き、それらは互いに無関係なものではなく、一方は他方の一部または全部の変形例、詳細、補足説明等の関係にある。また、以下の実施の形態において、要素の数等(個数、数値、量、範囲等を含む)に言及する場合、特に明示した場合および原理的に明らかに特定の数に限定される場合等を除き、その特定の数に限定されるものではなく、特定の数以上でも以下でも良い。
さらに、以下の実施の形態において、その構成要素(要素ステップ等も含む)は、特に明示した場合および原理的に明らかに必須であると考えられる場合等を除き、必ずしも必須のものではないことは言うまでもない。同様に、以下の実施の形態において、構成要素等の形状、位置関係等に言及するときは、特に明示した場合および原理的に明らかにそうでないと考えられる場合等を除き、実質的にその形状等に近似または類似するもの等を含むものとする。このことは、上記数値および範囲についても同様である。
以下、本発明の実施の形態を図面に基づいて詳細に説明する。なお、実施の形態を説明するための全図において、同一の部材には原則として同一の符号を付し、その繰り返しの説明は省略する。以下の実施の形態において各ブロックを構成する回路素子は、特に制限されないが、公知のCMOS(相補型MOSトランジスタ)等の集積回路技術によって、単結晶シリコンのような1個の半導体基板上に形成される。
(実施の形態1)
本発明を適用した第1の実施の形態である情報処理システムについて、図1〜図9を用いて説明する。
本発明を適用した第1の実施の形態である情報処理システムについて、図1〜図9を用いて説明する。
図1は、本発明の実施の形態1による情報処理システムにおいて、その構成の一例を示すブロック図である。図1に示す情報処理システムは、情報処理装置CPU_CHIPと、ランダムアクセスメモリMEM0から構成される。ランダムアクセスメモリMEM0は、特に限定はされないが、例えばDDR−SDRAM(Double Data Rate-Synchronous Dynamic Random Access Memory)を例として、以下におのおのについて説明する。
情報処理装置CPU_CHIPは、情報処理回路CPU0,CPU1,CPU2,CPU3と、メモリ制御回路MCONから構成されている。情報処理装置CPU_CHIPは、メモリ制御回路MCONを介して、ランダムアクセスメモリMEM0へ接続され、データ通信を行う。ランダムアクセスメモリMEM0は、クロック生成回路CGEN、モードレジスタMREG、拡張モードレジスタEREG、アドレスバッファADD_BUF、コマンドデコーダCMD_DEC、ピンレジスタPNREG、IOバッファIOBUF、温度センサTHMO、リフレッシュ制御回路REFC、制御回路CNT_LOG、ライトデータバッファWDLAT、リードデータバッファRDLAT、データ制御回路DATA_CTL、クロック同期回路DLL、メモリバンクBK0〜BK7から構成される。
各メモリバンクBK0〜BK7は、ロウアドレスラッチ回路RAD_LT、カラムアドレスラッチ回路CAD_LT、ロウデコーダROW_DEC、カラムデコーダCOL_DEC、センスアンプブロックSA_BLK、メモリアレイMARYから構成される。CPU_CHIPとMEM0の間は、クロック信号CLK、クロックイネーブル信号CKE、アドレス信号ADD[16:0]、コマンド信号COM、データマスク信号DM[3:0]、データ信号DQ[31:0]、およびデータ同期信号DQS[3:0]で接続される。
クロック生成回路CGENは、ランダムアクセスメモリMEM0へ入力されたCLKから内部クロック信号INCLKを生成する。このINCLKは、MEM0を構成する各ブロックで利用される。クロック同期回路DLLは、入力されたCLKと同期したデータクロック信号DCLKを出力する。モードレジスタMREGでは、特に限定されないが、データ読み出しレイテンシ、バースト長などを設定でき、拡張モードレジスタEREGでは、特に限定されないが、出力バッファの駆動能力、セルフリフレッシュの温度範囲、クロック同期回路DLLの有効/無効などを設定できる。
ピンレジスタPNREGでは、データ信号DQ[31:0]の入出力方向とビット幅の設定が可能である。特に限定されないが、例えば以下に示す4種類の設定が可能となっている。
(設定1)データ信号DQ[31:0]のすべてを入出力信号に設定し、またデータ同期信号DQS[3:0]も入出力信号に設定する。
(設定2)データ信号DQ[31:16]を入力専用信号に設定し、データ信号DQ[15:0]を出力専用信号に設定し、また、データ同期信号DQS[3:2]を入力専用信号に設定し、データ同期信号DQS[1:0]を出力専用信号に設定する。
(設定3)データ信号DQ[31:8]を入力専用信号に設定し、データ信号DQ[7:0]を出力専用信号に設定し、また、データ同期信号DQS[3:1]を入力専用信号に設定し、データ同期信号DQS[0]を出力専用信号に設定する。
(設定4)データ信号DQ[31:24]を入力専用信号に設定し、データ信号DQ[23:0]を出力専用信号に設定し、また、データ同期信号DQS[3]を入力専用信号に設定し、データ同期信号DQS[2:0]を出力専用信号に設定する。
(設定1)データ信号DQ[31:0]のすべてを入出力信号に設定し、またデータ同期信号DQS[3:0]も入出力信号に設定する。
(設定2)データ信号DQ[31:16]を入力専用信号に設定し、データ信号DQ[15:0]を出力専用信号に設定し、また、データ同期信号DQS[3:2]を入力専用信号に設定し、データ同期信号DQS[1:0]を出力専用信号に設定する。
(設定3)データ信号DQ[31:8]を入力専用信号に設定し、データ信号DQ[7:0]を出力専用信号に設定し、また、データ同期信号DQS[3:1]を入力専用信号に設定し、データ同期信号DQS[0]を出力専用信号に設定する。
(設定4)データ信号DQ[31:24]を入力専用信号に設定し、データ信号DQ[23:0]を出力専用信号に設定し、また、データ同期信号DQS[3]を入力専用信号に設定し、データ同期信号DQS[2:0]を出力専用信号に設定する。
次に図1の情報処理システムの動作例について説明する。
<電源投入直後の動作説明>
図2は、図1の情報処理システムにおいて、その電源投入直後の動作例を示すフロー図である。まず、T1の期間(PwON)でランダムアクセスメモリMEM0へ電源投入を行い、T2の期間(Reset)でリセットを行う。リセットの方法は特に限定されないが、それぞれの内蔵回路で自動的にリセットを行う方法でも、あるいは、外部にリセット端子を持ち、このリセット信号によってリセット動作を行う方法でも、情報処理装置CPU_CHIPからコマンド信号COMを介して、リセット命令をMEM0へ入力しリセットを行う方法としても良い。
図2は、図1の情報処理システムにおいて、その電源投入直後の動作例を示すフロー図である。まず、T1の期間(PwON)でランダムアクセスメモリMEM0へ電源投入を行い、T2の期間(Reset)でリセットを行う。リセットの方法は特に限定されないが、それぞれの内蔵回路で自動的にリセットを行う方法でも、あるいは、外部にリセット端子を持ち、このリセット信号によってリセット動作を行う方法でも、情報処理装置CPU_CHIPからコマンド信号COMを介して、リセット命令をMEM0へ入力しリセットを行う方法としても良い。
リセットが解除されたT3の期間(PreAll)では、情報処理装置CPU_CHIPからコマンド信号COMを介して、プリチャージオール命令PALLがコマンドデコーダCMD_DECへ入力される。CMD_DECは、このプリチャージオール命令PALLを解読し、全メモリバンクBK0〜BK7へプリチャージ動作を行うことを制御回路CNT_LOGに指示する。CNT_LOGは、CMD_DECからの指示に従い、全メモリバンクBK0〜BK7へプリチャージ動作を行う。T3の期間が終了した後のT4の期間(Refresh)では、情報処理装置CPU_CHIPからコマンド信号COMを介して、リフレッシュ命令REFがコマンドデコーダCMD_DECへ入力される。CMD_DECは、このリフレッシュ命令REFを解読し、全メモリバンクBK0〜BK7へリフレッシュ動作を行うことを制御回路CNT_LOGに指示する。CNT_LOGは、CMD_DECからの指示に従い、全メモリバンクBK0〜BK7へリフレッシュ動作を行う。
T4の期間が終了した後のT5の期間(MRSet)では、情報処理装置CPU_CHIPからコマンド信号COMを介して、モードレジスタセット命令MRSがコマンドデコーダCMD_DECへ入力され、またモードレジスタMREGへのモード設定値は、アドレス信号ADDを介してアドレスバッファADD_BUFへ入力される。CMD_DECは、このモードレジスタセット命令MRSを解読し、モードレジスタMREGに向けたモード設定値の設定を制御回路CNT_LOGに指示する。CNT_LOGは、CMD_DECからの指示に従い、アドレスバッファADD_BUFを介して、モード設定値をモードレジスタMREGに設定する。
T5の期間が終了した後のT6の期間(ERSet)では、情報処理装置CPU_CHIPからコマンド信号COMを介して、拡張レジスタセット命令EMRSがコマンドデコーダCMD_DECへ入力され、また拡張レジスタEREGへのレジスタ設定値はアドレス信号ADDを介してアドレスバッファADD_BUFへ入力される。CMD_DECは、この拡張レジスタセット命令EMRSを解読し、拡張レジスタEREGに向けたレジスタ設定値の設定を制御回路CNT_LOGに指示する。CNT_LOGは、CMD_DECからの指示に従い、アドレスバッファADD_BUFを介して、レジスタ設定値を拡張レジスタEREGに設定する。
T6の期間が終了した後のT7の期間(PNSet)では、情報処理装置CPU_CHIPからコマンド信号COMを介して、ピンレジスタセット命令PNRSがコマンドデコーダCMD_DECへ入力され、ピンレジスタPNREGへの設定値はアドレス信号ADDを介してアドレスバッファADD_BUFに入力される。CMD_DECは、このピンレジスタセット命令PNRSを解読し、ピンレジスタPNREGに向けたピン設定値の設定を制御回路CNT_LOGに指示する。CNT_LOGは、CMD_DECからの指示に従い、アドレスバッファADD_BUFを介して、ピン設定値をピンレジスタPNREGに設定する。T7の期間が終了した後のT8の期間(Idle)以降は、ランダムアクセスメモリMEM0はアイドル状態となり、情報処理装置CPU_CHIPからのリクエストを待つ状態となる。
<ピンレジスタPNREGへのレジスタ値を設定する動作の説明>
図2に示したT8の期間(Idle)以降にも、情報処理装置CPU_CHIPは、ランダムアクセスメモリMEM0のピンレジスタPNREGへレジスタ値を再設定することができる。図3は、図1の情報処理システムにおいて、そのピンレジスタPNREGへ設定を行う際の動作例を示す波形図である。
図2に示したT8の期間(Idle)以降にも、情報処理装置CPU_CHIPは、ランダムアクセスメモリMEM0のピンレジスタPNREGへレジスタ値を再設定することができる。図3は、図1の情報処理システムにおいて、そのピンレジスタPNREGへ設定を行う際の動作例を示す波形図である。
図3においては、まず、コマンド信号COMからピンレジスタセット命令PNRSが入力され、アドレス信号ADDとしてA13(ADD[13])=LowおよびA12(ADD[12])=Highが入力されている。これらはクロック信号CLKの立ち上がりで、ランダムアクセスメモリMEM0へ取り込まれ、ピンレジスタPNREGにおいてA13=LowおよびA12=Highのレジスタ値が設定される。この場合、ピンレジスタPNREGに設定されたレジスタ値に従い、IOバッファIOBUFは、データ信号DQ[31:16]を入力専用信号に設定し、データ信号DQ[15:0]を出力専用信号に設定し、また、データ同期信号DQS[3:2]を入力専用信号に設定し、データ同期信号DQS[1:0]を出力専用信号に設定する。
次いで、コマンド信号COMからピンレジスタセット命令PNRSが入力され、アドレス信号ADDとしてA13=HighおよびA12=Lowが入力されている。これらはクロック信号CLKの立ち上がりで、ランダムアクセスメモリMEM0へ取り込まれ、ピンレジスタPNREGにおいてA13=HighおよびA12=Lowのレジスタ値が設定される。この場合、ピンレジスタPNREGに設定されたレジスタ値に従い、IOバッファIOBUFは、データ信号DQ[31:8]を入力専用信号に設定し、データ信号DQ[7:0]を出力専用信号に設定し、また、データ同期信号DQS[3:1]を入力専用信号に設定し、データ同期信号DQS[0]を出力専用信号に設定する。
続いて、コマンド信号COMからピンレジスタセット命令PNRSが入力され、アドレス信号ADDとしてA13=LowおよびA12=Lowが入力されている。これらはクロック信号CLKの立ち上がりで、ランダムアクセスメモリMEM0へ取り込まれ、ピンレジスタPNREGにおいてA13=LowおよびA12=Lowのレジスタ値が設定される。この場合、ピンレジスタPNREGに設定されたレジスタ値に従い、IOバッファIOBUFは、データ信号DQ[31:0]のすべてを入出力信号に設定し、またデータ同期信号DQS[3:0]も入出力信号に設定する。
次いで、コマンド信号COMからピンレジスタセット命令PNRSが入力され、アドレス信号ADDとしてA13=HighおよびA12=Highが入力されている。これらはクロック信号CLKの立ち上がりで、ランダムアクセスメモリMEM0へ取り込まれ、ピンレジスタPNREGにおいてA13=HighおよびA12=Highのレジスタ値が設定される。この場合、ピンレジスタPNREGに設定されたレジスタ値に従い、IOバッファIOBUFは、データ信号DQ[31:24]を入力専用信号に設定し、データ信号DQ[23:0]を出力専用信号に設定し、また、データ同期信号DQS[3]を入力専用信号に設定し、データ同期信号DQS[2:0]を出力専用信号に設定する。
このように、情報処理装置CPU_CHIPは、ピンレジスタPNREGを再設定できるため、情報処理装置CPU_CHIPにて実行するプログラムに応じて、高速なデータ転送が実現できるように柔軟に対応できる。
<読み出しおよび書き込み動作の説明>
図4は、図1の情報処理システムにおいて、読み出し動作と書き込み動作が交互に発生した場合の動作例を示すものであり、(a)、(b)は、それぞれ異なるピンレジスタPNREGの設定を用いた場合の波形図である。図4(a)、(b)では、ランダムアクセスメモリMEM0がアイドル状態の時に、情報処理装置CPU_CHIPが、MEM0に対してメモリバンク0(BK0)の読み出し命令とメモリバンク1(BK1)の書き込み命令を交互に発生している。
図4は、図1の情報処理システムにおいて、読み出し動作と書き込み動作が交互に発生した場合の動作例を示すものであり、(a)、(b)は、それぞれ異なるピンレジスタPNREGの設定を用いた場合の波形図である。図4(a)、(b)では、ランダムアクセスメモリMEM0がアイドル状態の時に、情報処理装置CPU_CHIPが、MEM0に対してメモリバンク0(BK0)の読み出し命令とメモリバンク1(BK1)の書き込み命令を交互に発生している。
特に限定されないが、図4(a)、(b)では、予め、モードレジスタMREGにて、データ読み出しレイテンシが3に設定され、拡張モードレジスタEREGにて、出力バッファの駆動能力がノーマルに、セルフリフレッシュ動作の温度範囲が0℃から95℃に、クロック同期回路DLLが有効に設定される。また、図4(a)では、予め、モードレジスタMREGにて、バースト長が8に設定され、図4(b)では、バースト長が4に設定される。さらに、図4(a)では、ピンレジスタPNREGにて、データ信号DQ[31:16]が入力専用信号に設定され、データ信号DQ[15:0]が出力専用信号に設定され、データ同期信号DQS[3:2]が入力専用信号に設定され、データ同期信号DQS[1:0]が出力専用信号に設定される。一方、図4(b)では、ピンレジスタPNREGにて、データ信号DQ[31:0]が入出力信号に設定され、データ同期信号DQS[3:0]も入出力信号に設定される。
このような設定において、図4(a)では、まず、情報処理装置CPU_CHIPが、ランダムアクセスメモリMEM0に対して、クロック信号CLKに同期して、コマンド信号COMを介してコマンドデコーダCMD_DECにバンクアクティブ命令ACT(ACT0)を出力する。また、同サイクルで、アドレス信号ADDを通じてアドレスバッファADD_BUFにバンクアドレス(BK0)およびロウアドレス(ROW64)を出力する。CMD_DECは、このバンクアクティブ命令ACT0を解読し、制御回路CNT_LOGへメモリバンクの活性化を指示する。CNT_LOGへ入力されたメモリバンク活性化の指示およびバンクアドレス(BK0)によってメモリバンク0(BK0)が選択される。ロウアドレスROW64は、アドレスバッファADD_BUFを通じて、選択されたBK0のロウアドレスラッチ回路RAD_LTへ転送され、ロウデコーダROW_DECによりロウアドレスROW64に対応した1ページ分(特に限定されないが8192ビット分)のメモリセルが活性化されセンスアンプブロックSA_BLKに読み出される。
次に、情報処理装置CPU_CHIPは、ランダムアクセスメモリMEM0に対して、クロック信号CLKに同期して、コマンド信号COMを介してコマンドデコーダCMD_DECにバンクアクティブ命令ACT(ACT1)を出力する。また、同サイクルで、アドレス信号ADDを通じてアドレスバッファADD_BUFにバンクアドレス(BK1)およびロウアドレスROW64を出力する。CMD_DECは、このバンクアクティブ命令ACT1を解読し、制御回路CNT_LOGにメモリバンクの活性化を指示する。CNT_LOGに入力されたメモリバンク活性化の指示およびバンクアドレス(BK1)によってメモリバンク1(BK1)が選択される。ロウアドレスROW64は、ADD_BUFを通じて、選択されたBK1のロウアドレスラッチ回路RAD_LTに転送され、ロウデコーダROW_DECによってロウアドレスROW64に対応した1ページ分(特に限定されないが8192ビット分)のメモリセルが活性化されセンスアンプブロックSA_BLKに読み出される。
次に、情報処理装置CPU_CHIPは、ランダムアクセスメモリMEM0に対して、クロック信号CLKに同期して、コマンド信号COMを介してコマンドデコーダCMD_DECにリード命令READ(READ0)を出力する。また、同サイクルで、アドレス信号ADDを通じてアドレスバッファADD_BUFにバンクアドレス(BK0)およびカラムアドレスCOL32を出力する。CMD_DECは、このリード命令READ0を解読し、制御回路CNT_LOGにメモリバンクからのデータ読み出しを指示する。CNT_LOGに入力されたデータ読み出しの指示およびバンクアドレス(BK0)によってメモリバンク0(BK0)が選択される。また、データ制御回路DATA_CTLは制御回路CNT_LOGからのデータ読み出し指示により、メモリバンク0(BK0)のセンスアンプブロックSA_BLKからのグローバルデータ信号をリードデータバッファRDLATへ接続する。
カラムアドレスCOL32は、ADD_BUFを通じて、選択されたBK0のカラムアドレスラッチ回路CAD_LTに転送され、カラムデコーダCOL_DECによってカラムアドレスCOL32を開始アドレスとした16バイト分のデータがメモリバンク0(BK0)のセンスアンプブロックSA_BLKから読み出され、データ制御回路DATA_CTLを介して、リードデータバッファRDLATへ転送される。リードデータバッファRDLATへは、ピンレジスタPNREGの値と、クロック同期回路DLLからのデータクロック信号DCLKが入力され、これらを利用して読み出しデータ同期信号RDQS[1:0]が生成される。RDLAT内のデータは、読み出しデータ同期信号RDQS[1:0]に同期して、読み出しデータ信号RD[15:0]を通じて、IOバッファIOBUFへ転送される。これらの信号を受けて、IOBUFは、CPU_CHIPに向けて、データ同期信号DQS[1:0]と共に16バイト分のデータをデータ信号DQ[15:0]から出力する。
次に、情報処理装置CPU_CHIPは、ランダムアクセスメモリMEM0に対して、クロック信号CLKに同期して、コマンド信号COMを介してコマンドデコーダCMD_DECへライト命令WRIT(WRIT1)を出力する。また、同サイクルで、アドレス信号ADDを通じてアドレスバッファADD_BUFにバンクアドレス(BK1)およびカラムアドレスCOL32が入力され、以降16バイト分の書き込みデータが、データ信号DQ[31:16]からデータ同期信号DQS[3:2]に同期してIOバッファIOBUFへ順次出力される。CMD_DECは、このライト命令WRIT1を解読し、制御回路CNT_LOGへメモリバンクへのデータ書き込みを指示する。
IOバッファIOBUFは、入力された書き込みデータを、書き込みデータ同期信号WDQS[3:2]に同期して、書き込みデータ信号WD[31:16]を通じてライトデータバッファWDLATへ転送する。また、制御回路CNT_LOGに入力されたデータ書き込みの指示およびバンクアドレス(BK1)によってメモリバンク1(BK1)が選択される。また、データ制御回路DATA_CTLは、制御回路CNT_LOGからのデータ書き込み指示により、メモリバンク1(BK1)のセンスアンプブロックSA_BLKからのグローバルデータ信号をライトデータバッファWDLATへ接続する。
カラムアドレスCOL32は、アドレスバッファADD_BUFを通じて、選択されたBK1のカラムアドレスラッチ回路CAD_LTへ転送され、カラムデコーダCOL_DECによってカラムアドレスCOL32を開始アドレスとしたライトデータバッファWDLATへ格納されている16バイト分の書き込みデータが、データ制御回路DATA_CTLを通じて、BK1のセンスアンプブロックSA_BLKへ転送され、さらに、センスアンプブロックSA_BLKを介してメモリアレイMARYに書き込まれる。
次に、情報処理装置CPU_CHIPは、ランダムアクセスメモリMEM0に対して、クロック信号CLKに同期して、コマンド信号COMを介してコマンドデコーダCMD_DECにリード命令READ(READ0)を出力する。また、同サイクルで、アドレス信号ADDを通じてアドレスバッファADD_BUFにバンクアドレス(BK0)およびカラムアドレスCOL64を出力する。CMD_DECは、このリード命令READ0を解読し、制御回路CNT_LOGにメモリバンクからのデータ読み出しを指示する。CNT_LOGに入力されたデータ読み出しの指示およびバンクアドレス(BK0)によってメモリバンク0(BK0)が選択される。また、データ制御回路DATA_CTLは、制御回路CNT_LOGからのデータ読み出し指示により、メモリバンク0(BK0)のセンスアンプブロックSA_BLKからのグローバルデータ信号をリードデータバッファRDLATへ接続する。
カラムアドレスCOL64は、ADD_BUFを通じて、選択されたメモリバンク0(BK0)のカラムアドレスラッチ回路CAD_LTに転送され、カラムデコーダCOL_DECによってカラムアドレスCOL64を開始アドレスとした16バイト分のデータがBK0のセンスアンプブロックSA_BLKから読み出され、データ制御回路DATA_CTLを介して、リードデータバッファRDLATへ転送される。リードデータバッファRDLATへは、ピンレジスタPNREGの値と、クロック同期回路DLLからのデータクロック信号DCLKが入力され、これらを利用して読み出しデータ同期信号RDQS[1:0]が生成される。RDLAT内のデータは、読み出しデータ同期信号RDQS[1:0]に同期して、読み出しデータ信号RD[15:0]を通じて、IOバッファIOBUFへ転送される。これらの信号を受けて、IOBUFは、CPU_CHIPに向けて、データ同期信号DQS[1:0]と共に16バイト分のデータをデータ信号DQ[15:0]から出力する。
次に、情報処理装置CPU_CHIPは、ランダムアクセスメモリMEM0に対して、クロック信号CLKに同期して、コマンド信号COMを介してコマンドデコーダCMD_DECへライト命令WRIT(WRIT1)を出力する。また、同サイクルで、アドレス信号ADDを通じてアドレスバッファADD_BUFにバンクアドレス(BK1)およびカラムアドレスCOL64が入力され、以降16バイト分の書き込みデータが、データ信号DQ[31:16]からデータ同期信号DQS[3:2]に同期してIOバッファIOBUFへ順次出力される。CMD_DECは、このライト命令WRIT1を解読し、制御回路CNT_LOGへメモリバンクへのデータ書き込みを指示する。
IOバッファIOBUFは、入力された書き込みデータを、書き込みデータ同期信号WDQS[3:2]に同期して、書き込みデータ信号WD[31:16]を通じてライトデータバッファWDLATへ転送する。また、制御回路CNT_LOGに入力されたデータ書き込みの指示およびバンクアドレス(BK1)によってメモリバンク1(BK1)が選択される。また、データ制御回路DATA_CTLは、制御回路CNT_LOGからのデータ書き込み指示により、メモリバンク1(BK1)のセンスアンプブロックSA_BLKからのグローバルデータ信号をライトデータバッファWDLATへ接続する。
カラムアドレスCOL64は、アドレスバッファADD_BUFを通じて、選択されたBK1のカラムアドレスラッチ回路CAD_LTへ転送され、カラムデコーダCOL_DECによってカラムアドレスCOL64を開始アドレスとしたライトデータバッファWDLATへ格納されている16バイト分の書き込みデータが、データ制御回路DATA_CTLを通じて、メモリバンク1(BK1)のセンスアンプブロックSA_BLKへ転送され、さらに、センスアンプブロックSA_BLKを介してメモリアレイMARYに書き込まれる。
この図4(a)に示すように、データ信号DQ[31:0]の内の半分を入力専用に、残りの半分を出力専用に設定し、書き込みを行うメモリバンクと読み出しを行うメモリバンクが異なるように動作させることで、書き込み動作と読み出し動作を並行に行うことが可能となる。ここで、各データ信号DQ[31:0]のそれぞれでは、書き込み動作と読み出し動作の切り替えが生じないため、バースト長分のデータを書き込んだ後に更に連続してバースト長分のデータを書き込むことができ、同様に、バースト長分のデータを読み出した後に更に連続してバースト長分のデータを読み出すことができる。したがって、無駄が無い高速なデータ転送が実現可能となる。
一方、図4(b)では、図4(a)の場合と同様に、情報処理装置CPU_CHIPからランダムアクセスメモリMEM0に向けた各命令が発行されている。ただし、図4(a)と異なり、データ信号DQ[31:0]およびデータ同期信号DQS[3:0]が入出力信号に設定されているため、メモリバンク0(BK0)からの16バイト分の読み出しを行った後、所定のサイクル数待ってメモリバンク1(BK1)に対する16バイト分の書き込みを行う必要がある。また、その後も、それぞれ所定数の待ちサイクルを挟みながら、BK0からの16バイト分の読み出しと、BK1に対する16バイト分の書き込みを行う必要がある。したがって、結果的に、図4(a)の場合と比較して、データ転送速度が低下する。
以上のように、ランダムアクセスメモリMEM0への読み出し動作と書き込み動作が交互に発生する場合は、ピンレジスタPNREGにてデータ信号DQ[31:16]をデータ入力専用信号に設定し、データ信号DQ[15:0]をデータ出力専用信号に設定し、データ同期信号DQS[3:2]を入力専用信号に設定し、データ入同期信号DQS[1:0]を出力専用信号に設定することで、データ読み出し信号とデータ書き込み信号を分離しデータの読み出し動作と書き込み動作を独立に実行することができるため、読み出しデータと書き込みデータの切り替え時間が発生せず高速にデータを転送できる。これによって、特に、MPEG、JPEGおよびグラフィックスなどのように、読み出し動作と書き込み動作が交互に発生するメディヤ処理向けプログラムの処理を高速に実行可能になる。
図5は、図1の情報処理システムにおいて、読み出し動作が連続して発生した場合の動作例を示すものであり、(a)、(b)は、それぞれ異なるピンレジスタPNREGの設定を用いた場合の波形図である。図5(a)、(b)では、ランダムアクセスメモリMEM0がアイドル状態の時に、CPU_CHIPが、MEM0に対して、メモリバンク0(BK0)とメモリバンク1(BK1)の読み出し命令を発生している。
特に限定されないが、図5(a)、(b)では、予め、モードレジスタMREGにて、データ読み出しレイテンシが3に設定され、拡張モードレジスタEREGにて、出力バッファの駆動能力がノーマルに、セルフリフレッシュ動作の温度範囲が0℃から95℃に、クロック同期回路DLLが有効に設定される。また、図5(a)では、予め、モードレジスタMREGにて、バースト長が4に設定され、図5(b)では、バースト長が8に設定される。さらに、図5(a)では、ピンレジスタPNREGにて、データ信号DQ[31:0]が入出力信号に設定され、データ同期信号DQS[3:0]も入出力信号に設定される。一方、図5(b)では、ピンレジスタPNREGにて、データ信号DQ[31:16]が入力専用信号に設定され、データ信号DQ[15:0]が出力専用信号に設定され、データ同期信号DQS[3:2]が入力専用信号に設定され、データ同期信号DQS[1:0]が出力専用信号に設定される。
このような設定において、図5(a)では、まず、情報処理装置CPU_CHIPが、ランダムアクセスメモリMEM0に対して、クロック信号CLKに同期して、コマンド信号COMを介してコマンドデコーダCMD_DECへバンクアクティブ命令ACT(ACT0)を出力する。また、同サイクルで、アドレス信号ADDを通じてアドレスバッファADD_BUFへバンクアドレス(BK0)およびロウアドレスROW64を出力する。CMD_DECは、このバンクアクティブ命令ACT0を解読し、制御回路CNT_LOGへメモリバンクの活性化を指示する。CNT_LOGへ入力されたメモリバンク活性化の指示およびバンクアドレス(BK0)によってメモリバンク0(BK0)が選択される。ロウアドレスROW64は、ADD_BUFを通じて、選択されたBK0のロウアドレスラッチ回路RAD_LTへ転送され、ロウデコーダROW_DECによってロウアドレスROW64に対応した1ページ分(特に限定されないが8192ビット分)のメモリセルが活性化されセンスアンプブロックSA_BLKに読み出される。
次に、情報処理装置CPU_CHIPは、ランダムアクセスメモリMEM0に対して、クロック信号CLKに同期して、コマンド信号COMを介してコマンドデコーダCMD_DECへバンクアクティブ命令ACT(ACT1)を出力する。また、同サイクルで、アドレス信号ADDを通じてアドレスバッファADD_BUFへバンクアドレス(BK1)およびロウアドレスROW64を出力する。CMD_DECは、このバンクアクティブ命令ACT1を解読し、制御回路CNT_LOGへメモリバンクの活性化を指示する。制御回路CNT_LOGへ入力されたメモリバンク活性化の指示およびバンクアドレス(BK1)によってメモリバンク1(BK1)が選択される。ロウアドレスROW64は、アドレスバッファADD_BUFを通じて、選択されたBK1のロウアドレスラッチ回路RAD_LATへ転送され、ロウデコーダROW_DECによってロウアドレスROW64に対応した1ページ分(特に限定されないが8192ビット分)のメモリセルが活性化されセンスアンプブロックSA_BLKに読み出される。
次に、情報処理装置CPU_CHIPは、ランダムアクセスメモリMEM0に対して、クロック信号CLKに同期して、コマンド信号COMを介してコマンドデコーダCMD_DECへリード命令READ(READ0)を出力する。また、同サイクルで、アドレス信号ADDを通じてアドレスバッファADD_BUFへバンクアドレス(BK0)およびカラムアドレスCOL64を出力する。CMD_DECは、このリード命令READ0を解読し、制御回路CNT_LOGへメモリバンクからのデータ読み出しを指示する。制御回路CNT_LOGへ入力されたデータ読み出しの指示およびバンクアドレス(BK0)によってメモリバンク0(BK0)が選択される。
また、データ制御回路DATA_CTLは、制御回路CNT_LOGからのデータ読み出し指示により、メモリバンク0(BK0)のセンスアンプブロックSA_BLKからのデータ信号をリードデータバッファRDLATへ接続する。カラムアドレスCOL64は、アドレスバッファADD_BUFを通じて、選択されたBK0のカラムアドレスラッチ回路CAD_LTへ転送され、カラムデコーダCOL_DECによってカラムアドレスCOL64を開始アドレスとした16バイト分のデータがBK0のセンスアンプブロックSA_BLKから読み出され、データ制御回路DATA_CTLを介して、リードデータバッファRDLATへ転送される。
リードデータバッファRDLATへは、ピンレジスタPNREGの値と、クロック同期回路DLLからのデータクロック信号DCLKが入力され、これらを利用して読み出しデータ同期信号RDQS[3:0]が生成される。RDLAT内のデータは、読み出しデータ同期信号RDQS[3:0]に同期し、読み出しデータ信号RD[31:0]を通じて、IOバッファIOBUFへ順次転送される。これらの信号を受けて、IOBUFは、情報処理装置CPU_CHIPに向けて、データ同期信号DQS[3:0]と共に16バイト分のデータをデータ信号DQ[31:0]から順次出力する。
次に、情報処理装置CPU_CHIPは、ランダムアクセスメモリMEM0に対して、クロック信号CLKに同期して、コマンド信号COMを介してコマンドデコーダCMD_DECへリード命令READ(READ1)を出力する。また、同サイクルで、アドレス信号ADDを通じてアドレスバッファADD_BUFへバンクアドレス(BK1)およびカラムアドレスCOL64を出力する。CMD_DECは、このリード命令READ1を解読し、制御回路CNT_LOGへメモリバンクからのデータ読み出しを指示する。CNT_LOGへ入力されたデータ読み出しの指示およびバンクアドレス(BK1)によってメモリバンク1(BK1)が選択される。
また、データ制御回路DATA_CTLは、制御回路CNT_LOGからのデータ読み出し指示により、メモリバンク1(BK1)のセンスアンプブロックSA_BLKからのデータ信号をリードデータバッファRDLATへ接続する。カラムアドレスCOL64は、ADD_BUFを通じて、選択されたBK1のカラムアドレスラッチ回路CAD_LTへ転送され、カラムデコーダCOL_DECによってカラムアドレスCOL64を開始アドレスとした16バイト分のデータがBK1のセンスアンプブロックSA_BLKから読み出され、データ制御回路DATA_CTLを介して、リードデータバッファRDLATへ転送される。
リードデータバッファRDLATへは、ピンレジスタPNREGの値と、クロック同期回路DLLからのデータクロック信号DCLKが入力され、これらを利用して読み出しデータ同期信号RDQS[3:0]が生成される。RDLAT内のデータは、読み出しデータ同期信号RDQS[3:0]に同期し、読み出しデータ信号RD[31:0]を通じて、IOバッファIOBUFへ順次転送される。これらの信号を受けて、IOBUFは、情報処理装置CPU_CHIPに向けて、データ同期信号DQS[3:0]と共に16バイト分のデータをデータ信号DQ[31:0]から順次出力する。
一方、図5(b)では、図5(a)の場合と同様に、情報処理装置CPU_CHIPからランダムアクセスメモリMEM0に向けた各命令が発行されている。ただし、図5(a)と異なり、データ信号DQ[31:16]のみが出力信号に設定されているため、データ幅が半分となり、データ出力に2倍の時間を要している。
以上のように、ランダムアクセスメモリMEM0へ読み出し動作が連続する場合は、ピンレジスタPNREGにてデータ信号DQ[31:0]をデータ入出力信号に設定し、データ同期信号DQS[3:0]を入出力信号に設定することで、一度に読み出せるデータが32ビットとなるため、データ読み出しを終了するまでのレイテンシは最短となる。これによって、特に、通信制御プログラムといった読み出し動作が連続する処理を高速に実行可能になる。なお、ランダムアクセスメモリMEM0への書き込み動作が連続する場合についても、同様に、一度に書き込めるデータが32ビットとなるため、高速にデータを書き込むことができるのは言うまでもない。
また、図3で説明したように、情報処理装置CPU_CHIPは、ランダムアクセスメモリMEM0のピンレジスタPNREGを再設定できるため、CPU_CHIPにて実行するプログラムに応じて適宜再設定を行うことで、様々な実行プログラムにおいて高速なデータ転送と、最短な読み出しレイテンシを実現できる。
<命令を実現する信号組み合わせの説明>
図6は、図1の情報処理システムにおいて、ランダムアクセスメモリMEM0が実行する命令と、これを実現する信号の組み合わせの一例を示す説明図である。以下においては、各命令を入力する時のクロックサイクル時間をNとして命令毎に説明を行う。
図6は、図1の情報処理システムにおいて、ランダムアクセスメモリMEM0が実行する命令と、これを実現する信号の組み合わせの一例を示す説明図である。以下においては、各命令を入力する時のクロックサイクル時間をNとして命令毎に説明を行う。
[1]ピンレジスタセット命令PNRSの信号の組み合わせ
前クロックサイクル時間(N−1)のCKE=High、現クロックサイクル時間(N)のCKE=High、/CS=Low、/RAS=Low、/CAS=Low、/WE=Low、バンクアドレス信号BA0(A14、ADD[14])=High、バンクアドレス信号BA1(A15、ADD[15])=High、バンクアドレス信号BA2(A16、ADD[16])=High。ここで、ロウ・カラムアドレス信号A13(ADD[13])−A0(ADD[0])はオペレーションコードPINOPCODEであり、ピンレジスタセット命令PNRSにてピンレジスタPNREGへ設定される値であり、特に限定されないが、次の(a)〜(d)のようになる。
(a)A13=LowかつA12=Low:データ信号DQ[31:0]のすべてが入出力信号に設定され、データ同期信号DQS[3:0]も入出力信号に設定される。
(b)A13=LowかつA12=High:データ信号DQ[31:16]が入力専用信号に設定され、データ信号DQ[15:0]が出力専用信号に設定され、また、データ同期信号DQS[3:2]が入力専用信号に設定され、データ同期信号DQS[1:0]が出力専用信号に設定される。
(c)A13=HighかつA12=Low:データ信号DQ[31:8]が入力専用信号に設定され、データ信号DQ[7:0]が出力専用信号に設定され、また、データ同期信号DQS[3:1]が入力専用信号に設定され、データ同期信号DQS[0]が出力専用信号に設定される。
(d)A13=HighかつA12=High:データ信号DQ[31:24]が入力専用信号に設定され、データ信号DQ[23:0]が出力専用信号に設定され、また、データ同期信号DQS[3]が入力専用信号に設定され、データ同期信号DQS[2:0]が出力専用信号に設定される。
前クロックサイクル時間(N−1)のCKE=High、現クロックサイクル時間(N)のCKE=High、/CS=Low、/RAS=Low、/CAS=Low、/WE=Low、バンクアドレス信号BA0(A14、ADD[14])=High、バンクアドレス信号BA1(A15、ADD[15])=High、バンクアドレス信号BA2(A16、ADD[16])=High。ここで、ロウ・カラムアドレス信号A13(ADD[13])−A0(ADD[0])はオペレーションコードPINOPCODEであり、ピンレジスタセット命令PNRSにてピンレジスタPNREGへ設定される値であり、特に限定されないが、次の(a)〜(d)のようになる。
(a)A13=LowかつA12=Low:データ信号DQ[31:0]のすべてが入出力信号に設定され、データ同期信号DQS[3:0]も入出力信号に設定される。
(b)A13=LowかつA12=High:データ信号DQ[31:16]が入力専用信号に設定され、データ信号DQ[15:0]が出力専用信号に設定され、また、データ同期信号DQS[3:2]が入力専用信号に設定され、データ同期信号DQS[1:0]が出力専用信号に設定される。
(c)A13=HighかつA12=Low:データ信号DQ[31:8]が入力専用信号に設定され、データ信号DQ[7:0]が出力専用信号に設定され、また、データ同期信号DQS[3:1]が入力専用信号に設定され、データ同期信号DQS[0]が出力専用信号に設定される。
(d)A13=HighかつA12=High:データ信号DQ[31:24]が入力専用信号に設定され、データ信号DQ[23:0]が出力専用信号に設定され、また、データ同期信号DQS[3]が入力専用信号に設定され、データ同期信号DQS[2:0]が出力専用信号に設定される。
[2]モードレジスタセット命令MRSの信号の組み合わせ
前クロックサイクル時間(N−1)のCKE=High、現クロックサイクル時間(N)のCKE=High、/CS=Low、/RAS=Low、/CAS=Low、/WE=Low、バンクアドレス信号BA0=Low、バンクアドレス信号BA1=Low、バンクアドレス信号BA2=Low。ここで、ロウ・カラムアドレス信号A13−A0はオペレーションコードMRSOPCODEであり、モードレジスタセット命令MRSにてモードレジスタMREGへ設定される値であり、特に限定されないが、次の(a)〜(e)ようになる。
(a)A2=LowかつA1=HighかつA0=Low:バースト長が4に設定される。
(b)A2=LowかつA1=HighかつA0=High:バースト長が8に設定される。
(c)A6=LowかつA5=HighかつA4=High:読み出しレイテンシは3クロックサイクルに設定される。
(d)A6=HighかつA5=LowかつA4=Low:読み出しレイテンシは4クロックサイクルに設定される。
(e)A6=HighかつA5=LowかつA4=High:読み出しレイテンシは5クロックサイクルに設定される。
前クロックサイクル時間(N−1)のCKE=High、現クロックサイクル時間(N)のCKE=High、/CS=Low、/RAS=Low、/CAS=Low、/WE=Low、バンクアドレス信号BA0=Low、バンクアドレス信号BA1=Low、バンクアドレス信号BA2=Low。ここで、ロウ・カラムアドレス信号A13−A0はオペレーションコードMRSOPCODEであり、モードレジスタセット命令MRSにてモードレジスタMREGへ設定される値であり、特に限定されないが、次の(a)〜(e)ようになる。
(a)A2=LowかつA1=HighかつA0=Low:バースト長が4に設定される。
(b)A2=LowかつA1=HighかつA0=High:バースト長が8に設定される。
(c)A6=LowかつA5=HighかつA4=High:読み出しレイテンシは3クロックサイクルに設定される。
(d)A6=HighかつA5=LowかつA4=Low:読み出しレイテンシは4クロックサイクルに設定される。
(e)A6=HighかつA5=LowかつA4=High:読み出しレイテンシは5クロックサイクルに設定される。
[3]拡張レジスタセット命令EMRSの信号の組み合わせ
前クロックサイクル時間(N−1)のCKE=High、現クロックサイクル時間(N)のCKE=High、/CS=Low、/RAS=Low、/CAS=Low、/WE=Low、バンクアドレス信号BA0=High、バンクアドレス信号BA1=Low、バンクアドレス信号BA2=Low。ここで、ロウ・カラムアドレス信号A13−A0はオペレーションコードEMRSOPCODEであり、拡張レジスタセット命令EMRSにて拡張レジスタEREGへ設定される値であり、特に限定されないが、次の(a)〜(d)ようになる。
(a)A1=Low:出力バッファの駆動能力がノーマルに設定される。
(b)A1=High:出力バッファの駆動能力がウィークへ設定される。
(c)A7=Low:セルフリフレッシュの保障温度範囲が0℃から75℃までに設定される。
(d)A7=High:セルフリフレッシュの保障温度範囲が0℃から95℃までに設定される。
前クロックサイクル時間(N−1)のCKE=High、現クロックサイクル時間(N)のCKE=High、/CS=Low、/RAS=Low、/CAS=Low、/WE=Low、バンクアドレス信号BA0=High、バンクアドレス信号BA1=Low、バンクアドレス信号BA2=Low。ここで、ロウ・カラムアドレス信号A13−A0はオペレーションコードEMRSOPCODEであり、拡張レジスタセット命令EMRSにて拡張レジスタEREGへ設定される値であり、特に限定されないが、次の(a)〜(d)ようになる。
(a)A1=Low:出力バッファの駆動能力がノーマルに設定される。
(b)A1=High:出力バッファの駆動能力がウィークへ設定される。
(c)A7=Low:セルフリフレッシュの保障温度範囲が0℃から75℃までに設定される。
(d)A7=High:セルフリフレッシュの保障温度範囲が0℃から95℃までに設定される。
[4]リフレッシュ命令REFの信号の組み合わせ
前クロックサイクル時間(N−1)のCKE=High、現クロックサイクル時間(N)のCKE=High、/CS=Low、/RAS=Low、/CAS=Low、/WE=High。
前クロックサイクル時間(N−1)のCKE=High、現クロックサイクル時間(N)のCKE=High、/CS=Low、/RAS=Low、/CAS=Low、/WE=High。
[5]セルフリフレッシュ・エントリ命令SELFの信号の組み合わせ
前クロックサイクル時間(N−1)のCKE=High、現クロックサイクル時間(N)のCKE=Low、/CS=Low、/RAS=Low、/CAS=Low、/WE=High。
前クロックサイクル時間(N−1)のCKE=High、現クロックサイクル時間(N)のCKE=Low、/CS=Low、/RAS=Low、/CAS=Low、/WE=High。
[6]セルフリフレッシュ解除命令SELFXの信号の組み合わせ
前クロックサイクル時間(N−1)のCKE=Low、現クロックサイクル時間(N)のCKE=High、/CS=High。
前クロックサイクル時間(N−1)のCKE=Low、現クロックサイクル時間(N)のCKE=High、/CS=High。
[7]プリチャージ命令PRE信号の組み合わせ
前クロックサイクル時間(N−1)のCKE=High、現クロックサイクル時間(N)のCKE=High、/CS=Low、/RAS=Low、/CAS=High、/WE=Low、A10=Low。この際には、バンクアドレス信号BA0,BA1,BA2にて選択されたメモリバンクBK0〜BK7に対してプリチャージ動作が行われる。
前クロックサイクル時間(N−1)のCKE=High、現クロックサイクル時間(N)のCKE=High、/CS=Low、/RAS=Low、/CAS=High、/WE=Low、A10=Low。この際には、バンクアドレス信号BA0,BA1,BA2にて選択されたメモリバンクBK0〜BK7に対してプリチャージ動作が行われる。
[8]プリチャージオール命令PALL信号の組み合わせ
前クロックサイクル時間(N−1)のCKE=High、現クロックサイクル時間(N)のCKE=High、/CS=Low、/RAS=Low、/CAS=High、/WE=Low、A10=High。
前クロックサイクル時間(N−1)のCKE=High、現クロックサイクル時間(N)のCKE=High、/CS=Low、/RAS=Low、/CAS=High、/WE=Low、A10=High。
[9]バンクアクティブ命令ACTの信号の組み合わせ
前クロックサイクル時間(N−1)のCKE=High、現クロックサイクル時間(N)のCKE=High、/CS=Low、/RAS=Low、/CAS=High、/WE=High。この際には、バンクアドレス信号BA0,BA1,BA2にて選択されたメモリバンクBK0〜BK7内のロウ・カラムアドレス信号A13−A0にて選択されたロウアドレスRAが活性化される。
前クロックサイクル時間(N−1)のCKE=High、現クロックサイクル時間(N)のCKE=High、/CS=Low、/RAS=Low、/CAS=High、/WE=High。この際には、バンクアドレス信号BA0,BA1,BA2にて選択されたメモリバンクBK0〜BK7内のロウ・カラムアドレス信号A13−A0にて選択されたロウアドレスRAが活性化される。
[10]ライト命令WRITの信号の組み合わせ
前クロックサイクル時間(N−1)のCKE=High、現クロックサイクル時間(N)のCKE=High、/CS=Low、/RAS=High、/CAS=Low、/WE=Low、A10=Low。この際には、バンクアドレス信号BA0,BA1,BA2にて選択されたメモリバンクBK0〜BK7内のロウ・カラムアドレス信号A13−A0にて選択されたカラムアドレスCAを起点に書き込みが行われる。
前クロックサイクル時間(N−1)のCKE=High、現クロックサイクル時間(N)のCKE=High、/CS=Low、/RAS=High、/CAS=Low、/WE=Low、A10=Low。この際には、バンクアドレス信号BA0,BA1,BA2にて選択されたメモリバンクBK0〜BK7内のロウ・カラムアドレス信号A13−A0にて選択されたカラムアドレスCAを起点に書き込みが行われる。
[11]ライト&オートプリチャージ命令WRITAの信号の組み合わせ
前クロックサイクル時間(N−1)のCKE=High、現クロックサイクル時間(N)のCKE=High、/CS=Low、/RAS=High、/CAS=Low、/WE=Low、A10=High。この際には、バンクアドレス信号BA0,BA1,BA2にて選択されたメモリバンクBK0〜BK7内のロウ・カラムアドレス信号A13−A0にて選択されたカラムアドレスCAを起点にデータ書き込みが行われ、この書き込み動作が終了した後に自動的にプリチャージが行われる。
前クロックサイクル時間(N−1)のCKE=High、現クロックサイクル時間(N)のCKE=High、/CS=Low、/RAS=High、/CAS=Low、/WE=Low、A10=High。この際には、バンクアドレス信号BA0,BA1,BA2にて選択されたメモリバンクBK0〜BK7内のロウ・カラムアドレス信号A13−A0にて選択されたカラムアドレスCAを起点にデータ書き込みが行われ、この書き込み動作が終了した後に自動的にプリチャージが行われる。
[12]リード命令READの信号の組み合わせ
前クロックサイクル時間(N−1)のCKE=High、現クロックサイクル時間(N)のCKE=High、/CS=Low、/RAS=High、/CAS=Low、/WE=High、A10=Low。この際には、バンクアドレス信号BA0,BA1,BA2にて選択されたメモリバンクBK0〜BK7内のロウ・カラムアドレス信号A13−A0にて選択されたカラムアドレスCAを起点にデータ読み出しが行われる。
前クロックサイクル時間(N−1)のCKE=High、現クロックサイクル時間(N)のCKE=High、/CS=Low、/RAS=High、/CAS=Low、/WE=High、A10=Low。この際には、バンクアドレス信号BA0,BA1,BA2にて選択されたメモリバンクBK0〜BK7内のロウ・カラムアドレス信号A13−A0にて選択されたカラムアドレスCAを起点にデータ読み出しが行われる。
[13]リード&オートプリチャージ命令READAの信号の組み合わせ
前クロックサイクル時間(N−1)のCKE=High、現クロックサイクル時間(N)のCKE=High、/CS=Low、/RAS=High、/CAS=Low、/WE=High、A10=High。この際には、バンクアドレス信号BA0,BA1,BA2にて選択されたメモリバンクBK0〜BK7内のロウ・カラムアドレス信号A13−A0にて選択されたカラムアドレスCAを起点にデータ読み出しが行われ、この読み出し動作が終了した後に自動的にプリチャージが行われる。
前クロックサイクル時間(N−1)のCKE=High、現クロックサイクル時間(N)のCKE=High、/CS=Low、/RAS=High、/CAS=Low、/WE=High、A10=High。この際には、バンクアドレス信号BA0,BA1,BA2にて選択されたメモリバンクBK0〜BK7内のロウ・カラムアドレス信号A13−A0にて選択されたカラムアドレスCAを起点にデータ読み出しが行われ、この読み出し動作が終了した後に自動的にプリチャージが行われる。
[14]ノーオペレーション命令NOPの信号の組み合わせ
前クロックサイクル時間(N−1)のCKE=High、/CS=Low、/RAS=High、/CAS=High、/WE=High。
前クロックサイクル時間(N−1)のCKE=High、/CS=Low、/RAS=High、/CAS=High、/WE=High。
[15]デセレクト命令の信号の組み合わせ
前クロックサイクル時間(N−1)のCKE=High、/CS=High。
前クロックサイクル時間(N−1)のCKE=High、/CS=High。
[16]パワーダウンモード・エントリ命令PDENの信号の組み合わせ
前クロックサイクル時間(N−1)のCKE=High、現クロックサイクル時間(N)のCKE=Low、/CS=High。
前クロックサイクル時間(N−1)のCKE=High、現クロックサイクル時間(N)のCKE=Low、/CS=High。
[17]パワーダウンモード解除命令PDENXの信号の組み合わせ
前クロックサイクル時間(N−1)のCKE=Low、現クロックサイクル時間(N)のCKE=High、/CS=High。
前クロックサイクル時間(N−1)のCKE=Low、現クロックサイクル時間(N)のCKE=High、/CS=High。
<IOバッファIOBUFの説明>
図7は、図1の情報処理システムにおいて、ランダムアクセスメモリMEM0のIOバッファIOBUFにおける主要部の構成例を示す回路図である。図7に示すIOバッファIOBUFは、データ信号DQ[31:0]の各ビットに対応するデータバッファDQ_BUF[0]〜DQ_BUF[31]と、データ信号入出力選択回路DQ_SELを備えている。DQ_BUF[0]〜DQ_BUF[31]のそれぞれは、入力バッファIBFと、出力バッファOBFと、選択回路IOSELから構成される。
図7は、図1の情報処理システムにおいて、ランダムアクセスメモリMEM0のIOバッファIOBUFにおける主要部の構成例を示す回路図である。図7に示すIOバッファIOBUFは、データ信号DQ[31:0]の各ビットに対応するデータバッファDQ_BUF[0]〜DQ_BUF[31]と、データ信号入出力選択回路DQ_SELを備えている。DQ_BUF[0]〜DQ_BUF[31]のそれぞれは、入力バッファIBFと、出力バッファOBFと、選択回路IOSELから構成される。
データ信号入出力選択回路DQ_SELは、32個のデータバッファDQ_BUFを入力専用バッファに設定するか、出力専用バッファに設定するか、入出力バッファに設定するかを選択する回路である。DQ_SELは、入力されたピンレジスタPNREG[1:0]の値と、リード指示信号NFRDと、ライト指示信号NFWRに対応し、SEL3[1:0]と、SEL2[1:0]と、SEL1[1:0]と、SEL0[1:0]の値を出力する。SEL3[1:0]は、データ信号DQ[31:24]に対応したデータバッファDQ_BUF[24]〜DQ_BUF[31]内の選択回路IOSELへ入力される。SEL2[1:0]は、データ信号DQ[23:16]に対応したデータバッファDQ_BUF[16]〜DQ_BUF[23]内の選択回路IOSELへ入力される。SEL1[1:0]は、データ信号DQ[15:8]に対応したデータバッファDQ_BUF[8]〜DQ_BUF[15]内の選択回路IOSELへ入力される。SEL0[1:0]は、データ信号DQ[7:0]に対応したデータバッファDQ_BUF[0]〜DQ_BUF[7]内の選択回路IOSELへ入力される。
SEL3[1]がLowの場合は、SEL3[0]の値にかかわらず、DQ_BUF[24]〜DQ_BUF[31]内の各選択回路IOSELは、自身の入力バッファ活性化信号INEと出力バッファ活性化信号OUTEをLowとし、入力バッファIBFおよび出力バッファOBFを無効化する。その結果、データ信号DQ[31:24]はハイインピーダンスとなる。SEL3[1]がHighで、SEL3[0]がHighの場合、DQ_BUF[24]〜DQ_BUF[31]内の選択回路IOSELは、自身のINEをLowとし、OUTEをHighとし、入力バッファIBFを無効化し、出力バッファOBFを有効化する。その結果、データ信号RD[31:24]から入力されたデータは、DQ_BUF[24]〜DQ_BUF[31]内の出力バッファOBFを通じてデータ信号DQ[31:24]から出力される。また、SEL3[1]がHighで、SEL3[0]がLowの場合、DQ_BUF[24]〜DQ_BUF[31]内の各選択回路IOSELは、自身のINEをHighとし、OUTEをLowとし、入力バッファIBFを有効化し、出力バッファOBFを無効化する。その結果、データ信号DQ[31:24]から入力されたデータは、DQ_BUF[24]〜DQ_BUF[31]内の入力バッファIBFを通じてデータWD[31:24]へ送信される。
SEL2[1]がLowの場合は、SEL2[0]の値にかかわらず、DQ_BUF[16]〜DQ_BUF[23]内の各選択回路IOSELは、自身の入力バッファ活性化信号INEと出力バッファ活性化信号OUTEをLowとし、入力バッファIBFおよび出力バッファOBFを無効化する。その結果、データ信号DQ[23:16]はハイインピーダンスとなる。SEL2[1]がHighで、SEL2[0]がHighの場合、DQ_BUF[16]〜DQ_BUF[23]内の選択回路IOSELは、自身のINEをLowとし、OUTEをHighとし、入力バッファIBFを無効化し、出力バッファOBFを有効化する。その結果、データ信号RD[23:16]から入力されたデータは、DQ_BUF[16]〜DQ_BUF[23]内の出力バッファOBFを通じてデータ信号DQ[23:16]から出力される。また、SEL2[1]がHighで、SEL2[0]がLowの場合、DQ_BUF[16]〜DQ_BUF[23]内の各選択回路IOSELは、自身のINEをHighとし、OUTEをLowとし、入力バッファIBFを有効化し、出力バッファOBFを無効化する。その結果、データ信号DQ[23:16]から入力されたデータは、DQ_BUF[16]〜DQ_BUF[23]内の入力バッファIBFを通じてデータWD[23:16]へ送信される。
SEL1[1]がLowの場合は、SEL1[0]の値にかかわらず、DQ_BUF[8]〜DQ_BUF[15]内の各選択回路IOSELは、自身の入力バッファ活性化信号INEと出力バッファ活性化信号OUTEをLowとし、入力バッファIBFおよび出力バッファOBFを無効化する。その結果、データ信号DQ[15:8]はハイインピーダンスとなる。SEL1[1]がHighで、SEL1[0]がHighの場合、DQ_BUF[8]〜DQ_BUF[15]内の選択回路IOSELは、自身のINEをLowとし、OUTEをHighとし、入力バッファIBFを無効化し、出力バッファOBFを有効化する。その結果、データ信号RD[15:8]から入力されたデータは、DQ_BUF[8]〜DQ_BUF[15]内の出力バッファOBFを通じてデータ信号DQ[15:8]から出力される。また、SEL1[1]がHighで、SEL1[0]がLowの場合、DQ_BUF[8]〜DQ_BUF[15]内の各選択回路IOSELは、自身のINEをHighとし、OUTEをLowとし、入力バッファIBFを有効化し、出力バッファOBFを無効化する。その結果、データ信号DQ[15:8]から入力されたデータは、DQ_BUF[8]〜DQ_BUF[15]内の入力バッファIBFを通じてデータWD[15:8]へ送信される。
SEL0[1]がLowの場合は、SEL0[0]の値にかかわらず、DQ_BUF[0]〜DQ_BUF[7]内の各選択回路IOSELは、自身の入力バッファ活性化信号INEと出力バッファ活性化信号OUTEをLowとし、入力バッファIBFおよび出力バッファOBFを無効化する。その結果、データ信号DQ[7:0]はハイインピーダンスとなる。SEL0[1]がHighで、SEL0[0]がHighの場合、DQ_BUF[0]〜DQ_BUF[7]内の選択回路IOSELは、自身のINEをLowとし、OUTEをHighとし、入力バッファIBFを無効化し、出力バッファOBFを有効化する。その結果、データ信号RD[7:0]から入力されたデータは、DQ_BUF[0]〜DQ_BUF[7]内の出力バッファOBFを通じてデータ信号DQ[7:0]から出力される。また、SEL0[1]がHighで、SEL0[0]がLowの場合、DQ_BUF[0]〜DQ_BUF[7]内の各選択回路IOSELは、自身のINEをHighとし、OUTEをLowとし、入力バッファIBFを有効化し、出力バッファOBFを無効化する。その結果、データ信号DQ[7:0]から入力されたデータは、DQ_BUF[0]〜DQ_BUF[7]内の入力バッファIBFを通じてデータWD[7:0]へ送信される。
ここで、まずは、すべてのデータバッファDQ_BUFを入出力バッファとして動作させる場合の説明を行う。ピンレジスタPNREG[1]の値がLowおよびPNREG[0]の値がLowに設定されると、データ信号入出力選択回路DQ_SELは、リード指示信号NFRDと、ライト指示信号NFWRに対応し、SEL3[1:0]と、SEL2[1:0]と、SEL1[1:0]と、SEL0[1:0]の値を変化させ、データバッファDQ_BUF[0]〜DQ_BUF[31]を入出力バッファとして動作させる。以下に、その制御方法の一例を示す。
リード指示信号NFRDと、ライト指示信号NFWRは電源投入時の初期化動作にてLowに設定され、アイドル状態(IDLE)ではどちらもLowとなっている。コマンドデコーダCMD_DECはコマンド信号COMからの命令を解読し、制御回路CNT_LOGへ伝える。CMD_DECによって解読された命令がリード命令である場合、CNT_LOGはリード指示信号NFRDをHighとし、ライト指示信号NFWRをLowとしデータ信号入出力選択回路DQ_SELへ伝える。これを受けて、DQ_SELは、すべてのデータバッファDQ_BUF[0]〜DQ_BUF[31]が出力バッファとなるように、SEL3[1:0]、SEL2[1:0]、SEL1[1:0]およびSEL0[1:0]のすべての信号をHighとし、すべての入力バッファIBFを無効化し、すべての出力バッファOBFを有効化する。これによってデータ信号DQ[31:0]からデータが出力され情報処理装置CPU_CHIPへ送信される。
データがすべて出力された後、CNT_LOGではNFRDをLowとし、NFWRをLowとしDQ_SELへ伝える。これを受けて、DQ_SELは、すべての入力バッファIBFと出力バッファOBFを無効化するため、SEL3[1:0]、SEL2[1:0]、SEL1[1:0]およびSEL0[1:0]のすべての信号をLowとする。これによってデータ信号DQ[31:0]は、ハイインピーダンスとなる。
コマンドデコーダCMD_DECによって解読された命令がライト命令である場合、制御回路CNT_LOGは、リード指示信号NFRDをLowとし、ライト指示信号NFWRをHighとしデータ信号入出力選択回路DQ_SELへ伝える。これを受けて、DQ_SELは、すべてのデータバッファDQ_BUF[0]〜DQ_BUF[31]が入力バッファとなるように、SEL3[1]、SEL2[1]、SEL1[1]およびSEL0[1]のすべての信号をHighとし、SEL3[0]、SEL2[0]、SEL1[0]およびSEL0[0]のすべての信号をLowとし、すべての入力バッファIBFを有効化し、すべての出力バッファOBFを無効化する。これによって情報処理装置CPU_CHIPは、データ信号DQ[31:0]を通じてデータを書き込むことができる。
すべてのデータがデータバッファDQ_BUF[0]〜DQ_BUF[31]へ入力された後、CNT_LOGではNFRDをLowとし、NFWRをHighとしDQ_SELへ伝える。これを受けて、DQ_SELは、すべての入力バッファIBFと出力バッファOBFを無効化するため、SEL3[1:0]、SEL2[1:0]、SEL1[1:0]およびSEL0[1:0]のすべての信号をLowとする。これによってデータ信号DQ[31:0]は、ハイインピーダンスとなる。なお、すべてのデータバッファDQ_BUFを入出力バッファとして動作させる場合、すなわちピンレジスタPNREG[1]の値がLowおよびPNREG[0]の値がLowに設定されると、CNT_LOGは、NFRDとNFWRが同時にHighとならないような制御を行う。
次に、データ信号DQ[31:16]に対応するデータバッファDQ_BUF[16]〜DQ_BUF[31]を入力専用バッファとして動作させ、データ信号DQ[15:0]に対応するデータバッファDQ_BUF[0]〜DQ_BUF[15]を出力専用バッファとして動作させる場合の説明を行う。ピンレジスタPNREG[1]の値がLowおよびPNREG[0]の値がHighに設定されると、データ信号入出力選択回路DQ_SELは、SEL3[0]とSEL2[0]をLowとし、SEL1[0]とSEL0[0]をHighとする。これによって、DQ_BUF[16]〜DQ_BUF[31]の出力バッファOBFは無効化され、DQ_BUF[0]〜DQ_BUF[15]の入力バッファIBFは無効化される。リード指示信号NFRDおよびライト指示信号NFWRに対応し、SEL3[1]と、SEL2[1]と、SEL1[1]と、SEL0[1]の値を変化させ、DQ_BUF[16]〜DQ_BUF[31]を入力専用バッファとして動作させ、DQ_BUF[0]〜DQ_BUF[15]を出力専用バッファとして動作させる。以下に、その制御方法の一例を示す。
リード指示信号NFRDおよびライト指示信号NFWRは、電源投入時の初期化動作にてLowに設定され、アイドル状態(IDLE)ではLowとなっている。コマンドデコーダCMD_DECはコマンド信号COMからの命令を解読し、制御回路CNT_LOGへ伝える。CMD_DECによって解読された命令がリード命令である場合、CNT_LOGはNFRDをHighとし、データ信号入出力選択回路DQ_SELへ伝える。これを受けて、DQ_SELは、DQ_BUF[0]〜DQ_BUF[15]が出力バッファとして動作するように、SEL1[1]とSEL0[1]とをHighとし、DQ_BUF[0]〜DQ_BUF[15]内の出力バッファOBFを有効化する。これによってデータ信号DQ[15:0]からデータが出力され情報処理装置CPU_CHIPへ送信される。
データがすべて出力された後、CNT_LOGはNFRDをLowとし、DQ_SELへ伝える。これを受けて、DQ_SELは、NFRDがLowになったので、SEL1[1]とSEL0[1]とをLowとし、DQ_BUF[0]〜DQ_BUF[15]内の出力バッファOBFを無効化する。これによってデータ信号DQ[15:0]は、ハイインピーダンスとなる。
コマンドデコーダCMD_DECによって解読された命令がライト命令である場合、制御回路CNT_LOGはリード指示信号NFRDをLowとし、ライト指示信号NFWRをHighとしデータ信号入出力選択回路DQ_SELへ伝える。これを受けて、DQ_SELは、DQ_BUF[16]〜DQ_BUF[31]が入力バッファとして動作するように、SEL3[1]とSEL2[1]とをHighとし、DQ_BUF[16]〜DQ_BUF[31]内の入力バッファIBFを有効化する。これによって情報処理装置CPU_CHIPはデータ信号DQ[31:16]を通じてデータを書き込むことができる。
すべてのデータがデータバッファDQ_BUF[16]〜DQ_BUF[31]に入力された後、CNT_LOGではNFWRをLowとし、DQ_SELへ伝える。これを受けて、DQ_SELは、ライト指示信号NFWRをLowとなったので、SEL3[1]とSEL2[1]とをLowとし、DQ_BUF[16]〜DQ_BUF[31]内の入力バッファIBFを無効化する。これによってデータ信号DQ[31:16]は、ハイインピーダンスとなる。なお、DQ_BUF[16]〜DQ_BUF[31]を入力専用バッファとして動作させ、DQ_BUF[0]〜DQ_BUF[15]を出力専用バッファとして動作させる場合は、読み出し動作と書き込み動作は平行に行うことができるため、ピンレジスタPNREG[1]の値がLowおよびPNREG[0]の値がHighへ設定されると、CNT_LOGは、NFRDとNFWRが全く独立に遷移可能なように制御を行う。
また、データ信号DQ[31:24]に対応するデータバッファDQ_BUF[24]〜DQ_BUF[31]を入力専用バッファとして動作させ、データ信号DQ[23:0]に対応するデータバッファDQ_BUF[0]〜DQ_BUF[23]を出力専用バッファとして動作させる場合も、上記と同様の制御が行われる。さらに、データ信号DQ[31:8]に対応するデータバッファDQ_BUF[8]〜DQ_BUF[31]を入力専用バッファとして動作させ、データ信号DQ[7:0]に対応するデータバッファDQ_BUF[0]〜DQ_BUF[7]を出力専用バッファとして動作させる場合も、上記と同様の制御が行われる。
図8は、図1の情報処理システムにおいて、ランダムアクセスメモリMEM0のIOバッファIOBUFにおける他の主要部の構成例を示す回路図である。図8に示すIOバッファIOBUFは、データ同期信号DQS[3:0]の各ビットに対応するデータ同期バッファDQS_BUF[0]〜DQS_BUF[3]と、データ同期信号入出力選択回路DQS_SELを備えている。DQS_BUF[0]〜DQS_BUF[3]のそれぞれは、入力バッファIBFと、出力バッファOBFと、選択回路DSSELから構成される。
データ同期信号入出力選択回路DQS_SELは、4個のデータ同期バッファDQS_BUF[0]〜DQS_BUF[3]を入力バッファに設定するか、出力バッファに設定するか、入出力バッファに設定するかを選択する回路である。DQS_SELは、入力されたピンレジスタPNREG[1:0]の値と、リード指示信号NFRDと、ライト指示信号NFWRに対応して、SSEL3[1:0]と、SSEL2[1:0]と、SSEL1[1:0]と、SSEL0[1:0]の値を出力する。SSEL3[1:0]は、DQS_BUF[3]の選択回路DSSELに入力され、SEL2[1:0]は、DQS_BUF[2]のDSSELへ入力され、SEL1[1:0]は、DQS_BUF[1]のDSSELへ入力され、SEL0[1:0]は、DQS_BUF[0]のDSSELへ入力される。
SSEL3[1]がLowの場合は、SSEL3[0]の値にかかわらず、データ同期信号DQS[3]へ対応したデータ同期バッファDQS_BUF[3]の選択回路DSSELは、入力バッファ活性化信号INEと出力バッファ活性化信号OUTEをLowとし、入力バッファIBFおよび出力バッファOBFを無効化する。その結果、データ同期信号DQS[3]はハイインピーダンスとなる。SSEL3[1]がHighで、SSEL3[0]がHighの場合、DQS_BUF[3]のDSSELは、INEをLowとし、OUTEをHighとし、IBFを無効化し、OBFを有効化する。その結果、読み出しデータ同期信号RDQS[3]から入力された信号は、DQS_BUF[3]内のOBFを通じてDQS[3]から出力される。SSEL3[1]がHighで、SSEL3[0]がLowの場合、DQS_BUF[3]のDSSELは、INEをHighとし、OUTEをLowとし、IBFを有効化し、OBFを無効化する。その結果、DQS[3]から入力された信号は、DQS_BUF[3]内のIBFを通じて書き込みデータ同期信号WDQS[3]へ送信される。
SSEL2[1]がLowの場合は、SSEL2[0]の値にかかわらず、データ同期信号DQS[2]へ対応したデータ同期バッファDQS_BUF[2]の選択回路DSSELは、入力バッファ活性化信号INEと出力バッファ活性化信号OUTEをLowとし、入力バッファIBFおよび出力バッファOBFを無効化する。その結果、データ同期信号DQS[2]はハイインピーダンスとなる。SSEL2[1]がHighで、SSEL2[0]がHighの場合、DQS_BUF[2]のDSSELは、INEをLowとし、OUTEをHighとし、IBFを無効化し、OBFを有効化する。その結果、読み出しデータ同期信号RDQS[2]から入力された信号は、DQS_BUF[2]内のOBFを通じてDQS[2]から出力される。SSEL2[1]がHighで、SSEL2[0]がLowの場合、DQS_BUF[2]のDSSELは、INEをHighとし、OUTEをLowとし、IBFを有効化し、OBFを無効化する。その結果、DQS[2]から入力された信号は、DQS_BUF[2]内のIBFを通じて書き込みデータ同期信号WDQS[2]へ送信される。
SSEL1[1]がLowの場合は、SSEL1[0]の値にかかわらず、データ同期信号DQS[1]へ対応したデータ同期バッファDQS_BUF[1]の選択回路DSSELは、入力バッファ活性化信号INEと出力バッファ活性化信号OUTEをLowとし、入力バッファIBFおよび出力バッファOBFを無効化する。その結果、データ同期信号DQS[1]はハイインピーダンスとなる。SSEL1[1]がHighで、SSEL1[0]がHighの場合、DQS_BUF[1]のDSSELは、INEをLowとし、OUTEをHighとし、IBFを無効化し、OBFを有効化する。その結果、読み出しデータ同期信号RDQS[1]から入力された信号は、DQS_BUF[1]内のOBFを通じてDQS[1]から出力される。SSEL1[1]がHighで、SSEL1[0]がLowの場合、DQS_BUF[1]のDSSELは、INEをHighとし、OUTEをLowとし、IBFを有効化し、OBFを無効化する。その結果、DQS[1]から入力された信号は、DQS_BUF[1]内のIBFを通じて書き込みデータ同期信号WDQS[1]へ送信される。
SSEL0[1]がLowの場合は、SSEL0[0]の値にかかわらず、データ同期信号DQS[0]へ対応したデータ同期バッファDQS_BUF[0]の選択回路DSSELは、入力バッファ活性化信号INEと出力バッファ活性化信号OUTEをLowとし、入力バッファIBFおよび出力バッファOBFを無効化する。その結果、データ同期信号DQS[0]はハイインピーダンスとなる。SSEL0[1]がHighで、SSEL0[0]がHighの場合、DQS_BUF[0]のDSSELは、INEをLowとし、OUTEをHighとし、IBFを無効化し、OBFを有効化する。その結果、読み出しデータ同期信号RDQS[0]から入力された信号は、DQS_BUF[0]内のOBFを通じてDQS[0]から出力される。SSEL0[1]がHighで、SSEL0[0]がLowの場合、DQS_BUF[0]のDSSELは、INEをHighとし、OUTEをLowとし、IBFを有効化し、OBFを無効化する。その結果、DQS[0]から入力された信号は、DQS_BUF[0]内のIBFを通じて書き込みデータ同期信号WDQS[0]へ送信される。
ここで、まずは、すべてのデータ同期バッファDQS_BUFを入出力バッファとして動作させる場合の説明を行う。ピンレジスタPNREG[1]の値がLowおよびPNREG[0]の値がLowへ設定されると、データ同期信号入出力選択回路DQS_SELは、リード指示信号NFRDと、ライト指示信号NFWRに対応し、SSEL3[1:0]と、SSEL2[1:0]と、SSEL1[1:0]と、SSEL0[1:0]の値を変化させ、データ同期バッファDQS_BF[0]〜DQS_BF[3]を入出力バッファとして動作させる。以下に、その制御方法の一例を示す。
リード指示信号NFRDと、ライト指示信号NFWRは、電源投入時の初期化動作にてLowに設定され、アイドル状態(IDLE)ではどちらもLowとなっている。コマンドデコーダCMD_DECは、コマンド信号COMからの命令を解読し、制御回路CNT_LOGへ伝える。CMD_DECによって解読された命令がリード命令である場合、CNT_LOGはNFRDをHighとし、NFWRをLowとしDQS_SELへ伝える。これを受けて、DQS_SELは、DQS_BF[0]〜DQS_BF[3]が出力バッファとなるように、SSEL3[1:0]、SSEL2[1:0]、SSEL1[1:0]およびSSEL0[1:0]のすべての信号をHighとし、すべての入力バッファIBFを無効化し、すべての出力バッファOBFを有効化する。これによって読み出しデータ同期信号RDQS[3:0]は出力バッファOBFを介してデータ同期信号DQS[3:0]から出力され情報処理装置CPU_CHIPへ送信される。
データ信号DQ[31:0]から読み出しデータがすべて出力された後、CNT_LOGは、NFRDをLowとし、NFWRをLowとしDQS_SELへ伝える。これを受けて、DQS_SELは、すべてのIBFとOBFを無効化するため、SSEL3[1:0]、SSEL2[1:0]、SSEL1[1:0]およびSSEL0[1:0]のすべての信号をLowとする。これによってデータ同期信号DQS[3:0]は、ハイインピーダンスとなる。
一方、コマンドデコーダCMD_DECによって解読された命令がライト命令である場合、制御回路CNT_LOGは、リード指示信号NFRDをLowとし、ライト指示信号NFWRをHighとしデータ同期信号入出力選択回路DQS_SELへ伝える。DQS_SELは、すべてのデータ同期バッファDQS_BF[0]〜DQS_BF[3]が入力バッファとなるように、SSEL3[1]、SSEL2[1]、SSEL1[1]およびSSEL0[1]の信号をHighとし、SSEL3[0]、SSEL2[0]、SSEL1[0]およびSSEL0[0]の信号をLowとし、すべての入力バッファIBFを有効化し、すべての出力バッファOBFを無効化する。これによって情報処理装置CPU_CHIPはデータ同期信号DQS[3:0]からの信号を、入力バッファIBFを介して書き込みデータ同期信号WDQS[3:0]へ伝えることができる。
データ信号DQ[31:0]からすべての書き込みデータが入力された後、CNT_LOGは、NFRDをLowとし、NFWRをHighとしDQS_SELへ伝える。これを受けて、DQS_SELは、すべてのIBFとOBFを無効化するため、SSEL3[1:0]、SSEL2[1:0]、SSEL1[1:0]およびSSEL0[1:0]のすべての信号をLowとする。これによってデータ同期信号DQS[3:0]は、ハイインピーダンスとなる。なお、すべてのデータ同期バッファDQS_BUFを入出力バッファとして動作させるため、ピンレジスタPNREG[1]の値がLowおよびPNREG[0]の値がLowに設定されると、制御回路CNT_LOGは、リード指示信号NFRDとライト指示信号NFWRが同時にHighとならないような制御を行う。
次に、データ同期信号DQS[3:2]に対応するデータ同期バッファDQS_BUFを入力専用バッファとして動作させ、データ同期信号DQS[1:0]に対応するデータ同期バッファDQS_BUFを出力専用バッファとして動作させる場合の説明を行う。ピンレジスタPNREG[1]の値がLowおよびPNREG[0]の値がHighに設定されると、データ同期信号入出力選択回路DQS_SELは、SSEL3[0]とSSEL2[0]をLowとし、SSEL1[0]とSSEL0[0]をHighとする。これによって、データ同期信号DQS[3:2]に対応するデータ同期バッファDQS_BUF[2],DQS_BUF[3]の出力バッファOBFは無効化され、データ同期信号DQS[1:0]に対応するデータ同期バッファDQS_BUF[0],DQS_BUF[1]の入力バッファIBFは無効化される。リード指示信号NFRDおよびライト指示信号NFWRに対応し、SSEL3[1]と、SSEL2[1]と、SSEL1[1]と、SSEL0[1]の値を変化させ、DQS_BUF[2],DQS_BUF[3]を入力専用バッファとして動作させ、DQS_BUF[0],DQS_BUF[1]を出力専用バッファとして動作させる。以下に、その制御方法の一例を示す。
リード指示信号NFRDおよびライト指示信号NFWRは、電源投入時の初期化動作にてLowに設定され、アイドル状態(IDLE)ではLowとなっている。コマンドデコーダCMD_DECはコマンド信号COMからの命令を解読し、制御回路CNT_LOGへ伝える。CMD_DECによって解読された命令がリード命令である場合、CNT_LOGはNFRDをHighとし、DQS_SELへ伝える。これを受けて、DQS_SELは、DQS_BUF[0],DQS_BUF[1]が出力バッファとして動作するように、SSEL1[1]とSSEL0[1]とをHighとし、DQS_BUF[0],DQS_BUF[1]内の出力バッファOBFを有効化する。これによって、読み出しデータ同期信号RDQS[1:0]は出力バッファOBFを介してデータ同期信号DQS[1:0]から出力され情報処理装置CPU_CHIPへ送信される。
データ信号DQ[31:0]から読み出しデータがすべて出力された後、CNT_LOGはNFRDをLowとし、DQS_SELへ伝える。これを受けて、DQS_SELは、NFRDがLowになったので、SSEL1[1]とSSEL0[1]とをLowとし、DQS_BUF[0],DQS_BUF[1]内の出力バッファOBFを無効化する。これによって、データ同期信号DQS[1:0]は、ハイインピーダンスとなる。
一方、コマンドデコーダCMD_DECによって解読された命令がライト命令である場合、制御回路CNT_LOGはリード指示信号NFRDをLow、ライト指示信号NFWRをHighとし、データ同期信号入出力選択回路DQS_SELへ伝える。これを受けて、DQS_SELは、データ同期信号DQS[3:2]に対応するデータ同期バッファDQS_BUF[2],DQS_BUF[3]が入力バッファとして動作するように、SSEL3[1]とSSEL2[1]とをHighとし、DQS_BUF[2],DQS_BUF[3]内の入力バッファIBFを有効化する。これによって、情報処理装置CPU_CHIPは、データ同期信号DQS[3:2]からの信号を、入力バッファIBFを介して書き込みデータ同期信号WDQS[3:2]へ伝えることができる。
データ信号DQ[31:0]からすべての書き込みデータが入力された後、CNT_LOGはNFWRをLowとし、DQS_SELへ伝える。これを受けて、DQS_SELは、NFWRをLowとなったので、SSEL3[1]とSSEL2[1]とをLowとし、DQS_BUF[2],DQS_BUF[3]内の入力バッファIBFを無効化する。これによってデータ同期信号DQS[3:2]は、ハイインピーダンスとなる。なお、DQS_BUF[2],DQS_BUF[3]を入力専用バッファとして動作させ、DQS_BUF[0],DQS_BUF[1]を出力専用バッファとして動作させる場合は、読み出し動作と書き込み動作は平行に行うことができるため、ピンレジスタPNREG[1]の値がLowおよびPNREG[0]の値がHighへ設定されると、CNT_LOGは、NFRDとNFWRが全く独立に遷移可能なように制御を行う。
また、データ同期信号DQS[3]に対応するデータ同期バッファDQS_BUF[3]を入力専用バッファとして動作させ、データ同期信号DQS[2:0]に対応するデータ同期バッファDQS_BUF[0]〜DQS_BUF[2]を出力専用バッファとして動作させる場合も、上記と同様の制御が行われる。さらに、データ同期信号DQS[3:1]に対応するデータ同期バッファDQS_BUF[1]〜DQS_BUF[3]を入力専用バッファとして動作させ、データ同期信号DQS[0]に対応するデータ同期バッファDQS_BUF[0]を出力専用バッファとして動作させる場合も、上記と同様の制御が行われる。
<状態遷移図の説明>
図9は、図1の情報処理システムにおいて、ランダムアクセスメモリMEM0の状態遷移図の一例を示すものである。ランダムアクセスメモリMEM0へ電源が投入されると、MEM0には、情報処理装置CPU_CHIPによって図2で示された初期動作(INIT_SEQ)がなされ、MEM0は、外部からのリクエストを待つアイドル状態(IDLE)となる。アイドル状態(IDLE)では、特に限定されないが、MEM0は、モードレジスタセット命令MRS、拡張レジスタセット命令EMRS、ピンレジスタセット命令PNRS、セルフリフレッシュ命令SELF、オートリフレッシュ命令REFをリクエストとして受け付けることができる。
図9は、図1の情報処理システムにおいて、ランダムアクセスメモリMEM0の状態遷移図の一例を示すものである。ランダムアクセスメモリMEM0へ電源が投入されると、MEM0には、情報処理装置CPU_CHIPによって図2で示された初期動作(INIT_SEQ)がなされ、MEM0は、外部からのリクエストを待つアイドル状態(IDLE)となる。アイドル状態(IDLE)では、特に限定されないが、MEM0は、モードレジスタセット命令MRS、拡張レジスタセット命令EMRS、ピンレジスタセット命令PNRS、セルフリフレッシュ命令SELF、オートリフレッシュ命令REFをリクエストとして受け付けることができる。
アイドル状態(IDLE)にて、ピンレジスタセット命令PNRSが入力されると、ロウ・カラムアドレス信号A13−A0の値がオペレーションコードPINOPCODEとしてピンレジスタPNREGへ設定される。このピンレジスタPNREGへ値が設定された後、MEM0は再びアイドル状態(IDLE)となる。この際には、図6で説明したように、ピンレジスタPNREGへ設定された値によってデータ信号DQの一部が入力専用信号で、残りの一部が出力専用信号へ設定される場合や、データ信号DQのすべてが入出力信号へ設定される場合がある。
アイドル状態(IDLE)にて、モードレジスタセット命令MRSが入力されると、ロウ・カラムアドレス信号A13−A0の値がオペレーションコードMRSOPCODEとしてモードレジスタMREGへ設定される。このモードレジスタMREGへ値が設定された後、MEM0は再びアイドル状態(IDLE)となる。この際には、図6で説明したように、モードレジスタMREGへ設定された値によって、特に限定されないがバースト長や読み出しレイテンシなどが設定される。
アイドル状態(IDLE)にて、拡張レジスタセット命令EMRSが入力されると、ロウ・カラムアドレス信号A13−A0の値がオペレーションコードEMRSOPCODEとして拡張レジスタEREGへ設定される。この拡張レジスタEREGへ値が設定された後、MEM0は再びアイドル状態(IDLE)となる。この際には、図6で説明したように、拡張レジスタEREGへ設定された値によって、特に限定されないがセルフリフレッシュの保障温度範囲などが設定される。
アイドル状態(IDLE)にて、セルフリフレッシュ・エントリ命令SELFが入力されると、MEM0はセルフリフレッシュ状態となり、MEM0内部のリフレッシュ制御回路REFCが内部のリフレッシュカウンタを用いて自動的にメモリバンクBK0〜BK7へのリフレッシュ動作を行う。さらに、MEM0の内部にある温度センサTHMOの温度情報がREFCへ入力され、この温度情報によって、REFCがリフレッシュ動作の頻度を自動的に調整する。このセルフリフレッシュ状態にて、セルフリフレッシュ解除命令SELFXが入力されると、MEM0はアイドル状態となる。
アイドル状態(IDLE)にて、リフレッシュ命令REFが入力されると、MEM0内部のリフレッシュ制御回路REFCが動作し、メモリバンクBK0〜BK7へのリフレッシュ動作を行う(AUTOREF)。このリフレッシュ動作が完了後、MEM0は再びアイドル状態(IDLE)となる。
アイドル状態(IDLE)にて、信号CKEがLOW(CKE_L)になると、プリチャージパワーダウンモードとなり、アイドル状態(IDLE)時のスタンバイ電流を削減することができる。信号CKEがHigh(CKE_H)になるとアイドル状態(IDLE)へ戻る。
アイドル状態(IDLE)にて、バンクアクティブ命令ACTが入力されると、バンクアドレス信号BA0,BA1,BA2にて選択されたメモリバンクが活性化され、アクティブ状態(ACTIVE)となる。
アクティブ状態(ACTIVE)にて、リード命令READが入力されると、活性化されたメモリバンクからデータ読み出される。データが読み出された後に、MEM0は再びアクティブ状態(ACTIVE)となる。
アクティブ状態(ACTIVE)にて、リード&プリチャージ命令READAが入力されると、活性化されたメモリバンクからデータ読み出される。データが読み出された後に、活性化されたメモリバンクはプリチャージ動作によって非活性化され、アイドル状態(IDLE)へとなる。
アクティブ状態(ACTIVE)にて、ライト命令WRITが入力されると、活性化されたメモリバンクへデータが書き込まれる。メモリバンクへデータが書き込まれた後に、MEM0は再びアクティブ状態(ACTIVE)となる。
アクティブ状態(ACTIVE)にて、ライト&プリチャージ命令WRITAが入力されると活性化されたメモリバンクへデータが書き込まれる。メモリバンクへデータが書き込まれた後に、活性化されたメモリバンクはプリチャージ動作によって非活性化され、アイドル状態(IDLE)へとなる。
アクティブ状態(ACTIVE)にて、プリチャージ命令PREが入力されると、バンクアドレス信号BA0,BA1,BA2にて選択されたメモリバンクが非活性化され、アイドル状態(IDLE)へとなる。
アクティブ状態(ACTIVE)にて、プリチャージオール命令PALLが入力されると全メモリバンクが非活性化され、アイドル状態(IDLE)となる。
アクティブ状態(ACTIVE)にて、信号CKEがLOW(CKE_L)になると、アクティブパワーダウンモードとなり、アクティブ状態(ACTIVE)時の消費電流を削減することができる。信号CKEがHigh(CKE_H)になるとアイドル状態(IDLE)へ戻る。
以上説明したように、ランダムアクセスメモリMEM0へ読み出し動作と書き込み動作が交互に発生する場合は、ピンレジスタPNREGにてデータ信号DQ[31:16]をデータ入力専用信号へ設定し、データ信号DQ[15:0]をデータ出力専用信号へ設定し、データ同期信号DQS[3:2]を入力専用信号へ設定し、データ入同期信号DQS[1:0]を出力専用信号へ設定することで、データ読み出し信号とデータ書き込み信号を分離しデータの読み出し動作と書き込み動作を独立に実行することができる。これにより、読み出しデータと書き込みデータの切り替え時間が発生せずに高速なデータ転送が実現可能になる。
また、ランダムアクセスメモリMEM0へ読み出し動作が連続する場合は、ピンレジスタPNREGにてデータ信号DQ[31:0]をデータ入出力信号へ設定し、データ同期信号DQS[3:0]を入出力信号へ設定することで、一度に読み出せるデータが32ビットとなるため、高速にデータを読み出すことができる。また、ランダムアクセスメモリMEM0へ書き込み動作が連続する場合についても、同様に、一度に書き込めるデータが32ビットとなるため、高速にデータを書き込むことができるのは言うまでもない。
したがって、情報処理装置CPU_CHIPは、自身が実行するプログラムによって生じるランダムアクセスメモリMEM0へのメモリアクセスの特徴を捉えて、プログラムを実行しながら、ランダムアクセスメモリMEM0のデータ信号を入力データ専用信号と出力データ専用信号に分けたり、あるいは入出力データ信号へ切り替えたりできるため、プログラムに応じた高速なデータ転送を実現できる。これに伴い、高速で使い勝手の良い情報処理システムが実現可能になる。
(実施の形態2)
図10は、本発明の実施の形態2による情報処理システムにおいて、その構成の一例を示すブロック図である。図10に示す情報処理システムは、情報処理装置CHIP_CHIPと、ランダムアクセスメモリMEM1とから構成され、実施の形態1の場合と異なり、MEM1が不揮発性のメモリセルを備えたことが特徴となっている。
図10は、本発明の実施の形態2による情報処理システムにおいて、その構成の一例を示すブロック図である。図10に示す情報処理システムは、情報処理装置CHIP_CHIPと、ランダムアクセスメモリMEM1とから構成され、実施の形態1の場合と異なり、MEM1が不揮発性のメモリセルを備えたことが特徴となっている。
情報処理装置CPU_CHIPは、情報処理回路CPU0,CPU1,CPU2,CPU3と、メモリ制御回路MCONから構成されている。CPU_CHIPは、MCONを介して、MEM1へ接続され、データ通信を行う。CPU_CHIPとMEM1の間は、クロック信号CLK、クロックイネーブル信号CKE、アドレス信号ADD[16:0]、コマンド信号COM、データマスク信号DM[3:0]、データ信号DQ[31:0]、およびデータ同期信号DQS[3:0]で接続される。
MEM1は、クロック生成回路CGEN、モードレジスタMREG、拡張モードレジスタEREG、アドレスバッファADD_BUF、コマンドデコーダCMD_DEC、ピンレジスタPNREG、IOバッファIOBUF、温度センサTHMO、制御回路CNT_LOG、ライトデータバッファWDLAT、リードデータバッファRDLAT、データ制御回路DATA_CTL、クロック同期回路DLL、不揮発性のメモリバンクBK0〜BK7から構成される。CGENは、MEM0へ入力されたCLKから内部クロック信号INCLKを生成する。このINCLKは、MEM0を構成する各ブロックで利用される。
各メモリバンクBK0〜BK7は、ロウアドレスラッチ回路RAD_LT、カラムアドレスラッチ回路CAD_LT、ロウデコーダROW_DEC、カラムデコーダCOL_DEC、センスアンプブロックSA_BLK、不揮発性メモリセルを備えたメモリアレイNVMARYから構成される。不揮発性メモリセルには、相変化型メモリセル、磁気記録型メモリセル、抵抗変化型メモリセル、ミラービット型メモリセル、フローティング型メモリセルなどがあるが、あらゆる不揮発性メモリセルを利用することができる。
NVMARYには不揮発性メモリを利用しているため、リフレッシュ動作が不要である。このため、図1の場合と異なりMEM1にはリフレッシュ制御回路は搭載されておらず、これ以外の回路は図1のランダムアクセスメモリMEM0と同じである。したがって、ランダムアクセスメモリMEM1は実施の形態1と同様に動作し、同様の効果を持つことは言うまでもない。さらに、MEM1はリフレッシュ動作が不要なため低電力で動作可能であり、NVMARYには不揮発性メモリセルを利用しているため電源が遮断されても、データを記憶でき、高い信頼性を保つことができる。
(実施の形態3)
本実施の形態3では、実施の形態1および2で説明した各ランダムアクセスメモリMEM0,MEM1のより詳細な構成例について説明する。ここでは、図1のMEM0を例に説明を行うが、MEM1の場合にも同様に適用可能である、図11は、本発明の実施の形態3による情報処理システムにおいて、図1のランダムアクセスメモリMEM0内の1つのメモリバンクの構成例を示す回路図である。
本実施の形態3では、実施の形態1および2で説明した各ランダムアクセスメモリMEM0,MEM1のより詳細な構成例について説明する。ここでは、図1のMEM0を例に説明を行うが、MEM1の場合にも同様に適用可能である、図11は、本発明の実施の形態3による情報処理システムにおいて、図1のランダムアクセスメモリMEM0内の1つのメモリバンクの構成例を示す回路図である。
図11において、CELはメモリセルであり、BLKはメモリセルブロックである。1つのメモリセルブロックBLKは、特に限定されないが、カラムスイッチ回路SW、センスアンプ回路SA、16383個のメモリセルCELから構成される。また、1つのメモリバンクは、特に限定されないが64個のメモリセルブロックBLK[0]〜BLK[63]から構成される。1つのメモリバンク内の複数のメモリセルの集まりがメモリアレイMARYであり、1つのメモリバンク内の複数のセンスアンプ回路SAの集まりがセンスアンプブロックSA_BLKである。また、1つのメモリバンク内の複数のカラムスイッチ回路SWの集まりがカラムスイッチブロックSW_BLKである。
図11において、BL0[127:0]〜BL63[127:0]およびBLB0[127:0]〜BLB63[127:0]はローカルビット信号、GBL0〜GBL63およびGBLB0〜GBLB63はグローバルビット信号である。また、MAはメインアンプ回路であり、GD0〜GD63はグローバルデータ信号である。グローバルライン群GDLはグローバルビット信号、グローバルデータ信号およびメインアンプ回路の領域を示す。
WL0〜WL16383はワード信号であり、特に限定されないが、1つのメモリバンクにはワード信号は16384本ある。WL0〜WL16383は、ロウデコーダROW_DECに入力されたロウアドレスに応じていずれか1本が選択される。CSW0〜CSW63はカラム選択信号である。特に限定されないが、この信号がHighとなった場合、対応するカラムスイッチ回路SWが選択され、この選択されたカラムスイッチ回路SWを通じてメモリセルCELからデータを読み出したり、CELへデータを書き込んだりすることができる。
ここで、ピンレジスタPNREGにてデータ信号DQ[31:0]を入出力信号に設定し、データ同期信号DQS[3:0]を入出力信号に設定した場合に、ランダムアクセスメモリMEM0へ読み出しリクエストが生じた際の動作例について説明する。
情報処理装置CPU_CHIPは、ランダムアクセスメモリMEM0に対して、クロック信号CLKに同期して、コマンド信号COMを介してコマンドデコーダCMD_DECへバンクアクティブ命令ACT(ACT0)を出力し、アドレス信号ADDを通じてアドレスバッファADD_BUFへ例えばバンクアドレス(BK0)およびロウアドレスROW0を出力する。CMD_DECは、このバンクアクティブ命令ACT0を解読し、制御回路CNT_LOGへメモリバンクの活性化を指示する。CNT_LOGへ入力されたメモリバンク活性化の指示およびバンクアドレス(BK0)によってメモリバンク0(BK0)が選択される。ロウアドレスROW0はアドレスバッファADD_BUFを通じて、選択されたBK0のロウアドレスラッチ回路RAD_LTへ転送され、ロウデコーダROW_DECによってロウアドレスROW0に対応したワード信号WL0がHighとなり、このワード信号へ接続されている1ページ分(特に限定しないが8192ビット分)のメモリセルCELの保持データが、それぞれのセンスアンプ回路SAへ転送され、保持される。
次に、CPU_CHIPは、MEM0に対して、CLKに同期して、COMを介してCMD_DECへリード命令READ(READ0)を出力し、ADDを通じてADD_BUFへ例えばバンクアドレス(BK0)およびカラムアドレスCOL0を出力する。CMD_DECは、このリード命令READ0を解読し、制御回路CNT_LOGへメモリバンクからのデータ読み出しを指示する。CNT_LOGへ入力されたデータ読み出しの指示およびバンクアドレス(BK0)によってBK0が選択される。カラムアドレスCOL0は、ADD_BUFを通じて、選択されたBK0のカラムアドレスラッチ回路CAD_LTへ転送され、カラムデコーダCOL_DECによって、メモリセルブロックBLK0〜BLK63内の各カラム選択信号CSW0がHighとなる。これにより、センスアンプ回路SAが保持しているデータは、選択された64個のカラムスイッチ回路SWを通じて、グローバルビット信号GBL0〜GBL63(GBLB0〜GBLB63)へ出力される。
グローバルビット信号へ出力された64ビットのデータは、それぞれのメインアンプMAを通じて、グローバルデータ信号GD0〜GD63へ出力され、データ制御回路DATA_CTLを通じて、リードデータバッファRDLATへ転送される。RDLAT内の64ビットのデータは、読み出しデータ同期信号RDQS[3:0]の立ち上がりと立ち下りに同期し、読み出しデータ信号RD[31:0]を通じて、2回に分けてIOバッファIOBUFへ転送され、同様に、データ同期信号DQS[3:0]の立ち上がりと立ち下りに同期し、データ信号DQ[31:0]より、2回に分けて情報処理装置CPU_CHIPへ出力される。なお、CPU_CHIPからMEM0へライト命令WRIT(WRIT0)が入力された場合も、同様にしてメモリセルへのデータ書き込みが行われる。
次にピンレジスタPNREGにてデータ信号DQ[31:16]を入力専用信号へ設定し、データ信号DQ[15:0]を出力専用信号へ設定し、データ同期信号DQS[3:2]を入力専用信号へ設定し、データ入同期信号DQS[1:0]を出力専用信号へ設定した場合で、ランダムアクセスメモリMEM0へ読み出しリクエストが生じた際の動作について説明する。
情報処理装置CPU_CHIPは、ランダムアクセスメモリMEM0に対して、クロック信号CLKに同期して、コマンド信号COMを介してコマンドデコーダCMD_DECへバンクアクティブ命令ACT(ACT0)を出力し、アドレス信号ADDを通じてアドレスバッファADD_BUFへ例えばバンクアドレス(BK0)およびロウアドレスROW0を出力する。CMD_DECは、このバンクアクティブ命令ACT0を解読し、制御回路CNT_LOGへメモリバンクの活性化を指示する。CNT_LOGへ入力されたメモリバンク活性化の指示およびバンクアドレス(BK0)によってメモリバンク0(BK0)が選択される。ロウアドレスROW64は、ADD_BUFを通じて、選択されたBK0のロウアドレスラッチ回路RAD_LTへ転送され、ロウデコーダROW_DECによってロウアドレスROW0に対応したワード信号WL0がHighとなり、このワード信号へ接続されている1ページ分(特に限定されないが8192ビット分)のメモリセルCELの保持データが、それぞれのセンスアンプ回路SAへ転送され、保持される。
次に、CPU_CHIPは、MEM0に対して、CLKに同期して、COMを介してCMD_DECへリード命令READ(READ0)を出力し、ADDを通じてADD_BUFへ例えばバンクアドレス(BK0)およびカラムアドレスCOL0を出力する。CMD_DECは、このリード命令READ0を解読し、CNT_LOGへメモリバンクからのデータ読み出しを指示する。CNT_LOGへ入力されたデータ読み出しの指示およびバンクアドレス(BK0)によってメモリバンク0(BK0)が選択される。カラムアドレスCOL0は、ADD_BUFを通じて、選択されたBK0のカラムアドレスラッチ回路CAD_LTへ転送され、カラムデコーダCOL_DECによって、メモリセルブロックBLK0〜BLK31の合計32個のカラム選択信号CSW0がHighとなる。これにより、センスアンプ回路SAの保持データは、選択された32個のカラムスイッチ回路SWを通じて、グローバルビット信号GBL0〜GBL31(GBLB0〜GBLB31)へ出力される。
グローバルビット信号へ出力された32ビットのデータは、それぞれのメインアンプMAを通じて、グローバルデータ信号GD0〜GD31へ出力され、データ制御回路DATA_CTLを通じて、リードデータバッファRDLATへ転送される。RDLAT内の32ビットのデータは、読み出しデータ同期信号RDQS[1:0]の立ち上がりと立ち下りに同期し、読み出しデータ信号RD[15:0]を通じて、2回に分けてIOバッファIOBUFへ転送され、同様に、データ同期信号DQS[1:0]の立ち上がりと立ち下りに同期し、データ信号DQ[15:0]より、2回に分けて情報処理装置CPU_CHIPへ出力される。なお、CPU_CHIPからMEM0へライト命令WRIT(WRIT0)が入力された場合も、同様にしてメモリセルへのデータ書き込みが行われる。
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能である。
本実施の形態による情報処理システムおよび半導体記憶装置は、特に、CPU等の情報処理装置と、DDR−SDRAM等の半導体記憶装置が同一の半導体チップまたは同一の半導体パッケージ内の搭載された半導体製品に適用して有益な技術であり、これに限らず、プリント基板上に情報処理装置と半導体記憶装置が実装された製品や、単体の半導体記憶装置なども含めて広く適用可能である。
CPU_CHIP 情報処理装置
CPU 情報処理回路
MCON メモリ制御回路
MEM ランダムアクセスメモリ
CGEN クロック生成回路
MREG モードレジスタ
EREG 拡張モードレジスタ
ADD_BUF アドレスバッファ
CMD_DEC コマンドデコーダ
PNREG ピンレジスタ
IOBUF IOバッファ
THMO 温度センサ
REFC リフレッシュ制御回路
CNT_LOG 制御回路
WDLAT ライトデータバッファ
RDLAT リードデータバッファ
DATA_CTL データ制御回路
DLL クロック同期回路
BK メモリバンク
RAD_LT ロウアドレスラッチ回路
CAD_LT カラムアドレスラッチ回路
ROW_DEC ロウデコーダ
COL_DEC カラムデコーダ
SA_BLK センスアンプブロック
MARY,NVMARY メモリアレイ
DQ_BUF データバッファ
IBF 入力バッファ
OBF 出力バッファ
IOSEL 選択回路
DQ_SEL データ信号入出力選択回路
DQS_BUF データ同期バッファ
DSSEL 選択回路
DQS_SEL データ同期信号入出力選択回路
CEL メモリセル
SA センスアンプ
SW カラムスイッチ回路
CPU 情報処理回路
MCON メモリ制御回路
MEM ランダムアクセスメモリ
CGEN クロック生成回路
MREG モードレジスタ
EREG 拡張モードレジスタ
ADD_BUF アドレスバッファ
CMD_DEC コマンドデコーダ
PNREG ピンレジスタ
IOBUF IOバッファ
THMO 温度センサ
REFC リフレッシュ制御回路
CNT_LOG 制御回路
WDLAT ライトデータバッファ
RDLAT リードデータバッファ
DATA_CTL データ制御回路
DLL クロック同期回路
BK メモリバンク
RAD_LT ロウアドレスラッチ回路
CAD_LT カラムアドレスラッチ回路
ROW_DEC ロウデコーダ
COL_DEC カラムデコーダ
SA_BLK センスアンプブロック
MARY,NVMARY メモリアレイ
DQ_BUF データバッファ
IBF 入力バッファ
OBF 出力バッファ
IOSEL 選択回路
DQ_SEL データ信号入出力選択回路
DQS_BUF データ同期バッファ
DSSEL 選択回路
DQS_SEL データ同期信号入出力選択回路
CEL メモリセル
SA センスアンプ
SW カラムスイッチ回路
Claims (11)
- データ信号線、および前記データ信号線にデータを伝送する際の同期信号となるデータ同期信号線とを持つランダムアクセスメモリと、
前記ランダムアクセスメモリとの間でデータ通信を行う情報処理装置とを備え、
前記ランダムアクセスメモリは、前記データ信号線を、入力と出力を共用するデータ信号線とするか、出力専用のデータ信号線とするか、入力専用のデータ信号線とするかを設定し、さらに、前記データ同期信号線を、入力と出力を共用するデータ同期信号線とするか、出力専用のデータ同期信号線とするか、入力専用のデータ同期信号線とするかを設定する設定手段を有することを特徴とする情報処理システム。 - 請求項1記載の情報処理システムにおいて、
前記ランダムアクセスメモリは、データ信号線設定命令が入力された際に前記設定手段を用いて前記データ信号線および前記データ同期信号線の設定を行うことを特徴とする情報処理システム。 - 請求項2記載の情報処理システムにおいて、
前記データ信号線設定命令は、前記情報処理装置によって入力されることを特徴とする情報処理システム。 - 請求項2記載の情報処理システムにおいて、
前記ランダムアクセスメモリは、命令信号線を有し、
前記データ信号線設定命令は、前記命令信号線より入力されることを特徴とする情報処理システム。 - データ信号線、および前記データ信号線にデータを伝送する際の同期信号となるデータ同期信号線とを持つランダムアクセスメモリと、
前記ランダムアクセスメモリとの間でデータ通信を行う情報処理装置とを備え、
前記ランダムアクセスメモリは、
前記データ信号線を、入力と出力を共用するデータ信号線とするか、出力専用のデータ信号線とするか、入力専用のデータ信号線とするかの設定情報を保持し、さらに、前記データ同期信号線を、入力と出力を共用するデータ同期信号線とするか、出力専用のデータ同期信号線とするか、入力専用のデータ同期信号線とするかの設定情報を保持するレジスタと、
前記レジスタの設定情報にしたがって、前記データ信号線および前記データ同期信号線の設定を行う設定手段とを有することを特徴とする情報処理システム。 - 請求項5記載の情報処理システムにおいて、
前記ランダムアクセスメモリは、前記レジスタへ前記設定情報を格納するためのレジスタ設定命令と、前記設定情報とが入力された際に、前記設定手段を用いて前記データ信号線および前記データ同期信号線の設定を行うことを特徴とする情報処理システム。 - 請求項6記載の情報処理システムにおいて、
前記レジスタ設定命令および前記設定情報は、前記情報処理装置によって入力されることを特徴とする情報処理システム。 - 請求項5記載の情報処理システムにおいて、
前記ランダムアクセスメモリは、DDR−SDRAMであることを特徴とする情報処理システム。 - データ信号線と、
前記データ信号線にデータを伝送する際の同期信号となるデータ同期信号線と、
前記データ信号線を、入力と出力を共用するデータ信号線とするか、出力専用のデータ信号線とするか、入力専用のデータ信号線とするかの設定情報を保持し、さらに、前記データ同期信号線を、入力と出力を共用するデータ同期信号線とするか、出力専用のデータ同期信号線とするか、入力専用のデータ同期信号線とするかの設定情報を保持するレジスタと、
前記レジスタの設定情報にしたがって、前記データ信号線および前記データ同期信号線の設定を行う設定手段とを有することを特徴とする半導体記憶装置。 - 請求項9記載の半導体記憶装置において、
前記レジスタへ前記設定情報を格納するためのレジスタ設定命令と、前記設定情報とが入力された際に、前記設定手段を用いて前記データ信号線および前記データ同期信号線の設定を行うことを特徴とする半導体記憶装置。 - 請求項9記載の半導体記憶装置において、
前記半導体記憶装置は、DDR−SDRAMであることを特徴とする半導体記憶装置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008194871A JP2010033659A (ja) | 2008-07-29 | 2008-07-29 | 情報処理システムおよび半導体記憶装置 |
US12/510,633 US9030895B2 (en) | 2008-07-29 | 2009-07-28 | Memory device with pin register to set input/output direction and bitwidth of data signals |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008194871A JP2010033659A (ja) | 2008-07-29 | 2008-07-29 | 情報処理システムおよび半導体記憶装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2010033659A true JP2010033659A (ja) | 2010-02-12 |
Family
ID=41609480
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008194871A Withdrawn JP2010033659A (ja) | 2008-07-29 | 2008-07-29 | 情報処理システムおよび半導体記憶装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US9030895B2 (ja) |
JP (1) | JP2010033659A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015079686A (ja) * | 2013-10-18 | 2015-04-23 | 三菱電機株式会社 | 照明制御装置 |
JP2017045491A (ja) * | 2015-08-26 | 2017-03-02 | ルネサスエレクトロニクス株式会社 | 半導体メモリ、メモリシステム |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130100755A1 (en) * | 2011-10-21 | 2013-04-25 | Samsung Electronics Co., Ltd. | Semiconductor memory device implementing comprehensive partial array self refresh scheme |
US20140122777A1 (en) * | 2012-10-31 | 2014-05-01 | Mosaid Technologies Incorporated | Flash memory controller having multi mode pin-out |
CN107799137B (zh) * | 2016-08-30 | 2020-09-01 | 华邦电子股份有限公司 | 存储器存储装置及其操作方法 |
JP6744950B1 (ja) * | 2019-05-21 | 2020-08-19 | ウィンボンド エレクトロニクス コーポレーション | 半導体装置および連続読出し方法 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6002268A (en) * | 1993-01-08 | 1999-12-14 | Dynachip Corporation | FPGA with conductors segmented by active repeaters |
JPH1050054A (ja) | 1996-07-30 | 1998-02-20 | Hitachi Ltd | 半導体記憶装置 |
JPH1064257A (ja) | 1996-08-20 | 1998-03-06 | Sony Corp | 半導体記憶装置 |
US6577157B1 (en) * | 1997-11-14 | 2003-06-10 | Altera Corporation | Fully programmable I/O pin with memory |
US7426586B2 (en) * | 2003-12-15 | 2008-09-16 | Finisar Corporation | Configurable input/output terminals |
JP2005235248A (ja) | 2004-02-17 | 2005-09-02 | Matsushita Electric Ind Co Ltd | 半導体記憶装置、及びそれを内蔵する半導体集積回路 |
US7612574B2 (en) * | 2007-01-25 | 2009-11-03 | Micron Technology, Inc. | Systems and methods for defect testing of externally accessible integrated circuit interconnects |
WO2009055150A1 (en) * | 2007-10-19 | 2009-04-30 | Rambus Inc. | Reconfigurable point-to-point memory interface |
JP5579972B2 (ja) * | 2008-08-01 | 2014-08-27 | ピーエスフォー ルクスコ エスエイアールエル | 半導体記憶装置及び半導体記憶装置のテスト方法 |
-
2008
- 2008-07-29 JP JP2008194871A patent/JP2010033659A/ja not_active Withdrawn
-
2009
- 2009-07-28 US US12/510,633 patent/US9030895B2/en active Active
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015079686A (ja) * | 2013-10-18 | 2015-04-23 | 三菱電機株式会社 | 照明制御装置 |
JP2017045491A (ja) * | 2015-08-26 | 2017-03-02 | ルネサスエレクトロニクス株式会社 | 半導体メモリ、メモリシステム |
Also Published As
Publication number | Publication date |
---|---|
US9030895B2 (en) | 2015-05-12 |
US20100030954A1 (en) | 2010-02-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10665273B2 (en) | Semiconductor memory devices, memory systems and refresh methods of the same | |
US10127969B2 (en) | Memory device command receiving and decoding methods | |
US8122186B2 (en) | Memory device, memory system and dual port memory device with self-copy function | |
KR101966858B1 (ko) | 휘발성 메모리 장치의 동작 방법, 휘발성 메모리 장치 및 메모리 시스템의 제어 방법 | |
US7640392B2 (en) | Non-DRAM indicator and method of accessing data not stored in DRAM array | |
US7839705B2 (en) | Semiconductor memory device and operation method of the same | |
JP5627197B2 (ja) | 半導体記憶装置及びこれを備える情報処理システム並びにコントローラ | |
KR100719377B1 (ko) | 데이터 패턴을 읽는 반도체 메모리 장치 | |
US20130080826A1 (en) | Semiconductor device verifying signal supplied from outside | |
US8392671B2 (en) | Memory controller, system, and method for accessing semiconductor memory | |
JP2010033659A (ja) | 情報処理システムおよび半導体記憶装置 | |
US20210406208A1 (en) | Apparatuses and methods for writing data to a memory | |
TW200522065A (en) | Semiconductor memory device for reducing address access time | |
US9076512B2 (en) | Synchronous nonvolatile memory device and memory system supporting consecutive division addressing DRAM protocol | |
JP2004171609A (ja) | 半導体記憶装置 | |
US9368175B2 (en) | Semiconductor memory device receiving multiple commands simultaneously and memory system including the same | |
US20220284943A1 (en) | Semiconductor memory device capable of operating at high speed, low power environment by optimizing latency of read command and write command depending on various operation modes | |
US20070002637A1 (en) | Semiconductor memory device | |
JP2009193648A (ja) | 同期型不揮発性メモリおよびメモリシステム | |
US9196323B2 (en) | Memory device and memory system including the same | |
TW201601455A (zh) | 閂鎖電路及包含該閂鎖電路的輸入/輸出裝置 | |
JP2009266286A (ja) | 半導体メモリおよびメモリコントローラ | |
JPH11250658A (ja) | 半導体装置及びデータ処理システム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20110512 |
|
A761 | Written withdrawal of application |
Free format text: JAPANESE INTERMEDIATE CODE: A761 Effective date: 20121012 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20121012 |