JP2021096739A - メモリ制御装置、メモリ制御方法および撮像装置 - Google Patents
メモリ制御装置、メモリ制御方法および撮像装置 Download PDFInfo
- Publication number
- JP2021096739A JP2021096739A JP2019228944A JP2019228944A JP2021096739A JP 2021096739 A JP2021096739 A JP 2021096739A JP 2019228944 A JP2019228944 A JP 2019228944A JP 2019228944 A JP2019228944 A JP 2019228944A JP 2021096739 A JP2021096739 A JP 2021096739A
- Authority
- JP
- Japan
- Prior art keywords
- command
- transfer command
- issuance
- clock synchronization
- new transfer
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Memory System (AREA)
Abstract
【課題】新規の転送コマンドの発行とクロック同期コマンドの発行との競合による新規の転送コマンドの発行の遅れを防止することができるようにする。【解決手段】メモリ制御装置は、メモリに対する新規の転送コマンドの発行とクロック同期コマンドの発行が競合する場合には、前記新規の転送コマンドの一つ前の転送コマンドの発行タイミングを遅らせ、前記クロック同期コマンドを発行しないコマンド制御手段を有する。【選択図】図2
Description
本発明は、メモリ制御装置、メモリ制御方法および撮像装置に関する。
近年、デジタルスチルカメラやビデオカメラなどの撮像装置において、CPU(Central Processing Unit)用処理プログラムの格納や画像処理部で生成される中間画像等の格納のために一時記憶メモリが用いられている。一時記憶メモリは、SDRAM(Synchronous Dynamic Access Memory)等の揮発性メモリである。SDRAMの高速化のため、JEDEC(Joint Electron Device Engineering Council)により、新しい規格が提案されており、特に低消費電力のSDRAM規格であるLPDDR5(非特許文献1)が提案されている。
JEDEC STANDARD LPDDR5 SDRAM JESD209−5
LPDDR5では、リードやライトのための転送コマンドを発行してから所定期間内に次の転送コマンドが入力されない場合は、SDRAM内部のデータ系クロックを停止し、省電力状態となる。このため、複数バンクに対しての転送を行っている際に、バンク開閉コマンド発行から転送コマンド発行までの待ち時間内にデータ系クロックが停止する場合がある。この場合は、転送コマンドを発行する前に、クロック同期コマンドを再発行する必要があるが、クロック同期コマンドと転送コマンドの発行タイミングが競合すると、転送コマンドの発行タイミングが遅れるため、バス帯域をロスする。バス帯域のロスが大きい場合は、実際のデータ転送に使用するための帯域を確保するために、バスの周波数を上げることになり、消費電力が増加してしまう。
本発明の目的は、新規の転送コマンドの発行とクロック同期コマンドの発行との競合による新規の転送コマンドの発行の遅れを防止することができるようにすることである。
本発明のメモリ制御装置は、メモリに対する新規の転送コマンドの発行とクロック同期コマンドの発行が競合する場合には、前記新規の転送コマンドの一つ前の転送コマンドの発行タイミングを遅らせ、前記クロック同期コマンドを発行しないコマンド制御手段を有する。
本発明によれば、新規の転送コマンドの発行とクロック同期コマンドの発行との競合による新規の転送コマンドの発行の遅れを防止することができる。
(第1の実施形態)
図1は、第1の実施形態による撮像装置120の構成例を示す図である。撮像装置120は、撮像センサ101と、撮像処理部102と、メモリバス103と、メモリコントローラ104と、SDRAM105と、現像処理部106と、表示制御部107と、表示部108と、符号化部109と、記録媒体110と、CPU111を有する。メモリコントローラ104は、メモリ制御装置であり、調停部112と、コマンドキュー113と、コマンド制御部114と、バンク状態保持部115と、データバッファ116を有する。
図1は、第1の実施形態による撮像装置120の構成例を示す図である。撮像装置120は、撮像センサ101と、撮像処理部102と、メモリバス103と、メモリコントローラ104と、SDRAM105と、現像処理部106と、表示制御部107と、表示部108と、符号化部109と、記録媒体110と、CPU111を有する。メモリコントローラ104は、メモリ制御装置であり、調停部112と、コマンドキュー113と、コマンド制御部114と、バンク状態保持部115と、データバッファ116を有する。
撮像センサ101は、被写体像を光電変換し、画像データを生成する。撮像処理部102は、撮像センサ101により生成された画像データに対して、欠陥画素補正およびシェーディング補正などの処理を行う。撮像処理部102は、処理後の画像データを、メモリバス103およびメモリコントローラ104を経由して、SDRAM105に記録する。SDRAM105は、揮発性メモリである。
現像処理部106は、メモリバス103およびメモリコントローラ104を経由してSDRAM105に記録されている処理後の画像データを読み出し、現像処理を行う。現像処理は、画素補間、フィルタ処理、縮小のリサイズ処理、色変換処理、圧縮画像データに最適なフォーマットであるYCbCr形式のフォーマットに変換する処理などである。現像処理部106は、現像処理後の画像データを、メモリバス103およびメモリコントローラ104経由でSDRAM105に記録する。
表示制御部107は、メモリバス103およびメモリコントローラ104を経由し、SDRAM105より現像処理後の画像データを読み出し、表示部108に出力する。符号化部109は、メモリバス103およびメモリコントローラ104を経由し、SDRAM105より現像処理後の画像データを読み出し、H.264等の圧縮符号化処理を行い、記録媒体110に記録する。CPU111は、SDRAM105に記憶されているプログラムをフェッチし、プログラムに沿って各処理部の設定を制御する。
次に、メモリコントローラ104の構成について説明する。調停部112は、各バスマスタからの転送要求に対して予め設定される優先度に沿って一つのバスマスタを選択し、コマンドキュー113へ出力する。コマンドキュー113は、転送要求を一時格納し、キューに空きがなくなると、調停部112の調停を停止させる。
コマンド制御部114は、コマンドキュー113に記録されている転送要求に応じたバンク開閉コマンド、リードやライトの転送コマンド、SDRAM105内のデータ保持のためのリフレッシュコマンドを発行する。また、コマンド制御部114は、転送効率が良くなるように、コマンドキュー113に格納されている転送要求の実行順序の入れ替えや発行タイミングの制御を行う。
バンク状態保持部115は、SDRAM105に対するバンク開閉コマンド発行を監視し、各バンクの開閉状態と各バンクに対する開閉処理を実施してからの経過時間をコマンド制御部114に出力する。データバッファ116は、SDRAM105に対するライトデータやリードデータを一時保持し、メモリバス103経由で各バスマスタとデータを送受信する。
次に、SDRAM105について説明する。LPDDR5は、低消費電力のSDRAM105の規格である。LPDDR5では、コマンド系とデータ系のクロックが分かれており、コマンド系のクロックでデータ系クロックの同期コマンドを発行し、データ転送が必要な期間のみデータクロックを動作させることで消費電力を抑制できる。
LPDDR5を含むSDRAM105は、データ記憶エリアが複数のバンクに分割されており、各バンクは複数のロウアドレスに分割されている。また、ロウアドレス内は、複数のカラムアドレスで分割されており、バンク、ロウ、カラムを使用してアクセスするアドレスを指定する。ここで、各バンク内の1つのロウアドレスに含まれる領域は、ページと呼ばれる。SDRAM105では、データアクセスするページを開いた後に、ページ内のデータに対してのみライトやリードが可能となる。バンクを開いてから、リードやライトを行うための転送コマンドを発行するためには、所定時間を待つ必要がある。この待ち時間は、データ系クロックの同期コマンド発行からデータ転送が可能となるまでの待ち時間より短い。そのため、データ転送しておらず、データ系クロックを停止している状態からデータ転送を開始する場合は、データ系クロックの同期コマンドによるバス帯域のロスは発生しない。また、SDRAM105は、複数のバンクがあり、1つのバンクに対して開閉した後に、転送コマンドが発行可能となるまでの待ち時間に異なるバンクに対する転送を行うことができる。このため、バンク開閉を繰り返しながら転送を行うバンクをインターリーブすることで、バンク開閉による待ち時間によりバス帯域をロスすることを回避できる。
また、データ系クロックは、リードやライトのための転送コマンドを発行してから所定期間内に次の転送コマンドが入力されない場合は、SDRAM105内部のデータ系クロックを停止し、省電力状態となる。このため、複数バンクに対しての転送を行っている際に、バンク開閉コマンド発行から転送コマンド発行までの待ち時間内にデータ系クロックが停止する場合がある。この場合は、転送コマンドを発行する前に、クロック同期コマンドを再発行する必要があるが、クロック同期コマンドと転送コマンドの発行タイミングが競合すると、転送コマンドの発行タイミングが遅れるため、バス帯域をロスする。バス帯域のロスが大きい場合は、実際のデータ転送に使用するための帯域を確保するために、バスの周波数を上げることになり、消費電力が増加してしまう。以下、この課題を解決するためのメモリコントローラ104のメモリ制御方法を説明する。
図2は、コマンド制御部114の制御方法を示すフローチャートである。ステップS201では、コマンド制御部114は、コマンドが格納されているか否かを判定する。コマンド制御部114は、コマンドが格納されている場合には、ステップS202に進み、コマンドが格納されていない場合には、図2の処理を終了する。
ステップS202では、コマンド制御部114は、新規コマンドが格納されたか否かを判定する。新規コマンドは、SDRAM105に対する新規の転送コマンドである。コマンド制御部114は、新規コマンドが格納されていない場合には、ステップS203に進み、新規コマンドが格納された場合には、ステップS205に進む。
ステップS205では、コマンド制御部114は、新規コマンドの発行タイミングを算出する。
次に、ステップS206では、コマンド制御部114は、新規コマンドに対してクロック同期コマンドの発行が必要であるか否かを判定する。コマンド制御部114は、クロック同期コマンドの発行が不要である場合には、ステップS207に進み、クロック同期コマンドの発行が必要である場合には、ステップS208に進む。
ステップS208では、コマンド制御部114は、新規コマンドの発行とクロック同期コマンドの発行が競合するか否かを判定する。コマンド制御部114は、競合しない場合には、ステップS207に進み、競合する場合には、ステップS209に進む。
ステップS209では、コマンド制御部114は、競合した新規コマンド(転送コマンド)の一つ前の転送コマンドの発行タイミングを遅らせることが可能であるか否かを判定する。コマンド制御部114は、遅らせることが不可能である場合には、ステップS207に進み、遅らせることが可能である場合には、ステップS210に進む。
ステップS210では、コマンド制御部114は、一つ前の転送コマンドの発行タイミングを遅らせ、ステップS207に進む。
ステップS207では、コマンド制御部114は、新規コマンドの発行タイミングを決定し、ステップS203に進む。
ステップS203では、コマンド制御部114は、格納済みのコマンドに対するコマンドを発行するタイミングであるか否かを判定する。コマンド制御部114は、コマンドを発行するタイミングである場合には、ステップS204に進み、コマンドを発行するタイミングでない場合には、図2の処理を終了する。
ステップS204では、コマンド制御部114は、格納済みのコマンドを発行し、図2の処理を終了する。
図3は、一般的なコマンド制御のタイミングチャートである。図3のコマンド系クロックCKは、SDRAM105に対するコマンド系の制御用クロックである。図3では、コマンド系クロックCKのサイクル単位で各処理が動作するものとし、サイクルT0〜T32でコマンド制御について説明する。
図3のキュー1〜キュー4は、コマンドキュー113内の4つのキューに対して4個のライト要求が格納された場合の各キューの状態を示しており、キューに転送コマンドが格納されると‘High’、転送コマンドが処理されると‘Low’となる。また、キュー1〜キュー4の転送コマンドは、SDRAM105の構造に合わせて、バンク、ロウ、カラムの各アドレス情報に分解される。図3において、SDRAM105内のバンク、ロウ、カラムのアドレス情報は、B:X、R:X、C:X(X=アドレス値)で略して表示している。
図3のコマンドとアドレスは、SDRAM105に対して発行するコマンドの内容とコマンドに多重して通知されるアドレスを示している。LPDDR5規格では、バンクを開くためのACTコマンドは、コマンド系クロックCKの2サイクルでACT−1とACT−2のコマンドに分けてバンクとロウのアドレス情報を通知する仕様である。これに対し、図3では、説明を簡単化するために、コマンド系クロックCKの2サイクル幅のACTコマンドで表している。
図3のバンク0状態は、バンク0の開閉状態と開閉時のロウアドレスを示しており、バンク0が開いている状態が‘High’、バンク0が閉じている状態が‘Low’となる。
図3のバンク0カウントは、バンク0が開閉してからの経過サイクルを示している。バンク0の開閉後にコマンド発行が可能となるまでの待ち時間は、コマンドによって異なるが、最大の待ち時間となるサイクルが経過後は、カウント値を‘0’としカウントを停止する。
図3のバンク1状態は、バンク1の開閉状態と開閉時のロウアドレスを示しており、図3のバンク0状態と同様である。図3のバンク1カウントは、バンク1が開閉してからの経過サイクルを示しており、図3のバンク0カウントと同様である。
図3のデータ系クロックWCKは、SDRAM105に対するデータ系クロックを示している。データ系クロックWCKは、クロック同期コマンド発行後に所定のシーケンスでクロック周波数を変化させることで、SDRAM105との同期をとることができる。ただし、説明を簡単化するため、データ系クロックWCKは、クロック同期期間を‘High’、非クロック同期期間を‘Low’としている。
図3のデータは、メモリコントローラ104とSDRAM105間で転送されるデータを示している。
図3は、一般的なコマンド制御のタイミングを示している。サイクルT0では、SDRAM105のすべてのバンクは閉じている状態であり、コマンドキュー113も空の状態である。
サイクルT1では、撮像処理部102からの転送要求がキュー1に格納され、バンク、ロウ、カラムのアドレス情報に分解される。
サイクルT2では、キュー1に格納されたコマンドに対する処理が開始される。キュー1でアクセスする対象のバンク0は閉じている状態であり、バンク0が閉じてからの経過サイクルは‘0’(全コマンド発行可能)のため、バンク0を開くためのACTコマンドが発行される。また、バンク0状態が‘High’に変化し、バンク0が開閉してからのカウントが開始される。バンク0を開いてからライトの転送コマンドを発行するまでの待ち時間tRCDを経過後のサイクルT6に、WRコマンドが発行され、ライトレイテンシーWL経過後のサイクルT9からキュー1に対応したライトデータD1がSDRAM105へ転送される。
なお、サイクルT9でデータ転送が可能となるように、サイクルT6のWRコマンド発行の1サイクル前のサイクルT5でクロック同期コマンドであるCASコマンドを発行する。これにより、クロック同期準備期間tWCKPRE経過後のサイクルT9のタイミングからデータ系クロックWCKが同期状態となる。また、サイクルT7でキュー1に対するWRコマンドの発行が完了したため、キュー1は空となる。
次に、キュー2のコマンドに対する制御を説明する。サイクルT6では、現像処理部106からの転送要求がキュー2に格納され、バンク、ロウ、カラムのアドレス情報に分解される。
サイクルT7では、キュー2に格納されたコマンドに対する処理が開始される。キュー2でアクセスする対象のバンク1は閉じている状態であり、バンク1が閉じてからの経過サイクルは‘0’のため、バンク1を開くためのACTコマンドが発行される。また、バンク1状態が‘High’に変化し、バンク1が開閉してからのカウントが開始される。バンク1を開いてからライトの転送コマンドを発行するまでの待ち時間tRCDを経過後のサイクルT11にWRコマンドが発行され、ライトレイテンシーWL経過後のサイクルT14からキュー2に対応したライトデータD2がSDRAM105へ転送される。また、サイクルT12でキュー2に対するWRコマンドの発行が完了したため、キュー2は空となる。
次に、キュー3のコマンドに対する制御を説明する。サイクルT7では、現像処理部106からの2つ目の転送要求がキュー3に格納され、バンク、ロウ、カラムのアドレス情報に分解される。キュー2に格納されている転送要求と同じバスマスタからのキュー3のコマンドがアクセスする対象のバンク1のロウアドレスは開いている状態である。そのため、バンク1の開閉の処理を行うことなく、先行するキュー2に対するライトに続けてデータ転送が実行されるように、サイクルT15でWRコマンドが発行される。ライトレイテンシーWL経過後のサイクルT18からキュー3に対応したライトデータD3がSDRAM105へ転送される。また、サイクルT16では、キュー3に対するWRコマンドの発行が完了したため、キュー3は空となる。
次に、キュー4のコマンドに対する制御を説明する。サイクルT9では、符号化部109からの転送要求がキュー4に格納され、バンク、ロウ、カラムのアドレス情報に分解される。キュー4でアクセスする対象のバンク0は、異なるロウアドレスが開いている状態のため、先行しているキュー1のライトが完了後、ライトリカバリータイムtWR経過後のサイクルT16でバンク0を閉じるためのPREコマンドを発行する。ここで、バンク0を開いてから閉じるまでの待ち時間tRASは経過しており、サイクルT12以降はバンク0を閉じる条件は満たしている。
また、バンク0状態が‘Low’に変化し、バンク0が開閉してからのカウントが開始される。バンク0を閉じてからバンク0を開けるまでの待ち時間tRP経過後のサイクルT19でバンク0を開けるためのACTコマンドが発行される。また、バンク0状態が‘High’に変化し、バンク0が開閉してからのカウントが開始される。バンク0を開いてからライトの転送コマンドを発行するまでの待ち時間tRCDを経過後のサイクルT23でバンク0はライトコマンドを受け付けることが可能となる。ただし、サイクルT20でキュー3のコマンドに対するライトが完了し、データ系クロックWCKの同期が維持される期間tWCKPSTが経過している。そのため、サイクルT23でクロック同期コマンドCASが発行され、クロック同期準備期間tWCKPRE経過後のサイクルT27でデータ系クロックWCKが同期状態となる。
サイクルT24では、WRコマンドが発行され、ライトレイテンシーWL経過後のサイクルT27からキュー4に対応したライトデータD4がSDRAM105へ転送される。また、サイクルT25では、キュー4に対するWRコマンドの発行が完了したため、キュー4は空となる。サイクルT30では、キュー4に対するライトが完了し、データ系クロックWCKの同期が維持される期間tWCKPST経過後のサイクルT32に非クロック同期状態となる。
図3では、サイクルT23でクロック同期コマンドCASを発行するため、キュー4に対するWRコマンドの発行が待たされており、バス帯域をロスしている。
図4は、本実施形態によるメモリコントローラ104のコマンド制御のタイミングチャートである。図4が図3と異なる点を説明する。コマンド制御部114は、図2の処理により、クロック同期コマンドCASが不要となるように、コマンド発行を制御する。以下、図2と図4を用いて、本実施形態によるコマンド制御について説明する。
サイクルT1では、撮像処理部102からの転送要求がキュー1に格納される。ここでは、新規コマンドの投入となるため、コマンド制御部114は、ステップS201とS202とS205を経由し、キュー1に対するコマンド発行タイミングを算出する。キュー1のアクセス対象であるバンク0は閉じている状態のため、サイクルT2でバンク0を開けるためのACTコマンドが発行される。コマンド制御部114は、バンク0を開いてからライトの転送コマンドを発行するまでの待ち時間tRCDを経過後のサイクルT6でWRコマンドを発行することを算出する。
次に、サイクルT1ではデータ系クロックWCKが同期状態ではなく、ステップS205で算出したACTコマンドとWRコマンドの間にコマンド発行可能な空きがある。そのため、コマンド制御部114は、ステップS206とS208とS207を経由し、ステップS205で算出したWRコマンドの直前のサイクルT5にクロック同期コマンドCASを追加する。コマンド制御部114は、サイクルT2にACTコマンド、サイクルT5にCASコマンド、サイクルT6にWRコマンドを発行することを決定する。
サイクルT2〜T5では、新規コマンドは格納されないため、コマンド制御部114は、サイクルT1で決定したコマンド発行のタイミングでコマンド発行を行う。
サイクルT6では、現像処理部106からの転送要求がキュー2に格納される。ここでは、新規コマンドの投入となるため、コマンド制御部114は、ステップS201とS202とS205を経由し、キュー2に対するコマンド発行タイミングを算出する。キュー2のアクセス対象であるバンク1は閉じている状態である。そのため、コマンド制御部114は、サイクルT7でバンク1を開け、バンク1を開いてからライトの転送コマンドを発行するまでの待ち時間tRCDを経過後のサイクルT11でWRコマンドを発行することを算出する。
次に、サイクルT5でCASコマンドが発行されており、キュー2に対するWRコマンドを発行するタイミングであるサイクルT11では、キュー1のデータを転送中のため、クロック同期コマンドCASは不要と判定される。コマンド制御部114は、ステップS206とS207を経由し、サイクルT7にACTコマンド、サイクルT11にWRコマンドを発行することを決定する。次に、コマンド制御部114は、キュー1に対するWRコマンド発行のタイミングとなるため、ステップS203とS204を経由し、WRコマンドを発行する。
サイクルT7では、現像処理部106からの2つ目の転送要求がキュー3に格納される。ここでは、新規コマンドの投入となるため、コマンド制御部114は、ステップS201とS202とS205を経由し、キュー3に対するコマンド発行タイミングを算出する。キュー3のアクセス対象であるバンク1のロウアドレスは開いている状態のため、コマンド制御部114は、キュー2に対するデータ転送が完了するタイミングに合わせて、サイクルT15でWRコマンドを発行することを算出する。
次に、キュー3に対するWRコマンドを発行するタイミングであるサイクルT15では、キュー2のデータを転送中のため、クロック同期コマンドCASは不要と判定される。コマンド制御部114は、ステップS206とS207を経由し、サイクルT15にWRコマンドを発行することを決定する。次に、コマンド制御部114は、キュー2に対するACTコマンド発行のタイミングとなるため、ステップS203とS204を経由し、ACTコマンドを発行する。
サイクルT9では、符号化部109からの転送要求がキュー4に格納される。ここでは、新規コマンドの投入となるため、コマンド制御部114は、ステップS201とS202とS205を経由し、キュー4に対するコマンド発行タイミングを算出する。キュー4のアクセス対象であるバンク0は異なるロウアドレスが開いている状態のため、コマンド制御部114は、キュー1に対するデータ転送が完了し、ライトリカバリータイムtWR経過後のサイクルT16でPREコマンドを発行することを算出する。また、コマンド制御部114は、バンク0を閉じてからバンク0を開けるまでの待ち時間tRP経過後のサイクルT19でACTコマンドを発行することを算出する。また、コマンド制御部114は、バンク0を開いてからライトの転送コマンドを発行するまでの待ち時間tRCDを経過後のサイクルT23でWRコマンドを発行することを算出する。
次に、サイクルT21でキュー3に対する転送が完了し、データ系クロックWCKの同期が維持される期間tWCKPSTが経過しているため、サイクルT23のWRコマンドの前にクロック同期コマンドCASを発行する必要がある。そのため、サイクルT23でキュー4に対するWRコマンドとCASコマンドが競合する。このため、コマンド制御部114は、ステップS206とS208を経由し、キュー4の転送に対するWRコマンドとクロック同期コマンドCASが競合するか否かを判定する。サイクルT22でデータ系クロックWCKの同期状態が終了するため、クロック同期コマンドCASの発行タイミングはサイクルT23となり、キュー4の転送に対するWRコマンドと競合する。
ここで、一つ前の転送コマンドは、キュー3に対するWRコマンドであり、サイクルT15のタイミングである。キュー2に対する転送が完了するサイクルT17に他のコマンド発行がないため、コマンド制御部114は、ステップS209とS210を経由し、キュー3に対するWRコマンドの発行タイミングをサイクルT15からサイクルT17に遅らせる。
次に、コマンド制御部114は、ステップS207で、サイクルT19にACTコマンド、サイクルT23にWRコマンドを発行することを決定する。この結果、クロック同期コマンドCASを発行することにより、キュー4に対するWRコマンドの発行タイミングが遅れることを防止できる。
以上のように、ステップS202では、コマンド制御部114は、SDRAM105に対する新規の転送コマンドが格納された場合には、ステップS205に進む。
ステップS205では、コマンド制御部114は、バンク0を開いてから待ち時間tRCDを経過した後のタイミングを新規の転送コマンド(WRコマンド)の発行タイミングとして算出する。
ステップS206では、コマンド制御部114は、図3と同様に、ステップS205で算出された新規の転送コマンドの発行タイミングがデータ系クロックWCKの同期状態が終了した後である場合、クロック同期コマンドCASの発行が必要であると判定する。その場合、コマンド制御部114は、ステップS208に進む。
ステップS208では、コマンド制御部114は、図3と同様に、新規の転送コマンドの発行とクロック同期コマンドCASの発行が競合する場合には、ステップS209に進む。
ステップS210では、コマンド制御部114は、新規の転送コマンドの一つ前の転送コマンド(WRコマンド)の発行タイミングをサイクルT15からサイクルT17に遅らせ、クロック同期コマンドCASを発行しない。
以上説明したように、バンク開閉コマンド発行から転送コマンド発行までの待ち時間tRCD内にデータ系クロックWCKが停止し、クロック同期コマンドCASと転送コマンドが競合する場合でも、転送コマンドの発行を遅らせることがなくなる。そのため、バス帯域をロスすることを防止し、バスの周波数を下げることで、撮像装置120のバッテリーの持ちを向上することができる。
なお、本実施形態では、最後に格納された転送要求に対応するバンクが開いている状態のため、バンクの開閉が必要となり、クロック同期コマンドCASと転送コマンドの競合が発生している。その他、最後に格納された転送要求の実行順序を入れ替えた時や、リフレッシュ処理中の待ち時間等の他の状況において競合が発生した場合でも、同様の制御で、バス帯域のロスを防止することができる。
(第2の実施形態)
次に、第2の実施形態について説明する。第1の実施形態では、クロック同期コマンドCASと転送コマンドが競合する場合に、先行する転送コマンドの発行タイミングを遅らせることで、クロック同期コマンドCASを不要とし、バス帯域のロスを防止している。しかし、先行するコマンドの発行タイミングが遅れるため、データ転送が実行されるタイミングも遅れることになる。このため、バスマスタの転送要求がポステッドのライトの場合は影響として表れないが、ライトレスポンスを利用する場合のライトやリードの転送要求で、低レイテンシが要求される場合は、レイテンシが増加するという課題がある。
次に、第2の実施形態について説明する。第1の実施形態では、クロック同期コマンドCASと転送コマンドが競合する場合に、先行する転送コマンドの発行タイミングを遅らせることで、クロック同期コマンドCASを不要とし、バス帯域のロスを防止している。しかし、先行するコマンドの発行タイミングが遅れるため、データ転送が実行されるタイミングも遅れることになる。このため、バスマスタの転送要求がポステッドのライトの場合は影響として表れないが、ライトレスポンスを利用する場合のライトやリードの転送要求で、低レイテンシが要求される場合は、レイテンシが増加するという課題がある。
そこで、第2の実施形態では、バスマスタからの転送要求の内容に応じてコマンド制御方法を切り替える。これにより、低レイテンシが要求される転送要求のレイテンシを増加させることなく、クロック同期コマンドCASと転送コマンドが競合することによるバス帯域のロスを低減することができる。
図5は、第2の実施形態による撮像装置120の構成例を示す図である。図5の撮像装置120は、図1の撮像装置120に対して、遅延可否判定部501を追加したものである。遅延可否判定部501とSDRAM105は、メモリコントローラ104内に設けられる。以下、第2の実施形態が第1の実施形態と異なる点を説明する。遅延可否判定部501は、調停部112から入力された転送要求に対し、バスマスタ単位で予め設定される遅延可否情報に応じて、遅延可否フラグを付加して、コマンドキュー113へ出力する。
図6は、第2の実施形態によるメモリコントローラ104のコマンド制御のフローチャートである。図6のフローチャートは、図2のフローチャートに対して、ステップS601とS602を追加したものである。以下、図6が図2と異なる点を説明する。
ステップS209では、コマンド制御部114は、一つ前の転送コマンドの発行タイミングを遅らせることが可能である場合には、ステップS601に進む。
ステップS601では、コマンド制御部114は、遅延可否フラグENが‘1’であるか否かを判定する。コマンド制御部114は、遅延可否フラグENが ‘1’である場合には、ステップS210に進み、遅延可否フラグENが ‘0’である場合には、ステップS602に進む。
ステップS602では、コマンド制御部114は、一つ前の転送コマンドと新規転送コマンドの間にダミーの転送コマンドを追加し、クロック同期コマンドCASを発行せず、ステップS207に進む。ステップS207では、コマンド制御部114は、新規コマンドと追加したダミーの転送コマンドの発行タイミングを決定する。
図7は、第2の実施形態によるメモリコントローラ104のコマンド制御のタイミングチャートであり、低レイテンシが必要ない転送要求の場合の制御を示す。図7が図4と異なる点を説明する。図7のキュー1〜キュー4は、コマンドキュー113内の4つのキューに対して4個のライト要求が格納された場合の各キューの状態を示しており、キューに転送コマンドが格納されると‘High’、転送コマンドが処理されると‘Low’としている。また、キュー1〜キュー4の転送コマンドは、SDRAM105の構造に合わせて、バンク、ロウ、カラムの各アドレス情報に分解され、遅延可否フラグENがセットされる。図7において、図4と同じ動作となる箇所については説明を省略する。
サイクルT1では、撮像処理部102からの転送要求がキュー1に格納され、バンク、ロウ、カラムのアドレス情報に分解されるとともに、遅延可否フラグENが‘1’にセットされる。ここでは、新規コマンドの投入となるため、コマンド制御部114は、ステップS201とS202とS205を経由し、キュー1に対するコマンド発行タイミングを算出する。キュー1のアクセス対象であるバンク0は閉じている状態である。そのため、コマンド制御部114は、サイクルT2でバンク0を開けるためのACTコマンドを発行し、バンク0を開いてからライトの転送コマンドを発行するまでの待ち時間tRCDを経過後のサイクルT6でWRコマンドを発行することを算出する。次に、サイクルT1では、データ系クロックWCKが同期状態ではなく、ステップS205で算出したACTコマンドとWRコマンドの間にコマンド発行可能な空きがある。そのため、コマンド制御部114は、ステップS206とS208とS207を経由し、ステップS205で算出したWRコマンドの直前のサイクルT5にクロック同期コマンドCASを追加する。コマンド制御部114は、サイクルT2にACTコマンド、サイクルT5にCASコマンド、サイクルT6にWRコマンドを発行することを決定する。
サイクルT6では、現像処理部106からの転送要求がキュー2に格納され、バンク、ロウ、カラムのアドレス情報に分解されるとともに、遅延可否フラグENが‘1’にセットされる。ここでは、新規コマンドの投入となるため、コマンド制御部114は、ステップS201とS202とS205を経由し、キュー2に対するコマンド発行タイミングを算出する。キュー2のアクセス対象であるバンク1は閉じている状態である。そのため、コマンド制御部114は、サイクルT7でバンク1を開け、バンク1を開いてからライトの転送コマンドを発行するまでの待ち時間tRCDを経過後のサイクルT11でWRコマンドを発行することを算出する。次に、サイクルT5でCASコマンドが発行されており、キュー2に対するWRコマンドを発行するタイミングであるサイクルT11では、キュー1のデータを転送中のため、クロック同期コマンドCASは不要と判定される。コマンド制御部114は、ステップS206とS207を経由し、サイクルT7にACTコマンド、サイクルT11にWRコマンドを発行することを決定する。次に、キュー1に対するWRコマンド発行のタイミングとなるため、コマンド制御部114は、ステップS203とS204を経由し、WRコマンドを発行する。
サイクルT7では、現像処理部106からの2つ目の転送要求がキュー3に格納され、バンク、ロウ、カラムのアドレス情報に分解されるとともに、遅延可否フラグENが‘1’にセットされる。ここでは、新規コマンドの投入となるため、コマンド制御部114は、ステップS201とS202とS205を経由し、キュー3に対するコマンド発行タイミングを算出する。キュー3のアクセス対象であるバンク1のロウアドレスは開いている状態のため、コマンド制御部114は、キュー2に対するデータ転送が完了するタイミングに合わせて、サイクルT15でWRコマンドを発行することを算出する。次に、キュー3に対するWRコマンドを発行するタイミングであるサイクルT15では、キュー2のデータを転送中のため、クロック同期コマンドCASは不要と判定される。コマンド制御部114は、ステップS206とS207を経由し、サイクルT15にWRコマンドを発行することを決定する。次に、キュー2に対するACTコマンド発行のタイミングとなるため、コマンド制御部114は、ステップS203とS204を経由し、ACTコマンドを発行する。
サイクルT9では、符号化部109からの転送要求がキュー2に格納され、バンク、ロウ、カラムのアドレス情報に分解されるとともに、遅延可否フラグENが‘1’にセットされる。ここでは、新規コマンドの投入となるため、コマンド制御部114は、ステップS201とS202とS205を経由し、キュー4に対するコマンド発行タイミングを算出する。キュー4のアクセス対象であるバンク0は異なるロウアドレスが開いている状態である。そのため、コマンド制御部114は、キュー1に対するデータ転送が完了し、ライトリカバリータイムtWR経過後のサイクルT16でPREコマンドを発行することを算出する。また、コマンド制御部114は、バンク0を閉じてからバンク0を開けるまでの待ち時間tRP経過後のサイクルT19でACTコマンドを発行することを算出する。また、コマンド制御部114は、バンク0を開いてからライトの転送コマンドを発行するまでの待ち時間tRCDを経過後のサイクルT23でWRコマンドを発行することを算出する。次に、サイクルT21でキュー3に対する転送が完了し、データ系クロックWCKの同期が維持される期間tWCKPSTが経過している。そのため、サイクルT23のWRコマンドの前にクロック同期コマンドCASを発行する必要があるため、サイクルT23でキュー4に対するWRコマンドとクロック同期コマンドCASが競合する。このため、コマンド制御部114は、ステップS206とS208を経由し、キュー4の転送に対するWRコマンドとクロック同期コマンドCASが競合するか否かを判定する。サイクルT22でデータ系クロックWCKの同期状態が終了するため、クロック同期コマンドCASの発行タイミングはサイクルT23となり、キュー4の転送に対するWRコマンドと競合する。ここで、一つ前の転送コマンドは、キュー3に対するWRコマンドであり、サイクルT15のタイミングであり、キュー2に対する転送が完了するサイクルT17に他のコマンド発行がないため、タイミングとしては遅らせることが可能と判定される。そのため、コマンド制御部114は、ステップS209を経由し、一つ前の転送コマンドの遅延可否フラグENを判定する。ここで、キュー3に格納されている転送コマンドの遅延可否フラグENは‘1’のため、コマンド制御部114は、ステップS601とS210を経由し、キュー3に対するWRコマンドの発行タイミングをサイクルT15からサイクルT17に遅らせる。次に、コマンド制御部114は、ステップS207で、サイクルT19にACTコマンド、サイクルT23にWRコマンドを発行することを決定する。この結果、サイクルT10以降の動作も、図4と同じになるため、バス帯域のロスが防止される。
図8は、第2の実施形態によるメモリコントローラ104のコマンド制御のタイミングチャートであり、低レイテンシが必要な転送要求の場合の制御を示す。図7ではコマンドキュー113のキュー1〜キュー4に格納される4つの転送コマンドの遅延可否フラグENがすべて‘1’となっているが、図8ではキュー2とキュー3のバスマスタを低レイテンシが必要なCPU111とし、遅延可否フラグEN=‘0’とする。図8において、サイクルT0〜T5は、図7と同じ動きとなるため、説明を省略する。
サイクルT6では、CPU111からの転送要求がキュー2に格納され、バンク、ロウ、カラムのアドレス情報に分解されるとともに、遅延可否フラグENが‘0’にセットされる。ここでは、新規コマンドの投入となるため、コマンド制御部114は、ステップS201とS202とS205を経由し、キュー2に対するコマンド発行タイミングを算出する。キュー2のアクセス対象であるバンク1は閉じている状態である。そのため、コマンド制御部114は、サイクルT7でバンク1を開け、バンク1を開いてからライトの転送コマンドを発行するまでの待ち時間tRCDを経過後のサイクルT11でWRコマンドを発行することを算出する。次に、サイクルT5でCASコマンドが発行されており、キュー2に対するWRコマンドを発行するタイミングであるサイクルT11ではキュー1のデータを転送中のため、クロック同期コマンドCASは不要と判定される。コマンド制御部114は、ステップS206とS207を経由し、サイクルT7にACTコマンド、サイクルT11にWRコマンドを発行することを決定する。次に、コマンド制御部114は、キュー1に対するWRコマンド発行のタイミングとなるため、ステップS203とS204を経由し、WRコマンドを発行する。
サイクルT7では、CPU111からの2つ目の転送要求がキュー3に格納され、バンク、ロウ、カラムのアドレス情報に分解されるとともに。遅延可否フラグENが‘0’にセットされる。ここでは、新規コマンドの投入となるため、コマンド制御部114は、ステップS201とS202とS205を経由し、キュー3に対するコマンド発行タイミングを算出する。キュー3のアクセス対象であるバンク1のロウアドレスは開いている状態のため、コマンド制御部114は、キュー2に対するデータ転送が完了するタイミングに合わせて、サイクルT15でWRコマンドを発行することを算出する。次に、キュー3に対するWRコマンドを発行するタイミングであるサイクルT15では、キュー2のデータを転送中のため、クロック同期コマンドCASは不要と判定される。コマンド制御部114は、ステップS206とS207を経由し、サイクルT15にWRコマンドを発行することを決定する。次に、コマンド制御部114は、キュー2に対するACTコマンド発行のタイミングとなるため、ステップS203とS204を経由し、ACTコマンドを発行する。
サイクルT9では、符号化部109からの転送要求がキュー2に格納され、バンク、ロウ、カラムのアドレス情報に分解されるとともに、遅延可否フラグENが‘1’にセットされる。ここでは、新規コマンドの投入となるため、コマンド制御部114は、ステップS201とS202とS205を経由し、キュー4に対するコマンド発行タイミングを算出する。キュー4のアクセス対象であるバンク0は異なるロウアドレスが開いている状態である。そのため、コマンド制御部114は、キュー1に対するデータ転送が完了し、ライトリカバリータイムtWR経過後のサイクルT16でPREコマンドを発行することを算出する。また、コマンド制御部114は、バンク0を閉じてからバンク0を開けるまでの待ち時間tRP経過後のサイクルT19でACTコマンドを発行することを算出する。また、コマンド制御部114は、バンク0を開いてからライトの転送コマンドを発行するまでの待ち時間tRCDを経過後のサイクルT23でWRコマンドを発行することを算出する。次に、サイクルT21でキュー3に対する転送が完了し、データ系クロックWCKの同期が維持される期間tWCKPSTが経過している。そのため、サイクルT23のWRコマンドの前にクロック同期コマンドCASを発行する必要があるため、サイクルT23でキュー4に対するWRコマンドとCASコマンドが競合する。このため、コマンド制御部114は、ステップS206とS208を経由し、キュー4の転送に対するWRコマンドとクロック同期コマンドCASが競合するか否かを判定する。サイクルT22でデータ系クロックWCKの同期状態が終了するため、クロック同期コマンドCASの発行タイミングはサイクルT23となり、キュー4の転送に対するWRコマンドと競合する。ここで、一つ前の転送コマンドは、キュー3に対するWRコマンドであり、サイクルT15のタイミングであり、キュー2に対する転送が完了するサイクルT17に他のコマンド発行がないため、タイミングとしては遅らせることが可能と判定される。そのため、コマンド制御部114は、ステップS209を経由し、一つ前の転送コマンドの遅延可否フラグENを判定する。ここで、キュー3に格納されている転送コマンドの遅延可否フラグENは‘0’であるため、コマンド制御部114は、ステップS601とS602を経由する。コマンド制御部114は、キュー3に対するWRコマンドの発行タイミングであるサイクルT15とキュー4に対するWRコマンドの発行タイミングであるサイクルT23の間のサイクルT21にダミーの転送コマンドとしてWRコマンドを追加する。ここで、ダミーのWRコマンドは、キュー3に対するWRコマンドと同じアドレスに対して最短のバーストサイズとする。ここでは、キュー3に対するWRコマンドの4サイクルに対して、ダミーのWRコマンドの2サイクルのサイズとしている。次に、コマンド制御部114は、ステップS207では、サイクルT19にACTコマンド、サイクルT21にダミーのWRコマンド、サイクルT23にWRコマンドを発行することを決定する。クロック同期コマンドCASは発行されない。
キュー3に対するWRコマンドを遅らせることがないため、サイクルT15でキュー3に対するWRコマンドが発行され、バスマスタに対してライトレスポンスが発行される。また、キュー3に対するWRコマンドに対応するデータD3は、サイクルT18〜T22で転送される。サイクルT21では、ダミーのWRコマンドが発行され、ダミーのWRコマンドに対応するデータDDは、サイクルT24〜T25で転送される。
以上説明したように、バンク開閉コマンド発行から転送コマンド発行までの待ち時間tRCD内にデータ系クロックWCKが停止し、クロック同期コマンドCASと転送コマンドが競合する場合にバスマスタへのレイテンシを増加することがなくなる。そのため、バス帯域をロスすることを防止できる。
(第3の実施形態)
次に、第3の実施形態について説明する。第2の実施形態では、クロック同期コマンドCASと転送コマンドが競合する場合に、ダミーの転送コマンドを発行することで、クロック同期コマンドCASを不要とし、バス帯域のロスを防止している。しかし、撮像装置120は、バッテリーで動作するため、消費電力の増加を最小限に抑えることが求められるが、ダミーのWRコマンドの転送を行うため、消費電力が増加する。また、撮像装置120は、撮像センサ101からの入力や表示部108に対する出力が数μs間隔で動作する必要があり、これらの処理期間は、バス帯域のマージンが小さいため、バス帯域のロスを防止することが重要となる。しかし、これらの処理期間以外は、バス帯域のマージンが大きい期間となる。
次に、第3の実施形態について説明する。第2の実施形態では、クロック同期コマンドCASと転送コマンドが競合する場合に、ダミーの転送コマンドを発行することで、クロック同期コマンドCASを不要とし、バス帯域のロスを防止している。しかし、撮像装置120は、バッテリーで動作するため、消費電力の増加を最小限に抑えることが求められるが、ダミーのWRコマンドの転送を行うため、消費電力が増加する。また、撮像装置120は、撮像センサ101からの入力や表示部108に対する出力が数μs間隔で動作する必要があり、これらの処理期間は、バス帯域のマージンが小さいため、バス帯域のロスを防止することが重要となる。しかし、これらの処理期間以外は、バス帯域のマージンが大きい期間となる。
そこで、第3の実施形態では、撮像装置120の動作中のバス帯域の必要状況に応じてバス帯域優先期間と電力優先期間に分け、電力優先期間ではダミーの転送コマンドを追加しないようにコマンドを制御する。これにより、バス帯域のロス削減による消費電力の増加を抑える。
図9は、第3の実施形態による撮像装置120の構成例を示す図である。図9の撮像装置120は、図5の撮像装置120に対して、タイミング制御部901を追加したものである。以下、第3の実施形態が第2の実施形態と異なる点を説明する。タイミング制御部901は、撮像センサ101と表示制御部107を制御し、撮像処理部102と表示制御部107がSDRAM105にアクセスするタイミングを生成する。また、タイミング制御部901は、所定の撮像処理部102と表示制御部107がSDRAM105にアクセスする期間をバス帯域優先期間とし、その他の期間を電力優先期間とし、コマンド制御部114に出力する。コマンド制御部114は、バス帯域優先期間では、転送コマンドとクロック同期コマンドCASが競合した場合に、低レイテンシが必要なバスマスタのレイテンシが増加しないように、ダミーの転送コマンドを追加する。また、コマンド制御部114は、電力優先期間では、ダミーの転送コマンドを追加しない。
図10は、第3の実施形態によるメモリコントローラ104のコマンド制御のフローチャートである。図10のフローチャートは、図6のフローチャートに対して、ステップS1001を追加したものである。図10が図6と異なる点を説明する。
ステップS601では、コマンド制御部114は、一つ前の転送コマンドの遅延可否フラグENが‘1’であるか否かを判定する。コマンド制御部114は、遅延可否フラグENが‘1’である場合には、ステップS210に進み、遅延可否フラグENが‘0’である場合には、ステップS1001に進む。
ステップS1001では、コマンド制御部114は、バス帯域優先期間であるか否かを判定する。コマンド制御部114は、バス帯域優先期間である場合には、ステップS602に進み、電力優先期間では、ステップS207に進む。ステップS207では、コマンド制御部114は、ステップS205で算出した新規コマンドのタイミングを決定する。
ステップS602では、コマンド制御部114は、一つ前の転送コマンドと新規転送コマンドの間にダミーの転送コマンドを追加し、ステップS207に進む。ステップS207では、コマンド制御部114は、新規コマンドと追加したダミーの転送コマンドの発行タイミングを決定する。
この結果、ステップS1001でバス帯域優先期間と判定された場合には、図8と同じコマンド制御となる。ステップS1001で電力優先期間であると判定された場合には、図3と同じコマンド制御となり、コマンド制御部114は、ダミーの転送コマンドを追加せず、クロック同期コマンドCASを発行する。
以上説明したように、バンク開閉コマンド発行から転送コマンド発行までの待ち時間tRCD内にデータ系クロックWCKが停止し、クロック同期コマンドCASと転送コマンドが競合する場合に、バス帯域優先期間の場合は、ダミーのWRコマンドを追加する。これにより、バス帯域のロスを防止する。また、電力優先期間の場合は、ダミーのWRコマンドを追加せず、消費電力の増加を防止する。この結果、バス帯域の大きい期間の消費電力の増加を抑えるとともに、バス帯域のマージンが小さい期間の帯域ロスを防止することができる。
撮像装置120は、デジタルカメラまたはビデオカメラの他、スマートフォン、タブレット、工業用カメラ、医療用カメラまたは車載カメラ等に適用可能である。
(その他の実施形態)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読み出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読み出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
なお、上記実施形態は、何れも本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。
101 撮像センサ、102 撮像処理部、103 メモリバス、104 メモリコントローラ、105 SDRAM、106 現像処理部、107 表示制御部、108 表示部、109 符号化部、110 記録媒体、111 CPU、112 調停部、113 コマンドキュー、114 コマンド制御部、115 バンク状態保持部、116 データバッファ
Claims (20)
- メモリに対する新規の転送コマンドの発行とクロック同期コマンドの発行が競合する場合には、前記新規の転送コマンドの一つ前の転送コマンドの発行タイミングを遅らせ、前記クロック同期コマンドを発行しないコマンド制御手段を有することを特徴とするメモリ制御装置。
- 前記コマンド制御手段は、前記新規の転送コマンドが格納されると、バンクを開いてから待ち時間を経過した後のタイミングを前記新規の転送コマンドの発行タイミングとして算出することを特徴とする請求項1に記載のメモリ制御装置。
- 前記コマンド制御手段は、前記算出された新規の転送コマンドの発行タイミングがデータ系クロックの同期状態が終了した後である場合、クロック同期コマンドの発行が必要になり、前記新規の転送コマンドの発行と前記クロック同期コマンドの発行が競合する場合には、前記新規の転送コマンドの一つ前の転送コマンドの発行タイミングを遅らせ、前記クロック同期コマンドを発行しないことを特徴とする請求項2に記載のメモリ制御装置。
- 前記コマンド制御手段は、
前記一つ前の転送コマンドのフラグが第1の値である場合には、前記一つ前の転送コマンドの発行タイミングを遅らせ、前記クロック同期コマンドを発行せず、
前記一つ前の転送コマンドのフラグが第2の値である場合には、前記一つ前の転送コマンドと前記新規の転送コマンドの間にダミーの転送コマンドを追加し、前記クロック同期コマンドを発行しないことを特徴とする請求項1〜3のいずれか1項に記載のメモリ制御装置。 - 前記コマンド制御手段は、
前記一つ前の転送コマンドのフラグが第2の値である場合において、
帯域優先期間である場合には、前記一つ前の転送コマンドと前記新規の転送コマンドの間にダミーの転送コマンドを追加し、前記クロック同期コマンドを発行せず、
帯域優先期間でない場合には、前記ダミーの転送コマンドを追加せず、前記クロック同期コマンドを発行することを特徴とする請求項4に記載のメモリ制御装置。 - 前記帯域優先期間は、所定の処理手段が前記メモリにアクセスする期間であることを特徴とする請求項5に記載のメモリ制御装置。
- メモリに対する新規の転送コマンドの発行とクロック同期コマンドの発行が競合する場合には、前記新規の転送コマンドの一つ前の転送コマンドと前記新規の転送コマンドの間にダミーの転送コマンドを追加し、前記クロック同期コマンドを発行しないコマンド制御手段を有することを特徴とするメモリ制御装置。
- 前記コマンド制御手段は、前記新規の転送コマンドが格納されると、バンクを開いてから待ち時間を経過した後のタイミングを前記新規の転送コマンドの発行タイミングとして算出することを特徴とする請求項7に記載のメモリ制御装置。
- 前記コマンド制御手段は、前記算出された新規の転送コマンドの発行タイミングがデータ系クロックの同期状態が終了した後である場合、クロック同期コマンドの発行が必要になり、前記新規の転送コマンドの発行と前記クロック同期コマンドの発行が競合する場合には、前記新規の転送コマンドの一つ前の転送コマンドと前記新規の転送コマンドの間にダミーの転送コマンドを追加し、前記クロック同期コマンドを発行しないことを特徴とする請求項8に記載のメモリ制御装置。
- メモリに対する新規の転送コマンドの発行とクロック同期コマンドの発行が競合する場合には、前記新規の転送コマンドの一つ前の転送コマンドの発行タイミングを遅らせ、前記クロック同期コマンドを発行しないコマンド制御ステップを有することを特徴とするメモリ制御方法。
- 前記コマンド制御ステップでは、前記新規の転送コマンドが格納されると、バンクを開いてから待ち時間を経過した後のタイミングを前記新規の転送コマンドの発行タイミングとして算出することを特徴とする請求項10に記載のメモリ制御方法。
- 前記コマンド制御ステップでは、前記算出された新規の転送コマンドの発行タイミングがデータ系クロックの同期状態が終了した後である場合、クロック同期コマンドの発行が必要になり、前記新規の転送コマンドの発行と前記クロック同期コマンドの発行が競合する場合には、前記新規の転送コマンドの一つ前の転送コマンドの発行タイミングを遅らせ、前記クロック同期コマンドを発行しないことを特徴とする請求項11に記載のメモリ制御方法。
- 前記コマンド制御ステップでは、
前記一つ前の転送コマンドのフラグが第1の値である場合には、前記一つ前の転送コマンドの発行タイミングを遅らせ、前記クロック同期コマンドを発行せず、
前記一つ前の転送コマンドのフラグが第2の値である場合には、前記一つ前の転送コマンドと前記新規の転送コマンドの間にダミーの転送コマンドを追加し、前記クロック同期コマンドを発行しないことを特徴とする請求項10〜12のいずれか1項に記載のメモリ制御方法。 - 前記コマンド制御ステップでは、
前記一つ前の転送コマンドのフラグが第2の値である場合において、
帯域優先期間である場合には、前記一つ前の転送コマンドと前記新規の転送コマンドの間にダミーの転送コマンドを追加し、前記クロック同期コマンドを発行せず、
帯域優先期間でない場合には、前記ダミーの転送コマンドを追加せず、前記クロック同期コマンドを発行することを特徴とする請求項13に記載のメモリ制御方法。 - 前記帯域優先期間は、所定の処理手段が前記メモリにアクセスする期間であることを特徴とする請求項14に記載のメモリ制御方法。
- メモリに対する新規の転送コマンドの発行とクロック同期コマンドの発行が競合する場合には、前記新規の転送コマンドの一つ前の転送コマンドと前記新規の転送コマンドの間にダミーの転送コマンドを追加し、前記クロック同期コマンドを発行しないコマンド制御ステップを有することを特徴とするメモリ制御方法。
- 前記コマンド制御ステップでは、前記新規の転送コマンドが格納されると、バンクを開いてから待ち時間を経過した後のタイミングを前記新規の転送コマンドの発行タイミングとして算出することを特徴とする請求項16に記載のメモリ制御方法。
- 前記コマンド制御ステップでは、前記算出された新規の転送コマンドの発行タイミングがデータ系クロックの同期状態が終了した後である場合、クロック同期コマンドの発行が必要になり、前記新規の転送コマンドの発行と前記クロック同期コマンドの発行が競合する場合には、前記新規の転送コマンドの一つ前の転送コマンドと前記新規の転送コマンドの間にダミーの転送コマンドを追加し、前記クロック同期コマンドを発行しないことを特徴とする請求項17に記載のメモリ制御方法。
- 光電変換により画像データを生成する撮像センサと、
メモリ制御装置とを有し、
前記メモリ制御装置は、メモリに対する新規の転送コマンドの発行とクロック同期コマンドの発行が競合する場合には、前記新規の転送コマンドの一つ前の転送コマンドの発行タイミングを遅らせ、前記クロック同期コマンドを発行しないコマンド制御手段を有することを特徴とする撮像装置。 - 光電変換により画像データを生成する撮像センサと、
メモリ制御装置とを有し、
前記メモリ制御装置は、メモリに対する新規の転送コマンドの発行とクロック同期コマンドの発行が競合する場合には、前記新規の転送コマンドの一つ前の転送コマンドと前記新規の転送コマンドの間にダミーの転送コマンドを追加し、前記クロック同期コマンドを発行しないコマンド制御手段を有することを特徴とする撮像装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019228944A JP2021096739A (ja) | 2019-12-19 | 2019-12-19 | メモリ制御装置、メモリ制御方法および撮像装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019228944A JP2021096739A (ja) | 2019-12-19 | 2019-12-19 | メモリ制御装置、メモリ制御方法および撮像装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2021096739A true JP2021096739A (ja) | 2021-06-24 |
Family
ID=76431654
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019228944A Pending JP2021096739A (ja) | 2019-12-19 | 2019-12-19 | メモリ制御装置、メモリ制御方法および撮像装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2021096739A (ja) |
-
2019
- 2019-12-19 JP JP2019228944A patent/JP2021096739A/ja active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6340973B1 (en) | Memory control unit and memory control method and medium containing program for realizing the same | |
JP4820566B2 (ja) | メモリアクセス制御回路 | |
US12032856B2 (en) | Memory controller and method performed by the memory controller | |
US20120239873A1 (en) | Memory access system and method for optimizing SDRAM bandwidth | |
JPH07219844A (ja) | キャッシュラインリプレーシング装置及び方法 | |
US10725698B2 (en) | Memory controller and control method thereof | |
JPH05173932A (ja) | データ転送装置 | |
KR100914017B1 (ko) | 메모리 컨트롤러, 반도체 메모리의 액세스 제어 방법 및시스템 | |
CN106462499B (zh) | 传感器模块、其控制方法和电子设备 | |
JP2015109037A (ja) | 画像処理装置 | |
JPH11224221A (ja) | メモリ制御装置および方法 | |
US20230325121A1 (en) | Memory controller, control method for controlling memory controller, and storage medium | |
JP2007018222A (ja) | メモリアクセス制御回路 | |
JP6004463B2 (ja) | 記憶装置及びその制御方法 | |
JP2021096739A (ja) | メモリ制御装置、メモリ制御方法および撮像装置 | |
JP2007164629A (ja) | 信号処理装置、撮像装置およびデータ転送方法 | |
JP5360594B2 (ja) | Dma転送装置及び方法 | |
JP2021157295A (ja) | メモリ制御装置 | |
JP2008225894A (ja) | Sdramコントローラ | |
JP2008041142A (ja) | メモリアクセス方法 | |
US20230266894A1 (en) | Memory control apparatus, method for controlling memory control apparatus, and storage medium | |
JP2015032241A (ja) | メモリインターフェース | |
US12026107B2 (en) | Mitigating interference between commands for different access requests in LPDDR4 memory system | |
JP5546356B2 (ja) | メモリ装置及び信号処理装置 | |
JP2019200592A (ja) | メモリ制御回路、出力回路、メモリ制御回路の制御方法および出力回路の制御方法 |