(57)【要約】  不必要なページリフレッシュ動作を排除するようにダイナミックメモリデバイス(たとえば、DRAM)をリフレッシュするための方法およびデバイス。ページのためのルックアップテーブル内の値は、すべてゼロを含む有効なデータがページ内に存在するかどうかを示すことができる。ページがすべてゼロの有効なデータを含むとき、ルックアップテーブルの値は、ページのリフレッシュ、メモリ読み出し、書き込み、およびクリアのアクセスが抑止され得、有効な値が返され得るように設定され得る。第2のルックアップテーブルは、ページリフレッシュ間隔中にページがページ読み出しまたは書き込みによってアクセスされたかどうかを示す第2の値を含むことができる。ページリフレッシュは、ACT-PREコマンド対およびページアドレスを発行することによって、ページアクセスが生じていないことを第2の値が示すとき、ページリフレッシュ間隔に従って実行され得る。
2016524775.tif 000002
【特許請求の範囲】
【請求項１】
ダイナミックメモリデバイスをリフレッシュする方法であって、
前記ダイナミックメモリデバイス内のメモリセルのページに関連付けられた第1のルックアップテーブル内の第1の値を、前記ページがすべてゼロの有効なデータを含むときを示すために設定するステップと、
前記ページがすべてゼロの有効なデータを含むことを前記第1のルックアップテーブル内の関連付けられた第1の値が示すメモリセルのページのリフレッシュを抑止するように、ページのリフレッシュ間隔に従って実行されるページのリフレッシュを制御するステップと
を含む方法。
【請求項２】
メモリセルのページがすべてゼロの有効なデータを含むことを前記第1のルックアップテーブル内の第1の値が示すとき、読み出し要求に関連するメモリセルの前記ページへのアクセスを抑止するステップと、
前記読み出し要求に応答して1つまたは複数のゼロを返すステップと
をさらに含む、請求項1に記載の方法。
【請求項３】
メモリセルのページがすべてゼロの有効なデータを含むことを前記第1のルックアップテーブル内の第1の値が示し、書き込み値が前記ページに書き込まれるべき1つまたは複数のゼロを含む場合、書き込み要求に関連するメモリセルの前記ページへのアクセスを抑止するステップと、
前記書き込み要求に応答して、成功した書き込み動作の指示を返すステップと
をさらに含む、請求項1に記載の方法。
【請求項４】
メモリセルのページがすべてゼロの有効なデータを含むことを前記第1のルックアップテーブル内の第1の値が示すとき、クリア要求に関連するメモリセルの前記ページへのアクセスを抑止するステップと、
前記クリア要求に応答して、成功したクリア動作の指示を返すステップと
をさらに含む、請求項1に記載の方法。
【請求項５】
読み出しまたは書き込みアクセスがメモリセルの対応するページに対して生じたことを示すために、第2のルックアップテーブル内の第2の値を設定するステップと、
前記アクセスが生じたことを前記第2のルックアップテーブル内のその関連する第2の値が示し、その少なくとも一部がゼロではない有効なデータをページが含むことを前記第1のルックアップテーブル内のその関連する第1の値が示すメモリセルの前記ページをリフレッシュすることを抑止するように、前記ページリフレッシュ間隔に従って実行されるページリフレッシュを制御するステップと
をさらに含む、請求項1に記載の方法。
【請求項６】
前記メモリデバイスを含むシステムの起動時に前記第1のルックアップテーブルをクリアするステップと、
前記リフレッシュ間隔の終了時に前記第2のルックアップテーブルをクリアし、前記ページリフレッシュ間隔を再設定するステップと
をさらに含む、請求項5に記載の方法。
【請求項７】
前記ページリフレッシュ間隔に従って実行される前記ページリフレッシュを制御するステップが、すべてがゼロではない有効なデータがメモリセルのページ内に存在することをその関連する第1の値が示し、読み出しまたは書き込みアクセスが生じていないことをその関連する第2の値が示す、メモリセルの前記ページのためのアドレスを含む活性化(ACT)-プリチャージ(PRE)コマンド対を発行するステップを含む、請求項5に記載の方法。
【請求項８】
前記ページリフレッシュ間隔に従って実行される前記ページリフレッシュを制御するステップが、前記メモリデバイス内のページ数が閾値を超えるとき、前記メモリデバイスのためのリフレッシュ(REF)コマンドを発行するステップを含む、請求項5に記載の方法。
【請求項９】
前記ダイナミックメモリデバイスが、ダイナミックランダムアクセスメモリデバイスを含む、請求項1に記載の方法。
【請求項１０】
前記第1のルックアップテーブル内の値を使用して、すべてがゼロではない有効なデータを含む前記ダイナミックメモリデバイスのページ数を決定するステップと、
前記ダイナミックメモリデバイスの温度と、すべてがゼロではない有効なデータを含む前記ダイナミックメモリデバイスの前記ページ数とに基づいて、前記ページリフレッシュ間隔を調整するステップと
をさらに含む、請求項1に記載の方法。
【請求項１１】
前記第1のルックアップテーブル内の値を使用して、すべてがゼロではない有効なデータを含む前記ダイナミックメモリデバイスのページ数を決定するステップと、
前記第2のルックアップテーブル内の値を使用して、リフレッシュされるべき前記ダイナミックメモリデバイスのページ数を決定するステップと、
前記ダイナミックメモリデバイスの温度と、すべてがゼロではない有効なデータを含む前記ダイナミックメモリデバイスの前記ページ数と、リフレッシュされるべき前記ダイナミックメモリデバイスの前記ページ数とに基づいて、前記ページリフレッシュ間隔を調整するステップと
をさらに含む、請求項5に記載の方法。
【請求項１２】
前記ページに関連付けられた活性化(ACT)コマンドがコマンドキュー内に存在するかを決定するために、前記ダイナミックメモリデバイスに関連付けられた前記コマンドキューを監視するステップと、
(i)前記コマンドキュー内に存在するアクティブコマンドを有し、(ii)読み出しまたは書き込みアクセスがページに対して生じていないことをその関連する第2の値が示し、(iii)その少なくとも一部がゼロではない有効なデータを前記ページが含むことをその関連する第1の値が示すメモリセルの前記ページのリフレッシュを抑止するように、前記ページリフレッシュ間隔に従って実行されるページリフレッシュを制御するステップと
をさらに含む、請求項1に記載の方法。
【請求項１３】
ダイナミックメモリと、
前記ダイナミックメモリに結合され、
前記ダイナミックメモリ内のメモリセルのページに関連付けられた第1のルックアップテーブル内の第1の値を、前記ページがすべてゼロの有効なデータを含むときを示すために設定するステップと、
前記ページがすべてゼロの有効なデータを含むことを前記第1のルックアップテーブル内の関連付けられた第1の値が示すメモリセルのページのリフレッシュを抑止するように、ページのリフレッシュ間隔に従って実行されるページのリフレッシュを制御するステップと
を含む動作を実行するように、プロセッサ実行可能命令で構成されたプロセッサと
を備えるコンピューティングデバイス。
【請求項１４】
前記プロセッサが、
メモリセルのページがすべてゼロの有効なデータを含むことを前記第1のルックアップテーブル内の第1の値が示すとき、読み出し要求に関連するメモリセルの前記ページへのアクセスを抑止するステップと、
前記読み出し要求に応答して1つまたは複数のゼロを返すステップと
をさらに含む動作を実行するように、プロセッサ実行可能命令で構成されている、請求項13に記載のコンピューティングデバイス。
【請求項１５】
前記プロセッサが、
メモリセルのページがすべてゼロの有効なデータを含むことを前記第1のルックアップテーブル内の第1の値が示し、書き込み値が前記ページに書き込まれるべき1つまたは複数のゼロを含む場合、書き込み要求に関連するメモリセルの前記ページへのアクセスを抑止するステップと、
前記書き込み要求に応答して、成功した書き込み動作の指示を返すステップと
をさらに含む動作を実行するように、プロセッサ実行可能命令で構成されている、請求項13に記載のコンピューティングデバイス。
【請求項１６】
前記プロセッサが、
メモリセルのページがすべてゼロの有効なデータを含むことを前記第1のルックアップテーブル内の第1の値が示すとき、クリア要求に関連するメモリセルの前記ページへのアクセスを抑止するステップと、
前記クリア要求に応答して、成功したクリア動作の指示を返すステップと
をさらに含む動作を実行するように、プロセッサ実行可能命令で構成されている、請求項13に記載のコンピューティングデバイス。
【請求項１７】
前記プロセッサが、
読み出しまたは書き込みアクセスがメモリセルの対応するページに対して生じたことを示すために、第2のルックアップテーブル内の第2の値を設定するステップと、
読み出しまたは書き込みアクセスが生じたことを前記第2のルックアップテーブル内のその関連する第2の値が示し、その少なくとも一部がゼロではない有効なデータをページが含むことを前記第1のルックアップテーブル内のその関連する第1の値が示すメモリセルの前記ページをリフレッシュすることを抑止するように、前記ページリフレッシュ間隔に従って実行されるページリフレッシュを制御するステップと
をさらに含む動作を実行するように、プロセッサ実行可能命令で構成されている、請求項13に記載のコンピューティングデバイス。
【請求項１８】
前記プロセッサが、
前記ダイナミックメモリを含むシステムの起動時に第1のルックアップテーブルをクリアするステップと、
前記リフレッシュ間隔の終了時に前記第2のルックアップテーブルをクリアするステップと
をさらに含む動作を実行するように、プロセッサ実行可能命令で構成されている、請求項17に記載のコンピューティングデバイス。
【請求項１９】
前記プロセッサが、前記ページリフレッシュ間隔に従って実行される前記ページリフレッシュを制御するステップが、すべてがゼロではない有効なデータがメモリセルのページ内に存在することをその関連する第1の値が示し、読み出しまたは書き込みアクセスが生じていないことをその関連する第2の値が示す、メモリセルの前記ページのためのページアドレスを含む活性化(ACT)-プリチャージ(PRE)コマンド対を発行するステップを含む動作を実行するように、プロセッサ実行可能命令で構成されている、請求項17に記載のコンピューティングデバイス。
【請求項２０】
前記プロセッサが、前記ページリフレッシュ間隔に従って実行される前記ページリフレッシュを制御するステップが、前記ダイナミックメモリ内のページ数が閾値を超えるとき、前記ダイナミックメモリのためのリフレッシュ(REF)コマンドを発行するステップを含む動作を実行するように、プロセッサ実行可能命令で構成されている、請求項17に記載のコンピューティングデバイス。
【請求項２１】
前記ダイナミックメモリが、ダイナミックランダムアクセスメモリを含む、請求項13に記載のコンピューティングデバイス。
【請求項２２】
前記プロセッサが、
前記第1のルックアップテーブル内の値を使用して、すべてがゼロではない有効なデータを含む前記ダイナミックメモリのページ数を決定するステップと、
前記ダイナミックメモリの温度と、すべてがゼロではない有効なデータを含む前記ダイナミックメモリの前記ページ数とに基づいて、前記ページリフレッシュ間隔を調整するステップと
をさらに含む動作を実行するように、プロセッサ実行可能命令で構成されている、請求項13に記載のコンピューティングデバイス。
【請求項２３】
前記プロセッサが、
前記第1のルックアップテーブル内の値を使用して、すべてがゼロではない有効なデータを含む前記ダイナミックメモリのページ数を決定するステップと、
前記第2のルックアップテーブル内の値を使用して、リフレッシュされるべき前記ダイナミックメモリのページ数を決定するステップと、
前記ダイナミックメモリの温度と、すべてがゼロではない有効なデータを含む前記ダイナミックメモリの前記ページ数と、リフレッシュされるべき前記ダイナミックメモリの前記ページ数とに基づいて、前記ページリフレッシュ間隔を調整するステップと
をさらに含む動作を実行するように、プロセッサ実行可能命令で構成されている、請求項17に記載のコンピューティングデバイス。
【請求項２４】
前記プロセッサが、
前記ページに関連付けられた活性化(ACT)コマンドがコマンドキュー内に存在するかを決定するために、前記ダイナミックメモリに関連付けられた前記コマンドキューを監視するステップと、
(i)前記コマンドキュー内に存在するアクティブコマンドを有し、(ii)読み出しまたは書き込みアクセスがページに対して生じていないことをその関連する第2の値が示し、(iii)その少なくとも一部がゼロではない有効なデータを前記ページが含むことをその関連する第1の値が示すメモリセルの前記ページのリフレッシュを抑止するように、前記ページリフレッシュ間隔に従って実行されるページリフレッシュを制御するステップと
をさらに含む動作を実行するように、プロセッサ実行可能命令で構成されている、請求項13に記載のコンピューティングデバイス。
【請求項２５】
ダイナミックメモリ内のメモリセルのページに関連付けられた第1のルックアップテーブル内の第1の値を、前記ページがすべてゼロの有効なデータを含むときを示すために設定するための手段と、
前記ページがすべてゼロの有効なデータを含むことを前記第1のルックアップテーブル内の関連付けられた第1の値が示すメモリセルのページのリフレッシュを抑止するように、ページのリフレッシュ間隔に従って実行されるページのリフレッシュを制御するための手段と
を備えるコンピューティングデバイス。
【請求項２６】
メモリセルのページがすべてゼロの有効なデータを含むことを前記第1のルックアップテーブル内の第1の値が示すとき、読み出し要求に関連するメモリセルの前記ページへのアクセスを抑止するための手段と、
前記読み出し要求に応答して1つまたは複数のゼロを返すための手段と
をさらに備える、請求項25に記載のコンピューティングデバイス。
【請求項２７】
メモリセルのページがすべてゼロの有効なデータを含むことを前記第1のルックアップテーブル内の第1の値が示し、書き込み値が前記ページに書き込まれるべき1つまたは複数のゼロを含む場合、書き込み要求に関連するメモリセルの前記ページへのアクセスを抑止するための手段と、
前記書き込み要求に応答して、成功した書き込み動作の指示を返すため手段と
をさらに備える、請求項25に記載のコンピューティングデバイス。
【請求項２８】
メモリセルのページがすべてゼロの有効なデータを含むことを前記第1のルックアップテーブル内の第1の値が示すとき、クリア要求に関連するメモリセルの前記ページへのアクセスを抑止するため手段と、
前記クリア要求に応答して、成功したクリア動作の指示を返すため手段と
をさらに備える、請求項25に記載のコンピューティングデバイス。
【請求項２９】
読み出しまたは書き込みアクセスがメモリセルの対応するページに対して生じたことを示すために、第2のルックアップテーブル内の第2の値を設定するため手段と、
読み出しまたは書き込みアクセスが生じたことを前記第2のルックアップテーブル内のその関連する第2の値が示し、その少なくとも一部がゼロではない有効なデータをページが含むことを前記第1のルックアップテーブル内のその関連する第1の値が示すメモリセルの前記ページをリフレッシュすることを抑止するように、前記ページリフレッシュ間隔に従って実行されるページリフレッシュを制御するため手段と
をさらに備える、請求項25に記載のコンピューティングデバイス。
【請求項３０】
前記ダイナミックメモリを含むシステムの起動時に前記第1のルックアップテーブルをクリアするため手段と
前記リフレッシュ間隔の終了時に前記第2のルックアップテーブルをクリアするため手段と
をさらに備える、請求項29に記載のコンピューティングデバイス。
【請求項３１】
前記ページリフレッシュ間隔に従って実行される前記ページリフレッシュを制御するための手段が、すべてがゼロではない有効なデータがメモリセルのページ内に存在することをその関連する第1の値が示し、読み出しまたは書き込みアクセスが生じていないことをその関連する第2の値が示す、メモリセルの前記ページのためのページアドレスを含む活性化(ACT)-プリチャージ(PRE)コマンド対を発行するための手段を備える、請求項29に記載のコンピューティングデバイス。
【請求項３２】
前記ページリフレッシュ間隔に従って実行される前記ページリフレッシュを制御するための手段が、前記ダイナミックメモリ内のページ数が閾値を超えるとき、前記ダイナミックメモリのためのリフレッシュ(REF)コマンドを発行するための手段を備える、請求項29に記載のコンピューティングデバイス。
【請求項３３】
前記ダイナミックメモリが、ダイナミックランダムアクセスメモリを含む、請求項25に記載のコンピューティングデバイス。
【請求項３４】
前記第1のルックアップテーブル内の値を使用して、すべてがゼロではない有効なデータを含む前記ダイナミックメモリのページ数を決定するための手段と、
前記ダイナミックメモリの温度と、すべてがゼロではない有効なデータを含む前記ダイナミックメモリの前記ページ数とに基づいて、前記ページリフレッシュ間隔を調整するための手段と
をさらに備える、請求項25に記載の方法。
【請求項３５】
前記第1のルックアップテーブル内の値を使用して、すべてがゼロではない有効なデータを含む前記ダイナミックメモリのページ数を決定するための手段と、
前記第2のルックアップテーブル内の値を使用して、リフレッシュされるべき前記ダイナミックメモリのページ数を決定するための手段と、
前記ダイナミックメモリの温度と、すべてがゼロではない有効なデータを含む前記ダイナミックメモリの前記ページ数と、リフレッシュされるべき前記ダイナミックの前記ページ数とに基づいて、前記ページリフレッシュ間隔を調整するための手段と
をさらに備える、請求項29に記載のコンピューティングデバイス。
【請求項３６】
前記ページに関連付けられた活性化(ACT)コマンドがコマンドキュー内に存在するかを決定するために、前記ダイナミックメモリに関連付けられた前記コマンドキューを監視するための手段と、
(i)前記コマンドキュー内に存在するアクティブコマンドを有し、(ii)読み出しまたは書き込みアクセスがページに対して生じていないことをその関連する第2の値が示し、(iii)その少なくとも一部がゼロではない有効なデータを前記ページが含むことをその関連する第1の値が示すメモリセルの前記ページのリフレッシュを抑止するように、前記ページリフレッシュ間隔に従って実行されるページリフレッシュを制御するための手段と
をさらに備える、請求項25に記載のコンピューティングデバイス。
【請求項３７】
プロセッサに動作を実行させるように構成される、プロセッサ実行可能ソフトウェア命令が記憶された、非一時的コンピュータ可読記憶媒体であって、前記動作が、
ダイナミックメモリデバイス内のメモリセルのページに関連付けられた第1のルックアップテーブル内の第1の値を、前記ページがすべてゼロの有効なデータを含むときを示すために設定するステップと、
前記ページがすべてゼロの有効なデータを含むことを前記第1のルックアップテーブル内の関連付けられた第1の値が示すメモリセルのページのリフレッシュを抑止するように、ページのリフレッシュ間隔に従って実行されるページのリフレッシュを制御するステップと
を含む非一時的コンピュータ可読記憶媒体。
【請求項３８】
前記記憶されたプロセッサ実行可能命令が、
ページがすべてゼロの有効なデータを含むことを前記第1の値が示すとき、読み出し要求に関連する前記ページへのアクセスを抑止するステップと、
前記読み出し要求に応答して1つまたは複数のゼロを返すステップと
をさらに含む動作を前記プロセッサに実行させるように構成されている、請求項37に記載の非一時的コンピュータ可読記憶媒体。
【請求項３９】
前記記憶されたプロセッサ実行可能命令が、
メモリセルのページがすべてゼロの有効なデータを含むことを前記第1のルックアップテーブル内の第1の値が示す場合、読み出し要求に関連するメモリセルの前記ページへのアクセスを抑止するステップと、
前記読み出し要求に応答して1つまたは複数のゼロを返すステップと
をさらに含む動作を前記プロセッサに実行させるように構成されている、請求項37に記載の非一時的コンピュータ可読記憶媒体。
【請求項４０】
前記記憶されたプロセッサ実行可能命令が、
メモリセルのページがすべてゼロの有効なデータを含み、書き込み値が前記ページに書き込まれるべき1つまたは複数のゼロを含むことを前記第1のルックアップテーブル内の第1の値が示すとき、クリア要求に関連するメモリセルの前記ページへのアクセスを抑止するステップと、
前記書き込み要求に応答して、成功した書き込み動作の指示を返すステップと
をさらに含む動作を前記プロセッサに実行させるように構成されている、請求項37に記載の非一時的コンピュータ可読記憶媒体。
【請求項４１】
前記記憶されたプロセッサ実行可能命令が、
読み出しまたは書き込みアクセスがメモリセルの対応するページに対して生じたことを示すために、第2のルックアップテーブル内の第2の値を設定するステップと、
読み出しまたは書き込みアクセスが生じたことを前記第2のルックアップテーブル内のその関連する第2の値が示し、その少なくとも一部がゼロではない有効なデータをページが含むことを前記第1のルックアップテーブル内のその関連する第1の値が示すメモリセルの前記ページをリフレッシュすることを抑止するように、前記ページリフレッシュ間隔に従って実行されるページリフレッシュを制御するステップと
をさらに含む動作を前記プロセッサに実行させるように構成されている、請求項37に記載の非一時的コンピュータ可読記憶媒体。
【請求項４２】
前記記憶されたプロセッサ実行可能命令が、
前記メモリデバイスを含むシステムの起動時に第1のルックアップテーブルをクリアするステップと、
前記リフレッシュ間隔の終了時に前記第2のルックアップテーブルをクリアするステップと
をさらに含む動作を前記プロセッサに実行させるように構成されている、請求項41に記載の非一時的コンピュータ可読記憶媒体。
【請求項４３】
前記記憶されたプロセッサ実行可能命令が、前記ページリフレッシュ間隔に従って実行される前記ページリフレッシュを制御するステップが、すべてがゼロではない有効なデータがメモリセルのページ内に存在することをその関連する第1の値が示し、読み出しまたは書き込みアクセスが生じていないことをその関連する第2の値が示す、メモリセルの前記ページのためのページアドレスを含む活性化(ACT)-プリチャージ(PRE)コマンド対を発行するステップを含む動作を前記プロセッサに実行させるように構成されている、請求項41に記載の非一時的コンピュータ可読記憶媒体。
【請求項４４】
前記記憶されたプロセッサ実行可能命令が、前記ページリフレッシュ間隔に従って実行される前記ページリフレッシュを制御するステップが、前記メモリデバイス内のページ数が閾値を超えるとき、前記メモリデバイスのためのリフレッシュ(REF)コマンドを発行するステップを含む動作を前記プロセッサに実行させるように構成されている、請求項41に記載の非一時的コンピュータ可読記憶媒体。
【請求項４５】
前記ダイナミックメモリデバイスが、ダイナミックランダムアクセスメモリデバイスを含む、請求項37に記載の非一時的コンピュータ可読記憶媒体。
【請求項４６】
前記記憶されたプロセッサ実行可能命令が、
前記第1のルックアップテーブル内の値を使用して、すべてがゼロではない有効なデータを含む前記ダイナミックメモリのページ数を決定するステップと、
前記ダイナミックメモリの温度と、すべてがゼロではない有効なデータを含む前記ダイナミックメモリの前記ページ数とに基づいて、前記ページリフレッシュ間隔を調整するステップと
をさらに含む動作を前記プロセッサに実行させるように構成されている、請求項37に記載の非一時的コンピュータ可読記憶媒体。
【請求項４７】
前記記憶されたプロセッサ実行可能命令が、
前記第1のルックアップテーブル内の値を使用して、すべてがゼロではない有効なデータを含む前記ダイナミックメモリデバイスのページ数を決定するステップと、
前記第2のルックアップテーブル内の値を使用して、リフレッシュされるべき前記ダイナミックメモリデバイスのページ数を決定するステップと、
前記ダイナミックメモリデバイスの温度と、すべてがゼロではない有効なデータを含む前記ダイナミックメモリデバイスの前記ページ数と、リフレッシュされるべき前記ダイナミックメモリデバイスの前記ページ数とに基づいて、前記ページリフレッシュ間隔を調整するステップと
をさらに含む動作を前記プロセッサに実行させるように構成されている、請求項41に記載の非一時的コンピュータ可読記憶媒体。
【請求項４８】
前記記憶されたプロセッサ実行可能命令が、
前記ページに関連付けられた活性化(ACT)コマンドがコマンドキュー内に存在するかを決定するために、前記ダイナミックメモリデバイスに関連付けられた前記コマンドキューを監視するステップと、
(i)前記コマンドキュー内に存在するアクティブコマンドを有し、(ii)読み出しまたは書き込みアクセスがページに対して生じていないことをその関連する第2の値が示し、(iii)その少なくとも一部がゼロではない有効なデータを前記ページが含むことをその関連する第1の値が示すメモリセルの前記ページのリフレッシュを抑止するように、前記ページリフレッシュ間隔に従って実行されるページリフレッシュを制御するステップと
をさらに含む動作を前記プロセッサに実行させるように構成されている、請求項46に記載の非一時的コンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
ダイナミックランダムアクセスメモリのスマートリフレッシュのための方法およびシステム。
【背景技術】
【０００２】
ダイナミックランダムアクセスメモリ(DRAM)は、各々がトランジスタおよびキャパシタからできたセルの集合から構成されたメモリデバイスである。DRAMセルは、セルの複数の行および列を有するマトリクスに配置されている。セルの各行は、「ページ」と呼ばれ、DRAMセルのマトリクスは、「バンク」と呼ばれる。複数のバンクは、DRAMデバイスを形成するように結合されている。DRAMは、キャパシタ内に電荷を格納し、トランジスタをアクセススイッチとして使用することによって、各セル内に情報を保持するように動作する。キャパシタは、たとえば、1または0の格納された値に対応して充電または放電のいずれかをされ得る。「0」または「1」のいずれかの場所への書き込みは、値が書き込まれたリフレッシュサイクルの間に値が維持されることになる点で、「リフレッシュ」と考えられ得る。たとえば、ページが書き込まれる場合、ページは、リフレッシュサイクルの間にリフレッシュされたと考えられ得る。
【０００３】
時間が経つにつれて、キャパシタは、最終的に「漏電」し、またはその電荷を失い、DRAMが定期的にリフレッシュされることを必要とする。キャパシタのドレイン時間、すなわち、キャパシタが電荷を完全に失うのにかかる時間の値は、温度または他の要因のようなシステマティックな要因に依存して、約64ミリ秒である。放電時間が経過する前のいつか、充電されたセルの充電状態を維持するために、リフレッシュが生じるべきである。
【０００４】
リフレッシュは、DRAM製造業者によって提供され、たとえば、DRAMが埋め込まれた、またはDRAMが結合されたシステムオンチップ(SoC)上のメモリコントローラによって定期的に発行され得るリフレッシュコマンド(REF)を実行することによって達成され得る。REFコマンドは、ページのアドレスを必要としない。代わりに、REFコマンドが発行されたとき、リフレッシュのためのアドレスは、内部ロジックの動作に基づいてDRAM内で内部的に計算される。REFコマンドに関連付けられた典型的なリフレッシュの間、(バンクリフレッシュごとに)DRAM全体で単一のページがリフレッシュされ、または、DRAM内のすべてのバンク内の1つのページがリフレッシュされる(オールバンクリフレッシュ)。REFリフレッシュ動作または任意のリフレッシュ動作の間、リフレッシュを受けているページを含むバンクは、アクセスのために利用することができない。オールバンクリフレッシュのために、DRAM全体が利用できなくなる。
【０００５】
リフレッシュ中のDRAMの利用不可は、DRAMのアクセス性能に悪影響を与える。DRAM全体のリフレッシュとアクセスの完全な利用不可とをもたらすことになる、すべてのページを同時に反復的にリフレッシュするよりもむしろ、リフレッシュコマンドは、DRAMの異なるセクションに64ミリ秒の期間にわたって適用される。したがって、ページ単位のDRAM全体のリフレッシュのために、各ページは、64ミリ秒以内でリフレッシュされ、1ページのみ、またはすべてのバンク内の1ページのみが、一度に利用不可である。上記で説明した方法でリフレッシュコマンドを広げることによって、より多くのリフレッシュコマンドが発行される。ページリフレッシュ間隔は、メモリの密度およびアーキテクチャに依存して、3.9マイクロ秒または7.8マイクロ秒になる。たとえば、8K(8192または213)ページを有するDRAMに関して、ページリフレッシュ間隔は、tREFI=64ミリ秒/8192=7.8マイクロ秒として計算され得る。従来のDRAMは、次にリフレッシュされるべきページを追跡する内部ロジックを有する。デバイス内の内部ロジックは、逐次的にページのすべてを反復するように構成され得る。メモリコントローラは、DRAM製造業者によって定義されたtREFIごとにREFコマンドを発行することができる。DRAM性能に対するREFの影響を低減するために、DRAMベンダーは、一度に2つ以上のページを内部的にリフレッシュすることができる。DRAMベンダーによって提供される従来のREFコマンドは、ページ位置に関連付けられたアドレス、または複数の位置のための複数のアドレスを受け入れるように構成されていない。したがって、システム設計者は、DRAMリフレッシュ動作の態様を制御するためにほとんど柔軟性を持たない。結果として、DRAMリフレッシュが制御可能であったときに利用可能であろう潜在的な効率性の向上は、実現され得ない。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
様々な態様は、ページがデータを含まない、またはすべてゼロを含むとき、なんらかの読み出し、クリア(すなわち、ゼロを書き込む)、およびリフレッシュ動作を排除するために使用され得る小さいテーブル内のページのメモリ状態を追跡する、ダイナミックメモリデバイス(たとえば、DRAM)を読み出す、書き込む、およびリフレッシュするための方法およびデバイスを提供する。
【課題を解決するための手段】
【０００７】
態様の方法は、ダイナミックメモリデバイス内のメモリセルのページに関連付けられた第1のルックアップテーブル内の第1の値を、ページがすべてゼロの有効なデータを含むときを示すために設定するステップと、ページがすべてゼロの有効なデータを含むことを第1のルックアップテーブル内の関連付けられた第1の値が示すメモリセルのページのリフレッシュを抑止するように、ページのリフレッシュ間隔に従って実行されるページのリフレッシュを制御するステップとを含むことができる。さらなる態様では、メモリセルのページがすべてゼロの有効なデータを含むことをルックアップテーブル内の第1の値が示すとき、読み出し要求に関連するメモリセルのページへのアクセスは、抑止され得、1つまたは複数のゼロは、ページにアクセスすることなく、読み出し要求に応答して返され得る。さらなる態様では、メモリセルのページがすべてゼロの有効なデータを含むことをルックアップテーブル内の第1の値が示し、書き込み値がページに書き込まれるべき1つまたは複数のゼロを含む場合、書き込み要求に関連するメモリセルのページへのアクセスは、抑止され得、その場合には、書き込み動作を行うことなく、書き込み要求に応答して、成功した書き込み動作の指示が返され得る。さらなる態様では、メモリセルのページがすべてゼロの有効なデータを含むことをルックアップテーブル内の第1の値が示すとき、クリア要求に関連するページへのアクセスは、抑止され得、その場合には、クリア動作を行うことなく、クリア要求に応答して、成功したクリア動作の指示が返され得る。
【０００８】
さらなる態様では、アクセスがページに対して生じたことを示すために、メモリセルのページに関する第2の値が第2のルックアップテーブル内で設定され得、ページリフレッシュ間隔に従うページリフレッシュの実行は、読み出しおよび書き込みアクセスが生じたことをその関連する第2の値が示し、その少なくとも一部がゼロではない有効なデータをページが含むことを第1のルックアップテーブル内のその関連する第1の値が示すメモリセルのページをリフレッシュすることを抑止するように制御され得る。さらなる態様では、第1のルックアップテーブルは、メモリデバイスを含むシステムの起動時にクリアされ得、第2のルックアップテーブルは、リフレッシュ間隔の終了時にクリアされ得る。さらなる態様では、ページリフレッシュ間隔に従って実行されるページリフレッシュを制御するステップは、すべてがゼロではない有効なデータがメモリセルのページ内に存在することをその関連する第1の値が示し、読み出しまたは書き込みアクセスが生じていないことをその関連する第2の値が示す、メモリセルのページのためのページアドレスを含む活性化(ACT)-プリチャージ(PRE)コマンド対を発行するステップを含むことができる。代替的には、または加えて、ページリフレッシュは、リフレッシュされるべきメモリデバイス内のページ数が閾値を超えるとき、リフレッシュ(REF)コマンドがメモリデバイスのために発行され得るように制御され得る。
【０００９】
別の態様では、すべてがゼロではない有効なデータを含むダイナミックメモリデバイスのページ数は、第1のルックアップテーブル内の値を使用して決定され得、ページリフレッシュ間隔は、ダイナミックメモリデバイスの温度と、すべてがゼロではない有効なデータを含むダイナミックメモリデバイスのページ数とに基づいて調整され得る。さらなる態様では、リフレッシュされるべきダイナミックメモリデバイスのページ数は、第2のルックアップテーブル内の値を使用して決定され得、ページリフレッシュ間隔は、ダイナミックメモリデバイスの温度と、すべてがゼロではない有効なデータを含むダイナミックメモリデバイスのページ数と、リフレッシュされるべきダイナミックメモリデバイスのページ数とに基づいて調整され得る。さらなる態様では、ダイナミックメモリデバイスに関連付けられたコマンドキューは、ページに関連付けられた活性化(ACT)コマンドがコマンドキュー内に存在するかを決定するために監視され得、ページリフレッシュ間隔に従って実行されるページリフレッシュは、(i)コマンドキュー内に存在する活性化コマンドを有し、(ii)読み出しまたは書き込みアクセスがページに対して生じていないことをその関連する第2の値が示し、(iii)その少なくとも一部がゼロではない有効なデータをページが含むことをその関連する第1の値が示すメモリセルのページのリフレッシュを抑止するように制御され得る。
【００１０】
さらなる態様は、メモリと、上記で説明した方法の動作を実行するように、プロセッサ実行可能命令で構成された、メモリに結合されたプロセッサとを含むコンピューティングデバイスを含む。さらなる態様は、メモリと、上記で説明した方法の機能を実行するための手段とを含むコンピューティングデバイスを含む。
【００１１】
さらなる態様は、上記で説明した方法の動作をプロセッサに実行させるように構成されたプロセッサ実行可能命令を記憶している非一時的なプロセッサ可読またはコンピュータ可読記憶媒体を含む。
【００１２】
本明細書に組み込まれ、本明細書の一部を構成する添付図面は、本発明の例示的な態様を示し、上記で与えた一般的な説明および下記で与えた詳細な説明とともに、本発明の特徴を説明するのに役立つ。
【図面の簡単な説明】
【００１３】
【図１Ａ】様々な態様におけるダイナミックランダムアクセスメモリ(DRAM)を有する例示的なシステムを示すブロック図である。
【図１Ｂ】様々な態様におけるDRAMモジュールの例示的な部分を示す図である。
【図１Ｃ】様々な態様におけるDRAMモジュールの例示的なセルを示す図である。
【図２Ａ】例示的なコマンドデコーダと、様々な態様におけるDRAMモジュールの他の部分とを示す図である。
【図２Ｂ】1つまたは複数の態様における例示的なタイミング信号波形を示すタイミング図である。
【図３Ａ】例示的なコマンドデコーダと、1つまたは複数の追加の態様におけるDRAMのモジュールの他の部分とを示す図である。例示的な電力レールリップルスイッチング波形と、様々な態様におけるスイッチング波形とを示すグラフである。
【図３Ｂ】1つまたは複数の追加の態様における例示的なタイミング信号波形を示すタイミング図である。
【図３Ｃ】様々な態様におけるリフレッシュに関連する例示的なエネルギーの節約を示すグラフである。
【図３Ｄ】様々な態様におけるリフレッシュに関連する例示的な時間の節約を示すグラフである。
【図４】DRAMページリフレッシュのための一態様の方法を示すプロセスフロー図である。
【図５Ａ】DRAMページリフレッシュのための別の態様の方法を示すプロセスフロー図である。
【図５Ｂ】DRAMページリフレッシュのための別の態様の方法を示すプロセスフロー図である。
【図６】様々な態様の実施に適した例示的なモバイルデバイスの構成要素ブロック図である。
【図７】様々な態様の実施に適した例示的なモバイルコンピューティングデバイスの構成要素ブロック図である。
【発明を実施するための形態】
【００１４】
様々な態様を、添付図面を参照して詳細に説明する。可能な限り、同じ参照番号は、同じまたは同様の部分を指すために図面全体を通して使用されることになる。特定の例および実施態様に行われる参照は、例示目的のためであり、本発明の範囲および特許請求の範囲を限定することを意図していない。
【００１５】
「例示的」という単語は、本明細書では、「例、事例、または例示として役立つ」ことを意味するために使用される。「例示的」として本明細書で説明されている任意の実施態様は、必ずしも他の実施態様よりも好ましいまたは有利であるとして解釈される必要はない。
【００１６】
「コンピューティングデバイス」という用語は、本明細書では、携帯電話、スマートフォン、パーソナルまたはモバイルマルチメディアプレーヤ、携帯情報端末(PDA)、ラップトップコンピュータ、デスクトップコンピュータ、タブレットコンピュータ、スマートブック、パームトップコンピュータ、ワイヤレス電子メール受信機、マルチメディアインターネット対応携帯電話、テレビジョン、スマートTV、スマートTVセットトップバディボックス、一体型スマートTV、ストリーミングメディアプレーヤ、スマートケーブルボックス、セットトップボックス、デジタルビデオレコーダ(DVR)、デジタルメディアプレーヤ、および、プログラマブルプロセッサとメモリとを含む同様のパーソナル電子デバイスのうちの任意の1つまたはすべてを指すために使用される。
【００１７】
本明細書で説明されている様々な態様は、現在のDRAMリフレッシュ方法の欠点に対処し、克服し、態様によるDRAMが実装され得る例示的なSoCの部分であり得るようなメモリコントローラ、コントローラ、プロセッサ、または他の制御デバイスもしくはロジックは、DRAMリフレッシュおよびDRAMに関連する他の動作の制御を行うことができる。様々な態様は、冗長で不必要なDRAMリフレッシュおよび他の機能をバイパスまたは抑止することを可能にすることができ、このバイパスまたは抑止することは、DRAMデバイスのようなメモリデバイスの性能を改善することができ、電力消費を低減することができる。SoC、メモリ、システムコントローラ、または制御デバイスは、DRAMがどのようにアクセスされたのかと、リフレッシュされたページと、有効なデータを含むページとに関する情報と、特定のページがリフレッシュされる必要があるときに関連する情報とを提供され得る。様々な態様に関連するロジックをDRAMメモリコントローラに組み込むことによって、たとえば、リフレッシュコマンドをずらすまたは並列化することによって、性能は、さらに向上され得る。様々な情報、制御手順、またはロジックに基づいて、DRAMリフレッシュを処理するように構成されたロジックは、洗練され得、リフレッシュ、および、メモリアクセスのような他のタスクをインテリジェントに処理することができ、DRAMデバイス全体をリフレッシュすることに依存する従来のDRAMリフレッシュ手法を上回る追加の利点を提供する。様々な態様では、DRAMは、必要に応じてページ単位で順次にリフレッシュされ得、または、最近のアクセスおよび情報内容に基づいてページがリフレッシュされ得る(またはされない)ように情報を提供することができる例示的なルックアップテーブルに従って進行することによって選択的にリフレッシュされ得、追加のメモリ制御が実施され得る。さらに、リフレッシュは、DRAMコマンドのシーケンス、すなわちプリチャージ(PRE)が続く活性化(ACT)を用いて実行され得る。ACTおよびPREコマンドの両方は、リフレッシュされているページのアドレスを必要とする。ACTおよびPREコマンドは、リフレッシュ間隔中にアクセスされなかったこれらのページを選択的にリフレッシュするために、ページアドレスと組み合わ
され得る。
【００１８】
様々な態様を示す一連の図が、図1A〜図1Cに示されている。図1Aでは、典型的なコンピューティングシステム100またはシステムの一部の簡略化されたブロック図は、それぞれバス接続部111および121を介してバス101に結合され得る、SoC110と、メモリ120のようなダイナミックランダムアクセスメモリデバイスとを含む。図1Bに示すように、メモリ120は、典型的なDRAMメモリ130と、メモリコントローラ140と、メモリセルアレイ150とを設けられ得る。DRAMメモリ130は、さらに、たとえば、センス増幅器134と、列アドレスデコーダ135と、行アドレスデコーダ136とを設けられ得る。動作中、「行」またはページは、適切なアドレスを行アドレスデコーダ136に提供することによってアクセスのために選択され得、行アドレスデコーダ136は、次いで、バス接続部131を介してメモリセルアレイ150にアクセスすることができる。行内の特定のセルにアクセスするために、列は、バス接続部133を介してセンス増幅器134に結合され得る列アドレスデコーダ135に適切な列アドレスを提供することによってアクセスのために選択され得る。センス増幅器134は、今度は、バス接続部132を介してメモリセルアレイ150に結合され得る。メモリ内容を読み出すとき、センス増幅器134は、選択されたセルの電荷値、すなわち、セルに記憶されたデータ値を示す信号を提供することができる。上記の構成および付随する説明は、典型的なDRAMデバイスの基本的な態様の例示であるが、他の構成が可能である。さらに、様々な態様は、様々なメモリ構成で実施され得る。
【００１９】
メモリコントローラ140は、制御ロジックもしくは他の制御回路もしくはモジュールのような具体化された処理能力により独立して動作することができ、または、メモリセルアレイ150のメモリリフレッシュの態様を制御するように構成され得、様々な情報の記憶のためのメモリを設けられ得る、もしくはこのメモリへのアクセスを有することができるプロセッサまたは他の論理回路(図示せず)に結合された標準的なコントローラであり得る。メモリコントローラ140は、バス接続部121を介してバス101に結合され得、加えて、バスライン141および142を介してメモリ130およびその構成要素との間でデータおよび制御信号を双方向に提供することができる。システムまたはデバイスの温度は、温度センサ122によって提供され得、または、温度は、バス接続部121を介してデータとして提供され得る。メモリ120は、代替的には、または、メモリコントローラ140によって提供される制御に加えて、SoC110に埋め込まれた、または、バス接続部121もしくはバス101に他の方法で結合されたプロセッサによって、バス接続部121を介してシステムプロセッサ(図示せず)によって制御され得る。説明を簡単にするため、本明細書で言及される「バス」という用語は、データバス、制御バス、データライン、制御ライン、信号ライン、または他のラインを意味することができ、これらは、単方向または双方向であり得、予想されるようにバスインターフェースデバイスの追加の制御の下にあり得る。例示的なバスを含むことができるラインは、また、センサもしくは電力ライン、アナログ信号ライン、クロックライン、もしくは他の高速もしくは低速データライン、または他のラインであり得る。メモリコントローラが本明細書では説明されているが、代替態様では、本明細書に記載の態様が、本明細書でさらに説明されているようにリフレッシュコマンドに関連してページアドレスを受け入れ、ページのリフレッシュまたはアクセスを抑止するように構成されたメモリデバイスとして実施され得るように、メモリデバイス自体が、要素内に制御ロジックを組み込み、追加のロジックまたは他の回路もしくはモジュールを追加するように修正され得る。
【００２０】
メモリセルアレイ150は、図1Cに示すように、トランジスタ152と、セルのデータ記憶の状態に対応する電圧レベルを保持するキャパシタ153とを各々が含むメモリセル151のアレイで構成され得る。たとえば、キャパシタ153上の低電圧電荷は、「0」に対応することができ、比較的高電圧の電荷は、「1」に対応することができる。キャパシタ153の電荷の状態にアクセスするために、ワードライン(WL)154およびビットライン(BL)155は、特定のセルに関して活性化され得る。たとえば、WL154を活性化するために適切な行をアドレス指定することによって、トランジスタ152のゲートは、活性化され得、適切な列と、したがってBL155の対応する1つをアドレス指定することによって、セル位置に記憶されたデータ値を表すキャパシタ153上の電荷は、読み出し動作のために検出され得る。書き込み動作に関して、WL154およびBL155にアクセスすることは、電荷がセルに適用されることを可能にすることができる。しかしながら、上記のように、キャパシタ153上の電荷は、比較的短い期間にわたって減少する可能性があり、したがって、特定のメモリデバイスおよび条件に適したページリフレッシュ間隔の間に定期的なリフレッシュを必要とする可能性がある。典型的なページリフレッシュ間隔は、約45ミリ秒から65ミリ秒までであり得るが、デバイス、ならびに、温度およびプロセスの変動のような他の要因に応じて、より長いまたはより短い可能性がある。異なる条件下での異なるデバイスは、異なるページリフレッシュ間隔を有する可能性があるので、ページリフレッシュ間隔に対する調整が動作中に行われ得るように、現在の温度、デバイスタイプ、およびデバイスタイプ特性に関する情報は、決定され、記憶され得る。
【００２１】
さらに、リフレッシュされるべきページの数は、リフレッシュ間隔調整に織り込まれ得る。温度上昇を補償するためにリフレッシュ間隔が短縮されるにつれて、1分あたりより多くのリフレッシュが行われるので、より多くの電力がメモリによって消費される。したがって、メモリの電力効率は、データを含むすべてのメモリページをリフレッシュしながら、リフレッシュ間隔を実行可能な限り長くなるように維持することによって増大され得る。温度ベースのリフレッシュ計算は、メモリセルがリフレッシュされなければならない時間間隔と、メモリ内のすべてページをリフレッシュするために必要な時間の両方を考慮しなければならない。非ゼロページのみがリフレッシュを必要とするので、なんらかの非ゼロデータを含むページ数をリフレッシュ間隔の温度ベースの調整に織り込むことによって、リフレッシュ間隔の不必要な延長が回避され得る。たとえば、非ゼロページの数が比較的少ない場合、すべての非ゼロページをリフレッシュために必要な時間は、メモリリフレッシュレートを変更することなく完全なメモリリフレッシュが単一のセルリフレッシュ時間内に達成され得るのに十分なほど短くされ得る。温度、およびリフレッシュを必要とするページの数は、デバイスの動作中に監視され得、調整は、要因が変化するにつれて動的に行われ得る。
【００２２】
メモリセルアレイ150のようなメモリモジュールで動作を行うために、図2Aに示す例示的なシナリオ200のように、一連のコマンドが使用され得る。コマンドデコーダ210は、行アドレスデコーダ136に結合され得、バス接続部213を介してバスに結合され得る。コマンドデコーダ210は、メモリコントローラ140の一部であり得、または、デバイス、DRAMデバイス、もしくはメモリ120のような他のメモリデバイス内に他の方法で具体化され得る。REFコマンド212のようなリフレッシュコマンドは、DRAMをリフレッシュするためにバス接続部213を介して受信され得る。REFコマンドは、ブロック211で、ページアドレスを増分させる。コマンドのグループ220は、信号または信号のシリーズ214によってページアドレスに関連するコマンドデコーダ210内で生成され得、ページアドレス221と、活性化(ACT)コマンド信号222と、プリチャージ(PRE)コマンド信号223とを含むことができ、これらは、ページアドレス221に対応するリフレッシュのためのページを選択するために、接続部241を介して行アドレスデコーダ136および列アドレスデコーダ135に関連して使用され得る。バス接続部131に関連する適切なワードラインは、ページ156を選択するために活性化され得、ページ156の内容は、感知され得、バス接続部132のようなビットラインバスを使用してセンス増幅器134内にラッチされ得、すると、リフレッシュ動作を完了するために、内容は、ページ156に書き戻され得る。様々な態様では、ページアドレスは、単に増分されるのではなく、以下により詳細に説明するように、リフレッシュの状態または他の要因に基づいて選択され得る。
【００２３】
上記で説明したリフレッシュ動作を行うことに関連する様々なタイミング信号は、図2Bに示されている。クロック信号230は、たとえば、1GHzの例示的なクロックレートで提供され得る。クロック信号230の周期231は、本例では、1ナノ秒であり得る。例示的なDRAMのPAGE0のためのリフレッシュのような例示的なリフレッシュ動作は、約100ナノ秒の持続時間TDURATION234を有することになり、その間、DRAMは、アクセスのために利用できないことになる。例示的な最悪のシナリオでは、DRAMのリフレッシュは、信号REFPAGE0233と、REFPAGE1235と、REFPAGEn236と、を用いることによって、PAGE0〜PAGEnのような順序ですべてのページを通じて必要とされる可能性がある。ページリフレッシュ間隔TREF232を与えると、間隔237は、たとえば、ページがリフレッシュされた後、それぞれのページリフレッシュ間隔の間の他のページリフレッシュを含む、DRAMがアクセスのために利用可能になる相対的な時間の近似を表すことができる。ページリフレッシュ間隔TREF232は、デバイスの特定の特性と、温度およびプロセスの変動のような他の要因とに従って設定され得、ページごとに開始および停止され得る。ページリフレッシュ間隔TREF232は、また、ルックアップパラメータとして、リフレッシュされることを必要とするページ数を使用して、ルックアップテール部から決定され得る。具体的には、ページに関するページリフレッシュ間隔TREF232がより短くあるべきであることを温度の考慮事項が示すが、ページがリフレッシュされる必要がない場合、ページに関するページリフレッシュ間隔TREF232は、維持され得る。ページが最終的にリフレッシュを必要とし、異なる値への調整を必要とするとき、温度係数は、変化してもよい。しかしながら、リフレッシュ間隔に関連する一般的な考慮事項は、記憶された情報へのアクセスがシステムによって直ちに必要とされる可能性がある場合、比較的長い期間のDRAMの利用不可は、望ましくない可能性があることである。
【００２４】
図3Aに示す態様では、例示的なシナリオ300で、リフレッシュコマンドREFは、ページアドレスを有する選択的に生成されたACT-PREコマンド対で置き換えられ得る。システムプロセッサまたは他の制御デバイスによって例示的なメモリコントローラ内で生成され得る入力信号またはコマンド313は、ブロック312で受信され得る。ブロック312は、いくつかの態様では、たとえば、例示的なメモリコントローラのためのコマンドキューを表すことができる。入力信号またはコマンド313は、リフレッシュされるべきページのためのページアドレスを含むことができる。ブロック312は、コマンドのグループ320をもたらす信号または信号のシリーズ314を生成することができる。コマンドのグループ320は、ページアドレス321と、活性化(ACT)信号またはコマンドと、プリチャージ(PRE)信号またはコマンドとを含むことができる。バス接続部131の選択されたワードラインと対応するページ156とがリフレッシュのために個別にアクセスされ得るように、コマンドのグループ320は、行アドレスデコーダ136に入力され得る。したがって、特定のページがリフレッシュを必要とするものとして識別されたとき、上記で選択した構成は、選択されたページのみがリフレッシュされることを有利に可能にすることができる。たとえば、メモリ内のページの大部分がリフレッシュを必要としない場合、電力の節約が実現され得、メモリはそこに含まれる情報へのアクセスのために利用可能であり続けることができる。代替態様では、DRAMデバイスは、本明細書に記載の態様による選択的またはインテリジェントリフレッシュのためのページアドレスまたはアドレス範囲を含むリフレッシュコマンドを処理する能力を含むように修正され得る。
【００２５】
図3Aの修正されたリフレッシュ動作に関連する様々なタイミング信号が、図3Bに示されている。一態様では、修正されたリフレッシュコマンドREFPAGEm333は、リフレッシュが要求されている特定のページを示すPAGEmに関するページアドレスを含んで発行され得る。リフレッシュの持続時間TDURATION334は、選択的に発行されたとき、たとえば、ページの総数の割合としてリフレッシュを必要とするページの数の点からのリフレッシュ要求に基づいて、結果として、所与のページリフレッシュ間隔の間に、より少ないリフレッシュコマンドが発行され得る。一態様でのリフレッシュコマンドは、ページのアドレスPAGEmADDR(図示せず)と共に発行され得る活性化信号ACTPAGEm335とプリチャージ信号PREPAGEm336とを含むことができる。このように、リフレッシュプロセスに対する制御は、ページリフレッシュの速度および選択性を改善し、エネルギー効率を改善するために、メモリコントローラ、プロセッサ、または、他の制御デバイスもしくはロジックによって追い越され得る。図示されている態様では、間隔337は、メモリデバイスが利用可能であり得る時間を表すことができ、特定の状況下での従来の方法の使用から得られる利用可能性を超える増加を表すことができる。
【００２６】
図3Cのグラフに示すように、エネルギーの節約は、特にDRAMのサイズの割合として比較的少量のリフレッシュを必要とするDRAMに関して、様々な態様を実施することによって実現され得る。従来のDRAMリフレッシュ手法は、リフレッシュ要求の割合にかかわらず、DRAMリフレッシュのために200マイクロジュールよりもわずかに少ないエネルギーレベル340を必要とする可能性がある。40%よりもわずかに下のリフレッシュ要求341まで、たとえば、エネルギーの節約の点での大きな利益は、様々な態様で実現され得る。たとえば、20%のリフレッシュ要求割合に関して、様々な態様で必要なエネルギーは、従来のリフレッシュ手法で必要なエネルギーの約半分である。エネルギーの節約の重要性は、バッテリ寿命を延ばし、モバイル通信デバイス上の無線トランシーバの動作のような他の重要な動作中の不必要なバッテリの消耗を防止することであり得る。図3Dのグラフにさらに示すように、時間の節約も、様々な態様によって実現され得る。従来のDRAMリフレッシュ手法は、リフレッシュ要求の割合にかかわらず、DRAMリフレッシュのために約1ミリ秒の時間350を必要とする。たとえば、40%のリフレッシュ要求351よりもわずかに下まで、時間の節約の点での大きな利益が、様々な態様で実現され得る。たとえば、再び、20%のリフレッシュ要求割合に関して、様々な態様で必要な時間は、従来のリフレッシュ手法に必要な時間の約半分である。時間の節約の重要性は、DRAMがアクセスのために利用不可な時間を低減することであり得、DRAMがアクセスされている低減された時間に基づくエネルギーの節約に対する二次的な効果を有することもできる。約20%と約40%以上との間にわたるようなDRAMのかなりの割合がリフレッシュを必要とする条件に関して、態様におけるインテリジェントメモリコントローラは、ACT+PREコマンド対プラスページアドレスの代わりにDRAMのための従来のREFコマンドを使用するような従来のリフレッシュメカニズムを使用することを決定することができる。したがって、メモリコントローラは、リフレッシュを必要とするDRAMのページの数または割合のような閾値を決定することができ、インテリジェントリフレッシュの適用を、数または割合が閾値を超えたかどうかに基づかせることがで
きる。インテリジェントリフレッシュのから従来のリフレッシュ方法に切り替えるように決定され得る正確な時点は、事前に設定され得、または、収集された情報、もしくは、動作中に実行される計算に基づき得る。代替態様では、ACTコマンドが特定のページのためのコマンドキューで保留中であり、リフレッシュ間隔中に実行される可能性があるかどうかを決定するために、例示的なメモリコントローラに関連するコマンドキューが実行され得る。そのようなコマンドが見つかった場合、本リフレッシュ間隔中にそのページのためのリフレッシュを抑止するかどうかの決定が行われ得る。
【００２７】
たとえば、1つまたは複数のページを含むダイナミックメモリデバイス内のメモリセルのページのページリフレッシュのようなメモリデバイスをリフレッシュする方法を示す図4の一態様の方法400では、ページリフレッシュは、ページアクセスを追跡することに基づいて制御され得る。方法400は、特定のページのためのリフレッシュ手順の例示であり得るが、方法は、同様にすべてのページに適用され得る。ブロック401では、ページリフレッシュ間隔TREFjの時間は、インデックス「j」のページのために開始され得、または、ループする場合、ページリフレッシュ間隔は、リセットされ得る。ページリフレッシュ間隔TREFjは、また、温度、およびリフレッシュを必要とするページ数のような要因を考慮に入れて、ブロック401で必要に応じて調整され得る。ページリフレッシュ間隔TREFjをリセットまたは調整することは、起動時、および各ページのための各リフレッシュ間隔の終了時に、ブロック401で実行され得る。ブロック402aでは、ルックアップテーブル(LUT-R)内の値のような第1のルックアップテーブル内の第1の値は、ブロック402bでルックアップテーブルに関連してさらに示されているように作成され得る。ルックアップテーブルをクリアすることは、値を、たとえば、ゼロ、または、ページリフレッシュ間隔の開始時の初期論理状態に適した他の論理値に設定またはリセットすることを含む。決定ブロック403では、コントローラは、DRAMが通常動作に従って動作しているかどうかを決定することができる。本開示では、「通常」動作は、ページリフレッシュ間隔TREFjの間のDRAMの動作を指すことができる。ページリフレッシュ間隔中、ページは、通常通り読み出しおよび書き込みのためにアクセスされ得、ページリフレッシュ間隔の終了に達したとき、リフレッシュ動作は、実行され得る。個々のページリフレッシュ間隔タイマまたはメインタイマ基準は、各ページのためのリフレッシュに関連する態様が個別に追跡され、処理され得るように、同時に実行されていてもよい。
【００２８】
DRAMが通常動作に従って動作しているとき(たとえば、決定ブロック403=「YES」)、ページPAGEj=1(たとえば、現在のインデックスが1)へのページアクセスに関して、ルックアップテーブル404b内の対応する位置は、ブロック404aで、ページPAGEj=1へのアクセスが生じており、リフレッシュが必要とされないことを示す1に設定され得る。プロセスは、ページPAGEj=1のためのページリフレッシュ間隔の間、ブロック404aと決定ブロック403との間を循環することができる。DRAMが通常動作に従って動作していないとき(たとえば、決定ブロック403=「NO」)、ブロック407でページPAGEj=1のためのページリフレッシュ間隔TREFjの終了を示すことができる。他のページに関して、ブロック401、ブロック402a、決定ブロック403、および他のブロックは、ブロック405aおよび406に示すように個々のページのために行われる増分されたインデックスおよび処理で繰り返され得る。たとえば、DRAMが新しいページに関する通常動作に従って動作しているとき(たとえば、決定ブロック403=「YES」)、ページPAGEj=2(たとえば、現在のインデックスが現在2)へのページアクセスに関して、ブロック405aで、ルックアップテーブル405b内の対応する位置は、ページPAGEj=2へのアクセスが生じており、リフレッシュが必要とされないことを示す1に設定され得る。ページアクセスが所定のページに関して生じているかどうかを決定することは、たとえば、プロセッサ、コントローラ、または他のロジックが、命令、またはロジックの動作に従って、たとえば、アクセス時に、または、所与のページもしくはページ内の位置へのアクセスを制御する他の命令または他の命令のシリーズに関連して、ルックアップテーブル内の適切なビットを「1」の値に設定することを含むことができる。
【００２９】
ブロック407でページリフレッシュ間隔がページに関して終了しているとき、ルックアップテーブルは、ブロック408aでリフレッシュがページPAGEjのために必要とされる可能性があるかどうかを決定するためにチェックされ得る。PAGEjへのアクセスが生じていない場合、ルックアップテーブル値は、リフレッシュが必要とされる可能性があることを示すゼロに留まることになる。たとえば、現在のページインデックスが3であると仮定すると、ルックアップテーブル408bは、PAGEj=3へのアクセスが生じていないことを示し、したがって、ページは、リフレッシュを必要とする可能性がある。したがって、ブロック409では、PAGEj=3のためのページアドレスを含むACT-PREコマンド対を備えるリフレッシュコマンドシーケンスが発行され得、または他の方法で生成され得、メモリに送信され得る。ACT-PREコマンド対を発行することは、コマンド処理に関与するメモリコントローラ、もしくは他のプロセッサもしくはコントローラに信号を送信することを含むことができ、または、メモリコマンドデコーダへの直接のACTおよびPREコマンドに関連する信号の適用を含むことができる。ブロック407と、ブロック408aと、ブロック409とを含む手順ブロックのグループは、各ページのためのすべてのページリフレッシュ間隔またはサイクルを生じるリフレッシュ処理410を含むことができる。リフレッシュ410の間、ページリフレッシュ間隔は、ブロック401で必要に応じてリセットおよび再開、または調整され得る。ブロック401から開始する全体のプロセスは、すべてのページがアクセスまたはリフレッシュされるまで、すべてのインデックスに関してインデックス「n」まで繰り返され得る。プロセスは、その後、デバイスまたはシステムの動作中、連続的に循環することができる。
【００３０】
追加の機能を提供するための一態様の方法500が、図5Aに示されている。追加の機能は、メモリデバイス内の各ページに関する第1の値と第2の値とを含むページルックアップテーブルあたり2ビットとして提供され得る。本明細書で上記で説明したようにページアクセスを追跡することに加えて、本態様は、有効なデータが関連するメモリページ内に存在し得るかどうかを、例示的なメモリコントローラ、または他の制御デバイスもしくはロジックが追跡することを可能にする。ブロック501でのシステムの起動(たとえば、初期化またはブート)に際して、第2のルックアップテーブル(LUT-D)内の第2の値は、ブロック502aでクリアされる。ブロック502bで、第1のルックアップテーブル(LUT-R)内の値も、クリアされ得、インデックスは、初期化または増分され得、ページリフレッシュ間隔タイマは、開始またはリセットされ得る。ページリフレッシュ間隔TREFjは、また、ブロック502bで、温度およびリフレッシュを必要とするページ数のような要因を考慮に入れ、必要に応じて調整され得る。ブロック502cでのルックアップテーブルの状態の一例は、すべての値が処理のこの段階でゼロであることを示す。決定ブロック503では、コントローラは、DRAMが通常の動作に従って動作しているかどうかを決定することができる。書き込み動作のためのPAGEj=1(たとえば、現在のインデックスが1)に対するページアクセスに関して、DRAMが通常の動作に従って動作しているとき(たとえば、決定ブロック503=「YES」)、または、書き込み動作が以前に実行されており、ページがクリアされていないとき、ブロック504aで、第2のルックアップテーブル内の対応する位置は、有効なデータがPAGEj=1内に存在し得ることを示す1の値に設定され得る。PAGEj=1へのページアクセスは、また、アクセスに基づいてページがリフレッシュを必要としないことを示すために、ブロック504bで第1のルックアップテーブル内の対応する位置を1の値に設定させることができる。ブロック504cでのルックアップテーブルの情報の一例は、PAGEj=1の対応する値の両方が、ページがアクセスされており、有効なデータを含むことを示す1の値に設定されていることを示す。
【００３１】
DRAMが通常の動作に従って動作していないとき(たとえば、決定ブロック503=「NO」)、ブロック505で、ページPAGEj=1のためのページリフレッシュ間隔TREFjの終了を示すことができる。決定ブロック506aでは、コントローラは、現在のページに関して、ルックアップテーブルの値が、ページがリフレッシュを必要とし、有効なデータを含むことを示す、第1のルックアップテーブルに関して「0」、第2のルックアップテーブルに関して「1」であるかどうかを決定することができる。第1および第2のルックアップテーブルの値が、それぞれ「0」および「1」であるとき(たとえば、決定ブロック506a=「YES」)、上記で説明した現在のページのページアドレスを含むACT-PREコマンド対からなるリフレッシュコマンドは、ブロック507aで発行され得る。ブロック507bでのルックアップテーブルの状態の一例は、PAGEj=1に関する対応する値が、それぞれ、現在のページがリフレッシュを必要とし、有効なデータを含むことを示す「0」および「1」に設定されることを示す。第1および第2のルックアップテーブルの値が、それぞれ「0」および「1」ではないとき(たとえば、決定ブロック506a=「NO」)、処理は、ブロック502bに戻ることができ、そこで、第1のルックアップテーブルは、クリアされ得、ページインデックスは、適宜に増分、設定、またはリセットされ得、ページリフレッシュ間隔タイマは、適宜に開始またはリセットされ得る。ブロック506bでのルックアップテーブルの状態の一例は、両方の値が「1」の値に設定されたままであり、したがって、リフレッシュが必要とされ得ることを示す。
【００３２】
ルックアップテーブルのビットの他の値に関して、有効なデータを示すビットの状態に応じて異なる推論がなされ得る。たとえば、システムブートまたは起動時のような初期化の後、すべてのルックアップテーブルは、「0」の値に設定されるべきである。しかしながら、動作が開始した後、第2のルックアップテーブル内の「0」の値は、対応するページに関するデータが無効であることを示すことになる。ページが無効な内容を有して、アクセスもされていること、または、アクセスもされており、リフレッシュを要求することは、論理的に矛盾しているので、第2のルックアップテーブル内の「0」の値は、第1のルックアップテーブル内の任意の値を論理的に無意味にする。ページルックアップテーブルあたり2ビットにおける可能な状態を示す真理値表を表1に示す。
【００３３】
【表１】
2016524775.tif 000003
【００３４】
したがって、一態様では、第2のルックアップテーブル内の「0」によって表される未定義または「無効」の条件は、第1のルックアップテーブルの値を「ドントケア」値として表現し、条件は、代替のまたは追加の意味を表し、追加の機能を提供するために使用され得る。新しい条件を表2に示すことができる。
【００３５】
【表２】
2016524775.tif 000004
【００３６】
図5Aでは、通常のDRAM動作中(たとえば、決定ブロック503=「YES」)、図5Bに示すように、追加の、オプションの、または代替の処理が、Alternative  Bとして行われ得る。3のページインデックスを仮定すると、すべてゼロの有効なデータ値のPAGEj=3への書き込みは、結果としてブロック508aで第2のルックアップテーブルに「0」の値が書き込まれ得る。ブロック508bでのルックアップテーブルの状態の一例は、第2のルックアップテーブル内の「0」の値が、第1のルックアップテーブル内のリフレッシュビットの状態に関する「ドントケア」状態を作成することを示す。したがって、ページがアクセスされておらず、通常はリフレッシュを必要とするかどうかにかかわらず、すべてゼロからなる有効なデータがページに書き込まれたとき(たとえば、第2のルックアップテーブル値=0)、関連するページセルのゼロ電荷値がリフレッシュを必要としない可能性があるので、ページのリフレッシュのバイパスを抑止または他の方法でバイパスすることができる。すべてゼロの状態は、さらに、メモリ内容への直接アクセスを抑止、または他の方法でバイパスするために有利に使用され得る。
【００３７】
決定ブロック509では、第2のルックアップテーブルの値が「0」にされ得る(たとえば、決定ブロック509=「YES」)ページPAGEj=3に関して、メモリデバイス内のページへの読み出しアクセスは、たとえば、ルックアップテーブル内の内容と、特に、第2のルックアップテーブル値、または対応する単一のルックアップテーブル値とを参照することによって、ページ内の任意の内容を読み出すことに関連する読み出し要求に応答して、抑止され得る。メモリコントローラまたはデバイスは、代わりに、たとえば、物理的なメモリデバイスに実際にアクセスすることなく、ブロック510で読み出し要求に応答して、1つまたは複数の0を要求プロセス、モジュール、またはデバイスに返すことによって、読み出しアクセスを抑止することができる。
【００３８】
同様に、メモリデバイスへの書き込みアクセスは、ページ内のセルに書き込むことに関連する書き込み要求に応答して抑止され得る。メモリコントローラまたはデバイスは、代わりに、たとえば、ブロック511で書き込み動作が正常に実行された、成功した書き込み動作の指示を返すことによって、書き込みアクセスを抑止することができる。返された指示は、たとえば、書き込み要求を開始したプロセス、モジュール、またはデバイスに送信、または他の方法で通信され得る。また、書き込みは、割り当て動作(たとえば、C言語関数のmalloc()、alloc()、realloc()、free()...)のような、メモリのページをクリアするときに抑止または回避され得る。これは、たとえば、ルックアップテーブルの内容と、特に、第2のルックアップテーブル値、または対応する単一のルックアップテーブル値を参照することによって達成され得る。メモリセルは、割り当てのために具体的に書き込まれるまたはクリアされる必要はなく、クリアは、たとえば、ブロック512でクリア動作が正常に実行された、成功したクリア動作の指示を返すことによって抑止され得る。返された指示は、たとえば、書き込み要求を開始したプロセス、モジュール、またはデバイスに送信、または他の方法で通信され得る。ページに関する「すべてゼロ」状態は、リフレッシュを要求しないので、第2のルックアップテーブルを「0」に設定することは、また、ブロック513でページのリフレッシュを抑止するために使用され得る。代替態様では、ページのリフレッシュ状態を参照することなく上記で概説した様々な手順を実行するために、ページがすべてゼロを含むことを、たとえば、「0」状態によって示す各ページに関して、単一の値が維持され得る。
【００３９】
したがって、メモリデバイスの部分への実際のアクセスは、「すべてゼロ」のビット条件の状態によって管理され得る。そのような、すべてゼロからなる有効なデータを含むDRAMページに対するアクセス要求に応じたメモリ読み出しおよび書き込みの抑止またはバイパス、ならびに、そのようなページへのリフレッシュの抑止は、有利にアクセス時間を改善し、電力を節約し、バッテリ寿命を延ばす。
【００４０】
本明細書に記載の様々な態様は、その一例を図6に示す様々なモバイルコンピューティングデバイス(たとえば、スマートフォン、フィーチャーフォン、など)のいずれかで実施され得る。たとえば、モバイルコンピューティングデバイス600は、内部メモリ602に結合されたプロセッサ601を含むことができる。内部メモリ602は、揮発性メモリまたは不揮発性メモリであり得、また、セキュアメモリおよび/もしくは暗号化メモリ、または非セキュアメモリおよび/もしくは非暗号化メモリ、またはそれらの任意の組合せであり得る。また、プロセッサ601は、抵抗性感知タッチスクリーン、静電容量感知タッチスクリーン、赤外線感知タッチスクリーンなどのタッチスクリーンディスプレイ606に結合することができる。しかしながら、モバイルコンピューティングデバイス600のディスプレイは、タッチスクリーン機能を有する必要はない。モバイルコンピューティングデバイス600は、1つまたは複数の短距離無線信号トランシーバ618(たとえば、Peanut、Bluetooth(登録商標)、Zigbee(登録商標)、RF無線)と、本明細書で説明するワイヤレス信号を送信および受信するためのアンテナ608とを有し得る。トランシーバ618およびアンテナ608は、様々なワイヤレス送信プロトコルスタック/インターフェースを実装するために、上記の回路とともに使用され得る。モバイルコンピューティングデバイス600は、セルラーネットワークを介する通信を可能にするセルラーネットワークワイヤレスモデムチップ620を含むことができる。モバイルコンピューティングデバイス600は、また、ユーザ入力を受けるための物理的なボタン612aおよび612bを含むことができる。
【００４１】
パーソナルコンピュータとラップトップコンピュータとを含むコンピューティングデバイスの他の形態は、様々な態様を実施するために使用され得る。そのようなコンピューティングデバイスは、通常、例示的なラップトップコンピュータデバイス700を示す図7に示された構成要素を含む。多くのラップトップコンピュータは、コンピュータのポインティングデバイスとして働くタッチパッドのタッチ面714を含み、したがって、タッチスクリーンディスプレイを備える上述のモバイルコンピューティングデバイスに実装されるものと同様のドラッグジェスチャ、スクロールジェスチャ、およびフリックジェスチャを受信することができる。そのようなラップトップコンピュータ700は、一般に、揮発性内部メモリ702、およびディスクドライブ706などの大容量不揮発性メモリに結合されたプロセッサ701を含む。ラップトップコンピュータ700はまた、プロセッサ701に結合されたコンパクトディスク(CD)および/またはDVDドライブ708を含む場合がある。ラップトップコンピュータ700はまた、プロセッサ701をネットワークに結合するためのネットワーク接続回路などの、データ接続を確立し外部メモリデバイスを受け入れるための、プロセッサ701に結合されたいくつかのコネクタポート710を含む場合がある。ラップトップコンピュータデバイス700は、1つまたは複数の短距離無線信号トランシーバ718(たとえば、Peanut(登録商標)、Bluetooth(登録商標)、Zigbee(登録商標)、RF無線)と、本明細書で説明するワイヤレス信号を送信および受信するためのアンテナ720とを有し得る。トランシーバ718およびアンテナ720は、様々なワイヤレス送信プロトコルスタック/インターフェースを実装するために、上記の回路とともに使用され得る。ラップトップまたはノートブック構成では、コンピュータのハウジングはタッチパッド714、キーボード712、およびディスプレイ716を含み、すべてはプロセッサ701に結合される。コンピューティングデバイスの他の構成は、よく知られているように、(たとえば、USB入力を介して)プロセッサに結合されたコンピュータマウスまたはトラックボールを含んでよく、それらはまた、様々な態様とともに使用され得る。
【００４２】
プロセッサ601および701は、上記で説明した様々な態様の機能を含む様々な機能を実行するようにソフトウェア命令(アプリケーション)によって構成され得る、任意のプログラマブルマイクロプロセッサ、マイクロコンピュータ、またはマルチプロセッサチップであり得る。様々なデバイスでは、ワイヤレス通信機能専用の1つのプロセッサおよび他のアプリケーションを実行する専用の1つのプロセッサのような、複数のプロセッサが設けられ得る。一般的には、ソフトウェアアプリケーションは、それらがアクセスされ、プロセッサ601および701にロードされる前に、内部メモリ602および702内に記憶され得る。プロセッサ601および701は、アプリケーションソフトウェア命令を記憶するのに十分な内部メモリを含み得る。多くのデバイスでは、内部メモリは、揮発性メモリ、もしくはフラッシュメモリなどの不揮発性メモリ、または両方の混合であり得る。本明細書では、メモリへの一般的な言及は、様々なデバイスに差し込まれる内部メモリまたはリムーバブルメモリと、プロセッサ601および701の中のメモリとを含む、プロセッサ601および701によってアクセス可能なメモリを指す。
【００４３】
明細書本文と特許請求の範囲とにおいて2つのルックアップテーブル(すなわち、第1のルックアップテーブルおよび第2のルックアップテーブル)への参照がなされるが、そのような参照は、2つの別個のルックアップテーブルと、2つの列またはフィールドを有する単一の結合されたルックアップテーブルの両方を包含する。したがって、第1および第2のルックアップテーブルは、ページが有効なデータを含むかどうかを示す第1の値と、ページが(すなわち、読み出しまたは書き込み動作によって)アクセスされた、または、他の方法でリフレッシュを要求しないかどうかを示す第2の値とを、メモリページ数またはアドレス範囲に関連付ける単一のデータ構造として実現され得る。したがって、特許請求の範囲における第1および第2のルックアップテーブルへの参照は、特許請求の範囲を2つの別個のテーブルに限定することを意図していない。
【００４４】
上記の方法の説明およびプロセスフロー図は、単に説明のための例として提供され、様々な態様のステップが提示された順序で実行されなければならないことを要求または意味するものではない。前述の態様におけるステップの順序が任意の順序で実行され得ることは、当業者によって理解されるであろう。「したがって」、「次いで」、「次に」、などのような単語は、ステップの順序を限定することを意図しておらず、これらの単語は、単に、方法の説明を通じて読者を導くために使用される。さらに、たとえば、冠詞「a」、「an」、または「the」を使用して要素を単数で特許請求するどの参照も、要素を単数に限定するものとして解釈されるべきではない。
【００４５】
本明細書で開示されている態様に関連して説明されている様々な例示的な論理ブロック、モジュール、回路、およびアルゴリズムステップは、電子ハードウェア、コンピュータソフトウェア、またはそれらの組合せとして実施され得る。ハードウェアおよびソフトウェアのこの互換性を明確に説明するために、様々な例示的な構成要素、ブロック、モジュール、回路、およびステップが、それらの機能の点から一般的に上記で説明されている。そのような機能がハードウェアまたはソフトウェアのどちらとして実施されるのかは、システム全体に課される特定の用途および設計制約に依存する。当業者は、説明した機能を各特定の用途のための様々な方法で実施することができるが、そのような実施の決定は、本発明の範囲からの逸脱を引き起こすものとして解釈されるべきではない。
【００４６】
本明細書で開示されている態様に関連して説明されている様々な例示的なロジック、論理ブロック、モジュール、および回路を実施するために使用されるハードウェアは、本明細書に記載の機能を実行するように設計された、汎用プロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)もしくは他のプログラマブルロジックデバイス、ディスクリートゲートもしくはトランジスタロジック、ディスクリートハードウェア構成要素、または、それらの任意の組合せを用いて実施または実行され得る。汎用プロセッサは、マイクロプロセッサであり得るが、代替では、プロセッサは、任意の従来のプロセッサ、コントローラ、マイクロコントローラ、または状態機械であり得る。プロセッサは、また、コンピューティングデバイスの組合せ、たとえば、DSPおよびマイクロプロセッサの組合せ、複数のマイクロプロセッサ、DSPコアと協働する1つもしくは複数のマイクロプロセッサ、または任意の他のそのような構成として実施され得る。代替的には、いくつかのステップまたは方法は、所与の機能に固有の回路網によって実行され得る。
【００４７】
1つまたは複数の例示的な態様では、記載した機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せで実施され得る。ソフトウェアで実施される場合、機能は、コンピュータ可読媒体上の1つまたは複数の命令またはコードとして記憶または伝送され得る。本明細書で開示されている方法またはアルゴリズムの動作は、非一時的コンピュータ可読記憶媒体に記憶され得るプロセッサ実行可能なソフトウェアモジュールで具体化され得る。非一時的コンピュータ可読記憶媒体は、コンピュータによってアクセスされ得る任意の利用可能な媒体であり得る。限定ではなく例として、そのような非一時的コンピュータ可読媒体は、RAM、ROM、EEPROM、CD-ROMもしくは他の光ディスクストレージ、磁気ディスクストレージもしくは他の磁気記憶デバイス、または、命令もしくはデータ構造の形式で所望のプログラムコードを記憶するために使用され得るし、コンピュータによってアクセスされ得る任意の他の媒体を含む場合がある。本明細書で使用されるディスク(disk)およびディスク(disc)は、コンパクトディスク(CD)、レーザディスク、光ディスク、デジタル多用途ディスク(DVD)、フロッピー(登録商標)ディスク、およびblu-rayディスクを含み、ここで、ディスク(disk)は、通常、データを磁気的に再生し、ディスク(disc)は、レーザを用いて光学的にデータを再生する。上記の組合せは、また、非一時的コンピュータ可読媒体の範囲内に含まれるべきである。加えて、方法またはアルゴリズムの動作は、コンピュータプログラム製品内に組み込まれ得る非一時的機械可読媒体および/またはコンピュータ可読媒体上のコードおよび/または命令のうちの1つまたは任意の組合せもしくはセットとして存在することができる。
【００４８】
開示されている態様の前述の説明は、当業者が本発明を作成または使用することを可能にするために提供されている。これらの態様に対する様々な修正は、当業者には容易に明らかであり、本明細書で定義された一般的な定義は、本発明の要旨または範囲から逸脱することなく、他の態様に適用され得る。したがって、本発明は、本明細書に示されている態様に限定されることを意図しておらず、以下の特許請求の範囲、ならびに、本明細書で開示されている原理および新規な特徴と一致する最も広い範囲を与えられるべきである。
【符号の説明】
【００４９】
100  コンピューティングシステム
110  SoC
111  バス接続部
120  メモリ
121  バス接続部
122  温度センサ
130  DRAMメモリ
131  バス接続部
132  バス接続部
133  バス接続部
134  センス増幅器
135  列アドレスデコーダ
136  行アドレスデコーダ
140  メモリコントローラ
141  バスライン
142  バスライン
150  メモリセルアレイ
151  メモリセル
152  トランジスタ
153  キャパシタ
154  ワードライン(WL)
155  ビットライン(BL)
156  ページ
200  シナリオ
210  コマンドデコーダ
211  ブロック
212  REFコマンド
213  バス接続部
214  信号または信号のシリーズ
220  コマンドのグループ
221  ページアドレス
222  活性化(ACT)コマンド信号
223  プリチャージ(PRE)コマンド信号
230  クロック信号
231  周期
232  ページリフレッシュ間隔TREF
233  信号REFPAGE0
234  持続時間TDURATION234
235  信号REFPAGE1
236  信号REFPAGEn236
237  間隔
241  接続部
300  シナリオ
312  ブロック
313  入力信号またはコマンド
314  信号または信号のシリーズ
320  コマンドのグループ
321  ページアドレス
333  修正されたリフレッシュコマンドREFPAGEm
334  持続時間TDURATION
335  活性化信号ACTPAGEm
336  プリチャージ信号PREPAGEm
337  間隔
340  エネルギーレベル
341  リフレッシュ要求
350  時間
351  リフレッシュ要求
600  モバイルコンピューティングデバイス
601  プロセッサ
602  内部メモリ
606  タッチスクリーンディスプレイ
608  アンテナ
612a  物理的なボタン
612b  物理的なボタン
618  短距離無線トランシーバ
620  セルラーネットワークワイヤレスモデムチップ
700  ラップトップコンピューティングデバイス、ラップトップコンピュータ
701  プロセッサ
702  揮発性内部メモリ
706  ディスクドライブ
708  コンパクトディスク(CD)および/またはDVDドライブ
710  コネクタポート
712  キーボード
714  タッチパッド
716  ディスプレイ
718  短距離無線信号トランシーバ
720  アンテナ
【図１Ａ】
2016524775.tif 000005
【図１Ｂ】
2016524775.tif 000006
【図１Ｃ】
2016524775.tif 000007
【図２Ａ】
2016524775.tif 000008
【図２Ｂ】
2016524775.tif 000009
【図３Ａ】
2016524775.tif 000010
【図３Ｂ】
2016524775.tif 000011
【図３Ｃ】
2016524775.tif 000012
【図３Ｄ】
2016524775.tif 000013
【図４】
2016524775.tif 000014
【図５Ａ】
2016524775.tif 000015
【図５Ｂ】
2016524775.tif 000016
【図６】
2016524775.tif 000017
【図７】
2016524775.tif 000018
【手続補正書】
【提出日】平成27年5月21日(2015.5.21)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ダイナミックメモリデバイスをリフレッシュする方法であって、
前記ダイナミックメモリデバイス内のメモリセルのページに関連付けられた第1のルックアップテーブル内の第1の値を、前記ページがすべてゼロの有効なデータを含むときを示すために設定するステップと、
前記ページがすべてゼロの有効なデータを含むことを前記第1のルックアップテーブル内の関連付けられた第1の値が示すメモリセルのページのリフレッシュを抑止するように、ページのリフレッシュ間隔に従って実行されるページのリフレッシュを制御するステップと
を含む方法。
【請求項２】
メモリセルのページがすべてゼロの有効なデータを含むことを前記第1のルックアップテーブル内の前記第1の値が示すとき、読み出し要求に関連するメモリセルの前記ページへのアクセスを抑止するステップと、
前記読み出し要求に応答して1つまたは複数のゼロを返すステップと
をさらに含む、請求項1に記載の方法。
【請求項３】
メモリセルのページがすべてゼロの有効なデータを含むことを前記第1のルックアップテーブル内の前記第1の値が示し、書き込み値が前記ページに書き込まれるべき1つまたは複数のゼロを含む場合、書き込み要求に関連するメモリセルの前記ページへのアクセスを抑止するステップと、
前記書き込み要求に応答して、成功した書き込み動作の指示を返すステップと
をさらに含む、請求項1に記載の方法。
【請求項４】
メモリセルのページがすべてゼロの有効なデータを含むことを前記第1のルックアップテーブル内の前記第1の値が示すとき、クリア要求に関連するメモリセルの前記ページへのアクセスを抑止するステップと、
前記クリア要求に応答して、成功したクリア動作の指示を返すステップと
をさらに含む、請求項1に記載の方法。
【請求項５】
読み出しまたは書き込みアクセスがメモリセルの対応するページに対して生じたことを示すために、第2のルックアップテーブル内の第2の値を設定するステップと、
前記アクセスが生じたことを前記第2のルックアップテーブル内のその関連する第2の値が示し、その少なくとも一部がゼロではない有効なデータをページが含むことを前記第1のルックアップテーブル内のその関連する第1の値が示すメモリセルの前記ページをページリフレッシュすることを抑止するように、前記ページリフレッシュ間隔に従って実行されるページリフレッシュを制御するステップと
をさらに含む、請求項1に記載の方法。
【請求項６】
前記メモリデバイスを含むシステムの起動時に前記第1のルックアップテーブルをクリアするステップと、
前記リフレッシュ間隔の終了時に前記第2のルックアップテーブルをクリアし、前記ページリフレッシュ間隔を再設定するステップと
をさらに含む、請求項5に記載の方法。
【請求項７】
前記ページリフレッシュ間隔に従って実行される前記ページリフレッシュを制御するステップが、すべてがゼロではない有効なデータがメモリセルのページ内に存在することをその関連する第1の値が示し、読み出しまたは書き込みアクセスが生じていないことをその関連する第2の値が示す、メモリセルの前記ページのためのページアドレスを含む活性化(ACT)-プリチャージ(PRE)コマンド対を発行するステップを含む、請求項5に記載の方法。
【請求項８】
前記ページリフレッシュ間隔に従って実行される前記ページリフレッシュを制御するステップが、前記メモリデバイス内のページ数が閾値を超えるとき、前記メモリデバイスのためのリフレッシュ(REF)コマンドを発行するステップを含む、請求項5に記載の方法。
【請求項９】
前記ダイナミックメモリデバイスが、ダイナミックランダムアクセスメモリデバイスを含む、請求項1に記載の方法。
【請求項１０】
前記第1のルックアップテーブル内の値を使用して、すべてがゼロではない有効なデータを含む前記ダイナミックメモリデバイスのページ数を決定するステップと、
前記ダイナミックメモリデバイスの温度と、すべてがゼロではない有効なデータを含む前記ダイナミックメモリデバイスの前記ページ数とに基づいて、前記ページリフレッシュ間隔を調整するステップと
をさらに含む、請求項1に記載の方法。
【請求項１１】
前記第1のルックアップテーブル内の値を使用して、すべてがゼロではない有効なデータを含む前記ダイナミックメモリデバイスのページ数を決定するステップと、
前記第2のルックアップテーブル内の値を使用して、リフレッシュされるべき前記ダイナミックメモリデバイスのページ数を決定するステップと、
前記ダイナミックメモリデバイスの温度と、すべてがゼロではない有効なデータを含む前記ダイナミックメモリデバイスの前記ページ数と、リフレッシュされるべき前記ダイナミックメモリデバイスの前記ページ数とに基づいて、前記ページリフレッシュ間隔を調整するステップと
をさらに含む、請求項5に記載の方法。
【請求項１２】
前記ページに関連付けられた活性化(ACT)コマンドがコマンドキュー内に存在するかを決定するために、前記ダイナミックメモリデバイスに関連付けられた前記コマンドキューを監視するステップと、
(i)前記コマンドキュー内に存在する活性化コマンドを有し、(ii)読み出しまたは書き込みアクセスがページに対して生じていないことをその関連する第2の値が示し、(iii)その少なくとも一部がゼロではない有効なデータを前記ページが含むことをその関連する第1の値が示すメモリセルの前記ページのリフレッシュを抑止するように、前記ページリフレッシュ間隔に従って実行されるページリフレッシュを制御するステップと
をさらに含む、請求項5に記載の方法。
【請求項１３】
ダイナミックメモリ内のメモリセルのページに関連付けられた第1のルックアップテーブル内の第1の値を、前記ページがすべてゼロの有効なデータを含むときを示すために設定するための手段と、
前記ページがすべてゼロの有効なデータを含むことを前記第1のルックアップテーブル内の関連付けられた第1の値が示すメモリセルのページのリフレッシュを抑止するように、ページのリフレッシュ間隔に従って実行されるページのリフレッシュを制御するための手段と
を備えるコンピューティングデバイス。
【請求項１４】
メモリセルのページがすべてゼロの有効なデータを含むことを前記第1のルックアップテーブル内の前記第1の値が示すとき、読み出し要求に関連するメモリセルの前記ページへのアクセスを抑止するための手段と、
前記読み出し要求に応答して1つまたは複数のゼロを返すための手段と
をさらに備える、請求項13に記載のコンピューティングデバイス。
【請求項１５】
メモリセルのページがすべてゼロの有効なデータを含むことを前記第1のルックアップテーブル内の前記第1の値が示し、書き込み値が前記ページに書き込まれるべき1つまたは複数のゼロを含む場合、書き込み要求に関連するメモリセルの前記ページへのアクセスを抑止するための手段と、
前記書き込み要求に応答して、成功した書き込み動作の指示を返すための手段と
をさらに備える、請求項13に記載のコンピューティングデバイス。
【請求項１６】
メモリセルのページがすべてゼロの有効なデータを含むことを前記第1のルックアップテーブル内の前記第1の値が示すとき、クリア要求に関連するメモリセルの前記ページへのアクセスを抑止するための手段と、
前記クリア要求に応答して、成功したクリア動作の指示を返すための手段と
をさらに備える、請求項13に記載のコンピューティングデバイス。
【請求項１７】
読み出しまたは書き込みアクセスがメモリセルの対応するページに対して生じたことを示すために、第2のルックアップテーブル内の第2の値を設定するための手段と、
読み出しまたは書き込みアクセスが生じたことを前記第2のルックアップテーブル内のその関連する第2の値が示し、その少なくとも一部がゼロではない有効なデータをページが含むことを前記第1のルックアップテーブル内のその関連する第1の値が示すメモリセルの前記ページをページリフレッシュすることを抑止するように、前記ページリフレッシュ間隔に従って実行されるページリフレッシュを制御するための手段と
をさらに備える、請求項13に記載のコンピューティングデバイス。
【請求項１８】
前記ダイナミックメモリを含むシステムの起動時に前記第1のルックアップテーブルをクリアするための手段と
前記リフレッシュ間隔の終了時に前記第2のルックアップテーブルをクリアするための手段と
をさらに備える、請求項17に記載のコンピューティングデバイス。
【請求項１９】
前記ページリフレッシュ間隔に従って実行される前記ページリフレッシュを制御するための手段が、すべてがゼロではない有効なデータがメモリセルのページ内に存在することをその関連する第1の値が示し、読み出しまたは書き込みアクセスが生じていないことをその関連する第2の値が示す、メモリセルの前記ページのためのページアドレスを含む活性化(ACT)-プリチャージ(PRE)コマンド対を発行するための手段を備える、請求項17に記載のコンピューティングデバイス。
【請求項２０】
前記ページリフレッシュ間隔に従って実行される前記ページリフレッシュを制御するための手段が、前記ダイナミックメモリ内のページ数が閾値を超えるとき、前記ダイナミックメモリのためのリフレッシュ(REF)コマンドを発行するための手段を備える、請求項17に記載のコンピューティングデバイス。
【請求項２１】
前記ダイナミックメモリが、ダイナミックランダムアクセスダイナミックメモリを含む、請求項13に記載のコンピューティングデバイス。
【請求項２２】
前記第1のルックアップテーブル内の値を使用して、すべてがゼロではない有効なデータを含む前記ダイナミックメモリのページ数を決定するための手段と、
前記ダイナミックメモリの温度と、すべてがゼロではない有効なデータを含む前記ダイナミックメモリの前記ページ数とに基づいて、前記ページリフレッシュ間隔を調整するための手段と
をさらに備える、請求項13に記載の方法。
【請求項２３】
前記第1のルックアップテーブル内の値を使用して、すべてがゼロではない有効なデータを含む前記ダイナミックメモリのページ数を決定するための手段と、
前記第2のルックアップテーブル内の値を使用して、リフレッシュされるべき前記ダイナミックメモリのページ数を決定するための手段と、
前記ダイナミックメモリの温度と、すべてがゼロではない有効なデータを含む前記ダイナミックメモリの前記ページ数と、リフレッシュされるべき前記ダイナミックメモリの前記ページ数とに基づいて、前記ページリフレッシュ間隔を調整するための手段と
をさらに備える、請求項17に記載のコンピューティングデバイス。
【請求項２４】
前記ページに関連付けられた活性化(ACT)コマンドがコマンドキュー内に存在するかを決定するために、前記ダイナミックメモリに関連付けられた前記コマンドキューを監視するための手段と、
(i)前記コマンドキュー内に存在するアクティブコマンドを有し、(ii)読み出しまたは書き込みアクセスがページに対して生じていないことをその関連する第2の値が示し、(iii)その少なくとも一部がゼロではない有効なデータを前記ページが含むことをその関連する第1の値が示すメモリセルの前記ページのリフレッシュを抑止するように、前記ページリフレッシュ間隔に従って実行されるページリフレッシュを制御するための手段と
をさらに備える、請求項17に記載のコンピューティングデバイス。
【請求項２５】
プロセッサに動作を実行させるように構成される、プロセッサ実行可能ソフトウェア命令が記憶された、コンピュータ可読記憶媒体であって、前記動作が、
ダイナミックメモリデバイス内のメモリセルのページに関連付けられた第1のルックアップテーブル内の第1の値を、前記ページがすべてゼロの有効なデータを含むときを示すために設定するステップと、
前記ページがすべてゼロの有効なデータを含むことを前記第1のルックアップテーブル内の関連付けられた第1の値が示すメモリセルのページのリフレッシュを抑止するように、ページのリフレッシュ間隔に従って実行されるページのリフレッシュを制御するステップと
を含むコンピュータ可読記憶媒体。
【請求項２６】
前記記憶されたプロセッサ実行可能命令が、
ページがすべてゼロの有効なデータを含むことを前記第1の値が示すとき、クリア要求に関連する前記ページへのアクセスを抑止するステップと、
前記クリア要求に応答して成功したクリア動作の指示を返すステップと
をさらに含む動作を前記プロセッサに実行させるように構成されている、請求項25に記載のコンピュータ可読記憶媒体。
【請求項２７】
前記記憶されたプロセッサ実行可能命令が、
メモリセルのページがすべてゼロの有効なデータを含むことを前記第1のルックアップテーブル内の前記第1の値が示す場合、読み出し要求に関連するメモリセルの前記ページへのアクセスを抑止するステップと、
前記読み出し要求に応答して1つまたは複数のゼロを返すステップと
をさらに含む動作を前記プロセッサに実行させるように構成されている、請求項25に記載のコンピュータ可読記憶媒体。
【請求項２８】
前記記憶されたプロセッサ実行可能命令が、
メモリセルのページがすべてゼロの有効なデータを含み、書き込み値が前記ページに書き込まれるべき1つまたは複数のゼロを含むことを前記第1のルックアップテーブル内の前記第1の値が示すとき、書き込み要求に関連するメモリセルの前記ページへのアクセスを抑止するステップと、
前記書き込み要求に応答して、成功した書き込み動作の指示を返すステップと
をさらに含む動作を前記プロセッサに実行させるように構成されている、請求項25に記載のコンピュータ可読記憶媒体。
【請求項２９】
前記記憶されたプロセッサ実行可能命令が、
読み出しまたは書き込みアクセスがメモリセルの対応するページに対して生じたことを示すために、第2のルックアップテーブル内の第2の値を設定するステップと、
読み出しまたは書き込みアクセスが生じたことを前記第2のルックアップテーブル内のその関連する第2の値が示し、その少なくとも一部がゼロではない有効なデータをページが含むことを前記第1のルックアップテーブル内のその関連する第1の値が示すメモリセルの前記ページをページリフレッシュすることを抑止するように、前記ページリフレッシュ間隔に従って実行されるページリフレッシュを制御するステップと
をさらに含む動作を前記プロセッサに実行させるように構成されている、請求項25に記載のコンピュータ可読記憶媒体。
【請求項３０】
前記記憶されたプロセッサ実行可能命令が、
前記メモリデバイスを含むシステムの起動時に第1のルックアップテーブルをクリアするステップと、
前記リフレッシュ間隔の終了時に前記第2のルックアップテーブルをクリアするステップと
をさらに含む動作を前記プロセッサに実行させるように構成されている、請求項29に記載のコンピュータ可読記憶媒体。
【請求項３１】
前記記憶されたプロセッサ実行可能命令が、前記ページリフレッシュ間隔に従って実行される前記ページリフレッシュを制御するステップが、すべてがゼロではない有効なデータがメモリセルのページ内に存在することをその関連する第1の値が示し、読み出しまたは書き込みアクセスが生じていないことをその関連する第2の値が示す、メモリセルの前記ページのためのページアドレスを含む活性化(ACT)-プリチャージ(PRE)コマンド対を発行するステップを含む動作を前記プロセッサに実行させるように構成されている、請求項29に記載のコンピュータ可読記憶媒体。
【請求項３２】
前記記憶されたプロセッサ実行可能命令が、前記ページリフレッシュ間隔に従って実行される前記ページリフレッシュを制御するステップが、前記メモリデバイス内のページ数が閾値を超えるとき、前記メモリデバイスのためのリフレッシュ(REF)コマンドを発行するステップを含む動作を前記プロセッサに実行させるように構成されている、請求項29に記載のコンピュータ可読記憶媒体。
【請求項３３】
前記ダイナミックメモリデバイスが、ダイナミックランダムアクセスメモリデバイスを含む、請求項25に記載のコンピュータ可読記憶媒体。
【請求項３４】
前記記憶されたプロセッサ実行可能命令が、
前記第1のルックアップテーブル内の値を使用して、すべてがゼロではない有効なデータを含む前記ダイナミックメモリデバイスのページ数を決定するステップと、
前記ダイナミックメモリデバイスの温度と、すべてがゼロではない有効なデータを含む前記ダイナミックメモリデバイスの前記ページ数とに基づいて、前記ページリフレッシュ間隔を調整するステップと
をさらに含む動作を前記プロセッサに実行させるように構成されている、請求項25に記載のコンピュータ可読記憶媒体。
【請求項３５】
前記記憶されたプロセッサ実行可能命令が、
前記第1のルックアップテーブル内の値を使用して、すべてがゼロではない有効なデータを含む前記ダイナミックメモリデバイスのページ数を決定するステップと、
前記第2のルックアップテーブル内の値を使用して、リフレッシュされるべき前記ダイナミックメモリデバイスのページ数を決定するステップと、
前記ダイナミックメモリデバイスの温度と、すべてがゼロではない有効なデータを含む前記ダイナミックメモリデバイスの前記ページ数と、リフレッシュされるべき前記ダイナミックメモリデバイスの前記ページ数とに基づいて、前記ページリフレッシュ間隔を調整するステップと
をさらに含む動作を前記プロセッサに実行させるように構成されている、請求項29に記載のコンピュータ可読記憶媒体。
【請求項３６】
前記記憶されたプロセッサ実行可能命令が、
前記ページに関連付けられた活性化(ACT)コマンドがコマンドキュー内に存在するかを決定するために、前記ダイナミックメモリデバイスに関連付けられた前記コマンドキューを監視するステップと、
(i)前記コマンドキュー内に存在する活性化コマンドを有し、(ii)読み出しまたは書き込みアクセスがページに対して生じていないことをその関連する第2の値が示し、(iii)その少なくとも一部がゼロではない有効なデータを前記ページが含むことをその関連する第1の値が示すメモリセルの前記ページのリフレッシュを抑止するように、前記ページリフレッシュ間隔に従って実行されるページリフレッシュを制御するステップと
をさらに含む動作を前記プロセッサに実行させるように構成されている、請求項29に記載のコンピュータ可読記憶媒体。
【国際調査報告】
2016524775.tif 000019
2016524775.tif 000020
2016524775.tif 000021