(57)【要約】【課題】  バスサイジング回路の構成を変更することなしに情報処理装置から該情報処理装置のビット幅より小さいビット幅のメモリの所望のアドレスに選択的にデータを書き込むことを可能にしたメモリ書込み方法および装置を提供する。【解決手段】  ＣＰＵ１０からメモリ２０に対するアクセスに際して、コントローラ３０のバスサイジング回路３１により指示される連続した複数のメモリアドレスの内の所望のアドレスを除く他のアドレスに対応するメモリライトイネーブル信号ＷＥを選択的にマスクするマスク回路６０を設け、マスク回路６０によりマスクしたメモリライトイネーブル信号ＷＥに対応するアドレスを除く所望のアドレスにデータを選択的に書き込む。【選択図】  図１
2005032061.tif 000002
【特許請求の範囲】
【請求項１】
バスサイジング制御により情報処理装置から該情報処理装置のビット幅より小さいビット幅のメモリにデータを書き込むメモリ書込み方法において、
前記情報処理装置による前記メモリに対するアクセスに際して、
前記バスサイジング制御により指示される連続した複数のメモリアドレスの内の所望のアドレスを除く他のアドレスに対応するメモリライトイネーブル信号をマスクし、
該マスクしたメモリライトイネーブル信号に対応するアドレスを除く所望のアドレスにデータを選択的に書き込む
ことを特徴とするメモリ書込み方法。
【請求項２】
バスサイジング回路の制御により情報処理装置から該情報処理装置のビット幅より小さいビット幅のメモリにデータを書き込むメモリ書込み装置において、
前記情報処理装置による前記メモリに対するアクセスに際して前記バスサイジング回路により指示される連続した複数のメモリアドレスの内の所望のアドレスを除く他のアドレスに対応するメモリライトイネーブル信号をマスクするマスク回路
を具備することを特徴とするメモリ書込み装置。
【請求項３】
前記マスク回路は、
前記バスサイジング回路から複数のメモリアドレスに対応して出力されるメモリライトイネーブル信号の所望のアドレスを除く他のアドレスに対応するメモリライトイネーブル信号を選択的にマスクして前記メモリに加える論理回路
を具備することを特徴とする請求項２記載のメモリ書込み装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、バスサイジング制御により情報処理装置から該情報処理装置のビット幅より小さいビット幅のメモリにデータを書き込むメモリ書込み方法および装置に関し、特に、バスサイジング回路の構成を変更することなしに情報処理装置から該情報処理装置のビット幅より小さいビット幅のメモリの所望のアドレスに選択的にデータを書き込むことを可能にしたメモリ書込み方法および装置に関する。
【背景技術】
【０００２】
一般に、ＣＰＵ（中央演算処理装置）等の情報処理装置からメモリにデータを書き込む場合において、ＣＰＵのデータバスが３２ビット幅であり、メモリが１６ビット幅のデータを記憶するものであるような場合は、バスサイジング回路が用いられる。
【０００３】
このバスサイジング回路としては、特許文献１に開示されたものが知られている。
【０００４】
図５は、このようなバスサイジング回路を用いたメモリ書込み装置の従来例を示したものである。
【０００５】
図５においては、ＣＰＵ１０とメモリ２０との間に、バスサイジング回路３１を有するコントローラ３０を設け、ＣＰＵ１０とコントローラ３０との間を３２ビットのバス４０で接続し、コントローラ３０とメモリ２０との間を１６ビットのローカルバス５０で接続する。ここで、コントローラ３０はＡＳＩＣ（Application Specific Integrated Circuit ）を用いて構成することができる。
【０００６】
そして、コントローラ３０のバスサイジング回路３１の制御により、ＣＰＵ１０からのメモリ２０に対する１回のアクセス内において、メモリ２０に対するメモリアドレスを制御することで、メモリ２０に対して２回の１６ビットアクセスを行い、ＣＰＵ１０からの３２ビット幅のデータを１６ビット幅のデータとしてメモリ２０に書き込む。
【０００７】
なお、図５において、ＣＥは、メモリ２０をイネーブルにするチップイネーブル信号であり、ＯＥは、メモリ２０からのデータの読出しを可能にする出力イネーブル信号であり、ＷＥは、メモリ２０に対するデータの書込みを可能にするライトイネーブル信号である。
【０００８】
図６は、図５に示したバスサイジング回路３１によるメモリ２０に対するデータ書込み処理を示すタイミングチャートである。
【０００９】
図６におけるタイミングチャートにおいては、ＣＰＵ１０からのビット３１〜０までの３２ビットのデータをビット３１〜１６のデータおよびビット１５〜０のデータの２つに分割し、１回のＣＰＵアクセスタイムにおいて、その前半でビット３１〜１６のデータをメモリ２０に書込み、その後半でビット１５〜０のデータをメモリ２０に書き込む（図６（ａ）参照）。
【００１０】
また、バスサイジング回路３１は、上記データの書込みに際してのメモリアドレスの最下位ビットをＣＰＵアクセスタイムの前半で「０」、後半で「１」にすることにより、ビット３１〜０までの３２ビットのデータを連続する２つのアドレスに分割して記憶する（図６（ｂ）および（ｃ）参照）。
【００１１】
なお、上記バスサイジング回路３１を用いたＣＰＵ１０からのメモリ２０へのデータ書込みに際して、チップイネーブル信号ＣＥはローレベルでアクティブになっており（図６（ｄ）参照）、また、ライトイネーブル信号ＷＥは、ＣＰＵアクセスタイムの前半および後半でそれぞれローレベルになってメモリ２０に対するデータの書込みをアクティブにする（図６（ｅ）参照）。
【００１２】
すなわち、上記バスサイジング回路３１を用いたＣＰＵ１０からのメモリ２０へのデータ書込みにおいては、例えば、アドレス「２ＡＡ」に対して書込みを行うと、連続する次のアドレス「２ＡＢ」に対しても書込みが発生する。
【００１３】
【特許文献１】特開平１１−３１１２１号公報
【発明の開示】
【発明が解決しようとする課題】
【００１４】
ところで、上記メモリ２０が、例えばフラッシュメモリであると、このフラッシュメモリに所定のコマンドシーケンスを実行する場合等においては、連続しないアドレスに対してコマンドデータを書き込む必要がある場合がある。
【００１５】
しかし、上記従来のバスサイジング回路３１を用いたＣＰＵ１０からのメモリ２０へのデータ書込みに際しては、１回のＣＰＵアクセスタイムにおいて必ず連続するアドレスに対して書込みが発生するので、上記コマンドシーケンス等を実行する場合には、このコマンドシーケンスにおいて、不必要なメモリアドレスへの書込み動作も発生し、この結果、上記コマンドシーケンスの仕様を満たすことができず、メモリへの書込みが正常に行えないという問題があった。
【００１６】
例えば、フラッシュメモリに対して、図７に示す「連続モードセット」コマンドシーケンスを実行する場合は、第１のライトサイクルでアドレス「５５５Ｈ」にデータ「ＡＡＨ」を書込み、第２のライトサイクルで「２ＡＡＨ」にデータ「５５Ｈ」を書込み、第３のライトサイクルで「５５５Ｈ」にデータ「２０Ｈ」を書き込むコマンドシーケンスが実行される。
【００１７】
ここで、各サイクルでのアドレスは連続しないが、従来のバスサイジング回路３１を用いたデータ書込み動作においては、各サイクル毎に連続するアドレスへの２回ずつの書込みが発生し、このためにフラッシュメモリのコマンドシーケンスの仕様を満たすことができなくなる。
【００１８】
このことは、図７に示す「連続プログラム」および「セクタイレース」コマンドシーケンスにおいても同様である。なお、図７に示す「連続プログラム」コマンドシーケンスの「ＰＡ」は書込みアドレスを示し、「ＰＤ」は書込みデータを示し、また、「セクタイレース」コマンドシーケンスの「ＳＡ」は保護するセクタアドレスを示す。
【００１９】
そこで、この発明は、バスサイジング回路の構成を変更することなしに情報処理装置から該情報処理装置のビット幅より小さいビット幅のメモリの所望のアドレスに選択的にデータを書き込むことを可能にしたメモリ書込み方法および装置を提供することを目的とする。
【課題を解決するための手段】
【００２０】
上記目的を達成するため、請求項１の発明は、バスサイジング制御により情報処理装置から該情報処理装置のビット幅より小さいビット幅のメモリにデータを書き込むメモリ書込み方法において、前記情報処理装置による前記メモリに対するアクセスに際して、前記バスサイジング制御により指示される連続した複数のメモリアドレスの内の所望のアドレスを除く他のアドレスに対応するメモリライトイネーブル信号をマスクし、該マスクしたメモリライトイネーブル信号に対応するアドレスを除く所望のアドレスにデータを選択的に書き込むことを特徴とする。
【００２１】
また、請求項２の発明は、バスサイジング回路の制御により情報処理装置から該情報処理装置のビット幅より小さいビット幅のメモリにデータを書き込むメモリ書込み装置において、前記情報処理装置による前記メモリに対するアクセスに際して前記バスサイジング回路により指示される連続した複数のメモリアドレスの内の所望のアドレスを除く他のアドレスに対応するメモリライトイネーブル信号をマスクするマスク回路を具備することを特徴とする。
【００２２】
また、請求項３の発明は、請求項２の発明において、前記マスク回路は、前記バスサイジング回路から複数のメモリアドレスに対応して出力されるメモリライトイネーブル信号の所望のアドレスを除く他のアドレスに対応するメモリライトイネーブル信号を選択的にマスクして前記メモリに加える論理回路を具備することを特徴とする。
【発明の効果】
【００２３】
この発明によれば、情報処理装置によるメモリに対するアクセスに際して、バスサイジング制御により指示される連続した複数のメモリアドレスの内の所望のアドレスを除く他のアドレスに対応するメモリライトイネーブル信号をマスクし、該マスクしたメモリライトイネーブル信号に対応するアドレスを除く所望のアドレスにデータを選択的に書き込むように構成したので、バスサイジング回路等の構成は変更せずに、連続しないアドレスに対してコマンドデータ等を書き込む仕様のメモリに対しても対応することができるという効果を奏する。
【発明を実施するための最良の形態】
【００２４】
以下、この発明に係わるメモリ書込み方法および装置の実施例を添付図面を参照して詳細に説明する。
【００２５】
図１は、この発明に係わるメモリ書込み装置の一実施例の要部を示すブロック図である。
【００２６】
図１に示すメモリ書込み装置は、図５で説明した従来のメモリ書込み装置のコントローラ３０とメモリ２０との間に、コントローラ３０のバスサイジング回路３１により指示される連続した２つのメモリアドレスの内の一方のアドレスに対応するライトイネーブル信号ＷＥを選択的にマスクするマスク回路６０を設けて構成される。また、コントローラ３０は、コントローラ３０のバスサイジング回路３１により指示される連続した２つのメモリアドレスの内の一方のアドレスを選択するための選択信号ＳＳを出力するように構成されている。ここで、選択信号ＳＳは、ローレベル若しくはハイレベルとなる１ビットの信号である。他の構成は、図５に示した構成と同様である。
【００２７】
図１において、マスク回路６０は、コントローラ３０から出力される上記選択信号ＳＳ、メモリアドレスの最下位ビットの信号、ライトイネーブル信号ＷＥを入力し、ＣＰＵアクセスタイムにおいて、選択信号ＳＳがローレベルであると、ライトイネーブル信号ＷＥの後半部分をマスクし、選択信号ＳＳがハイレベルであると、ライトイネーブル信号ＷＥの前半部分をマスクする処理を行い、新たなライトイネーブル信号ＷＥＮを出力する。
【００２８】
このマスク回路６０としては、図１に示すように、４個のオア回路６１−１、６１−２、６１−３、６１−４および２個のインバータ回路６２−１、６２−２および１個のアンド回路６３からなる論理回路により構成することができる。
【００２９】
図２は、図１に示すマスク回路６０の１つの動作を示すタイミングチャートである。
【００３０】
図２においては、選択信号ＳＳ（図２（ｆ）参照）がローレベルであり、ライトイネーブル信号ＷＥがＣＰＵアクセスタイムの後半部分でマスクされる場合を示している。
【００３１】
なお、図２に示す動作においても、図６に示したタイミングチャートと同様に、コントローラ３０のバスサイジング回路３１は、ＣＰＵ１０からのビット３１〜０までの３２ビットのデータをビット３１〜１６のデータおよびビット１５〜０のデータの２つに分割し、１回のＣＰＵアクセスタイムにおいて、その前半でビット３１〜１６のデータをメモリ２０に書込み、その後半でビット１５〜０のデータをメモリ２０に書き込むように動作し（図２（ａ）参照）、また、バスサイジング回路３１は、上記データの書込みに際してのメモリアドレスの最下位ビットをＣＰＵアクセスタイムの前半で「０」、後半で「１」にすることにより、ビット３１〜０までの３２ビットのデータを連続する２つのアドレスに分割して記憶するように動作する（図２（ｂ）および（ｃ）参照）。
【００３２】
なお、上記バスサイジング回路３１を用いたＣＰＵ１０からのメモリ２０へのデータ書込みに際して、チップイネーブル信号ＣＥはローレベルでアクティブになっており（図２（ｄ）参照）、また、ライトイネーブル信号ＷＥは、ＣＰＵアクセスタイムの前半および後半でそれぞれローレベルになってアクティブになる（図２（ｅ）参照）。
【００３３】
さて、マスク回路６０のオア回路６１−１には、コントローラ３０から出力されるメモリアドレスの最下位ビットの信号およびライトイネーブル信号ＷＥが入力され、オア回路６１−２には、コントローラ３０から出力されるメモリアドレスの最下位ビットの信号をインバータ回路６２−１で反転した信号およびライトイネーブル信号ＷＥが入力される。
【００３４】
また、オア回路６１−３には、オア回路６１−１の出力および選択信号ＳＳが入力され、オア回路６１−４には、オア回路６１−２の出力および選択信号ＳＳをインバータ回路６２−２で反転した信号が入力される。
【００３５】
そして、オア回路６１−３の出力およびオア回路６１−４の出力は、アンド回路６３に加えられて、このアンド回路から新たなライトイネーブル信号ＷＥＮが出力される。
【００３６】
したがって、メモリアドレスの最下位ビットの信号（図２（ｃ）参照）およびライトイネーブル信号ＷＥ（図２（ｅ）参照）が入力されるオア回路６１−１の出力は、図２（ｇ）に示すようになり、また、メモリアドレスの最下位ビットの信号（図２（ｃ）参照）をインバータ６２−１で反転した信号およびライトイネーブル信号ＷＥ（図２（ｅ）参照）が入力されるオア回路６１−２の出力は、図２（ｈ）に示すようになる。
【００３７】
また、オア回路６１−１の出力（図２（ｇ）参照）および選択信号ＳＳ（図２（ｆ）参照）が入力されるオア回路６１−３の出力は、図２（ｉ）のようになり、オア回路６１−１の出力（図２（ｇ）参照）および選択信号ＳＳ（図２（ｆ）参照）をインバータ６２−１で反転した信号が入力されるオア回路６１−４の出力は、図２（ｊ）のようになり、オア回路６１−３の出力（図２（ｉ）参照）およびオア回路６１−４の出力（図２（ｊ）参照）が入力されるアンド回路６３からは図２（ｋ）に示すように、ＣＰＵアクセスタイムの後半でライトイネーブル信号ＷＥがマスクされたライトイネーブル信号ＷＥＮが出力される。
【００３８】
このライトイネーブル信号ＷＥＮは、メモリ２０のライトイネーブル端子に加えられるので、メモリ２０には、ＣＰＵアクセスタイムの後半のビット１５〜０のデータの書込みが禁止され、前半のビット３１〜１６のデータが選択的に書込まれる。
【００３９】
図３は、図１に示すマスク回路６０の他の動作を示すタイミングチャートである。
【００４０】
図３においては、選択信号ＳＳ（図３（ｆ）参照）がハイレベルであり、ライトイネーブル信号ＷＥがＣＰＵアクセスタイムの前半部分でマスクされる場合を示している。
【００４１】
なお、図３に示す動作においても、図６に示したタイミングチャートと同様に、コントローラ３０のバスサイジング回路３１は、ＣＰＵ１０からのビット３１〜０までの３２ビットのデータをビット３１〜１６のデータおよびビット１５〜０のデータの２つに分割し、１回のＣＰＵアクセスタイムにおいて、その前半でビット３１〜１６のデータをメモリ２０に書込み、その後半でビット１５〜０のデータをメモリ２０に書き込むように動作し（図３（ａ）参照）、また、バスサイジング回路３１は、上記データの書込みに際してのメモリアドレスの最下位ビットをＣＰＵアクセスタイムの前半で「０」、後半で「１」にすることにより、ビット３１〜０までの３２ビットのデータを連続する２つのアドレスに分割して記憶するように動作する（図３（ｂ）および（ｃ）参照）。
【００４２】
なお、上記バスサイジング回路３１を用いたＣＰＵ１０からのメモリ２０へのデータ書込みに際して、チップイネーブル信号ＣＥはローレベルでアクティブになっており（図３（ｄ）参照）、また、ライトイネーブル信号ＷＥは、ＣＰＵアクセスタイムの前半および後半でそれぞれローレベルになる（図３（ｅ）参照）。
【００４３】
この図３の場合においては、メモリアドレスの最下位ビットの信号（図３（ｃ）参照）およびライトイネーブル信号ＷＥ（図３（ｅ）参照）が入力されるオア回路６１−１の出力は、図３（ｇ）に示すようになり、また、メモリアドレスの最下位ビットの信号（図３（ｃ）参照）をインバータ６２−１で反転した信号およびライトイネーブル信号ＷＥ（図３（ｅ）参照）が入力されるオア回路６１−２の出力は、図３（ｈ）に示すようになる。
【００４４】
また、オア回路６１−１の出力（図３（ｇ）参照）および選択信号ＳＳ（図３（ｆ）参照）が入力されるオア回路６１−３の出力は、図３（ｉ）のようになり、オア回路６１−１の出力（図３（ｇ）参照）および選択信号ＳＳ（図３（ｆ）参照）をインバータ６２−１で反転した信号が入力されるオア回路６１−４の出力は、図３（ｊ）のようになり、オア回路６１−３の出力（図３（ｉ）参照）およびオア回路６１−４の出力（図３（ｊ）参照）が入力されるアンド回路６３からは図３（ｋ）に示すように、ＣＰＵアクセスタイムの前半でライトイネーブル信号ＷＥがマスクされたライトイネーブル信号ＷＥＮが出力される。
【００４５】
このライトイネーブル信号ＷＥＮは、メモリ２０のライトイネーブル端子に加えられるので、メモリ２０には、ＣＰＵアクセスタイムの前半のビット３１〜１６のデータの書込みが禁止され、後半のビット１５〜０のデータが選択的に書込まれる。
【００４６】
このような構成によると、メモリ２０が、フラッシュメモリであり、連続しないアドレスに対してコマンドデータを書き込む必要があるコマンドシーケンスを有していても、コントローラ３０のバスサイジング回路３１を変更せずに、上記マスク回路６０を追加するだけで、このコマンドシーケンスを満たす書込み処理が可能になる。
【００４７】
なお、上記マスク回路６０は、メモリ２０の読出し動作には影響しないので、メモリ２０からのデータ読出し時には、バスサイジング回路３１の制御による従来と同様の動作が可能になる。
【００４８】
すなわち、図４は、図１に示した装置における読出し動作を示すタイミングチャートで、メモリ２０からのデータ読出し時には、ＣＰＵアクセスタイムにおいて、チップイネーブル信号ＣＥはローレベルになってアクティブになり（図４（ｄ）参照）、また、出力イネーブル信号ＯＥもローレベルになってアクティブになる（図４（ｅ）参照）。
【００４９】
また、ライトイネーブル信号ＷＥは、図４（Ｆ）に示すように、ハイレベルになって、メモリ２０へのデータ書込みを禁止する。
【００５０】
そして、このメモリ２０からのデータ読出し時においては、ＣＰＵ１０に対するビット３１〜０までの３２ビットのデータがビット３１〜１６のデータおよびビット１５〜０のデータの２つに分割されて、１回のＣＰＵアクセスタイムにおいて、その前半でビット３１〜１６のデータがメモリ２０から読み出され、その後半でビット１５〜０のデータがメモリ２０から読み出される（図４（ａ）参照）。
【００５１】
また、バスサイジング回路３１は、上記データの読出しに際してのメモリアドレスの最下位ビットをＣＰＵアクセスタイムの前半で「０」、後半で「１」にすることにより、連続する２つのアドレスからビット３１〜０までの３２ビットのデータを分割して読み出す（図４（ｂ）および（ｃ）参照）。
【００５２】
なお、上記実施例においては、３２ビットのＣＰＵ１０のデータを１６ビットのメモリ２０に書き込む場合について示したが、例えば、３２ビットのＣＰＵ１０のデータを８ビットのメモリ２０に書き込む場合にも、上記データの分割が「２」から「４」になるだけで、上記と同様に構成することができる。
【００５３】
また、メモリ２０は、フラッシュメモリに限らず、連続しないアドレスに対してコマンドデータ等を書き込む必要のあるメモリには同様に適用可能である。
【産業上の利用可能性】
【００５４】
この発明は、バスサイジング制御により情報処理装置から該情報処理装置のビット幅より小さいビット幅のメモリにデータを書き込むメモリ書込み方法および装置に適用可能である。バスサイジング回路の構成を変更することなしに情報処理装置から該情報処理装置のビット幅より小さいビット幅のメモリの所望のアドレスに選択的にデータを書き込むことを可能にする。
【図面の簡単な説明】
【００５５】
【図１】この発明に係わるメモリ書込み装置の一実施例の要部を示すブロック図である。
【図２】図１に示すメモリ書込み装置におけるデータ書込み時のマスク回路の１つの動作を示すタイミングチャートである。
【図３】図１に示すメモリ書込み装置におけるデータ書込み時のマスク回路の他の動作を示すタイミングチャートである。
【図４】図１に示すメモリ書込み装置におけるデータ読出し時の動作を示すタイミングチャートである。
【図５】従来のバスサイジング回路を用いたメモリ書込み装置を示したブロック図である。
【図６】図５に示した従来のバスサイジング回路を用いたメモリ書込み装置の動作を示すタイミングチャートである。
【図７】フラッシュメモリにおけるコマンドシーケンスの一例を示す図である。
【符号の説明】
【００５６】
１０    ＣＰＵ（中央演算処理装置）
２０    メモリ
３０    コントローラ
３１    バスサイジング回路
４０    バス
５０    ローカルバス
６０    マスク回路
【図１】
2005032061.tif 000003
【図２】
2005032061.tif 000004
【図３】
2005032061.tif 000005
【図４】
2005032061.tif 000006
【図５】
2005032061.tif 000007
【図６】
2005032061.tif 000008
【図７】
2005032061.tif 000009