(57)【要約】【課題】広帯域メモリアクセス要求に対するインターリーブアクセスと狭帯域メモリアクセス要求に対する非インターリーブアクセスを動的に切り替える。【解決手段】インターリーブアクセス手段７ａと非インターリーブアクセス手段７ｂを備えたメモリコントローラ１０であって、ページ単位でアドレスを変換する記憶管理手段１３をさらに有し、前記記憶管理手段１３は、ページ毎にインターリーブアクセスと、非インターリーブアクセスを切り替える、ことを特徴とする。【選択図】図１
2011204229.tif 000002
【特許請求の範囲】
【請求項１】
撮像手段と、
撮像手段により撮像された画像に基づいて生成した画像データを記憶媒体に記録する記録手段と、
撮像手段により撮像された画像に基づいて生成された画像を表示媒体に表示させる表示手段と、
第１のメモリと、
第２のメモリと、
記憶媒体に画像データを記録する際には、第１のメモリと第２のメモリとに並列にアクセスするインターリーブアクセスをするよう制御し、表示媒体に画像を表示させる際には、第１のメモリおよび第２のメモリの何れか一方にアクセスするノンインターリーブアクセスをするよう制御する制御手段と、
第１のメモリの物理アドレス及び第２のメモリの物理アドレスを１つの仮想アドレスに変換するアドレス変換手段であって、制御手段がインターリーブアクセスをする際と、ノンインターリーブアクセスをする際とで異なるアドレス変換を行うアドレス変換手段と、を備える撮像装置。
【請求項２】
少なくとも一つのメモリ素子からなるメモリバンクを複数個管理するメモリコントローラであって、
シーケンシャルアクセス要求に応じて単一のメモリバンクをアクセスするノンインターリーブアクセス手段と、
シーケンシャルアクセス要求に応じて複数のメモリバンクを交互にアクセスするインターリーブアクセス手段と、
ページ単位で記憶領域を割り当てる記憶管理手段を有し、
記憶管理手段はページ毎に
ノンインターリーブアクセス手段とインターリーブアクセス手段を選択することを特徴とするメモリコントローラ。
【請求項３】
前記メモリコントローラはアクセス量を計数するアクセス量監視手段を有し、
アクセス量が閾値より大である時には、ページを割り当てる際にインターリーブアクセス手段を選択し、
アクセス量が閾値より小である時には、ページを割り当てる際にノンインターリーブアクセス手段を選択するアクセス選択手段を有する
ことを特徴とする請求項２記載のメモリコントローラ。
【請求項４】
インターリーブアクセス手段を選択してページを割り当てる際のページの容量は、
ノンインターリーブアクセス手段を選択してページを割り当てる際のページの容量の
整数倍であることを特徴とする請求項２記載のメモリコントローラ。
【請求項５】
前記メモリコントローラはアクセスしてきたプロセスを識別するプロセス識別手段を有し、インターリーブアクセス手段またはノンインターリーブアクセス手段の一方をプロセスに応じて選択する手段、または前記閾値をプロセスに応じて変更する手段を有する
ことを特徴とする請求項４記載のメモリコントローラ。
【請求項６】
前記メモリコントローラはバンク毎のアクセス量を計数するアクセス量監視手段を有し、前記記憶管理手段はノンインターリーブアクセスを指定するページを割り当てる際に、よりアクセス量の少ないメモリバンクに割り当てるアクセス量平均化手段を有することを特徴とする請求項２乃至５のいずれかに記載のメモリコントローラ。
【請求項７】
前記記憶管理手段は個々のメモリバンクに割り当てられたページ数を計数するページ数管理手段を有し、
前記記憶管理手段はノンインターリーブアクセスを指定するページを割り当てる際に、より割り当て済みページ数の少ないメモリバンクに割り当てるページ数平均化手段を有することを特徴とする請求項２乃至６のいずれかに記載のメモリコントローラ。
【請求項８】
前記記憶管理手段はメモリに割り当てられたページ数の総量を計数するページ数管理手段を有し、
前記ページ数の総量が閾値より大である時には、ページを割り当てる際にインターリーブアクセス手段を選択し、
前記ページ数の総量が閾値より小である時には、ページを割り当てる際にノンインターリーブアクセス手段を選択するアクセス選択手段を有する
ことを特徴とする請求項２乃至７のいずれかに記載のメモリコントローラ。
【請求項９】
前記記憶管理手段はノンインターリーブアクセスを指定するページを割り当てる際に、特定のメモリバンクに割り当てる集中化手段を有することを特徴とする請求項２乃至８のいずれかに記載のメモリコントローラ。
【請求項１０】
前記記憶管理手段は個々のメモリバンクに割り当てられたページ数を計数するページ数管理手段を有し、
前記記憶管理手段は割り当てられたページ数がゼロであるメモリバンクに対して、
省電力制御を行うことを特徴とする請求項２乃至９のいずれかに記載のメモリコントローラ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、インターリーブアクセス手段と非インターリーブアクセス手段を備えたメモリコントローラに関するものである。
【背景技術】
【０００２】
デジタルスチルカメラを始めとする電子機器では、機能向上のために、搭載するメモリの容量や個数が増加し、駆動周波数も高まっている。このため、電子機器の消費電力のうち、メモリが消費する電力の割合が高くなっている。
【０００３】
また、民生向け電子機器においても、メモリを複数の用途で共用するユニファイドメモリシステムの採用や複数のメモリを一つのメモリと見なしてアクセスするインターリーブアクセスの採用が進んでいる。
【０００４】
複数のメモリを搭載した撮像装置の消費電力削減技術が、特許文献１に開示されている。特許文献１に記載の技術では、インターリーブアクセス手段と非インターリーブアクセス手段を備えたメモリコントローラを用い、連写などで高速な画像処理が必要な時はインターリーブアクセス手段を用いて高速なメモリアクセスを実現し、それ以外の期間は１個だけのメモリを非インターリーブアクセスし、アクセスしないメモリは省電力モードにすることにより、全体としてＤＲＡＭの電流消費量を減らす事を意図している。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００８−１５２６８７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、特許文献１に記載の技術では、一個のメモリにアクセスが集中することがあり、必ずしも意図した高速なメモリアクセスが実現しない恐れがある。例えば前記特許文献１の図３において、８ｂの側のＤＲＡＭに割り当てられたＹＣデータと画像データと圧縮データとＣＰＵワークが同時にアクセスされ、アクセス競合による処理遅れが発生する場合がある。
【０００７】
また、インターリーブアクセス手段と非インターリーブアクセス手段を領域境界アドレスより上か下かで選択し、圧縮データ非インターリーブアクセス、ＹＣデータはインターリーブアクセスと決めているため、ＹＣデータに割り当てる領域が不足した時に領域境界アドレスより下に空き領域があっても、少なくとも一方のＤＲＡＭが領域境界アドレスまで使用されていればＹＣデータを割り当てることは出来ない。
【０００８】
本発明は前記課題を解決し、高速なメモリアクセスと省電力制御を実現するメモリコントローラを提供することを目的とする。
【課題を解決するための手段】
【０００９】
上記課題を解決するために、本発明のメモリコントローラは、少なくとも一つのメモリ素子からなるメモリバンクを複数個管理するメモリコントローラであって、シーケンシャルアクセス要求に応じて単一のメモリバンクをアクセスするノンインターリーブアクセス手段と、シーケンシャルアクセス要求に応じて複数のメモリバンクを交互にアクセスするインターリーブアクセス手段と、ページ単位で記憶領域を割り当てる記憶管理手段を有し、記憶管理手段はページ毎にノンインターリーブアクセス手段とインターリーブアクセス手段を選択することを特徴とする。
【００１０】
また、前記メモリコントローラはアクセス量を計数するアクセス量監視手段を有し、アクセス量が閾値より大である時には、ページを割り当てる際にインターリーブアクセス手段を選択し、アクセス量が閾値より小である時には、ページを割り当てる際にノンインターリーブアクセス手段を選択するアクセス選択手段を有することを特徴としてもよい。
【００１１】
また、インターリーブアクセス手段を選択してページを割り当てる際のページの容量は、ノンインターリーブアクセス手段を選択してページを割り当てる際のページの容量の整数倍であることを特徴としてもよい。
【００１２】
また、前記メモリコントローラはアクセスしてきたプロセスを識別するプロセス識別手段を有し、インターリーブアクセス手段またはノンインターリーブアクセス手段の一方をプロセスに応じて選択する手段、または前記閾値をプロセスに応じて変更する手段を有することを特徴としてもよい。
【００１３】
また、前記メモリコントローラはバンク毎のアクセス量を計数するアクセス量監視手段を有し、前記記憶管理手段はノンインターリーブアクセスを指定するページを割り当てる際に、よりアクセス量の少ないメモリバンクに割り当てるアクセス量平均化手段を有することを特徴としてもよい。
【００１４】
また、前記記憶管理手段は個々のメモリバンクに割り当てられたページ数を計数するページ数管理手段を有し、前記記憶管理手段はノンインターリーブアクセスを指定するページを割り当てる際に、より割り当て済みページ数の少ないメモリバンクに割り当てるページ数平均化手段を有することを特徴としてもよい。
【００１５】
また、前記記憶管理手段はメモリに割り当てられたページ数の総量を計数するページ数管理手段を有し、前記ページ数の総量が閾値より大である時には、ページを割り当てる際にインターリーブアクセス手段を選択し、前記ページ数の総量が閾値より小である時には、ページを割り当てる際にノンインターリーブアクセス手段を選択するアクセス選択手段を有することを特徴としてもよい。
【００１６】
また、前記記憶管理手段はノンインターリーブアクセスを指定するページを割り当てる際に、特定のメモリバンクに割り当てる集中化手段を有することを特徴としてもよい。
【００１７】
また、前記記憶管理手段は個々のメモリバンクに割り当てられたページ数を計数するページ数管理手段を有し、前記記憶管理手段は割り当てられたページ数がゼロであるメモリバンクに対して、省電力制御を行うことを特徴としてもよい。
【発明の効果】
【００１８】
以上のように、本発明によれば、メモリバンク間でメモリ使用量の平均化およびアクセス量の平均化を行うので、特定のメモリバンクにアクセスやメモリ使用が集中してアクセス遅れやメモリ利用の無駄が生じるのを防ぐことが出来る。またアクセス量が少ない時は特定のメモリバンクにメモリ使用を集中させて、残りのメモリを省電力状態にすることができる。
【図面の簡単な説明】
【００１９】
【図１】本発明によるメモリコントローラを用いたデジタルスチルカメラの構成を示すブロック図
【図２】インターフェース回路のアドレス変換機能を説明するメモリマップ
【図３】メモリ割り当ての条件判断を説明するフローチャート
【図４】メモリ使用量の推移と省電力制御について説明するタイミングチャート
【発明を実施するための形態】
【００２０】
（実施の形態１）
（１．構成）
以下、図１乃至図５を参照して本発明の実施例を詳細に説明する。図１は、本発明によるメモリコントローラを用いたデジタルスチルカメラの構成を示すブロック図である。
【００２１】
図１において、１は撮像回路、２はＹＣ処理回路、３は圧縮処理回路、４は記録回路、５はＣＰＵ、６はインターフェース回路、７ａはインターリーブアクセス手段、７ｂは非インターリーブアクセス手段、８は第一のＤＲＡＭ、９は第二のＤＲＡＭ、１０はメモリコントローラ、１１は電源回路、１２は撮影した画像の圧縮データを保存するメモリカード、１３は記憶管理手段、２１は画像を表示するモニタ、２０はモニタ２１に画像を表示させるための表示回路である。
【００２２】
図１に示すように、本実施例のメモリコントローラ１０はインターフェース回路６とインターリーブアクセス手段７ａと非インターリーブアクセス手段７ｂからなる。図１の１乃至５の回路は各々、ＤＲＡＭ８とＤＲＡＭ９にアクセスする機能を備えており、二つのＤＲＡＭへのアクセスは全てメモリコントローラ１０を経由して行われる。
【００２３】
（２．動作）
（２．１  デジタルスチルカメラの動作）
以下、図１を用いてデジタルスチルカメラとしての動作を簡単に説明する。撮像回路１はＣＣＤなどの光電変換素子を備えており、入射光の像を画像データに変換する。撮像回路１が出力する画像データはメモリコントローラ１０経由でＤＲＡＭ８またはＤＲＡＭ９に記憶される。
【００２４】
ＹＣ処理回路２はメモリコントローラ１０経由でＤＲＡＭ８またはＤＲＡＭ９から画像データを読み出して圧縮に適したＹＣデータに変換し、再びメモリコントローラ１０経由でＤＲＡＭ８またはＤＲＡＭ９に書き戻す。
【００２５】
圧縮処理回路３はメモリコントローラ１０経由でＤＲＡＭ８またはＤＲＡＭ９からＹＣデータを読み出して圧縮変換を施し、生成した圧縮データを再びメモリコントローラ１０経由でＤＲＡＭ８またはＤＲＡＭ９に書き戻す。
【００２６】
記録回路４はメモリコントローラ１０経由でＤＲＡＭ８またはＤＲＡＭ９から圧縮データを読み出して、自身に装着されたメモリカード１２に保存する。
【００２７】
ＣＰＵ５は図１の１乃至４の回路を制御する（制御線は図示せず）とともに、メモリコントローラ１０経由でＤＲＡＭ８またはＤＲＡＭ９にアクセスし、圧縮データのヘッダ部の操作などを行う。
【００２８】
図１の１乃至４の回路はＣＰＵ５と独立に動作することが可能であり、特に撮像回路１とＹＣ処理回路２と圧縮処理回路３はＣＰＵ５の介在なしに一つの画像データの処理を実行できる。
【００２９】
メモリコントローラ１０のインターフェース回路６は、図１の１乃至５の回路のメモリアクセス要求に対して、インターフェース回路６に入力された論理アドレスをＤＲＡＭ８およびＤＲＡＭ９に与える物理アドレスに変換する。
【００３０】
メモリコントローラ１０は複数のメモリアクセス要求を調停しつつ受付可能なメモリコントローラであって、図１の１乃至５の回路は独立かつ並列にＤＲＡＭ８とＤＲＡＭ９にアクセスできる。
【００３１】
電源回路１１はデジタルスチルカメラの各回路に電流を供給する回路であり、特にＤＲＡＭ８とＤＲＡＭ９に供給する電流を他の回路とは独立にオンオフできる。
【００３２】
（２．２  インターフェース回路の機能）
図１を用いてメモリコントローラ１０の機能を説明する。本実施例のメモリコントローラ１０はインターリーブアクセス手段７ａと非インターリーブアクセス手段７ｂを備えており、ＤＲＡＭ８とＤＲＡＭ９を制御するとともに、データ幅を変換することができる。本実施例のＤＲＡＭ８とＤＲＡＭ９はデータ幅が２バイトであり、一つの論理アドレスに２バイトのデータが割り当てられる。図１の１乃至５の回路は１回のアクセスで一つのアドレスを出力し、メモリコントローラ１０に１アドレス分の２バイトのデータアクセスを要求する。これに応じてメモリコントローラ１０は、１回のアクセス要求に対して、ＤＲＡＭ８またはＤＲＡＭ９の一方に、１アドレス分の２バイトのデータアクセスを実行する。
【００３３】
論理アドレスから物理アドレスへの変換は、インターフェース回路６によって実施される。記憶管理手段１３は、図１の１乃至５の回路が出力する論理アドレスを物理アドレスに変換すると同時に、インターリーブアクセス手段７ａと非インターリーブアクセス手段７ｂのどちらを用いるか、インターリーブアクセス時にどちらのＤＲＡＭにアクセスするかを指示する。
【００３４】
例えば、撮像回路１がアクセスしたアドレスについてインターリーブアクセス手段７ａが選択されていると、撮像回路１によるシーケンシャルなアクセスに対してＤＲＡＭ８とＤＲＡＭ９に交互にアクセスが行われる。逆に、非インターリーブアクセス手段７ｂが選択されていると、ＤＲＡＭ８とＤＲＡＭ９のうち記憶管理手段１３が指定する側のＤＲＡＭに対して連続してアクセスが行われる。
【００３５】
記憶管理手段１３が行うアドレス変換は、ページと呼ばれる一定の容量と一連のアドレスを持つ領域を単位として、論理アドレスから物理アドレスに変換するものであり、１から５の回路が出力する論理アドレスがばらばらであっても、アドレス変換で一連の連続した物理アドレス領域を割り当てることにより、メモリ領域を無駄なく利用することが出来る。記憶管理手段１３はアドレス変換のために変換表１４を備えており、前記の論理アドレスと物理アドレスの対応、ＤＲＡＭの選択、およびインターリーブアクセス手段７ａと非インターリーブアクセス手段７ｂの選択は全て変換表１４に記憶される。
【００３６】
また、図示を略するが、記憶管理手段１３はＤＲＡＭ８とＤＲＡＭ９の各々に割り当てたページの数を独立に計数するカウンタを備えており、ＤＲＡＭ８とに割り当てたページ数と、ＤＲＡＭ９とに割り当てたページ数の合計から、割り当てられたページの総数を得ることが出来る。
【００３７】
また、本実施例のメモリコントローラ１０はカウンタ１５を備えており、カウンタ１５はＤＲＡＭ８とＤＲＡＭ９に対するアクセス回数を計数する。より具体的には、図示は略するが、カウンタ１５はＤＲＡＭ８のアクセスカウンタとＤＲＡＭ９のアクセスカウンタからなっており、インターリーブアクセス手段７ａと非インターリーブアクセス手段７ｂはＤＲＡＭ８とＤＲＡＭ９にアクセスするごとに、対応するアクセスカウンタにカウントアップパルスを送り、カウンタ１５では各々のアクセスカウンタが前記カウントアップパルスに応じてアクセス回数をカウントする。
【００３８】
次に、図２を用いてインターフェース回路６の機能を説明する。図２は、インターフェース回路６のアドレス変換機能を説明するメモリマップである。図２（ａ）は論理アドレス空間のメモリマップ、図２（ｂ）は物理アドレス空間のメモリマップでありＤＲＡＭ８の物理アドレス空間のメモリマップ８ｂとＤＲＡＭ９の物理アドレス空間のメモリマップ９ｂを含む。論理アドレスとは図１の１乃至５の回路が出力するアドレスであり、物理アドレスとはインターフェース回路６がＤＲＡＭ８とＤＲＡＭ９に与えるアドレスである。各メモリマップの横幅は、データ幅を示している。図２（ｃ）は論理アドレスを物理アドレスに変換する変換表である。
【００３９】
物理アドレスを論理アドレスに割り当てる際の、メモリ領域の１単位を１ページと呼ぶ。１ページ当たりの容量は通常、数キロバイトから数メガバイトまで様々であるが、本実施例の説明では図示の都合から、非インターリーブアクセス時は４バイトを１ページ、非インターリーブアクセス時は８バイトを１ページとしている。
【００４０】
図２（ａ）の左側に付記した数字は論理アドレスであり、一つの論理アドレスに２バイトのデータが対応する。図中の矩形領域は１バイトのデータを表しており、矩形領域中の数字はバイト単位で表したアドレスに対応する。
【００４１】
図２（ｂ）はＤＲＡＭ８の物理アドレス空間のメモリマップ８ｂとＤＲＡＭ９の物理アドレス空間のメモリマップ９ｂからなり、図２（ｂ）と図２（ａ）で同じ番号が記入された矩形領域は論理アドレス上の１バイトと、これに対応付けられた物理アドレス上の１バイトを意味する。例えば、論理アドレス上の最初のページは０番地と１番地の４バイトであり、物理アドレス上ではＤＲＡＭ８の物理アドレス０番地と１番地に割り当てられている。このページのアクセスは非インターリーブアクセスが指定されており、論理アドレス０番地と１番地のデータ０、１、２、３をシーケンシャルにアクセスすると、同じＤＲＡＭ８に連続してアクセスが行われ、２回のアクセスで４バイトにアクセスする。
【００４２】
図２（ａ）において、論理アドレス２４番地から２７番地までのデータ、４８、４９、５０、５１、５２、５３、５４、５５はインターリーブアクセスが指定されており、論理アドレス上でシーケンシャルにアクセスすると、図２（ｂ）に示すようにＤＲＡＭ８とＤＲＡＭ９を交互にアクセスするインターリーブアクセスが行われる。このときＤＲＡＭ８とＤＲＡＭ９を同時にアクセスすると、２回のアクセスに要する時間で４バイトのアクセスが可能になり、非インターリーブアクセス時の２倍の速度が得られる。
【００４３】
非インターリーブアクセスとインターリーブアクセスは状況に応じて使い分けることが出来る。例えば図２（ａ）において、論理アドレス２０番地から２３番地までのデータ、４０、４１、４２、４３、４４、４５、４６、４７は、前述の論理アドレス２４番地から２７番地までのデータ、４８、４９、５０、５１、５２、５３、５４、５５に続くデータであるが、非インターリーブアクセスを指定している。即ち、（ａ）の論理アドレス２０番地から２１番地までを１ページとして８ｂの物理アドレス４番地から５番地までに割り当て、（ａ）の論理アドレス２２番地から２３番地までを１ページとして８ｂの物理アドレス４番地から５番地までに割り当てるアドレス変換を行っている。このように、論理アドレス上で連続したデータであっても、ページ境界で非インターリーブアクセスからインターリーブアクセスに指定を変えたり、逆にインターリーブアクセスから非インターリーブアクセスに戻したりすることが可能である。
【００４４】
本実施例のアドレス変換では変換回路を簡単化するため、非インターリーブアクセス時の１ページの容量を非インターリーブアクセス時の２倍にしている。即ち、先の例で非インターリーブアクセスが指定されている（ａ）の論理アドレス２０番地から２１番地までの４バイトが１ページであるのに対し、インターリーブアクセスが指定されている（ａ）の論理アドレス２４番地から２７番地までは８バイトで１ページである。このようにすると、物理アドレス上で１ページが占めるアドレスの幅が必ず２番地となり、各々のページは必ず偶数番地から始まるものとして管理できる。
【００４５】
図２（ｃ）はアドレス変換のための変換表１４であり、論理アドレスから物理アドレスへの変換を行う機能を有する。図２（ｃ）の左側には対応する論理アドレスの先頭番地を付記している。図示の通り、論理アドレスの変換の単位の先頭番地は必ず偶数である。
【００４６】
変換表１４はアドレス変換の単位ごとに１ワードのメモリを持ち、各ワードは８ｃ、９ｃと１４ｃの三つのビットフィールドに分かれる。ビット８ｃが１であればＤＲＡＭ８に割り当てる事を意味し、ビット９ｃが１であればＤＲＡＭ９に割り当てる事を意味する。図２（ｃ）の０番地のようにビット８ｃだけが１でビット９ｃが０であれば、ＤＲＡＭ８だけをアクセスする非インターリーブアクセスが指定されている。図２（ｃ）の１０番地のようにビット９ｃだけが１でビット８ｃが０であれば、ＤＲＡＭ９だけをアクセスする非インターリーブアクセスの指定である。
【００４７】
図２（ｃ）の２４番地目、２６番地目のようにビット８ｃとビット９ｃの両方が１であれば、ＤＲＡＭ８とＤＲＡＭ９を交互にアクセスするインターリーブアクセスが指定されている。また、図示は略するがビット８ｃとビット９ｃの両方が０であれば、論理アドレスに対して物理アドレスが割り当てられていない空きページであることを示す。
【００４８】
図２（ｃ）において、１４ｃのビットフィールドは論理アドレスに割り当てられた物理アドレスの先頭番地を記憶する。図２（ｃ）の０番地から２番地のように非インターリーブアクセスが指定されているワードでは１ページの容量、即ち４バイトは物理アドレス上の２番地分の容量に当たるので、論理アドレス上で０番地から３番地までの８バイトのメモリは変換表では０番地と２番地の２ワードが割り当て情報を記憶する。
【００４９】
前述のように、本実施例のアドレス変換では変換回路を簡単化するため、インターリーブアクセス時の１ページの容量を非インターリーブアクセス時の２倍にしているが、これは図２（ｃ）の変換表の上では２４番地目、２６番地目のように二つのワードに連続して情報を記憶することを意味する。２４番地目では二つのＤＲＡＭの６番地、２６番地では二つのＤＲＡＭの７番地に割り当てることを指示しており、合わせて物理アドレス上の２番地分の容量を割り当てている。
【００５０】
本発明の記憶管理手段１３はＤＲＡＭへの書き込み要求に同期して、自動的に物理アドレスを論理アドレスに割り当てる機能を有している。具体的には、例えば論理アドレス上の１２番地から始まるページへの最初の書き込み要求があった時に、記憶管理手段１３は変換表の１２番地のワードに物理アドレスの情報を書き込む事により論理アドレスのページを物理アドレスのページに割り当て、以後に同一ページ内の１３番地への書き込み要求があった時には、変換表の１２番地のワードの情報を用いてアドレス変換を行う。
【００５１】
このページ割り当ての操作には、記憶管理手段１３と変換表１４の構成にもよるが、一定の時間を要する。そのためページへの最初の書き込みではアクセスタイムが通常より長くなる。インターリーブアクセス時は１ページの容量を非インターリーブアクセス時の２倍なので、ページ割り当てが起きる頻度は半分になる。そのため一定量のデータを書く間にページ割り当てのために待たされる時間は、インターリーブアクセス時の方が非インターリーブアクセス時より短くなる。
【００５２】
図示は略すが、記憶管理手段１３はＤＲＡＭ８に割り当てたページ数とＤＲＡＭ９に割り当てたページ数を、各々カウントする２本のカウンタを持っている。２本のカウンタはシステム起動時に０に初期化されており、記憶管理手段１３は管理表１４に物理アドレスの情報を書き込む毎に、対応するＤＲＡＭの側のカウンタをカウントアップする。
【００５３】
また、記憶管理手段１３はメモリアクセスを監視し、処理の進行に応じて不要になったページの登録を削除する機能を備えており、管理表からページの登録を削除するごとに対応するＤＲＡＭの側のカウンタをカウントダウンする。ＳＤＲＡＭの容量は既知であるので、割り当てたページ数を差し引きすることにより、今後割り当て可能な空きページ数を、それぞれのＤＲＡＭについて求めることが出来る。また、記憶管理手段１３は二つのカウンタの値を合計することにより割り当てられたページの総数を得ることができる。
【００５４】
割り当ての際に、記憶管理手段１３は物理アドレスの空きがある領域のうち、最も若い番地を割り当てる。このようにすると、図２（ｂ）のようにメモリが下詰めで利用されるので、メモリ容量の無駄が無くなる。
【００５５】
以上のように本発明のメモリコントローラ１０は、記憶管理手段１３ないし変換表１４を用いてインターリーブアクセスと非インターリーブアクセスを同時に混合して実行することが可能である。
【００５６】
次に図３を用いて、ページ割り当て時に行うインターリーブアクセスと非インターリーブアクセスを選択する基準について説明する。図３はインターリーブアクセスと非インターリーブアクセスのどちらを選択するか、非インターリーブアクセスの場合、どちらのＤＲＡＭにアクセスするか、を判断するためのフローチャートである。図３において、インターリーブはインターリーブアクセスの選択、ＡのみはＤＲＡＭ８のみへの非インターリーブアクセスの選択、ＢのみはＤＲＡＭ９のみへの非インターリーブアクセスの選択を表す。
【００５７】
ページ割り当てを行う時は、先ずステップＳ１０１においてメモリの総使用量をチェックする。メモリの総使用量は前出の記憶管理手段１３が持つＤＲＡＭ８とＤＲＡＭ９に割り当てたページ数のカウンタ値を合計したものである。ここで総使用量が閾値Ｔ１より小さい場合は、ＤＲＡＭ８のみへの非インターリーブアクセスを選択する。これはメモリ使用量が少ない時は、使用するメモリをＤＲＡＭ８だけにして、ＤＲＡＭ９の電源を遮断できるようにするためである。
【００５８】
ここで総使用量が閾値Ｔ１より大きいときはステップＳ１０２に進む。ステップＳ１０２では書き込まれたデータが高速な処理を必要とするか否かを判断する。インターフェース回路６はメモリアクセスする１乃至６の回路から個別にアクセス要求を受け付けるので、どの回路が出力したデータか判っている。これを利用して、データの種類に応じて閾値Ｔ１を変えることができる。
【００５９】
例えば、圧縮処理回路３が出力したデータであれば圧縮データであり、圧縮データは記録回路４が読み出して比較的低速なメモリカード１２に書き込むため、高速なメモリアクセスを必要としない。そこで、ライトデータを出力した回路が圧縮処理回路３であれば閾値Ｔ１としてゼロを用いると、ステップＳ１０２においてＮｏの側に分岐し、インターリーブアクセスはしないようになる。逆に、撮像回路１またはＹＣ処理回路２が出力したデータであれば、次に書き込まれたデータを読み出す回路はＹＣ処理回路２または圧縮処理回路３であり、これらはデータ処理速度が速いので、インターリーブアクセスが選択できるようにした方がよい。そこで、ライトデータを出力した回路が撮像回路１またはＹＣ処理回路２であれば閾値Ｔ１として上限値を用いると、必ずステップＳ１０２においてＹｅｓの側に分岐しインターリーブアクセスが可能になる。
【００６０】
無論、このようなデータ毎の制御は任意であり、ライトデータを出力した回路によらず一定の閾値Ｔ１を用いてもよい。
【００６１】
ステップＳ１０３とステップＳ１０４ではＤＲＡＭ毎のメモリの空き状況をチェックする。インターリーブアクセスを選択するためには両方のＤＲＡＭに空きが必要である。ステップＳ１０３の条件文中、Ｂ空きはＤＲＡＭ９に割り当て可能なページ数を示す。ステップＳ１０３においてＤＲＡＭ９の空きが閾値Ｔ２よりも小さいときには、ＤＲＡＭ９にはページを割り当てられないと判断して、ＤＲＡＭ８のみへの非インターリーブアクセスを選択する。判定がＮｏの時にはステップＳ１０４に進み、ＤＲＡＭ８に割り当て可能なページ数をチェックする。ステップＳ１０３と同様に、ＤＲＡＭ８の空きが閾値Ｔ２よりも小さいときには、ＤＲＡＭ８にはページを割り当てられないと判断して、ＤＲＡＭ９のみへの非インターリーブアクセスを選択する。
【００６２】
両方のＤＲＡＭに空きがある場合はステップＳ１０４からステップＳ１０５に進み、アクセスの頻度をチェックする。ステップＳ１０５の条件文中、Ｂ頻度はカウンタ１５で測定したＤＲＡＭ９へのアクセス回数を単位時間で割った値である。アクセスが込み合っているＳＤＲＡにページを割り当てると更にアクセス量が増加し、競合によるアクセス時間の増大が進む恐れがあるので、込み合っていない側のＳＤＲＡＭにページを割り当てるのである。ステップＳ１０５において、ＤＲＡＭ９へのアクセス頻度が閾値Ｔ３を上回っている場合はＤＲＡＭ８のみへの非インターリーブアクセスを選択し、そうでなければステップＳ１０６に進む。
【００６３】
ステップＳ１０５の条件文中、Ａ頻度はカウンタ１５で測定したＤＲＡＭ８へのアクセス回数を単位時間で割った値である。ステップＳ１０５と同様に、ＤＲＡＭ８へのアクセス頻度が閾値Ｔ３を上回っている場合はＤＲＡＭ９のみへの非インターリーブアクセスを選択する。
【００６４】
ステップＳ１０６においてＮｏの場合は、ＤＲＡＭの空き状況にもアクセスの込み具合にも問題は無いので、両方のＤＲＡＭへのインターリーブアクセスを選択する。
【００６５】
ステップＳ１０２においてＮｏの側に分岐した場合は、最終的な選択肢としてインターリーブアクセスはなく、ＤＲＡＭ８への非インターリーブアクセスまたはＤＲＡＭへの非インターリーブアクセスの一方を選択することになる。ステップＳ１０７からステップＳ１０８においては、ステップＳ１０３からステップＳ１０４と同様に、ＤＲＡＭ毎のメモリの空き状況をチェックする。
【００６６】
ステップＳ１０７においてＤＲＡＭ９の空きが閾値Ｔ２よりも小さいときには、ＤＲＡＭ９にはページを割り当てられないと判断して、ＤＲＡＭ８のみへの非インターリーブアクセスを選択する。判定がＮｏの時にはステップＳ１０８に進み、ＤＲＡＭ８に割り当て可能なページ数をチェックする。ＤＲＡＭ８の空きが閾値Ｔ２よりも小さいときには、ＤＲＡＭ８にはページを割り当てられないと判断して、ＤＲＡＭ９のみへの非インターリーブアクセスを選択する。いずれにも当たらない場合はステップＳ１０９に進む。ステップＳ１０９ではＤＲＡＭ８とＤＲＡＭ９のアクセスの頻度を比較し、よりアクセスが少ないほうに非インターリーブアクセスするよう選択する。
【００６７】
以上のようにページ割り当てを選択することにより、メモリの総使用量が閾値Ｔ１未満である時にはＤＲＡＭ８のみにページを割り当て、メモリの総使用量が閾値Ｔ１以上で高速なデータアクセスが求められる場合は、メモリの空き状況とアクセスの込み具合に問題
が無い限りは両方のＤＲＡＭへインターリーブアクセスするようページを割り当て、メモリの空き状況またはアクセスの込み具合に問題がある場合は空きがあって混んでいない側のＤＲＡＭにページを割り当て、高速なデータアクセスが必要ない場合はアクセスが混んでいない側のＤＲＡＭにページを割り当てるように働く。
【００６８】
この動作により、メモリの総使用量が閾値Ｔ１以上の時は二つのメモリの使用量が平均化されるので、両方のＤＲＡＭにアクセスするインターリーブアクセスは良好に動作できる。また、メモリの総使用量が閾値Ｔ１を下回ると、ＤＲＡＭ８だけにページ割り当てするようになるので、処理の進行に応じて不要になったページの登録削除が進むと、ＤＲＡＭ９に割り当てられたページ数がゼロになる。そうなった時点からはＤＲＡＭ９は有効なデータを記憶しておらず、メモリの内容を保持する必要は無くなるので、電源回路１１はＤＲＡＭ９への電流供給を遮断することが出来る。
【００６９】
なお、ここで各閾値が変化した場合の動作の説明を割愛しているが、動作中に閾値を変化させても問題はなく、不都合は生じない。条件判断の結果は変換表１４に記憶されるので、登録の後で閾値が変化しても登録された情報が影響を受けることはない。変換表１４に登録されたページは登録が抹消されるまで有効であり、その時点での閾値に関わらずアクセス可能である。
【００７０】
（２．３  消費電力）
次に、図４を用いて本発明のメモリコントローラを用いたデジタルスチルカメラの消費電力について説明する。図４は、撮影時のメモリ使用量の推移と省電力制御について説明するタイミングチャートである。
【００７１】
図４（ａ）において、横軸は時間、縦軸はメモリ使用量を示し、３１はメモリ使用量推移を示す。図４（ｂ）において、横軸は時間、縦軸はＤＲＡＭの消費電力を示し、３６はＤＲＡＭの消費電力推移を模式的に示す。
【００７２】
時刻２０はデジタルスチルカメラの電源投入時刻であり、ＣＰＵ５が動作してＣＰＵワーク領域を確保する。この時のメモリ使用量がＣＰＵワーク領域サイズ２９である。図４の２８は図３のフローチャートの閾値Ｔ１に当たる容量であり、ＣＰＵワーク領域サイズ２９は閾値Ｔ１未満なので、ＤＲＡＭ８のみにページが割り当てられる。
【００７３】
この時点ではＤＲＡＭ９は不要であるから、電源回路１１はＤＲＡＭ９への電流供給を遮断しており、ＤＲＡＭは全体として１個分の電力しか消費していない（期間３３）。
【００７４】
時刻２１ａはシャッター釦が押下されて露光が開始される時刻である。時刻２１ｂは露光が終了して撮像回路１からの画像データの出力が開始される時刻であり、これ以降、撮像回路１が動作して画像データを書き込むので、メモリ使用量３１が増加していく。時刻２２でメモリ使用量３１が図３における閾値Ｔ１、図４では２８のラインを超えるのでＤＲＡＭ９にもページが割り当てられるようになる。インターフェース回路６はシャッター釦が押下された時刻２１ａの時点で電源回路１１に指示を出してＤＲＡＭ９に電流を供給させており、時刻２２の時点ではＤＲＡＭ９もアクセス可能になっている。原理的にはＤＲＡＭ９が必要になった時点で給電すればよいが、実際にはＤＲＡＭ９が電源オフ状態からアクセス可能になるまでには一定の待ち時間を必要とするので、時刻２２の時点で給電したのでは撮像回路１が出力する画像データの一部が前記待ち時間のために取りこぼされる。これを回避するため、予めシャッター釦が押下された時点からＤＲＡＭ９に通電させている。
【００７５】
時刻２３は撮像回路１が画像データの出力を終了した時刻であり、ここからＹＣ処理回路２が画像データをＹＣデータに変換し、生成されたＹＣデータを圧縮処理回路３がＪＰＥＧデータに圧縮変換する処理が始まる。圧縮変換により画像データ量は約１０分の１に圧縮され、一旦、ＳＤＲＡＭに書かれた圧縮データを記録回路４が読み出してメモリカード１２に書き込む。
【００７６】
この時、処理済みの画像データおよびＹＣデータに割り当てられたページは記憶管理手段１３が変換表１４から登録を抹消していくので、メモリ上で画像データが圧縮データに置き換えられていくこととなり、圧縮データは画像データの１０分の１の容量なのでメモリ使用量は時刻２３から処理の進行に伴って減少していくことになる。
【００７７】
時刻２４はメモリ使用量３１が閾値Ｔ１を下回る時点であり、これ以降のライトデータは全てＤＲＡＭ８に割り当てられる。
【００７８】
時刻２５は圧縮処理回路３が圧縮処理を終了した時刻であり、画像データおよびＹＣデータは全て圧縮データに変換されており、メモリをＣＰＵのワークと圧縮データだけが占めている。この時、時刻２３から時刻２４までの間に生成された圧縮データはＤＲＡＭ９にも割り当てられているので、この時点ではＤＲＡＭ９の電源を遮断することはできない。時刻２５から記録回路４が圧縮データのメモリカード１２への転送を開始する。
【００７９】
圧縮データは生成された順にメモリカード１２へ転送するので、時刻２３から時刻２４までの間に生成された圧縮データはそれ以降のデータよりも先にＤＲＡＭから読み出される。その結果、ＤＲＡＭ９に割り当てられた圧縮データのページは次々に登録を抹消され、ＤＲＡＭ９の使用量は減少していく。
【００８０】
時刻２６は、記録回路４が圧縮データをメモリカード１２へ転送している途中で、ＤＲＡＭ９に割り当てられたページがゼロになった時点である。これ以降はＤＲＡＭ９の記憶を保持する必要がないので、インターフェース回路６は時刻２６の時点で電源回路１１に指示を出してＤＲＡＭ９への電流を遮断する。ここまでの期間３４はＤＲＡＭ８とＤＲＡＭ９の両方が通電されている期間を示し、期間３５はＤＲＡＭ８のみ通電されてＤＲＡＭ９は電源がオフされている期間を示す。
【００８１】
時刻２７は記録回路４が圧縮データを全てメモリカード１２へ転送し終わった時刻であり、ここで１枚の撮影シーケンスは終了する。
【００８２】
この例では簡単のため閾値２８は一定であるとしたが、閾値の設定および設定変更は任意の時点で行える。例えば、インターリーブアクセスを用いて画像データの取り込みを高速化したければ時刻２１ｂの時点で閾値２８をデータ量２９以下にすればよく、圧縮データを全て非インターリーブアクセスしたければ時刻２３の時点で閾値２８を全容量の上限まで引き上げればよい。また、前述のようにインターフェース回路６は、どの回路が出力したデータか把握できるので、条件判断に用いる閾値を回路に応じて変えることが可能である。よって、時刻２０の時点から画像データに対する閾値をゼロ、圧縮データに対する閾値を上限一杯にして、圧縮データは全て非インターリーブで、画像データはインターリーブでアクセスされるようにしてもよい。
【００８３】
以上のように、本発明の技術を用いることにより、低速なアクセスで十分なシャッター釦押下待機期間と圧縮データ転送期間の一部（期間３３、期間３５）は、ＤＲＡＭ８のみに通電することで、ＤＲＡＭが消費する電力を削減することができる。
【００８４】
（３．その他の構成）
なお、前記の実施の形態においては、ＤＲＡＭを例にあげて説明したが、メモリはＳＲＡＭであっても構わない。メモリデバイスの種別は問わない。
【００８５】
また、前記の実施の形態においては、二つのメモリデバイスを用いる場合を例にあげて説明したが、メモリデバイスの数は問わない。例えば、四つのメモリデバイスを用いる場合において、二つのメモリデバイスを対として１バンクを構成してもよい。
【００８６】
また、前記の実施の形態においては、メモリデバイスへの通電をオフすることによって省電力制御を行っているが、通電したままでクロック供給のみ停止するのでもよいし、メモリデバイスが持つ省電力モードに移行させるのでも構わない。
【００８７】
また、前記の実施の形態においては、メモリデバイスごとに省電力制御を行う場合を例にあげて説明したが、メモリデバイス内にあるバンクごとに省電力制御を行っても構わない。例えば、メモリバンク０〜３の四つのメモリバンクを有するメモリデバイスを用いる場合において、二つのバンクをセットとして１バンクと見なし、４バンクを用いるアクセスをインターリーブアクセスと定義しなおしてもよい。
【００８８】
また、他の構成として、デジタルスチルカメラ（撮像装置の一例）は、撮像回路１（撮像手段に相当）と、撮像回路１により撮像された画像に基づいて生成した画像データをメモリカード１２（記憶媒体に相当）に記録する記録回路４（記録手段に相当）と、撮像回路１により撮像された画像に基づいて生成された画像をモニタ２１（表示媒体に相当）に表示させる表示回路２０（表示手段に相当）と、ＤＲＡＭ８（第１のメモリに相当）と、ＤＲＡＭ９（第２のメモリに相当）と、メモリカード１２に画像データを記録する際には、ＤＲＡＭ８とＤＲＡＭ９とに並列にアクセスするインターリーブアクセスをするよう制御し、モニタ２１に画像を表示させる際には、ＤＲＡＭ８およびＤＲＡＭ９の何れか一方にアクセスするノンインターリーブアクセスをするよう制御するメモリコントローラ１０（制御手段に相当）と、ＤＲＡＭ８の物理アドレス及びＤＲＡＭ９の物理アドレスを１つの仮想アドレスに変換するインターフェース回路６（アドレス変換手段に相当）であって、メモリコントローラ１０がインターリーブアクセスをする際と、ノンインターリーブアクセスをする際とで異なるアドレス変換を行うインターフェース回路６と、を備えるように構成してもよい。
【産業上の利用可能性】
【００８９】
本発明は、メモリを使用する電子情報処理装置全般に適用可能であり、装置の消費電力を削減することができるため有用である。電池で駆動する装置については、電池持続時間を増加させることができるため、特に有用である。
【００９０】
例えば、デジタルスチルカメラであれば、高速なアクセスを必要とするのは主に撮影画像を信号処理している期間であり、それ以外の多くの期間では、高速なアクセスは必要とされない。
【００９１】
本発明により、インターリーブアクセスによって撮影画像を高速に信号処理することと、それ以外の期間におけるメモリの消費電力削減を両立することが可能になり、高速連写撮影などの性能を損なうことなく、電池持続時間や撮影可能枚数を増加させることができるので有用である。
【符号の説明】
【００９２】
１  撮像回路
２  ＹＣ処理回路
３  圧縮処理回路
４  記録回路
５  ＣＰＵ
６  インターフェース回路
７ａ  インターリーブアクセス手段
７ｂ  非インターリーブアクセス手段
８、９  ＤＲＡＭ
１０  メモリコントローラ
１１  電源回路
１２  メモリカード
１３  記憶管理手段
１４  変換表
１５  カウンタ
【図１】
2011204229.tif 000003
【図２】
2011204229.tif 000004
【図３】
2011204229.tif 000005
【図４】
2011204229.tif 000006