(57)【要約】【課題】コマンドシーケンスをハードウェアと分離して保持することで、ハードウェア改訂のコストを低減するメモリブリッジ装置を提供する。【解決手段】ＣＰＵ１は、直結した中央メモリ制御部２に対して命令・データのメモリアクセス要求を行う。中央メモリ制御部２は、要求アドレスを内部アドレスデコーダにより該当するメモリデバイスに振り分け、該当するメモリブリッジ装置３〜５を複数の中から選択し、アクセス要求を行う。メモリブリッジ装置３〜５は、中央メモリ制御部２からアクセス要求を受けたら接続された記憶装置（ＳＤＲＡＭ、ＲＯＭ１、ＲＯＭ２、ＳＤメモリカード）に応じたアクセスを実行し、応答を中央メモリ制御部２に返す。中央メモリ制御部２は、この応答を元にＣＰＵ１に対して応答する。【選択図】        図１
2004334593.tif 000002
【特許請求の範囲】
【請求項１】
メモリ空間へのアクセスを記憶部へのアクセスに変換するメモリブリッジ装置において、
メモリアクセス要求を処理する要求処理手段と、
第１の記憶装置のアクセスに使用する命令を読み取る命令読み取り手段と、
前記命令読み取り手段によって読み取った前記命令を格納する格納手段と、
前記格納手段によって、格納した前記命令を変更することができる変更手段と、
前記第１の記憶装置とのインターフェースであるインターフェース制御手段とを有することを特徴とするメモリブリッジ装置。
【請求項２】
前記第１の記憶装置は、ＳＤメモリカードであることを特徴とする請求項１記載のメモリブリッジ装置。
【請求項３】
前記格納手段は、ソフトウェアでアクセス可能なＲＡＭであることを特徴とする請求項１記載のメモリブリッジ装置。
【請求項４】
前記格納手段は、物理的に着脱可能なＲＯＭであることを特徴とする請求項１記載のメモリブリッジ装置。
【請求項５】
前記格納手段は、ソフトウェアにて書き換え可能なフラッシュＲＯＭであることを特徴とする請求項１記載のメモリブリッジ装置。
【請求項６】
前記インターフェース制御手段は、前記ＳＤメモリカードに発行するコマンドをセットするコマンドレジスタと、前記コマンドの発行結果や前記インターフェース制御手段の状態を保持する状態レジスタと、各種制御を行う制御レジスタを有することを特徴とする請求項１記載のメモリブリッジ装置。
【請求項７】
前記ＲＡＭは、前記ＲＡＭ空間内に前記第１の記憶装置のアクセスに使用する前記命令を配置することができ、前記変更手段によって前記格納手段によって格納した前記命令を変更することできることを特徴とする請求項３記載のメモリブリッジ装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、メモリブリッジ装置に関し、特に周辺機器制御システムにおいてハードウェア改訂のコストを低減するためのメモリブリッジ装置に関する。
【０００２】
【従来の技術】
従来のメモリブリッジ装置は、ＣＰＵもしくは他の装置からのメモリ空間へのアクセスを特定の記憶装置へのアクセスに変換する。記憶装置としてはＳＤメモリカードをはじめとする各種メモリカードデバイスが普及をはじめている。ＳＤメモリカードの記憶内容へのアクセスは、一般的なＲＯＭ／ＲＡＭとは異なり、コマンドの送信により通常５１２バイトのセクタ単位でデータをアクセスする。このためＳＤメモリカードのメモリブリッジ装置はメモリ空間へのアクセス要求をＳＤカードのコマンドシーケンスに変換する。
【０００３】
また先行技術として以下のような従来技術がある。
小型メモリカードの小型であるといったメリットを十分に活用しつつ、各種情報機器と小型メモリカードとを接続することができるコンパクトなメモリカードブリッジがある（特許文献１参照）。
【０００４】
【特許文献１】
特開２００２−７３５２２号公報
【０００５】
【発明が解決しようとする課題】
しかし、上記に示す従来技術において、コマンドシーケンスへの変換は、ハードウェアにて行われているが、コマンドシーケンスに不具合があった場合やカードインタフェースのバージョンが変わった場合にはハードウェアごと改訂する必要があり、一般にハードウェアの改訂は大きなコストがかかる。
【０００６】
本発明は係る問題に鑑みてなされたものであり、コマンドシーケンスをハードウェアと分離して保持することで、ハードウェア改訂のコストを低減するメモリブリッジ装置を提供することを目的とする。
【０００７】
【課題を解決するための手段】
上記目的を達成するために、請求項１記載のメモリブリッジ装置は、メモリ空間へのアクセスを記憶部へのアクセスに変換するメモリブリッジ装置において、メモリアクセス要求を処理する要求処理手段と、第１の記憶装置のアクセスに使用する命令を読み取る命令読み取り手段と、命令読み取り手段によって読み取った命令を格納する格納手段と、格納手段によって、格納した命令を変更することができる変更手段と、第１の記憶装置とのインターフェースであるインターフェース制御手段とを有することを特徴とする。
【０００８】
請求項２記載の発明は、請求項１記載のメモリブリッジ装置であって、第１の記憶装置は、ＳＤメモリカードであることを特徴とする。
【０００９】
請求項３記載の発明は、請求項１記載のメモリブリッジ装置であって、格納手段は、ソフトウェアでアクセス可能なＲＡＭであることを特徴とする。
【００１０】
請求項４記載の発明は、請求項１記載のメモリブリッジ装置であって、格納手段は、物理的に着脱可能なＲＯＭであることを特徴とする。
【００１１】
請求項５記載の発明は、請求項１記載のメモリブリッジ装置であって、格納手段は、ソフトウェアにて書き換え可能なフラッシュＲＯＭであることを特徴とする。
【００１２】
請求項６記載の発明は、請求項１記載のメモリブリッジ装置であって、インターフェース制御手段は、ＳＤメモリカードに発行するコマンドをセットするコマンドレジスタと、コマンドの発行結果やインターフェース制御手段の状態を保持する状態レジスタと、各種制御を行う制御レジスタを有することを特徴とする。
【００１３】
請求項７記載の発明は、請求項３記載のメモリブリッジ装置であって、ＲＡＭは、ＲＡＭ空間内に第１の記憶装置のアクセスに使用する命令を配置することができ、変更手段によって格納手段によって格納した命令を変更することできることを特徴とする。
【００１４】
【発明の実施の形態】
図１は、メモリアクセス制御を実行するための構成を示したブロック図である。
メモリアクセス制御は、ＣＰＵ１、中央メモリ制御部２、メモリブリッジ装置３〜５、ブートセレクタ６、ＳＤＲＡＭ７、ＲＯＭ８〜９、ＳＤメモリカード１０、外部スイッチ１１から構成されている。
【００１５】
ＣＰＵ１は、直結した中央メモリ制御部２に対して命令・データのメモリアクセス要求を行う。中央メモリ制御部２は、要求アドレスを内部アドレスデコーダにより該当するメモリデバイスに振り分け、該当するメモリブリッジ装置３〜５を複数の中から選択し、アクセス要求を行う。メモリブリッジ装置３〜５は、中央メモリ制御部２からアクセス要求を受けたら接続された記憶装置（ＳＤＲＡＭ、ＲＯＭ１、ＲＯＭ２、ＳＤメモリカード）に応じたアクセスを実行し、応答を中央メモリ制御部２に返す。中央メモリ制御部２は、この応答を元にＣＰＵ１に対して応答する。以上によりメモリ空間にマップされた複数の記憶装置へのアクセスを行う。
【００１６】
図２は、コンピュータシステムのメモリマップ例を示した図である。
図２は、ＭＩＰＳプロセッサを使用し、ＳＤメモリカードが空間の一部にマッピングされたメモリマップである。最下位にはＲＡＭ空間を持ち、各種Ｉ／Ｏ空間を挟んで上位側にはＳＤカード空間およびＲＯＭ空間を持つ。ＲＯＭ空間内にＳＤ命令空間を持つ。ＳＤ命令空間には、本発明のメモリブリッジ装置がＳＤメモリカードにアクセスするためのコマンドシーケンスを生成するための命令群が格納されている。
【００１７】
リセットベクタは０ｘ１ＦＣ０００００番地であり、システムの電源投入時、プロセッサはリセットベクタから命令のフェッチを開始し、システムをブートする。本実施形態では、ブートモードを「ＲＯＭブートモード」と「ＳＤブートモード」の２モードを持つ。図１に示したブートセレクタ６により電源投入時にモードが決定する。ブート選択は外部スイッチ（ＤＩＰスイッチ等）で行う。電源投入時に決定されたブートモードにより図２のようにメモリマップが変わり、ＳＤメモリ空間とＲＯＭ１空間がスワップする。「ＲＯＭブートモード」では、ＲＯＭ１に格納されたプログラムからブートし、「ＳＤブートモード」ではＳＤメモリカードに格納されたプログラムからブートする。ＲＯＭ１とＳＤ空間は、図２のようにそれぞれブートしないときは別の空間（０ｘ１Ａ８０００００〜）でアクセスが可能である。
【００１８】
図３は、メモリブリッジ装置５の構成を示したブロック図である。
メモリブリッジ装置５は、メモリアクセス要求処理部２０とデータバッファ２１、命令読み取り部２２、ＳＤコマンドシーケンサ２３、ＳＤカードインタフェース制御部２４から構成されている。
また、命令読み取り部２２は、実行フラグレジスタ２５と命令アドレスレジスタ２６、命令バッファ２７から構成されている。なお、命令バッファ２７は初期化用２８、ライト用２９、リード用３０から構成されている。
【００１９】
ＳＤコマンドシーケンサ２３は、初期化シーケンサ３１、ライトシーケンサ３２、リードシーケンサ３３から構成されている。ＳＤカードインタフェース制御部２４は、状態レジスタ３４、制御レジスタ３５、コマンドレジスタ３６から構成されている。
【００２０】
メモリブリッジ装置５の機能は、接続されているＳＤメモリカード１０の初期化機能と中央メモリ制御部２からの要求をＳＤカード１０のリード・ライトアクセスに変換する機能およびＳＤメモリカード１０のコマンドシーケンス制御に必要な命令を外部記憶装置から読み出す機能という主な３つの機能を有する。
【００２１】
次にメモリブリッジ装置５の処理動作を説明する。
ＳＤカード１０の初期化は、電源投入時にＳＤメモリカード１０が装着されていれば自動的に実行する。初期化シーケンスは、ＳＤコマンドシーケンサ２３の初期化シーケンサ３１が制御を行う。ＳＤメモリカード１０の初期化のコマンド群は命令読み取り部２２の命令バッファのうち、初期化用の部分を読み出してＳＤインタフェース制御部２４にコマンドを発行する。
【００２２】
メモリアクセス要求発生時は、中央メモリ制御部２からの要求受付・応答を行うメモリアクセス要求処理部２０にてライトアクセスについてはデータバッファ２１に格納し、ＳＤコマンドシーケンサ２３のライトシーケンサ３２を駆動する。リードアクセスについてはＳＤコマンドシーケンサ２３のリードシーケンサ３３を駆動し、結果ＳＤメモリカード１０からの読み出しデータが格納されるデータバッファ２１を読み出して中央メモリ制御部２に応答する。
【００２３】
ＳＤコマンドシーケンサ２３は、ＳＤカード１０のリード・ライトアクセスシーケンス実行に際して、命令読み取り部２２の命令バッファ２７に格納されたリード用・ライト用の命令シーケンスを読み出し、これに応じてＳＤインタフェース制御部２４にコマンド出力する。ＳＤインターフェース制御部２４は、ＳＤカード１０に発行するＳＤコマンドをセットするコマンドレジスタを有する。また、ＳＤコマンドの発行結果やＳＤカードインタフェース制御部２４の状態を保持する状態レジスト３４と各種制御を行う制御レジスタ３５を有する。ＳＤコマンドシーケンサ２３は、ＳＤカードインタフェース制御部２４の各レジスタにアクセスして、その応答や状態を状態レジスタ３４から読み出し分岐制御等を行うことでシーケンス制御を行う。
【００２４】
図４は、ＳＤコマンドシーケンサが使用する命令フォーマットを示した図である。
一つの命令フォーマットは、命令番号（先頭からの通し番号で０から開始）１バイト、命令１バイト、可変長のオペランドフィールドよりなる。オペランドの数と長さは命令により決まる。命令の一覧を図５に示す。レジスタライト命令は、レジスタ番号とライトデータおよびライトマスクをオペランドとしてＳＤカードインタフェース制御部２４のレジスタ書き込みを行う。ライトマスクにより書き込まない部分の保護を行う。レジスタ番号とレジスタの対応を図６に示す。レジスタリード命令はレジスタ番号とリード期待値、リードマスク、期待値一致時の分岐先（命令番号）、期待値不一致時の分岐先（命令番号）を指定する。ＳＤカードインタフェース制御部２４のレジスタ読み出しを行い、かつリードマスクをかけた後の値と期待値比較した上で処理分岐する。ウェイト命令はオペランドで指定したクロック数分待機して次の命令番号に進む。応答待ち命令は、ＳＤコマンドを発行した後のカードからの応答を待ち、次の命令番号に進む。停止命令は以上発生時用で処理を直ちに停止する。
【００２５】
図７は、ＳＤカード１０の初期化処理の処理動作を示したフローチャートである。
制御レジスタライト  データ＝１（ステップＳ１００）、ここでは、制御レジスタ３５にデータ＝１を書き込む。次に状態レジスタリード（ステップＳ１０１）、ここでは、状態レジスタを読み込む。メモリ空間アドレスが０ｘ１０か否かの判断を行う（ステップＳ１０２）。メモリ空間アドレスが０ｘ１０以外の場合（ステップＳ１０２／ＮＯ）、処理動作を停止する（ステップＳ１０３）。メモリ空間アドレスが０ｘ１０の場合（ステップＳ１０２／ＹＥＳ）、次に２５６クロック待ち（ステップＳ１０４）、次に制御レジスタ３５にデータ＝０ｘ１４０を書き込み（ステップＳ１０５）、２５６クロック待つ（ステップＳ１０６）。
【００２６】
次に制御レジスタ３５にデータ＝０ｘ３１８  を書き込む（ステップＳ１０７）。次に、コマンドレジスタ３６にデータ＝０ｘ００００を書き込み（ステップＳ１０８）、応答を待つ（ステップＳ１０９）。次に状態レジスタ３４を読み出し（ステップＳ１１０）、メモリ空間アドレスが０ｘ００か否かの判断を行う（ステップＳ１１１）。メモリ空間アドレスが０ｘ００以外の場合（ステップＳ１１１／ＮＯ）は、処理動作を停止する（ステップＳ１１２）。メモリ空間アドレスが０ｘ００である場合（ステップＳ１１１／ＹＥＳ）、コマンドレジスタ３６にデータ＝０ｘ００３７を書き込む（ステップＳ１１３）。
【００２７】
ＳＤコマンドシーケンサ制御用の命令の読み取りは、命令読み取り部２２が最初のＳＤカード１０へのアクセスに先立ち、外部記憶装置からＳＤカード１０のアクセスに使用する命令を読み取り、命令バッファ２７に格納する。読み取りは、実行フラグレジスタ２５が許可状態の時に行われ、命令アドレスレジスタ２６に格納されたアドレスから命令群を読み出す。
【００２８】
初期状態は、実行フラグレジスタ２５が許可状態であり、命令アドレスレジスタ２６の初期値がメモリマップ上のＳＤ命令空間に設定されており、電源投入後直ちにＳＤ命令空間より命令が読み込まれる。命令が読み込まれると実行フラグレジスタ２５は禁止状態になる。
【００２９】
一度命令を読み込んだ後も、ソフトウェアにて命令アドレスレジスタ２６を設定し、実行フラグレジスタ２５を許可状態にすることで再び任意のアドレスから命令群を読み取ることができる。命令アドレスレジスタ２６に設定するアドレスは、図２のアドレスマップ上のＲＡＭ・ＲＯＭ空間内の任意の位置に設定する。
【００３０】
ソフトウェアにてＲＡＭ空間に命令群を配置することも可能であり、システム稼動状態でＳＤメモリカード１０へのアクセスシーケンスを変更することが可能である。
また、着脱可能なＲＯＭ空間に命令群を配置しておくことも可能である。命令読み取り部２２がデフォルトで読み込むアドレス（命令アドレスレジスタ２６のデフォルト値）をこのＲＯＭ空間にしておき、アクセスシーケンスを変更する場合は、新しいアクセスシーケンスに対応した命令を格納したＲＯＭと交換することができる。この場合、アクセスシーケンスの変更にソフトウェアが介在する必要がないので、新しいアクセスシーケンスでＳＤカードからブートすることが可能である（ブートしないとソフトウェアが動作しないのでソフトウェアはブートデバイスの制御はできない）。
【００３１】
さらに、命令を書き換え可能なフラッシュＲＯＭ空間上に配置することも可能である。命令読み取り部２２がデフォルトでフラッシュＲＯＭ空間から命令を読み出すようにし、アクセスシーケンスを変更する場合は、ソフトウェアによりＲＯＭを書き換えた上で再度命令を読み取らせることができる。新しいアクセスシーケンスでＳＤカード１０からブートした場合は、一端ＲＯＭブートモードでブートした上で、命令用のフラッシュＲＯＭ空間を書き換えた上でＳＤブートモードで再起動することで可能になる。
【００３２】
【発明の効果】
以上の説明から明らかなように、本願発明のメモリブリッジ装置は、コマンドシーケンスを命令形式で別の記憶装置に配置し、記憶装置をＲＡＭとすることでソフトウェアにより命令を変更できるので、コマンドシーケンス変更によるハードウェア改訂が不要になる。
また、着脱可能なＲＯＭにすることで、コマンドシーケンスの変更をＲＯＭの交換にとどめることができ、かつコマンドシーケンス変更にソフトウェアが介在しないので新規コマンドシーケンスを使用して記憶装置からブートすることが可能である。
さらに、書き換え可能なフラッシュＲＯＭにすることで、ＲＯＭの交換無しにコマンドシーケンスを変更でき、かつコマンドシーケンスの変更にソフトウェアが介在しないので新規コマンドシーケンスを使用して記憶装置からブートすることが可能である。
【図面の簡単な説明】
【図１】本発明の実施形態におけるメモリアクセス制御を実行するための構成を示したブロック図である。
【図２】本発明の実施形態におけるシステムメモリマップを示した図である。
【図３】本発明の実施形態におけるメモリブリッジ装置の構成を示したブロック図である。
【図４】本発明の実施形態における命令フォーマットを示した図である。
【図５】本発明の実施形態における命令一覧を示した図である。
【図６】本発明の実施形態におけるレジスタ一覧を示した図である。
【図７】本発明の実施形態におけるＳＤカードの初期化処理の処理動作を示したフローチャートである。
【図８】本発明の実施形態における図７に示すフローチャートに対応した命令シーケンスを示した図である。
【符号の説明】
１  ＣＰＵ
２  中央メモリ制御部
３  メモリブリッジ装置１
４  メモリブリッジ装置２
５  メモリブリッジ装置３
６  ブートセレクタ
７  ＳＤＲＡＭ
８  ＲＯＭ１
９  ＲＯＭ２
１０  ＳＤメモリカード
１１  外部スイッチ
【図１】
2004334593.tif 000003
【図２】
2004334593.tif 000004
【図３】
2004334593.tif 000005
【図４】
2004334593.tif 000006
【図５】
2004334593.tif 000007
【図６】
2004334593.tif 000008
【図７】
2004334593.tif 000009
【図８】
2004334593.tif 000010