JP2017514263A - ローカルメモリを備えたコントローラを有するメモリ - Google Patents
ローカルメモリを備えたコントローラを有するメモリ Download PDFInfo
- Publication number
- JP2017514263A JP2017514263A JP2016560956A JP2016560956A JP2017514263A JP 2017514263 A JP2017514263 A JP 2017514263A JP 2016560956 A JP2016560956 A JP 2016560956A JP 2016560956 A JP2016560956 A JP 2016560956A JP 2017514263 A JP2017514263 A JP 2017514263A
- Authority
- JP
- Japan
- Prior art keywords
- memory
- module
- data
- controller
- host
- 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.)
- Withdrawn
Links
- 230000015654 memory Effects 0.000 title claims abstract description 267
- 238000000034 method Methods 0.000 claims abstract description 22
- 238000012937 correction Methods 0.000 claims abstract description 15
- 230000004044 response Effects 0.000 claims abstract description 10
- 230000002950 deficient Effects 0.000 claims abstract description 7
- 239000000758 substrate Substances 0.000 claims description 13
- 230000008439 repair process Effects 0.000 claims description 4
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 claims description 3
- 229910052710 silicon Inorganic materials 0.000 claims description 3
- 239000010703 silicon Substances 0.000 claims description 3
- 239000002356 single layer Substances 0.000 claims 1
- 238000001514 detection method Methods 0.000 abstract description 5
- 238000010586 diagram Methods 0.000 description 7
- 238000005192 partition Methods 0.000 description 5
- 230000002457 bidirectional effect Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 230000003139 buffering effect Effects 0.000 description 2
- 239000004020 conductor Substances 0.000 description 2
- 230000007547 defect Effects 0.000 description 2
- 230000008520 organization Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 241000724291 Tobacco streak virus Species 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 239000003990 capacitor Substances 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000006386 memory function Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 229910000679 solder Inorganic materials 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1048—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using arrangements adapted for a specific error detection or correction feature
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1004—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- For Increasing The Reliability Of Semiconductor Memories (AREA)
- Detection And Correction Of Errors (AREA)
- Dram (AREA)
Abstract
ローカルメモリを有するコントローラを備えたメモリ装置を動作させるメモリ装置、システム、及び、方法の実施形態を一般的に本明細書に記載する。ある実施形態においては、コントローラは、メモリ要求(例えば、読み取り、書き込み)をメモリ装置の適切なモジュールメモリに分配することができ、ローカルメモリに記憶されたECCデータを用いた検出及び訂正を含む、メモリ装置からホストへの応答を編成できる。ローカルメモリは、また、任意の欠陥モジュールメモリ位置に冗長メモリを提供できる。【選択図】図1
Description
関連出願
本出願は、2015年2月12日出願のUS出願第14/620,852号の優先権の利益を主張し、US出願第14/620,852号は、2014年4月8日出願のUS仮特許出願第61/976,732号の優先権の利益を主張し、引用により、その全体を本明細書に組み込むものとする。
本出願は、2015年2月12日出願のUS出願第14/620,852号の優先権の利益を主張し、US出願第14/620,852号は、2014年4月8日出願のUS仮特許出願第61/976,732号の優先権の利益を主張し、引用により、その全体を本明細書に組み込むものとする。
メモリ帯域幅は、高性能の計算、高性能サーバ、グラフィックス、及び、中レベルのサーバにおいて、システム性能のボトルネックとなる。マイクロプロセッサイネーブラは、作業セットをより小さいブロックに分配、かつ、数が増加している作業要素(例えば、コア)間に分配することによって、コア及びコアあたりのスレッドを増加させて、性能及び作業負荷能力を大きく向上させている。プロセッサの各コンピュータ要素がメモリを必要とするので、各プロセッサが複数のコンピュータ要素を有すると、各プロセッサに必要なメモリ量を増加させる必要がある。この結果、これらの課題に対処するために、プロセッサに密に結合したメモリ帯域幅及びメモリ密度の必要性が大きくなる。現在のメモリ技術ロードマップは、中央処理装置(CPU)とグラフィックスプロセッシングユニット(GPU)のメモリ帯域幅の目標に見合う性能を提供していないかもしれない。
プロセッサに密に結合したメモリ帯域幅及びメモリ密度の必要性に対処するために、ハイブリッドメモリキューブ(HMC)を実施することによってコントローラと同じ基板にメモリを配置してよく、メモリシステムが、その意図するタスクをより最適に行うことができるようにする。HMCは、シリコン貫通電極(TSV)等の内部の垂直導体によって接続された個々のモジュールメモリダイ(例えば、メモリ装置)のスタックを特徴としてよい。TSVは、個々のメモリダイのスタックをコントローラと電気的に接続できる垂直導体である。HMCによって、ビットあたりのデータ転送するためより少ないエネルギーを使用しながら、より少ないフォームファクタを提供することができ、帯域幅及び効率性を配達することができる。HMCの一実施形態においては、コントローラは、TSVを用いて接続されるメモリ装置の垂直スタックとインタフェースをとる高速の論理層を備える。メモリは、データを扱うことができ、論理層は、HMC内のメモリ制御を扱うことができる。HMCの改良に対する一般的な必要性が存在する。
HMC上にスタックされたメモリダイは、それぞれ、自身の冗長メモリ領域を有する完全なメモリ装置である。HMC構成体は、論理層を備えるので、エラーの検知と訂正を行うことができる。よって、HMCを複数のメモリ装置のコントローラとして使用する機会が存在する。HMCの背後にメモリ装置があると、冗長アレイを必要とせず、エラー訂正データを記憶する必要がなく、不良メモリセルを再マップする必要がないので、より速くなる。ホストは、メモリ装置からHMCを介してエラーが訂正されたデータを受信する。HMCの背後のメモリ装置でビットに異常があると、HMCローカルメモリを用いて、検出、訂正される。HMC装置、または、記載のような論理機能及びメモリ機能の両方を有する類似の構成体は、複雑さを減らし、品質を向上させ、システム性能を改良する。
図1は、システム100の実施形態のブロック図を示す。ホスト101(例えば、中央処理装置(CPU))は、双方向データリンク103を介してメモリ構成体102に結合される。双方向データリンク103は、シリアライズ/デシリアライズ(SERDES)データリンクまたは並列データリンクを含み得る。
メモリ構成体102は、特定用途向け集積回路(ASIC)105またはフィールドプログラマブルゲートアレイ(FPGA)105のいずれかで実施されるコントローラ110等のコントローラ110を備える。ASIC/FPGA105は、メモリ制御及びホスト101との通信に対応する他の論理ブロックを備えることができる。ASIC/FPGA105を用いて、特定用途のためにカスタマイズを有効にしてもよく、プロセッサ(CPU)であってもよい。コントローラ110は、プロセッサ(CPU)、ASIC、または、他の制御回路を含んでよい。ASIC/FPGA105及びコントローラ110は、固有の基板199に接着されてよい。基板199、ASIC/FPGA105、コントローラ110、及び、ローカルメモリの組み合わせは、ハイブリッドメモリキューブ(HMC)メモリ装置の一部であってよい。基板199を必要としないHMCの構成体もある。以下、コントローラ110に言及する場合は、ASIC/FPGA105を含んでよい。
メモリ構成体102は、複数のモジュールメモリ120〜127(例えば、メモリダイ)をさらに備える。モジュールメモリ120〜127は、図3A、3Bを参照して以下に示すスタックされたメモリダイの形態であってよい。モジュールメモリ120〜127は、揮発性メモリ(例えば、ダイナミックランダムアクセスメモリ(DRAM)、スタティックランダムアクセスメモリ(SRAM))、または、不揮発性メモリ(例えば、フラッシュ、相変化メモリ(PCM))を含むが、それらに限らない、任意の種類のメモリ装置であってよい。図1に示すモジュールメモリ120〜127は、スタックの一部として、信号編成及び/またはバッファリングのための追加の層を備えてよい。
モジュールメモリ120〜127は、各モジュールメモリ120〜127がメモリバス130を介してコントローラ110と通信するためにメモリ装置に典型的に関連付けられた任意の入力/出力(I/O)回路を備えることができる。従って、及び/または、コントローラ110は、バスを介して特定のモジュールメモリ120に記憶するためにデータを書き込むことができ、その特定のモジュールメモリ120は、自身に関連付けられたI/O回路を用いて、データを受け取り、そのデータをモジュールメモリ120に記憶できる。同様に、及び/または、コントローラ110は、その特定のモジュールメモリ120からデータを読み取ることができ、そのモジュールメモリ120のI/O回路は、メモリアレイにアクセスして、アドレス指定されたメモリ位置(単数または複数)を検索できる。
図2は、図1のメモリ構成体102のモジュールメモリ装置の1つ120のブロック図を示す。他のメモリ装置121〜127は、ほぼ同様である。ブロック図は、例示の目的で、DRAMを使用しているが、本実施形態は、どの1つのメモリ種類に限らない。
メモリ装置は、複数のメモリセル200(例えば、メモリセルのアレイ)を備え、各メモリセル200は、アクセス線(例えば、ワード線)203とデータ線(例えば、ディジット線)204間に結合されている。
データ線204は、メモリセル200の状態を検出できるセンス回路/ドライバ205に結合されている。メモリセルキャパシタが、その各々の有効にされた作動装置を通してデータ線に結合されると、センス回路205を通して検出を行うことができる。
行デコーダ206は、図1のコントローラ110からの行アドレスに応答して、アクセス線203に結合されてアクセス線信号を生成する。列デコーダ207は、センス回路/ドライバ205に結合され、コントローラ110からの列アドレスに応答して、データ線204上へのドライバを通して列アドレスを生成する。列デコーダ207は、また、メモリセル200からの検出状態を出力し、メモリセル200に記憶するデータを受け取る。
列デコーダ207からの出力は、入力/出力(I/O)回路210に入力される。I/O回路210は、データパッドI/O回路を含み得る。
図1のシステム100を再び参照する。典型的なメモリダイのサイズよりモジュールメモリ120〜127のサイズを小さくするために、モジュールメモリ120〜127は、通常の冗長メモリ領域を必要とせず、また、どのモジュールメモリ120〜127もエラー訂正データの記憶専用の領域を必要としない。これらの詳細は両方とも、先行技術のメモリダイ及びモジュール構成体に一般的に見られる。モジュールメモリ120〜127における冗長メモリ領域の必要性は、ローカルメモリ111によって満たすことができ、エラー訂正データの記憶に必要なメモリ領域もローカルメモリ111によって提供できる。ECC回路は、コントローラ110に配置され、これによって、ホスト上にECC回路が必要なくなる。
コントローラ110は、モジュールメモリ120〜127の冗長メモリ及びECCメモリとして使用できるローカルメモリ111を含む。ローカルメモリ111は、図3A及び3Bに示すようなスタックメモリであってよく、任意の種類のメモリ技術、または、異なる種類のメモリ技術の組み合わせを含み得る。例えば、ローカルメモリ111は、不揮発性メモリ(例えば、DRAM、SRAM)、及び/または、揮発性メモリ(例えば、フラッシュ、PCM)であってよい。ローカルメモリ111は、スタックメモリである必要はなく、1つのメモリ層として存在してもよい。ローカルメモリ111は、コントローラ110の一部であってよい。
図6A及び6Bは、システム100の実施形態の図を示し、ここで、ホスト101は、コントローラ110の機能性を併せ持つ。このような場合、ローカルメモリ111は、コントローラ110を備えたホスト101上にスタックされてよい。従って、マルチチップメモリ(MCM)のメモリスタック630は、コントローラ110の機能性を併せ持つホスト101に直接、データを伝送してよい。MCMメモリスタック630は、スタックメモリである必要はなく、1つのメモリ層として存在してもよい。
MCMメモリスタック630は、シリコン貫通電極(TSV)638を用いて積層された複数のメモリダイ120〜127を含んでもよい。ASIC/FPGA105の接続部612とMCMメモリスタック630の接続部632からの信号は、MCM基板620に特有のトレース680とビア640に流れ込み、それらを通る。はんだボール622を通してコンピュータシステムに接続する必要のあるASIC/FPGA105またはMCMメモリスタック630からの他の信号は、MCM基板620に特有のトレース680及びビア640を使用できる。メモリ構成体102は、統合された基板に複数の集積回路(IC)、半導体ダイ、または、他の個別部品がパッケージ化された特定の電子パッケージを提供することができ、それによって、それらを(例えば、1つの大きなICのように見える)一部品として使用することを容易にする。ASIC/FPGA105は、ホスト(例えば、図1のホスト101)とMCMメモリスタック630との間の信号を処理するホストインタフェース論理と、MCMメモリスタック630を制御する制御論理とを提供する論理も含み得る。
図3A及び3Bは、メモリ構成体102の実施形態の図を示し、ここで、コントローラ110及びローカルメモリ111(ハイブリッドメモリキューブに特有の構成体)は、基板320上でMCMメモリ330全てと組み合わされて、(MCM)モジュール399を形成し、それらは、メインボードに配置されて双方向データリンク103を介してホスト101とデータをやりとりする(talk)前に、個々にテストされ、適格とすることができる。
ローカルメモリ111は、コントローラ110と共に、MCMメモリ330のデータ及びメモリ制御を扱ってよい。TSV338は、高レベルの同時接続を提供できる。コントローラ110によるメモリアクセスは、相対的に高い転送速度(例えば、1Tb/秒より大きい)をサポートできるMCMメモリ330とASIC/FPGA105との間でインタフェース380を介して行うことができる。例えば、インタフェース380は、高速シリアルバスであってよい。TSV338は、層と層の間の相互接続部398を用いて結合されてよい。
MCMメモリスタック330は、複数のモジュールメモリ120〜127を表してよい。MCMメモリスタック330は、複数の自律したパーティション(例えば、16のパーティション)でできているように見えるかもしれない。各パーティションは、複数の独立したメモリバンク(例えば、2〜8)を含み得る。各パーティションは、通常の動作中、データ移動及びコマンド/アドレス指定に関して、他のパーティションから独立、自律してよい。他の実施形態においては、図3A、3B、6A、及び、6Bに示すMCMメモリスタック330は、信号編成及び/またはバッファリングのための追加の層をスタックの一部として備えてよい。
図4は、ローカルメモリを備えたコントローラを有するメモリ装置に書き込み(例えば、プログラミング)を行う方法の実施形態のフローチャートを示す。1つまたは複数のアドレス(例えば、論理アドレス)を有するデータは、メモリ装置に結合されたホスト(例えば、CPU)から書き込みコマンドと共に受信できる(400)。例えば、ホストは、1つのアドレスを有するデータ、複数のアドレスを有するデータ、または、モジュールメモリの複数の連続した位置に記憶させる開始アドレスを有するデータの突発を送信してよい。
データは、エラー訂正コード(ECC)データを含むデータパケット(例えば、ユーザデータ)のペイロードであってよい。ECCデータは、ECCアルゴリズム(例えば、Hamming、Reed‐Solomon、Viterbi)を用いてホストによって生成でき、生じるECCデータをペイロードデータに添付してデータパケットを形成できる。そうすると、ホストは、データパケットをメモリ装置に送信できる。ECCデータは、メモリ装置上のコントローラ、ASIC、FPGA、及び/または、回路によって生成されてもよい。
コントローラは、モジュールメモリのデータパケットの宛先アドレスに関連付けられたローカルメモリの位置にECCデータを記憶する(401)。コントローラは、ホストからのデータパケット(ユーザデータ)を受信したアドレス(単数または複数)が示す適切なモジュールメモリに記憶する(403)。
ローカルメモリにECCデータを記憶することによって、モジュールメモリを開放して、より多くのデータを保持できる。別の実施形態においては、ローカルメモリにECCデータを記憶することによって、モジュールメモリダイを小さくすることができる。
コントローラは、ホストから受信した論理アドレスを用いてデータパケットをモジュールメモリに書き込むことができ、モジュールメモリにデータの物理アドレスを判断させることができる。どのようにモジュールメモリが論理アドレスを物理アドレスに再マップするかをコントローラ110が知っていることも役に立つ。別の実施形態においては、コントローラは、論理アドレスに関連付けられる物理アドレスを判断することができ、データを物理アドレスに書き込むことができる。コントローラ110に物理アドレスを理解させることによって、欠陥メモリ位置をローカルメモリの物理アドレスにマップする能力をコントローラ110に与える。コントローラは、モジュールメモリ冗長性に使用されているローカルメモリのメモリマップを保持できる。
図5は、ローカルメモリを備えたコントローラを有するメモリ装置から読み取る方法の実施形態のフローチャートを示す。モジュールメモリまたは冗長メモリとしてのローカルメモリから読み取る一方、コントローラは、ローカルメモリに記憶されたECCデータを用いて、エラー検出とエラー訂正を行うことができる。エラーが多すぎてECCデータによって訂正できないデータもある。この場合、データに使用不可とマーク付けしてもよく、エラーメッセージを生成してもよく、または、データは単に使用されなくてもよい。
読み取りコマンドが、最初、ホストから受信される(500)。読み取りコマンドは、アクセスすべきアドレス(例えば、論理アドレス)を含む。コントローラは、次に、受信された論理アドレスに関連付けられた物理アドレスからユーザデータを読み取ることができる(501)。従って、メモリモジュールが、その論理アドレスに関連付けられたモジュールメモリに最初にデータを書き込んだ場合、コントローラは、モジュールメモリ内の物理アドレスからデータを読み取ることができる。コントローラは、(欠陥モジュールメモリ位置が原因で)冗長メモリとして働くローカルメモリに論理アドレスを再マップした場合、ローカルメモリの物理アドレスにアクセスできる。
モジュールメモリからのデータ検索は時間がかかる。業界標準のモジュールメモリにおいては、モジュールメモリに、不良メモリ位置を識別、デコード、及び、ブロックさせ、かつ、モジュールメモリ内の冗長メモリ領域からデータを回復させることによって、データの検索がさらに遅れるのが一般的である。本発明の一実施形態においては、モジュールメモリは、不良メモリ位置を識別、デコード、または、ブロックする必要はなく、冗長モジュールメモリ領域からデータを検索する必要もない。モジュールメモリは、その最大速度で動作して、良好なデータ及び不良データを持ち出すことができる。冗長モジュールメモリデータをローカルメモリから検索するのにかかる時間は、モジュールメモリが最大速度で動作しながら、良好なデータ及び不良データで応答する時間よりも短い。最大速度で動作するモジュールメモリから良好なデータ及び不良データが到着する前に、コントローラ110が、モジュールメモリ冗長性として機能するローカルメモリデータを準備し、その結果、有用なモジュールメモリデータが遅延なく結合できて、ホストに対する可能な最速の応答を生じる。
コントローラ110は、また、ローカルメモリに記憶されたECCデータを読み取ることができ(503)、読み取られたデータが、1つまたは複数のエラーを含むか否かを検知するために、モジュールメモリから読み取られたユーザデータにECCデータを適用できる(505)。コントローラ110は、ECCデータを使用して、1つまたは複数のエラーの訂正を試みることができる。コントローラ110は、前述したのと同じECCアルゴリズム(例えば、Hamming、Reed‐Solomon、Viterbi)を使用できる。
コントローラ110またはASIC/FPGA105は、モジュールメモリから読み取られたユーザデータが1つまたは複数のエラーを含むことを検出した場合、将来、参照するためにそのエラーをログする(507)。そして、コントローラ110またはASIC/FPGA105は、ホスト509に正確なデータを渡すことができる。
コントローラ110は、特定のモジュールメモリまたはローカルメモリの欠陥位置へのさらなるアクセスをいずれもローカルメモリ111内の冗長メモリ位置にマップすることができる。コントローラ110、ローカルメモリ111、ASIC/FPGA105、または、モジュールメモリのいずれかが、欠陥位置のリストを保持できる。アイドル時間中、ホスト(CPU)101、コントローラ110、または、ASIC/FPGA105は、修復機能を実行して、メモリ要素(すなわち、冗長行、冗長列、冗長TSV、冗長ブロック等)を用いて不良なモジュールメモリまたはローカルメモリの要素を置き換えることができる。あるいは、ホスト(CPU)101、コントローラ110、または、ASIC/FPGA105は、修復手順をトリガできる。欠陥要素が修復されると、コントローラは、使用可能な冗長要素にさらなるアクセスを再マップできる。
ローカルメモリは、モジュールメモリのオーバーブローメモリとしても使用できる。例えば、モジュールメモリがいっぱいになると、コントローラは、モジュールメモリ内の位置が空くまで、バックアップとしてローカルメモリに受信データを再マップできる。
結論
開示の実施形態は、メモリ装置とホストとの間のインタフェースとして機能し得るローカルメモリをコントローラに提供する。コントローラ110は、メモリ要求(例えば、読み取り、書き込み)を適切なモジュールメモリに分配することができ、メモリ装置からホストへの応答(例えば、エラー検出/訂正)を編成できる。コントローラ110は、書き込み動作中、受信したECCデータをローカルメモリに記憶することができ、読み込み動作中、記憶されたECCデータを使用して、モジュールメモリから生じるデータエラーを検出及び/または訂正できる。ローカルメモリは、また、複数のモジュールメモリの欠陥位置に関連付けられた冗長メモリと、複数のモジュールメモリに関連付けられエラー訂正コードメモリとを提供することができる。
開示の実施形態は、メモリ装置とホストとの間のインタフェースとして機能し得るローカルメモリをコントローラに提供する。コントローラ110は、メモリ要求(例えば、読み取り、書き込み)を適切なモジュールメモリに分配することができ、メモリ装置からホストへの応答(例えば、エラー検出/訂正)を編成できる。コントローラ110は、書き込み動作中、受信したECCデータをローカルメモリに記憶することができ、読み込み動作中、記憶されたECCデータを使用して、モジュールメモリから生じるデータエラーを検出及び/または訂正できる。ローカルメモリは、また、複数のモジュールメモリの欠陥位置に関連付けられた冗長メモリと、複数のモジュールメモリに関連付けられエラー訂正コードメモリとを提供することができる。
Claims (32)
- 基板と、
前記基板に結合された複数のモジュールメモリ装置と、
前記基板に結合されたコントローラであって、前記複数のモジュールメモリ装置とは別個のローカルメモリであって、前記複数のモジュールメモリの欠陥位置に関連付けられた冗長メモリと、前記複数のモジュールメモリ装置に関連付けられたエラー訂正コードメモリとを含む前記ローカルメモリを備える、前記コントローラと、
を備える、メモリ構成体。 - 前記複数のモジュールメモリ装置は、シリコン貫通電極によって互いに結合される、請求項1に記載のメモリ構成体。
- 前記複数のモジュールメモリ装置は、前記基板のインタフェースを通して前記コントローラに結合される、請求項2に記載のメモリ構成体。
- 前記ローカルメモリは、前記コントローラに接続されたローカルメモリスタックを含む、請求項1に記載のメモリ構成体。
- 前記ローカルメモリは、複数の不揮発性メモリダイ及び/または複数の揮発性メモリダイを含む、請求項4に記載のメモリ構成体。
- 前記複数のモジュールメモリ装置は、複数の不揮発性メモリダイまたは複数の揮発性メモリダイのうちの1つである、請求項1に記載のメモリ構成体。
- 前記コントローラは、エラー訂正コード(ECC)データ及びユーザデータを含むデータを前記メモリ装置に結合されたホストから受信し、前記ユーザデータを前記複数のモジュールメモリ装置に記憶し、前記ECCデータを前記ローカルメモリに記憶するように構成される、請求項1に記載のメモリ構成体。
- 前記コントローラは、前記ユーザデータを前記複数のモジュールメモリ装置から読み取り、前記ローカルメモリに記憶された前記ECCデータに基づいて、前記読み取ったユーザデータがエラーを含むか否かを判断し、前記ECCデータを用いて、あらゆる検出したエラーの訂正を試みるように構成された、請求項7に記載のメモリ構成体。
- 前記コントローラは、前記メモリ装置に結合されて、ホストからの要求を前記複数のモジュールメモリ装置に分配し、前記複数のモジュールメモリ装置から前記ホストへの応答を編成するように構成される、請求項1に記載のメモリ構成体。
- 前記複数のモジュールメモリ装置は、冗長メモリ領域もエラー訂正データ領域も備えていない、請求項1に記載のメモリ構成体。
- コントローラを有するメモリ構成体を動作させる方法であって、
ホストからの書き込みコマンドであって、ユーザデータ及びエラー訂正コード(ECC)データを含む、前記書き込みコマンドを受信することと、
前記コントローラのローカルメモリに前記ECCデータを記憶することと、
前記メモリ構成体のモジュールメモリに前記ユーザデータを記憶することと、
を含み、前記モジュールメモリは、前記ローカルメモリとは別個である、前記方法。 - 読み取りコマンドを前記ホストから受信することと、
前記モジュールメモリからユーザデータを読み取ることと、
前記ローカルメモリの関連するECCデータを用いて、前記読み取ったユーザデータのあらゆるエラーを検出することと、
前記検出したエラーを前記ローカルメモリの前記ECCデータを用いて訂正しようと試みることと、
をさらに含む、請求項11に記載の方法。 - 前記読み取りコマンドに応答して、訂正したデータを前記ホストに送信することをさらに含む、請求項12に記載の方法。
- エラーが検出されたユーザデータに関連付けられたアドレスをログすることをさらに含む、請求項12に記載の方法。
- 前記エラーが検出された前記ユーザデータに関連付けられた前記アドレスに位置するメモリセルを、前記コントローラのアイドル時間中に、修復するように試みることをさらに含む、請求項14に記載の方法。
- 前記エラーが検出された前記ユーザデータに関連付けられた前記アドレスを、前記アドレスに関連付けられた前記モジュールメモリのアイドル時間中に、修復するように試みることをさらに含む、請求項14に記載の方法。
- コントローラを有するメモリ構成体を動作させる方法であって、
読み取りコマンドであって、前記コントローラのローカルメモリとは別個のモジュールメモリから読み取るデータに関連付けられたアドレスを含む前記読み取りコマンドをホストから受信することと、
前記読み取ったデータに関連付けられたエラー訂正コード(ECC)データを前記ローカルメモリから読み取ることと、
前記ローカルメモリからの前記ECCデータに応答して、前記読み取ったデータがエラーを含むか否かを検出することと、
前記読み取ったデータの前記エラーを前記ローカルメモリからの前記ECCデータを用いて訂正しようと試みることと、
を含む、前記方法。 - 前記読み取ったデータが前記エラーを含む時、前記モジュールメモリの前記アドレスへのアクセスを前記ローカルメモリに再マップすることをさらに含む、請求項17に記載の方法。
- 前記アドレスに関連付けられた前記モジュールメモリを修復することと、
前記アドレスに関連付けられた前記モジュールメモリの修復後、前記アドレスへのアクセスを前記ローカルメモリから前記モジュールメモリに再マップすることと、
をさらに含む、請求項18に記載の方法。 - 前記読み取ったデータを前記ホストに送信することをさらに含む、請求項17に記載の方法。
- 前記モジュールメモリがそれ以上データを記憶できない時、前記モジュールメモリの前記アドレスへのアクセスを前記ローカルメモリに再マップすることをさらに含む、請求項17に記載の方法。
- 前記コントローラが前記ホストからの要求を前記モジュールメモリに分配することと、
前記コントローラが前記モジュールメモリから前記ホストへの応答を編成することと、
前記応答を前記ホストに送信することと、
をさらに含む、請求項17に記載の方法。 - ホストと、
前記ホストに結合されたメモリ構成体と、
を備えるシステムであって、前記メモリ構成体は、
基板と、
前記基板に結合されたモジュールメモリ装置と、
前記基板に結合されたコントローラであって、前記モジュールメモリ装置とは別個のローカルメモリであって、前記モジュールメモリの欠陥位置に関連付けられた冗長メモリと、前記モジュールメモリ装置に記憶されたユーザデータに関連付けられたECCデータを記憶するエラー訂正コード(ECC)メモリとを含む前記ローカルメモリを含む前記コントローラと、を備える前記メモリ構成体である、
前記システム。 - 前記メモリ構成体は、ハイブリッドメモリキューブを含む、請求項23に記載のシステム。
- 前記コントローラは、前記基板に結合された特定用途向け集積回路(ASIC)またはフィールドプログラマブルゲートアレイ(FPGA)の一部である、請求項23に記載のシステム。
- 前記ASICまたは前記FPGAと、前記モジュールメモリ装置とは、前記基板でインタフェースを介して互いに結合される、請求項25に記載のシステム。
- 前記モジュールメモリ装置及び前記ローカルメモリは、ダイナミックランダムアクセスメモリを含む、請求項23に記載のシステム。
- 前記ホストは、シリアルリンクを介して前記メモリ構成体に結合される、請求項23に記載のシステム。
- 前記ホスト及び前記コントローラは、前記基板に結合された単体の特定用途向け集積回路である、請求項23に記載のシステム。
- 前記モジュールメモリ装置は、一層である、請求項23に記載のシステム。
- メモリ構成体とは別個のホストからコマンドを受信することであって、前記メモリ構成体は、基板に結合されたコントローラと、前記コントローラとは別個のモジュールメモリとを有し、前記コントローラが、ユーザデータを含む前記コマンドを前記受信することと、
前記コントローラまたはメモリ回路からエラー訂正コード(ECC)データを受信することと、
前記コントローラの一部であるローカルメモリに前記ECCデータを記憶することと、
前記ユーザデータを前記モジュールメモリに記憶することと、
を含む、方法。 - 前記モジュールメモリに前記ユーザデータを記憶することは、前記コントローラが、前記基板でシリアルリンクを介して前記モジュールメモリと通信することを含む、請求項31に記載の方法。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201461976732P | 2014-04-08 | 2014-04-08 | |
US61/976,732 | 2014-04-08 | ||
US14/620,852 | 2015-02-12 | ||
US14/620,852 US20150286529A1 (en) | 2014-04-08 | 2015-02-12 | Memory device having controller with local memory |
PCT/US2015/024670 WO2015157251A1 (en) | 2014-04-08 | 2015-04-07 | Memory device having controller with local memory |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2017514263A true JP2017514263A (ja) | 2017-06-01 |
Family
ID=54209841
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016560956A Withdrawn JP2017514263A (ja) | 2014-04-08 | 2015-04-07 | ローカルメモリを備えたコントローラを有するメモリ |
Country Status (7)
Country | Link |
---|---|
US (1) | US20150286529A1 (ja) |
EP (1) | EP3129985A1 (ja) |
JP (1) | JP2017514263A (ja) |
KR (1) | KR20160143744A (ja) |
CN (1) | CN106463158A (ja) |
TW (1) | TW201603041A (ja) |
WO (1) | WO2015157251A1 (ja) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102548591B1 (ko) | 2016-05-30 | 2023-06-29 | 삼성전자주식회사 | 반도체 메모리 장치 및 그것의 동작 방법 |
KR102487553B1 (ko) * | 2016-12-07 | 2023-01-11 | 삼성전자주식회사 | 리페어 가능한 휘발성 메모리를 포함하는 스토리지 장치 및 상기 스토리지 장치의 동작 방법 |
CN109215724B (zh) * | 2017-07-05 | 2021-01-15 | 北京兆易创新科技股份有限公司 | 存储器自动检测和修复的方法及装置 |
KR102435890B1 (ko) * | 2017-08-17 | 2022-08-25 | 삼성전자주식회사 | 스토리지 장치의 어드레스 맵핑 방법 및 동작 방법 |
KR102387977B1 (ko) | 2017-11-29 | 2022-04-19 | 삼성전자주식회사 | 적어도 두 개의 채널들을 통해 시스템 온 칩과 통신하는 메모리 장치, 이를 포함하는 전자 장치, 그리고 전자 장치의 동작 방법 |
KR20190075363A (ko) | 2017-12-21 | 2019-07-01 | 삼성전자주식회사 | 반도체 메모리 장치, 이를 포함하는 메모리 시스템 및 메모리 모듈 |
KR102518849B1 (ko) * | 2018-03-07 | 2023-04-07 | 에스케이하이닉스 주식회사 | 메모리 장치 |
US11132253B2 (en) * | 2018-12-06 | 2021-09-28 | Micron Technology, Inc. | Direct-input redundancy scheme with dedicated error correction code circuit |
EP3903315A4 (en) * | 2018-12-28 | 2022-08-17 | Micron Technology, Inc. | REDUCING SYSTEM PERFORMANCE BASED ON STORAGE USE PATTERNS |
KR102125350B1 (ko) * | 2019-01-30 | 2020-06-22 | 연세대학교 산학협력단 | 오류 정정 코드를 이용한 적층형 메모리 장치 및 그 수리 방법 |
US11476241B2 (en) | 2019-03-19 | 2022-10-18 | Micron Technology, Inc. | Interposer, microelectronic device assembly including same and methods of fabrication |
US11611358B2 (en) | 2019-12-24 | 2023-03-21 | Kioxia Corporation | Systems and methods for detecting or preventing false detection of three error bits by SEC |
CN113900847A (zh) * | 2021-10-15 | 2022-01-07 | 深圳市金泰克半导体有限公司 | 基于fpga的内存修复系统 |
CN114153402B (zh) * | 2022-02-09 | 2022-05-03 | 阿里云计算有限公司 | 存储器及其数据读写方法 |
Family Cites Families (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4216541A (en) * | 1978-10-05 | 1980-08-05 | Intel Magnetics Inc. | Error repairing method and apparatus for bubble memories |
JPH07334999A (ja) * | 1994-06-07 | 1995-12-22 | Hitachi Ltd | 不揮発性半導体記憶装置及びデータプロセッサ |
JPH10198608A (ja) * | 1997-01-08 | 1998-07-31 | Mitsubishi Electric Corp | メモリカード |
US6551857B2 (en) * | 1997-04-04 | 2003-04-22 | Elm Technology Corporation | Three dimensional structure integrated circuits |
US6079008A (en) * | 1998-04-03 | 2000-06-20 | Patton Electronics Co. | Multiple thread multiple data predictive coded parallel processing system and method |
JP4530464B2 (ja) * | 2000-03-09 | 2010-08-25 | ルネサスエレクトロニクス株式会社 | 半導体集積回路 |
US7076627B2 (en) * | 2001-06-29 | 2006-07-11 | Intel Corporation | Memory control for multiple read requests |
US6904489B2 (en) * | 2001-10-23 | 2005-06-07 | Digi International Inc. | Methods and systems for remotely accessing universal serial bus devices |
US7200021B2 (en) * | 2004-12-10 | 2007-04-03 | Infineon Technologies Ag | Stacked DRAM memory chip for a dual inline memory module (DIMM) |
US8161243B1 (en) * | 2007-09-28 | 2012-04-17 | Intel Corporation | Address translation caching and I/O cache performance improvement in virtualized environments |
US8787060B2 (en) * | 2010-11-03 | 2014-07-22 | Netlist, Inc. | Method and apparatus for optimizing driver load in a memory package |
US10251273B2 (en) * | 2008-09-08 | 2019-04-02 | Intel Corporation | Mainboard assembly including a package overlying a die directly attached to the mainboard |
TWI396202B (zh) * | 2008-11-14 | 2013-05-11 | Phison Electronics Corp | 錯誤校正控制器及其快閃記憶體晶片系統與錯誤校正方法 |
US8412987B2 (en) * | 2009-06-30 | 2013-04-02 | Micron Technology, Inc. | Non-volatile memory to store memory remap information |
JP5347779B2 (ja) * | 2009-07-07 | 2013-11-20 | ソニー株式会社 | メモリ装置、メモリ制御方法、およびプログラム |
US9466561B2 (en) * | 2009-08-06 | 2016-10-11 | Rambus Inc. | Packaged semiconductor device for high performance memory and logic |
US20110040924A1 (en) * | 2009-08-11 | 2011-02-17 | Selinger Robert D | Controller and Method for Detecting a Transmission Error Over a NAND Interface Using Error Detection Code |
US20110041016A1 (en) * | 2009-08-12 | 2011-02-17 | Taiwan Semiconductor Manufacturing Company, Ltd. | Memory errors and redundancy |
US9098209B2 (en) * | 2011-08-24 | 2015-08-04 | Rambus Inc. | Communication via a memory interface |
US9269646B2 (en) * | 2011-11-14 | 2016-02-23 | Micron Technology, Inc. | Semiconductor die assemblies with enhanced thermal management and semiconductor devices including same |
KR101975330B1 (ko) * | 2012-04-06 | 2019-05-07 | 삼성전자주식회사 | 퓨즈 장치에 저장된 데이터를 리드하는 방법 및 이를 이용하는 장치들 |
US9257169B2 (en) * | 2012-05-14 | 2016-02-09 | Samsung Electronics Co., Ltd. | Memory device, memory system, and operating methods thereof |
KR20140028618A (ko) * | 2012-08-29 | 2014-03-10 | 삼성전자주식회사 | 쓰기 페일을 줄이는 메모리 장치, 이를 포함하는 메모리 시스템 및 그 쓰기 방법 |
US9378081B2 (en) * | 2014-01-02 | 2016-06-28 | Qualcomm Incorporated | Bit remapping system |
-
2015
- 2015-02-12 US US14/620,852 patent/US20150286529A1/en not_active Abandoned
- 2015-04-07 KR KR1020167030866A patent/KR20160143744A/ko not_active Application Discontinuation
- 2015-04-07 JP JP2016560956A patent/JP2017514263A/ja not_active Withdrawn
- 2015-04-07 CN CN201580027120.3A patent/CN106463158A/zh active Pending
- 2015-04-07 WO PCT/US2015/024670 patent/WO2015157251A1/en active Application Filing
- 2015-04-07 EP EP15775962.2A patent/EP3129985A1/en not_active Withdrawn
- 2015-04-08 TW TW104111354A patent/TW201603041A/zh unknown
Also Published As
Publication number | Publication date |
---|---|
EP3129985A1 (en) | 2017-02-15 |
CN106463158A (zh) | 2017-02-22 |
KR20160143744A (ko) | 2016-12-14 |
US20150286529A1 (en) | 2015-10-08 |
TW201603041A (zh) | 2016-01-16 |
WO2015157251A1 (en) | 2015-10-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2017514263A (ja) | ローカルメモリを備えたコントローラを有するメモリ | |
TWI517179B (zh) | 用於混成記憶體之系統、方法及裝置 | |
US9324458B2 (en) | Method and controller for receiving and outputting commands and addresses using a queue | |
US10074444B2 (en) | Repair circuit, semiconductor apparatus and semiconductor system using the same | |
US20190140668A1 (en) | Semiconductor memory device and memory system including the same for adaptive error check and correction | |
KR102692010B1 (ko) | 셀어레이 불량 테스트 방법 및 이를 수행하는 반도체장치 | |
JP2011180848A (ja) | 半導体装置及びこれを備える情報処理システム、並びに、半導体装置を制御するコントローラ | |
US11250894B2 (en) | Memory device for supporting new command input scheme and method of operating the same | |
US8675431B2 (en) | Semiconductor memory device and defective cell relieving method | |
US20150255131A1 (en) | Stacked semiconductor apparatus and semiconductor system capable of inputting signals through various paths | |
US9361973B2 (en) | Multi-channel, multi-bank memory with wide data input/output | |
US10395755B2 (en) | Stacked memory device using base die spare cell and method of repairing the same | |
US20240288925A1 (en) | Memory expansion card | |
US11556440B2 (en) | Memory module, memory system including the same and operation method thereof | |
JP2019045910A (ja) | 半導体記憶装置 | |
CN113496756A (zh) | 半导体存储器装置 | |
US10484007B2 (en) | Semiconductor device | |
EP4036917B1 (en) | Memory device, testing method therefor and usage method therefor, and memory system | |
CN114187954B (zh) | 存储器装置及其测试方法和使用方法、存储器系统 | |
US11204718B2 (en) | Apparatuses, systems, and methods to store pre-read data associated with a modify-write operation |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A761 | Written withdrawal of application |
Free format text: JAPANESE INTERMEDIATE CODE: A761 Effective date: 20171117 |