JP2014518427A - メモリのボリュームの識別子を決定する方法、装置およびシステム - Google Patents

メモリのボリュームの識別子を決定する方法、装置およびシステム Download PDF

Info

Publication number
JP2014518427A
JP2014518427A JP2014519231A JP2014519231A JP2014518427A JP 2014518427 A JP2014518427 A JP 2014518427A JP 2014519231 A JP2014519231 A JP 2014519231A JP 2014519231 A JP2014519231 A JP 2014519231A JP 2014518427 A JP2014518427 A JP 2014518427A
Authority
JP
Japan
Prior art keywords
memory
volume
identifier
memory device
command information
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.)
Granted
Application number
JP2014519231A
Other languages
English (en)
Other versions
JP5901759B2 (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.)
Intel Corp
Original Assignee
Intel 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 Intel Corp filed Critical Intel Corp
Publication of JP2014518427A publication Critical patent/JP2014518427A/ja
Application granted granted Critical
Publication of JP5901759B2 publication Critical patent/JP5901759B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0611Improving I/O performance in relation to response time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0632Configuration or reconfiguration of storage systems by initialisation or re-initialisation of storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
    • G11C13/02Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using elements whose operation depends upon chemical change

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Read Only Memory (AREA)
  • Debugging And Monitoring (AREA)
  • Storage Device Security (AREA)

Abstract

【解決手段】 コンピュータシステムのメモリデバイスのメモリボリュームの識別子を決定する方法を提供する。ある実施形態によると、メモリデバイスは、コンピュータシステムの初期化イベントの情報を検出して、当該情報の検出後にコマンド情報を受信する。特定の実施形態によると、メモリデバイスは、メモリボリュームに対応付けるべく識別子の値を格納し、この格納処理は、メモリボリュームに識別子が割り当てられると受信したコマンド情報が特定しているか否かに基づいて行われる。
【選択図】 図1

Description

