(57)【要約】  低電力メモリサブシステムにおけるメモリアレイおよびリンク誤り訂正の方法は、通常の書込み動作中および読取り動作中に、未使用データマスクビット内に誤り訂正コード(ECC)パリティビットを埋め込むステップを含む。本方法はまた、マスク書込み動作中に、アサートされたデータマスクビットに対応するマスク書込みデータバイトにECCパリティビットを埋め込むステップを含む。
2018524708.tif 000002
【特許請求の範囲】
【請求項１】
低電力メモリサブシステムにおけるメモリアレイおよびリンク誤り訂正の方法であって、
通常の書込み動作中および読取り動作中に、未使用データマスクビット内に誤り訂正コード(ECC)パリティビットを埋め込むステップと、
マスク書込み動作中に、アサートされたデータマスクビットに対応するマスク書込みデータバイトに前記ECCパリティビットを埋め込むステップと
を含む方法。
【請求項２】
前記ECCパリティビットのロケーションを示すステップをさらに含む、請求項1に記載の方法。
【請求項３】
前記マスク書込み動作中に埋め込むステップは、前記アサートされたデータマスクビットのうちの第1のものに対応する前記マスク書込みデータバイトのうちの第1のものに前記ECCパリティビットを埋め込むステップを含む、請求項1に記載の方法。
【請求項４】
マスク書込みコマンドは、データストリームまたはデータマスクビットストリームにおいて前記ECCパリティビットが埋め込まれているかどうかを示す追加のビットフィールド(EL)を含む、請求項1に記載の方法。
【請求項５】
前記マスク書込み動作中に埋め込むステップは、データマスクピンを通じてホストとメモリとの間で前記ECCパリティビットを転送するステップを含む、請求項1に記載の方法。
【請求項６】
マスク書込みコマンドの後に、書込みバーストデータにおいて前記ECCパリティビットが埋め込まれている場所を示すECCロケーションコマンドが来る、請求項1に記載の方法。
【請求項７】
前記低電力メモリサブシステムを、モバイルフォン、セットトップボックス、音楽プレーヤ、ビデオプレーヤ、エンターテインメントユニット、ナビゲーションデバイス、コンピュータ、ハンドヘルドパーソナル通信システム(PCS)ユニット、ポータブルデータユニット、固定ロケーションデータユニット、サーバコンピューティングシステムおよび/または車両制御システムの中に統合するステップをさらに含む、請求項1に記載の方法。
【請求項８】
誤り訂正コード(ECC)エンコーダ/デコーダを有するメモリコントローラを含み、前記メモリコントローラは、通常の書込み動作中および読取り動作中に、データマスクビットにECCパリティビットを埋め込み、マスク書込み動作中に、アサートされたデータマスクビットに対応するデータバイトにECCパリティビットを埋め込むように構成される、メモリサブシステム。
【請求項９】
前記メモリコントローラは、さらに、メモリデバイスからデータを読み取るために読取り経路に直接アクセスするように構成され、前記メモリコントローラの前記ECCエンコーダ/デコーダにおいて前記読取りデータ内のランダムビット誤りおよび/またはメモリリンク誤りを検出し訂正するように構成される、請求項8に記載のメモリサブシステム。
【請求項１０】
複数のメモリデバイスは、共有コマンド/アドレスバスを通じて前記メモリコントローラに結合される、請求項8に記載のメモリサブシステム。
【請求項１１】
前記メモリコントローラは、データマスクピンを通じてホストと前記複数のメモリデバイスとの間で前記ECCパリティビットを転送するように構成される、請求項10に記載のメモリサブシステム。
【請求項１２】
マスク書込みコマンドは、データストリームまたはデータマスクビットストリームにおいて前記ECCパリティビットが埋め込まれているかどうかを示す追加のビットフィールド(EL)を含む、請求項8に記載のメモリサブシステム。
【請求項１３】
前記メモリコントローラは、マスク書込みコマンドの後に、書込みバーストデータにおいて前記ECCパリティビットが埋め込まれている場所を示すECCロケーションコマンドが来るように構成される、請求項8に記載のメモリサブシステム。
【請求項１４】
モバイルフォン、セットトップボックス、音楽プレーヤ、ビデオプレーヤ、エンターテインメントユニット、ナビゲーションデバイス、コンピュータ、ハンドヘルドパーソナル通信システム(PCS)ユニット、ポータブルデータユニット、固定ロケーションデータユニット、サーバコンピューティングシステムおよび/または車両制御システムの中に統合される、請求項8に記載のメモリサブシステム。
【請求項１５】
低電力メモリサブシステムにおけるメモリアレイおよびリンク誤り訂正の方法であって、
通常の書込み動作中および読取り動作中に、未使用データマスクビット内に誤り訂正コード(ECC)パリティビットを埋め込むためのステップと、
マスク書込み動作中に、アサートされたデータマスクビットに対応するマスク書込みデータバイトに前記ECCパリティビットを埋め込むためのステップと
を含む方法。
【請求項１６】
前記ECCパリティビットのロケーションを示すためのステップをさらに含む、請求項15に記載の方法。
【請求項１７】
前記マスク書込み動作中に埋め込むための前記ステップは、前記アサートされたデータマスクビットのうちの第1のものに対応する前記マスク書込みデータバイトのうちの第1のものに前記ECCパリティビットを埋め込むためのステップを含む、請求項15に記載の方法。
【請求項１８】
マスク書込みコマンドは、データストリームまたはデータマスクビットストリームにおいて前記ECCパリティビットが埋め込まれているかどうかを示す追加のビットフィールド(EL)を含む、請求項15に記載の方法。
【請求項１９】
前記マスク書込み動作中に埋め込むための前記ステップは、データマスクピンを通じてホストとメモリとの間で前記ECCパリティビットを転送するためのステップを含む、請求項15に記載の方法。
【請求項２０】
マスク書込みコマンドの後に、書込みバーストデータにおいて前記ECCパリティビットが埋め込まれている場所を示すECCロケーションコマンドが来る、請求項15に記載の方法。
【請求項２１】
前記低電力メモリサブシステムを、モバイルフォン、セットトップボックス、音楽プレーヤ、ビデオプレーヤ、エンターテインメントユニット、ナビゲーションデバイス、コンピュータ、ハンドヘルドパーソナル通信システム(PCS)ユニット、ポータブルデータユニット、固定ロケーションデータユニット、サーバコンピューティングシステムおよび/または車両制御システムの中に統合するためのステップをさらに含む、請求項15に記載の方法。
【請求項２２】
通常の書込み動作中および読取り動作中に、データマスクビットに誤り訂正コード(ECC)パリティビットを埋め込むための手段と、
マスク書込み動作中に、アサートされたデータマスクビットに対応するデータバイトにECCパリティビットを埋め込むための手段と
を含むメモリサブシステム。
【請求項２３】
メモリデバイスからデータを読み取るために読取り経路に直接アクセスするための手段と、前記読取りデータ内のランダムビット誤りおよび/またはメモリリンク誤りを検出し訂正するための手段とをさらに含む、請求項22に記載のメモリサブシステム。
【請求項２４】
モバイルフォン、セットトップボックス、音楽プレーヤ、ビデオプレーヤ、エンターテインメントユニット、ナビゲーションデバイス、コンピュータ、ハンドヘルドパーソナル通信システム(PCS)ユニット、ポータブルデータユニット、固定ロケーションデータユニット、サーバコンピューティングシステムおよび/または車両制御システムの中に統合される、請求項22に記載のメモリサブシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願の相互参照
本出願は、2015年6月30日に出願された「MEMORY ARRAY AND LINK ERROR CORRECTION IN A LOW POWER MEMORY SUB-SYSTEM」という名称の米国仮特許出願第62/187,189号に対する利益を米国特許法第119条(e)の下に主張するものであり、この仮特許出願の開示全体が参照により本明細書に明確に組み込まれる。
【０００２】
本開示は、一般に集積回路(IC)に関する。より詳細には、本開示の一態様は、低電力メモリサブシステムにおけるメモリアレイおよびリンク誤り訂正に関する。
【背景技術】
【０００３】
半導体メモリデバイスは、たとえば、スタティックランダムアクセスメモリ(SRAM)およびダイナミックランダムアクセスメモリ(DRAM)を含む。DRAMメモリセルは概して、1つのトランジスタと1つのキャパシタとを含み、これにより、高度な統合が可能になる。キャパシタは、対応するビット値(たとえば、「0」または「1」)として情報を記憶するために荷電されるか、または放電され得る。キャパシタは電荷を漏洩するので、キャパシタの電荷が周期的にリフレッシュされない限り、記憶された情報は最終的に消滅する。リフレッシュ要件により、DRAMは、SRAMおよび他のスタティックメモリとは対照的にダイナミックメモリと呼ばれる。DRAMの連続的なリフレッシュは、概して、それの使用をコンピュータメインメモリに限定する。
【０００４】
DRAMスケーリングは、各DRAMチップの合計ビット数を増加させ続けている。残念ながら、DRAMスケーリングは、弱保持セル(たとえば、保持時間が低減されたセル)の数を増加させる。そのようなセルは、記憶された情報を維持するために追加のリフレッシュサイクルを伴う。高度なDRAMプロセスは、追加のリフレッシュサイクルまたは他のプロセスばらつきに起因して、メモリセルアレイ内のさらなるランダムビットリフレッシュ誤りに直面することがある。いくつかの低電力メモリは、メモリセルアレイにおけるいかなるランダムビット誤りにも誤り訂正コード(ECC)を適用することによって、メモリの歩留まり(yield)および信頼性を高めるために、ECCを実装する。しかしながら、ECC復号および誤り訂正は、読取りアクセス時間の増加に起因してメモリのパフォーマンスを低下させる。さらに、メモリリンク(たとえば、インターフェース)は、ECCによって保護されず、全体的なメモリの信頼性は、高い信頼性および高いパフォーマンスのシステムメモリ要件を満たすには不十分である。
【発明の概要】
【課題を解決するための手段】
【０００５】
低電力メモリサブシステムにおけるメモリアレイおよびリンク誤り訂正の方法は、通常の書込み動作中および読取り動作中に、未使用データマスクビット内に誤り訂正コード(ECC)パリティビットを埋め込むステップを含む。本方法はまた、マスク書込み動作中に、アサートされたデータマスクビットに対応するマスク書込みデータバイトにECCパリティビットを埋め込むステップを含む。
【０００６】
メモリサブシステムは、誤り訂正コード(ECC)エンコーダ/デコーダを有するメモリコントローラを含み、メモリコントローラは、通常の書込み動作中および読取り動作中に、データマスクビットにECCパリティビットを埋め込み、マスク書込み動作中に、アサートされたデータマスクビットに対応するデータバイトにECCパリティビットを埋め込むように構成される。
【０００７】
低電力メモリサブシステムは、通常の書込み動作中および読取り動作中に、データマスクビットに誤り訂正コード(ECC)パリティビットを埋め込むための手段を含む。低出力メモリサブシステムはまた、マスク書込み動作中に、アサートされたデータマスクビットに対応するデータバイトにECCパリティビットを埋め込むための手段を含む。
【０００８】
上記では、後続の詳細な説明をより良く理解することができるように、本開示の特徴および技術的利点について、かなり大まかに概説してきた。本開示の追加の特徴および利点について以下において説明する。本開示と同じ目的を実行するための他の構造を修正または設計するための基礎として、本開示が容易に使用され得ることを当業者は諒解されたい。そのような同等な構成は、添付の特許請求の範囲に記載される本開示の教示から逸脱しないことも当業者は認識されたい。構成と動作方法の両方に関して本開示の特性であると考えられる新規の特徴は、添付の図面と併せて考慮されるとき、さらなる目的および利点とともに、以下の説明からより良く理解されよう。しかしながら、図の各々が、例示および説明のために提供されるにすぎず、本開示の範囲を定めるものではないことは明確に理解されたい。
【０００９】
本開示のより完全な理解が得られるように、ここで、添付の図面と併せて以下の説明が参照される。
【図面の簡単な説明】
【００１０】
【図１】本開示の態様による、低電力メモリデバイスに通信可能に結合されたホストシステムオンチップ(SoC)を示す低電力メモリサブシステムの平面図である。
【図２Ａ】本開示の態様による、マスク書込み(MWT)コマンドを示すタイミング図である。
【図２Ｂ】本開示の態様による、読取り(RD)コマンドを示すタイミング図である。
【図２Ｃ】本開示の態様による、マスク書込み(MWT)コマンドを示すタイミング図である。
【図３】本開示の態様による、通常の書込みコマンド中のパリティビットの通信を示すタイミング図である。
【図４Ａ】本開示の態様による、マスク書込み(MWT)コマンド中にホストシステムオンチップ(SoC)と低電力メモリデバイスとの間で誤り訂正コード(ECC)パリティビットを転送するためのオプションを示すタイミング図である。
【図４Ｂ】本開示の態様による、マスク書込み(MWT)コマンド中にホストシステムオンチップ(SoC)と低電力メモリデバイスとの間で誤り訂正コード(ECC)パリティビットを転送するためのオプションを示すタイミング図である。
【図４Ｃ】本開示の態様による、マスク書込み(MWT)コマンド中にホストシステムオンチップ(SoC)と低電力メモリデバイスとの間で誤り訂正コード(ECC)パリティビットを転送するためのオプションを示すタイミング図である。
【図５】本開示の態様による、シリアルバス内の読取り(RD)コマンド中の誤り訂正コード(ECC)パリティビットの通信を示すタイミング図である。
【図６】本開示の態様による、共有コマンド/アドレスを使用してメモリデバイスに通信可能に結合されたホストシステムオンチップ(SoC)を示す低電力メモリサブシステムの平面図である。
【図７】本開示の態様による、マスク書込み(MWT)コマンド中に誤り訂正コード(ECC)ロケーション情報を通信するためのタイミング図である。
【図８Ａ】本開示の態様による、マスク書込み(MWT)コマンドおよび通常の書込みコマンド中のECCパリティビットの通信のための方法を示すフロー図である。
【図８Ｂ】本開示の態様による、読取り(RD)コマンド中のECCパリティビットの通信のための方法を示すフロー図である。
【図９】本開示の構成が有利に採用され得るワイヤレス通信システムを示すブロック図である。
【発明を実施するための形態】
【００１１】
添付の図面に関して以下に記載する詳細な説明は、様々な構成の説明として意図されており、本明細書で説明する概念が実践され得る唯一の構成を表すことは意図されていない。詳細な説明は、様々な概念の完全な理解をもたらすための具体的な詳細を含む。しかしながら、これらの概念がこれらの具体的な詳細なしに実践され得ることは、当業者には明らかであろう。場合によっては、そのような概念を曖昧にするのを回避するために、よく知られている構造および構成要素がブロック図の形態で示される。本明細書において説明されるときに、「および/または」という用語の使用は、「包含的論理和」を表すことが意図されており、「または」という用語の使用は、「排他的論理和」を表すことが意図されている。
【００１２】
半導体メモリデバイスは、たとえば、スタティックランダムアクセスメモリ(SRAM)およびダイナミックランダムアクセスメモリ(DRAM)を含む。DRAMメモリセルは概して、1つのトランジスタと1つのキャパシタとを含み、これにより、高度な統合が可能になる。キャパシタは、対応するビット値(たとえば、「0」または「1」)として情報を記憶するために荷電されるか、または放電され得る。キャパシタは電荷を漏洩するので、キャパシタの電荷が周期的にリフレッシュされない限り、記憶された情報は最終的に消滅する。リフレッシュ要件により、DRAMは、SRAMおよび他のスタティックメモリとは対照的にダイナミックメモリと呼ばれる。DRAMの連続的なリフレッシュは、概して、DRAMをコンピュータメインメモリとして使用することに限定する。
【００１３】
DRAMスケーリングは、各DRAMチップの合計ビット数を増加させ続けている。残念ながら、DRAMスケーリングは、弱保持セル(たとえば、保持時間が低減されたセル)の数を増加させる。そのようなセルは、記憶された情報を維持するために追加のリフレッシュサイクルを伴う。高度なDRAMプロセスは、追加のリフレッシュサイクルまたは他のプロセスばらつきに起因して、メモリセルアレイ内のさらなるランダムビットリフレッシュ誤りに直面することがある。いくつかの低電力メモリは、メモリセルアレイにおけるランダムビット誤りに誤り訂正コード(ECC)を適用することによって、メモリの歩留まりおよび信頼性を高めるために、ECCを実装する。
【００１４】
たとえば、サーバおよびコンピューティングシステムは、メモリリンクおよびメモリセルアレイの信頼性を高めるために、広い(たとえば、72ビット入力/出力(IO)幅の)メモリモジュールを使用し得る。サーバコンピューティングシステム内のメモリ障害は許容できないので、メモリ動作にECCを適用にすることによって、メモリリンクの信頼性が高められる。しかしながら、ECCの記憶は、追加のデバイスを伴う。たとえば、72ビットIO幅のメモリモジュールでは、8個のメモリデバイスの各64ビットデータブロックに8ビットECCが割り当てられる。各64ビットデータブロックに8ビットECCを割り当てることで、メモリインターフェースとメモリセルアレイの両方におけるビット誤りに対する保護を実現する。
【００１５】
しかしながら、72ビットIO幅のメモリモジュールでは、8個のメモリデバイスの各64ビットデータブロックに割り当てられた8ビットECCを記憶するために、9番目の64ビット(ECC)メモリデバイスが使用される。残念ながら、このメモリ構成は、メモリシステムコストおよびメモリ電力を増加させる。特に、このメモリ構成は、ECCメモリデバイスに起因してより広いメモリチャネルをサポートするための追加のプリント回路板(PCB)エリアおよびコストを伴う。ECCメモリデバイスはまた、スタンバイおよびアクティブ電力を伴い、これは、メモリ構成に関連するコストを増加させる。
【００１６】
メモリアレイとリンクの両方を保護するための1つの技法は、ホスト(たとえば、システムオンチップ(SoC))と低電力メモリとの間のECCビットの転送を含む。ECCビットは、データバースト長を拡張する(たとえば、16ビットバースト長を18ビットバースト長に拡張する)ことによって転送され得る。残念ながら、拡張されたバースト長は、正味メモリ帯域幅を低減することによって、著しいメモリパフォーマンスロスをもたらす。いくつかの低電力メモリは、メモリセルアレイにおけるランダムビット誤りにECCを適用することによって、メモリの歩留まりおよび信頼性を高めるために、ECCを実装する。しかしながら、メモリデバイス内のECC復号および誤り訂正は、読取りアクセス時間の増加に起因してメモリのパフォーマンスを低下させる。さらに、メモリリンク(たとえば、インターフェース)は、ECCによって保護されず、全体的なメモリの信頼性は、高い信頼性および高いパフォーマンスのシステムメモリ仕様を満たすには不十分である。
【００１７】
本開示の態様は、ホストシステムオンチップ(SoC)および複数のメモリを含むメモリサブシステムに関する。メモリコントローラは、書込みデータのための誤り訂正コード(ECC)ビットを生成するための、またメモリリンクおよびメモリコアアレイによって引き起こされたデータ障害を訂正するためのECC符号化および復号ブロックを有する。メモリは、データのためのセルアレイおよびECCパリティビットのためのECCアレイを有する。メモリコントローラからのECCパリティビットは、データマスクピンまたはマスク書込み(MWT)コマンドに関連するデータバイトを通じて、ホストとメモリとの間で転送される。ECCパリティビットのロケーションは、ECCビットロケーション情報を使用してメモリデバイスに通信され得る。このプロセスは、メモリサブシステムにおけるメモリ帯域幅ロスまたはメモリインターフェース変化を伴わない。マスク書込み動作の場合、メモリは、第1のアサートされたデータマスク(DM)ビット(たとえば、「H」)に関連するECCビットを復元し、マスク書込みコマンドビットフィールドが、「m」ビットデータパターンに関するDM活動を示す。通常の書込み動作の場合、メモリデバイスは、DMデータストリームからECCビットを復元する。
【００１８】
読取り動作では、メモリコントローラは、メモリデバイスからのDMデータストリームからECCビットを復元する。コマンド/アドレス(CA)バスが複数のメモリデバイスの間で共有されるとき、マスク書込みコマンドは、DMデータストリームにおいてECCバイトが埋め込まれている場所を示す追加のビットフィールド(EL)情報を含み得る。一構成では、ホストプログラムは、初期化中に各メモリデバイスにおけるモードレジスタにDQバイトIDを書き込む。(バイトID/順序を決定するための)メモリデバイスオプションは、パッケージレベルで組み込まれ得る。「m」=128の場合、「n」は16以下である。本開示のこの態様では、マスク書込みコマンドの後に、書込みバーストデータにおいてECCコードが埋め込まれている場所を示すECCロケーションコマンド(たとえば、ELビット)が来る。
【００１９】
図1は、本開示の態様による、メモリデバイス140(140-1、...、140-N)に結合されたホストシステムオンチップ(SoC)100を示す低電力メモリサブシステムの平面図を示す。本開示のこの態様は、メモリリンク(たとえば、インターフェース)とメモリセルアレイの両方をランダムビット誤りから保護するために、モバイルまたはコンピューティングシステムにおける低電力メモリサブシステムに誤り訂正コード(ECC)を適用する。より詳細には、本開示の態様は、モバイルまたはコンピューティングシステムチップセットにおける次世代低電力ダブルデータレート(DDR)仕様およびメモリコントローラ実装形態に関し得る。
【００２０】
代表的に、ホストSoC100は、マルチスレッド動作をサポートする様々な処理ユニットを含む。図1に示す構成の場合、ホストSoC100は、デジタル信号プロセッサ(DSP)102と、グラフィックスプロセッサユニット(GPU)およびマルチメディアエンジン104と、マルチコア中央処理装置(CPU)106と、システムバス108と、メモリコントローラ110と、メモリ物理層(PHY)130とを含む。DSP102、GPUおよびマルチメディアエンジン104ならびにマルチコアCPU106は、ビデオ、オーディオ、グラフィックス、ゲーミングなどのような様々な機能をサポートする。マルチコアCPU106の各プロセッサコアは、縮小命令セットコンピューティング(RISC)マシン、マイクロプロセッサ、または何らかの他のタイプのプロセッサとすることができる。
【００２１】
本開示のこの態様では、ホストSoC100は、メモリPHY130を通じてメモリデバイス140(たとえば、低電力ダイナミックランダムアクセスメモリ(DRAM))に通信可能に結合される。この構成では、メモリコントローラ110は、メモリPHY130を通じて、まとめてメモリリンクと呼ばれ得るデータバス132(132-1、...、132-N)およびコマンド/アドレスバス134(134-1、...、134-N)に沿って、メモリデバイス140のうちの1つに通信されるデータ122(たとえば、読取り/書込みデータ)のためのECCパリティビット124を生成するためのECCエンコーダ/デコーダ120を含む。ECCエンコーダ/デコーダ120によって生成されたECCパリティビット124は、メモリリンクおよびメモリデバイス140のメモリコアアレイによって引き起こされたデータ障害の訂正を可能にする。
【００２２】
ホストSoC100がメモリリンクシリアルデータレートを、たとえば、3200メガビット毎秒(Mbps)から6400Mbpsに上昇させるのに伴って、メモリリンク誤りに対する保護が一層の懸念事項になる。この構成では、データ122(たとえば、「m」ビット書込み)を保護するためにメモリコントローラ110によってECCパリティビット124(「n」ビットECC)が生成される。データ122は、メモリセルアレイ150(たとえば、メモリバンク)のうちの1つに記憶され、ECCパリティビット124は、ECCアレイ152に記憶される。ECCパリティビット124とデータ122の両方が書込みおよび読取り動作中にホストSoC100とメモリデバイス140との間で転送されるので、メモリリンク誤りは、ECCパリティビット124により検出され訂正され得る。また、メモリセルアレイ150におけるランダムビット誤りは、メモリコントローラ110のECCエンコーダ/デコーダ120において訂正され得る。
【００２３】
この構成では、メモリデバイス140は、データ122のためのメモリセルアレイ150(たとえば、メモリバンク)と、ECCパリティビット124のためのECCアレイ152とを含む。メモリコントローラ110からのECCパリティビット124は、データマスクピンまたはマスク書込みコマンドに関連するデータバイトを通じて、ホストSoC100とメモリデバイス140との間で転送され得る。ECCパリティビット124のロケーションは、ECCビットロケーション(EL)情報を使用してメモリデバイス140に通信され得る。このプロセスは、メモリサブシステムにおけるメモリ帯域幅ロスまたはメモリインターフェース変化を伴わない。以下でさらに詳細に説明するように、マスク書込み(MWT)動作中、メモリデバイス140は、第1のデータマスク(DM)ビットがアサート(たとえば、「H」)され、MWTコマンドビットフィールドがデータ122によるDM活動を示すときに、ECCパリティビット124を復元し得る。通常の書込み動作中、メモリデバイス140は、DMデータストリームからECCパリティビット124を復元し得る。
【００２４】
この構成では、メモリデバイス140は、データバス132およびコマンド/アドレスバス134に通信可能に結合された入力/出力(IO)ブロック146を含む。動作中、メモリコントローラ110によって生成されたECCパリティビット124は、データ122内のリンク誤りを検出し訂正するために、メモリデバイスのECCデコーダ/訂正ブロック160によって使用され得る。訂正され/確認されると、データ122およびECCパリティビット124は、メモリデバイス140の書込み経路142に沿ってECCエンコーダ170内で符号化された後、メモリアレイ150およびECCアレイ152のうちの一方に記憶される。ホストSoC100は、(たとえば、3200Mbpsから6400Mbpsへの)メモリリンクシリアルデータレートの上昇によって引き起こされ得るメモリリンク誤りを、ECCパリティビット124により検出し訂正することが可能である。さらに、メモリセルアレイ150におけるランダムビット誤りは、メモリデバイス140の読取り経路144に沿ってメモリコントローラ110のECCエンコーダ/デコーダ120において訂正され得る。
【００２５】
図2Aは、たとえば、32ビットデータバス幅を有するシリアルバス内の、マスク書込み(MWT)コマンドを示すタイミング図200である。タイミング図200は、クロック信号202、コマンド信号204およびアドレス信号206を示す。タイミング図200はまた、関連する書込みレイテンシ214およびバーストデータ216を有する第1のデータ信号210を示す。マスク書込みコマンドの場合、1つのデータマスク(DM)ビットが各書込みデータバイトに割り当てられる。たとえば、第1のデータマスク信号212は、各書込みデータバイトに関連する第1のデータマスク信号212(DMθ)などのDMビットを含む。DMビットがアサートされた(たとえば、DMビット=「H」)とき、対応する書込みデータバイトがメモリセルアレイに書き込まれない。DMビットがデアサートされた(たとえば、DMビット=「L」)とき、対応する書込みデータバイトがメモリセルアレイに書き込まれる。第2のデータ信号220および関連する第2のデータマスク信号222ならびに第4のデータ信号230および関連する第4のデータマスク信号232も示されている。
【００２６】
図2Bは、たとえば、32ビットデータバス幅を有するシリアルバス内の、読取り(RD)コマンドを示すタイミング図250である。タイミング図250はまた、クロック信号202、コマンド信号204およびアドレス信号206を示す。タイミング図250はまた、関連する読取りレイテンシ254およびバーストデータ256を有する第1のデータ信号210を示す。RDコマンドの場合、データマスクビットは入力であり、読取り動作中に「Don't Care」と示される。すなわち、データマスクピンは読取り動作中に無視される。第2のデータ信号220および関連する第2のデータマスク信号222ならびに第4のデータ信号230および関連する第4のデータマスク信号232も示されている。
【００２７】
再び図1を参照すると、メモリデバイス140では、メモリライン全体(たとえば、256ビットワード)が一般に、書込み動作中にメモリアレイから読み取られる。マスク書込み動作中、ECCエンコーダ170は、真の書込みデータによりECC符号化を実行するために、メモリセルアレイ150のうちの1つの中で読取り-修正-書込み動作を実行する(マスキングされたデータバイトが、メモリセルアレイ150のうちの1つにおいて対応するデータバイトに置き換えられる)。すなわち、マスク書込み動作は、マスキングされたデータバイトがメモリセルアレイ150に書き込まれないような、メモリラインの選択されたバイトの更新を可能にする。動作中、無視される書込みデータバイトを指定することによって、1つまたは複数の指定された書込みデータバイトを除去し、読取り-修正-書込み動作を限定するために、データ122とともに余剰ピン(たとえば、データマスクビット)が送られる。
【００２８】
図2Cは、たとえば、16に等しいバースト長を伴う関連する16ビットデータマスクを有する128ビット書込みデータのための、マスク書込みコマンドを示すタイミング図260である。タイミング図260では、「D」は書込みデータを指し、「M」はデータマスクビットを指し、DQバイトごとに1つのデータマスクビットが割り当てられる。この例では、書込みデータD<16:23>に関連するDM0ピンのM2ビットがアサート(たとえば、「High」または「H」)される。結果として、マスク書込みデータ270(たとえば、書込みデータD<16:23>)は、メモリセルアレイ150(図1)のうちの対象とする1つに書き込まれない。マスク書込みコマンドに応答して、メモリデバイス140のうちの対象とする1つは、メモリセルアレイ150のうちの1つからの読取り動作を実行し、マスク書込みデータ270を読取りデータQ<16:23>に置き換えて、ECCエンコーダ170を使用するECC符号化のための書込みデータ(たとえば、128ビット書込みデータ)を形成する。ECCエンコーダ170は、メモリセルアレイ150のうちの対象とする1つの中に128ビット書込みデータを書き込み、ECCパリティビット124がECCアレイ152のうちの対象とする1つに書き込まれる。
【００２９】
本開示の態様は、ホストシステムオンチップ(SoC)および複数の低電力メモリを含む低電力メモリシステムにおけるメモリアレイおよびリンク誤り訂正に関する。メモリコントローラ110は、メモリアレイおよびリンク誤り訂正を実現するための読取り/書込みデータのためのECCビットを生成するためのECCエンコーダ/デコーダ120を含む。この解決策は、低電力メモリデバイス内のビルトインメモリアレイ誤り訂正を活用し得る。ホストSoCと低電力メモリとの間でECCパリティビットを通信することで、メモリサブシステムにおけるメモリ帯域幅ロスまたはメモリインターフェース変更を伴うべきではない。
【００３０】
本開示の態様では、メモリコントローラからのECCパリティビットは、データマスクピンまたはマスク書込みコマンドに関連するデータバイトを通じて、ホストSoCと低電力メモリとの間で転送される。ECCパリティビットのロケーションは、ECCビットロケーション情報を使用してメモリデバイスに通信され得る。マスク書込み動作の場合、メモリは、第1のアサートされたデータマスク(DM)ビット(たとえば、「H」)に関連するECCビットを復元し、マスク書込みコマンドビットフィールドが、各「m」ビットデータパターンに関するDM活動を示す。通常の書込み動作の場合、メモリデバイスは、DMデータストリームからECCビットを復元する。
【００３１】
図3は、たとえば、16に等しいバースト長を伴う関連する16ビットデータマスクを有する128ビット書込みデータのための、通常の書込みコマンドを示すタイミング図300である。メモリデバイス140(図1)などの低電力メモリデバイスは、マスク書込みコマンドとは別個の通常の書込みコマンドを有する。通常の書込みコマンドの場合、128ビット書込みデータに関連するDM0ピンのすべてのビット(E0、...、E15)がデアサート(たとえば、「Low」)される。対照的に、マスク書込みコマンドの場合、少なくとも1つのDMビットがバーストデータストリーム(BL)中にアサート「High」される。結果として、DM0ピンのビットは、通常の書込みコマンド中に使用されない。通常の書込みコマンドのこの例では、ECCパリティビット(E0、...、E15)は、未使用DMビット320を通じてメモリデバイス140に転送され、「E」がECCパリティビットを表す。結果として、メモリデバイス140は、DMピンを通じてメモリコントローラ110によって生成されたECCパリティビット124を認識することができる。
【００３２】
一方、マスク書込みコマンド中、DMピンは、ECCパリティビット124を搬送するために利用可能ではない。本開示の態様では、メモリコントローラ110からのECCパリティビット124は、マスク書込みコマンドに関連するマスク書込みデータバイトを通じて、ホストSoC100とメモリデバイス140との間で転送される。ECCパリティビットのロケーションは、ECCビットロケーション情報を使用してメモリデバイスに通信され得る。このプロセスは、メモリサブシステムにおけるメモリ帯域幅ロスまたはメモリインターフェース変化を伴わない。メモリデバイス140は、第1のアサートされたデータマスク(DM)ビット(たとえば、「H」)に関連するECCビットを復元し、マスク書込みコマンドビットフィールドが、各「m」ビットデータパターンに関するDM活動を示す。通常の書込み動作の場合、メモリデバイスは、DMデータストリームからECCビットを復元する。
【００３３】
本開示の態様では、計16個のECCパリティビットが、128ビットデータチャンク(たとえば、DQバイトX16データビート)から入手可能である。代替実装形態では、128ビットデータチャンクごとのECCパリティビットの16データビートは、ECCパリティビットよりも多くを含む。たとえば、16データビートは、8ビットECCパリティビットのほか、データバス反転ビットおよび他の同様のビットを含み得る。
【００３４】
図4A〜図4Cは、本開示の態様による、マスク書込みコマンド中にホストSoC100とメモリデバイス140との間でECCパリティビット124を転送するための様々なオプションを示すタイミング図である。
【００３５】
図4Aは、たとえば、16に等しいバースト長を伴う関連する16ビットデータマスクを有する128ビット書込みデータのための、マスク書込みコマンドを示すタイミング図400である。この構成では、128ビット書込みデータは、第1の書込みデータ410および第2の書込みデータ420(たとえば、第1の8ビットECCパリティビットを有する第1の64ビットデータ部分および第2の8ビットECCパリティビットを有する第2の64ビットデータ部分)に分割される。述べたように、マスク書込みコマンド場合、少なくとも1つのデータマスクビット(DM0)が(たとえば、64ビットバースト長を有する)バーストデータストリーム中にアサート「H」される。この例では、第1の8ビットECC(たとえば、E0、...、E7)が第1のマスク書込みデータバイト412(たとえば、D<16:23>)内に埋め込まれる。さらに、第2の8ビットECC(たとえば、E8、...、E15)が第2のマスク書込みデータバイト422(たとえば、D<64:71>)内に埋め込まれる。
【００３６】
図4Bは、第2の書込みデータ420のための通常の書込み動作と組み合わせられた第1の書込みデータ410のためのマスク書込み動作を示すタイミング図430である。この構成では、第1の8ビットECC(たとえば、E0、...、E7)が第1のマスク書込みデータバイト412(たとえば、D<16:23>)内に埋め込まれる。第2の書込みデータ420では、DM0ピンのビットは、通常の書込み動作には使用されない。この例では、第2の8ビットECC(たとえば、E8、...、E15)が、第2の未使用DMビット424を通じてメモリデバイス140に転送される。結果として、メモリデバイスは、第1の書込みデータ410のための第1のマスク書込みデータバイト412および第2の書込みデータ420のための第2の未使用DMビット424を通じて、メモリコントローラ110によって生成されたECCパリティビット124を認識することができる。本開示のこの態様では、ホストSoC100は、ECCバイトが埋め込まれている場所、すなわち、データマスク活動に応じてマスク書込みデータバイトまたは未使用DMビットを示す拡張ビットフィールドを有するマスク書込みコマンドを発信する。
【００３７】
図4Cは、第2の書込みデータ420のためのマスク書込み動作と組み合わせられた第1の書込みデータ410のための通常の書込み動作を示すタイミング図450である。この構成では、DM0ピンのビットは、通常の書込み動作には使用されない。この例では、第1の8ビットECC(たとえば、E0、...、E8)が、第1の未使用DMビット414を通じてメモリデバイス140に転送される。第2の書込みデータ420では、第2の8ビットECC(たとえば、E8、...、E15)が第2のマスク書込みデータバイト422(たとえば、D<120:127>)内に埋め込まれる。結果として、メモリデバイスは、第1の書込みデータ410のための第1の未使用DMビット414および第2の書込みデータ420のための第2のマスク書込みデータバイト422を通じて、メモリコントローラ110によって生成されたECCパリティビット124を認識することができる。本開示のこの態様では、ホストSoC100はまた、ECC情報が埋め込まれている場所、すなわち、データマスク活動に応じて未使用DMビットまたはマスク書込みデータバイトを示す拡張ビットフィールドを有するマスク書込みコマンドを発信する。
【００３８】
図5は、本開示の態様による、たとえば、128ビット入力/出力バス幅を有するシリアルバス内の、読取り(RD)コマンド中のECCパリティビットの通信を示すタイミング図500である。タイミング図500は、クロック信号502、コマンド信号504およびアドレス信号506を示す。タイミング図500はまた、関連する読取りレイテンシ514およびバーストデータ516を有する第1のデータ信号510および関連する第1のデータマスク信号512を示す。読取り(RD)コマンドの場合、128ビット読取りデータおよび各DQバイト(たとえば、D0、...、D15)に関する16ビットECC(たとえば、E0、...、E15)が、未使用DMビット550を使用してメモリセルアレイ150からホストSoC100に転送される。読取り動作中のメモリリンク誤りが、未使用DMビット550からのECCパリティビット124を使用してメモリコントローラ110のECCエンコーダ/デコーダ120において検出され訂正され得る。第2のデータ信号520および関連する第2のデータマスク信号522ならびに第4のデータ信号530および関連する第4のデータマスク信号532も示されている。
【００３９】
図6は、本開示の態様による、共有コマンド/アドレスバス634を通じてメモリデバイス640(640-1、640-2)に通信可能に結合されたホストシステムオンチップ(SoC)600を示す低電力メモリサブシステムの平面図を示す。読取り動作中に、ECCパリティビット124は、メモリデバイス640からの未使用DMビット550(図5参照)を使用して復元され得る。ただし、この構成では、共有コマンド/アドレスバス634がホストSoC600とメモリデバイス640との間に設けられる。共有コマンド/アドレスバス634を使用する構成では、マスク書込みコマンドは、データまたはデータマスクビットストリームにおいてECCパリティビット124が埋め込まれているかどうかを示す追加のビットフィールド(EL)を含み得る。
【００４０】
共有コマンド/アドレスバス634が複数のデバイスをサポートする本開示のこの態様では、ホストは、EL情報を区別するために、各デバイスへのバイトIDをプログラミングし得る。このプログラミングは、パッケージオプションまたはモードレジスタセット(MRS)プログラミングのいずれかを使用して実行され得る。たとえば、共有コマンド/アドレスバス634を使用するとき、ホストSoC600は、メモリデバイス640の各々へのバイトIDをプログラミングする(たとえば、メモリデバイス640-1への「L」およびメモリデバイス640-2への「H」、そしてメモリデバイス640-1はEL<0:3>を割り当てられ、メモリデバイス640-2はEL<4:7>を割り当てられる)。代替的に、機能はパッケージレベルで提供され、デバイスIDピンが、メモリデバイス640-1の「Ground」およびメモリデバイス640-2の「Power(論理高)」に結び付けられる。
【００４１】
たとえば、図7は、本開示の態様による、マスク書込みコマンド中にECCロケーションを通信するためのタイミング図700を示す。タイミング図700は、クロック信号702、およびコマンド/アドレス信号704を示す。本開示のこの態様では、マスク書込み(MW)コマンドの後に、データ122においてECCパリティビット124が埋め込まれている場所を示すECCロケーションコマンド(たとえば、ELビット)が来る。代替構成では、ホストSoC600は、図6に示すように、初期化中にメモリデバイス640の各々におけるモードレジスタ650(650-1、650-2)にDQバイトID(識別情報)を書き込む。(バイトID/順序を決定するための)メモリデバイスオプションも、パッケージレベルで組み込まれ得る。
【００４２】
図8Aは、本開示の態様による、低電力メモリサブシステムにおけるメモリアレイおよびリンク誤り訂正の方法800を示すフロー図である。ブロック802において、メモリコントローラは、書込みデータのためのECCパリティビット(たとえば、64ビット書込みデータのための8ビットECCパリティビット)を生成する。ブロック804において、マスク書込み動作が実行されているかどうかが判断される。通常の書込み動作が実行されているとき、ブロック808において、データマスクバーストデータにECCパリティビットが追加される。たとえば、図3に示すように、ECCパリティビット(E0、...、E15)が未使用DMビット320を通じてメモリデバイス140に転送される。マスク書込みコマンドの場合、ブロック806において、ECCパリティビットは、第1のアサートされたデータマスクビットに関連する第1のマスク書込みデータバイトを置き換える。たとえば、図4Aに示すように、第1の8ビットECC(たとえば、E0、...、E7)が第1のマスク書込みデータバイト412(たとえば、D<16:23>)内に埋め込まれる。
【００４３】
再び図8Aを参照すると、ブロック810において、ホスト(たとえば、SoC)は、対象メモリデバイスに書込みデータおよびデータマスクを送り出す。ブロック812において、対象メモリデバイスは、ホストから書込みデータおよびデータマスクを受信する。ブロック820において、マスク書込み動作が実行されているかどうかが判断される。通常の書込み動作が実行されているとき、通常の書込みコマンドを完了させるためにプロセスブロック830〜834が実行される。マスク書込みコマンドの場合、マスク書込みコマンドを完了させるためにプロセスブロック822〜828が実行される。
【００４４】
図8Bは、本開示の態様による、低電力メモリサブシステムにおける読取り動作のための方法850を示すフロー図である。ブロック852において、メモリコントローラは、対象メモリデバイスに読取りコマンドを発信する。ブロック854において、対象メモリデバイスは、メモリセルアレイから読取りデータを、ECCアレイからECCビットを読み取る。読取り動作では、随意に、ECC復号および読取りデータ誤り訂正のためのブロック856および858は、ブロック860および862においてECCエンコーダ/デコーダを使用してメモリセルアレイにおいて引き起こされたビット誤りをメモリコントローラが復元できるので、メモリ実装形態を簡素化するために、また読取り速度を速める(たとえば、読取りコマンドからの読取りレイテンシを低減する)ために省略されることがある。それは、メモリのパフォーマンス(レイテンシ)とメモリサブシステムの信頼性(メモリセルアレイのビット誤り+読取りリンク誤り)との間のトレードオフである。
【００４５】
一構成では、低電力メモリサブシステムは、通常の書込み動作中および読取り動作中に、データマスクビットに誤り訂正コード(ECC)パリティビットを埋め込むための手段を含む。低出力メモリサブシステムはまた、マスク書込み動作中に、アサートされたデータマスクビットに対応するデータバイトにECCパリティビットを埋め込むための手段を含む。本開示の一態様では、埋込み手段は、埋込み手段によって列挙される機能を実行するように構成された図1のメモリコントローラ110である。本開示の一態様では、埋込み手段は、埋込み手段によって列挙される機能を実行するように構成された図1のECCエンコーダ/デコーダ120である。図1のECCエンコーダ/デコーダ120はまた、読取りデータ内のランダムビット誤りおよび/またはメモリリンク誤りを検出し訂正するための手段を提供し、メモリコントローラ110はまた、メモリデバイスからデータを読み取るために読取り経路に直接アクセスするための手段と、読取りデータ内のランダムビット誤りおよび/またはメモリリンク誤りを検出し訂正するための手段とを提供する。別の態様では、上記の手段は、上記の手段によって列挙される機能を実行するように構成されたデバイスまたは任意の層であってよい。
【００４６】
本開示の態様は、ホストシステムオンチップ(SoC)および複数のメモリを含むメモリサブシステムに関する。メモリコントローラは、書込みデータのための誤り訂正コード(ECC)ビットを生成するための、またメモリリンクおよびメモリコアアレイによって引き起こされたデータ障害を訂正するためのECC符号化および復号ブロックを有する。メモリは、データのためのセルアレイおよびECCパリティビットのためのECCアレイを有する。メモリコントローラからのECCパリティビットは、データマスクピンまたはマスク書込み(MWT)コマンドに関連するデータバイトを通じて、ホストとメモリとの間で転送される。ECCパリティビットのロケーションは、ECCビットロケーション情報を使用してメモリデバイスに通信され得る。このプロセスは、メモリサブシステムにおけるメモリ帯域幅ロスまたはメモリインターフェース変化を伴わない。マスク書込み動作の場合、メモリは、第1のアサートされたデータマスク(DM)ビット(たとえば、「H」)に関連するECCビットを復元し、マスク書込みコマンドビットフィールドが、「m」ビットデータパターンごとのDM活動を示す。通常の書込み動作の場合、メモリデバイスは、DMデータストリームからECCビットを復元する。
【００４７】
読取り動作では、メモリコントローラは、メモリデバイスからのDMデータストリームからECCビットを復元する。コマンド/アドレス(CA)バスが複数のメモリデバイスの間で共有されるとき、マスク書込みコマンドは、DMデータストリームにおいてECCバイトが埋め込まれている場所を示す追加のビットフィールド(EL)情報を含み得る。一構成では、ホストプログラムは、初期化中に各メモリデバイスにおけるモードレジスタにDQバイトIDを書き込む。(バイトID/順序を決定するための)メモリデバイスオプションは、パッケージレベルで組み込まれ得る。「m」=128の場合、「n」は16以下である。本開示のこの態様では、マスク書込みコマンドの後に、書込みバーストデータにおいてECCコードが埋め込まれている場所を示すECCロケーションコマンド(たとえば、ELビット)が来る。
【００４８】
図9は、本開示の構成が有利に採用され得る例示的なワイヤレス通信システム900を示すブロック図である。例示のために、図9は、3つのリモートユニット920、930、および950と2つの基地局940とを示す。ワイヤレス通信システムがより多くのリモートユニットおよび基地局を有してよいことが認識されよう。リモートユニット920、930、および950は、開示する低電力メモリサブシステムを含む、ICデバイス925A、925B、および925Cを含む。また、基地局、スイッチングデバイス、およびネットワーク機器を含む、ICを含む任意のデバイスも、開示する低電力メモリサブシステムを含み得ることが認識されよう。図9は、基地局940からリモートユニット920、930、および950への順方向リンク信号980、ならびに、リモートユニット920、930、および950から基地局940への逆方向リンク信号990を示す。
【００４９】
図9では、リモートユニット920はモバイル電話として示され、リモートユニット930はポータブルコンピュータとして示され、リモートユニット950はワイヤレスローカルループシステム内の固定ロケーションリモートユニットとして示されている。たとえば、リモートユニットは、モバイルフォン、ハンドヘルドパーソナル通信システム(PCS)ユニット、携帯情報端末などのポータブルデータユニット、GPS対応デバイス、ナビゲーションデバイス、セットトップボックス、音楽プレーヤ、ビデオプレーヤ、エンターテインメントユニット、メーター読取り機器などの固定ロケーションデータユニット、またはデータもしくはコンピュータ命令を記憶する、もしくは取り出す任意の他のデバイス、あるいはそれらの任意の組合せであってよい。たとえば、低電力メモリサブシステムを含むリモートユニットは、車両制御システム、サーバコンピューティングシステム、または重要なデータの完全性を明示する他の同様のシステムの中に統合され得る。図9は、開示する低電力メモリサブシステムを含むICデバイス925A、925B、および925Cを示すが、本開示はこれらの例示的な示されるユニットに限定されない。本開示の態様は、低電力メモリサブシステムを含む任意のデバイスにおいて適切に採用され得る。
【００５０】
ファームウェアおよび/またはソフトウェアの実装形態の場合、これらの方法は、本明細書で説明した機能を実行するモジュール(たとえば、手順、機能など)を用いて実装されてもよい。命令を有形に具現化するいずれの機械可読媒体も、本明細書で説明した方法を実装する際に使用され得る。たとえば、ソフトウェアコードは、メモリに記憶され、プロセッサユニットによって実行され得る。メモリは、プロセッサユニット内でまたはプロセッサユニットの外部に実装され得る。本明細書で使用する「メモリ」という用語は、任意の種類の長期メモリ、短期メモリ、揮発性メモリ、不揮発性メモリ、または他のメモリを指し、いずれかの特定のタイプのメモリもしくはいずれかの特定のメモリ数に限定すべきではなく、また、メモリが記憶される媒体としていずれかの特定のタイプの媒体に限定すべきではない。
【００５１】
ファームウェアおよび/またはソフトウェアにおいて実装される場合に、機能は、コンピュータ可読媒体上の1つまたは複数の命令またはコードとして記憶され得る。例は、データ構造を用いて符号化されたコンピュータ可読媒体、およびコンピュータプログラムを用いて符号化されたコンピュータ可読媒体を含む。コンピュータ可読媒体は、物理的なコンピュータ記憶媒体を含む。記憶媒体は、コンピュータによってアクセスされ得る利用可能な媒体であり得る。限定ではなく例として、そのようなコンピュータ可読媒体は、RAM、ROM、EEPROM、CD-ROMもしくは他の光ディスクストレージ、磁気ディスクストレージもしくは他の磁気記憶デバイス、または、所望のプログラムコードを命令もしくはデータ構造の形で記憶するために使用され得るとともに、コンピュータによってアクセスされ得る他の媒体を含むことができ、本明細書で使用するディスク(disk)およびディスク(disc)は、コンパクトディスク(disc)(CD)、レーザーディスク(登録商標)(disc)、光ディスク(disc)、デジタル多用途ディスク(disc)(DVD)、フロッピーディスク(disk)、およびブルーレイディスク(disc)を含み、ディスク(disk)は通常、データを磁気的に再生し、ディスク(disc)はデータをレーザーを用いて光学的に再生する。上記の組合せはまた、コンピュータ可読媒体の範囲内に含まれるものとする。
【００５２】
コンピュータ可読媒体に記憶することに加えて、命令および/またはデータは、通信装置に含まれる伝送媒体上の信号として提供されてもよい。たとえば、通信装置は、命令およびデータを表す信号を有するトランシーバを含んでもよい。命令およびデータは、1つまたは複数のプロセッサに、請求項に概説される機能を実施させるように構成される。
【００５３】
本開示およびその利点について詳細に説明したが、添付の特許請求の範囲によって定義される本開示の技術から逸脱することなく、明細書において様々な変更、置換、および改変が行われてもよいことを理解されたい。たとえば、「上」および「下」などの関係性の用語が、基板または電子デバイスに関して使用される。当然、基板または電子デバイスが反転される場合、上は下に、下は上になる。加えて、横向きの場合、上および下は、基板または電子デバイスの側面を指し得る。その上、本出願の範囲は、本明細書で説明するプロセス、機械、製造、組成物、手段、方法およびステップの特定の構成に限定されることを意図していない。本開示から当業者が容易に諒解するように、本明細書で説明する対応する構成と実質的に同じ機能を実行するかまたは実質的にそれと同じ結果を達成する、現存するかまたは今後開発されるプロセス、機械、製造、組成物、手段、方法、またはステップが、本開示に従って利用されてもよい。したがって、添付の特許請求の範囲は、そのようなプロセス、機械、製造、組成物、手段、方法、またはステップをそれらの範囲内に含むことを意図する。
【００５４】
本明細書の開示に関連して説明した様々な例示的な論理ブロック、モジュール、回路、およびアルゴリズムステップが、電子ハードウェア、コンピュータソフトウェア、または両方の組合せとして実装される場合があることを、当業者はさらに諒解されよう。ハードウェアおよびソフトウェアのこの互換性を明確に示すために、様々な例示的な構成要素、ブロック、モジュール、回路、およびステップが、全体的にそれらの機能に関して上述されている。そのような機能がハードウェアとして実装されるか、ソフトウェアとして実装されるかは、特定の適用例および全体的なシステムに課される設計制約に依存する。当業者は、上記の機能を特定の適用例ごとに様々な方法において実装する場合があるが、そのような実装形態の決定は、本開示の範囲からの逸脱を引き起こすものと解釈されるべきではない。
【００５５】
本明細書の開示に関連して説明した様々な例示的な論理ブロック、モジュール、および回路は、本明細書で説明した機能を実行するように設計された、汎用プロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)もしくは他のプログラマブル論理デバイス、個別ゲートもしくはトランジスタ論理、個別ハードウェア構成要素、またはそれらの任意の組合せを用いて、実装または実行される場合がある。汎用プロセッサはマイクロプロセッサであり得るが、代替として、プロセッサは、任意の従来のプロセッサ、コントローラ、マイクロコントローラ、または状態機械であり得る。プロセッサはまた、コンピューティングデバイスの組合せ、たとえば、DSPおよびマイクロプロセッサの組合せ、複数のマイクロプロセッサ、DSPコアと連携する1つもしくは複数のマイクロプロセッサ、または任意の他のそのような構成としても実装され得る。
【００５６】
本開示に関連して説明した方法またはアルゴリズムのステップは、ハードウェアにおいて直接、プロセッサによって実行されるソフトウェアモジュールにおいて、またはその2つの組合せにおいて実施されてもよい。ソフトウェアモジュールは、RAM、フラッシュメモリ、ROM、EPROM、EEPROM、レジスタ、ハードディスク、リムーバブルディスク、CD-ROM、または当技術分野で知られている任意の他の形態の記憶媒体に存在してもよい。プロセッサが記憶媒体から情報を読み取ること、および記憶媒体に情報を書き込むことができるように、例示的な記憶媒体がプロセッサに結合される。代替として、記憶媒体は、プロセッサに一体化され得る。プロセッサおよび記憶媒体は、ASIC中に存在し得る。ASICはユーザ端末中に存在し得る。代替形態では、プロセッサおよび記憶媒体は、個別構成要素としてユーザ端末中に存在し得る。
【００５７】
1つまたは複数の例示的な設計では、説明した機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せにおいて実装される場合がある。ソフトウェアにおいて実装される場合、機能は、コンピュータ可読媒体上に記憶されるか、あるいは、コンピュータ可読媒体上の1つまたは複数の命令またはコードとして送信され得る。コンピュータ可読媒体は、コンピュータ記憶媒体と、ある場所から別の場所へのコンピュータプログラムの転送を容易にする任意の媒体を含む通信媒体の両方を含む。記憶媒体は、汎用コンピュータまたは専用コンピュータによってアクセスされ得る任意の利用可能な媒体であり得る。限定ではなく例として、そのようなコンピュータ可読媒体は、RAM、ROM、EEPROM、CD-ROMまたは他の光ディスクストレージ、磁気ディスクストレージまたは他の磁気記憶デバイス、あるいは、規定されたプログラムコード手段を命令またはデータ構造の形で搬送または記憶するために使用され得るとともに、汎用もしくは専用コンピュータまたは汎用もしくは専用プロセッサによってアクセスされ得る任意の他の媒体を含むことができる。また、任意の接続も厳密にはコンピュータ可読媒体と呼ばれる。たとえば、ソフトウェアが、同軸ケーブル、光ファイバケーブル、より対線、デジタル加入者回線(「DSL」)、または、赤外線、無線、およびマイクロ波などのワイヤレス技術を使用してウェブサイト、サーバ、または他のリモートソースから送信される場合、同軸ケーブル、光ファイバケーブル、より対線、DSL、または、赤外線、無線、およびマイクロ波などのワイヤレス技術は、媒体の定義に含まれる。本明細書で使用するディスク(disk)およびディスク(disc)は、コンパクトディスク(disc)(CD)、レーザーディスク(登録商標)(disc)、光ディスク(disc)、デジタル多用途ディスク(disc)(DVD)、およびブルーレイディスク(disc)を含み、ディスク(disk)は通常、データを磁気的に再生し、ディスク(disc)はデータをレーザーを用いて光学的に再生する。上記の組合せはまた、コンピュータ可読媒体の範囲内に含まれるものとする。
【００５８】
先の説明は、本明細書で説明する様々な態様を当業者が実施することを可能にするように与えられる。これらの態様に対する様々な修正が当業者には容易に明らかとなり、本明細書で定義される一般原理は、他の態様に適用され得る。したがって、特許請求の範囲は、本明細書で示された態様に限定されるようには意図されておらず、特許請求の範囲の文言と矛盾しないすべての範囲に一致すべきであり、ここで、単数形の要素への参照は、特にそのように述べられていない限り、「唯一無二の」を意味するのではなく、「1つまたは複数の」を意味するように意図されている。その他の形で特に述べられない限り、「いくつかの」という用語は、1つまたは複数を指す。項目のリスト「のうちの少なくとも1つ」を指す句は、単一の部材を含む、これらの項目の任意の組合せを指す。一例として、「a、b、またはcのうちの少なくとも1つ」は、a、b、c、aおよびb、aおよびc、bおよびc、ならびにa、b、およびcを含むことが意図されている。当業者に知られている、または後に知られるようになる、本開示を通して述べられた様々な態様の要素に対するすべての構造的かつ機能的等価物は、参照により本明細書に明確に組み込まれ、また特許請求の範囲により包含されるように意図されている。さらに、本明細書で開示されるものはいずれも、そのような開示が特許請求の範囲に明示的に記載されているかどうかにかかわらず、公共に供されるようには意図されていない。いかなるクレーム要素も、要素が「のための手段」という句を使用して明確に記載されていない限り、または、方法クレームの場合、要素が「のためのステップ」という句を使用して記載されていない限り、米国特許法第112条第6項の規定に基づいて解釈されるべきではない。
【符号の説明】
【００５９】
100  ホストシステムオンチップ(SoC)
102  デジタル信号プロセッサ(DSP)
104  グラフィックスプロセッサユニット(GPU)およびマルチメディアエンジン
106  マルチコア中央処理装置(CPU)
108  システムバス
110  メモリコントローラ
120  ECCエンコーダ/デコーダ
122  データ
124  ECCパリティビット
130  メモリ物理層(PHY)
132  データバス
134  コマンド/アドレスバス
140  メモリデバイス
142  書込み経路
144  読取り経路
146  入力/出力(IO)ブロック
150  メモリセルアレイ
152  ECCアレイ
160  ECCデコーダ/訂正ブロック
170  ECCエンコーダ
200  タイミング図
202  クロック信号
204  コマンド信号
206  アドレス信号
210  第1のデータ信号
212  第1のデータマスク信号
214  関連する書込みレイテンシ
216  バーストデータ
220  第2のデータ信号
222  関連する第2のデータマスク信号
230  第4のデータ信号
232  関連する第4のデータマスク信号
250  タイミング図
254  関連する読取りレイテンシ
256  バーストデータ
260  タイミング図
270  マスク書込みデータ
300  タイミング図
320  未使用DMビット
400  タイミング図
410  第1の書込みデータ
412  第1のマスク書込みデータバイト
414  第1の未使用DMビット
420  第2の書込みデータ
422  第2のマスク書込みデータバイト
424  第2の未使用DMビット
430  タイミング図
450  タイミング図
500  タイミング図
502  クロック信号
504  コマンド信号
506  アドレス信号
510  第1のデータ信号
512  関連する第1のデータマスク信号
514  関連する読取りレイテンシ
516  バーストデータ
520  第2のデータ信号
522  関連する第2のデータマスク信号
530  第4のデータ信号
532  関連する第4のデータマスク信号
550  未使用DMビット
600  ホストシステムオンチップ(SoC)、ホストSoC
634  共有コマンド/アドレスバス
640  メモリデバイス
640-1  メモリデバイス
640-2  メモリデバイス
650  モードレジスタ
700  タイミング図
702  クロック信号
704  コマンド/アドレス信号
800  方法
850  方法
920  リモートユニット
925A  ICデバイス
925B  ICデバイス
925C  ICデバイス
930  リモートユニット
940  基地局
950  リモートユニット
980  順方向リンク信号
990  逆方向リンク信号
【図１】
2018524708.tif 000003
【図２Ａ】
2018524708.tif 000004
【図２Ｂ】
2018524708.tif 000005
【図２Ｃ】
2018524708.tif 000006
【図３】
2018524708.tif 000007
【図４Ａ】
2018524708.tif 000008
【図４Ｂ】
2018524708.tif 000009
【図４Ｃ】
2018524708.tif 000010
【図５】
2018524708.tif 000011
【図６】
2018524708.tif 000012
【図７】
2018524708.tif 000013
【図８Ａ】
2018524708.tif 000014
【図８Ｂ】
2018524708.tif 000015
【図９】
2018524708.tif 000016
【国際調査報告】
2018524708.tif 000017
2018524708.tif 000018