JP2018528510A - メモリの周波数リセットのためのシステム、方法、および装置 - Google Patents

メモリの周波数リセットのためのシステム、方法、および装置 Download PDF

Info

Publication number
JP2018528510A
JP2018528510A JP2018500902A JP2018500902A JP2018528510A JP 2018528510 A JP2018528510 A JP 2018528510A JP 2018500902 A JP2018500902 A JP 2018500902A JP 2018500902 A JP2018500902 A JP 2018500902A JP 2018528510 A JP2018528510 A JP 2018528510A
Authority
JP
Japan
Prior art keywords
memory
reset
frequency
processor
command
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2018500902A
Other languages
English (en)
Other versions
JP2018528510A5 (ja
Inventor
エドウィン・ホセ
タオ・ワン
Original Assignee
クアルコム,インコーポレイテッド
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by クアルコム,インコーポレイテッド filed Critical クアルコム,インコーポレイテッド
Publication of JP2018528510A publication Critical patent/JP2018528510A/ja
Publication of JP2018528510A5 publication Critical patent/JP2018528510A5/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0632Configuration or reconfiguration of storage systems by initialisation or re-initialisation of storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1471Saving, restoring, recovering or retrying involving logging of persistent data for recovery
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/805Real-time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/84Using snapshots, i.e. a logical point-in-time copy of the data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/85Active fault masking without idle spares

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Quality & Reliability (AREA)
  • Computer Security & Cryptography (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Debugging And Monitoring (AREA)
  • Memory System (AREA)

Abstract

本開示のいくつかの態様は、システムプロセッサとシステムメモリとの間の周波数不整合を回避するために使用され得る、DRAMなどのメモリに関するセルフリフレッシュエントリシーケンスを含む。セルフリフレッシュエントリシーケンスは、周波数セットポイント状態にリセットして、セルフリフレッシュプロセスの終了時に電源投入状態にデフォルト設定するようにメモリにシグナリングすることができる。別の態様では、新しいモードレジスタを使用して、次のセルフリフレッシュエントリコマンドの後に周波数セットポイントがリセットされる必要があることを示すことができる。この態様では、プロセッサは、クラッシュイベントの発生に応答して、モードレジスタ書込みコマンドに続いて、セルフリフレッシュエントリを実行することになる。次いで、メモリは、セルフリフレッシュエントリ実行の終了によってデフォルト周波数セットポイントにリセットされることになる。

Description

関連出願の相互参照
本特許出願は、本出願の譲受人に譲渡され、参照によりその全体が本明細書に明確に組み込まれている、2015年7月31日に出願した「SYSTEMS, METHODS, AND APPARATUS FOR FREQUENCY RESET OF A MEMORY」という名称の米国仮出願第62/199,639号の利益を主張するものである。
本開示は、一般に、ダブルデータレート(DDR)メモリシステムに関し、排他的にではなく、より詳細には、ダイナミックランダムアクセスメモリ(DRAM)DDRシステムに関する。
高速DRAM(モバイルデバイスアプリケーション用など)は、周波数セットポイント(FSP:Frequency Set Points)を使用して、幅広い周波数でDRAM IOピンを動作させる。2つの動作点(FSP0およびFSP1)が提供され、システムオンチップ(SoC)は、動作周波数に基づいてこれらのうちのいずれか1つを使用して、IOピンを介してSoCとDRAMとの間の通信を制御することができる。たとえば、FSP0は0GHzから1GHzの動作を包含することができ、FSP1は1GHzから2GHzの動作を包含することができる。これは、周波数の特定の帯域に関して複数の動作設定が各々微調整されることを可能にする。現在、FSPの標準動作は、JEDEC JESD209-4 LPDDR4業界規格によって指導されている。電源投入時に、SoCは、非終了(un-terminated)低周波数環境で動作するためのデフォルト設定を有するFSP0にデフォルト設定される。クロック周波数スイッチの間にFSP間を移行させるために、特定のFSPスイッチシーケンスが必要とされる。
システムメモリとしてDRAMを使用するマルチコアプロセッサシステムでは、システムを停止させるカタストロフィックイベントの場合、クラッシュログを記憶するためにDRAMが使用されることが多い。これらのイベントは、一般に、システム内の期限切れウォッチドッグタイマ(ハードウェアまたはソフトウェアベース)によって、またはリセットスイッチの手作業の適用によってトリガされる。システムは、クラッシュログをDRAM内にフラッシュアウトして、後でさらなるデバッグ調査のためにクラッシュログを再度読み出すためにSoCをリセットする必要がある。このシステムフラッシュの間、DRAMコンテンツを維持するためのSoCリセットの間にDRAMはセルフリフレッシュ(SR)状態に入れられる。SoCがリセットされるとき、SoCは電源投入状態に入り、その時点で、SoCはDRAMがFSP0にあると見なす。システムクラッシュは、任意の所与の周波数で発生した可能性があり、したがって、DRAMはFSP0またはFSP1であり得る。FSP設定に関するSoCとDRAMとの間のこの不整合は、IO設定不整合(オンダイターミネーション(ODT:On Die Termination)信号、ドライバ強度など)により、SoCにDRAMとの信頼性の高い通信を失わせることになる。この不整合はDRAMがセルフリフレッシュから蘇り、モードレジスタ書込みコマンドを使用してFSPを再設定するのを妨げる。そのような場合、DRAM内にあるクラッシュログは失われ、これはそのクラッシュを発生させたシステムイベントのデバッグおよび根本原因分析に大きな影響を及ぼす。JEDEC JESD209-4 LPDDR4は、現在、この問題に対処するプロセスを有さない。
したがって、リセットイベントの間にFSP不整合の防止を助ける、本明細書によって提供される、改善された方法、システム、および装置を含めて、従来の手法を改善するシステム、装置、および方法の必要が存在する。
以下は、本明細書で開示する装置および方法に関連する1つまたは複数の態様および/または例に関する簡略化された概要を提示する。したがって、以下の概要は、すべての企図される態様および/または例に関する広範囲にわたる概説と見なされるべきではなく、また、以下の概要は、すべての企図される態様および/もしくは例に関する主要もしくは重要な要素を識別するか、または任意の特定の態様および/もしくは例に関連付けられた範囲を定めると見なされるべきでもない。したがって、以下の概要は、以下に提示される詳細な説明に先立って、本明細書で開示する装置および方法に関する1つまたは複数の態様および/または例に関する特定の概念を簡略化された形で提示することが唯一の目的である。
一態様では、第1のメモリの周波数リセットのための方法は、プロセッサが第1の周波数で動作しており、かつ第1のメモリが第1の周波数セットポイントで動作しているとき、プロセッサがリセットコマンドを発行するステップと、プロセッサが第1のメモリに対してセルフリフレッシュコマンドを発行するステップであって、セルフリフレッシュコマンドが周波数リセットエントリを含む、発行するステップと、プロセッサを第2の周波数セットポイントに設定するステップと、プロセッサが第1のメモリを第2の周波数セットポイントに設定するためのレジスタ書込みコマンドを発行するステップと、第1のメモリを第2の周波数セットポイントに設定するステップとを含む。
別の態様では、非一時的コンピュータ可読媒体は、プロセッサが第1の周波数で動作しており、かつ第1のメモリが第1の周波数セットポイントで動作しているとき、リセットコマンドを発行することと、第1のメモリに対してセルフリフレッシュコマンドを発行することであって、セルフリフレッシュコマンドが周波数リセットエントリを含む、発行することと、プロセッサを第2の周波数セットポイントに設定することと、第1のメモリを第2の周波数セットポイントに設定するためのレジスタ書込みコマンドを発行することと、第1のメモリを第2のセットポイントに設定することとを含むプロセスをプロセッサに実行させるためのプログラム命令を含む。
さらに別の態様では、第1のメモリのリセット状態を検査するための方法は、プロセッサが第1の周波数セットポイントで動作しており、かつ第1のメモリが第1の周波数セットポイントで動作しているとき、プロセッサがリセット条件検査を開始するステップと、最後のリセットコマンドから第1のメモリによって受信されたプロセッサコマンドの数をカウントするステップと、最後のリセットコマンドが第1のメモリによって受信されてからのクロックサイクルの数をカウントするステップと、プロセッサコマンドの数がコマンドリセット値を超えるかどうかを決定するステップと、クロックサイクルの数がクロックリセット値を超えるかどうかを決定するステップと、プロセッサコマンドの数がコマンドリセット値を超える場合、またはクロックサイクルの数がクロックリセット値を超える場合、プロセッサが、第1のメモリに対してセルフリフレッシュコマンドを発行するステップをであって、セルフリフレッシュコマンドが周波数リセットエントリを含む、発行するステップを含む、リセットコマンドを発行するステップと、プロセッサを第2の周波数セットポイントに設定するステップと、第1のメモリを第2の周波数セットポイントに設定するためのレジスタ書込みコマンドを発行するステップと、第1のメモリを第2の周波数セットポイントに設定するステップとを含む。
さらに別の態様では、非一時的コンピュータ可読媒体は、プロセッサが第1の周波数セットポイントで動作しており、かつ第1のメモリが第1の周波数セットポイントで動作しているとき、リセット条件検査を開始することと、最後のリセットコマンドから第1のメモリによって受信されたプロセッサコマンドの数をカウントすることと、最後のリセットコマンドが第1のメモリによって受信されてからのクロックサイクルの数をカウントすることと、プロセッサコマンドの数がコマンドリセット値を超えるかどうかを決定することと、クロックサイクルの数がクロックリセット値を超えるかどうかを決定することと、プロセッサコマンドの数がコマンドリセット値を超える場合、またはクロックサイクルの数がクロックリセット値を超える場合、第1のメモリに対してセルフリフレッシュコマンドを発行することあって、セルフリフレッシュコマンドが周波数リセットエントリを含む、発行することを含む、リセットコマンドを発行することと、プロセッサを第2の周波数セットポイントに設定することと、第1のメモリを第2の周波数セットポイントに設定するためのレジスタ書込みコマンドを発行することと、第1のメモリを第2の周波数セットポイントに設定することとを含むプロセスをプロセッサに実行させるためのプログラム命令を含む。
さらに別の態様では、第1のメモリの周波数セットポイントリセットを制御するためのモードレジスタは、第1のメモリをリセットするための周波数リセット条件を示す周波数リセット条件カウントと、最後のリセットコマンドが第1のメモリによって受信されてから第1のメモリによって受信されたプロセッサコマンドの数、または最後のリセットコマンドが第1のメモリによって受信されてから発生したクロックサイクルの数を示す周波数リセット条件と、周波数リセット条件がいつ満たされているかを示す周波数書込みリセット値と、第1のメモリに関する周波数セットポイントを示す周波数リセット値と、周波数リセット条件が満たされているときに第1のメモリがリセットされたかどうかを示す周波数リセットエントリとを含む。
本明細書で開示する装置および方法に関連する他の特徴および利点は、添付の図面および詳細な説明に基づいて、当業者には明らかになるであろう。
以下の詳細な説明を参照しながら、本開示を限定するためではなく単に例示するために提示される添付の図面とともに検討すれば、本開示の態様およびその付随する利点の多くがより良く理解されるようになるので、それらに関するより完全な諒解が容易に得られるであろう。
本開示のいくつかの例による、例示的な部分的プロセスフローを示す図である。 本開示のいくつかの例による、電源切断シーケンスを伴う例示的な部分的プロセスフローを示す図である。 本開示のいくつかの例による、別の例示的な部分的プロセスフローを示す図である。 本開示のいくつかの例による、FSPリセットシーケンスに関する例示的な状態図である。 本開示のいくつかの例による、電源切断シーケンスに関する例示的な状態図である。 本開示のいくつかの例による、例示的なモードレジスタエントリを示す図である。 本開示のいくつかの例による、例示的なユーザ機器(UE)を示す図である。 本開示のいくつかの例による、例示的なプロセッサを示す図である。
慣例に従って、図面に示される特徴は、一定の縮尺で描かれていない場合がある。したがって、示された特徴の寸法は、図を明快にするために、任意に拡大または縮小されている場合がある。慣例に従って、図面のうちのいくつかは、明快にするために簡略化されている。したがって、図面は、特定の装置または方法のすべての構成要素を示すとは限らない。さらに、同様の参照番号は、本明細書および図を通して同様の特徴を示す。
本明細書で開示する例示的な方法、装置およびシステムは、有利なことに、産業界のニーズ、ならびにこれまでに同定されていない他のニーズに対処し、従来の方法、装置、およびシステムの欠点を軽減する。たとえば、DRAMに関する特別なセルフリフレッシュ(SR)エントリシーケンスを使用して、前述の周波数不整合を回避することができる。これは、SRがプロセスを終了するとすぐに、FSP状態をリセットして、FSP0の電源投入状態にデフォルト設定するようにDRAMにシグナリングすることになる。一態様では、新しいモードレジスタ(MR)書込みコマンドを使用して、次のSRエントリコマンドの後にFSPがリセットされる必要があることを示すことができる。この態様では、SoCは、クラッシュイベントの発生に応答して、MR書込みコマンドに続いて、SRエントリを実行することになる。次いで、DRAMは、SRエントリ実行を終了することによって、FSP0にリセットされることになる。別の態様では、FSPリセット要求は、SRエントリコマンド内で符号化され得る。DRAMは、この情報を復号して、SRエントリ実行の終了時にFSPリセットを実行することになる。いずれのかの態様において、SoCは、DRAMをSR状態に置き、クラッシュイベント時にDRAMのコンテンツ(具体的には、クラッシュログ)を保存することになる。DRAMは、SR持続時間の間、FSP0の電源投入状態に留まることができる。SoCリセットの後、システムは、DRAM FSP0状態に整合する非終了低周波数IO設定に安全にリセットされ得る。SoCは、次いで、SR終了コマンドを実行することができ、その時点で、DRAM動作設定はFSP0である。したがって、SoCおよびDRAMのFSP状態は常に整合することになる。これは、DRAMとの通信の喪失を回避し、クラッシュログの安全な読出しを可能にすることになる。
図1Aは、本開示のいくつかの例による、メモリのFSPをリセットするための例示的な部分的プロセスフローを示す。図1Aに示すように、部分的プロセス100は、システムリセットコマンド(ブロック110)がシステムによって発行されることから開始する。この例では、システムプロセッサ(すなわち、SoC)は第1の周波数セットポイント(FSP1)にあり、システムメモリ(すなわち、DRAMなどのメインメモリ)も、システムリセットコマンドが発行された時点で第1の周波数セットポイント(FSP1)で動作している。ブロック120で、システムは、メインメモリに対するFSPリセットコマンドを含むシステムリセット手順においてセルフリフレッシュエントリに入る(SRエントリの一例に関しては図4を参照されたい)。ブロック130で、SoCは、SR状態エントリを除いてリセットすることができ、クラッシュログはSoCのキャッシュメモリ内(すなわち、L2キャッシュメモリまたはメインメモリとは異なる同様の一時的メモリ)内に記憶され得る。ブロック140で、SoCメモリサブシステムは、第2の周波数セットポイント(FSP0)で初期化することができる。ブロック150で、SoCはシステムリセット手順のセルフリフレッシュ部分を終了することになる。ブロック160で、レジスタ書込みコマンドが、第2の周波数セットポイント(FSP0)においてメインメモリを構成するように発行され得る。これは、メインメモリをFSP0にリセットすることになる。ブロック170で、システムは、システムキャッシュメモリからメインメモリにクラッシュログをフラッシュするか、または移行させることになる。ブロック180で、システムは、デバッグまたは同様のルーチンのために、現在メインメモリ内に記憶されているクラッシュログにアクセスすることができるが、これは、SoCとメインメモリは両方ともFSP0で動作可能であり、IO通信において何の周波数不整合も存在しないためである。2つのFSPだけが論じられるが、3つ以上のFSPがシステムによって使用され得ることを理解されたい。手作業のリセットスイッチがトグルされていること、またはシステムクラッシュが自動システムリセットを発生させることの他に、いくつかの異なる条件下でシステムリセットコマンドが発行され得る。図2は、システムリセットコマンドが発行されることを必要とし得る他の条件のいくつかの例を説明する。
図1Bは、本開示のいくつかの例による、メモリを電源切断するための例示的な部分的プロセスフローを示す。図1Bに示すように、部分的プロセス105は、システムメモリ(すなわち、DRAMなどのメインメモリ)およびシステムプロセッサ(すなわち、SoC)が第1の周波数セットポイントFSP1で動作することから開始する(ブロック115)。ブロック125で、システムプロセッサは、システムメモリが電源切断しており、システムリセットが必要であると決定する。ブロック135で、システムプロセッサは、電源切断コマンドをシステムメモリに送り、第2の周波数セットポイントFSP0で動作するようにシステムプロセッサを変更する。ブロック145で、システムプロセッサは、システムメモリのメモリ再開が必要であるかまたは適切であると決定する。ブロック155で、システムプロセッサは、FSP0で電源投入するようにシステムメモリに対する電源投入コマンドを送る。ブロック165で、システムプロセッサは、SR終了を実行して、通常のメモリ動作を再開するが、これは、システムプロセッサとシステムメモリは両方ともFSP0で動作可能であり、IO通信において何の不整合も存在しないためである。2つのFSPだけが論じられるが、3つ以上のFSPがシステムによって使用され得ることを理解されたい。システムメモリの電源切断および再開が必要とされるという決定は、手作業のリセットスイッチがトグルされていること、またはシステムクラッシュが自動システムリセットを発生させることを含めて、いくつかの異なる条件に基づき得る。
図2は、本開示のいくつかの例による、FSPリセットシーケンスのための別の例示的な部分的プロセスフローを示す。図2に示すように、部分的プロセス200は、ブロック210で、SoCとメインメモリが両方とも、この例ではFSP0またはFSP1であり得る、同じFSPで動作することで開始する。しかしながら、システムに関して3つ以上のFSPが存在し得ることを理解されたい。ブロック220で、システムリセットを必要とし得る条件を検査するために、FSPリセット条件検査を開始することができる。FSPリセット条件検査の開始後、部分的プロセス200は2つの検査を実行する。ブロック230で、システムは、たとえば、カウンタを使用して、いくつかのコマンドが受信されているかどうかを検査する。ブロック240で、システムは、何らかのイベントの前に、いくつかのクロックサイクルが生じたかどうか、たとえば、SoCがメインメモリにアクセスしてからいくつかのクロックサイクルが発生したかどうかを検査する。ブロック250で、システムは、ブロック230での検査またはブロック240での検査のいずれかが、FSPリセット条件が満たされていることを明らかにするかどうかを決定する。ブロック230または240における検査が、FSPリセット条件が満たされていないことを明らかにした場合、部分的プロセス200はブロック210に戻る。ブロック230または240における検査が、FSPリセット条件が満たされていることを明らかにした場合、部分的プロセス200はブロック260に移る。ブロック260で、FSPリセットシーケンス、たとえば、図1に関して説明したFSPリセットシーケンスが開始される。ブロック270で、FSPリセットシーケンスの後で、システムはアイドル(または、通常の動作)に戻ることができる。
図3Aは、本開示のいくつかの例による、FSPリセットシーケンスに関する例示的な状態図300を示す。図3Aに示すように、システムはアイドル状態310で開始し得る。アイドル状態310にある間、セルフリフレッシュエントリコマンド312(すなわち、SRE)を発行させるFSPリセット条件が発生し得る。システムは、その場合、セルフリフレッシュ状態320に入る。セルフリフレッシュ状態320に入った後、システムは、自動FSPリセットシーケンス330を実行することができる(たとえば、図1A、図1B、図2、および図3Bを参照されたい)。自動FSPリセットシーケンス330が終わると、セルフリフレッシュ状態320は、セルフリフレッシュ終了コマンド314(すなわち、SRX)を発行することができ、次いで、システムはアイドル状態310に戻ることになる。これに続いて、モードレジスタ書込みコマンド316(すなわち、MRW)が発行され得る。モードレジスタ書込みコマンド316が発行されるとき、システムはモードレジスタ書込み状態340に移る。モードレジスタ書込み状態340の間、システムはシステムキャッシュメモリ内のクラッシュログをシステムメインメモリに移行させることができる。その後、システムはアイドル状態310に戻る。
図3Bは、本開示のいくつかの例による、電源切断シーケンスに関する例示的な状態図305である。図3Bに示すように、システムはアイドル状態315で開始し得る。アイドル状態315にある間、電源切断コマンド313(すなわち、CKE=H)を発行させる電源切断条件が発生し得る。システムは、その場合、電源切断状態325に入る。電源切断状態325に入った後、システムは、自動FSPリセットシーケンス335を実行することができる(たとえば、図1A、図1B、図2、および図3Aを参照されたい)。自動FSPリセットシーケンス335が終わると、電源切断状態325は、電源切断終了コマンド317(すなわち、CKE=L)を発行することができ、次いで、システムはアイドル状態315に戻ることになる。これに続いて、モードレジスタ書込みコマンド319(すなわち、MRW)が発行され得る。モードレジスタ書込みコマンド319が発行されるとき、システムはモードレジスタ書込み状態345に移る。モードレジスタ書込み状態345の間、システムはシステムキャッシュメモリ内のクラッシュログをシステムメインメモリに移行させることができる。その後、システムはアイドル状態315に戻る。
図4は、本開示のいくつかの例による、例示的なモードレジスタエントリを示す。図4に示すように、モードレジスタ書込みコマンド410は、FSPリセット条件カウント412、FSPリセット条件414、FSP書込みリセット値416、FSP動作リセット値418、およびFSPリセットエントリ420など、いくつかのエントリを含み得る。この例では5つのエントリを示すが、6つ以上または5つ未満のエントリが使用され得ることを理解されたい。FSPリセット条件カウント412は、オペランド3(OP[3])の条件に応じて、有効コマンドまたはクロックサイクルカウントに関するデータを含むオペランド4〜7(OP[4:7])を利用することができる。FSPリセット条件414は、FSPリセットの前のモードレジスタ書込みコマンドの後の一定数の有効コマンド(OP[3]=0)またはFSPリセットの前のモードレジスタ書込みコマンドの後の一定数のクロックサイクル(OP[3]=1)などのリセット条件を示すデータを含むオペランド3(OP[3])を利用することができる。FSP書込みリセット値416は、リセット条件が満たされるときのゼロへのFSP書込みリセット(OP[2]=0)またはリセット条件が満たされるときの1へのFSP書込みリセット(OP[2]=1)を示すデータを含むオペランド2(OP[2])を利用することができる。FSP動作リセット値418は、リセット条件が満たされるときのゼロへのFSPリセット(OP[1]=0)またはリセット条件が満たされるときの1へのFSPリセット(OP[1]=1)を示すデータを含むオペランド1(OP[1])を利用することができる。FSPリセットエントリ420は、リセット条件が満たされないときのFSPリセットなし(OP[0]=0)またはリセット条件が満たされるときのFSPリセット(OP[0]=1)を示すデータを含むオペランド0(OP[0])を利用することができる。
本明細書では、特定の特徴について説明するために特定の用語が使用される。「モバイルデバイス」という用語は、限定はしないが、音楽プレーヤ、ビデオプレーヤ、娯楽ユニット、ナビゲーションデバイス、通信デバイス、モバイルデバイス、モバイル電話、スマートフォン、携帯情報端末、固定ロケーション端末、タブレットコンピュータ、コンピュータ、装着可能デバイス、ラップトップコンピュータ、サーバ、自動車内の自動車デバイス、および/または一般に、人物によって携帯され、かつ/または通信機能を有する(たとえば、ワイヤレス、セルラー、赤外線、短距離無線など)他のタイプのポータブル電子デバイスを表すことができる。さらに、「ユーザ機器」(UE)、「モバイル端末」、「モバイルデバイス」、および「ワイヤレスデバイス」という用語は、交換可能である場合がある。
上記の例による、プロセス、状態、およびコマンド(たとえば、プロセス100、プロセス105、プロセス200、状態図300、状態図305、およびモードレジスタ書込みコマンド410)は、モバイルデバイスの回路構成要素内など、いくつかの異なるアプリケーションに関して使用され得る。図5を参照すると、例として、UE500(ここでは、ワイヤレスデバイス)は、プラットフォーム502を有し、プラットフォーム502は、無線アクセスネットワーク(RAN)から送信され、最終的にはコアネットワーク、インターネット、および/または他のリモートサーバおよびネットワークから来る可能性がある、ソフトウェアアプリケーション、データ、および/またはコマンドを受信し、実行することができる。プラットフォーム502は、特定用途向け集積回路(「ASIC」508)またはSoCなどの他のプロセッサ、マイクロプロセッサ、論理回路、または他のデータ処理デバイスに動作可能に結合されたトランシーバ506を含むことができる。ASIC508または他のプロセッサは、ワイヤレスデバイスのメモリ512(すなわち、上記で説明したメインメモリ)内の任意の常駐プログラムとインターフェースするアプリケーションプログラミングインターフェース(「API」)510レイヤを実行する。メモリ512は、ランダムアクセスメモリ(DRAM)またはコンピュータプラットフォームに共通の任意の同様のメモリからなってよい。プラットフォーム502はまた、メモリ512内で積極的には使用されないアプリケーションを保持することのできるローカルデータベース514を含むことができる。ローカルデータベース514は、通常はフラッシュメモリセルだが、磁気媒体、EEPROM、光学媒体、テープ、ソフトまたはハードディスクなど、当技術分野で知られている任意の2次記憶デバイスとすることができる。プラットフォーム502の内部構成要素はまた、当技術分野で知られているように、構成要素の中でもとりわけ、アンテナ522、ディスプレイ524、プッシュツートークボタン528、およびキーボード526など、外部デバイスに動作可能に結合されてもよい。
UE500とRANとの間のワイヤレス通信は、符号分割多元接続(CDMA)、W-CDMA、時分割多元接続(TDMA)、周波数分割多元接続(FDMA)、直交周波数分割多重(OFDM)、グローバルシステムフォーモバイルコミュニケーションズ(GSM(登録商標))、3GPPロングタームエボリューション(LTE)、または、ワイヤレス通信ネットワークもしくはデータ通信ネットワーク内で使用できる他のプロトコルなど、種々の技術に基づくことができる。
図6は、ASIC508または上記で説明したSoCなどの例示的なプロセッサ10の機能ブロック図を示す。プロセッサ10は、制御論理14に従って、命令実行パイプライン12において命令を実行する。制御論理14は、1つまたは複数のステータスレジスタ16内のビットをセットおよびクリアして、たとえば、現在の命令セット動作モード、算術演算の結果に関する情報、および論理比較(0、繰上り、等しい、等しくない)などを示す。いくつかの例では、命令実行パイプライン12は、複数の並列パイプラインを含むスーパースカラ設計であってもよい。命令実行パイプライン12は実行ユニットと呼ばれることもある。汎用レジスタ(GPR)ファイル20は、パイプライン12によってアクセス可能な、メモリ階層の最上部を構成する汎用レジスタ24のリストを提供する。汎用レジスタ24のうちの1つは、最後のリセットコマンドがメモリによって受信されてからのクロックサイクルの数をカウントするためのクロックサイクルカウンタとして構成されてよく、汎用レジスタ24のうちのもう1つは、最後のリセットコマンドからメモリによって受信されたプロセッサコマンドの数をカウントするためのプロセッサコマンドカウンタとして構成されてよい。たとえば、プロセッサコマンドの数がコマンドリセット値を超える場合、またはクロックサイクルの数がクロックリセット値を超える場合、プロセッサ10は新しいリセットコマンドを発行することができる。クロックカウンタおよびプロセッサコマンドカウンタは、異なるレジスタ、またはデータキャッシュ(Dキャッシュ)30などのメモリ構成要素であってもよい。
プロセッサ10は、異なる命令セット動作モードにおける少なくとも2つの命令セットからの命令を実行するが、さらに、デバッグ回路18も備え、デバッグ回路18は、各命令の実行時に、少なくとも所定のターゲット命令セット動作モードを現在の命令セット動作モードと比較し、上記で図1A〜図5の例で説明したように、この2つの間の整合の指示を提供するように動作する。
パイプライン12は、命令側変換索引バッファ(ITLB:Instruction-side Translation Lookaside Buffer)28によって管理されるメモリアドレス変換および許可を用いて、命令キャッシュ(Iキャッシュ)26から命令をフェッチする。主変換索引バッファ(TLB:main Translation Lookaside Buffer)32によって管理されるメモリアドレス変換および許可を用いて、Dキャッシュ30(クラッシュログを一時的に記憶できるなど)からデータがアクセスされる。様々な例において、ITLB28は、TLB32の一部のコピーを含んでよい。別法として、ITLB28とTLB32とは一体化されてもよい。同様に、プロセッサ10の様々な例で、Iキャッシュ26とDキャッシュ30とは、一体化または統合されてもよい。さらに、Iキャッシュ26およびDキャッシュ30がL1キャッシュとされてもよい。Iキャッシュ26および/またはDキャッシュ30内でのミスは、メモリインターフェース34による、メイン(オフチップ)メモリ38、40へのアクセスを引き起こす。メインメモリ38は、メインメモリ38に関する現在のFSPを記憶するように構成可能な第1のモードレジスタ39を含んでよく、メインメモリ40はまた、メインメモリ40に関する現在のFSPを記憶するように構成可能な第2のモードレジスタ41を含んでよい。メモリインターフェース34は、1つまたは複数のメインメモリ38、40への共有バスを実装するバス配線42へのマスタ入力であってもよく、メインメモリ38、40は、本開示のいくつかの例による改善されたFSPプロセスを組み込むことができる。追加のマスタデバイス(図示せず)を、追加的にバス配線42に接続してもよい。
プロセッサ10は、入出力(I/O)インターフェース44を含んでよく、I/Oインターフェース44は、周辺バス上のマスタデバイスであってもよく、I/Oインターフェース44は、周辺バスを越えてバス46を介して様々な周辺デバイス48、50にアクセスしてもよい。プロセッサ10の多くの変形が可能であることが当業者には認識されよう。たとえば、プロセッサ10は、Iキャッシュ26とDキャッシュ30のいずれかまたは両方に関して第2のレベルの(L2)キャッシュを含んでもよい。加えて、プロセッサ10内に描かれた機能ブロックの1つまたは複数が、特定の例から省略されてもよい。JTAGコントローラ、命令プリデコーダ、分岐先アドレスキャッシュなど、プロセッサ10内に存在する場合がある他の機能ブロックは、本開示の説明と密接な関係はなく、明確にするためにこれらについては省略する。
「例示的な」という単語は、本明細書では、「例、実例、または例証として機能する」を意味するために使用される。「例示的」として本明細書で説明したいずれの詳細事項も、必ずしも他の例よりも好ましいか、または有利であると解釈されるべきでない。同様に、「例」という用語は、すべての例が説明する特徴、利点または動作モードを含むことを必要としない。本明細書において「一例では」、「例」、「1つの特徴では」、および/または「特徴」という用語を使用する場合、必ずしも同じ特徴および/または例を指すとは限らない。さらに、特定の特徴および/または構造は、1つもしくは複数の他の特徴および/または構造と組み合わせることができる。その上、本明細書で説明する装置の少なくとも一部分は、本明細書で説明する方法の少なくとも一部分を実行するように構成することができる。
本明細書で使用される用語は、特定の例を説明することのみを目的とし、本開示の例を限定することは意図されない。本明細書で使用される単数形「a」、「an」、および「the」は、文脈が別段に明確に示さない限り複数形を含むことを意図する。「comprises(備える)」、「comprising(備える)」、「includes(含む)」および/または「including(含む)」という用語は、本明細書で使用する場合、記述する特徴、整数、ステップ、動作、要素および/または構成要素の存在を明示するものであって、1つまたは複数の他の特徴、整数、ステップ、動作、要素、構成要素および/またはそのグループの存在または追加を排除するものではないことがさらに理解されよう。
「接続される」、「結合される」という用語、またはそれらのいかなる変形形態も、要素間の直接的または間接的な任意の接続または結合を意味し、仲介要素を介して互いに「接続」または「結合」される2つの要素間の仲介要素の存在を含むことができることに留意されたい。
本明細書における「第1の」、「第2の」などの呼称を使用する要素へのあらゆる参照は、これらの要素の数量および/または順序を限定するものではない。むしろ、これらの呼称は、2つ以上の要素、および/または要素の実例を区別する都合のよい方法として使用されている。したがって、第1および第2の要素への参照は、2つの要素のみを使用することができること、または第1の要素が第2の要素に必ず先行しなければならないことを意味しない。また、別段に記載されていない限り、一組の要素は、1つまたは複数の要素を備えることができる。
さらに、多くの例について、たとえば、コンピューティングデバイスの要素によって実行されるべきアクションのシーケンスの観点から説明する。本明細書で説明した様々なアクションは、特定の回路(たとえば、特定用途向け集積回路(ASIC))によって実行することも、あるいは1つまたは複数のプロセッサによって実行されるプログラム命令によって実行することも、あるいはその両方の組合せによって実行することも可能であることが認識されよう。加えて、本明細書で説明するこれらの一連のアクションは、実行されると、関連するプロセッサに本明細書で説明する機能を実行させる、対応するコンピュータ命令のセットを記憶した任意の形態のコンピュータ可読記憶媒体(たとえば、非一時的)内において完全に具現化されるものと見なすことができる。したがって、本開示の様々な態様は、すべてが特許請求される主題の範囲内のものであると考えられるいくつかの異なる形態において具現化され得る。加えて、本明細書で説明する例ごとに、任意のそのような例の対応する形態は、本明細書では、たとえば、説明するアクションを実行する「ように構成された論理」として記載される場合がある。
本出願に記述されるか、例示されるか、または図示されるもののいずれも、任意の構成要素、ステップ、特徴、利益、利点、または同等物が特許請求の範囲に記載されているかどうかにかかわらず、それらの構成要素、ステップ、特徴、利益、利点、または同等物を公衆に献呈することを意図していない。
さらに、本明細書で開示した例に関連して記載される、様々な例示の論理ブロック、モジュール、回路、およびアルゴリズムステップは、電子ハードウェア、コンピュータソフトウェアまたは両方の組合せとして実装できることが、当業者には諒解されよう。ハードウェアおよびソフトウェアのこの互換性を明確に示すために、種々の例示的な構成要素、ブロック、モジュール、回路、およびステップについて、上記では概してそれらの機能に関して説明した。そのような機能がハードウェアとして実装されるのか、それともソフトウェアとして実装されるのかは、特定の適用例および全体的なシステムに課された設計制約によって決まる。当業者は、上記の機能を特定の適用例ごとに様々な方法において実装する場合があるが、そのような実装形態の決定は、本開示の範囲からの逸脱を引き起こすものと解釈されるべきではない。
本明細書で開示した例に関して説明した方法、シーケンス、および/またはアルゴリズムは、ハードウェア、プロセッサによって実行されるソフトウェアモジュール、またはその2つの組合せにおいて直接具現化されてもよい。ソフトウェアモジュールは、RAMメモリ、フラッシュメモリ、ROMメモリ、EPROMメモリ、EEPROMメモリ、レジスタ、ハードディスク、リムーバブルディスク、CD-ROM、または当技術分野において知られている任意の他の形態の記憶媒体内に存在してもよい。例示的な記憶媒体は、プロセッサが記憶媒体から情報を読み取ること、および記憶媒体に情報を書き込むことができるようにプロセッサに結合される。代替形態において、記憶媒体はプロセッサと一体である場合がある。
本明細書で開示した態様に関して説明した様々な例示的な論理ブロック、モジュール、および回路は、汎用プロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)もしくは他のプログラマブル論理デバイス、個別ゲートもしくはトランジスタ論理、個別ハードウェア構成要素、または本明細書で説明した機能を実行するように設計されたそれらの任意の組合せを用いて実装または実行されてもよい。汎用プロセッサは、マイクロプロセッサであってもよいが、代替として、このプロセッサは、任意の従来のプロセッサ、コントローラ、マイクロコントローラ、またはステートマシンであってもよい。プロセッサはまた、コンピューティングデバイスの組合せ(たとえば、DSPおよびマイクロプロセッサの組合せ、複数のマイクロプロセッサ、DSPコアと連携した1つもしくは複数のマイクロプロセッサ、または任意の他のそのような構成)として実装されてもよい。
デバイスに関していくつかの態様について説明してきたが、これらの態様が対応する方法の説明も構成し、したがって、デバイスのブロックまたは構成要素が対応する方法ステップまたは方法ステップの特徴としても理解されるべきであることは言うまでもない。それと同様に、方法ステップに関してまたは方法ステップとして説明した態様は、対応するブロックまたは対応するデバイスの詳細もしくは特徴の説明も構成する。方法ステップのいくつかまたはすべては、たとえば、マイクロプロセッサ、プログラマブルコンピュータ、または電子回路などのハードウェア装置によって(またはハードウェア装置を使用して)実行することができる。いくつかの例では、最も重要な方法ステップのうちのいくつかまたは複数は、そのような装置によって実行することができる。
上記の発明を実施するための形態では、各例において様々な特徴が互いにグループ化されることがわかる。この開示様式は、特許請求された例が、それぞれの請求項に明示的に述べられたものよりも多い特徴を必要とするものとして理解されるべきでない。むしろ、実際には、発明性がある内容は、開示された個々の例のすべての特徴よりも少ない場合がある。したがって、以下の特許請求の範囲は、これによって本説明に組み込まれたものと見なされるべきであり、各請求項は単独で別個の例として存在することができる。各請求項は単独で別個の例として存在することができるが、従属請求項は、特許請求の範囲内で1つまたは複数の請求項との具体的な組合せを参照することができる一方で、他の例は、前記従属請求項と任意の他の従属請求項の主題との組合せ、または任意の特徴と他の従属請求項および独立請求項との組合せを包含するか、または含むことが可能であることに留意されたい。そのような組合せは、具体的な組合せが意図されていないことが明示的に表されない限り、本明細書で提案される。さらに、請求項の特徴は、前記請求項が独立請求項に直接従属していなくとも、任意の他の独立請求項に含まれることが可能であることも意図される。
本説明または特許請求の範囲で開示した方法は、本方法のそれぞれのステップまたは動作を実行するための手段を含むデバイスによって実行することが可能であることにさらに留意されたい。
さらに、いくつかの例では、個々のステップ/アクションは、複数のサブステップに再分割されるか、または複数のサブステップを含むことができる。そのようなサブステップは、個々のステップの開示に含まれ、個々のステップの開示の一部分となることが可能である。
上記の開示は本開示の例を示すが、添付の特許請求の範囲によって定義される本開示の範囲から逸脱することなく、本明細書で様々な変形および変更を施すことが可能であることに留意されたい。本明細書に記載の本開示の例による方法クレームの機能、ステップ、および/またはアクションは、任意の特定の順序で実行される必要はない。加えて、本明細書で開示した態様および例の関連する詳細を不明瞭にしないように、よく知られている要素は詳細には説明されず、または省略される場合がある。さらに、本開示の要素は、単数形において説明または特許請求がなされる場合があるが、単数形に限定することが明示的に述べられていない限り、複数形が企図される。
10 プロセッサ
12 命令実行パイプライン、パイプライン
14 制御論理
16 ステータスレジスタ
18 デバッグ回路
20 汎用レジスタ(GPR)ファイル
24 汎用レジスタ
26 命令キャッシュ(Iキャッシュ)
28 命令側変換索引バッファ、ITLB
30 キャッシュ(Dキャッシュ)
32 主変換索引バッファ、TLB
38 メイン(オフチップ)メモリ
39 第1のモードレジスタ
40 メイン(オフチップ)メモリ
41 第2のモードレジスタ
42 バス配線
44 入出力(I/O)インターフェース
46 バス
48 周辺デバイス
50 周辺デバイス
100 部分的プロセス
200 部分的プロセス
300 状態図
310 アイドル状態
314 セルフリフレッシュ終了コマンド
312 セルフリフレッシュエントリコマンド
316 モードレジスタ書込みコマンド
320 セルフリフレッシュ状態
330 自動FSPリセットシーケンス
340 モードレジスタ書込み状態
305 状態図
313 電源切断コマンド
315 アイドル状態
317 電源切断コマンド
319 モードレジスタ書込みコマンド
325 電源切断状態
335 自動FSPリセットシーケンス
345 モードレジスタ書込み状態
410 モードレジスタ書込みコマンド
412 FSPリセット条件カウント
414 FSPリセット条件
416 FSP書込みリセット値
418 FSP動作リセット値
420 FSPリセットエントリ
500 UE
502 プラットフォーム
506 トランシーバ
508 特定用途向け集積回路(「ASIC」)
510 アプリケーションプログラミングインターフェース(「API」)
512 メモリ
514 ローカルデータベース
522 アンテナ
524 ディスプレイ
526 キーボード
528 プッシュツートークボタン

Claims (20)

  1. 第1のメモリの周波数リセットのための方法であって、
    プロセッサが第1の周波数セットポイントで動作しており、かつ前記第1のメモリが前記第1の周波数セットポイントで動作しているとき、前記プロセッサがリセットコマンドを発行するステップと、
    前記プロセッサが前記第1のメモリに対してセルフリフレッシュコマンドを発行するステップであって、前記セルフリフレッシュコマンドが周波数リセットエントリを含む、発行するステップと、
    前記プロセッサを第2の周波数セットポイントに設定するステップと、
    前記プロセッサが前記第1のメモリを前記第2の周波数セットポイントに設定するためのレジスタ書込みコマンドを発行するステップと、
    前記第1のメモリを前記第2の周波数セットポイントに設定するステップと
    を含む、周波数リセットのための方法。
  2. 前記プロセッサを前記第2の周波数セットポイントに設定する前に、クラッシュログを第2のメモリ内に記憶するステップをさらに含む、請求項1に記載の周波数リセットのための方法。
  3. 前記第1のメモリを前記第2の周波数セットポイントに設定した後に、前記クラッシュログを前記第1のメモリ内に記憶するステップをさらに含む、請求項2に記載の周波数リセットのための方法。
  4. 前記第1のメモリが、音楽プレーヤ、ビデオプレーヤ、娯楽ユニット、ナビゲーションデバイス、通信デバイス、モバイルデバイス、モバイル電話、スマートフォン、携帯情報端末、固定ロケーション端末、タブレットコンピュータ、コンピュータ、ウェアラブルデバイス、ラップトップコンピュータ、サーバ、および自動車車両内の自動車デバイスからなるグループから選択されたデバイス内に組み込まれ、前記デバイスをさらに含む、請求項1に記載の周波数リセットのための方法。
  5. 非一時的コンピュータ可読記憶媒体であって、
    プロセッサが第1の周波数セットポイントで動作しており、かつ第1のメモリが前記第1の周波数セットポイントで動作しているとき、リセットコマンドを発行することと、
    前記第1のメモリに対してセルフリフレッシュコマンドを発行することであって、前記セルフリフレッシュコマンドが周波数リセットエントリを含む、発行することと、
    前記プロセッサを第2の周波数セットポイントに設定することと、
    前記第1のメモリを前記第2の周波数セットポイントに設定するためのレジスタ書込みコマンドを発行することと、
    前記第1のメモリを前記第2の周波数セットポイントに設定することと
    を含むプロセスを前記プロセッサに実行させるためのプログラム命令を含む、非一時的コンピュータ可読記憶媒体。
  6. 前記プロセッサを前記第2の周波数セットポイントに設定する前に、クラッシュログを第2のメモリ内に記憶することをさらに含む、請求項5に記載の非一時的コンピュータ可読記憶媒体。
  7. 前記第1のメモリを前記第2の周波数セットポイントに設定した後に、前記クラッシュログを前記第1のメモリ内に記憶することをさらに含む、請求項6に記載の非一時的コンピュータ可読記憶媒体。
  8. 第1のメモリのリセット条件を検査するための方法であって、
    プロセッサが第1の周波数セットポイントで動作しており、かつ前記第1のメモリが前記第1の周波数セットポイントで動作しているとき、前記プロセッサがリセット条件検査を開始するステップと、
    最後のリセットコマンドから前記第1のメモリによって受信されたプロセッサコマンドの数をカウントするステップと、
    前記最後のリセットコマンドが前記第1のメモリによって受信されてからのクロックサイクルの数をカウントするステップと、
    プロセッサコマンドの前記数がコマンドリセット値を超えるかどうかを決定するステップと、
    クロックサイクルの前記数がクロックリセット値を超えるかどうかを決定するステップと、
    プロセッサコマンドの前記数が前記コマンドリセット値を超える場合、またはクロックサイクルの前記数が前記クロックリセット値を超える場合、プロセッサがリセットコマンドを発行するステップと、
    前記第1のメモリに対してセルフリフレッシュコマンドを発行するステップであって、前記セルフリフレッシュコマンドが周波数リセットエントリを含む、発行するステップ
    を含む、前記プロセッサがリセットコマンドを発行するステップと、
    前記プロセッサを第2の周波数セットポイントに設定するステップと、
    前記第1のメモリを前記第2の周波数セットポイントに設定するためのレジスタ書込みコマンドを発行するステップと、
    前記第1のメモリを前記第2の周波数セットポイントに設定するステップと
    を含むリセット条件を検査するための方法。
  9. 前記プロセッサを前記第2の周波数セットポイントに設定する前に、クラッシュログを第2のメモリ内に記憶するステップをさらに含む、請求項8に記載のリセット条件を検査するための方法。
  10. 前記第1のメモリを前記第2の周波数セットポイントに設定した後に、前記クラッシュログを前記第1のメモリ内に記憶するステップをさらに含む、請求項9に記載のリセット条件を検査するための方法。
  11. 前記第1のメモリが、音楽プレーヤ、ビデオプレーヤ、娯楽ユニット、ナビゲーションデバイス、通信デバイス、モバイルデバイス、モバイル電話、スマートフォン、携帯情報端末、固定ロケーション端末、タブレットコンピュータ、コンピュータ、ウェアラブルデバイス、ラップトップコンピュータ、サーバ、および自動車車両内の自動車デバイスからなるグループから選択されたデバイス内に組み込まれ、前記デバイスをさらに含む、請求項8に記載のリセット条件を検査するための方法。
  12. 非一時的コンピュータ可読記憶媒体であって、
    プロセッサが第1の周波数セットポイントで動作しており、かつ第1のメモリが前記第1の周波数セットポイントで動作しているとき、リセット条件検査を開始することと、
    最後のリセットコマンドから前記第1のメモリによって受信されたプロセッサコマンドの数をカウントすることと、
    前記最後のリセットコマンドが前記第1のメモリによって受信されてからのクロックサイクルの数をカウントするステップと、
    プロセッサコマンドの前記数がコマンドリセット値を超えるかどうかを決定することと、
    クロックサイクルの前記数がクロックリセット値を超えるかどうかを決定することと、
    プロセッサコマンドの前記数が前記コマンドリセット値を超える場合、またはクロックサイクルの前記数が前記クロックリセット値を超える場合、リセットコマンドを発行することと、
    前記第1のメモリに対してセルフリフレッシュコマンドを発行することであって、前記セルフリフレッシュコマンドが周波数リセットエントリを含む、発行すること
    を含む、リセットコマンドを発行することと、
    前記プロセッサを第2の周波数セットポイントに設定することと、
    前記第1のメモリを前記第2の周波数セットポイントに設定するためのレジスタ書込みコマンドを発行することと、
    前記第1のメモリを前記第2の周波数セットポイントに設定することと
    を含むプロセスを前記プロセッサに実行させるためのプログラム命令を含む、非一時的コンピュータ可読記憶媒体。
  13. 前記プロセッサを前記第2の周波数セットポイントに設定する前に、クラッシュログを第2のメモリ内に記憶することをさらに含む、請求項12に記載の非一時的コンピュータ可読記憶媒体。
  14. 前記第1のメモリを前記第2の周波数セットポイントに設定した後に、前記クラッシュログを前記第1のメモリ内に記憶することをさらに含む、請求項13に記載の非一時的コンピュータ可読記憶媒体。
  15. 第1のメモリの周波数セットポイントリセットを制御するためのモードレジスタであって、
    前記第1のメモリをリセットするための周波数リセット条件を含む周波数リセット条件カウントと、
    最後のリセットコマンドが前記第1のメモリによって受信されてから前記第1のメモリによって受信されたプロセッサコマンドの数または前記最後のリセットコマンドが前記第1のメモリによって受信されてから発生したクロックサイクルの数を示す周波数リセット条件と、
    前記周波数リセット条件がいつ満たされているかを示す周波数書込みリセット値と、
    前記第1のメモリに関する周波数セットポイントを示す周波数リセット値と、
    前記周波数リセット条件が満たされているときに前記第1のメモリがリセットされたかどうかを示す周波数リセットエントリと
    を含む、モードレジスタ。
  16. 前記周波数リセット条件カウントが複数のオペランド条件を含む、請求項15に記載のモードレジスタ。
  17. 前記モードレジスタが前記第1のメモリに組み込まれる、請求項16に記載のモードレジスタ。
  18. 前記周波数リセット条件カウントがプロセッサによって更新される、請求項17に記載のモードレジスタ。
  19. 前記モードレジスタが、クラッシュログを記憶するように構成された第2のメモリに接続される、請求項18に記載のモードレジスタ。
  20. 前記第1のメモリが、音楽プレーヤ、ビデオプレーヤ、娯楽ユニット、ナビゲーションデバイス、通信デバイス、モバイルデバイス、モバイル電話、スマートフォン、携帯情報端末、固定ロケーション端末、タブレットコンピュータ、コンピュータ、ウェアラブルデバイス、ラップトップコンピュータ、サーバ、および自動車車両内の自動車デバイスからなるグループから選択されたデバイス内に組み込まれ、前記デバイスをさらに含む、請求項19に記載のモードレジスタ。
JP2018500902A 2015-07-31 2016-06-02 メモリの周波数リセットのためのシステム、方法、および装置 Pending JP2018528510A (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201562199639P 2015-07-31 2015-07-31
US62/199,639 2015-07-31
US15/170,742 US10331526B2 (en) 2015-07-31 2016-06-01 Systems, methods, and apparatus for frequency reset of a memory
US15/170,742 2016-06-01
PCT/US2016/035520 WO2017023408A1 (en) 2015-07-31 2016-06-02 Systems, methods, and apparatus for frequency reset of a memory

Publications (2)

Publication Number Publication Date
JP2018528510A true JP2018528510A (ja) 2018-09-27
JP2018528510A5 JP2018528510A5 (ja) 2019-06-13

Family

ID=57883569

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018500902A Pending JP2018528510A (ja) 2015-07-31 2016-06-02 メモリの周波数リセットのためのシステム、方法、および装置

Country Status (9)

Country Link
US (1) US10331526B2 (ja)
EP (1) EP3304325B1 (ja)
JP (1) JP2018528510A (ja)
KR (1) KR20180035815A (ja)
CN (1) CN107851075A (ja)
BR (1) BR112018002030A2 (ja)
CA (1) CA2989298A1 (ja)
TW (1) TW201712681A (ja)
WO (1) WO2017023408A1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9978437B2 (en) 2015-12-11 2018-05-22 Micron Technology, Inc. Apparatuses and methods for dynamic voltage and frequency switching for dynamic random access memory
US10599206B2 (en) * 2017-06-02 2020-03-24 Intel Corporation Techniques to change a mode of operation for a memory device

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060187226A1 (en) * 2005-02-24 2006-08-24 Ati Technologies Inc. Dynamic memory clock switching circuit and method for adjusting power consumption
JP2010020387A (ja) * 2008-07-08 2010-01-28 Sony Corp メモリアクセス制御装置および撮像装置
WO2013099035A1 (ja) * 2011-12-29 2013-07-04 ルネサスエレクトロニクス株式会社 半導体装置

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5229970A (en) * 1991-04-15 1993-07-20 Micron Technology, Inc. Circuit for synchronizing refresh cycles in self-refreshing drams having timing circuit shutdown
US5446695A (en) * 1994-03-22 1995-08-29 International Business Machines Corporation Memory device with programmable self-refreshing and testing methods therefore
KR100276386B1 (ko) * 1997-12-06 2001-01-15 윤종용 반도체메모리장치의리프레시방법및회로
US7088633B2 (en) * 2004-05-27 2006-08-08 Qualcomm Incorporated Method and system for providing seamless self-refresh for directed bank refresh in volatile memories
US7639764B2 (en) * 2005-08-17 2009-12-29 Atmel Corporation Method and apparatus for synchronizing data between different clock domains in a memory controller
US7369451B2 (en) * 2005-10-31 2008-05-06 Mosaid Technologies Incorporated Dynamic random access memory device and method for self-refreshing memory cells
JP4967561B2 (ja) * 2006-09-20 2012-07-04 富士通株式会社 移動通信端末、移動通信システム、基地局及び通信方法
US8069327B2 (en) * 2006-12-28 2011-11-29 Intel Corporation Commands scheduled for frequency mismatch bubbles
US7624310B2 (en) * 2007-07-11 2009-11-24 Micron Technology, Inc. System and method for initializing a memory system, and memory device and processor-based system using same
US20090024916A1 (en) * 2007-07-20 2009-01-22 Burckart Erik J Seamless Asynchronous Updates of Dynamic Content
US8275945B2 (en) * 2008-02-05 2012-09-25 Spansion Llc Mitigation of flash memory latency and bandwidth limitations via a write activity log and buffer
US7969807B2 (en) * 2008-03-05 2011-06-28 Qimonda Ag Memory that retains data when switching partial array self refresh settings
US8161356B2 (en) * 2008-03-28 2012-04-17 Intel Corporation Systems, methods, and apparatuses to save memory self-refresh power
CN102402454B (zh) * 2010-09-10 2013-10-02 联想(北京)有限公司 一种调节内存运行频率的方法及电子设备
JP2014019354A (ja) * 2012-07-20 2014-02-03 Toyota Motor Corp ハイブリッド自動車
US9704557B2 (en) * 2013-09-25 2017-07-11 Qualcomm Incorporated Method and apparatus for storing retention time profile information based on retention time and temperature
KR102216559B1 (ko) * 2013-12-09 2021-02-17 삼성전자주식회사 멀티 칩 패키지에 적합한 반도체 메모리 장치

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060187226A1 (en) * 2005-02-24 2006-08-24 Ati Technologies Inc. Dynamic memory clock switching circuit and method for adjusting power consumption
JP2010020387A (ja) * 2008-07-08 2010-01-28 Sony Corp メモリアクセス制御装置および撮像装置
WO2013099035A1 (ja) * 2011-12-29 2013-07-04 ルネサスエレクトロニクス株式会社 半導体装置

Also Published As

Publication number Publication date
WO2017023408A1 (en) 2017-02-09
CN107851075A (zh) 2018-03-27
KR20180035815A (ko) 2018-04-06
CA2989298A1 (en) 2017-02-09
US20170031785A1 (en) 2017-02-02
BR112018002030A2 (pt) 2018-09-11
EP3304325B1 (en) 2019-03-20
US10331526B2 (en) 2019-06-25
EP3304325A1 (en) 2018-04-11
TW201712681A (zh) 2017-04-01

Similar Documents

Publication Publication Date Title
US9430254B2 (en) Register mapping techniques
US9448933B2 (en) Using redundant transactions to verify the correctness of program code execution
US9612930B2 (en) Providing autonomous self-testing of a processor
US10198332B2 (en) System on chip integrity verification method and system
US20120011342A1 (en) System and Method to Manage a Translation Lookaside Buffer
US9710380B2 (en) Managing shared cache by multi-core processor
JP2020510916A (ja) ロード命令のメモリ・アクセスを回避するためのコンピュータ実装方法、システム、およびコンピュータ・プログラム
JP2017510000A (ja) コンピューティングデバイスを初期化するのに使われるファームウェアを修正するためのシステムおよび方法
JP2018528510A (ja) メモリの周波数リセットのためのシステム、方法、および装置
US9646661B2 (en) Memory device with internal combination logic
US20140181341A1 (en) System and method to reset a lock indication
US11113065B2 (en) Speculative instruction wakeup to tolerate draining delay of memory ordering violation check buffers
US11782897B2 (en) System and method for multiplexer tree indexing
US11175916B2 (en) System and method for a lightweight fencing operation
US9715432B2 (en) Memory fault suppression via re-execution and hardware FSM
US10114750B2 (en) Preventing the displacement of high temporal locality of reference data fill buffers
KR20180037980A (ko) Pat(punt avoidance table)를 사용하는 컴퓨터 프로세서에서 메모리 명령 펀트들의 예측
US20180095768A1 (en) Clock-gating for multicycle instructions
US8898426B2 (en) Target buffer address region tracking
CN116050322A (zh) 指令自修改的验证方法、系统、设备以及存储介质

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190513

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190513

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200221

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200309

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20201116