JP5613103B2 - 1つのインターフェースを有するハイブリッド・メモリ・デバイス - Google Patents

1つのインターフェースを有するハイブリッド・メモリ・デバイス Download PDF

Info

Publication number
JP5613103B2
JP5613103B2 JP2011111408A JP2011111408A JP5613103B2 JP 5613103 B2 JP5613103 B2 JP 5613103B2 JP 2011111408 A JP2011111408 A JP 2011111408A JP 2011111408 A JP2011111408 A JP 2011111408A JP 5613103 B2 JP5613103 B2 JP 5613103B2
Authority
JP
Japan
Prior art keywords
memory
volatile memory
data
controller
flash
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.)
Active
Application number
JP2011111408A
Other languages
English (en)
Other versions
JP2011181098A (ja
Inventor
パナベーカー,ラストン
クリージー,ジャック
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Corp
Original Assignee
Microsoft Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of JP2011181098A publication Critical patent/JP2011181098A/ja
Application granted granted Critical
Publication of JP5613103B2 publication Critical patent/JP5613103B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • G06F12/0638Combination of memories, e.g. ROM and RAM such as to permit replacement or supplementing of words in one module by words in another module
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • G11C8/12Group selection circuits, e.g. for memory block selection, chip selection, array selection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/20Employing a main memory using a specific memory technology
    • G06F2212/202Non-volatile memory
    • G06F2212/2022Flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/20Employing a main memory using a specific memory technology
    • G06F2212/205Hybrid memory, e.g. using both volatile and non-volatile memory
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/005Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor comprising combined but independently operative RAM-ROM, RAM-PROM, RAM-EPROM cells
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2207/00Indexing scheme relating to arrangements for writing information into, or reading information out from, a digital store
    • G11C2207/10Aspects relating to interfaces of memory device to external buses
    • G11C2207/104Embedded memory devices, e.g. memories with a processing device on the same die or ASIC memory designs

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Memory System (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Read Only Memory (AREA)
  • Dram (AREA)

Description

種々の既存の計算機および新しい計算機は、高速揮発性メモリ(例えば、ダイナミック・ランダム・アクセス・メモリ、即ち、DRAM)を利用して、動作命令やデータを保持する。このようなデバイスは、移動体電話機、テレビジョン・セット・トップ・ボックス、パーソナル・コンピュータのメモリ等を含む。また、計算機は、アプリケーションやデータを格納するために、大量の比較的安価な不揮発性NANDフラッシュ・メモリも増々含みつつある。
しかしながら、多くの既存のDRAM主体計算機は、NANDフラッシュ・メモリをサポートするためのしかるべきバス・インターフェースがない設計となっており、NANDフラッシュ・メモリをサポートするには、デバイス・チップセットの設計しなおしが必要となるが、これにはコストも時間もかかる。同様に、殆どのNANDフラッシュ主体デバイスも単純にDRAMを追加することができない。例えば、DRAM主体デバイスであったものを最新式モデルにして、フラッシュ・メモリを組み込むには、デバイスの物理的アーキテクチャに多大な変更が必要となり、その逆も言える。
揮発性および不揮発性メモリを組み合わせると、多くの状況において便益が得られるが、多くの場合、デバイス・チップセットを設計し直す費用がベンダにとってはかかり過ぎであり、危険が大きいために、ベンダは、本来ならば揮発性および不揮発性メモリをデバイスの中に有することによって可能になるはずの新たな特徴やビジネス・モデルを放棄しているのである。更に、既存のアーキテクチャ・モデルを用い、例えば、既存のDRAM主体デバイスをNANDフラッシュ・メモリによって最新にする単純な方法などなく、例えば、回路ボード全体を設計しなおして交換する必要があり、単純に既存のデバイスにメモリを追加したり、その中にあるメモリを変更する(そして適宜ソフトウェアを更新する)という訳にはいかない。更に、不揮発性およびDRAM主体メモリの間には、バス速度に大きな差がある。
この摘要は、以下に詳細な説明において更に説明する代表的概念から選択して、簡略化した形態で紹介するために設けられている。この摘要は、特許請求する主題の鍵となる特徴または必須の特徴を特定することを意図するのではなく、特許請求する主題の範囲を限定するようないずれの方法でも用いられることも意図していない。
端的に言うと、ここに記載する主題の種々の形態は、第1タイプのメモリ(例えば、揮発性DRAMタイプ・メモリ)と、第1タイプのメモリに対応するインターフェースと、第2タイプのメモリ(例えば、不揮発性フラッシュ・タイプ・メモリ)とを含む、ハイブリッド・メモリ・デバイスを対象とする。メモリ・デバイスは、インターフェース、第1タイプのメモリ、および第2タイプのメモリに結合されているコントローラを含む。インターフェースにおいて受信したコマンドおよび/またはメモリ・アドレスのような情報に基づいて、コントローラは、I/O要求(例えば、リードまたはライト)のようなコマンドが、第1タイプのメモリまたは第2タイプのメモリのどちらに向けられているのか判定を行う。
つまり、ハイブリッド・メモリ・デバイスのコントローラにおいてコマンド、アドレス、およびデータを受信することにより、1つのタイプのメモリに合わせて定めた1つのインターフェースを通じて、ソフトウェア(例えば、デバイスのファームウェアまたはプログラム)は異なるタイプのメモリにアクセスすることができる。コントローラは、第1タイプのメモリのインターフェース上で受信したコマンド/アドレスが、メモリ・デバイスと関連した第2タイプのメモリに向けられているのか否か判定を行い、そうであれば、少なくとも1つのコマンドを第2タイプのメモリに伝達するため、および/または第2タイプのメモリ上で少なくとも1つのデータ入力/出力(I/O)動作を実行するために、第2タイプのメモリに信号を出力する。
その他の利点は図面と合わせて以下の詳細な説明を検討することから明白となろう。
添付図面において、限定ではなく一例として、本発明を例示する。図面においては、同様の参照番号は同様の要素を示すこととする。
本発明の種々の形態を組み込むことができる計算機の代表例を示す。 コントローラと、メモリ・タイプの一方に合わせて定めた1つのインターフェースによって各々アクセスすることができる2タイプのメモリとを含む、ハイブリッド・メモリ・デバイスの一例の図である。 SDRAM、およびSDRAMアクセス可能空間における指定メモリ・ブロックを通じてアクセスするフラッシュ・メモリとのSDRAMインターフェースを有するハイブリッド・メモリ・デバイスの一例の図である。 SDRAM、およびSDRAMアクセス可能空間における複数の指定メモリ・ブロックを通じてアクセスするおよびフラッシュ・メモリとのSDRAMインターフェースを有するハイブリッド・メモリ・デバイスの一例の図である。 第2タイプのメモリとデータおよびコマンドを通信筒真するために用いられるセクションを有する、第1タイプのメモリに対応するアクセス可能メモリ空間の図である。 ハイブリッド・メモリ・デバイスに組み込むことができる1つの適したタイプのSDRAMデバイスの一例の図である。 図5のデバイスのようなSDRAMおよびフラッシュ・デバイスを内蔵したSDRAMインターフェースを有するハイブリッド・メモリ・デバイスの一例の図である。 SDRAMデバイスおよびフラッシュ・デバイスを制御するためのタイミング図の一例を示す。 バースト・データ出力に合わせて構成されたSDRAMに、コントローラがどのようにフラッシュ・データを出力することができるかに対応するステップ例の図である。 フラッシュのDRAM主体(SDRAMを含む)パーソナル・コンピュータのメモリに追加するために、どのようにフラッシュをデュアル・インライン・メモリ・モジュール(DIMMM)に追加すればよいかの図である。
動作環境の一例
図1は、計算機188の適した機能コンポーネントの一部の例を示し、ハンドヘルド/ポケット・サイズ/タブレット型パーソナル・ディジタル・アシスタント、機器、移動体電話機等において見ることができ、プロセッサ189、メモリ190、ディスプレイ192、およびキーボード193(実体または仮想キーボードでもよい)を含む。メモリ190は、一般に、揮発性メモリ(例えば、RAM)および不揮発性メモリ(例えば、ROM、PCMCIAカード等)の双方を含む。更に、以下で説明するが、例示のメモリ190は、ハイブリッド・メモリ・デバイス(1つ以上のチップに対応する)を含む。ハイブリッド・メモリ・デバイスは、フラッシュおよびDRAMまたはフラッシュおよびSDRAM(同期DRAM)というように、1つよりも多いタイプのメモリを内蔵し、一方のタイプが他方のタイプのインターフェースを共有する。Microsoft(登録商標)Windows(登録商標)系オペレーティング・システムまたはその他のオペレーティング・システムのような、オペレーティング・システム193が、メモリ190内に常駐することができ、プロセッサ189上で実行する。
1つ以上のアプリケーション・プログラム194およびデータ195がメモリ190の中にあってもよく、プログラム194はオペレーティング・システム193上で走る。アプリケーションの例には、電子メール・プログラム、スケジューリング・プログラム、PIM(個人情報管理)プログラム、ワープロ・プログラム、表計算プログラム、インターネット・ブラウザ・プログラム等が含まれる。また、計算機188は、メモリ190にロードしプロセッサ189上で実行する通知管理部のような、他のコンポーネント196も含むことができる。例えば、通知管理部は、例えば、アプリケーション・プログラム195からの通知要求を処理することができる。
計算機188は、例えば、1つ以上のバッテリまたは光給電システム(light-powered system)として実施される、電源197を有する。電源197は、更に、ACアダプタまたは給電ドッキング・クレードルのような、内蔵バッテリを無効にするまたは再充電する外部電源も含むことができる。
図1に表す一例の計算機188は、3つのタイプの外部デバイス例と共に示されており、これらはディスプレイ192、その他の出力メカニズム198(例えば、1つ以上の発光ダイオード、即ち、LED)、ならびに例えば、一体化スピーカおよび/またはオーディオ・ジャックに結合されるオーディオ発生器199を含む。これらの出力デバイスの1つ以上は直接電源197に結合することができるので、活性化すると、バッテリ電力を保存するためにプロセッサ189およびその他のコンポーネントを停止しても、通知機構が指令する期間はオンのまま留まる。例えば、LEDは、ユーザが行動を起こすまでは、オンのまま留まることができる(何らかの電力が得られる限り)。その他は、システムの残りがオフになったとき、または活性化後のある有限期間でオフになるように構成するとよい。
1つのインターフェースを有するハイブリッド・メモリ・デバイス
ここに記載する技術の種々の形態は、総合的に、計算機の既存の物理的アーキテクチャに変更を加える必要なく、当該計算機において比較的大量の揮発性および不揮発性メモリを有することに対して、計算機(例えば、デバイス188)のメモリを拡張することを対象とする。一般に、この中の説明では、SDRAMおよびNANDフラッシュを内蔵するハイブリッド・メモリ(例えば、1つ以上のチップを備えている)を追加または交換することによって、NANDフラッシュ・メモリをSDRAM主体デバイスに組み込む例をあげる。ハイブリッド・メモリ・デバイスは、従来のSDRAMコンポーネントと同じインターフェース(ピンアウト、電圧プロトコル、およびアクセス・プロトコルを含む)を有する。しかしながら、言うまでもないことであるが、これらの形態および概念は、任意の1つ以上のタイプの揮発性および/または不揮発性メモリに適用され、例えば、種々のタイプのDRAM(例えば、EDO)を、SDRAM、DRAMの代わりに用いることができ、あるいはSDRAMを逆にフラッシュ主体デバイスに組み込むこともでき、NOR主体フラッシュ・メモリをSDRAMおよび/またはNAND主体フラッシュ、スタティックRAM(SRAM)と混合することもでき、あるいは他のタイプのRAMが前述のタイプのメモリの1つであってもよく、更に多くの揮発性メモリを、既存の揮発性メモリ・デバイスの代わりに追加することができ、更に多くの不揮発性メモリを、既存の不揮発性メモリ・デバイスの代わりに追加することができる等である。尚、異なるメモリ・タイプを(所与の設計に合わせて元のメモリ・タイプに通常対応するインターフェースを有する)ハイブリッド・メモリ・デバイスに組み込む際、通例、メモリ全体をデバイスに追加するが、必ずしも元のメモリ・タイプの量および/またはメモリ量全体が増大しなくてもよい(そして、設計者が望むのであれば、減少する可能性がある)ことを記しておく。
更に、言うまでもないであろうが、ここに記載する概念は、従来の計算機(例えば、デスクトップ、ノートブック、ラップトップ、またはタブレット型コンピュータ・システム、パーソナル・ディジタル・アシスタント、ポケット・サイズ・パーソナル・コンピュータ等)と見なされるものに限定されるのではなく、逆に、揮発性または不揮発性メモリにデータを格納する必要性があるデバイスであればいずれにでも用いてもよく、移動体電話機、セット・トップ・ボックス、ハイブリッド・ハード・ディスク、テレビジョン受像機、リモート・コントローラ、オーディオビジュアル・デバイス、電気器具、家電製品等が含まれる。これらのデバイスの各々は、不揮発性メモリを揮発性メモリ設計に追加すること、またはその逆、あるいはコストがかかり危険が多いハードディスクの設計し直しをせずに、メモリを増大することができる。このように、例えば、移動体電話機のような、揮発性メモリを有するデバイスは、単にメモリ・チップ(または複数のメモリ・チップ)を置き換え、不揮発性ストレージで動作するようにファームウェアの一部を更新することにより、今やその内部に大量の不揮発性ストレージを含み、プログラム、音楽、画像等を格納することが可能となる。これについては、以下で説明する。
このように、本発明は、ここに記載する例、構造、機能のいずれにも限定されない。逆に、ここに記載する例、構造、または機能のいずれもが非限定的であり、本発明は、計算およびデータ・ストレージ一般において便益や利点を提供する種々の方法で用いることができる。
図面の図2に移ると、揮発性メモリ204(例えば、SDRAM)および不揮発性メモリ206(例えば、NANDフラッシュ)を含むハイブリッド・メモリ・デバイス202デバイスの総合的な概念の一例が示されている。コントローラ208は、例えば、ファームウェア/ソフトウェアにおいて発生しCPUを通じてアドレスされるアドレスおよびコマンドに基づいて、アクセスすべきメモリ204または206を決定するロジックを内蔵する。
図2に示すように、コントローラ208は、1つ以上のバッファを備えているバッファ・セット210を含むか、またそうでなければこれと関連付けることができる。バッファ・セット210は、一実現例では、速度一致プロセスに用いられる。例えば、現在では、SDRAMはフラッシュよりも遥かに速く、したがって外部コンポーネットにはSDRAMデバイスのように見えるインターフェースを有するハイブリッド・メモリ・チップは、データをバッファ・セット210(例えば、SDRAM、DRAM、またはSRAM)にバッファして、速度やバースト・モード要件を含むその他の要件に関して、SDRAMプロトコルに準拠する必要がある。つまり、バッファ・セット210は、通例、SDRAMまたはスタティックRAM(SRAM)のようなメモリを備えているが、少なくとも所与のSDRAMチップおよびそのプロトコルが要求する速度でなければならず、そうでなければ、ハイブリッド・デバイスはときとして外部コンポーネントには粗悪なメモリであるように見える。尚、ハイブリッド・メモリ・デバイスが高速メモリ(例えば、SDRAM)をそれよりも遅い(例えば、フラッシュ)インターフェースに追加する場合、必ずしもこのようなバッファは必要でないことを記しておく。
図3Aは、1つのハイブリッド・メモリ・デバイス302Aが概略的にどのように動作するかの概念の一例を示し、ここでは、フラッシュ・メモリ306がある数のブロック(例えば、ブロックF−1からF−nまで)として配列されており、SDRAMインターフェースを通じてアクセスされる。また、ハイブリッド・メモリ・デバイス302Aは、SDRAMデバイス304も含む。以下で説明するが、1つのオンチップ・コントローラ308A(例えば、図2のコントローラ208に対応する)が、CPU389において発生した現在のアドレスに関して、SDRAM304またはフラッシュのどのセクションにアクセスするか決定する。一般に、コントローラ308Aは、コマンド、データ、およびアドレスをCPU389から受信する。これらは、従来のSDRAMプロトコルにしたがって出力される。尚、CPUはハイブリッド・チップ上にある異なるタイプのメモリについて何も知る必要はなく、その既存のSDRAM主体バス上で通常通りに動作することを記しておく。
図3Aにおいて、コントローラ308は、そのインターフェースの一部であるハイブリッド・デバイスのSDRAMアドレス線に送られるアドレスを検出することができるロジックを含む。アドレス可能なアドレス範囲におけるアドレスの一部は、SDRAMに対応し、これらのアドレスについては、コントローラ308Aは、アドレス、コマンド、およびデータをSDRAMデバイス304に処理させる(例えば、同等の0および1を転送する、またはデバイスが1および0を見ることを禁止しない(disable))。その結果、これらのアドレスに対して、ハイブリッド・デバイスは従来のSDRAMデバイスのように作用する。
アドレス可能範囲におけるある種のアドレスは、しかしながら、(通例、指定ブロック320と呼ばれる連続範囲を含む)コントローラ308には、フラッシュと関連があることが分かっており、本質的にフラッシュ・メモリ306へのウィンドウとして作用する。例えば、指定ブロックは、1つのタイプのフラッシュ・デバイスではフラッシュ・ブロック・サイズ、例えば、128KBに対応するとよい。指定ブロック320内にあるアドレスを転送する場合、コントローラ308によってSDRAMデバイス304を(実際にまたは事実上)ディスエーブルする。代わりに、コントローラ308は、コマンドをフラッシュ・メモリ・デバイス306に送り、フラッシュ・メモリ・デバイス306へのリードおよびライト・データの流れを制御する。設計に応じて、コントローラ308は、デバイス304のしかるべきデバイス入力線(例えば、チップ・イネーブル)をディスエーブルに変化させることによって、受信したアドレスをデバイス304に転送しないことによって、および/またはアドレスを転送するが(例えば、リフレッシュのために必要な場合)データライトを許可せず、あるいはどのデータもリードのために返送しないことによって、SDRAMコンポーネント304をディスエーブルすることができる。
尚、フラッシュ306の量は、指定ブロック320のサイズに限定されるのではなく、むしろ、複数のフラッシュ・ブロック(または、フラッシュ・メモリのその他の配列)があり、フラッシュ306全体の内どの部分(例えば、ブロック)にアクセスするのかを識別する追加のマッピング情報に応じて、コントローラ308が各ブロックなどをアクセスするようにしてもよいことを記しておく。この追加のマッピング情報は、コントローラ308に分かっている他のメモリ位置、例えば、アドレス可能なメモリの上位端部(high end)に書き込んでもよい(または、恐らくは、指定ブロックの補追として)。ファームウェア330は、既に本質的に全ての計算機上にあるが、CPU389を通じて適したプロトコルに応じてこの情報を読み取るまたは書き込むために更新することもでき、(ファームウェア330からCPU389を通じてコントローラ308Aまでの破線によって図3Aに示す通り。このように、コマンド、データ、およびステータス情報332をデバイス・ファームウェア330(および/またはその他の要求コード、以下簡略にするためにファームウェア330と呼ぶ)とハイブリッド・メモリ・デバイス302Aとの間で伝達することができる。
図3Bは、図3Aと同様の概念の図であるが、図3Bでは、代わりのコントローラ308Bが、複数のフラッシュ・ブロック(例えば、現在では図3Bにおけるフラッシュ・ブロックA1およびフラッシュ・ブロックB0)に別個にマップされている複数のウィンドウ320Aおよび320Bに対応する、複数のバッファ310−1および310−2を有することを除く。容易に認めることができるであろうが、図3Bには、フラッシュ・メモリ・デバイスに対するこのような2つのみの並列な(したがって、通例では、高速化した)アクセスが示されているが、実用的な数であればいずれでも用いることができる。
コントローラがどのように1つのウィンドウ(図3A)または複数のウィンドウ(図3B)をフラッシュの1つまたは複数の正しいセクションにマッピングするのかの一例として、図4は、従来のSDRAMデバイスの範囲に対応するアドレス範囲440を、線形に表して示す。この例では、SDRAMデバイスは4Mワード×16ビットである。簡略化のために、マッピングについては、図3Aの1つの指定ブロック320に関して説明するが、別個のマッピングも本質的に同様に行うことができることも容易に理解できよう。
図4の例では、SDRAMアドレス空間に対応する最後の2ブロックが、コントローラ308およびファームウェア330によって、フラッシュ・メモリ・デバイス306へのコマンド・チャネル444およびデータ・チャネル442として用いられる。これらのブロック442および444におけるマッピングおよびその他の情報332(図3)は、コントローラ308が理解するいずれかの適したプロトコルおよびその追加情報(例えば、ファームウェア・コード330)のソースを通じて、コントローラ308によってリードおよびライトを行うことができる。つまり、コントローラ308において追加情報332(または図3Bにおける333)、例えば、最後の2つの1キロバイト・ワード・ブロックにアクセスすることにより、フラッシュ・デバイス306と通信するコマンドおよびデータ経路が確立される。他の情報も、これらの空間にあってもよい。例えば、デバイス・ファームウェア330は、ブートストラップ・プロトコルを採用するためにメモリのこのセクションを用いることができ、これによって、ファームウェア330は、メモリ・デバイスが本当にハイブリッド・デバイスであるか否か判定することができる。これは、一般に、図3のハイブリッド・メモリ・デバイス302Aは、他の方法では従来のSDRAMデバイスから区別できないからである。その他に、これらのブロックを通じて伝達される可能性があるデータは、例えば、コントローラ308Aに、アドレス可能メモリ内部において指定ブロック320(または図3Bでは複数のブロック)がどこに位置するか知らせることができる。例えば、このように、指定ブロックは、望ましければ動的な場合も含めて、移動することができる。
ハイブリッド・メモリ・デバイスの一例の動作の説明に移ると、1つの適したコマンド・プロトコルは、フラッシュ・デバイスのアドレス・ブロックおよびコマンド情報(例えば、図3Aにおける332)を転送するために用いられるシリアル・プロトコルを備えている。尚、コントローラ308Aはコマンドおよびアドレス情報の変換を責務とするので、プロトコルは、異なるタイプのフラッシュ・デバイスにアクセスするように構成可能であり、例えば、1つのタイプのNANDデバイスはNOR SRAMインターフェースを用い、これによって制御ロジックはデータのブロックにアクセスし、次いでSDRAMデータ配信プロトコルに合うようにデータのブロックをシリアル化する。フラッシュ306へのライト・データも同様に、フラッシュ・プロトコルの要求に応じて、コントローラ308Aによって変換する。例えば、一度にこのようなフラッシュ・デバイスに2KBが書き込まれる。
容易に認めることができようが、SDRAMは現在フラッシュよりも1桁以上速いので、プロトコルは、コントローラ308Aが、フラッシュ・リードまたはライト要求がビジーであるとき、および要求が準備できたときをファームウェア330に通知する方法を含む。ロケーション332におけるステータス・レジスタを用いることもできる。例えば、ファームウェア330は、リードまたはライト・コマンドをコマンド・ブロック332を通じて送り、このコマンドの一部であるビットとするとよいステータスを、フラッシュ要求を受信したときにコントローラによって0にセットして、ビジーであることを示す。尚、コントローラ308Aは、リード要求上において、コントローラ308Aが、指定ブロックが既に現在のマッピングについての正しいデータを収容していることを知っているのであれば、ステータスをビジーに変化させなくてもよいことを記しておく。
典型的な状況では、コントローラ308Aは、ステータスをビジーにセットし、そしてリードに対しては、バッファ310に要求されたデータを充填し始める。バッファが正しいデータを収容すると、(後続のリード要求を予期して、要求を上回るのであってもよい)、コントローラ308Aはステータスをレディーに切り換える。ファームウェア330は、要求を送って以来ステータスをポーリングしており、要求データを読めることを知る。次いで、コントローラ308Aはデータをバッファ310から出力する。例えば、SDRAMプロトコルによれば、コントローラは、1つの出力が要求されたときは、要求されたアドレスに対して1つのデータ集合(例えば、バイト)を出力するか、またはそのアドレスから開始する複数のデータ集合のバースト出力を適時に出力する。出力される集合の数は、現在のバースト・モードに対応する。尚、現バースト・モードは、ハードワイヤ設定によって確立することができ、バースト・モードがソフト制御されていることを示す設定を含む。いずれにしても、SDRAM等価設定線および/またはコマンド(ソフト制御バーストに対する)によって、モードをコントローラ308Aに知らせる。
ライトも同様に処理され、コントローラ308Aは指定ブロックにあるデータをバッファ310にコピーしつつ、コントローラはビジー信号を供給する。ビジー信号は、遅い方のフラッシュに書き込むことによってライト要求が実際に完了するまで、ファームウェアによってポーリングされている。リード要求と同様に、ライト要求についても、ハイブリッド・メモリ・デバイス302Aは、CPU389には、正しいSDRAM速度で動作しているように見え、CPUはファームウェア330とコントローラ308Aとの間で行われつつあるステータス・ポーリングについては全く知らない。プロトコルを通じて、CPUの観点から同期メモリをこのように適正に動作させるが、実際には、要求側エンティティの観点からは、非同期に動作させている。
つまり、SDRAMおよびフラッシュを備え標準的なSDRAMインターフェースを有するハイブリッド・メモリ・デバイスにメモリ・コントローラを追加することにより、フラッシュ・メモリはSDRAMアドレス空間において無効とされる。フラッシュ・ブロック/ページのSDRAMアドレス空間に対するマッピングを管理するために、コマンド・プロトコル(例えば、シリアル)を用いる。これによって、フラッシュ・ストレージを設けたいいずれの計算機においても、1つのピン互換マルチチップ・パッケージを既存のSDRAMデバイスと交換することが可能となり、しかもデバイスに対してはファームウェアの変更のみで、これを行うことができる。例えば、従来のディスク・ドライブのバッファを、フラッシュ・ストレージを設ける単一チップ・アップグレードと交換することができ、これによって、既存のドライブをハイブリッドドライブにアップグレードする新たなファームウェアと共に、フラッシュ・ストレージを用いることが可能になる。更に別の例では、不揮発性ストレージをセット・トップ・ボックスの設計に追加することや、または、当時は大容量ストレージを内蔵する設計としなかったが、例えば、何らかの新たなアプリケーションまたはビジネス・モデルのために今になってそれが望ましくなった移動体電話機の設計に追加することも含む。
具体的なアーキテクチャの一例として、図5および図6は、実際のSDRAMおよびNANDフラッシュ・デバイスの使用を例証する。インターフェースおよび内部コンポーネントは、SDRAM電圧プロトコルおよびSDRAMアクセス・プロトコルの一例に合わせて構成されており、これによって、パッケージ内にある不揮発性メモリを今利用するには、ソフトウェアの変更(例えば、デバイスのファームウェアの中にある)だけで済む。しかしながら、アドレシング特性が定められているのであれば、本質的にいずれのデバイスでも用いることができることは言うまでもない。尚、図5および図6におけるアーキテクチャは、慣例的な用途である16ビット・データ経路の使用を示すが、容易に認められるように、他のデータ経路幅でも同様に動作することを記しておく。この例では、マルチチップ・パッケージは、計算機においてSDRAMチップと物理的に交換することができ、その上揮発性SDRAMメモリおよび不揮発性NANDフラッシュ・メモリの双方を組み込むように記載されている。
図5に表すSDRAMデバイス504は、1バイト、2バイト、8バイト、またはページ転送をサポートするバースト・モード・デバイス(例えば、Micron(登録商標)のMT48LC4M16A2デバイス)を備えており、例えば、2ギガビットのNANDフラッシュ606を含むハイブリッド・メモリ・デバイス602(図6)において用いることができる。図5のSDRAMデバイスについてのアーキテクチャ例において表されているように、従来のSDRAMデバイスに関して、ハイブリッド・メモリ・デバイスは、アドレス線(例えば、A0〜A11、BA0〜BA1)上でRAS/CAS(周知の行アドレス・ストローブおよび列アドレス・ストローブ)信号を受入、単一バイトのリードまたはライト以外では、RAS/CAS開始アドレスからデータを順次読み取るかまたは書き込む。尚、このタイプのメモリを用いる計算機は、シリアルにアクセスしたデータをバッファするが、これは通例多くの計算機においてオンボード・キャッシュによって行われることを記しておく。
開始アドレスに基づいてデータをシリアルに供給するので、ホスト(例えば、CPU)とSDRAM504との間にある(比較的レイテンシが低い)メモリ・コントローラ308は、チップに送られるアドレスを検出することができる。特定のアドレス範囲を検出することによって、SDRAMインターフェースに対するCE#(イネーブル)を用いて、デバイス504をリフレッシュ・サイクルに入れて、データを別のデータ源によって供給することが可能になる。
図5において、コントローラ308の制御ロジックは、SDRAMに送られるアドレスを検出する。前述のように、指定ブロック内部のアドレスを転送するとき、コントローラは、要求がフラッシュに向けられていることを知っている。このアーキテクチャ例では、SDRAMデバイスは、CE#が当該デバイスに達することを防止することによって、ディスエーブルされていることを記しておく。次いで、コントローラの制御ロジックは、コマンドをフラッシュ・デバイス606に送るか、またはデータ転送ロジックによって、リードおよびライト・データのフラッシュ・デバイスへの流れを制御することができる。尚、SDRAMデバイスへのコマンド・ストリームは中断されず、マルチチップ・パッケージ・デバイスの初期化には、制御ロジックがSDRAMに対する動作バースト・モードを検出し、フラッシュ・データをメモリ・データ・バスに転送するときにデータ・バーストを用いることを把握すればよいことを記しておく。
このように、別個のアドレス・バス上においてRAS/CAS転送によってアドレスをSDRAMに送るこのアーキテクチャでは、制御ロジックにおいてRAS/CASサイクルを検出することによって、コマンドおよびデータをフラッシュ606にそしてフラッシュ606から、適宜転送することができる。フラッシュ606に対するコマンド・ブロックへのライトのシリアル・プロトコルによって、フラッシュ・デバイスのプロトコルをサポートすることが可能になる。
図6に示すフラッシュ・デバイス(例えば、Micron(登録商標)のMT29F2G16AABWPデバイス)は、多重化バスを有し、これによって、データI/O、アドレス、およびコマンドが同じピンを共有する。尚、I/OピンI/O[15:8]は、x16構成におけるデータのみに用いられ、アドレスおよびコマンドはI/O[7:0]上で供給されることを記しておく。コマンド・シーケンスは、通常、コマンド・ラッチ・サイクル、アドレス・ラッチ・サイクル、および、リードまたはライトのデータ・サイクルを含む。制御信号CE#、WE#、RE#、CLE、ALE、およびWP#は、フラッシュ・デバイスのリードおよびライト動作を制御する。尚、異なるフラッシュ、例えば、Micron(登録商標)のGb MT29F8G08FABデバイス上では、CE#およびCE2#は各々独立した4Gbのアレイを制御することを記しておく。CE2#は、それ自体のアレイに対してCE#と同じように機能し、CE#について説明した動作は、CE2#にも該当する。
CE#は、デバイスをイネーブルするために用いられる。CE#がローであり、デバイスがビジー状態ではない場合、フラッシュ・メモリはコマンド、データ、およびアドレス情報を受け入れる。デバイスが動作を実行していないとき、CE#ピンは通例ハイに駆動されており、デバイスはスタンバイ・モードに入る。メモリがスタンバイになるのは、データが転送されておりデバイスがビジーでない間にCE#がハイになるときである。これは、電力消費を削減するのに役立つ。
CE#の"Don't Care"動作によって、NANDフラッシュが他のフラッシュまたはSRAMデバイスと同じ非同期メモリ上に常駐することが可能になる。そして、NANDフラッシュが内部動作でビジーの間は、メモリ・バス上にある他のデバイスにアクセスすることができる。この能力は、同一バス上に複数のNANDデバイスを必要とする設計のためにあり、例えば、他のデバイスからリードを行っている間に、1つのデバイスをプログラムすることができる。HIGH CLE信号は、コマンド・サイクルが行われていることを示す。HIGH ALE信号は、アドレス入力サイクルが発生していることを意味する。コマンドは、CE#およびALEがローであり、CLEがハイであり、デバイスがビジーでないときに、WE#の立ち上がりエッジにおいて、コマンド・レジスタに書き込まれる。これに対する例外は、リード・ステータスおよびリセット・コマンドである。
この特定的なコンポーネントでは、WE#の立ち上がりエッジにおいてコマンドをコマンド・レジスタに転送する。コマンドは、線I/O[7:0]上のみで入力される。x16インターフェースを有するデバイスでは、コマンドを発行するときには、線I/O[15:8]には0を書き込む必要がある。CE#およびCLEがローであり、ALEがハイであり、更にデバイスがビジーでないときに、WE#の立ち上がりエッジにおいて、アドレスをアドレス・レジスタに書き込む。アドレスを入力するのはI/O[7:0]上のみである。x16インターフェースを有するインターフェースでは、アドレスを発行するときにはI/O[15:8]にゼロを書き込む必要がある。一般に、5回のアドレス・サイクル全てでデバイスに書き込む。これに対する例外は、ブロック消去コマンドであり、これは3回のアドレス・サイクルだけで済む。
ここに例示するフラッシュ・デバイスは、多重化デバイスであり、これによってアドレス、コマンド、およびデータが単純な16ビット・インターフェースを経由してシリアルに流れる。図7は、アドレス・コマンドおよびデータ転送プロトコルのタイミングの、例示するフラッシュ・デバイスに対するシリアル性を例示する。尚、アドレス、コマンド、およびデータは、順次コマンドよびデータ・ブロックに書き込むことによって、SDRAMインターフェース(これは多重化されていない)から送られることを記しておく。
前述のように、SDRAMのアドレス空間にあるコマンド・ブロックへのライトを検出することによって、要求されるデータをコントローラ508によってフラッシュ・デバイスに転送することができる。先に示したアドレス転送を拡大すると、アドレス情報のフラッシュ・デバイスへの転送を示すことができる。また、前述のように、フラッシュ・メモリのためのアドレス情報を転送するには、SDRAM上のコマンド・ブロック・アドレスに対して複数回のライトを実行する。このエリアにあるSDRAMデータは利用できない。何故なら、デバイスがこれらのライトでは選択解除されている(deselected)からである。このシリアル様式では、アドレス・データおよびコマンド情報は、フラッシュ・デバイスから書き込みそして読み取ることができる。制御ロジックは、前述のように、更に別のコマンド・プロトコルも実装して、例えば、フラッシュ・デバイスがSDRAMデバイスの速度問題(consideration)には関与しないで済むようにする。例えば、フラッシュ・デバイスのステータスを制御ロジックにバッファすることによって、ビジーおよび実行ステータスを示す追加のコマンド応答をシリアル・プロトコルに追加することができる。フラッシュ・デバイスから返送されるデータおよびステータス・を、データ転送ロジックにおいてSRAMの小ブロックにバッファし、フラッシュに対するリードおよびライト速度がSDRAMのそれと一致するようにする。
フラッシュ・デバイスへのシリアル転送の典型的な例を図8に示す。これは、ファームウェア330によるSDRAMアドレス空間332(図3)に対するリードおよびライトの例を表す。SDRAMアドレス空間332は、フラッシュ306を制御するために確保されている。一般に、ファームウェアは、IDLEコマンドを、コントローラが検出したアドレス空間332に書き込むことによって、ステップ802においてフラッシュ・コマンドを送る。
ステップ804において、ファームウェアはフラッシュ・ブロック・アドレス要求を送る。この要求は、コマンド・アドレス空間に対する1つのライト・コマンドと共に、どのブロックそしてどのアドレスを用いるか示す5つのアドレス・ライトを含む。こうして、コントローラは、ライトを実行するために必要となる情報を有することになる。
ステップ806および808の各々において、ファームウェア330は、ライト・コマンドおよびバースト・リードを発行し、ステップ810を経由してループすることによって、ステータスについてポーリングし、フラッシュ・リード・バースト(ステップ812)を送る。
代替実現例では、レジスタに基づくプロトコルが、一連のレジスタにロードすることによって、フラッシュに対するアクセスを与える。これには、コマンドの実行を開始するようにセットしたビジー・ワードをレジスタに書き込むことを含む。これによって、1回のページ・ライトで1つまたは複数のフラッシュ・ブロックのライトまたはフェッチを開始することが可能となる。この代替案では、ビジー・ワードは、コマンドを完了したときにコントローラによって切り換えられる。サポートされるコマンドには、アドレス/ブロック・フェッチ(またはアドレス範囲フェッチ)、アドレス/ブロック・ライト(またはアドレス範囲ライト)、およびアドレス/ブロック削除(またはアドレス範囲削除)が含まれる。
更に、コントローラはロジックを含むので、コントローラはフラッシュ管理を行うことができる。例えば、フラッシュは、何回かのリードおよびライトの後にはへたる(wear out)ので、コントローラは種々の利用可能なフラッシュ・ブロックの使用を均衡にするために、アクセスをリマップ(remap)することができる。これを、へたれ均等化(wear leveling)と呼ぶ。また、コントローラ・ロジックは、誤り検出および訂正を実行し、更に既知の不良ブロックを論理的に利用可能から除去することによって、不良ブロック管理を実行することができる。
図9は、デュアル・インライン・メモリ・モジュール(DIMM)902の一例の図であり、従来のパーソナル・コンピュータのシステム・メモリにどのようにしてフラッシュを追加できるかを例示する。フラッシュ・チップの実体は、SDRAMチップと同じ側、逆側、または双方にあってもよい。コントローラは、DIMM自体にあってもよく、あるいはその外部にあり、必要に応じてSDRAMをディスエーブルしてフラッシュ・データに交換できるようにしてもよい。
パーソナル・コンピュータをオンにすると、BIOS(ファームウェア)がハイブリッドDIMMメモリの存在を検査し、存在する場合、フラッシュからSDRAMメモリの少なくとも一部(そのコード)をロードする。不揮発性フラッシュ・メモリが存在すれば、ブート、即ち、フラッシュに格納されているデータから動作を再開することが可能になる。例えば、メモリの複数のブロックにマッピングされており、SDRAMまたはフラッシュのいずれとも区別される(resolve)CPUメモリ・キャッシュから、データをアクセスする。十分なフラッシュがあれば、冬眠の目的でSDRAM全体を保存することができ、あるいはハード・ディスク・ドライブのような周辺デバイスにアクセスすることなく、オペレーティング・システム全体をロードすることもできる。
本発明には種々の修正や代替構造を取り入れることができるが、その内ある種の実施形態を例示して、図面に示しこれまで詳細に説明した。しかしながら、開示した具体的な形態に本発明を限定する意図はなく、逆に、本発明の主旨および範囲に該当するあらゆる修正、代替構造、および同等物を包含することを意図していることは言うまでもない。

Claims (14)

  1. (1)中央処理ユニット(CPU)と、
    (2)ハイブリッド・メモリ・デバイスであって、揮発性メモリと、前記揮発性メモリの速度未満の速度を有する不揮発性メモリと、前記揮発性メモリに対応するインターフェースと、少なくとも前記揮発性メモリの速度の速度一致バッファ・セットを有するコントローラとを含むハイブリッド・メモリ・デバイスと、
    (3)前記揮発性メモリのアドレス可能範囲の一部に、前記不揮発性メモリのアドレス指定範囲を設定して、揮発性メモリ・アドレス範囲と不揮発性メモリ・アドレス範囲とを決定するコンポーネントと
    を備える計算機において、前記インターフェースでデータ処理を取り扱うための方法であって、
    前記コントローラが、前記揮発性メモリにおける速度の差を補償するに足るデータを前記速度一致バッファ・セットが有するときに前記コントローラの状態をレディーにセットして、前記速度一致バッファ・セットから前記データを出力するステップと、
    前記コントローラが、前記CPUから送出されて前記ハイブリッド・メモリ・デバイスにおいて受信した情報が、前記揮発性メモリ・アドレス範囲と前記不揮発性メモリ・アドレス範囲とのいずれに属するアドレスを含むかを判定するステップと、
    前記判定するステップでの判定の結果、前記CPUから受信した情報が前記揮発性メモリ・アドレス範囲に属するアドレスを含む場合、前記コントローラが、前記揮発性メモリに信号を出力するステップと、
    前記判定するステップでの判定の結果、前記CPUから受信した情報が前記不揮発性メモリ・アドレス範囲に属するアドレスを含む場合、前記コントローラが、前記不揮発性メモリに信号を出力するステップと、
    を備え、前記CPUが前記揮発性メモリ及び前記不揮発性メモリと選択的に通信できるようにする方法。
  2. 請求項1記載の方法であって、前記受信した情報が前記不揮発性メモリに対応する場合、前記揮発性メモリをディスエーブルするステップを備えた方法。
  3. 請求項1記載の方法であって、前記受信した情報が前記不揮発性メモリに対応する場合、ビジー指示を出力し、前記不揮発性メモリにおいてデータI/O動作を実行し、前記I/O動作が完了したときにレディー指示を出力するステップを備えた方法。
  4. 請求項1記載の方法において、前記受信した情報は、データ・アドレシング情報に対応し、前記方法は、前記不揮発性メモリの複数の可能なセクションの中から1つのセクションに、受信したアドレスをマッピングするために、前記データ・アドレシング情報を読み取るステップを備えてなる方法。
  5. 計算機システムであって、
    CPUと、
    ハイブリッド・メモリ・デバイスであって、
    ハードウェア・タイプのメモリである揮発性メモリと、
    前記揮発性メモリの速度未満の速度を有する、ハードウェア・タイプのメモリである不揮発性メモリと、
    前記揮発性メモリに対応するインターフェースと、
    前記インターフェース、前記揮発性メモリおよび前記不揮発性メモリに結合されたコントローラであって、前記CPUから、前記インターフェースを介してコマンド、アドレス、およびデータを受信することができ、且つ、少なくとも前記揮発性メモリの速度の速度一致バッファ・セットを有するコントローラと
    を備え、前記揮発性メモリのアクセス・プロトコルで動作するハイブリッド・メモリ・デバイスと、
    前記揮発性メモリのアドレス可能範囲の一部に、前記不揮発性メモリのアドレス指定範囲を設定して、揮発性メモリ・アドレス範囲と不揮発性メモリ・アドレス範囲とを決定するコンポーネントと
    を備え、
    前記コントローラが、
    前記揮発性メモリにおける速度の差を補償するに足るデータを前記速度一致バッファ・セットが有するときに前記コントローラの状態をレディーにセットして、前記速度一致バッファ・セットから前記データを出力し、
    前記CPUから送出されて前記ハイブリッド・メモリ・デバイスにおいて受信した情報が、前記揮発性メモリ・アドレス範囲と前記不揮発性メモリ・アドレス範囲とのいずれに属するアドレスを含むかを判定し、
    前記判定するステップでの判定の結果、前記CPUから受信した情報が前記揮発性メモリ・アドレス範囲に属するアドレスを含む場合、前記コントローラが、前記揮発性メモリに信号を出力し、
    前記判定するステップでの判定の結果、前記CPUから受信した情報が前記不揮発性メモリ・アドレス範囲に属するアドレスを含む場合、前記コントローラが、前記不揮発性メモリに信号を出力する
    よう動作して、前記CPUが前記揮発性メモリ及び前記不揮発性メモリと選択的に通信できるようにした計算機システム。
  6. 請求項5記載の計算機システムであって、前記インターフェースを介して受信した前記情報が、前記揮発性メモリまたは前記不揮発性メモリに該当するのか前記コントローラが判定を行う基となる情報の少なくとも一部は、前記揮発性メモリに対応するメモリ・アドレスにおいて受信する計算機システム。
  7. 請求項6記載の計算機システムであって、前記揮発性メモリは、SDRAMタイプまたはDRAMタイプのメモリを含み、前記インターフェースを通じて受信する前記メモリ・アドレスおよび前記関連情報は、行アクセス・ストローブ、列アクセス・ストローブ、および制御情報を含む計算機システム。
  8. 請求項6記載の計算機システムであって、前記不揮発性メモリは、フラッシュ・メモリを含み、前記システムは、前記フラッシュ・メモリを用いて実行されるデータI/O動作をバッファするために、前記コントローラと関連したバッファを備えている計算機システム。
  9. 請求項8記載の計算機システムであって、更にステータス・インディケータを備えており、前記コントローラは、前記ステータス・インディケータを通じて、データI/O動作がビジーかまたは完了したかを通知する計算機システム。
  10. 請求項5記載の計算機システムであって、前記ハイブリッド・メモリ・デバイスをデュアル・インライン・メモリ・モジュールに組み込んでなる計算機システム。
  11. 請求項5記載の計算機システムであって、前記コントローラは、(a)前記揮発性メモリと直接通信し、かつ(b)前記不揮発性メモリと通信するのに使用されるバッファ・セットを有する計算機システム。
  12. 計算機であって、
    (1)中央処理ユニット(CPU)と、
    (2)ハイブリッド・メモリ・デバイスであって、
    DRAMベースのメモリと、
    前記DRAMベースのメモリの速度未満の速度を有するフラッシュ・タイプのメモリと、
    前記DRAMベースのメモリに対応するインターフェースと、
    少なくとも前記DRAMベースのメモリの速度の速度一致バッファ・セットを有するコントローラと、
    を含むハイブリッド・メモリ・デバイスと、
    (3)前記DRAMベースのメモリのアドレス可能範囲の一部に、前記フラッシュ・タイプのメモリのアドレス指定範囲を設定して、DRAMベース・メモリ・アドレス範囲とフラッシュ・タイプ・メモリ・アドレス範囲とを決定するコンポーネントと、
    を備え
    前記コントローラが、
    前記DRAMベースのメモリにおける速度の差を補償するに足るデータを前記速度一致バッファ・セットが有するときに前記コントローラの状態をレディーにセットして、前記速度一致バッファ・セットから前記データを出力するよう動作し、
    更に、前記コントローラは、前記CPUから送出されて前記ハイブリッド・メモリ・デバイスにおいて受信した情報が、前記DRAMベース・メモリ・アドレス範囲と前記フラッシュ・タイプ・メモリ・アドレス範囲とのいずれに属するアドレスを含むかを判定し、その判定の結果、前記CPUから受信した情報が前記DRAMベース・メモリ・アドレス範囲に属するアドレスを含む場合、前記DRAMベースのメモリに信号を出力し、前記CPUから受信した情報が前記フラッシュ・タイプ・メモリ・アドレス範囲に属するアドレスを含む場合、前記フラッシュ・タイプのメモリに信号を出力するようにして、前記CPUが前記DRAMベースのメモリ及び前記フラッシュ・タイプのメモリと選択的に通信できるように動作する
    計算機。
  13. 請求項12記載の計算機であって、I/O関係のデータには、読み取りコマンド関連し、前記速度一致バッファ・セットをデータで充填することは、前記フラッシュ・タイプのメモリから前記データを入手することを含み、前記データを出力することは、前記フラッシュ・タイプのメモリから入手した前記データを出力することを含む計算機。
  14. 請求項12記載の計算機であって、I/O関係のデータには、書き込みコマンドが関連し、前記速度一致バッファ・セットをデータで充填することは、ファームウェアから前記データを入手することを含み、前記データを出力することは、前記フラッシュ・タイプのメモリに前記データを書き込むことを含む計算機。
JP2011111408A 2006-06-07 2011-05-18 1つのインターフェースを有するハイブリッド・メモリ・デバイス Active JP5613103B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/449,435 2006-06-07
US11/449,435 US7716411B2 (en) 2006-06-07 2006-06-07 Hybrid memory device with single interface

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2009514323A Division JP2009540431A (ja) 2006-06-07 2007-06-01 1つのインターフェースを有するハイブリッド・メモリ・デバイス

Publications (2)

Publication Number Publication Date
JP2011181098A JP2011181098A (ja) 2011-09-15
JP5613103B2 true JP5613103B2 (ja) 2014-10-22

Family

ID=38823267

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2009514323A Pending JP2009540431A (ja) 2006-06-07 2007-06-01 1つのインターフェースを有するハイブリッド・メモリ・デバイス
JP2011111408A Active JP5613103B2 (ja) 2006-06-07 2011-05-18 1つのインターフェースを有するハイブリッド・メモリ・デバイス

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2009514323A Pending JP2009540431A (ja) 2006-06-07 2007-06-01 1つのインターフェースを有するハイブリッド・メモリ・デバイス

Country Status (11)

Country Link
US (2) US7716411B2 (ja)
EP (1) EP2025001B1 (ja)
JP (2) JP2009540431A (ja)
KR (1) KR101159400B1 (ja)
CN (1) CN101473438B (ja)
BR (1) BRPI0711731A2 (ja)
ES (1) ES2718463T3 (ja)
MX (1) MX2008014859A (ja)
RU (1) RU2442211C2 (ja)
TW (1) TWI420302B (ja)
WO (1) WO2007145883A1 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8990441B2 (en) 2013-03-14 2015-03-24 Microsoft Technology Licensing, Llc Assigning priorities to data for hybrid drives
US9626126B2 (en) 2013-04-24 2017-04-18 Microsoft Technology Licensing, Llc Power saving mode hybrid drive access management
US9946495B2 (en) 2013-04-25 2018-04-17 Microsoft Technology Licensing, Llc Dirty data management for hybrid drives

Families Citing this family (190)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8250295B2 (en) 2004-01-05 2012-08-21 Smart Modular Technologies, Inc. Multi-rank memory module that emulates a memory module having a different number of ranks
US8327104B2 (en) 2006-07-31 2012-12-04 Google Inc. Adjusting the timing of signals associated with a memory system
US8090897B2 (en) 2006-07-31 2012-01-03 Google Inc. System and method for simulating an aspect of a memory circuit
US8089795B2 (en) 2006-02-09 2012-01-03 Google Inc. Memory module with memory stack and interface with enhanced capabilities
US8386722B1 (en) 2008-06-23 2013-02-26 Google Inc. Stacked DIMM memory interface
US20080028136A1 (en) 2006-07-31 2008-01-31 Schakel Keith R Method and apparatus for refresh management of memory modules
US8055833B2 (en) 2006-10-05 2011-11-08 Google Inc. System and method for increasing capacity, performance, and flexibility of flash storage
US9542352B2 (en) 2006-02-09 2017-01-10 Google Inc. System and method for reducing command scheduling constraints of memory circuits
US7386656B2 (en) 2006-07-31 2008-06-10 Metaram, Inc. Interface circuit system and method for performing power management operations in conjunction with only a portion of a memory circuit
US8796830B1 (en) 2006-09-01 2014-08-05 Google Inc. Stackable low-profile lead frame package
US8244971B2 (en) 2006-07-31 2012-08-14 Google Inc. Memory circuit system and method
US8619452B2 (en) 2005-09-02 2013-12-31 Google Inc. Methods and apparatus of stacking DRAMs
US8111566B1 (en) 2007-11-16 2012-02-07 Google, Inc. Optimal channel design for memory devices for providing a high-speed memory interface
US8081474B1 (en) 2007-12-18 2011-12-20 Google Inc. Embossed heat spreader
US7392338B2 (en) 2006-07-31 2008-06-24 Metaram, Inc. Interface circuit system and method for autonomously performing power management operations in conjunction with a plurality of memory circuits
US10013371B2 (en) 2005-06-24 2018-07-03 Google Llc Configurable memory circuit system and method
US9171585B2 (en) 2005-06-24 2015-10-27 Google Inc. Configurable memory circuit system and method
US20080082763A1 (en) 2006-10-02 2008-04-03 Metaram, Inc. Apparatus and method for power management of memory circuits by a system or component thereof
US8397013B1 (en) 2006-10-05 2013-03-12 Google Inc. Hybrid memory module
US8130560B1 (en) 2006-11-13 2012-03-06 Google Inc. Multi-rank partial width memory modules
US9507739B2 (en) 2005-06-24 2016-11-29 Google Inc. Configurable memory circuit system and method
US8438328B2 (en) 2008-02-21 2013-05-07 Google Inc. Emulation of abstracted DIMMs using abstracted DRAMs
US8060774B2 (en) 2005-06-24 2011-11-15 Google Inc. Memory systems and memory modules
US8041881B2 (en) 2006-07-31 2011-10-18 Google Inc. Memory device with emulated characteristics
US8359187B2 (en) 2005-06-24 2013-01-22 Google Inc. Simulating a different number of memory circuit devices
US8077535B2 (en) 2006-07-31 2011-12-13 Google Inc. Memory refresh apparatus and method
US8335894B1 (en) 2008-07-25 2012-12-18 Google Inc. Configurable memory system with interface circuit
US9632929B2 (en) 2006-02-09 2017-04-25 Google Inc. Translating an address associated with a command communicated between a system and memory circuits
US7724589B2 (en) 2006-07-31 2010-05-25 Google Inc. System and method for delaying a signal communicated from a system to at least one of a plurality of memory circuits
US7516293B2 (en) * 2006-09-08 2009-04-07 International Business Machines Corporation Increased performance using mixed memory types
US8745315B2 (en) * 2006-11-06 2014-06-03 Rambus Inc. Memory Systems and methods supporting volatile and wear-leveled nonvolatile physical memory
JP5032172B2 (ja) * 2007-03-28 2012-09-26 株式会社東芝 統合メモリ管理装置及び方法並びにデータ処理システム
US8135900B2 (en) 2007-03-28 2012-03-13 Kabushiki Kaisha Toshiba Integrated memory management and memory management method
US8427891B2 (en) * 2007-04-17 2013-04-23 Rambus Inc. Hybrid volatile and non-volatile memory device with a shared interface circuit
US8301833B1 (en) 2007-06-01 2012-10-30 Netlist, Inc. Non-volatile memory module
US8904098B2 (en) 2007-06-01 2014-12-02 Netlist, Inc. Redundant backup using non-volatile memory
US8874831B2 (en) 2007-06-01 2014-10-28 Netlist, Inc. Flash-DRAM hybrid memory module
US8209479B2 (en) 2007-07-18 2012-06-26 Google Inc. Memory circuit system and method
DE102007038543B4 (de) * 2007-08-16 2022-09-01 Robert Bosch Gmbh Begleit-Chip zur Anwendung in einer Motorsteuerung
US8080874B1 (en) 2007-09-14 2011-12-20 Google Inc. Providing additional space between an integrated circuit and a circuit board for positioning a component therebetween
US9201790B2 (en) * 2007-10-09 2015-12-01 Seagate Technology Llc System and method of matching data rates
US8352671B2 (en) * 2008-02-05 2013-01-08 Spansion Llc Partial allocate paging mechanism using a controller and a buffer
US8209463B2 (en) * 2008-02-05 2012-06-26 Spansion Llc Expansion slots for flash memory based random access memory subsystem
US8332572B2 (en) * 2008-02-05 2012-12-11 Spansion Llc Wear leveling mechanism using a DRAM buffer
US8275945B2 (en) 2008-02-05 2012-09-25 Spansion Llc Mitigation of flash memory latency and bandwidth limitations via a write activity log and buffer
JP2009211192A (ja) * 2008-02-29 2009-09-17 Toshiba Corp メモリシステム
US8082384B2 (en) * 2008-03-26 2011-12-20 Microsoft Corporation Booting an electronic device using flash memory and a limited function memory controller
US20090313416A1 (en) * 2008-06-16 2009-12-17 George Wayne Nation Computer main memory incorporating volatile and non-volatile memory
US10236032B2 (en) * 2008-09-18 2019-03-19 Novachips Canada Inc. Mass data storage system with non-volatile memory modules
US8599625B2 (en) * 2008-10-23 2013-12-03 Marvell World Trade Ltd. Switch pin multiplexing
CN101510174B (zh) * 2008-11-07 2012-05-02 慧帝科技(深圳)有限公司 一种快闪记忆体更新资料的管理方法及相关的记忆卡
KR100987332B1 (ko) 2008-11-07 2010-10-18 서울대학교산학협력단 메모리 구조에 따른 메모리 관리 장치
US8370603B2 (en) * 2008-12-23 2013-02-05 Apple Inc. Architecture for address mapping of managed non-volatile memory
US8327087B1 (en) * 2008-12-31 2012-12-04 Micron Technology, Inc. Method and apparatus for an always open write-only register based memory mapped overlay interface for a nonvolatile memory
US20140325129A1 (en) * 2008-12-31 2014-10-30 Micron Technology, Inc. Method and apparatus for active range mapping for a nonvolatile memory device
KR101583002B1 (ko) * 2009-02-23 2016-01-21 삼성전자주식회사 컴퓨팅 시스템, 그것의 부팅 방법, 및 코드 데이터 피닝 방법
WO2010144624A1 (en) 2009-06-09 2010-12-16 Google Inc. Programming of dimm termination resistance values
CN102063939B (zh) * 2009-11-18 2015-01-28 中兴通讯股份有限公司 一种电可擦除可编程只读存储器的实现方法和装置
CN102110057B (zh) * 2009-12-25 2013-05-08 澜起科技(上海)有限公司 存储器模组及存储器模组内的数据交换方法
US8612809B2 (en) 2009-12-31 2013-12-17 Intel Corporation Systems, methods, and apparatuses for stacked memory
WO2011106049A1 (en) 2010-02-23 2011-09-01 Rambus Inc. Time multiplexing at different rates to access different memory types
WO2011112523A2 (en) * 2010-03-08 2011-09-15 Hewlett-Packard Development Company, L.P. Data storage apparatus and methods
US20110255335A1 (en) * 2010-04-20 2011-10-20 Alessandro Grossi Charge trap memory having limited charge diffusion
US20120026802A1 (en) * 2010-07-30 2012-02-02 Emanuele Confalonieri Managed hybrid memory with adaptive power supply
KR101670055B1 (ko) * 2010-08-30 2016-11-09 삼성전자 주식회사 디지털 영상 처리 장치의 제어 방법, 상기 방법을 적용한 디지털 영상 처리 장치, 상기 디지털 영상 처리 장치를 포함하는 통신 시스템
JP2012063874A (ja) * 2010-09-14 2012-03-29 Toshiba Corp チップセレクト信号を切り替えるセレクタ、ストレージ装置、及び電子機器
KR20120028484A (ko) 2010-09-15 2012-03-23 삼성전자주식회사 모바일 기기에 채용하기 적합한 복합형 반도체 장치
EP2453377A1 (en) * 2010-11-15 2012-05-16 Gemalto SA Method of loading data into a portable secure token
US10817502B2 (en) 2010-12-13 2020-10-27 Sandisk Technologies Llc Persistent memory management
US9208071B2 (en) * 2010-12-13 2015-12-08 SanDisk Technologies, Inc. Apparatus, system, and method for accessing memory
US10817421B2 (en) 2010-12-13 2020-10-27 Sandisk Technologies Llc Persistent data structures
US9141527B2 (en) * 2011-02-25 2015-09-22 Intelligent Intellectual Property Holdings 2 Llc Managing cache pools
US9164679B2 (en) 2011-04-06 2015-10-20 Patents1, Llc System, method and computer program product for multi-thread operation involving first memory of a first memory class and second memory of a second memory class
US9158546B1 (en) 2011-04-06 2015-10-13 P4tents1, LLC Computer program product for fetching from a first physical memory between an execution of a plurality of threads associated with a second physical memory
US9176671B1 (en) 2011-04-06 2015-11-03 P4tents1, LLC Fetching data between thread execution in a flash/DRAM/embedded DRAM-equipped system
US8930647B1 (en) 2011-04-06 2015-01-06 P4tents1, LLC Multiple class memory systems
US9170744B1 (en) 2011-04-06 2015-10-27 P4tents1, LLC Computer program product for controlling a flash/DRAM/embedded DRAM-equipped system
US10838646B2 (en) 2011-07-28 2020-11-17 Netlist, Inc. Method and apparatus for presearching stored data
US10198350B2 (en) 2011-07-28 2019-02-05 Netlist, Inc. Memory module having volatile and non-volatile memory subsystems and method of operation
US10380022B2 (en) 2011-07-28 2019-08-13 Netlist, Inc. Hybrid memory module and system and method of operating the same
US9417754B2 (en) 2011-08-05 2016-08-16 P4tents1, LLC User interface system, method, and computer program product
US11048410B2 (en) 2011-08-24 2021-06-29 Rambus Inc. Distributed procedure execution and file systems on a memory interface
WO2013028854A1 (en) 2011-08-24 2013-02-28 Rambus Inc. Methods and systems for mapping a peripheral function onto a legacy memory interface
US9098209B2 (en) 2011-08-24 2015-08-04 Rambus Inc. Communication via a memory interface
US9195530B1 (en) 2011-09-06 2015-11-24 Western Digital Technologies, Inc. Systems and methods for improved data management in data storage systems
US8707104B1 (en) 2011-09-06 2014-04-22 Western Digital Technologies, Inc. Systems and methods for error injection in data storage systems
US8713357B1 (en) 2011-09-06 2014-04-29 Western Digital Technologies, Inc. Systems and methods for detailed error reporting in data storage systems
US8700834B2 (en) 2011-09-06 2014-04-15 Western Digital Technologies, Inc. Systems and methods for an enhanced controller architecture in data storage systems
US9361986B2 (en) 2011-09-19 2016-06-07 Sandisk Technologies Inc. High endurance non-volatile storage
KR20130032772A (ko) * 2011-09-23 2013-04-02 삼성전자주식회사 하이브리드 메모리 장치, 이를 포함하는 컴퓨터 시스템, 및 하이브리드 메모리장치의 데이터 기입 및 독출 방법
US9053008B1 (en) 2012-03-26 2015-06-09 Western Digital Technologies, Inc. Systems and methods for providing inline parameter service in data storage devices
US9558351B2 (en) 2012-05-22 2017-01-31 Xockets, Inc. Processing structured and unstructured data using offload processors
US9495308B2 (en) 2012-05-22 2016-11-15 Xockets, Inc. Offloading of computation for rack level servers and corresponding methods and systems
CN103456356A (zh) 2012-05-31 2013-12-18 三星电子株式会社 半导体存储器装置和相关的操作方法
KR20130143210A (ko) * 2012-06-21 2013-12-31 삼성전자주식회사 메모리 확장 장치
US9252996B2 (en) 2012-06-21 2016-02-02 Micron Technology, Inc. Apparatuses and methods to change information values
US20140101370A1 (en) 2012-10-08 2014-04-10 HGST Netherlands B.V. Apparatus and method for low power low latency high capacity storage class memory
US20140108705A1 (en) 2012-10-12 2014-04-17 Sandisk Technologies Inc. Use of High Endurance Non-Volatile Memory for Read Acceleration
EP2915049B1 (en) 2012-10-30 2020-03-04 Hewlett-Packard Enterprise Development LP Smart memory buffers
CN105103234A (zh) * 2012-11-20 2015-11-25 查尔斯·I·派德尔 固态驱动器体系结构
US9147461B1 (en) 2012-11-28 2015-09-29 Samsung Electronics Co., Ltd. Semiconductor memory device performing a refresh operation, and memory system including the same
US9280497B2 (en) * 2012-12-21 2016-03-08 Dell Products Lp Systems and methods for support of non-volatile memory on a DDR memory channel
US9250954B2 (en) 2013-01-17 2016-02-02 Xockets, Inc. Offload processor modules for connection to system memory, and corresponding methods and systems
US9378161B1 (en) 2013-01-17 2016-06-28 Xockets, Inc. Full bandwidth packet handling with server systems including offload processors
CN103970219B (zh) * 2013-01-30 2018-03-20 鸿富锦精密电子(天津)有限公司 存储设备及支持所述存储设备的主板
EP2972888B1 (en) 2013-03-14 2019-02-06 Micron Technology, INC. Memory systems and methods including training,data organizing,and/or shadowing
US10372551B2 (en) 2013-03-15 2019-08-06 Netlist, Inc. Hybrid memory system with configurable error thresholds and failure analysis capability
US9658783B2 (en) 2013-03-27 2017-05-23 Hitachi, Ltd. DRAM having SDRAM interface and flash memory consolidated memory module
US9569144B2 (en) 2013-03-27 2017-02-14 Hitachi, Ltd. DRAM with SDRAM interface, and hybrid flash memory module
US9552176B2 (en) 2013-04-12 2017-01-24 Microsoft Technology Licensing, Llc Block storage using a hybrid memory device
US9436600B2 (en) 2013-06-11 2016-09-06 Svic No. 28 New Technology Business Investment L.L.P. Non-volatile memory storage for multi-channel memory system
WO2014203383A1 (ja) * 2013-06-20 2014-12-24 株式会社日立製作所 異種メモリを混載したメモリモジュール、及びそれを搭載した情報処理装置
US9129674B2 (en) * 2013-06-27 2015-09-08 Intel Corporation Hybrid memory device
CN105340017A (zh) * 2013-07-09 2016-02-17 惠普发展公司,有限责任合伙企业 对包括非兼容性存储器技术或与其接合的存储器模块的写入流控制
US9921980B2 (en) 2013-08-12 2018-03-20 Micron Technology, Inc. Apparatuses and methods for configuring I/Os of memory for hybrid memory modules
JP6090057B2 (ja) * 2013-08-15 2017-03-08 富士ゼロックス株式会社 状態情報記録装置及びプログラム
US10185515B2 (en) * 2013-09-03 2019-01-22 Qualcomm Incorporated Unified memory controller for heterogeneous memory on a multi-chip package
JP6072661B2 (ja) * 2013-09-30 2017-02-01 ルネサスエレクトロニクス株式会社 データ処理装置、マイクロコントローラ、及び半導体装置
US10248328B2 (en) 2013-11-07 2019-04-02 Netlist, Inc. Direct data move between DRAM and storage on a memory module
KR20160083926A (ko) * 2013-11-07 2016-07-12 넷리스트 인코포레이티드 하이브리드 메모리 모듈, 및 그를 동작시키는 시스템 및 방법
US11182284B2 (en) 2013-11-07 2021-11-23 Netlist, Inc. Memory module having volatile and non-volatile memory subsystems and method of operation
KR102195896B1 (ko) * 2014-01-10 2020-12-28 삼성전자주식회사 디스크 캐시 제어 장치 및 방법
US9342402B1 (en) 2014-01-28 2016-05-17 Altera Corporation Memory interface with hybrid error detection circuitry for modular designs
US9237670B2 (en) 2014-02-26 2016-01-12 Samsung Electronics Co., Ltd. Socket interposer and computer system using the socket
CN103942159A (zh) * 2014-03-19 2014-07-23 华中科技大学 一种基于混合存储设备的数据读写方法与装置
US9911477B1 (en) 2014-04-18 2018-03-06 Altera Corporation Memory controller architecture with improved memory scheduling efficiency
US20150347151A1 (en) * 2014-05-28 2015-12-03 Diablo Technologies Inc. System and method for booting from a non-volatile memory
US9811263B1 (en) 2014-06-30 2017-11-07 Altera Corporation Memory controller architecture with improved memory scheduling efficiency
US10430092B1 (en) * 2014-07-28 2019-10-01 Rambus Inc. Memory controller systems with nonvolatile memory for storing operating parameters
US9715453B2 (en) * 2014-12-11 2017-07-25 Intel Corporation Computing method and apparatus with persistent memory
US10318340B2 (en) * 2014-12-31 2019-06-11 Ati Technologies Ulc NVRAM-aware data processing system
KR102355436B1 (ko) * 2015-01-09 2022-01-26 에스케이하이닉스 주식회사 데이터 저장 장치
KR102076196B1 (ko) * 2015-04-14 2020-02-12 에스케이하이닉스 주식회사 메모리 시스템, 메모리 모듈 및 메모리 모듈의 동작 방법
CN107710175B (zh) * 2015-04-20 2021-12-14 奈特力斯股份有限公司 存储器模块以及操作系统和方法
US10339081B2 (en) 2015-05-09 2019-07-02 Medtronic, Inc. Methods and devices that utilize hardware to move blocks of operating parameter data from memory to a register set
US10261697B2 (en) 2015-06-08 2019-04-16 Samsung Electronics Co., Ltd. Storage device and operating method of storage device
US9904490B2 (en) * 2015-06-26 2018-02-27 Toshiba Memory Corporation Solid-state mass storage device and method for persisting volatile data to non-volatile media
US10078448B2 (en) 2015-07-08 2018-09-18 Samsung Electronics Co., Ltd. Electronic devices and memory management methods thereof
US20170060434A1 (en) * 2015-08-27 2017-03-02 Samsung Electronics Co., Ltd. Transaction-based hybrid memory module
KR102367512B1 (ko) 2015-09-08 2022-02-24 삼성전자주식회사 시스템 온 패키지
US10031674B2 (en) * 2015-10-07 2018-07-24 Samsung Electronics Co., Ltd. DIMM SSD addressing performance techniques
US10331586B2 (en) 2015-10-30 2019-06-25 Samsung Electronics Co., Ltd. Nonvolatile memory device for providing fast booting and system including the same
US20180225059A1 (en) * 2015-11-03 2018-08-09 Hewlett-Packard Development Company, L.P. Operating mode memory migration
US9971511B2 (en) 2016-01-06 2018-05-15 Samsung Electronics Co., Ltd. Hybrid memory module and transaction-based memory interface
US20170220252A1 (en) * 2016-01-29 2017-08-03 Faraday&Future Inc. Flash emulated eeprom wrapper
US10146704B2 (en) * 2016-02-16 2018-12-04 Dell Products L.P. Volatile/non-volatile memory device access provisioning system
US10163508B2 (en) * 2016-02-26 2018-12-25 Intel Corporation Supporting multiple memory types in a memory slot
US10534619B2 (en) 2016-02-26 2020-01-14 Smart Modular Technologies, Inc. Memory management system with multiple boot devices and method of operation thereof
US10621119B2 (en) 2016-03-03 2020-04-14 Samsung Electronics Co., Ltd. Asynchronous communication protocol compatible with synchronous DDR protocol
US10592114B2 (en) 2016-03-03 2020-03-17 Samsung Electronics Co., Ltd. Coordinated in-module RAS features for synchronous DDR compatible memory
US10310547B2 (en) * 2016-03-05 2019-06-04 Intel Corporation Techniques to mirror a command/address or interpret command/address logic at a memory device
US10810144B2 (en) * 2016-06-08 2020-10-20 Samsung Electronics Co., Ltd. System and method for operating a DRR-compatible asynchronous memory module
US10692555B2 (en) 2016-06-29 2020-06-23 Samsung Electronics Co., Ltd. Semiconductor memory devices enabling read strobe mode and related methods of operating semiconductor memory devices
US10186309B2 (en) 2016-06-29 2019-01-22 Samsung Electronics Co., Ltd. Methods of operating semiconductor memory devices and semiconductor memory devices
KR102554496B1 (ko) 2016-07-14 2023-07-13 에스케이하이닉스 주식회사 복수개의 메모리 모듈을 포함하는 데이터 처리 시스템
US10282108B2 (en) * 2016-08-31 2019-05-07 Micron Technology, Inc. Hybrid memory device using different types of capacitors
US9916256B1 (en) 2016-09-12 2018-03-13 Toshiba Memory Corporation DDR storage adapter
KR20180030329A (ko) * 2016-09-13 2018-03-22 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작방법
US10552053B2 (en) 2016-09-28 2020-02-04 Seagate Technology Llc Hybrid data storage device with performance mode data path
DE102017105155B4 (de) 2016-11-11 2023-09-07 Sandisk Technologies Llc Schnittstelle für einen nichtflüchtigen speicher
CN108121664A (zh) * 2016-11-28 2018-06-05 慧荣科技股份有限公司 数据储存装置以及其操作方法
KR20180078512A (ko) 2016-12-30 2018-07-10 삼성전자주식회사 반도체 장치
JP6391719B2 (ja) * 2017-01-10 2018-09-19 マイクロン テクノロジー, インク. トレーニング、データ再構築および/またはシャドウィングを含むメモリシステムおよび方法
TWI705374B (zh) * 2017-01-23 2020-09-21 威鋒電子股份有限公司 電子裝置及其操作方法
US11175853B2 (en) * 2017-05-09 2021-11-16 Samsung Electronics Co., Ltd. Systems and methods for write and flush support in hybrid memory
US10496584B2 (en) * 2017-05-11 2019-12-03 Samsung Electronics Co., Ltd. Memory system for supporting internal DQ termination of data buffer
US10403342B2 (en) * 2017-06-20 2019-09-03 Aspiring Sky Co. Limited Hybrid flash memory structure
US10845866B2 (en) * 2017-06-22 2020-11-24 Micron Technology, Inc. Non-volatile memory system or sub-system
ES2827790T3 (es) * 2017-08-21 2021-05-24 Carrier Corp Sistema antiincendios y de seguridad que incluye bucle accesible por dirección y mejora automática de firmware
KR102412609B1 (ko) 2017-11-03 2022-06-23 삼성전자주식회사 내부 커맨드에 따른 어드레스에 대한 저장 및 출력 제어를 수행하는 메모리 장치 및 그 동작방법
KR102101622B1 (ko) * 2017-12-06 2020-04-17 주식회사 멤레이 메모리 제어 장치 및 이를 포함하는 컴퓨팅 디바이스
US11216370B2 (en) * 2018-02-20 2022-01-04 Medtronic, Inc. Methods and devices that utilize hardware to move blocks of operating parameter data from memory to a register set
KR20190105337A (ko) 2018-03-05 2019-09-17 삼성전자주식회사 반도체 메모리 장치
US10534731B2 (en) 2018-03-19 2020-01-14 Micron Technology, Inc. Interface for memory having a cache and multiple independent arrays
US10705963B2 (en) 2018-03-21 2020-07-07 Micron Technology, Inc. Latency-based storage in a hybrid memory system
TWI668575B (zh) * 2018-07-26 2019-08-11 慧榮科技股份有限公司 資料儲存裝置以及非揮發式記憶體控制方法
US10977198B2 (en) * 2018-09-12 2021-04-13 Micron Technology, Inc. Hybrid memory system interface
EP3839954A4 (en) * 2018-10-16 2021-08-25 Huawei Technologies Co., Ltd. HYBRID STORAGE DEVICE AND ACCESS PROCESS
US11048654B2 (en) * 2018-10-24 2021-06-29 Innogrit Technologies Co., Ltd. Systems and methods for providing multiple memory channels with one set of shared address pins on the physical interface
US11199991B2 (en) 2019-01-03 2021-12-14 Silicon Motion, Inc. Method and apparatus for controlling different types of storage units
CN111399750B (zh) * 2019-01-03 2023-05-26 慧荣科技股份有限公司 闪存数据写入方法及计算机可读取存储介质
KR20210017109A (ko) 2019-08-07 2021-02-17 삼성전자주식회사 스토리지 장치
RU2757659C1 (ru) * 2020-06-16 2021-10-19 Александр Георгиевич Носков Накопитель магнитный с разделёнными областями
KR20220029914A (ko) 2020-09-02 2022-03-10 삼성전자주식회사 펄스 진폭 변조 기반 데이터 스트로브 신호를 생성하는 메모리 장치, 메모리 컨트롤러 및 이들을 포함하는 메모리 시스템
US20220083252A1 (en) * 2020-09-14 2022-03-17 Micron Technology, Inc. Indication-based avoidance of defective memory cells
CN112199045A (zh) * 2020-10-12 2021-01-08 长江存储科技有限责任公司 存储装置以及数据操作方法
KR20220077400A (ko) 2020-12-02 2022-06-09 삼성전자주식회사 메모리 장치, 메모리 시스템 및 이의 동작 방법
US11803326B2 (en) * 2021-04-23 2023-10-31 Macronix International Co., Ltd. Implementing a read setup burst command in 3D NAND flash memory to reduce voltage threshold deviation over time
KR102483906B1 (ko) * 2021-07-14 2022-12-30 서울시립대학교 산학협력단 Nand 플래시 메모리와 sram이 융합된 nas 메모리 셀 및 이를 이용한 nas 메모리 어레이
CN116955241B (zh) * 2023-09-21 2024-01-05 杭州智灵瞳人工智能有限公司 兼容多类型存储介质的存储芯片

Family Cites Families (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4995004A (en) 1989-05-15 1991-02-19 Dallas Semiconductor Corporation RAM/ROM hybrid memory architecture
JPH05299616A (ja) * 1992-04-16 1993-11-12 Hitachi Ltd 半導体記憶装置
JPH06195258A (ja) * 1992-07-08 1994-07-15 Nec Corp 半導体記憶装置
US5696917A (en) 1994-06-03 1997-12-09 Intel Corporation Method and apparatus for performing burst read operations in an asynchronous nonvolatile memory
US5701433A (en) * 1994-10-14 1997-12-23 Compaq Computer Corporation Computer system having a memory controller which performs readahead operations which can be aborted prior to completion
US5634112A (en) * 1994-10-14 1997-05-27 Compaq Computer Corporation Memory controller having precharge prediction based on processor and PCI bus cycles
US6741494B2 (en) 1995-04-21 2004-05-25 Mark B. Johnson Magnetoelectronic memory element with inductively coupled write wires
US5864671A (en) 1996-07-01 1999-01-26 Sun Microsystems, Inc. Hybrid memory access protocol for servicing memory access request by ascertaining whether the memory block is currently cached in determining which protocols to be used
US6418506B1 (en) 1996-12-31 2002-07-09 Intel Corporation Integrated circuit memory and method for transferring data using a volatile memory to buffer data for a nonvolatile memory array
US6850995B1 (en) * 1999-01-25 2005-02-01 Canon Kabushiki Kaisha Control unit selectively connected with a first bus and a second bus for controlling a displaying process in parallel with a scanning process
US6380581B1 (en) 1999-02-26 2002-04-30 Micron Technology, Inc. DRAM technology compatible non volatile memory cells with capacitors connected to the gates of the transistors
KR100313514B1 (ko) * 1999-05-11 2001-11-17 김영환 하이브리드 메모리 장치
KR100383774B1 (ko) 2000-01-26 2003-05-12 삼성전자주식회사 공통 인터페이스 방식의 메모리 장치들을 구비한 시스템
US7073014B1 (en) 2000-07-28 2006-07-04 Micron Technology, Inc. Synchronous non-volatile memory system
JP3871853B2 (ja) * 2000-05-26 2007-01-24 株式会社ルネサステクノロジ 半導体装置及びその動作方法
JP2002259443A (ja) * 2001-02-28 2002-09-13 Ricoh Co Ltd 文書管理システム、文書検索方法および文書検索プログラム
US6327207B1 (en) * 2001-04-09 2001-12-04 Lsi Logic Corporation Synchronizing data operations across a synchronization boundary between different clock domains using two-hot encoding
TWI240864B (en) * 2001-06-13 2005-10-01 Hitachi Ltd Memory device
JP4059002B2 (ja) * 2001-06-13 2008-03-12 株式会社日立製作所 メモリ装置
JP2003006041A (ja) 2001-06-20 2003-01-10 Hitachi Ltd 半導体装置
US6670234B2 (en) 2001-06-22 2003-12-30 International Business Machines Corporation Method of integrating volatile and non-volatile memory cells on the same substrate and a semiconductor memory device thereof
US7533214B2 (en) * 2002-02-27 2009-05-12 Microsoft Corporation Open architecture flash driver
US6799231B2 (en) * 2002-10-22 2004-09-28 Asix Electronics Corp. Virtual I/O device coupled to memory controller
US7613880B2 (en) * 2002-11-28 2009-11-03 Renesas Technology Corp. Memory module, memory system, and information device
US7752380B2 (en) 2003-07-31 2010-07-06 Sandisk Il Ltd SDRAM memory device with an embedded NAND flash controller
US6859068B1 (en) * 2003-08-08 2005-02-22 Sun Microsystems, Inc. Self-correcting I/O interface driver scheme for memory interface
US7171526B2 (en) 2003-11-07 2007-01-30 Freescale Semiconductor, Inc. Memory controller useable in a data processing system
US6862206B1 (en) * 2003-12-19 2005-03-01 Hewlett-Packard Development Company, L.P. Memory module hybridizing an atomic resolution storage (ARS) memory and a magnetic memory
KR101085406B1 (ko) 2004-02-16 2011-11-21 삼성전자주식회사 불 휘발성 메모리를 제어하기 위한 컨트롤러
US20050204091A1 (en) 2004-03-11 2005-09-15 Kilbuck Kevin M. Non-volatile memory with synchronous DRAM interface
US20060184710A1 (en) * 2005-02-17 2006-08-17 Nokia Inc. Bridge between a single channel high speed bus and a multiple channel low speed bus
US20060294295A1 (en) * 2005-06-24 2006-12-28 Yukio Fukuzo DRAM chip device well-communicated with flash memory chip and multi-chip package comprising such a device
US7360022B2 (en) * 2005-12-29 2008-04-15 Intel Corporation Synchronizing an instruction cache and a data cache on demand
US8427891B2 (en) * 2007-04-17 2013-04-23 Rambus Inc. Hybrid volatile and non-volatile memory device with a shared interface circuit

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8990441B2 (en) 2013-03-14 2015-03-24 Microsoft Technology Licensing, Llc Assigning priorities to data for hybrid drives
US9626126B2 (en) 2013-04-24 2017-04-18 Microsoft Technology Licensing, Llc Power saving mode hybrid drive access management
US9946495B2 (en) 2013-04-25 2018-04-17 Microsoft Technology Licensing, Llc Dirty data management for hybrid drives

Also Published As

Publication number Publication date
EP2025001A4 (en) 2010-07-28
MX2008014859A (es) 2008-12-01
KR101159400B1 (ko) 2012-06-28
KR20090026276A (ko) 2009-03-12
TW200745848A (en) 2007-12-16
BRPI0711731A2 (pt) 2011-11-29
JP2011181098A (ja) 2011-09-15
WO2007145883A1 (en) 2007-12-21
US7716411B2 (en) 2010-05-11
US20100217924A1 (en) 2010-08-26
US8423700B2 (en) 2013-04-16
EP2025001A1 (en) 2009-02-18
TWI420302B (zh) 2013-12-21
ES2718463T3 (es) 2019-07-02
RU2442211C2 (ru) 2012-02-10
JP2009540431A (ja) 2009-11-19
CN101473438B (zh) 2012-06-13
RU2008148129A (ru) 2010-06-10
EP2025001B1 (en) 2019-01-23
CN101473438A (zh) 2009-07-01
US20070288683A1 (en) 2007-12-13

Similar Documents

Publication Publication Date Title
JP5613103B2 (ja) 1つのインターフェースを有するハイブリッド・メモリ・デバイス
US9645746B2 (en) Systems and methods for support of non-volatile memory on a DDR memory channel
US9772803B2 (en) Semiconductor memory device and memory system
KR100281432B1 (ko) 플래쉬 메모리에 기초한 주메모리
US7441070B2 (en) Method for accessing a non-volatile memory via a volatile memory interface
US10943183B2 (en) Electronics device performing software training on memory channel and memory channel training method thereof
US11709777B2 (en) Memory system
CN114974374B (zh) 具有芯片内执行能力的串行与非门快闪存储器
US20080010420A1 (en) Method for Accessing Control Registers via a Memory Device
US20080010419A1 (en) System and Method for Issuing Commands
US9990283B2 (en) Memory system
US10180796B2 (en) Memory system
US20170109062A1 (en) Memory system
US20170109065A1 (en) Memory system
US20080007569A1 (en) Control protocol and signaling in a new memory architecture
US10466909B2 (en) Memory system
US20170109043A1 (en) Memory system
US20170109066A1 (en) Memory system
US20110161647A1 (en) Bootable volatile memory device, memory module and processing system comprising bootable volatile memory device, and method of booting processing system using bootable volatile memory device
US20170153994A1 (en) Mass storage region with ram-disk access and dma access
KR20210042192A (ko) 반도체 메모리 장치, 전자 장치, 및 그것의 설정 방법

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20121218

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130315

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130827

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140402

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140626

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20140807

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140905

R150 Certificate of patent or registration of utility model

Ref document number: 5613103

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250