(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2023-10-25
(54)【発明の名称】ダブルデータレートメモリバス上での不揮発性メモリによる高速トランザクションのためのシステム
(51)【国際特許分類】
G11C 16/26 20060101AFI20231018BHJP
G06F 12/00 20060101ALI20231018BHJP
G06F 12/02 20060101ALI20231018BHJP
G11C 7/10 20060101ALI20231018BHJP
【FI】
G11C16/26 100
G06F12/00 597D
G06F12/00 597U
G06F12/02 580J
G11C7/10 460
G11C7/10 515
G11C7/10 480
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2023521315
(86)(22)【出願日】2021-10-07
(85)【翻訳文提出日】2023-06-06
(86)【国際出願番号】 US2021053916
(87)【国際公開番号】W WO2022076652
(87)【国際公開日】2022-04-14
(32)【優先日】2020-10-07
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2020-12-17
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】522029730
【氏名又は名称】インフィニオン テクノロジーズ エルエルシー
【氏名又は名称原語表記】Infineon Technologies LLC
【住所又は居所原語表記】198 Champion Court, San Jose, CA 95134, United States of America
(74)【代理人】
【識別番号】100114890
【氏名又は名称】アインゼル・フェリックス=ラインハルト
(74)【代理人】
【識別番号】100098501
【氏名又は名称】森田 拓
(74)【代理人】
【識別番号】100116403
【氏名又は名称】前川 純一
(74)【代理人】
【識別番号】100134315
【氏名又は名称】永島 秀郎
(74)【代理人】
【識別番号】100162880
【氏名又は名称】上島 類
(72)【発明者】
【氏名】クリフォード ズィットロー
(72)【発明者】
【氏名】スティーブン ロスナー
(72)【発明者】
【氏名】ハンス ファン アントウェルペン
(72)【発明者】
【氏名】モーガン アンドリュー ウェイトリー
【テーマコード(参考)】
5B160
5B225
【Fターム(参考)】
5B160AB17
5B160CA04
5B225BA20
5B225CA01
5B225DA02
5B225DE20
5B225EA01
5B225EA07
5B225FA01
5B225FA02
(57)【要約】
方法は、ディスクリートの不揮発性メモリ(NVM)デバイスの単方向のコマンドアドレス(CA)バス入力上で、複数の連続的なコマンドを受信するステップであって、コマンドは、タイミングクロックで同期しているステップと、受信コマンド毎に、コマンドが高速読み出し(NVR)コマンドであるかを決定して、コマンドがNVRコマンドであると決定される場合、次の連続的なコマンドがNVRコマンドであるかを決定するステップであって、連続的なNVRコマンドは、NVRコマンドシーケンスを形成するステップと、NVRコマンドシーケンスのみに応答して、NVMデバイスのNVMセル内に格納される読み出しデータにアクセスするステップと、データ値バーストでNVMデバイスのパラレルデータ入力/出力(I/O)上の読み出しデータをドライブするステップであって、バーストのデータ値は、タイミングクロックの立ち上がりおよび立ち下がりエッジに同期して出力されるステップと、を含むことができ、CAバス入力は、複数のパラレルCA信号入力を含む。関連したメモリデバイスおよびシステムもまた開示される。
【特許請求の範囲】
【請求項1】
ディスクリートの不揮発性メモリ(NVM)デバイスの単方向のコマンドアドレス(CA)バス入力上で、複数の連続的なコマンドを受信するステップであって、前記コマンドは、タイミングクロックに同期しているステップと、
受信コマンド毎に、前記コマンドが高速読み出し(NVR)コマンドであるかを決定するステップと、
コマンドがNVRコマンドであると決定される場合、次の連続的なコマンドがNVRコマンドであるかを決定するステップであって、連続的なNVRコマンドは、NVRコマンドシーケンスを形成するステップと、
前記NVRコマンドシーケンスのみに応答して、前記NVMデバイスのNVMセル内に格納される読み出しデータにアクセスするステップと、
データ値のバーストで、前記NVMデバイスのパラレルデータ入力/出力(I/O)上で前記読み出しデータをドライブするステップであって、前記バーストの前記データ値は、前記タイミングクロックの立ち上がりおよび立ち下がりエッジに同期して出力されるステップと、
を含み、
前記CAバス入力は、複数のパラレルCA信号入力を含む、
方法。
【請求項2】
前記CAバス入力上の前記NVRコマンドおよび前記データI/O上の前記データ値は、LPDDR4標準と互換性を有する信号送信によって生成される、
請求項1に記載の方法。
【請求項3】
前記NVRコマンドは、LPDDR4標準と互換性を有するコマンドのビット値位置に対応するビット値位置を含み、
少なくとも1つのNVRコマンドは、LPDDR4互換のコマンドがコマンドデータを含むビット位置でアドレスデータを含む、
請求項1に記載の方法。
【請求項4】
前記方法は、前記タイミングクロックの2サイクルの整数倍を通じて、各NVRコマンドを受信するステップをさらに含み、前記整数は、1以上である、
請求項1に記載の方法。
【請求項5】
前記NVRコマンドシーケンスは、前記読み出しデータにアクセスするために必要なすべてのコマンド値およびアドレス値を含む、
請求項1に記載の方法。
【請求項6】
各NVRコマンドは、前記コマンドを識別するコマンドビット位置を含む、LPDDR4標準のコマンドと互換性を有するフォーマットを有し、
前記コマンドがNVRコマンドであるかを決定するステップは、前記NVRコマンドのコマンドビット位置が所定の値に一致するかを決定するステップを含む、
請求項1に記載の方法。
【請求項7】
前記方法は、
前記NVMデバイスのシリアルポート上でシリアルコマンドおよびシリアルアドレス値を受信するステップであって、前記シリアルポートは、前記CA入力およびデータI/Oとは異なるステップと、
前記シリアルコマンドおよびアドレス値に応答して、前記NVMデバイスのNVMセルにアクセスするステップと、
をさらに含む、
請求項1に記載の方法。
【請求項8】
データ値の前記バーストは、複数のBL値の1つに構成可能であるバースト長(BL)を有し、少なくとも1つのBL値は、8以下である、
請求項1に記載の方法。
【請求項9】
集積回路(IC)デバイスであって、前記集積回路(IC)デバイスは、
複数のパラレルCA入力を含むコマンドアドレス(CA)入力と、
タイミングクロックの立ち上がりおよび立ち下がりエッジに同期して、バーストデータ値を少なくとも受信するように構成される、複数のパラレルデータI/Oを含むデータバス入力/出力(I/O)と、
少なくとも1つの不揮発性メモリ(NVM)セルアレイと、
高速読み出し(NVR)コマンドシーケンスを含む、前記CA入力で受信されるコマンドを検出するように構成されるコマンドデコーダと、
アクセス回路と、
を備え
各NVRコマンドシーケンスは、他のコマンドと、前記NVRコマンドのビット値によって区別可能な複数の連続的なNVRコマンドを含み、
各NVRコマンドシーケンスは、NVRコマンドでないコマンドの受信によって、または、連続的なコマンドの受信の終了によって終了し、
前記アクセス回路は、前記CAバス入力上で受信される前記NVRコマンドシーケンスのみに応答して、前記少なくとも1つのNVMセルアレイにアクセスし、読み出しデータを出力するように構成される、
集積回路(IC)デバイス。
【請求項10】
前記CAバスは、6つのCA入力を含み、
前記CAバスおよびデータバスI/Oは、LPDDR4物理インタフェース標準と互換性を有する、
請求項9に記載のICデバイス。
【請求項11】
前記読み出しデータにアクセスするためのすべてのアドレスデータは、前記NVRコマンドシーケンスに含まれる、
請求項9に記載のICデバイス。
【請求項12】
前記NVRコマンドは、LPDDR4標準と互換性を有するコマンドのビット値位置に対応するビット値位置を含み、
少なくとも1つのNVRコマンドは、LPDDR4互換のコマンドがコマンドデータを含むビット位置でアドレスデータを含む、
請求項9に記載のICデバイス。
【請求項13】
各NVRコマンドは、前記タイミングクロックの2サイクルの整数倍を通じて、前記CA入力で受信され、前記整数は、1以上である、
請求項9に記載のICデバイス。
【請求項14】
前記ICデバイスは、シリアルコマンドおよびシリアルアドレスデータを受信するように構成される少なくとも1つのシリアルI/Oラインを含むシリアルバス入力をさらに含み、
前記アクセス回路は、シリアルコマンドおよびシリアルアドレスデータに応答して、前記少なくとも1つのNVMセルアレイにアクセスするように構成される、
請求項9に記載のICデバイス。
【請求項15】
データ値の前記バーストは、複数のBL値の1つに構成可能であるバースト長(BL)を有し、少なくとも1つのBL値は、8以下である、
請求項9に記載のICデバイス。
【請求項16】
単方向のコマンドアドレス(CA)バスと、
双方向のデータバスと、
メモリコントローラを備えるホストシステムと、
メモリシステムと、
を備えるシステムであって、
前記メモリコントローラは、前記CAバス上で連続的な高速メモリ読み出し(NVR)コマンドのシーケンスを出すように構成され、各NVRコマンドは、タイミングクロックに同期して出され、前記NVRコマンドを他のコマンドと区別するビット値を含み、
前記メモリコントローラは、前記データバス上でNVRコマンドの前記シーケンスに対応する読み出しデータを受信するように構成され、
前記メモリシステムは、少なくとも1つのNVMセルアレイと、コマンドデコーダ回路と、アクセス回路と、を含み、
前記コマンドデコーダ回路は、
受信コマンド毎に、前記コマンドが高速読み出し(NVR)コマンドであるかを決定し、
コマンドがNVRコマンドであると決定される場合、次の連続的なコマンドがNVRコマンドであるかを決定する、
ように構成され、
連続的なNVRコマンドは、NVRコマンドシーケンスを形成し、
前記アクセス回路は、前記NVRコマンドシーケンスのみに応答して、
前記少なくとも1つのNVMセルアレイにアクセスし、前記NVMセルアレイ内に格納される読み出しデータにアクセスし、
データ値のバーストで、前記データバス上で前記読み出しデータを出力する、
ように構成され、前記バーストの前記データ値は、前記タイミングクロックの立ち上がりおよび立ち下がりエッジに同期して出力される、
システム。
【請求項17】
前記メモリコントローラは、前記CAバスおよびデータバスに接続されているコントローラインタフェース(I/F)を含み、
前記メモリシステムは、前記CAバスおよびデータバスに接続されているメモリデバイスI/Fを含み、
前記コントローラI/FおよびメモリデバイスI/Fは、LPDDR4物理I/F標準と互換性を有する、
請求項16に記載のシステム。
【請求項18】
前記NVRコマンドは、LPDDR4標準と互換性を有するコマンドのビット値位置に対応するビット値位置を含み、
少なくとも1つのNVRコマンドは、LPDDR4互換のコマンドがコマンドデータを含むビット位置でアドレスデータを含む、
請求項16に記載のシステム。
【請求項19】
前記ホストシステムは、所定のサイズのキャッシュラインを有する少なくとも1つのキャッシュメモリを含み、
データ値の前記バーストで前記NVMシステムにより出力される前記読み出しデータのサイズは、前記所定のサイズに一致する、
請求項16に記載のシステム。
【請求項20】
前記メモリコントローラは、前記タイミングクロックの2サイクルの整数倍を通じて、各NVRコマンドを出し、前記整数は、1以上である、
請求項16に記載のシステム。
【請求項21】
前記ホストシステムは、前記NVMシステムからパラメータデータを要求するように構成され、
所定の値を有する前記パラメータデータに応答して、前記NVMシステムに対する読み出し要求をNVRコマンドシーケンスに符合化する、
請求項16に記載のシステム。
【請求項22】
前記メモリシステムは、少なくとも1つの揮発性メモリセルアレイと、揮発性メモリアクセス回路と、をさらに含み、
前記揮発性メモリアクセス回路は、NVRコマンドシーケンスのみに応答して、
前記少なくとも1つの揮発性のメモリセルアレイにアクセスし、前記メモリセルアレイ内に格納される揮発性の読み出しデータにアクセスし、
揮発性のデータ値の揮発性メモリバーストで、前記データバス上で前記揮発性の読み出しデータを出力する、
ように構成され、前記揮発性メモリバーストの前記揮発性のデータ値は、前記タイミングクロックの立ち上がりおよび立ち下がりエッジに同期して出力される、
請求項16に記載のシステム。
【請求項23】
データ値の前記バーストは、複数のBL値の1つに構成可能であるバースト長(BL)を有し、少なくとも1つのBL値は、8以下である、
請求項16に記載のシステム。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願
この出願は、2020年12月17日に出願された米国非仮出願第17/125,927号の国際出願であり、この出願は、2020年10月7日に出願された米国仮特許出願第63/088,572号に対して35U.S.C.119(e)に従う優先権の利益を請求し、その内容は、本願明細書に参照によって組み込まれる。
【0002】
本開示は、概して、メモリデバイスへの高速アクセスを必要とするシステムに関するものであり、より詳しくは、ダブルデータレートインタフェースを通じて不揮発性メモリデバイスにアクセスするシステムに関するものである。
【背景技術】
【0003】
システム・オン・チップ(SoC)は、デバイスの高性能制御を非常にコンパクトなパッケージにおいて可能にすることができる。SoCは、非常にコンパクトなデバイス(例えば、携帯電話)から非常に大きいデバイス(例えば、自動車)までの広い使用を享受する。SoCは、典型的には、プロセッサ回路およびプロセッサによって実行可能な命令を含むデータを格納するためのオンボードメモリを含む。SoC性能は、しばしばメモリアクセス速度に大きく依存する。大気温度およびそれ以下の温度用途のために、SoCは、不揮発性メモリ(NVM)および揮発性メモリ、例えば、ダイナミック・ランダム・アクセス・メモリ(DRAM)の組み合わせを含むことができる。NVMは、電力がない場合にデータを格納することができる。DRAMは、受け入れられるアクセス速度を提供することができ、比較的小さい電力を消費しうる。この種のシステムでは、プロセッサによるアクセスのために、NVMからDRAM内にデータをロードすること、および/または、NVMによりDRAMデータをバックアップすることは一般的である。
【0004】
より高い温度用途、例えば、自動車のために、温度が上昇すると、DRAM性能は低下しうるので、DRAMは、メモリの選択肢として望ましくない。その結果、より高い温度用途は、揮発性メモリとしてのスタティックRAM(SRAM)を使用することができる。SRAMは、DRAMよりさらに速い速度を提供することができるが、SRAMは、高い構成要素価格を有しうるし、DRAMより多くの電力を引き出しうる。
【0005】
図19は、JEDECによって公表されるLPDDR4標準と互換性を有する従来のDRAM読み出し動作のブロック図である。時間t0で、第1の読み出しコマンドシーケンスが受信されうる。読み出しコマンドシーケンスは、2つのアクティベート命令(Activate1、Activate2)、読み出し命令およびCAS命令を含むことができる。読み出しコマンドシーケンスは、(CK_tの)8つのクロックサイクルを通じて(すなわち、時間t0からt2まで)受信されうる。
【0006】
時間t2で、第1の読み出しシーケンスと同じタイプの命令を有する第2の読み出しシーケンスが開始することができる。
【0007】
DRAMは、14のクロックの読み出しレイテンシ(RL)および約2つのクロックのスキュー遅延(tDQSCK)を(800MHzのクロック速度で)有しうる。この種の遅延後に、時間t4で、読み出しデータは出力されうる。読み出しデータは、16(またはバースト長設定に依存して32)の最小バーストで出力されうる。図示される16のバーストのために、16のバーストを受信する全時間は、31クロックすなわち800MHzで38.75nsとなりうる。
【0008】
x32構成において、64バイトは、8つのクロックサイクルを通じて(時間t4とt5との間に)転送されうる。32バイトのキャッシュメモリを有するシステムのために、この種の読み出し転送の結果、32バイトが破棄されうる。
【0009】
(
図19に示すようにLPPDR4互換のDRAMを含む)DRAMは、高速アクセス速度をSoCのようなシステムに提供することができるが、上述したように、DRAMはいくつかの環境、例えば、より高い温度環境に適していない。
【0010】
従来の方法の欠点を被らない、より高い温度用途においてメモリへの高速アクセスを提供するいくつかの方法に到達することが望ましい。
【図面の簡単な説明】
【0011】
【
図1】実施形態に従う不揮発性メモリ(NVM)デバイスおよび高速アクセス動作を示す図である。
【
図2】一実施形態に従うNVMデバイスのブロック図である。
【
図3】他の実施形態に従うNVMデバイスのブロック図である。
【
図4】さらなる実施形態に従うNVMデバイスのブロック図である。
【
図5】一実施形態に従うNVMデバイスへの高速アクセス動作のタイミング図である。
【
図6】他の実施形態に従うNVMデバイスへの高速アクセス動作のタイミング図である。
【
図7】一実施形態に従うダブルデータレート(DDR)パラレルインタフェース(I/F)およびシリアルI/Fを有するNVMデバイスのブロック図である。
【
図8】他の実施形態に従うDDRパラレルインタフェースI/FおよびシリアルI/Fを有するNVMデバイスのブロック図である。
【
図9】一実施形態に従うNVMデバイスアドレス空間を示すブロック図である。
【
図10】
図10Aおよび
図10Bは、一実施形態に含まれうるNVMデバイスのレジスタを示し、
図10Cは、従来のLPDDR4コマンドフォーマットを示す図であり、
図10Dは、一実施形態に従う高速アクセスコマンドフォーマットを示す図である。
【
図11】一実施形態に含まれうるメモリセルアレイの概略図である。
【
図12】一実施形態に従う集積回路デバイスの斜視図を示す。
【
図13】一実施形態に従うメモリコントローラのブロック図である。
【
図14】一実施形態に従うシステムのブロック図である。
【
図15】一実施形態に従う自動車システムの図である。
【
図16】一実施形態に従うNVM方法のフロー図である。
【
図17】一実施形態に従うメモリコントローラの方法のフロー図である。
【
図18】一実施形態に従うシステムの方法のフロー図である。
【
図19】一実施形態に従う従来のLPDDR4互換の読み出しアクセスのタイミング図である。
【発明を実施するための形態】
【0012】
実施形態によれば、不揮発性メモリ(NVM)デバイスは、コマンド(NVRコマンド)の減少するシーケンスを処理して、1つまたは複数のアレイのNVMセルからデータを読み出すことができる。いくつかの実施形態では、NVRコマンド対は、読み出し動作のために必要なすべてのコマンドおよびアドレスデータを有することができる。NVRコマンドに対応する読み出しデータは、ダブルデータレート(DDR)でNVMデバイスから出力可能である。いくつかの実施形態では、読み出しデータは、8つのデータのバーストで出力可能である。
【0013】
いくつかの実施形態では、NVMデバイスは、LPDDR4標準に従う物理インタフェースと互換性を有するインタフェースを有することができる。
【0014】
いくつかの実施形態では、NVRコマンド対は、一対の両方のNVRコマンドにわたり分散されるコマンド値を有することができる。いくつかの実施形態では、NVRコマンド対は、一対の両方のNVRコマンドにわたり分散されるアドレス値を有することができる。
【0015】
いくつかの実施形態では、NVRコマンドは、LPDDR4標準に従うコマンドに従うフォーマットを有することができる。しかしながら、LPDDR4コマンド内のコマンドデータを提供する1つまたは複数のビット位置は、NVRコマンド内のアドレスデータを提供することができる。
【0016】
いくつかの実施形態では、NVMデバイスは、DDRインタフェースに加えてシリアルインタフェースを含むことができる。
【0017】
いくつかの実施形態では、NVMデバイスは、キャッシュメモリに対してキャッシュライン読み出しを実行するシステムの一部とすることができる。1つまたは複数のNVMデバイスに対する高速アクセス動作(NVRコマンドによって実行される読み出しアクセス)は、いかなる読み出しデータも破棄する必要なく、キャッシュラインを満たす(フィルする)ことができる。
【0018】
いくつかの実施形態では、NVMデバイスは、メモリコントローラを有するシステムの一部とすることができる。メモリコントローラは、NVMデバイスに対して、NVRコマンドを有する読み出しコマンドシーケンスを出すことができるとともに、他のデバイス(例えば、ダイナミック・ランダム・アクセス・メモリ(DRAM))に対して、既存の標準(例えば、LPDDR4)に従う読み出しコマンドシーケンスを出すことができる。既存の標準に従う読み出しシーケンスは、NVRコマンド(例えば、2つのコマンド)のシーケンスと比較して、より多くのコマンド(例えば、4つのコマンド)を有しうる。
【0019】
以下のさまざまな実施形態では、類似のアイテムは、同一の参照符号であるが、その第1の桁が図面番号に対応する参照符号によって参照される。
【0020】
図1Aは、一実施形態に従うNVMデバイス100のブロック図である。NVMデバイス100は、1つまたは複数のメモリセルアレイ102およびDDRインタフェース104を含むことができる。図示の実施形態では、メモリセルアレイ102は、電力がない場合、データを保持することができる任意の適切なタイプのNVMセルを含むことができるNVMセルアレイ102とすることができる。いくつかの実施形態では、NVMセルアレイ102は、アドレス値に応答して、NVMセルにアクセスするためのデコーダ回路と、データ値をNVMセル内に格納するための書き込み回路(例えば、プログラムおよび消去回路)と、を含むことができる。いくつかの実施形態において、メモリセルアレイ102は、ダイナミック・ランダム・アクセス・メモリ(DRAM)セルおよび/またはスタティックRAM(SRAM)セルを含むがこれらに限定されない揮発性メモリセルを、適切なアクセス回路および補助回路(例えば、デコーダ回路、DRAM用のリフレッシュ回路部など)とともに含むことができる。
【0021】
DDRインタフェース104は、コマンドおよびアドレス(CA)入力、パラレルデータ接続(DQ)および1つまたは複数のクロック入力(CLK)を含むことができる。CA入力は、NVMセルアレイ102の記憶場所にアクセスするためのコマンドおよびアドレスデータを受信することができる。CLK入力は、NVMデバイス100のためのタイミング入力および出力信号のための1つまたは複数のクロック入力を受信することができる。DQ接続は、CA入力上で受信される要求に応答して、パラレルデータ値を出力することができる。出力データ値は、入力クロックの立ち上がりおよび立ち下がりエッジに同期して(すなわち、ダブルデータレートで)提供可能である。いくつかの実施形態では、DQは、単方向とすることができ、NVMデバイスから出力データのみを提供することができる。しかしながら、他の実施形態では、DQは、双方向とすることができ、データを受信することおよび出力することの両方ができる。
【0022】
いくつかの実施形態では、DDRインタフェース104は、既存のメモリ標準と互換性を有する信号送信を有することができる。一実施形態において、DDRインタフェース104は、JEDECによって公表されるLPDDR4標準と互換性を有する信号送信を有することができる。すなわち、DDRインタフェース104は、LPDDR4物理インタフェース標準(すなわち、LPDDR4 PHY)と互換性を有する物理インタフェースを有することができる。
【0023】
DDRインタフェース104は、既存の標準と互換性を有する信号送信を有することができるが、DDRインタフェース104は、この種の既存の標準より短い読み出しコマンドシーケンスを処理することができる。いくつかの実施形態では、DDRインタフェース104は、LPDDR4 PHYと互換性を有することができるが、LPDDR4標準によって決められる4つのコマンドの読み出しシーケンスと対照的に、2つのコマンドの高速読み出しシーケンスを処理することができる。
【0024】
DDRインタフェース104は、本願明細書において記載されている高速アクセスを実行するためのコマンドデコーダ105を含むことができる。いくつかの実施形態では、コマンドデコーダ105は、高速アクセスコマンドを認識して、NVMセルアレイ102へのアクセスを可能にすることができる。いくつかの実施形態では、コマンドデコーダ105は、高速アクセスコマンドを他のコマンドと区別することができる。高速アクセスコマンドの連続的なシーケンスは、高速コマンドシーケンスとみなすことができる。高速コマンドシーケンスは、NVMデバイス100へのアクセスを実行するためのすべての命令およびアドレスデータを含むことができる。いくつかの実施形態では、DDRインタフェースは、既存の標準(例えば、LPDDR4)と互換性を有することができ、高速コマンドシーケンスは、既存の標準に従うアクセスより少ないコマンドを含むことができる。
【0025】
いくつかの実施形態では、CA入力は、7ビット幅未満とすることができ、DQ接続は、20ビット幅未満とすることができる。
【0026】
いくつかの実施形態では、NVMデバイス100は、単一のICパッケージ内に形成される1つまたは複数の集積回路(IC)基板を含む集積回路デバイスとすることができる。
【0027】
図1Bは、
図1AのようなNVMデバイスのためのアクセス動作を示すタイミング図である。
図1Bは、所定の標準(Std)と互換性を有する読み出しアクセスと、標準読み出しアクセスより少ないクロックサイクルの数で発生可能な一実施形態に従うNVMデバイスへの高速読み出しアクセス(高速)と、を示す。
【0028】
図1Bは、タイミングクロック(CK)のための波形、標準アクセスのためのCA入力(CA(Std))、高速アクセスにおけるCA入力(CA(高速))、標準アクセスにおける出力データ(DQ(Std))および高速アクセスのための出力データ(DQ(高速))を含む。
【0029】
時間t0で、読み出しコマンドシーケンスは、メモリデバイスで受信可能である。読み出しコマンドシーケンスは、1つの読み出し動作のためのコマンドおよびアドレス値を含むことができる。
図1Bは、標準ケースならびに高速ケースのためのコマンドアドレス値を示す。図示するように、標準読み出しコマンドシーケンスは、「n」個のコマンド(Std0からStdn)を必要とし、nは2より大きい。対照的に、高速アクセスは、より少ないNVRコマンド(NVR1、NVR2および可能なNVR3)から成る。
【0030】
第1のNVRコマンド(NVR1)を受信することに応答して、コマンドは、それが高速アクセスコマンドであるかを決定するために評価可能である(147として示される)。受信コマンドが高速アクセスコマンドである場合、シーケンスの次のコマンドは、それが高速アクセスコマンドであるかを決定するために検査可能である。連続的な高速アクセスコマンドのセットは、高速アクセスコマンドシーケンスを形成することができる。したがって、
図1Bは、NVR1/NVR2の高速アクセスコマンドシーケンス(2つのシーケンス)、および、オプションでNVR1/NVR2/NVR3の高速アクセスコマンドシーケンス(3つのシーケンス)を示す。
【0031】
時間t1で、高速読み出しコマンドシーケンス(NVR1/NVR2)の受信を完了することができる。時間t1の後、時間t2の前に、高速読み出しコマンドシーケンス(NVR1/NVR2/NVR3)を完了することができる。
【0032】
時間t2で、高速ケースより多くのクロックサイクルを必要とする標準読み出しコマンドシーケンス(ACT1、ACT2、READ、CAS2として示されるが、いかなる特定のプロトコル/標準に限定されるものではない)の受信を完了することができる。
【0033】
時間t3で、高速読み出しコマンドシーケンスに対応するデータを出力することができる。
【0034】
時間t4で、NVMデバイスからの高速アクセスのためのデータ出力を完了することができる。図示例では、この時間において、標準読み出しコマンドシーケンスに対応するデータも出力することができる。
【0035】
時間t5で、標準アクセスのためのデータ出力を完了することができる。
【0036】
図示の実施形態では、高速読み出し動作は、より少ないコマンド(および、それゆえ、より少ないクロックサイクル)を含むことができ、オプションで、標準読み出しアクセスより小さいバーストシーケンスにおいてデータを取り込むことができる。その結果、高速読み出し動作は、CAバス上でより少ない時間を占めることができ、標準読み出し動作より短い時間でデータを取り込むことができる。いくつかの実施形態では、より小さいバーストシーケンスは、メモリデバイスの選択可能な特徴とすることができ、(従来のサイズのものを含む)より大きいバーストシーケンスがサポートされる。
【0037】
図1Bは、NVRコマンドがCKの2つのクロックサイクルを通じて受信されるのを示すが、代替実施形態は、より長い数のクロックサイクルを通じてNVRコマンドを受信することができる。単なる一例として、
図1BのNVR1/NVR2内に含まれるコマンドおよびアドレスデータは、4つのクロックサイクルを占める1つのNVRコマンド内に含まれうる。
【0038】
いくつかの実施形態では、NVRコマンドはj×2のクロックサイクルを通じて受信可能であり、jは1以上の整数である。
【0039】
図1Cは、実施形態に従う高速読み出し(NVR)コマンドシーケンスのさまざまな例を示す図である。この種のシーケンスは、コントローラデバイスから出される、および/または、NMVデバイスで受信される連続的なコマンドとして時間とともに発生することを理解されたい。連続的なコマンドは、介在する遅延なしに、または、十分に長い期間の介在する遅延なしに次々に受信されるコマンドとすることができる。
【0040】
NVRコマンドシーケンス149Aは、さらなるコマンドが受信されないことによって終了する2つのコマンドシーケンス(NVR1/NVR2)を示す。NVR1のビット値から、コマンドデコーダは、コマンドがNVRコマンドであると決定することができる。その結果、コマンドデコーダは、次の連続的なコマンドを可能なNVRコマンドとして扱うことができる。したがって、NVR2は、シーケンスの次のNVRコマンドで検出可能である。図示の実施形態では、連続的なコマンドがNVR2の後にないとき、NVRコマンドシーケンス149Aは終了する。いくつかの実施形態では、コマンドは、所定の数のタイミングクロックサイクルを通じて受信される。コマンドがこの種の量のクロックサイクルで受信されない場合、いかなるNVRコマンドシーケンスも終了したとみなすことができる。
【0041】
コマンドシーケンスが終了するとき、シーケンスの結果として生じるNVRコマンド(NVR1/NVR2)を用いて、NVMセルにアクセスする。すなわち、コマンドNVR1/NVR2は、読み出しアクセスのために必要なすべてのコマンドおよびアドレスデータを含むと理解される。
【0042】
NVRコマンドシーケンス149Bは、149AのようなNVRコマンドシーケンスを示すが、NVRコマンドシーケンス149Bは、NVRコマンドではないコマンドの受信によって終了する。コマンドデコーダは、NVR1を検出し、次に、次のコマンド(NVR2)を検査し、それもNVRコマンドであるので、同じNVRコマンドシーケンスの一部であると決定することができる。NVR2がNVRコマンドであるので、コマンドデコーダは、次の連続的なコマンド(MRR1)に目を向け、それがNVRコマンドであるかを決定することができる。しかしながら、この場合、MRR1は、NVRコマンドではない。その結果、NVRコマンドシーケンスは終わることができ、NVMセルは、NVR1/NVR2のアドレス値によってアクセスされる。
【0043】
NVRコマンドシーケンス149Cは、149AのようなNVRコマンドシーケンスを示すが、より多くのNVRコマンドを有する。いくつかの実施形態では、ターゲットのメモリデバイスのアドレス空間は、2つのNVRコマンドで提供可能なものより多くのアドレスビットを必要としうる。したがって、1つまたは複数のNVRコマンド(この場合、1つのコマンドNVR3)は、NVRコマンドシーケンスに追加可能である。より長い高速読み出しコマンドシーケンスは、上述したのと同じ方法で終了することができる。さらに、NVRコマンドシーケンスは、3より多いNVRコマンドを含む任意数のNVRコマンドを有することができる。
【0044】
NVRコマンドシーケンスが1つのNVRコマンドを含むことができることを理解されたい。
【0045】
実施形態は、さまざまな形をとることができるが、いくつかの実施形態は、1つまたは複数の集積回路ダイを有する単一の集積回路(IC)デバイスとすることができる。
図2から
図4は、実施形態に従う多くの可能なICデバイスのうちの3つを示す。
【0046】
図2は、ICパッケージ205内に形成される単一のダイ207を有するNVM ICデバイス200のブロック図である。ICパッケージは、ファインピッチBGA(FBGA)を含むボールグリッドアレイ(BGA)、スモールアウトラインパッケージ、フラットパッケージ、ピングリッドアレイまたはチップキャリアを含むがこれらに限定されない任意の適切な形をとることができる。ダイ207は、NVMセルアレイ202、DDR I/F204およびシリアルI/F206を含むことができる。NVMセルアレイ202は、本願明細書に記載されているものまたは均等物のいずれかの形をとることができる。いくつかの実施形態では、NVMセルアレイ202は、第1のバンク202-0および第2のバンク202-1を含むことができる。
【0047】
DDR I/F204は、CS入力、クロック入力(CLK)、CA入力、DQおよびデータストローブ出力(DQS)を含むことができる。DDR I/F204はまた、本願明細書に記載されている高速アクセスコマンド(例えば、NVR1、NVR2…NVRn)をデコードすることができるコマンドデコーダ205および均等物を含むことができる。DDR I/F204は、読み出しおよび書き込み動作を含むNVMセルアレイ202へのアクセスを可能にすることができる。いくつかの実施形態において、高速アクセスに加えて、DDR I/F204は、標準アクセスを可能にすることができるかまたは標準アクセスを可能にするように構成可能である。いくつかの実施形態では、コマンドデコーダ205は、連続的な中断なしのNVRコマンドシーケンス(例えば、第2のNVR1/NVR2対が直に続く第1のNVR1/NVR2対)を、バンク202-0/1の各々に対して処理し、ダブルデータレートでDQ上のバンク202-0/1からデータの中断なしの出力を可能にすることができる。
【0048】
シリアルI/F206は、NVMアレイ202へのアクセスを、シリアルバスを介して可能にすることができる。シリアルI/F206は、シリアルチップセレクト入力(SERIAL_CS)、シリアルクロック入力(SERIAL_CLK)およびシリアルデータI/O(SERIAL_DQ)を含むことができる。SERIAL_CSは、NVMデバイス200がシリアルI/F206を介して他のデバイス(例えば、ホストデバイス)によるアクセスのために選択されることを可能にすることができる。SERIAL_CLKは、NVMデバイス200へのデータ入力およびNVMデバイス200からのデータ出力を同期させるためのタイミング信号を受信することができる。SERIAL_DQは、NVMデバイス200の記憶場所(構成レジスタを含む)にアクセスするためのコマンド、アドレスおよびデータ値を受信することができる。SERIAL_DQは、アクセスに応答して、シリアルデータを出力することができる。
【0049】
図3は、同じICパッケージ305内に形成される第1のダイ307Aおよび第2のダイ307Bを有するNVM ICデバイス300のブロック図である。ICパッケージは、本願明細書において記載されている任意の適切な形をとることができる。第1のダイ307Aは、
図2の場合と同様に、NVMセルアレイ302A、DDR I/F304およびシリアルI/F306Aを含むことができる。第2のダイ307Bは、NVMセルアレイ302BおよびシリアルI/F306Bを含むことができる。第1および第2のダイ307A/Bは、内部バス309によって接続可能である。DDR I/F304でのアクセスは、第1のダイ307A上のNVMセルアレイ302Aにアクセスすることができ、かつ、内部バス309を介して第2のダイ307B上のNVMセルアレイ302Bにアクセスすることができる。共有シリアルバス311は、共通のシリアル入力313を介してダイ307A/Bの一方へのアクセスを可能にすることができる。
【0050】
DDR I/F304は、
図2のもののように動作することができる。しかしながら、コマンドデコーダ305は、異なるダイ(例えば、302-0A/302-0B)のバンクでターゲットにされる連続的な中断なしのNVRシーケンスを処理し、DQ_A/B上のバンク302-0A/302-0Bからデータの中断なしの出力を可能にすることができる。
【0051】
図4は、同じICパッケージ405内に形成される第1のダイ407Aおよび第2のダイ407Bを有するNVM ICデバイス400のブロック図である。NVM ICデバイス400は、
図3のもののようなアイテムを有することができる。NVM ICデバイス400は、各ダイ407A/Bが各々DDR I/F404A/Bを有することができ、各々がチップセレクト入力(CS_A/B)、クロック入力(CLK_As/Bs)、CA入力(CA_A/B)、DQ(DQ_A/B)およびDQS(DQS_A/B)を含むという点において
図3と異なることができる。各DDR I/F404A/Bはまた、それ自身のコマンドデコーダ405A/Bを有することができる。いくつかの実施形態では、コマンドデコーダ405Aは、NVMセルアレイ402A内のバンク302-0A/1Aでターゲットにされる連続的な中断なしのNVRシーケンスを処理することができ、コマンドデコーダ405Bは、NVMセルアレイ402B内のバンク302-0B/1Bでターゲットにされる連続的な中断なしのNVRシーケンスを処理することができる。
【0052】
図2から
図4の実施形態において、DDR I/F(204、304、404A、404Bのいずれか)は、JEDECによって公表されるDDR標準と互換性を有する信号送信を有することができる。いくつかの実施形態では、この種のDDR I/Fは、JEDECによって公表されるLPDDR4標準と互換性を有することができる。
【0053】
図2から
図4の実施形態において、シリアルI/F(206、306A/B、406A/Bのいずれか)は、シリアル・ペリフェラル・インタフェース(SPI)標準と互換性を有することができ、これは、1つのシリアルデータラインを有するものまたは複数のシリアルデータラインを有するもの(例えば、クアッドSPI)を含む。
【0054】
図5は、一実施形態に従うNVMデバイスのための高速読み出し動作を示すタイミング図である。
図5において、LPDDR4 PHY標準と互換性を有する入力を有するDDRインタフェースを通じて、アクセスが発生しうると仮定される。しかしながら、DDRインタフェースは、従来のLPDDR4アクセスより少ないコマンドのコマンドシーケンスを含むことができる高速アクセスコマンドを処理することができる。
図5は、以下の波形を示す、すなわち、CSは、チップセレクト入力(CS)を示し、CA[5:0]は、コマンドアドレス入力(6ビットのビット幅を有する)を示し、CMDは、CA上で受信される命令データの書き込み表現であり、CK_tは、タイミングクロックであり、DQS[1:0]は、データストローブ出力を示し、DQ[15:0]は、16ビットのビット幅を有するデータI/Oを示し、DM[1:0]は、DQ上のデータ出力に対応する誤り訂正コード(ECC)データを提供するように構成される出力を示す。
【0055】
時間t0で、CSはハイになることができ、アクセス動作のために、NVMデバイスを選択する。また、時間t0で、NVMデバイスは、第1の高速読み出し動作のために、CA上のコマンドシーケンスの受信を開始することができる。この種のコマンドシーケンスは、第1のNVRコマンド(NVR-1)の形をとることができる。第1のNVRコマンド(NVR-1)は、(CK_tの)1つのクロックサイクルを通じて受信され、他のクロックサイクルを通じて受信される第2のNVRコマンド(NVR-2)が続く。しかしながら、代替実施形態が2より多いNVRコマンドのシーケンスを含むことができることを理解されたい。
【0056】
時間t1で、CSは再びハイになることができ、アクセス動作のために、NVMデバイスの選択を継続する。
【0057】
時間t2で、第1のアクセスは、第1のコマンドシーケンスが約3つのクロックサイクルの後完了していることによって、完了することができる。コマンドシーケンスに応答して、NVMデバイスは、要求された読み出しデータのために、NVMセルへのアクセスを開始することができる。
【0058】
時間t3で、CSは再びハイになることができ、アクセス動作のために、NVMデバイスの選択を継続する。また、時間t3で、第2の高速アクセス動作は開始することができる。第2のアクセス動作は、第1のアクセス動作と同じ方法で発生することができる。
【0059】
時間t4で、第2のアクセスは、第2のコマンドシーケンスが4つのクロックサイクルを通じて受信されていることにより完了することができる。第2のコマンドシーケンスに応答して、NVMデバイスは、読み出しデータの第2のセットのために、NVMセルへのアクセスを開始することができる。時間t2からt4は、列間の(column-to-column)遅延時間(tCCD)とすることができ、これは、4つのクロックとすることができる。
【0060】
時間t5は、読み出しレイテンシ(RL)時間の終了をマークすることができ、これは、クロック速度およびNVMデバイスアーキテクチャに従って変化することができる。図示の実施形態では、RLは、14のクロックサイクルとすることができる。
【0061】
時間t6で、RL時間および追加のクロックスキュー遅延(tDQSK)の後に、第1のアクセスのための読み出しデータ(D0からD7)は、対応するデータストローブ信号DQSとともにDQ上で出力可能である。読み出しデータは、CK_tに対するダブルデータレートで出力可能であり、8のバースト長(BL)を有することができる。加えて、DMの出力時に、2ビットのECCデータは、各読み出しデータ値とともに出力可能である。図示の実施形態では、t6後の2つのクロックサイクルの各々を通じて、DQ/DMは、64ビットの読み出しデータを8ビットのECCデータとともに出力することができる。
【0062】
時間t7で、第2のアクセスのための読み出しデータ(D0からD7)は、第1のアクセスのための読み出しデータの直後にDQ上で出力可能である。読み出しデータのこの第2のセットは、第1の読み出しデータと同じ一般的なフォーマットを有することができる。
【0063】
図5を依然として参照すると、読み出しコマンドNVR1/NVR2のシーケンスは、4つのクロックサイクルをとることができる。
図5は、16ビット(すなわち、x16)のDQを示すが、他の実施形態が32ビット(すなわち、x32)のアクセスを含むことができることを理解されたい。多くの可能な例のうちの2つとして、NVR1/NVR2コマンドは、2つのNVMデバイスでターゲットにすることができ、その各々は、x16ビットを返信する。代替的には、NVMデバイスは、x32ビット出力を有することができる。したがって、
図5は、半クロックサイクル毎にx16ビットでのデータ出力を示すが、2つのデバイス/バンク構成では、データは、8つの半クロックサイクルを通じてx32ビットで出力可能である。この種の構成では、2つのNVMデバイス(またはx32DQを有する1つのNVMデバイス)は、4つのクロックを通じて32バイトのデータを出力することができる。この種の読み出し動作は、パイプライン転送が可能である(すなわち、
図5は、パイプライン転送される2つの読み出し動作を示すが、より大きい数の読み出し動作のパイプライン転送が可能である)。多くのシステムでは、キャッシュメモリアクセスは、32バイトのサイズを有するキャッシュラインにデータを書き込む。したがって、各パイプライン転送されたNVR読み出しアクセスは、無駄になるデータなしで、1つのキャッシュラインを満たすことができる。
【0064】
図5に示すように、高速読み出しコマンドの開始(t0)と、すべてのデータが出力される時間(t7)と、の間の時間は、コマンドアドレスデータ(NVR1/2)のための3つのクロックサイクル、RLのための14のクロックサイクル、tDQSKのための2つのクロックサイクルおよびデータのための4つのクロックサイクルを含むことができる(BL=8)。800MHzのクロック速度で、全体の時間は、28.75nsとすることができる。したがって、パイプライン転送された高速読み出しアクセスを用いて、第1のキャッシュラインを28.75nsで不揮発性メモリからのデータで満たすことができ、次のキャッシュラインは、5ns(すなわち、4つのクロックサイクル)毎に満たされる。これは、第1のキャッシュラインのために38.75nsかかり、次の動作毎に10nsかかり、各読み出しデータセットから32バイトを破棄する
図19の従来のアクセス動作と著しく対照的である。
【0065】
図5は、8のBLを有する実施形態を示すが、実施形態は、より大きいBLサイズをサポートすることもできる。いくつかの実施形態では、8のBLは、他のBLサイズ(例えば、32)の中の選択可能な特徴とすることができる。さらに、他の実施形態は、8より大きいサイズのBL、例えば、16のBLを提供することができ、8の短いBLサイズをサポートしない。
【0066】
図6は、他の実施形態に従うNVMデバイスのためのアクセス動作を示すタイミング図である。
図6は、
図5のように、DDRインタフェースを通じたアクセスを示すが、2つの異なるNVMデバイスをターゲットにする。
図6は、2つのチップセレクト波形CS0およびCS1が存在しうることを除いて、
図5と同様の波形を示す。さらに、2つの異なるデータストローブ信号DQSA、DQSBが存在しうる。
【0067】
動作は、
図5に示すのと同じ一般的な方法で発生することができるが、第1のNVMデバイスは、時間t0とt1との間で信号CS0により選択可能であり、第2のNVMデバイスは、時間t2とt3との間で信号CS1により選択可能である。いくつかの実施形態では、1つのデバイスのためのNVRシーケンス(NVR1A/NVR2A)と、次のデバイスのためのNVRシーケンス(NVR1B/NVR2B)と、を分離する時間tBTが存在しうる。時間tBTは、デバイスのタイプおよびクロック速度に従って変化することができる。多くの可能な例のうちのいくつかとして、800MHzのクロック速度では、tBTは、(CK_tの)2つのクロックサイクルとすることができ、1600MHzのクロック速度では、tBTは、4つのクロックサイクルとすることができる。時間t4とt5との間のDQ上のデータ出力は、第1のNVMデバイスからとすることができ、時間t5の後のDQ上のデータ出力は、第2のNVMデバイスからとすることができる。いくつかの実施形態では、データセットを分離する時間tDQBTが存在してもよい。
【0068】
図7は、他の実施形態に従うNVMデバイス700のブロック図である。NVMデバイス700は、他の実施形態に示されるデバイスおよびダイの1つの実施態様とすることができる。NVMデバイス700は、第1のインタフェース704、第2のインタフェース706および多くの別々にアドレス指定可能なバンク702-0から702-3を含むことができる。第1のI/F704は、パラレルDDR I/Fとすることができ、CA入力でコマンドシーケンスを受信し、クロックCLKの立ち上がりおよび立ち下がりエッジに同期して、データ出力DQ上でパラレル出力データを提供することができる。第1のインタフェース704は、パラレルデータバス710に接続可能である。パラレルデータバス710は、CAバスを通じて送信されるコマンドおよびアドレス値を有することができ、CAバスは、データが出力(または入力)可能なデータバスDQとは別である。いくつかの実施形態では、第1のI/F704で信号送信することは、LPDDR4標準と互換性を有することができる。第1のI/F704はまた、本願明細書に記載されている高速アクセスを処理するためのコマンドデコーダ705および均等物を含むことができる。
【0069】
第2のI/F706は、シリアルクロックS_CKに同期して、1つまたは複数のシリアルデータI/O(S_DQ)上のシリアルデータトランザクションを可能にすることができるシリアルI/Fとすることができる。第2のI/F706は、シリアルバス708に接続可能である。いくつかの実施形態では、第2のI/F706は、SPI標準と互換性を有することができる。
【0070】
バンク(702-0から702-3)は、各々、多くのNVMセルを含むことができる。各バンク(702-0から702-3)内で、NVMセルは、1つまたは複数のアレイに配置可能である。NVMセルは、任意の適切な形をとることができ、いくつかの実施形態では、「フラッシュ」タイプのNVMセルとすることができる。バンク(702-0から702-3)は、別々にアドレス指定可能である。すなわち、デバイス700の物理的アドレス指定は、バンク(702-0から702-3)毎に、別々のバンクアドレスを有することができる。すべてのバンク(702-0から702-3)は、第1のバスシステム712Aおよび第2のバスシステム712Bに接続可能である。第1のバスシステム712Aは、バンク(702-0から702-3)を第1のI/F704に接続することができ、第2のバスシステム712Bは、バンク(702-0から702-3)を第2のI/F706に接続することができる。
図7は、4つのバンクを有するデバイスを示すが、実施形態は、より多いかより少ない数のバンクを含むことができる。
【0071】
いくつかの実施形態では、バンクアドレス指定は、高速アクセスコマンド(例えば、コマンド対NVR1/NVR2)によりNVMデバイスへのパイプライン転送されたアクセスを可能にすることができる。異なるバンクのためのコマンドシーケンスは、パイプライン転送方法で(すなわち、コマンドアドレス値間の介在するデータはなく、コマンドアドレス値間の遅延が最小であるか遅延なしで)、第1のインタフェース704で受信可能である。この種のパイプライン転送されたコマンドシーケンスに応答して、異なるバンクからのデータは、順次バーストで、DQ上で出力可能であり、この種のバースト間の遅延は、最小であるか遅延はない。
【0072】
図8は、さらなる実施形態に従うNVMデバイス800のブロック図である。NVMデバイス800は、本願明細書において示されるもののいずれかの1つの実施態様とすることができる。NVMデバイス800は、DDR4 I/F804、クアッドSPI(QSPI)互換のI/F806、LPDDR4互換の物理層インタフェース(PHY)816、QSPI互換のPHY818、複数のバンク802-0から802-7、各バンク(802-0から802-7)のための第1のアクセス経路820-0から820-7、各バンク(802-0から802-7)のための第2のアクセス経路822-0から822-7およびパラメータ/構成レジスタ821を含むことができる。
【0073】
LPDDR4 PHY816は、チップセレクトCS入力、クロック入力CK_t、CA入力、対応するデータクロック出力DQS0_tを有する第1のDQ[7:0]、対応するデータクロック出力DQS1_tを有する第2のDQ[15:8]を含むことができる。この種の入力および出力は、LPDDR4互換のバス810に接続可能である。DDR4 I/F804は、コマンドおよびアドレスデータを処理し、コマンドデコーダ805を含むことができ、コマンドデコーダ805は、コマンドシーケンス(例えば、NVR1…NVRn)で受信可能な高速アクセスコマンドアドレス値を処理することができ、シーケンスの各コマンドは、2サイクル以下のCK_tを通じて受信される。いくつかの実施形態では、DDR4 I/F804はまた、LPDDR4互換のコマンド(例えば、8つのクロックを通じて受信されるアドレスデータコマンド)を処理することができる。いくつかの実施形態では、DDR4 I/F804は、ユーザ記憶空間アクセスに対する読み出し専用のインタフェースであり、ユーザ記憶空間に書き込みコマンドを処理しないインタフェースとすることができる。いくつかの実施形態では、DDR4 I/F804は、NVMデバイス800の構成および/または他のレジスタに書き込み動作を処理することができる。
【0074】
DDR4 I/F804は、第1のバスシステム812Aを介してバンク(814-0から814-7)に接続可能である。DDR4 I/F804は、4つのクロックサイクル毎にパイプライン転送された高速アクセスコマンドを処理し、DQ上で、ダブルデーダレートで、8のバーストで対応する出力データを提供することができる。いくつかの実施形態では、この種の連続的なパイプライン転送された高速アクセスコマンドは、異なるバンク802-0から802-7に対するものとすることができる。
【0075】
QSPI PHY818は、シリアルチップセレクトSPI_CS、シリアルクロック入力SPI_CKおよび4つのシリアルデータI/O SPI_DQを含むことができる。この種のI/Oは、SPI互換のシリアルバス808に接続可能である。QSPI I/F806は、QSPI互換のコマンドを含む、QSPI PHY818で受信されるコマンドを処理することができる。この種のコマンドは、読み出しおよび書き込み(例えば、プログラム、消去)コマンドの両方を含むことができる。
【0076】
パラメータ/構成レジスタ821は、他のデバイスによってアクセス可能な、NVMデバイス800の能力を示すことができるパラメータ値を格納することができる。いくつかの実施形態では、レジスタ821は、NVMデバイス800が高速アクセス動作を実行することができることを示すパラメータ値を格納することができる。
【0077】
各バンク(802-0から802-7)は、行および列に配置されるNVMセルを含むことができる。各バンク(802-0から802-7)は、固有のバンクアドレスを介して別々にアクセス可能である。いくつかの実施形態では、NVMセルは、消去可能な(例えば、フラッシュ型セル)グループとすることができる。読み出し経路(820-0から820-7)は、第1のバスシステム812Aを介してDDR4 I/F804から、それらの対応するバンク(802-0から802-7)に対する読み出しアクセスを可能にすることができる。いくつかの実施形態では、読み出し経路(820-0から820-7)はまた、DDR2 I/F804からバンク(802-0から802-7)内に書き込みデータを書き込み可能にする書き込み経路とすることもできる。R/W経路(822-0から822-7)は、第2のバスシステム812Bを介してQSPI I/F806から、それらの対応するバンク(802-0から802-7)への読み出しまたは書き込みアクセスを可能にすることができる。
【0078】
実施形態によれば、NVMデバイスは、ユーザデータならびにNVMデバイスに特定のデータのための記憶場所のアドレス空間を含むことができる。この種のアドレス空間は、高速アクセス能力を示すパラメータデータおよび/または高速アクセス動作のためのNVMデバイスを構成するための構成データのための場所を含むことができる。
【0079】
図9は、NVMデバイス900を示し、NVMデバイス900は、アドレス空間923、パラレルバス908に接続可能なLPDDR I/F904およびシリアルバス910に接続可能なシリアルI/F906を有する。LPDDR4 PHY904は、LPDDR4標準PHYと互換性を有することができる。シリアルI/F906は、SPI標準と互換性を有することができる。
【0080】
アドレス空間923は、所定のアドレスによってアクセス可能なさまざまな記憶場所を含むことができる。いくつかの実施形態では、NVMデバイス900は、単なる一例として、論理から物理へのアドレス変換および/またはウェアレベリングのためのアドレス再構成能力を有することができる。図示の実施形態では、アドレス指定可能な空間923は、ユーザ空間902、LPDDR4モードレジスタ921-0、デバイス識別(ID)レジスタ921-1、デバイスパラメータレジスタ921-2、安全な領域921-3およびシリアルI/Fレジスタ921-4のうちのいずれかを含むことができる。ユーザ空間902は、ユーザデータを不揮発性の方法で格納するためのNVMセルアレイを含むことができ、LPDDR4 I/F904およびSPI I/F906を介してアクセス可能である。
【0081】
LPDDR4モードレジスタ921-0は、LPDDR4 I/F904を構成するための値を格納することができる。いくつかの実施形態では、LPDDR4モードレジスタ921-0は、BLサイズを確立するためのレジスタを含むことができ、BLサイズは、8のような短いBLサイズ、および/または、16または32を含むより大きいBLサイズを含むが、これらに限定されるものではない。いくつかの実施形態では、LPDDR4モードレジスタ921-0は、標準アクセス構成レジスタ924を含むことができる。高速アクセス制御レジスタ924内に格納される値によれば、NVMデバイス900は、高速アクセスより多くのコマンドを含みうる標準アクセスコマンドのシーケンスを実行することができる。いくつかの実施形態では、NVMデバイス900は、連続的なコマンドがNVRコマンドであるかを決定することによって、高速アクセスを実行することができる。標準アクセス構成レジスタ924は、高速コマンドに加えて、4つのコマンドのLPDDR4コマンドシーケンスを可能にすることができる。LPDDR4モードレジスタ921-0は、LPDDR4 I/F904またはSPI I/F906を介してアクセス可能である。
【0082】
デバイスIDレジスタ921-1は、システム内の他のデバイスに対してNVMデバイス900を識別することができる値を格納することができる。いくつかの実施形態では、デバイスIDレジスタ921-1内に格納される値は、NVMデバイスが高速アクセスコマンドを実行可能であることを示すことができる。パラメータレジスタ921-2は、システム内の他のデバイスに対してNVMデバイス900の能力を識別可能な値を格納することができる。いくつかの実施形態では、パラメータレジスタ921-2は、NVMデバイスが高速アクセスコマンドを実行可能であることを示すことができる高速アクセスパラメータレジスタ925を含むことができる。他のデバイス(すなわち、ホストおよび/またはメモリコントローラ)は、パラメータレジスタ921-2および/またはデバイスIDレジスタ921-1にアクセスし、NVMデバイス900が高速アクセスコマンドを実行可能であることを決定することができる。
【0083】
安全な領域921-3は、NVMデバイスの外部のデバイスによってアクセス可能ではないかまたは認証プロセスのような安全なアクセス手順を通してのみアクセス可能であるデータ値を格納することができる。DDR I/Fレジスタ921-0、デバイスIDレジスタ921-1、パラメータレジスタ921-2およびシリアルI/Fレジスタ921-4の一部または全部は、安全な領域とすることができる。
【0084】
シリアルI/Fレジスタ921-4は、シリアルI/F906を構成するための値を格納することができる。いくつかの実施形態では、デバイスIDレジスタ921-1、パラメータレジスタ921-2およびシリアルI/Fレジスタ921-4は、DDR I/F904を介してではなくシリアルI/F906を介してアクセス可能である。
【0085】
図10Aは、一実施形態に従うNVMデバイス内に含まれうるDDR I/Fレジスタ1021-1の一例を示す。DDR I/Fレジスタ1021-1は、高速アクセス制御レジスタ1024を含む、DDR I/Fを構成するためのさまざまなレジスタを含むことができる。高速アクセス制御レジスタ1024は、受信コマンド内のクロックサイクルの数、バックトゥバック(back-to-back)アクセス(例えば、tBT)間の任意の遅延、データのためのバースト長などを含むがこれらに限定されない、高速アクセス動作のさまざまな特徴を制御可能な値を格納することができる。
【0086】
図10Bは、一実施形態に従うNVMデバイス内に含まれうるパラメータレジスタ1021-2の一例を示す。パラメータレジスタ1021-2は、標準アクセス互換のレジスタ1025を含む、NVMデバイスのパラメータを示すためのさまざまなレジスタを含むことができる。標準アクセス互換のレジスタ1025は、他のデバイス(例えば、ホストまたはコントローラ)によってアクセス可能であり、NVMデバイスが、本願明細書に記載されている高速アクセスより長いコマンドシーケンスを必要としうる標準アクセスおよび均等物を実行することができることを示す。
【0087】
もちろん、構成またはパラメータレジスタは、NVMデバイスのアーキテクチャに適切な任意の形をとることができる。
【0088】
図10Cは、従来のLPDDR4読み出しコマンド1035のフォーマットを示す図である。従来の読み出しコマンド1035は、CSがハイのとき(かつ第1のクロックサイクルの間)受信される第1の部分1035Hと、CSがローのとき(かつ第2のクロックの間)受信される第2の部分1035Lと、を含むことができる。従来の読み出しコマンド1035は、コマンドデータ(CMD)を格納するビット位置を含むことができる。ビット位置は、第1のクロックサイクルの間、CAバスビットCA0およびCA1に対応する。LPDDR4コマンドシーケンスは、このフォーマットを有する4つのコマンドACT1、ACT2、READおよびCASを含むことができる。
【0089】
図10Dは、一実施形態に従うNVRコマンド1039のフォーマットを示す図である。NVRコマンド1039は、2つのクロックサイクルで受信される6ビットを含む、従来のLPDDR4コマンドと同じフォーマットを有することができる。NVRコマンド1039は、LPDDR4コマンド(例えば、
図10Cの1037)内のコマンドデータを提供するビット位置がNVRコマンドでアドレス情報1041を提供することができるという点で、従来のLPDDR4コマンドと異なることができる。
図10Dは、CA1がアドレスデータを提供することを示すが、他の実施形態では、CA0がアドレスデータを提供することができる(一方、CA1は、コマンドデータを提供する)。本願明細書において強調されるように、高速アクセス動作のためのコマンドシーケンスは、従来のLPDDR4読み出し動作によって必要とされる4つのコマンドとは対照的に、2つまたは3つのNVRコマンドを含むことができる。
【0090】
実施形態は、任意の適切なNVMアレイ構造またはNVMセルタイプを含むことができるが、いくつかの実施形態は、1-トランジスタ(1T)NORタイプのアレイを含むことができる。
図11Aは、一実施形態に含まれうる1T NORアレイ1102Aの概略図である。アレイ1102Aは、行および列に配置される多くのメモリセル(1つが1126-0として示される)を含むことができ、同じ行のメモリセルは、同じワードライン(1つが1126-2として示される)に接続され、同じ列のメモリセルは、同じビットライン(1つが1126-3として示される)に接続されている。いくつかの実施形態では、メモリセル(1126-0)は、単一のトランジスタ構造により形成可能である制御ゲートとチャネルとの間の電荷蓄積構造1126-1を有する。電荷蓄積構造1126-1は、1つまたは複数のビットのデータを電荷として蓄積することができる(電荷の欠如を含む)。電荷蓄積構造1126-1は、フローティングゲート、電荷蓄積誘電体(例えば、リプレイスメントゲート)またはそれらの組み合わせを含むがこれらに限定されない任意の適切な形をとることができる。
【0091】
実施形態は、任意の適切な揮発性アレイ構造または揮発性メモリセルタイプを含むことができる。
図11Bは、実施形態に含まれうる可能な揮発性メモリセルアレイの概略図である。
図11Bは、アレイ1102Bを示し、アレイ1102Bは、行および列に配置され、1つまたは複数のビットライン(例えば、1126-3)およびワードライン(例えば、1126-2)に接続されている多くの揮発性メモリセル(1つが1126-0Vとして示される)を含むことができる。揮発性メモリセル(1126-0V)は、DRAMセル1126-0V1および/またはSRAMセル1126-0V2を含むがこれらに限定されない任意の適切な形をとることができる。SRAMセル1126-0V2は、4-トランジスタ(4T)、6Tおよび/または8Tのバリエーションを含むが、これらに限定されるものではない。
【0092】
いくつかの実施形態では、高速読み出しコマンド(NVR1/NVR2)を用いて、本願明細書において記載されているNVMセルと同じ方法で揮発性メモリセルにアクセスすることができる。いくつかの実施形態では、メモリデバイスは、NVMセルおよび揮発性メモリセルの両方を含むことができ、その両方は、高速読み出しコマンドによってアクセス可能である。他の実施形態では、メモリデバイスは、揮発性メモリセルのみにアクセスする高速アクセスコマンドを受信することができる。
【0093】
実施形態は、ホストデバイスと連動して動作するメモリデバイスを有するシステムを含むことができるが、実施形態は、1つのICパッケージ内に形成されるパラレルI/Fを有するスタンドアロンのNVMデバイスを含むこともできる。この種の実施形態は、
図12に示される。
図12は、パッケージ化されたNVMデバイスを斜視上面
図1200Tおよび底面
図1200Bで示す。NVMデバイス1200T/Bは、多くの物理的接続(例えば、1127)を含むことができ、その全部または一部は、本願明細書において記載されているDDR I/Fに接続可能である。この種のDDR I/Fは、本願明細書に記載されている高速アクセスコマンドおよび均等物を処理することができる。しかしながら、実施形態によるメモリデバイスが、メモリデバイスダイをシステム回路基板上に直接的にボンディングすることを含む他の任意の適切なパッケージタイプを含むことができることを理解されたい。
【0094】
実施形態は、NVMデバイスを含むことができるが、実施形態はまた、NVMデバイスのためのDDR I/Fを通じて高速コマンドおよびアドレス値を生成することができるメモリコントローラを含むこともできる。
図13は、一実施形態に従うメモリコントローラ1330を示す。
【0095】
メモリコントローラ1330は、コマンドキュー1334、書き込みキュー1336、読み出しキュー1338、トランザクション処理回路1340、PHYインタフェース回路1342、LPDDR4 PHY1316およびECC回路1348を含むことができる。コマンドキュー1334、書き込みキュー1336、読み出しキュー1338は、コントローラI/F1332に接続可能であり、コントローラI/F1332は、コントローラ(例えば、ホストプロセッサ)などに接続可能である。コマンドキュー1334は、コントローラI/F1332を通じてメモリ要求を受信し、LPDDR4互換のバス1310に接続されているNVMデバイスにアクセスすることができる。書き込みキュー1336は、LPDDR4 PHY1316を通じてNVMデバイス内にプログラムされるべき書き込みデータを受信することができる。読み出しキュー1338は、LPDDR4 PHY1316を通じてNVMデバイスから受信される読み出しデータを出力することができる。
【0096】
トランザクション処理回路1340は、コマンド符号化回路1344および構成レジスタ1320を含むことができる。コマンド符号化回路1344は、標準符号化1346-0および高速符号化1346-1を含むことができる。標準符号化1346-0は、LPDDR4標準と互換性を有するフォーマットに、メモリ要求を符合化することができる(例えば、4つのコマンドのシーケンスは、8つのクロックを通じて送信される)。高速符号化1346-1は、高速アクセスフォーマット(例えば、1つまたは複数の連続的なNVRコマンドのシーケンス)にメモリ要求を符合化することができる。いくつかの実施形態では、異なるフォーマット(例えば、標準/高速)の間でコマンドを符合化することは、コマンドキュー1334を通じて受信される要求に応答して行うことができる。すなわち、コントローラからの要求は、アクセスが標準または高速フォーマットをとるべきかを示すことができる。追加的または代替的に、コマンドを符合化することは、構成レジスタ1320内に格納される高速符合化レジスタ値1324に従って制御可能である。
【0097】
PHY I/F回路1342は、LPDDR4 PHY1316による適切な信号送信のためのコマンドおよびアドレス値から入力信号を生成することができ、LPDDR4 PHY1316で受信される信号から、データ値を整理することができる。LPDDR4 PHY1316は、LPDDR4バス1310に接続され、高速アクセス動作のためのコマンドアドレス値を送信すること、および、高速アクセスからの読み出しデータを受信することを含む、信号を送信し、データを受信することができる。ECC回路1348は、LPDDR4 PHY1316で受信されるデータ値のエラー検出および修正動作を実行することができる。いくつかの実施形態では、ECC回路1348は、LPDDR4バス1310のDM入力上で受信されるECC値を用いることができる。
【0098】
実施形態はまた、コントローラデバイス(例えば、システムまたはホストCPU)のキャッシュメモリラインを満たすために、NVMデバイスに対する高速アクセス動作を用いることができるシステムを含むことができる。
図14は、この種の一実施形態に従うシステム1450を示す。
【0099】
システム1450は、1つまたは複数のNVMデバイス(2つが1400-0、1400-1として示される)、ホストシステム1443、および、オプションで、ダイナミック・ランダム・アクセス・メモリ(DRAM)デバイス1458を含むことができる。NVMデバイス1400-0/1は、NVMアレイ1402、DDR I/F1404およびシリアルI/F1406を含むことができる。NVMデバイス1400-0/1は、DDR I/F1404を介してDDRバス1410に接続可能であり、シリアルI/F1406を介してシリアルバス1432に接続可能である。NVMデバイス1400-0/1は、本願明細書に記載されている高速アクセス動作または均等物を実行することができる。
【0100】
ホストシステム1443は、DDRメモリコントローラ1430、CPUサブシステム1452およびシリアルバスメモリコントローラ1445を含むことができる。DDRメモリコントローラ1430は、DDRバス1410およびCPUサブシステム1452に接続可能である。CPUサブシステム1452からの要求に応答して、DDRメモリコントローラ1430は、DDRバス1410のCA部分を通じて、本願明細書に記載されているNVRコマンドおよび均等物を含むコマンドシーケンスを生成することができる。CPUサブシステム1452は、1つまたは複数の処理回路1429、処理回路1429によって実行可能な命令1431およびキャッシュメモリ1454を含むことができる。シリアルバスメモリコントローラ1445は、シリアルバス1432に接続可能である。CPUサブシステム1452からの要求に応答して、シリアルバスメモリコントローラ1445は、シリアルコマンドおよびデータを生成し、NVMデバイス1400-0/1を含む、シリアルバス1432上のデバイスにアクセスすることができる。
【0101】
システム1450のさまざまな部分を記載したので、以下、システムのためのキャッシュフィル動作が記載されている。
【0102】
キャッシュメモリ1454は、処理回路1429によってアクセス可能なキャッシュライン(1つが1454-0として示される)に整理可能である。実施形態によれば、DDRメモリコントローラ1430は、2つの高速読み出し動作により1つまたは複数のNVMデバイス1400-0/1にアクセスして、いかなるデータも破棄する必要なく、キャッシュライン(2つが1454-0として示される)を満たすためのデータを取り込むことができる。いくつかの実施形態では、1つまたは2つのNVMデバイス1400-0/1に対する高速読み出しコマンドシーケンスは、キャッシュラインに等しい量の読み出しデータを取り込むことができる。いくつかの実施形態では、各高速読み出しコマンドシーケンスは、2つのコマンドのみのコマンドシーケンスから成る。しかしながら、本願明細書における実施形態から理解されるように、高速コマンドシーケンスは、高速読み出し(すなわち、NVR)コマンドのより少ないかより多い数を含むことができる。
【0103】
いくつかの実施形態において、この種のキャッシュラインフィル動作は、単一のNVMデバイスに対して可能である。例えば、データ経路1433-0を経由して、DDRメモリコントローラ1430は、NVMデバイス1400-0に高速読み出しシーケンスを出し、データ1455aにアクセスすることができる。データ1455aは、バーストシーケンスで出力可能であり、キャッシュラインに等しくすることができる。いくつかの実施形態では、この種のデータバーストは、x32(32ビット幅)とすることができ、8のバースト長を有し、32バイトのキャッシュラインを満たすことができる。
【0104】
いくつかの実施形態では、高速読み出しシーケンスは、パイプライン転送が可能である(例えば、間の遅延なしで出されるか、または、間に他の介在するコマンドまたは動作がない)。単なる一例として、パイプライン転送動作では、データ1455aおよび1455bは、いかなるデータも破棄する必要なく、2つのキャッシュライン1454-0を満たすために、次々に出力可能である。いくつかの実施形態では、データ1455aは、NVMデバイス1400-0の1つのバンク内に格納可能であり、データ1455bは、NVMデバイス1400-0の他のバンク内に格納可能である。
【0105】
いくつかの実施形態において、キャッシュラインフィル動作は、異なるNVMデバイスに対して可能である。例えば、DDRメモリコントローラ1430は、NVMデバイス1400-0およびNVMデバイス1400-1の両方に高速読み出しシーケンスを出すことができる。高速読み出しシーケンスは、データ1455aおよびデータ1455b’にアクセスすることができる。データ1455aおよびデータ1455b’は、キャッシュラインのサイズに等しくなることができる。いくつかの実施形態では、NVMデバイス1400-0および1400-1は、各々、8のx16データバーストを並列に提供し、32バイトのキャッシュラインを満たすことができる。複数のデバイスに対する高速読み出し動作は、パイプライン転送され、各々がキャッシュラインを満たす順次データセットを出力することができる。
【0106】
いくつかの実施形態では、キャッシュフィル動作は、DRAMデバイス1458に対して可能である。DRAMデバイス1458は、高速読み出しコマンドの実行と互換性を有する(または互換性を有するようにプログラム可能な)DDRインタフェース1404’を含むことができる。
【0107】
図14を依然として参照すると、いくつかの実施形態では、CPUサブシステム1452は、パラメータ要求手順1431-0および高速アクセス構成手順1431-1のいずれかを含むことができる。パラメータ要求手順1431-0は、NVMデバイス1400-0/1から、この種のデバイスが高速アクセス動作と互換性を有するかを識別することができるパラメータデータを要求することができる。高速アクセス構成手順1431-1は、データ値を書き込み、高速アクセス動作のためのDDRメモリコントローラ1430を構成することができる。
【0108】
いくつかの実施形態では、DRAMデバイス1458は、上述したように、高速アクセスコマンドと互換性を有するDDRインタフェース1404’を有することができる。他の実施形態では、DRAM DDR I/F1404’は、高速アクセスコマンドと互換性を有さなくてもよい。
【0109】
図15を参照すると、一実施形態に従う自動車1566システムが図示される。自動車システム1566は、1つまたは複数のNVMデバイスと通信するホストデバイス(例えば、CPUサブシステム)により動作する多数のサブシステム(2つが1550-0および1550-1として示される)を有することができる。この種のサブシステム(1550-0、1550-1)は、電子制御ユニット(ECU)および/または先進運転支援システム(ADAS)を含むことができる。しかしながら、他の実施形態では、この種のサブシステムは、多数の可能な例のうちのわずか2つとして、ダッシュボードディスプレイ/制御サブシステムおよび/または情報エンターテイメントサブシステムを含むことができる。各サブシステム(1550-0、1550-1)は、本願明細書において記載されている、データを高速に取り込むための高速アクセスコマンドおよび均等物によりNVMデバイスにアクセスすることができるホストデバイスを含むことができる。いくつかの実施形態では、この種のアクセスは、高速のキャッシュラインフィルのためとすることができる。いくつかの実施形態では、ホストデバイスは、NVMデバイスから直接コードを実行する(すなわち、適所で実行する)ように構成可能である。これは、ホストデバイスによるアクセスのために、従来のNVMデバイスから揮発性メモリ(例えば、SRAM)内にデータ(例えば、コード)をロードすることができる従来のシステムと著しく対照的である。
【0110】
記載のデバイスおよびシステムは、実施形態に従うさまざまな方法を開示するが、追加の方法は、フロー図を参照して記載されている。
図16は、一実施形態に従うNVMデバイスによって高速アクセスコマンドを実行する方法1670のフロー図である。
【0111】
方法1670は、コマンドを受信すること(1670-0)を含むことができる。この種のアクションは、NVMデバイスのコマンドアドレス(CA)入力からコマンドを受信することを含むことができる。方法1670は、受信コマンドがNVRコマンドであるかを決定することができる(1670-2)。この種のアクションは、コマンドの特定のビット位置がNVRコマンドとしてコマンドを識別するかを決定することを含むことができる。コマンドがNVRコマンドでない場合(1670-2でN)、方法1670は、所定のサイズのセットとしてコマンドを処理することができる(1670-14)。この種のアクションは、可変サイズのNVRシーケンスよりもむしろ、あたかもそれらが4つのコマンドのセットであるかのように、処理コマンドを含むことができる。
【0112】
受信コマンドがNVRコマンドであると決定される場合(1760-2でY)、方法1670は、次のコマンドが受信されたかを決定することができる(1670-6)。この種のアクションは、以前に受信したコマンドに対して実質的に遅延を有さずに、コマンドを受信することを含むことができる。次のコマンドが受信されない場合(1670-6でN)、NVRシーケンスは終了することができる(1670-12)。このようにして、1つまたは複数のNVRコマンドのNVRコマンドシーケンスを決定することができる。
【0113】
次のコマンドが受信される場合(1670-6でY)、方法1670は、次のコマンドがNVRコマンドであるかを決定することができる(1670-8)。次のコマンドがNVRコマンドである場合(1670-8でY)、方法1670は、1670-4まで戻ることができ、次のNVRコマンドをNVRシーケンスに追加することができる。次のコマンドがNVRコマンドでない場合(1670-8でN)、NVRシーケンスは終了することができ(1670-10)、NVRコマンドではないコマンドは、所定のセットとして処理可能である(1670-14)。
【0114】
NVRコマンドシーケンスが終了するとき(1670-10または1670-12)、方法1670は、NVRシーケンスのアドレスデータによりメモリデバイス位置にアクセスすることができる(1670-16)。
【0115】
図17は、一実施形態に従う他の方法1770のフロー図である。方法1770は、メモリコントローラなどによって実行され、NVMデバイス内に格納されるデータにアクセスすることができる。方法1770は、NVMデバイスからパラメータ値を要求すること(1770-0)を含むことができる。この種のアクションは、NVMデバイスの記憶場所(例えば、パラメータレジスタ)からパラメータ値を読み出すことを含むことができる。いくつかの実施形態において、この種の要求は、NVMデバイスのDDR I/Fを通じて発生することができる。しかしながら、他の実施形態では、この種の要求は、NVMデバイスのシリアルI/Fを通じて発生することができる。
【0116】
方法1770は、受信パラメータデータが、NVMデバイスが高速アクセス動作を実行可能であることを示すかを決定することができる(1770-2)。この種のアクションは、NVMデバイスから読み出された構成値の1つまたは複数のビットが、所定の値を有すると決定することを含むことができる。
【0117】
パラメータ値が、NVMデバイスが高速アクセスを実行することができることを示す場合(1770-2でY)、方法1770は、アクセスされるべきNVMデバイスのサイズに従ってNVRシーケンスサイズを構成することができる(1770-4)。例えば、いくつかのNVMデバイスのために、2つのNVRコマンドは、十分なアドレスビットを有し、すべてのアドレス位置にアクセスしてもよい。しかしながら、より大きいデバイスのために、より多くのアドレスビットを提供するために、追加のNVRコマンドを含んでもよい。方法1770は、NVMデバイスにアクセスするための要求を受信すること(1770-6)をさらに含むことができる。この種の要求は、メモリコントローラによってCPUサブシステム(例えば、ホスト)などから受信可能である。要求に応答して、方法1770は、構成されたサイズのNVRシーケンスを出力することができる(1770-8)。この種のアクションは、DDRバス、例えば、LPDDR4互換のバスのCA部分上でNVRコマンドのシーケンスを出力することを含むことができる。方法1770は、読み出しデータ値のDDRバーストでNVRシーケンスに対応するデータを受信すること(1770-10)を含むことができる。この種のアクションは、ECCデータを有するデータを受信することを含むことができる。さらに、いくつかの実施形態において、8のバーストで受信されるデータは、システムのためのキャッシュラインのサイズまたはキャッシュラインサイズの整数の分数(例えば、1/2、1/4)に一致することができる。いくつかの実施形態では、読み出しデータ値のDDRバーストは、8以下とすることができる。しかしながら、他の実施形態は、より大きいサイズのバーストを含むことができる。
【0118】
パラメータ値が、NVMデバイスが高速アクセスを実行することができないことを示す場合(1770-2でN)、方法1770は、NVMデバイスにアクセスするための要求を受信すること(1770-12)を含むことができる。しかしながら、この種の要求に応答して、方法1770は、4つ以上のコマンドの読み出しシーケンスを出力することができる(1770-14)。さらに、データは、データ値のDDRバーストで受信可能である(1770-16)。いくつかの実施形態では、この種のデータ値は、8より大きいバースト、例えば16または32のバーストとすることができる。
【0119】
図18は、他の実施形態に従う他の方法1870のフロー図である。方法1870は、1つまたは複数のNVMデバイスから直接に読み出されたデータでキャッシュメモリのキャッシュラインを満たすように、システムによって実行可能である。方法1870は、ホストデバイスまたはメモリコントローラ1830が、Xバイトのサイズを有するキャッシュラインを有するキャッシュのためのキャッシュフィル要求を受信すること(1870-2)を含むことができる。この種のアクションは、ホストデバイスがメモリコントローラに読み出し要求を出すことを含むことができる。値Xは、1より大きい数であると理解される。いくつかの実施形態では、Xは、4より大きい偶数とすることができる。方法1870は、キャッシュフィル要求のキャッシュライン毎に、NVRコマンドシーケンスを出すこと(1870-4)を含むことができる。この種のアクションは、データバスと別のコマンドアドレスバス上でこの種のコマンドシーケンスを出すことを含むことができる。いくつかの実施形態では、この種のコマンドアドレスバスは、6ビット以下の幅を有することができる。
【0120】
方法1870は、NVRシーケンス毎に、DDRバーストでXバイトのデータを出力すること(1870-6)を含むことができる。この種のアクションは、DDRバス上で1より多いNVMデバイスからデータを出力することを含むことができる。いくつかの実施形態では、この種のアクションは、同じコマンドアドレス値に応答して、2つの異なるNVMデバイスからデータを出力することを含むことができる。いくつかの実施形態では、この種のDDRバーストは、8のバースト長を有することができる。しかしながら、他の実施形態では、DDRバーストは、より大きいサイズ、例えば、16または32とすることができる。
【0121】
方法1870は、1つまたは複数のNVMデバイスから受信されるXバイトのデータでキャッシュラインを満たすことができる(1870-8)。この種のアクションは、NVMデバイスから受信されるいかなる読み出しデータも破棄することなく、キャッシュラインを満たすことを含むことができる。
【0122】
実施形態によれば、NVMデバイスは、より高い温度システムのために高速アクセスを提供することができる。この種のNVMデバイスは、揮発性メモリ、例えば、SRAMまたはDRAMの必要を省略することができる。これは、よりコンパクトなシステムおよび/または減少したシステム費用を可能にすることができる。
【0123】
実施形態によれば、NVMデバイスは、8つのクロックサイクルと対照的に、4つのクロックサイクルを通じて高速アクセス要求を使用可能にすることによって、より小さいデータ転送のためにCAバスのより効率的な使用を提供することができる。さらに、より小さいデータ転送は、より効率的なキャッシュフィルを可能にすることができる。多くの可能な例のうちの1つとして、
図5および
図19に示すように、38.75nsのDRAMデバイスレイテンシと対照的に、x32構成では、NVMデバイスは、(800MHzのクロックで)28.75nsのキャッシュラインフィルレイテンシを有することができる。さらに、DRAMアクセスは、結局データを破棄することになりうる。この種の能力は、(データの破棄を伴う)10ns毎と対照的に、(800MHzのクロックで)5ns毎に新規なキャッシュラインフィルを可能にすることができる。
【0124】
この明細書全体にわたって、「一実施形態」または「実施形態」に対する参照は、その実施形態に関連して記載されている特定の特徴、構造または特性が、本発明の少なくとも1つの実施形態に含まれることを意味するということを理解されたい。それゆえ、この明細書のさまざまな部分における「実施形態」または「一実施形態」または「代替実施形態」の2つ以上の参照が、必ずしもすべて同じ実施形態を参照しているわけではないことを強調し、認識すべきである。さらに、特定の特徴、構造または特性は、本発明の1つまたは複数の実施形態において適切に組み合わせられてもよい。
【0125】
同様に、上述した本発明の例示的な実施形態において、本発明のさまざまな特徴がさまざまな発明の態様の1つまたは複数を理解するのを支援する開示を合理化するために、時には単一の実施形態、図面またはその説明において一緒にグループ化されることを理解されたい。しかしながら、開示のこの方法は、請求項が各請求項において明示的に詳述されるものより多くの特徴を必要とするという意図を表すこととして解釈されるべきではない。むしろ、発明の態様は、単一の上述した開示の実施形態のすべての特徴より少ない。したがって、詳細な説明に続く請求項は、この詳細な説明に明示的に組み込まれ、各請求項は、本発明の別々の実施形態として単独で成立する。
【国際調査報告】