(57)【要約】【課題】多ビットのデータの高速転送を実現して、多ビットのデータのメモリへの記録の高速化などを実現するようにする。【解決手段】順次に供給される多ビットの書き込みデータについて、比較器２１、ラッチ部２２、ＡＬＵ２３の機能により、前回の書き込みデータと今回の書き込みデータとの差分情報を検出し、エンコード部２４、ラッチ部２５、比較器２６の機能により、前回の差分情報と今回の差分情報が同じか否かを判別し、同じ場合には、周波数制御回路１１により、多ビットのデータデータのメモリ装置４０への書き込みのためのクロック信号ＣＬが高速化され、書き込みデータを高速にメモリ装置４０に記録できるようにする。【選択図】図１
2005202529.tif 000002
【特許請求の範囲】
【請求項１】
書き込みデータの供給を順次に受けて、前回供給された前記書き込みデータと今回供給された前記書き込みデータとの差分情報を検出する検出手段と、
前記検出手段からの前記差分情報の供給を順次に受けて、前回供給された前記差分情報と今回供給された前記差分情報とが同じか否かを判別する判別手段と、
前記判別手段からの判別結果が、前回と今回の前記差分情報が同じであることを示している場合に、メモリ装置へのデータの書き込みのためのクロック信号を高速化する周波数制御手段と
を備えることを特徴とするメモリ制御装置。
【請求項２】
請求項１に記載のメモリ制御装置であって、
前記検出手段は、
前回の前記書き込みデータに対して、今回の前記書き込みデータが加算方向にあるか減算方向にあるかの演算方向を検出するための比較手段と、
前記比較手段からの検出結果である前記演算方向に対応するように、前回の前記書き込みデータと今回の前記書き込みデータとの差分値情報を算出する算出手段と
を備えることを特徴とするメモリ制御装置。
【請求項３】
請求項２に記載のメモリ制御装置であって、
前記検出手段は、
前記比較手段からの前記演算方向を示す情報を格納する比較情報部と、前記算出手段からの前記差分値情報を格納する差分情報部とを含み、書き込みデータとなる前記差分情報を形成する形成手段
を備えることを特徴とするメモリ制御装置。
【請求項４】
請求項１、請求項２または請求項３に記載のメモリ制御装置であって、
前記メモリ装置の動作を制御するための制御信号を形成して送出する制御信号生成手段と、
前記メモリ装置に対してアドレス情報を提供するアドレス生成手段と
を備え、
前記制御信号生成手段と前記アドレス生成手段とが協働することにより、バーストモードで書き込みデータを前記メモリ装置に記録することを特徴とするメモリ制御装置。
【請求項５】
請求項３に記載のメモリ制御装置であって、
前記メモリ装置から読み出されたデータから、前記比較情報部と前記差分情報部とを抽出する抽出手段と、
前記抽出手段からの前記比較情報部の前記比較情報に基づいて、加算／減算を指示する指示手段と、
前記指示手段からの指示に基づいて、先に読み出されたデータに対して、前記差分情報部の前記差分値情報を加算あるいは減算する計算手段と
を備えることを特徴とするメモリ制御装置。
【請求項６】
順次に供給される書き込みデータについて、前回供給された前記書き込みデータと今回供給された前記書き込みデータとの差分情報を検出する検出ステップと、
前記検出ステップにおいて順次に検出される前記差分情報について、前回検出された前記差分情報と今回検出された前記差分情報とが同じか否かを判別する判別ステップと、
前記判別ステップにおいての判別結果が、前回と今回の前記差分情報が同じであることを示している場合に、メモリ装置へのデータの書き込みのためのクロック信号を高速化する周波数制御ステップと
を有することを特徴とするメモリ制御方法。
【請求項７】
請求項６に記載のメモリ制御方法であって、
前記検出ステップにおいては、
前回の前記書き込みデータに対して、今回の前記書き込みデータが加算方向にあるか減算方向にあるかの演算方向を検出し、
検出した前記演算方向に対応するように、前回の前記書き込みデータと今回の前記書き込みデータとの差分値情報を算出する
ことを特徴とするメモリ制御方法。
【請求項８】
請求項７に記載のメモリ制御方法であって、
前記検出ステップにおいては、
前記演算方向を示す情報を格納する比較情報部と、前記差分値情報を格納する差分情報部とを含み、書き込みデータとなる前記差分情報を形成する
ことを特徴とするメモリ制御方法。
【請求項９】
請求項６、請求項７または請求項８に記載のメモリ制御方法であって、
前記メモリ装置の動作を制御するための制御信号を形成して送出する制御信号生成ステップと、
前記メモリ装置に対してアドレス情報を提供するアドレス生成ステップと
を有し、
前記制御信号生成ステップと前記アドレス生成ステップとの機能により、バーストモードで書き込みデータを前記メモリ装置に記録することを特徴とするメモリ制御方法。
【請求項１０】
請求項８に記載のメモリ制御方法であって、
前記メモリ装置から読み出されたデータから、前記比較情報部と前記差分情報部とを抽出する抽出ステップと、
前記抽出ステップにおいて抽出された前記比較情報部の前記比較情報に基づいて、加算／減算を指示する指示ステップと、
前記指示ステップにおいての指示に基づいて、先に読み出されたデータに対して、前記差分情報部の前記差分値情報を加算あるいは減算し、読み出しデータを復元する計算ステップと
を有することを特徴とするメモリ制御方法。
【請求項１１】
メモリ装置を利用する装置のコンピュータに
書き込みデータの供給を順次に受けて、前回供給された前記書き込みデータと今回供給された前記書き込みデータとの差分情報を検出する検出手段、
前記検出手段からの前記差分情報の供給を順次に受けて、前回供給された前記差分情報と今回供給された前記差分情報とが同じか否かを判別する判別手段、
前記判別手段からの判別結果が、前回と今回の前記差分情報が同じであることを示している場合に、前記メモリ装置へのデータの書き込みのためのクロック信号を高速化する周波数制御手段、
として機能させるためのメモリ制御プログラム。
【請求項１２】
請求項１１に記載のメモリ制御プログラムであって、
前記検出手段の機能として、
前回の前記書き込みデータに対して、今回の前記書き込みデータが加算方向にあるか減算方向にあるかの演算方向を検出するための比較手段、
前記比較手段からの検出結果である前記演算方向に対応するように、前回の前記書き込みデータと今回の前記書き込みデータとの差分値情報を算出する算出手段、
として機能させるためのメモリ制御プログラム。
【請求項１３】
請求項１２に記載のメモリ制御プログラムであって、
前記検出手段は、
前記比較手段からの前記演算方向を示す情報を格納する比較情報部と、前記算出手段からの前記差分値情報を格納する差分情報部とを含み、書き込みデータとなる前記差分情報を形成する形成手段
として機能させるためのメモリ制御プログラム。
【請求項１４】
請求項１１、請求項１２または請求項１３に記載のメモリ制御プログラムであって、
前記メモリ装置の動作を制御するための制御信号を形成して送出する制御信号生成手段、
前記メモリ装置に対してアドレス情報を提供するアドレス生成手段、
として機能させることにより、
バーストモードで書き込みデータを前記メモリ装置に記録することを特徴とするメモリ制御プログラム。
【請求項１５】
請求項１３に記載のメモリ制御プログラムであって、
前記メモリ装置から読み出されたデータから、前記比較情報部と前記差分情報部とを抽出する抽出手段、
前記抽出手段からの前記比較情報部の前記比較情報に基づいて、加算／減算を指示する指示手段、
前記指示手段からの指示に基づいて、先に読み出されたデータに対して、前記差分情報部の前記差分値情報を加算あるいは減算する計算手段
として機能させるためのメモリ制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、メモリ装置に対してデータの書き込み／読み出しを行う種々の電子機器に適用されるメモリ制御装置、メモリ制御方法およびメモリ制御プログラムに関する。
【背景技術】
【０００２】
例えば、メモリへのデータの記録速度を向上させるなどのために、バス帯域を向上させるには、クロック周波数を上げる、バス幅を広げるというのが一般的である。しかし、クロック周波数を上げる場合には、消費電力増加や輻射の問題が発生する。また、クロック周波数を上げる場合には、クロックスキュー（クロック信号の到達時間差）やデバイスのＡＣスペック（セットアップタイム及びホールドタイム）の観点から容易ではない。また、バス幅を広げるのも、ＬＳＩのピン数の増加を生み容易な解決手段にならない。
【０００３】
従来、シリアルバス転送に関しては、後に記す特許文献１に開示されているようなシステムがあり、転送データが変化しない場合は、デバイスのＡＣスペック（セットアップ及び、ホールドタイム）の影響がなくなるので、書き込みクロックスピードを上げるという技術が提案されている。
【特許文献１】特開平１１−２５０００６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
ところで、携帯電話端末、カメラ付き携帯電話端末、デジタルカメラ、ＰＤＡ（Personal Digital Assistant）、パーソナルコンピュータなどの種々の電子機器には、例えば、ＳＤＲＡＭ（Synchronous Dynamic Random access Memory）などが搭載され、これを多ビットメモリとして用いて、画像データ、音声データ、テキストデータ、グラフィックスデータ、プログラムデータなどの種々のデータを記録することが行われている。
【０００５】
しかしながら、特許文献１に記載の技術は、シリアル転送には有効であるが、上述のような種々の電子機器に搭載される多ビットのメモリの制御（多ビットのデータ転送制御）については、十分な効果（十分なバス帯域の向上）が望めない場合がある。
【０００６】
すなわち、データ転送処理の信頼性の確保などの観点からメモリ等のデバイスのＡＣスペック（仕様）においては、アクセス禁止区間が設けられる。例えば、立ち上がりクロックで同期して動作するシステムにおいては、図７において、図７Ｂに示したように、クロックの立ち上がりに対して、(区間ｔ１＋区間ｔ２)の間においては、データが変化してはいけない。ここで、区間t１はセットアップタイム、区間t２はホールドタイムと呼ばれる。
【０００７】
したがって、図７Ａにおいて、データ０ｘ００、０ｘ０１、０ｘ０８、０ｘ０４が示すように、１６進数１バイトの書き込みデータが供給され、これを図７Ｂに示したクロック信号に基づいて、メモリに記録する場合には、図７Ｃに示したように、区間ｔ２の直後のタイミングで各書き込みデータがメモリに記録されることになる。なお、この明細書において、０ｘ００、０ｘ０１のように記載された場合の０ｘは、後に続く０〜９、Ａ〜Ｆからなる文字列が１６進数であることを示している。
【０００８】
そして、図８Ａにおいては、０ｘ００、０ｘ０１、０ｘ０１、０ｘ０４というように、同じデータ０ｘ０１が２回続く場合がある。このように、同じデータが連続する部分では、図８Ｂに示したように、クロック信号を上げることができる。これにより、図８Ｃに示したように、同じデータが連続する部分では、クロック信号を速くして、データを高速に処理することが可能になると考えられる。
【０００９】
しかし、多ビットのデータ転送（パラレルデータ転送）の場合には、同一データを続けてメモリに書き込むという現象が稀である。つまり、転送するデータが、「０」か「１」かの１ビットずつのシリアル転送の場合と異なり、多ビットのデータ（パラレルデータ）の場合には、同一の多ビットのデータの発生確率が低くなるので、クロック信号の周波数を上げることが可能な場合がシリアル転送の場合に比べ極端に減少する。
【００１０】
また、多ビットのデータをメモリに記録する場合、メモリ上の記録位置を示すアドレス情報と、記録しようとする書き込みデータとの両方をメモリに対して供給しなければならず、書き込みデータの効率転送だけを実現しても、データ転送の高速化を図ることができない。
【００１１】
以上のことにかんがみ、この発明は、上記問題点を解決し、多ビットのデータを高速に転送してメモリに記録することができるようにするための装置、方法、プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１２】
上記課題を解決するため、請求項１に記載の発明のメモリ制御装置は、
書き込みデータの供給を順次に受けて、前回供給された前記書き込みデータと今回供給された前記書き込みデータとの差分情報を検出する検出手段と、
前記検出手段からの前記差分情報の供給を順次に受けて、前回供給された前記差分情報と今回供給された前記差分情報とが同じか否かを判別する判別手段と、
前記判別手段からの判別結果が、前回と今回の前記差分情報が同じであることを示している場合に、メモリ装置へのデータの書き込みのためのクロック信号を高速化する周波数制御手段と
を備えることを特徴とする。
【００１３】
この請求項１に記載の発明のメモリ制御装置によれば、順次に供給される書き込みデータについて、検出手段により、前回の書き込みデータと今回の書き込みデータとの差分情報が検出され、この差分情報が順次に判別手段に供給される。また、判別手段により、前回の差分情報と今回の差分情報が同じか否かが判別される。
【００１４】
そして、判別手段により、前回の差分情報と今回の差分情報とが同じであると判別された場合には、書き込み情報は前回と今回とで同じであるので、周波数制御手段により書き込みのためのクロック信号が高速化するようにされる。
【００１５】
これにより、例えば、多ビットのデータを多ビットのメモリ装置に記録する場合であっても、隣接する記録単位毎のデータ間の差分が均一であるようなデータの場合、例えば、画像データ等の場合には、隣接する記録単位毎のデータ間の差分情報が均一である場合が存在し、その部分においては、多ビットメモリ装置への書き込みデータの高速転送を行って、書き込みデータを高速に記録することができるようにされる。もちろん、シングルビットのデータを処理する場合にも同様に処理できる。
【００１６】
また、請求項２に記載の発明のメモリ制御装置は、請求項１に記載のメモリ制御装置であって、
前記検出手段は、
前回の前記書き込みデータに対して、今回の前記書き込みデータが加算方向にあるか減算方向にあるかの演算方向を検出するための比較手段と、
前記比較手段からの検出結果である前記演算方向に対応するように、前回の前記書き込みデータと今回の前記書き込みデータとの差分値情報を算出する算出手段と
を備えることを特徴とする。
【００１７】
この請求項２に記載の発明のメモリ制御装置によれば、検出手段は、比較手段と算出手段とを備え、まず、比較手段により、前回の書き込みデータに対して、今回の書き込みデータは増えたか（加算方向か）、減ったか（減算方向か）の演算方向が検出される。この検出結果に基づいて、差分値情報が算出される。すなわち、差分値情報としては、加算方向または減算方向の差分の大きさとして算出される。
【００１８】
これにより、差分情報は、演算方向により、差分値情報の符号の方向（＋（プラス）か−（マイナス）か）が示されると共に、差分値情報により差分の大きさが示されるようにされ、差分情報を前回（１つ前の供給タイミング）の書き込みデータとの関係で正確に算出することができるようにされる。
【００１９】
また、請求項３に記載の発明のメモリ制御装置は、請求項２に記載のメモリ制御装置であって、
前記比較手段からの前記演算方向を示す情報を格納する比較情報部と、前記算出手段からの前記差分値情報を格納する差分情報部とを含み、書き込みデータとなる前記差分情報を形成する形成手段
を備えることを特徴とする。
【００２０】
この請求項３に記載の発明のメモリ制御装置によれば、検出手段は、さらに形成手段を備え、この形成手段により、比較手段からの演算方向を示す情報を格納する比較情報部と、算出手段からの差分値情報を格納する差分情報部とを含む差分情報を形成し、これが書き込みデータとして用いることができるようにされる。
【００２１】
これにより、記録対象のデータが隣接する記録単位毎のデータ間の差分が均一なものであるか否かを判断するための差分情報を書き込みデータとしても用いることができるようにされ、効率的に書き込みデータをメモリに記録できるように制御可能なメモリ制御装置が実現される。
【００２２】
また、請求項４に記載の発明のメモリ制御装置は、請求項１、請求項２または請求項３に記載のメモリ制御装置であって、
前記メモリ装置の動作を制御するための制御信号を形成して送出する制御信号生成手段と、
前記メモリ装置に対してアドレス情報を提供するアドレス生成手段と
を備え、
前記制御信号生成手段と前記アドレス生成手段とが協働することにより、バーストモードで書き込みデータを前記メモリ装置に記録することを特徴とする。
【００２３】
この請求項４に記載の発明のメモリ制御装置によれば、制御信号生成手段と、アドレス制御手段とによって、メモリ装置が多ビットのものである場合に、このメモリ装置へのバーストモードでのデータの記録ができるようにされる。
【００２４】
バーストモードは、例えば、６４ビット単位などのように、予め決められた処理単位のデータを転送する場合に、最初の処理単位のデータの転送時において、メモリ上の記録位置を示すアドレスをメモリに提供し、その後においては、アドレスを転送することなく、予め決められた処理単位のデータを複数回連続して転送することができるものであり、データ転送の効率化を図ることができるものである。
【００２５】
このバーストモードの利用ができることにより、所定の処理単位毎の隣接するデータ間の差分が均一になるデータ区間においては、データをより高速に転送して、そのデータを多ビットのメモリ装置に記録することができるようにされる。
【００２６】
また、請求項５に記載の発明のメモリ制御装置は、請求項３に記載のメモリ制御装置であって、
前記メモリ装置から読み出されたデータから、前記比較情報部と前記差分情報部とを抽出する抽出手段と、
前記抽出手段からの前記比較情報部の前記比較情報に基づいて、加算／減算を指示する指示手段と、
前記指示手段からの指示に基づいて、先に読み出されたデータに対して、前記差分情報部の前記差分値情報を加算あるいは減算する計算手段と
を備えることを特徴とする。
【００２７】
この請求項５に記載の発明のメモリ制御装置によれば、メモリ装置から読み出されたデータは、比較情報部と差分情報部とを含んでいるので、抽出手段によりそれらの各部が抽出される。そして、抽出して得られた比較情報部の演算方向を示す情報に基づいて、先に出力するようにされたデータに対して、差分情報部の差分値情報を加算または減算する処理を行う。
【００２８】
これにより、メモリから読み出されたデータに応じて、出力すべき元の態様のデータを復元し、これをバスに送出して、目的とする処理回路部に入力（供給）することができるようにされる。
【発明の効果】
【００２９】
この発明によれば、データを高速にメモリに転送することができる。特に、多ビットのデータを処理する場合において、より顕著に高速化を実現できる。したがって、画像データのように、隣接する処理単位毎の多ビットデータの差分が均一となる部分の多いデータについては、高速化の効果をより顕著に発揮することができる。
【００３０】
このため、携帯電話端末、カメラ付き携帯電話端末、デジタルカメラ、デジタルビデオカメラ、ＰＤＡ、パーソナルコンピュータなど、種々の多ビットデータのメモリ等への転送速度の高速化を実現することができる。もちろん、シングルビット転送（シリアル転送）にも利用できる。
【発明を実施するための最良の形態】
【００３１】
以下、図を参照しながら、この発明による装置、方法、プログラムの一実施の形態について説明する。
【００３２】
［メモリ制御システムの構成］
図１は、この発明が適用されて構成されたこの実施の形態のメモリ制御システム（メモリ制御装置）１０を説明するためのブロック図である。この実施の形態のメモリ制御システムは、バスラインからの多ビットのデータ（パラレルデータ）の供給を受けて、これを多ビットのメモリ装置４０のメモリに書き込んだり、また、メモリ装置４０のメモリに記録されている多ビットのデータを読み出して、これをバスラインに送出したりすることができるものである。この実施の形態において、メモリ装置４０は、例えば、ＳＤＲＡＭを備えるものである。
【００３３】
図１に示すように、この実施の形態のメモリ制御システム１０は、周波数制御回路１１、制御信号生成部１２、アドレス生成部１３、出力データ生成部２０、入力データ生成部３０からなっている。出力データ生成部２０は、更に、比較器２１、ラッチ部２２、ＡＬＵ(Arithmetic Logic Unit)２３、エンコード部２４、ラッチ部２５、比較器２６から構成される。また、入力データ生成部３０は、比較器３１、ラッチ部３２、ＡＬＵ３３、デコード部３４から構成される。
【００３４】
周波数制御回路１１は、可変周波数発生回路であり、メモリ制御システム１０に外部から入力される基準クロック信号に基づいて、任意の周波数のクロック信号ＣＬを形成し、これをメモリ装置４０に供給するものである。そして、この実施の形態の周波数制御回路１１は、詳しくは後述もするように、出力データ生成部２０の比較器２６からの出力信号に基づいて、出力するクロック信号ＣＬの周波数を調整することができるものである。
【００３５】
また、制御信号生成部１２は、図示しないメインコントローラなどからの制御に応じてメモリ装置４０に供給する種々の制御信号（コマンド信号）ＣＴを生成するものである。また、アドレス生成部１３は、図示しないメインコントローラなどからの制御に応じて、メモリ装置４０に供給するアドレス情報を生成するものである。
【００３６】
そして、出力データ生成部２０は、バスラインから供給される多ビットの書き込みデータの供給を受けて、隣接する多ビットのデータ間の差分が均一か否かを判別し、これに基づき周波数制御回路１１が生成するクロック信号ＣＬの周波数を制御すると共に、メモリ装置４０のメモリに実際に書き込むことになる書き込みデータＤＴを生成し、これをメモリ装置４０に対して出力するものである。すなわち、出力データ生成部２０は、周波数制御回路１１において生成される書き込み時のクロック信号ＣＬを調整すると共に、バスライン（処理システム）からの書き込みデータを処理してメモリ装置４０に出力するものである。
【００３７】
また、入力データ生成部３０は、メモリ装置４０から読み出された多ビットのデータＤＴの供給を受けて、これからバスラインに送出（入力）する形式の多ビットのデータを復元し、これをバスラインに送出するものである。すなわち、入力データ生成部３０は、メモリ装置４０から読み出された多ビットのデータを処理してバスライン（処理システム）に入力するものである。
【００３８】
［書き込み時の動作について］
次に、この実施の形態のメモリ制御システムの動作について説明する。まず、メモリ装置４０への書き込み（ライト）動作の概要について説明する。
【００３９】
バスラインからメモリ制御システム１０に供給される所定ビット数の多ビットのデータは、出力データ生成部２０の比較器２１、ラッチ部２２、ＡＬＵ２３に供給される。ラッチ部２２は、これに供給された多ビットのデータを保持するが、新たに多ビットのデータが供給される毎に、先に供給されて保持している多ビットのデータを出力して、比較器２１と、ＡＬＵ２３とに供給する。
【００４０】
そして、次の多ビットのデータがバスラインから入ってくると、上述のように、１つ前のアドレスにおいて供給された多ビットのデータ（前回のデータ）がラッチ部２２から比較器２１とＡＬＵ２３とに供給されるので、比較器２１は、ラッチ部２２からの前回のデータとバスラインから最新に供給された多ビットのデータ（今回のデータ）とを比較して大小関係を判別し、その判別結果をＡＬＵ２３とエンコード部２４とに供給する。すなわち、比較器２１は、データの供給タイミング毎に、前回供給された多ビットのデータ（前回のデータ）と今回供給された多ビットのデータ（今回のデータ）とを比較して、その大小関係を判別するものである。
【００４１】
ＡＬＵ２３は、比較器２１からの大小関係の判別結果に基づいて、ラッチ部２２からの前回のデータよりバスラインから最新に供給された今回のデータが大きい場合は、加算方向（増加方向）の差分値情報を計算し、また、ラッチ部２２からの前回のデータよりバスラインから最新に供給された今回のデータが小さい場合は、減算方向（減少方向）の差分値情報を計算する。ＡＬＵ２３で計算された差分値情報は、エンコード部２４に供給される。
【００４２】
エンコード部２４は、比較器２１から出力される大小関係の判別結果と、ＡＬＵ２３から出力される差分値情報をパッキングして、差分情報を形成し、これをラッチ部２５と比較器２６とに供給すると共に、メモリ装置４０にも供給して書き込む（記録する）ようにする。このように、エンコード部２４において形成される差分情報は、実際にメモリ装置４０のメモリに書き込む書き込みデータＤＴとなるものである。
【００４３】
なお、この実施の形態において、エンコード部２４において形成される書き込みデータＤＴである差分情報は、図６に示す構造を持つ。図６に示すように、エンコード部２４において形成される書き込みデータＤＴは、比較情報部と差分情報部から成り、上述もしたように、一つ前のアドレスの多ビットのデータ（前回のデータ）との差分情報を表す。比較情報部は、１ビットで構成され、例えば、「０」の場合は加算方向、「１」の場合は減算方向を示す。また、差分情報部は、比較情報部の加減算の方向に対応した差分値情報で構成される。なお、書き込みデータは、図６に示した形式のものに限るものではなく、その他、必要な情報を付加するようにしてももちろんよい。
【００４４】
ラッチ部２５は、エンコード部２４からの書き込みデータＤＴを保持するものであるが、次の書き込みデータＤＴが供給された時には、先に保持している書き込みデータ（前回の書き込みデータ）ＤＴを比較器２６に供給する。比較器２６には、ラッチ部２５からの前回の書き込みデータＤＴｚと、エンコード部２４からの今回形成した書き込みデータ（今回の書き込みデータ）ＤＴｋとを比較し、その比較結果を周波数制御回路１１に供給する。なお、比較器２６から周波数制御回路１１に供給される比較結果は、増減の方向、差分情報（差分値情報）の双方が同一の場合には「１」、異なる場合には「０」というような１ビットの情報である。
【００４５】
周波数制御回路１１は、比較器２６からの比較結果が、前回の書き込みデータＤＴｚと今回の書き込みデータＤＴｋが同じであることを示しているときには、書き込みデータは変化していないということなので、通常よりも高い周波数のクロック信号ＣＬを形成し、これをメモリ装置４０に供給する。
【００４６】
また、周波数制御回路１１は、比較器２６からの比較結果が、前回の書き込みデータＤＴｚと今回の書き込みデータＤＴｋが異なることを示しているときには、書き込みデータは変化したということなので、通常の周波数のクロック信号ＣＬを形成し、これをメモリ装置４０に供給する。
【００４７】
これにより、内容が同じ書き込みデータが連続する部分においては、クロック信号ＣＬの周波数を通常よりも速くすることによって、バス帯域を向上させるようにし、書き込みデータＤＴのメモリ装置４０への記録を迅速に行うことができるようにしている。もちろん、隣接する書き込みデータが異なる場合には、クロック信号ＣＬは通常の周波数となるようにされるので、書き込みデータが通常通りに記録することができる。
【００４８】
なお、少なくともラッチ部２２の初期値は、ゼロに設定してあり、バスラインからの一番目のデータは、ラッチ部２２のデータゼロと比較されることになる。
【００４９】
また、バスラインのバス幅（データ幅）は、８ビット、１６ビット、３２ビット、６４ビット、１２８ビット、２５６ビット、５１２ビット、…と種々の場合があり、メモリ制御システム１０とメモリ装置４０とを接続するデータラインの幅（データ幅）も同様に、８ビット、１６ビット、３２ビット、６４ビット、１２８ビット、２５６ビット、５１２ビット、…と種々の場合がある。
【００５０】
そして、上述の説明は、バスラインのバス幅と、メモリ制御システム１０とメモリ装置４０間のデータラインの幅とが同じ場合を想定して説明したものである。しかし、バスラインのバス幅とメモリ制御システム１０とメモリ装置４０間のデータラインの幅とが異なる場合には、バスラインとメモリ制御システムとの間にキャッシュメモリ等のバッファを設け、所定の処理単位毎（所定のビット数毎）にデータを読み出して処理するようにすればよい。
【００５１】
［供給されるデータと生成したデータの例について］
次に、図２、図３を参照しながら、この実施の形態のメモリ制御システム１０に対してバスラインから供給されるデータの例と、これをこの実施の形態のメモリ制御システム１０において処理することにより生成した書き込みデータとについて具体的に説明する。
【００５２】
図２は、この実施の形態のメモリ制御システム１０への３種類のバスライン入力データの例を示す図であり、図３は、図２に示した３種類のバスライン入力データのそれぞれをメモリ制御システム１０で処理して形成した書き込みデータを示す図である。なお、図２、図３の双方の図とも、Ｘ軸がアドレス情報を示し、Ｙ軸がデータ値を示している。
【００５３】
図２に示すように、等差の増加方向のデータＮＤｔ１、等差の減少方向のデータＮＤｔ２、均一データＮＤｔ３の３種類のデータのそれぞれをバスライン入力データとしてこの実施の形態のメモリ制御システム１０で処理すると、バスライン入力データＮＤｔ１、ＮＤｔ２、ＮＤｔ３のそれぞれは、図３に示したように、均一な差分情報に変換され、データ値が固定される。
【００５４】
すなわち、図２に示した等差の増加方向のデータＮＤｔ１をメモリ制御システム１０で処理すると、図３において、差分情報（書き込みデータ）ＤＴ１に示すように、アドレス０ｘ００以降は均一なデータとなる。また、図２に示した等差の現象方向のデータＮＤｔ２をメモリ制御システム１０で処理すると、図３において、差分情報（書き込みデータ）ＤＴ２が示すように、アドレス０ｘ０１以降は均一なデータとなる。同様に、図２において、均一データＮＤｔ３をメモリ制御システム１０で処理すると、図３において、差分情報（書き込みデータ）ＤＴ３が示すように、アドレス０ｘ０１以降は均一なデータとなる。
【００５５】
したがって、図２に示したいずれのバスライン入力データをメモリ装置４０のメモリに書き込む場合であっても、この実施の形態のメモリ制御システム１０においては、アドレス０ｘ０１以降（２回目のバスライン入力以降）においては、差分情報は均一になり、データ値が固定される。したがって、アドレス０ｘ０１以降においては、周波数制御回路１１において形成するクロック信号ＣＬの周波数を通常よりも速くし、バス帯域を向上させ、データを高速にメモリ装置４０に転送して、高速に記録することができるようにされる。
【００５６】
このように、バスラインからの書き込みデータをメモリ制御システム１０で処理することにより、データ線４１を通じて、メモリ制御システム１０からメモリ装置４０供給される書き込みデータの変化を最小限に抑え、同じ書き込みデータが連続する区間においては、書き込みに用いるクロック信号ＣＬの周波数を速くし、書き込みデータを高速に転送して、メモリ装置４０のメモリに迅速に書き込むことができるようにしている。
【００５７】
また、図２、図３を用いて説明したように、バスラインから供給される多ビットのデータが同一内容のデータ（均一データ）である場合だけでなく、バスラインから供給される多ビットのデータが等差的に増加する部分、および、等差的に減少する部分の双方においても、差分情報を均一化することができ、書き込みのためのクロック信号ＣＬの周波数を速くすることができる。すなわち、同一となることが少ない多ビットのデータについても、差分情報が同一となるデータ区間を多く出現させるようにし、データ転送を高速化を図ることができるようにされる。
【００５８】
［バーストモードの利用について］
更に、データ記録時のアドレス制御であるが、この実施の形態のメモリ制御システム１０においては、バーストモードでデータの書き込みを行うようにしている。バーストモードは、後述もするように、アドレスを１回指定することにより、所定の処理単位の多ビットのデータのかたまりを複数個ずつ書き込むことができるようにするものである。最近の大容量メモリ装置は、データの転送効率を上げるため、バーストモードを搭載しているのが殆どである。
【００５９】
図４は、ＳＤＲＡＭにおけるバーストモードの書き込み動作の一般的なタイミングを説明するためのタイミングチャートである。図４において、図４Ａはクロック信号を、図４Ｂはコマンド信号（コマンド信号）を、図４Ｃはアドレス情報を、図４Ｄは記録対象のバスデータ（書き込みデータ）を示している。
【００６０】
ＳＤＲＡＭは、２次元配列のメモリとなっているため、メモリへのアドレスは、ＲＡＳ（Row Address strobe）方向（行アドレス方向）とＣＡＳ（Column address strobe）方向（列アドレス方向）の２回与える。図４Ｂ、図４Ｃに示すように、ＳＤＲＡＭの動作規定により、Ｒｏｗ（行）アドレス発行時は、ＡＣＴ（アクティベイト）コマンドを発行し、Ｃｏｌｕｍｎ（列）アドレス発行時は、ＷＲＴ（ライト）コマンドを発行する。
【００６１】
そして、図４に示したように、バーストモードアクセス使用時は、ＳＤＲＡＭ（メモリ装置４０）へアドレスを与えるのは、バースト転送のスタートアドレスのみであり、最初のデータ転送以外は、ＳＤＲＡＭに与える信号はクロック信号（図４Ａ）とバスデータ（図４Ｄ）の２種類のみである。
【００６２】
したがって、この実施の形態のメモリ制御システム１０においても、バーストモードを用いることによって、図２、図３を用いて説明したように処理された差分情報である書き込みデータをメモリ装置４０のＳＤＲＡＭに書き込む場合にも、高速に書き込み動作を行うようにすることができる。
【００６３】
図５は、この実施の形態のメモリ制御システム１０を通じて図２に示したような多ビットのデータをメモリ装置４０のＳＤＲＡＭに記録するようにした場合の動作を説明するためのタイミングチャートである。図５において、図５Ａはクロック信号を、図５Ｂはコマンド信号（制御信号）を、図５Ｃはアドレス情報を、図４Ｄは記録対象のバスデータ（書き込みデータ）を示している。
【００６４】
そして、この実施の形態のメモリ制御システム１０においても、図５Ｂ、図５Ｃに示すように、制御信号生成部１２がＡＣＴコマンドを発行するタイミングで、アドレス生成部１３がＲｏｗ（行）アドレスを発行する。そして、制御信号生成部１２がＷＲＴコマンドを発行するタイミングで、アドレス生成部１３がＣｏｌｕｍｎ（列）アドレスを発行し、データ線４１を通じて供給されるバスデータ、この実施の形態においては、差分情報である書き込みデータＤＴのメモリ装置４０のＳＤＲＡＭへの記録が開始される。
【００６５】
この場合、最初の多ビットのデータ「ｄａｔ＿１」は、初期値ゼロと比較されるので、バスデータ「ｄａｔ＿１」がそのまま記録されるが、図３を用いて説明したように、以降においての差分情報である書き込みデータＤＴは均一となるため、クロック信号の周波数が図５Ａに示すように高速となるようにされ、差分情報である書き込みデータＤＴが高速にメモリ装置４０のＳＤＲＡＭに転送されて記録される。
【００６６】
そして、図４のバーストモードを用いた通常のデータ転送処理時の態様と図５に示したこの実施の形態のメモリ制御システム１０によるバーストモードを用いたデータ転送記録処理時の態様とを比較すると明らかなように、この実施の形態のメモリ制御システム１０を用いてバーストモードによりデータを転送する場合には、データ「ｄａｔ＿１」を転送した後においては、クロック信号を高速にすることができるので、データ転送の高速化をさらに顕著なものとして実現することができる。
【００６７】
なお、バーストモードによる記録時においては、例えば、４つの書き込みデータを１つのかたまりとして記録する４バーストモード、８つの書き込みデータを１つのかたまりとして記録する８バーストモードなどのように、多ビットのデータの１かたまり毎にＳＤＲＡＭのアドレスが指示するようにされると共に、図１に示したラッチ部２２の値がゼロクリアされることになる。すなわち、メモリ装置４０におけるバースト転送の多ビットのデータのかたまり毎に、ラッチ部２２の初期値はゼロに設定される。
【００６８】
［読み出し時の動作について］
次に、この実施の形態のメモリ制御システム１０におけるメモリ装置４０からのデータの読み出し（リード）動作について説明する。この実施の形態のメモリ制御システム１０において、読み出し動作時には、メモリ装置４０のメモリに記録された図６に示したデータ構造を持つ差分データである書き込みデータを逆にデコードし、バスラインから供給された形式のデータにする必要がある。このデコード処理が入力データ生成部３０において行われることになる。
【００６９】
すなわち、メモリ装置４０のＳＤＲＡＭから読み出された図６に示したデータ構造を有するデータは、データ線４１を通じて入力データ生成部３０のデコード部３４に供給される。デコード部３４は、これに供給されたデータを比較情報部の演算方向を示すデータと差分情報部の差分値情報とに分解（抽出）する。そして、比較情報部の演算方向を示す情報は、比較器３１に供給され、差分情報部の差分値情報はＡＬＵ３３に供給される。
【００７０】
比較器３１は、デコード部３４からの１ビットの演算方向を示すデータが「０」の場合は、ＡＬＵ３３に対して、ラッチ部３２からのデータと、デコード部３４からの差分値情報とを加算するようにする加算指示を出し、また、デコード部３４からの１ビットの演算方向を示すデータが「１」の場合は、ＡＬＵ３３に対して、ラッチ部３２からのデータから、デコード部３４からの差分値データを減算するようにする減算指示を出す。
【００７１】
なお、上述した書き込み動作時の場合と同様に、メモリ装置４０におけるバースト転送の多ビットのデータのかたまり毎に、ラッチ部３２の初期値はゼロに設定される。これにより、バーストモードでメモリ装置４０のＳＤＲＡＭに書き込まれたデータを書き込み時と同じ多ビットのデータのかたまり毎に読み出して、これを復元し、復元したデータを処理システムへの入力データとしてバスラインに送出することができるようにされる。
【００７２】
また、バーストモードを用いずにデータが記録された場合であっても、例えば、静止画データなどの場合のように、１ファイル分の差分情報（書き込みデータ）の最初から最後までの全てを読み出して処理することにより、読み出した差分情報から元の多ビットのデータを復元して、これをバスラインに入力することが可能であることは言うまでもない。
【００７３】
もちろん、通常は、上述のように、バーストモードが用いられるので、メモリ装置４０へのデータの転送時だけでなく、メモリ装置４０からのデータの読み出し時においても、所定単位毎にデータの読み出しを行うことにより、上述のように多ビットのデータを適正に復元することができ、しかも、１ファイル分の差分情報の途中からでも、読み出して、適正に多ビットのデータを復元し、これを利用することができるようにされる。
【００７４】
［携帯通信機器端末へのメモリ制御システム１０の適用について］
近年、携帯通信機器端末では、大容量のメモリを搭載するのが増えている。これは、携帯通信機器端末が取り扱うデータが、文字データ、音声データだけでなく、画像データまで扱うようになった影響が大きい。画像データに関しては、データ量の削減の意味から圧縮されて取り扱われることが多い。
【００７５】
画像データの圧縮の手法は、ＪＰＥＧ（Joint Photographic Experts Group）方式やＭＰＥＧ（Moving Picture Experts Group）方式等で採用されているＤＣＴ（Discrete Cosine Transform：離散コサイン変換）を用いるのが一般的である。ＤＣＴは、画面内の近接するピクセル（画素）の画像情報の変化が緩やかである場合が自然画の中には多く、また、人間の目の感性が緩やかな画像情報変化に敏感で、急峻な画像情報変化に鈍感であるという、画像の性質と、利用者の目の機能との両方を利用し、高能率符号化しやすい状態に変換できるため広く利用されるようになっている。
【００７６】
つまり、静止画像データや動画像データなどの画像データの一般的な性質として、画面内の近接するピクセルの画像情報の変化が緩やかである、すなわち、近接するピクセルの画像情報の変化が、均一、あるいは、線形に変化する、あるいは、線形に近い状態で変化する場合が多いといえる。したがって、図２、図３を用いて説明したように、画像データをメモリに記録する場合にこの発明を適用することによって、差分情報が均一になる区間が多く発生し、画像データを高速にメモリに記録することが可能となる。
【００７７】
このように、扱うデータが画像データである場合が多くなってきている近年の携帯通信機器端末においては、データの変化が緩やか、すなわち、差分情報が均一な区間が多くなるという画像データの特徴を生かせるこの発明のメモリ制御システムの適用が有効である。
【００７８】
また、画像データを取り扱うシステムにおいては、大容量のメモリを効率的に使用するため、バーストモードアクセスを使用する場合が多い。近年主流である、ＳＤＲ（Single Data Rate）のＤＲＡＭ（Dynamic Random Access Memory）、ＤＤＲ（Double Data Rate）のＤＲＡＭ、および、ＳＲＡＭ（Static Random Access Memory）、フラッシュメモリなどでも、バーストモードを使用するのが殆どである。
【００７９】
これらのメモリを用いたメモリ装置は、アドレス発行が最初の一回だけであり、残りのアドレス生成は、メモリ装置の内部で行っている。したがって、上述のような、種々のメモリが用いられ、バーストモードを備えるメモリ装置を用いる場合に、この発明を適用することができる。
【００８０】
以上の点から、画像データを取り扱う携帯通信機器端末では、画像データの差分情報の均一性や、メモリ装置へのバーストモードアクセスを最適に利用したこの発明によるメモリ制御システム、メモリ制御方法が有効である。
【００８１】
また、この発明によるメモリ制御装置、メモリ制御方法は、全ての画像データに対して有効であり、ＣＣＤ（Charge Coupled Device）などの撮像素子から取り込まれる画像データに対する処理、拡大縮小等の画サイズ変換処理、及び、ＬＣＤ（Liquid Crystal Display）などの表示素子への画像の表示処理等においても、データを転送する場合に適用可能である。よって、携帯通信機器端末でのアプリケーションとの親和性も高く、バス帯域の向上に対しての効果は大きい。
【００８２】
［各回路部と請求項の各手段との対応付けについて］
そして、上述した実施の形態においては、出力データ生成部２０の比較器２１とラッチ部２２とＡＬＵ２３と協働して、検出手段としての機能を実現し、出力データ生成部２０のエンコード部２４とラッチ部２５と比較器２６とが協働して、判別手段としての機能を実現している。そして、周波数制御回路１１が周波数制御手段としての機能を実現している。
【００８３】
また、比較器２１が比較手段としての機能を実現し、ＡＬＵ２３が算出手段としての機能を実現し、エンコード部２４が形成手段としての機能を実現している。さらに、制御信号生成部１２が、制御信号生成手段としての機能を実現し、アドレス生成部１３が、アドレス生成手段としての機能を実現している。
【００８４】
そして、入力データ生成部３０のデコード部３４が、抽出手段としての機能を実現し、比較器３１が指示手段としての機能を実現し、また、ＡＬＵ３３が計算手段としての機能を実現している。
【００８５】
［プログラム化について］
また、メモリ制御システム１０のラッチ部２２、２５、３２のデータを保持する機能をコンピュータの所定のレジスタにより実現するようにし、差分情報を検出する検出手段としての機能と、判別手段としての機能と、周波数制御手段としての機能をコンピュータで実行するプログラム（ソフトウエア）として実現することももちろん可能である。
【００８６】
したがって、比較器２１としての機能、ＡＬＵ２３としての機能、エンコード部２４としての機能、さらに、制御信号生成部１２としての機能、アドレス生成部１３としての機能、デコード部３４としての機能、比較器３１としての機能、ＡＬＵ３３としての機能のそれぞれを、コンピュータで実行するプログラムによって実現することも可能である。
【００８７】
すなわち、多ビットのデータを保持するレジスタやワークメモリ（作業領域）さえあれば、図１に示したメモリ制御システムの各部の機能をプログラムにより実現し、データの高速転送が可能な装置を実現することができる。
【００８８】
そして、この発明のプログラムを形成した場合には、コンピュータを備える機器であって、メモリへのデータの書き込み／読み出しを行う種々の電子機器に、上述のように各部の機能を実現するプログラムを搭載することによって、多ビットのデータを高速に転送可能な種々の電子機器を機器構成を変更することなく実現することが可能である。
【００８９】
［その他］
なお、上述したように、この発明は、画像データを処理する場合に好適であることを説明したが、処理可能なデータは画像データだけではなく、種々のグラフィックスデータ、音声データ、テキストデータ、プログラムデータなどの種々のデータの転送制御に用いることが可能である。
【００９０】
また、この発明は、携帯電話端末、カメラ付き携帯電話端末、デジタルカメラ、デジタルビデオカメラ、ＰＤＡ、パーソナルコンピュータなど、画像データやその他の種々のデータを転送処理する種々の電子機器に適用可能であることは言うまでもない。
【００９１】
また、上述した実施の形態においては、多ビットデータの多ビットメモリへの転送の場合を例にして説明したが、転送するデータ、および、メモリは、多ビットのものに限るものではない。シングルビット（シリアル）のデータを転送する場合にもこの発明を適用できることは言うまでもない。
【図面の簡単な説明】
【００９２】
【図１】この発明が適用されたメモリ制御システム（メモリ制御装置）を説明するためのブロック図である。
【図２】図１に示したメモリ制御システム１０への３種類のバスライン入力データの例を示す図である。
【図３】図２に示した３種類のバスライン入力データのそれぞれをメモリ制御システム１０で処理して形成した書き込みデータを示す図である。
【図４】ＳＤＲＡＭにおけるバーストモードの書き込み動作の一般的なタイミングを説明するためのタイミングチャートである。
【図５】メモリ制御システム１０を通じて多ビットのデータをメモリ装置４０に記録するようにした場合の動作を説明するためのタイミングチャートである。
【図６】差分情報（書き込みデータ）のデータ構造を説明するための図である。
【図７】メモリへのアクセス禁止区間を説明するための図である。
【図８】従来のデータの高速転送化手法の一例を説明するためのタイミングチャートである。
【符号の説明】
【００９３】
１０…メモリ制御システム、１１…周波数制御回路、１２…制御信号生成部、１３…アドレス生成部、２０…出力データ生成部、２１…比較器、２２…ラッチ部、２３…ＡＬＵ、２４…エンコード部、２５…ラッチ部、２６…比較器、３０…入力データ生成部、３１…比較器、３２…ラッチ部、３３…ＡＬＵ、３４…デコード部、４０…メモリ装置、４１…データ線
【図１】
2005202529.tif 000003
【図２】
2005202529.tif 000004
【図３】
2005202529.tif 000005
【図４】
2005202529.tif 000006
【図５】
2005202529.tif 000007
【図６】
2005202529.tif 000008
【図７】
2005202529.tif 000009
【図８】
2005202529.tif 000010