本発明の実施形態は概して、メモリデバイスの動作に関する。特定の実施形態は特に、メモリのボリュームに対する識別子を決定する方法に関する。
コンピュータシステムアーキテクチャでは通常、メモリの複数のボリュームが、例えば、メモリコントローラに結合されている1以上の信号線を共有する。例えば、通常のメモリシステムは、メモリコントローラと、当該メモリコントローラに結合されている複数のメモリデバイスのそれぞれとの間でやり取りを行うための1以上のバス、例えば、アドレスバス、データバス、および/または、コマンドバスを含む。
このようなメモリシステムは、メモリの複数のボリュームをそれぞれ区別するメカニズム、例えば、一の特定の信号のやり取りが、他のメモリボリュームへのアクセスではなく、一のメモリボリュームへのアクセスに関するように区別するメカニズムを持つ。例えば、このようなメモリデバイスのチップ選択(またはチップイネーブル)入力は、このように区別するべく、メモリコントローラによってさまざまな方法で指定されるとしてよい。
一部の従来のメモリシステムでは、メモリコントローラは、それぞれのメモリボリュームに対して異なるボリュームアドレスを割り当てる。そして、メモリコントローラは、通信に含めて、または、通信と共に、例えば、当該通信に対処する(または当該通信を無視する)メモリデバイスがどれであるかを示すべく、1以上のボリュームアドレスを送信するとしてよい。現在の技術では、このようなボリュームアドレスの割り当ては、コンピュータシステムの設定の一環として、例えば、システムブートアップ中またはシステムブートアップに応じて実行される。
このようなコンピュータシステムにおいて動作するように、メモリデバイスは、例えばメモリコントローラからメモリデバイスに送信されるメモリボリューム識別子の割り当てが実行されるまで待機する設定ステージを実施するように設計されている。しかし、このような設定ステージによると、このようなメモリデバイスは、少なくとも「瞬時オン」のプラットフォーム、および/または、プラットフォーム動作がメモリ機能に関して時間制約を持つ他のアプリケーションでの利用に関して制限される。
本発明のさまざまな実施形態は、本発明を限定するためではなく一例として、添付図面において図示されている。添付図面は以下の通りである。
実施形態に係る、メモリボリューム識別子を決定するコンピュータシステムの構成要素を示すブロック図である。 実施形態に係る、メモリデバイスの構成要素を示すブロック図である。 実施形態に係る、メモリボリューム識別子を決定するコンピュータシステムの構成要素を示すブロック図である。 実施形態に係る、メモリボリューム識別子を決定するコンピュータシステムの構成要素を示すブロック図である。 実施形態に係る、メモリボリューム識別子を決定する方法の構成要素を示すフローチャートである。 実施形態に係る、ソリッドステートドライブの構成要素を示すブロック図である。
本明細書で説明する実施形態は、メモリデバイスに対応付けられているメモリボリュームの識別子を決定する方法およびメカニズムを提供する。ある実施形態によると、メモリデバイスは、コンピュータシステムにおける処理のためのロジックを備えるとしてよい。例えば、当該メモリデバイスは、1以上のコマンドバス信号線によってメモリコントローラに結合されている。このようなメモリデバイスは、コンピュータシステムの特定の状態に対応する初期化イベントを検出するロジックを含むとしてよい。コンピュータシステムの状態は、ある実施形態によると、メモリのボリュームに対して識別子を割り当てる必要性に対応付けられているとしてよい。
このような初期化イベントを検出した後、メモリデバイスは、例えば、コンピュータシステムのメモリコントローラからコマンド情報を受信するとしてよい。メモリデバイスは、受信したコマンド情報がメモリの一のボリュームに識別子が割り当てられると特定しているか否かを判断するロジックを含むとしてよい。受信したコマンド情報がメモリのボリュームには識別子が割り当てられると特定していると判断される場合、メモリデバイスは、メモリの当該ボリュームと対応付けるために識別子の値を格納するとしてよい。この識別子の値は、初期化イベントを検出した後にメモリデバイスが受信する情報に基づいて決まる。逆に、受信したコマンド情報がメモリのボリュームに識別子が割り当てられると特定していないと判断される場合、メモリデバイスは、メモリの当該ボリュームと対応付けるべく、デフォルトの識別子の値を格納するとしてよい。
このようなデフォルトの識別子の値の格納は、例えば、初期化イベントの後に受信したコマンド情報に応じて行われるが、実際のデフォルトの識別子の値は、特定の実施形態では、初期化イベントを検出した後にメモリデバイスが受信する情報とは無関係であるとしてよい。
初期化イベントを検出した後に受信する識別子の値、または、デフォルトの識別子の値を格納するためのさまざまな技術を提供することによって、特定の実施形態では、メモリデバイスをさまざまな利用事例に、および/または、さまざまなコンピュータアーキテクチャに適用することができる。
図1は、ある実施形態に係る、メモリボリュームの識別子を決定するコンピュータシステム100の選択構成要素を示す図である。コンピュータシステム100は、例えば、デスクトップコンピュータ、ラップトップコンピュータ、手持ち式またはその他の携帯可能型のコンピュータ、例えば、タブレット、携帯情報端末(PDA)、スマートフォン、メッセージングデバイス、デジタル音楽プレーヤ、デジタルカメラ、または、情報を処理、格納、送信および/または受信可能なその他の同様のシステムを備えるとしてよい。
コンピュータシステム100は、メモリコントローラ120と、インターコネクト110を介してメモリコントローラ120に結合されているメモリ130とを備えるとしてよい。ある実施形態によると、メモリコントローラ120は、例えば、メモリ130との間でのデータのやり取りを制御する制御ロジックを有するとしてよい。例えば、メモリコントローラハブ(MCH)の制御ロジックを有するとしてよい。
メモリ130は、1以上のデバイス、例えば、データの読み書きが可能なセルアレイを含む不揮発性メモリデバイス等のさまざまな組み合わせを含むとしてよい。一実施形態によると、メモリ130は、相変化メモリ(例えば、PCM、PCMS(相変化メモリおよびスイッチ)またはMLC PCM(マルチレベルセルPCM))のセル等の、不揮発性メモリセル(不図示)であるデバイス、または、当該不揮発性メモリセルを含むデバイスである。
基本的な相変化メモリ(PCM)セルは、カルコゲニドガラス素子、例えば、ゲルマニウム−アンチモン−テルル(GeSbTe)の合金またはGSTを含む。従来のPCMデバイスと同様に、メモリ130は、ある実施形態によると、PCMセルのそれぞれのカルコゲニドガラス素子を結晶状態およびアモルファス状態のどちらかに切り替えることで、データをPCMセルに格納するとしてよい。
PCMSは、スイッチと、多層構造または積層状のPCMセルアレイとを有する。例えば、PCMセルのクロスポイントアレイに、オボニックしきい値スイッチ(OTS)を重ねる。このように、PCMSは、PCMアレイの複数の層を一のダイにおいて積層または重ねることができる。積層型のPCMはさらに、垂直集積化メモリセルとも呼ばれるとしてよい。PCMのアレイを層状化または積層できることで、メモリ密度を高めつつPCMの性能特性を維持できるスケーラビリティが得られる。相変化フィーチャまたは相変化製品を含む実施形態を本明細書で説明するが、基本的なPCM、PCMS、MLC PCM等のいずれかまたは全てにも適用を拡大するとしてよい。
相変化メモリ(PCMまたはPCMS)等を含む技術での革新は、揮発性メモリと同等に近いアクセス速度、例えば、リード速度のストレージを実現することを目的とする。PCMS等の新たな相変化技術の利点は、不揮発性ストレージおよび一部の揮発性メモリ(例えば、ダイナミックランダムアクセスメモリ(DRAM)の変形)のどちらの代わりとしても利用可能である点である。PCMSを利用することで、メモリおよび/またはストレージの利用に関する前提条件、例えば、速度およびアクセスメカニズムに関する仮定条件の多くが変わるであろう。
相変化技術におけるPCMSおよび他の近年の革新は、コンピュータシステムアーキテクチャを幾つかの点において変化させることができる。例えば、PCMSデバイスの1以上のバンクは、回転式プラッタ技術の代わりにハードドライブとして利用することができ、または、不揮発性ストレージのためにNAND技術を利用する代わりにソリッドステートドライブ(SSD)として利用することができる。スマートフォンまたはタブレットデバイス等のモバイルデバイスでは、PCMSデバイスは、既存のメモリバスに設けることができ、メモリコントローラのみを本明細書に記載するようなコントローラに変更する。本明細書で説明するように、スマートフォンまたはタブレットの例として用いられるようなコントローラは、メモリ機能およびストレージアクセス機能の一方または両方を実現するようにコントローラが設定(例えば、プログラミング)され得る。このように、一実施形態によると、PCMSは、コントローラロジックを変更して、RAMの代わりにPCMSデバイスをプラットフォームへ集積化させることで、既存のモバイルプラットフォームで利用することができる。したがって、特定の実施形態によると、メモリ130は、例えば、メモリコントローラ120と共に、コンピュータシステム100のソリッドステートドライブ(SSD)として動作するとしてよい。
このように、PCMSには、揮発性メモリが既に利用された不揮発性ストレージを持つという利点がある。システムでははるかに多くの量のメモリを利用することができ、システム用のストレージおよびメモリの両方として機能し得る。不揮発性ストレージアクセスのレイテンシは、従来の揮発性メモリと同等(例えば、PCMSの場合、約10msから数十ナノ秒)まで大幅に小さくなるさらに、不揮発性ストレージアクセスに関連付けられる利用電力は、揮発性メモリで現在実施しているように、メモリをリフレッシュすることなく、大幅に低減される。どちらの要因も、PCMS等の相変化技術を実現しているデバイスの省電力化に貢献する。
特定の実施形態は、メモリデバイスで利用される不揮発性格納媒体の種類について限定されない。例えば、メモリ130は、これに代えて、または、これに加えて、データを格納するべく1以上のナノワイヤベースの電荷トラップセルを含むとしてよい。このようなセルは、例えば、自己整合型のシリコンナノワイヤをインサイチュで、例えば、SONOS(半導体−酸化物−窒化物−酸化物−半導体)層状構造上に成長させることで製造されるとしてよい。このようなセルは、例えば、約20ナノメートルの直径のシリコンナノワイヤの周囲を、電荷を蓄積する誘電体材料の薄層で取り囲んでいるとしてよい。ナノワイヤを利用する不揮発性ストレージを実現する方法は、さまざまなものが登場し始めている。
インターコネクト110は、メモリコントローラ120とメモリ130とを互いにさまざまな方法で結合するべく、および/または、コンピュータシステム100の他の構成要素を互いにさまざまな方法で結合するべく、1以上のバス、制御線、電源面、電圧配線、ビア等のさまざまな組み合わせのいずれかを含むとしてよい。本発明を限定するのではなく例示を目的として、コンピュータシステム100は、互いに、および/または、メモリコントローラ120およびメモリ130の一方または両方との間で情報をさまざまな方法でやり取りするべく、インターコネクト110の1以上のそれぞれのチャネルを介してさまざまな方法で結合される処理部140、I/Oデバイス150(例えば、キーボード、ディスプレイ等)および/またはネットワークインターフェース170を備えるとしてよい。
処理部140は、例えば、1以上のプロセッサコア、例えば、1以上のマイクロプロセッサ、デジタルシグナルプロセッサ、マイクロコントローラ等を含むとしてよい。I/Oデバイス150は、ユーザとの間でデータの送受信を行うべく、例えば、メモリ130との間で当該データをやり取りするべく、利用されるとしてよい。ネットワークインターフェース170は、例えば、コンピュータシステム100と、コンピュータシステム100に結合されているネットワーク(不図示)との間の通信について、1以上の有線チャネルおよび/または無線チャネルを操作する回路ロジックのさまざまな組み合わせのいずれかを含むとしてよい。本発明を制限するのではなく例示を目的として、ネットワークインターフェース170は、ネットワークインターフェースカード(NIC)、アンテナ、または、ダイポールアンテナ等の無線送受信機の1以上を含むとしてよい。しかし、本発明の範囲はこれに限定されない。ある実施形態によると、コンピュータシステム100の電池160は、1以上の構成要素にさまざまな方法で電力を供給するべく結合されるとしてよい。
メモリコントローラ120およびメモリ130に結合されているコンピュータシステム100の構成要素、および、コンピュータシステム100の構成要素の相対的な設定は一例に過ぎないことに留意されたい。コンピューティング分野の当業者であれば、本明細書の記載内容から、構成要素のさまざまな追加または異なる組み合わせのいずれか、および/または、構成要素のさまざまな追加または異なる設定のいずれかを利用してコンピュータシステムにおいてさまざまな実施形態を実施し得ることに想到するであろう。例えば、コンピュータシステム100の1以上の構成要素は、特定の実施形態によると、一の集積回路(IC)チップおよび/または複数のICチップを含むパッケージに組み込まれるとしてよい。
ある実施形態によると、メモリデバイス130は、固有の識別子に対応付けられる、メモリのボリュームを含む。本明細書で用いる場合、「メモリのボリューム」(または「メモリボリューム」または単に「ボリューム」)は、1以上のアドレス指定可能なメモリロケーションから構成されるメモリロケーション群を意味する。メモリボリュームは、例えば、メモリ130における全てのアドレス指定可能なメモリロケーションを含むとしてよい。これに代えて、メモリボリュームは、メモリ130における一部のアドレス指定可能なメモリロケーションのみを含むとしてよい。本発明を限定するのではなく例示を目的として、メモリボリュームは、メモリ130の一のICチップに含まれるアドレス指定可能なメモリロケーションのみを含むとしてよい。例えば、全てのメモリセルまたはその一部を含むとしてよい。特定の実施形態によると、メモリボリュームは、メモリ130のマルチチップメモリパッケージにおいて一部のICチップに含まれるアドレス指定可能なメモリロケーションのみを含むとしてよい。
ある実施形態によると、メモリボリュームの識別子(または、単に「メモリボリューム識別子」)は、当該メモリボリューム内のメモリロケーションのアドレスとは別であり、例えば、アドレスに加えて生成される。メモリボリューム識別子は、メモリ130に対して、例えば、アドレス情報が他のメモリボリュームにおけるロケーションをアドレス指定するのではなく、特定のメモリボリュームにおけるロケーションを他のアドレス情報がアドレス指定すると特定するとしてよい。したがって、メモリボリューム識別子は、特定の実施形態によると、ボリュームアドレスを含むとしてよい。
ある実施形態によると、メモリ130は、複数のメモリボリュームを含む。各メモリボリュームは、対応するボリューム固有識別子に対応付けられる。ある実施形態によると、メモリ130の2つのメモリボリュームは、メモリコントローラ120との通信について1以上の信号線を共有する。メモリ130は、1以上の共有されている信号線の信号が複数のメモリボリュームのうち特定の1つのボリュームに関連するか否かを識別するべく、メモリボリューム識別子を決定するロジックを備えるとしてよい。本発明を限定するのではなく一例として、メモリ130は、初期化イベントを示す何らかの指標の後に、メモリコントローラ120が供給する信号に基づきメモリボリューム識別子を決定するロジックを備えるとしてよい。例えば、初期化イベントは、メモリボリューム識別子を割り当てる必要性、または、決定する必要性に対応付けられている。
図2は、実施形態に係る、メモリボリューム識別子を決定するメモリデバイス200の選択構成要素を示す図である。メモリデバイス200は、例えば、コンピュータシステム100のフィーチャの一部または全てを含むシステムにおいて動作可能であるとしてよい。本発明を限定するのではなく一例として挙げると、メモリ130のようなメモリは、メモリデバイス200のフィーチャの一部または全てを有するデバイスを備えるとしてよい。特定の実施形態の一部の側面を図示するべく、メモリデバイス200のフィーチャは、上記のようなコンピュータシステムで動作するものとして本明細書で説明する。
メモリデバイス200は、コンピュータシステムでやり取りされるデータを格納するメモリセル280を有するとしてよい。メモリセル280は、例えば、PCMセルを含むとしてよいが、特定の実施形態はこれに限定されない。ある実施形態によると、メモリデバイス200は、メモリセル280とのデータのやり取りを制御するメモリコントローラに結合されているとしてよい。本発明を限定するのではなく一例として挙げると、メモリデバイス200は、メモリデバイス200がメモリコントローラコマンドを受信するためのコマンドバス入力240、メモリデバイス200がアドレス情報をやり取りするためのアドレスバス入出力(I/O)250、および、メモリデバイス200がアドレス情報に対応するデータをやり取りするためのデータバスI/O260のうち1以上を有するとしてよい。コマンドバス入力240、アドレスバスI/O250およびデータバスI/O260は単に一例にすぎず、特定の実施形態に限定されないことに留意されたい。例えば、コマンドバス入力240、アドレスバスI/O250、および、データバスI/O260の一部または全ては、一のI/Oに組み合わせるとしてもよい。例えば、一の共通のアドレス/データ/コマンドバスをメモリコントローラに結合するとしてもよい。
メモリセル280は、メモリボリュームの一部である1以上のアドレス指定可能ロケーションを含むとしてよい。例えば、メモリボリュームには、メモリボリューム識別子230が対応付けられる。メモリデバイス200は、メモリボリュームにおける1以上のアドレス指定可能ロケーションへのアクセスを実施するインターフェースロジック270を含むとしてよい。本発明に限定されることなく一例を挙げると、インターフェースロジック270は、リード、ライト、リフレッシュ、および/または、メモリボリュームのロケーションにさまざまな方法でアクセスするその他の同様の動作のうち1以上を実行するとしてよい。
メモリボリュームへのこのようなアクセスは、例えば、コマンド、アドレス、データ、および/または、メモリデバイス200がメモリコントローラから受信する他の同様の信号のうち1以上に少なくとも部分的に基づいて行われるとしてよい。インターフェースロジック270の動作は、こういったコマンド、アドレス、データおよび/または他の信号が、対象であるメモリボリュームにアクセスすることを目的としているか否かに基づいて決まるとしてよい。例えば、メモリボリュームへのアクセスは、インターフェースロジック270が当該メモリボリュームを特定する信号を受信することを条件にするとしてよい。このようなアクセスを容易にするべく、インターフェースロジック270は、ボリューム識別子230を受信するか、または、ボリューム識別子230を決定するとしてよい。続いて発行されるメモリボリュームへのアクセスを求める要求は、当該要求をボリューム識別子230に対応付けるターゲットボリューム情報等の情報を含むとしてよい。
メモリデバイス200は、ボリューム識別子230を決定する設定ロジック220を含むとしてよい。ある実施形態によると、設定ロジック220がボリューム識別子230を決定する処理は、コンピュータシステムの初期化イベントに応じて、または、初期化イベントの一環として生成される情報210をメモリデバイス200が検出することに応じて行われるとしてよい。初期化イベントは、その結果として、メモリボリュームと識別子の値とを対応付けるための設定(例えば、再設定)をメモリデバイス200が必要とするというコンピュータシステムの状態に移行させるとしてもよいし、この状態に対応するとしてもよい。
情報210は、例えば、供給電圧レベルおよび/または別の電圧特性、しきい値へ移行していること、または、しきい値を超えることを含むとしてよい。これに代えて、または、これに加えて、情報210は、メモリデバイス200への電力供給が中断された後で最初の場合にはアサートされているチップ選択信号を含むとしてよい。ある実施形態によると、専用信号(例えば、RESET信号)は、初期化イベントが発生したこと、または、初期イベントが発生することを特定または指定するとしてよい。ある実施形態によると、インバンドRESETまたは他のコマンドは、現在有効な識別子または決定済みの識別子を持たないメモリデバイスにブロードキャストされ、初期化イベントが発生したこと、または、初期化イベントが発生することを特定または指定するとしてよい。
初期化イベントは、例えば、コンピュータシステムの電力状態の移行を含むとしてよい。本発明を限定するのではなく一例として挙げると、初期化イベントは、起動、ウェイク状態への移行、または、その他の電力状態イベントを含むとしてよい。初期化イベントでは、例えば、メモリボリュームの識別子は、無効であるか、未決定であるか、または、コンピュータシステムの前回の電源オン状態(例えば、ウェイク状態)から継続していない。
本明細書で説明するように、設定ロジック220は、メモリコントローラがメモリデバイス200に送信したコマンド情報に基づいて、ボリューム識別子230を決定するとしてよい。例えば、設定ロジック220は、ボリューム識別子230を選択的に、メモリデバイス200に送信された値に、または、メモリデバイス200内で生成された値に設定するとしてよい。ある実施形態によると、ボリューム識別子230の設定を選択的に行うことは、メモリデバイス200で受信したコマンド情報に基づいて行われるとしてよい。設定ロジック220は、例えば、インターフェースロジック270を介して、または、コマンドバスインターフェース240から直接、このようなコマンド情報を検出するために結合されているとしてよい。
図3は、ある実施形態に係る、メモリボリューム識別子を決定するシステム300の選択構成要素を示す図である。システム300は、例えば、コンピュータシステム100のメモリシステム等のメモリシステムを含むとしてよい。ある実施形態によると、システム300は、コンピュータハードウェアプラットフォーム内で動作するべく、ソリッドステートドライブデバイスを含むか、または、当該ソリッドステートドライブデバイス内に存在する。
システム300は、複数のメモリデバイスに結合されているメモリコントローラ310を含むとしてよい。複数のメモリデバイスの一例として、メモリデバイス320a、320bを示す。ある実施形態によると、メモリコントローラ310の機能はメモリコントローラ120の機能に、メモリデバイス320a、320bの機能はメモリ130の機能に対応する。これに加えて、または、これに代えて、メモリデバイス320a、320bのうち1以上は、例えば、メモリデバイス200のフィーチャの一部または全てを含むとしてよい。システム300の特定のフィーチャはメモリデバイス320a、320bに関連付けて本明細書で説明するが、本明細書の内容はメモリコントローラに結合されているさまざまな1以上の追加または別のメモリデバイスのいずれかにも適用されるべく拡張され得ると理解されたい。
ある実施形態によると、システム300は、メモリコントローラ310とのやり取りを実行するべくメモリデバイス320a、320bが共有する1以上の信号線を含む。本発明を限定することなく一例として挙げると、システム300は、1以上のバスを含むとしてよい。例えば、メモリコントローラ310と、メモリデバイス320a、320bのうち一方または両方との間でアドレス、コマンド、データおよび/または他の信号をさまざまな方法でやり取りするべく、アドレスバス330、コマンドバス340およびデータバス350のうち1以上を含むとしてよい。これに加えて、または、これに代えて、チップ選択線325は、メモリコントローラ310と、メモリデバイス320a、320bの一方または両方との間でチップ選択信号(またはチップイネーブル信号)をさまざまな方法でやり取りするとしてよい。例えば、チップ選択信号は、1以上の他の信号がメモリデバイス320a、320bのうち一方または両方における少なくとも一部のロジックで評価されることを、さまざまな方法で少なくとも部分的に示す。アドレスバス330、コマンドバス340、データバス350およびチップ選択線325は、特定の実施形態に限定されず、さまざまな実施形態によると、さまざまな1以上の追加または別の信号線のいずれかが、メモリデバイス320a、320bによって共有され得ると理解されたい。
ある実施形態によると、メモリデバイス320a、320bは、1以上のメモリボリュームを含むとしてよい。メモリコントローラ310からの所与の信号が、例えば、他のメモリボリュームへのアクセスを実行するためでなく、特定のメモリボリュームへのアクセスを実施するための信号であるか否かを区別するべく、メモリデバイス320a、320bの一方または両方は、1以上のメモリボリューム識別子を決定するロジックを含むとしてよい。
本発明を限定するのではなく一例として挙げると、メモリデバイス320aは、初期化イベントの情報に応じて、メモリボリューム識別子を決定するとしてよい。ある実施形態によると、メモリデバイス320aは、メモリデバイス320aが初期化イベントの情報を検出した後、例えば、コマンドバス340を介して、メモリデバイス320aに供給されるコマンド情報に基づいてメモリボリューム識別子を決定するとしてよい。
ある実施形態によると、システム300のボリューム識別子は、メモリデバイス320、320bを含む複数のデバイスから成るデイジーチェーン構成に沿って順番に決定されるとしてよい。例えば、デイジーチェーン構成に含まれる一連のデバイスは、ボリューム識別子割り当ての受信が許可されている第1のデバイスを含むとしてよい。第1のデバイスは、一連のデバイスのうち第2のデバイスはボリューム識別子割り当てを受信しない旨を示す信号を送信するとしてよい。第2のデバイスは、次のデバイスに対して、ボリューム識別子割り当てを受信しない旨を伝達するとしてよく、この繰り返しとなる。第1のデバイスがボリューム識別子割り当てを受信した後、一連のデバイスのうち第2のデバイスには、ボリューム識別子割り当ての受信が許可されている旨が、第1のデバイスから伝えられるとしてよい。第2のデバイスは、ボリューム識別子割り当てを受信した後、ボリューム識別子割り当ての受信が許可されている旨を任意の次のデバイスに伝えるとしてよく、この繰り返しとなる。
本発明を限定することなく一例として挙げると、メモリデバイス320a、320bを含む複数のデバイスはそれぞれ、デイジーチェーンの複数のデバイスに互いにさまざまな方法で接合されている対応する信号入力(Sin)ピンおよび信号出力(Sout)ピン(ピンに代えて、パッド、ボール等でもよい)を含むとしてよい。複数のデバイスが全てイネーブルされている旨をチップ選択線325が示す場合、例えば、少なくとも一部の理由として、メモリデバイス320aはSin入力に供給される信号によってボリューム識別子割り当てを受信しないように設定されていないので、メモリデバイス320aは、メモリコントローラ310からボリューム識別子割り当てを受け取る準備があるとしてよい。メモリデバイス320aは、ボリューム識別子割り当てを受け取ることは許可されていても実際に受け取る前は、自身のSout出力からメモリデバイス320bのSin入力へと、メモリデバイス320bがボリューム識別子割り当てを受け取らないように阻止する信号を送信するとしてよい。これに代えて、メモリデバイス320bはさらに、自身のSout出力から、任意の次のダウンストリームデバイス(不図示)がボリューム識別子割り当てを受け取らないように信号を送信するとしてよく、以下同様である。
メモリデバイス320aは、ボリューム識別子を決定することに応じて、自身のSoutを介して、メモリデバイス320bがボリューム識別子割り当ての受信を許可されている旨を伝達するとしてよい。メモリデバイス320bは、続いてボリューム識別子割り当てを受け取って、自身のSoutを介して、次のデバイスがボリューム識別子割り当ての受信を許可されている旨を伝えるとしてよく、以下同様である。ある実施形態によると、Sin信号およびSout信号は、例えば、「オープンNANDフラッシュインターフェース3.0の仕様(オープンNANDフラッシュインターフェースワーキンググループ、2011年3月15日)」に記載のENoピンおよびENiピンの機能と同様の機能を実現するとしてよい。
別の実施形態によると、メモリコントローラ310は、複数のチップ選択信号を含む一のマルチチップメモリデバイスに結合されているとしてよい。このようなマルチチップメモリデバイスは、マルチチップメモリデバイスの2以上のICメモリチップが共有する一のバスインターフェースを含むとしてよい。
図4は、別の実施形態に係る、メモリボリューム識別子を決定するシステム400の選択構成要素を示す図である。システム400は、例えば、コンピュータシステム100のメモリシステム等のメモリシステムを含むとしてよい。ある実施形態によると、システム400は、コンピュータハードウェアプラットフォームで動作するべく、ソリッドステートドライブデバイスを含むか、または、ソリッドステートドライブデバイス内に存在する。
システム400は、1以上のメモリデバイスに結合されているメモリコントローラ410を備えるとしてよい。メモリデバイスの例として、メモリデバイス420a、420bを図示している。各メモリデバイスは、信号線425a、425b等の専用チップ選択信号線を介して結合されている。ある実施形態によると、メモリコントローラ410の機能はメモリコントローラ120の機能に対応し、メモリデバイス420a、420bの機能はメモリ130の機能に対応するこれに加えて、または、これに代えて、メモリデバイス420a、420bのうち1以上は、例えば、メモリデバイス200のフィーチャのうち一部または全てを含むとしてよい。システム400の所定のフィーチャは本明細書ではメモリデバイス420a、420bに関連付けて説明されるが、本明細書の記載内容はメモリコントローラに結合されているさまざまな1以上の追加または別のメモリデバイスのいずれかに適用されるよう拡張され得ると理解されたい。
特定の実施形態はこれに限定されないが、システム400は、メモリコントローラ410とのやり取りを実行するべく複数のメモリデバイスが共有している1以上の信号線を含むとしてよい。本発明を限定することなく一例として挙げると、システム400は、1以上のバスを含むとしてよい。例えば、メモリコントローラ410と、メモリデバイス420a、420bのうち一方または両方との間でアドレス、コマンド、データおよび/または他の信号をさまざまな方法でやり取りするべく、アドレスバス430、コマンドバス440およびデータバス450のうち1以上を含むとしてよい。アドレスバス430、コマンドバス440およびデータバス450は、特定の実施形態に限定されず、さまざまな実施形態によると、さまざまな1以上の追加または別の信号線のいずれかが、メモリデバイス420a、420bによって共有され得ると理解されたい。
ある実施形態によると、メモリデバイス420a、420bは、1以上のメモリボリュームを含むとしてよい。専用チップ選択線425a、425bが設けられているので、複数の異なるメモリデバイス420a、420bのメモリボリュームへの伝達は、チップ選択信号のみに基づいて区別することができる。例えば、メモリコントローラ410は、アドレスバス430、コマンドバス440およびデータバス450の一部または全てに関する情報を提供し、当該情報を受信および評価するべくメモリデバイス420a、420bのうち1つのみを選択的にイネーブルするとしてよい。このような実施形態では、メモリコントローラは、メモリデバイス420a、420bに対してメモリボリュームの識別子を提供する必要はない。チップ選択のみで、一のメモリボリュームへのアクセスに関する通信と、別のメモリボリュームへのアクセスに関する通信とを区別することができる。
複数の異なるプラットフォームで利用できるように、特定の実施形態は、システム300またはシステム400で動作可能であるメモリデバイスを含む。本発明を限定するのではなく一例として挙げると、メモリデバイス420aは、メモリデバイス420a内のロケーションを含むメモリボリュームに対応付けられる識別子を送信するメモリコントローラ410が無くても動作するようメモリデバイス420a自身を設定するロジックを含むとしてよい。
図5は、ある実施形態に係る、メモリのボリュームの識別子を決定する方法500の選択構成要素を示す図である。方法500は、例えば、システム100のフィーチャの一部または全てを備えるシステムにおいてメモリボリュームの識別子を決定するべく実行されるとしてよい。ある実施形態によると、方法500は、例えば、設定ロジック220等のロジックによってメモリデバイスで実行される。
方法500は、510において、コンピュータシステムのメモリデバイスがコンピュータシステムの初期化イベントを検出することを含むとしてよい。初期化イベントは、例えば、メモリデバイスのメモリボリュームの識別子が利用不可能であるコンピュータシステムの状態に対応付けられているとしてよい。本発明を限定することなく一例として挙げると、メモリデバイスは、コンピュータシステムがメモリボリュームの識別子が存在しない状態になった、メモリボリュームの識別子が無効である状態になった、メモリボリュームの識別子が未決定である状態になった、メモリボリュームの識別子がコンピュータシステムの前回の電源オン状態(例えば、ウェイク状態)から持続していない状態になった等の旨を示す1以上の信号を受信するとしてよい。初期化イベントの情報は、例えば、コンピュータシステムの供給電圧がしきい値を超えること、メモリデバイスへの電力供給が中断された後チップ選択線が最初にアサートされること等のうち1以上を含むとしてよい。さまざまな実施形態によると、さまざまな追加または別の初期化イベントの情報のいずれかが510で検出され得ると理解されたい。
初期化を検出することに基づき、方法500は、520において、メモリデバイスにおいてコマンドが受信されているかどうかの検出処理を開始するとしてよい。本発明を限定することなく一例として挙げると、方法500は、例えば、メモリデバイスを制御するべく結合されているメモリコントローラから1以上のコマンド信号が受信されているか否かを時折ポーリングするループを開始するとしてよい。ある実施形態によると、520においてポーリングの対象となるコマンドは、メモリデバイスが初期化イベントを検出したのでメモリコントローラからメモリデバイスに供給されるべき第1のコマンドである。方法500には図示されていないが、一以上の条件のさまざまな組み合わせのいずれかがこのような判断ステップを開始および/または継続するための前提と理解されたい。例えば、判断ステップの実行は、チップ選択線がメモリコントローラによってアサートされていることを条件にするとしてよい。これに代えて、または、これに加えて、この判断ステップの実行は、例えば、メモリデバイスのSin入力を介して、メモリデバイスが別のメモリデバイスからこのような判断ステップを阻止する何らかの信号を受信しないことを条件にするとしてよい。これに代えて、または、これに加えて、一以上のタイムアウト、ループカウント限界値、エラー対処メカニズム等は、520においてコマンド受信の検出を継続するか否か、および/または、どのように継続するかを特徴付けるとしてよい。
520においてコマンドを検出することに基づき、方法500は、530において、メモリボリュームへの識別子の割り当てをコマンドが特定しているか否かを判断するとしてよい。このコマンドは、例えば、メモリコントローラが、メモリデバイスに、メモリボリュームに対応付けられるべき識別子の値を送信することに対応付けられているとしてよい。このコマンドは、例えば、外部から供給される識別子の値とメモリボリュームとを対応付ける設定を実行するよう、メモリデバイスに指示するとしてよい。例えば、この指示は、ONFI3.0仕様のSet Featureコマンドと同様に行われるとしてよい。
これに代えて、コマンドは、識別子のメモリボリュームへの割り当てとは無関係の処理のみを特定しているとしてもよい。本発明を限定することなく一例として挙げると、このようなコマンドは、リード、ライト、消去、リフレッシュ、または、メモリボリューム識別子の割り当てを本質的に含んでいないその他の同様の処理を特定しているとしてよい。例えば、このようなコマンドは、メモリボリュームの識別子以外のメモリデバイスの1以上のフィーチャのみを設定するとしてよい。
コマンドがメモリボリューム識別子の割り当てを特定していると判断される場合、方法500は、540において、メモリボリュームと、メモリデバイスの外部のエージェント、例えば、メモリコントローラから供給された識別子の値とを対応付けるとしてよい。例えば、このような識別子の値は、520で評価されたコマンドに含まれているとしてもよいし、当該コマンドに対応付けられているとしてもよい。ある実施形態によると、メモリボリュームと識別子の値とを対応付ける処理は、一のメモリボリュームへのアクセスを他のメモリボリュームへのアクセスとを区別する際に参照するべく後にアクセスできるよう、メモリデバイスが当該値を1以上のレジスタに格納する処理を含むとしてよい。540におけるメモリボリュームと識別子の値とを対応付ける処理は、例えば、メモリデバイスを、少なくとも部分的に、システム300等のメモリシステムにおいて動作するように設定するとしてよい。
コマンドはメモリボリューム識別子の割り当てを特定していないと判断される場合、方法500は、550において、メモリボリュームと、例えば、510で初期化イベントを検出する前にメモリデバイスが持つデフォルト値(例えば、0×0)とを対応付けるとしてよい。ある実施形態によると、メモリボリュームと識別子の値とを対応付ける処理は、一のメモリボリュームへのアクセスを他のメモリボリュームへのアクセスとを区別する際に参照するべく後にアクセスできるよう、メモリデバイスが当該値を1以上のレジスタに格納する処理を含むとしてよい。デフォルト値は、例えば、既に決定され、合意された独自のデフォルトおよび/または産業基準に基づいたデフォルトを含むとしてよい。デフォルトの識別子の値とメモリボリュームとを対応付ける処理は受信したコマンドの評価に基づいて行われるが、デフォルト値自体は、ある実施形態によると、コマンドに含まれるどの情報とも無関係であるとしてよい。例えば、デフォルト値は、メモリデバイスで利用可能であるとしてもよいし、または、520でコマンドが評価される前に、メモリデバイス内で生成可能であるとしてもよい。550においてメモリボリュームとデフォルトの識別子の値とを対応付ける処理は、例えば、少なくとも部分的に、システム200等のメモリシステムで動作するようにメモリデバイスを設定するとしてよい。
図6は、ソリッドステートドライブ600の実施形態を示すブロック図である。ソリッドステートドライブ(「ソリッドステートディスク」とも呼ばれる)は、格納媒体として、ソリッドステートメモリとも呼ばれる半導体メモリを利用する。半導体メモリは、比較するとハードドライブよりも強固であり、振動、ほこり、湿度および突然の速度変化から受ける影響がはるかに小さいという利点を持つ。半導体メモリはさらに、格納容量が同様の場合、通常のハードドライブよりも必要とする電力が少ない傾向にある。
ソリッドステートドライブ600は、不揮発性メモリ620を制御するためのソリッドステートドライブコントローラ610を有するとしてよい。ある実施形態によると、ソリッドステートドライブコントローラ610は、メモリコントローラ120のフィーチャの一部または全てを含む。これに代えて、または、これに加えて、ソリッドステートドライブコントローラ610は、メモリコントローラ310および/またはメモリコントローラ410のフィーチャの一部または全てを含むとしてよい。不揮発性メモリ620は、不揮発性メモリセル、例えば、相変化メモリセルのアレイを含むとしてよい。ある実施形態によると、不揮発性メモリ620は、メモリ130のフィーチャの一部または全てを含む。これに代えて、または、これに加えて、不揮発性メモリ620は、例えば、メモリデバイス320a、320bの構成にしたがって、または、メモリデバイス420a、420bの構成にしたがって、互いに結合されている複数のコンポーネントメモリデバイスを含むとしてよい。ソリッドステートドライブ600は、ホストインターフェース605を介してホストコントローラと通信するとしてよい。ソリッドステートドライブコントローラ610は、不揮発性メモリ620のリード、ライトおよび消去を制御するとしてよい。
メモリデバイスを動作させる方法およびアーキテクチャを本明細書で説明している。上記では、説明を目的として、特定の実施形態について十分に説明するべく、具体的且つ詳細な内容を数多く記載した。しかし、上記の具体的且つ詳細な内容を利用することなく特定の実施形態を実施し得ることは当業者には明らかであろう。また、構造およびデバイスは、説明が曖昧にならないように、ブロック図の形式で図示している。
本明細書で「一実施形態」または「実施形態」という場合、当該実施形態に関連付けて説明する特定のフィーチャ、構造または特性が本発明の少なくとも一の実施形態に含まれていることを意味する。「一実施形態において」という表現は本明細書において何度も登場するが、必ずしも全てが同じ実施形態を意味するものではない。
本明細書の詳細な説明の一部では、コンピュータメモリ内のデータビットに対する演算を表す記号およびアルゴリズムを用いた。このようなアルゴリズムによる説明および記載は、コンピューティング分野の当業者が研究内容を同分野の当業者に伝える際に最も効率的な手段である。アルゴリズムは、本明細書において、および、一般的に、所望の結果を導き出すための矛盾しない一連のステップと考えられている。ステップは、物理量を物理的に走査することを必要とする。必須ではないが、通常、このような物理量は、格納、転送、結合、比較および操作が可能な電気信号または磁気信号の形態を取る。場合によっては、主に一般的に利用することを理由として、このような信号をビット、値、エレメント、シンボル、文字、項、数字等と呼ぶことが便利であることが分かっている。
しかし、上記および同様の用語はすべて適切な物理量に対応付けられるものであって、これらの量に適用される便利な名称に過ぎないことを心に留めていただきたい。本明細書から明らかであるが、特に明記していない限り、明細書において、「処理」または「算出」または「計算」または「判断」または「表示」等の用語を用いた説明は、コンピュータシステムのレジスタおよびメモリ内の物理量(電気量)で表現されるデータを操作および変換して、同様にコンピュータシステムのメモリまたはレジスタまたは他の同様の情報ストレージ、送信デバイスまたは表示デバイスにおける物理量として表現される他のデータを生成するコンピュータシステムまたは同様の電子コンピューティングデバイスの動作およびプロセスを意味すると考えられる。
特定の実施形態はさらに、本明細書で説明した処理を実行する装置に関する。当該装置は特に、必要な目的を実現するために構成されているとしてよく、または、コンピュータに格納されているコンピュータプログラムによって選択的にアクティブ化または再構成される汎用コンピュータを含むとしてもよい。このようなコンピュータプログラムは、これらに限定されないが、任意の種類のディスク、例えば、フロッピー(登録商標)ディスク、光ディスク、CD−ROMおよび光磁気ディスク、リードオンリーメモリ(ROM)、ダイナミックランダムアクセスメモリ(DRAM)等のランダムアクセスメモリ(RAM)、EPROM、EEPROM、磁気カードまたは光カード、または、電子命令を格納するのに適しており、コンピュータシステムバスに結合されている任意の種類の媒体等のコンピュータ可読格納媒体に格納されているとしてよい。
本明細書で説明するアルゴリズムおよびディスプレイは、任意の特定のコンピュータまたは他の装置に本質的に関連しているものではない。本明細書の教示内容に応じたプログラムと共に、さまざまな汎用システムを利用するとしてよい。または、より専門性の高い装置を必要な方法のステップを実行するように構成することが便利な場合もある。こういったさまざまなシステムについて必要な構造は、本明細書の記載内容から明らかである。また、特定の実施形態は任意の特定のプログラミング言語に基づいて説明していない。さまざまなプログラミング言語を用いて本明細書に記載した実施形態の教示内容を実現し得ることに想到するであろう。
本明細書の記載内容以外に、開示した実施形態およびその実施例をその範囲から逸脱することなくさまざまな点で変形し得る。このため、本明細書の説明および例は、限定的ではなく例示を目的としたものと解釈されたい。本発明の範囲は、請求項にのみ基づいて定めるべきである。

