(57)【特許請求の範囲】
【請求項１】
メモリ回路のストレージアレイに結合されたデータバッファと、
前記データバッファおよび前記ストレージアレイに結合された、書込みコマンドに関連する入力データを受け取るための論理回路と、
前記論理回路及び前記データバッファに結合された、第１の制御信号を前記論理回路に提供するコマンド復号器と、
を含み、
前記書込みコマンドに関連する前記入力データが前記論理回路によって受け取られたとき、前記論理回路が前記第１の制御信号に応答して、前記入力データを前記ストレージアレイに直接に送るか、または前記入力データを前記データバッファに送り、
前記入力データが、前記データバッファに送られた場合、前記コマンド復号器が第２の制御信号を、前記ストレージアレイに関連する入力／出力ゲートが使用されていない所定の時刻に前記データバッファに送り、
前記データバッファが前記第２の制御信号に応答して、前記入力データを前記データバッファから前記ストレージアレイに送る
ことを特徴とするメモリ回路。
【請求項２】
メモリ回路のストレージアレイに結合されたデータバッファと、
前記データバッファおよび前記ストレージアレイに結合された、書込みコマンドに関連する入力データを受け取るための論理回路と、
前記論理回路に結合された、第１の制御信号を前記論理回路に提供するコマンド復号器と、
前記コマンド復号器に結合されたコントローラと、
を含み、
前記コントローラが、前記入力データを前記ストレージアレイに直接に送るか、または前記データバッファに送るかを決定し、
前記コントローラが、第２の制御信号を前記コマンド復号器に提供し、
前記コマンド復号器が前記第２の制御信号に応答して、前記第１の制御信号を前記論理回路に提供し、
前記第１の制御信号が前記第２の制御信号に基づき、
前記論理回路が前記第１の制御信号に応答して、前記入力データを前記ストレージアレイに直接に送るか、または前記入力データを前記データバッファに送る
ことを特徴とするメモリ回路。
【請求項３】
コントローラおよび前記コマンド復号器に結合され、前記コントローラから前記入力データに関連するアドレスを受け取る第２の論理回路と、
前記第２の論理回路に結合されたアドレスバッファと、
前記アドレスバッファおよび前記ストレージアレイに結合されたアドレス復号器と
をさらに含み、
前記入力データが、前記データバッファに送られた場合、前記第２の論理回路は前記コマンド復号器からの第３の制御信号に応答して、前記アドレスを前記アドレスバッファに送り、また前記アドレスバッファは前記コマンド復号器から前記所定の時刻に送られた第４の制御信号に応答して、前記アドレスを前記アドレス復号器に送り、前記アドレス復号器は前記アドレスを復号化して、前記データが書き込まれる前記ストレージアレイの一部分を活動化する
ことを特徴とする請求項１に記載のメモリ回路。
【請求項４】
前記入力データが、前記ストレージアレイに直接に送られた場合、前記論理回路は前記第３の制御信号に応答して、前記アドレスを前記アドレス復号器に送ることを特徴とする請求項３に記載のメモリ回路。
【請求項５】
コントローラおよび前記ストレージアレイに結合され、前記コントローラから前記入力データに関連するアドレスを受け取るアドレス復号器をさらに含み、
前記入力データが前記データバッファに送られた場合、前記第２の制御信号が前記データバッファに送られるまで、前記入力データに関連する前記アドレスを前記アドレス復号器に送ることを前記コントローラは遅延させる
ことを特徴とする請求項１に記載のメモリ回路。
【請求項６】
前記書込みコマンドの後に別の書込みコマンドが続く場合、前記入力データが前記ストレージアレイに直接に送られることを特徴とする請求項１に記載のメモリ回路。
【請求項７】
前記書込みコマンドの後に読取りコマンドが続く場合、前記入力データが前記データバッファに送られることを特徴とする請求項１に記載のメモリ回路。
【請求項８】
データを記憶するためのメモリセルのアレイと、
前記アレイに結合されたデータバッファと、
前記データバッファおよび前記アレイに結合された論理回路と、
前記論理回路と前記アレイの間に結合され、また前記データバッファと前記アレイの間に結合されたラッチと、
を含み、
入力データを前記アレイに書き込む書込みコマンドが受け取られたとき、前記論理回路は制御信号に応答して、前記書込みコマンドに関連する入力データを前記アレイに直接に送るか、または前記入力データを前記データバッファに送り、
前記入力データが、前記ラッチによってラッチされた後、前記論理回路から前記アレイに、または前記データバッファに送られる
ことを特徴とするメモリデバイス。
【請求項９】
前記論理回路に結合され、前記制御信号を前記論理回路に提供するコマンド復号器をさらに含むことを特徴とする請求項８に記載のメモリデバイス。
【請求項１０】
前記コマンド復号器に結合され、前記入力データを前記論理回路から前記アレイに直接に送るか、または前記データバッファに送るかを決定するメモリコントローラをさらに含むことを特徴とする請求項９に記載のメモリデバイス。
【請求項１１】
前記入力データが前記データバッファに送られる場合、前記コントローラはポスト式書込み信号を前記コマンド復号器に送り、前記コマンド復号器は前記ポスト式書込み信号に応答して、前記ポスト式書込み信号に基づく前記制御信号を前記論理回路に送ることを特徴とする請求項１０に記載のメモリデバイス。
【請求項１２】
前記書込みコマンドの後に読取りコマンドが続く場合、前記ポスト式書込み信号が前記コントローラによって送られることを特徴とする請求項１１に記載のメモリデバイス。
【請求項１３】
前記コントローラおよび前記コマンド復号器に結合され、前記コントローラから前記入力データに関連するアドレスを受け取る第２の論理回路と、
前記第２の論理回路に結合されたアドレスバッファと、
前記アドレスバッファおよび前記アレイに結合されたアドレス復号器と
をさらに含み、
前記入力データが前記データバッファに送られた場合、前記論理回路は前記コマンド復号器からの第２の制御信号に応答して、前記アドレスを前記アドレスバッファに送り、また前記アドレスバッファは前記コマンド復号器から送られた第３の制御信号に応答して、前記アドレスを前記アドレス復号器に送り、前記アドレス復号器は前記アドレスを復号化して、前記データが書き込まれる前記アレイの一部分を活動化する
ことを特徴とする請求項１２に記載のメモリデバイス。
【請求項１４】
前記入力データが前記アレイに直接に送られた場合、前記第２の論理回路は前記第２の制御信号に応答して、前記アドレスを前記アドレス復号器に送ることを特徴とする請求項１３に記載のメモリデバイス。
【請求項１５】
前記コマンド復号器が前記データバッファに結合され、前記入力データが前記データバッファに送られた場合、前記データバッファは前記コマンド復号器からの信号に応答して、前記入力データを前記アレイに送ることを特徴とする請求項１２に記載のメモリデバイス。
【請求項１６】
前記コントローラおよび前記アレイに結合され、前記コントローラから前記入力データに関連するアドレスを受け取るアドレス復号器をさらに含み、
前記入力データが前記データバッファに送られた場合、前記信号が前記コマンド復号器から送られるまで、前記入力データに関連する前記アドレスを前記アドレス復号器に送るのこと前記コントローラは遅延させる
ことを特徴とする請求項１５に記載のメモリデバイス。
【請求項１７】
前記アレイに関連する入力／出力ゲートが使用されていないとき前記コマンド復号器からの前記信号が送られることを特徴とする請求項１５に記載のメモリデバイス。
【請求項１８】
前記アレイと前記ラッチの間に結合された複数の入力／出力ゲートをさらに含むことを特徴とする請求項８に記載のメモリデバイス。
【請求項１９】
前記書込みコマンドの後に別の書込みコマンドが続く場合、前記入力データが前記アレイに直接に送られることを特徴とする請求項８に記載のメモリデバイス。
【請求項２０】
前記書込みコマンドの後に読取りコマンドが続く場合、前記入力データが前記データバッファに送られることを特徴とする請求項８に記載のメモリデバイス。
【請求項２１】
書込みコマンドに応答して入力され、読取りコマンドに応答して抽出されるデータを記憶するためのストレージアレイと、
前記ストレージアレイに結合され、書込みコマンドに関連する入力データを記憶するように適合されたデータバッファと
書込みコマンドに関連する入力データが前記データバッファの中にポストされてから、前記ストレージアレイに送られるかどうかをコマンドごとに決定するための回路と、
を含み、
読取りコマンドが前記書込みコマンドに続く場合、前記書込みコマンドに関連する前記入力データが前記データバッファの中にポストされ、
前記読取りコマンドに関連する出力データが、前記メモリシステムから出力されているときに前記バッファの中にポストされた前記入力データが前記ストレージアレイに送られる
ことを特徴とするメモリシステム。
【請求項２２】
前記ストレージアレイに結合されたアドレスバッファをさらに含み、
前記データバッファの中にポストされた前記入力データが前記ストレージアレイに送られるまで、前記データバッファの中にポストされた前記入力データに関連するアドレスが、前記アドレスバッファの中に記憶される
ことを特徴とする請求項２１に記載のメモリシステム。
【請求項２３】
前記ストレージアレイに結合され、前記入力データに関連するアドレスを前記ストレージアレイに提供するコントローラをさらに含み、
前記データバッファの中にポストされた前記入力データが、前記ストレージアレイに送られるまで、前記データバッファの中にポストされた前記入力データに関連する前記アドレスを送ることを前記コントローラは遅延させる
ことを特徴とする請求項２１に記載のメモリシステム。
【請求項２４】
前記書込みコマンドの後に別の書込みコマンドが続く場合、前記書込みコマンドに関連する前記入力データが前記データバッファの中にポストされないことを特徴とする請求項２１に記載のメモリシステム。
【請求項２５】
前記回路は前記ストレージアレイおよび前記データバッファに結合された論理回路をさらに含み、
前記論理回路が制御信号に応答して、前記書込みコマンドに関連する前記入力データを前記データバッファの中にポストされるように送ってから、前記ストレージアレイに送るか、または前記データバッファの中にポストすることなく、前記ストレージアレイに送る
ことを特徴とする請求項２１に記載のメモリシステム。
【請求項２６】
処理ユニットと、
該処理ユニットに結合されたメモリデバイスであって、
データを記憶するためのメモリセルのアレイと、
前記アレイに結合されたデータバッファと、
前記データバッファおよび前記アレイに結合された論理回路と、
前記論理回路と前記アレイの間に結合され、また前記データバッファと前記アレイの間に結合されたラッチと、
を含むメモリデバイスと、
を含み、
前記入力データが前記ラッチによってラッチされた後、前記論理回路から前記アレイに、または前記データバッファに送られ、
入力データを前記アレイに書き込む書込みコマンドが前記処理ユニットによって発行されたとき、前記論理回路は制御信号に応答して、前記書込みコマンドに関連する前記入力データを前記アレイに直接に送るか、または前記入力データを前記データバッファに送る
ことを特徴とする処理システム。
【請求項２７】
前記メモリデバイスが前記論理回路に結合され、前記制御信号を前記論理回路に提供するコマンド復号器をさらに含むことを特徴とする請求項２６に記載の処理システム。
【請求項２８】
前記コマンド復号器に結合され、前記入力データが前記論理回路から、前記アレイに直接に送られるか、または前記データバッファに送られるかを決定するメモリコントローラをさらに含むことを特徴とする請求項２７に記載の処理システム。
【請求項２９】
前記入力データが、前記データバッファに送られる場合、前記コントローラはポスト式書込み信号を前記コマンド復号器に送り、前記コマンド復号器は前記ポスト式書込み信号に応答して、前記ポスト式書込み信号に基づく前記制御信号を前記論理回路に送ることを特徴とする請求項２８に記載の処理システム。
【請求項３０】
前記書込みコマンドの後に読取りコマンドが続く場合、前記ポスト式書込み信号が前記コントローラによって送られることを特徴とする請求項２９に記載の処理システム。
【請求項３１】
前記コントローラおよび前記コマンド復号器に結合され、前記コントローラから前記入力データに関連するアドレスを受け取る第２の論理回路と、
前記第２の論理回路に結合されたアドレスバッファと、
前記アドレスバッファおよび前記アレイに結合されたアドレス復号器と
をさらに含み、
前記入力データが、前記データバッファに送られた場合、前記論理回路は前記コマンド復号器からの第２の制御信号に応答して、前記アドレスを前記アドレスバッファに送り、また前記アドレスバッファは前記コマンド復号器から送られた第３の制御信号に応答して、前記アドレスを前記アドレス復号器に送り、前記アドレス復号器は前記アドレスを復号化して、前記データが書き込まれる前記アレイの一部分を活動化する
ことを特徴とする請求項３０に記載の処理システム。
【請求項３２】
前記入力データが前記アレイに直接に送られた場合、前記第２の論理回路は前記第２の制御信号に応答して、前記アドレスを前記アドレス復号器に送ることを特徴とする請求項３１に記載の処理システム。
【請求項３３】
前記コマンド復号器が前記データバッファに結合され、前記入力データが前記データバッファに送られた場合、前記データバッファは前記コマンド復号器からの信号に応答して、前記入力データを前記アレイに送ることを特徴とする請求項２７に記載の処理システム。
【請求項３４】
前記コントローラおよび前記アレイに結合され、前記コントローラから前記入力データに関連するアドレスを受け取るアドレス復号器をさらに含み、
前記入力データが、前記データバッファに送られた場合、前記信号が前記コマンド復号器から送られるまで、前記入力データに関連する前記アドレスを前記アドレス復号器に送ることを前記コントローラは遅延させる
ことを特徴とする請求項３３に記載の処理システム。
【請求項３５】
前記アレイに関連する入力／出力ゲートが使用されていないとき、前記コマンド復号器からの前記信号が送られることを特徴とする請求項３３に記載の処理システム。
【請求項３６】
前記メモリデバイスが前記アレイと前記ラッチの間に結合された複数の入力／出力ゲートをさらに含むことを特徴とする請求項２６に記載の処理システム。
【請求項３７】
前記書込みコマンドの後に別の書込みコマンドが続く場合、前記入力データが前記アレイに直接に送られることを特徴とする請求項２６に記載の処理システム。
【請求項３８】
前記書込みコマンドの後に読取りコマンドが続く場合、前記入力データが、前記データバッファに送られることを特徴とする請求項２６に記載の処理システム。
【請求項３９】
前記処理ユニットと前記メモリデバイスが単一のチップ上に統合されることを特徴とする請求項２６に記載の処理システム。
【請求項４０】
処理ユニットと、
該処理ユニットに結合されたメモリシステムと
を有し、
該メモリシステムは、
書込みコマンドに応答して入力され、読取りコマンドに応答して抽出されるデータを記憶するためのストレージアレイと、
前記ストレージアレイに結合され、書込みコマンドに関連する入力データを記憶するように適合されたデータバッファと、
書込みコマンドに関連する入力データが前記データバッファの中にポストされてから、前記ストレージアレイに送られるかどうかをコマンドごとに決定するための回路と、
を含み、
前記書込みコマンドの後に別の書込みコマンドが続く場合、前記書込みコマンドに関連する前記入力データが、前記データバッファの中にポストされない
ことを特徴とする処理システム。
【請求項４１】
前記書込みコマンドの後に読取りコマンドが続く場合、前記書込みコマンドに関連する前記入力データが前記データバッファの中にポストされることを特徴とする請求項４０に記載の処理システム。
【請求項４２】
前記読取りコマンドに関連する出力データが前記メモリシステムから出力されているときに前記データバッファの中にポストされた前記入力データが前記ストレージアレイに送られることを特徴とする請求項４１に記載の処理システム。
【請求項４３】
前記ストレージアレイに結合されたアドレスバッファをさらに含み、
前記データバッファの中にポストされた前記入力データが、前記ストレージアレイに送られるまで、前記データバッファの中にポストされた前記入力データに関連するアドレスが、前記アドレスバッファの中に記憶される
ことを特徴とする請求項４２に記載の処理システム。
【請求項４４】
前記ストレージアレイに結合され、前記入力データに関連するアドレスを前記ストレージアレイに提供するコントローラをさらに含み、
前記データバッファの中にポストされた前記入力データが、前記ストレージアレイに送られるまで、前記データバッファの中にポストされた前記入力データに関連する前記アドレスを送ることを前記コントローラは遅延させる
ことを特徴とする請求項４２に記載の処理システム。
【請求項４５】
前記メモリシステムの前記回路が、前記ストレージアレイおよび前記データバッファに結合された論理回路をさらに含み、
前記論理回路が制御信号に応答して、前記書込みコマンドに関連する前記入力データを前記データバッファの中にポストされるように送ってから、前記ストレージアレイに送るか、または前記データバッファの中にポストすることなく、前記ストレージアレイに送る
ことを特徴とする請求項４０に記載の処理システム。
【請求項４６】
前記処理ユニットと前記メモリシステムが、単一のチップ上に統合されることを特徴とする請求項４０に記載の処理システム。
【請求項４７】
書込みコマンドに関連する入力データをアレイに書き込むための方法であって、
前記書込みコマンドに関連する前記入力データを受け取るステップと、
前記書込みコマンドに関連する前記入力データがポストされるべきことを示す第１の制御信号を受け取るステップと、
前記第１の制御信号に応答して前記書込みコマンドに関連する前記入力データをポストするステップと、
前記書込みコマンドに関連する前記入力データが、ポストされるべきでないことを示す第２の制御信号を受け取るステップと、
前記第２の制御信号に応答して前記入力データをポストすることなく、前記入力データを前記アレイに送るステップと、
前記書込みコマンドに関連する前記入力データをラッチにおいてラッチするステップと
を含むことを特徴とする方法。
【請求項４８】
前記書込みコマンドの後に続く次のコマンドを判別するステップを含むことを特徴とする請求項４７に記載の方法。
【請求項４９】
前記書込みコマンドの後に続く次のコマンドが、別の書込みコマンドである場合、前記第２の制御信号を提供し、前記入力データをポストすることなく、前記入力データを前記アレイに送るステップをさらに含むことを特徴とする請求項４８に記載の方法。
【請求項５０】
前記書込みコマンドの後に続く次のコマンドが、読取りコマンドである場合、前記第１の制御信号を提供し、前記書込みコマンドに関連する入力データをポストするステップをさらに含むことを特徴とする請求項４８に記載の方法。
【請求項５１】
前記ポストするステップは、
前記書込みコマンドに関連する入力データをデータバッファに送るステップと、
前記書込みコマンドに関連する入力データを前記データバッファの中に記憶するステップと
をさらに含むことを特徴とする請求項５０に記載の方法。
【請求項５２】
前記アレイに関連する入力／出力ゲートが使用されていない期間を判定するステップと、
前記期間中に前記データバッファの中に記憶されている書込みコマンドに関連する入力データを前記アレイに送るステップと
をさらに含むことを特徴とする請求項５１に記載の方法。
【請求項５３】
前記入力データに関連するアドレスをアドレスバッファの中に記憶するステップと、
前記データバッファの中に記憶されている書込みコマンドに関連する入力データが、前記アレイに送られたとき、前記アドレスを前記アレイに送るステップと
をさらに含むことを特徴とする請求項５２に記載の方法。
【請求項５４】
前記入力データに関連するアドレスをコントローラの中に記憶するステップと、
前記データバッファの中に記憶されている書込みコマンドに関連する入力データが、前記アレイに送られるまで、前記コントローラから前記アレイに前記アドレスを送ることを遅延させるステップと
をさらに含むことを特徴とする請求項５２に記載の方法。
【請求項５５】
前記データバッファの中に記憶されている書込みコマンドに関連する入力データを前記アレイに送るステップは、前記書込みコマンドに関連する前記入力データをラッチにおいてラッチするステップをさらに含むことを特徴とする請求項５２に記載の方法。
【請求項５６】
前記データバッファの中に記憶されている書込みコマンドに関連する入力データを前記アレイに送るステップは、
前記ラッチされた入力データを前記アレイに関連するゲートに送るステップと、
前記ゲートから前記アレイに前記入力データを書き込むステップと
をさらに含むことを特徴とする請求項５５に記載の方法。
【請求項５７】
前記書込みコマンドに関連する入力データを前記アレイに送るステップは、
前記ラッチされた入力データを前記アレイに関連するゲートに送るステップと、
前記ゲートから前記アレイに前記入力データを書き込むステップと
をさらに含むことを特徴とする請求項４７に記載の方法。
【請求項５８】
書込みコマンドに関連する入力データをポストするための方法であって、
前記書込みコマンドの後に続く次のコマンドを判別するステップと、
前記次のコマンドが読取りコマンドである場合、前記書込みコマンドに関連する入力データをポストするステップと、
読取りコマンドではない場合、前記書込みコマンドに関連する前記入力データをポストしないステップと、
前記書込みコマンドに関連する前記入力データをデータバッファに送るステップと、
前記書込みコマンドに関連する入力データを前記データバッファの中に記憶するステップと、
メモリアレイに関連する入力／出力ゲートが使用されていない期間を判定するステップと、
前記期間中に、前記データバッファの中に記憶されている前記書込みコマンドに関連する入力データを前記メモリアレイに送るステップと
を含むことを特徴とする方法。
【請求項５９】
前記入力データに関連するアドレスをアドレスバッファの中に記憶するステップと、
前記データバッファの中に記憶されている前記書込みコマンドに関連する入力データが、前記メモリアレイに送られたとき、前記アドレスを前記アレイに送るステップと
をさらに含むことを特徴とする請求項５８に記載の方法。
【請求項６０】
前記入力データに関連するアドレスをコントローラの中に記憶するステップと、
前記データバッファの中に記憶されている前記書込みコマンドに関連する入力データが、前記メモリアレイに送られるまで、前記コントローラから前記メモリアレイに前記アドレスを送るのを遅延させるステップと
をさらに含むことを特徴とする請求項５８に記載の方法。
【発明の詳細な説明】
【０００１】
（発明の背景）
１．発明の分野
本発明は、一般にメモリデバイスに関し、より詳細には、システムバスの効率を向上させるため、書込みデータがポストされるべきかどうかをコマンドごとに決定するメモリデバイスに関する。
【０００２】
２．関連技術の説明
ますます多くの電子機器および電子ベースのシステムが、情報（または「データ」）を記憶し、取り出すために何らかの形態の高速メモリデバイスを必要としている。そのようなメモリデバイスのタイプは、多種多様であるが、比較的小さい面積に実装するのを必要とするメモリアプリケーションにおいて半導体メモリデバイスが最も一般的に使用されている。このクラスの半導体メモリデバイスのなかで、ＤＲＡＭ（ダイナミックランダムアクセスメモリ）が、最も一般的に使用されているタイプのものの１つである。
【０００３】
これらのシステムの中央処理ユニット（ＣＰＵ）によって行われる動作の多くが、システムのメモリアレイ上のメモリアクセスである。アクセスという用語は、通常、選択されたメモリセルからデータを読み取ること、または選択されたメモリセルにデータを書き込むことを指す。図１Ａは、ブロック図の形式で、従来のメモリデバイスにアクセスするための構成要素の一部分を示している。アレイ１０は、行列に配置された複数のメモリセルから構成され、このメモリセルにデータを書き込むことができ、またはこのメモリセルからデータを読み取ることができる。データが、システムバス（図示せず）からデータ入力／出力ＤＱ２２上に提供され、入力データが、バス２６を介してデータ入力レジスタ２０に供給される。入力データは、書込みラッチ１６によってラッチされ、Ｉ／Ｏゲート１２に入力するためにバス２４上に置かれる。次に、Ｉ／Ｏゲート１２が、バス２８を介してアレイ１０にデータを書き込む。同様に、データが、アレイ１０から読み取られるとき、データは、バス２８によってＩ／Ｏゲート１２に提供され、バス２４を介して読取りラッチ１４に入力される。次に、ラッチされたデータは、ドライバ１８によって送出され、バス２６を介してＤＱ２２上でシステムバス（図示せず）に出力される。
【０００４】
ただし、メモリアレイにアクセスするための従来のシステムには、いくつかの欠点が存在する。例えば、従来のアクセスシステムは、通常、遅い書込み−読取りサイクル時間、すなわち、データ書込みを行い、次にデータ読取りを行うのに必要とされる時間を有する。これは、読取り中にデータがアレイ１０からＩ／Ｏゲート１２に提供されるのが可能になるには、まず、Ｉ／Ｏゲート１２が、アレイ１０にデータを書き込むのに必要とする遅延によって生じさせられる。
【０００５】
プロセッサの速度が増加するにつれ、より高いメモリアクセス速度が、より重要になっていきている。アレイに書き込まれるデータを「ポストする」ことによって書込み−読取りサイクル時間を短縮しようとする試みがなされてきた。ポストするとは、アレイに書き込まれるデータを図１Ｂに示すようなデータバッファ３０に入れ、コントローラが、例えば、後続の書込みコマンドなどの、Ｉ／Ｏゲートが、読取り動作のために使用されていない利用可能な時間を判定するまで、メモリアレイにデータを書き込むのを遅延させることを指す。例えば、バッファ３０の中のデータが、書込みラッチ１６の中に入れられ、次に、新しい書込みコマンドが発行され、新しいデータ（新しい書込みコマンドからの）が、バッファ３０に入力されているとき、Ｉ／Ｏゲート１２を介してアレイ１０に入れられる。しかし、すべての書込みデータをポストすることは、メモリアレイへの書込みアクセスを常に遅延させ、これにより、システム効率が低下する。さらに、読取りコマンドが、数回の書込みコマンドに後続するとき、バッファ３０の中のデータが、その読取りコマンドが実行される前にアレイ１０に書き込まれなかった場合、バッファ３０の中のデータが破壊される危険が存在する。したがって、データが破壊されないことを確実にするため、やはり最後の書込みコマンドとの間に遅延が存在してからでなければ、読取りコマンドを実行することができない。
【０００６】
したがって、常に書込みコマンドを遅延させることによってシステム効率を低下させることなく、書込み−読取りサイクル時間を短縮することによってメモリアクセス速度を増加させることが望ましい。
【０００７】
（発明の概要）
本発明は、従来技術の問題のいくつかを改善し、データがアレイに直接に書き込まれるか、またはデータバッファを介してポストされるかをコマンドごとに決定することによってメモリアクセス時間を短縮するための独自のシステムおよび方法を提供し、これにより、システム効率を最適化する。
【０００８】
本発明によれば、メモリコントローラが、ＤＲＡＭアレイなどのメモリアレイに書き込まれるデータが、アレイに直接に書き込まれるか、またはデータバッファを介してポストされるかをコマンドごとに決定する。コントローラが、書込みコマンドの後に別の書込みコマンドが続くと判定した場合、第１の書込みコマンドに関連するデータは、バッファの中にデータをポストすることなく、メモリアレイに直接に書き込まれる。コントローラが、書込みコマンドの後に読取りコマンドが続くと判定した場合、その書込みコマンドに関連するデータは、データバッファの中にポストされ、これにより、最小の遅延で読取りコマンドが行われることが可能になり、ポストされたデータは、内部Ｉ／Ｏラインが、読取りコマンドを実行するためにもはや使用されていないとき、アレイに書き込まれる。データをポストするかどうかをコマンドごとに決定することにより、メモリコントローラは、より高いデータスループットのためにより高い柔軟性を有する。
【０００９】
本発明の以上の利点およびその他の利点と特徴は、添付の図面に関連して提供する本発明の以下の詳細な説明からより明白となる。
【００１０】
（好ましい実施形態の詳細な説明）
図２−４で示した例としての実施形態で提示する本発明を説明する。本発明の趣旨または範囲を逸脱することなく、他の実施形態を利用することができ、また構造上または論理上の変更を加えることができる。同様のアイテムには、同様の符号を付けている。
【００１１】
本発明によれば、メモリコントローラが、ＤＲＡＭアレイなどのメモリアレイに書き込まれるデータが、アレイに直接に書き込まれるか、またはデータバッファを介してポストされるかをコマンドごとに決定する。図２Ａは、本発明による書込みコマンドが、ポストされるべきかどうかをコマンドごとに決定するメモリデバイスの一部分をブロック図の形式で示している。図２Ａの要素は、図１Ｂのものと同様であるが、本発明によれば、論理回路４０が、バス４６を介してレジスタ２０に接続されていることが異なっている。論理回路４０は、バス４２を介して書込みラッチ１６に接続された第１の出力、およびバス４４を介してバッファ３０に接続された第２の出力を有する。論理回路４０への第２の入力は、信号ライン５２を介してコマンド復号器５０に接続されている。コマンド復号器５０は、信号ライン５４を介してバッファ３０に接続された第２の出力を有する。コマンド復号器５０は、信号ライン６０、６２を介してメモリコントローラ７０に接続された２つの入力を備えている。第１の信号ライン６０は、以下でさらに説明するとおり、書込みコマンドが、ポスト式書込み（ｐＷＲ）コマンドとなるかどうかを表す信号を搬送する。第２の信号ライン６２は、以下でさらに説明するとおり、ポストコマンドを表す信号を搬送する。さらに、図２Ａは、ライン８８を介してコントローラ７０からデータが書き込まれるアドレスを受け取り、ラッチするアドレスラッチ８０を示している。アドレスラッチ８０は、ライン９２を介して論理回路８２に接続されている。論理回路８２もまた、ライン９０を介してコマンド復号器５０から信号を受け取る。論理回路８２は、ライン９４を介してアドレス復号器８６に、またライン９６を介してアドレスバッファ８４に接続されている。アドレスバッファ８４は、ライン９８を介してアドレス復号器８６に接続されており、ライン１０２を介してコマンド復号器５０から信号を受け取る。アドレス復号器８６は、論理回路８２またはアドレスバッファ８４から受け取ったアドレスを復号化し、ライン１００を介して信号をアレイ１０に提供して、そのアドレスに関連するアレイ１０の列を活動化する。
【００１２】
本発明による図２Ａで示したメモリデバイスの動作は、次のとおりである。例えば、データが、アレイ１０における指定されたアドレスに書き込まれるべきことを要求する書込みコマンド（ＷＲ）が、コントローラ７０によって受け取られるものと想定する。データは、システムバス（図示せず）からデータ入力／出力ＤＱ２２上に提供され、バス２６を介してデータ入力レジスタ２０に入力される。さらに、アドレスは、ライン８８を介してコントローラ７０からアドレスラッチ８０に提供され、アドレスラッチ８０でラッチされて、論理回路８２に提供される。また、コントローラ７０は、例えば、別の書込みコマンド、読取りコマンド、または何らかの他のコマンドなどの、書込みコマンドの後に続くコマンドも知る。書込みコマンドの後に別の書込みコマンドが続くことになる場合、コントローラ７０は、第１の書込みコマンドがポストされる必要のないことを示す信号をライン６０を介してコマンド復号器５０に送る。コマンド復号器５０は、入ってくるデータが、ポストされず、アレイ１０に直接に書き込まれるのが可能であることを示す信号を、ライン５２を介して論理回路４０に、またライン９０を介して論理回路８２に送る。したがって、論理回路８２からのアドレスは、復号化のためにライン９４を介してアドレス復号器８６に送られる。データが、バス４６を介してレジスタ２０から提供されたとき、論理回路４０は、そのデータをバス４２を介して書込みラッチ１６に渡す。入力されるデータは、書込みラッチ１６によってラッチされ、Ｉ／Ｏゲート１２に入力するためにバス２４上に置かれる。次に、Ｉ／Ｏゲート１２が、バス２８を介してそのデータをアレイ１０に、ライン１００を介してアドレス復号器によって活動化されたアドレスで書き込む。したがって、本発明によれば、書込みコマンドの後に別の書込みコマンドが続く場合、第１の書込みコマンドは、ポストされず、これにより、システムの効率が向上する。
【００１３】
次に、例えば、書込みコマンド（ＷＲ）の後に読取りコマンド（ＲＤ）が続くものと想定する。書込みコマンドの後に読取りコマンドが続く場合、コントローラ７０は、その書込みコマンドに関連するデータが、ポストされなければならないことを示す信号を、ライン６０を介してコマンド復号器５０に送る。コマンド復号器５０は、入ってくるデータが、ポストされることになり、したがって、そのデータおよびアドレスをそれぞれ、バッファ３０およびアドレスバッファ８４の中に一時的に記憶しなければならないことを示す信号を、ライン５２を介して論理回路４０に、またライン９０を介して論理回路８２に送る。したがって、論理回路８２は、アドレスラッチ８０から受け取ったアドレスをアドレスバッファ８４に送り、またデータが、バス４６を介してレジスタ２０から提供されたとき、論理回路４０は、そのデータをバス４４を介してバッファ３０に渡す。次に、データは、コントローラが、バッファ３０の中のデータをアレイ１０に送ることができると判定するまで、バッファ３０の中に記憶され、またアドレスは、アドレスバッファ８４の中に記憶される。データは、Ｉ／Ｏゲート１２が十分な期間にわたってアイドルであるとき、すなわち、他のコア動作が、アレイ１０へのＩ／Ｏゲート１２を使用していないとき、アレイ１０に送ることができる。例えば、データは、読取りコマンドからのデータが、ドライバ１８を介してＤＱ２２上に出力されている間、アレイ１０に書き込むことができる。コントローラ７０は、データのポストを行うことができる、すなわち、バッファ３０からアレイ１０に書き込まれることを示す信号をライン６２を介してコマンド復号器５０に送る。コマンド復号器３０は、コントローラ７０からポスト信号を受け取ったとき、データ内容をバス６４を介して書込みラッチ１６に転送するようバッファ３０に促す信号を信号ライン５４を介してバッファ３０に送る。さらに、コマンド復号器５０は、アドレスをライン９８を介してアドレス復号器８６に送るようバッファ８４に促す信号を、ライン１０２を介してアドレスバッファ８４に送る。入力されるデータは、書込みラッチ１６によってラッチされ、Ｉ／Ｏゲート１２に入力するためにバス２４上に置かれる。次に、Ｉ／Ｏゲート１２が、そのデータをバス２８を介してアレイ１０に、ライン１００を介してアドレス復号器によって活動化されたアドレスで書き込む。したがって、本発明によれば、書込みコマンドの後に読取りコマンドが続くとき、コントローラは、ポスト式書込みコマンドを発行し、これにより、その書込みに関連するデータをバッファの中にポストする。次に、読取りコマンドが、入力データがアレイに転送されるのを待たずに行われることが可能であり、これにより、システム効率が向上する。次に、入力データが、アレイへのＩ／Ｏゲートが利用可能であるとき、バッファからアレイに書き込まれる。
【００１４】
図３Ａは、本発明によるコントローラ７０が、入力されるデータが、ポストされるべきかどうかをコマンドごとに決定する特定のシーケンスのアクセスコマンドのタイミングを示すタイミング図である。具体的には、図３Ａは、次のシーケンスのアクセスを示している。すなわち、１クロックサイクルの書込み待ち時間を有するメモリにおける書込み（ＷＲ）、書込み（ＷＲ）、読取り（ＲＤ）、書込み（ＷＲ）、および書込み（ＷＲ）である。図３Ａで示すとおり、時刻Ｔ０で、第１の書込みコマンド、ならびに第１のアドレス、Ｃｏｌ．１アドレスが受け取られる。コントローラ７０が、時刻Ｔ４における次のコマンドが別の書込みコマンドであることを知っていると、第１の書込みコマンドに関連するデータは、ポストされない。このため、第１の書込みコマンドに関連するデータに関するアドレスは、論理回路８２からアドレス復号器に直接に渡され、また時刻Ｔ１とＴ５の間に受け取られる第１の書込みコマンドに関連するデータは、図２Ａに関連して前述したとおり、時刻Ｔ５からＴ９までＩ／Ｏゲート１２を利用して、アレイ１０における復号化されたアドレスに直接に書き込まれる。第２の書込みコマンドが、時刻Ｔ４に、第２のアドレス、Ｃｏｌ．２アドレスとともに受け取られる。第２の書込みコマンドの後には、時刻Ｔ８に読取りコマンドが続く。したがって、第２の書込みコマンドは、ポスト式書込みコマンド（ｐＷＲ）であり、図２Ａに関連して前述したとおり、時刻Ｔ５からＴ９までに受け取られる第２の書込みコマンドに関連するデータは、バッファ３０の中にポストされ、第２の書込みコマンドに関するアドレス、すなわち、Ｃｏｌ．２アドレスは、論理回路８２によってアドレスバッファ８４に送られる。したがって、時刻Ｔ８にＣｏｌ．３アドレスから発行された読取りコマンドからのデータが、Ｔ９からＴ１３までの間にＩ／Ｏゲート１２上に出力されることが可能であり、一方、第２の書込みコマンドに関連するデータおよびアドレスはそれぞれ、バッファ３０およびバッファ８４の中に入れられる。
【００１５】
時刻Ｔ１２に、コントローラ７０が、信号ライン６２を介してコマンド復号器５０にポストコマンドを発行し、バッファ３０の中のデータが、読取りコマンドからのデータが、メモリからＤＱ２２上に出力されているときにアレイに書き込まれるようにスケジュール設定する。したがって、コマンド復号器５０は、信号をバッファ３０およびアドレスバッファ８４に送る。バッファ８４の中に記憶されたアドレス、すなわち、Ｃｏｌ．２アドレスは、ライン９８を介して復号器８６に送られ、また第２の書込みコマンドから入力されているデータは、バッファ３０から、時刻１３からＴ１７までラッチ１６を介してＩ／Ｏゲート１２に送られ、復号器８６によって指定されたアドレスでアレイ１０に書き込まれる。読取りコマンドからのデータは、時刻１４からＴ１８まで出力される。
【００１６】
時刻Ｔ１９に、別の書込みコマンドが、コントローラ７０によって発行される。コントローラ７０は、時刻Ｔ２３における次のコマンドが、別の書込みコマンドであるのを知っているので、時刻Ｔ１９における書込みコマンドに関連するデータは、ポストされない。このため、図２Ａに関連して前述したとおり、アドレス、Ｃｏｌ．４アドレスは、論理回路８２からアドレス復号器８６に直接に送られ、時刻Ｔ２０とＴ２４の間に受け取られるこの書込みコマンドに関連するデータは、時刻Ｔ２３からＴ２７までＩ／Ｏゲート１２を利用して、アレイ１０に直接に書き込まれる。また、時刻Ｔ２３に受け取られる次の書込みコマンドも、この例では、ポストされず、このため時刻Ｔ２４とＴ２８の間に受け取られるこの書込みコマンドに関連するデータは、時刻Ｔ２７からＴ３１までＩ／Ｏゲート１２を利用して、復号器８６によって指定されたアドレスでアレイ１０に直接に書き込まれる。
【００１７】
したがって、本発明によれば、メモリコントローラは、ＤＲＡＭアレイなどのメモリアレイに書き込まれるデータが、アレイに直接に書き込まれるか、またはデータバッファを介してポストされるかをコマンドごとに決定し、これにより、メモリシステム効率が向上する。
【００１８】
図２Ｂは、本発明の別の実施形態による書込みコマンドがポストされるかどうかをコマンドごとに決定するメモリデバイスの一部分をブロック図の形式で示している。図２Ｂの要素は、図２Ａのものと同様であるが、図２Ｂでは、アドレスラッチ８０が、ライン１０２を介してアドレス復号器８６に直接に接続され、また論理回路８２およびアドレスバッファ８４が提供されていないことが異なっている。
【００１９】
図２Ｂで示したメモリデバイスの動作は、図２Ａに関連して説明したものと同様であるが、ポスト式書込みコマンドに関連するアドレスは、コントローラ７０の中に記憶され、コントローラ７０が、ポストコマンドをコマンド復号器５０に提供してデータを書き込むまで、アドレスラッチ８０に提供されないことが異なっている。例えば、図３Ｂで示すとおり、時刻Ｔ０に第１の書込みコマンドが、第１のアドレス、Ｃｏｌ．１アドレスとともに受け取られる。このアドレスは、コントローラ７０からアドレスラッチ８０に送られ、次に、アドレス復号器８６に直接に送られ、またデータ書込みは、図３Ａに関連して説明したのと同様である。ポスト式書込みコマンドである第２の書込みコマンドが、時刻Ｔ４に受け取られたとき、この書込みコマンドに関連するアドレス、Ｃｏｌ．２アドレスは、コントローラ７０の中に記憶され、アドレスラッチ８０には送られない。アドレス、Ｃｏｌ．２アドレスは、コントローラ７０が、時刻Ｔ１２にポストコマンドをコマンド復号器５０に発行するまで、アドレスラッチ８０に送られない。アドレスラッチ８０は、時刻Ｔ１２にアドレス、Ｃｏｌ．２アドレスを受け取ったとき、そのアドレスをライン１０２を介してアドレス復号器８６に送り、アドレス復号器８６は、そのアドレスを復号化して、アレイ１０における指定された列を活動化する。コマンド復号器５０は、時刻Ｔ１２にコントローラ７０からポストコマンドを受け取ったとき、信号をバッファ３０に送り、第２の書込みコマンドから入力されているデータが、時刻Ｔ１３からＴ１７までラッチ１６を介してバッファ３０からＩ／Ｏゲート１２に送られ、復号器８６によって指定されたアドレスでアレイ１０に書き込まれる。
【００２０】
図３Ａおよび３Ｂで示すとおり、このシーケンスのコマンドが、本発明に従って行われるのに必要とされる時間量は、およそ７７．５ナノ秒である。すべての書込みコマンドがポストされる従来技術のメモリデバイスでは、これと同じシーケンスは、完了するのにおよそ１００ナノ秒を要する。したがって、従来技術のようにすべての書込みコマンドをポストする代わりに、本発明に従って、データが、ポストされるべきかどうかをコマンドごとに決定することにより、およそ２５％の時間の節約を実現することができる。
【００２１】
本発明によるコマンドごとのポスト式書込みを利用する集積回路を含む通常のプロセッサベースのシステムを図４の１０６で一般的に示している。コンピュータシステムは、例えば、メモリ回路などの集積回路を有するシステムの例である。ほとんどの従来のコンピュータは、相当な量のデータの記憶を可能にするメモリデバイスを含む。データは、コンピュータの動作中にアクセスされる。また、その他のタイプの専用処理システム、例えば、ラジオシステム、テレビジョンシステム、ＧＰＳ受信機システム、電話機、および電話システムも、本発明を利用することができるメモリデバイスを含む。
【００２２】
例えば、コンピュータシステムなどのプロセッサベースのシステムは、一般に、バス１７０を介して１つまたは複数の入力／出力（Ｉ／Ｏ）デバイス１４０、１５０と通信する、例えば、中央処理装置（ＣＰＵ）１１０、マイクロプロセッサを含む。また、コンピュータシステム１００は、ランダムアクセスメモリ（ＲＡＭ）１６０も含み、また、コンピュータシステムの場合、バス１７０を介してやはりＣＰＵ１１０と通信するフロッピー（登録商標）ディスクドライブ１２０やコンパクトディスク（ＣＤ）ＲＯＭドライブ１３０などの周辺デバイスも含むことが可能である。ＲＡＭ１６０は、好ましくは、図２Ａおよび２Ｂに関連して前述したとおり、書込みコマンドをポストすることをコマンドごとに決定するための回路を含む集積回路として構成される。また、プロセッサ１１０とメモリ１６０を単一のＩＣチップ上に統合することも望ましい可能性がある。ＲＡＭ１６０は、ＤＲＡＭ、ＳＤＲＡＭ、ＤＤＲ、ＳＲＡＭ、または任意の他のタイプのランダムアクセスメモリデバイスであることが可能である。
【００２３】
本発明の好ましい実施形態を以上に説明し、図示してきたが、以上は、本発明を例示するものであり、限定するものと考えられるべきでないことを理解されたい。本発明の趣旨または範囲を逸脱することなく、追加、削除、置換、およびその他の変更を行うことができる。したがって、本発明は、以上の説明によって限定されるものではなく、頭記の特許請求の範囲だけによって限定されるものと考えられるべきである。
【図面の簡単な説明】
【図１Ａ】  従来のメモリデバイスにアクセスするための構成要素の一部分を示すブロック図である。
【図１Ｂ】  すべての書込みコマンドがポストされる従来のメモリデバイスにアクセスするための構成要素の一部分を示すブロック図である。
【図２Ａ】  本発明の第１の実施形態による書込みコマンドが、ポストされるべきかどうかをコマンドごとに決定するメモリデバイスを示すブロック図である。
【図２Ｂ】  本発明の第２の実施形態による書込みコマンドが、ポストされるべきかどうかをコマンドごとに決定するメモリデバイスを示すブロック図である。
【図３Ａ】  図２Ａのメモリデバイスの特定のアクセスシーケンスを示すタイミング図である。
【図３Ｂ】  図２Ｂのメモリデバイスの特定のアクセスシーケンスを示すタイミング図である。
【図４】  本発明のメモリデバイスを使用することができるプロセッサシステムを示すブロック図である。
【図１Ａ】
0004846182.tif 000002
【図１Ｂ】
0004846182.tif 000003
【図２Ａ】
0004846182.tif 000004
【図２Ｂ】
0004846182.tif 000005
【図３Ａ】
0004846182.tif 000006
【図３Ｂ】
0004846182.tif 000007
【図４】
0004846182.tif 000008