(57)【要約】【課題】アクセスに要されるアクセス制御信号の仕様が個々に異なるメモリに対するアクセスを柔軟に行い得る構成を提供することを目的とする。【解決手段】外部装置としてのメモリ２０内に当該メモリ２０に応じたアクセス制御信号の仕様の情報２１をあらかじめ格納しておき、同メモリ２０にアクセスの際には同格納情報２１を読み取ることにより当該メモリ２０に応じたアクセス制御信号を生成する構成とした。【選択図】図１
2008009564.tif 000002
【特許請求の範囲】
【請求項１】
アクセスに要されるアクセス制御信号の仕様が個々に異なるメモリに対するアクセスを行うメモリアクセス装置であって、
アクセスしようとするメモリに応じたアクセス制御信号の仕様の情報を当該メモリから入手するアクセス制御信号仕様情報取得手段を有することを特徴とするメモリアクセス装置。
【請求項２】
上位からのコマンドを解析して当該コマンドが要求しているアクセスの種別を識別するアクセス種別識別手段と、
前記アクセス制御信号仕様情報取得手段により取得されたアクセス制御信号の仕様の情報にしたがって当該メモリに対するアクセス制御信号を生成するアクセス制御信号生成手段とよりなり、
前記アクセス制御信号仕様取得手段は、前記メモリから、あらかじめ前記アクセスの種別毎に格納されてなる、当該メモリのアクセスに要されるアクセス制御信号の仕様の情報のうち、前記アクセス種別識別手段により識別されたアクセスの種別に応じた当該メモリのアクセスに要されるアクセス制御信号の仕様の情報を読み出し、前記アクセス制御信号生成手段に提供する構成とされてなる請求項１に記載のメモリアクセス装置。
【請求項３】
アクセスに要されるアクセス制御信号の仕様が個々に異なるメモリに対するアクセスを行うためのメモリアクセス方法であって、
アクセスしようとするメモリに応じたアクセス制御信号の仕様の情報を当該メモリから入手するアクセス制御信号仕様情報取得段階を有することを特徴とするメモリアクセス方法。
【請求項４】
アクセスに要されるアクセス制御信号の仕様が個々に異なるメモリに対するアクセスを可能にするため、当該メモリの所定の領域に、アクセス制御信号の仕様の情報を埋め込む段階を含むメモリ製造方法。
【請求項５】
アクセスに要されるアクセス制御信号の仕様が個々に異なるメモリに対するアクセスを行うためのメモリアクセス方法の各段階をコンピュータに実行させるためのプログラムであって、
アクセスしようとするメモリに応じたアクセス制御信号の仕様の情報を当該メモリから入手するアクセス制御信号仕様情報取得段階をコンピュータに実行させるための命令よりなるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はメモリアクセス装置、メモリアクセス方法、メモリ製造方法およびプログラムに関する。
【背景技術】
【０００２】
各種情報処理装置においてメモリ等の外部装置との通信を行う際、相手側の装置に応じた仕様の信号を用いる必要がある。
【０００３】
外部装置とのインタフェースに関する技術として、例えば特許文献１に記載の技術がある。
【０００４】
この技術では外部装置と情報記憶媒体とその情報記憶媒体にアクセスするとともに前記外部装置と接続されるドライバとを備え、そのドライバを介して外部装置と情報記憶媒体の間で情報の伝送を行う情報伝送装置において、前記ドライバの情報記憶媒体と接続される情報記憶媒体側インタフェースは使用する情報記憶媒体の仕様に対応した形式をとり、外部装置と接続される外部装置側インタフェースは標準仕様に対応した形式をとり、前記情報記憶媒体側インタフェースと外部装置側インタフェースの間に信号の伝送態様を変換する態様変換手段が設けられている。
【０００５】
この場合上記態様変換手段はあらかじめ決められた変換内容にて上記信号の伝送態様を変換するものと考えられる。
【０００６】
また特許文献２では、ＩＣカード無線モデム１の接続時情報端末装置がインタフェース部のＣＩＳ回路内の各通信インタフェース回路の属性情報を読取り自己のインタフェースに合致する通信インタフェース回路を示すインデックス番号をＰＣＭＣＩＡインタフェース回路に送って書込み、制御部が選択信号をスイッチ回路に出力し、スイッチ回路を介して、情報端末装置のインタフェースに合致する通信インタフェース回路と無線モデム部とを接続する技術が記載されている。
【０００７】
ここではあらかじめ準備した複数の通信インタフェース回路のうちのいずれかを選択して無線モデム部と接続する構成とされている。
【０００８】
また特許文献３では、タイミング生成手段がコンピュータからのディジタルデータのアドレスが所定値となるとラッチタイミング信号を生成し、ラッチ回路がこのラッチタイミング信号にしたがってディジタルデータを保持してＤＡＣ選択回路に出力し、このディジタルデータには制御部の動作条件が含まれており、ＤＡＣ選択回路がディジタルデータとコンピュータから順次入力される動作条件から制御部の動作条件を選択して制御部に出力し、制御部６は所定の動作条件に設定されて動作する構成が記載されている。
【０００９】
この場合コンピュータと周辺装置とを接続する際、コンピュータからのアドレスを比較して周辺装置を自動認識する際の制御部の動作条件はコンピュータによる制御により決定される。
【特許文献１】特開平７−１０４９４３号公報
【特許文献２】特開平８−５６２４６号公報
【特許文献３】実開平６−５１９２９号公報
【発明の開示】
【発明が解決しようとする課題】
【００１０】
これらの従来技術ではあらかじめ用意された情報を基に外部装置との通信上必要なインタフェース条件を得ている。
【００１１】
他方、通信を行おうとする外部装置との通信に必要なインタフェース条件に関する情報があらかじめ用意されていないような場合、当該外部装置の仕様を詳細に調査した上で当該インタフェース条件を手作業で設計する必要があった。
【００１２】
本発明は上記問題点に鑑み、簡易な構成で外部装置との通信に必要なインタフェース条件を確実かつ容易に取得・設定可能な構成を提供することを目的とする。
【課題を解決するための手段】
【００１３】
上記目的の達成のため本発明では。外部装置としてのメモリ内に当該メモリに応じたアクセス制御信号の仕様の情報をあらかじめ格納しておき、同メモリにアクセスの際には同格納情報を読み取ることにより当該メモリに応じたアクセス制御信号を生成する構成とした。
【発明の効果】
【００１４】
このように構成することにより、外部装置としてのメモリにアクセする際、同メモリに応じた仕様のアクセス制御信号を容易且つ確実に生成可能となる。
【発明を実施するための最良の形態】
【００１５】
以下図とともに本発明の実施例について詳細に説明する。
【実施例１】
【００１６】
本発明の実施例では、外部装置としてのメモリに対するアクセスに必要な条件を設定する際、信号線1本ずつの定義情報を対象デバイスたるメモリ自体から読み出し、読出情報にしたがって設定を行う。したがって新たな設計作業は不要となる。この方法によれば、現存するデバイスのみならず、将来開発されるデバイスにも柔軟に対応可能である。
【００１７】
このような構成は、特に現在使用している部品としてのデバイスがその後生産中止となり、それに代えて新規に開発されたデバイスを置き換える際等に有効である。すなわち本発明の実施例では現存する限られたデバイス対応の情報から該当する情報を選択するという方法とは異なりデバイス自体から必要な情報を得る方法であるため、その詳細な仕様が未知の新規部品への変更の場合であっても確実に対応できる。
【００１８】
本発明の実施例によれば、通信装置や情報処理装置等の集積回路（ＬＳｉ，ＦＰＧＡ、プロセッサ等)において、その周辺に適用される外部メモリデバイスへのアクセスタイミングに係る情報を自動的に収集して必要なアクセス制御信号を自動生成することにより、デバイス間のアクセスインタフェースに係る問題を容易に且つ確実に解決し得る。
【００１９】
このデバイス間のアクセスインタフェースの内容として、例えばデバイスに対するアクセスタイミングがある。
【００２０】
従来メモリにアクセスするためには各メモリに対するアクセスタイミングの設計が必要であった。メモリを変更する度に設計が必要となるため開発コストが増大する傾向にあった。
【００２１】
また設計者が手作業で設計していたため設計ミス等のヒューマンエラーに対する考慮が必要であった。
【００２２】
さらに、装置の搭載部品の生産中止等の事態が発生した際、新たに他のメーカー品への置換え作業が必要となり、アクセスタイミングの再設計が必要となった。
【００２３】
本発明の実施例によれば上記のごとく、デバイス自体にアクセスタイミングに係る情報を格納しておくため、このような問題を容易且つ確実に解決可能である。
【００２４】
図１は本発明の一実施例によるメモリアクセス装置１０を含む情報処理装置のブロック図を示す。
【００２５】
同情報処理装置は、同装置全体を制御するＣＰＵ５０，外部装置としてのメモリ２０、メモリ２０に対するＣＰＵ５０によるアクセスを実現するためのメモリアクセス装置１０を含む。
【００２６】
このメモリアクセス装置１０はＦＰＧＡ，ＬＳＩ等の集積回路で構成可能である。
【００２７】
ここで、同メモリアクセス装置１０をマスター、アクセス対象の外部装置としてのメモリ２０をスレーブとする。
【００２８】
スレーブ側には複数個のメモリ２０の接続、あるいは、異なる仕様のデバイスの接続が可能である。
【００２９】
同メモリアクセス装置１０は図示のごとく、ＣＭＤ識別部１１，インタフェース生成部１２，デバイス情報読出部１３および外部インタフェースを有する。
【００３０】
デバイス情報読出部１３は同メモリアクセス装置１０を含む図１に示す情報処理装置の立ち上げ時（リセット解除時）に自動的にスレーブ側のデバイス、すなわちメモリ２０に汎用インタフェースでアクセスし、メモリ２０のアクセスタイミング情報２１を読み出す機能を有する。
【００３１】
インタフェース生成部１２はデバイス情報読出部１３にて読出した情報を基に、メモリ２０に対する入出力タイミングに係るアクセス制御信号を自動生成する機能を有する。
【００３２】
ＣＭＤ識別部１１はインタフェース生成部１２とＣＰＵ５０からのアクセス要求信号を受信し、ＣＰＵ５０によるアクセス要求がリード（すなわち読出）要求であるかライト（すなわち書込）要求であるかを識別する機能を有する。
【００３３】
外部インタフェース１４は図１に示される情報処理装置の外部に対するアクセスを行うためのインタフェース機能を有する。
【００３４】
図２は上記スレーブ側デバイスとしてのメモリ２０の工場出荷時に当該メモリ内に上記アクセスタイミング情報２１を格納する際の作業の流れを示すフローチャートである。
【００３５】
メモリ２０の製造が完成すると（ステップＳ１）出荷テストが行われ（ステップＳ２）、その後アクセスタイミング情報２１が格納される（ステップＳ３）。
【００３６】
次にこのように製品としてのメモリ２０に格納されたアクセスタイミング情報２１が正しく書き込まれたか否かを検証する（ステップＳ４）。これが終了すると同メモリ２０が出荷される。
【００３７】
図３は図１の構成の情報処理装置における、メモリアクセス動作に係る動作の流れを示すフローチャートである。
【００３８】
情報処理装置立ち上げ時、あるいはリセット操作時、メモリアクセス装置１０がデバイス情報読出部１３にてスレーブ側デバイスとしてのメモリ２０へ汎用インタフェースにてアクセスし、当該メモリ２０に格納されているアクセスタイミング情報２１を読み出す（ステップＳ１１）。
【００３９】
デバイス情報読出部１３でこのようにして読み出されたアクセスタイミング情報２１は他のデバイスに関するアクセスタイミング情報とともにテーブルデータとして格納される（ステップＳ１２）。
【００４０】
その後メモリアクセス装置１０はＣＰＵ５０からのアクセス指示待ちとなる（ステップＳ１３）。
【００４１】
ＣＰＵ５０からのアクセス要求があると、ＣＭＤ識別部１１にて同アクセス要求がどのような種別のアクセス要求かを識別する（ステップＳ１４）。
【００４２】
次にインタフェース生成部１２の制御部１２ｄ（図１８参照）が、ステップＳ１２にてデバイス情報読出部１３に一旦格納されたアクセスタイミング情報を読み出す（ステップＳ１５）。さらに同制御部１２ｄはこの読み出したアクセスタイミング情報（後述するテーブルデータ）に基づき、スレーブ側デバイスとしてのメモリ２０に対するアクセス制御信号を生成する（ステップＳ１６）。
【００４３】
同アクセス制御信号によるメモリ２０に対する所定のリード／ライト処理が終了するとメモリアクセス装置１０は所定の完了フラグをＣＰＵ５０に返し、ステップＳ１３に戻って次のアクセス要求を待つ。
【００４４】
次に図１に示される、メモリアクセス装置１０に含まれる各機能部の機能の詳細について説明する。
【００４５】
先ずＣＭＤ識別部１１の機能について説明する。
【００４６】
ＣＭＤ識別部１１はＣＰＵ５０とのインタフェース機能を備え、ＣＰＵ５０からアクセス要求を受信し、要求の種別（シングルライト、バーストライト、シングルリードあるいはバーストリード）を認識する(図３中、ステップＳ１４)。
【００４７】
ＣＰＵ５０と通信する信号としては図１に示すごとく、ＣＬＫ（クロック）、ＡＤＲ（アドレス）、ＤＡＴＡ（データ）、ＸＭＣＳ（チップ選択信号）、ＸＲ／Ｗ（リードライト信号）、ＸＲＥ（リードイネーブル信号）、ＸＷＥ（ライトイネーブル信号）、ＢＵＲＳＴ（連続アクセスフラグ）、ＡＣＫ（アクセス完了フラグ）の各信号がある。
【００４８】
ＣＰＵ５０の仕様によって多少異なるが、基本的にはリード，ライトに必要な信号によって要求種別を認識する。その認識方法の例を以下に示す。なおここで「バースト」とは、連続データの読み出し、書き込みを意味する。
【００４９】
ＣＰＵ２０からのＸＭＣＳ（チップセレクト）信号の変化を内部で検出し（(図４（ｂ）におけるタイミングｔ１)、これを基準にしてＣＬＫに同期して、時系列(クロックタイミングｔ１〜)に各信号をサンプリングして取り込む。ライト／リードの判別はＲ／ＸＷ信号(図４（ｃ）)で行い、シングル／バーストアクセスの判別はＢＵＲＳＴ信号(図４（ｆ）)で行う。
【００５０】
すなわち図４，図５中、タイミングｔ２の状態でＲ／ＸＷ信号が'0'であればライト要求と認識し、'1'であればリード要求と認識する。
【００５１】
又ＢＵＲＳＴ信号が'0'であればシングルアクセス要求と認識し'1'であればバーストアクセス要求と認識する。
【００５２】
このようにタイミングｔ２の状態でアクセス要求信号の状態を認識後、後段のインタフェース生成部１２に対して対応するコマンド（ＣＭＤ）を発行する(図４（ｉ）)。同コマンドを受けてインタフェース生成部１２では該当するテーブルデータとしてのアクセスタイミング情報を読み出すことにより、アクセス要求に応じ且つ当該メモリ２０の仕様に応じたアクセス制御信号を生成する(図３中、ステップＳ１５，Ｓ１６)
なお図４、図５，図６，図７，図８，図９，図１０および図１１は各々ＣＰＵ５０から送信されるアクセス要求信号の要求種別毎のタイムチャートを示す。
【００５３】
ここでＣＭＤ識別部１１では図５，図７，図９，図１１に示されるごとくの各信号のタイムチャートを示すテーブルデータを内部に保有しておくことにより、それぞれ対応する図４，図６，図８，図１０のタイムチャートに示されるアクセス要求信号をＣＰＵ５０から受信した際、同テーブルデータと照合することによってそれがどの要求種別に該当するかを判別可能となる。
【００５４】
その場合例えば図５，図７，図９，図１１のテーブルデータ中、クロックタイミングｔ２のＲ／ＸＷ信号の値は、要求種別がライトの場合（図５，図７）'０'でありリードの場合（図９，図１１）'１'である。
【００５５】
同様に図５，図７，図９，図１１のテーブルデータ中、クロックタイミングｔ２のＢＵＲＳＴ信号の値は、要求種別がシングルの場合（図５，図９）'０'でありバーストの場合（図７，図１１）'１'である。
【００５６】
したがってクロックタイミングｔ２においてＣＰＵ５０から受信したＲ／ＸＷ信号およびＢＵＲＳＴ信号のレベルを該当するテーブルデータの値と照合することにより、当該アクセス要求信号の要求種別を判別可能となる。
【００５７】
次にデバイス情報読出部１３の機能を説明する。
【００５８】
図１に示す構成を有する情報処理装置の電源が投入された際、まず初めにスレーブ側デバイスであるメモリ２０に格納されているアクセスタイミング情報２１を取得する（図３中、ステップＳ１１）。
【００５９】
アクセスタイミング情報２１を取得する際のインタフェースは汎用インタフェースとする。すなわちメモリ２０の製造業者は、出荷するメモリ２０に格納するアクセスタイミング情報２１を読み出す際のインタフェースにつき、これを汎用インタフェースとすべく、あらかじめ取り決めておく。
【００６０】
ここでアクセスタイミング情報２１とは、当該メモリ２０に対しデータの読み書きを行う際に要されるアクセス制御信号の仕様を定めた定義情報である。
【００６１】
例えば、スレーブ側デバイスたるメモリ２０に対するアクセスの際、図１２又は図１４に示されるごとくのアクセスタイミング、すなわちアクセス制御信号の仕様が必要な場合、該当するアクセスタイミング情報２１は、例えばそれぞれ図１３，図１５に示すようなテーブルデータとなる。
【００６２】
ここで図１３，図１５に示すテーブルデータは、アクセス制御信号を構成する各信号ＸＣＳ，ＸＷＥ，ＸＯＥが、各クロックタイミングｔ１，ｔ２，ｔ３，...、ｔ８のおいてどのようなレベル、すなわちＨ（ハイ）又はＬ（ロー）をとり、すなわち'１'又は'０'の値を有するかを示している。
【００６３】
例えば図１３中、クロックタイミングｔ１では上記各信号ＸＣＳ，ＸＷＥ，ＸＯＥは０，１，１の各値を有する内容となっており、これは図１２中、該当する各信号ＸＣＳ，ＸＷＥ，ＸＯＥがＬ，Ｈ，Ｈの各レベルを有することに対応している。
【００６４】
メモリ２０に格納されるアクセスタイミング情報２１としてこれ以外に、スレーブ側デバイスたるメモリ２０に特有の情報を含む。たとえばバーストアクセス（連続アクセス）情報（図７，図１１に示すテーブルデータ）、メモリ２０がＳＤＲＡＭの場合リフレッシュ時間等が含まれる。
スレーブ側デバイスたるメモリ２０に格納するアクセスタイミング情報２１の内容の例を以下に示す。なおこのアクセスタイミング情報２１は図１７に示すごとくメモリ２０中の決められた領域（テーブル内）に格納され、デバイス情報読出部１３はこのテーブルに該当する領域の先頭アドレスから順次アクセスタイミング情報２１を読み出す。その際のインタフェースは上記のごとく汎用のインタフェースとされ、シリアルインタフェース、パラレルインタフェースのいずれでもよい。
１）アクセス要求種別（シングルリード、バーストリード、シングルライトおよびバーストライト）毎のアクセスタイミング情報
２）メモリの種別情報（ＳＲＡＭ，ＳＤＲＡＭ，フラッシュ，ＥＥＰＲＯＭ，その他）
３）メモリ特有の情報（ＳＤＲＡＭのリフレッシュ情報等）
２）のメモリ種別情報を示す識別情報は、例えば図６に示すごとく定義づけして識別するようにすればよい。
【００６５】
メモリ２０のアクセスタイミング情報２１を読み出した結果当該メモリ２０がＳＤＲＡＭであった場合、リフレッシュ作業を行う必要があるため、インタフェース生成部１２では所定のＳＤＲＡＭコントローラ１２ｆ（図１８参照）を起動することになる。
【００６６】
次に図１に示す外部インタフェース１４の機能につき説明する。
【００６７】
同外部インタフェース１４はネットワークあるいは、ＵＳＢメモリ等を利用し、外部からスレーブ側デバイスたるメモリ２０のアクセスタイミング情報２１を取得することを可能にするためのインタフェースを提供する。
【００６８】
これは本実施例では上述のごとくスレーブ側デバイスたるメモリ２０自体にアクセスタイミング情報２１を格納する場合に限らず、メモリ２０には当該デバイスを特定し得るデバイス識別情報のみ格納しておく方式に対しても適応可能とするためである。この場合メモリ２０格納されたデバイス識別情報を基に外部インタフェース１４の機能によりネットワークあるいはＵＳＢメモリを媒介として該当するアクセスタイミング情報を取得する。
【００６９】
次にインタフェース生成部１２の機能につき説明する。
【００７０】
インタフェース生成部１２の詳細な構成を図１８に示す。
【００７１】
インタフェース生成部１２ではデバイス情報読出部１３から取得したアクセスタイミング情報（例として、図１３，図１５のテーブルデータ）を格納するテーブル１２ａ、１２ｂ、１２ｃを有する。またＣＭＤ識別部１１から送られるアクセス要求種別毎のコマンドを認識して対応するテーブルデータを読み出すべく所定の読出し命令を発行する制御部１２ｄと、読み出したテーブルデータからスレーブ側デバイスたるメモリ２０にアクセスするためのアクセス制御信号を生成する制御信号出力部１２ｅとを有する。
【００７２】
テーブルデータ１２ａ、１２ｂ、１２ｃとして格納するアクセスタイミング情報は上記のごとく、図１８に示すごとくアクセス要求信号の要求種別リード（シングル）、ライト（シングル）に対応したアクセスタイミング情報、そしてデバイス（メモリ２０）によってはさらにバースト（連続アクセス）のリード、ライトに対応したアクセスタイミング情報である。
【００７３】
さらにそれ以外にデバイス（メモリ２０）の特有の情報を格納する領域を設けておく。このデバイスの特有の情報とは、例えば上記のごとく、メモリ２０がＳＤＲＡＭの場合リフレッシュ時間の情報等である。この情報を基にＳＤＲＡＭコントローラ１２ｆを定期的に起動してメモリ２０に対しリフレッシュ動作を行う。
【００７４】
すなわちＳＤＲＡＭは周期的に電荷をチャージする必要があるため、この場合タイマーを起動し周期的にメモリ２０に対しリフレッシュ動作を行う必要がある。よってＳＤＲＡＭコントローラ１２ｆの機能により所定のタイマーを起動し、定期的なリフレッシュを行う。
【００７５】
インタフェース生成部１２に格納されたテーブルデータ１２ａ，１２ｂ、１２ｃを格納する所定の記憶装置上の領域はあらかじめ任意に決めておくものとする。
【００７６】
図１８中のアクセス終了フラグ(ＡＣＫ)は後述のごとく、ＣＰＵ５０のアクセス幅がスレーブ側デバイスたるメモリ２０のアクセス幅より短い場合、データのリード、ライトがスレーブ側で完了する時間をＣＰＵ側へ通知する信号である。ＣＰＵ５０はこのＡＣＫ信号を認識した時点でアクセス動作を終了する。
【００７７】
マスタースレーブ間、すなわち当該メモリアクセス装置１０とメモリ２０との間で通信する信号としては主に以下の信号が一般的であるが、信号の種類、数、アクセス方法はデバイス毎に異なる。
１）基本クロック信号（略称：ＣＬＫ）
２）チップの選択信号（略名：ＸＣＳ） 
３）読み出しイネーブル信号（略名：ＸＯＥ）
４）書き込みイネーブル信号（略名：ＸＷＥ）
５）データバス信号（略名：ＤＴ）
６）アドレスバス信号（略名：ＡＤＲ）
７）バースト信号（略名:ＢＵＲＳＴ）
例えば、ＣＰＵ５０からシングルライト要求を受信時、ＣＭＤ識別部１１がこれを認識し、ライト命令をインタフェース生成部１２の制御部１２ｄへ発行する。制御部１２ｄではシングルライトアクセステーブル１２ａの情報を読み出す命令を制御信号出力部１２ｅへ送信する。制御信号出力部１２ｅでは該当するテーブル１２ａからデータ、すなわち当該メモリ２０の仕様に応じたシングルライト用のアクセス制御信号を生成するためのアクセスタイミング情報を読み出す。読み出した情報からスレーブ側デバイスたるメモリ２０に適合する各アクセス制御信号を生成して出力する。
【００７８】
例として、テーブル１２ａから読み出した情報が図１９に示すものであった場合、同テーブルデータに従って、クロックタイミングｔ１〜ｔ８までの時間の経過（ＣＬＫに同期）に従って各アクセス制御信号のレベルを生成する。その結果図２０（ｂ）、（ｃ）、（ｄ）に示されるごとくのアクセス制御信号ＸＣＳ，ＸＯＥ，ＸＷＥが得られる。
【００７９】
なおこの場合実際にメモリ２０にアクセスする際のアドレスやデータバスに係る情報はＣＰＵ５０から入力された値をそのまま使用し、あるいは必要に応じてそのクロックタイミング調整した上で、インタフェース生成部１２が上記のごとく生成されたアクセス制御信号ＸＣＳ，ＸＷＥ，ＸＯＥとともに、スレーブ側メモリ２０へ出力する。
【００８０】
次に、スレーブ側デバイスたるメモリ２０がフラッシュメモリであった場合を例にとり、本発明の実施例による方式の手順をさらに具体的に説明する。
【００８１】
上記のごとく、メモリ２０の製造業者がアクセスタイミング情報２１をメモリ２０内に埋め込み出荷する（図２参照）。その際にメモリ２０に埋め込むテーブルデータは例えば図２１に示す内容とする。ここで各情報を格納する領域の先頭番地をメモリ製造業者間で共通なものとして、あらかじめ取り決めておく。例えばシングルリード用のアクセスタイミング情報を0番地から格納し、バーストリード用のアクセスタイミング情報を５０番地から格納し、...等の要領で、メモリ製造時にアクセスタイミング情報のテーブルデータをデバイスに書き込むようにする。
【００８２】
なおこのように出荷時にメモリ２０にアクセスタイミング情報２１を格納するための特別の領域として、通常のユーザ領域とは別な領域をメモリ２０に設けておく。この特別な領域は不揮発性とされ、当該メモリ２０に対する電源断によっても保持され、また外部から書き換えできないようにプロテクトを設定しておく。ただし一定条件でその内容の修正が可能なように、製造業者による暗号コマンドの入力等により書き換え可能な構成とすることも可能である。
【００８３】
以下、このようにアクセスタイミング情報２１が書き込まれたメモリ２０（フラッシュメモリ）をメモリアクセス装置１０の接続し、ＣＰＵ５０からのアクセス要求信号にしたがって当該メモリ２０に対するデータの読み書きを行う場合の手順について説明する。
【００８４】
ここでは一例としてメモリ２０に対しシングルリードアクセスを行う場合について述べる。
【００８５】
ユーザはまずメモリアクセス装置１０にメモリ２０を接続する。
【００８６】
つぎにメモリアクセス装置１０を含む図１の情報処理装置の電源を投入する。その結果デバイス情報読出部１３がスレーブ側デバイスたるメモリ２０よりアクセスタイミング情報２１を読み出して取得する。
【００８７】
ここで読み出され取得されたアクセスタイミング情報２１はインタフェース生成部１２の各テーブル１２ａ、１２ｂ、１２ｃ（図１８参照）へ格納される。シングルリードアクセスの場合は図２２に示すアクセスタイミング情報が使用される。
【００８８】
インタフェース生成部１２はクロック信号ＣＬＫに同期して図２２中クロックタイミングｔ１乃至ｔ５毎の各アクセス制御信号ＸＣＳ，ＸＷＥ，ＸＯＥの値に応じて該当するアクセス制御信号の出力レベルを順次生成する。
【００８９】
例えばクロックタイミングｔ１の場合、同図中、ＸＣＳ，ＸＷＥ，ＸＯＥの各値は０，１，１である。したがってそれぞれのアクセス制御信号のレベルはこれに応じてＬ，Ｈ，Ｈとして生成され、メモリ２０に対し出力される。
【００９０】
実際にＣＰＵ５０からメモリアクセス装置１０に対してシングルリードアクセスを要求するアクセス要求信号（例えば上述の図８に示される信号）が入力されると、これがＣＭＤ識別部１１で受信され、そこで上述のごとく、各アクセス種別毎のテーブルデータ（図５，図７，図９，図１１）と照合することにより当該アクセス要求がシングルリードアクセスに対応するものであることを判定する。その結果該当するコマンドがＣＭＤ識別部１からインタフェース生成部１２に送信される。
【００９１】
すなわちクロックタイミングｔ１にてＣＭＤ識別部１１はＣＰＵ５０から、図２３の入力および図２４（ｂ）に示されるごとくのＸＭＣＳ＝'０'（Ｌ）を受信し、アクセス要求を受信したことを認識する。
【００９２】
またクロックタイミングｔ２にてＣＭＤ識別部１１は、Ｒ／ＸＷ＝'1'，ＢＵＲＳＴ＝'0'（図２４（ｃ）、（ｆ））をＣＰＵ５０から受信し、上述のごとく、同アクセス要求が「シングルリード」を要求するものであると判定する。その結果ＣＭＤ識別部１１はインタフェース生成部13に対し、シングルリードの読み出し命令を発行する。
【００９３】
これを受けたインタフェース生成部１３では、該当するテーブルデータ１２ｂからシングルリードアクセスのアクセスタイミング情報を読み出してアクセス制御信号を生成し、メモリ２０に対してクロックタイミングｔ２にてＸＣＳ＝'0'，ＸＷＲ＝'1'，ＸＲＤ＝'０'のアクセス制御信号を出力する（図２２におけるクロックタイミングｔ２，また図２３中、出力のクロックタイミングｔ２のそれぞれの欄、および図２４のクロックタイミングｔ２における（ｊ）、（ｈ））。
【００９４】
同様に図２３の入力および図２４（ｅ）に示すごとくクロックタイミングｔ３にてＣＰＵ５０からＸＲＥ＝'０'を受け、ＣＰＵがリードデータの受信待ち状態であることを認識し、同図中、クロックタイミングｔ３（図２２、図２３の出力、図２４（ｊ）、（ｋ）、（ｌ）、（ｍ）中、クロックタイミングｔ３）の値にしたがったアクセス制御信号を生成しメモリ２０に出力する。
【００９５】
そしてクロックタイミングｔ４では、ＣＭＤ識別部１１がインタフェース生成部１２に対しリードコマンド発行中である（図８のクロックタイミングｔ４参照）。
【００９６】
次にクロックタイミングｔ５にて、インタフェース生成部１２ではＸＣＳ＝'1'およびＡＣＫ＝'1'をメモリ２０に対し出力する（図２２，図２３出力および図２４中、（ｊ））。これはメモリ２０に対する一連のアクセス処理の完了を示す。
【００９７】
次にインタフェース生成部１２はアクセス処理の完了を示す信号ＡＣＫをＣＭＤ識別部１１へ返す。ＣＭＤ識別部１１はそのままＣＰＵ５０へ信号ＡＣＫを返す（図２３の出力および図２４（ｉ））。
【００９８】
ＣＰＵ５０はこのＡＣＫ信号を認識すると、リードすべきデータが有効であると検知してリードデータを取り込んだ後、各制御信号をネゲートする。
【００９９】
なお上記ＡＣＫ信号は、ＣＰＵ５０がメモリデバイスアクセスを実現するため、本来クロックタイミングｔ１〜ｔ３で完了するが、スレーブ側デバイスがクロックタイミングｔ２〜ｔ４を必要とした時にＣＰＵ５０のアクセスをクロックタイミングｔ４まで延伸してタイミング調整するのに使用される。
【０１００】
図２５，図２６は、メモリ２０がＳＤＲＡＭである場合のメモリアクセス装置１０によるメモリアクセス動作に係るタイムチャートの例を示す。
【０１０１】
図２５はメモリアクセス装置１０に対するＣＰＵ５０からのアクセス要求信号のタイムチャートの例を示し、図２６はメモリアクセス装置１０からメモリ２０に対するアクセス制御信号のタイムチャートの例を示す。
【０１０２】
図２１乃至図２４とともに上述したフラッシュメモリに対するメモリアクセスの動作例の場合同様、ＣＰＵ５０からのアクセス要求を受け、インタフェース生成部１２ではテーブルデータを基に、このアクセス要求信号をスレーブ側デバイスたるＳＤＲＡＭに対応したアクセス制御信号に変換する。そしてこのようにして得られたアクセス制御信号をメモリ２０（ＳＤＲＡＭ）に出力することにより、メモリ２０に対するリード、ライトを実現する。
【０１０３】
上記のごとくＳＤＲＡＭは定期的なリフレッシュが必要であるため、「メモリ特有の情報」テーブル（図１７参照）として、スレーブ側デバイスたるメモリ２０、ＳＤＲＡＭのリフレッシュに必要な情報をアクセスタイミング情報２１の一部として同メモリ２０に格納しておく。これが同メモリ２０から読み出され、インタフェース生成部１２にテーブルデータとして格納される。そしてこれがデバイス情報読出部１３によって読み出されることにより、その内容に従って上記のごとくＳＤＲＡＭコントローラ１２ｆ内のタイマーが定期的に起動され、必要なリフレッシュ信号がメモリ２０に対し出力される。
【０１０４】
図２７は図１、図１８に示すメモリアクセス装置１０のハードウェア構成例を示す。
【０１０５】
このようにメモリアクセス装置１０はＣＰＵ１００，ＲＡＭ１１０，ＲＯＭ１２０，インタフェース１３０およびこれらを結ぶバス１５０によって構成可能である。
【０１０６】
この場合、図１，図１８に示されるＣＭＤ識別部１１、インタフェース生成部１２，デバイス情報読出部１３および外部インタフェース１４の各機能部は、ＣＰＵ１００がＲＯＭ１２０に格納された制御プログラムに含まれる各命令にしたがって動作され、ＲＡＭ１２０およびインタフェース１３０を適宜使用することにより実現され得る。
【０１０７】
このように本発明の実施例によれば、マスタ−スレーブ間で特にアクセスタイミングを意識することなく、正規なインタフェース機能が実現される。
【０１０８】
すなわち従来ＣＰＵがメモリにアクセスする場合ＣＰＵ側でメモリインタフェースに一致したアクセス条件をプログラムする必要があった。その結果メモリが変更されると再プログラムが必要であった。
【０１０９】
本発明の実施例によれば、メモリアクセス装置１０をＣＰＵ５０とメモリ２０との間に挿入し、メモリアクセス装置１０がメモリ２０のアクセス条件をメモリ２０自体から入手して当該メモリに応じたアクセスタイミングを有するアクセス制御信号を生成する。その結果メモリ２０を変更してもＣＰＵ５０ではメモリアクセス装置１０に対するアクセス要求信号の仕様を変更する必要がない。したがって上記した再プログラム等の必要がなくなる。したがって再プログラムの開発時間が省け、コスト削減が図れる。
【０１１０】
このようにユーザはアクセス対象のデバイスのインタフェースタイミングを意識する必要はなく、ハードウェア的な接続のみ行えばよい。その結果設計上のミスを効果的に削減でき機器の品質の向上が図れるとともに、装置開発作業の簡易化が達成し得る。その結果開発工程の効果的な短縮が可能となる。
【０１１１】
また本発明の実施例によればデバイス間の検証の容易化が可能である。すなわちアクセスタイミング情報がデバイス自体に格納されるため、その情報を装置設計時のシミュレーションにも活用可能であり、その際のヒューマンエラーの発生率を効果的に削減し得る。
【０１１２】
このように本発明の実施例によればメモリーデバイスの置き換えの際の設計作業を不要にし、短期にメモリ変更に対応できることとなり、使用デバイスの製造中止やコストダウンのための設計変更等に対し、容易に対処可能となる。
【０１１３】
本発明は以下の付記の各々の構成をとり得る。
（付記１）
アクセスに要されるアクセス制御信号の仕様が個々に異なるメモリに対するアクセスを行うメモリアクセス装置であって、
アクセスしようとするメモリに応じたアクセス制御信号の仕様の情報を当該メモリから入手するアクセス制御信号仕様情報取得手段を有することを特徴とするメモリアクセス装置。
（付記２）
前記メモリに応じたアクセス制御信号の仕様は、その信号波形よりなる付記１に記載のメモリアクセス装置。
（付記３）
前記アクセス制御信号は、チップ選択信号、リード／ライト信号、リードイネーブル信号、ライトイネーブル信号および連続アクセスフラグ信号を含むことを特徴とする付記１又は２に記載のメモリアクセス装置。
（付記４）
前記アクセスは、シングルライト、バーストライト、シングルリードおよびバーストリードの各種別のものを含むことを特徴とする付記１乃至３のうちのいずれかに記載のメモリアクセス装置。
（付記５）
上位からのコマンドを解析して当該コマンドが要求しているアクセスの種別を識別するアクセス種別識別手段と、
前記アクセス制御信号仕様情報取得手段により取得されたアクセス制御信号の仕様の情報にしたがって当該メモリに対するアクセス制御信号を生成するアクセス制御信号生成手段とよりなり、
前記アクセス制御信号仕様取得手段は、前記メモリから、あらかじめ前記アクセスの種別毎に格納されてなる、当該メモリのアクセスに要されるアクセス制御信号の仕様の情報のうち、前記アクセス種別識別手段により識別されたアクセスの種別に応じた、当該メモリのアクセスに要されるアクセス制御信号の仕様の情報を読み出し、前記アクセス制御信号生成手段に提供する構成とされてなる付記４に記載のメモリアクセス装置。
（付記６）
前記アクセス制御信号の仕様の情報を外部から取得するための外部インタフェースをさらに含む付記１乃至５のうちのいずれかに記載のメモリアクセス装置。
（付記７）
アクセスに要されるアクセス制御信号の仕様が個々に異なるメモリに対するアクセスを行うためのメモリアクセス方法であって、
アクセスしようとするメモリに応じたアクセス制御信号の仕様の情報を当該メモリから入手するアクセス制御信号仕様情報取得段階を有することを特徴とするメモリアクセス方法。
（付記８）
前記メモリに応じたアクセス制御信号の仕様は、その信号波形よりなる付記７に記載のメモリアクセス方法。
（付記９）
前記アクセス制御信号は、チップ選択信号、リード／ライト信号、リードイネーブル信号、ライトイネーブル信号および連続アクセスフラグ信号を含むことを特徴とする付記７又は８に記載のメモリアクセス方法。
（付記１０）
前記アクセスは、シングルライト、バーストライト、シングルリードおよびバーストリードの各種別のものを含むことを特徴とする付記７乃至９のうちのいずれかに記載のメモリアクセス方法。
（付記１１）
上位からのコマンドを解析して当該コマンドが要求しているアクセスの種別を識別するアクセス種別識別段階と、
前記アクセス制御信号仕様情報取得段階により取得されたアクセス制御信号の仕様の情報にしたがって当該メモリに対するアクセス制御信号を生成するアクセス制御信号生成段階とよりなり、
前記アクセス制御信号仕様取得段階では、前記メモリから、あらかじめ前記アクセスの種別毎に格納されてなる、当該メモリのアクセスに要されるアクセス制御信号の仕様の情報のうち、前記アクセス種別識別段階により識別されたアクセスの種別に応じた、当該メモリのアクセスに要されるアクセス制御信号の仕様の情報を読み出し、前記アクセス制御信号生成段階に提供する構成とされてなる付記１０に記載のメモリアクセス方法。
（付記１２）
アクセスに要されるアクセス制御信号の仕様が個々に異なるメモリに対するアクセスを可能にするため、当該メモリの所定の領域に、アクセス制御信号の仕様の情報を埋め込む段階を含むメモリ製造方法。
（付記１３）
前記メモリに応じたアクセス制御信号の仕様は、その信号波形よりなる付記１２に記載のメモリ製造方法。
（付記１４）
前記アクセス制御信号は、チップ選択信号、リード／ライト信号、リードイネーブル信号、ライトイネーブル信号および連続アクセスフラグ信号を含むことを特徴とする付記１２又は１３に記載のメモリ製造方法。
（付記１５）
前記アクセスは、シングルライト、バーストライト、シングルリードおよびバーストリードの各種別のものを含むことを特徴とする付記１２乃至１４のうちのいずれかに記載のメモリ製造方法。
（付記１６）
前記アクセス制御信号の仕様の情報を埋め込む段階では、当該メモリのアクセスに要されるアクセス制御信号の仕様の情報を、前記アクセスの種別毎に、対応する当該メモリの異なる領域にそれぞれ埋め込むことを特徴とする付記１５に記載のメモリ製造方法。
（付記１７）
アクセスに要されるアクセス制御信号の仕様が個々に異なるメモリに対するアクセスを行うためのメモリアクセス方法の各段階をコンピュータに実行させるためのプログラムであって、
アクセスしようとするメモリに応じたアクセス制御信号の仕様の情報を当該メモリから入手するアクセス制御信号仕様情報取得段階をコンピュータに実行させるための命令よりなるプログラム。
（付記１８）
前記メモリに応じたアクセス制御信号の仕様は、その信号波形よりなる付記１７に記載のプログラム。
（付記１９）
前記アクセス制御信号は、チップ選択信号、リード／ライト信号、リードイネーブル信号、ライトイネーブル信号および連続アクセスフラグ信号を含むことを特徴とする付記１７又は１８に記載のプログラム。
（付記２０）
前記アクセスは、シングルライト、バーストライト、シングルリードおよびバーストリードの各種別のものを含むことを特徴とする付記１７乃至１９のうちのいずれかに記載のプログラム。
（付記２１）
上位からのコマンドを解析して当該コマンドが要求しているアクセスの種別を識別するアクセス種別識別段階と、
前記アクセス制御信号仕様情報取得段階により取得されたアクセス制御信号の仕様の情報にしたがって当該メモリに対するアクセス制御信号を生成するアクセス制御信号生成段階とをコンピュータに実行させる命令よりなり、
前記アクセス制御信号仕様取得段階では、前記メモリから、あらかじめ前記アクセスの種別毎に格納されてなる、当該メモリのアクセスに要されるアクセス制御信号の仕様の情報のうち、前記アクセス種別識別段階により識別されたアクセスの種別に応じた、当該メモリのアクセスに要されるアクセス制御信号の仕様の情報を読み出し、前記アクセス制御信号生成段階に提供する構成とされてなる付記２０に記載のプログラム。
【産業上の利用可能性】
【０１１４】
上述の実施例はメモリに対するアクセスを例にとった構成例であったが、本発明の適用例はこれに限定されず、メモリ以外のデバイスに対するアクセスに係るものであっても同様に適用可能である。
【図面の簡単な説明】
【０１１５】
【図１】本発明の一実施例による装置構成を示す図である。
【図２】本発明の一実施例によるメモリ製造方法を説明するための作業フローチャートである。
【図３】本発明の一実施例によるメモリアクセス方法を説明するための動作フローチャートである。
【図４】本発明の一実施例によるメモリアクセス方法におけるシングルライト時のアクセス要求信号のタイムチャート（その１）である。
【図５】本発明の一実施例によるメモリアクセス方法におけるシングルライト時のアクセス要求信号のタイムチャート（その２）である。
【図６】本発明の一実施例によるメモリアクセス方法におけるバーストライト時のアクセス要求信号のタイムチャート（その１）である。
【図７】本発明の一実施例によるメモリアクセス方法におけるバーストライト時のアクセス要求信号のタイムチャート（その２）である。
【図８】本発明の一実施例によるメモリアクセス方法におけるシングルリード時のアクセス要求信号のタイムチャート（その１）である。
【図９】本発明の一実施例によるメモリアクセス方法におけるシングルリード時のアクセス要求信号のタイムチャート（その２）である。
【図１０】本発明の一実施例によるメモリアクセス方法におけるバーストリード時のアクセス要求信号のタイムチャート（その１）である。
【図１１】本発明の一実施例によるメモリアクセス方法におけるバーストリード時のアクセス要求信号のタイムチャート（その２）である。
【図１２】本発明の一実施例によるメモリアクセス方法におけるスレーブ側デバイス（メモリ）に対するシングルライト時のアクセス制御信号のタイムチャートである。
【図１３】本発明の一実施例によるメモリアクセス方法におけるスレーブ側デバイス（メモリ）に対するシングルライト時のアクセス制御信号のテーブルデータである。
【図１４】本発明の一実施例によるメモリアクセス方法におけるスレーブ側デバイス（メモリ）からのリード時のアクセス制御信号のタイムチャートである。
【図１５】本発明の一実施例によるメモリアクセス方法におけるスレーブ側デバイス（メモリ）からのリード時のアクセス制御信号のテーブルデータである。
【図１６】本発明の一実施例によるメモリ種別情報の定義づけについて説明するための図である。
【図１７】本発明の一実施例における、スレーブ側デバイス（メモリ）に格納するテーブルデータについて説明するための図である。
【図１８】図１に示した装置構成中、インタフェース生成部を中心とした詳細な構成を示すためのブロック図である。
【図１９】本発明の一実施例によるメモリアクセス方法においてアクセス制御信号の生成方法を説明するためのテーブルデータである。
【図２０】本発明の一実施例によるメモリアクセス方法においてアクセス制御信号の生成方法を説明するためのタイムチャートである。
【図２１】本発明の一実施例によるフラッシュメモリにアクセスするためのテーブルデータの格納について説明するための図である。
【図２２】本発明の一実施例によるメモリアクセス方法においてフラッシュメモリに対するアクセス制御信号の生成方法を説明するためのテーブルデータである。
【図２３】本発明の一実施例によるメモリアクセス方法においてフラッシュメモリに対するアクセス制御信号の生成方法を説明するためのタイムチャート（その１）である。
【図２４】本発明の一実施例によるメモリアクセス方法においてフラッシュメモリに対するアクセス制御信号の生成方法を説明するためのタイムチャート（その２）である。
【図２５】本発明の一実施例によるＳＤＲＡＭに対するアクセス時のアクセス要求信号の例のタイムチャート（メモリアクセス装置１０とＣＰＵ５０との間）である。
【図２６】本発明の一実施例によるＳＤＲＡＭに対するアクセス制御信号の例のタイムチャート（メモリアクセス装置１０とメモリ２０との間）である。
【図２７】図１に示されたメモリアクセス装置１０のハードウェア構成例を示すブロック図である。
【符号の説明】
【０１１６】
１０  メモリアクセス装置
１１  ＣＭＤ識別部
１２  インタフェース生成部
１２ａ、１２ｂ、１２ｃ  テーブルデータ
１３  デバイス情報読出部
１４  外部インタフェース
２０  スレーブデバイス（メモリ）
２１  アクセスタイミング情報
５０  ＣＰＵ
【図１】
2008009564.tif 000003
【図２】
2008009564.tif 000004
【図３】
2008009564.tif 000005
【図４】
2008009564.tif 000006
【図５】
2008009564.tif 000007
【図６】
2008009564.tif 000008
【図７】
2008009564.tif 000009
【図８】
2008009564.tif 000010
【図９】
2008009564.tif 000011
【図１０】
2008009564.tif 000012
【図１１】
2008009564.tif 000013
【図１２】
2008009564.tif 000014
【図１３】
2008009564.tif 000015
【図１４】
2008009564.tif 000016
【図１５】
2008009564.tif 000017
【図１６】
2008009564.tif 000018
【図１７】
2008009564.tif 000019
【図１８】
2008009564.tif 000020
【図１９】
2008009564.tif 000021
【図２０】
2008009564.tif 000022
【図２１】
2008009564.tif 000023
【図２２】
2008009564.tif 000024
【図２３】
2008009564.tif 000025
【図２４】
2008009564.tif 000026
【図２５】
2008009564.tif 000027
【図２６】
2008009564.tif 000028
【図２７】
2008009564.tif 000029