JP2012529103A - メモリデバイスによりホストメモリアクセスを制御するための方法およびシステム - Google Patents

メモリデバイスによりホストメモリアクセスを制御するための方法およびシステム Download PDF

Info

Publication number
JP2012529103A
JP2012529103A JP2012513924A JP2012513924A JP2012529103A JP 2012529103 A JP2012529103 A JP 2012529103A JP 2012513924 A JP2012513924 A JP 2012513924A JP 2012513924 A JP2012513924 A JP 2012513924A JP 2012529103 A JP2012529103 A JP 2012529103A
Authority
JP
Japan
Prior art keywords
host
memory
command
memory device
data transfer
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
JP2012513924A
Other languages
English (en)
Other versions
JP5638069B2 (ja
Inventor
エー. ガルボ,ニール
エス. フィーリー,ピーター
ヘンリー. ラドキ,ウィリアム
ワイ. ツァイ,ビクター
エヌ. レイボヴィッツ,ロバート
Original Assignee
マイクロン テクノロジー, インク.
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 マイクロン テクノロジー, インク. filed Critical マイクロン テクノロジー, インク.
Publication of JP2012529103A publication Critical patent/JP2012529103A/ja
Application granted granted Critical
Publication of JP5638069B2 publication Critical patent/JP5638069B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • 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/0604Improving or facilitating administration, e.g. storage management
    • 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
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • G06F13/1642Handling requests for interconnection or transfer for access to memory bus based on arbitration with request queuing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • 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/38Information transfer, e.g. on bus
    • 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/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • 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/0683Plurality of storage devices

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)
  • Information Transfer Systems (AREA)
  • Memory System (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Bus Control (AREA)

Abstract

本開示は、メモリデバイスによるホストメモリアクセスを制御するための方法、システム、ホストコントローラ、およびメモリデバイスを含む。メモリデバイスによりホストメモリアクセスを制御するための一実施形態は、ホストから少なくとも1つのコマンドを受信することと、メモリデバイスにより少なくとも1つのコマンドの実行を制御することとを含む。
【選択図】図1

Description

本発明は、広くは半導体メモリデバイス、方法、およびシステムに関するものであり、より詳細には、メモリデバイスで制御されるホストメモリアクセスに関するものである。
メモリデバイスは、一般的に、種々の他の電子装置の中でも特に、コンピュータ、携帯情報端末(PDA)、デジタルカメラ、および携帯電話における内部の半導体集積回路および/または着脱式の外付け装置として提供される。特にランダムアクセスメモリ(RAM)、読み出し専用メモリ(ROM)、ダイナミックランダムアクセスメモリ(DRAM)、同期型ダイナミックランダムアクセスメモリ(SDRAM)、相変化ランダムアクセスメモリ(PCRAM)、およびフラッシュメモリを含む多くの異なる種類のメモリが存在する。
フラッシュメモリデバイスは、電子アプリケーションの広範囲において非揮発性メモリとして利用される。フラッシュメモリデバイスは、通常、高記録密度、高信頼性、および低消費電力を可能にする単一トランジスタメモリセルを用いる。
メモリシステムには、種々の種類のメモリが用いられ得る。種々の種類のメモリは任意の組み合わせにおいて用いられ得、ホスト装置またはホストシステムなどのホスト用のメモリとして備えられる。例えば、フラッシュメモリはメモリシステムに含まれ得る。フラッシュメモリは、USB接続などのインターフェースを通じてメモリシステムに接続され得る着脱式メモリまたは内部メモリとしてメモリシステムの一部となる。
システムはホストシステム、ホストメモリ、および複数の外部メモリデバイスを含んでもよい。ホストシステムは、複数のプロセッサ、ホストコントローラ、ホストコントローラに配置されるホストコントローラメモリ、および複数の内部メモリデバイスを有してもよい。ホストシステムは、ホストコントローラおよび/または複数のホストプロセッサを通じてメモリデバイスと相互作用することにより、内部および/または外部のメモリデバイスを用いることができる。ホストコントローラおよび/または複数のホストプロセッサはメモリデバイスと通信し得、メモリデバイスからホストへのデータの読み出し、またはホストからメモリデバイスへのデータの書き込みなどの、メモリデバイスにおけるオペレーションを実行する。データの読み出しおよび書き込みを制御するコマンドは、ホストにより生成され得る。ホストコントローラおよび/または複数のホストプロセッサは、コマンドの実行を制御するハードウェアを有し得る。ホストコントローラおよび/または複数のホストプロセッサがコマンドの実行を制御するハードウェアを有するこれらの場合では、ホストシステムはメモリデバイスの状態を管理および維持する。
本開示の1つ以上の実施形態に従うメモリを示すブロック図である。 本開示の1つ以上の実施形態に従うホストメモリを示すブロック図である。 本開示の1つ以上の実施形態に従うデータ転送メッセージを示すブロック図である。
本開示は、メモリデバイスによりホストメモリアクセスを制御するための方法、装置、およびシステムを含む。メモリデバイスによりホストメモリアクセスを制御するための一実施形態は、ホストから少なくとも1つのコマンドを受信することと、メモリデバイスにより少なくとも1つのコマンドの実行を制御することとを含む。
本開示の下記の詳細な説明においては、本開示の一部を構成する添付図面を参照し、図に示すことにより1つ以上の実施形態がどのように実施され得るかを説明する。これらの実施形態は、当業者が本開示の実施形態を実施するのに十分な詳細が記述されており、本開示の範囲から逸脱することなく他の実施形態が利用され得、プロセス、電気的および/または構造的な変更がなされ得ることが理解される。本明細書に用いられる、特に図面における参照番号に付随する指定印「N」は、そのように特定され得る特定の特徴が本開示の1つ以上の実施形態に含まれることを示す。指定印は同じまたは異なる数の特定の特徴を示し得る。
本明細書の図面においては、最初の1つ以上の数字は図面番号に対応し、残りの数字は図面内の要素またはコンポーネントを識別するという慣習に基づいて番号が付けられている。異なる図面間の同等の要素またはコンポーネントが、同じ数字を用いることにより同一とみなされ得る。例えば、118は図1における要素「18」を参照し得、類似の要素は図2の218として参照され得る。理解されるように、本開示の複数の追加的な実施形態を提供するために、本明細書における種々の実施形態に示す要素は、追加、交換、および/または削除され得る。さらに理解されるように、図面に提供される要素の割合および相対的な大きさは、本開示の実施形態を示すように意図されており、限定的な意味を持たないことは言うまでもない。
図1は本開示の1つ以上の実施形態に従うメモリシステム100のブロック図である。図1にはホスト110が示される。1つ以上の実施形態では、ホスト110は、種々の種類のコンピュータ装置のうちのパーソナルコンピュータなどのコンピュータ装置でもよい。ホスト110の例示は、種々の例示のうちのラップトップコンピュータ、パーソナルコンピュータ、携帯電話、デジタルカメラ、デジタル記録および再生装置、PDA、メモリカードリーダ、並びにインターフェースハブを含む。図1のホスト110は、図示しないコンピュータ装置要素に加えて、ホストコントローラ112、ホストプロセッサ114、ホストメモリコントローラ116、並びにホストメモリ118−1および118−Nを含む。ホストコントローラ112は、トランザクション層、リンク層、および/または物理層を含み得、ホストメモリコントローラ116を介して、ホストメモリ118−1、118−2〜118−Nに接続され得る。図1に示すホストコントローラ112はさらに、バス120を介してメモリデバイス130−1、130−2〜130−Nに接続される。
1つ以上の実施形態では、ホストコントローラ112は、複数のメモリデバイス130−1、130−2〜130−Nと、ホスト110との間の情報通信に用いられ得る。「1つのプロセッサ」が、例えば、並列処理システム、複数のコプロセッサなどの1つ以上のプロセッサを意図し得ることを当業者は理解する。
1つ以上の実施形態では、ホストコントローラ112は、標準インターフェースを実施するように接続され得る。例えば、メモリデバイス130−1、130−2〜130−Nがメモリシステムにおけるデータストレージとして用いられ得る場合には、ホストコントローラは、インターフェースのうちのシリアルアドバンストテクノロジーアタッチメント(SATA)、周辺コンポーネント相互接続エクスプレス(PCIe)、ユニバーサルシリアルバス(USB)、および/または小型コンピュータシステムインターフェース(SCSI)を実施できる。ただし、通常、ホストコントローラ112は、メモリデバイス130−1、130−2〜130−Nと、ホスト110と、ホストメモリ118−1、118−2〜118−Nなどの他の装置との間において制御、アドレス、データ、および他の信号をパスするためのインターフェースを実施するように接続され得る。
1つ以上の実施形態では、メモリデバイス130−1、130−2〜130−Nは1つ以上のメモリデバイスコントローラを含み得、これは例えば、ホスト110とメモリデバイス130−1、130−2〜130−Nとを通信するオペレーションコマンドのうちの、読み出し、書き込み、および/または消去コマンドの実行により、オペレーションを援助するために用いられ得る。メモリデバイス130−1、130−2〜130−Nは、それぞれ、バス120に接続される。また、一部の実施形態では、メモリデバイス130−1、130−2〜130−Nは、バスに接続された1つのメモリデバイスとして連鎖してもよい。1つ以上の実施形態では、1つ以上のメモリデバイスコントローラは、ホストシステム110とメモリデバイス130−1、130−2〜130−Nとの間にトランスレーション層を備え得る。それ故、メモリデバイスコントローラは、メモリデバイス130−1、130−2〜130−NのI/Oコネクタ(図1に不示)と選択的に接続し得、適切な時に適切なI/O接続により適切な信号を受信する。同様に、ホスト110とメモリデバイス130−1、130−2〜130−Nとの間の通信プロトコルは、メモリデバイス130−1、130−2〜130−Nへのアクセスに応じて必要なものに変更され得る。メモリデバイスコントローラは、次に、メモリデバイス130−1、130−2〜130−Nへの所望のアクセスを達成するために、ホスト110から受信したコマンドシーケンスを適切なコマンドシーケンスに変形する。各変形は、コマンドシーケンスに加えて、信号電圧レベルの変形をさらに含んでもよい。
図1の実施形態は、本開示の実施形態を曖昧にしないために図示されない追加的な回路を含んでもよい。例えば、メモリデバイス130−1、130−2〜130−Nは、I/O回路を通じてI/Oコネクタ全体に提供されるアドレス信号をラッチするためのアドレス回路を含んでもよい。アドレス信号はメモリデバイス130−1、130−2〜130−Nにアクセスするために、行デコーダおよび列デコーダにより受信およびデコードされ得る。アドレス入力コネクタの数がメモリデバイス130−1、130−2〜130−Nの密度およびアーキテクチャに応じて変更され得ることが当業者に理解される。
1つ以上の実施形態では、ホストシステムは単一コマンドまたはコマンドリストなどの少なくとも1つのコマンドを生成できる。コマンドリストは2つ以上のコマンドを含んでもよい。ホストはまた、データ転送に関するデータバッファ、コマンド状態および完了情報に関する状態バッファをホストメモリに割り当て得る。
ホストは、1つ以上のコマンドが実行可能状態にあり、データバッファおよび状態バッファがホストメモリに割り当てられたことを、バスを通じて送られたコマンドメッセージによって1つ以上のメモリデバイスに通知できる。メッセージは、1つ以上のコマンドが配置されたホストメモリ内の位置(例えば、アドレス)を示すポインタをさらに含んでもよい。1つ以上のコマンドが実行可能状態にあることをホストが1つ以上のメモリデバイスに通知することに関連して(例えば、コマンドが実行可能状態にあることをホストがメモリデバイスに通知した時点で)、1つ以上のメモリデバイスに関するコマンドリストのうちの1つ以上のコマンド実行の制御を放棄する。ホストはさらに、ホストと1つ以上のメモリデバイスとの間のバスの制御を放棄する。
1つ以上の実施形態では、1つ以上のメモリデバイスは、ホストメモリ内の1つ以上のコマンドが実行可能状態にあることを通知された時点で、ホストコントローラに対して1つ以上のコマンドに関するポインタを含むデータ転送メッセージ、および転送サイズ、データオフセット、およびデータフラグなどの追加的な情報を送信することによって、メモリデバイスは所望のタイミングでホストメモリから1つ以上のコマンドを受信できる。転送サイズ、データオフセット、およびデータフラグなどの追加的な情報は、ホストメモリアドレスコンテキストとも称される。転送サイズはホストメモリからメモリデバイスに送信された、またはメモリデバイスからホストメモリに送信されたデータ量である。データオフセットはホストメモリ内のデータの実際の位置を特定するために、ポインタと共に用いられる値である。オフセットはホストメモリファイルの割当て方法に適応するために、メモリデバイスによって設定および修正され得る。データフラグは、データ転送の実行に関連するデータ転送特性に含まれるデータ転送方向などのデータ転送特性を特定するために用いられ得る。ホストコントローラはホストメモリアドレスコンテキストを処理し、ホストメモリからコマンドまたはコマンドリストなどの要求データを取り出し、それを1つ以上のメモリデバイスに送信する。
1つ以上の実施形態では、ホストメモリからデータを取り出すか、それにデータを送信するホストコントローラを通じてホストメモリへの、かつ/またはそれからのデータ転送となる一連のデータ転送メッセージを送信することによって、1つ以上のメモリデバイスは1つ以上のコマンドを解釈し得、1つ以上のコマンドの実行を制御し得る。
データ転送メッセージは、ホストメモリ内のデータ位置を示すホストメモリアドレスコンテキストを含んでもよい。コマンドまたはコマンドリストの実行に起因するデータ転送は、1つ以上のメモリデバイスにより制御される。1つ以上のメモリデバイスは、個々の装置の状態および/または所定のデータ転送を実行するための能力に基づいて、データ転送のタイミング、シーケンス、優先度、およびサイズを決定できる。1つ以上の実施形態では、装置は1つ以上のコマンドの実行を制御する。このため、ホストは1つ以上のメモリデバイスの状態または資源を管理しないか、1つ以上のメモリデバイスについてのデータ転送のスケジュールを決めない。
1つ以上の実施形態では、コマンドの実行が完了すると、1つ以上のメモリデバイスは完了メッセージをホストに送信できる。ホストコントローラは完了メッセージを認識し得、そしてコマンドまたはコマンドリストが完了したことをホストプロセッサに通知できる。
1つ以上の実施形態では、コマンドまたはコマンドリストが実行可能状態になり、システムメモリ内にデータバッファが割り当てられたことを示すメッセージを、ホストは1つ以上のメモリデバイスに送信できる。ホストから1つ以上のメモリデバイスに送信されるメッセージは、ホストメモリ内のコマンド位置を示し得る、不透明のメモリポインタオブジェクトなどのポインタを含み得る。不透明のメモリポインタオブジェクトは、メモリデバイスが解釈しないポインタでもよい。不透明のメモリポインタはホストおよびメモリデバイス間に送信され、ホストメモリ内のデータおよび/またはコマンドの位置を特定するのに用いられ得るデータ転送メッセージの一部となる。不透明のメモリポインタはホストにより解釈される。1つ以上のメモリデバイスはホストメモリから1つ以上のコマンドを取り出し得る。各コマンドはホストメモリアドレスコンテキストを含んでもよい。ホストメモリアドレスコンテキストは、追加的なポインタ、並びにコマンドが実行された際に転送されるデータを含むか、受信するデータバッファに関する転送サイズおよびオフセット情報を含んでもよい。
1つ以上の実施形態では、1つ以上のメモリデバイスは1つ以上のコマンドを解釈できる。各コマンドは1つ以上のメモリデバイスからホストメモリへの送信データ、またはホストメモリから1つ以上のメモリデバイスへの送信データなどのデータの転送方向を示す。1つ以上のメモリデバイスはデータ転送を開始するための追加的なデータ転送メッセージをホストに送信することにより、1つ以上のコマンドを実行できる。追加的なデータ転送メッセージはホストメモリアドレスコンテキストを含む。一部の実施形態では、1つ以上のメモリデバイスがホストメモリにデータを転送しているときに、メッセージ内のホストメモリアドレスコンテキストに続いてデータが送られる。一部の実施形態では、1つ以上のメモリデバイスがホストメモリからデータを取り出しているときに、ホストコントローラは、データに付随するホストメモリアドレスコンテキストと共に、メッセージを1つ以上のメモリデバイスに返信する。
1つ以上の実施形態では、1つ以上のコマンドの実行に関連する全てのデータ転送が完了すると、1つ以上のメモリデバイスは1つ以上のコマンドの完了を示すメッセージを送信できる。このメッセージはホストシステムメモリ内の状態バッファの位置を示すポインタおよびホストメモリアドレスコンテキストを含み得る。状態バッファは1つ以上のコマンド状態に関するデータを記憶する、ホストメモリ内の場所であってもよい。1つ以上のコマンドが実行されると、状態バッファは、1つ以上のコマンドの完了をホストに示す完了メッセージに含まれる状態データを受信する。状態データは完了メッセージの一部でもよく、ホストメモリアドレスコンテキストに続いて送信され得、ホストメモリ内の状態バッファ内に配置され得る。ホストコントローラは、完了メッセージを受信および識別すると、例えば、1つ以上のコマンドに関する処理の完了をホストプロセッサに通知、例えば割り込みをする。1つ以上のメモリデバイスは、ここで次の1つ以上のコマンドの処理の用意をする。
図2は本開示の1つ以上の実施形態に従うホストメモリのブロック図である。1つ以上の実施形態では、ホストメモリ218は、その物理的な外部位置からホストに接続されたリモートホストメモリでもよい。1つ以上の実施形態では、ホストメモリは、ホストに配置された内蔵ホストメモリでもよい。1つ以上の実施形態では、ホストメモリ218は、リモートホストメモリおよび/または内蔵ホストメモリを含んでもよい。
前述のように、1つ以上の実施形態では、ホストはホストシステムメモリ218内にコマンドリスト202を生成できる。コマンドリスト202は2つ以上のコマンドを含み得、各コマンドはコマンド、メモリアドレスコンテキストの基本機能を示す基本コマンド記述子ブロックを含み得る。メモリアドレスコンテキストは、転送方向およびデータバッファ204が直接アクセスまたは間接アクセスのいずれであるかを示し得る、データバッファ204に関する情報を含んでもよい。データバッファはデータ転送に関するデータが書き込まれるか、そこから読み出される、ホストメモリ内の場所であってもよい。1つ以上の実施形態では、複数のデータバッファが用いられてもよい。直接アクセスバッファはデータ転送に含まれる実際のバッファである。間接アクセスバッファは、複数のデータバッファ内でデータが分類および記憶される場合の、複数のデータバッファに関する追加的なメモリアドレスコンテキスト情報を含む。間接アクセスバッファを用いる方法は、スキャター/ギャザーアクセスと称され得る。
前述のように、コマンドリスト202が実行可能状態にあることを示す、ホストから1つ以上のメモリデバイスへの初期コマンドメッセージは、コマンドリスト202に関するポインタを含み得る。ポインタは、直接アクセスバッファにアクセスするための直接ホストメモリアドレスを含み得る。ポインタは間接アクセスバッファにアクセスするための、データ、または当業者に周知および理解されるようなデータ編成に関するシステム固有の実装のうちの、アドレスアクセステーブル、メモリラッパー内のルックアップテーブルへのインデックス、および/またはページ記述子などの、データの位置に関する情報を含む他の位置を示し得る。直接アクセスバッファおよび間接アクセスバッファの両方において、ポインタはホストにより解釈およびデコードされる。1つ以上のメモリデバイスはポインタを受信するが、ポインタの解釈は試みない。ポインタは、1つ以上のメモリデバイスおよびホスト間のホストメモリ参照として用いられる。
1つ以上の実施形態では、コマンドリストは、単一コマンド、多重コマンド、またはコマンドのリンクリストを含み得る。コマンドリスト構造は、システム全体の実装に応じて決定され得、1つ以上のメモリデバイスによるコマンドの実行に影響を与えない。ホストおよび1つ以上のメモリデバイスは、類似の方法を用いるコマンド構造を生成、実行、および解釈できる。
ホストシステムは、ホストシステムメモリ内にコマンドリストが生成されて、実行可能にあることを示すコマンドメッセージを1つ以上のメモリデバイスに送信できる。コマンドメッセージは、複数のポインタを用いて、1つ以上のコマンド202、データバッファ204、および状態バッファ206のホストシステムメモリにおける位置を示す。コマンドメッセージは、追加的なホストメモリコンテキスト情報をさらに含み得る。1つ以上のコマンドは、メモリデバイスおよびホストシステムメモリ間のデータ転送を実行するための指示を含んでもよい。データバッファは、転送されるデータがそこに書き込まれるか、そこから読み出される、ホストメモリ内の位置であってもよい。状態バッファは、1つ以上のコマンド状態についてのデータに関連する、ホストメモリ内の位置であってもよい。
1つ以上の実施形態では、1つ以上のメモリデバイスはコマンドメッセージを受信すると、コマンドメッセージを解釈し得、ポインタを記憶できる。1つ以上のメモリデバイスは、メモリデバイスの資源および性能に応じて、1つ以上のコマンドの取り出しを試みることができる。1つ以上の実施形態では、1つ以上のメモリデバイスは、ホストメモリ内のコマンドリストから一つずつコマンドを受信できる。1つ以上の実施形態では、1つ以上のメモリデバイスはコマンドリスト内の全てのコマンドを受信できる。また、1つ以上のメモリデバイスはコマンドリスト内の一部のコマンドのみを受信できる。
1つ以上の実施形態では、1つ以上のメモリデバイスは、データ転送メッセージをホストに送信することによって、ホストメモリからコマンドを取り出し得る。コマンドを取り出すために1つ以上のメモリデバイスによって送信されたデータ転送メッセージは、ホストからデータを取り出すか、ホストにデータを送信するために1つ以上のメモリデバイスにより送信されたデータ転送メッセージと同一であるとホストにみなされ、例えばホストに区別されない。バスプロトコルおよびホストは、コマンド取り出し用と、データ転送用とのデータ転送メッセージを区別しない。コマンドおよび/またはデータの解釈は、1つ以上のメモリデバイスによりなされ得る。ホストコントローラはデータを解釈しないか、装置またはコマンドステータス情報を保持しない。ホストコントローラは、ホストコントローラが受信するデータ転送メッセージにより導かれたホストメモリ内からデータを取り出すか、そこにデータを保存できる。
1つ以上のメモリデバイスからホストへの、またはホストから1つ以上のメモリデバイスへのデータ転送メッセージは、パケットのヘッダを含み得る。パケットのヘッダは情報のうちの転送サイズ、データオフセット、およびフラグを含み得るホストメモリアドレスコンテキストを含んでもよい。
図3は本開示の1つ以上の実施形態に従うデータ転送メッセージ340のブロック図を示す。図3に示す実施形態では、データ転送メッセージ340は、パケットのヘッダ350およびデータ370を含み得る。1つ以上の実施形態では、パケットのヘッダ350は、データ転送に関する情報を示す複数のフィールドを含み得る。
1つ以上の実施形態では、パケットのヘッダ350はトランザクションタイプコード(TTC)フィールド352を含み得る。TTCフィールド352は、特定のデータ転送メッセージに関するトランザクションタイプを示すために用いられ得る。TTCフィールド352は、データ転送メッセージの受信、およびパケットのヘッダ350が示すオペレーションタイプを示すのに用いられ得、このオペレーションタイプには、例えば、ホストメモリからのデータの読み出し、ホストメモリへのデータの書き込み、またはメモリデバイスへのデータの書き込みが含まれる。
1つ以上の実施形態では、パケットのヘッダ350は、トランザクションタグ(TAG)フィールド354を含み得る。TAGフィールド354は、コマンドトランザクションの段階を示す不変の基準カウントとして用いられ得る。TAGフィールド354は、複数のデータ転送メッセージを用いてコマンドが実行される場合に、実行コマンドの進展を追跡するのに用いられ得る。
1つ以上の実施形態では、パケットのヘッダ350は、物理的装置ID(PDID)フィールド356を含み得る。PDIDフィールド356は、物理的な識別特徴のうちの特に、物理バスアドレス/ID、バス番号、およびチャンネル番号を示す複数のビットを含み得る。PDIDフィールド356は、特定のメモリデバイスのバス上における物理的位置のアドレス指定、さらにはデータ転送メッセージを送信している装置をホストに示すのに用いられ得る。
1つ以上の実施形態では、パケットのヘッダ350は、論理装置ID(LDID)フィールド358を含み得る。LDIDフィールド358は論理装置アドレス/IDを含み得る。LDIDフィールド358は、ホストおよび/または1つ以上のメモリデバイスなどの、物理的装置内の特定のユニットまたは要素を論理的にアドレス特定するのに用いられ得る。
1つ以上の実施形態では、パケットのヘッダ350は不透明のメモリポインタオブジェクト(OMPO)フィールド360を含み得る。OMPOフィールド360は、ホストメモリ内のメモリアドレスを示すデータを含み得る。OMPOフィールド360内のデータは、ホスト依存データを含む。OMPOフィールド360内のデータは、不透明のメモリポインタオブジェクトなどのポインタでもよい。不透明のメモリポインタオブジェクトは、コマンドの処理中に1つ以上のメモリデバイスまたはホストにより変更されない不変値でもよい。データ転送メッセージは複数のポインタを含んでもよく、この1つ以上のポインタは1つ以上のコマンド、1つ以上のデータバッファ、および1つ以上の状態バッファに関するものでもよい。データ転送のスキャター/ギャザーでは、1つ以上のデータバッファポインタが用いられ得る。
1つ以上の実施形態では、パケットのヘッダ350はオフセットフィールド362を含み得る。オフセットフィールド362は、ポインタにより参照されるデータ位置を示すのに用いられ得るオフセット値を含み得る。ポインタはデータ位置を示すための基準でもよく、オフセットは物理的なデータ位置を検出するための、ポインタ内のアドレスと組み合わさった値を含み得る。ポインタおよびオフセットは、ホストメモリ内の実際のデータのアドレスを示すために共に用いられ得る。オフセットフィールド362はメモリデバイスにより決定されてもよい。1つ以上の実施形態では、オフセットフィールド362は、コマンドの処理中、1つ以上のメモリデバイスまたはホストにより変更されない。 1つ以上の実施形態では、オフセットはシステムに依存する。
1つ以上の実施形態では、パケットのヘッダ350は転送長フィールド364を含み得る。転送長フィールド364は、データ転送メッセージにおいて指定されたデータ転送中に転送する、データ転送の単語数および/またはサイズなどのデータ量を含み得る。
1つ以上の実施形態では、データ転送メッセージ340はデータ370を含み得る。データが1つ以上のメモリデバイスから読み出され、ホストメモリに書き込まれると、データ370を含むデータ転送メッセージが1つ以上のメモリデバイスからホストに送信される。データがホストメモリから読み出され、1つ以上のメモリデバイスに書き込まれると、データ370を含むデータ転送メッセージがホストから1つ以上のメモリデバイスに送信される。
1つ以上のメモリデバイスはコマンドを実行する際に、送信されるデータ転送メッセージの数、データパケットサイズ、およびデータ転送方向を決定できる。1つ以上のメモリデバイスは、ホスト干渉またはデータ転送もしくは装置状態の追跡を要求しない。1つ以上のメモリデバイスはデータ転送メッセージおよび/または完了メッセージをホストコントローラに送信できる。転送タイプはTTCによりパケットのヘッダに示され得、特に、読み出しなどのデータ転送要求または書き込みなどのデータ転送応答でもよい。1つ以上の実施形態では、1つ以上のデータ転送要求またはデータ転送応答は、例えば、ホストメモリおよび/または1つ以上のメモリデバイスのブロックサイズ、並びにプロトコルパケットサイズに応じてコマンドを実行するのに用いられ得る。1つ以上のメモリデバイスはデータ転送メッセージを送信する際に、コマンドの実行により生じるトランザクションの数を決定できる。1つ以上のメモリデバイスは、1つ以上のメモリデバイスにより決定されたタイミング、シーケンス、および優先度に基づいてコマンドを待ち行列に入れ得る。1つ以上のコマンドを実行するデータ転送メッセージは、1つ以上のメモリデバイスが指定する任意の順序によって送信され得る。
1つ以上の実施形態では、ホストコントローラは、ハードウェアおよび/またはファームウェアを通じて、パケットのヘッダ内のトランザクションタイプコード(TTC)に応答するように構成され得る。TTCに応答するホスト制御における能力により、例えば、ホストの動作が処理状態を把握しない方法において、ホストはトランザクションに関するステータス情報または1つ以上のメモリデバイスに関するステータス情報を保持しない。
1つ以上の実施形態では、ホストコントローラは、ファームウェアおよび/またはハードウェアを通じて、パケットのヘッダ内のメモリアドレスコンテキストに応答するように構成され得る。このような実施形態では、ホストコントローラは、データのファーストパーティダイレクトメモリアクセス(FPDMA)転送を援助し得る。ホストと1つ以上のメモリデバイスとの間のデータ転送は、ホスト干渉無しで実行される。
1つ以上のメモリデバイスはデータ転送が完了すると、ホストコントローラを通じてホストに完了メッセージを送信できる。完了メッセージは最新に実行された1つ以上のコマンド状態を示し得る。完了メッセージはさらに、1つ以上のメモリデバイスの状態を示し得る。1つ以上のメモリデバイスは、1つ以上のコマンドが実行可能状態にあったことを示す、ホストシステムから1つ以上のメモリデバイスへのデータ転送メッセージに含まれ得るポインタにより、ホストメモリ内の状態バッファの位置を受信できる。完了メッセージは状態バッファに関するポインタを含み得る。
ホストコントローラは完了メッセージに含まれる状態データを状態バッファ内に転送し、完了メッセージが受信および記憶されたことをホストに依存する方法でホストに通知できる。1つ以上のコマンドの実行の完了を示すために、ホストに利用可能な任意の手段により通知は完了され得る。一部の実施形態では、ホスト内で実施される割り込みメカニズムを通じて通知される。
〔結論〕
本開示はメモリデバイスによりホストメモリアクセスを制御するための方法、装置、およびシステムを含む。メモリデバイスによりホストメモリアクセスを制御するための一実施形態は、ホストから少なくとも1つのコマンドを受信することと、メモリデバイスにより少なくとも1つのコマンドの実行を制御することとを含む。
要素が別の要素「上」、「との連結」、または「との接続」と言及される場合は、他の要素または介在要素が存在し得る状態で、直接上に配置、連結または接続され得ることが理解される。一方、要素が別の要素「のすぐ上」、「と直接連結する」、または「と直接接続する」と言及される場合は、他の介在要素または層が全く存在しないことを意味する。本明細書に用いられる用語「および/または」は、関連するリストされた事項の任意の1つ以上および全ての組み合わせを含む。
種々の要素を説明するために、第1、第2などの用語が本明細書に用いられ得るが、これらの用語がこれらの要素を当然に限定しないことが理解される。これらの用語は単に、一つの要素と別の要素とを区別するために用いられる。それ故、第1の要素は、本開示の教示から逸脱することなく、第2の要素ともなる。
特定の実施形態を本明細書に図示、説明したが、これらの特定実施形態を、同じ目的を達成するように計算された構成で置き換えることができることが当業者に理解される。本開示はその如何なる翻案または変更態様をも包含することが意図される。前述の記述内容は説明のためのものであって、制限的なものではないことが理解される。前述の説明に照らした、前述の実施形態と本明細書に特定しない他の実施形態との組み合わせは当業者に明らかである。本開示の1つ以上の実施形態の範囲は、前述の構造および方法が用いられる他の用途を含む。それ故、本開示の1つ以上の実施形態の範囲は、添付請求項が権利を与えるあらゆる種類の均等物に従って、これらの請求項に関連して決定されることは言うまでもない。
前述の詳細な説明では、本開示を合理化する目的で、いくつかの特徴が単独の実施形態にまとめて記載される。本開示の方法は、本開示の実施形態が各請求項において明確に列挙された以上の特徴を用いる必要があるという意図を反映するものとしては解釈されない。むしろ、以下の請求項は、発明の主題が単独で開示する実施形態における全ての特徴未満であることを示す。それ故、各請求項が単独で個々の実施形態に依存するように、以下の請求項はここで詳細な説明に組み込まれる。

Claims (39)

  1. メモリデバイスによりホストメモリアクセスを制御するための方法であって、
    ホストから少なくとも1つのコマンドを受信することと、
    前記メモリデバイスにより少なくとも1つのコマンドの実行を制御することと、を含む、方法。
  2. ホストメモリに記憶された少なくとも1つのコマンドの位置を特定するために、前記ホストからポインタを受信することを含む、請求項1に記載の方法。
  3. ホストメモリ内の少なくとも1つのコマンドの位置を特定するための前記ポインタを含むデータ転送メッセージを、前記メモリデバイスから前記ホストに送信することを含む、請求項2に記載の方法。
  4. 前記メモリデバイスによる少なくとも1つのコマンドの実行の制御は、前記データ転送のタイミング、シーケンス、およびサイズを決定することを含む、請求項1〜3のいずれか1項に記載の方法。
  5. 少なくとも1つのコマンドを実行するためのメモリデバイスの状態および/または能力に基づいて、前記データ転送のタイミング、シーケンス、およびサイズを決定する、請求項4に記載の方法。
  6. 前記メモリデバイスによる少なくとも1つのコマンドの実行の制御することは、パケットのヘッダと共にデータ転送メッセージを送信することを含む、請求項1〜3のいずれか1項に記載の方法。
  7. 前記パケットのヘッダは、ホストメモリアドレスコンテキストを含む、請求項6に記載の方法。
  8. 前記ホストメモリアドレスコンテキストは、転送サイズ、データオフセット、およびデータフラグを含む、請求項7に記載の方法。
  9. 前記パケットのヘッダは、トランザクションタイプコード、トランザクションタグ、物理的装置ID、論理装置ID、ポインタ、オフセット、および転送長を含む、請求項6に記載の方法。
  10. メモリデバイスによりホストメモリアクセスを制御するための方法であって、
    ホストメモリにおける少なくとも1つのコマンドが実行可能状態にあることを前記メモリデバイスに報告するために、ホストからコマンドメッセージを受信することと、
    ホストメモリから前記少なくとも1つのコマンドを取り出すことと、
    データ転送メッセージを前記ホストに送信することにより、前記メモリデバイスの制御に基づいて、前記少なくとも1つのコマンドを実行することと、
    前記少なくとも1つのコマンドが完了したことを前記ホストに通知するために、前記ホストに完了メッセージを送信することと、を含む、方法。
  11. 前記コマンドメッセージは、前記少なくとも1つのコマンドが配置された、ホストメモリ内のアドレスに関するメモリポインタを示す不透明のメモリポインタオブジェクトを含む、請求項10に記載の方法。
  12. 前記ホストは前記コマンドメッセージの送信に関連する前記少なくとも1つのコマンドの実行の制御を放棄する、請求項10に記載の方法。
  13. 前記ホストは当該ホストと、前記コマンドメッセージの送信に関連する前記メモリデバイスとの間のバスの制御を放棄する、請求項10に記載の方法。
  14. 少なくとも1つのコマンドの取り出しは、不透明のメモリポインタオブジェクト、転送サイズ、データオフセット、およびデータフラグを含むデータ転送メッセージを前記ホストのコントローラに送信することを含む、請求項10〜13のいずれか1項に記載の方法。
  15. 少なくとも1つのコマンドの取り出しは、前記ホストコントローラにおいて前記データ転送メッセージを処理することと、前記ホストから前記メモリデバイスに少なくとも1つのコマンドを転送することとを含む、請求項14に記載の方法。
  16. 前記データ転送メッセージの送信は、パケットのヘッダを含む前記データ転送メッセージを前記ホストに送信することを含む、請求項10〜13のいずれか1項に記載の方法。
  17. 少なくとも1つのメモリデバイスと、
    ホストメモリと、を備えており、
    前記ホストと少なくとも1つのメモリデバイスとの間のデータ転送が、少なくとも1つのメモリデバイスにより制御される、システム。
  18. ホストメモリはリモートホストメモリを含む、請求項17に記載のシステム。
  19. ホストメモリは内蔵ホストメモリを含む、請求項17に記載のシステム。
  20. 前記少なくとも1つのメモリデバイスは、前記バス、および前記バスを通る前記データ転送を制御する、請求項17に記載のシステム。
  21. 前記少なくとも1つのメモリデバイスは、前記ホストへのデータ転送のタイミングおよびシーケンスを制御する、請求項17〜20のいずれか1項に記載のシステム。
  22. 前記少なくとも1つのメモリデバイスは、データ転送メッセージを前記ホストに送信することにより、前記ホストおよび前記少なくとも1つのメモリデバイス間の前記データ転送を制御する、請求項17〜20のいずれか1項に記載のシステム。
  23. 前記データ転送メッセージは、少なくとも1つのコマンドに関するポインタを含む、請求項22に記載のシステム。
  24. ホストに接続された少なくとも1つのメモリデバイスを備えており、
    少なくとも1つのコマンドがホストメモリから少なくとも1つのメモリデバイスに送信され、前記少なくとも1つのメモリデバイスは前記少なくとも1つのコマンドの実行を制御する、システム。
  25. 前記少なくとも1つのコマンドを生成し、ホストメモリ内にデータバッファおよび状態バッファを割り当てるように前記ホストが構成された、請求項24に記載のシステム。
  26. 前記少なくとも1つのコマンドに関するポインタ、前記データバッファに関するポインタ、および前記状態バッファに関するポインタを有するコマンドメッセージを、前記少なくとも1つのメモリデバイスに送信するように前記ホストが構成された、請求項24または25に記載のシステム。
  27. 前記少なくとも1つのメモリデバイスは、前記少なくとも1つのコマンドに関する前記ポインタを用いて、ホストメモリからの前記少なくとも1つのコマンドから1つ以上のコマンドを取り出すように構成された制御回路を含む、請求項26に記載のシステム。
  28. 前記少なくとも1つのメモリデバイスは、少なくとも1つのデータ転送メッセージを前記ホストに送信することにより、前記少なくとも1つのコマンドの実行を制御するように構成された制御回路を含む、請求項24または25に記載のシステム。
  29. 前記少なくとも1つのデータ転送メッセージは、ホストメモリアドレスコンテキストを含むパケットのヘッダを含む、請求項28に記載のシステム。
  30. 前記少なくとも1つのメモリデバイスは、送信されるデータ転送メッセージの数、前記データ転送のサイズ、および前記データ転送の方向を決定する1つ以上のコマンドを処理するように構成された制御回路を含む、請求項24または25に記載のシステム。
  31. 少なくとも1つのメモリデバイスとの連結部と、
    ホストプロセッサとの連結部と、
    ホストメモリとの連結部と、を備えており、
    前記ホストシステムメモリ内の前記ホストプロセッサにより生成されたコマンドを、前記少なくとも1つのメモリデバイスに送信し、
    ホストメモリおよび前記少なくとも1つのメモリデバイス間において、処理状態を把握しない方法によりデータを送信する、ホストコントローラ。
  32. パケットのヘッダ内のトランザクションタイプコード(TTC)に応答するように構成された、請求項31に記載のホストコントローラ。
  33. 前記少なくとも1つのメモリデバイスとのファーストパーティダイレクトメモリアクセス(FPDMA)を援助するように構成された、請求項32に記載のホストコントローラ。
  34. 前記TTCは前記データ転送の方向を示す、請求項32に記載のホストコントローラ。
  35. ホストと接続するように構成された連結部を備えており、
    前記ホストから少なくとも1つのコマンドを受信し、前記少なくとも1つのコマンドの実行を制御するように構成された、メモリデバイス。
  36. コマンドの実行中に、パケットのヘッダを含むデータ転送メッセージをホストコントローラに送信するように構成された、請求項35に記載のメモリデバイス。
  37. データ転送に関する状態およびステータス情報を保持および制御するように構成された、請求項35に記載のメモリデバイス。
  38. 前記少なくとも1つのコマンドの優先順位を決め、シーケンスを付け、かつ待ち行列に入れるように構成された、請求項35〜37のいずれか1項に記載のメモリデバイス。
  39. 前記少なくとも1つのコマンドを実行するための当該メモリデバイスの状態および/または能力に基づいて、前記少なくとも1つのコマンドの優先順位を決め、シーケンスを付け、かつ待ち行列に入れるように構成された、請求項38に記載のメモリデバイス。
JP2012513924A 2009-06-03 2010-05-24 メモリデバイスによりホストメモリアクセスを制御するための方法およびシステム Active JP5638069B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/477,204 2009-06-03
US12/477,204 US8225052B2 (en) 2009-06-03 2009-06-03 Methods for controlling host memory access with memory devices and systems
PCT/US2010/001521 WO2010141059A2 (en) 2009-06-03 2010-05-24 Methods for controlling host memory access with memory devices and systems

Publications (2)

Publication Number Publication Date
JP2012529103A true JP2012529103A (ja) 2012-11-15
JP5638069B2 JP5638069B2 (ja) 2014-12-10

Family

ID=43298357

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012513924A Active JP5638069B2 (ja) 2009-06-03 2010-05-24 メモリデバイスによりホストメモリアクセスを制御するための方法およびシステム

Country Status (7)

Country Link
US (3) US8225052B2 (ja)
EP (1) EP2438522B1 (ja)
JP (1) JP5638069B2 (ja)
KR (1) KR101371936B1 (ja)
CN (1) CN102460405B (ja)
TW (1) TWI436217B (ja)
WO (1) WO2010141059A2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015508546A (ja) * 2012-01-18 2015-03-19 ▲ホア▼▲ウェイ▼技術有限公司 メッセージ・ベースのメモリ・アクセス装置およびそのアクセス方法
JP2017513089A (ja) * 2014-02-14 2017-05-25 マイクロン テクノロジー, インク. コマンドキューイング

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9239806B2 (en) * 2011-03-11 2016-01-19 Micron Technology, Inc. Systems, devices, memory controllers, and methods for controlling memory
KR101284002B1 (ko) * 2011-09-07 2013-07-10 삼성전자주식회사 외부 메모리의 장착 수단을 구비하는 장치
KR102030733B1 (ko) * 2013-01-02 2019-10-10 삼성전자주식회사 메모리 시스템 및 이의 구동 방법
US9128634B1 (en) * 2013-03-11 2015-09-08 Marvell International Ltd. Systems and methods of packed command management for non-volatile storage devices
CN104461974B (zh) * 2013-09-13 2017-07-25 英业达科技有限公司 一种采用高速小型电脑系统传输接口的服务器系统
US9824004B2 (en) 2013-10-04 2017-11-21 Micron Technology, Inc. Methods and apparatuses for requesting ready status information from a memory
CN103631534B (zh) 2013-11-12 2017-01-11 北京兆芯电子科技有限公司 数据存储系统以及其管理方法
CN104636081B (zh) * 2013-11-12 2017-11-14 上海兆芯集成电路有限公司 数据存储系统以及其管理方法
US10108372B2 (en) 2014-01-27 2018-10-23 Micron Technology, Inc. Methods and apparatuses for executing a plurality of queued tasks in a memory
US11030122B2 (en) 2014-04-08 2021-06-08 Micron Technology, Inc. Apparatuses and methods for securing an access protection scheme
US9851901B2 (en) * 2014-09-26 2017-12-26 Western Digital Technologies, Inc. Transfer of object memory references in a data storage device
US9535850B1 (en) 2015-01-28 2017-01-03 Google Inc. System and method for efficient DMA transfers
US10120818B2 (en) * 2015-10-01 2018-11-06 International Business Machines Corporation Synchronous input/output command
KR20170046862A (ko) * 2015-10-21 2017-05-04 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작 방법
KR20180018886A (ko) 2016-08-09 2018-02-22 삼성전자주식회사 스토리지 시스템의 동작 방법 및 호스트의 동작 방법
US10621117B2 (en) * 2017-06-15 2020-04-14 Micron Technology, Inc. Controlling memory devices using a shared channel
KR20190106228A (ko) * 2018-03-08 2019-09-18 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작 방법
US10853273B2 (en) 2018-08-01 2020-12-01 Micron Technology, Inc. Secure memory system programming
US11599481B2 (en) 2019-12-12 2023-03-07 Western Digital Technologies, Inc. Error recovery from submission queue fetching errors
WO2022126534A1 (zh) * 2020-12-17 2022-06-23 华为技术有限公司 数据处理方法及相关设备
US20220291947A1 (en) * 2021-03-10 2022-09-15 Meta Platforms, Inc. Apparatus, systems, and methods for facilitating efficient hardware-firmware interactions

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09160861A (ja) * 1995-12-13 1997-06-20 Internatl Business Mach Corp <Ibm> ローカル・プロセッサの介入なしにコマンド・ブロックをローカル処理サイドに転送するための情報処理システム
JP2003256273A (ja) * 2002-02-26 2003-09-10 Nec Corp フラッシュメモリアクセス回路及びフラッシュメモリアクセス方法
JP2006512674A (ja) * 2002-12-31 2006-04-13 インテル コーポレイション 光学ストレージの転送性能の向上

Family Cites Families (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4425615A (en) * 1980-11-14 1984-01-10 Sperry Corporation Hierarchical memory system having cache/disk subsystem with command queues for plural disks
US4682284A (en) * 1984-12-06 1987-07-21 American Telephone & Telegraph Co., At&T Bell Lab. Queue administration method and apparatus
JP3209634B2 (ja) * 1994-03-28 2001-09-17 株式会社日立製作所 計算機システム
US6374313B1 (en) * 1994-09-30 2002-04-16 Cirrus Logic, Inc. FIFO and method of operating same which inhibits output transitions when the last cell is read or when the FIFO is erased
US5809224A (en) * 1995-10-13 1998-09-15 Compaq Computer Corporation On-line disk array reconfiguration
US6049842A (en) 1997-05-01 2000-04-11 International Business Machines Corporation Efficient data transfer mechanism for input/output devices
US6212593B1 (en) 1998-06-01 2001-04-03 Advanced Micro Devices, Inc. Method and apparatus for generating interrupts on a buffer by buffer basis in buffer descriptor ring direct memory access system
US6996820B1 (en) * 1999-04-05 2006-02-07 Cisco Technology, Inc. Efficient multiple priority list memory system
JP4074029B2 (ja) 1999-06-28 2008-04-09 株式会社東芝 フラッシュメモリ
US7457897B1 (en) * 2004-03-17 2008-11-25 Suoer Talent Electronics, Inc. PCI express-compatible controller and interface for flash memory
US6956818B1 (en) 2000-02-23 2005-10-18 Sun Microsystems, Inc. Method and apparatus for dynamic class-based packet scheduling
US20030065862A1 (en) * 2001-09-28 2003-04-03 Wyland David C. Computer system and method for communications between bus devices
US6807599B2 (en) * 2001-10-15 2004-10-19 Advanced Micro Devices, Inc. Computer system I/O node for connection serially in a chain to a host
EP1345236B1 (en) 2002-03-14 2011-05-11 STMicroelectronics Srl A non-volatile memory device
KR100441608B1 (ko) 2002-05-31 2004-07-23 삼성전자주식회사 낸드 플래시 메모리 인터페이스 장치
KR100449807B1 (ko) 2002-12-20 2004-09-22 한국전자통신연구원 호스트 버스 인터페이스를 갖는 데이터 전송 프로토콜제어 시스템
KR100546348B1 (ko) 2003-07-23 2006-01-26 삼성전자주식회사 플래시 메모리 시스템 및 그 데이터 저장 방법
US7689738B1 (en) * 2003-10-01 2010-03-30 Advanced Micro Devices, Inc. Peripheral devices and methods for transferring incoming data status entries from a peripheral to a host
US7673080B1 (en) * 2004-02-12 2010-03-02 Super Talent Electronics, Inc. Differential data transfer for flash memory card
DE602005011826D1 (de) 2004-06-15 2009-01-29 Trek 2000 Int Ltd Festkörper-speicherbaustein zum drahtlosen speichern von aus einem host gesendeten daten und zum drahtlosen senden der daten zu dem host
US20060010260A1 (en) 2004-07-07 2006-01-12 Fung Hon C Direct memory access (DMA) controller and bus structure in a master/slave system
US7290085B2 (en) 2004-11-16 2007-10-30 International Business Machines Corporation Method and system for flexible and efficient protocol table implementation
US7475167B2 (en) * 2005-04-15 2009-01-06 Intel Corporation Offloading data path functions
US7428610B2 (en) 2006-02-14 2008-09-23 Atmel Corporation Writing to flash memory
TW200734880A (en) 2006-03-07 2007-09-16 Via Tech Inc Direct memory access method for microcomputer system
KR100896181B1 (ko) 2007-01-26 2009-05-12 삼성전자주식회사 임베디드 낸드 플래시 메모리 제어 장치 및 방법
KR20080105390A (ko) 2007-05-30 2008-12-04 삼성전자주식회사 플래시 메모리에 사용되는 명령어들을 제어하는 방법 및장치
US8683126B2 (en) * 2007-07-30 2014-03-25 Nvidia Corporation Optimal use of buffer space by a storage controller which writes retrieved data directly to a memory
US8239612B2 (en) 2007-09-27 2012-08-07 Tdk Corporation Memory controller, flash memory system with memory controller, and control method of flash memory
JP4488048B2 (ja) * 2007-09-27 2010-06-23 Tdk株式会社 メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法
CN101162449B (zh) 2007-10-08 2010-06-02 福州瑞芯微电子有限公司 Nand flash控制器及其与nand flash芯片的数据交互方法
US20100042751A1 (en) * 2007-11-09 2010-02-18 Kouichi Ishino Data transfer control device, data transfer device, data transfer control method, and semiconductor integrated circuit using reconfigured circuit
TW200921395A (en) 2007-11-14 2009-05-16 Sonix Technology Co Ltd System and method of direct memory access
US8364863B2 (en) * 2008-07-11 2013-01-29 Intel Corporation Method and apparatus for universal serial bus (USB) command queuing
US8327040B2 (en) * 2009-01-26 2012-12-04 Micron Technology, Inc. Host controller

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09160861A (ja) * 1995-12-13 1997-06-20 Internatl Business Mach Corp <Ibm> ローカル・プロセッサの介入なしにコマンド・ブロックをローカル処理サイドに転送するための情報処理システム
JP2003256273A (ja) * 2002-02-26 2003-09-10 Nec Corp フラッシュメモリアクセス回路及びフラッシュメモリアクセス方法
JP2006512674A (ja) * 2002-12-31 2006-04-13 インテル コーポレイション 光学ストレージの転送性能の向上

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015508546A (ja) * 2012-01-18 2015-03-19 ▲ホア▼▲ウェイ▼技術有限公司 メッセージ・ベースのメモリ・アクセス装置およびそのアクセス方法
US9870327B2 (en) 2012-01-18 2018-01-16 Huawei Technologies Co., Ltd. Message-based memory access apparatus and access method thereof
JP2017513089A (ja) * 2014-02-14 2017-05-25 マイクロン テクノロジー, インク. コマンドキューイング
US10146477B2 (en) 2014-02-14 2018-12-04 Micron Technology, Inc. Command queuing
US10884661B2 (en) 2014-02-14 2021-01-05 Micron Technology, Inc. Command queuing
US11494122B2 (en) 2014-02-14 2022-11-08 Micron Technology, Inc. Command queuing
US11954370B2 (en) 2014-02-14 2024-04-09 Lodestar Licensing Group Llc Command queuing

Also Published As

Publication number Publication date
JP5638069B2 (ja) 2014-12-10
US8918600B2 (en) 2014-12-23
WO2010141059A3 (en) 2011-03-03
US20150153956A1 (en) 2015-06-04
US9811258B2 (en) 2017-11-07
KR20120014938A (ko) 2012-02-20
WO2010141059A2 (en) 2010-12-09
US20100312973A1 (en) 2010-12-09
US20120284466A1 (en) 2012-11-08
CN102460405A (zh) 2012-05-16
EP2438522A4 (en) 2013-05-08
TWI436217B (zh) 2014-05-01
CN102460405B (zh) 2015-11-25
TW201104438A (en) 2011-02-01
KR101371936B1 (ko) 2014-03-07
EP2438522A2 (en) 2012-04-11
EP2438522B1 (en) 2015-10-28
US8225052B2 (en) 2012-07-17

Similar Documents

Publication Publication Date Title
JP5638069B2 (ja) メモリデバイスによりホストメモリアクセスを制御するための方法およびシステム
US11954370B2 (en) Command queuing
US11023167B2 (en) Methods and apparatuses for executing a plurality of queued tasks in a memory
US11550477B2 (en) Processing host write transactions using a non-volatile memory express controller memory manager
US20190384700A1 (en) Methods and apparatuses for requesting ready status information from a memory
US9563367B2 (en) Latency command processing for solid state drive interface protocol
US10705952B2 (en) User space data storage management
WO2012091798A1 (en) Controller and method for performing background operations
US10649909B2 (en) Logical block addressing range collision crawler
US20190138473A1 (en) Semiconductor devices including command priority policy management and related systems
US8667188B2 (en) Communication between a computer and a data storage device
US20240053923A1 (en) Write coalescing via hmb to optimize write performance
CN110032333B (zh) 存储器系统及其操作方法
CN116150052A (zh) 包括控制器的存储装置及其操作方法
WO2024097492A1 (en) Fast execution of barrier command

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130523

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130528

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130822

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20130822

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130917

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20131204

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20131204

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20140415

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140731

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20140731

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

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20140807

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20141021

R150 Certificate of patent or registration of utility model

Ref document number: 5638069

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250