(57)【要約】  トランザクションメタデータを提供することに関する装置及び方法。トランザクションメタデータを提供することは、メモリデバイス及びコントローラに結合されたアドレスバスを使用してメモリデバイスに記憶されたデータのアドレスを提供することを含む。トランザクションメタデータを提供することはまた、メモリデバイス及びコントローラに結合されたデータバスを使用してアドレスに関連するデータをメモリデバイスから転送することを含む。トランザクションメタデータを提供することは、データバスと同期して、かつアドレスバスと連携してメモリデバイス及びコントローラに結合されたトランザクションメタデータバスを使用してサイドバンド信号を転送することをさらに含む。
2021520556.tif 000002
【特許請求の範囲】
【請求項１】
メモリデバイスと、
コントローラと、
前記メモリデバイス及び前記コントローラに結合され、前記メモリデバイスに記憶されたデータのアドレスを提供するように構成された、アドレスバスと、
前記メモリデバイス及び前記コントローラに結合され、前記アドレスに関連する前記データを前記メモリデバイスから転送するように構成されたデータバスと、
前記メモリデバイス及び前記コントローラに結合され、前記データバスと同期して、かつ前記アドレスバスと連携してサイドバンド信号を転送するように構成されたトランザクションメタデータバスと
を含む、メモリシステム。
【請求項２】
前記トランザクションメタデータバスが、トランザクションメタデータを転送するようにさらに構成される、請求項１に記載のメモリシステム。
【請求項３】
前記トランザクションメタデータが、前記データバスを使用して転送される前記データに関連する、請求項２に記載のメモリシステム。
【請求項４】
前記トランザクションメタデータが、前記データに関連して前記メモリデバイスによって取られるアクションを記述する、請求項２に記載のメモリシステム。
【請求項５】
メモリアレイを含むメモリデバイスであって、
データを求める要求をコントローラからアドレスバスを介して受信することと、
前記要求を受信したことに応答して前記メモリアレイから前記データを取得することと、
前記データを取得したことに応答して前記データのためのトランザクションメタデータを生成することと、
データバスを介して前記コントローラに前記データを提供することと、
トランザクションメタデータバスを介して前記データと同時に前記トランザクションメタデータを前記コントローラに提供することとを行うように構成された、前記メモリデバイス。
【請求項６】
前記メモリアレイが、前記データを取得したことに応答して前記データに対してエラー訂正を実行するようにさらに構成される、請求項５に記載のメモリデバイス。
【請求項７】
前記トランザクションメタデータが、前記データに対して実行された前記エラー訂正に関連する、請求項６に記載のメモリデバイス。
【請求項８】
前記データに対して実行された前記エラー訂正を記述する内部動作ビットを含む前記トランザクションメタデータを生成するようにさらに構成された、請求項６または７に記載のメモリデバイス。
【請求項９】
前記内部動作ビットが、前記データに対して実行された前記エラー訂正を記述する重大度ビットを含む、請求項８に記載のメモリデバイス。
【請求項１０】
前記メモリデバイスのステータスを記述するステータスビットを含む前記トランザクションメタデータを生成するようにさらに構成された、請求項６または７に記載のメモリデバイス。
【請求項１１】
前記エラー訂正コードに関連するエラー訂正データを含む拡張情報ビットを含む前記トランザクションメタデータを生成するようにさらに構成された、請求項６または７に記載のメモリデバイス。
【請求項１２】
前記拡張情報ビットがパリティビットを含む、請求項１１に記載のメモリデバイス。
【請求項１３】
前記拡張情報ビットがシンドロームビットを含む、請求項１１に記載のメモリデバイス。
【請求項１４】
前記拡張情報ビットが較正ビットを含む、請求項１１に記載のメモリデバイス。
【請求項１５】
アドレスバスを介してデータを要求することと、
メモリデバイスに結合されたデータバスを介して前記データを受信することと、
前記データの受信と同時に前記メモリデバイスに結合されたトランザクションメタデータバスを介してトランザクションメタデータを受信することと、
前記メモリデバイスのステータスを記述する前記トランザクションメタデータからのステータスビットを処理することと、
前記メモリデバイスによってホスティングされたエラー訂正コードを使用して前記データに対して実行された動作を記述する前記トランザクションメタデータからの内部動作ビットを処理することと、
エラー訂正データを含む前記トランザクションメタデータからの拡張情報ビットを処理することと、
前記ステータスビット、前記内部動作ビット及び前記拡張情報ビットに基づいて複数のエラー訂正動作を実行するかどうかを決定することと
を含む方法。
【請求項１６】
前記メモリデバイスの前記ステータスが所定の基準を満たしていると判定することをさらに含む、請求項１５に記載の方法。
【請求項１７】
前記内部動作ビットからの重大度ビットを使用して前記データの状態を判定することをさらに含む、請求項１５または１６に記載の方法。
【請求項１８】
前記データの前記状態が監視状態であると判定したことに基づいて前記内部動作ビットからタイプビットを読み取ることをさらに含む、請求項１７に記載の方法。
【請求項１９】
前記タイプビットが前記データの読み取り動作の成功を記述していると判定したことに基づいて前記複数のエラー訂正動作の実行を控えることをさらに含む、請求項１８に記載の方法。
【請求項２０】
前記タイプビットが検出されたエラーを記述していると判定したことに基づいて前記拡張情報ビットを使用して前記複数のエラー訂正動作を実行することをさらに含む、請求項１８に記載の方法。
【請求項２１】
前記内部動作ビットから、拡張ビットによって要求されるように、かつ前記拡張情報ビットによってさらに詳述されるように前記複数のエラー訂正動作を実行することをさらに含む、請求項１７に記載の方法。
【請求項２２】
前記複数のエラー訂正動作の実行を控えることと、
前記メモリデバイスの前記ステータスが所定の基準を満たしていないと判定したことに基づいてメモリデバイス動作を実行することとをさらに含む、請求項１５に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、一般にメモリに関し、より具体的には、メモリから取得されたデータに関連するメタデータに関連する装置及び方法に関する。
【背景技術】
【０００２】
メモリデバイスは、典型的には、コンピュータまたは他の電子デバイスにおける内部の半導体集積回路として提供される。揮発性及び不揮発性メモリを含む、多くの異なる種類のメモリが存在する。揮発性メモリは、そのデータを維持するために電力を必要とする場合があり、中でも、ランダムアクセスメモリ（ＲＡＭ）、ダイナミックランダムアクセスメモリ（ＤＲＡＭ）、及び同期ダイナミックランダムアクセスメモリ（ＳＤＲＡＭ）を含む。不揮発性メモリは、電力供給されていないときに記憶されたデータを保持することによって永続的データを提供することができ、中でも、ＮＡＮＤフラッシュメモリ、ＮＯＲフラッシュメモリ、リードオンリーメモリ（ＲＯＭ）、電気的消去可能なプログラマブルＲＯＭ（ＥＥＰＲＯＭ）、消去可能なプログラマブルＲＯＭ（ＥＰＲＯＭ）、相変化ランダムアクセスメモリ（ＰＣＲＡＭ）などの抵抗可変メモリ、抵抗性ランダムアクセスメモリ（ＲＲＡＭ）、及び磁気抵抗性ランダムアクセスメモリ（ＭＲＡＭ）を含むことができる。
【０００３】
メモリは、広範囲な電気的用途のために揮発性及び不揮発性データストレージとしても利用される。不揮発性メモリは、例えば、パーソナルコンピュータ、ポータブルメモリスティック、デジタルカメラ、携帯電話、ＭＰ３プレイヤーなどのポータブルミュージックプレイヤー、ムービープレイヤー及び他の電子デバイスにおいて使用され得る。メモリセルは、アレイに配列される場合があり、アレイは、メモリデバイスにおいて使用される。
【０００４】
様々なコンピューティングシステムは、一組の命令（例えば、プログラム、アプリケーションなど）の実行に関連してアクセスされるメモリ（例えば、メモリシステム）に結合された処理リソースを含む。メモリシステムは、エラー訂正コード（ＥＣＣ）を使用して、データのエラーを検出及び訂正することができる。
【図面の簡単な説明】
【０００５】
【図１】本開示の複数の実施形態を実装することが可能なメモリデバイス及びコントローラを含むメモリシステムのブロック図である。
【図２】本開示の複数の実施形態にしたがったトランザクションメタデータフレーム形式のブロック図である。
【図３】本開示の複数の実施形態によるＩＯＰフィールド形式のブロック図である。
【図４】本開示の複数の実施形態にしたがったトランザクションメタデータフレームのブロック図である。
【発明を実施するための形態】
【０００６】
本開示は、メモリから取得されたデータに関連するトランザクションメタデータに関する装置及び方法を含む。例示的な方法は、アドレスバスを介してメモリデバイスに記憶されたデータのアドレスを提供すること、アドレスに関連するデータをメモリデバイスからデータバスを介して転送すること、及びデータバスと同期して、かつアドレスバスと連携してサイドバンド信号を転送することを含むことができる。
【０００７】
本開示の複数の実施形態は、コントローラに転送されたデータに関連するトランザクションメタデータを提供することができる。トランザクションメタデータはまた、トランザクション情報メタデータと呼ぶことができる。いくつかの例では、トランザクションメタデータは、メモリデバイスを使用して記憶されたデータに対してエラー訂正を実行するためのエラー訂正コード（ＥＣＣ）に関連するメタデータを提供することができる。例えば、いくつかの従来のＥＣＣは、メッセージを復旧することができるようにメッセージに冗長データまたはパリティデータを追加することを含む。トランザクションメタデータを使用して、各タイプのＥＣＣデータの中でも、パリティデータをコントローラに提供することができる。データの送信、記憶及び／または取得中、データにエラーが生じる可能性がある。
【０００８】
ストレージは、コンピュータシステムにおいて性能のボトルネックになっている。データを記憶し、ストレージからデータを取得する機能は、計算及び動作を実行するコンピュータシステムの機能を制限する原因であった。
【０００９】
ＮＡＮＤベースのストレージソリューションにより、ハードドライブのレイテンシは１０倍以上改善されたが、ストレージには依然としてレイテンシの遅れがある。相変化メモリ（ＰＣＭ）、磁気抵抗性ランダムアクセスメモリ（ＭＲＡＭ）、抵抗性ランダムアクセスメモリ（ＲｅＲＡＭ）及び／または３Ｄ  Ｘｐｏｉｎｔメモリなどの新興メモリ（ＥＭ）技術は、他のメモリ技術に比べてメモリ関連のレイテンシを改善し得る。ＥＭは、システム（例えば、コンピューティングシステム）の他の部分と同じ速さのデータストレージを提供することができる。ＥＭは、コンピューティングシステムの他の構成要素のレイテンシに匹敵するレイテンシを有するデータストレージを提供することができる。ストレージ用途の信頼性目標に対処するために、ＥＭは、エラーを訂正し、ＥＭをホスティングするデバイスの低レイテンシ性能を維持することが可能であるＥＣＣを利用してもよい。ストレージ用途は、メモリ用途とは異なり、可変のアクセスレイテンシを許容できることを考えると、低レイテンシのＥＣＣデコーダを利用することが有益である場合がある。いくつかの例では、低レイテンシは、複数のナノ秒の範囲内のレイテンシを含み得る。他の例では、より高いレイテンシは、複数のマイクロ秒の範囲内のレイテンシであり得る。
【００１０】
訂正機能が高く、かつ低レイテンシのＥＣＣデコーダは、ＥＣＣ連結方式及び階層デコーダを利用することによって実現することができる。本明細書で使用される場合、階層デコーダは、データのエラーを訂正するための複数のデコーダの使用を説明することができる。階層デコーダは、高速デコーディング（ＦＤ）デコーダ及び高精度デコーディング（ＡＤ）デコーダの使用を含むことができる。いくつかの例では、階層デコーディング方式は、ＦＤデコーダを利用することができ、必要に応じてＡＤデコーダにおいて使用されるより強力なＥＣＣを用いることができる。
【００１１】
複数の実施形態では、階層コードアーキテクチャは、メモリデバイスに組み込まれたＦＤデコーダ及びストレージコントローラ内に実装されたＡＤデコーダを利用する。効果的かつ効率的なソリューションを持つために、ＦＤデコーダアーキテクチャを階層方式での使用に適合させることができる。
【００１２】
ＦＤデコーダは、有効性フラグ、及び／またはパリティビットを含む複数の他のタイプのデータを利用してＡＤデコーダを起動することができる。有効性フラグ、パリティビット、及び／またはＥＣＣに関連する他のタイプのデータを、メモリデバイスからコントローラにトランザクションメタデータを利用して提供することができる。本明細書で提供される各例は、ＥＣＣに関連するデータを提供するために使用されるが、これらの例は、エラー訂正データに限定されず、メモリデバイスに関連する他のタイプのデータを提供するために使用することができる。例えば、トランザクションメタデータを使用して、メモリデバイスに関連する温度を提供することができる。エラー訂正データは、本明細書で説明されるようにエラー訂正動作を実行するために使用されるデータを含むことができる。
【００１３】
本開示の以下の詳細な説明では、本明細書の一部を構成する添付図面への参照がなされ、これらの図面では、本開示の複数の実施形態がどのように実施され得るかが一例として示されている。これらの実施形態は、当業者が本開示の実施形態を実施することができるように十分詳細に説明されており、本開示の範囲から逸脱することなく、他の実施形態が利用されてもよいこと、ならびにプロセスの変更、電気的変更及び／または構造的変更がなされてもよいことが理解されよう。本明細書で使用される場合、指示子「Ｎ」は、そのように指示された複数の特定の特徴を本開示の複数の実施形態と共に含めることができることを示す。
【００１４】
本明細書で使用される場合、「複数の（ａ  ｎｕｍｂｅｒ  ｏｆ）」何かは、そのようなもののうちの１つ以上を指すことができる。例えば、複数のメモリデバイスは、メモリデバイスのうちの１つ以上を指すことができる。「複数（ｐｌｕｒａｌｉｔｙ）」の何かは、２つ以上を意図している。加えて、特に図面の参照符号に関して本明細書で使用されるような「Ｎ」などの指示子は、そのように指示された複数の特定の特徴を本開示の複数の実施形態と共に含めることができることを示す。
【００１５】
本明細書の図面は、最初の一桁または複数桁が描写図面の番号に対応し、残りの桁が図面における要素または構成要素を識別するという付番規則に従う。異なる図面の間の類似の要素または構成要素は、類似の数字を使用することによって識別され得る。理解されるであろうが、本明細書の様々な実施形態に示した要素を追加、交換及び／または削除することによって本開示の複数の追加の実施形態を提供することができる。加えて、図面に提供された要素の比率及び相対的スケールは、本開示の様々な実施形態を例示することを意図し、限定的な意味で使用されることを意図しない。
【００１６】
図１は、本開示の複数の実施形態を実装することが可能なメモリデバイス１０４−１及びコントローラ１０２を含むメモリシステム１００のブロック図である。メモリシステム１００は、コントローラ１０２、ならびに一般にメモリデバイス１０４と呼ばれるメモリデバイス１０４−１及び１０４−２を含む。メモリシステム１００はまた、一般にデータバス１０８と呼ばれるデータバス１０８−１及び１０８−２、ならびにトランザクションメタデータバス１１０を含む。
【００１７】
本明細書で使用される場合、「装置」は、限定されることはないが、回路もしくは回路網、１つもしくは複数のダイ、１つもしくは複数のモジュール、１つもしくは複数のデバイス、または１つもしくは複数のシステムなどの、様々な構造または構造の組み合わせを指すことができる。例えば、メモリシステム１００、コントローラ１０２、メモリデバイス１０４及びデータバス１０８は、個別的または集合的に「装置」と呼ばれる場合がある。
【００１８】
この例では、コンピューティングシステムは、メモリシステム１００に結合されたコントローラ１０２に結合されたホストを含む。コンピューティングシステムは、システムの中でも、ラップトップコンピュータ、パーソナルコンピュータ、デジタルカメラ、デジタル録音及び再生デバイス、携帯電話、ＰＤＡ、メモリカードリーダ、インタフェースハブ、センサ、モノのインターネット（ＩｏＴ）対応デバイス（例えば、サーモスタット、電球、鍵、セキュリティシステム、歯ブラシ、ペット用給餌器など）とすることができ、ホストは、（例えば、コントローラ１０２を介して）メモリシステム１００にアクセス可能な複数の処理リソース（例えば、１つ以上のプロセッサ）を含むことができる。ホストは、オペレーティングシステム（ＯＳ）、及び／または（例えば、メモリシステム１００からコントローラ１０２を介して）そのホストにロード可能である様々なアプリケーションの実行を担当してもよい。
【００１９】
コントローラ１０２は、メモリトランザクション要求を（例えば、ロードコマンド及びストアコマンドとそれぞれ呼ばれる場合がある、リードコマンド及び／またはライトコマンドの形態で）ホストから受信してもよい。コントローラ１０２は、好適なプロトコルを利用して、例えば、バスなどの物理インタフェースを含むことができる複数のインタフェースを通じてホストとメモリシステム１００との間でコマンド及び／またはデータを転送することができる。このようなプロトコルは、カスタムもしくは独自仕様であってもよく、またはインタフェースは、ペリフェラル・コンポーネント・インターコネクト・エクスプレス（ＰＣＩｅ）、Ｇｅｎ−Ｚ、ＣＣＩＸなどの、標準化されたプロトコルを利用してもよい。コントローラ１０２は、ハードウェア、ファームウェアもしくはソフトウェア、またはこれら３つの任意の組み合わせの形態をとった制御回路を含むことができる。一例として、コントローラ１０２は、ステートマシン、シーケンサ、及び／またはプリント回路基板に結合された特定用途向け集積回路（ＡＳＩＣ）の形態で実装され得るいくつかの他のタイプの制御回路を含むことができる。複数の実施形態では、コントローラ１０２は、（例えば、システム・オン・チップ（ＳＯＣ）構成において）ホストと同じ場所に配置されてもよい。また、コントローラ１０２は、メモリシステム１００と同じ場所に配置されてもよい。
【００２０】
メモリシステム１００は、メモリセルの複数のアレイ（例えば、バンク）、及び（例えば、アレイからデータを読み取り、データをアレイに書き込むための）アレイ（複数可）へのアクセスに関連する、対応するサポート回路（例えば、アドレス回路、Ｉ／Ｏ回路、制御回路、リード／ライト回路など）をそれぞれが含むことができる、複数の物理メモリ「チップ」またはダイを含むことができる。一例として、メモリシステム１００は、複数のＤＲＡＭデバイス、ＳＲＡＭデバイス、ＰＣＲＡＭデバイス、ＲＲＡＭデバイス、ＦｅＲＡＭ、相変化メモリ、３ＤＸポイント及び／またはフラッシュメモリデバイスを含むことができる。複数の実施形態では、メモリシステム１００は、コンピューティングシステム用のメインメモリとして機能することができる。図１では、メモリデバイス１０４−１はモバイル３ＤＸポイントデバイスとすることができ、他方、メモリデバイス１０４−２はＮＡＮＤメモリデバイスである。ただし、本明細書に示した例は、モバイル３ＤＸポイントデバイス及び／またはＮＡＮＤメモリデバイスに限定されない。本明細書で説明される実施形態は、ＥＭを含む種々のメモリデバイスに適用することができる。
【００２１】
メモリシステム１００は、１つ以上のトランザクションメタデータバスを介してコントローラ１０２に結合され得る１つ以上のメモリデバイスを含んでもよい。例えば、メモリデバイス１０４−１は、データバス１０８−１及びメタデータバス１１０を通じてコントローラ１０２に結合されている。メモリデバイス１０４−２は、データバス１０８−２を通じてコントローラ１０２に結合されている。
【００２２】
図示されていないが、データバス１０８は、複数のバス及び／またはラインを表すことができる。例えば、データバス１０８は、データバス、アドレスバス及び／またはコマンドバスを表すことができる。データバス１０８、コマンドバス及び／またはアドレスバスを含む１つ以上のバスを介して、メモリデバイス１０４をコントローラ１０２に結合することができる。
【００２３】
データバス１０８は、メモリデバイス１０４からコントローラ１０２にデータを転送するように、かつ／またはコントローラ１０２からメモリデバイス１０４にデータを転送するように構成することができる。コマンドバスは、コントローラ１０２からメモリデバイス１０４にコマンドを提供するように構成することができる。コマンドは、例えば、メモリデバイス１０４に提供することができる可能なコマンドの中でも、リードコマンド及び／またはライトコマンドを含むことができる。アドレスバスは、コマンドに関連するアドレス情報を含むことができる。例えば、リードコマンドに関連するアドレスは、アドレスバス接続を介してメモリデバイス１０４−１及びコントローラ１０２に提供することができる。
【００２４】
トランザクションメタデータバス１１０は、メモリデバイス１０４−１をコントローラ１０２に結合することができる。トランザクションメタデータバス１１０は、データバス１０８−１を通じて転送されるデータに関連するトランザクションメタデータを転送することができる。いくつかの例では、トランザクションメタデータバス１１０は、３２クロックサイクルを使用してトランザクションメタデータを転送することができ、データバス１０８−１も、３２クロックサイクルを使用してデータを転送することができる。トランザクションメタデータバス１１０はまた、異なるクロックサイクルを使用してトランザクションメタデータを転送することができる。トランザクションメタデータバス１１０は、メモリデバイス１０４−１とコントローラ１０２とを結合する追加のＤＱバスとすることができる。トランザクションメタデータバス１１０は、サイドバンド信号を提供することができる。
【００２５】
いくつかの例では、コントローラ１０２は、コマンドバスを利用してメモリデバイス１０４にコマンドを提供することができる。例えば、コントローラ１０２は、メモリデバイス１０４−１にリードコマンドを提供することができる。メモリデバイス１０４−１は、リードコマンドを受信及び／または処理したことに応答してデータを提供することができる。メモリデバイス１０４−１はまた、トランザクションメタデータバス１１０を使用して、データと同時にトランザクションメタデータを提供することができる。トランザクションメタデータデータは、データがコントローラ１０２に提供されるのと同時にコントローラ１０２に提供することができる。
【００２６】
トランザクションメタデータは、データに関連することができる。トランザクションメタデータのサイズは、データと同じサイズにすることができる。トランザクションメタデータのフレームのサイズは、データのフレームと同じサイズにすることができる。トランザクションメタデータ及び／またはデータのサイズは事前に決定することができる。例えば、トランザクションメタデータ及びデータのサイズは６４バイトにすることができるが、６４バイトに限定されない。言い換えると、トランザクションメタデータの長さは、データのアクセス長の粒度に等しくすることができる。いくつかの例では、トランザクションメタデータ及びデータをページにおいて提供することができる。トランザクションメタデータの送信に使用されるページのサイズは、データの送信に使用されるページのサイズと同じサイズにすることができる。
【００２７】
いくつかの例では、コントローラ１０２は、６４バイトを受信することができるが、６４バイト全体を処理しなくてもよい。コントローラ１０２は、６４バイトのうちの所定の数を読み取るように構成することができる。所定のビットは、コントローラ１０２が所定のビットを処理するのにビットが必要になるときにそれらのビットにアクセスすることができるように、６４バイトのうちの他の部分を指すように構成することができる。コントローラ１０２は、６４バイトのうちのいくつかを含む拡張情報のチェーンを処理することができる。コントローラ１０２は、６４バイトのうちの第１の数のビットにアクセスすることができる。第１の数のビットを処理したことに応答して、コントローラ１０２は、６４バイトのうちの第２の数のビットにアクセスして、第１の数のビット及び第２の数のビットのチェーンを形成することができる。チェーンは、他の数のリンクを参照する異なる数のビットを含む複数のリンクを含むことができる。
【００２８】
コントローラ１０２からコマンドを受信したことに応答して、トランザクションメタデータとデータとの両方をコントローラ１０２に提供することができる。コントローラ１０２からコマンドを受信してからデータ及び／またはトランザクションメタデータを提供するまでのレイテンシ（例えば、決定論的リードレイテンシ）は、データとトランザクションメタデータとの両方で同じにすることができる。したがって、トランザクションメタデータの最初のビット及びデータの最初のビットを、さらにはトランザクションメタデータ及びデータの最後のビットを同時にコントローラ１０２に提供することができる。
【００２９】
他の例では、トランザクションメタデータ及びデータは、同時に送られずにコントローラ１０２に提供することができる。そのような例では、トランザクションメタデータの最初のビットがトランザクションメタデータの最初のビットと同時に送られる必要はない。第１のデータセットを生成するために使用される第１のリードコマンドに関連するトランザクションメタデータは、メモリデバイス１０４−１が第２のリードコマンドを実行する前に提供することができる。
【００３０】
いくつかの例では、データバス１０８−１による送信とは別にトランザクションメタデータをコントローラ１０２に提供することができる。トランザクションメタデータが、データバス１０８−１を使用して転送されたデータに関する情報ではなくメモリデバイス１０４−１に関する情報を提供する場合、データバス送信とは別にトランザクションメタデータを提供することができる。
【００３１】
トランザクションメタデータは、データバス１０８−１を使用して転送されたデータに関連し得る。トランザクションメタデータは、データバス１０８−１を使用して転送されたデータに対して実行された動作を記述する情報、データに関連する要求、及び／またはデータを記述する情報を含むことができる。
【００３２】
図２は、本開示の複数の実施形態にしたがったトランザクションメタデータフレーム形式のブロック図である。図２は、トランザクションメタデータフレーム２２０を含む。トランザクションメタデータフレーム２２０は、図１に記載されたようにトランザクションメタデータを提供するために使用することができる。
【００３３】
トランザクションメタデータフレーム２２０は、ステータスビット（例えば、ＳＴＡＴ）２２２、内部動作ビット（例えば、ＩＯＰ）２２４及び拡張情報ビット（例えば、ＥＸＴＩ）２２６を含む。ステータスビット２２２、内部動作ビット２２４及び拡張情報ビット２２６は、それぞれ、ステータスフィールド、内部動作フィールド及び拡張情報フィールドと呼ぶことができる。
【００３４】
トランザクションメタデータフレーム２２０は、ビット「０」に始まりビット「６３」にまで及ぶ６４バイトを含む。トランザクションメタデータフレーム２２０は、他のサイズを含むことができる。トランザクションメタデータフレーム２２０は、８、１６、３２、１２８、またはそれ以上のビットを含むことができる。
【００３５】
ステータスビット２２２、内部動作ビット２２４及び／または拡張情報ビット２２６の配置は、例によって異なり得る。図２の実施形態は、０から７までのビットインデックスを有するステータスビット２２２を含む。内部動作ビット２２４は、ビットインデックス８から１５までの範囲に及ぶ。外部情報ビット２２６は、ビットインデックス１６から６３までの範囲に及ぶ。ステータスビット２２２、内部動作ビット２２４及び／または拡張情報ビット２２６のそれぞれは、本明細書で説明されたものよりも多いビットか、または少ないビットを含むことができる。
【００３６】
ステータスビット２２２は、シンボル「ＳＴＡＴ」によって表すことができる。ステータスビット２２２は、トランザクションメタデータを提供するメモリデバイスのステータスを記述することができる。ステータスビット２２２は、メモリデバイスのステータスレジスタに記憶されたデータを提供することができる。ステータスビット２２２は、温度警報、温度及び／またはメモリデバイスのリードアウトを提供することができる。
【００３７】
いくつかの例では、ステータスビット２２２を使用して、メモリデバイスの管理が、メモリデバイスに記憶されたデータの管理よりも急を要するどうかを判定することができる。メモリデバイスの温度が閾値を超えている場合、コントローラは、温度を下げるようにメモリデバイスを管理してもよい。ステータスビット２２２が、所定の変動内で機能しているメモリデバイスを記述するようにコントローラによって処理される情報を提供する場合、コントローラは、データ、及び／または内部動作ビット２２４によって記述されたようにデータに対して実行されるエラー訂正を継続的に管理することができる。
【００３８】
内部動作ビット２２４は、シンボル「ＩＯＰ」によって表すことができる。内部動作ビット２２４は、図２に重大度として記載された４つの異なる値を含むことができる。内部動作ビット２２４は、複数のビット値を使用して、通常の重大度、監視の重大度、警告の重大度またはエラーの重大度に設定することができる。
【００３９】
通常の重大度は、トランザクションメタデータと同時に提供されるデータの記述を提供できない。通常の重大度は、トランザクションメタデータを提供するメモリデバイスがエラーを検出せず、データに対して訂正を実行しなかったことを記述することができる。メモリデバイスは、メモリデバイスによってホスティングされたＦＤデコーダを利用して、データがエラーを含まないことを判定することができる。通常の重大度はまた、ＦＤデコーダがデータに対してどの訂正動作も実行しなかったことを記述することができる。
【００４０】
監視の重大度は、管理動作が任意選択であることを記述することができる。管理動作は、データ、ならびに／またはデータ及び／もしくはトランザクションメタデータを提供するメモリデバイスを管理するために実行可能である任意の動作を含むことができる。
【００４１】
例えば、監視の重大度は、６４バイトのデータに適用されたＥＣＣを使用してメモリデバイスがエラーを検出し、訂正したことを記述することができる。監視の重大度はまた、メモリデバイスが１つ以上のエラーを検出したが、検出されたエラーのうちの１つ以上を訂正しなかったことを記述することができる。例えば、監視の重大度は、メモリデバイスが２つのエラーを検出したが、訂正したのは１つのエラーのみであることを記述することができる。トランザクションメタデータを受信するコントローラは、内部及び外部デコーダを使用して、メモリデバイスによって識別され、連結ＥＣＣを使用して訂正されなかったエラーを訂正することができる。例えば、コントローラは、エラーを識別し、かつ／またはデータバスを介して受信したデータのエラーを訂正するために、コントローラによってホスティングされたＡＤデコーダ及び／またはＦＤデコーダを利用することができる。いくつかの例では、コントローラによってホスティングされたＡＤデコーダは、内部（インナー）ＡＤデコーダとすることができ、コントローラによってホスティングされたＦＤデコーダは、外部（アウター）デコーダとすることができる。
【００４２】
監視の重大度はまた、連結ＥＣＣ以外のアクションをコントローラが実行可能であることを記述することができる。つまり、監視の重大度は、コントローラがＥＣＣ訂正以外の動作を実行可能であることを記述することができる。例えば、コントローラは、データにおいて識別されたエラーを訂正しないと決定することができるが、その代わりにコマンドバスを利用してメモリデバイスに再リードコマンドを提供することができる。
【００４３】
監視の重大度はまた、特別なコマンドを利用してアレイの内容に訂正を適用する権限を要求することができる。例えば、メモリデバイスは、メモリデバイスのアレイに記憶されたデータに訂正を適用する許可を要求する監視の重大度を記述する意図的な動作ビットを提供することができる。特別なコマンドは、実際の監視の重大度とすることができ、または拡張情報ビット２２６に組み込まれたコマンドとすることができる。
【００４４】
警告の重大度は、管理動作が必須である、かつ／または必要とされることを記述することができる。コントローラは、警告の重大度を受信したことに応答して、データを取得する機能を向上させるためにコントローラによって実行可能である各タイプの管理動作の中でも、ウェアレベリング動作、リフレッシュ動作及び／またはクリーニング動作を実行することができる。警告の重大度に関連する種々の管理動作は、デコーダレベルの動作ではなくアレイレベルの動作を含むことができる。警告の重大度に関連する管理動作により、メモリデバイスがデータを正常に取得する機能を向上させることができる。
【００４５】
エラーの重大度は、メモリデバイス内で発生する最も高い重大度の事象であり得る。エラーの重大度は、致命的な事象を記述することができる。例えば、エラーの重大度は、致命的な事象の中でも、アレイが利用不可能であること、デバイスの容量が到達不可能であること、データが回復不可能であること、及び／またはデータの一部が回復不可能であることを記述することができる。
【００４６】
拡張情報ビット２２６は、シンボル「ＥＸＴＩ」によって表すことができる。拡張情報ビット２２６は、データに対して、かつメモリデバイスによって実行される動作を記述することができる。拡張情報ビット２２６は、メモリデバイス、及び／またはデータに対してエラー訂正動作を含む動作を実行するコントローラによって使用される情報を提供することができる。拡張情報ビット２２６は、メモリデバイスによって提供される要求及び／またはコマンドを記述することができる。例えば、拡張情報ビット２２６は、パリティビット、シンドローム、較正ビット、及び／またはコントローラによってホスティングされた１つ以上のデコーダのアクティブ化が可能であり、かつデータに対してＥＣＣを実行するためにアクティブ化されたデコーダによって使用される情報を提供可能である有効性フラグを含むことができる。
【００４７】
図３は、本開示の複数の実施形態によるＩＯＰフィールド３２４のブロック図である。内部動作フィールド３２４は、拡張ビット３３０、タイプビット３３１、予約ビット３３２及び重大度ビット３３３を含むことができる。内部動作フィールド３２４は、本明細書で説明されたものよりも多いか、または少ないタイプのビットを含むことができる。
【００４８】
内部動作フィールド３２４の示された例は、８ビットを含む。拡張ビット３３０は、ビットインデックス０を有するものとして提供される。タイプビット３３１は、ビットインデックス１〜２を有するものとして提供される。予約ビット３３２は、ビットインデックス３〜５を有するものとして提供される。重大度ビット３３３は、ビットインデックス６〜７を有するものとして提供される。
【００４９】
重大度ビット３３３は、通常の重大度、監視の重大度、警告の重大度及びエラーの重大度を含むことができる。通常の重大度はビット「００」として表すことができ、監視の重大度はビット「０１」として表すことができ、警告の重大度はビット「１０」として表すことができ、エラーの重大度はビット「１１」として表すことができる。種々の重大度の値を表すために使用されるビットは、本明細書で説明されたものとは異なり得る。例えば、より多いか、またはより少ないビットを使用して種々の重大度を表すことができる。また、異なるビット値を使用して、種々の重大度の値を表すことができる。通常の重大度は、デフォルトの重大度とすることができる。
【００５０】
前述したように、通常の重大度は、アクションが必要とされないために情報を伝達しないことが可能である。監視の重大度は、管理動作が任意選択であることを記述することができる。コントローラは、監視の重大度の場合に取ることが可能なアクションについての詳細を調べるためにタイプフィールドを読み取ることができる。警告の重大度は、管理動作が必要とされることを記述することができる。コントローラは、トランザクションメタデータによって提供された情報と組み合わせて、かつ／またはトランザクションメタデータによって提供された情報とは別にアクションを実行することができる。エラーの重大度は、最も高い重大度の事象が発生したことを記述することができる。この場合も、コントローラは、トランザクションメタデータによって提供された情報と組み合わせて、かつ／またはトランザクションメタデータによって提供された情報とは別にアクションを実行することができる。
【００５１】
予約ビット３３２は、追加の機能、及び／またはデータに関連する偶数の重大度と組み合わせて使用される情報のために予約することができる。タイプビット３３１は、使用可能なタイプの中でも、読み取り成功タイプ、読み取りエラータイプ、及び読み取り訂正タイプを含むことができる。本明細書で使用されるタイプビット値及び拡張ビット値は例示的なものであり、限定的なものとして解釈されるべきではない。本明細書に示されたものよりも多いか、または少ない値を、本明細書で説明された実施形態に組み込むことができる。
【００５２】
読み取り成功タイプはビット「００」として表すことができ、読み取りエラータイプはビット「１０」として表すことができ、読み取り訂正タイプはビット「１１」として表すことができる。タイプビット３３１のビット「０１」及び／または予約ビット３３２は、未定義のままにすることができ、または追加の機能及び／もしくは拡張能力をトランザクションメタデータに提供するためにコントローラによって、かつ／またはメモリデバイスによって定義されてもよい。ビット「００」によって表された読み取り成功タイプは、タイプビット３３１のデフォルト値とすることができる。
【００５３】
読み取り成功タイプは、エラーが検出されず、メモリデバイスによってデータに訂正が適用なかったことを記述することができる。したがって、読み取り成功タイプの場合、アクションは要求されなくてもよい。読み取りエラータイプは、エラーが検出されたが、メモリデバイスによってデータに訂正が適用されなかったことを記述することができる。コントローラは、読み取りエラータイプを処理したことに応答して、拡張情報ビット（例えば、図２の拡張情報ビット２２６）を読み取ってもよい。メモリデバイスは、コントローラが拡張情報ビット及び／または拡張情報ビット内に提供された情報を利用してデータに対して動作を実行することができるように、拡張情報ビットを使用してコマンド、情報及び／またはフラグを提供してもよい。読み取り訂正ビットは、エラーがデータにおいて検出されたこと、及びエラーがメモリデバイスによって訂正されたことを記述することができる。コントローラは、読み取り訂正ビットを処理したことに応答して、拡張情報ビットに向けられることなく動作を実行してもよい。例えば、コントローラは、データをさらに処理するために拡張情報ビットに向けられることなく拡張情報ビットを処理してもよい。コントローラはまた、拡張情報ビットを参照せずにデータを処理してもよい。
【００５４】
拡張ビット３３０は、エンドオブ（ＥＯ）メタデータフレーム拡張及び追加メタデータ拡張をそれぞれ具現化するために、ビット「０」またはビット「１」によって表すことができる。ＥＯメタデータフレーム拡張は、拡張情報ビットが使用されず、したがってコントローラによってアクションが取られるべきではないことを記述することができる。追加メタデータ拡張は、拡張情報ビットが有効な情報を含み、結果として拡張情報ビットが読み取られるべきであることを記述することができる。メモリデバイスは、拡張ビット３３０を利用して拡張情報ビットをアクティブ化することができる。
【００５５】
いくつかの例では、コントローラはアドレスバスを介してデータを要求することができる。データは、メモリデバイスに結合されたデータバスを介して受信することができる。トランザクションメタデータは、データの受信と同時に、メモリデバイスに結合されたトランザクションメタデータバスを介して受信することができる。コントローラは、メモリデバイスのステータスを記述する、トランザクションメタデータからのステータスビットを処理することができる。コントローラはまた、メモリデバイスによってホスティングされたエラー訂正コードを使用してデータに対して実行された動作を記述する、トランザクションメタデータからの内部動作ビットを処理することができる。コントローラは、エラー訂正データを含む、トランザクションメタデータからの拡張情報ビットをさらに処理することができる。コントローラは、ステータスビット、内部動作ビット及び／または拡張情報ビットに基づき、複数のエラー訂正動作を実行するかどうかを決定することができる。
【００５６】
コントローラは、複数のエラー訂正動作の実行を控えることができ、その代わりに、メモリデバイスのステータスが所定の基準を満たしていないと判定したことに基づいてメモリデバイス動作を実行することができる。いくつかの例では、コントローラは、メモリデバイスのステータスが所定の基準を満たしていると判定することができる。
【００５７】
コントローラは、メモリデバイスのステータスが所定の基準を満たしていると判定したことに応答して、内部動作ビットからの重大度ビットを使用してデータの状態を評価することができる。コントローラは、データの状態が通常の状態であると判定したことに基づき、アクションを実行しないことが可能である。コントローラは、データの状態が監視状態であると判定したことに基づき、内部動作ビットからタイプビットを読み取ることができる。
【００５８】
コントローラはまた、タイプビットがデータの正常な読み取り動作を記述していると判定したことに基づき、複数のエラー訂正動作の実行を控えることができる。コントローラはまた、タイプビットが検出されたエラーを記述していると判定したことに基づき、拡張情報ビットを使用して複数のエラー訂正動作を実行することができる。コントローラは、内部動作ビットから、拡張ビットによって要求されるように、かつ拡張情報ビットによってさらに詳述されるように、複数のエラー訂正動作をさらに実行することができる。
【００５９】
図４は、本開示の複数の実施形態にしたがったトランザクションメタデータフレーム４４０のブロック図である。図４は、トランザクションメタデータフレーム４４０のＩＯＰフィールドを示している。トランザクションメタデータフレーム４４０の３つの例は、トランザクションメタデータフレーム４４０−１、４４０−２及び４４０−３として提供される。
【００６０】
トランザクションメタデータフレーム４４０−１は、「０」ビットを有する拡張ビット、「００」ビットを有するタイプビット、及び「００」ビットを有する重大度ビットを含むことができる。拡張ビットは、拡張情報ビットがアクティブ化されるべきでないことを示すことができる。すなわち、拡張ビットは、拡張情報ビットが無視されるべきであることを示すことができる。重大度ビットは、通常の重大度を記述することができる。コントローラは、トランザクションメタデータを受信したことに応答して動作の実行を控えてもよい。タイプビットは、重大度ビットによって参照されない場合には処理されなくてもよい。コントローラはまた、重大度ビット及びタイプビットが拡張情報ビットを参照しないため、拡張情報ビットの処理を控えてもよい。
【００６１】
トランザクションメタデータフレーム４４０−２は、「１」ビットを有する拡張ビット、「１０」ビットを有するタイプビット、及び「０１」ビットを有する重大度ビットを含むことができる。拡張ビットは、拡張情報ビットをアクティブ化するための追加メタデータ拡張を記述することができる。タイプビットは、メモリデバイスがエラーを検出したがエラーを訂正しなかったことを記述するために、読み取りエラータイプを記述することができる。重大度ビットは、監視の重大度を記述することができ、データの処理に使用されるさらなる情報のためにタイプビットを用いることができる。すなわち、重大度ビットは、タイプビット及び拡張ビットを通じて追加情報が利用可能であることを提供することができる。
【００６２】
トランザクションメタデータフレーム４４０−３は、「１」ビットを有する拡張ビット、「１１」ビットを有するタイプビット、及び「０１」ビットを有する重大度ビットを含むことができる。拡張ビットは、拡張情報ビットをアクティブ化するための追加メタデータ拡張を記述することができる。タイプビットは、メモリデバイスがエラーのエラーを検出し、そのエラーを訂正したことを記述するために、読み取り訂正タイプを記述することができる。重大度ビットは、監視の重大度を記述することができ、データの処理に使用されるさらなる情報のためにタイプビットを用いることができる。すなわち、重大度ビットは、タイプビット及び拡張ビットを通じて追加情報が利用可能であることを提供することができる。
【００６３】
特定の実施形態が本明細書で例示及び説明されてきたが、当業者は、同じ結果を達成するように推測される配置構成が、示された特定の実施形態に置き換えられ得ることを認識するであろう。本開示は、本開示の様々な実施形態の適応または変形を網羅するように意図される。上記の説明は、例示的になされたものであり、限定的になされたものではないことが理解されよう。上記の実施形態と、本明細書で具体的に説明されていない他の実施形態との組み合わせは、上記の説明を考察すれば当業者にとって明らかとなるであろう。本開示の様々な実施形態の範囲には、上記の構造及び方法が使用される他の適用が含まれる。したがって、本開示の様々な実施形態の範囲は、添付された特許請求の範囲、ならびにかかる特許請求の範囲の権利が与えられる均等物の全範囲を参照して定められるべきである。
【００６４】
前述の発明を実施するための形態では、本開示を簡素化する目的で、様々な特徴が単一の実施形態に共にまとめられている。開示のこの方法は、本開示の開示された実施形態が、各請求項に明示的に記載されたものよりも多くの特徴を使用する必要があるという意図を反映したものとして解釈されるべきではない。むしろ、以下の特許請求の範囲が反映するように、発明の主題は、単一の開示された実施形態の全ての特徴よりも少ないところにある。したがって、以下の特許請求の範囲は、本明細書によって発明を実施するための形態に組み込まれ、各請求項は、別個の実施形態として独立している。
【図１】
2021520556.tif 000003
【図２】
2021520556.tif 000004
【図３】
2021520556.tif 000005
【図４】
2021520556.tif 000006
【手続補正書】
【提出日】令和2年11月20日(2020.11.20)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
メモリデバイスと、
コントローラと、
前記メモリデバイス及び前記コントローラに結合され、前記メモリデバイスに記憶されたデータのアドレスを提供するように構成された、アドレスバスと、
前記メモリデバイス及び前記コントローラに結合され、前記アドレスに関連する前記データを前記メモリデバイスから転送するように構成されたデータバスと、
前記メモリデバイス及び前記コントローラに結合され、前記データバスと同期して、かつ前記アドレスバスと連携してサイドバンド信号を転送するように構成されたトランザクションメタデータバスと
を含む、メモリシステム。
【請求項２】
前記トランザクションメタデータバスが、トランザクションメタデータを転送するようにさらに構成される、請求項１に記載のメモリシステム。
【請求項３】
前記トランザクションメタデータが、前記データバスを使用して転送される前記データに関連する、請求項２に記載のメモリシステム。
【請求項４】
前記トランザクションメタデータが、前記データに関連して前記メモリデバイスによって取られるアクションを記述する、請求項２に記載のメモリシステム。
【請求項５】
メモリアレイを含むメモリデバイスであって、
データを求める要求をコントローラからアドレスバスを介して受信することと、
前記要求を受信したことに応答して前記メモリアレイから前記データを取得することと、
前記データを取得したことに応答して前記データのためのトランザクションメタデータを生成することと、
データバスを介して前記コントローラに前記データを提供することと、
トランザクションメタデータバスを介して前記データと同時に前記トランザクションメタデータを前記コントローラに提供することとを行うように構成された、前記メモリデバイス。
【請求項６】
前記メモリアレイが、前記データを取得したことに応答して前記データに対してエラー訂正を実行するようにさらに構成され、前記トランザクションメタデータが、前記データに対して実行された前記エラー訂正に関連する、請求項５に記載のメモリデバイス。
【請求項７】
前記データに対して実行された前記エラー訂正を記述する内部動作ビットを含む前記トランザクションメタデータを生成するようにさらに構成され、
前記内部動作ビットが、前記データに対して実行された前記エラー訂正を記述する重大度ビットを含む、請求項６に記載のメモリデバイス。
【請求項８】
前記メモリデバイスのステータスを記述するステータスビットを含む前記トランザクションメタデータを生成するようにさらに構成された、請求項６に記載のメモリデバイス。
【請求項９】
前記エラー訂正コードに関連するエラー訂正データを含む拡張情報ビットを含む前記トランザクションメタデータを生成するようにさらに構成された、請求項６に記載のメモリデバイス。
【請求項１０】
前記拡張情報ビットが、
パリティビットと、
シンドロームビットと、
較正ビットとを含む、請求項９に記載のメモリデバイス。
【請求項１１】
アドレスバスを介してデータを要求することと、
メモリデバイスに結合されたデータバスを介して前記データを受信することと、
前記データの受信と同時に前記メモリデバイスに結合されたトランザクションメタデータバスを介してトランザクションメタデータを受信することと、
前記メモリデバイスのステータスを記述する前記トランザクションメタデータからのステータスビットを処理することと、
前記メモリデバイスによってホスティングされたエラー訂正コードを使用して前記データに対して実行された動作を記述する前記トランザクションメタデータからの内部動作ビットを処理することと、
エラー訂正データを含む前記トランザクションメタデータからの拡張情報ビットを処理することと、
前記ステータスビット、前記内部動作ビット及び前記拡張情報ビットに基づいて複数のエラー訂正動作を実行するかどうかを決定することと
を含む方法。
【請求項１２】
前記メモリデバイスの前記ステータスが所定の基準を満たしていると判定することをさらに含む、請求項１１に記載の方法。
【請求項１３】
前記内部動作ビットからの重大度ビットを使用して前記データの状態を判定することと、
前記データの前記状態が監視状態であると判定したことに基づいて前記内部動作ビットからタイプビットを読み取ることと、
前記タイプビットが前記データの読み取り動作の成功を記述していると判定したことに基づいて前記複数のエラー訂正動作の実行を控えることと、
前記タイプビットが検出されたエラーを記述していると判定したことに基づいて前記拡張情報ビットを使用して前記複数のエラー訂正動作を実行することとをさらに含む、請求項１１または１２に記載の方法。
【請求項１４】
前記内部動作ビットから、拡張ビットによって要求されるように、かつ前記拡張情報ビットによってさらに詳述されるように前記複数のエラー訂正動作を実行することをさらに含む、請求項１３に記載の方法。
【請求項１５】
前記複数のエラー訂正動作の実行を控えることと、
前記メモリデバイスの前記ステータスが所定の基準を満たしていないと判定したことに基づいてメモリデバイス動作を実行することとをさらに含む、請求項１１に記載の方法。
【国際調査報告】
2021520556.tif 000007
2021520556.tif 000008