(57)【特許請求の範囲】
【請求項１】
ランダムアクセスメモリが１本の共通データバスを介してアクセスされる第１記憶部および第２記憶部を有すると共に、所定のプロトコル・シーケンスを含む少なくとも１つのアクセス動作を有し、該所定のプロトコル・シーケンスは、該アクセス動作のデータが該共通データバスを介して伝達される前、および／または、後に行われる前記ランダムアクセスメモリに使用する、メモリアクセス方法であって、
各情報項目に対して、前記メモリにおける第１記憶位置および第２記憶位置を割り当て、該第１記憶位置および該第２記憶位置はそれぞれ前記第１記憶部および前記第２記憶部内に在り、
前記メモリに第１の情報項目を書き込むと共に、該メモリから第２の情報項目を読み出すか或いは当該メモリに第２の情報項目を書き込むとき、アクセスされる該第２の情報項目に割り当てられる該第１記憶位置および第２記憶位置のいずれかを決定し、
該決定された記憶位置が第２記憶位置であれば、前記第１の情報項目が当該第１の情報項目に割り当てられた前記第１記憶位置に書き込まれ、一方、該決定された記憶位置が第１記憶位置であれば、前記第１の情報項目が当該第１の情報項目に割り当てられた前記第２記憶位置に書き込まれる第１のアクセス動作を実行し、
前記第２の情報項目が決定された記憶位置から読み出されるか或いは当該決定された記憶位置に書き込まれる第２のアクセス動作を実行し、
該第１および第２のアクセス動作の相対的タイミングを、プロトコル・シーケンスを含む該２つのアクセス動作の少なくとも一方が、前記共通データバスを介して、当該プロトコル・シーケンスが該２つのアクセス動作の他方のデータ伝達と少なくとも部分的に重なり合うように制御することを特徴とするメモリアクセス方法。
【請求項２】
請求項１に記載のメモリアクセス方法において、前記第２のアクセス動作は、読み出し動作であり、且つ、前記決定された記憶位置は、前記第２の情報項目に割り当てられた第１および第２記憶位置のうち、当該情報項目を現在保持している方の記憶位置であることを特徴とするメモリアクセス方法。
【請求項３】
請求項１または２に記載のメモリアクセス方法において、前記各第１および第２のアクセス動作は、そのデータ伝達の前、および／または、後の所定のプロトコル・シーケンスを含んでいることを特徴とするメモリアクセス方法。
【請求項４】
請求項３に記載のメモリアクセス方法において、前記各第１および第２のアクセス動作について、該アクセス動作の前記所定のプロトコル・シーケンスは、前記２つのアクセス動作の他方のデータ伝達と少なくとも部分的に重なり合うようになっていることを特徴とするメモリアクセス方法。
【請求項５】
請求項３または４に記載のメモリアクセス方法において、前記相対的タイミングは、前記第１および第２のアクセス動作の各プロトコル・シーケンスも相互に少なくとも部分的に重なり合うように制御されることを特徴とするメモリアクセス方法。
【請求項６】
請求項３〜５のいずれか１項に記載のメモリアクセス方法において、前記第１および第２のアクセス動作の一方は、前記データ伝達の前における先導プロトコル・シーケンスを有し、且つ、該２つのアクセス動作の他方は、該データ伝達の後における後続プロトコル・シーケンスを有し、そして、
前記第１および第２のアクセス動作の相対的タイミングは、第１のフェーズにおいて、前記一方のアクセス動作の先導プロトコル・シーケンスが前記他方のアクセス動作のデータ伝達と少なくとも部分的に重なり合い、且つ、該第１のフェーズに続く第２のフェーズにおいて、前記他方のアクセス動作の後続プロトコル・シーケンスが前記一方のアクセス動作のデータ伝達と少なくとも部分的に重なり合うように、制御されることを特徴とするメモリアクセス方法。
【請求項７】
請求項６に記載のメモリアクセス方法において、前記一方のアクセス動作は、当該アクセス動作のデータ伝達の後の後続プロトコル・シーケンスをも有し、該後続プロトコル・シーケンスは当該アクセス動作の先導プロトコル・シーケンスよりも短い期間となっていることを特徴とするメモリアクセス方法。
【請求項８】
請求項６または７に記載のメモリアクセス方法において、前記他方のアクセス動作は、当該アクセス動作のデータ伝達の前の先導プロトコル・シーケンスをも有し、該先導プロトコル・シーケンスは当該アクセス動作の後続プロトコル・シーケンスよりも短い期間となっていることを特徴とするメモリアクセス方法。
【請求項９】
請求項６〜８のいずれか１項に記載のメモリアクセス方法において、前記一方のアクセス動作の先導プロトコル・シーケンスは、前記他方のアクセス動作のデータ伝達よりも長い期間であり、該データ伝達は当該先導プロトコル・シーケンスの経過の間に実質的に完了するようになっていることを特徴とするメモリアクセス方法。
【請求項１０】
請求項６〜９のいずれか１項に記載のメモリアクセス方法において、前記他方のアクセス動作の後続プロトコル・シーケンスは、前記一方のアクセス動作のデータ伝達よりも長い期間であり、該データ伝達は当該後続プロトコル・シーケンスの経過の間に実質的に完了するようになっていることを特徴とするメモリアクセス方法。
【請求項１１】
請求項１〜１０のいずれか１項に記載のメモリアクセス方法において、前記第１および第２のアクセス動作の一方について、前記データ伝達の期間は、前記所定のプロトコル・シーケンスの期間と同じであることを特徴とするメモリアクセス方法。
【請求項１２】
請求項１〜１１のいずれか１項に記載のメモリアクセス方法において、前記第１および第２のアクセス動作の一方について、前記データ伝達の期間は、前記所定のプロトコル・シーケンスの期間程長くないことを特徴とするメモリアクセス方法。
【請求項１３】
請求項１〜１１のいずれか１項に記載のメモリアクセス方法において、前記第１および第２記憶部は、１つのシンクロナス・ダイナミックランダムアクセスメモリの各バンクであることを特徴とするメモリアクセス方法。
【請求項１４】
請求項１３に記載のメモリアクセス方法において、請求項６〜１０のいずれか１項の記載に追加して、前記一方のアクセス動作は読み出し動作であり、且つ、前記他方のアクセス動作は書き込み動作であることを特徴とするメモリアクセス方法。
【請求項１５】
請求項１〜１２のいずれか１項に記載のメモリアクセス方法において、前記第１および第２記憶部は、１つのラムバス装置またはシンクリンク装置の各バンクであることを特徴とするメモリアクセス方法。
【請求項１６】
請求項１〜１５のいずれか１項に記載のメモリアクセス方法において、
前記各情報項目は、該情報項目に割り当てられた前記第１および第２記憶位置のどちらに当該情報項目が現在保持されているかを示す対応ポインタにより示され、
前記第２の情報項目を現在保持している記憶位置の決定は、当該第２の情報項目に対応するポインタを使って行われ、且つ、
前記第１の情報項目が該情報項目に割り当てられた第１および第２記憶位置のどちらかに書き込まれると、当該第１の情報項目に対応するポインタがその記憶位置を示すべく更新されることを特徴とするメモリアクセス方法。
【請求項１７】
１本の共通データバスを介してアクセスされる第１記憶部および第２記憶部を有するランダムアクセスメモリに使用するメモリアクセス方法であって、
各情報項目に対して、該情報項目の第１部分を記憶するための第１記憶位置および該情報項目の第２部分を記憶するための第２記憶位置を割り当て、該第１記憶位置および該第２記憶位置はそれぞれ前記第１記憶部および前記第２記憶部内に在り、
同一タイムスロットにおいて、前記メモリに第１の情報項目を書き込んで該メモリから第２の情報項目を読み出すにあたり、
(a) 前記第１の情報項目の第１部分を当該情報項目に割り当てられた前記第１記憶位置に書き込むステップと、
(b) 前記第１の情報項目の第２部分を当該情報項目に割り当てられた前記第２記憶位置に書き込むステップと、
(c) 前記第２の情報項目の第１部分を当該情報項目に割り当てられた前記第１記憶位置から読み出すステップと、
(d) 前記第２の情報項目の第２部分を当該情報項目に割り当てられた前記第２記憶位置から読み出すステップと、を所定のシーケンスで実行するようにしたことを特徴とするメモリアクセス方法。
【請求項１８】
請求項１７に記載のメモリアクセス方法において、前記第１および第２記憶部は、１つのシンクロナス・ダイナミックランダムアクセスメモリの２つの異なるバンクによってそれぞれ提供されることを特徴とするメモリアクセス方法。
【請求項１９】
請求項１７または１８に記載のメモリアクセス方法において、前記ステップ(a) 〜(d) を実行する所定のシーケンスは、連続する少なくとも１組のステップを含み、該１組のステップにおける第１ステップは前記２つの記憶部の一方への書き込みステップであり、且つ、該１組のステップにおける第２ステップは前記２つの記憶部の他方からの読み出しステップであることを特徴とするメモリアクセス方法。
【請求項２０】
請求項１９に記載のメモリアクセス方法において、前記所定のシーケンスは、第１組の連続するステップと、それに続く第２組の連続するステップとを含むことを特徴とするメモリアクセス方法。
【請求項２１】
請求項２０に記載のメモリアクセス方法において、前記ステップ(a) 〜(d) を実行する所定のシーケンスは、ステップ(a) 、(d) 、(b) 、(c) の順序であることを特徴とするメモリアクセス方法。
【請求項２２】
請求項１７〜２１のいずれか１項に記載のメモリアクセス方法において、前記各情報項目における前記第１部分と前記第２部分とが同一の長さであることを特徴とするメモリアクセス方法。
【請求項２３】
請求項１７〜２１のいずれか１項に記載のメモリアクセス方法において、前記各情報項目における前記第１部分と前記第２部分とが異なる長さであることを特徴とするメモリアクセス方法。
【請求項２４】
請求項２３に記載のメモリアクセス方法において、前記ステップ(a) 〜(d) を実行する所定のシーケンスの最後のステップは、前記第２の情報項目の２つの部分のうち長い方を読み出すステップであることを特徴とするメモリアクセス方法。
【請求項２５】
請求項２３または２４に記載のメモリアクセス方法において、前記各情報項目の２つの部分のうち短い方の長さは、１つのバーストでアクセス可能なワード数に等しいかそれよりも短いことを特徴とするメモリアクセス方法。
【請求項２６】
請求項２３〜２５のいずれか１項に記載のメモリアクセス方法において、前記各情報項目の２つの部分のうち短い方を記憶するために割り当てられる記憶位置は該短い部分よりも長く、且つ、該記憶位置の余分なワードは該記憶位置に割り当てられた前記情報項目部分以外の情報を記憶するために使用されることを特徴とするメモリアクセス方法。
【請求項２７】
請求項２６に記載のメモリアクセス方法において、前記余分なワードの数は、１つのバーストでアクセス可能なワード数に等しいことを特徴とするメモリアクセス方法。
【請求項２８】
第１の共通データバスを介してアクセスされる第１記憶部および第２記憶部と、第２の共通データバスを介してアクセスされる第３記憶部および第４記憶部とを有するランダムアクセスメモリに使用するメモリアクセス方法であって、
各情報項目に対して、それぞれ前記第１記憶部内の第１記憶位置と、前記第２記憶部内の第２記憶位置と、前記第３記憶部内の第３記憶位置と、前記第４記憶部内の第４記憶位置とを割り当て、
同一タイムスロットにおいて、前記メモリに第１および第２の情報項目を書き込み、前記メモリから第３および第４の情報項目を読み出すにあたり、
(a) 前記第３の情報項目に割り当てられた記憶位置のうち当該情報項目を現在保持している記憶位置を決定し、前記第４の情報項目に割り当てられた記憶位置のうち当該情報項目を現在保持している記憶位置を決定し、且つ、前記記憶部のうち前記決定された記憶位置を含んでいる記憶部を特定するステップと、
(b) 前記特定された記憶部以外の２つの異なる記憶部内の記憶位置に前記第１および第２の情報項目をそれぞれ書き込むステップと、
(c) 前記第３および第４の情報項目を前記決定された記憶位置から読み出すステップと、を実行するようにしたことを特徴とするメモリアクセス方法。
【請求項２９】
請求項２８に記載のメモリアクセス方法において、前記第１および第２記憶部は第１のシンクロナス・ダイナミックランダムアクセスメモリの２つの個別のバンクによって提供され、且つ、前記第３および第４記憶部は第２のシンクロナス・ダイナミックランダムアクセスメモリの２つの個別のバンクによって提供されることを特徴とするメモリアクセス方法。
【請求項３０】
請求項２９に記載のメモリアクセス方法において、前記ステップ(a) において、前記決定された第３および第４の情報項目の記憶位置は異なるバンクにあり、これらバンクの一方は前記第１のシンクロナス・ダイナミックランダムアクセスメモリの一部であり、前記バンクの他方は前記第２のシンクロナス・ダイナミックランダムアクセスメモリの一部であり、且つ、前記ステップ(b) における前記メモリの前記特定されたバンク以外のバンクに対する書き込みは、前記ステップ(c) における前記特定されたバンクからの読み出しよりも先に実行されることを特徴とするメモリアクセス方法。
【請求項３１】
請求項２８〜３０のいずれか１項に記載のメモリアクセス方法において、
前記各情報項目は、該情報項目に割り当てられた前記第１〜第４記憶位置のどれに現在保持されているかを示すポインタにより示され、
前記ステップ(a) は、前記第３および第４の情報項目に対応する前記ポインタを使って、該情報項目を現在保持している記憶位置を決定し、
前記ステップ(b) において、前記第１および第２の情報項目が該情報項目に割り当てられた第１〜第４記憶位置のどれかに書き込まれると、該第１および第２の情報項目に対応するポインタはその記憶位置を示すべく更新されることを特徴とするメモリアクセス方法。
【請求項３２】
第１の共通データバスを介してアクセスされる第１記憶部および第２記憶部と、第２の共通データバスを介してアクセスされる第３記憶部および第４記憶部とを有するランダムアクセスメモリに使用するメモリアクセス方法であって、
各情報項目に対して、それぞれ第１記憶位置ペアと第２記憶位置ペアとを割り当て、各記憶位置ペアが該情報項目の第１部分を記憶するための第１記憶位置と該情報項目の第２部分を記憶するための第２記憶位置とを備え、前記第１記憶位置ペアの第１記憶位置および第２記憶位置はそれぞれ前記第１記憶部および前記第２記憶部にあり、且つ、前記第２記憶位置ペアの第１記憶位置および第２記憶位置は前記第３記憶部および前記第４記憶部にあり、
同一タイムスロットにおいて、前記メモリに第１および第２の情報項目を書き込み、前記メモリから第３および第４の情報項目を読み出すにあたり、
(a) 前記第３および第４の情報項目に割り当てられた前記第１および第２記憶位置ペアのうち該情報項目を現在保持している記憶位置ペアを決定するステップと、
(b) 前記第３の情報項目用に決定された記憶位置ペア以外の記憶位置ペアの第１および第２記憶位置にそれぞれ前記第１の情報項目の第１および第２部分を書き込むステップと、
(c) 前記第４の情報項目用に決定された記憶位置ペア以外の記憶位置ペアの第１および第２記憶位置にそれぞれ前記第２の情報項目の第１および第２部分を書き込むステップと、
(d) 前記第３の情報項目の第１および第２部分を前記決定された記憶位置ペアの第１および第２記憶位置から読み出すステップと、
(e) 前記第４の情報項目の第１および第２部分を前記決定された記憶位置ペアの第１および第２記憶位置から読み出すステップと、を実行するようにしたことを特徴とするメモリアクセス方法。
【請求項３３】
請求項３２に記載のメモリアクセス方法において、前記第１および第２記憶部は第１のシンクロナス・ダイナミックランダムアクセスメモリの２つの個別のバンクによって提供され、且つ、前記第３および第４記憶部は第２のシンクロナス・ダイナミックランダムアクセスメモリの２つの個別のバンクによって提供されることを特徴とするメモリアクセス方法。
【請求項３４】
請求項３３に記載のメモリアクセス方法において、前記第３および第４の情報項目がそれぞれ異なる記憶位置ペアに現在保持されていると決定され、前記第１および第２のメモリのそれぞれにおいて、前記書き込みステップ(b) および(c) の一方および前記読みだしステップ(d) および(e) の一方が実行されるとき、前記各メモリにおける書き込みステップおよび読み出しステップは、
書き込むべき情報項目の第１部分を前記書き込みステップにおいて書き込み、
読み出すべき情報項目の第２部分を前記読み出しステップにおいて読み出し、
書き込むべき情報項目の第２部分を前記書き込みステップにおいて書き込み、そして、
読み出すべき情報項目の第１部分を前記読み出しステップにおいて読み出すシーケンスによって実行することを特徴とするメモリアクセス方法。
【請求項３５】
請求項３３または３４に記載のメモリアクセス方法において、前記第３および第４の情報項目が同じ記憶位置ペアに現在保持されていると決定され、前記読み出しステップ(d) および(e) は共に前記２つのメモリの一方において実行され、該読み出しステップが実行される方のメモリの２つのバンクは交互に読み出されて前記読み出しステップ(d) および(e) を実行することを特徴とするメモリアクセス方法。
【請求項３６】
請求項３３〜３５のいずれか１項に記載のメモリアクセス方法において、前記第３および第４の情報項目が同じ記憶位置ペアに現在保持されていると決定され、前記書き込みステップ(b) および(c) は共に前記２つのメモリの一方において実行され、該書き込みステップが実行される方のメモリの２つのバンクは交互に書き込まれて前記書き込みステップ(b) および(c) を実行することを特徴とするメモリアクセス方法。
【請求項３７】
請求項３２〜３６のいずれか１項に記載のメモリアクセス方法において、
前記各情報項目は、該情報項目に割り当てられた前記第１および第２記憶位置ペアのどちらに現在保持されているかを示す対応ポインタにより示され、
前記ステップ(a) において、前記第３および第４の情報項目のそれぞれに対して、当該情報項目を現在保持している記憶位置ペアの決定は、該第３および第４の情報項目に対応する前記ポインタを使って行われ、
前記第１および第２の情報項目のそれぞれに対して、前記ステップ(b) または(c) において前記第１および第２の情報項目が当該情報項目に割り当てられた第１および第２記憶位置ペアのどれかに書き込まれると、該第１および第２の情報項目に対応するポインタがその記憶位置ペアを示すべく更新されることを特徴とするメモリアクセス方法。
【請求項３８】
ランダムアクセスメモリが１本の共通データバスを介してアクセスされる第１記憶部および第２記憶部を有すると共に、所定のプロトコル・シーケンスを含む少なくとも１つのアクセス動作を有し、該所定のプロトコル・シーケンスは、該アクセス動作のデータが該共通データバスを介して伝達される前、および／または、後に行われる前記ランダムアクセスメモリに使用する、メモリアクセス回路であって、
各情報項目に対して、前記メモリにおける第１記憶位置および第２記憶位置を割り当て、該第１記憶位置および該第２記憶位置はそれぞれ前記第１記憶部および前記第２記憶部内に在る割り当て手段と、
前記メモリに第１の情報項目を書き込むと共に、該メモリから第２の情報項目を読み出すか或いは当該メモリに第２の情報項目を書き込むとき、アクセスされる該第２の情報項目に割り当てられる該第１記憶位置および第２記憶位置のいずれかを決定する決定手段と、
該決定された記憶位置が第２記憶位置であれば、前記第１の情報項目が当該第１の情報項目に割り当てられた前記第１記憶位置に書き込まれ、一方、該決定された記憶位置が第１記憶位置であれば、前記第１の情報項目が当該第１の情報項目に割り当てられた前記第２記憶位置に書き込まれる第１のアクセス動作を実行する第１のアクセス手段と、
前記第２の情報項目が決定された記憶位置から読み出されるか或いは当該決定された記憶位置に書き込まれる第２のアクセス動作を実行する第２のアクセス手段と、
該第１および第２のアクセス動作の相対的タイミングを、プロトコル・シーケンスを含む該２つのアクセス動作の少なくとも一方が、前記共通データバスを介して、当該プロトコル・シーケンスが該２つのアクセス動作の他方のデータ伝達と少なくとも部分的に重なり合うように制御する制御手段を備えたことを特徴とするメモリアクセス回路。
【請求項３９】
請求項３８に記載のメモリアクセス回路において、該メモリアクセス回路は、さらに、前記各情報項目に対して、該情報項目に割り当てられた第１および第２記憶位置のうち現在どちらに当該情報項目が保持されているかを示す対応ポインタを有するポインタ手段を備え、
前記決定手段は、前記第２の情報項目に対応するポインタを使って該情報項目を現在保持している記憶位置を決定し、そして、
前記書き込み手段は、前記第１の情報項目に割り当てられた前記第１および第２記憶位置のどちらかに当該情報項目を書き込み、該第１の情報項目に対応する前記ポインタをその書き込んだ記憶位置を示すべく更新することを特徴とするメモリアクセス回路。
【請求項４０】
１本の共通データバスを介してアクセスされる第１記憶部および第２記憶部を有するランダムアクセスメモリに使用するメモリアクセス回路であって、
各情報項目に対して、該情報項目の第１部分を記憶するための第１記憶位置および該情報項目の第２部分を記憶するための第２記憶位置を割り当て、該第１記憶位置および該第２記憶位置はそれぞれ前記第１記憶部および前記第２記憶部内に在る割り当て手段と、
同一タイムスロットにおいて、前記メモリに第１の情報項目を書き込んで該メモリから第２の情報項目を読み出すにあたり、
前記第１の情報項目の第１部分を当該情報項目に割り当てられた前記第１記憶位置に書き込む第１書き込み手段と、
前記第１の情報項目の第２部分を当該情報項目に割り当てられた前記第２記憶位置に書き込む第２書き込み手段と、
前記第２の情報項目の第１部分を当該情報項目に割り当てられた前記第１記憶位置から読み出す第１読み出し手段と、
前記第２の情報項目の第２部分を当該情報項目に割り当てられた前記第２記憶位置から読み出す第２読み出し手段と、
同一タイムスロットにおいて、前記メモリに第１の情報項目を書き込み、前記メモリから第２の情報項目を読み出すにあたり、前記第１および第２書き込み手段と前記第１および第２読み出し手段とを各々１回ずつ所定のシーケンスで活性化するアクセス制御手段と、を備えたことを特徴とするメモリアクセス回路。
【請求項４１】
第１の共通データバスを介してアクセスされる第１記憶部および第２記憶部と、第２の共通データバスを介してアクセスされる第３記憶部および第４記憶部とを有するランダムアクセスメモリに使用するメモリアクセス回路であって、
各情報項目に対して、それぞれ前記第１記憶部内の第１記憶位置と、前記第２記憶部内の第２記憶位置と、前記第３記憶部内の第３記憶位置と、前記第４記憶部内の第４記憶位置とを割り当てる割り当て手段と、
同一タイムスロットにおいて、前記メモリに第１および第２の情報項目を書き込み、前記メモリから第３および第４の情報項目を読み出すにあたり、前記第３の情報項目に割り当てられた記憶位置のうち当該情報項目を現在保持している記憶位置を決定し、前記第４の情報項目に割り当てられた記憶位置のうち当該情報項目を現在保持している記憶位置を決定し、且つ、前記記憶部のうち前記決定された記憶位置を含んでいる記憶部を特定する決定手段と、
前記特定された記憶部以外の２つの異なる記憶部内の記憶位置に前記第１および第２の情報項目をそれぞれ書き込む書き込み手段と、
前記第３および第４の情報項目を前記決定された記憶位置から読み出す読み出し手段と、を備えたことを特徴とするメモリアクセス回路。
【請求項４２】
請求項４１に記載のメモリアクセス回路において、該メモリアクセス回路は、さらに、前記各情報項目に対して、該情報項目に割り当てられた前記第１〜第４記憶位置のどれに現在保持されているかを示す対応ポインタを有するポインタ手段を備え、
前記決定手段は、前記第３および第４の情報項目の各々について、該情報項目を現在保持している記憶位置を当該情報項目に対応する前記ポインタを使って決定し、そして、
前記書き込み手段は、前記第１および第２の情報項目の各々について、該情報項目に割り当てられた前記第１〜第４記憶位置のどれかに当該情報項目を書き込み、該情報項目に対応する前記ポインタをその書き込んだ記憶位置を示すべく更新することを特徴とするメモリアクセス回路。
【請求項４３】
第１の共通データバスを介してアクセスされる第１記憶部および第２記憶部と、第２の共通データバスを介してアクセスされる第３記憶部および第４記憶部とを有するランダムアクセスメモリに使用するメモリアクセス回路であって、
各情報項目に対して、それぞれ第１記憶位置ペアと第２記憶位置ペアとを割り当て、各記憶位置ペアが該情報項目の第１部分を記憶するための第１記憶位置と該情報項目の第２部分を記憶するための第２記憶位置とを備え、前記第１記憶位置ペアの第１記憶位置および第２記憶位置はそれぞれ前記第１記憶部および前記第２記憶部にあり、且つ、前記第２記憶位置ペアの第１記憶位置および第２記憶位置は前記第３記憶部および前記第４記憶部にある割り当て手段と、
同一タイムスロットにおいて、前記メモリに第１および第２の情報項目を書き込み、前記メモリから第３および第４の情報項目を読み出すにあたり、前記第３および第４の情報項目に割り当てられた前記第１および第２記憶位置ペアのうち該情報項目を現在保持している記憶位置ペアを決定する決定手段と、
前記第３の情報項目用に決定された記憶位置ペア以外の記憶位置ペアの第１および第２記憶位置にそれぞれ前記第１の情報項目の第１および第２部分を書き込む第１書き込み手段と、
前記第４の情報項目用に決定された記憶位置ペア以外の記憶位置ペアの第１および第２記憶位置にそれぞれ前記第２の情報項目の第１および第２部分を書き込む第２書き込み手段と、
前記第３の情報項目の第１および第２部分を前記決定された記憶位置ペアの第１および第２記憶位置から読み出す第１読み出し手段と、
前記第４の情報項目の第１および第２部分を前記決定された記憶位置ペアの第１および第２記憶位置から読み出す第２読み出し手段と、を備えたことを特徴とするメモリアクセス回路。
【請求項４４】
請求項４３に記載のメモリアクセス回路において、該メモリアクセス回路は、さらに、前記各情報項目に対して、該情報項目に割り当てられた前記第１および第２記憶位置ペアのうち現在どちらに該情報項目が保持されているかを示す対応ポインタを有するポインタ手段を備え、
前記決定手段は、前記第３および第４の情報項目の各々について、該情報項目を現在保持している記憶位置ペアを該情報項目に対応する前記ポインタを使って決定し、そして、
前記第１および第２書き込み手段は、前記第１および第２の情報項目の各々について、該情報項目に割り当てられた前記第１および第２記憶位置ペアのどちらかに該情報項目を書き込み、該情報項目に対応する前記ポインタをその書き込んだ記憶位置ペアを示すべく更新することを特徴とするメモリアクセス回路。
【請求項４５】
請求項１または１７に記載のメモリアクセス方法において、前記第１および第２記憶部は、個別のデータ記録表面を提供する２つのディスク駆動装置、または、異なるデータバスを介して独立してアクセス可能な２つのデータ記録表面を提供する１つのディスク駆動装置によって提供されることを特徴とするメモリアクセス方法。
【請求項４６】
請求項２８または３２に記載のメモリアクセス方法において、前記第１および第２記憶部は、第１のディスク駆動装置の２つの異なるデータ記録表面によって提供され、且つ、前記第３および第４記憶部は、第２のディスク駆動装置の２つの異なるデータ記録表面によって提供されることを特徴とするメモリアクセス方法。
【請求項４７】
請求項３８〜４２のいずれか１項に記載のメモリアクセス回路を有することを特徴とする半導体記憶装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明はランダムアクセスメモリに使用するメモリアクセス方法およびメモリアクセス回路、並びに、シンクロナス・ダイナミックランダムアクセスメモリ装置および半導体記憶装置に関し、特に、シンクロナスＤＲＡＭ（ＳＤＲＡＭ：Synchronous Dynamic Random Access Memory）に使用するメモリアクセス方法およびメモリアクセス回路に関する。
【０００２】
近年、半導体技術の進歩に伴って、半導体記憶装置（例えば、ＤＲＡＭ：Dynamic Random Access Memory）の高速化および高集積化（大容量化）が進められている。そして、高速なアクセスが可能な半導体集積回路として、ＳＤＲＡＭのような外部クロックに同期した半導体記憶装置（ランダムアクセスメモリ）が実用化されている。このようなＳＤＲＡＭにおいて、効果的に交互アクセス或いは並列アクセスを実現することのできるメモリアクセス方法およびメモリアクセス回路の提供が要望されている。なお、本発明は、ＳＤＲＡＭに限定されるものではなく、様々なランダムアクセスメモリに対して適用され得るものである。
【０００３】
【従来の技術】
近年、高速なアクセスが可能な半導体集積回路として、ＳＤＲＡＭが実用化されているが、このＳＤＲＡＭは、通常のダイナミックランダムアクセスメモリ（ＤＲＡＭ）よりも簡単に使えるように設計されている。すなわち、ＤＲＡＭは、制御信号のタイミングに関して多くの制約があるが、ＳＤＲＡＭのデータ帯域幅は、通常のＤＲＡＭの約５倍程度とされている。そして、ＳＤＲＡＭは、レーザプリンタ、高解像度グラフィックアダプタおよびアクセラレータ等の非常に大きな記憶容量および帯域幅を必要とする用途に理想的なものとなっている。
【０００４】
図１にＳＤＲＡＭの代表的な構造を示す。このような構造の詳細は、例えば、「製品概要説明書ＭＢ８１１１７１６２２Ａ  ＣＭＯＳ２×５１２Ｋ×１６  シンクロナスＤＲＡＭ」富士通株式会社１９９６年７月に説明されている。
ＳＤＲＡＭ１のコアは、２つのバンク２および３である。各バンクは、メモリセルの配列により構成されている。各バンクのメモリセルの配列は、各１６ビットの５１２Ｋワード（Ｋ＝１０２４）の記憶容量として構成されている。各バンクの特定ワードを指定するために、合計２０のアドレス入力信号が必要とされている。ＳＤＲＡＭのピン数を減らすため、最初に１１ビットの行アドレス（ロウアドレス）Ａ０〜Ａ１０がアドレスバッファ／レジスタ４に供給される。そこから８ビットの列アドレス（コラムアドレス）Ａ０〜Ａ７がアドレスバッファ／レジスタ４に供給される。さらに、アドレスビットＡ１１がバンク選択信号として使われ、第１バンク２および第２バンク３の一方を選択する。
【０００５】
ＳＤＲＡＭ１は、さらに、クロックバッファ５、コマンドデコーダ６、入出力データバッファ／レジスタ７、バンク２および３に対応する制御信号ラッチ８および９、モードレジスタ１０、バンク２および３に対応する列アドレスカウンタ１１０および１２０を有する。図１のＳＤＲＡＭの各要素の構造および動作は、当業者に良く知られているため、これ以上の説明は省略する。
【０００６】
【発明が解決しようとする課題】
図１に示すようなＳＤＲＡＭ１と従来のＤＲＡＭとの間には、３つの大きな差がある。第１の最も重要な差は、ＳＤＲＡＭが同期用のクロック入力を使うことによって同期動作するのに対し、従来のＤＲＡＭは、タイミング信号ＲＡＳおよびＣＡＳを使うものの、基本的には非同期メモリであることである。従来のＤＲＡＭは、前記２つのタイミング信号間の位相差によって各動作を決定する。一方、図１のＳＤＲＡＭ１はコマンドによって各動作を決定し、正のクロックエッジを基準として全ての動作を実行する。
【０００７】
図１のＳＤＲＡＭ１が従来のＤＲＡＭと異なる他の点は、ＳＤＲＡＭがバーストモードで動作できることである。バーストモードは、非常に高速のアクセスモード（読み出しまたは書き込み）であり、内部列アドレスカウンタ（コラムアドレスカウンタ）１１０および１２０を使用して実行される。最初のアクセス用の列アドレスが設定されると、次のアドレスは内部列アドレスカウンタ１１０および１２０の一方によって自動的に生成される。
【０００８】
図１のＳＤＲＡＭ１が従来のＤＲＡＭと異なるさらに他の点は、ＳＤＲＡＭ１がモードレジスタ１０を有することである。このモードレジスタは、ＳＤＲＡＭの動作および機能を設定し、要求されたシステム条件を実現する役割を果たす。図１のバンク２および３の各々は、複数のページを有する。例えば、２Ｋページを有し、各ページは２５６ワードで構成される。あるページの情報項目をアクセス（読み出しまたは書き込み）する場合、当該ページを含むバンクは、定義された状態になければならない。すなわち、プリチャージされ、また、活性化されていなければならない。これらプリチャージ動作および活性化動作は、クロックサイクルを必要とする。従って、プリチャージを行う最良のタイミングは、あるページのアクセスが完了した時である。こうすることによって、次のページが使用可能となり、必要なときにすぐ活性化することができる。
【０００９】
このように、ＳＤＲＡＭは同期式メモリであり、その動作は正のクロックエッジを基準として実行される。ＳＤＲＡＭは、ｎクロックサイクル（ｎ＝１, ２または３）後にコマンドを処理するようにプログラム可能である。一般に、ｎ＝３の時、最高のスループットが得られる。
ＳＤＲＡＭは情報のバーストアクセスを可能にするが、（使いやすさの点で残念なことに）アクセス手順の先頭（先導）と最後（後続）のプロトコルが読み出しと書き込みで異なる。バースト長はプログラム可能であり、通常は４または８ワードに設定される。アクセスが比較的短くランダムである場合には、４または８ワードに設定される。バーストは、プリチャージコマンドによって自動的に終了する。このプリチャージコマンドは、明示的に発行することもできる。自動的に終了する読み出しバーストは性能面で有利だが、自動的に終了する書き込みバーストはそうではない（書き込みバーストに対する自動プリチャージコマンドは、明示的なプリチャージコマンドの発行を省略するに過ぎない）。
【００１０】
プリチャージによって自動的に終了しないバーストは、他のバーストによって割り込むか終了させる。しかしながら、読み出しは読み出しで終了させ、書き込みは書き込みで終了させ、最後のバーストアクセスは自動プリチャージタイプとすることが最も良い。
ＳＤＲＡＭは、バースト長を８ワード（先頭（先導）と最後（後続）の読み出しおよび書き込みアクセスプロトコルを隠すのに十分な長さ）以上とし、バンクを連続的に交互（インターリーブ）動作させる時に高い情報スループットを実現する。しかしながら、これらの条件は、ＳＤＲＡＭの通常の適用例では実現が難しいことがある。例えば、非同期伝送モード（ＡＴＭ）通信システムにおいて、ＳＤＲＡＭはＡＴＭセルに関する情報項目（例えば、遷移制御パラメータ）を記憶するために好適なものと考えられている。ＡＴＭセルを６２２ＭＨｚまたはそれ以上の速度で処理しようとする場合、セル寿命は比較的短く、例えば、６８０ｎｓである。セルの処理は、通常パイプラインで行われるため、１つのＡＴＭセル寿命（６８０ｎｓ）以内に、少なくとも１つの情報項目を書き込むと共に、少なくとも１つの情報項目を読み出す必要がある。このような条件の下でＳＤＲＡＭに期待される効果（例えば、性能および記憶深さ(Memory Depth)) を確保するため、ＳＤＲＡＭに記憶した情報項目（Information Item）をアクセスするための改良された方法および装置を提供することが要求されている。
【００１１】
同様の要求は、ＳＤＲＡＭを使用しないランダムアクセスメモリシステムに対しても存在する。例えば、いわゆるラムバス装置（Ｒａｍｂｕｓ  Ｄｅｖｉｃｅ：ラムバスおよびＲａｍｂｕｓは登録商標）が市販されている（例えば、日本電気株式会社製のμＰＤ４８８１３０Ｌ、および、株式会社東芝製のＴＣ５９Ｒ０８０８ＨＫ）。これらは、ＳＤＲＡＭと同様に２つ（或いは、それ以上）のバンクを有し、これらバンクは共通データバスを共用する。ラムバスＤＲＡＭ（ＲＤＲＡＭ：ＲＤＲＡＭは登録商標）は、高速インタフェース技術企業であるラムバス社（Ｒａｍｂｕｓ  Ｉｎｃ．）によって開発および市場化されており、狭いバイト幅のデータバス、いわゆるラムバスチャネルを介して毎秒６００メガバイト以上のデータを転送することができる。ラムバスＤＲＡＭは、通常の高速ＤＲＡＭ部品のピン当たりの帯域幅の８倍の帯域幅を提供できる。ラムバスメモリは、アクセス開始時に比較的多数（ＳＤＲＡＭより多い）のクロックサイクルを必要とするプロトコルを使ってアクセスされる。このようなラムバス装置においては、データ転送の前に追加のクロックサイクルが経過する。高い実効スループットレートを維持するため、データ転送サイズ（バースト）は、通常約３２バイト以上である。この他に、シンクリンク（SyncLink）装置がある。（シンクリンクはＤＲＡＭ製造企業の連合であり、その目的は、毎秒５００メガバイトから３. ２ギガバイトまでのデータ転送速度を可能にする新しいＤＲＡＭ構造の工業規格を作成することにある。）このシンクリンク装置は、広義的にはラムバスプロトコルに似たプロトコルを使用する高帯域幅の単一入出力を持ったランダムアクセスメモリである。
【００１２】
複数のバンクを持つメモリ（例えば、ＳＤＲＡＭやラムバス）を使用しないランダムアクセスメモリシステムにおいても、同一のタイムスロットにおいてメモリから少なくとも１つの情報項目を読み出すと共にメモリに少なくとも１つの情報項目を書き込むという要求がある。この時のタイムスロットの継続時間は、前記情報項目を順次にアクセスするのに必要な合計時間よりも短い。このような要求は、ディスク記憶システムやスタティックランダムアクセスメモリ（ＳＲＡＭ）システム等で生じている。
【００１３】
本発明は、例えば、ＳＤＲＡＭ等の半導体記憶装置において、効果的に交互アクセス或いは並列アクセスを実現することのできるメモリアクセス方法およびメモリアクセス回路の提供を目的とする。
【００１４】
【課題を解決するための手段】
本発明の第１の形態は、第１記憶部および第２記憶部を有するランダムアクセスメモリに使用するメモリアクセス方法を提供する。この方法は、各情報項目に対して、前記メモリにおける第１記憶位置および第２記憶位置を割り当て、該第１記憶位置および該第２記憶位置はそれぞれ前記第１記憶部および前記第２記憶部内に在り、同一タイムスロットにおいて、前記メモリに第１の情報項目を書き込んで該メモリから第２の情報項目を読み出すにあたり、(a) 前記第２の情報項目に割り当てられた第１および第２記憶位置のうち、当該情報項目を現在保持している方の記憶位置を決定するステップと、(b) 前記決定された記憶位置が前記第２記憶位置である時は、前記第１の情報項目に割り当てられた前記第１記憶位置に当該第１の情報項目を書き込み、且つ、前記決定された記憶位置が前記第１記憶位置であるときは、前記第１の情報項目に割り当てられた前記第２記憶位置に当該第１の情報項目を書き込むステップと、(c) 前記決定された記憶位置から前記第２の情報項目を読み出すステップとを実行する。
【００１５】
前記ランダムアクセスメモリは、単一のランダムアクセスメモリであって、内部に２つの記憶部を有するものでもよい。これら記憶部は、共通或いは共用のデータバスを介して外部からアクセスされる。例えば、ＳＤＲＡＭの場合、外部から共通データバスを介してアクセスされる２つ（或いは、それ以上）の異なるバンクを有する。ラムバス装置或いはシンクリンク装置の場合も、共通データバスを介してアクセスされる複数のバンクを有する。前記２つの記憶部は、共通データバスを介して外部からアクセスされるディスク駆動装置の２つの異なるデータ記録表面でも良い。いずれの場合も、前記書き込みステップ(b) と読み出しステップ(c) とは順次に行う必要がある。これは、これら共通データバスが「データボトルネック」を形成するからである。しかしながら、各情報項目は異なる記憶部内に２つの異なる記憶位置を割り当てられるので、書き込み動作を行う記憶部とは別の記憶部で読み出し動作を行うことが常に可能である（バンク交互動作）。このため、前記書き込みステップ(b) は部分的に前記読み出しステップ(c) と重なり、これによって該２つのアクセス動作の先頭（先導）または最後（後続）のプロトコルのいくつかを「隠す (Hinding)」ことができる。この結果、前記タイムスロットの最小継続時間は、同一バンクに対して行われる各１つの読み出し動作および書き込み動作の合計継続時間よりも短くすることができる。
【００１６】
ある好適な実施例において、前記第１の情報項目の書き込みは、前記第２の情報項目の読み出しより先に行われる。この方法は、前記第１および第２バンクが同一のシンクロナス・ダイナミックランダムアクセスメモリ（同期式ダイナミックランダムアクセスメモリ）の一部である場合、データスループットを向上させる。
【００１７】
前記ランダムアクセスメモリは、複数の半導体ＲＡＭ（例えば、ＳＤＲＡＭ、スタティックＲＡＭ、ダイナミックＲＡＭ、ラムバス装置、シンクリンク装置）で構成することもできる。或いは、個別のデータ記録表面（磁気ディスク表面または光学ディスク表面、ハードディスク表面またはフロッピィディスク表面）を提供する２つのディスク駆動装置、異なるデータバスを介して独立してアクセス可能な２つのデータ記録表面を提供する１つのディスク駆動装置など、２つのランダムアクセス可能な記憶部を提供する構造でも良い。いずれの場合も、各情報項目に対して、異なる記憶部（例えば、個別の半導体ＲＡＭや個別のデータ記録表面）の２つの異なる記憶位置を割り当てるので、読み出しアクセスしない記憶部には書き込みアクセスが常に可能である。つまり、書き込みステップ(b) と読み出しステップ(c) を並列に実行できることになり、これら２つのステップの長い方は、短い方に完全に重なる。このため、前記タイムスロットの最小継続時間は、長い方のステップに等しくなる。
【００１８】
いずれのケースにおいても、前記第１および第２の情報項目は１つの同一情報項目であっても構わない。
ある好適な実施例において、各情報項目は、該情報項目に割り当てられた前記第１および第２記憶位置のどちらに該情報項目が現在保持されているかを示すポインタを有する。前記ステップ(a) は、前記第２の情報項目に対応するポインタを使って、該情報項目を現在保持している記憶位置を決定する。前記第１の情報項目に対応するポインタは、該第１の情報項目が前記ステップ(b) において前記割り当てられた第１および第２記憶位置のどちらに書き込まれたかを示すべく更新される。
【００１９】
本発明の第２の形態は、１本の共通データバスを介してアクセスされる第１記憶部および第２記憶部を有するランダムアクセスメモリに使用するメモリアクセス方法を提供する。この方法は、各情報項目に対して、該情報項目の第１部分を記憶するための第１記憶位置および該情報項目の第２部分を記憶するための第２記憶位置を割り当て、該第１記憶位置および該第２記憶位置はそれぞれ前記第１記憶部および前記第２記憶部内に在り、同一タイムスロットにおいて、前記メモリに第１の情報項目を書き込んで該メモリから第２の情報項目を読み出すにあたり、(a) 前記第１の情報項目の第１部分を当該情報項目に割り当てられた前記第１記憶位置に書き込むステップと、(b) 前記第１の情報項目の第２部分を当該情報項目に割り当てられた前記第２記憶位置に書き込むステップと、(c) 前記第２の情報項目の第１部分を当該情報項目に割り当てられた前記第１記憶位置から読み出すステップと、(d) 前記第２の情報項目の第２部分を当該情報項目に割り当てられた前記第２記憶位置から読み出すステップとを所定の順序で実行する。
【００２０】
前記第１および第２記憶部が、同一のシンクロナス・ダイナミックランダムアクセスメモリまたは同一のラムバス装置または同一のシンクリンク装置の２つの個別のバンクによって提供されてもよい。或いは、前記第１記憶部および第２記憶部は、同一のディスク駆動装置の２つの異なるデータ記録表面で提供されても良い。
【００２１】
このアクセス方法は、１つの情報項目を２つの記憶部に分けて保存する。これら記憶部は、常に交互にアクセス可能であり、全域を記憶用に使える。ＳＤＲＡＭのバースト長は８ワード以上であるため、バンクスワッピングオーバヘッドを容易に隠すことができる。この方法は、本発明の第１の形態の２バンクアクセス方法に比べるとスループットは少し劣るが、メモリを１００％利用できる利点がある。
【００２２】
スループットを向上させるため、前記ステップ(a) 〜(d) を実行する所定の手順（シーケンス）が連続する少なくとも１組のステップを含み、該１組の第１ステップが前記２つの記憶部（バンク）の一方への書き込みステップであり、該１組の第２ステップが前記２つの記憶部（バンク）の他方からの読み出しステップであってもよい。例えば、一好適実施例において、前記ステップを(a) 、(d) 、(b) 、(c) の順序で実行できる。
【００２３】
前記第１および第２の情報項目は１つの同一情報項目であっても良い。
各情報項目の第１部分および第２部分は、同一長さでも良いし異なる長さでも良い。後者の場合、スループットの観点から、前記ステップ(a) 〜(d) を実行する前記手順の最後のステップは、前記第２の情報項目の２つの部分のうち長い方を読み出すステップであることが好ましい。
【００２４】
各情報項目の第１部分および第２部分の長さが異なる場合、各情報項目の２つの部分のうち短い方の長さが、単一のバーストでアクセス可能なワード数に等しいかそれよりも短いことが好ましい。前記短い部分は、単一のバーストでアクセスできるので、前記ステップ(a) 〜(d) を完了させるためのコマンドとアドレスとの合計数を減らすことができる。このため、設計が簡単になり、手順の柔軟性が増すことになる。
【００２５】
各情報項目の２つの部分のうち短い方を記憶するために割り当てる記憶位置は、該短い部分よりも長くできる。この記憶位置の余分なワードは、該記憶位置に記憶すべき情報項目部分以外の情報を記憶するために使用できる。前記余分なワードの数は、アクセスを効率的にするため、単一のバーストでアクセス可能なワード数に等しいことが好ましい。
【００２６】
本発明の第３の形態は、第１の共通データバスを介してアクセスされる第１記憶部および第２記憶部と、第２の共通データバスを介してアクセスされる第３記憶部および第４記憶部とを有するランダムアクセスメモリに使用するメモリアクセス方法を提供する。この方法は、各情報項目に対して、それぞれ前記第１記憶部内の第１記憶位置と、前記第２記憶部内の第２記憶位置と、前記第３記憶部内の第３記憶位置と、前記第４記憶部内の第４記憶位置とを割り当て、同一タイムスロットにおいて、前記メモリに第１および第２の情報項目を書き込み、前記メモリから第３および第４の情報項目を読み出すにあたり、(a) 前記第３の情報項目に割り当てられた記憶位置のうち当該情報項目を現在保持している記憶位置を決定し、前記第４の情報項目に割り当てられた記憶位置のうち当該情報項目を現在保持している記憶位置を決定し、且つ、前記記憶部のうち前記決定された記憶位置を含んでいる記憶部を特定するステップと、(b) 前記特定された記憶部以外の２つの異なる記憶部内の記憶位置に前記第１および第２の情報項目をそれぞれ書き込むステップと、(c) 前記第３および第４の情報項目を前記決定された記憶位置から読み出すステップとを実行する。
【００２７】
各情報項目に異なる記憶部における４つの異なる記憶位置を割り当てることによって、常に、２つの書き込み動作が読み出されていない記憶部に対して実行できる。一般に（第３および第４の情報項目が同一記憶部に保持されている時を除いて）、１本の共通データバスをアクセス用に共用するペアの記憶部では、該ペアの一方の記憶部から読み出しを行い、そのペアの他方の記憶部へ書き込みを行える。これら読み出しおよび書き込みは、部分的に重なっても良い。この理由は、それらがアクセス経路を共有するペアの異なる記憶部に対するものだからである。このため、前記タイムスロットの最小継続時間は、別々に実行される時の読み出しおよび書き込み動作の合計時間より短くなり得る。また、第３および第４の情報項目が同一記憶部に保持されていても、２つの書き込み動作は、アクセス経路を共有するペアの異なる２つの記憶部に対して実行されるので、交互書き込み動作の恩恵を受けられる。
【００２８】
前記第１および第２記憶部は、第１のシンクロナス・ダイナミックランダムアクセスメモリの２つの個別のバンクであり、前記第３および第４記憶部は、第２のシンクロナス・ダイナミックランダムアクセスメモリの２つの個別のバンクであることもできる。この場合、前記ステップ(a) において、前記決定された第３および第４の情報項目の記憶位置が異なるバンクにあり、これらバンクの一方が前記第１のシンクロナス・ダイナミックランダムアクセスメモリの一部であり、前記バンクの他方が前記第２のシンクロナス・ダイナミックランダムアクセスメモリの一部であると特定された場合、前記ステップ(b) における前記特定されたバンク以外のバンクに対する書き込みは、前記ステップ(c) における前記特定されたバンクからの読み出しよりも先に実行される。これはスループットを向上させる効果を提供する。
【００２９】
或いは、前記第１および第２記憶部は、第１のラムバス装置またはシンクリンク装置の２つの個別のバンクであり、前記第３および第４記憶部は、第２のラムバス装置またはシンクリンク装置の２つの個別のバンクでもよい。または、前記第１および第２記憶部は、第１のディスク駆動装置の２つの異なるデータ記録表面であり、前記第３および第４記憶部は、第２のディスク駆動装置の２つの異なるデータ記録表面でもよい。
【００３０】
読み出される情報項目の１つは書き込まれる情報項目の１つと同一でも良い。或いは、読み出される両方の情報項目は、書き込まれる情報項目と同一でも良い。
ある好適な実施例において、前記各情報項目は、該情報項目に割り当てられた前記第１〜第４記憶位置のどこに該情報項目が現在保持されているかを示す対応ポインタを有する。前記ステップ(a) は、前記第３および第４の情報項目に対応するポインタを使って、該情報項目を現在保持している記憶位置を決定する。前記第１および第２の情報項目に対応する前記ポインタは、前記ステップ(b) において前記割り当てられた第１〜第４記憶位置のどこに該情報項目が書き込まれたかを示すべく更新される。
【００３１】
本発明の第４の形態は、第１の共通データバスを介してアクセスされる第１記憶部および第２記憶部と、第２の共通データバスを介してアクセスされる第３記憶部および第４記憶部とを有するランダムアクセスメモリに使用するメモリアクセス方法を提供する。この方法は、各情報項目に対して、それぞれ第１記憶位置ペアと第２記憶位置ペアとを割り当て、各記憶位置ペアが該情報項目の第１部分を記憶するための第１記憶位置と該情報項目の第２部分を記憶するための第２記憶位置とを備え、前記第１記憶位置ペアの第１記憶位置および第２記憶位置はそれぞれ前記第１記憶部および前記第２記憶部にあり、且つ、前記第２記憶位置ペアの第１記憶位置および第２記憶位置は前記第３記憶部および前記第４記憶部にあり、同一タイムスロットにおいて、前記メモリに第１および第２の情報項目を書き込み、前記メモリから第３および第４の情報項目を読み出すにあたり、(a) 前記第３および第４の情報項目に割り当てられた前記第１および第２記憶位置ペアのうち該情報項目を現在保持している記憶位置ペアを決定するステップと、(b) 前記第３の情報項目用に決定された記憶位置ペア以外の記憶位置ペアの第１および第２記憶位置にそれぞれ前記第１の情報項目の第１および第２部分を書き込むステップと、(c) 前記第４の情報項目用に決定された記憶位置ペア以外の記憶位置ペアの第１および第２記憶位置にそれぞれ前記第２の情報項目の第１および第２部分を書き込むステップと、(d) 前記第３の情報項目の第１および第２部分を前記決定された記憶位置ペアの第１および第２記憶位置から読み出すステップと、(e) 前記第４の情報項目の第１および第２部分を前記決定された記憶位置ペアの第１および第２記憶位置から読み出すステップとを実行する。
【００３２】
このアクセス方法は、実質的に本発明の第１および第２の形態に基づくアクセス方法の組み合わせである。すなわち、２バンクアクセス方法とバンク分割アクセス方法との組み合わせである。本発明の第３の形態のアクセス方法は、メモリ使用率が２５％しかない。これに比較すると、本発明の第４の形態のアクセス方法は、５０％のメモリ使用率を実現する。ただし、そのスループットは少し劣ることになる。
【００３３】
読み出される情報項目の１つは、書き込まれる情報項目の１つと同一でも良い。或いは、読み出される情報項目の両方は、書き込まれる情報項目と同一でも良い。
前記第１および第２のバンクは、第１の同期ダイナミックランダムアクセスメモリの一部であり、前記第３および第４のバンクは、第２のシンクロナス・ダイナミックランダムアクセスメモリの一部であってもよい。この場合、前記第３および第４の情報項目が異なる記憶位置ペア（すなわち、異なるメモリ）に現在保持されていると決定された場合、前記第１および第２のメモリの各々において、前記書き込みステップ(b) および(c) の一方と、前記読み出しステップ(d) および(e) の一方とが実行される。この場合、スループットを向上させるために、各メモリにおける書き込みステップと読み出しステップとは、書き込むべき情報項目の第１部分を前記書き込みステップにおいて書き込み、読み出すべき情報項目の第２部分を前記読み出しステップにおいて読み出し、書き込むべき情報項目の第２部分を前記書き込みステップにおいて書き込み、読み出すべき情報項目の第１部分を前記読み出しステップにおいて読み出すという順序で実行することが好ましい。
【００３４】
前記第３および第４の情報項目が同一の記憶位置ペア（すなわち、同一メモリ）に現在保持されていると決定された場合、前記２つのメモリの一方において前記読み出しステップ(d) および(e) が共に実行される。また、スループットを向上させるため、該メモリの２つのバンクは前記読み出しステップ(d) および(e) を実行するに当たり、交互に読み出されることが好ましい。同様に、前記２つの書き込みステップ(b) および(c) は、前記２つのメモリの他方において実行される。スループットを向上させるため、該メモリの２つのバンクは前記書き込みステップ(b) および(c) を実行するに当たり、交互に書き込まれることが好ましい。
【００３５】
前記第１および第２記憶部は、第１のラムバス装置またはシンクリンク装置の２つの個別のバンクであり、前記第３および第４記憶部は、第２のラムバス装置またはシンクリンク装置の２つの個別のバンクでもよい。または、前記第１および第２記憶部は、第１のディスク駆動装置の２つの異なるデータ記録表面であり、前記第３および第４記憶部は、第２のディスク駆動装置の２つの異なるデータ記録表面でもよい。
【００３６】
ある好適な実施例において、前記各情報項目は、該情報項目に割り当てられた前記第１および第２記憶位置ペアのどれに該情報項目が現在保持されているかを示すポインタを有する。前記ステップ(a) は、前記第３および第４の情報項目に対応するポインタを使って、該情報項目を現在保持している記憶位置ペアを決定する。前記第１および第２の情報項目に対応する前記ポインタは、前記ステップ(b) または(c) において該情報項目に割り当てられた第１および第２記憶位置ペアのどれに該情報項目が書き込まれたかを示すべく更新される。
【００３７】
本発明の第５の形態は、第１記憶部および第２記憶部を有するランダムアクセスメモリに使用するメモリアクセス回路を提供する。この回路は、各情報項目に対して、前記メモリにおける第１記憶位置および第２記憶位置を割り当て、該第１記憶位置および該第２記憶位置はそれぞれ前記第１記憶部および前記第２記憶部内に在る割り当て手段と、同一タイムスロットにおいて、前記メモリに第１の情報項目を書き込んで該メモリから第２の情報項目を読み出すにあたり、前記第２の情報項目に割り当てられた第１および第２記憶位置のうち、当該情報項目を現在保持している方の記憶位置を決定する決定手段と、前記決定された記憶位置が前記第２記憶位置である時は、前記第１の情報項目に割り当てられた前記第１記憶位置に当該第１の情報項目を書き込み、且つ、前記決定された記憶位置が前記第１記憶位置であるときは、前記第１の情報項目に割り当てられた前記第２記憶位置に当該第１の情報項目を書き込む書き込み手段と、前記決定された記憶位置から前記第２の情報項目を読み出す読み出し手段とを備える。
【００３８】
本発明の第６の形態は、１本の共通データバスを介してアクセスされる第１記憶部および第２記憶部を有するランダムアクセスメモリに使用するメモリアクセス回路を提供する。この回路は、各情報項目に対して、該情報項目の第１部分を記憶するための第１記憶位置および該情報項目の第２部分を記憶するための第２記憶位置を割り当て、該第１記憶位置および該第２記憶位置はそれぞれ前記第１記憶部および前記第２記憶部内に在る割り当て手段と、同一タイムスロットにおいて、前記メモリに第１の情報項目を書き込んで該メモリから第２の情報項目を読み出すにあたり、前記第１の情報項目の第１部分を当該情報項目に割り当てられた前記第１記憶位置に書き込む第１書き込み手段と、前記第１の情報項目の第２部分を当該情報項目に割り当てられた前記第２記憶位置に書き込む第２書き込み手段と、前記第２の情報項目の第１部分を当該情報項目に割り当てられた前記第１記憶位置から読み出す第１読み出し手段と、前記第２の情報項目の第２部分を当該情報項目に割り当てられた前記第２記憶位置から読み出す第２読み出し手段と、同一タイムスロットにおいて、前記メモリに第１の情報項目を書き込み、前記メモリから第２の情報項目を読み出すにあたり、前記第１および第２書き込み手段と前記第１および第２読み出し手段とを各々１回ずつ所定のシーケンスで活性化するアクセス制御手段とを備える。
【００３９】
本発明の第７の形態は、第１の共通データバスを介してアクセスされる第１記憶部および第２記憶部と、第２の共通データバスを介してアクセスされる第３記憶部および第４記憶部とを有するランダムアクセスメモリに使用するメモリアクセス回路を提供する。この回路は、各情報項目に対して、それぞれ前記第１記憶部内の第１記憶位置と、前記第２記憶部内の第２記憶位置と、前記第３記憶部内の第３記憶位置と、前記第４記憶部内の第４記憶位置とを割り当てる割り当て手段と、同一タイムスロットにおいて、前記メモリに第１および第２の情報項目を書き込み、前記メモリから第３および第４の情報項目を読み出すにあたり、前記第３の情報項目に割り当てられた記憶位置のうち当該情報項目を現在保持している記憶位置を決定し、前記第４の情報項目に割り当てられた記憶位置のうち当該情報項目を現在保持している記憶位置を決定し、且つ、前記記憶部のうち前記決定された記憶位置を含んでいる記憶部を特定する決定手段と、前記特定された記憶部以外の２つの異なる記憶部内の記憶位置に前記第１および第２の情報項目をそれぞれ書き込む書き込み手段と、前記第３および第４の情報項目を前記決定された記憶位置から読み出す読み出し手段とを備える。
【００４０】
本発明の第８の形態は、第１の共通データバスを介してアクセスされる第１記憶部および第２記憶部と、第２の共通データバスを介してアクセスされる第３記憶部および第４記憶部とを有するランダムアクセスメモリに使用するメモリアクセス回路を提供する。この回路は、各情報項目に対して、それぞれ第１記憶位置ペアと第２記憶位置ペアとを割り当て、各記憶位置ペアが該情報項目の第１部分を記憶するための第１記憶位置と該情報項目の第２部分を記憶するための第２記憶位置とを備え、前記第１記憶位置ペアの第１記憶位置および第２記憶位置はそれぞれ前記第１記憶部および前記第２記憶部にあり、且つ、前記第２記憶位置ペアの第１記憶位置および第２記憶位置は前記第３記憶部および前記第４記憶部にある割り当て手段と、同一タイムスロットにおいて、前記メモリに第１および第２の情報項目を書き込み、前記メモリから第３および第４の情報項目を読み出すにあたり、前記第３および第４の情報項目に割り当てられた前記第１および第２記憶位置ペアのうち該情報項目を現在保持している記憶位置ペアを決定する決定手段と、前記第３の情報項目用に決定された記憶位置ペア以外の記憶位置ペアの第１および第２記憶位置にそれぞれ前記第１の情報項目の第１および第２部分を書き込む第１書き込み手段と、前記第４の情報項目用に決定された記憶位置ペア以外の記憶位置ペアの第１および第２記憶位置にそれぞれ前記第２の情報項目の第１および第２部分を書き込む第２書き込み手段と、前記第３の情報項目の第１および第２部分を前記決定された記憶位置ペアの第１および第２記憶位置から読み出す第１読み出し手段と、前記第４の情報項目の第１および第２部分を前記決定された記憶位置ペアの第１および第２記憶位置から読み出す第２読み出し手段とを備える。
【００４１】
本発明の第９の形態は、シンクロナス・ダイナミックランダムアクセスメモリ装置（同期式ダイナミックランダムアクセスメモリ装置）を提供する。このシンクロナス・ダイナミックランダムアクセスメモリ装置は、それぞれ２つのバンクを有する第１、第２および第３のシンクロナス・ダイナミックランダムアクセスメモリと、前記第１、第２および第３のメモリに接続され、該第１および第２のメモリの対応するバンクを並列にアクセスすると共に、該第３のメモリを個別にアクセスするアクセス制御手段とを備える。
【００４２】
この装置は、異なる長さの情報項目を高速にアクセスする便宜を提供する。
この装置の柔軟性を増すため、前記第１および第２のメモリのバースト長と前記第３のメモリのバースト長とを異ならせてもよい。或いはさらに、前記メモリの１つ（或いは各々）のバンクが、他のメモリのバンクとは異なる幅を有するようにしてもよい。
【００４３】
本発明の第１０の形態は、シンクロナス・ダイナミックランダムアクセスメモリ装置を提供する。このシンクロナス・ダイナミックランダムアクセスメモリ装置は、第１および第２のシンクロナス・ダイナミックランダムアクセスメモリを有し、該各メモリは２つのバンクを有する。前記第１のメモリのバンクは、前記第２のメモリのバンクとは異なるバンク幅となっている。
【００４４】
この装置は、異なる長さの情報項目を高速にアクセスする便宜を提供する。
本発明の第１１の形態は、シンクロナス・ダイナミックランダムアクセスメモリ装置を提供する。このシンクロナス・ダイナミックランダムアクセスメモリ装置は、クロックサイクルに基づいて同期動作可能な複数（例えば、３以上或いは４以上）のシンクロナス・ダイナミックランダムアクセスメモリと、これら複数のメモリの各々に共通制御バスを介して接続されたメモリアクセス手段とを備える。このメモリアクセス手段は、前記共通制御バスを介してコマンドとアドレスとを前記各メモリに並列に供給し、前記各メモリに所定のアクセス動作を並列に実行させる。前記コマンドおよびアドレスの各々は、前記クロックサイクルの１周期よりも長い時間を占める。
【００４５】
この装置において、前記共通制御バスの各ラインの負荷は重いが、各コマンドとアドレスとを１クロックサイクル以上（例えば、２クロックサイクル）に渡って供給することにより、この装置は正確に動作できる。より長いバーストを使うことにより、コマンドの衝突を避けられる。制御ピンの数は減少する。
前記メモリアクセス手段は、コマンド供給期間において、コマンドとアドレスとを前記各メモリに供給するための前記共通制御バスのラインがまだ安定していなければ、各メモリのチップ選択信号（クロックサイクル繰り返しレートにおいて変更しうる）を使って前記メモリを非活性化することが好ましい。
【００４６】
【発明の実施の形態】
以下、本発明に係るランダムアクセスメモリに使用するメモリアクセス方法およびメモリアクセス回路、並びに、シンクロナス・ダイナミックランダムアクセスメモリ装置の実施例を図面を参照して詳述するが、その前に、前述した図１のＳＤＲＡＭにおけるバーストモードの基本的な読み出しおよび書き込み動作を、図２（図２（ａ）〜図２（ｃ））を参照して説明する。
【００４７】
図２（ａ）〜図２（ｃ）の各々において、アクセスする情報項目(Information Item)の長さは６ワードであり、ＳＤＲＡＭのバースト長パラメータ（ＢＬ）は４である。各情報項目の最初の２ワードは第１バーストでアクセスし、残りの４ワードは第１バーストを終了させる第２バーストでアクセスする。
図２（ａ）〜図２（ｃ）を含む全ての添付タイミング図において、参照符号の意味は次の通りである。
【００４８】
Act i:  バンクｉ（i ＝０または１）の活性化
Ria:  バンクｉのアドレスａから始まるバースト読み出し
Wia:  バンクｉのアドレスａから始まるバースト書き込み
RibP: バンクｉのアドレスｂから始まる自動プリチャージによるバースト読み出し
Dibj: バンクｉにおいて開始アドレスｂを有するバーストのワードｊ（バースト長パラメータＢＬ＝４の時、ｊ＝０〜３）
Next i: このサイクルにおいて次の活性化コマンド（Ａｃｔｉ）をバンクまたはメモリに対して発行することができる。
【００４９】
各クロックサイクルは、ＳＤＲＡＭに供給されるクロック信号ＣＬＫの立ち上がりエッジから始まり、次の立ち上がりエッジまで継続する。例えば、クロックサイクル０は、立ち上がりエッジ００から始まり、次の立ち上がりエッジ０１まで継続する。
図２（ａ）は、バンク−０から情報項目を読み出す時の動作を示すタイミング図である。クロックエッジ００においてバンク−０を活性化する（Ａｃｔ０）。クロックエッジ０３において、メモリは読み出しコマンドＲ０ａを処理する準備が整う。この読み出しコマンドＲ０ａは、アドレスａから始まるバンク−０のバースト読み出しを指示する。このコマンドにより読み出されるデータのうち第１ワードＤ０ａ０は、クロックエッジ０６で使用可能となる。その前のクロックエッジ０５において、メモリは第２の読み出しコマンドＲ０ｂＰを処理する。このコマンドは、アドレスｂから始まるバンク−０のバースト読み出しを指示する。この第２の読み出しコマンドＲ０ｂＰは、第１の読み出しコマンドＲ０ａの実行をクロックサイクル７において終了させる。しかしながら、これ以前のクロックエッジ０７において、メモリは第１のバースト読み出しの第２ワードＤ０ａ１を出力している。引き続きクロックエッジ０８〜１１において、メモリは第２のバースト読み出しの４個のワードＤ０ｂ０、Ｄ０ｂ１、Ｄ０ｂ２、Ｄ０ｂ３を出力する。第２の読み出しコマンドＲ０ｂＰは、自動プリチャージコマンドを含んでいる。この自動プリチャージコマンドは、図２（ａ）の点線で囲んだＲ０Ｐであり、クロックエッジ０７において有効となる。同一バンク（本例ではバンク−０）に対する次の活性化コマンドは、クロックエッジ１０で発行可能である。これは自動プリチャージコマンドが有効になってから３サイクル後である。
【００５０】
図２（ｂ）は、情報項目の読み出し動作の他の例を示す。図２（ａ）の読み出し動作と異なる点は、クロックエッジ０５で発行する第２の読み出しコマンドが自動プリチャージコマンドを含まないことである。従って、同一のバンクに対する次の活性化コマンドが発行可能になる前に、明示的なプリチャージコマンドを発行する必要がある。この明示的なプリチャージコマンドＲ０Ｐは、第２バーストの最後のワードＤ０ｂ３が要求される時は、クロックエッジ１０以前に発行できない。従って、図２（ｂ）の読み出し例の場合、次の活性化コマンドは、明示的なプリチャージコマンドの３サイクル後のクロックエッジ１３まで発行できない。このことは、図２（ｂ）の非自動プリチャージの例は、図２（ａ）の自動プリチャージの例より効率が悪いことを示す。
【００５１】
図２（ｃ）は、情報項目の書き込み動作を示す。バンク−０をクロックエッジ０で活性化（Ａｃｔ０）する。その３サイクル後に、メモリは第１の書き込みコマンドＷ０ａを処理する準備が整う。このコマンドは、アドレスａから始まるバンク−０へのバースト書き込みを指示する。書き込みデータの第１ワードＤ０ａ０は、その書き込みコマンドと同一クロックサイクル内で供給されねばならない。クロックエッジ０４において、第１の書き込みバーストの第２ワードＤ０ａ１がデバイスに与えられる。クロックエッジ０５において、第２の書き込みコマンドＷ０ｂＰがデバイスに与えられる。このコマンドは、バンク−０のアドレスｂを開始アドレスとするバースト書き込み動作を指示し、自動プリチャージコマンドを含む。第２のバースト書き込みにおける書き込みデータの第１ワードＤ０ｂ０も、クロックエッジ０５においてデバイスに与えられる。この第２の書き込みコマンドは、第１バースト書き込みを終了させる。前記プリチャージコマンドは、クロックエッジ１０において有効となる。これは、第２バースト書き込みの最終ワードＤ０ｂ３が書き込まれてから２クロックサイクル後である。同一バンクに対する次の活性化コマンドは、クロックエッジ１３以前には発行できない。すなわち、次の活性化コマンドは、プリチャージコマンドが有効になってから３サイクル後に初めて発行可能となる。
【００５２】
図２（ｃ）の書き込み動作において、クロックエッジ０５で発行される第２書き込みコマンドＷ０ｂＰは非プリチャージタイプであっても良い。この場合、プリチャージコマンドをクロックエッジ１０において明示的に供給する必要がある。自動プリチャージコマンドは、図２（ｃ）のクロックエッジ１０まで有効にならないので、第２書き込みコマンドＷ０ｂＰに自動プリチャージコマンドを含めても利点はない（少なくとも時間的な利点はない）。
【００５３】
図３はＳＤＲＡＭにおけるバンク交互バーストアクセス動作を説明するタイミング図である。
図３（ａ）および図３（ｂ）は、バンク交互読み出しおよび書き込み動作を説明するためのタイミング図である。これは、ＳＤＲＡＭの一方のバンクに対して読み出し動作を行った後或いはその前に、そのデバイスの他方のバンクに対する書き込み動作を行うものである。この場合、読み出しおよび書き込みアクセスを行う順序は、デバイスの性能に影響を与えることがある。
【００５４】
図３（ａ）および図３（ｂ）において、各アクセス動作（書き込み動作または読み出し動作）は、４ワード長の情報項目に対して行われる。ＳＤＲＡＭのバースト長パラメータＢＬは、これに等しい４とし、各情報項目の全体が１回のバーストで読み出され、或いは書き込まれるものとする。また、書き込み情報項目Ｗはバンク−１に書き込まれるものとし、読み出し情報項目Ｒはバンク−０から読みだされるものとする。各バンクは、すでに説明した基本的な読み出しおよび書き込み手順に従うものとする。また、バンクの活性化およびデータバスの双方向性要件に対処して、いくつかの規則を追加するものとする。
【００５５】
図３（ａ）に示すように、読み出し（バンク−０）が書き込み（バンク−１）よりも先に行われる場合、すべての手順はクロックサイクル１９で完了する。このサイクルで初めて、ＳＤＲＡＭはいずれかのバンクに対する別のランダムアクセスを受け入れられる（バンク−０はクロックサイクル８から使用可能であるにもかかわらず）。
【００５６】
一方、図３（ｂ）に示すように書き込みが読み出しよりも先に行われる場合、すべての手順はクロックサイクル１１に完了する。これは、より大きなスループットを可能にする。
バンク交互読み出しのペアが連続する場合、またはバンク交互書き込みのペアが連続する場合は、どんな順序で実行しても通常はスループットに影響を与えない。同様に、同じバンクに対する各１回の読み出しおよび書き込みは、どんな順序で実行しても良い。これは各動作におけるクロックサイクル数が同じためである。
【００５７】
図４は、本発明の第１実施例を示す。この実施例において、ＳＤＲＡＭ１（例えば、図１で説明した構成を有する）は、制御バス（コントロールバス）２２およびデータバス２４を介してメモリアクセス装置２０に接続される。
メモリアクセス装置２０は、ＳＤＲＡＭ１にアクセスすることによってその通常の機能を実行するものであればどのような装置でも良い。例えば、ＡＴＭネットワークにおいて、メモリアクセス装置２０は、仮想チャネルを介してＡＴＭセルを送受信するためのトラヒック管理装置である。この場合、メモリアクセス装置２０が記憶する情報項目は、例えば、いわゆるチャネル記述子である。このチャネル記述子は、各仮想チャネルに対応し、その仮想チャネルに関するトラヒック制御パラメータを指定する。チャネル記述子は、トラヒック管理装置の通常動作において頻繁にアクセスされる。例えば、１つのＡＴＭセル寿命（６８０ｎｓ）内で、各１個の或いは各２個のチャネル記述子を読み出して書き込む必要がある。
【００５８】
同一のタイムスロット（例えば、１つのＡＴＭセル寿命）内において、情報項目（記述子）ＷをＳＤＲＡＭ１に書き込み、情報項目Ｒ（情報項目Ｗと同じ情報項目でも良いし異なる情報項目でも良い）をＳＤＲＡＭ１から読み出す場合、本発明の第１の形態に基づくメモリアクセス方法を用いる。これについて図５（ａ）および図５（ｂ）を参照して説明する。このアクセス方法は、各情報項目に２個の記憶位置を割り当てる。第１記憶位置はバンク−０内にあり、第２記憶位置はバンク−１内にある。本例では、情報項目Ｒにバンク−０の記憶位置Ｘとバンク−１の記憶位置Ｘとを割り当て、情報項目Ｗにバンク−０の記憶位置Ｙとバンク−１の記憶位置Ｙとを割り当てる。各情報項目に割り当てる２つの記憶位置は、同一アドレスを有することが好ましい（バンク選択ビットは異なるが）。これはアクセス時のアドレス指定を簡単にするためであり、必須条件ではない。各記憶位置は４ワードの深さを有する。各バンクの記憶位置ＸおよびＹは、同一ページにあっても良いし別のページにあっても良い。
【００５９】
メモリアクセス装置２０に含まれるポインタメモリ２６は、各情報項目に対応したエントリを持つ。このエントリは、それに対応する情報項目が、割り当てられた２つの記憶位置のうち、現在どちらに記憶されているかを示す。ポインタメモリ２６は、各情報項目に付き１ビットを有する。このビットが０の時、対応する情報項目はバンク−０に記憶されており、１の時バンク−１に記憶されている。
【００６０】
本発明方法の動作を説明する。タイムスロットの開始において、ポインタメモリ２６を使い、読み出す情報項目Ｒが現在バンク−０に記憶されていることを確認する（図５（ａ））。
情報項目ＷがすでにＳＤＲＡＭ１にあれば、ポインタメモリ２６はそれが現在どちらのバンクにあるかを示す。例えば、図５（ａ）において、情報項目Ｗはバンク−０にある。なお本メモリアクセス方法において、情報項目ＷがＳＤＲＡＭ１にすでに存在することは必須ではない。
【００６１】
読み出す情報項目Ｒがバンク−０にあることを確認すると、メモリアクセス装置２０は、情報項目Ｗの書き込み（場合によっては更新）用に割り当てられた第２記憶位置（バンク−１における記憶位置）を選択する。最適なスループットを実現するため、情報項目Ｗの書き込みは、情報項目Ｒの読み出しの前に実行することが好ましい。この書き込みは図３（ｂ）に示した一連のコマンドを使って行う。その結果、書き込み動作と読み出し動作とは１１クロックサイクルで完了する。これに比べ、読み出し動作を書き込み動作より先に行うと、図３（ａ）で説明したように１９クロックサイクル必要となる。
【００６２】
情報項目Ｗがバンク−１の割り当てられた記憶位置に書き込まれると、ポインタメモリ２６は図５（ｂ）のように更新され、情報項目Ｗがバンク−１に記憶されたことを示す。情報項目Ｒに対応するポインタメモリ２６のエントリは変化しない。
図５（ａ）および図５（ｂ）で説明したメモリアクセス方法は、所定のタイムスロットにおいて、読み出さないバンクに対して常に書き込みを行う。この方法の欠点は、メモリの利用率が記憶容量の５０％に過ぎないことである。
【００６３】
このメモリアクセス方法は、ＳＤＲＡＭ以外にも広く応用できる。後述する図２１および図２２（図２１（ａ），（ｂ）および図２２（ａ），（ｂ），（ｃ））は、このメモリアクセス方法を、ＳＤＲＡＭを使わないランダムアクセスメモリシステムに適用している。
２個のバンクを使用する本メモリアクセス方法は、小サイズの情報項目（４ワード長或いは８ワード長）に適当だが、メモリの「深さ」に記憶できる総項目数に限度がある。例えば、１６ＭビットＤＲＡＭ（１６ビットワードを有する）は、バンクあたり５１２Ｋワードを記憶する。つまり８ワード情報項目を６４Ｋ記憶する。この情報項目数は、応用分野によっては極めて少ない。
【００６４】
より長い情報項目を扱う場合、本発明の第２の形態に基づくメモリアクセス方法がより適切である。この方法の目的は、やはり同一タイムスロットにおいて情報項目Ｒを読み出し情報項目Ｗを書き込むことである。図６（ａ）に示す本方法は、各情報項目に２つの記憶位置を割り当てる。第１記憶位置はバンク−０であり、第２記憶位置はバンク−１である。図５（ａ）および図５（ｂ）で説明したメモリアクセス方法と異なり、ある情報項目に割り当てられる第１記憶位置は、その情報項目の第１部分（例えば、８ワード情報項目の最初の４ワード）を記憶するために使われ、その情報項目に割り当てられる第２記憶位置は、当該情報項目の残りのワードを記憶するために使われる。例えば、図６（ａ）において、情報項目Ｒの第１部分R １はバンク−０の記憶位置Ｘに記憶され、該項目Ｒの第２部分R ２はバンク−１の記憶位置Ｘに記憶される。
【００６５】
図５（ａ）および図５（ｂ）のアクセス方法で使用したポインタメモリ２６は、図６（ａ）および図６（ｂ）のアクセス方法では必要ない。
このアクセス方法は図６（ｂ）に示すように実行される。まず、▲１▼ＳＤＲＡＭ１に書き込む情報項目Ｗの第１部分Ｗ１が、メモリアクセス装置２０によって、情報項目Ｗに割り当てられた第１記憶位置（バンク−０の記憶位置Ｙ）に記憶される。次に、▲２▼情報項目Ｗが書き込まれるのと同じタイムスロットにおいて、ＳＤＲＡＭから読み出される情報項目Ｒの第２部分R ２が、該項目Ｒに割り当てられた第２記憶位置（バンク−１の記憶位置Ｘ）から読み出される。次に、▲３▼情報項目Ｗの第２部分Ｗ２が、該情報項目Ｗに割り当てられた第２記憶位置（バンク−１の記憶位置Ｙ）に書き込まれる。そして、▲４▼情報項目Ｒの第１部分R １が、該項目Ｒに割り当てられた第１記憶位置（バンク−０の記憶位置Ｘ）から読み出される。図７は、これら処理に対応するタイミング図である。この図から分かるように、各情報項目が合計８ワードで構成され該項目の第１部分と第２部分とが各４ワードの等長とすれば、図６（ｂ）の書き込みおよび読み出し動作は、合計２１クロックサイクルで完了する（どちらかのバンクに対する次の活性化コマンドはクロックエッジ２１で発行可能）。
【００６６】
図６（ｂ）で説明した４ステップは、説明通りの順序で実行する必要はない。ただしバースト長パラメータＢＬが４に設定され、各情報項目の２つの部分が各４ワードである場合、前記順序は最適である。例えば、次のような順序で各ステップを実行してもよい。バンク−０書き込み、バンク−１読み出し、バンク−０読み出し、バンク−１書き込み。或いは、バンク−０書き込み、バンク−１書き込み、バンク−０読み出し、バンク−１読み出し。
【００６７】
図６（ｂ）のバンク分割アクセス方法は、図５（ａ）および図５（ｂ）の２バンク方法に比べ、スループットが少し劣る。特に４ワードの短いバーストの時にスループットが落ちるが、より良い記憶効率（１００％）を提供する。バースト長が８ワード或いはそれ以上になると、図６（ｂ）の方法のスループットの不利は小さくなる。これは、バンクスワッピングオーバヘッドを隠すことが容易になるためである。
【００６８】
各情報項目を第１部分と第２部分とに分割してＳＤＲＡＭの２つのバンクに別々に記憶する場合、第１部分と第２部分とは同じ長さである必要はない。例えば、１０ワードの情報項目であれば、５+ ５ワード、４+ ６ワード、３+ ７ワード等に分割できる。ただし、各情報項目に割り当てられる第１および第２記憶位置は各バンクの８ワードアドレス境界に整合し、バースト長パラメータＢＬは８ワードに設定しなければならない。
【００６９】
図８は本発明の第２の形態に基づく別のメモリアクセス方法を示すタイミング図である。
図８（ａ）は、前記４ステップのアクセス方法の最適な順序を示す。この例では図６（ａ）の情報項目ＲおよびＷの長さは１０ワードであり、２バンク間で対称的（５+ ５ワード）に分割される。図８（ｂ）も前記４ステップのアクセス方法の最適な順序を示す。ただし情報項目ＷおよびＲの長さは１０ワードであるものの、２バンク間で非対称に分割される。すなわち、各情報項目の第１部分（バンク−０に記憶される）は６ワードであり、第２部分（バンク−１に記憶される）は４ワードであって第１部分より短い。
【００７０】
いずれの場合も最適順序に変化はない（図６（ｂ）と同じ）。すなわち、▲１▼バンク−０へのＷ１の書き込み、▲２▼バンク−１からのR ２の読み出し、▲３▼バンク−１へのＷ２の書き込み、▲４▼バンク−０からのR １の読み出しである。
図８（ａ）および図８（ｂ）の比較から分かるように、いずれの場合もスループットは同じである（いずれかのバンクに対する次の活性化コマンドはクロックサイクル２４で発行可能）。しかしながら、図８（ｂ）に示したバンク−０とバンク−１との間の６+ ４非対称分割を逆にして４+ ６非対称分割にすると、全体では１クロックサイクル余分に必要となる（少なくとも実行順序が、▲１▼バンク−０へのＷ１の書き込み（４ワード）、▲２▼バンク−１からのR ２の読み出し（６ワード）、▲３▼バンク−１へのＷ２の書き込み（６ワード）、▲４▼バンク−０からのR １の読み出し（４ワード）の場合）。一般に、全体を最も長い読み出しバーストで終了させ、書き込み手順の終了効果を隠すことが好ましい。
【００７１】
設計で主に考慮されるのはスループット条件だが、さらに２つの考慮がバンク分割メモリのタイプ（対称か非対称か）の選択を左右する。どのような分割方法を選択するにしろ、情報項目の一方の部分が他方の部分より４ワード長ければ、各バンクの記憶位置を８ワードのブロックで整列する必要がある。このため、１０ワード長の情報項目の場合、５+ ５分割であれば各ブロックにおいて３ワードが未使用となる。６+ ４分割または４+ ６分割であれば、一方のバンクにおいて１つの４ワードブロックが未使用となる。そしてこの４ワードは、別の目的のために効率的にアクセスできる（４ワードバーストアクセス）。さらに、図８（ａ）と図８（ｂ）との比較から分かるように、図８（ａ）のコマンドＲ１ａとＷ１ｃとは、図８（ｂ）では必要ない。これは、図８（ｂ）では、バンク−１の読み出しおよびバンク−１の書き込みは、１つの４ワードバーストで完了するためである。このように、ＳＤＲＡＭに供給されるコマンドまたはアドレスの数は、非対称６+ ４（または４+ ６）分割では少なくなる。これにより、設計が簡潔になり、手順の柔軟性が増す。
【００７２】
図９は、本発明に係る第２実施例に基づくＳＤＲＡＭメモリシステムを示す。このシステムは、第１のＳＤＲＡＭ１１（ＳＤＲＡＭ  Ａ）および第２のＳＤＲＡＭ１２（ＳＤＲＡＭ  Ｂ）を含む。これらＳＤＲＡＭの各々は、第１バンク（バンク−０）および第２バンク（バンク−１）を有し、図１に示したＳＤＲＡＭと同様の構成を持つ。さらに、ＳＤＲＡＭメモリシステムは、メモリアクセス装置３０を含む。この装置３０は、ポインタメモリ３６を有する。メモリアクセス装置３０は、制御バス２２１とデータバス２４１とを介して第１ＳＤＲＡＭ１１に接続される第１インタフェースと、制御バス２２２とデータバス２４２とを介して第２ＳＤＲＡＭ１２に接続される第２インタフェースとを有する。メモリアクセス装置３０は、基本的に第１実施例のメモリアクセス装置２０（図４）と同じである。ただし、ポインタメモリ３６は、第１実施例のポインタメモリ２６とは構成が異なる。
【００７３】
図９のメモリシステムは、本発明の第３の形態に基づくメモリアクセス方法を使用する。この方法を図１０〜図１３に基づいて説明する。各情報項目には、各バンクの４つの異なる記憶位置が割り当てられる。すなわち、ＳＤＲＡＭ  Ａのバンク−０（バンクＡ０と称する）内の第１記憶位置と、ＳＤＲＡＭ  Ａのバンク−１（バンクＡ１と称する）内の第２記憶位置と、ＳＤＲＡＭ  Ｂのバンク−０（バンクＢ０と称する）内の第３記憶位置と、ＳＤＲＡＭ  Ｂのバンク−１（バンクＢ１と称する）内の第４記憶位置とである。例えば、情報項目Ｉ１は、バンクＡ０の第１記憶位置Ｗ（Ａ０Ｗと称する）と、バンクＡ１の第２記憶位置Ｗ（Ａ１Ｗと称する）と、バンクＢ０の第３記憶位置Ｗ（Ｂ０Ｗと称する）と、バンクＢ１の第４記憶位置Ｗ（Ｂ１Ｗと称する）とを割り当てられる。
【００７４】
ある時点において、４つの割り当てられた記憶位置のうちただ１つだけが情報項目を記憶する。このためポインタメモリ３６は、各情報項目について２ビットを持てば、４つの記憶位置のうち該項目を現在記憶している１つを指示できる。図１０に示すように、情報項目Ｉ１およびＩ２が、各々に割り当てられた第１記憶位置に現在記憶されている場合、これら項目に対応するポインタメモリエントリＰ１およびＰ２は、各々Ａ０を指す。同様に、図１０に示すように、第３の情報項目Ｉ３がその項目に割り当てられた第３記憶位置に保存されている場合、その項目に対応するポインタメモリエントリＰ３は、Ｂ０を指す。
【００７５】
この４バンクアクセス方法は、同一タイムスロットにおいて、２つの情報項目を読み出すと共に２つの情報項目を書き込むことを目的としている。図１１〜図１３において、読み出す２つの情報項目はＩ３とＩ４であり、書き込む２つの情報項目はＩ１とＩ２である。
本方法の第１ステップにおいて、読み出す情報項目Ｉ３とＩ４に対応するポインタメモリエントリＰ３およびＰ４を使い、これら項目を現在保持しているバンクを決定する。この決定の結果に基づき、アクセス（すなわち、２つの読み出しと２つの書き込み）の組み合わせは、表１に記載のいずれかになる。
【００７６】
【表１】
0004212167.tif 000002
ケース１は図１１に示す通りである。２つの読み出し項目Ｉ３とＩ４は、ＳＤＲＡＭ  Ａの同一バンク（本例ではバンク−０）に保持されている。対応するタイムスロットにおいて、ＳＤＲＡＭ  Ａは、同一バンク（バンク−０）からの連続する２つの読み出しを実行せねばならない。ＳＤＲＡＭ  Ａにおけるこれら２つの連続する読み出しのタイミング図を図１４（ａ）に示す。ＳＤＲＡＭ  Ａにおけるこれら２つの連続する読み出しと並列に、２つの項目Ｉ１とＩ２が図１１に示すように、ＳＤＲＡＭ  Ｂの異なるバンクに書き込まれる。これら２つの連続する書き込み動作は、図１４（ｂ）のタイミング図に示す通りである。ＳＤＲＡＭ  Ａにおける２つの連続する読み出し（１６クロックサイクル）は、図１４（ｂ）のＳＤＲＡＭ  Ｂの異なるバンクに対する２つの連続する書き込み（１５クロックサイクル）よりもわずかに時間が長い。従って、全体の動作はクロックサイクル１６の開始時点で終了する。
【００７７】
図１２に示すケース２の場合、読み出す２つの項目Ｉ３およびＩ４は、ＳＤＲＡＭ  Ａの異なるバンクにある。これら２つの読み出しは、図１５（ａ）に示す通り、ＳＤＲＡＭ  Ａにおいて連続して実行される。これら２つの読み出し動作と同時に、項目Ｉ１とＩ２とが、図１４（ｂ）に示すように、ＳＤＲＡＭ  Ｂの異なるバンクに書き込まれる。この場合、図１４（ｂ）の連続する２つの書き込み（１５クロックサイクル）は、図１５（ａ）の連続する２つの読み出し（１２クロックサイクル）よりも長い時間を要する。従って、全体の動作は、クロックサイクル１５の開始時点で終了する。
【００７８】
ケース３の場合、図１３に示すように、読み出す２つの項目Ｉ３とＩ４とは、異なるＳＤＲＡＭにある。すなわち、Ｉ３はバンクＡ０にあり、Ｉ４はバンクＢ０にある。ＳＤＲＡＭ  Ａにおいては、項目Ｉ１がバンク−１に書き込まれてからバンク−０から項目Ｉ３が読み出される。これらＳＤＲＡＭ  Ａにおける動作と並列して、ＳＤＲＡＭ  Ｂでは、項目Ｉ２がバンク−１に書き込まれてから項目Ｉ４がバンク−０から読み出される。これら動作のタイミング図を図１５（ｂ）に示す。全体の動作は、１１クロックサイクルで完了する。
【００７９】
各ＳＤＲＡＭにおいて、２つのアクセスは強制的に異なるバンクに対して行われる（ただしケース１のように同一バンクに対して２つの読み出し動作が行われる場合を除く。この時は、都合の良いことに、許容できる程度のオーバヘッドしか発生しない）。これによってバンクスワッピングオーバヘッドを隠す。
情報項目が４ワード長であれば、表１のケース１は最も時間がかかる。
【００８０】
本発明の第３の形態に基づく前記メモリアクセス方法は、メモリ使用効率が２５％しかない。しかしながらこの方法は、非常に高い帯域幅を実現する。
各情報項目の長さが４ワードよりも長ければ（８ワードなら確実である）、図６（ａ）および図６（ｂ）のバンク分割方法と図１０の４バンクデータ構造とを組み合わせることが有効である。
【００８１】
この組み合わせ方法において、各情報項目は（図１０に示すように）異なるバンク（Ａ０、Ａ１、Ｂ０、Ｂ１）の４つの異なる記憶位置を割り当てられる。各情報項目に割り当てられる第１および第２記憶位置、すなわち、ＳＤＲＡＭ  Ａの２つの記憶位置は、第１記憶位置ペアとして扱われる。そして各情報項目に割り当てられる第３および第４記憶位置、すなわち、ＳＤＲＡＭ  Ｂにおける２つの記憶位置は、第２記憶位置ペアとして扱われる。
【００８２】
各情報項目は、第１および第２部分に分割される。そしてこれら第１および第２部分は、第１または第２記憶位置ペアに保持される。つまり各情報項目は、それに割り当てられた第１記憶位置ペアにすべて記憶されるか、またはそれに割り当てられた第２記憶位置ペアにすべて記憶される。従って、本実施例においては、ポインタメモリ３６は、各情報項目について１ビットあれば、当該情報項目を現在保持している記憶位置ペア（すなわち、ＳＤＲＡＭ  ＡまたはＳＤＲＡＭ  Ｂ）を特定できる。
【００８３】
図１６〜図１８は本発明の第４の形態に基づくメモリアクセス方法を説明するための図である。
上記の方法に基づく記憶装置の構造を図１６に示す。Ｉ１- １は情報項目Ｉ１の第１部分を示し、Ｉ１- ２はその第２部分を示す。以下同様である。
アクセス方法を説明する。読み出す情報項目Ｉ３とＩ４に対応するポインタメモリエントリＰ３とＰ４とを使い、これら項目が現在記憶されている記憶位置ペアを決定する。この決定の結果、表２のケース(a) または(b) が実行される。
【００８４】
【表２】
0004212167.tif 000003
ケース(a) の場合、読み出す項目Ｉ３およびＩ４は、共にＳＤＲＡＭ  Ａに記憶されている。従って、ＳＤＲＡＭ  Ａにおいて次の４つの読み出し動作が実行される。
【００８５】
【数１】
0004212167.tif 000004
ＳＤＲＡＭ  Ａからのこれら４つの読み出し動作は、合計２０クロックサイクルを要する。
【００８６】
ＳＤＲＡＭ  Ａからの前記４つの読み出し動作と同時に、ＳＤＲＡＭ  Ｂにおいて４つの連続する書き込み動作が次のように行われる。
【００８７】
【数２】
0004212167.tif 000005
ＳＤＲＡＭ  Ｂへの書き込みは、バンク−０に対して２２クロックサイクル、バンク−１に対して２６クロックサイクルで完了する。本メモリアクセス方法は、常に、バンク分割アクセス動作（所定のタイムスロットにおける）を開始するに当たり、バンク−０の動作（バンク−１において前のタイムスロットからの動作が完了していない場合）から始めるので、より少ない数（バンク−０）のクロックサイクル（２２クロックサイクル）を使うことができる。
【００８８】
表２のケース(b) では、読み出す２つの情報項目Ｉ３およびＩ４は、異なるＳＤＲＡＭに現在保持されている。このため、各ＳＤＲＡＭにおいて１つの情報項目が読み出され１つの情報項目が書き込まれる。ＳＤＲＡＭ  Ａにおける動作順序は次の通りである。
【００８９】
【数３】
0004212167.tif 000006
これらＳＤＲＡＭ  Ａにおける動作と同時に、ＳＤＲＡＭ  Ｂでは次の順序で動作が行われる。
【００９０】
【数４】
0004212167.tif 000007
ＳＤＲＡＭ  ＡおよびＳＤＲＡＭ  Ｂにおいて実行される各ステップ（Ｒ０、Ｒ１、Ｗ０、Ｗ１）は、バンク−０の動作を完了するのに２３クロックサイクル、バンク−１の動作を完了するのに２７クロックサイクルを要する。従って、本発明の最悪のケースはケース(b) であり、これは２３クロックサイクルを要する。これに対し、ケース(a) は２２クロックサイクルである。ケース(b) における動作をもっと早く完了させる必要があるなら（これによってケース(a) が最悪のケースになる）、ＳＤＲＡＭ  Ａにおいて次のように実行する。
【００９１】
▲１▼  ＳＤＲＡＭ  ＡへのＩ１- １の書き込み：Ａ０Ｗを書き込み、Ａ１Ｙの読み出し準備
▲２▼  ＳＤＲＡＭ  ＡからのＩ３- ２の読み出し：Ａ１Ｙを読み出し、Ａ１Ｗの書き込み準備
▲３▼  ＳＤＲＡＭ  ＡへのＩ１- ２の書き込み：Ａ１Ｗを書き込み、Ａ０Ｙの読み出し準備
▲４▼  ＳＤＲＡＭ  ＡからのＩ３- １の読み出し：Ａ０Ｙを読み出す
ＳＤＲＡＭ  Ａにおけるこれら動作と同時に、ＳＤＲＡＭ  Ｂにおいて次の動作を実行する。
【００９２】
▲１▼  ＳＤＲＡＭ  ＢへのＩ２- １の書き込み：Ｂ０Ｘを書き込み、Ｂ１Ｚの読み出し準備
▲２▼  ＳＤＲＡＭ  ＢからのＩ４- ２の読み出し：Ｂ１Ｚを読み出し、Ｂ１Ｘの書き込み準備
▲３▼  ＳＤＲＡＭ  ＢへのＩ２- ２の書き込み：Ｂ１Ｘを書き込み、Ｂ０Ｚの読み出し準備
▲４▼  ＳＤＲＡＭ  ＢからのＩ４- １の読み出し：Ｂ０Ｚを読み出す
ＳＤＲＡＭ  ＡおよびＳＤＲＡＭ  Ｂにおけるこれら動作は、図７に示す動作に対応し、完了するまでに２０クロックサイクルを要する。これら動作は、表２のケース(a) における４つの書き込み動作（ＳＤＲＡＭ  Ｂへの）より早い。
【００９３】
この本発明の第４の形態に基づくメモリアクセス方法は、記憶効率の点で好ましい（メモリ使用効率は５０％になる。これは図１０〜図１３の４バンク方法の２５％よりはるかに良い）。ただし欠点として全体の性能が落ちる（４バンク方法に比べ）。性能が落ちるのは、バンクあたりの有効バースト長が４バンク方法に比べ半分だからである。
【００９４】
図１９は、本発明の第３実施例に基づくＳＤＲＡＭメモリシステムを示す。メモリアクセス装置４０は、２つのメモリインタフェースを持つ。各インタフェースは、共通制御バス２２１または２２２および４８ビットデータバス２４１または２４２を介して、３個の１６ビット幅ＳＤＲＡＭ１Ａ０〜１Ａ２または１Ｂ０〜１Ｂ２に接続される。前記共通制御バスは、クロック信号およびアドレス信号を含めて２４個の信号を伝送する。各ＳＤＲＡＭ１Ａ０〜１Ａ２および１Ｂ０〜１Ｂ２は、図１に示すものと同じＳＤＲＡＭで良い。
【００９５】
本発明の第１〜第８の形態に基づくメモリアクセス方法および装置の各々は、図１９のＳＤＲＡＭメモリシステムによって実現できる。これら方法および装置において２バンクへのアクセスを行う場合、この２バンクは、図１９のシステムにおいて、次の３つの概念的レベルのいずれかに存在する。
・同一のＳＤＲＡＭ内（例えば、ＳＤＲＡＭ１Ａ０のバンク−０およびバンク−１）
・同一のインタフェース内（例えば、ＳＤＲＡＭ１Ａ１およびＳＤＲＡＭ１Ａ０の各バンク−０）
・異なるインタフェース間（例えば、ＳＤＲＡＭ１Ｂ０およびＳＤＲＡＭ１Ａ０の各バンク−０）
図１９のＳＤＲＡＭメモリシステムにおいて、各ＳＤＲＡＭは各自のチップ選択信号を持つ。このチップ選択信号は、メモリシステムの最高クロック周波数において動作しなければならない唯一の信号である。あるＳＤＲＡＭのチップ選択信号が非活性である場合、そのＳＤＲＡＭは制御バス２２１または２２２の信号線を通って供給されるコマンドに応答しない。このためチップ選択信号によって各ＳＤＲＡＭを制御することにより後述の動作が可能となり、メモリシステムの柔軟性が増す。
【００９６】
図１９のメモリシステムの動作モードの１つは、いくつかのＳＤＲＡＭを並列動作させることによって幅の広い（１６ビット以上）バンクを作り出す。高性能装置にメモリシステムを適用する場合、高い動作周波数が必要になる。そうなると単一の制御バス２２１または２２２では、４個以上のＳＤＲＡＭを十分に動作させることは難しい（せいぜい３個まで）。このことが、最大データ速度（１６ビット幅）をデータ伝送サイクルあたり４８または６４ビットに制限する結果となる。
【００９７】
一般に、データ伝送サイクルは、８ワード以下のバーストサイズについて、経過クロックサイクルの約６７％である。しかしながら、本発明の第１〜４の形態に基づくメモリアクセス方法を採用することにより、この数字をある程度向上できる。
図１９のメモリシステムの別の動作モードでは、同一の制御バスに接続したいくつかのＳＤＲＡＭを個別に動作させることにより（個別のチップ選択信号を使って）、対応するインタフェース上にメモリバンクを追加する効果を与える。例えば、本発明の第９の形態に基づくメモリ装置は、ＳＤＲＡＭ１Ａ１およびＳＤＲＡＭ１Ａ２を並列動作させることができる（バンク−０およびバンク−１を各々３２ビット幅と見なす）。そしてＳＤＲＡＭ１Ａ０は別個に動作させる（２つの１６ビット幅メモリを追加することになる。これらはインタフェースＡのバンク２および３と見なされる）。
【００９８】
ＳＤＲＡＭ１Ａ０は、同一インタフェースに属する他の２つのＳＤＲＡＭ１Ａ１およびＳＤＲＡＭ１Ａ２とは独立に構成しても良い。例えば、ＳＤＲＡＭ１Ａ１およびＳＤＲＡＭ１Ａ２が提供する幅広バンク−０およびバンク−１は４ワードのバースト長を持たせ、ＳＤＲＡＭ１Ａ０が提供する狭いバンク２および３は、８ワードのバースト長を持たせる。
【００９９】
或いはさらに、本発明の第１０の形態に基づき、同一のインタフェースに属するＳＤＲＡＭ１Ａ０〜ＳＤＲＡＭ１Ａ２は、異なるバンクサイズの混合でも良い。例えば、ＳＤＲＡＭ１Ａ０は４ビット幅のバンクを有し、ＳＤＲＡＭ１Ａ１は８ビット幅のバンクを有し、ＳＤＲＡＭ１Ａ２は１６ビット幅のバンクを有しても良い。
【０１００】
このような柔軟性に対する唯一の制限は、利用可能なバンクを使うために、共通制御バス２２１または２２２に空きサイクルを存在させねばならないことである。
本発明の第１１の形態に基づく一実施例は、３または４或いはそれ以上のＳＤＲＡＭを図１９の共通制御バス２２１または２２２に接続できる。これによって極めて幅の広いバンク（４８または６４ビット以上）を提供する。この結果、アドレス信号および制御信号の負荷が重くなり、選択された動作周波数においてタイミング条件を満たせない可能性がある。このような状況においても、制御信号が正確な電気的レベルに到達するまでの時間として１クロックサイクル以上を許容すれば、これらＳＤＲＡＭは正しく動作する。この場合、各チップ選択信号は、選択された動作周波数で完全に動作することが求められる。このチップ選択信号は、他の信号が安定するまでＳＤＲＡＭを非活性化するために使われる。あるＳＤＲＡＭにコマンドが供給されると、対応するチップ選択信号がそれに続いて非活性化しても、そのコマンドは正常に実行される。
【０１０１】
この動作モードの欠点は、ＳＤＲＡＭに対して発行される各コマンドが、１クロックサイクル以上を必要とすることである。これが制御バスを混雑させ、コマンドの発行を遅らせる原因になる。
図２０は、メモリシステムにおけるバンク交互書き込み読み出し動作の例を示す。このメモリシステムは、並列動作する４つ或いはそれ以上のＳＤＲＡＭを有する。図２０の手順は、図３（ｂ）のバンク交互書き込み読み出し動作と比較できる。図３（ｂ）の例では、図４に示すように１つのＳＤＲＡＭだけがアクセス制御装置のインタフェースに接続されている。
【０１０２】
図２０の動作例では、各コマンド（バンク−１の活性化、バンク−０の活性化、自動プリチャージによるバンク−１への書き込み、自動プリチャージによるバンク−０からの読み出し）は、２クロックサイクルを占める。そしてコマンド信号が安定するまで、チップ選択信号CSを使ってＳＤＲＡＭを非活性化する。コマンドの衝突を回避できれば（より長いバーストを使用して）、この方法は有効であり制御ピン数を減らせる。
【０１０３】
本発明のメモリアクセス方法をＳＤＲＡＭに関連して説明してきたが、これら方法は各種ランダムアクセスメモリシステムに広く適用できる。
例えば、内部的に２つ或いはそれ以上の異なる記憶部を有し、外部からこれら記憶部に共通データ線またはバスを介してアクセスするタイプのランダムアクセスメモリがある。例えば、ラムバス装置やシンクリンク装置は、２つまたはそれ以上のメモリバンクを有し、これらは内部的にアクセスされ、外部的には共通データバスを使ってアクセスされる。またディスク駆動装置は、装置内に２つまたはそれ以上のデータ記録表面（磁気表面または光学表面、剛体表面または可撓表面）を有し、これら表面は個別にアクセス可能である（すなわち、個別の読み出し／書き込みヘッドが各データ記録表面に設けられている）。しかしながらこの装置は、２つのデータ記録表面にアクセスするために共通データバスを使う。この共通データバスは「データボトルネック」となる。読み出し動作と書き込み動作とを同一タイムスロットにおいて実行する時、読み出し動作のデータと書き込み動作のデータとは、同時にデータバスにあってはならない。前記メモリアクセス方法は、これら２つの動作を異なる記憶位置に対して実行する（ＳＤＲＡＭ、ラムバス装置、シンクリンク装置における異なるバンク、ディスク駆動装置における異なるデータ記録表面）。したがって、交互アクセスの利点（アクセス動作の開始および終了に必要なプロトコルのいくつかを隠せる）が得られるため、スループットが向上する。これは使用するランダムアクセスメモリのタイプに無関係である。
【０１０４】
本発明の第１の形態に基づくメモリアクセス方法は、２つ以上の記憶部を有し、それらが共通データバスを共用することなく各々のデータバスを持っているランダムアクセスメモリシステムに適用すると効果が大きい。この場合、各情報項目は、メモリシステムの第１記憶部に第１記憶位置を割り当てられ、第２記憶部に第２記憶位置を割り当てられる。第１および第２記憶位置は、異なる半導体ランダムアクセスメモリ（スタティックＲＡＭ：ＳＲＡＭ、ダイナミックＲＡＭ：ＤＲＡＭ、ＳＤＲＡＭ、ラムバス装置、シンクリンク装置等）でもよい。或いはディスク駆動装置の異なるデータ記録表面でもよい。これらデータ記録表面は、異なるディスク駆動装置にあってもよいし、同一のディスク駆動装置の一部であってもよい。後者の場合、その装置内の２つのデータ記録表面のデータを並列にアクセスできることが条件である。
【０１０５】
前記２つの記憶位置が同時にアクセス可能であって、各情報項目にそれら２つの異なる記憶部内の２つの記憶位置を割り当てる場合、書き込み動作（一方の記憶部に対して）と読み出し動作（他方の記憶部に対して）との並列実行を保証できる。このためスループットが著しく向上する。そしてタイムスロットの最短期間（１つの情報項目を書き込み１つの情報項目を読み出す期間）は、２つのアクセス動作（書き込みおよび読み出し）の長い方の期間に等しいところまで減らせる。
【０１０６】
例えば、本発明の第１の形態に基づくメモリアクセス方法を、スタティックＲＡＭを使用するランダムアクセスメモリシステム、およびラムバスメモリ装置を使用するランダムアクセスメモリシステムに関連して説明する。
図２１は本発明の第１の形態に基づくメモリアクセス方法をスタティックＲＡＭを含むランダムアクセスメモリシステムに適用した場合の説明図である。
【０１０７】
図２１（ａ）において、ランダムアクセスメモリシステムは、第１のＳＲＡＭ１０１Ａ（ＳＲＡＭ０）と第２のＳＲＡＭ１０１Ｂ（ＳＲＡＭ１）とを有する。図２１（ａ）のランダムアクセスメモリシステムにおいて、各情報項目（図２１（ａ）は例として情報項目ａ〜ｄを示す）は、第１記憶位置がＳＲＡＭ０に割り当てられ、第２記憶位置がＳＲＡＭ１に割り当てられている。
【０１０８】
図２１（ａ）の各ＳＲＡＭは、所定のタイムスロット（１つのクロックサイクル）において１個の情報項目の読み出しまたは書き込みを実行できるが、そのタイムスロットにおいて読み出しおよび書き込みの両方を実行することはできない。
はじめに情報項目ａ〜ｄは、前回のランダムアクセスの結果、図２１（ａ）に示すように、２つの異なるＳＲＡＭに保持されている。このメモリシステムを使用している回路は、パイプラインでデータを処理するものとする。そして、あるクロックサイクルにおいて１つの情報項目をこのメモリシステムから読み出し、これと同時に、前のクロックサイクルで読み出し所定の処理或いは変更を施した情報項目をそこへ書き戻すものとする。本例のデータ処理は１クロックサイクルで行われるものとする。ただし本方法は、情報項目を読み出し、処理し、書き戻すまでに必要なクロックサイクルの数に無関係である。
【０１０９】
図２１（ｂ）において、読み出しおよび書き込み動作は次のように行われる。
・クロック期間１、ＳＲＡＭ０からの読み出し(a) 、ＳＲＡＭ１への書き込み(*)
・クロック期間２、ＳＲＡＭ０からの読み出し(b) 、ＳＲＡＭ１への書き込み(*)
・クロック期間３、ＳＲＡＭ１からの読み出し(c) 、ＳＲＡＭ０への書き込み(a) （ＳＲＡＭ１は使用中）
・クロック期間４、ＳＲＡＭ０からの読み出し(d) 、ＳＲＡＭ１への書き込み(b) （ＳＲＡＭ０は使用中）
・クロック期間５、ＳＲＡＭ* からの読み出し(*) 、ＳＲＡＭ' への書き込み(c) （* および' は異なるＲＡＭを示す）
前記ランダムアクセスメモリシステムは、ある情報項目の更新されたものがメモリの１つに戻されるまでに、その情報項目が再びアクセスされるような事態に対処するための論理を付け加える必要がある。この種の論理の追加は、パイプライン処理技術では良く知られており、当業者には自明である。
【０１１０】
図２１（ａ）は、情報項目ａ〜ｄの記憶位置を連続アドレスとしているが、これはもちろん情報項目が連続しているかどうかとは無関係である。
図２２は本発明の第１の形態に基づくメモリアクセス方法をラムバス装置を含むランダムアクセスメモリシステムに適用した場合の説明図であり、図２２（ａ）はランダムアクセスメモリシステムの他の例を示している。このシステムは、第１のラムバスメモリ２０１Ａ（ＭＥＭ０）と、第２のラムバスメモリ２０１Ｂ（ＭＥＭ１）とを有する。
【０１１１】
ラムバスメモリは極めて高速にアクセスできる簡単なメモリで、アクセス開始には比較的多くのクロックサイクル（ＳＤＲＡＭより多い）を要するプロトコルを使う。そしてデータ転送前に余分のクロックサイクルを使う。実効スループットレートを高く維持するために、データ転送サイズは一般に３２バイト以上である。このようなメモリの例として、日本電気株式会社製のμＰＤ４８８１３０Ｌや株式会社東芝製のＴＣ５９Ｒ０８０８ＨＫがある。
【０１１２】
ラムバスメモリにおいては、図２２（ｂ）に示すように、いくつかのクロックサイクルに渡って転送される１つのコマンドによってデータアクセス動作が開始される。次に数クロックサイクルの待ち時間がある。それに続いて数クロックサイクルのデータ転送期間がある。これら動作の実際の基準は、常にクロック信号の両エッジである。
【０１１３】
図２２（ａ）のラムバスメモリシステムにおいて、各ラムバスメモリは、所定の期間内に情報項目のバースト読み出しまたはバースト書き込みを実行できなければならないが、その両方を該期間内に実行することは不可能である。本例における情報項目は、３２ワード長ブロックでありその期間は５０クロックサイクルである。
【０１１４】
図２２（ｃ）において、図２２（ａ）のメモリシステムのメモリアクセス方法は次の通りである。
・期間１：ＭＥＭ０からの読み出し(a) 、ＭＥＭ１への書き込み(*)
・期間２：ＭＥＭ０からの読み出し(b) 、ＭＥＭ１への書き込み(*)
・期間３：ＭＥＭ１からの読み出し(c) 、ＭＥＭ０への書き込み(a) （ＭＥＭ１が使用中のため）
・期間４：ＭＥＭ０からの読み出し(d) 、ＭＥＭ１への書き込み(b) （ＭＥＭ０が使用中のため）
・期間５：ＭＥＭ* からの読み出し(*) 、ＭＥＭ' への書き込み(c) （* および' は異なるメモリを示す）
情報項目のパイプライン処理は５０クロックサイクル（１期間）を必要とするものとする。これは情報項目のアドレスが図２２（ａ）において連続しているかどうかとは無関係である。図２１（ａ）および図２１（ｂ）のＳＲＡＭをベースとしたシステムと同様に、ある情報項目が更新されてメモリの１つに戻される前に、その情報項目が再度アクセスされるような事態に対処するため、論理を追加する必要があり得る。
【０１１５】
前述のように、図５（ａ）および図５（ｂ）においてＳＤＲＡＭに関連して説明した「２バンク」方式は、いかなるタイプのランダムアクセスメモリシステムにも適用できる。ただしそのシステムの各メモリは、読み出し或いは書き込みの要求速度を維持できなければならない。この制限は、転送完了までの合計時間或いは単にデータ帯域幅に起因する。なお転送完了までの合計時間による制限は、場合によっては交互バンクアクセスによって緩和できる。ただしデータ帯域幅による制限は、交互バンクアクセスでは十分に緩和できず、図２１および図２２（図２１（ａ），（ｂ）および図２２（ａ），（ｂ），（ｃ））に示したように、異なるメモリ（ディスク駆動装置においては異なるデータ記録表面）において読み出し動作と書き込み動作とを並列に行い、必要なスループットを確保する必要がある。
【０１１６】
図６（ａ），図６（ｂ）、図８（ａ），図８（ｂ）、図１０〜図１３、図１６，図１７，図１８では、ＳＤＲＡＭに基づくランダムアクセスメモリシステムに基づいてメモリアクセス方法を説明したが、これらメモリアクセス方法は、他のタイプのメモリを使用するランダムアクセスメモリシステムにも有効である。ただしこれらメモリもＳＤＲＡＭと同様の制限を受ける。すなわち、各メモリは複数の記憶部（バンク）を備え、それら記憶部の２つの記憶位置のデータをアクセスするために、１本の共通データバスが使用可能でなければならない。この制限は、ラムバスメモリやシンクリンクメモリにも適用される。さらに前記制限は、ディスクを基本とする記憶装置であって少なくとも２つのデータ記録表面（磁気表面または光学表面、剛体表面または可撓表面）を備え、それら表面が「データボトルネック」である１本の共通データバスを介してアクセスされる場合にも適用される。このように、「データボトルネック」を有するあらゆるランダムアクセスメモリシステムの記憶部に対し、本発明のメモリアクセス方法は、効果的に交互アクセスおよび／または並列アクセスを実現する。添付特許請求の範囲はこれに従って解釈されるべきものである。
【０１１７】
【発明の効果】
以上、詳述したように、本発明によれば、効果的に交互アクセス或いは並列アクセスを実現することのできるメモリアクセス方法およびメモリアクセス回路、並びに、シンクロナス・ダイナミックランダムアクセスメモリ装置および半導体記憶装置を提供することができる。
【図面の簡単な説明】
【図１】本発明の実施例に使用可能なＳＤＲＡＭの一構成例を示すブロック図である。
【図２】ＳＤＲＡＭにおける各種バーストアクセス動作を示すタイミング図である。
【図３】ＳＤＲＡＭにおけるバンク交互バーストアクセス動作を説明するタイミング図である。
【図４】本発明に係る第１実施例に基づくＳＤＲＡＭメモリシステムの各部を示すブロック図である。
【図５】本発明の第１の形態に基づくメモリアクセス方法を説明するための図である。
【図６】本発明の第２の形態に基づくメモリアクセス方法を説明するための図である。
【図７】図６に示すメモリアクセス方法に関するタイミング図である。
【図８】本発明の第２の形態に基づく別のメモリアクセス方法を示すタイミング図である。
【図９】本発明に係る第２実施例に基づくＳＤＲＡＭメモリシステムの各部を示すブロック図である。
【図１０】本発明の第３の形態に基づくメモリアクセス方法を説明するための図（その１）である。
【図１１】本発明の第３の形態に基づくメモリアクセス方法を説明するための図（その２）である。
【図１２】本発明の第３の形態に基づくメモリアクセス方法を説明するための図（その３）である。
【図１３】本発明の第３の形態に基づくメモリアクセス方法を説明するための図（その４）である。
【図１４】図１０および図１１に示すメモリアクセス方法に関するタイミング図である。
【図１５】図１２および図１３に示すメモリアクセス方法に関するタイミング図である。
【図１６】本発明の第４の形態に基づくメモリアクセス方法を説明するための図（その１）である。
【図１７】本発明の第４の形態に基づくメモリアクセス方法を説明するための図（その２）である。
【図１８】本発明の第４の形態に基づくメモリアクセス方法を説明するための図（その３）である。
【図１９】本発明に係る第３実施例に基づくＳＤＲＡＭメモリシステムの各部を示すブロック図である。
【図２０】図１９のメモリシステムの変更形態の動作を示すタイミング図であり、図３（ｂ）に対応するものである。
【図２１】本発明の第１の形態に基づくメモリアクセス方法をスタティックＲＡＭを含むランダムアクセスメモリシステムに適用した場合の説明図である。
【図２２】本発明の第１の形態に基づくメモリアクセス方法をラムバス装置を含むランダムアクセスメモリシステムに適用した場合の説明図である。
【符号の説明】
１…ＳＤＲＡＭ
２…ＤＲＡＭコア（バンク−０）
３…ＤＲＡＭコア（バンク−１）
４…アドレスバッファ／レジスタ
５…クロックバッファ
７…入出力データバッファ／レジスタ
８，９…制御信号ラッチ
１０…モードレジスタ
１１…第１のＳＤＲＡＭ（ＳＤＲＡＭ  Ａ）
１２…第２のＳＤＲＡＭ（ＳＤＲＡＭ  Ｂ）
２０，３０，４０…メモリアクセス装置
２２，２２１，２２２…制御バス（コントロールバス）
２４，２４１，２４２…データバス
２６，３６…ポインタ
１１０，１２０…列アドレスカウンタ（コラムアドレスカウンタ）
【図１】
0004212167.tif 000008
【図２】
0004212167.tif 000009
【図３】
0004212167.tif 000010
【図４】
0004212167.tif 000011
【図５】
0004212167.tif 000012
【図６】
0004212167.tif 000013
【図７】
0004212167.tif 000014
【図８】
0004212167.tif 000015
【図９】
0004212167.tif 000016
【図１０】
0004212167.tif 000017
【図１１】
0004212167.tif 000018
【図１２】
0004212167.tif 000019
【図１３】
0004212167.tif 000020
【図１４】
0004212167.tif 000021
【図１５】
0004212167.tif 000022
【図１６】
0004212167.tif 000023
【図１７】
0004212167.tif 000024
【図１８】
0004212167.tif 000025
【図１９】
0004212167.tif 000026
【図２０】
0004212167.tif 000027
【図２１】
0004212167.tif 000028
【図２２】
0004212167.tif 000029