Claims (20)

  1. メモリデバイスで実行される方法であって、
    初期化イベントを検出する段階と、
    前記初期化イベントを検出する段階の後に、コマンド情報を受信する段階と、
    メモリボリュームに識別子が割り当てられる旨を、受信した前記コマンド情報が特定しているか否かを判断する段階と、
    前記メモリボリュームに識別子が割り当てられる旨を、前記受信したコマンド情報が特定していると判断する場合、前記メモリボリュームに対応付けるべく識別子の値を格納する段階であって、前記識別子の値は、前記初期化イベントを検出する段階の後で前記メモリデバイスが受信する情報に基づいて決まる段階と、
    前記メモリボリュームに識別子が割り当てられる旨を、前記受信したコマンド情報が特定していないと判断する場合、前記メモリボリュームに対応付けるべくデフォルトの識別子の値を格納する段階と
    を備える方法。
  2. 前記コマンド情報は、前記初期化イベントを検出する段階の後、メモリコントローラから前記メモリデバイスが最も早く受信するコマンドに含まれている請求項1に記載の方法。
  3. 前記メモリデバイスは、相変化メモリセルを含む請求項1または2に記載の方法。
  4. 前記メモリデバイスは、集積回路チップ(ICチップ)を含み、
    前記メモリボリュームは、前記ICチップのメモリロケーションのみを含む請求項1から3のいずれか一項に記載の方法。
  5. 前記コマンド情報に少なくとも部分的に基づいて、メモリボリューム識別子割り当ての受信が別のメモリデバイスに許可されている旨を示す信号を送信する段階をさらに備える請求項1から4のいずれか一項に記載の方法。
  6. 前記初期化イベントは、前記メモリデバイスを含むコンピュータシステムの電力状態の移行を含む請求項1から5のいずれか一項に記載の方法。
  7. 前記デフォルトの識別子の値は、前記メモリボリュームに対応付けられるべく格納され、
    前記方法はさらに、
    前記コマンド情報に応じて前記メモリボリュームへのアクセスを実行する段階を備える請求項1から6のいずれか一項に記載の方法。
  8. 前記メモリボリュームへのアクセスを実行する段階は、ブート処理命令を取得する請求項7に記載の方法。
  9. チップ選択信号を受信する段階をさらに備え、
    前記メモリボリュームに識別子が割り当てられる旨を、受信した前記コマンド情報が特定しているか否かを判断する段階は、受信した前記チップ選択信号に部分的に基づいて実行される請求項1から8のいずれか一項に記載の方法。
  10. 初期化イベントを検出する設定ロジックと、
    前記設定ロジックに結合されているコマンド入力と
    を備えるメモリデバイスであって、
    前記コマンド入力は、前記初期化イベントが前記設定ロジックによって検出された後にコマンド情報を受信し、
    前記設定ロジックはさらに、メモリボリュームに識別子が割り当てられる旨を、受信した前記コマンド情報が特定しているか否かを判断し、
    前記メモリボリュームに識別子が割り当てられる旨を、前記受信したコマンド情報が特定していると判断する場合、前記設定ロジックは、前記メモリボリュームに対応付けるべく識別子の値を格納し、前記識別子の値は、前記設定ロジックが前記初期化イベントを検出した後で前記メモリデバイスが受信する情報に基づいて決まり、
    前記メモリボリュームに識別子が割り当てられる旨を、前記受信したコマンド情報が特定していないと判断する場合、前記設定ロジックは、前記メモリボリュームに対応付けるべくデフォルトの識別子の値を格納するメモリデバイス。
  11. 前記コマンド情報は、前記設定ロジックが前記初期化イベントを検出した後、メモリコントローラから前記メモリデバイスが最も早く受信するコマンドに含まれている請求項10に記載のメモリデバイス。
  12. 前記メモリデバイスは、相変化メモリセルを含む請求項10または11に記載のメモリデバイス。
  13. 前記メモリデバイスは、集積回路チップ(ICチップ)を含み、
    前記メモリボリュームは、前記ICチップのメモリロケーションのみを含む請求項10から12のいずれか一項に記載のメモリデバイス。
  14. 前記コマンド情報に少なくとも部分的に基づいて、メモリボリューム識別子割り当ての受信が別のメモリデバイスに許可されている旨を示す信号を送信する出力をさらに備える請求項10から13のいずれか一項に記載のメモリデバイス。
  15. 前記設定ロジックが前記初期化イベントを検出することは、前記設定ロジックが前記メモリデバイスを含むコンピュータシステムの電力状態の移行を検出することを含む請求項10から14のいずれか一項に記載のメモリデバイス。
  16. コマンドバスと、
    前記コマンドバスを介してコマンド情報を供給するメモリコントローラと、
    前記コマンドバスを介して前記メモリコントローラに結合されているメモリデバイスと
    を備え、
    前記メモリデバイスは、
    初期化イベントを検出する設定ロジックと、
    前記設定ロジックに結合されているコマンド入力と
    を有し、
    前記コマンド入力は、前記設定ロジックが前記初期化イベントを検出した後に前記コマンド情報を受信し、
    前記設定ロジックはさらに、メモリボリュームに識別子が割り当てられる旨を、受信した前記コマンド情報が特定しているか否かを判断し、
    前記メモリボリュームに識別子が割り当てられる旨を、前記受信したコマンド情報が特定していると判断する場合、前記設定ロジックは、前記メモリボリュームに対応付けるべく識別子の値を格納し、
    前記識別子の値は、前記設定ロジックが前記初期化イベントを検出した後で前記メモリデバイスが受信する情報に基づいて決まり、
    前記メモリボリュームに識別子が割り当てられる旨を、前記受信したコマンド情報が特定していないと判断する場合、前記設定ロジックは、前記メモリボリュームに対応付けるべくデフォルトの識別子の値を格納する
    システム。
  17. 前記コマンド情報は、前記設定ロジックが前記初期化イベントを検出した後、メモリコントローラから前記メモリデバイスが最も早く受信するコマンドに含まれている請求項16に記載のシステム。
  18. 前記メモリデバイスは、相変化メモリセルを含む請求項16または17に記載のシステム。
  19. 前記メモリデバイスは、集積回路チップ(ICチップ)を含み、
    前記メモリボリュームは、前記ICチップのメモリロケーションのみを含む請求項16から18のいずれか一項に記載のシステム。
  20. 前記コマンド情報に少なくとも部分的に基づいて、メモリボリューム識別子割り当ての受信が別のメモリデバイスに許可されている旨を示す信号を送信する出力をさらに備える請求項16から19のいずれか一項に記載のシステム。
