例示的なシステムおよびデバイス
図1Aは、システム100の一例を示す。システム100は、デバイス110およびホストデバイス120を含む。デバイス110は、デバイスコントローラ112およびメモリデバイス116を含む。デバイスコントローラ112は、プロセッサ113および内部メモリ114を含む。いくつかの実装形態では、デバイス110は、デバイスコントローラ112に結合された複数のメモリ116を含む。ホストデバイス120は、少なくとも1つのプロセッサと、少なくとも1つのプロセッサに結合され、1つまたは複数の対応する動作を実行するために少なくとも1つのプロセッサによって実行されるプログラミング命令を格納する少なくとも1つのメモリとを含むことができるホストコントローラ122を含む。
いくつかの実装形態では、デバイス110は、ストレージデバイスである。例えば、デバイス110は、組み込みマルチ・メディア・カード(eMMC)、セキュア・デジタル(SD)・カード、ソリッド・ステート・ドライブ(SSD)、または何らかの他の適切なストレージとすることができる。いくつかの実装形態では、デバイス110は、スマートウォッチ、デジタルカメラ、またはメディアプレーヤである。いくつかの実装形態では、デバイス110は、ホストデバイス120に結合されたクライアントデバイスである。例えば、デバイス110は、ホストデバイス120であるデジタルカメラまたはメディアプレーヤ内のSDカードである。
デバイスコントローラ112は、汎用マイクロプロセッサまたは特定用途向けマイクロコントローラである。いくつかの実装形態では、デバイスコントローラ112は、デバイス110のためのメモリコントローラである。以下の節では、デバイスコントローラ112がメモリコントローラである実装形態に基づく様々な技術について説明する。しかしながら、以下の節で説明する技術は、デバイスコントローラ112がメモリコントローラとは異なる別のタイプのコントローラである実装形態にも適用可能である。
プロセッサ113は、命令を実行し、データを処理するように構成される。命令は、二次メモリにそれぞれファームウェアコードおよび/または他のプログラムコードとして格納されるファームウェア命令および/または他のプログラム命令を含む。データは、他の適切なデータの中でも、プロセッサによって実行されるファームウェアおよび/または他のプログラムに対応するプログラムデータを含む。いくつかの実装形態では、プロセッサ113は、汎用マイクロプロセッサまたは特定用途向けマイクロコントローラである。プロセッサ113は、中央処理装置(CPU)とも呼ばれる。
プロセッサ113は、内部メモリ114から命令およびデータにアクセスする。いくつかの実装形態では、内部メモリ114は、スタティック・ランダム・アクセス・メモリ(SRAM)またはダイナミック・ランダム・アクセス・メモリ(DRAM)である。例えば、いくつかの実装形態では、デバイス110が、eMMC、SDカード、またはスマートウォッチである場合、内部メモリ114はSRAMである。いくつかの実装形態では、デバイス110が、デジタルカメラまたはメディアプレーヤである場合、内部メモリ114はDRAMである。
いくつかの実装形態では、内部メモリは、図1に示されるように、デバイスコントローラ112に含まれるキャッシュメモリである。内部メモリ114は、プロセッサ113によって実行される命令に対応する命令コード、および/またはランタイム中にプロセッサ113によって要求されるデータを格納する。
デバイスコントローラ112は、命令コードおよび/またはデータをメモリデバイス116から内部メモリ114に転送する。メモリデバイス116は、半導体デバイスとすることができる。いくつかの実装形態では、メモリデバイス116は、命令および/またはデータの長期記憶用に構成された不揮発性メモリ(例えば、NANDフラッシュメモリ)または他の適切な不揮発性メモリである。メモリデバイス116がNANDフラッシュメモリである実装形態では、デバイス110は、フラッシュメモリ(例えば、フラッシュメモリカード)であり、デバイスコントローラ112は、NANDフラッシュコントローラである。例えば、いくつかの実装形態では、デバイス110が、eMMCまたはSDカードである場合、メモリデバイス116はNANDフラッシュであり、いくつかの実装形態では、デバイス110がデジタルカメラである場合、メモリデバイス116はSDカードであり、いくつかの実装形態では、デバイス110が。メディアプレーヤである場合、メモリデバイス116はハードディスクである。
いくつかの実装形態では、デバイスコントローラ112は、ホストデバイス120からデータおよび命令を受け取り、ホストデバイス120にデータを送信するように構成される。デバイスコントローラ112は、データおよびコマンドをメモリデバイス116に送信し、メモリデバイス116からデータを受け取るようにさらに構成される。例えば、デバイスコントローラ112は、データおよび書き込みコマンドを送信して、データを指定されたアドレスに格納するようにメモリデバイス116に命令するように構成される。別の一例として、デバイスコントローラ112は、ホストデバイス120から読み取り要求(または読み取りコマンド)を受け取り、対応する読み取りコマンドをメモリデバイス116に送信して、メモリデバイス116内の指定されたアドレスからデータを読み取るように構成される。
メモリデバイス116は、複数のブロックを含む。メモリデバイス116は、例えば、図1Bでさらに詳細に説明されるように、2Dメモリブロックを含む二次元(2D)メモリとすることができる。メモリデバイス116はまた、例えば、図1Cでさらに詳細に説明されるように、3Dメモリブロックを含む三次元(3D)メモリとすることができる。各々のブロックには同じ数のページを含むことができる。各々のページには、ブロック内で一意の番号がある。データは、ブロック内のページの一意の番号の順序に従って、ブロックのページに格納される。各々のページは、個別に読み書きでき、ブロック内のページは、まとめて消去できる。
いくつかの実装形態では、ブロックを多数のサブブロックに分割することができる。各々のサブブロックは、1つまたは複数のページを含むことができる。サブブロック内の各々のページは、個別に読み書きできる。各々のサブブロック内の1つまたは複数のページは、まとめて消去できる。いくつかの実装形態では、メモリデバイス116は、1つまたは複数のダイを含む。各々のダイは、メモリチップであり、多数のメモリアレイとその上に周辺回路を含むことができる。メモリアレイは、多数のプレーンを含むことができ、各々のプレーンは、メモリセルの多数の物理ブロックを含む。各々の物理ブロックは、多数のセクタのデータを格納できる多数のページのメモリセルを含むことができる。スーパーブロックは、例えば、図1Aのコントローラ112などのメモリコントローラによって指定されて、異なるプレーンからの少なくとも1つの物理ブロックを組み合わせることができる。スーパーブロック内の各々の物理ブロックは、異なるプレーンから取得される、つまり、どのプレーンも、スーパーブロック内に複数のブロックを提供することはできない。スーパーブロックは、スーパーブロック内の対応する複数の物理ブロックからの複数のページを各々が結合する多数のスーパーページを含む。スーパーページ内の各々のページは、対応する物理ブロック内に同じページ番号を有することができる。スーパーページは、スーパーページ内のすべてのページが同時にプログラムされるようにプログラムできる。
メモリセルは、消去された状態および1つまたは複数のプログラムされた状態を含む多数の状態を表すことができる。例えば、場合によっては、メモリセルは、1ビットを格納し、消去状態(ER)とプログラム状態(A)を含む2つの状態を表すことができるシングル・レベル・セル(SLC)である。1つのワードラインのメモリセルは、1ページを形成できる。場合によっては、メモリセルは、2ビットを格納し、1つの消去状態(ER)と3つのプログラム状態(A、B、およびC)を含む4つの状態を表すことができる2レベルセルなどのマルチレベルセル(MLC)である。1つのワードラインのメモリセルは、2つのページを形成できる。場合によっては、メモリセルは、3ビットを格納し、1つの消去状態(ER)と7つのプログラム状態(A、B、C、D、E、F、およびG)を含む8つの状態を表すことができるトリプル・レベル・セル(TLC)である。1つのワードラインのメモリセルは、3つのページを形成できる。状態の電圧範囲は次第に高くなり、消去された状態の電圧範囲は最も低くなる。
図1Bは、メモリデバイス116が2Dメモリである場合の2Dメモリブロック140の例示的構成を示す。ブロック140は、多数のセルストリング144を形成するために列ビットラインBL0、BL1、…、BLn-1、およびBLnに直列に結合され、多数のセルページ142を形成するために行ワードラインWL0、WL1、…、WLn-1、WLnに直列に結合されたメモリセル141を含む。
ブロック内の各々のメモリセルは、ゲート、ドレイン、ソース、およびドレインとソースの間に画定されたチャネルを有するトランジスタ構造を含む。各々のメモリセルは、ワードラインとビットラインの交差部に位置し、ゲートは、ワードラインに接続され、ドレインは、ビットラインに接続され、ソースは、ソースラインに接続され、これは次いで共通のグランドに接続されている。いくつかの例では、フラッシュメモリセルのゲートは、コントロールゲートとフローティングゲートを含むデュアルゲート構造を有し、フローティングゲートは、セルをプログラムする電子をトラップするために2つの酸化物層の間に懸架されている。
セルストリング144は、多数のメモリセル141、ストリング選択トランジスタ(SST)143、およびグランド選択トランジスタ(GST)145を含むことができ、これらはすべて直列に接続されている。SST143のゲートは、ストリング選択ライン(SSL)146に接続される。異なるストリング内のSST143のゲートも同じSSLに接続される。メモリセル141のゲートは、ワードラインWL0、WL1、…、WLn-1、WLnにそれぞれ接続される。セルストリング144またはメモリセル141は、GST145を介して共通のソースライン(CSL)149に接続される。CSL149は、グランドまたは供給電圧に結合することができる。GST145のゲートは、グランド選択ライン(GSL)148に接続される。異なるストリング144内のGST145のゲートも、同じGSL148に接続される。
セルページ142は、多数のメモリセル141を含むことができる。セルページ142内のメモリセル141のゲートは、それぞれのワードライン(WL)に直列に結合される。入力電圧がワードラインに印加されると、入力電圧はセルページ142内のメモリセル141のゲートにも印加される。読み取り操作でブロック140内の特定のセルページ142を読み取るために、特定のセルページ142に対応するワードラインに、より低い読み取り電圧が印加される。一方、ブロック140内の他のセルページには、より高い読み取り電圧が印加される。
図1Cは、(図1Aに示される)メモリデバイス116が3Dメモリである場合の例示的な3Dメモリブロック150を示す。3Dメモリブロック150は、図1Bの2Dメモリブロック140のスタックを含むことができる。メモリセル157は、(例えば、XYZ座標系で)三次元に配置され、多数のワードラインに結合されて、多数のセルページ(導電層またはワードライン層)152および多数のビットライン(例えば、BL<n>、BL<n+1>)を形成して、多数のセルストリング154を形成する。セルページ152は、(例えば、XY平面内の)層とすることができ、同じ層上のメモリセル157は、1つのワードラインに結合され、同じ電圧を有することができる。各々のセルページ152は、駆動回路(例えば、Xデコーダ(または走査ドライバ))内のそれぞれのコンタクトパッドに接続することができる。
セルストリング154は、Z方向に沿って垂直に直列に接続された多数のメモリセル157を含み、メモリセルは、ストリング選択ライン(SSL)156に結合されたSSTとして構成することができ、メモリセルは、グランド選択ライン(GSL)158に結合されたGSTとして構成することができる。セルストリング154は、1つまたは複数のドライバ(例えば、データドライバ)に接続される。メモリセル157のセルストリング154は、グランド選択トランジスタ(GST)を介して共通のソースライン(CSL)159に接続される。CSL159は、3Dメモリの基板上に形成された導電層(または複数の導電ライン)とすることができる。CSL159は、グランドまたは供給電圧に結合することができる。
図2は、メモリデバイス200の例示的構成を示す。メモリデバイス200は、図1Aのメモリデバイス116として実装することができる。メモリデバイス200は、メモリセルアレイ210を含む。メモリセルアレイ210は、多数の行ワードラインおよび多数の列ビットラインに直列に結合されている多数のメモリセル(例えば、図1Bのメモリセル141または図1Cのメモリセル157)を含むことができる。
メモリセルは、記憶素子として構成されたメモリトランジスタを含むことができる。メモリトランジスタは、シリコン-酸化物-窒化物-酸化物-シリコン(SONOS)型トランジスタ、フローティング・ゲート・トランジスタ、窒化物読み取り専用メモリ(NROM)トランジスタ、または電荷を蓄えることができる任意の適切な不揮発性メモリ金属酸化物半導体(MOS)デバイスを含むことができる。
メモリデバイス200は、(例えば、図1Aのデバイスコントローラ112またはホストコントローラ122などのコントローラから)データを受け取るか、またはメモリセルアレイ210からデータを出力するための複数の入力/出力(I/O)ポートを有するメモリインターフェース202を含む。メモリデバイス200は、メモリインターフェース202を介して受け取られ出力されるデータをバッファリングするように構成されたデータバッファ208を含む。
メモリデバイス200は、Xデコーダ(または行デコーダ)206と、任意選択でYデコーダとをさらに含むことができる。各々のメモリセルは、それぞれのワードラインを介してXデコーダ206に結合され、それぞれのビットライン215を介してYデコーダに結合される。したがって、各々のメモリセルは、それぞれのワードラインおよびそれぞれのビットライン215を介した読み取りまたは書き込み操作のために、Xデコーダ206およびYデコーダによって選択することができる。
メモリデバイス200は、ビットライン215を介してメモリセルアレイ210に結合されたページバッファ回路220と、データバス240を介してページバッファ回路220に結合されたキャッシュ・データ・ラッチ(CDL)回路230とを含む。データバス240は、ページバッファ回路220およびCDL回路230を介して結合することができる1つまたは複数の導電ライン(例えば、金属ライン)を含むことができる。ページバッファ回路220は、多数のページバッファを含むことができる。各々のページバッファは、データバス240に結合することができる。各々のページバッファは、複数のラッチを含むことができる。ラッチは、ページバッファ内の内部金属ルーティングライン(例えば、内部データバスライン(IDL))によって互いに導電的に接続することができる。データは、内部金属ルーティングラインを介してページバッファ内のラッチ間で転送できる。データは、データバス240および/または異なるページバッファ内の内部金属ルーティングラインを介して、異なるページバッファ内のラッチ間で転送することもできる。
CDL回路230は、データを格納するための多数のキャッシュを含むことができる。各々のキャッシュは、データバス240に結合することができる。各々のキャッシュは、キャッシュ内の内部金属ルーティングラインによって互いに導電的に接続できる1つまたは複数のラッチを含むことができる。データは、内部金属ルーティングラインを介して、キャッシュ内の1つまたは複数のラッチ間で転送することができる。データは、データバス240および/または異なるキャッシュ内の内部金属ルーティングラインを介して、CDL回路230内の異なるキャッシュ内のラッチ間で転送することもできる。データは、データバス240を介して、CDL回路230内のキャッシュ(またはラッチ)とページバッファ回路220内のページバッファ(またはラッチ)との間で転送することもできる。
いくつかの実施形態では、データバッファ208は、データバッファ208内の内部金属ルーティングラインによって互いに導電的に接続することができる多数のラッチを含む。データバッファ208は、別のデータバス(例えば、1つまたは複数の導電ライン)250を介してCDL回路230に結合することができる。データは、データバス250、および/またはデータバッファ208およびCDL回路230内の内部金属ルーティングラインを介して、データバッファ208内のラッチとCDL回路230内のキャッシュ(またはラッチ)との間で転送することができる。
いくつかの実施形態では、ページバッファは、メモリセルアレイ210内の1つまたは複数のメモリセルを接続する、対応するビットライン215に関連付けられたデータラインを介してYデコーダに接続される。ページバッファは、対応するビットライン上の電圧を制御して、対応するビットライン215に結合されたメモリセル上で、動作(例えば、読み取り、プログラム、または消去)を実行するように構成することができる。いくつかの実施形態では、プログラムまたは消去動作中に、CDL回路230は、データバッファ208からのデータをCDL回路230の1つまたは複数のキャッシュに格納する、および/または1つまたは複数のキャッシュからのデータをページバッファ回路220内の1つまたは複数のページバッファに出力するように構成される。読み取り動作中、CDL回路230は、ページバッファ回路220の1つまたは複数のページバッファからのデータをCDL回路230の1つまたは複数のキャッシュに格納する、および/または1つまたは複数のキャッシュからのデータをデータバッファ208に出力するように構成される。
引き続き図2を参照すると、メモリデバイス200は、Xデコーダ206およびYデコーダ、データバッファ208、ページバッファ回路220、およびCDL回路230を含むメモリデバイス200内のコンポーネントに結合された制御論理204をさらに含むことができる。制御論理204は、メモリインターフェース202を介して(例えば、図1Aのデバイスコントローラ112またはホストコントローラ122などのコントローラから)コマンド、アドレス情報、および/またはデータを受け取るように構成することができる。制御論理204は、コマンド、アドレス情報、および/またはデータを処理して、例えば、メモリセルアレイ210内の(例えば、ブロック/ページの)物理アドレス情報を生成することもできる。制御論理204は、回路(例えば、複数の論理、回路、および/またはコンポーネントを統合する集積回路)を含むことができる。いくつかの実装形態では、制御論理204は、データレジスタ、SRAMバッファ、アドレスジェネレータ、モード論理、またはステートマシンのうちの少なくとも1つを含む。モード論理は、読み取り操作または書き込み操作があるかどうかを判断し、判断結果をステートマシンに提供するように構成することができる。
書き込み動作中、制御論理204内のデータレジスタは、インターフェース202からの入力データを登録することができ、制御論理204内のアドレスジェネレータは、対応する物理アドレスを生成して、入力データをメモリセルアレイ210の指定されたメモリセル内に格納することができる。アドレスジェネレータは、対応するワードラインおよびビットラインを介して指定されたメモリセルを選択するように制御されるXデコーダ206およびYデコーダに接続することができる。SRAMバッファは、電源が供給されている限り、データレジスタからの入力データをそのメモリに保持できる。状態機械は、SRAMバッファからの書き込み信号を処理することができ、Xデコーダ206および/またはYデコーダに書き込み電圧を提供することができる電圧発生器に制御信号を提供することができる。Yデコーダは、指定されたメモリセルに入力データを格納するためにビットライン(BL)に書き込み電圧を出力するように構成される。
読み取り動作中、状態機械は、電圧発生器およびページバッファ回路220に制御信号を提供することができる。電圧発生器は、メモリセルを選択するために、Xデコーダ206およびYデコーダに読み取り電圧を提供することができる。ページバッファは、ページバッファおよび選択されたメモリセルに結合されたビットライン215を介して、選択されたメモリセルに格納されたデータビット(「1」または「0」)を表す小電力信号(例えば、電流信号)を感知することができる。センスアンプは、メモリデバイス200の内部または外部の論理によってデータビットを適切に解釈できるように、小電力信号スイングを認識可能な論理レベルまで増幅することができる。いくつかの実装形態では、ページバッファ回路220またはCDL回路230の少なくとも1つは、センスアンプに含まれる。データバッファ208は、センスアンプから増幅された電圧を受け取り、メモリインターフェース202を介してメモリデバイス200の外部の論理に増幅された電力信号を出力することができる。
例示的な半導体デバイス
図3Aは、異なるラッチ間でデータ転送を実装できる例示的な半導体デバイス300を示す。半導体デバイス300は、ラッチなどの異なるコンポーネント間のデータ転送を実装できる任意の適切なデバイスとすることができる。例えば、半導体デバイス300は、メモリデバイス(例えば、図1Aのメモリデバイス116または図2のメモリデバイス200)とすることができ、半導体デバイス300は、メモリセルアレイ(例えば、図2のメモリセルアレイ210)を含むことができる。半導体デバイス300は、ページバッファ回路(例えば、図2のページバッファ回路220)またはページバッファ回路内のページバッファとすることができる。半導体デバイス300は、キャッシュ回路(例えば、図2のキャッシュ・データ・ラッチ回路230またはキャッシュ回路内のキャッシュ)とすることができる。半導体デバイス300は、データバッファ(例えば、図2のデータバッファ208)とすることができる。半導体デバイス300は、ページバッファ回路、キャッシュ回路、またはデータバッファの少なくとも1つを含むことができる。
図3Aに示されるように、半導体デバイス300は、多数のラッチ(例えば、302_1(ラッチ1)、302_2(ラッチ2)、302_3(ラッチ3)、302_4(ラッチ4)、・・・、302_n-1(ラッチn-1)、302_n(ラッチn))(一般的にラッチ302と呼ばれ、個別にラッチ302と呼ばれる)を含むことができ、nは、1より大きい整数である。ラッチ302は、1つまたは複数の導電ライン(例えば、金属ライン)を含むことができるデータバス304を介して結合することができる。
いくつかの実施形態では、半導体デバイス300は、第1の複数のラッチ(例えば、302_1(ラッチ1)、302_3(ラッチ3)、・・・、302_n-1(ラッチn-1))を含むことができる第1の集積回路320と、第2の複数のラッチ(例えば、302_2(ラッチ2)、302_4(ラッチ4)、・・・、302_n(ラッチn))を含むことができる第2の集積回路330とを含む。第1の集積回路320の内部で、第1の複数のラッチは、第1の内部データバス303(例えば、1つまたは複数の導電ライン)を介して導電的に結合することができ、したがって、第1の内部データバス303を介して第1の集積回路320内のラッチ間でデータを転送することができる。第2の集積回路330の内部で、第2の複数のラッチは、第2の内部データバス305(例えば、1つまたは複数の導電ライン)を介して導電的に結合することができ、したがって、データは、第2の内部データバス305を介して第2の集積回路330内のラッチ間で転送することができる。第1の内部データバス303および第2の内部データバス305は、それぞれデータバス304に結合することができ、それにより、第1の集積回路320内のラッチは、データバス304および/または第1の内部データバス303および/または第2の内部データバス305を介して第2の集積回路330内のラッチに導電的に結合することができる。
いくつかの実施形態では、第1の集積回路320と第2の集積回路330は、同じページバッファ内にある。データバス304は、第1の集積回路320および第2の集積回路330の各々に、および/または第1の集積回路320および第2の集積回路330内の各々のラッチに結合された内部データバスライン(IDL)とすることができる。いくつかの例では、第1の集積回路320は、メモリセルアレイ内の1つまたは複数のメモリセル内のデータを感知するように構成された感知ラッチ回路であり、感知されたデータは、感知ラッチ回路内の1つまたは複数のラッチに格納することができる。第2の集積回路330は、感知ラッチ回路内の1つまたは複数のラッチから転送された感知データを格納するように構成された、1つまたは複数のラッチを含む格納ラッチ回路とすることができる。いくつかの例では、第1の集積回路320および第2の集積回路330は両方とも格納ラッチ回路内にあることができ、第1の集積回路320内の1つまたは複数のラッチと第2の集積回路330内の1つまたは複数のラッチとの間でデータを転送することができる。
いくつかの実施形態では、第1の集積回路320および第2の集積回路330は、同じページバッファ回路内にある。データバス304は、ページバッファ回路内の内部データバスとすることができる。第1の集積回路320は、第1のページバッファを含むことができ、第2の集積回路330は、第2のページバッファを含むことができる。データバス304を介して、第1のページバッファ内の1つまたは複数のラッチと第2のページバッファ内の1つまたは複数のラッチとの間でデータを転送することができる。
いくつかの実施形態では、第1の集積回路320は、ページバッファ回路(例えば、図2のページバッファ回路220)またはページバッファであり、第2の集積回路330は、キャッシュ回路(例えば、キャッシュ・データ・ラッチ回路230)またはキャッシュであり、データバス304は、図2のデータバス240とすることができる。いくつかの実施形態では、第1の集積回路320は、データバッファ(例えば、図2のデータバッファ208)であり、第2の集積回路330は、キャッシュ回路(例えば、キャッシュ・データ・ラッチ回路230)であり、データバス304は、図2のデータバス250とすることができる。いくつかの実施形態では、第1の集積回路320および第2の集積回路330は、同じキャッシュ回路内の2つのキャッシュであり、データバス304は、キャッシュ回路内の内部導電ラインである。
図3Bは、例示的なラッチ350を示す回路図を示す。ラッチ350は、図3Aのラッチ302(例えば、第1の集積回路320内のラッチまたは第2の集積回路330内のラッチ)とすることができる。ラッチ350は、トライステートラッチまたはファイティングラッチとすることができる。いくつかの実施形態では、ラッチ350は、単方向トライステートラッチであり、これにより、本開示に記載したようなデータ転送を実装しながら、他のタイプのラッチと比較して、図3Aの半導体デバイス300などの半導体デバイス内のトランジスタの総数を減らすことができる。
例えば、NANDメモリデバイスでは、各々のビットラインはページバッファに結合され、ページバッファは複数(例えば、3つ)のラッチを含むことができる。各々のラッチは、多数のMOSトランジスタを含むことができる。各々のラッチ内のMOSトランジスタの数を(例えば、8から7に)減らすと、ページバッファ内、さらにはメモリデバイス内のMOSトランジスタの総数を大幅に削減することができ、これは、消費電力を大幅に削減することができ、ページバッファおよび/またはメモリデバイスを小型化できる。
図3Bに示されるように、ラッチ350は、互いに対称な第1の側350aおよび第2の側350bを含む。第1の側350aおよび第2の側350bは、一端でより高い供給電圧VDDIを受け取り、他端でより低い供給電圧VSSを受け取るように構成される。第1の側350aは、第1のp型トランジスタ352a、第2のp型トランジスタ354a、およびn型トランジスタ356aを含むことができる。第2の側350bは、第1のp型トランジスタ352b、第2のp型トランジスタ354b、およびn型トランジスタ356bを含むことができる。ラッチ350は、別のn型トランジスタとすることができる制御トランジスタ358をさらに含むことができる。p型トランジスタは、PMOSトランジスタとすることができ、n型トランジスタは、NMOSトランジスタとすることができる。
第1の側350aについて、第1のp型トランジスタ352aは、より高い供給電圧VDDIを受け取るための第1の端子、第2のp型トランジスタ354aに結合された第2の端子、および制御信号POBを受け取るためのゲート端子を含む。第2のp型トランジスタ354aは、第1のp型トランジスタ352aの第2の端子に結合された第1の端子、n型トランジスタ356aに、および第2の側350bのn型トランジスタ356bのゲート端子にも結合された第2の端子、および第1のn型トランジスタ356aのゲート端子および制御トランジスタ358に結合されたゲート端子を含む。n型トランジスタ356aは、第2のp型トランジスタ354aの第2の端子に結合された第1の端子、より低い供給電圧VSSに結合された第2の端子、および第2のp型トランジスタ354aのゲート端子に結合されたゲート端子、および第2の側350bのトランジスタ354b、356bの間のノードにも結合されたゲート端子を含む。制御トランジスタ358は、第1のn型トランジスタ356aのゲート端子に結合された第1の端子、制御信号PLを受け取るためのゲート端子、および導電ライン(例えば、図2のビットライン215などのビットライン、または図2のデータバス240、図3Aのデータバス303、データバス305、またはデータバス304などのデータバス)に結合された第2の端子を含む。
第2の側350bは、第1の側350aと対称的な構成を有する。第1のp型トランジスタ352bは、より高い供給電圧VDDIを受け取る第1の端子、第2のp型トランジスタ354bに結合された第2の端子、および制御信号POを受け取るためのゲート端子を含む。第2のp型トランジスタ354bは、第1のp型トランジスタ352bの第2の端子に結合された第1の端子、n型トランジスタ356bに、および第1の側350aのn型トランジスタ356aのゲート端子にも結合された第2の端子、およびn型トランジスタ356bのゲート端子に結合されたゲート端子を含む。n型トランジスタ356bは、第2のp型トランジスタ354bの第2の端子に結合された第1の端子、より低い供給電圧VSSに結合された第2の端子、および第2のp型トランジスタ354bのゲート端子に結合されたゲート端子、および第1の側350aのトランジスタ354a、356aの間のノードにも結合されたゲート端子を含む。
第2の側350bのトランジスタ354b、356bの間に結合されたLBノード351bの電圧に対応する値は、第1の側350aのトランジスタ354a、356aの間に結合され、制御トランジスタ358に結合されたLノード351aの電圧に対応する値と反対である。ラッチ350は、LBノード351bの値および/またはLノード351aの値を更新することによってデータを格納するように構成することができる。
ラッチ350は、Lノード351aの値がビット「1」を表し、LBノード351bの値がビット「0」を表すようにプリセットすることができる。制御トランジスタ358に結合する導電ラインがビット「1」に対応する高電圧レベルを有する場合、Lノード351aの値は、制御トランジスタ358がオンになると「1」のままである。制御トランジスタ358に結合するデータバスがビット「0」に対応する低電圧レベルを有する場合、Lノード351aの値は、制御トランジスタ358がオンになると、「0」に変化する。ラッチ350内のLノード351aに格納されたビット「1」または「0」は、さらに別のラッチまたはデータユニットに転送することができる。ラッチ350が新しいデータを格納するために使用されるとき、Lノード351aの値がビット「1」を表し、LBノード351の値がビット「0」を表すように、ラッチ350をリセットすることができる。このように、ラッチ350は、例えばLノード351aで「1」から「0」に、一度だけ反転することができる。
引き続き図3Aを参照すると、半導体デバイス300は、第1の集積回路320の1つまたは複数のラッチと第2の集積回路330の1つまたは複数のラッチとの間のデータ転送前に、データバス304上でプリチャージ電圧を有するようにデータバス304をプリチャージするためにデータバス304に結合されたプリチャージ回路310をさらに含む。
いくつかの実施形態では、図3Aに示されるように、プリチャージ回路310は、p型トランジスタとすることができるプリチャージトランジスタ312を含む。プリチャージトランジスタ312は、供給電圧VPWに結合された第1の端子、データバス304に結合された第2の端子、および制御信号CHGBを受け取るように構成されたゲート端子を有する。供給電圧VPWは、制御供給電圧VPWより大きくなり得る元の供給電圧VDDIに基づいて制御された供給電圧とすることができる。いくつかの実装形態では、プリチャージトランジスタ312は、第1の端子で元の供給電圧VDDIを受け取り、ゲート端子でイネーブル信号を受け取り、プリチャージトランジスタ312に結合された第2の端子で制御された供給電圧VPWを出力するように構成された制御トランジスタに結合することができる。制御トランジスタは、イネーブル信号によってオンまたはオフにすることができる。
場合によっては、半導体デバイス300内の隣接する導電ライン(例えば、データバス304を含む金属ライン)の間に寄生容量が形成され得る。例えば、ページバッファは、狭くて長い構造を有する可能性があり、これにより隣接する金属ラインが寄生容量を生成する可能性がある。データバス304に沿った寄生容量は、図3Aに示されるように、データバス304とグランドVSSとの間に結合され、等価容量C寄生を有する等価寄生コンデンサ306によって表すことができる。
以下(例えば、図5および図7)でさらに詳細に説明するように、(例えば、データバスを介したラッチ間の)データ転送動作のための時間は、データバス(例えば、データバス304)に沿った寄生容量(例えば、C寄生)とデータバス上のプリチャージ電圧(例えば、VPW)に両者が関連している可能性があるプリチャージ時間および転送時間を含む。寄生容量が大きいと、転送時間が長くなる可能性がある。この現象は、より多くのラッチが同じデータバスを共有するメモリセル(例えば、TLC)に格納されるビットが増えると、より深刻になる可能性があり、転送時間が長くなる可能性がある。
本開示の実装形態は、図4A~図4B、図5、図6A~図6B、および図7でさらに詳細に論じるように、データバス上のプリチャージ電圧を減少(または最小化)して、プリチャージ時間および転送時間を短縮し、それによってデータ転送速度を上げ、電力消費を削減する技術を提供する。この技術は、不十分な電圧のデータバスによってラッチが逆にオンになったり妨害されたりするケースを回避することもできる。
例示的な集積回路およびデータ転送
図4Aは、集積回路400内のドライブラッチ420とターゲットラッチ430との間の例示的なデータ転送を示す。データは、データバス404(例えば、図3Aのデータバス304)を介してドライブラッチ420からターゲットラッチ430に転送することができる。
集積回路400は、半導体デバイス(例えば、図3Aの半導体デバイス300または図2のメモリデバイス200)に含まれ得る。いくつかの実施形態では、集積回路400は、ページバッファ回路(例えば、図2のページバッファ回路220)またはキャッシュ回路(例えば、図2のCDL回路230)である。ドライブラッチ420およびターゲットラッチ430は、ページバッファ回路内の異なるページバッファ内またはキャッシュ回路内の異なるキャッシュ内にある。いくつかの実施形態では、ドライブラッチ420およびターゲットラッチ430は、同じページバッファ内にある。いくつかの実施形態では、集積回路400は、ページバッファ回路およびキャッシュ回路を含む。ドライブラッチ420とターゲットラッチ430の一方は、ページバッファ回路内にあり、ドライブラッチ420とターゲットラッチ430の他方は、キャッシュ回路内にある。いくつかの実施形態では、集積回路400は、キャッシュ回路およびデータバッファ(例えば、図2のデータバッファ208)を含む。ドライブラッチ420とターゲットラッチ430の一方は、キャッシュ回路内にあり、ドライブラッチ420とターゲットラッチ430の他方は、データバッファ内にある。いくつかの実施形態では、集積回路400は、ドライブラッチ420を含む第1の回路(例えば、図3Aの320)と、ターゲットラッチ430を含む第2の回路(例えば、図3Aの330)とを含む。
集積回路400は、データ転送前にデータバス404をプリチャージするために、データバス404に結合されたプリチャージ回路410(例えば、図3Aのプリチャージ回路310)をさらに含むことができる。プリチャージ回路410は、p型トランジスタとすることができるプリチャージトランジスタ412(例えば、図3Aのプリチャージトランジスタ312)を含む。プリチャージトランジスタ412は、供給電圧VPWに結合された第1の端子、データバス404に結合された第2の端子、および制御信号CHGBを受け取るように構成されたゲート端子を有する。データバス404は、寄生容量Cハ゛ス(例えば、図3AのC寄生)を有する等価寄生コンデンサ406(例えば、図3Aのコンデンサ306)に関連付けることができる。
ドライブラッチ420とターゲットラッチ430は、同じ構造を有することができる。ドライブラッチ420およびターゲットラッチ430の各々は、図3Aのラッチ302または図3Bのラッチ350とすることができる。図4Aに示されるように、ドライブラッチ420は、4つのp型トランジスタ422a、422b、424a、424b、2つのn型トランジスタ426a、426b、およびデータバス404に結合された制御トランジスタ428を含む。ドライブラッチ420は、高供給電圧VDDIと低供給電圧VSSとの間に結合される。ターゲットラッチ430は、4つのp型トランジスタ432a、432b、434a、434b、2つのn型トランジスタ436a、436b、およびデータバス404に結合された制御トランジスタ438を含む。ターゲットラッチ430も、高供給電圧VDDIと低供給電圧VSSとの間に結合される。
ドライブラッチ420では、ノードL_d421aに格納されたデータ(例えば、ビット「1」または「0」)が、ターゲットラッチ430に転送され、一方、ノードLB_d421bは、ノードL_d421aに格納されたデータと反対の値を有するデータ(例えば、ビット「0」または「1」)を格納する。ターゲットラッチ430は、単方向トライステートラッチとすることができる。上述のように、データが転送される前に、ターゲットラッチ430は、ノードL_t431aに格納されたデータが「1」であり、ノードLB_t431bに格納されたデータが「0」となるようにリセットされる。
図5は、プリチャージ段階502、転送段階504、および反転段階506を含む、データ転送の異なる動作段階中の図4Aの集積回路の異なるノードにおける電圧変化を示すタイミング図500を示す。
プリチャージ段階502の間、図4Aおよび図5に示されるように、データバス404は、低電圧レベルを有する制御信号CHGBでプリチャージトランジスタ412をオンにすることによってプリチャージされる。プリチャージ段階502の間、ドライブラッチ420内の制御トランジスタ428とターゲットラッチ430内の制御トランジスタ438の両方が、対応する制御信号PL_dおよびPL_tによって(例えば、図5に示される低電圧レベルで)オフにされる。p型トランジスタ432bは、制御信号PO_tによって(例えば、図5に示される低電圧レベルで)オンにすることができ、その結果、ノードL_t431aは、トランジスタ432b、434bを介したノードL_t431aへの供給電圧VDDIによって、例えば、図5に示されるように、ビット「1」に対応する高電圧レベルVDDIに維持することができる。
データバス404は、第1の電流経路411に沿ってプリチャージトランジスタ412を介して供給電圧VPWによってプリチャージされる。データバス404は、例えば、図5に示されるように、供給電圧VPWと実質的に同一のプリチャージ電圧を有するようにプリチャージすることができる。寄生容量Cハ゛スにより、プリチャージ時間Tは、寄生容量Cハ゛スとプリチャージ電圧VPWによって決定することができる。場合によっては、図5に示されるように、T=Cハ゛ス×VPW/Iであり、ここで、Iは、第1の電流経路411に沿ったプリチャージ電流である。プリチャージ電流Iは、プリチャージ時間TがCハ゛ス×VPWに比例し得るように、予め決定され得る定電流とすることができる。以下でさらに詳細に説明するように(例えば、図7に示されるように)、データバス404上のプリチャージ電圧(または供給電圧VPW)を小さくすると、プリチャージ時間Tを短縮することができる。
転送段階504の間、プリチャージトランジスタ412は、高電圧レベルVDDIに変更される制御信号CHGBによってオフにされる。一方、ドライブラッチ420内の制御トランジスタ428は、第1の制御電圧VON(例えば、ゲートバイアス電圧)を有する制御信号PL_dによってオンにされる。ターゲットラッチ430内の制御トランジスタ438は、低電圧レベルの制御信号PL_tによって依然としてオフにされている。ターゲットラッチ430では、ノードL_tがビット「1」に対応する高電圧レベルで浮いていることができるように、高電圧レベルVDDIに変更される制御信号PO_tによってp型トランジスタ432bをオフにすることができる。
ノードL_d421aに格納されたデータがビット「1」である場合、ノードL_d421aは、高電圧レベルを有し、データバス404上のプリチャージ電圧VPWは、図5の曲線510によって示されるように変化しないままである。ノードL_d421aに格納されたデータがビット「0」である場合、ノードL_d421aは、低電圧レベルを有し、データバス404上のプリチャージ電圧VPWは、図5の曲線520によって示されるように、第2の電流経路421に沿って放電され得る。このようにして、データバス404上の放電電圧は、ノードL_d421aに格納されたデータ(例えばビット「0」)に対応することができる。第2の電流経路421は、データバス404から、制御トランジスタ428およびトランジスタ426bを通って低供給電圧VSSに至ることができる。データバス404、制御トランジスタ428、およびトランジスタ426b、並びに低供給電圧VSSは、VSSネットワークを形成することができる。データバス404に関連する寄生容量Cハ゛スにより、データバス404上の電圧は、例えば、図5に示されるように、RC応答曲線520に従って放電される。放電時間は、Cハ゛ス×VPWによって決定することができる。以下でさらに詳細に説明するように(例えば、図7に示されるように)、データバス404上のプリチャージ電圧(または供給電圧VPW)を小さくすると、転送時間を短縮することができる。
反転段階506の間、図4Aおよび図5に示されるように、ターゲットラッチ430内の制御トランジスタ438は、第2の制御電圧VON(例えば、ゲートバイアス電圧)を伴う制御信号PL_tによってオンにされる。プリチャージトランジスタ412は、依然としてオフとすることができ、ドライブラッチ420内の制御トランジスタ428は、低供給電圧VSSに結合される第1の制御電圧VONを有する制御信号PL_dによって依然としてオンとすることができる。第2の制御電圧VONは、第1の制御電圧VONと同じまたは同一とすることができる。
上述のように、ノードL_t431aは、ビット「1」に対応する浮いた高電圧を有する。ノードL_d421aに格納されたデータがビット「1」である場合、データバス404上のプリチャージ電圧VPWは、転送段階504の間、不変のままであり、したがって、反転段階506の間、データバス404上のプリチャージ電圧VPWは、不変を維持し、図5の曲線512によって示されるように、ノードL_t431aもビット「1」に対応する高電圧に保たれる。すなわち、ターゲットラッチ430のノードL_t431aのビット値「1」は、ドライブラッチ420のノードL_d421aに格納されたビット値「1」と同じである。したがって、データはドライブラッチ420からターゲットラッチ430に転送される。
ノードL_d421aに格納されたデータがビット「0」である場合、データバス404上のプリチャージ電圧VPWは、転送段階504の間、低放電電圧に放電される。したがって、反転段階506の間、ノードL_t431aは、ビット「1」に対応する高電圧を有するので、ノードL_t431aから、制御トランジスタ438、データバス404、制御トランジスタ428、トランジスタ426bを介して、低供給電圧VSSに至る第3の電流経路431が形成される。ノードL_t421aは、例えば、図5の曲線522によって示されるように、ビット「0」に対応する低電圧を有するように放電され得る。すなわち、ターゲットラッチ430のノードL_t431aのビット値「0」は、ドライブラッチ420のノードL_d421aに格納されたビット値「0」と同じである。したがって、データはドライブラッチ420からターゲットラッチ430に転送される。反転段階506の間、データバス404は、最初にノードL_t431aで高電圧によって充電され、次に、例えば、図5の曲線520によって示されるように、ビット値「0」に対応する低電圧まで放電され得る。
いくつかの実施形態では、第1の制御電圧および第2の制御電圧は、固定電圧VONとすることができ、これは、制御トランジスタ428、438の閾値電圧の変動に対処するために使用することができる。変動は、プロセスの変動および/または温度の変動によって引き起こされる可能性がある。図6Aに示されるように、固定電圧VONは、電圧VODと制御トランジスタの閾値電圧の最大値Vthmaxとの合計以上(例えば、VON>=VOD+Vthmax)の値を有する必要がある。電圧VODは、転送段階504中にデータバス404を放電するため、および/または反転段階506中にターゲットラッチ430を反転するためのオーバードライブ電圧である。場合によっては、オーバードライブ電圧VODは、約200~300mVである。オーバードライブ電圧VODが大きいと、転送速度を上げることができる。しかしながら、電圧VODが閾値電圧(例えば、300mV)よりも大きい場合、データバス404の放電速度または転送速度は、主にドライブラッチ420内のVSSネットワークによって制限される。
場合によっては、データバス404のプリチャージ電圧VPWが低すぎる場合、転送段階504中に、ドライブラッチ420内の制御トランジスタ428は、供給電圧VDDIからトランジスタ422b、424bを通って制御トランジスタ428へ至る電流経路に沿って逆にオンになる可能性がある。場合によっては、データバス404のプリチャージ電圧VPWが低すぎて、ノードL_t431aに格納されたデータがビット「1」の場合、反転段階506中に、ノードL_t431aから制御トランジスタ438を介してデータバス404に至る電流経路を形成することができ、ノードL_t431aの電圧は低下する可能性があり、これは、ノードL_t431aに格納された対応するビット「1」を変更する可能性がある。
ドライブラッチ420内の制御トランジスタ428が転送段階504中に逆方向にオンにされるのを防ぎ、また反転段階506中にデータバス404上の不十分な電圧によってターゲットラッチ430が妨害されるのを防ぐために、データバス404上のプリチャージ電圧VPWは、オーバードライブ電圧VODと、制御トランジスタ428、438の閾値電圧の最小値Vthmin(例えば、高速コーナーでの)と最大値Vthmax(例えば、低速コーナーでの)との差との合計より大きいか、または同一である必要がある。例えば、図6Aの概略図600に示されるように、VPW≧VOD+ΔVおよびΔV=Vthmax-Vthminである。
特定の一例では、オーバードライブ電圧VODは約300mVであり、制御トランジスタの閾値電圧Vthは500mV~1Vの間で変化する。したがって、制御電圧VONは1.3V以上である必要があり、データバス404上のプリチャージ電圧VPWは800mV以上である必要がある。
図7の概略図700に示されているデータバス(BUS)電圧曲線702および704のように、データバスにおけるプリチャージ電圧VPWが高いと、データ転送中にプリチャージ時間と転送時間が長くなる可能性があり、データバスのプリチャージ電圧VPWが低いと、プリチャージ時間と転送時間が大幅に短縮され、消費電力も削減される可能性がある。
いくつかの実施形態では、データバスを充電するために所定の電圧を提供し、制御トランジスタの変動に基づくトラッキング制御電圧を制御トランジスタに印加することによって、データバス上のプリチャージ電圧VPWの値を最小化または減少させることができる。上述のように、所定の電圧は、オーバードライブ電圧VODとすることができる。追跡制御電圧は、所定の電圧と制御トランジスタの追跡された閾値電圧との合計とすることができる。
図6Bの概略図650に示されるように、データバス上のプリチャージ電圧VPWは、所定の電圧とすることができるオーバードライブ電圧VODと同一であり得る。図6Aの固定制御電圧VONとは異なり、トラッキング制御電圧VON_traは、オーバードライブ電圧VODと制御トランジスタの閾値電圧Vthとの合計として、例えばプロセスおよび温度変動による、制御トランジスタの閾値電圧の変化を動的に追跡することができる。このようにして、データバス上のプリチャージ電圧VPWをオーバードライブ電圧VOD(例えば、300mV)まで下げることができ、これによって、プリチャージ時間とデータ転送の転送時間と消費電力をさらに削減することができる。
図4Bは、トラッキング制御電圧VON_traを生成するための例示的な電圧発生器450を示す回路図440を示す。電圧発生器450は、集積回路400に含めることができるか、または集積回路400に外部的に結合することができる。電圧発生器450は、基準トランジスタ454の閾値電圧の変動(または閾値電圧変動)が制御トランジスタ428、438のそれと実質的に同じであり得るように、(例えば、同じ条件下および/または同じバッチで製造された)制御トランジスタ428、438と実質的に同じであり得る基準トランジスタ454を含む。基準トランジスタ454は、n型トランジスタ(例えば、NMOSトランジスタ)とすることができる。
いくつかの実施形態では、図4Bに示されるように、基準トランジスタ454は、定電流Iを提供する電流源452に結合された第1の端子、低電圧VSSに結合された抵抗器456に結合された第2の端子、および第1の端子に結合されたゲート端子を有する。ゲート端子の電圧は、基準電圧VON_tra_ref453と見なされる(またはそれを表す)。基準トランジスタ454の第2の端子における電圧455は、オーバードライブ電圧VODと同一であり得る。電圧455は、電流源452からの定電流Iと抵抗器456の抵抗との乗算であり得る。電圧455は、プリチャージトランジスタ412に供給される供給電圧VPWとして使用することができる。したがって、基準電圧VON_tra_ref453は、電圧455(例えば、VOD)と基準トランジスタ454の閾値電圧との合計(例えば、VOD+Vth)であり得る。
いくつかの実施形態では、電圧発生器450は、基準トランジスタ454の第1の端子に結合され、基準電圧VON_tra_ref453を受け取るように構成されたオペアンプ458を含む。オペアンプ458は、ボルテージフォロワまたはゲイン1を有するユニティ・ゲイン・アンプであり得る。例えば、オペアンプ458は、基準電圧VON_tra_ref453を受け取るための正の入力と、基準電圧VON_tra_ref453と実質的に同一であり得るトラッキング制御電圧VON_tra442を出力するための出力に結合された負の入力とを有する。したがって、トラッキング制御電圧VON_tra442は、電圧455(例えば、VOD)と、基準トランジスタ454の閾値電圧との合計(例えば、VOD+Vth)と実質的に同一とすることができ、これは、制御トランジスタ428、438の閾値電圧の変動と実質的に同一であり得る基準トランジスタ454の閾値電圧の変動を追跡することができる。
トラッキング制御電圧VON_tra442は、例えば、図5に示されるように、データ転送中に制御トランジスタ428および制御トランジスタ438に提供され得る。いくつかの実施形態では、図4Bに示されるように、集積回路400は、追跡制御電圧VON_tra442を受け取るためにオペアンプ458の出力に両者が結合された第1の論理ゲート444および第2の論理ゲート446を含むことができる。
第1の論理ゲート444は、オペアンプ458の出力に結合された第1の論理入力と、制御トランジスタ428のゲート端子に結合されて制御信号PL_dを提供する第1の論理出力とを有することができる。第1の論理ゲート444は、論理制御信号によって(例えば、第1の論理ゲート444の別の入力において)さらに制御されて、プリチャージ段階502中ではなく転送段階504および反転段階506中にトラッキング制御電圧VON_tra442を提供することができる。第2の論理ゲート446は、オペアンプ458の出力に結合された第1の論理入力と、制御トランジスタ438のゲート端子に結合されて制御信号PL_tを提供する第1の論理出力とを有することができる。第2の論理ゲート446は、論理制御信号によってさらに制御されて、プリチャージ段階502中および転送段階504中ではなく、反転段階506中にトラッキング制御電圧VON_tra442を提供することができる。
上述したように、オーバードライブ電圧VODが閾値電圧(例えば、300mV)以下であれば、オーバードライブ電圧VODを大きくするとデータ転送速度が速くなり、プリチャージ電圧VPWを小さくすると、プリチャージ時間と転送時間を短縮し、それによってデータ転送速度を向上させることができる。基準トランジスタ454の第2の端子における電圧455は、オーバードライブ電圧VODおよびプリチャージ電圧VPWとすることができる。したがって、電圧455は、上記の要因の両方を考慮して決定することができる。
いくつかの実施形態では、図4Bに示されるように、抵抗器456の抵抗値は、電圧455が対応して調整され得るように(例えば、200mV~400mVの範囲内で変化するように)調整可能であり得る。電圧455のトレードオフまたは最適値は、データ転送の応答時間を抵抗器456の異なる抵抗値によって比較することによって決定することができる。
例示的プロセス
図8は、集積回路内でのデータ転送を管理するための例示的なプロセス800のフローチャートである。集積回路は、半導体デバイス(例えば、図3Aの半導体デバイス300または図2のメモリデバイス200)に含まれ得る。集積回路は、図4A~図4Bの集積回路400とすることができる。
集積回路は、第1の回路(例えば、図4Aのドライブラッチ420)、第2の回路(例えば、図4Aのターゲットラッチ430)、および第1の回路および第2の回路の各々に結合されたデータバス(例えば、図4Aのデータバス404)を含むことができる。第1の回路および第2の回路の各々は、単方向トライステートラッチ(例えば、図3Bのラッチ350)とすることができる。
いくつかの実施形態では、集積回路は、ページバッファ回路(例えば、図2のページバッファ回路220)またはキャッシュ回路(例えば、図2のCDL回路230)を含む。第1の回路および第2の回路は、ページバッファ回路内の異なるページバッファ内のラッチまたはキャッシュ回路内の異なるキャッシュ内のキャッシュである。いくつかの実施形態では、集積回路400は、ページバッファ回路およびキャッシュ回路を含む。第1の回路と第2の回路の一方は、ページバッファ回路内にあり、第1の回路と第2の回路の他方は、キャッシュ回路内にある。いくつかの実施形態では、第1の回路および第2の回路は、同じページバッファ内にある。第1の回路および第2の回路の各々は、同じページバッファ内に1つまたは複数のラッチを含むことができる。
集積回路は、データに結合されたプリチャージ回路(例えば、図3Aのプリチャージ回路310または図4Aのプリチャージ回路410)をさらに含むことができる。プリチャージ回路は、p型トランジスタとすることができるプリチャージトランジスタ(例えば、図3Aのプリチャージトランジスタ312または図4Aのプリチャージトランジスタ412)を含む。プリチャージトランジスタは、供給電圧VPWに結合された第1の端子、データバスに結合された第2の端子、および制御信号(例えば、CHGB)を受け取るように構成されたゲート端子を有することができる。データバスは、寄生容量(例えば、図3AのC寄生または図4AのCハ゛ス)を有する等価寄生コンデンサ(例えば、図3Aのコンデンサ306または図4Aのコンデンサ406)に関連付けることができる。
802において、データバスは、例えば、図5のプリチャージ段階502に示されるように、所定の電圧を有するようにプリチャージ回路によってプリチャージされる。プリチャージ回路は、電流経路(例えば、図4Aの第1の電流経路411)に沿って定電流でデータバスをプリチャージすることができる。
データバスがプリチャージされた後、804において、第1の回路に第1の制御電圧を印加することによって、第1の回路はデータバスに導電的に接続され、例えば、図5の転送段階504に示されるように、データバスの電圧を第1の回路内の第1のノードの電圧に対応させる。
806において、第2の回路は、第2の回路に第2の制御電圧を印加することによってデータバスに導電的に接続され、例えば、図5の反転段階506に示されるように、第2の回路内の第2のノードの電圧をデータバスの電圧に対応させる。第1の制御電圧および第2の制御電圧の各々は、所定の電圧に基づいて決定される。
いくつかの実施形態では、所定の電圧は固定電圧(例えば、VOD)であり、第1の制御電圧および第2の制御電圧の各々は、例えば、図4Bに示されるように、第1の回路または第2の回路の少なくとも1つの変動を追跡することによってさらに決定され得る。
いくつかの実施形態では、第1の回路は、第1の制御信号(例えば、図4A~図4BのPL_d)を受け取るように構成された第1の制御トランジスタ(例えば、図4Aの制御トランジスタ428)を含み、第2の回路は、第2の制御信号(例えば、図4A~図4BのPL_t)を受け取るように構成された第2の制御トランジスタ(例えば、図4Aの制御トランジスタ438)を含む。例えば、図5に示されるように、第1の制御信号は、第1の回路がデータバスに導電的に結合されるように、第1の制御電圧で第1の制御トランジスタをオンにするように構成され、第2の制御信号は、第2の回路がデータバスに導電的に結合されるように、第2の制御電圧で第2の制御トランジスタをオンにするように構成される。
いくつかの実施形態では、第1の制御トランジスタは、データバスに結合された第1の端子と、第1の回路の第1のノードに結合された第2の端子と、第1の制御信号を受け取るように構成された第1のゲート端子とを有し、第2の制御トランジスタは、データバスに結合された第1の端子と、第2の回路の第2のノードに結合された第2の端子と、第2の制御信号を受け取るように構成された第2のゲート端子とを有する。
いくつかの実施形態では、第1の制御電圧および第2の制御電圧の各々は、基準トランジスタ(例えば、図4Bの基準トランジスタ454)の閾値電圧の変動を追跡することによって決定される。第1の制御トランジスタおよび第2の制御トランジスタの各々は、基準トランジスタの閾値電圧と実質的に同じ閾値電圧を有することができる。
いくつかの実施形態では、集積回路は、基準トランジスタを含む電圧発生器(例えば、図4Bの電圧発生器450)を含む。電圧発生器は、基準トランジスタの閾値電圧に基づいて、第1の制御電圧および第2の制御電圧を発生させるように構成される。
いくつかの実施形態では、基準トランジスタは、電流源(例えば、図4Bの電流源452)に結合された第1の端子、抵抗器(例えば、図4Bの抵抗器456)に結合された第2の端子、および第1の端子に結合されたゲート端子を含む。所定の電圧は、抵抗器の抵抗値および電流源から抵抗器への電流に基づく第2の端子における電圧(例えば、図4Bの電圧455)と同一であり得る。ゲート端子における基準電圧(例えば、図4BのVON_tra_ref453)は、第2の端子における電圧(例えば、VOD)と基準トランジスタの閾値電圧(Vth)との合計であり得る。電流源から抵抗器への電流は、定電流とすることができる。
いくつかの実施形態では、電圧発生器は、基準トランジスタのゲート端子に結合されたオペアンプ(例えば、図4Bのオペアンプ458)をさらに含む。オペアンプは、基準電圧に基づいてトラッキング電圧(例えば、図4BのVON_tra442)を出力するように構成することができる。いくつかの例では、オペアンプは、電圧フォロワまたはユニティ・ゲイン・アンプを含み、トラッキング電圧は、基準電圧と実質的に同一である。
いくつかの実施形態では、集積回路は、オペアンプの出力に結合された第1の論理入力と、第1の制御トランジスタの第1のゲート端子に結合された第1の論理出力とを有する第1の論理ゲート(例えば、図4Bの第1の論理ゲート444)と、オペアンプの出力に結合された第2の論理入力と、第2の制御トランジスタの第2のゲート端子に結合された第2の論理出力とを有する第2の論理ゲート(例えば、図4Bの第2の論理ゲート446)とをさらに含む。第1の制御電圧および第2の制御電圧の各々は、トラッキング電圧と実質的に同一であり得る。
いくつかの実施形態では、抵抗器の抵抗値は、調整可能であり、所定の電圧は、抵抗器の抵抗値を調整した結果に基づいて(例えば、抵抗器の抵抗値が異なるデータバスを介して第1の回路と第2の回路との間のデータ転送の応答時間を比較することによって)決定される。データ転送の応答時間は、所定の電圧およびデータバスに関連する寄生容量に基づいて決定される。
いくつかの実施形態では、集積回路は、第2の回路内の第2の制御トランジスタに結合された第2のノード(例えば、図4AのL_t431a)における電圧が、第1の回路内の第1の制御トランジスタに結合された第1のノード(例えば、図4AのL_d421a)における電圧と同じ値を表すように、第1の回路から第2の回路にデータを転送するように構成される。
いくつかの実施形態では、データが転送される前に、第2の回路は、第2の回路内の第2のノードの電圧がビット値「1」を表すようにリセットされるように構成される。例えば、第2の回路は、単方向トライステートラッチであり得る。
いくつかの実施形態では、データバスが、所定の電圧を有するようにプリチャージ回路によって充電された後、例えば、図5に示されるように、第1のノードの電圧がビット値「0」を表す場合、データバス上の所定の電圧が放電されるか、または第1のノードの電圧がビット値「1」を表す場合、データバス上の所定の電圧が不変のままとなるように、第1の制御トランジスタは、第1の制御電圧を伴う第1の制御信号によってオンにされる。
いくつかの実施形態では、第1のノードの電圧が安定した後、例えば、図5に示されるように、データバスがビット値「0」を表す第1のノードの電圧に対応する放電電圧を有する場合、第2の回路内の第2のノードの電圧は、ビット値「0」を表す電圧まで放電されるか、またはデータバスがビット値「1」を表す第1のノードの電圧に対応する所定の電圧のままである場合、第2のノードの電圧は、不変のままとなるように、第2の制御トランジスタは、第2の制御電圧を伴う第2の制御信号によってオンにされる。
いくつかの実施形態では、例えば、図5に示されるように、第2の回路は、第2のノードを供給電圧に導電的に接続することにより、ビット値「1」を表す第2のノードの電圧を維持し、第2の制御トランジスタをオンにする前に、第2のノードを供給電圧から導電的に分離して、第2のノードをビット値「1」を表す電圧によって浮かせるように構成される。
いくつかの実施形態では、データ転送は、半導体デバイス(例えば、図2のメモリデバイス200または図3Aの半導体デバイス300)内で実行することができる。半導体デバイスは、複数のラッチ(例えば、図3Aのラッチ302)、複数のラッチの各々に結合されたデータバス(例えば、図3Aのデータバス304)、およびデータバスに結合されたプリチャージ回路(例えば、図3Aのプリチャージ回路310)を含むことができる。プリチャージ回路は、データが複数のラッチのうち第1のラッチ(例えば、図4Aのドライブラッチ420)から第2のラッチ(例えば、図4Aのターゲットラッチ430)に転送される前に、所定の電圧(例えば、VOD)を有するようにデータバスをプリチャージするように構成される。第1のラッチまたは第2のラッチの少なくとも1つは、第1のラッチまたは第2のラッチの少なくとも1つに所定の電圧に基づいて決定される制御電圧を印加することによって、データバスに導電的に結合される。
いくつかの実施形態では、所定の電圧は、固定電圧であり、制御電圧は、第1のラッチまたは第2のラッチの少なくとも1つの変動を追跡することによってさらに決定される。いくつかの実施形態では、第1のラッチは、データバスに結合され、第1の制御電圧(を有する第1の制御信号例えば、図4A~図4BのPL_d)を受け取り、第1の制御トランジスタをオンにするように構成された第1の制御トランジスタ(例えば、図4Aの制御トランジスタ428)を含む。第2のラッチは、データバスに結合され、第2の制御電圧を有する第2の制御信号(例えば、図4A~図4BのPL_t)を受け取り、第2の制御トランジスタをオンにするように構成された第2の制御トランジスタ(例えば、図4Aの制御トランジスタ438)を含む。第1の制御電圧および第2の制御電圧の各々は、所定の電圧に基づいて、および基準トランジスタ(例えば、図4Bの基準トランジスタ454)の変動を追跡することによって決定され得る。第1の制御トランジスタおよび第2の制御トランジスタの各々は、基準トランジスタの閾値電圧と実質的に同じ閾値電圧を有することができる。
いくつかの実施形態では、半導体デバイスは、基準トランジスタを含む電圧発生器(例えば、図4Bの電圧発生器450)をさらに含む。基準トランジスタは、電流源(例えば、図4Bの電流源452)に結合された第1の端子、抵抗器(例えば、図4Bの抵抗器456)に結合された第2の端子、および第1の端子に結合されたゲート端子を備える。所定の電圧は、抵抗器の抵抗値および電流源から抵抗器への電流に基づく第2の端子における電圧(例えば、図4Bの電圧455)と同一であり得る。ゲート端子における基準電圧(例えば、図4BのVON_tra_ref453)は、第2の端子における電圧と基準トランジスタの閾値電圧との合計であり得る。第1の制御電圧および第2の制御電圧の各々は、基準電圧に基づくことができる。
いくつかの実施形態では、電圧発生器は、基準トランジスタのゲート端子に結合され、基準電圧に基づいてトラッキング電圧(例えば、図4BのVON_tra442)を出力するように構成されたオペアンプ(例えば、図4Bのオペアンプ458)をさらに含む。
いくつかの実施形態では、半導体デバイスは、オペアンプの出力に結合された第1の論理入力と、第1の制御トランジスタに結合された第1の論理出力とを有する第1の論理ゲート(例えば、図4Bの第1の論理ゲート444)と、オペアンプの出力に結合された第2の論理入力と、第2の制御トランジスタに結合された第2の論理出力とを有する第2の論理ゲート(例えば、図4Bの第2の論理ゲート446)とをさらに含む。第1の制御電圧および第2の制御電圧の各々は、トラッキング電圧と実質的に同一であり得る。
いくつかの実施形態では、半導体デバイスは、複数のラッチおよびデータバスを含むページバッファ回路(例えば、図2のページバッファ回路220)を含む。いくつかの実施形態では、半導体デバイスは、第1のラッチを含むページバッファ回路(例えば、図2のページバッファ回路220)と、第2のラッチを含むキャッシュ回路(例えば、図2のCDL回路230)とを含む。キャッシュ回路は、データバスを介してページバッファ回路に結合される。いくつかの実施形態では、半導体デバイスは、メモリセルにデータを格納するためのメモリセルアレイ(例えば、図2のメモリセルアレイ210)をさらに含み、ページバッファ回路は、(例えば、図2のビットライン215などのビットラインを介して)メモリセルアレイに結合される。
開示された例および他の例は、1つまたは複数のコンピュータプログラム製品(例えば、データ処理装置による実行のため、またはデータ処理装置の動作を制御するためにコンピュータ可読媒体上にエンコードされたコンピュータプログラム命令の1つまたは複数のモジュールとして実装することができる。コンピュータ可読媒体は、機械可読ストレージデバイス、機械可読ストレージ基板、メモリデバイス、またはそれらの1つまたは複数の組み合わせとすることができる。「データ処理装置」という用語は、例としてプログラム可能なプロセッサ、コンピュータ、または複数のプロセッサまたはコンピュータを含む、データを処理するためのすべての装置、デバイス、および機械を包含する。装置は、ハードウェアに加えて、問題のコンピュータプログラムのための実行環境を作り出すコード(例えば、プロセッサファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、またはそれらの1つまたは複数の組み合わせを構成するコード)を含むことができる。
システムは、例としてプログラム可能なプロセッサ、コンピュータ、または複数のプロセッサまたはコンピュータを含む、データを処理するためのすべての装置、デバイス、および機械を包含することができる。システムは、ハードウェアに加えて、問題のコンピュータプログラムのための実行環境を作り出すコード(例えば、プロセッサファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、またはそれらの1つまたは複数の組み合わせを構成するコード)を含むことができる。
コンピュータプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーション、スクリプト、またはコードとも呼ばれる)は、コンパイル言語またはインタプリタ言語を含む任意の形式のプログラミング言語で記述でき、それは、スタンドアロンプログラムとして、またはモジュール、コンポーネント、サブルーチン、またはコンピューティング環境での使用に適した他のユニットを含む任意の形式で展開することができる。コンピュータプログラムは、必ずしもファイルシステム内のファイルに対応するとは限らない。プログラムは、他のプログラムまたはデータを保持するファイルの一部(例えば、マークアップ言語ドキュメントに格納された1つまたは複数のスクリプト)、問題のプログラム専用の単一のファイル、または複数の調整されたファイル(例えば、1つまたは複数のモジュール、サブプログラム、またはコードの一部を格納するファイル)の中に格納することができる。コンピュータプログラムは、1つのコンピュータ、または1つのサイトに配置されているか複数のサイトにわたって分散され、通信ネットワークによって相互接続されている複数のコンピュータで実行するために展開できる。
本明細書で説明するプロセスおよび論理の流れは、1つまたは複数のコンピュータプログラムを実行して、本明細書で説明する機能を実行する1つまたは複数のプログラム可能なプロセッサによって実行できる。プロセスおよび論理の流れは、専用論理回路(例えば、FPGA(フィールド・プログラマブル・ゲート・アレイ)またはASIC(特定用途向け集積回路))によって実行することもでき、装置をそれとして実装することもできる。
コンピュータプログラムの実行に適したプロセッサには、例として、汎用マイクロプロセッサと専用マイクロプロセッサの両方、および任意の種類のデジタルコンピュータの任意の1つまたは複数のプロセッサが含まれる。一般的に、プロセッサは、読み取り専用メモリまたはランダム・アクセス・メモリ、またはその両方から命令とデータを受け取る。コンピュータの必須要素は、命令を実行するためのプロセッサと、命令およびデータを格納するための1つまたは複数のメモリデバイスを含み得る。一般的に、コンピュータはまた、データを格納するための1つまたは複数の大容量記憶装置(例えば、磁気、光磁気ディスク、または光ディスク)を含むか、またはそれらからデータを受け取るか、またはそれらへデータを転送するか、またはそれら両方をするように動作可能に結合することができる。しかしながら、コンピュータは、そのようなデバイスを有する必要はない。コンピュータプログラム命令およびデータを格納するのに適したコンピュータ可読媒体は、例として半導体メモリデバイス(例えば、EPROM、EEPROM、およびフラッシュメモリデバイス)、磁気ディスクを含む、あらゆる形態の不揮発性メモリ、媒体、およびメモリデバイスを含み得る。プロセッサおよびメモリは、専用の論理回路によって補足または組み込まれ得る。
本明細書は、多くの詳細を説明しているかもしれないが、これらは、特許請求される発明または特許請求される可能性のある内容の範囲の制限として解釈されるべきではなく、特定の実施形態に固有の構成の説明として解釈されるべきである。別個の実施形態の文脈で本明細書に記載されている特定の構成は、単一の実施形態で組み合わせて実装することもできる。逆に、単一の実施形態の文脈で説明されている様々な構成は、複数の実施形態で別々に、または任意の適切なサブコンビネーションで実装することもできる。さらに、構成は特定の組み合わせで作用するものとして前述のように説明され、最初にそのように特許請求されていることさえあるが、場合によっては、特許請求されている組み合わせからの1つまたは複数の構成を、当該組み合わせから削除することができ、特許請求されている組み合わせは、サブコンビネーションまたはサブコンビネーションのバリエーションを対象とする場合がある。同様に、操作は特定の順序で図面に示されているが、これは、望ましい結果を達成するために、そのような操作が示された特定の順序または連続した順序で実行されること、または図示されたすべての操作が実行されることを要求するものとして理解されるべきではない。
いくつかの例および実装形態のみが開示されている。開示された内容に基づいて、説明された例および実装形態および他の実装形態に対する変形、修正、および強化を行うことができる。