(57)【要約】      （修正有）【課題】主バンクにおける行リフレッシュ動作がその行に対する読み出しと対立した場合、リフレッシュ動作を一時停止し、読み出し動作が実行される技術を提供する。【解決手段】ＤＲＡＭの第１のメモリアレイにおけるリフレッシュ動作の実行中に、第１のメモリアレイの第１の行に対する第１のデータアクセス要求が受け取られる。リフレッシュ動作が中断される。第１のデータアクセス要求が実行され、同時に、第１のデータアクセス要求において示された任意の更新を含む第１のメモリアレイの第１の行のビットが転送レジスタへとラッチされる。転送レジスタへとラッチされたビットは、ＤＲＡＭの第２のメモリアレイ内の対応する第１の行へと書き込まれる。第１のメモリアレイ内の第１の行に対する後続のデータアクセス要求が第２のメモリアレイから実行されることを示すために、バンク選択論理が更新される。その後、リフレッシュ動作が再開される。【選択図】図１
2016115391.tif 000002
【特許請求の範囲】
【請求項１】
ＤＲＡＭを動作させる方法であって、
前記ＤＲＡＭの第１のメモリアレイにおけるリフレッシュ動作の実行中に、前記第１のメモリアレイの第１の行に対する第１のデータアクセス要求を受け取ることと、
前記リフレッシュ動作を中断することと、
前記第１のデータアクセス要求を実行することと、
これと同時に、前記第１のデータアクセス要求において示された任意の更新を含む前記第１のメモリアレイの前記第１の行のビットを転送レジスタへとラッチすることと、
前記転送レジスタへとラッチされたビットを前記ＤＲＡＭの第２のメモリアレイ内の対応する第１の行へと書き込むことと、
前記第１のメモリアレイ内の前記第１の行に対する後続のデータアクセス要求が前記第２のメモリアレイから実行されることを示すためにバンク選択論理を更新することと、
前記リフレッシュ動作を再開することと、を備える方法。
【請求項２】
前記第１のメモリアレイの前記第１の行に対する前記第１のデータアクセス要求は読み出しアクセス要求であり、
前記第１のデータアクセス要求を実行することは、前記読み出しアクセス要求を前記第１のメモリアレイの前記第１の行から実行することを備え、
前記方法は、
前記第１のメモリアレイの前記第１の行に対する連続する第２の読み出しアクセス要求を受け取ることと、
前記第２の読み出しアクセス要求を前記転送レジスタから実行することと、を更に備える請求項１に記載の方法。
【請求項３】
前記転送レジスタは第１のラッチ及び第２のラッチを含み、
前記第１のメモリアレイの前記第１の行に対する前記第１のデータアクセス要求は読み出しアクセス要求であり、
前記第１のデータアクセス要求を実行することは、前記読み出しアクセス要求を前記第１のメモリアレイの前記第１の行から実行することを備え、
前記第１のメモリアレイの前記第１の行のビットを前記転送レジスタへとラッチすることは、前記第１の行内のビットを前記転送レジスタの前記第１のラッチへとラッチすることを備え、
前記転送レジスタへとラッチされたビットを前記ＤＲＡＭの第２のメモリアレイ内の対応する第１の行へと書き込みことは、前記転送レジスタの前記第１のラッチへとラッチされたビットを前記ＤＲＡＭの第２のメモリアレイ内の対応する第１の行へと書き込むことを備え、
前記方法は、
前記第１のメモリアレイ内の第２の行に対する連続する第２の読み出しアクセス要求を受け取ることと、
前記第２の読み出しアクセス要求を前記第１のメモリアレイの前記第２の行から実行することと、
これと同時に、前記第２の行内のビットを前記転送レジスタの前記第２のラッチへとラッチすることと、
前記転送レジスタの前記第２のラッチへとラッチされたビットを前記ＤＲＡＭの前記第２のメモリアレイ内の対応する第２の行へと書き込むことと、を更に備える請求項１に記載の方法。
【請求項４】
前記第１のメモリアレイの前記第１の行に対する前記第１のデータアクセス要求は第１のマスクされた書き込みアクセス要求であり、
前記第１のメモリアレイの前記第１の行のビットを前記転送レジスタへとラッチすることは、前記第１のマスクされた書き込みアクセス要求からのマスクされていないビットを前記転送レジスタへとラッチすることを備え、
前記方法は、
前記第１のメモリアレイ内の前記第１の行に対する読み出しを実行することと、
これと同時に、前記第１の行内のマスクされたビットを前記転送レジスタへとラッチすることと、
前記第１のメモリアレイの前記第１の行に対する連続する第２の書き込みアクセス要求を受け取ることと、
前記第２の書き込みアクセス要求を前記転送レジスタに対して実行することと、を更に備える請求項１に記載の方法。
【請求項５】
前記転送レジスタは第１のラッチ及び第２のラッチを含み、
前記第１のメモリアレイの前記第１の行に対する前記第１のデータアクセス要求は第１のマスクされた書き込みアクセス要求であり、
前記第１のメモリアレイの前記第１の行のビットを前記転送レジスタへとラッチすることは、前記第１のマスクされた書き込みアクセス要求からのマスクされていないビットを前記転送レジスタの前記第１のラッチへとラッチすることを備え、
前記転送レジスタへとラッチされたビットを前記ＤＲＡＭの第２のメモリアレイ内の対応する第１の行へと書き込みことは、前記転送レジスタの前記第１のラッチへとラッチされたビットを前記ＤＲＡＭの第２のメモリアレイ内の対応する第１の行へと書き込むことを備え、
前記方法は、
前記第１のメモリアレイ内の前記第１の行に対する読み出しを実行することと、
これと同時に、前記第１の行内のマスクされたビットを前記転送レジスタの前記第１のラッチへとラッチすることと、
前記第１のメモリアレイ内の第２の行に対する連続する第２のマスクされた書き込みアクセス要求を受け取ることと、
前記第２のマスクされた書き込みアクセス要求からのマスクされていないビットを前記転送レジスタの前記第２のラッチへとラッチすることと、
前記第１のメモリアレイ内の前記第２の行に対する読み出しを実行することと、
これと同時に、前記第１の行内の前記マスクされたビットを前記転送レジスタの前記第１のラッチへとラッチすることと、
前記転送レジスタの前記第２のラッチへとラッチされたビットを前記ＤＲＡＭの前記第２のメモリアレイ内の対応する第２の行へと書き込むことと、を更に備える請求項１の方法。
【請求項６】
第１のバンクと、第２のバンクと、行デコード論理と、バンク選択制御論理と、リフレッシュ論理と、を備えるダイナミックランダムアクセスメモリ（ＤＲＡＭ）であって、
前記第１のバンクは、
データビットを記憶するための複数のアドレス可能な行を含む第１のメモリアレイと、
前記第１のメモリアレイに結合され、データアクセスのためのアドレス可能な行を、受信したデコードされた行信号に基づき選択するように動作させられる第１の書き込み線ドライバ論理と、
前記第１のメモリアレイに結合され、前記第１のメモリアレイ内の選択されたアドレス可能な行のデータビットを感知し且つ前記データビットをグローバルデータバスへと書き込み又はセンスアンプ上でデータビットを受け取り且つ受け取ったデータビットを選択されたアドレス可能な行へと書き込むように動作させられる第１のＩＯセンスアンプ兼書き込みドライバと、を含み、
前記第２のバンクは、
データビットを記憶するための対応する複数のアドレス可能な行を含む対応する第２のメモリアレイと、
前記第２のメモリアレイに結合され、データアクセスのためのアドレス可能な行を、受信したデコードされた行信号に基づき選択するように動作させられる第２の書き込み線ドライバ論理と、
前記第２のメモリアレイに結合され、前記第１のメモリアレイ内の選択されたアドレス可能な行のデータビットを感知し且つ前記データビットをグローバルデータバスへと書き込み又はセンスアンプ上でデータビットを受け取り且つ受け取ったデータビットを選択されたアドレス可能な行へと書き込むように動作させられる第２のＩＯセンスアンプ兼書き込みドライバと、を含み、
前記第１のバンクは、第１のラッチ及び第２のラッチを含む第１の転送レジスタを更に含み、前記第１の転送レジスタは、データビットをラッチするように動作させられ、前記第１のＩＯセンスアンプ兼書き込みドライバ、前記第２のＩＯセンスアンプ兼書き込みドライバ、及び前記グローバルデータバスに結合され、
前記第２のバンクは、第１のラッチ及び第２のラッチを含む第２の転送レジスタを更に含み、前記第２の転送レジスタは、データビットをラッチするように動作させられ、前記第２のＩＯセンスアンプ兼書き込みドライバ、前記第１のＩＯセンスアンプ兼書き込みドライバ、及び前記グローバルデータバスに結合され、
前記行デコード論理は、前記第１及び第２の書き込み線ドライバ論理に結合され、アドレス可能な行に対する読み出し又は書き込みのためのデータアクセス要求を前記グローバルデータバスから受け取ってその要求からの行をデコードし対応するデコードされた行信号をアサートするように動作させられ、
前記バンク選択制御論理は、前記行デコード論理、前記第１の書き込み線ドライバ論理、及び前記第２の書き込み線ドライバ論理に結合され、受信したデコードされた行信号に基づき前記第１の書き込み線ドライバ論理又は前記第２の書き込み線ドライバ論理のいずれかを有効にするように動作させられ、
前記リフレッシュ論理は、前記第１又は第２のメモリアレイの行に対するデータアクセス要求にそれぞれ応答して前記第１のメモリアレイ及び前記第２のメモリアレイの行におけるリフレッシュ動作を中断し中断したリフレッシュ動作を再開するようにして、前記第１のメモリアレイの行及び前記第２のメモリアレイの行をリフレッシュするように動作させられる、ＤＲＡＭ。
【請求項７】
前記リフレッシュ論理が前記第１のメモリアレイにおけるリフレッシュ動作を実行している間に前記グローバルデータバス上でアサートされている前記第１のメモリアレイの第１のアドレス可能な行に対する第１の読み出しアクセス要求に応答して、
前記リフレッシュ論理は、前記第１のメモリアレイにおける前記リフレッシュ動作を中断し、
前記行デコード論理は、前記第１の読み出しアクセス要求を受け取り、その要求からの行をデコードし、前記第１のアドレス可能な行に対応するデコードされた行信号をアサートし、
前記第１及び第２の書き込み線ドライバ論理は、デコードされた第１のアドレス可能な行の信号を受け取り、前記第１のメモリアレイ内の前記第１のアドレス可能な行と前記第２のメモリアレイ内の対応する第１のアドレス可能な行とをデータアクセスのために選択し、
前記バンク選択制御論理は、前記第１の書き込み線ドライバ論理を有効にし、
前記第１のＩＯセンスアンプ兼書き込みドライバは、前記第１のメモリアレイ内の前記第１のアドレス可能な行のデータビットを前記グローバルデータバスへと書き込み、
前記第１の転送レジスタは、前記第１のメモリアレイ内の前記第１のアドレス可能な行のデータビットを前記第１のＩＯセンスアンプ兼書き込みドライバから前記第１の転送レジスタの前記第１のラッチへとラッチし、
前記第２のＩＯセンスアンプ兼書き込みドライバは、前記第１のメモリアレイ内の前記第１のアドレス可能な行のデータビットを前記第１の転送レジスタの前記第１のラッチからラッチし、それらラッチされたビットを前記第２のメモリアレイ内の前記対応する第１のアドレス可能な行へと書き込み、
前記ＤＲＡＭは、前記第１のアドレス可能な行に対応する受信したデコードされた行信号が前記第２の書き込み線ドライバ論理を有効にするように、前記バンク選択論理を更新し、
前記リフレッシュ論理は、中断されたリフレッシュ動作を再開する、請求項６に記載のＤＲＡＭ。
【請求項８】
前記グローバルデータバス上でアサートされている前記第１のメモリアレイの前記第１のアドレス可能な行に対する連続する第２の読み出しアクセス要求に応答して、前記第１の転送レジスタは、前記第１の転送レジスタの前記第１のラッチ内にラッチされたデータビットを前記グローバルデータバス上へと書き込む請求項７に記載のＤＲＡＭ。
【請求項９】
前記グローバルデータバス上でアサートされている前記第１のメモリアレイの第２のアドレス可能な行に対する連続する第２の読み出しアクセス要求に応答して、
前記行デコード論理は、前記第２の読み出しアクセス要求を受け取り、その要求からの行をデコードし、前記第２のアドレス可能な行に対応するデコードされた行信号をアサートし、
前記第１及び第２の書き込み線ドライバ論理は、デコードされた第２のアドレス可能な行の信号を受け取り、前記第１のメモリアレイ内の前記第２のアドレス可能な行と前記第２のメモリアレイ内の対応する第２のアドレス可能な行とをデータアクセスのために選択し、
前記バンク選択制御論理は、前記第１の書き込み線ドライバ論理を有効にし、
前記第１のＩＯセンスアンプ兼書き込みドライバは、前記第１のメモリアレイ内の前記第２のアドレス可能な行のデータビットを前記グローバルデータバスへと書き込み、
前記第１の転送レジスタは、前記第１のメモリアレイ内の前記第２のアドレス可能な行のデータビットを前記第１のＩＯセンスアンプ兼書き込みドライバから前記第１の転送レジスタの前記第２のラッチへとラッチし、
前記第２のＩＯセンスアンプ兼書き込みドライバは、前記第１のメモリアレイ内の前記第２のアドレス可能な行のデータビットを前記第１の転送レジスタの前記第２のラッチからラッチし、それらラッチされたビットを前記第２のメモリアレイ内の前記対応する第２のアドレス可能な行へと書き込み、
前記ＤＲＡＭは、前記第２のアドレス可能な行に対応する受信したデコードされた行信号が前記第２の書き込み線ドライバ論理を有効にするように、前記バンク選択論理を更新する、請求項７に記載のＤＲＡＭ。
【請求項１０】
前記リフレッシュ論理が前記第１のメモリアレイにおけるリフレッシュ動作を実行している間に前記グローバルデータバス上でアサートされている前記第１のメモリアレイの第１のアドレス可能な行に対する第１のマスクされた書き込みアクセス要求に応答して、
前記リフレッシュ論理は、前記第１のメモリアレイにおける前記リフレッシュ動作を中断し、
前記第１の転送レジスタは、前記第１のメモリアレイ内の前記第１のアドレス可能な行のマスクされていないデータビットを前記グローバルデータバスから前記第１の転送レジスタの前記第１のラッチへとラッチし、
前記行デコード論理は、前記第１の書き込みアクセス要求を受け取り、その要求からの行をデコードし、前記第１のアドレス可能な行に対応するデコードされた行信号をアサートし、
前記第１及び第２の書き込み線ドライバ論理は、デコードされた第１のアドレス可能な行の信号を受け取り、前記第１のメモリアレイ内の前記第１のアドレス可能な行と前記第２のメモリアレイ内の対応する第１のアドレス可能な行とをデータアクセスのために選択し、
前記バンク選択制御論理は、前記第１の書き込み線ドライバ論理を有効にし、
前記第１の転送レジスタは、前記第１のメモリアレイ内の前記第１のアドレス可能な行のマスクされたデータビットを前記第１のＩＯセンスアンプ兼書き込みドライバから前記第１の転送レジスタの前記第１のラッチへとラッチし、
前記第２のＩＯセンスアンプ兼書き込みドライバは、前記第１のメモリアレイ内の前記第１のアドレス可能な行のデータビットを前記第１の転送レジスタの前記第１のラッチからラッチし、それらラッチされたビットを前記第２のメモリアレイ内の前記対応する第１のアドレス可能な行へと書き込み、
前記ＤＲＡＭは、前記第１のアドレス可能な行に対応する受信したデコードされた行信号が前記第２の書き込み線ドライバ論理を有効にするように、前記バンク選択論理を更新し、
前記リフレッシュ論理は、中断されたリフレッシュ動作を再開する、請求項６に記載のＤＲＡＭ。
【請求項１１】
前記グローバルデータバス上でアサートされている前記第１のメモリアレイの前記第１のアドレス可能な行に対する連続する第２のマスクされた書き込みアクセス要求に応答して、前記第１の転送レジスタは、前記第１のメモリアレイ内の前記第１のアドレス可能な行のマスクされていないデータビットを前記グローバルデータバスから前記第１の転送レジスタの前記第１のラッチへとラッチする請求項１０に記載のＤＲＡＭ。
【請求項１２】
前記グローバルデータバス上でアサートされている前記第１のメモリアレイの第２のアドレス可能な行に対する連続する第２のマスクされた書き込みアクセス要求に応答して、
前記第２の転送レジスタは、前記第１のメモリアレイ内の前記第２のアドレス可能な行のマスクされていないデータビットを前記グローバルデータバスから前記第１の転送レジスタの前記第２のラッチへとラッチし、
前記行デコード論理は、前記第２の書き込みアクセス要求を受け取り、その要求からの行をデコードし、前記第２のアドレス可能な行に対応するデコードされた行信号をアサートし、
前記第１及び第２の書き込み線ドライバ論理は、デコードされた第２のアドレス可能な行の信号を受け取り、前記第１のメモリアレイ内の前記第２のアドレス可能な行と前記第２のメモリアレイ内の対応する第２のアドレス可能な行とをデータアクセスのために選択し、
前記バンク選択制御論理は、前記第１の書き込み線ドライバ論理を有効にし、
前記第１の転送レジスタは、前記第１のメモリアレイ内の前記第２のアドレス可能な行のマスクされたデータビットを前記第１のＩＯセンスアンプ兼書き込みドライバから前記第１の転送レジスタの前記第２のラッチへとラッチし、
前記第２のＩＯセンスアンプ兼書き込みドライバは、前記第１のメモリアレイ内の前記第２のアドレス可能な行のデータビットを前記第１の転送レジスタの前記第２のラッチからラッチし、それらラッチされたビットを前記第２のメモリアレイ内の前記対応する第２のアドレス可能な行へと書き込み、
前記ＤＲＡＭは、前記第２のアドレス可能な行に対応する受信したデコードされた行信号が前記第２の書き込み線ドライバ論理を有効にするように、前記バンク選択論理を更新する、請求項１０に記載のＤＲＡＭ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、概してダイナミックランダムアクセスメモリ（ＤＲＡＭ）システムに関し、より特定的にはＤＲＡＭシステムにおけるフレッシュ動作に関する。
【発明の概要】
【課題を解決するための手段】
【０００２】
本発明の実施形態は、ＤＲＡＭを動作させるための方法及びシステムを開示する。ＤＲＡＭの第１のメモリアレイにおけるリフレッシュ動作の実行中に、第１のメモリアレイの第１の行に対する第１のデータアクセス要求が受け取られる。リフレッシュ動作が中断される。第１のデータアクセス要求が実行され、同時に、第１のデータアクセス要求において示された任意の更新を含む第１のメモリアレイの第１の行のビットが転送レジスタへとラッチされる。転送レジスタへとラッチされたビットは、ＤＲＡＭの第２のメモリアレイ内の対応する第１の行へと書き込まれる。第１のメモリアレイ内の第１の行に対する後続のデータアクセス要求が第２のメモリアレイから実行されることを示すために、バンク選択論理が更新される。その後、リフレッシュ動作が再開される。
【図面の簡単な説明】
【０００３】
【図１】図１は本発明の実施形態に従うＤＲＡＭの機能的模式図である。
【０００４】
【図２】図２は、本発明の実施形態に従う、行に対するリフレッシュ動作がその行に対する読み出しアクセスに割り込まれた場合における図１のＤＲＡＭの動作ステップを示すフローチャートである。
【０００５】
【図３】図３は、本発明の実施形態に従う、行に対するリフレッシュ動作がその行に対する書き込みアクセスに割り込まれた場合における図１のＤＲＡＭの動作ステップを示すフローチャートである。
【０００６】
【図４】図４は、本発明の実施形態に従うＤＲＡＭのバンクの行のリフレッシュ動作であって、その行に対する読み出しによって割り込まれたリフレッシュ動作のためのタイミング図である。
【０００７】
【図５】図５は、本発明の実施形態に従うＤＲＡＭのバンクの行のリフレッシュ動作であって、同じ行に対する連続する複数の読み出しによって割り込まれたリフレッシュ動作のためのタイミング図である。
【０００８】
【図６】図６は、本発明の実施形態に従うＤＲＡＭのバンクの行のリフレッシュ動作であって、その行に対する読み出しとそれに続くバンクの異なる行に対する連続する読み出しとによって割り込まれたリフレッシュ動作のためのタイミング図である。
【０００９】
【図７】図７は、本発明の実施形態に従うＤＲＡＭのバンクの行のリフレッシュ動作であって、同じ行に対する連続する複数の書き込みによって割り込まれたリフレッシュ動作のためのタイミング図である。
【００１０】
【図８】図８は、本発明の実施形態に従うＤＲＡＭのバンクの行のリフレッシュ動作であって、その行に対する書き込みとそれに続くバンクの異なる行に対する連続する書き込みとによって割り込まれたリフレッシュ動作のためのタイミング図である。
【００１１】
【図９】図９は、本発明の実施形態に従うＤＲＡＭのバンクの行のリフレッシュ動作であって、その行に対する読み出しとそれに続くその行に対する連続する書き込みとによって割り込まれたリフレッシュ動作のためのタイミング図である。
【００１２】
【図１０】図１０は、本発明の実施形態に従うＤＲＡＭのバンクの行のリフレッシュ動作であって、その行に対する書き込みとそれに続くその行に対する連続する読み出しとによって割り込まれたリフレッシュ動作のためのタイミング図である。
【００１３】
【図１１】図１１は、本発明の実施形態に従うＤＲＡＭにおけるＭＵＸ配置を示す図である。
【発明を実施するための形態】
【００１４】
ダイナミックランダムアクセスメモリ（ＤＲＡＭ）セルは、漏洩電荷を回復してそれらセルの論理状態を維持するために、頻繁にリフレッシュされる必要がある。即ち、アクティベートされた状態にあるＤＲＡＭにおいてデータを保持するために、所定の時間周期内に特定の回数のリフレッシュ動作を行う必要がある。メモリリフレッシュ動作は、ＤＲＡＭに記憶された情報を維持する目的で、周期的に、ＤＲＡＭのある領域から情報を読み出して直ちにその読み出した情報をそのまま同じ領域へと再書き込みする。メモリリフレッシュは、最も広く使用されているタイプのコンピュータメモリであるＤＲＡＭにおいて必要であり、このクラスのメモリを表す特徴の１つである。ＤＲＡＭチップにおいては、メモリデータの各ビットは、チップ上の小さなキャパシタの電荷の有無として記憶される。時間が経過すると、メモリセル内の電荷が漏れ出してしまう。リフレッシュしないと、記憶されたデータはいずれは消失する。これを防ぐために、内部回路が周期的に各セルの読み出しを行って、キャパシタの電荷を元のレベルに回復することになる。各メモリリフレッシュサイクルは、メモリセルの連続する領域、例えば１つの「行(row)」をリフレッシュし、一連の連続的な複数サイクルにおいて全てのセルをリフレッシュする。このプロセスは典型的にはＤＲＡＭ回路によって自動的に目立たずに行われ、通常はユーザに対してトランスペアレントである。しかし、リフレッシュサイクルが生じている間は、メモリは、典型的には通常の読み出し動作及び書き込み動作には利用可能ではない。このことはメモリの利用可能性に影響し、帯域を低下させ又は補償のためにより高い動作周波数を必要とする。コンピュータ性能が向上しメモリアクセス時間が短くなるのに従い、このリフレッシュオーバヘッド時間はＤＲＡＭ動作における否定的要素になる可能性がある。
【００１５】
本発明の実施形態においては、各ＤＲＡＭは、複数の主メモリバンクと対応する複数のミラーバンクとを含む。主バンクの書き込み線（ＷＬ）ドライバ、列選択ドライバ、グローバルＩＯセンスアンプ及び書き込みドライバも、ミラーバンクと鏡像関係にある。主バンク及びその対応するミラーバンクは各々転送レジスタを含み、転送レジスタはマスタラッチ及びスレーブラッチを含む。各転送レジスタは、メモリバンクが有する、行内の各ビットのデータパスであってアレイ境界のすぐ後のデータパスを利用して(taps into)、アクセスが生じたときに、全てのデータ読み出し又はデータ書き込みに対して、データが少なくともマスタラッチ内へとラッチされるようにしている。この動作は、行リフレッシュ対立(row refresh conflict)を見込んで、読み出され又は書き込まれたデータを予めラッチする。また、ＤＲＡＭは行アドレスレベルでのバンク選択制御論理を含む。
【００１６】
主バンク及びミラーメモリバンクは、周期的な行毎のリフレッシュ動作を行う。例えば主バンクにおける行リフレッシュ動作がその行に対する読み出しと対立した場合、リフレッシュは一時停止されてよく、読み出しが実行される。同時に、即ち少なくとも同じクロックサイクル内の同じ時刻で又は概ね同じ時刻で、データは主バンクの転送レジスタ内へとラッチされてよい。その後、対立が生じた行でリフレッシュが再開してよい。次の機会には、例えば次の動作が同じ行に対する書き込みでない場合には、主バンクの転送レジスタ内のデータは、ミラーバンク内の対応する行へと書き込まれてよく、バンク選択制御論理は、この行に対する後続のデータアクセスがミラーバンク内で生じるべきであることを示すために、更新されてよい。次のアクセスが同じ行に対する読み出しである場合には、この読み出しは転送レジスタから行われてよく、これは転送レジスタからミラーバンクの対応する行に対する書き込みが次のサイクルで完了するからである。その行に対する後続のデータアクセスは、ミラーバンクにおいて生じてよい。次のデータアクセスが同じ行に対する書き込みである場合には、この書き込みは転送レジスタ内で生じてよく、主バンクの転送レジスタデータのミラーバンクに対する書き込みは遅延するであろう。行リフレッシュと対立するデータアクセスの、これらの及び他の組み合わせは後で詳細に説明する。
【００１７】
各主バンク内のメモリアレイ位置は対応するミラーバンク内で鏡像関係にあるが、データは典型的にはそうなってはいない。ある行は主バンク又はそのミラーバンクのいずれかにおいて有効であることになる。その行は、その行に対するリフレッシュがその行に対するアクセスと対立するまでは、主バンク又はそのミラーバンクのいずれかにおいて有効であってよい。対立が生じると、リフレッシュは中断され、アクセスが実行される一方で対応するミラーバンク又は主バンクとの行の交換が開始され、リフレッシュは対立が生じた行で再開する。対立が生じた行に対する後続のアクセスは、今度は行が交換されたバンク内で実行される。各バンクのリフレッシュサイクルは、他のバンクのリフレッシュサイクルとは非同期である。
【００１８】
添付の図面を参照して本発明の実施形態を詳細に説明する。
【００１９】
図１は本発明の実施形態に従うＤＲＡＭ１９９の機能的模式図である。ＤＲＡＭ１９９は、バンクＡ１００と、ミラーバンクＡ１２０と、バンク選択制御論理１４０と、行―列デコード論理１４２と、グローバルデータバス１４４と、を含む。実用上は、１つのＤＲＡＭ内には多数のバンクとこれらに対応するミラーバンクとがあってよい。図示の都合上、単一のバンクＡとそのミラーバンクＡが示されている。
【００２０】
バンクＡ１００は、メモリアレイ１０２と、書き込み線（ＷＬ）ドライバ１０４と、列選択ドライバ１０６と、グローバルＩＯセンスアンプ（ＳＡ）兼書き込みドライバ１０８と、第１のラッチ（マスタラッチ）１１２及び第２のラッチ（スレーブラッチ）１１４を有する転送レジスタ１１０と、を含む。同様に、ミラーバンクＡは、メモリアレイ１２２と、書き込み線（ＷＬ）ドライバ１２４と、列選択ドライバ１２６と、グローバルＩＯセンスアンプ（ＳＡ）兼書き込みドライバ１２８と、第１のラッチ（マスタラッチ）１３２及び第２のラッチ（スレーブラッチ）１３４を有する転送レジスタ１３０と、を含む。
【００２１】
種々の実施形態において、メモリアレイ１０２／１２２は、本発明の実施形態に従うＤＲＡＭメモリアレイの任意の適切な構成及び／又は実装を代表する。これらの実施形態は、典型的には、ワード線（行(rows)）とビット線（列(columns)）とに接続された複数の記憶セルを含む。書き込み線ドライバ１０４／１２４及び列選択ドライバ１０６／１２６は、メモリアレイ１０２／１２２の書き込み線及びビット線上の制御信号をそれぞれアサートして(assert)、アクセスのためのアレイ内の特定の記憶セルを選択する。グローバルＩＯセンスアンプ兼書き込みドライバ１０８／１２８は、メモリアレイ１０２／１２２の選択された記憶セルからのビットデータを感知及びラッチしてそのビットデータをグローバルデータバス１４４上へとドライブし、あるいはグローバルデータバス１４４からのデータを感知及びラッチしてそのデータをメモリアレイ１０２／１２２の選択された記憶セル内へと書き込む。
【００２２】
転送レジスタ１１０／１３０は、マスタラッチ１１２／１３２とスレーブラッチ１１４／１３４とを含む。種々の実施形態において、転送レジスタ１１０／１３０は、複数のシフトレジスタ又は多重化された複数のラッチとして動作してよい。転送レジスタ１１０／１３０は、例えばセンスアンプのすぐ後のグローバルＩＯセンスアンプ兼書き込みドライバ１０８からのデータパスの各ビットを利用して(tap into)、グローバルＩＯセンスアンプ兼書き込みドライバ１０８／１２８とグローバルデータバス１４４との間で読み出され又は書き込まれた全てのデータに対して、それらデータがアクセスの発生に伴ない少なくとも第１のラッチ（マスタラッチ）１１２／１３２内へと同時にラッチされるようにする。より詳細に後で説明するように、転送レジスタ１１０又は１３０内にラッチされたデータの、他のバンクのメモリアレイ内の適切な行に対する書き込みが、次のサイクルで開始されてよく、その次のサイクルで完了してよい。転送レジスタから他のバンクのメモリアレイに対する書き込みは、例えば、他のバンクのグローバルＩＯセンスアンプ兼書き込みドライバ１０８又は１２８のセンスアンプを介して実行されてよい。メモリアレイ内の異なる複数の行に対する連続する複数のアクセスが生じた場合には、第２のアクセスに対する行データは転送レジスタの第２のラッチ（スレーブラッチ）へとラッチされ、これは他のバンクのメモリアレイへのマスタラッチ内のデータの転送が次のサイクルまで完了しないからである。ラッチから他のバンク内の行に対する転送が完了したか否かは、転送レジスタ内のフラグによって示されてよい。以上のように、種々の実施形態においては、行リフレッシュ対立を見込んで、読み出され又は書き込まれるメモリアレイ行データが先を見越してラッチされる。
【００２３】
行／列デコード論理１４２は、グローバルデータバス１４４上のアクセス要求を受信するように動作する。アクセス要求から生じる行デコード信号は、バンク選択制御論理１４０と、バンクＡのＷＬドライバ１０４と、ミラーバンクＡのＷＬドライバ１２４と、に対してアサートされる。バンク選択制御論理１４０内に記憶された論理とアクセス要求の行アドレスとに基づいて、バンク選択制御論理は、バンクＡ又はミラーバンクＡのＷＬドライバ１０４又は１２４のうちの適切な書き込み線ドライバを動作させる(fires)。
【００２４】
種々の実施形態において、ＤＲＡＭ、例えばＤＲＡＭ１９９の物理的レイアウトは、アレイ状の複数の読み出し／書き込み回路、例えばバンク選択制御論理１４０、行／列デコード論理１４２及びＷＬドライバ１０４／１２４の「背骨(spine)」と交差する方向の、アレイバンク、例えばバンクＡ１００及びそのミラーバンク、例えばミラーバンクＡ１２０の配置を含んでいてよい。この物理的レイアウトは、特に、転送レジスタ１１０／１３０間の経路及び距離を有利に最小化する。例示的なハードウェア実装に関する他の側面は、図１１に関連して後で説明される。
【００２５】
図２は、本発明の実施形態に従う、メモリアレイ内の行に対するリフレッシュ動作がその行に対する読み出しアクセスに割り込まれた場合における図１のＤＲＡＭ１９９の動作ステップを示すフローチャートである。例えばバンクＡ１００のメモリアレイ１０２においてリフレッシュ動作を実行している最中に、バンクＡに対する読み出しアクセス要求がグローバルデータバス１４４上で検出されることがある。例えば、読み出しアクセス要求は行／列デコード論理１４２によって検出されてよく、行／列デコード論理１４２は、ＷＬドライバ１０４／１２４及び列選択ドライバ１０６／１２６に対して行信号及び列信号をアサートする。行信号はバンク選択制御論理１４０によっても受信され、バンク選択制御論理１４０は、バンク選択制御論理１４０内に記憶された論理と読み出しアクセス要求の行アドレスとに基づき、バンクＡのＷＬドライバ１０４のうちの適切な書き込み線ドライバを動作させる（この例では）。
【００２６】
読み出しアクセス要求がバンクＡ１００リフレッシュ動作と衝突した(collides with)場合、即ち例えば読み出しアクセス要求がバンクＡ内の行上のメモリ位置に対してのものであった場合、リフレッシュは中断され、読み出しアクセスが実行され、これと同時にその行の全データがバンクＡ１００の転送レジスタ１１０のマスタラッチ１１２及びスレーブラッチ１１４内へとラッチされる（ステップ２００）。行アドレスは、行データと共に転送レジスタ内に記憶されてもよい。
【００２７】
次の動作が同じバンクで同じ行、即ちこの例ではバンクＡ内の同じ行、に対する読み出しアクセスであった場合（ステップ２０２）、その第２の読み出しはマスタラッチから実行され、これと同時に、マスタラッチは、ラッチされた行データをミラーバンクＡ１２０のメモリアレイ１２２内の対応する行へと書き込む処理を開始している。次のサイクルでは、書き込みが完了したら、バンク選択制御論理１４０は、この行に対する次のアクセスがミラーバンクＡ１２０のためのこの行のＷＬドライバ１２４を動作させるように、更新される（ステップ２０４）。
【００２８】
次の動作が同じバンクではあるが異なる行、即ちこの例ではバンクＡ内の異なる行、に対する読み出しアクセスであった場合（ステップ２０６）、その第２の読み出しが実行され、これと同時にその行の全データがバンクＡ１００の転送レジスタ１１０のスレーブラッチ１１４内へとラッチされる（ステップ２０８）。行アドレスは、行データと共に転送レジスタ内に記憶されてもよい。
【００２９】
マスタラッチ１１２内へとラッチされた第１の読み出し行データをミラーバンクＡ１２０のメモリアレイ１２２内の対応する行へと書き込む処理が開始される。次のサイクルでは、書き込みが完了したら、バンク選択制御論理１４０は、第１の読み出し行内のデータに対するアクセスがミラーバンクＡ１２０のためのその行のＷＬドライバ１２４を動作させるように、更新される。次のサイクルであってよい次の機会では、スレーブラッチ１１４内へとラッチされた第２の読み出し行データをミラーバンクＡ１２０のメモリアレイ１２２内の対応する行へと書き込む処理が開始され、書き込みが完了したら、バンク選択制御論理１４０は、第２の読み出し行内のデータに対するの後続のアクセスがミラーバンク１２０のためのその行のＷＬドライバ１２４を動作させるように、更新される。
【００３０】
次の動作が無動作(no-op)、又は異なるバンク内の行に対する読み出し、即ちバンクＡに対してではない読み出しであった場合（ステップ２１０）、対立があった行でリフレッシュが再開され（ステップ２１２）、上記のステップ２００〜２０８に従って読み出しが他のバンクに対して実行される。
【００３１】
次の動作が書き込みであった場合（ステップ２１４）、図３に関連して説明するステップが行われる（ステップ２１６）。
【００３２】
図３は、本発明の実施形態に従う、行に対するリフレッシュ動作がその行に対する書き込みアクセスに割り込まれた場合における図１のＤＲＡＭ１９９の動作ステップを示すフローチャートである。図２に関連して上述したプロセスと同様に、例えばバンクＡ１００のメモリアレイ１０２において行毎のリフレッシュ動作を実行している最中に、バンクＡに対する書き込みアクセス要求がグローバルデータバス１４４上で検出されることがある。例えば、書き込みアクセス要求は行／列デコード論理１４２によって検出されてよく、行／列デコード論理１４２は、ＷＬドライバ１０４／１２４及び列選択ドライバ１０６／１２６に対して行信号及び列信号をアサートする。行信号はバンク選択制御論理１４０によっても受信され、バンク選択制御論理１４０は、バンク選択制御論理１４０内に記憶された論理と読み出しアクセス要求の行アドレスとに基づき、バンクＡのＷＬドライバ１０４のうちの適切な書き込み線ドライバを動作させる（この例では）。
【００３３】
書き込みアクセス要求がバンクＡ１００リフレッシュ動作と衝突した場合、即ち例えば書き込みアクセス要求がバンクＡ内の行上のメモリ位置に対してのものであった場合、リフレッシュは中断される。グローバルデータバス１４４上の書き込みアクセス要求からのマスクされていない行データビットが、バンクＡ１００の転送レジスタ１１０のマスタラッチ１１２及びスレーブラッチ１１４内へとラッチされ、またセンスアンプからのマスクされたデータビットを転送レジスタ１１０のラッチ内へとラッチするために、バンクＡ１００内の行に対する読み出しが実行される（ステップ３００）。行アドレスは、行データと共に転送レジスタ内に記憶されてもよい。
【００３４】
次の動作が同じバンクで同じ行、即ちこの例ではバンクＡ内の同じ行、に対する書き込みアクセスであった場合（ステップ３０２）、その第２の書き込みはマスタラッチ１１２に対して実行され、マスタラッチ１１２は、マスタラッチ内の書き込みのマスクされていないビットを更新してよい。次のサイクルであってよい次の機会では、マスタラッチ１１２内にラッチされたデータの、ミラーバンクＡ１２０のメモリアレイ１２２内の対応する行に対する書き込みが開始され、この書き込みが完了したら、バンク選択制御論理１４０は、その行内のデータに対する後続のアクセスがミラーバンク１２０のためのその行のＷＬドライバ１２４を動作させるように、更新される。
【００３５】
次の動作が同じバンクではあるが異なる行、即ちこの例ではバンクＡ内の異なる行、に対する書き込みアクセスであった場合（ステップ３０６）、その書き込みアクセスが実行され、これと同時にその行の全データがバンクＡ１００の転送レジスタ１１０のスレーブラッチ１１４内へとラッチされ、マスタラッチ１１２内にラッチされた第１の書き込み行データの、ミラーバンクＡ１２０のメモリアレイ１２２内の対応する行に対する書き込みが開始される（ステップ３０８）。次のサイクルでは、この書き込みが完了したら、バンク選択制御論理１４０は、第１の書き込み行内のデータに対するアクセスがミラーバンク１２０のためのその行のＷＬドライバ１２４を動作させるように、更新される。次のサイクルであってよい次の機会では、スレーブラッチ１１４内へとラッチされた第２の書き込み行データをミラーバンクＡ１２０のメモリアレイ１２２内の対応する行へと書き込む処理が開始される。書き込みが完了したら、バンク選択制御論理１４０は、第２の読み出し行内のデータに対するアクセスがミラーバンク１２０のためのその行のＷＬドライバ１２４を動作させるように、更新される。
【００３６】
次の動作が無動作、又は異なるバンク内の行に対する書き込み、即ちバンクＡに対してではない書き込みであった場合（ステップ３１０）、対立があった行でリフレッシュが再開され（ステップ３１２）、上記のステップ３００〜３０８に従って書き込みが他のバンクに対して実行される。
【００３７】
次の動作が読み出しであった場合（ステップ３１４）、図２に関連して説明されたステップが行われる（ステップ３１６）。
【００３８】
図４〜１０は、ＤＲＡＭ、例えばバンクＡ１００と対応するミラーバンクＡ１２０とを含む図１のＤＲＡＭ１９９に対する種々のアクセス要求パターンの例を示すタイミング図である。
【００３９】
図４は、本発明の実施形態に従うＤＲＡＭ１９９のバンクＡ１００の行のリフレッシュ動作であって、その行に対する読み出しによって割り込まれたリフレッシュ動作のためのタイミング図である。イベント１では、ＤＲＡＭ１９９内の行Ｘアドレスに位置するデータに対する読み出し要求が行／列デコード論理１４２によって検出される。イベント２では、バンク選択制御論理１４０内に予め記憶されている論理に基づき、バンク選択制御論理は、バンクＡ１００に対してそのＷＬドライバ論理１０４内の行Ｘ書き込み線ドライバを動作させる。イベント３では、バンクＡ１００のＷＬドライバ論理１０４内の行Ｘ書き込み線ドライバがアサートされる。イベント４では、バンクＡ１００のメモリアレイ１０２内の行Ｘデータがグローバルデータバス１４４へと書き込まれる。同時に、行Ｘデータは、バンクＡの転送レジスタ１１０のマスタラッチ及びスレーブラッチ１１２／１１４内にラッチされる。イベント５では、同じ行に対する連続するアクセスが検出されていないので、メモリアレイ１０２の行毎のリフレッシュが行Ｘで再開される。
【００４０】
図５は、本発明の実施形態に従うＤＲＡＭ１９９のバンクＡ１００の行のリフレッシュ動作であって、同じ行に対する連続する複数の読み出しによって割り込まれたリフレッシュ動作のためのタイミング図である。イベント１では、ＤＲＡＭ１９９内の行Ｘアドレスに位置するデータに対する読み出し要求が行／列デコード論理１４２によって検出される。イベント２では、バンク選択制御論理１４０内に予め記憶されている論理に基づき、バンク選択制御論理は、バンクＡ１００に対してそのＷＬドライバ論理１０４内の行Ｘ書き込み線ドライバを動作させる。イベント３では、バンクＡ１００のＷＬドライバ論理１０４内の行Ｘ書き込み線ドライバがアサートされる。イベント４では、バンクＡ１００のメモリアレイ１０２内の行Ｘデータがグローバルデータバス１４４へと書き込まれる。同時に、行Ｘデータは、バンクＡの転送レジスタ１１０のマスタラッチ及びスレーブラッチ１１２／１１４へとラッチされる。
【００４１】
イベント５では、行Ｘに対する第２の読み出しアクセスが検出される。イベント６では、バンクＡ１００の転送レジスタ１１０へとラッチされた読み出しデータのミラーバンクＡ１２０に対する書き込みが開始されると共に、バンク選択制御論理１４０は、ミラーバンクＡ１２０に対してそのＷＬドライバ論理１２４内の行Ｘ書き込み線ドライバを動作させる。イベント７では、ミラーバンクＡ１２０のＷＬドライバ論理１２４内の行Ｘ書き込み線ドライバがアサートされる。イベント８では、転送レジスタ１１０内にラッチされた行ＸデータがミラーバンクＡ１２０のメモリアレイ１２２の行Ｘへと書き込まれる。イベント９では、第２の読み出しがバンクＡ１００の転送レジスタ１１０から実行される。バンク選択制御論理１４０は、後続の行Ｘに対するアクセスがミラーバンクＡ１２０内で生じ得るように、更新される。
【００４２】
図６は、本発明の実施形態に従うＤＲＡＭ１９９のバンクＡ１００の行のリフレッシュ動作であって、その行に対する読み出しとそれに続くバンクＡの異なる行に対する連続する読み出しとによって割り込まれたリフレッシュ動作のためのタイミング図である。イベント１では、ＤＲＡＭ１９９内の行Ｘアドレスに位置するデータに対する読み出し要求が行／列デコード論理１４２によって検出される。イベント２では、バンク選択制御論理１４０内に予め記憶されている論理に基づき、バンク選択制御論理は、バンクＡ１００に対してそのＷＬドライバ論理１０４内の行Ｘ書き込み線ドライバを動作させる。イベント３では、バンクＡ１００のＷＬドライバ論理１０４内の行Ｘ書き込み線ドライバがアサートされる。イベント４では、バンクＡ１００のメモリアレイ１０２内の行Ｘデータがグローバルデータバス１４４へと書き込まれる。同時に、行Ｘデータは、バンクＡの転送レジスタ１１０のマスタラッチ及びスレーブラッチ１１２／１１４へとラッチされる。
【００４３】
イベント５では、行Ｙに対する読み出しアクセスが検出される。イベント６では、バンクＡ１００の転送レジスタ１１０のマスタラッチ１１２へとラッチされた読み出しデータのミラーバンクＡ１２０に対する書き込みが開始されると共に、バンク選択制御論理１４０は、ミラーバンクＡ１２０に対してそのＷＬドライバ論理１２４内の行Ｘ書き込み線ドライバを動作させる。同時に、バンク選択制御論理１４０は、バンクＡ１００に対してそのＷＬドライバ論理１０４内の行Ｙ書き込み線ドライバを動作させる。イベント７では、バンクＡ１００のＷＬドライバ論理１０４内の行Ｙ書き込み線ドライバ、及びミラーバンクＡ１２０のＷＬドライバ論理１２４内の行Ｘ書き込み線ドライバの両方がアサートされる。イベント８では、マスタラッチ１１２内にラッチされた行ＸデータがミラーバンクＡ１２０のメモリアレイ１２２の行Ｘへと書き込まれる。イベント９では、バンクＡ１００のメモリアレイ１０２内の行Ｙデータがグローバルデータバス１４４へと書き込まれる。同時に、イベント１０では、行ＹデータがバンクＡの転送レジスタ１１０のスレーブ１１４へとラッチされる。バンク選択制御論理１４０は、後続の行Ｘに対するアクセスがミラーバンクＡ１２０内で生じ得るように、更新される。次の機会では、ラッチされた行Ｙデータが同様にミラーバンクＡ１２０の行Ｙへと書き込まれる。
【００４４】
図７は、本発明の実施形態に従うＤＲＡＭ１９９のバンクＡ１００の行のリフレッシュ動作であって、同じ行に対する連続する複数の書き込みによって割り込まれたリフレッシュ動作のためのタイミング図である。イベント１では、ＤＲＡＭ１９９内の行Ｘアドレスに位置するデータに対する書き込み要求が行／列デコード論理１４２によって検出される。イベント２では、バンク選択制御論理１４０内に予め記憶されている論理に基づき、バンク選択制御論理は、バンクＡ１００に対してそのＷＬドライバ論理１０４内の行Ｘ書き込み線ドライバを動作させる。イベント３では、バンクＡ１００のＷＬドライバ論理１０４内の行Ｘ書き込み線ドライバがアサートされる。イベント４では、グローバルデータバス１４４上の行Ｘ書き込みデータが、バンクＡの転送レジスタ１１０のマスタラッチ及びスレーブラッチ１１２／１１４へとラッチされ、この例では、行Ｘ書き込みデータは、マスクされた書き込み動作からのマスクされていないビットである。同時に、バンクＡ１００のメモリアレイ１０２内の行Ｘの残りのマスクされたデータビットは、バンクＡの転送レジスタ１１０のマスタラッチ及びスレーブラッチ１１２／１１４へとラッチされる。イベント５では、行Ｘに対する第２の書き込みアクセスが検出される。イベント６では、転送レジスタ１１０内にラッチされたデータが、グローバルデータバス１４４上の書き込み要求データのマスクされていないビットで更新される。次の機会では、バンクＡの転送レジスタ１１０内にラッチされた行ＸデータがミラーバンクＡ１２０内の行Ｘへと書き込まれ、バンク選択制御論理１４０は、後続の行Ｘに対するアクセスがミラーバンクＡ１２０内で生じ得るように、更新される。
【００４５】
図８は、本発明の実施形態に従うＤＲＡＭ１９９のバンクＡ１００の行のリフレッシュ動作であって、その行に対する書き込みとそれに続くバンクの異なる行に対する連続する書き込みとによって割り込まれたリフレッシュ動作のためのタイミング図である。イベント１では、ＤＲＡＭ１９９内の行Ｘアドレスに位置するデータに対する書き込み要求が行／列デコード論理１４２によって検出される。イベント２では、バンク選択制御論理１４０内に予め記憶されている論理に基づき、バンク選択制御論理は、バンクＡ１００に対してそのＷＬドライバ論理１０４内の行Ｘ書き込み線ドライバを動作させる。イベント３では、バンクＡ１００のＷＬドライバ論理１０４内の行Ｘ書き込み線ドライバがアサートされる。イベント４では、グローバルデータバス１４４上の行Ｘ書き込みデータが、バンクＡの転送レジスタ１１０のマスタラッチ及びスレーブラッチ１１２／１１４へとラッチされ、この例では、行Ｘ書き込みデータは、マスクされた書き込み動作からのマスクされていないビットである。同時に、バンクＡ１００のメモリアレイ１０２内の行Ｘの残りのマスクされたデータビットは、バンクＡの転送レジスタ１１０のマスタラッチ及びスレーブラッチ１１２／１１４へとラッチされる。
【００４６】
イベント５では、行Ｙに対する書き込みアクセスが検出される。イベント６では、バンクＡ１００の転送レジスタ１１０のマスタラッチ１１２へとラッチされた書き込みデータのミラーバンクＡ１２０に対する書き込みが開始されると共に、バンク選択制御論理１４０は、ミラーバンクＡ１２０に対してそのＷＬドライバ論理１２４内の行Ｘ書き込み線ドライバを動作させる。同時に、バンク選択制御論理１４０は、バンクＡ１００に対してそのＷＬドライバ論理１０４内の行Ｙ書き込み線ドライバを動作させる。イベント７では、バンクＡ１００のＷＬドライバ論理１０４内の行Ｙ書き込み線ドライバ、及びミラーバンクＡ１２０のＷＬドライバ論理１２４内の行Ｘ書き込み線ドライバの両方がアサートされる。イベント８では、マスタラッチ１１２内にラッチされた行ＸデータがミラーバンクＡ１２０のメモリアレイ１２２の行Ｘへと書き込まれる。イベント９では、グローバルデータバス１４４上の行Ｙ書き込みデータがバンクＡの転送レジスタ１１０のスレーブラッチ１１４へとラッチされ、この例では、行Ｙ書き込みデータは、マスクされた書き込み動作からのマスクされていないビットである。同時に、イベント１０では、バンクＡ１００のメモリアレイ１０２内の行Ｙの残りのマスクされたデータビットは、バンクＡの転送レジスタ１１０のスレーブラッチ１１４へとラッチされる。次の機会では、ラッチされた行Ｙデータが同様にミラーバンクＡ１２０の行Ｙへと書き込まれる。
【００４７】
図９は、本発明の実施形態に従うＤＲＡＭ１９９のバンクＡ１００の行のリフレッシュ動作であって、その行に対する読み出しとそれに続くその行に対する連続する書き込みとによって割り込まれたリフレッシュ動作のためのタイミング図である。イベント１では、ＤＲＡＭ１９９内の行Ｘアドレスに位置するデータに対する読み出し要求が行／列デコード論理１４２によって検出される。イベント２では、バンク選択制御論理１４０内に予め記憶されている論理に基づき、バンク選択制御論理は、バンクＡ１００に対してそのＷＬドライバ論理１０４内の行Ｘ書き込み線ドライバを動作させる。イベント３では、バンクＡ１００のＷＬドライバ論理１０４内の行Ｘ書き込み線ドライバがアサートされる。イベント４では、バンクＡ１００のメモリアレイ１０２内の行Ｘデータがグローバルデータバス１４４へと書き込まれる。同時に、行Ｘデータは、バンクＡの転送レジスタ１１０のマスタラッチ及びスレーブラッチ１１２／１１４にラッチされる。イベント５では、行Ｘに対する書き込みアクセスが検出される。イベント６では、転送レジスタ１１０内にラッチされたデータは、グローバルデータバス１４４上の書き込み要求データのマスクされていないビットで更新される。次の機会では、バンクＡの転送レジスタ１１０内にラッチされた行ＸデータがミラーバンクＡ１２０内の行Ｘへと書き込まれ、バンク選択制御論理１４０は、後続の行Ｘに対するアクセスがミラーバンクＡ１２０内で生じ得るように、更新される。
【００４８】
図１０は、本発明の実施形態に従うＤＲＡＭ１９９のバンクＡ１００の行のリフレッシュ動作であって、その行に対する書き込みとそれに続くその行に対する連続する読み出しとによって割り込まれたリフレッシュ動作のためのタイミング図である。イベント１では、ＤＲＡＭ１９９内の行Ｘアドレスに位置するデータに対する書き込み要求が行／列デコード論理１４２によって検出される。イベント２では、バンク選択制御論理１４０内に予め記憶されている論理に基づき、バンク選択制御論理は、バンクＡ１００に対してそのＷＬドライバ論理１０４内の行Ｘ書き込み線ドライバを動作させる。イベント３では、バンクＡ１００のＷＬドライバ論理１０４内の行Ｘ書き込み線ドライバがアサートされる。イベント４では、グローバルデータバス１４４上の行Ｘ書き込みデータが、バンクＡの転送レジスタ１１０のマスタラッチ及びスレーブラッチ１１２／１１４へとラッチされ、この例では、行Ｘ書き込みデータは、マスクされた書き込み動作からのマスクされていないビットである。同時に、バンクＡ１００のメモリアレイ１０２内の行Ｘの残りのマスクされたデータビットは、バンクＡの転送レジスタ１１０のマスタラッチ及びスレーブラッチ１１２／１１４へとラッチされる。
【００４９】
イベント５では、行Ｘに対する読み出しアクセスが検出される。イベント６では、バンクＡ１００の転送レジスタ１１０へとラッチされた読み出しデータのミラーバンクＡ１２０に対する書き込みが開始されると共に、バンク選択制御論理１４０は、ミラーバンクＡ１２０に対してそのＷＬドライバ論理１２４内の行Ｘ書き込み線ドライバを動作させる。イベント７では、ミラーバンクＡ１２０のＷＬドライバ論理１２４内の行Ｘ書き込み線ドライバがアサートされる。イベント８では、転送レジスタ１１０内にラッチされた行ＸデータがミラーバンクＡ１２０のメモリアレイ１２２の行Ｘへと書き込まれる。イベント９では、読み出しがバンクＡ１００の転送レジスタ１１０から行われる。バンク選択制御論理１４０は、後続の行Ｘに対するアクセスがミラーバンクＡ１２０内で生じ得るように、更新される。
【００５０】
タイミング及びリフレッシュサイクルに関して、種々のリフレッシュ手法に基づき最悪の場合のシナリオが構築されることがある。例えば、ＤＲＡＭは２つの主バンクと２つの対応するミラーバンクとからなり、リフレッシュ手法は、第１及び第２の主バンクと第１及び第２のミラーバンクとについて行毎に順次下降していく単純な手法である場合について検討する。第１の主バンク内の第１の行に対するリフレッシュがその行に対するデータアクセスに割り込まれるものとする。リフレッシュは中断され、データアクセスが実行され、アクセスされた行が転送レジスタ内へとラッチされることになる。同じ行に対する連続するアクセスは転送レジスタから実行され得るので、第１の主バンクリフレッシュ動作を第１の行で再開することを邪魔しないはずである。しかし、例えば第１の主バンク内の連続する複数の行に対するデータアクセスパターンは、各アクセスが第１の主バンクの行で実行されるときにリフレッシュを中断させることになる。この場合、第１の主バンクの各行は、第１のミラーバンク内の対応する行へと書き込まれることになる。そのようなデータアクセスパターンは、第１の主バンク内の行数に対応する数のサイクルの遅延を生じさせることになる。
【００５１】
少なくとも第１の主バンクリフレッシュ動作の間は、後続のデータアクセスのいずれも第１の主バンクのリフレッシュを邪魔することはないので、第１の主バンクの行毎のリフレッシュは直ちに再開するであろう。例えば、第１の主バンク内の行に対する任意のデータアクセスは、第１のミラーバンクから実行され、また任意の他のバンクに対するいずれのデータアクセスも、第１の主バンクのリフレッシュ動作に影響を与えることはない。
【００５２】
第１の主バンクのリフレッシュが完了すると、リフレッシュすべき次順の行は第２の主バンクの第１の行である。第１の主バンクでの状況と同様に、第２の主バンク内の連続する複数の行に対するデータアクセスパターンは、各アクセスが第２の主バンクの行で実行されるときにリフレッシュを中断させることになり、そのデータアクセスパターンは、第２の主バンク内の行数に対応する数のサイクルの遅延を生じさせることになる。このデータアクセスパターンが繰り返されると、各ミラーバンクのリフレッシュは、同様にして、各ミラーバンク内の行数に対応する数のサイクルだけ遅延させられることになる。
【００５３】
この最悪な場合のシナリオにおいては、各バンクをリフレッシュするのに必要とされるサイクル数は倍になる。ミラーバンクはユーザからは「隠されている(hidden)」ので、この最悪の場合は、対立のないリフレッシュの最良の場合のシナリオの４倍になると思われる。このように、単純なリフレッシュ手法では、最悪の場合のシナリオが生じたとすると、各バンクがリフレッシュ時間内にリフレッシュされるのを確実にする度に、リフレッシュサイクルは少なくとも４倍生じる必要がある。
【００５４】
他の実施形態においては、最良の場合のリフレッシュサイクル数の４倍よりは少ない最悪の場合のシナリオを有する、より洗練されたリフレッシュ手法が用いられてよい。例えば、行は主バンク又はそのミラーバンクのいずれかにおいて有効であるので、上述した単純な行毎の順次リフレッシュ手法は、例えば、バンク選択制御論理１４０内に記憶された論理を用いて、バンク及びそのミラーバンク内で結合された複数の行の半分のリフレッシュを省略するように修正されてよい。他の実施形態においては、例えば多重バンクリフレッシュや互い違いリフレッシュ(refresh staggering)等が本発明の種々の実装に従うリフレッシュ手法に組み込まれてよい。
【００５５】
図１１は、本発明の実施形態に従うＤＲＡＭ１１００内の回路及び論理部品を示す概略ブロック図である。ＤＲＡＭ１１００は、メモリアレイ１０２と、センスアンプ１１０２と、転送レジスタ１１０４と、ミラーバンク転送レジスタ接続配線１１０６と、８：１列ＭＵＸ１１０８と、データセンスアンプ１１１０と、グローバルデータバス１４４と、を含む。メモリアレイ１０２はビット線０〜７を含み、ビット線０〜７は、図１に関連して上述したメモリアレイ１０２の書き込み線に対応していてよく、また単一のグローバルデータ線への複数の接続を表していてよい。図示のように、８本のビット線は、８：１列ＭＵＸ１１０８を介して各グローバルデータ線に対して機能する。各ビット線は１つのセンスアンプ１１０２に結合される。センスアンプ１１０２の出力は、転送レジスタ１１０４のビットに結合され、また８：１列ＭＵＸ１１０８の入力にも結合される。説明を容易にするために、転送レジスタ１１０４は単一のラッチで示されている。センスアンプ１１０２の出力は配線１１０６によって取り出され、配線１１０６は、ミラーバンク（図示せず）内の転送レジスタのビットに結合される。図示のように、例えば、ビット線０はセンスアンプＳＡ０に結合され、センスアンプＳＡ０の出力は、転送レジスタ１１０４のビットＸＦ０に結合され、また１本の配線１１０６によって取り出されて例えばミラーバンク内の転送レジスタのビットＸＦ０に結合する。同様に、ビット線１〜７はセンスアンプＳＡ１〜ＳＡ７に結合され、センスアンプＳＡ１〜ＳＡ７の出力は、転送レジスタ１１０４のビットＸＦ１〜ＸＦ７に結合され、また配線１１０６によって取り出されて例えばミラーバンク内の転送レジスタのビットＸＦ１〜ＸＦ７に結合する。
【００５６】
アレイ読み出しの間、センスアンプ１１０２は、メモリアレイ１０２内のビット線０〜７の読み出しデータを増幅し、転送レジスタ１１０４のビットＸＦ０〜ＸＦ７へのデータをバッファリングする。アレイ書き込みの間、ＤＳＡ１１１０は、８：１列ＭＵＸ１１０８によって選択された列出力に基づき、グローバルデータバス１４４からセンスアンプ１１０２の１つへと読み出されたデータをアサートするが、他の７列はリフレッシュを行ってよい。転送レジスタ１１０４からの書き込みの間、ビットＸＦ０〜ＸＦ７はセンスアンプ１１０２への書き込みデータをバッファリングし、ビット線書き込み論理がその行の全部を書き込む。マスクされた書き込みの間、データは、どの場所が有効なデータを含んでいるのかに応じて、アレイ又は転送レジスタからアクセスされ得る。この構成は、バンクからの読み出し動作が、主バンク又はミラーバンクのいずれかの転送レジスタ又はアレイセルを起点とすることを可能にする。書き込み動作の間、データは、ＤＳＡ（グローバルデータバス）又は転送レジスタから書き込まれ得るし、あるいはマスクされた書き込みの間はアレイセルからリフレッシュされ得る。これにより、リフレッシュ対立を管理するのに必要な全ての機能が可能になる。
【００５７】
本発明は、システム、方法、及び／又はコンピュータプログラム製品であってよい。コンピュータプログラム製品は、本発明の種々の側面をプロセッサに実施させるためのコンピュータ可読プログラム命令を有するコンピュータ可読記憶媒体（又は複数の記憶媒体）を含み得る。
【００５８】
コンピュータ可読記憶媒体は、命令実行デバイスによる使用のために命令を保持し記憶することができる有形のデバイスであり得る。限定はされないが、コンピュータ可読記憶媒体は、例えば、電子記憶デバイス、磁気記憶デバイス、光記憶デバイス、電磁気記憶デバイス、半導体記憶デバイス、又はこれらの任意の好適な組み合わせであってよい。コンピュータ可読記憶媒体のより具体的な例の網羅的でないリストは、ポータブルコンピュータディスケット、ハードディスク、ランダムアクセスメモリ（ＲＡＭ）、リードオンリメモリ（ＲＯＭ）、消去可能プログラム可能読み出し専用メモリ（ＥＰＲＯＭ又はフラッシュメモリ）、スタティックランダムアクセスメモリ（ＳＲＡＭ）、ポータブルコンパクトディスクリードオンリメモリ（ＣＤ−ＲＯＭ）、デジタル多用途ディスク（ＤＶＤ）、メモリスティック、フロッピー（登録商標）ディスク、パンチカードや記録された命令を有する溝内の隆起構造体等の機械的にコード化されたデバイス、及びこれらの任意の好適な組み合わせを含む。ここで用いられるコンピュータ可読記憶媒体は、電波や他の自由に伝搬する電磁波、導波路や他の伝送媒体を通って伝搬する電磁波（例えば光ファイバケーブルを通過する光パルス）、又はワイヤを通って伝送される電気信号等の、それ自体が一時的な信号であるとして解釈すべきではない。
【００５９】
ここで説明されるコンピュータ可読プログラム命令は、コンピュータ可読記憶媒体から、それぞれのコンピューティング／処理デバイスに、あるいはネットワーク、例えばインターネット、ローカルエリアネットワーク、ワイドエリアネットワーク、及び／又は無線ネットワークを介して外部コンピュータ又は外部記憶デバイスにダウンロードすることができる。ネットワークは、銅伝送ケーブル、光伝送ファイバ、無線伝送、ルータ、ファイアウォール、スイッチ、ゲートウェイコンピュータ、及び／又はエッジサーバを備えていてよい。各コンピューティング／処理デバイスにおけるネットワークアダプタカード又はネットワークインタフェースは、ネットワークからコンピュータ可読プログラム命令を受け取り、それらコンピュータ可読プログラム命令をそれぞれのコンピューティング／処理デバイス内のコンピュータ可読記憶媒体での記憶のために転送する。
【００６０】
本発明の動作を実施するためのコンピュータ可読プログラム命令は、アセンブラ命令、命令セットアーキテクチャ（ＩＳＡ）命令、機械命令、機械依存命令、マイクロコード、ファームウェア命令、状態設定データ、あるいはスモールトーク(Smalltalk)やＣ＋＋等のオブジェクト指向プログラミング言語及び「Ｃ」プログラミング言語や類似のプログラミング言語等の従来の手続き型プログラミング言語を含む１つ以上のプログラミング言語の任意の組み合わせにおいて書かれたソースコード又はオブジェクトコードであってよい。コンピュータ可読プログラム命令は、ユーザのコンピュータ上で全体的に実行されてよく、ユーザのコンピュータ上で独立型ソフトウェアパッケージとして部分的に実行されてよく、ユーザのコンピュータ上で及び遠隔のコンピュータ上でそれぞれ部分的に実行されてよく、あるいは遠隔のコンピュータ上又はサーバ上で全体的に実行されてよい。後者のシナリオにおいて、遠隔のコンピュータは、ローカルエリアネットワーク（ＬＡＮ）や広域ネットワーク（ＷＡＮ）を含む任意のタイプのネットワークを介してユーザのコンピュータに接続されてよく、あるいは外部コンピュータへの接続がなされてよい（例えばインターネットサービスプロバイダを用いるインターネットを介して）。幾つかの実施形態において、本発明の種々の側面を実施するために、例えばプログラマブル論理回路、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、又はプログラマブル論理アレイ（ＰＬＡ）を含む電子回路が、コンピュータ可読プログラム命令の状態情報を利用して電子回路をパーソナライズすることによって、コンピュータ可読プログラム命令を実行してよい。
【００６１】
本発明の実施形態に従う方法、装置（システム）、及びコンピュータプログラム製品のフローチャート図及び／又はブロック図を参照して、本発明の種々の側面がここに説明されている。フローチャート図及び／又はブロック図の各ブロック並びにフローチャート図及び／又はブロック図における複数のブロックの組み合わせは、コンピュータ可読プログラム命令によって実装し得ることが理解されるはずである。
【００６２】
これらのコンピュータ可読プログラム命令は、コンピュータ又は他のプログラム可能なデータ処理装置のプロセッサを介して実行される命令が、フローチャート図及び／又はブロック図の１つ又は複数のブロックに指定される機能／作用を実装するための手段を作り出すように、汎用コンピュータ、専用コンピュータ、又は他のプログラム可能なデータ処理装置のプロセッサに提供されて機械を生産してよい。また、これらのコンピュータ可読プログラム命令は、コンピュータ可読記憶媒体内に記憶されてよく、コンピュータ可読記憶媒体は、記憶された命令を有するコンピュータ可読記憶媒体が、フローチャート図及び／又はブロック図の１つ又は複数のブロックに指定された機能／作用の種々の側面を実装する命令を含む製品(article of manufacture)を備えるように、コンピュータ、プログラム可能なデータ処理装置、及び／又は他のデバイスに特定の方法で機能するよう指示することができる。
【００６３】
また、コンピュータ可読プログラム命令は、コンピュータ、他のプログラム可能なデータ処理装置、又は他のデバイスにロードされて、コンピュータ、他のプログラム可能な装置、又は他のデバイス上で実行する命令が、フローチャート図及び／又はブロック図の１つ又は複数のブロックに指定された機能／作用を実装するように、一連の動作ステップをコンピュータ、他のプログラム可能な装置、又は他のデバイス上で行わせてコンピュータ実装のプロセスを作り出してよい。
【００６４】
図面のうちフローチャート及びブロック図は、本発明の種々の実施形態に従うシステム、方法、及びコンピュータプログラム製品の可能な実装のアーキテクチャ、機能、及び動作を説明している。この点において、フローチャート又はブロック図中の各ブロックは、指定された１つ以上の論理機能を実装するための１つ以上の実行可能命令を備えるモジュール、セグメント、又は命令の一部分を表してよい。いくつかの代替的な実装においては、ブロック内に記された機能は、図中に記された順序以外の順序で生じてよい。例えば、連続して示される２つのブロックは、実際には実質的に同時に実行されてよく、あるいはそれらのブロックは、場合によっては関係する機能に応じて逆の順序で実行されてよい。尚、ブロック図及び／又はフローチャート図の各ブロックや、ブロック図及び／又はフローチャート図中のブロックの組み合わせは、特定の機能若しくは作用を行い又は専用のハードウェア及びコンピュータ命令の組み合わせを実施する専用ハードウェアベースのシステムによって実装され得る。
【００６５】
以上に基づき、コンピュータシステム、方法、及びプログラム製品が本発明に従って開示されてきた。しかし、本発明の範囲から逸脱することなく、多くの修正及び置換がなされ得る。従って、本発明は限定ではなく例示のために開示されたものである。
【００６６】
本発明の種々の実施形態の以上の記述は、例示及び説明を目的として提供されてきた。本発明の種々の実施形態の以上の記述は、網羅的であるとも、開示された厳密な形態に本発明を限定するとも意図されていない。多くの修正及び変形が可能である。本発明の技術分野における当業者には明らかであろうそのような修正及び変形は、添付の請求項によって画定される本発明の範囲内に含まれていることが意図されている。
【図１】
2016115391.tif 000003
【図２】
2016115391.tif 000004
【図３】
2016115391.tif 000005
【図４】
2016115391.tif 000006
【図５】
2016115391.tif 000007
【図６】
2016115391.tif 000008
【図７】
2016115391.tif 000009
【図８】
2016115391.tif 000010
【図９】
2016115391.tif 000011
【図１０】
2016115391.tif 000012
【図１１】
2016115391.tif 000013