JP2014519231A 2011-07-01 2012-07-02 メモリのボリュームの識別子を決定する方法、装置およびシステム Active JP5901759B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/175,721 2011-07-01
US13/175,721 US8463948B1 (en) 2011-07-01 2011-07-01 Method, apparatus and system for determining an identifier of a volume of memory
PCT/US2012/045285 WO2013006565A2 (en) 2011-07-01 2012-07-02 Method, apparatus and system for determining an identifier of a volume of memory

Publications (2)

Publication Number Publication Date
JP2014518427A true JP2014518427A (ja) 2014-07-28
JP5901759B2 JP5901759B2 (ja) 2016-04-13

Family

ID=47437658

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014519231A Active JP5901759B2 (ja) 2011-07-01 2012-07-02 メモリのボリュームの識別子を決定する方法、装置およびシステム

Country Status (7)

Country Link
US (1) US8463948B1 (ja)
EP (1) EP2726993A4 (ja)
JP (1) JP5901759B2 (ja)
KR (1) KR101545074B1 (ja)
CN (1) CN103765397B (ja)
TW (1) TWI464594B (ja)
WO (1) WO2013006565A2 (ja)

Families Citing this family (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013048385A1 (en) 2011-09-28 2013-04-04 Intel Corporation Maximum-likelihood decoder in a memory controller for synchronization
EP2761472B1 (en) 2011-09-30 2020-04-01 Intel Corporation Memory channel that supports near memory and far memory access
US9430372B2 (en) 2011-09-30 2016-08-30 Intel Corporation Apparatus, method and system that stores bios in non-volatile random access memory
WO2013048485A1 (en) 2011-09-30 2013-04-04 Intel Corporation Autonomous initialization of non-volatile random access memory in a computer system
CN103946813B (zh) 2011-09-30 2017-08-25 英特尔公司 基于使用统计量追踪的远存储器访问信号的生成
US9317429B2 (en) 2011-09-30 2016-04-19 Intel Corporation Apparatus and method for implementing a multi-level memory hierarchy over common memory channels
EP3346386B1 (en) 2011-09-30 2020-01-22 Intel Corporation Non-volatile random access memory (nvram) as a replacement for traditional mass storage
CN103946824B (zh) 2011-11-22 2016-08-24 英特尔公司 一种用于非易失性随机访问存储器的访问控制方法、装置及系统
CN103975287B (zh) 2011-12-13 2017-04-12 英特尔公司 使用非易失性随机存取存储器的服务器中的增强系统睡眠状态支持
WO2013089686A1 (en) 2011-12-13 2013-06-20 Intel Corporation A method and system for providing instant responses to sleep state transitions with non-volatile random access memory
CN103999161B (zh) 2011-12-20 2016-09-28 英特尔公司 用于相变存储器漂移管理的设备和方法
CN107368433B (zh) 2011-12-20 2021-06-22 英特尔公司 2级存储器分级结构中的存储器侧高速缓存的动态部分断电
US9448922B2 (en) 2011-12-21 2016-09-20 Intel Corporation High-performance storage structures and systems featuring multiple non-volatile memories
US9202548B2 (en) 2011-12-22 2015-12-01 Intel Corporation Efficient PCMS refresh mechanism
CN104115132B (zh) 2011-12-22 2018-02-06 英特尔公司 借助于存储器通道关闭的功率节约
CN104137084B (zh) 2011-12-28 2017-08-11 英特尔公司 提高耐久性和抗攻击性的用于pcm缓存的有效动态随机化地址重映射
US9477616B2 (en) 2013-08-07 2016-10-25 Micron Technology, Inc. Devices, systems, and methods of reducing chip select
US20170017403A1 (en) * 2014-06-24 2017-01-19 Hitachi, Ltd. Storage system
US10204047B2 (en) 2015-03-27 2019-02-12 Intel Corporation Memory controller for multi-level system memory with coherency unit
US10073659B2 (en) 2015-06-26 2018-09-11 Intel Corporation Power management circuit with per activity weighting and multiple throttle down thresholds
US10387259B2 (en) 2015-06-26 2019-08-20 Intel Corporation Instant restart in non volatile system memory computing systems with embedded programmable data checking
US10108549B2 (en) 2015-09-23 2018-10-23 Intel Corporation Method and apparatus for pre-fetching data in a system having a multi-level system memory
US10185501B2 (en) 2015-09-25 2019-01-22 Intel Corporation Method and apparatus for pinning memory pages in a multi-level system memory
US10261901B2 (en) 2015-09-25 2019-04-16 Intel Corporation Method and apparatus for unneeded block prediction in a computing system having a last level cache and a multi-level system memory
US9792224B2 (en) 2015-10-23 2017-10-17 Intel Corporation Reducing latency by persisting data relationships in relation to corresponding data in persistent memory
US10033411B2 (en) 2015-11-20 2018-07-24 Intel Corporation Adjustable error protection for stored data
US10095618B2 (en) 2015-11-25 2018-10-09 Intel Corporation Memory card with volatile and non volatile memory space having multiple usage model configurations
US9747041B2 (en) 2015-12-23 2017-08-29 Intel Corporation Apparatus and method for a non-power-of-2 size cache in a first level memory device to cache data present in a second level memory device
US9778723B2 (en) 2015-12-28 2017-10-03 Micron Technology, Inc. Apparatuses and methods for exiting low power states in memory devices
US10007606B2 (en) 2016-03-30 2018-06-26 Intel Corporation Implementation of reserved cache slots in computing system having inclusive/non inclusive tracking and two level system memory
US10185619B2 (en) 2016-03-31 2019-01-22 Intel Corporation Handling of error prone cache line slots of memory side cache of multi-level system memory
US10120806B2 (en) 2016-06-27 2018-11-06 Intel Corporation Multi-level system memory with near memory scrubbing based on predicted far memory idle time
KR102542339B1 (ko) 2016-07-05 2023-06-12 에이치디한국조선해양 주식회사 엔진의 연소실 압력 편차 저감 방법
US10915453B2 (en) 2016-12-29 2021-02-09 Intel Corporation Multi level system memory having different caching structures and memory controller that supports concurrent look-up into the different caching structures
US10445261B2 (en) 2016-12-30 2019-10-15 Intel Corporation System memory having point-to-point link that transports compressed traffic
US10459659B2 (en) * 2017-03-31 2019-10-29 Intel Corporation Technologies for issuing commands on selected memory devices
US10304814B2 (en) 2017-06-30 2019-05-28 Intel Corporation I/O layout footprint for multiple 1LM/2LM configurations
US11188467B2 (en) 2017-09-28 2021-11-30 Intel Corporation Multi-level system memory with near memory capable of storing compressed cache lines
US10860244B2 (en) 2017-12-26 2020-12-08 Intel Corporation Method and apparatus for multi-level memory early page demotion
US11099995B2 (en) 2018-03-28 2021-08-24 Intel Corporation Techniques for prefetching data to a first level of memory of a hierarchical arrangement of memory
US11055228B2 (en) 2019-01-31 2021-07-06 Intel Corporation Caching bypass mechanism for a multi-level memory

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000315185A (ja) * 1999-04-30 2000-11-14 Hitachi Ltd 半導体メモリファイルシステム
JP2002236611A (ja) * 2000-12-04 2002-08-23 Hitachi Ltd 半導体装置と情報処理システム
JP2007310430A (ja) * 2006-05-16 2007-11-29 Hitachi Ltd メモリモジュール
US20090100198A1 (en) * 2007-10-11 2009-04-16 Sandisk Corporation Addressing multiple devices on a shared bus
JP2011096222A (ja) * 2009-10-29 2011-05-12 Hynix Semiconductor Inc 半導体メモリ、メモリシステム及びその制御方法
WO2012125406A2 (en) * 2011-03-11 2012-09-20 Micron Technology, Inc. Systems, devices, memory controllers, and methods for memory initialization

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5557553A (en) * 1993-11-12 1996-09-17 Sellie, Sr.; Clifford N. Computer assisted time study system
US6226729B1 (en) * 1998-11-03 2001-05-01 Intel Corporation Method and apparatus for configuring and initializing a memory device and a memory channel
US6343324B1 (en) * 1999-09-13 2002-01-29 International Business Machines Corporation Method and system for controlling access share storage devices in a network environment by configuring host-to-volume mapping data structures in the controller memory for granting and denying access to the devices
US6681325B1 (en) * 1999-09-15 2004-01-20 Powerquest Corporation Providing disk layout information to an operating system for booting after disk repartitioning
US6553387B1 (en) * 1999-11-29 2003-04-22 Microsoft Corporation Logical volume configuration data management determines whether to expose the logical volume on-line, off-line request based on comparison of volume epoch numbers on each extents of the volume identifiers
US7114028B1 (en) * 2002-05-21 2006-09-26 Sonic Solutions Method of automatically formatting and pseudo-mounting a removable media
US7366864B2 (en) * 2004-03-08 2008-04-29 Micron Technology, Inc. Memory hub architecture having programmable lane widths
US7480793B1 (en) * 2005-12-09 2009-01-20 Symantec Corporation Dynamically configuring the environment of a recovery OS from an installed OS
US8331361B2 (en) * 2006-12-06 2012-12-11 Mosaid Technologies Incorporated Apparatus and method for producing device identifiers for serially interconnected devices of mixed type
US7779214B2 (en) * 2007-07-18 2010-08-17 Qnx Software Systems Gmbh & Co. Kg Processing system having a supported page size information register
JP5270924B2 (ja) * 2008-01-30 2013-08-21 株式会社東芝 固定長メモリブロック管理装置及び固定長メモリブロック管理装置の制御方法
JP5221332B2 (ja) * 2008-12-27 2013-06-26 株式会社東芝 メモリシステム
WO2010127257A1 (en) * 2009-05-01 2010-11-04 Analog Devices, Inc. An addressable integrated circuit and method thereof

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000315185A (ja) * 1999-04-30 2000-11-14 Hitachi Ltd 半導体メモリファイルシステム
JP2002236611A (ja) * 2000-12-04 2002-08-23 Hitachi Ltd 半導体装置と情報処理システム
JP2007310430A (ja) * 2006-05-16 2007-11-29 Hitachi Ltd メモリモジュール
US20090100198A1 (en) * 2007-10-11 2009-04-16 Sandisk Corporation Addressing multiple devices on a shared bus
JP2011096222A (ja) * 2009-10-29 2011-05-12 Hynix Semiconductor Inc 半導体メモリ、メモリシステム及びその制御方法
WO2012125406A2 (en) * 2011-03-11 2012-09-20 Micron Technology, Inc. Systems, devices, memory controllers, and methods for memory initialization

Also Published As

Publication number Publication date
TW201308088A (zh) 2013-02-16
CN103765397B (zh) 2016-08-17
TWI464594B (zh) 2014-12-11
KR20140025555A (ko) 2014-03-04
KR101545074B1 (ko) 2015-08-17
EP2726993A4 (en) 2015-03-18
JP5901759B2 (ja) 2016-04-13
WO2013006565A3 (en) 2013-02-21
WO2013006565A2 (en) 2013-01-10
CN103765397A (zh) 2014-04-30
US8463948B1 (en) 2013-06-11
EP2726993A2 (en) 2014-05-07

Similar Documents

Publication Publication Date Title
JP5901759B2 (ja) メモリのボリュームの識別子を決定する方法、装置およびシステム
US10691626B2 (en) Memory channel that supports near memory and far memory access
EP2761467B1 (en) Generation of far memory access signals based on usage statistic tracking
CN103946826B (zh) 用于在公共存储器通道上实现多级存储器层级的设备和方法
KR101615567B1 (ko) 스토리지 버스 인터페이스용 피씨엠 메모리
JP5669951B2 (ja) コピーバック動作
TWI507875B (zh) 用於控制記憶體之系統、裝置、記憶體控制器及方法
TW201732597A (zh) 資料儲存裝置和其操作方法
TW201214446A (en) Dynamic allocation of power budget for a system having non-volatile memory
US20140229659A1 (en) Thin translation for system access of non volatile semicondcutor storage as random access memory
US9202548B2 (en) Efficient PCMS refresh mechanism
TW201835916A (zh) 用於自動化動態字線開始電壓之裝置與方法
TW201227319A (en) Multi-channel memory with embedded channel selection
US20140160857A1 (en) Non-Volatile Memory Device, Driving Method of Memory Controller Controlling the Non-Volatile Memory Device and Memory System Including the Memory Controller and the Non-Volatile Memory Device
US20130332690A1 (en) Memory Systems and Memory Managing Methods of Managing Memory in a Unit of Memory Chunk
US9147464B1 (en) System architecture with multiple memory types, including programmable impedance memory elements
US11775215B2 (en) Storage device with host-controlled operation mode, electronic system including the same, and method of operating the same
US20240134568A1 (en) Computational storage device, method for operating the computational storage device and method for operating host device

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140130

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20141112

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20141216

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150311

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20150818

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20151111

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20160118

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: 20160209

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160308

R150 Certificate of patent or registration of utility model

Ref document number: 5901759

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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