JP2013218404A - 電子機器、及びメモリー制御方法 - Google Patents

電子機器、及びメモリー制御方法 Download PDF

Info

Publication number
JP2013218404A
JP2013218404A JP2012086357A JP2012086357A JP2013218404A JP 2013218404 A JP2013218404 A JP 2013218404A JP 2012086357 A JP2012086357 A JP 2012086357A JP 2012086357 A JP2012086357 A JP 2012086357A JP 2013218404 A JP2013218404 A JP 2013218404A
Authority
JP
Japan
Prior art keywords
signal
command
dram
electronic device
memory
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.)
Granted
Application number
JP2012086357A
Other languages
English (en)
Other versions
JP5919973B2 (ja
Inventor
Takeshi Saito
剛 斉藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Seiko Epson Corp
Original Assignee
Seiko Epson Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP2012086357A priority Critical patent/JP5919973B2/ja
Publication of JP2013218404A publication Critical patent/JP2013218404A/ja
Application granted granted Critical
Publication of JP5919973B2 publication Critical patent/JP5919973B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

【課題】より簡単な設計でメモリーを制御する信号の波形品質を確保する。
【解決手段】一以上のメモリーと、前記メモリーを制御するメモリー制御部と、を有する電子機器であって、前記メモリー制御部は、前記メモリーの動作クロックを基準とするアドレス信号及びコマンド信号の長さを示すN(ただし、Nは2以上の自然数)を設定する設定部と、前記アドレス信号及び前記コマンド信号を前記Nクロックの長さで前記メモリーに出力する信号制御部と、を有する。
【選択図】図2

Description

本発明は、電子機器、及びメモリー制御方法に関する。
DRAMのアクセス周波数は、DDR(Double Data Rate)1、DDR2、DDR3と世代が進むにつれて高くなっている。高周波数化にともない、DRAMへのアクセスを制御するメモリー制御回路から発生する高周波ノイズが増加している。
高周波ノイズの抑制に関連して、特許文献1には、メモリークロックの1/2(Nは2以上の整数)で動作し、メモリー制御信号を2相発行するメモリーコントローラーが記載されている。
特開2008−225775号公報
ところで、高周波数化にともない、DRAMを制御する信号(例えば、アドレス信号、コマンド信号など)の波形の品質を確保することが難しくなってきている。そして、波形の品質を確保するため、回路設計の複雑化や検証作業の長期化などにより製造コストが上がってきている。
そこで、本発明は、より簡単な設計でメモリーを制御する信号の波形品質を確保することを目的とする。
本願は、上記課題の少なくとも一部を解決する手段を複数含んでいるが、その例を挙げるならば、以下のとおりである。
上記の課題を解決する本発明の一態様は、一以上のメモリーと、前記メモリーを制御するメモリー制御部と、を有する電子機器であって、前記メモリー制御部は、前記メモリーの動作クロックを基準とするアドレス信号及びコマンド信号の長さを示すN(ただし、Nは2以上の自然数)を設定する設定部と、前記アドレス信号及び前記コマンド信号を前記Nクロックの長さで前記メモリーに出力する信号制御部と、を有する、ことを特徴とする。
このような構成により、メモリー制御部にNを設定することで信号の長さが変更されるので、簡単な設計で制御信号の波形品質を確保することができる。
ここで、上記の電子機器は、一以上のチップセレクトを有し、前記信号制御部は、前記Nクロックの長さのうち、Nクロック目に対応する期間にチップセレクト信号をイネーブルにする、ことを特徴としてもよい。
このような構成により、波形品質が確保された適切なタイミングでメモリーに信号を取り込ませることができる。
また、前記信号制御部は、前記アドレス信号及び前記コマンド信号の信号レベルが所定の閾値レベルを超えた場合に、前記チップセレクト信号をイネーブルにする、ことを特徴としてもよい。
このような構成によっても、波形品質が確保された適切なタイミングでメモリーに信号を取り込ませることができる。
また、上記の電子機器は、CPUを備え、前記設定部は、前記CPUから前記Nの設定を受け付ける、ことを特徴としてもよい。
このような構成により、ソフトウェアにより簡単にNの設定を変更することができる。
また、上記の電子機器は、ユーザーインターフェイス装置を備え、前記CPUは、前記ユーザーインターフェイス装置を介して前記Nの設定を受け付け、前記設定部に設定する、ことを特徴としてもよい。
このような構成によれば、ユーザーが簡単にNの設定を変更して、波形品質を調整することができる。
また、前記設定部は、前記メモリーの数を取得し、当該数に応じて前記Nの値を設定する、ことを特徴としてもよい。
このような構成によれば、電子機器の構成に応じて動的に波形品質を調整することができる。
また、前記アドレス信号及び前記コマンド信号の信号線は、全てのメモリーに共有されている、ことを特徴としていてもよい。
このような構成によれば、Nの設定によって波形品質をより向上できる。
上記の課題を解決する本発明の他の態様は、一以上のメモリーと、前記メモリーを制御するメモリー制御部と、を有する電子機器におけるメモリー制御方法であって、前記メモリー制御部は、前記メモリーの動作クロックを基準とするアドレス信号及びコマンド信号の長さを示すN(ただし、Nは2以上の自然数)を設定し、前記アドレス信号及び前記コマンド信号を前記Nクロックの長さで前記メモリーに出力する、ことを特徴とする。
上記した以外の課題、構成、及び効果は、以下の実施形態の説明により明らかにされる。
本発明の一実施形態に係る電子機器の概略構成の一例を示す図である。 SOCのDRAMアクセスに関する概略構成の一例を示す図である。 メモリーコントローラーの内部状態遷移の一例を示す図である。 メモリーコントローラーの各内部状態の一例を説明する図である。 メモリーコントローラーから出力される信号のタイミング(1クロック制御)の一例を説明する図である。 メモリーコントローラーから出力される信号のタイミング(2クロック制御)の一例を説明する図である。 メモリーコントローラーから出力される信号のタイミング(3クロック制御)の一例を説明する図である。 信号の品質が確保されていないアドレス/コマンド信号の一例を説明する図である。 信号の品質が確保されているアドレス/コマンド信号の一例を説明する図である。 メモリーコントローラーの処理の流れの一例を説明するフロー図である。
以下、本発明の一実施形態について、図面を参照して説明する。
図1は、本発明の一実施形態に係る電子機器の概略構成の一例を示す図である。図示するように、電子機器100と情報処理装置200は、互いに接続され通信可能である。接続方法は、有線であっても無線であってもよい。
情報処理装置200は、電子機器100のホストコンピューターとして機能する。情報処理装置200は、例えば、不図示の、CPUと、RAMと、ROMと、ハードディスク等の補助記憶装置と、ディスプレイと、キーボードやマウス等の入力装置と、通信インターフェイスと、を備えたコンピューターである。情報処理装置200では、例えば、アプリケーションプログラムや、電子機器100を制御するためのドライバープログラム(例えば、プリンタードライバープログラム)が実行される。
電子機器100は、例えば、プリント機能、コピー機能等を有する複合機である。電子機器100は、電子機器100における各種処理を制御する電子機器制御装置としてのコントローラー110と、印刷媒体への印刷や原稿の読み取りを実行するエンジン部120と、を備えている。もちろん、電子機器は、複合機に限らず、例えば、プリンター、スキャナー、ファクシミリ、コピー機、などの画像形成装置であってもよい。
コントローラー110は、CPU140と、メモリーコントローラー150と、DRAM160と、I/O(Input/Output)制御ASIC(Application Specific Integrated Circuits)170と、を備える。コントローラー110は、エンジン部120等の各種機構を制御し、各種画像処理などを含む印刷機能、ファクシミリ機能、スキャナー機能、コピー機能等を実現する。もちろん、コントローラー110は、この構成に限定されず、例えば、CPU140をメモリーコントローラー150に内蔵させてもよい。
また、上記のCPU140と、メモリーコントローラー150と、I/O制御ASIC170と、を搭載した集積回路を、以下ではSOC(System On a Chip)130と呼ぶ。
CPU140は、メモリーコントローラー150を介してDRAM160にアクセスし、各種プログラムやデータの読み書きを行うことで各種処理を実行する。CPU140は、DRAM160にアクセスするためのアクセス要求をメモリーコントローラー150に対して出す。
メモリーコントローラー150は、CPU140、I/O制御ASIC170、エンジン部120から、DRAM160へのアクセスを制御する。もちろん、メモリーコントローラー150は、CPU140を介さないDRAM160へのダイレクトメモリーアクセス(DMA)を制御するようにしてもよい。
DRAM160は、メモリーコントローラー150が制御を行うメモリーであり、例えば、DDR−SDRAMである。本実施形態では、DRAM160は、メモリーコントローラー150などを搭載したコントローラー基板上に直接設置される、一以上のDRAMチップを備える標準DRAM(On Board)161と、DIMM(Dual Inline Memory Module)のような複数のDRAMチップをプリント基板上に搭載したオプションDRAM162と、を備える。
なお、標準DRAM161は、通常はユーザーによりボードから取り外すことができない一方、オプションDRAM162は、ユーザーによりボートに取り付けたりボードから取り外したりすることができる(着脱可能である)。もちろん、標準DRAM161は、着脱可能であってもよい。
各DRAM160にアクセスする場合、アクセス対象のDRAM160は、チップセレクト信号で選択される。
なお、複数のDRAMチップを搭載したDRAMには、チップセレクトの単位(アクセス単位)が、複数のDRAMチップ全体であるものと、DRAMチップごとであるものとがある。本実施形態では、標準DRAM161及びオプションDRAM162は、いずれの構成であってもよい。
I/O制御ASIC170は、外部機器(情報処理装置200など)とのデータの送受信を制御する。
エンジン部120は、印刷機能、ファクシミリ機能、スキャナー機能、コピー機能等を実現するための給排紙機構、印字機構、スキャン機構等であり、例えば、印刷エンジン、スキャナーエンジンなどを含む。
図2は、SOCのDRAMアクセスに関する概略構成の一例を示す図である。なお、各種信号(CS1、CS2、DQS/DQ、ADR/CMD、DQS/DQ)は、一本の信号線で表されているが、実際は複数の信号線により実現されてよい。
メモリーコントローラー150には、CPU140や、他のユニット(I/O制御ASIC170に接続されている機器、エンジン部120、などを指し、以下では「内部IP」とよぶ)が、内部バスを介して接続されている。また、メモリーコントローラー150には、標準DRAM161とオプションDRAM162が、外部バスを介して接続されている。
本実施形態では、標準DRAM161及びオプションDRAM162は、それぞれ、二つのDRAMチップを備える。標準DRAM161及びオプションDRAM162のチップセレクト単位は、DRAM単位であってもDRAMチップ単位であってもよい。チップセレクトは、チップセレクト信号(CS1、CS2)により制御される。
ここで、DRAM160を制御する信号であるアドレス信号とコマンド信号(ADR/CMD)の信号線は、標準DRAM161及びオプションDRAM162で共有されており、標準DRAM161及びオプションDRAM162に搭載されている全てのDRAMチップに対して分岐して配線されている。そのため、各DRAMチップからの信号反射によりADR/CMD信号線上の信号の波形品質が悪化し易く、高周波数化には向いていない。
一方、データストローブ信号とデータ信号(DQS/DQ)の信号線は、標準DRAM161及びオプションDRAM162に搭載されている各DRAMチップに対して、それぞれ配線されている。そのため、各DRAMチップからの信号反射によるDQS/DQ信号線上への影響が少なく信号の波形品質が確保し易いので、高周波数化に向いている。なお、DRAMあるいはDRAMチップにODT(On Die Termination)を設ければ、DQS/DQ信号の波形品質をより確保し易い。
メモリーコントローラー150は、CPU140や内部IPから、DRAM160へのアクセス要求(ライト要求、リード要求など)を受信し、DRAM160へのアクセス処理を制御する。メモリーコントローラー150は、レジスター設定回路151と、コマンド制御回路152と、データ制御回路154と、インターフェイス155とを有する。コマンド制御回路152は、レジスター153を有する。
レジスター設定回路151は、アドレス信号及びコマンド信号の長さの設定を行う。本実施形態では、信号の長さとは、一つのアドレス信号あるいはコマンド信号がDRAM160に対して出力される時間的な長さをいう。
ここで、メモリーコントローラー150は、アドレス信号及びコマンド信号の長さを示すN(ただし、Nは1以上の自然数)を保持するレジスター153を備える。レジスター153は、メモリーコントローラー150のどこに設けられていてもよく、例えば、コマンド制御回路152の内部に設けられる。
レジスター設定回路151は、例えば、CPU140(すなわち、ソフトウェア)からNの指定を受け付け、レジスター153に、Nを設定する。CPU140は、例えば、ROM(不図示)などの記憶領域に予め格納されたNを指定すればよい。もちろん、レジスター設定回路151が、ROMなどの記憶領域に予め格納されたNを読み出して設定するようにしてもよい。
電子機器100の構成や特性によって、信号の波形品質は異なるため、例えば、製品ごとあるいはモデルごとに製造段階でテストなどを行って、信号の波形品質を確保できる適切なNの値を決定し、ROM等に格納しておくのが好ましい。
なお、CPU140は、操作パネル(不図示)などのユーザーインターフェイス装置を介してユーザーからNの指定を受け付け、レジスター設定回路151に設定するようにしてもよい。
また、例えば、レジスター設定回路151は、コントローラー110に搭載されているDRAMあるいはDRAMチップの数を検出(取得)し、数に応じてNの値を決定するようにしてもよい。例えば、DRAMチップの数が1の場合は、N=2、2以上の場合は、N=3、といったようにである。このようにすれば、DRAMチップの増加にともないADR/CMD信号線上の信号の波形品質が悪化する場合に、動的に対処することができる。もちろん、DRAMあるいはDRAMチップの数に応じたNの指定は、例えば、CPU140や内部IPが行ってもよい。また、DRAMあるいはDRAMチップの数以外のシステム構成を検出して、構成に応じたNの値を決定するようにしてもよい。
コマンド制御回路152は、アドレス信号及びコマンド信号の制御を行う。コマンド制御回路152は、例えば、アクセス要求(ライト、リードなど)とともに受け付けたアクセス先のアドレス情報をデコードし、DRAM160に送信するアドレス情報に変換する。そして、アクセス要求に従って、当該変換したアドレス情報が示すDRAM160の記憶領域に対するデータ操作を実行するためのコマンドを、インターフェイス155を介して発行する。
また、コマンド制御回路152は、例えば、アクセス先のアドレス情報に基づいて、アクセス先のチップセレクトを決定する。そして、アクセス先が標準DRAM161である場合、標準DRAM161を選択する信号(チップセレクト信号CS1)をイネーブルにする。アクセス先がオプションDRAM162である場合、オプションDRAM162を選択する信号(チップセレクト信号CS2)をイネーブルにする。なお、DRAMチップ単位でチップセレクトをする必要がある場合、アクセス対象のDRAMチップを選択するチップセレクト信号をイネーブルすればよい。
データ制御回路154は、データの制御を行う。データ制御回路154は、例えば、アクセス要求がライト要求である場合、ライトコマンドの対象のライトデータを、インターフェイス155を介してDRAM160に転送して書き込む。また、例えば、アクセス要求がリード要求である場合、リードコマンドの対象のリードデータを、インターフェイス155を介してDRAM160から読み出して受信する。
インターフェイス155は、メモリーコントローラー150とDRAM160との間の信号の入出力を制御する。インターフェイス155は、例えば、コマンド制御回路152により指定されたチップセレクトに対応するチップセレクト信号を、指定されたタイミング及び長さ(期間)でイネーブルにする。
また、インターフェイス155は、例えば、コマンド制御回路152により生成されたアドレス信号及びコマンド信号をバッファリングし、指定されたタイミング及び長さ(期間)でADR/CMD信号線を介してDRAM160に出力する。
また、インターフェイス155は、例えば、データ制御回路154により生成されたデータストローブ信号及びデータ信号をバッファリングし、指定されたタイミング及び長さ(期間)でDQS/DQ信号線を介してDRAM160に出力する。また、インターフェイス155は、DRAM160から出力されたデータ信号をバッファリングし、データ制御回路154に通知する。
さて、本実施形態では、コマンド制御回路152は、レジスター設定回路151によりレジスター153に設定されたNに従って、アドレス信号及びコマンド信号の長さを決定する。すなわち、コマンド制御回路152は、アドレス信号及びコマンド信号を、Nクロックの長さでDRAM160に出力する。信号の長さNの基準となるクロックは、DRAM160に対して与えられる動作クロックとする。
また、コマンド制御回路152は、アドレス信号及びコマンド信号を出力する場合、Nクロック分の信号の長さのうち、Nクロック目に対応するタイミングで、これらの信号の出力先であるチップセレクトに対応するチップセレクト信号をイネーブルにする。
なお、回路の構成としては、例えば、アドレス信号及びコマンド信号の信号レベルが所定の閾値レベルを超えた場合に、チップセレクト信号がイネーブルされるようにすればよい。すなわち、Nクロック目に対応するタイミングで、前記信号レベルが前記所定の閾値レベルを超えれば、チップセレクト信号がイネーブルされる。ただし、N=1の場合は、前記所定の閾値レベルに係わらず、1クロック目に対応するタイミングで、チップセレクト信号がイネーブルされるようにすればよい。
より具体的には、コマンド制御回路152は、例えば、内部状態遷移(ステートマシン)の制御を、Nに従って変更することにより、アドレス信号及びコマンド信号の出力の長さを制御する。以下、図3〜図7を参照して説明する。
図3は、メモリーコントローラーの内部状態遷移の一例を示す図である。図4は、メモリーコントローラーの各内部状態の一例を説明する図である。
各状態(ステート)の意味は、以下のとおりである。
IDLE:ステートアイドル状態
ACT:ACTコマンド発行
A2W_WAIT:ACT→WRITEのウェイト
WRITE:WRITEコマンド発行
WRITEA :オートプリチャージ付きWRITEコマンド発行
WBST_WAIT:WRITEバースト中のウェイト
W2A_WAIT:WRITEA→ACTのウェイト
A2R_WAIT:ACT→READのウェイト
READ:READコマンド発行
READA:オートプリチャージ付きREADコマンド発行
RBST_WAIT:READバースト中のウェイト
R2A_WAIT:READA→ACTのウェイト
PHIT_WAIT:ページヒット(PAGE−HIT)時のウェイトステート
CMD_WAIT:コマンドウェイトステート
SUB:サブステート(パワーダウン、ZQCS、CBRリフレッシュ、SELFリフレッシュ)
INIT:イニシャライズ時のステート(プリチャージオール、MRS、ZQCL)
図5は、メモリーコントローラーから出力される信号のタイミング(1クロック制御)の一例を説明する図である。図6は、メモリーコントローラーから出力される信号のタイミング(2クロック制御)の一例を説明する図である。図7は、メモリーコントローラーから出力される信号のタイミング(3クロック制御)の一例を説明する図である。
図5〜図7では、CLK(クロック信号)、CSX(チップセレクト信号)、ADR/CMD(アドレス/コマンド信号)、及び、DQ(データ信号)は、メモリーコントローラー150からDRAM160に対して出力される外部信号を示している。一方、内部状態は、メモリーコントローラー150内部の状態を示している。なお、実際は、メモリーコントローラー150の内部状態は、他の外部信号よりも数クロック前に確定している。これは、ADR/CMD等は、内部状態の遷移に従って生成されるが、インターフェイス155などで一時的にバッファリングされてから出力されるためである。以下では説明を分かり易くするため、このタイミングのずれは特にないものとして説明する。
また、DRAM160は、CLKの立ち上がり(T0〜T13)でADR/CMDを取り込んで認識するものとする。DQについては、特に限定されないが、CLKの立ち上がり及び立ち下がりの少なくとも一方で取り込んで認識する。
なお、CSXは、ロウ状態が有効であるものとする。また、ADR/CMDのうちアドレス信号は、特に図示されていないが、例えば、ACT、WR、WRA、RE、REAなどの所定のコマンドと同じタイミング及び長さで出力されるものとする。
なお、ADR/CMDにおいて、ACTはACT(アクティブ)コマンドを意味し、WRはWRITE(ライト)コマンドを意味し、WRAはWRITEA(オートプリチャージ付きライト)コマンドを意味する。また、DQにおいて、WDはWIRTEDATA(ライトデータ)を意味する。
図5に示すように、N=1に設定されている場合(1クロック制御)、コマンド制御回路152は、順に、IDLE状態(T0)、ACT状態(T1)、WR状態(T2)、WBST_WAIT状態(T3)、WRA状態(T4)、CMD_WAIT状態(T5〜)と遷移する。
そして、コマンド制御回路152は、ACT状態(T1)、WR状態(T2)、及びWRA状態(T4)に対応して、ACTコマンド(T1)、WRコマンド(T2)、及びWRAコマンド(T4)を出力する。各コマンドは、それぞれ1クロック分の長さに相当する。なお、データ制御回路154は、WRコマンド及びWRAコマンドに対応する書き込みデータWDを所定のタイミングで出力する。
また、コマンド制御回路152は、ADR/CMDの出力先であるチップセレクトを選択するチップセレクト信号を、ACTコマンド(T1)、WRコマンド(T2)、及びWRAコマンド(T4)のタイミングで、イネーブルにする。
上述の1クロック制御では、CLKが高速である場合、アドレス信号及びコマンド信号の信号レベルが安定せず、波形品質を確保できないことがある。すなわち、DRAM160に出力されたアドレス信号及びコマンド信号の信号レベルが、1クロックの間で、DRAM160で認識可能な所定の信号レベルに達しない期間が発生する。その結果、必要なセットアップホール時間が確保されず、DRAM160は、アドレス信号及びコマンド信号を認識できない。
例えば、図8(1クロック制御)に示すように、DRAM160が、CLKの立ち上がりTでADR/CMDを取り込んで認識する場合を考える。なお、ADR/CMDは、Tのタイミングの前後を挟む、1クロック分の長さで出力されるものとする。
ここで、通常、DRAM160が信号を認識するために必要な規定の信号ウィンドウの範囲(長さ)が規定されている。従って、DRAM160が信号を認識するためには、Tのタイミングにおいて、ADR/CMD信号の波形品質が安定し、かつ、当該波形品質が規定信号ウィンドウ範囲以上継続される必要がある。
CLKが高速である場合、1クロック長のADR/CMD信号は、Tのタイミングで波形品質が安定せず(例えば、所定閾値レベル以上で電圧が安定しない)、Tのタイミングよりも遅れて波形品質が安定する。また、ADR/CMD信号の波形品質が安定する範囲は、規定信号ウィンドウ範囲よりも小さい範囲となってしまう。そのため、DRAM160は、ADR/CMD信号を認識できない。
そこで、本実施形態では、Nを2以上に設定することができる。以下、一例として、N=2、N=3の場合について説明する。
図6に示すように、N=2に設定されている場合(2クロック制御)、コマンド制御回路152は、順に、IDLE状態(T0)、ACT状態(T1、T2)、A2W_WAIT状態(T3)、WR状態(T4)、WBST_WAIT状態(T5)、WRA状態(T6)、CMD_WAIT状態(T7〜)と遷移する。
そして、コマンド制御回路152は、ACT状態(T1、T2)と対応して、ACTコマンド(T1、T2)を出力する。また、A2W_WAIT状態(T3)、及びWR状態(T4)と対応して、WRコマンド(T3、T4)を出力する。また、WBST_WAIT状態(T5)、及びWRA状態(T6)と対応して、WRAコマンド(T5、T6)を出力する。各コマンドは、それぞれ2クロック分の長さに相当する。
また、コマンド制御回路152は、ADR/CMDの出力先であるチップセレクトを選択するチップセレクト信号を、ACTコマンド(T1、T2)のうち最後のクロックに相当するタイミング(T2)で、イネーブルにする。また、チップセレクト信号を、WRコマンド(T3、T4)のうち最後のクロックに相当するタイミング(T4)で、イネーブルにする。また、チップセレクト信号を、WRAコマンド(T5、T6)のうち最後のクロックに相当するタイミング(T6)で、イネーブルにする。
図7に示すように、N=3に設定されている場合(3クロック制御)、コマンド制御回路152は、順に、IDLE状態(T0)、ACT状態(T1、T2、T3)、A2W_WAIT状態(T4、T5)、WR状態(T6)、WBST_WAIT状態(T7、T8)、WRA状態(T9)、CMD_WAIT状態(T10〜)と遷移する。
そして、コマンド制御回路152は、ACT状態(T1、T2、T3)と対応して、ACTコマンド(T1、T2、T3)を出力する。また、A2W_WAIT状態(T4、T5)、及びWR状態(T6)と対応して、WRコマンド(T4、T5、T6)を出力する。また、WBST_WAIT状態(T7、T8)、及びWRA状態(T9)と対応して、WRAコマンド(T7、T8、T9)を出力する。各コマンドは、それぞれ3クロック分の長さに相当する。
また、コマンド制御回路152は、ADR/CMDの出力先であるチップセレクトを選択するチップセレクト信号を、ACTコマンド(T1、T2、T3)のうち最後のクロックに相当するタイミング(T3)で、イネーブルにする。また、チップセレクト信号を、WRコマンド(T4、T5、T6)のうち最後のクロックに相当するタイミング(T6)で、イネーブルにする。また、チップセレクト信号を、WRAコマンド(T7、T8、T9)のうち最後のクロックに相当するタイミング(T9)で、イネーブルにする。
このように、コマンド制御回路152は、ACTコマンドについては、ACT状態の長さ=Nとして制御し、ACT状態の長さに対応させてACTコマンドの長さを制御している。一方、WRコマンドについては、A2W_WAIT状態の長さ=N−1、WR状態の長さ=1として制御し、A2W_WAIT状態とWR状態の長さに対応させてWRコマンドの長さを制御している。また、WRAコマンドについては、WBST_WAIT状態の長さ=N−1、WRA状態の長さ=1として制御し、WBST_WAIT状態とWRA状態の長さに対応させてWRAコマンドの長さを制御している。
また、コマンド制御回路152は、チップセレクトについては、Nの長さのコマンドのうち、最後の1クロックに対応してチップセレクト信号をイネーブルにしている。
もちろん、上記のコマンド(ACT、WR、WRA)制御は、一例であり、他のコマンド制御についても同様に適用できる。すなわち、ACTコマンドの長さは、ACT状態の長さに対応させることで制御される。一方、WRコマンド、WRAコマンド、RE(リード)コマンド、及びREA(オートプリチャージ付きリード)コマンドの長さは、1クロック制御の場合を除き、直前のウェイト状態(A2W_WAIT状態、WBST_WAIT状態、A2R_WAIT状態、RBST_WAIT状態、又はPHIT_WAIT状態)の長さN−1とコマンドの長さ1の合計に対応させることで制御される。
例えば、ACTコマンドの次にWRAコマンドを発行する場合、1クロック制御では、内部状態は、ACT状態(長さ=1)、WRA状態(長さ=1)と遷移する。2クロック制御では、ACT状態(長さ=2)、A2W_WAIT状態(長さ=1)、WRA状態(長さ=1)と遷移する。3クロック制御では、ACT状態(長さ=3)、A2W_WAIT状態(長さ=2)、WRA状態(長さ=1)と遷移する。
REコマンド及びREAコマンドについては、図5〜図7のA2W_WAIT状態、WBST_WAIT状態、WR状態、及びWRA状態を、それぞれ、A2R_WAIT状態、RBST_WAIT状態、RE状態、及びREA状態に置き換えればよい。また、WRコマンド、及びWRAコマンドを、それぞれ、REコマンド、及びREAコマンドに置き換えればよい。
以上のようにNを2以上に設定することで、CLKが高速である場合であっても、アドレス信号及びコマンド信号の信号レベルを安定させ、波形品質を確保することができる。すなわち、DRAM160に出力されたアドレス信号及びコマンド信号の信号レベルが、Nクロック長のうち遅くとも最後のクロックに対応する部分では、DRAM160で認識可能な所定の信号レベルに達するようになる。その結果、必要なセットアップホールド時間が確保され、DRAM160は、アドレス信号及びコマンド信号を認識することができる。また、Nの長さの信号のうち、最後の1クロックに対応してチップセレクト信号がイネーブルされる。これにより、波形品質が確保された適切なタイミングで、DRAMに信号を取り込ませることができる。
例えば、図9(2クロック制御)に示すように、DRAM160が、2クロック目のCLKの立ち上がりT2でADR/CMDを取り込んで認識する場合を考える。なお、ADR/CMDは、T1及びT2のタイミングの前後を挟む、2クロック分の長さで出力されるものとする。
ここで、通常、DRAM160が信号を認識するために必要な規定の信号ウィンドウの範囲(長さ)が規定されている。従って、DRAM160が信号を認識するためには、遅くともT2のタイミングにおいて、ADR/CMD信号の波形品質が安定し、かつ、当該波形品質が規定信号ウィンドウ範囲以上継続される必要がある。
2クロック制御では、2クロック長のADR/CMD信号は、T1のタイミングで波形品質が安定しなくても、遅くともT2のタイミングでは安定している。また、ADR/CMD信号の波形品質が安定する範囲は、T2のタイミングよりも前から始まるため、規定信号ウィンドウ範囲以上の大きい範囲となる。そのため、DRAM160は、ADR/CMDを認識することができる。
3クロック以上の場合は、より確実に、波形品質を安定させ、その信号ウィンドウ範囲を大きくすることができる。
上記の電子機器100の構成は、本実施形態の特徴を説明するにあたって主要構成を説明したのであって、上記の構成に限られない。また、一般的な電子機器が備える構成を排除するものではない。また、上記の電子機器100の構成は、構成を理解容易にするために、主な処理内容に応じて分類したものである。構成要素の分類の仕方や名称によって、本願発明が制限されることはない。処理内容に応じて、さらに多くの構成要素に分類することもできる。また、1つの構成要素がさらに多くの処理を実行するように分類することもできる。
例えば、DRAMの枚数、DRAMに搭載されたDRAMチップの数、チップセレクト数、などは、上記の例に限られない。また、例えば、メモリーコントローラーから、DRAMアクセスを制御するインターフェイス部分を分離し、メモリーPHYとして構成してもよい。
次に、上記のメモリーコントローラー150の特徴的な動作について説明する。
図10は、メモリーコントローラーの処理の流れの一例を説明するフロー図である。本フローは、ACT、WR、WRA、RE、REAコマンドに着目している。
本フローは、例えば、電子機器100の電源がオンされて、その起動処理中に開始される。なお、レジスター設定(S10)は、起動処理中に限られず、例えば、ユーザーの指示に応じて実行されてもよい。
本フローが開始されると、レジスター設定回路151は、例えば、CPU140からNの指定を受け付け、レジスター153に、Nを設定する(S10)。
Nの設定を含む起動処理が完了すると、コマンド制御回路152は、DRAM160に対するコマンド発行するか否かを判定する(S20)。
例えば、コマンド制御回路152は、CPU140や内部IP等から、DRAM160へのアクセス要求を受信したか否かを監視する。そして、アクセス要求を受信した場合、当該アクセス要求を実行するために発行すべき一以上のコマンドを決定する。そして、決定した一以上のコマンドを所定の順序で発行していく。発行すべきコマンドがあれば、コマンド発行タイミングであると判定する。
コマンド発行しない場合(S20:NO)、コマンド制御回路152は、判定を継続する。一方、コマンド発行する場合(S20:YES)、コマンド制御回路152は、発行対象のコマンドの種別を判定する(S30)。
コマンド種別がACTコマンドである場合(S30:ACT)、コマンド制御回路152は、S10で設定されているNクロック分のACTコマンドを、インターフェイス155を介して出力するとともに、Nクロック目に相当するタイミングでACTコマンドの出力先のチップセレクトを選択するチップセレクト信号をインターフェイス155を介して出力する(S40)。
なお、S40において、コマンド制御回路152は、内部状態としてNクロック分のACT状態をとることで、Nクロック分のACTコマンドを生成し、出力する。
コマンド種別がWRコマンド、WRAコマンド、REコマンド、又はREAコマンドである場合(S30:WR、WRA、RE、又はREA)、コマンド制御回路152は、S10で設定されているNクロック分の該当コマンドを、インターフェイス155を介して出力するとともに、遅くともNクロック目に相当するタイミングで該当コマンドの出力先のチップセレクトを選択するチップセレクト信号をインターフェイス155を介して出力する(S50)。
なお、S50において、コマンド制御回路152は、N=2以上の場合、内部状態としてN−1クロック分のWAIT状態をとった後、1クロック分の該当コマンド状態をとることで、Nクロック分の該当コマンドを生成し、出力する。
S40又はS50の終了後、コマンド制御回路152は、処理をS20に戻す。
以上のようにして、設定されたNによりアドレス信号及びコマンド信号の長さを変化させることができる。
上述の図10のフローの各処理単位は、メモリーコントローラー150の処理を理解容易にするために、主な処理内容に応じて分割したものである。処理単位の分割の仕方や名称によって、本願発明が制限されることはない。メモリーコントローラー150の処理は、処理内容に応じて、さらに多くの処理単位に分割することもできる。また、1つの処理単位がさらに多くの処理を含むように分割することもできる。
以上、本発明の一実施形態について説明した。本実施形態によれば、より簡単な設計でメモリーを制御する信号の波形品質を確保することができる。
なお、上記の本発明の実施形態は、本発明の要旨と範囲を例示することを意図し、限定するものではない。多くの代替物、修正および変形例が当業者にとって明らかである。
また、本発明は、DRAMを備えるシステムだけでなく、他のメモリーを備えるシステムに適用できる。
100:電子機器、110:コントローラー、120:エンジン部、130:SOC、140:CPU、150:メモリーコントローラー、151:レジスター設定回路、152:コマンド制御回路、153:レジスター、154:データ制御回路、155:インターフェイス、160:DRAM、161:標準DRAM、162:オプションDRAM、170:I/O制御ASIC、200:情報処理装置

Claims (8)

  1. 一以上のメモリーと、前記メモリーを制御するメモリー制御部と、を有する電子機器であって、
    前記メモリー制御部は、
    前記メモリーの動作クロックを基準とするアドレス信号及びコマンド信号の長さを示すN(ただし、Nは2以上の自然数)を設定する設定部と、
    前記アドレス信号及び前記コマンド信号を前記Nクロックの長さで前記メモリーに出力する信号制御部と、を有する、
    ことを特徴とする電子機器。
  2. 請求項1に記載の電子機器であって、
    一以上のチップセレクトを有し、
    前記信号制御部は、前記Nクロックの長さのうち、Nクロック目に対応する期間にチップセレクト信号をイネーブルにする、
    ことを特徴とする電子機器。
  3. 請求項2に記載の電子機器であって、
    前記信号制御部は、前記アドレス信号及び前記コマンド信号の信号レベルが所定の閾値レベルを超えた場合に、前記チップセレクト信号をイネーブルにする、
    ことを特徴とする電子機器。
  4. 請求項1〜3いずれか一項に記載の電子機器であって、
    CPUを備え、
    前記設定部は、前記CPUから前記Nの設定を受け付ける、
    ことを特徴とする電子機器。
  5. 請求項4に記載の電子機器であって、
    ユーザーインターフェイス装置を備え、
    前記CPUは、前記ユーザーインターフェイス装置を介して前記Nの設定を受け付け、前記設定部に設定する、
    ことを特徴とする電子機器。
  6. 請求項1〜3いずれか一項に記載の電子機器であって、
    前記設定部は、前記メモリーの数を取得し、当該数に応じて前記Nの値を設定する、
    ことを特徴とする電子機器。
  7. 請求項1〜6いずれか一項に記載の電子機器であって、
    前記アドレス信号及び前記コマンド信号の信号線は、全てのメモリーに共有されている、
    ことを特徴とする電子機器。
  8. 一以上のメモリーと、前記メモリーを制御するメモリー制御部と、を有する電子機器におけるメモリー制御方法であって、
    前記メモリー制御部は、
    前記メモリーの動作クロックを基準とするアドレス信号及びコマンド信号の長さを示すN(ただし、Nは2以上の自然数)を設定し、
    前記アドレス信号及び前記コマンド信号を前記Nクロックの長さで前記メモリーに出力する、
    ことを特徴とするメモリー制御方法。
JP2012086357A 2012-04-05 2012-04-05 電子機器、及びメモリー制御方法 Expired - Fee Related JP5919973B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012086357A JP5919973B2 (ja) 2012-04-05 2012-04-05 電子機器、及びメモリー制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012086357A JP5919973B2 (ja) 2012-04-05 2012-04-05 電子機器、及びメモリー制御方法

Publications (2)

Publication Number Publication Date
JP2013218404A true JP2013218404A (ja) 2013-10-24
JP5919973B2 JP5919973B2 (ja) 2016-05-18

Family

ID=49590454

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012086357A Expired - Fee Related JP5919973B2 (ja) 2012-04-05 2012-04-05 電子機器、及びメモリー制御方法

Country Status (1)

Country Link
JP (1) JP5919973B2 (ja)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0296851A (ja) * 1988-10-03 1990-04-09 Mitsubishi Electric Corp アクセス回路
JPH0581126A (ja) * 1991-09-18 1993-04-02 Hitachi Ltd データ処理装置及びデータ処理システム
JP2005063181A (ja) * 2003-08-13 2005-03-10 Konica Minolta Business Technologies Inc シンクロナスdram制御装置
JP2006202172A (ja) * 2005-01-24 2006-08-03 Sharp Corp バスタイミング制御回路
JP2009086702A (ja) * 2007-09-27 2009-04-23 Renesas Technology Corp メモリ制御装置および半導体装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0296851A (ja) * 1988-10-03 1990-04-09 Mitsubishi Electric Corp アクセス回路
JPH0581126A (ja) * 1991-09-18 1993-04-02 Hitachi Ltd データ処理装置及びデータ処理システム
JP2005063181A (ja) * 2003-08-13 2005-03-10 Konica Minolta Business Technologies Inc シンクロナスdram制御装置
JP2006202172A (ja) * 2005-01-24 2006-08-03 Sharp Corp バスタイミング制御回路
JP2009086702A (ja) * 2007-09-27 2009-04-23 Renesas Technology Corp メモリ制御装置および半導体装置

Also Published As

Publication number Publication date
JP5919973B2 (ja) 2016-05-18

Similar Documents

Publication Publication Date Title
US7421558B2 (en) System controlling interface timing in memory module and related method
US7429898B2 (en) Clock signal generating circuit, semiconductor integrated circuit and method for controlling a frequency division ratio
US6611905B1 (en) Memory interface with programable clock to output time based on wide range of receiver loads
US6530001B1 (en) Computer system controlling memory clock signal and method for controlling the same
US10109328B2 (en) Memory controller for adjusting timing based on memory power states
US10268257B2 (en) Memory control device that control semiconductor memory, memory control method, information device equipped with memory control device, and storage medium storing memory control program
US20100306460A1 (en) Memory controller, system, and method for accessing semiconductor memory
JP5471631B2 (ja) 電子機器
JP2011081553A (ja) 情報処理装置及びその制御方法
US20110126039A1 (en) Memory controller with reduced power consumption, memory device, and memory system
JP2007249738A (ja) メモリアクセス制御装置
US20060195665A1 (en) Access control device, method for changing memory addresses, and memory system
KR20170059239A (ko) 이종 메모리들을 포함하는 메모리 장치 및 메모리 시스템
US20060007758A1 (en) Method and apparatus for setting CAS latency and frequency of heterogenous memories
JP5919973B2 (ja) 電子機器、及びメモリー制御方法
US20090319708A1 (en) Electronic system and related method with time-sharing bus
JP6274774B2 (ja) メモリインターフェース装置及びその制御方法
US9412426B2 (en) Electronic apparatus and method for memory control
JP6700739B2 (ja) コントローラおよび制御方法
JP2008117242A (ja) データ転送制御装置、及び、データ転送制御方法
JP4867395B2 (ja) メモリ制御回路及び印刷装置
JP3317592B2 (ja) メモリシステム及び画像形成システム
JP3674670B2 (ja) バス制御装置及び半導体装置
US20050047231A1 (en) Memory controller and image forming device provided with the same
JPH08227374A (ja) メモリシステム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150403

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160210

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: 20160315

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160328

R150 Certificate of patent or registration of utility model

Ref document number: 5919973

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees