(57)【要約】  特定の方法は、プロセッサから、メモリデバイスで第1のメモリアクセス要求を受信するステップを含む。この方法は、メモリデバイスのタイミングパラメータに基づいて第1のメモリアクセス要求を処理するステップも含む。この方法は、プロセッサから、メモリデバイスで第2のメモリアクセス要求を受信するステップをさらに含む。この方法は、変更されたタイミングパラメータを生成するために、第1のメモリアクセス要求および第2のメモリアクセス要求によって識別されるアドレスに基づいて、メモリデバイスのタイミングパラメータを変更するステップも含む。この方法は、変更されたタイミングパラメータに基づいて第2のメモリアクセス要求を処理するステップをさらに含む。
2016515269.tif 000002
【特許請求の範囲】
【請求項１】
プロセッサから、メモリデバイスで第1のメモリアクセス要求を受信するステップと、
前記メモリデバイスのタイミングパラメータに基づいて前記第1のメモリアクセス要求を処理するステップと、
前記プロセッサから、前記メモリデバイスで第2のメモリアクセス要求を受信するステップと、
変更されたタイミングパラメータを生成するために、前記第1のメモリアクセス要求および前記第2のメモリアクセス要求によって識別されるアドレスに基づいて、前記メモリデバイスの前記タイミングパラメータを変更するステップと、
前記変更されたタイミングパラメータに基づいて前記第2のメモリアクセス要求を処理するステップと
を含む方法。
【請求項２】
前記メモリデバイスが、ダブルデータレート(DDR)同期型ダイナミックランダムアクセスメモリ(SDRAM)、不揮発性ランダムアクセスメモリ(NVRAM)、またはダイナミックランダムアクセスメモリ(DRAM)のうちの1つである、請求項1に記載の方法。
【請求項３】
前記タイミングパラメータを変更するステップが、
前記第1のメモリアクセス要求を処理するために使用される前記タイミングパラメータの第1の値を決定するステップと、
前記第1の値に少なくとも部分的に基づいて、前記タイミングパラメータの第2の値を決定するステップと
を含む、請求項1に記載の方法。
【請求項４】
前記第1の値が、行アクセスレイテンシおよび列アクセスレイテンシに対応し、前記第2の値が、行アドレスが変更されないときの前記列アクセスレイテンシに対応する、請求項3に記載の方法。
【請求項５】
前記メモリデバイスが、複数の行および複数の列に配置される複数の記憶要素を含み、前記第1のメモリアクセス要求が、前記メモリデバイスの第1の記憶要素にアクセスする旨の要求に対応し、前記第1の記憶要素が、前記複数の行のうちの第1の行、および前記複数の列のうちの第1の列に含まれ、前記第2のメモリアクセス要求が、前記メモリデバイスの第2の記憶要素にアクセスする旨の要求に対応し、前記第2の記憶要素が、前記第1の行、および前記第1の列とは異なる第2の列に含まれる、請求項4に記載の方法。
【請求項６】
前記メモリデバイスの前記複数の行に含まれる行の数が、前記メモリデバイスの前記複数の列に含まれる列の数と異なる、請求項5に記載の方法。
【請求項７】
前記第1のメモリアクセス要求が、行コマンドおよび列コマンドを含み、前記行コマンドが、前記第1の行の行アドレスの第1の部分を含み、前記列コマンドが、前記第1の行の前記行アドレスの第2の部分、および前記第1の列の列アドレスを含む、請求項5に記載の方法。
【請求項８】
前記第2のメモリアクセス要求が、第2の列コマンドを含み、前記第2の列コマンドが、前記行アドレスの前記第2の部分、および前記第2の列の列アドレスを含む、請求項7に記載の方法。
【請求項９】
前記第1のメモリアクセス要求が、第1のタイミングサイクルの間に受信され、前記第2のメモリアクセス要求が、第2のタイミングサイクルの間に受信され、前記第2の値を決定するステップが、
前記第2のタイミングサイクルと前記第1のタイミングサイクルとの間の経過したタイミングサイクルの数を決定するステップと、
経過したタイミングサイクルの前記数とタイミングサイクルの閾値数との間の第1の差を決定するステップと、
前記第1の値と前記第1の差との間の第2の差を決定するステップと、
前記第2の差と閾値タイミングパラメータ値との比較に基づいて、前記第2の値を決定するステップと
を含む、請求項3に記載の方法。
【請求項１０】
タイミングサイクルの前記閾値数が、列間遅延に対応する、請求項9に記載の方法。
【請求項１１】
前記第2の値が、前記第2の差および前記閾値タイミングパラメータ値の大きい方に対応し、前記閾値タイミングパラメータ値が、列アクセスレイテンシに対応する、請求項9に記載の方法。
【請求項１２】
前記第1のメモリアクセス要求が、第1のreadコマンドまたは第1のwriteコマンドのうちの一方に対応し、前記第2のメモリアクセス要求が、第2のreadコマンド、第2のwriteコマンド、またはプリチャージコマンドのうちの1つに対応する、請求項1に記載の方法。
【請求項１３】
複数の記憶要素と、
前記複数の記憶要素とプロセッサとに結合されるメモリ制御論理とを含み、前記メモリ制御論理が、前記プロセッサから受信される複数のメモリアクセス要求によって識別されるメモリアドレスに少なくとも部分的に基づいて、タイミングパラメータの値を動的に決定するように構成され、前記タイミングパラメータが、前記複数のメモリアクセス要求のうちの少なくとも1つに関連したデータがデータバスに提供される前のタイミングサイクルの数に対応する
メモリデバイス。
【請求項１４】
前記複数のメモリアクセス要求によって識別される前記メモリアドレスに少なくとも部分的に基づいて、前記タイミングパラメータの前記値を動的に決定することが、
前記プロセッサから、前記メモリデバイスで第1のメモリアクセス要求を受信することと、
前記メモリデバイスの前記タイミングパラメータの第1の値に基づいて前記第1のメモリアクセス要求を処理することと、
前記プロセッサから、前記メモリデバイスで第2のメモリアクセス要求を受信することと、
前記第1のメモリアクセス要求によって識別された第1のメモリアドレス、および前記第2のメモリアクセス要求によって識別された第2のメモリアドレスに少なくとも部分的に基づいて、前記メモリデバイスの前記タイミングパラメータの第2の値を決定することと、
前記第2の値に基づいて前記第2のメモリアクセス要求を処理することと
を含む、請求項13に記載のメモリデバイス。
【請求項１５】
前記第1の値が、行アクセスレイテンシおよび列アクセスレイテンシに対応し、前記第2のメモリアクセス要求に含まれる行アドレスが前記第1のメモリアクセス要求に含まれる行アドレスに対応するとき、前記第2の値が、前記列アクセスレイテンシに対応する、請求項14に記載のメモリデバイス。
【請求項１６】
前記第1のメモリアクセス要求が、第1のタイミングサイクルの間に受信され、前記第2のメモリアクセス要求が、第2のタイミングサイクルの間に受信され、前記第2の値を決定することが、
前記第2のタイミングサイクルと前記第1のタイミングサイクルとの間の経過したタイミングサイクルの数を決定することと、
経過したタイミングサイクルの前記数とタイミングサイクルの閾値数との間の第1の差を決定することと、
前記第1の値と前記第1の差との間の第2の差を決定することと、
前記第2の差と閾値タイミングパラメータ値との比較に基づいて、前記第2の値を決定することとを含み、
前記第2の値が、前記第2の差および前記閾値タイミングパラメータ値の大きい方に対応し、
前記閾値タイミングパラメータ値が、列アクセスレイテンシに対応する
請求項14に記載のメモリデバイス。
【請求項１７】
タイミングサイクルの前記閾値数が、列間遅延に対応する、請求項16に記載のメモリデバイス。
【請求項１８】
前記閾値タイミングパラメータ値が、列アクセス遅延に対応する、請求項16に記載のメモリデバイス。
【請求項１９】
前記メモリデバイスが、ダブルデータレート(DDR)同期型ダイナミックランダムアクセスメモリ(SDRAM)、不揮発性ランダムアクセスメモリ(NVRAM)、またはダイナミックランダムアクセスメモリ(DRAM)のうちの1つである、請求項13に記載のメモリデバイス。
【請求項２０】
前記タイミングパラメータの前記値を前記プロセッサに提供することをさらに含む請求項13に記載のメモリデバイス。
【請求項２１】
プロセッサと、
前記プロセッサとメモリデバイスとに結合されるメモリコントローラとを含み、前記メモリコントローラが、前記メモリデバイスに対する複数のメモリアクセス要求によって識別されるメモリアドレスに少なくとも部分的に基づいて、タイミングパラメータの値を動的に決定するように構成され、前記タイミングパラメータが、前記複数のメモリアクセス要求のうちの少なくとも1つに関連したデータがデータバスに提供される前のタイミングサイクルの数に対応する
装置。
【請求項２２】
前記メモリデバイスに対する前記複数のメモリアクセス要求によって識別される前記メモリアドレスに少なくとも部分的に基づいて、前記タイミングパラメータの前記値を動的に決定することが、
第1のメモリアクセス要求を前記メモリデバイスに送信することと、
前記タイミングパラメータの第1の値に基づいて前記メモリデバイスから前記メモリコントローラへの第1のデータ送信の第1の時間を予測することであり、前記第1のデータ送信が、前記第1のメモリアクセス要求に関連する、予測することと、
第2のメモリアクセス要求を前記メモリデバイスに送信することと、
前記第1のメモリアクセス要求および前記第2のメモリアクセス要求に基づいて前記タイミングパラメータの第2の値を決定することと、
前記第2の値に基づいて、前記メモリデバイスから前記メモリコントローラへの第2のデータ送信の第2の時間を予測することであり、前記第2のデータ送信が、前記第2のメモリアクセス要求に関連する、予測することと
を含む、請求項21に記載の装置。
【請求項２３】
前記第1のメモリアクセス要求が、第1のタイミングサイクルの間に送信され、前記第2のメモリアクセス要求が、第2のタイミングサイクルの間に送信され、前記第1のメモリアクセス要求および前記第2のメモリアクセス要求に基づいて前記タイミングパラメータの前記第2の値を決定することが、
前記第2のタイミングサイクルと前記第1のタイミングサイクルとの間の経過したタイミングサイクルの数を決定することと、
経過したタイミングサイクルの前記数とタイミングサイクルの閾値数との間の第1の差を決定することと、
前記第1の値と前記第1の差との間の第2の差を決定することと、
前記第2の差と閾値タイミングパラメータ値との比較に基づいて、前記第2の値を決定することとを含み、
前記第2の値が、前記第2の差および前記閾値タイミングパラメータ値の大きい方に対応し、
前記閾値タイミングパラメータ値が、列アクセスレイテンシに対応する
請求項22に記載の装置。
【請求項２４】
前記メモリデバイスが、複数の行および複数の列に配置される複数の記憶要素を含み、前記複数の記憶要素のうちの特定の記憶要素が、特定の行アドレスおよび特定の列アドレスを使用してアドレス指定可能であり、前記特定の行アドレスが、前記特定の記憶要素を含む前記複数の行のうちの特定の行を識別し、前記特定の列アドレスが、前記特定の記憶要素を含む前記複数の列のうちの特定の列を識別する、請求項22に記載の装置。
【請求項２５】
前記第1のメモリアクセス要求が、前記複数の記憶要素のうちの第1の記憶要素に関連し、前記第1のメモリアクセス要求が、行コマンドおよび列コマンドを含み、前記行コマンドが、前記第1の記憶要素を含む前記複数の行のうちの第1の行に対応する行アドレスの第1の部分を含み、前記列コマンドが、前記第1の行の前記行アドレスの第2の部分、および前記第1の記憶要素を含む前記複数の列のうちの第1の列に対応する列アドレスを含み、前記第2のメモリアクセス要求が、前記複数の記憶要素のうちの第2の記憶要素に関連し、前記第2のメモリアクセス要求が、第2の列コマンドを含み、前記第2の列コマンドが、前記第1の行の前記行アドレスの前記第2の部分、および前記第2の記憶要素を含む前記複数の列のうちの第2の列に対応する第2の列アドレスを含む、請求項24に記載の装置。
【請求項２６】
前記タイミングパラメータの前記値を動的に決定することが、
前記メモリデバイスから第1の値を受信することと、
前記メモリデバイスから第2の値を受信することと、
前記第1の値と前記第2の値との比較に基づいて、前記タイミングパラメータの前記値を決定することとを含み、前記第1の値が前記第2の値未満であるとき、前記タイミングパラメータの前記値が前記第2の値に対応し、前記第1の値が、第1のメモリアクセス要求に基づいて前記メモリデバイスで生成される
請求項21に記載の装置。
【請求項２７】
メモリコントローラからメモリデバイスに第1のメモリアクセス要求を送信するステップと、
タイミングパラメータの第1の値に基づいて前記メモリデバイスから前記メモリコントローラへの第1のデータ送信の第1の時間を予測するステップであり、前記第1のデータ送信が、前記第1のメモリアクセス要求に関連する、ステップと、
第2のメモリアクセス要求を前記メモリデバイスに送信するステップと、
前記第1のメモリアクセス要求および前記第2のメモリアクセス要求に基づいて前記タイミングパラメータの第2の値を決定するステップと、
前記第2の値に基づいて、前記メモリデバイスから前記メモリコントローラへの第2のデータ送信の第2の時間を予測するステップであり、前記第2のデータ送信が、前記第2のメモリアクセス要求に関連する、ステップと
を含む方法。
【請求項２８】
前記第1のメモリアクセス要求が、第1のタイミングサイクルの間に送信され、前記第2のメモリアクセス要求が、第2のタイミングサイクルの間に送信され、前記第1のメモリアクセス要求および前記第2のメモリアクセス要求に基づいて前記タイミングパラメータの前記第2の値を決定するステップが、
前記第2のタイミングサイクルと前記第1のタイミングサイクルとの間の経過したタイミングサイクルの数を決定するステップと、
経過したタイミングサイクルの前記数とタイミングサイクルの閾値数との間の第1の差を決定するステップと、
前記第1の値と前記第1の差との間の第2の差を決定するステップと、
前記第2の差と閾値タイミングパラメータ値との比較に基づいて、前記第2の値を決定するステップとを含み、
前記第2の値が、前記第2の差および前記閾値タイミングパラメータ値の大きい方に対応し、
前記閾値タイミングパラメータ値が、列アクセスレイテンシに対応する
請求項27に記載の方法。
【請求項２９】
前記メモリデバイスから前記タイミングパラメータの前記第1の値および前記タイミングパラメータの前記第2の値を受信するステップをさらに含む請求項27に記載の方法。
【請求項３０】
命令を記憶するコンピュータ可読ストレージデバイスであって、前記命令が、プロセッサによって実行されると、前記プロセッサに、
第1のメモリアクセス要求を受信することと、
タイミングパラメータの第1の値に基づいて前記第1のメモリアクセス要求を処理することと、
第2のメモリアクセス要求を受信することと、
変更されたタイミングパラメータを生成するために、前記第1のメモリアクセス要求および前記第2のメモリアクセス要求によって識別されるアドレスに少なくとも部分的に基づいて、前記タイミングパラメータを変更することであり、前記変更されたタイミングパラメータが第2の値を有する、変更することと、
前記第2の値に基づいて前記第2のメモリアクセス要求を処理することとを行わせる
コンピュータ可読ストレージデバイス。
【請求項３１】
前記第1のメモリアクセス要求が、第1のタイミングサイクルの間に送信され、前記第2のメモリアクセス要求が、第2のタイミングサイクルの間に送信され、前記第2の値を決定するための前記命令が、前記プロセッサによって実行されると、前記プロセッサに、
前記第2のタイミングサイクルと前記第1のタイミングサイクルとの間の経過したタイミングサイクルの数を決定させ、
経過したタイミングサイクルの前記数とタイミングサイクルの閾値数との間の第1の差を決定させ、
前記第1の値と前記第1の差との間の第2の差を決定させ、
前記第2の差と閾値タイミングパラメータ値との比較に基づいて、前記第2の値を決定させ、
前記第2の値が、前記第2の差および前記閾値タイミングパラメータ値の大きい方に対応し、
前記閾値タイミングパラメータ値が、列アクセスレイテンシに対応する
命令を含む、請求項30に記載のコンピュータ可読ストレージデバイス。
【請求項３２】
タイミングサイクルの前記閾値数が、列間遅延に対応する、請求項31に記載のコンピュータ可読ストレージデバイス。
【請求項３３】
前記第1のメモリアクセス要求および前記第2のメモリアクセス要求が、メモリデバイスのメモリ制御論理で受信され、前記命令が、前記プロセッサによって実行されると、前記プロセッサに、前記第1の値および前記第2の値の少なくとも一方を第2のプロセッサに送らせる命令をさらに含む、請求項30に記載のコンピュータ可読ストレージデバイス。
【請求項３４】
前記メモリデバイスが、ダブルデータレート(DDR)同期型ダイナミックランダムアクセスメモリ(SDRAM)、不揮発性ランダムアクセスメモリ(NVRAM)、またはダイナミックランダムアクセスメモリ(DRAM)のうちの1つである、請求項33に記載のコンピュータ可読ストレージデバイス。
【請求項３５】
データを記憶するための手段と、
プロセッサから受信される複数のメモリアクセス要求によって識別されるメモリアドレスに少なくとも部分的に基づいて、タイミングパラメータの値を動的に決定するための手段であり、前記タイミングパラメータが、前記複数のメモリアクセス要求のうちの少なくとも1つに関連したデータがデータバスに提供される前のタイミングサイクルの第1の数に対応する、手段と
を含む装置。
【請求項３６】
前記タイミングパラメータの前記値を前記プロセッサに送信するための手段と、
1つまたは複数のメモリアクセス要求を受信するための手段と、
前記1つまたは複数のメモリアクセス要求を処理するための手段と
をさらに含む請求項35に記載の装置。
【請求項３７】
前記プロセッサから受信される前記複数のメモリアクセス要求によって識別される前記メモリアドレスに少なくとも部分的に基づいて、前記タイミングパラメータの前記値を動的に決定するための前記手段が、
第1のメモリアクセス要求に基づいて前記タイミングパラメータの第1の値を決定するための手段であり、前記1つまたは複数のメモリアクセス要求を処理するための前記手段が、前記第1の値に基づいて前記第1のメモリアクセス要求を処理する、手段と、
前記第1のメモリアクセス要求および第2のメモリアクセス要求に少なくとも部分的に基づいて前記タイミングパラメータの第2の値を決定するための手段であり、前記1つまたは複数のメモリアクセス要求を処理するための前記手段が、前記第2の値に基づいて前記第2のメモリアクセス要求を処理する、手段と
を含む請求項36に記載の装置。
【請求項３８】
前記第1の値が、行アクセスレイテンシおよび列アクセスレイテンシに対応し、前記第2の値が、前記第2のメモリアクセス要求に含まれる行アドレスが前記第1のメモリアクセス要求に含まれる行アドレスに対応するとき、前記列アクセスレイテンシに対応する、請求項37に記載の装置。
【請求項３９】
前記第1のメモリアクセス要求が、第1のタイミングサイクルの間に受信され、前記第2のメモリアクセス要求が、第2のタイミングサイクルの間に受信され、前記第2の値を決定するための前記手段が、
前記第2のタイミングサイクルと前記第1のタイミングサイクルとの間の経過したタイミングサイクルの第2の数を決定するための手段と、
経過したタイミングサイクルの前記第2の数とタイミングサイクルの閾値数との間の第1の差を決定するための手段と、
前記第1の値と前記第1の差との間の第2の差を決定するための手段と、
前記第2の差と閾値タイミングパラメータ値との比較に基づいて、前記第2の値を決定するための手段とを含み、
前記第2の値が、前記第2の差および前記閾値タイミングパラメータ値の大きい方に対応し、
前記閾値タイミングパラメータ値が、列アクセスレイテンシに対応する
請求項37に記載の装置。
【請求項４０】
タイミングサイクルの前記閾値数が、列間遅延に対応する、請求項39に記載の装置。
【請求項４１】
前記閾値タイミングパラメータが、列アクセス遅延に対応する、請求項39に記載の装置。
【請求項４２】
データを記憶するための前記手段が、ダブルデータレート(DDR)同期型ダイナミックランダムアクセスメモリ(SDRAM)、不揮発性ランダムアクセスメモリ(NVRAM)、またはダイナミックランダムアクセスメモリ(DRAM)のうちの1つを含む、請求項35に記載の装置。
【請求項４３】
データを処理するための手段と、
複数の送信されたメモリアクセス要求によって識別されたメモリアドレスに少なくとも部分的に基づいて、タイミングパラメータの値を動的に決定するための手段であり、前記タイミングパラメータが、前記複数の送信されたメモリアクセス要求のうちの少なくとも1つに関連したデータがデータバスから受信される前のタイミングサイクルの第1の数に対応する、手段と
を含む装置。
【請求項４４】
第1のメモリアクセス要求および第2のメモリアクセス要求をメモリデバイスに送信するための手段をさらに含む請求項43に記載の装置。
【請求項４５】
前記第1のメモリアクセス要求が、第1のタイミングサイクルの間に送信され、前記第2のメモリアクセス要求が、第2のタイミングサイクルの間に送信され、前記タイミングパラメータの前記値を動的に決定するための前記手段が、
前記第1のメモリアクセス要求に基づいて前記タイミングパラメータの第1の値を決定するための手段と、
前記第2のタイミングサイクルと前記第1のタイミングサイクルとの間の経過したタイミングサイクルの第2の数を決定するための手段と、
経過したタイミングサイクルの前記第2の数とタイミングサイクルの閾値数との間の第1の差を決定するための手段と、
前記第1の値と前記第1の差との間の第2の差を決定するための手段と、
前記第2の差と閾値タイミングパラメータ値との比較に基づいて、前記タイミングパラメータの第2の値を決定するための手段と
を含み、前記第2の値が、前記第2の差および前記閾値タイミングパラメータ値の大きい方に対応し、
前記閾値タイミングパラメータ値が、列アクセスレイテンシに対応する
請求項44に記載の装置。
【請求項４６】
少なくとも1つの半導体ダイに統合された、請求項43に記載の装置。
【請求項４７】
セットトップボックスと、音楽プレーヤと、ビデオプレーヤと、エンターテインメントユニットと、ナビゲーションデバイスと、通信デバイスと、携帯情報端末(PDA)と、固定ロケーションデータユニットと、コンピュータとからなるグループから選択されたデバイスであって、前記少なくとも1つの半導体ダイが組み込まれた、デバイスをさらに含む、請求項46に記載の装置。
【請求項４８】
プロセッサから、メモリデバイスで第1のメモリアクセス要求を受信するための第1のステップと、
前記メモリデバイスのタイミングパラメータの第1の値に基づいて前記第1のメモリアクセス要求を処理するための第2のステップと、
前記プロセッサから、前記メモリデバイスで第2のメモリアクセス要求を受信するための第3のステップと、
変更されたタイミングパラメータを生成するために、前記第1のメモリアクセス要求および前記第2のメモリアクセス要求によって識別されるアドレスに基づいて、前記メモリデバイスの前記タイミングパラメータを変更するための第4のステップと、
前記変更されたタイミングパラメータに基づいて前記第2のメモリアクセス要求を処理するための第5のステップと
を含む方法。
【請求項４９】
半導体デバイスに対応する設計情報を含むデータファイルを受け取るステップと、
前記設計情報に従って、前記半導体デバイスを作製するステップであり、前記半導体デバイスが、プロセッサから受信される複数のメモリアクセス要求によって識別されるメモリアドレスに少なくとも部分的に基づいて、タイミングパラメータの値を動的に決定するように構成された論理を含み、前記タイミングパラメータが、前記複数のメモリアクセス要求のうちの少なくとも1つに関連したデータがデータバスに提供される前のタイミングサイクルの数に対応する、ステップと
を含む方法。
【請求項５０】
前記データファイルがGDSIIフォーマットを含む、請求項49に記載の方法。
【請求項５１】
前記データファイルがGERBERフォーマットを有する、請求項49に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願の相互参照
本出願は、その内容全体が参照により本明細書に明確に組み込まれる、2013年3月15日に出願された同一出願人が所有する米国非仮特許出願第13/842,410号の優先権を主張する。
【０００２】
本開示は、一般に、メモリデバイスのタイミングパラメータを決定することに関する。
【背景技術】
【０００３】
技術の進歩は、より小型でより高性能なコンピューティングデバイスをもたらした。たとえば、現在、小型で、軽量で、ユーザが簡単に持ち運べる、ポータブルワイヤレス電話、携帯情報端末(PDA)、およびページングデバイスなどのワイヤレスコンピューティングデバイスを含む、様々なポータブルパーソナルコンピューティングデバイスが存在する。より具体的には、携帯電話およびインターネットプロトコル(IP)電話などのポータブルワイヤレス電話は、ワイヤレスネットワークを通じて音声およびデータパケットを通信することができる。さらに、多くのそのようなワイヤレス電話には、内部に他のタイプのデバイスが組み込まれている。たとえば、ワイヤレス電話は、デジタルスチルカメラ、デジタルビデオカメラ、デジタルレコーダ、およびオーディオファイルプレーヤをも含み得る。また、そのようなワイヤレス電話は、ウェブブラウザアプリケーションなど、インターネットにアクセスするために使用され得るソフトウェアアプリケーションを含む実行可能な命令を処理することができる。したがって、これらのワイヤレス電話は、かなりのコンピューティング能力を含むことができる。
【０００４】
コンピューティングデバイスは、メモリデバイス(たとえば、ダイナミックランダムアクセスメモリ(DRAM))を含むことができる。メモリデバイスは、複数の行および複数の列に配置される複数の記憶要素を含み得る。メモリデバイスは、タイミングパラメータ(たとえば、read-to-dataレイテンシ(RL))に基づいてプロセッサから受信されたメモリアクセス要求を処理することができる。RLタイミングパラメータは、READコマンドを受信することと、READコマンドに関連したデータをデータバスに提供することとの間のタイミングサイクルの数に対応する。メモリデバイスのタイミングパラメータは、固定値(たとえば、メモリデバイスの製造業者によって設定される)を有し得る。たとえば、固定のRLタイミングパラメータは、行アクセスレイテンシ(たとえば、行アクセスストロボ(RAS)レイテンシ)、および列アクセスレイテンシ(たとえば、列アクセスストロボ(CAS)レイテンシ)を含み得る。いくつかのメモリアクセス動作に固定のRLタイミングパラメータを使用することによって、いくつかのタイミングサイクルの間、データバスがアイドルになる、すなわち、前のメモリアクセスにサービスした後、アイドルであるデータバスとなり得る。
【発明の概要】
【課題を解決するための手段】
【０００５】
メモリデバイスのタイミングパラメータを動的に決定するためのシステムおよび方法を開示する。有利には、動的に決定されたタイミングパラメータは、データバスのスループットを増加させ得る。たとえば、メモリデバイスによって複数のメモリアクセス要求が受信され得る。特定のメモリアクセス要求は、前のメモリアクセス要求と同じメモリの行からのデータを要求し得る。固定のタイミングパラメータは、異なる行および列が連続してアクセスされるときに起こる行アクセスレイテンシおよび列アクセスレイテンシに基づいて定義される。しかしながら、行が変わらないとき(すなわち、同じ行からのデータが再びアクセスされるとき)、行アクセスレイテンシはゼロである。したがって、固定のレイテンシタイミングパラメータの使用は、同じ行における連続したデータ要求についての行アクセスレイテンシに関連したデータバスアイドル時間をもたらす。
【０００６】
記載されている技法によれば、動的タイミングパラメータは、列アクセスレイテンシに基づいて決定され得る。動的タイミングパラメータは、同じ行における連続したデータ要求に関連したデータを提供し始めるべきときを決定するために使用され得、データバスがアイドルである持続時間を低減することができる。それによって、同じ行に対する連続したデータ要求のために、データバススループットが増加する。
【０００７】
特定の実施形態では、方法は、プロセッサから、メモリデバイスで第1のメモリアクセス要求を受信するステップを含む。この方法は、メモリデバイスのタイミングパラメータに基づいて第1のメモリアクセス要求を処理するステップも含む。この方法は、プロセッサから、メモリデバイスで第2のメモリアクセス要求を受信するステップをさらに含む。この方法は、変更されたタイミングパラメータを生成するために、第1のメモリアクセス要求および第2のメモリアクセス要求によって識別されるアドレスに基づいて、メモリデバイスのタイミングパラメータを変更するステップを含む。この方法は、変更されたタイミングパラメータに基づいて第2のメモリアクセス要求を処理するステップをさらに含む。
【０００８】
別の特定の実施形態では、メモリデバイスは、複数の記憶要素と、メモリ制御論理とを含む。このメモリ制御論理は、複数の記憶要素とプロセッサとに結合される。メモリ制御論理は、プロセッサから受信される複数のメモリアクセス要求によって識別されるメモリアドレスに少なくとも部分的に基づいて、タイミングパラメータの値を動的に決定するように構成される。タイミングパラメータは、複数のメモリアクセス要求のうちの少なくとも1つに関連したデータがデータバスに提供される前のタイミングサイクルの数に対応する。
【０００９】
別の特定の実施形態では、装置は、プロセッサと、メモリコントローラとを含む。メモリコントローラは、プロセッサと、メモリデバイスとに結合される。メモリコントローラは、メモリデバイスに対する複数のメモリアクセス要求によって識別されるメモリアドレスに少なくとも部分的に基づいて、タイミングパラメータの値を動的に決定するように構成される。タイミングパラメータは、複数のメモリアクセス要求のうちの少なくとも1つに関連したデータがデータバスに提供される前のタイミングサイクルの数に対応する。
【００１０】
別の特定の実施形態では、方法は、メモリコントローラからメモリデバイスに第1のメモリアクセス要求を送信するステップを含む。この方法は、タイミングパラメータの第1の値に基づいてメモリデバイスからメモリコントローラへの第1のデータ送信の第1の時間を予測するステップも含む。データ送信は、第1のメモリアクセス要求に関連する。この方法は、第2のメモリアクセス要求をメモリデバイスに送信するステップをさらに含む。この方法は、第1のメモリアクセス要求および第2のメモリアクセス要求に基づいてタイミングパラメータの第2の値を決定するステップも含む。この方法は、第2の値に基づいてメモリデバイスからメモリコントローラへの第2のデータ送信の第2の時間を予測するステップをさらに含む。第2のデータ送信は、第2のメモリアクセス要求に関連する。
【００１１】
別の特定の実施形態では、コンピュータ可読ストレージデバイスは、プロセッサによって実行されると、プロセッサに、第1のメモリアクセス要求を受信させ、タイミングパラメータの第1の値に基づいて第1のメモリアクセス要求を処理させる命令を記憶する。命令はまた、プロセッサによって実行されると、プロセッサに、第2のメモリアクセス要求を受信させる。命令はさらに、プロセッサによって実行されると、プロセッサに、変更されたタイミングパラメータを生成するために、第1のメモリアクセス要求および第2のメモリアクセス要求によって識別されるアドレスに少なくとも部分的に基づいて、タイミングパラメータを変更させる。変更されたタイミングパラメータは、第2の値を有する。命令はまた、プロセッサによって実行されると、プロセッサに、第2の値に基づいて第2のメモリアクセス要求を処理させる。
【００１２】
別の特定の実施形態では、方法は、プロセッサから、メモリデバイスで第1のメモリアクセス要求を受信するための第1のステップを含む。この方法は、メモリデバイスのタイミングパラメータの第1の値に基づいて第1のメモリアクセス要求を処理するための第2のステップも含む。この方法は、プロセッサから、メモリデバイスで第2のメモリアクセス要求を受信するための第3のステップをさらに含む。この方法は、変更されたタイミングパラメータを生成するために、第1のメモリアクセス要求および第2のメモリアクセス要求によって識別されるアドレスに基づいて、メモリデバイスのタイミングパラメータを変更するための第4のステップも含む。この方法は、変更されたタイミングパラメータに基づいて第2のメモリアクセス要求を処理するための第5のステップをさらに含む。
【００１３】
開示された実施形態のうちの少なくとも1つによって提供される1つの特定の利点は、タイミングパラメータを動的に更新することによって、メモリデバイスのデータバスがより効率的に使用され得ることである。たとえば、いくつかの状況では、動的RLタイミングパラメータは、固定のRLタイミングパラメータよりも低くてもよい。動的RLタイミングパラメータは、メモリアクセスが前のメモリアクセスと同じメモリの行に向けられるとき、メモリアクセスのRAS遅延の欠如を利用することができる。動的RLタイミングパラメータを使用することによって、メモリのデータバスがアイドルである持続時間は、より短くなり得る。
【００１４】
本開示の他の態様、利点、および特徴は、以下のセクション、すなわち、図面の簡単な説明、発明を実施するための形態、および特許請求の範囲を含む、本出願全体の検討後に明らかになろう。
【図面の簡単な説明】
【００１５】
【図１】メモリデバイスのタイミングパラメータを動的に決定するように動作可能なシステムの特定の例示的な実施形態のブロック図である。
【図２】図1のシステムの動的タイミングパラメータを決定することに関連したタイミング図である。
【図３】図1のシステムの動的タイミングパラメータを決定することに関連した別のタイミング図である。
【図４】図1のシステムのメモリコントローラの一実施形態の図である。
【図５】図1のシステムのメモリ制御論理の一実施形態の図である。
【図６】メモリデバイスのタイミングパラメータを動的に決定するように動作可能なシステムの別の特定の例示的な実施形態の図である。
【図７】メモリデバイスのタイミングパラメータを動的に決定する方法の特定の例示的な実施形態のフローチャートである。
【図８】図7の動作708に対応し得る、メモリデバイスのタイミングパラメータを動的に決定する方法の特定の例示的な実施形態のフローチャートである。
【図９】図8の動作804に対応し得る、メモリデバイスのタイミングパラメータを動的に決定する方法の特定の例示的な実施形態のフローチャートである。
【図１０】メモリデバイスのタイミングパラメータを動的に決定する方法の別の特定の例示的な実施形態のフローチャートである。
【図１１】メモリデバイスのタイミングパラメータを動的に決定するように構成された構成要素を含むワイヤレス通信デバイスのブロック図である。
【図１２】メモリデバイスのタイミングパラメータを動的に決定するように構成された構成要素を含む電子デバイスを製造するための製造プロセスの特定の例示的な実施形態のデータフロー図である。
【発明を実施するための形態】
【００１６】
図1を参照すると、メモリデバイスのタイミングパラメータを動的に決定するように動作可能なシステムの特定の例示的な実施形態が開示されており、全体が100と表される。システム100は、データバス140およびコマンドバス150を介してメモリ120に結合されたプロセッサ102を含む。メモリ120の例には、限定はしないが、ダブルデータレート(DDR)同期型ダイナミックランダムアクセスメモリ(SDRAM)、不揮発性ランダムアクセスメモリ(NVRAM)、およびダイナミックランダムアクセスメモリ(DRAM)がある。
【００１７】
プロセッサ102は、メモリコントローラ106に結合された中央処理装置(CPU)104を含む。メモリコントローラ106は、動的タイミングパラメータ108を含み得、タイミングパラメータの値を動的に決定するための命令110を含み得る。メモリ120は、複数の記憶要素124に結合されたメモリ制御論理122を含む。メモリ制御論理122は、動的タイミングパラメータ126を含み得、タイミングパラメータの値を動的に決定するための命令128を含み得る。たとえば、命令128は、メモリ制御論理122によって実行されると、メモリ制御論理122に、プロセッサ102から第1のメモリアクセス要求を受信させ得る。例示のために、複数の記憶要素124は、複数の行および複数の列に配置され得る。行の数は、列の数と異なっていてもよい。たとえば、行の数は、列の数よりも多くてもよい。記憶要素124は、複数の行のうちの第1の行に第1の記憶要素および第2の記憶要素を含み得る。第1の記憶要素は、複数の列のうちの第1の列に含まれ、第2の記憶要素は、複数の列のうちの第2の列に含まれる。プロセッサ102は、第1の記憶要素にアクセスするために、コマンドバス150を介して第1のメモリアクセス要求を発行することができる。第1のメモリアクセス要求は、第1のREADコマンドまたは第1のWRITEコマンドに対応し得る。
【００１８】
第1のメモリアクセス要求は、行アクティブ化コマンド(たとえば、ACTコマンド)、および列アクティブ化コマンド(たとえば、第1のREADコマンド)を含み得る。ACTコマンドは、第1の行の行アドレスの第1の部分を含み、第1のREADコマンドは、第1の行の行アドレスの第2の部分、および第1の列の完全な列アドレスを含み得る。ACTコマンドは行アドレスの第1の部分のみを含むので、第1の行は、行アドレスの第2の部分を含む第1のREADコマンドが受信されるまで、アクティブ化されない可能性があり、メモリ120における処理遅延が生じる可能性がある。処理遅延を低減するために、プロセッサ102は、行アクセスストロボ(RAS)-列アクセスストロボ(CAS)遅延(tRCD)の値(たとえば、1つのタイミングサイクル)に基づいて第1のREADコマンドを送信することができる。tRCDタイミングパラメータは、行アクティブ化コマンド(たとえば、ACTコマンド)を受信することと、行アクティブ化コマンドに関連した行をアクティブ化することとの間の遅延に対応する。
【００１９】
メモリ120がACTコマンドと第1のREADコマンドの両方を受信するとき、メモリ120は、行アドレスの第1の部分および行アドレスの第2の部分を使用して第1の行をアクティブ化することができる。メモリ120が第1の行のアクティブ化をひとたび開始すると、行のアクティブ化が終了する前に、いくつかのタイミングサイクルが経過し得る。第1の行のアクティブ化を終了するためのタイミングサイクルの数は、RASレイテンシ(たとえば、5つのタイミングサイクル)に対応し得る。
【００２０】
第1の行がアクティブ化された後、メモリ120は、第1のREADコマンドに含まれる完全な列アドレスに基づいて、第1の列をアクティブ化することができる。第1の行のアクティブ化のように、列のアクティブ化が終了する前に、いくつかのタイミングサイクルが経過し得る。第1の列のアクティブ化を終了するためのタイミングサイクルの数は、CASレイテンシ(たとえば、5つのタイミングサイクル)に対応し得る。
【００２１】
メモリ120は、RL(read-to-dataレイテンシ)タイミングパラメータの値に基づいて、第1のデータ(たとえば、第1のREADコマンドに関連した第1の記憶要素に記憶された値に対応するデータ)を提供することができる。RLタイミングパラメータの値は、RASレイテンシとCASレイテンシの合計に対応し得、たとえば、第1のREADコマンドの受信の後、10のタイミングサイクルが経過した後、第1のデータがデータバス140に提供されることを示す。
【００２２】
メモリ制御論理122は、RLタイミングパラメータに基づいて第1のメモリアクセス要求を処理することができる。たとえば、タイミングサイクルtCK1(たとえば、タイミングサイクル1)の間にメモリ120でACTコマンドが受信されるとき、およびtRCDタイミングパラメータの値が1つのタイミングサイクルであるとき、メモリ120は、タイミングサイクルtCK2(たとえば、タイミングサイクル2)の間に第1のREADコマンドを受信することができる。タイミングサイクルtCK2の間にメモリ120で第1のREADコマンドが受信されるとき、およびRLタイミングパラメータの値が10のタイミングサイクルであるとき、第1のデータは、タイミングサイクルtCK12(たとえば、タイミングサイクル12)の間にデータバス140に提供され始め得る。第1のデータ112は、タイミングサイクルtCK15(たとえば、タイミングサイクル15)まで、メモリ120からデータバス140に提供され続け得る。タイミングサイクルtCK15の後(すなわち、tCK16の間および後)、データバス140は、ビジーではなく、追加のデータをプロセッサ102から受信する、または追加のデータをプロセッサ102に提供するために、メモリ120によって使用され得る。
【００２３】
メモリ制御論理122は、プロセッサ102から第2のメモリアクセス要求を受信することができる。プロセッサ102は、第2の記憶要素にアクセスするために、第2のメモリアクセス要求を発行することができる。第2のメモリアクセス要求は、第2のREADコマンド、第2のWRITEコマンド、またはプリチャージコマンドに対応し得る。第2のメモリアクセス要求は、第2の列アクティブ化コマンド(たとえば、第2のREADコマンド)を含み得る。第2のREADコマンドは、第1の行の行アドレスの第2の部分、および第2の列の完全な列アドレスを含み得る。たとえば、メモリ120は、第1のメモリアクセス要求の受信以降、少なくともある閾値数のタイミングサイクルが経過した後、第2のメモリアクセス要求を受信することができる。タイミングサイクルの閾値数は、列間遅延(tCCD)タイミングパラメータ(たとえば、4つのタイミングサイクル)の値に対応する。その後のREADコマンドに含まれる行アドレスがACTコマンドに含まれる同じ行アドレスを識別し、その後のREADコマンドがtCCDタイミングサイクルの間隔(たとえば、4つのタイミングサイクルごと)でメモリ120で受信されると仮定すると、メモリ120は、ACTコマンドが受信されると、メモリアクセス要求の各々を処理し、タイミングパラメータtRCDによってもたらされる遅延以外のどんな追加の遅延もなく、データバス140にデータを提供することができる。
【００２４】
しかしながら、その後のREADコマンドがtCCDタイミングサイクルの間隔(たとえば、4つのタイミングサイクルごと)で受信されないとき、データバス140のスループットは、その後のREADコマンドに含まれる行アドレスが、固定のRLタイミングパラメータ(すなわち、RASレイテンシおよびCASレイテンシを含む)でACTコマンドに含まれる行アドレスと同じであるときでさえ、14%まで低減し得る。例示のために、タイミングサイクルtCK13(たとえば、タイミングサイクル13)の間に第2のメモリアクセス要求に対応する第2のREADコマンドが受信され得る。第1のREADコマンドと第2のREADコマンドとの間の経過したタイミングサイクル(すなわち、11のタイミングサイクル)は、tCCDタイミングサイクル(すなわち、4つのタイミングサイクル)よりも高い場合がある。メモリ制御論理122は、RLタイミングパラメータ(すなわち、10サイクル)に基づいて、タイミングサイクルtCK23(たとえば、タイミングサイクル23)の間に第2のデータをデータバス140に配置することができる。データバス140は、第1のREADコマンド(すなわち、tCK16の間)にサービスした後、および第2のデータ(すなわち、tCK23の間)をデータバス140に配置する前、アイドル(すなわち、7つのタイミングサイクルの間アイドル)であり得る。したがって、タイミングサイクルtCK16で、データバス140は、プロセッサ102からデータを受信する、またはプロセッサ102にデータを提供する用意ができているが、第2のデータは、tCK23までデータバス140に配置されない。
【００２５】
データバス140のアイドル時間を減らすために、メモリ制御論理122は、第1のメモリアクセス要求および第2のメモリアクセス要求によって識別されるアドレスに基づいて、動的タイミングパラメータ126の1つまたは複数を変更することができる。たとえば、メモリ120は、タイミングサイクルtCK13の間にプロセッサ102から第2のメモリアクセス要求(すなわち、第2のREADコマンド)を受信することができる。第2のREADコマンドは、メモリ120の第2の記憶要素を読み取る旨の要求に対応し得る。第2の記憶要素は、第1のメモリアクセス要求(たとえば、ACTコマンドおよび第1のREADコマンド)に関連した第1の記憶要素と同じ行(すなわち、第1の行)に含まれ得、第1のREADコマンドに関連した列とは異なる列に含まれ得る。第2のREADコマンドが受信されると、メモリ120は、RLタイミングパラメータの値を動的に決定することができる。RLタイミングパラメータの動的に決定された値は、データバス140がアイドルであるタイミングサイクルの数を低減することができる。
【００２６】
例示のために、タイミングサイクルtCK13の間に第2のREADコマンドが受信される。RLの値を動的に決定するために、メモリ120は、以下の式に従って第1の差(x)を決定することができる。
【００２７】
x=(tCKR2)-(tCKR1)-(tCCD)  (式1)
【００２８】
式1において、tCKR2は、第2のREADコマンドが受信されるときのタイミングサイクルに対応し、tCKR1は、第1のREADコマンドが受信されるときのタイミングサイクルに対応する。記載された例では、タイミングサイクルtCK13(たとえば、tCKR2=13)の間に第2のREADコマンドが受信され、タイミングサイクルtCK2(たとえば、tCKR1=2)の間に第1のREADコマンドが受信され、tCCDタイミングパラメータは、固定である(すなわち、4つのタイミングサイクル)。したがって、x=7(たとえば、x=13-2-4)である。第1の差を決定した後、メモリ120は、以下の式に従って、前の読取り(たとえば、第1のREADコマンド)に使用されたRLタイミングパラメータの値とxとの間の第2の差を決定することができる。
【００２９】
potential_RL_value=RL(previous_read)-x  (式2)
【００３０】
式2において、potential_RL_valueは、RLタイミングパラメータの潜在的な新しい値を表し、RL(previous_read)は、前のREADに使用されたRLの値(たとえば、メモリ120が第1のREADコマンドを処理したときのRLタイミングパラメータ)に対応し、xは、式1の結果(たとえば、第1の差)に対応する。例示のために、RL(previous_read)は、RAS遅延とCAS遅延との合計に対応し、10の値を有する。上記で説明したように、xは、7の値を有する。したがって、potential_RL_value=3(たとえば、potential_RL_value=10-7)である。メモリ120は、タイミングパラメータtCCDの値(たとえば、連続するREAD動作間のタイミングサイクルの閾値数)に基づいてpotential_RL_valueを制約するように構成され得る。したがって、potential_RL_valueがCAS遅延よりも小さいとき、メモリデバイスは、式2の結果をCAS遅延(たとえば、5つのタイミングサイクル)に制約することができる。次いで、メモリデバイスは、以下の式に従って、RL'タイミングパラメータの値を動的に決定することができる。
【００３１】
RL'=max(potential_RL_value, RL0)  (式3)
【００３２】
式3において、RL'は、第2のREADコマンドを処理するために、メモリ120によって使用されるべきRLタイミングパラメータの値(たとえば、第2のREADコマンドを受信することとデータバス140に第2のREADコマンドに関連した第2のデータを提供すること間のタイミングサイクルの数)に対応する。式3において、RL0は、CASレイテンシ(たとえば、5つのタイミングサイクル)に対応する。メモリデバイスは、potential_RL_valueとRL0の値(たとえば、5つのタイミングサイクルの遅延)とを比較することによって、RLタイミングパラメータのRL'値を動的に決定することができる。RL0の値がpotential_RL_valueよりも大きいとき、RL'は、RL0の値に設定される。RL0の値がpotential_RL_value未満であるとき、RL'は、potential_RL_valueに設定される。上記で説明したように、potential_RL_valueは、4つのタイミングサイクルである。したがって、RL'=5(たとえば、RL'=max(4,5))である。第2のデータは、RLタイミングパラメータ(すなわち、RL'=5)の動的に決定された値に基づいて、データバス140に提供され得る。RLタイミングパラメータの動的に決定された値は、RL0の値(たとえば、CASレイテンシ)に対応する。
【００３３】
メモリ制御論理122は、変更されたタイミングパラメータ(すなわち、動的タイミングパラメータ126)に基づいて第2のメモリアクセス要求を処理することができる。タイミングパラメータRLがRL'の値に設定されているとき、タイミングサイクルtCK18(すなわち、第2のREADコマンドを受信した後の5つのタイミングサイクル)の間に第2のREADコマンドに関連した第2のデータが提供され得る。固定のRL値と比較されると、動的に決定されたRL値(たとえば、RL')では、データバス140がアイドルであるタイミングサイクル数が低減する。たとえば、タイミングパラメータRLの固定値(すなわち、10のタイミングサイクル)を使用するとき、データバス140は、7つのタイミングサイクルの間、アイドルである。RLの動的に決定された値(すなわち、5つのタイミングサイクル)を使用するとき、データバス140は、2つのタイミングサイクルの間、アイドルである。したがって、メモリ120は、RLタイミングパラメータの動的に決定された値を使用するとき、5つのタイミングサイクル早く、第2のデータをデータバス140に提供することができる。
【００３４】
プロセッサ102は、メモリ120からのデータ送信の受信時間を予測するために、動的に決定されたタイミングパラメータ(たとえば、動的タイミングパラメータ108)を使用することができる。たとえば、プロセッサ102は、RLタイミングパラメータの値(たとえば、10のタイミングサイクル)に基づいて、タイミングサイクルtCK12の間に第1のデータの受信を予測することができ、RLの動的に決定された値(たとえば、RL'=5タイミングサイクル)に基づいて、タイミングサイクルtCK18(たとえば、タイミングサイクル18)の間にメモリ120からの第2のデータの受信を予測することができる。
【００３５】
特定の実施形態では、命令110は、メモリコントローラ106によって実行されると、メモリコントローラ106に、メモリ120に送信される複数のメモリアクセス要求によって識別されるメモリアドレスに少なくとも部分的に基づいて、RLの値(すなわち、RL')を動的に決定させ得る。特定の実施形態では、メモリ120は、動的タイミングパラメータ126をメモリコントローラ106に提供することができ、メモリコントローラ106は、受信された動的タイミングパラメータ126に基づいて動的タイミングパラメータ108を更新することができる。たとえば、メモリ120は、RLタイミングパラメータ(すなわち、RL'=5)の動的に決定された値をプロセッサ102に送信することができ、プロセッサ102は、メモリ120から受信されたRL'値に基づいて、メモリデバイスからのデータ送信の受信の時間を予測することができる。特定の実施形態では、メモリ120は、他の値(たとえば、potential_RL_valueおよびRL0)をメモリコントローラ106に提供することができ、メモリコントローラ106は、他の値に基づいてRL'を決定することができる。
【００３６】
例示的な例として本明細書でRLタイミングパラメータが使用されることに留意されたい。特定の実施形態では、RLタイミングパラメータ、write-to-dataレイテンシ(WL)タイミングパラメータ、read-to-prechargeレイテンシ(tRTP)タイミングパラメータ、write-to-prechargeレイテンシ(tWTP)タイミングパラメータ、他のタイミングパラメータ、またはそれらの組合せは、メモリ制御論理122、メモリコントローラ106、またはその両方によって動的に決定され得る。WLタイミングパラメータは、WRITEコマンドを受信することと、WRITEコマンドに関連したデータをデータバスが受信できるようにすることとの間のタイミングサイクルの数に対応する。tRTPタイミングパラメータは、READコマンドを受信することと、行プリチャージコマンドとの間のタイミングサイクルの数に対応する。tWTPタイミングパラメータは、WRITEコマンドを受信することと、行プリチャージコマンドとの間のタイミングサイクルの数に対応する。
【００３７】
たとえば、WLタイミングパラメータの値は、式4および式5に基づいて動的に決定され得る。
【００３８】
potential_WL_value=WL(previous_write)-x  (式4)
【００３９】
WL(previous_write)は、前のWRITEコマンドに使用されるWLタイミングパラメータの値に対応し得る。特定の実施形態では、WL(previous_write)は、RAS遅延およびCAS遅延に対応し得る。
【００４０】
WL'=max(potential_WL_value, WL0)  (式5)
【００４１】
メモリ制御論理122は、potential_WL_valueとWL0との比較に基づいて、WLタイミングパラメータの動的な値(すなわち、WL')を決定することができる。特定の実施形態では、WL0は、CAS遅延に対応し得る。次のwriteコマンドに対応するWL値は、potential_WL_valueおよびWL0のうちの高い方とすることができる。
【００４２】
したがって、1つまたは複数のタイミングパラメータの値(たとえば、RLタイミングパラメータ、WLタイミングパラメータなど)は、動的に決定され得、記憶要素124の同じ行に対するその後のメモリアクセス要求のサービスの間、データバス140がアイドルである、タイミングサイクルの数を低減するために使用され得る。たとえば、メモリ制御論理122は、tCCD(たとえば、5以上)よりも多い数の経過したタイミングサイクルの後、次のメモリアクセス要求を受信すると、RAS遅延の欠如を利用し、完全なRAS遅延を待つ必要なく、データバス140に次のメモリアクセス要求に対応するデータを配置することができる。たとえば、メモリ制御論理122は、前のメモリアクセス要求に関連した第1のデータのデータバス140を空にするために、CAS遅延および任意のタイミングサイクルを待つことができる。データバス140を空にするタイミングサイクルは、RAS遅延未満でもよい。
【００４３】
図2を参照すると、図1のシステムの動的タイミングパラメータを決定することに関連したタイミング図が開示されており、全体が200と表される。タイミング図200は、tCK1の間にメモリ制御論理122によって受信されるACTコマンド242(たとえば、第1のメモリアクセス要求に対応するACTコマンド)を含む。タイミング図200は、tCK2の間にメモリ制御論理122によって受信される第1のREADコマンド244(たとえば、第1のメモリアクセス要求に対応する第1のREADコマンド)を含む。タイミング図200は、tRCDタイミングパラメータ(たとえば、1つのタイミングサイクル)に対応する遅延260を示す。タイミング図200は、RAS遅延(たとえば、5つのタイミングサイクルのRAS遅延)に対応する遅延248、およびCAS遅延(たとえば、5つのタイミングサイクルのCAS遅延)に対応する遅延250を含む。遅延262は、RLタイミングパラメータの値(たとえば、10のタイミングサイクル)に対応する。
【００４４】
タイミング図200は、図1のメモリ制御論理122が、たとえば、(すなわち、tCK2の間)第1のREADコマンド244が受信された後、10のタイミングサイクルなど、RLタイミングパラメータを使用して、tCK12に、第1のREADコマンド244に対応するデータ212(たとえば、第1のデータ)をデータバス140に配置することを示す。タイミング図200は、tCK13の間に第2のREADコマンド246(たとえば、第2のREADコマンド)がメモリ制御論理122によって受信されることを示す。
【００４５】
固定のRLタイミングパラメータ(すなわち、10のタイミングサイクル)を使用して、メモリ制御論理122は、tCK23の間に第2のREADコマンド246に対応する第2のデータ256を図1のデータバス140に配置し得る。データバス140は、tCK16の間に利用可能になり得、7つのタイミングサイクルの間、アイドルのままであり得る。遅延272は、動的タイミングパラメータが使用されていないとき、データバス140がアイドルであるタイミングサイクルに対応する。
【００４６】
メモリ制御論理122は、図1に関して記載されているように、RLタイミングパラメータの値(RL')を動的に決定することができる。たとえば、tCCDタイミングパラメータは、遅延264(たとえば、4つのタイミングサイクル)に対応し得、第1の差(x)は、遅延266(たとえば、7つのタイミングサイクル)に対応し得る。第2の差(すなわち、potential_RL_value)は、遅延262と遅延266との間の差(すなわち、RL(previous_read)-x=10-7=3)に対応し得る。第2の差が遅延250(すなわち、CAS遅延)よりも小さいので、RL'は、CAS遅延に対応する(すなわち、RL'=max(potential_RL_value, RL0))。遅延222は、RL'の値のRLタイミングパラメータを示す。
【００４７】
RLタイミングパラメータの動的に決定された値(たとえば、RL')を使用して、メモリ制御論理122は、tCK18の間に第2のデータ216を図1のデータバス140に配置し得る。データバス140は、2つのタイミングサイクルの間、アイドルのままであり得る。遅延232は、RL'を使用しているとき、データバス140がアイドルであるタイミングサイクルに対応する。遅延232(すなわち、2つのタイミングサイクル)は、遅延272(すなわち、7つのタイミングサイクル)よりも短い。
【００４８】
したがって、図1のデータバス140は、RLタイミングパラメータの動的に決定された値を使用して、図1のメモリ制御論理122が第2のデータ216をデータバスに配置する前に、より少ない数のタイミングサイクル(すなわち、2つのタイミングサイクル)の間アイドルであり得る。
【００４９】
図3を参照すると、図1のシステムの動的タイミングパラメータを決定することに関連した別のタイミング図が開示されており、全体が300と表される。タイミング図300は、タイミングサイクルtCK1の間に図1のメモリ制御論理122によって受信されたACTコマンド302、およびタイミングサイクルtCK2の間に図1のメモリ制御論理122によって受信された第1のREADコマンド304を示す。タイミング図300は、タイミングサイクルtCK8の間、図1のメモリ制御論理122によって受信された第2のREADコマンド306を示す。固定のRLタイミングパラメータを使用して、図1のメモリ制御論理122は、tCK18の間に第2のREADコマンド306に対応するデータを図1のデータバス140に配置する。データバス140は、tCK16の間に利用可能になり得、2つのタイミングサイクルの間、アイドルのままであり得る。
【００５０】
メモリ制御論理122は、図1に関して記載されているように、RLタイミングパラメータの値(RL')を動的に決定することができる。たとえば、tCCDタイミングパラメータは、遅延264(たとえば、4つのタイミングサイクル)に対応し得、第1の差(x)は、遅延366(たとえば、2つのタイミングサイクル)に対応し得る。第2の差(すなわち、potential_RL_value)は、遅延262と遅延366との間の差(すなわち、RL(previous_read)-x=10-2=8)に対応し得る。第2の差が遅延250(すなわち、CAS遅延)よりも大きいので、RL'は、potential_RL_valueに対応する(すなわち、RL'=max(potential_RL_value, RL0)=max(8,5)=8)。RL'の値を有するRLタイミングパラメータは、遅延322としてタイミング図300に示される。
【００５１】
RLタイミングパラメータの動的に決定された値(たとえば、RL')を使用して、メモリ制御論理(すなわち、メモリ制御論理122)は、tCK16の間に第2のデータ316をデータバス(すなわち、図1のデータバス140)に配置し得る。
【００５２】
したがって、データバス(すなわち、図1のデータバス140)は、RLタイミングパラメータの動的に決定された値を使用して、メモリ制御論理(すなわち、図1のメモリ制御論理122)が第2のデータ316をデータバスに配置する前に、より少ない数のタイミングサイクル(すなわち、0のタイミングサイクル)の間アイドルであり得る。
【００５３】
図4を参照すると、図1のシステム100のメモリコントローラの特定の例示的な実施形態が開示される。メモリコントローラ106の動的タイミングパラメータ126は、RLタイミングパラメータ402、WLタイミングパラメータ404、tRTPタイミングパラメータ406、tWTPタイミングパラメータ408、tRCDタイミングパラメータ410、tCCDタイミングパラメータ412、RASタイミングパラメータ414(たとえば、RAS遅延)、CASタイミングパラメータ416(たとえば、CAS遅延)、またはそれらの組合せを含み得る。
【００５４】
メモリコントローラ106の命令110は、430で、メモリコントローラ106によって実行されると、メモリコントローラ106に、第2のタイミングサイクルと第1のタイミングサイクルとの間の経過したタイミングサイクルの数を決定することを含む動作を実行させ得る。動作は、432で、経過したタイミングサイクルの数とタイミングサイクルの閾値数との間の第1の差を決定することも含み得る。動作は、434で、第1の値と第1の差との間の第2の差を決定することをさらに含み得る。436で、動作は、第2の差と閾値タイミングパラメータ値との比較に基づいて、第2の値を決定することも含み得る。
【００５５】
図5を参照すると、図1のシステム100のメモリ制御論理122の特定の例示的な実施形態が開示されている。メモリ制御論理122の動的タイミングパラメータ126は、RLタイミングパラメータ502、WLタイミングパラメータ504、tRTPタイミングパラメータ506、tWTPタイミングパラメータ508、tRCDタイミングパラメータ510、tCCDタイミングパラメータ512、RASタイミングパラメータ514、CASタイミングパラメータ516、またはそれらの組合せを含み得る。
【００５６】
メモリ制御論理122の命令128は、530で、メモリ制御論理122によって実行されると、メモリ制御論理122に、第2のタイミングサイクルと第1のタイミングサイクルとの間の経過したタイミングサイクルの数を決定することを含む動作を実行させ得る。動作は、532で、経過したタイミングサイクルの数とタイミングサイクルの閾値数との間の第1の差を決定することも含み得る。動作は、534で、第1の値と第1の差との間の第2の差を決定することをさらに含み得る。動作は、536で、第2の差と閾値タイミングパラメータ値との比較に基づいて、第2の値を決定することも含み得る。
【００５７】
図6を参照すると、メモリデバイスのタイミングパラメータを動的に決定するように動作可能なシステムの特定の例示的な実施形態が開示されており、全体が600と表される。
【００５８】
システム600は、図1のシステム100の代替実施形態に対応し得る。図1において、メモリコントローラ106は、タイミングパラメータ(たとえば、RLタイミングパラメータ)の値を動的に決定する旨の命令110を含むのに対して、図6のメモリコントローラ106は、そのような命令を含まない。システム600において、メモリ制御論理122は、タイミングパラメータの値(たとえば、タイミングパラメータ値660)を動的に決定し、プロセッサ102に送信することができる。プロセッサ102は、タイミングパラメータ値660に基づいて、動的タイミングパラメータ108を更新することができる。
【００５９】
図7を参照すると、メモリデバイスのタイミングパラメータを動的に決定する方法の特定の例示的な実施形態のフローチャートが示され、全体が700と表される。
【００６０】
方法700は、702で、プロセッサから、メモリデバイスで第1のメモリアクセス要求を受信するステップを含む。たとえば、図1のメモリ制御論理122は、プロセッサ102から第1のメモリアクセス要求を受信することができる。第1のメモリアクセス要求は、複数の記憶要素124の第1の記憶要素のアクセスに対応し得る。第1の記憶要素は、複数の記憶要素124の第1の行および第1の列に含まれ得る。
【００６１】
方法700は、704で、メモリデバイスのタイミングパラメータに基づいて第1のメモリアクセス要求を処理するステップも含み得る。たとえば、メモリ制御論理122は、RLタイミングパラメータに基づいて第1のメモリアクセス要求を処理することができる。RLタイミングパラメータ(たとえば、10のタイミングサイクル)は、RAS遅延(たとえば、5つのタイミングサイクル)およびCAS遅延(たとえば、5つのタイミングサイクル)に対応し得る。
【００６２】
方法700は、706で、プロセッサから、メモリデバイスで第2のメモリアクセス要求を受信するステップをさらに含み得る。たとえば、メモリ制御論理122は、プロセッサ102から第2のメモリアクセス要求を受信することができる。第2のメモリアクセス要求は、複数の記憶要素124の第2の記憶要素のアクセスに対応し得る。第1の記憶要素は、複数の記憶要素124の第1の行および第2の列に含まれ得る。
【００６３】
方法700は、708で、変更されたタイミングパラメータを生成するために、第1のメモリアクセス要求および第2のメモリアクセス要求によって識別されるアドレスに基づいて、メモリデバイスのタイミングパラメータを変更するステップも含み得る。たとえば、メモリ制御論理122は、複数の記憶要素124の同じ行(すなわち、第1の行)上のアドレスを識別する第1のメモリアクセス要求および第2のメモリアクセス要求に基づいて、RLタイミングパラメータを(たとえば、値RL'に)変更することができる。
【００６４】
方法700は、710で、変更されたタイミングパラメータに基づいて第2のメモリアクセス要求を処理するステップをさらに含み得る。たとえば、メモリ制御論理122は、RLタイミングパラメータの動的に変更された値(すなわちRL')に基づいて第2のメモリアクセス要求を処理することができる。
【００６５】
したがって、メモリ制御論理122は、第1のメモリアクセス要求および第2のメモリアクセス要求によって示されるアドレスに基づいて、タイミングパラメータ(たとえば、RLタイミングパラメータ)を動的に変更することができる。動的に変更されたタイミングパラメータは、データバスのアイドルのタイミングサイクルを低減することができる。
【００６６】
図7の方法は、フィールドプログラマブルゲートアレイ(FPGA)デバイス、特定用途向け集積回路(ASIC)、処理ユニット、たとえば中央処理装置(CPU)、デジタル信号プロセッサ(DSP)、コントローラ、別のハードウェアデバイス、ファームウェアデバイス、またはそれらの任意の組合せによって実施され得る。ある例として、図7の方法700は、図1、図4〜図6および図11に関して説明されるように、命令を実行するプロセッサによって実行され得る。
【００６７】
図8を参照すると、メモリデバイスのタイミングパラメータを動的に決定する方法の特定の例示的な実施形態のフローチャートが示され、全体が800と表される。特定の実施形態において、方法800は、図7の動作708に対応してもよい。
【００６８】
方法800は、802で、第1のメモリアクセス要求を処理するために使用されるタイミングパラメータの第1の値を決定するステップを含み得る。たとえば、メモリ制御論理122は、RAS遅延(たとえば、5つのタイミングサイクル)およびCAS遅延(たとえば、5つのタイミングサイクル)に基づいてタイミングパラメータ(たとえば、RLタイミングパラメータ)の第1の値(たとえば、10のタイミングサイクル)を決定することができる。
【００６９】
方法800は、804で、第1の値に少なくとも部分的に基づいて、タイミングパラメータの第2の値を決定するステップも含み得る。たとえば、メモリ制御論理122は、第1の値に少なくとも部分的に基づいて、タイミングパラメータの第2の値(たとえば、RL')を決定することができる。例示のために、メモリ制御論理122は、第1の値と第1の差との間の第2の差に基づいてRL'を決定することができる。第1の差は、第1のメモリアクセス要求と第2のメモリアクセス要求との間に経過したタイミングサイクルの数と、タイミングサイクルの閾値数との間の差に対応し得る。
【００７０】
図8の方法は、フィールドプログラマブルゲートアレイ(FPGA)デバイス、特定用途向け集積回路(ASIC)、処理ユニット、たとえば中央処理装置(CPU)、デジタル信号プロセッサ(DSP)、コントローラ、別のハードウェアデバイス、ファームウェアデバイス、またはそれらの任意の組合せによって実施され得る。ある例として、図8の方法900は、図1、図4〜図6、および図11に関して説明されるように、命令を実行するプロセッサによって実行され得る。
【００７１】
図9を参照すると、メモリデバイスのタイミングパラメータを動的に決定する方法の特定の例示的な実施形態のフローチャートが示され、全体が900と表される。特定の実施形態において、方法900は、図8の動作804に対応してもよい。
【００７２】
方法900は、902で、第2のタイミングサイクルと第1のタイミングサイクルとの間の経過したタイミングサイクルの数を決定するステップを含み得る。たとえば、メモリ制御論理122は、第2のメモリアクセス要求が受信される第2のタイミングサイクル(たとえば、tCK13)と第1のメモリアクセス要求が受信される第1のタイミングサイクル(たとえば、tCK2)との間に経過したタイミングサイクルの数(たとえば、11のタイミングサイクル)を決定することができる。
【００７３】
方法900は、904で、経過したタイミングサイクルの数とタイミングサイクルの閾値数との間の第1の差を決定するステップも含み得る。たとえば、メモリ制御論理122は、経過したタイミングサイクルの数(すなわち、11)とタイミングサイクルの閾値数(たとえば、tCCDタイミングパラメータ=4タイミングサイクル)との間の第1の差(x=7)を決定することができる。
【００７４】
方法900は、906で、第1の値と第1の差との間の第2の差を決定するステップをさらに含み得る。たとえば、メモリ制御論理122は、第1の値(たとえば、10のタイミングサイクル)と第1の差(すなわち、7)との間の第2の差(たとえば、3)を決定することができる。
【００７５】
方法900は、908で、第2の差と閾値タイミングパラメータ値との比較に基づいて、第2の値を決定するステップも含み得る。たとえば、メモリ制御論理122は、第2の差(すなわち、3)とCAS遅延(たとえば、5つのタイミングサイクル)との比較に基づいて、第2の値(すなわち、RL')を決定することができる。例示のために、メモリ制御論理122は、第2の差およびCAS遅延のより高い方を第2の値(たとえば、5つのタイミングサイクル)として使用することができる。
【００７６】
図9の方法は、フィールドプログラマブルゲートアレイ(FPGA)デバイス、特定用途向け集積回路(ASIC)、処理ユニット、たとえば中央処理装置(CPU)、デジタル信号プロセッサ(DSP)、コントローラ、別のハードウェアデバイス、ファームウェアデバイス、またはそれらの任意の組合せによって実施され得る。ある例として、図9の方法900は、図1、図4〜図6、および図11に関して説明されるように、命令を実行するプロセッサによって実行され得る。
【００７７】
図10を参照すると、メモリデバイスのタイミングパラメータを動的に決定する方法の特定の例示的な実施形態のフローチャートが示され、全体が1000と表される。
【００７８】
方法1000は、1002で、メモリデバイスにメモリコントローラからの第1のメモリアクセス要求を送信するステップを含み得る。たとえば、図1のメモリコントローラ106は、タイミングサイクルtCK2の間に第1のメモリアクセス要求をメモリ120に送信することができる。
【００７９】
方法1000は、1004で、タイミングパラメータの第1の値に基づいて、メモリデバイスからメモリコントローラへの第1のデータ送信の第1の時間を予測するステップをさらに含み得、データ送信は、第1のメモリアクセス要求に関連する。たとえば、図1のメモリコントローラ106は、RLタイミングパラメータの第1の値に基づいてメモリ120からメモリコントローラ106への第1のデータ送信の第1の時間を予測し得る。例示のために、メモリコントローラ106は、第1のメモリアクセス要求がメモリ120に送信されるタイミングサイクルtCK2(すなわち、タイミングサイクル2)と、10のタイミングサイクルのRLタイミングパラメータの第1の値との合計に基づいて、タイミングサイクルtCK12(すなわち、タイミングサイクル12)の間に開始するべきメモリ120からメモリコントローラ106への第1のデータの送信を予測することができる。
【００８０】
方法1000は、1006で、第2のメモリアクセス要求をメモリデバイスに送信するステップをさらに含み得る。たとえば、メモリコントローラ106は、tCK13の間に第2のメモリアクセス要求をメモリ120に送信することができる。
【００８１】
方法1000は、1008で、第1のメモリアクセス要求および第2のメモリアクセス要求に基づいてタイミングパラメータの第2の値を決定するステップも含み得る。たとえば、メモリコントローラ106は、第1のメモリアクセス要求および第2のメモリアクセス要求に基づいてタイミングパラメータの第2の値(たとえば、RL'=5)を決定し得る。
【００８２】
方法1000は、1010で、第2の値に基づいて、メモリデバイスからメモリコントローラへの第2のデータ送信の第2の時間を予測するステップをさらに含み得、第2のデータ送信は、第2のメモリアクセス要求に関連する。たとえば、メモリコントローラ106は、第2のメモリアクセス要求がメモリ120に送信されるタイミングサイクルtCK13(すなわち、タイミングサイクル13)と、5つのタイミングサイクルのRLタイミングパラメータの第2の値(すなわち、RL'=5)との合計に基づいて、タイミングサイクルtCK18(すなわち、タイミングサイクル18)の間に開始するべきメモリ120からメモリコントローラ106への第2のデータの送信を予測することができる。
【００８３】
図10の方法は、フィールドプログラマブルゲートアレイ(FPGA)デバイス、特定用途向け集積回路(ASIC)、処理ユニット、たとえば中央処理装置(CPU)、デジタル信号プロセッサ(DSP)、コントローラ、別のハードウェアデバイス、ファームウェアデバイス、またはそれらの任意の組合せによって実施され得る。ある例として、図10の方法1000は、図1、図4〜図6、および図11に関して説明されるように、命令を実行するプロセッサによって実行され得る。
【００８４】
図11を参照すると、ワイヤレス通信デバイスのある特定の例示的な実施形態のブロック図が示され、全般に1100と称される。デバイス1100は、メモリ1132(たとえば、ランダムアクセスメモリ(RAM)、フラッシュメモリ、読取り専用メモリ(ROM)、プログラマブル読取り専用メモリ(PROM)、消去可能プログラマブル読取り専用メモリ(EPROM)、電気的消去可能プログラマブル読取り専用メモリ(EEPROM)、レジスタ、ハードディスク、リムーバブルディスク、コンパクトディスク読取り専用メモリ(CD-ROM)、または当技術分野で知られている任意の他の形態の非一時的記憶媒体)に結合されたデジタル信号プロセッサ(DSP)などのプロセッサ1110を含む。例示的な一実施形態では、プロセッサ1110は、図1のプロセッサ102に対応し得、メモリ1132は、図1のメモリ120に対応し得、またはその両方であり得る。
【００８５】
プロセッサ1110は、メモリコントローラ1160を含む。メモリコントローラ1160は、メモリコントローラ1160、プロセッサ1110、またはその両方によって実行可能な命令1164を記憶することができる。メモリコントローラ1160は、動的タイミングパラメータ1168を記憶し得る。例示的な実施形態では、メモリコントローラ1160は、図1のメモリコントローラ106に対応し得、動的タイミングパラメータ1168は、図1の動的タイミングパラメータ108に対応し得、命令1164は、図1の命令110に対応し得、またはそれらの組合せであり得る。
【００８６】
メモリ1132は、メモリ制御論理1150を含み得る、またはメモリ制御論理1150に結合され得る。メモリ制御論理1150は、メモリ制御論理1150によって実行可能な命令1162を含み得る。メモリ制御論理1150は、プロセッサ1110にアクセス可能な動的タイミングパラメータ1152を含み得る。例示的な実施形態では、メモリ制御論理1150は、図1のメモリ制御論理122に対応し得、動的タイミングパラメータ1152は、図1の動的タイミングパラメータ126に対応し得、命令1162は、図1の命令128に対応し得、またはそれらの組合せであり得る。
【００８７】
図11はまた、プロセッサ1110およびディスプレイ1128に結合されたディスプレイコントローラ1126を示す。コーダ/デコーダ(コーデック)1134も、プロセッサ1110に結合することができる。スピーカー1136およびマイクロフォン1138は、コーデック1134に結合され得る。図11は、ワイヤレスコントローラ1140が、プロセッサ1110に結合され得、さらにワイヤレスアンテナ1142に結合され得ることも示している。
【００８８】
特定の実施形態では、プロセッサ1110、ディスプレイコントローラ1126、メモリ1132、コーデック1134、およびワイヤレスコントローラ1140は、システムインパッケージデバイスまたはシステムオンチップデバイス1122に含まれる。特定の実施形態では、入力デバイス1130および電源1144はシステムオンチップデバイス1122に結合される。その上、特定の実施形態では、図11に示されるように、ディスプレイ1128、入力デバイス1130、スピーカー1136、マイクロフォン1138、ワイヤレスアンテナ1142、および電源1144は、システムオンチップデバイス1122の外部にある。ただし、ディスプレイ1128、入力デバイス1130、スピーカー1136、マイクロフォン1138、ワイヤレスアンテナ1142、および電源1144の各々は、インターフェースまたはコントローラなどの、システムオンチップデバイス1122の構成要素に結合され得る。
【００８９】
前述の開示されたデバイスおよび機能は、コンピュータ可読媒体に記憶されたコンピュータファイル(たとえば、RTL、GDSII、GERBERなど)の中に設計および構成することができる。そのようなファイルの一部またはすべてが、そのようなファイルに基づいてデバイスを製作する製作担当者に提供され得る。得られた製品は半導体ウエハを含み、次いで、半導体ウエハは半導体ダイに切り分けられ、半導体チップにパッケージ化される。図12をさらに参照しながら説明するように、半導体チップは、次いで電子デバイスに一体化される。
【００９０】
図12を参照すると、電子デバイス製造プロセスの特定の例示的な実施形態が示され、全体が1200と表される。図12で、物理デバイス情報1202が、製造プロセス1200において、研究用コンピュータ1206などにおいて受け取られる。物理デバイス情報1202は、タイミングパラメータを動的に決定するように構成された回路(たとえば、図1のメモリコントローラ106、図1のメモリ制御論理122、図11のメモリコントローラ1160、および/または図11のメモリ制御論理1150など)など半導体デバイスの少なくとも1つの物理的な特性を表す設計情報を含むことが可能である。たとえば、物理デバイス情報1202は、物理的パラメータ、材料特性、および研究用コンピュータ1206に結合されたユーザインターフェース1204を介して入力される構造情報を含み得る。研究用コンピュータ1206は、メモリ1210などのコンピュータ可読媒体に結合された、1つまたは複数の処理コアなどのプロセッサ1208を含む。メモリ1210は、プロセッサ1208に、ファイルフォーマットに適合するように物理デバイス情報1202を変換させ、ライブラリファイル1212を生成させるように実行可能であるコンピュータ可読命令を記憶することができる。
【００９１】
ある特定の実施形態では、ライブラリファイル1212は、変換された設計情報を含む、少なくとも1つのデータファイルを含む。たとえば、ライブラリファイル1212は、(たとえば、図1のメモリコントローラ106、図1のメモリ制御論理122、図11のメモリコントローラ1160、および/または図11のメモリ制御論理1150など)タイミングパラメータを動的に決定するように構成された回路を含む回路のライブラリを含んでもよく、このライブラリは、電子設計自動化(EDA)ツール1220とともに用いるために提供される。
【００９２】
ライブラリファイル1212は、メモリ1218に結合された、1つまたは複数の処理コアなどのプロセッサ1216を含む設計用コンピュータ1214において、EDAツール1220とともに使用され得る。EDAツール1220は、メモリ1218においてプロセッサ実行可能命令として記憶され、設計用コンピュータ1214のユーザが、ライブラリファイル1212を使用して、タイミングパラメータを動的に決定するように構成された回路(たとえば、図1のメモリコントローラ106、図1のメモリ制御論理122、図11のメモリコントローラ1160、および/または図11のメモリ制御論理1150など)を設計できるようにし得る。たとえば、設計用コンピュータ1214のユーザは、設計用コンピュータ1214に結合されるユーザインターフェース1224を介して、回路設計情報1222を入力し得る。回路設計情報1222は、タイミングパラメータを動的に決定するように構成された回路(たとえば、図1のメモリコントローラ106、図1のメモリ制御論理122、図11のメモリコントローラ1160、および/または図11のメモリ制御論理1150など)の少なくとも1つの物理的特性を表す設計情報を含み得る。例示すると、回路設計の特性は、回路設計における特定の回路の識別および他の要素との関係、位置情報、形状サイズ情報、相互接続情報、または半導体デバイスの物理的特性を表す他の情報を含み得る。
【００９３】
設計用コンピュータ1214は、回路設計情報1222を含む設計情報をファイルフォーマットに準拠するように変換するように構成することができる。例示のために、ファイル情報は、グラフィックデータシステム(GDSII)ファイルフォーマットなど、平面的な幾何形状、テキストラベル、および階層型フォーマットでの回路レイアウトについての他の情報を表す、データベースバイナリファイルフォーマットを含むことが可能である。設計用コンピュータ1214は、他の回路または情報に加えて、タイミングパラメータを動的に決定するように構成された回路(たとえば、図1のメモリコントローラ106、図1のメモリ制御論理122、図11のメモリコントローラ1160、および/または図11のメモリ制御論理1150など)を説明する情報を含む、GDSIIファイル1226など、変換された設計情報を含むデータファイルを生成するように構成され得る。例示のために、データファイルには、タイミングパラメータを動的に決定するように構成された回路(たとえば、図1のメモリコントローラ106、図1のメモリ制御論理122、図11のメモリコントローラ1160、および/または図11のメモリ制御論理1150など)を含み、内部に追加の電子回路および構成要素をさらに含むシステムオンチップ(SOC)に対応する情報が含まれ得る。
【００９４】
GDSIIファイル1226は、GDSIIファイル1226中の変換された情報に従って、タイミングパラメータを動的に決定するように構成された回路(たとえば、図1のメモリコントローラ106、図1のメモリ制御論理122、図11のメモリコントローラ1160、および/または図11のメモリ制御論理1150など)を製造するために、製造プロセス1228において受け取られ得る。たとえば、デバイス製造プロセスは、GDSIIファイル1226をマスク製造業者1230に提供して、代表的なマスク1232として示される、フォトリソグラフィプロセスで使用されるマスクなどの、1つまたは複数のマスクを作成するステップを含み得る。マスク1232は、テストされ、代表的なダイ1236などのダイに分割され得る1つまたは複数のウエハ1234を生成するために、製作プロセス中に使用され得る。ダイ1236は、タイミングパラメータを動的に決定するように構成された回路(たとえば、図1のメモリコントローラ106、図1のメモリ制御論理122、図11のメモリコントローラ1160、および/または図11のメモリ制御論理1150など)を含む。
【００９５】
ダイ1236は、パッケージングプロセス1238に供給することができ、そこでダイ1236は、代表的なパッケージ1240に組み込まれる。たとえば、パッケージ1240は、システムインパッケージ(SiP)構成などの単一のダイ1236または複数のダイを含むことができる。パッケージ1240は、電子機器技術評議会(JEDEC)規格などの1つもしくは複数の規格または仕様に準拠するように構成され得る。
【００９６】
パッケージ1240に関する情報は、コンピュータ1246に記憶された構成要素ライブラリを介してなど、様々な製品設計者に配布され得る。コンピュータ1246は、メモリ1250に結合された、1つまたは複数の処理コアなどのプロセッサ1248を含み得る。プリント回路基板(PCB)ツールをメモリ1250にプロセッサ実行可能命令として記憶して、ユーザインターフェース1244を介してコンピュータ1246のユーザから受け取られたPCB設計情報1242を処理することができる。PCB設計情報1242は、タイミングパラメータを動的に決定するように構成された回路(たとえば、図1のメモリコントローラ106、図1のメモリ制御論理122、図11のメモリコントローラ1160、および/または図11のメモリ制御論理1150など)を含む、パッケージ1240に対応するパッケージングされた半導体デバイスの、回路基板上での物理的な位置情報を含み得る。
【００９７】
コンピュータ1246は、PCB設計情報1242を変換して、パッケージングされた半導体デバイスの回路基板上での物理的な位置情報、ならびに、配線およびビアなど、電気的な接続のレイアウトを含むデータを有する、GERBERファイル1252などのデータファイルを生成するように構成されてよく、この場合、パッケージングされた半導体デバイスは、タイミングパラメータを動的に決定するように構成された回路(たとえば、図1のメモリコントローラ106、図1のメモリ制御論理122、図11のメモリコントローラ1160、および/または図11のメモリ制御論理1150など)を含むパッケージ1240に対応する。他の実施形態では、変換されたPCB設計情報によって生成されたデータファイルは、GERBERフォーマット以外のフォーマットを有することができる。
【００９８】
GERBERファイル1252は、基板組立てプロセス1254において受け取られ、GERBERファイル1252内に保存される設計情報に従って製造される、代表的なPCB1256のようなPCBを作成するために、用いられ得る。たとえば、GERBERファイル1252は、PCB製造プロセスの様々なステップを実施するために、1つまたは複数の機械にアップロードされ得る。PCB1256は、パッケージ1240を含む電子部品が装着されて、代表的なプリント回路アセンブリ(PCA)1258を形成することができる。
【００９９】
PCA1258は、製品製造プロセス1260において受け取られ、第1の代表的な電子デバイス1262および第2の代表的な電子デバイス1264のような、1つまたは複数の電子デバイスとなるように統合され得る。例示的かつ非限定的な例として、第1の代表的な電子デバイス1262、第2の代表的な電子デバイス1264、またはこれらの両方は、セルラーフォン、ワイヤレスローカルエリアネットワーク(LAN)デバイス、セットトップボックス、音楽プレーヤ、ビデオプレーヤ、娯楽ユニット、ナビゲーションデバイス、通信デバイス、携帯情報端末(PDA)、固定位置データユニット、およびコンピュータの群から選択されてよく、これらに、タイミングパラメータを動的に決定するように構成された回路(たとえば、図1のメモリコントローラ106、図1のメモリ制御論理122、図11のメモリコントローラ1160、および/または図11のメモリ制御論理1150など)が組み込まれる。別の例示的かつ非限定的な例として、電子デバイス1262および1264のうちの1つまたは複数は、モバイル電話、ハンドヘルドパーソナル通信システム(PCS)ユニット、携帯情報端末などのポータブルデータユニット、全地球測位システム(GPS)対応デバイス、ナビゲーションデバイス、メータ読取り機器などの固定位置データユニット、または、データもしくはコンピュータ命令を記憶するかまたは取り出す任意の他のデバイス、あるいはこれらの任意の組合せなどの遠隔ユニットであり得る。図12は、本開示の教示に従った遠隔ユニットを例示するが、本開示は、これらの例示されたユニットに限定されない。本開示の実施形態は、メモリおよびオンチップ回路を含む能動的な集積回路を含む、任意のデバイスにおいて適切に利用され得る。
【０１００】
タイミングパラメータを動的に決定するように構成された回路(たとえば、図1のメモリコントローラ106、図1のメモリ制御論理122、図11のメモリコントローラ1160、および/または図11のメモリ制御論理1150など)を含むデバイスは、例示的なプロセス1200において説明されたように、製造され、加工され、電子デバイスに組み込まれることが可能である。図1〜図12に関して開示された実施形態の1つまたは複数の態様は、ライブラリファイル1212、GDSIIファイル1226、およびGERBERファイル1252の内部など、様々な処理段階で含めることができると同様に、研究用コンピュータ1206のメモリ1210、設計用コンピュータ1214のメモリ1218、コンピュータ1246のメモリ1250、基板組立てプロセス1254などの様々な段階で使用される1つもしくは複数の他のコンピュータまたはプロセッサ(図示せず)のメモリに記憶することができ、マスク1232、ダイ1236、パッケージ1240、PCA1258、プロトタイプの回路もしくはデバイス(図示せず)などの他の製品、またはそれらの任意の組合せなど、1つもしくは複数の他の物理的な実施形態に組み込まれることも可能である。図1〜図12に関して様々な代表的な段階が描写されたが、他の実施形態では、より少ない段階が使用されるか、またはさらなる段階が含まれる場合がある。同様に、図12のプロセス1200は、プロセス1200の様々な段階を実行する、単一のエンティティによって、または1つもしくは複数のエンティティによって実行され得る。
【０１０１】
記載した実施形態とともに、データを記憶するための手段を含む装置が開示されている。たとえば、データを記憶するための手段は、図1のメモリ120、図11のメモリ1132、またはその両方を含み得る。装置は、プロセッサから受信される複数のメモリアクセス要求によって識別されるメモリアドレスに少なくとも部分的に基づいて、タイミングパラメータの値を動的に決定するための手段を含み、タイミングパラメータは、複数のメモリアクセス要求のうちの少なくとも1つに関連したデータがデータバスに提供される前のタイミングサイクルの第1の数に対応する。たとえば、タイミングパラメータの値を動的に決定するための手段は、図1のメモリ制御論理122、図11のメモリ制御論理1150、またはその両方を含み得る。
【０１０２】
装置は、タイミングパラメータの値をプロセッサに送信するための手段をさらに含み得る。たとえば、送信するための手段は、図1のデータバス140を含み得る。装置は、1つまたは複数のメモリアクセス要求を受信するための手段も含むことができる。たとえば、受信するための手段は、図1のデータバス140を含み得る。装置は、1つまたは複数のメモリアクセス要求を処理するための手段をさらに含み得る。たとえば、処理するための手段は、図1のメモリ制御論理122、図11のメモリ制御論理1150、またはその両方を含み得る。
【０１０３】
特定の実施形態では、タイミングパラメータの値を動的に決定するための手段は、第1のメモリアクセス要求に基づいてタイミングパラメータの第1の値を決定するための手段を含み得る。1つまたは複数のメモリアクセス要求を処理するための手段は、第1の値に基づいて第1のメモリアクセス要求を処理する。たとえば、タイミングパラメータの第1の値を決定するための手段は、図1のメモリ制御論理122、図11のメモリ制御論理1150、またはその両方を含み得る。
【０１０４】
タイミングパラメータの値を動的に決定するための手段は、第1のメモリアクセス要求および第2のメモリアクセス要求に少なくとも部分的に基づいてタイミングパラメータの第2の値を決定するための手段も含み得る。1つまたは複数のメモリアクセス要求を処理するための手段は、第2の値に基づいて第2のメモリアクセス要求を処理する。たとえば、タイミングパラメータの第2の値を決定するための手段は、図1のメモリ制御論理122、図11のメモリ制御論理1150、またはその両方を含み得る。
【０１０５】
記載した実施形態とともに、データを処理するための手段を含む別の装置が開示される。たとえば、データを処理するための手段は、図1のCPU104、図11のプロセッサ1110、またはその両方を含み得る。装置は、複数の送信されたメモリアクセス要求によって識別されたメモリアドレスに少なくとも部分的に基づいて、タイミングパラメータの値を動的に決定するための手段も含み、タイミングパラメータは、複数の送信されたメモリアクセス要求のうちの少なくとも1つに関連したデータがデータバスから受信される前のタイミングサイクルの第1の数に対応する。たとえば、タイミングパラメータの値を動的に決定するための手段は、図1のメモリコントローラ106、図11のメモリコントローラ1160、またはその両方を含み得る。
【０１０６】
特定の実施形態では、タイミングパラメータの値を動的に決定するための手段は、第1のメモリアクセス要求に基づいてタイミングパラメータの第1の値を決定するための手段を含み得る。たとえば、タイミングパラメータの第1の値を決定するための手段は、図1のメモリコントローラ106、図11のメモリコントローラ1160、またはその両方を含み得る。
【０１０７】
タイミングパラメータの値を動的に決定するための手段は、第2のタイミングサイクルと第1のタイミングサイクルとの間に経過したタイミングサイクルの第2の数を決定するための手段をさらに含み得る。たとえば、第2のタイミングサイクルと第1のタイミングサイクルとの間に経過したタイミングサイクルの第2の数を決定するための手段は、図1のメモリコントローラ106、図11のメモリコントローラ1160、またはその両方を含み得る。
【０１０８】
タイミングパラメータの値を動的に決定するための手段は、経過したタイミングサイクルの第2の数とタイミングサイクルの閾値数との間の第1の差を決定するための手段も含み得る。たとえば、経過したタイミングサイクルの第2の数とタイミングサイクルの閾値数との間の第1の差を決定するための手段は、図1のメモリコントローラ106、図11のメモリコントローラ1160、またはその両方を含み得る。
【０１０９】
タイミングパラメータの値を動的に決定するための手段は、第1の値と第1の差との間の第2の差を決定するための手段をさらに含み得る。たとえば、第1の値と第1の差との間の第2の差を決定するための手段は、図1のメモリコントローラ106、図11のメモリコントローラ1160、またはその両方を含み得る。
【０１１０】
タイミングパラメータの値を動的に決定するための手段は、第2の差と閾値タイミングパラメータ値との比較に基づいてタイミングパラメータの第2の値を決定するための手段も含み得る。たとえば、第2の差と閾値タイミングパラメータ値との比較に基づいて第2の値を決定するための手段は、図1のメモリコントローラ106、図11のメモリコントローラ1160、またはその両方を含み得る。
【０１１１】
装置は、第1のメモリアクセス要求および第2のメモリアクセス要求をメモリデバイスに送信するための手段をさらに含み得る。たとえば、送信するための手段は、図1のデータバス140を含み得る。
【０１１２】
本明細書で開示された実施形態とともに説明された様々な例示的な論理ブロック、構成、モジュール、回路、およびアルゴリズムのステップは、電子的なハードウェア、プロセッサによって実行されるコンピュータソフトウェア、またはこれら両方の組合せとして実装され得ることが、当業者にはさらに理解されよう。様々な例示的な構成要素、ブロック、構成、モジュール、回路、およびステップが、概してそれらの機能に関して、上記で説明されてきた。そのような機能がハードウェアとして実装されるか、プロセッサ実行可能命令として実装されるかは、特定の用途およびシステム全体に課された設計制約に依存する。当業者は、説明された機能を各々の具体的な用途に対して様々な方法で実装し得るが、そのような実装の決定は、本開示の範囲からの逸脱を生じるものと解釈されるべきではない。
【０１１３】
本明細書で開示する実施形態に関して説明する方法またはアルゴリズムのステップは、直接ハードウェアで具現化されるか、プロセッサによって実行されるソフトウェアモジュールで具現化されるか、またはその2つの組合せで具現化され得る。ソフトウェアモジュールは、ランダムアクセスメモリ(RAM)、フラッシュメモリ、読取り専用メモリ(ROM)、プログラマブル読取り専用メモリ(PROM)、消去可能プログラマブル読取り専用メモリ(EPROM)、電気的消去可能プログラマブル読取り専用メモリ(EEPROM)、レジスタ、ハードディスク、リムーバブルディスク、コンパクトディスク読取り専用メモリ(CD-ROM)、または当技術分野で知られている任意の他の形態の非一時的記憶媒体に存在し得る。例示的な記憶媒体は、プロセッサが記憶媒体から情報を読み取り、記憶媒体に情報を書き込むことができるように、プロセッサに結合される。代替として、記憶媒体はプロセッサと一体であり得る。プロセッサおよび記憶媒体は、特定用途向け集積回路(ASIC)の中に存在し得る。ASICは、コンピューティングデバイスまたはユーザ端末の中に存在し得る。代替として、プロセッサおよび記憶媒体は、コンピューティングデバイスまたはユーザ端末の中に個別コンポーネントとして存在し得る。
【０１１４】
開示された実施形態のこれまでの説明は、当業者が開示された実施形態を作成または使用することが可能になるように提供される。これらの実施形態に対する様々な修正形態は、当業者には容易に明らかであり、本明細書で定義された原理は、本開示の範囲から逸脱することなく他の実施形態に適用することができる。したがって、本開示は、本明細書に示す実施形態に限定されることは意図されず、以下の特許請求の範囲によって定義されるような、原理および新規の特徴と矛盾しない、可能な最大の範囲を認められるべきである。
【符号の説明】
【０１１５】
100  システム
102  プロセッサ
104  中央処理装置(CPU)
106  メモリコントローラ
108  動的タイミングパラメータ
110  命令
112  第1のデータ
120  メモリ
122  メモリ制御論理
124  記憶要素
126  動的タイミングパラメータ
128  命令
140  データバス
150  コマンドバス
200  タイミング図
212  データ
216  第2のデータ
222  遅延
232  遅延
242  ACTコマンド
244  第1のREADコマンド
246  第2のREADコマンド
248  遅延
250  遅延
256  第2のデータ
260  遅延
262  遅延
264  遅延
266  遅延
272  遅延
300  タイミング図
302  ACTコマンド
304  第1のREADコマンド
322  遅延
402  RLタイミングパラメータ
404  WLタイミングパラメータ
406  tRTPタイミングパラメータ
408  tWTPタイミングパラメータ
410  tRCDタイミングパラメータ
412  tCCDタイミングパラメータ
414  RASタイミングパラメータ
416  CASタイミングパラメータ
600  システム
660  タイミングパラメータ値
708  動作
804  動作
1100  デバイス
1110  プロセッサ
1122  システムオンチップデバイス
1126  ディスプレイコントローラ
1128  ディスプレイ
1130  入力デバイス
1132  メモリ
1134  コーダ/デコーダ(コーデック)
1136  スピーカー
1138  マイクロフォン
1140  ワイヤレスコントローラ
1142  ワイヤレスアンテナ
1144  電源
1150  メモリ制御論理
1152  動的タイミングパラメータ
1160  メモリコントローラ
1162  命令
1164  命令
1168  動的タイミングパラメータ
1200  製造プロセス
1202  物理デバイス情報
1204  ユーザインターフェース
1206  研究用コンピュータ
1208  プロセッサ
1210  メモリ
1212  ライブラリファイル
1214  設計用コンピュータ
1216  プロセッサ
1218  メモリ
1220  電子設計自動化(EDA)ツール
1222  回路設計情報
1224  ユーザインターフェース
1226  GDSIIファイル
1228  製造プロセス
1230  マスク製造業者
1232  マスク
1234  ウエハ
1236  ダイ
1238  パッケージングプロセス
1240  パッケージ
1242  PCB設計情報
1244  ユーザインターフェース
1246  コンピュータ
1248  プロセッサ
1250  メモリ
1252  GERBERファイル
1254  基板組立てプロセス
1256  PCB
1258  プリント回路アセンブリ(PCA)
1260  製品製造プロセス
1262  電子デバイス
1264  電子デバイス
【図１】
2016515269.tif 000003
【図２】
2016515269.tif 000004
【図３】
2016515269.tif 000005
【図４】
2016515269.tif 000006
【図５】
2016515269.tif 000007
【図６】
2016515269.tif 000008
【図７】
2016515269.tif 000009
【図８】
2016515269.tif 000010
【図９】
2016515269.tif 000011
【図１０】
2016515269.tif 000012
【図１１】
2016515269.tif 000013
【図１２】
2016515269.tif 000014
【手続補正書】
【提出日】平成27年6月2日(2015.6.2)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
プロセッサから、メモリデバイスによって、メモリの複数の記憶要素のうちの第1の記憶要素にアクセスするための第1のメモリアクセス要求を受信するステップと、
前記メモリデバイスのタイミングパラメータに基づいて前記第1のメモリアクセス要求を処理するステップと、
前記プロセッサから、前記メモリデバイスによって、前記複数の記憶要素のうちの第2の記憶要素にアクセスするための第2のメモリアクセス要求を受信するステップと、
変更されたタイミングパラメータを生成するために、前記複数の記憶要素の同じ行上のアドレスを識別する前記第1のメモリアクセス要求および前記第2のメモリアクセス要求に基づいて、前記メモリデバイスの前記タイミングパラメータを変更するステップと、
前記変更されたタイミングパラメータに基づいて前記第2のメモリアクセス要求を処理するステップと
を含む方法。
【請求項２】
前記メモリデバイスが、ダブルデータレート(DDR)同期型ダイナミックランダムアクセスメモリ(SDRAM)、不揮発性ランダムアクセスメモリ(NVRAM)、またはダイナミックランダムアクセスメモリ(DRAM)のうちの1つである、請求項1に記載の方法。
【請求項３】
前記タイミングパラメータを変更するステップが、
前記第1のメモリアクセス要求を処理するために使用される前記タイミングパラメータの第1の値を決定するステップと、
前記第1の値に少なくとも部分的に基づいて、前記タイミングパラメータの第2の値を決定するステップと
を含む、請求項1に記載の方法。
【請求項４】
前記第1の値が、行アクセスレイテンシと列アクセスレイテンシとの合計に対応し、前記第2の値が、行アドレスが変更されないときの前記列アクセスレイテンシに対応する、請求項3に記載の方法。
【請求項５】
前記複数の記憶要素が複数の行および複数の列に配置され、前記第1のメモリアクセス要求が、前記メモリデバイスの第1の記憶要素にアクセスする旨の要求に対応し、前記第1の記憶要素が、前記複数の行のうちの第1の行、および前記複数の列のうちの第1の列に含まれ、前記第2のメモリアクセス要求が、前記メモリデバイスの第2の記憶要素にアクセスする旨の要求に対応し、前記第2の記憶要素が、前記第1の行、および前記第1の列とは異なる第2の列に含まれる、請求項4に記載の方法。
【請求項６】
前記メモリデバイスの前記複数の行に含まれる行の数が、前記メモリデバイスの前記複数の列に含まれる列の数と異なる、請求項5に記載の方法。
【請求項７】
前記第1のメモリアクセス要求が、行コマンドおよび列コマンドを含み、前記行コマンドが、前記第1の行の行アドレスの第1の部分を含み、前記列コマンドが、前記第1の行の前記行アドレスの第2の部分、および前記第1の列の列アドレスを含む、請求項5に記載の方法。
【請求項８】
前記第2のメモリアクセス要求が、第2の列コマンドを含み、前記第2の列コマンドが、前記行アドレスの前記第2の部分、および前記第2の列の列アドレスを含む、請求項7に記載の方法。
【請求項９】
前記第1のメモリアクセス要求が、第1のタイミングサイクルの間に受信され、前記第2のメモリアクセス要求が、第2のタイミングサイクルの間に受信され、前記第2の値を決定するステップが、
前記第2のタイミングサイクルと前記第1のタイミングサイクルとの間の経過したタイミングサイクルの数を決定するステップと、
経過したタイミングサイクルの前記数とタイミングサイクルの閾値数との間の第1の差を決定するステップと、
前記第1の値と前記第1の差との間の第2の差を決定するステップと、
前記第2の差と閾値タイミングパラメータ値との比較に基づいて、前記第2の値を決定するステップと
を含む、請求項3に記載の方法。
【請求項１０】
タイミングサイクルの前記閾値数が、列間遅延に対応する、請求項9に記載の方法。
【請求項１１】
前記第2の値が、前記第2の差および前記閾値タイミングパラメータ値の大きい方に対応し、前記閾値タイミングパラメータ値が、列アクセスレイテンシに対応する、請求項9に記載の方法。
【請求項１２】
前記第1のメモリアクセス要求が、第1のreadコマンドまたは第1のwriteコマンドのうちの一方に対応し、前記第2のメモリアクセス要求が、第2のreadコマンド、第2のwriteコマンド、またはプリチャージコマンドのうちの1つに対応する、請求項1に記載の方法。
【請求項１３】
複数の記憶要素と、
前記複数の記憶要素に結合され、プロセッサに結合されるように構成されたメモリ制御論理とを含み、前記メモリ制御論理が、前記複数の記憶要素の同じ行上のアドレスを識別する前記プロセッサから受信される複数のメモリアクセス要求に少なくとも部分的に基づいて、タイミングパラメータの値を変更するように構成され、前記タイミングパラメータが、前記複数のメモリアクセス要求のうちの少なくとも1つに関連したデータがデータバスに提供される前のタイミングサイクルの数に対応する
メモリデバイス。
【請求項１４】
前記タイミングパラメータの前記値を変更することが、
前記プロセッサから、前記メモリデバイスで第1のメモリアクセス要求を受信することと、
前記メモリデバイスの前記タイミングパラメータの第1の値に基づいて前記第1のメモリアクセス要求を処理することと、
前記プロセッサから、前記メモリデバイスで第2のメモリアクセス要求を受信することと、
前記第1のメモリアクセス要求によって識別された第1のメモリアドレス、および前記第2のメモリアクセス要求によって識別された第2のメモリアドレスに少なくとも部分的に基づいて、前記メモリデバイスの前記タイミングパラメータの第2の値を決定することと、
前記第2の値に基づいて前記第2のメモリアクセス要求を処理することと
を含む、請求項13に記載のメモリデバイス。
【請求項１５】
前記第1の値が、行アクセスレイテンシおよび列アクセスレイテンシに対応し、前記第2のメモリアクセス要求に含まれる行アドレスが前記第1のメモリアクセス要求に含まれる行アドレスに対応するとき、前記第2の値が、前記列アクセスレイテンシに対応する、請求項14に記載のメモリデバイス。
【請求項１６】
前記第1のメモリアクセス要求が、第1のタイミングサイクルの間に受信され、前記第2のメモリアクセス要求が、第2のタイミングサイクルの間に受信され、前記第2の値を決定することが、
前記第2のタイミングサイクルと前記第1のタイミングサイクルとの間の経過したタイミングサイクルの数を決定することと、
経過したタイミングサイクルの前記数とタイミングサイクルの閾値数との間の第1の差を決定することと、
前記第1の値と前記第1の差との間の第2の差を決定することと、
前記第2の差と閾値タイミングパラメータ値との比較に基づいて、前記第2の値を決定することとを含み、
前記第2の値が、前記第2の差および前記閾値タイミングパラメータ値の大きい方に対応し、
前記閾値タイミングパラメータ値が、列アクセスレイテンシに対応する
請求項14に記載のメモリデバイス。
【請求項１７】
タイミングサイクルの前記閾値数が、列間遅延に対応する、請求項16に記載のメモリデバイス。
【請求項１８】
前記閾値タイミングパラメータ値が、列アクセス遅延に対応する、請求項16に記載のメモリデバイス。
【請求項１９】
前記メモリデバイスが、ダブルデータレート(DDR)同期型ダイナミックランダムアクセスメモリ(SDRAM)、不揮発性ランダムアクセスメモリ(NVRAM)、またはダイナミックランダムアクセスメモリ(DRAM)のうちの1つである、請求項13に記載のメモリデバイス。
【請求項２０】
前記タイミングパラメータの前記値を前記プロセッサに提供することをさらに含む請求項13に記載のメモリデバイス。
【請求項２１】
複数の記憶要素を含むメモリデバイスと、
プロセッサと、
前記プロセッサと前記メモリデバイスとに結合されるメモリコントローラとを含み、前記メモリコントローラが、前記複数の記憶要素の同じ行上のアドレスを識別する前記メモリデバイスに対する複数のメモリアクセス要求に少なくとも部分的に基づいて、タイミングパラメータの値を変更するように構成され、前記タイミングパラメータが、前記複数のメモリアクセス要求のうちの少なくとも1つに関連したデータがデータバスに提供される前のタイミングサイクルの数に対応する
装置。
【請求項２２】
前記タイミングパラメータの前記値を変更することが、
第1のメモリアクセス要求を前記メモリデバイスに送信することと、
前記タイミングパラメータの第1の値に基づいて前記メモリデバイスから前記メモリコントローラへの第1のデータ送信の第1の時間を予測することであり、前記第1のデータ送信が、前記第1のメモリアクセス要求に関連する、予測することと、
第2のメモリアクセス要求を前記メモリデバイスに送信することと、
前記第1のメモリアクセス要求および前記第2のメモリアクセス要求に基づいて前記タイミングパラメータの第2の値を決定することと、
前記第2の値に基づいて、前記メモリデバイスから前記メモリコントローラへの第2のデータ送信の第2の時間を予測することであり、前記第2のデータ送信が、前記第2のメモリアクセス要求に関連する、予測することと
を含む、請求項21に記載の装置。
【請求項２３】
前記第1のメモリアクセス要求が、第1のタイミングサイクルの間に送信され、前記第2のメモリアクセス要求が、第2のタイミングサイクルの間に送信され、前記第1のメモリアクセス要求および前記第2のメモリアクセス要求に基づいて前記タイミングパラメータの前記第2の値を決定することが、
前記第2のタイミングサイクルと前記第1のタイミングサイクルとの間の経過したタイミングサイクルの数を決定することと、
経過したタイミングサイクルの前記数とタイミングサイクルの閾値数との間の第1の差を決定することと、
前記第1の値と前記第1の差との間の第2の差を決定することと、
前記第2の差と閾値タイミングパラメータ値との比較に基づいて、前記第2の値を決定することとを含み、
前記第2の値が、前記第2の差および前記閾値タイミングパラメータ値の大きい方に対応し、
前記閾値タイミングパラメータ値が、列アクセスレイテンシに対応する
請求項22に記載の装置。
【請求項２４】
前記複数の記憶要素が複数の行および複数の列に配置され、前記複数の記憶要素のうちの特定の記憶要素が、特定の行アドレスおよび特定の列アドレスを使用してアドレス指定可能であり、前記特定の行アドレスが、前記特定の記憶要素を含む前記複数の行のうちの特定の行を識別し、前記特定の列アドレスが、前記特定の記憶要素を含む前記複数の列のうちの特定の列を識別する、請求項22に記載の装置。
【請求項２５】
前記第1のメモリアクセス要求が、前記複数の記憶要素のうちの第1の記憶要素に関連し、前記第1のメモリアクセス要求が、行コマンドおよび列コマンドを含み、前記行コマンドが、前記第1の記憶要素を含む前記複数の行のうちの第1の行に対応する行アドレスの第1の部分を含み、前記列コマンドが、前記第1の行の前記行アドレスの第2の部分、および前記第1の記憶要素を含む前記複数の列のうちの第1の列に対応する列アドレスを含み、前記第2のメモリアクセス要求が、前記複数の記憶要素のうちの第2の記憶要素に関連し、前記第2のメモリアクセス要求が、第2の列コマンドを含み、前記第2の列コマンドが、前記第1の行の前記行アドレスの前記第2の部分、および前記第2の記憶要素を含む前記複数の列のうちの第2の列に対応する第2の列アドレスを含む、請求項24に記載の装置。
【請求項２６】
前記タイミングパラメータの前記値を変更することが、
前記メモリデバイスから第1の値を受信することと、
前記メモリデバイスから第2の値を受信することと、
前記第1の値と前記第2の値との比較に基づいて、前記タイミングパラメータの前記値を決定することとを含み、前記第1の値が前記第2の値未満であるとき、前記タイミングパラメータの前記値が前記第2の値に対応し、前記第1の値が、第1のメモリアクセス要求に基づいて前記メモリデバイスで生成される
請求項21に記載の装置。
【請求項２７】
メモリコントローラから複数の記憶要素を含むメモリデバイスに第1のメモリアクセス要求を送信するステップと、
タイミングパラメータの第1の値に基づいて前記メモリデバイスから前記メモリコントローラへの第1のデータ送信の第1の時間を予測するステップであり、前記第1のデータ送信が、前記第1のメモリアクセス要求に関連する、ステップと、
第2のメモリアクセス要求を前記メモリデバイスに送信するステップと、
前記複数の記憶要素の同じ行上のアドレスを識別する前記第1のメモリアクセス要求および前記第2のメモリアクセス要求に基づいて、前記タイミングパラメータの第2の値を決定することによって、前記タイミングパラメータを変更するステップと、
前記第2の値に基づいて、前記メモリデバイスから前記メモリコントローラへの第2のデータ送信の第2の時間を予測するステップであり、前記第2のデータ送信が、前記第2のメモリアクセス要求に関連する、ステップと
を含む方法。
【請求項２８】
前記第1のメモリアクセス要求が、第1のタイミングサイクルの間に送信され、前記第2のメモリアクセス要求が、第2のタイミングサイクルの間に送信され、前記タイミングパラメータの前記第2の値を決定するステップが、
前記第2のタイミングサイクルと前記第1のタイミングサイクルとの間の経過したタイミングサイクルの数を決定するステップと、
経過したタイミングサイクルの前記数とタイミングサイクルの閾値数との間の第1の差を決定するステップと、
前記第1の値と前記第1の差との間の第2の差を決定するステップと、
前記第2の差と閾値タイミングパラメータ値との比較に基づいて、前記第2の値を決定するステップとを含み、
前記第2の値が、前記第2の差および前記閾値タイミングパラメータ値の大きい方に対応し、
前記閾値タイミングパラメータ値が、列アクセスレイテンシに対応する
請求項27に記載の方法。
【請求項２９】
前記メモリデバイスから前記タイミングパラメータの前記第1の値および前記タイミングパラメータの前記第2の値を受信するステップをさらに含む請求項27に記載の方法。
【請求項３０】
命令を記憶するコンピュータ可読ストレージデバイスであって、前記命令が、プロセッサによって実行されると、前記プロセッサに、
第1のメモリアクセス要求を受信することと、
タイミングパラメータの第1の値に基づいて前記第1のメモリアクセス要求を処理することと、
第2のメモリアクセス要求を受信することと、
変更されたタイミングパラメータを生成するために、複数の記憶要素の同じ行上のアドレスを識別する前記第1のメモリアクセス要求および前記第2のメモリアクセス要求に少なくとも部分的に基づいて、前記タイミングパラメータを変更することであり、前記変更されたタイミングパラメータが第2の値を有する、変更することと、
前記第2の値に基づいて前記第2のメモリアクセス要求を処理することとを行わせる
コンピュータ可読ストレージデバイス。
【請求項３１】
前記第1のメモリアクセス要求が、第1のタイミングサイクルの間に送信され、前記第2のメモリアクセス要求が、第2のタイミングサイクルの間に送信され、前記第2の値を決定するための前記命令が、前記プロセッサによって実行されると、前記プロセッサに、
前記第2のタイミングサイクルと前記第1のタイミングサイクルとの間の経過したタイミングサイクルの数を決定させ、
経過したタイミングサイクルの前記数とタイミングサイクルの閾値数との間の第1の差を決定させ、
前記第1の値と前記第1の差との間の第2の差を決定させ、
前記第2の差と閾値タイミングパラメータ値との比較に基づいて、前記第2の値を決定させ、
前記第2の値が、前記第2の差および前記閾値タイミングパラメータ値の大きい方に対応し、
前記閾値タイミングパラメータ値が、列アクセスレイテンシに対応する
命令を含む、請求項30に記載のコンピュータ可読ストレージデバイス。
【請求項３２】
タイミングサイクルの前記閾値数が、列間遅延に対応する、請求項31に記載のコンピュータ可読ストレージデバイス。
【請求項３３】
前記第1のメモリアクセス要求および前記第2のメモリアクセス要求が、メモリデバイスのメモリ制御論理で受信され、前記命令が、前記プロセッサによって実行されると、前記プロセッサに、前記第1の値および前記第2の値の少なくとも一方を第2のプロセッサに送らせる命令をさらに含む、請求項30に記載のコンピュータ可読ストレージデバイス。
【請求項３４】
前記メモリデバイスが、ダブルデータレート(DDR)同期型ダイナミックランダムアクセスメモリ(SDRAM)、不揮発性ランダムアクセスメモリ(NVRAM)、またはダイナミックランダムアクセスメモリ(DRAM)のうちの1つである、請求項33に記載のコンピュータ可読ストレージデバイス。
【請求項３５】
データを記憶するための手段と、
データを記憶するための前記手段の同じ行上のアドレスを識別するプロセッサから受信される複数のメモリアクセス要求に少なくとも部分的に基づいて、タイミングパラメータの値を変更するための手段であり、前記タイミングパラメータが、前記複数のメモリアクセス要求のうちの少なくとも1つに関連したデータがデータバスに提供される前のタイミングサイクルの第1の数に対応する、手段と
を含む装置。
【請求項３６】
前記タイミングパラメータの前記値を前記プロセッサに送信するための手段と、
1つまたは複数のメモリアクセス要求を受信するための手段と、
前記1つまたは複数のメモリアクセス要求を処理するための手段と
をさらに含む請求項35に記載の装置。
【請求項３７】
前記タイミングパラメータの前記値を変更するための前記手段が、
第1のメモリアクセス要求に基づいて前記タイミングパラメータの第1の値を決定するための手段であり、前記1つまたは複数のメモリアクセス要求を処理するための前記手段が、前記第1の値に基づいて前記第1のメモリアクセス要求を処理する、手段と、
前記第1のメモリアクセス要求および第2のメモリアクセス要求に少なくとも部分的に基づいて前記タイミングパラメータの第2の値を決定するための手段であり、前記1つまたは複数のメモリアクセス要求を処理するための前記手段が、前記第2の値に基づいて前記第2のメモリアクセス要求を処理する、手段と
を含む請求項36に記載の装置。
【請求項３８】
前記第1の値が、行アクセスレイテンシと列アクセスレイテンシとの合計に対応し、前記第2の値が、前記第2のメモリアクセス要求に含まれる行アドレスが前記第1のメモリアクセス要求に含まれる行アドレスに対応するとき、前記列アクセスレイテンシに対応する、請求項37に記載の装置。
【請求項３９】
前記第1のメモリアクセス要求が、第1のタイミングサイクルの間に受信され、前記第2のメモリアクセス要求が、第2のタイミングサイクルの間に受信され、前記第2の値を決定するための前記手段が、
前記第2のタイミングサイクルと前記第1のタイミングサイクルとの間の経過したタイミングサイクルの第2の数を決定するための手段と、
経過したタイミングサイクルの前記第2の数とタイミングサイクルの閾値数との間の第1の差を決定するための手段と、
前記第1の値と前記第1の差との間の第2の差を決定するための手段と、
前記第2の差と閾値タイミングパラメータ値との比較に基づいて、前記第2の値を決定するための手段とを含み、
前記第2の値が、前記第2の差および前記閾値タイミングパラメータ値の大きい方に対応し、
前記閾値タイミングパラメータ値が、列アクセスレイテンシに対応する
請求項37に記載の装置。
【請求項４０】
タイミングサイクルの前記閾値数が、列間遅延に対応する、請求項39に記載の装置。
【請求項４１】
前記閾値タイミングパラメータ値が、列アクセス遅延に対応する、請求項39に記載の装置。
【請求項４２】
データを記憶するための前記手段が、ダブルデータレート(DDR)同期型ダイナミックランダムアクセスメモリ(SDRAM)、不揮発性ランダムアクセスメモリ(NVRAM)、またはダイナミックランダムアクセスメモリ(DRAM)のうちの1つを含む、請求項35に記載の装置。
【請求項４３】
データを処理するための手段と、
複数の記憶要素の同じ行上のアドレスを識別する複数の送信されたメモリアクセス要求に少なくとも部分的に基づいて、タイミングパラメータの値を変更するための手段であり、前記タイミングパラメータが、前記複数の送信されたメモリアクセス要求のうちの少なくとも1つに関連したデータがデータバスから受信される前のタイミングサイクルの第1の数に対応する、手段と
を含む装置。
【請求項４４】
第1のメモリアクセス要求および第2のメモリアクセス要求をメモリデバイスに送信するための手段をさらに含む請求項43に記載の装置。
【請求項４５】
前記第1のメモリアクセス要求が、第1のタイミングサイクルの間に送信され、前記第2のメモリアクセス要求が、第2のタイミングサイクルの間に送信され、前記タイミングパラメータの前記値を変更するための前記手段が、
前記第1のメモリアクセス要求に基づいて前記タイミングパラメータの第1の値を決定するための手段と、
前記第2のタイミングサイクルと前記第1のタイミングサイクルとの間の経過したタイミングサイクルの第2の数を決定するための手段と、
経過したタイミングサイクルの前記第2の数とタイミングサイクルの閾値数との間の第1の差を決定するための手段と、
前記第1の値と前記第1の差との間の第2の差を決定するための手段と、
前記第2の差と閾値タイミングパラメータ値との比較に基づいて、前記タイミングパラメータの第2の値を決定するための手段と
を含み、前記第2の値が、前記第2の差および前記閾値タイミングパラメータ値の大きい方に対応し、
前記閾値タイミングパラメータ値が、列アクセスレイテンシに対応する
請求項44に記載の装置。
【請求項４６】
少なくとも1つの半導体ダイに統合された、請求項43に記載の装置。
【請求項４７】
セットトップボックスと、音楽プレーヤと、ビデオプレーヤと、エンターテインメントユニットと、ナビゲーションデバイスと、通信デバイスと、携帯情報端末(PDA)と、固定ロケーションデータユニットと、コンピュータとからなるグループから選択されたデバイスであって、前記少なくとも1つの半導体ダイが組み込まれた、デバイスをさらに含む、請求項46に記載の装置。
【請求項４８】
プロセッサから、メモリデバイスで第1のメモリアクセス要求を受信するための第1のステップであり、前記メモリデバイスが複数の記憶要素を含む、第1のステップと、
前記メモリデバイスのタイミングパラメータの第1の値に基づいて前記第1のメモリアクセス要求を処理するための第2のステップと、
前記プロセッサから、前記メモリデバイスで第2のメモリアクセス要求を受信するための第3のステップと、
前記複数の記憶要素の同じ行上のアドレスを識別する前記第1のメモリアクセス要求および前記第2のメモリアクセス要求に基づいて、前記メモリデバイスの前記タイミングパラメータを変更するための第4のステップと、
前記変更されたタイミングパラメータに基づいて前記第2のメモリアクセス要求を処理するための第5のステップと
を含む方法。
【請求項４９】
複数の記憶要素の同じ行上のアドレスを識別する複数のメモリアクセス要求に少なくとも部分的に基づいて、タイミングパラメータの値を変更するように構成された論理を含む半導体デバイスに対応する設計情報を受け取るステップであり、前記タイミングパラメータが、前記複数のメモリアクセス要求のうちの少なくとも1つに関連したデータがデータバスに提供される前のタイミングサイクルの数に対応する、ステップと、
前記設計情報に従って、前記複数の記憶要素の同じ行上のアドレスを識別する前記複数のメモリアクセス要求に少なくとも部分的に基づいて、前記タイミングパラメータの前記値を変更するように構成された前記論理を含む前記半導体デバイスを作製するステップと
を含む方法。
【請求項５０】
前記設計情報を受信するステップがGDSIIフォーマットを含むデータファイルを受信するステップを含む、請求項49に記載の方法。
【請求項５１】
前記設計情報を受信するステップがGERBERフォーマットを有するデータファイルを受信するステップを含む、請求項49に記載の方法。
【国際調査報告】
2016515269.tif 000015
2016515269.tif 000016
2016515269.tif 000017
2016515269.tif 000018