JP7191967B2 - NVMeベースのデータ読み取り方法、装置及びシステム - Google Patents
NVMeベースのデータ読み取り方法、装置及びシステム Download PDFInfo
- Publication number
- JP7191967B2 JP7191967B2 JP2020545126A JP2020545126A JP7191967B2 JP 7191967 B2 JP7191967 B2 JP 7191967B2 JP 2020545126 A JP2020545126 A JP 2020545126A JP 2020545126 A JP2020545126 A JP 2020545126A JP 7191967 B2 JP7191967 B2 JP 7191967B2
- Authority
- JP
- Japan
- Prior art keywords
- address
- data
- read
- host
- storage unit
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4004—Coupling between buses
- G06F13/4027—Coupling between buses using bus bridges
- G06F13/404—Coupling between buses using bus bridges with address mapping
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4204—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
- G06F13/4234—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
- G06F3/0607—Improving or facilitating administration, e.g. storage management by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0662—Virtualisation aspects
- G06F3/0664—Virtualisation aspects at device level, e.g. emulation of a storage device or system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/0026—PCI express
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Computer Hardware Design (AREA)
- Information Transfer Systems (AREA)
- Communication Control (AREA)
- Memory System (AREA)
Description
このモードでは、NVMeコントローラは、データオフセットの単調に増加する順序でデータパケットを送信する。ホストは、データパケットの順序に基づいてペイロードデータを受信する。このモードでは、オフセットは必要とされない。具体的には、図7に示すポータル幅は、2bit(標準で指定される)のみでもよい。
緩和モードでは、NVMeコントローラは、任意の順序でPCIe書き込みトランザクションを送信してもよいが、データパケットは、データオフセットを搬送する必要がある。本発明のこの実施形態では、NVMeコントローラは、読み取り操作の論理ブロックを同時に処理してもよい。具体的には、NVMeコントローラは、ストレージ媒体から異なる論理ブロックに対応するデータを読み取り、それぞれ、検査のためにデータを異なる読み取りメモリブロックに配置してもよい。異なる読み取りメモリブロックは異なる時間に検査を完了するので、読み取りメモリブロックは、厳密に論理ブロックの順序に従ってホストに書き込まれなくてもよく、第1の論理ブロックに対応する読み取りメモリブロックは、最後の論理ブロックに対応する読み取りメモリブロックよりも後にターゲットのメモリに書き込まれてもよい。NVMeコントローラは、トランザクションパケットで搬送されたデータオフセットに基づいてデータを再編成する。このモードでは、データパケットは、データオフセットを搬送する必要がある。言い換えると、図7に示すポータル幅は、最大データ送信サイズ以上である必要がある。
NVMeコントローラへの読み取り命令をトリガするように構成された処理ユニット1202であり、読み取り命令は、指示情報を搬送し、指示情報は、第1のアドレスを示すために使用され、第1のアドレスは、NVMeコントローラによりアドレス指定可能なアドレスである、処理ユニット1202と、
NVMeコントローラにより送信された第1のデータパケットを受信するように構成された受信ユニット1204であり、第1のデータパケットは、第1のアドレス及び第1のペイロードデータを搬送する、受信ユニット1204と
を含む。
Claims (29)
- NVMeベースのデータ読み取りシステムであって、
当該システムは、ホストと、NVMeコントローラと、ストレージ媒体とを含み、
前記ストレージ媒体は、データを記憶するように構成され、
前記ホストは、読み取り命令をトリガするように構成され、前記読み取り命令は、指示情報を搬送し、前記指示情報は、第1のアドレスを示すために使用され、前記第1のアドレスは、前記NVMeコントローラによりアドレス指定可能なアドレスであり、前記第1のアドレスは、前記ホストにより前記NVMeコントローラに対して開放されたアドレスであり、
前記NVMeコントローラは、前記読み取り命令を取得し、前記ストレージ媒体から、前記読み取り命令に対応する読み取り対象のデータを読み取り、第1のデータパケットを前記ホストに送信するように構成され、前記第1のデータパケットは、前記第1のアドレス及び第1のペイロードデータを搬送し、前記読み取り対象のデータは、前記第1のペイロードデータを含み、
前記ホストは、前記第1のデータパケットを受信し、前記第1のアドレスに基づいて第2のアドレスを決定し、前記NVMeコントローラによりトリガされた完了キューエントリ(CQE)を受信する前に、前記第1のペイロードデータを前記第2のアドレスにより示されるストレージユニットに書き込むように更に構成され、前記第2のアドレスは、前記ホストによりアドレス指定可能なアドレスであり、
前記第2のアドレスにより示される前記ストレージユニットに対して書き込み操作を完了した後に、前記ホストは、前記第2のアドレスにより示される前記ストレージユニット内のデータに対して操作を実行するように更に構成され、
前記第2のアドレスにより示される前記ストレージユニットは、前記ホストのプライベートメモリユニットである、システム。 - 前記NVMeコントローラは、前記完了キューエントリ(CQE)をトリガするように更に構成され、前記CQEは、前記NVMeコントローラが前記読み取り命令により指定された読み取り操作を完了したことを示すために使用され、
前記第2のアドレスにより示される前記ストレージユニット内の前記データに対して前記操作を実行した後に、前記ホストは、前記CQEを取得するように更に構成される、請求項1に記載のシステム。 - 前記第2のアドレスにより示される前記ストレージユニット内の前記データに対して前記操作を実行した後に、前記ホストは、前記第2のアドレスにより示される前記ストレージユニットを解放するように更に構成される、請求項1又は2に記載のシステム。
- 前記読み取り命令をトリガする前に、前記ホストは、前記第2のアドレスにより示される前記ストレージユニットを前記読み取り命令に割り当て、前記第1のアドレスと前記第2のアドレスとの間の対応関係を記録するように更に構成される、請求項1乃至3のうちいずれか1項に記載のシステム。
- 前記読み取り命令の前記読み取り対象のデータは、少なくとも2つのデータパケットに対応し、前記ホストは、少なくとも2つのストレージユニットを前記読み取り命令に割り当てる、請求項1乃至4のうちいずれか1項に記載のシステム。
- 前記ホストは、前記第1のアドレス及び前記読み取り対象のデータ内の前記第1のペイロードデータの順序に基づいて、前記第2のアドレスを決定するように構成される、請求項1乃至5のうちいずれか1項に記載のシステム。
- 前記NVMeコントローラは、第2のデータパケットを前記ホストに送信するように更に構成され、前記第2のデータパケットは、前記第1のアドレス及び第2のペイロードデータを搬送し、前記読み取り対象のデータは、前記第2のペイロードデータを含み、
前記ホストは、前記第2のデータパケットを受信し、前記第1のデータパケット及び前記第2のデータパケットを受信する順序に基づいて、前記読み取り対象のデータ内の前記第1のペイロードデータ及び前記第2のペイロードデータの順序を決定するように更に構成される、請求項1乃至6のうちいずれか1項に記載のシステム。 - 前記第1のデータパケットは、前記読み取り対象のデータ内の前記第1のペイロードデータのオフセットを更に搬送し、前記オフセットは、前記読み取り対象のデータ内の前記第1のペイロードデータの順序を示すために使用される、請求項1乃至6のうちいずれか1項に記載のシステム。
- 前記第1のアドレスは、前記NVMeコントローラによりアドレス指定可能なPCIeアドレスであり、前記第1のデータパケットは、PCIeパケットであり、前記第2のアドレスにより示される前記ストレージユニットは、前記ホストのメモリ空間である、請求項1乃至8のうちいずれか1項に記載のシステム。
- NVMeベースのデータ読み取り方法であって、当該方法は、
ホストにより、読み取り命令をトリガするステップであり、前記読み取り命令は、指示情報を搬送し、前記指示情報は、第1のアドレスを示すために使用され、前記第1のアドレスは、NVMeコントローラによりアドレス指定可能なアドレスであり、前記第1のアドレスは、前記ホストにより前記NVMeコントローラに対して開放されたアドレスである、ステップと、
前記ホストにより、前記NVMeコントローラにより送信された第1のデータパケットを受信するステップであり、前記第1のデータパケットは、前記第1のアドレス及び第1のペイロードデータを搬送し、前記読み取り命令に対応する読み取り対象のデータは、前記第1のペイロードデータを含む、ステップと、
前記ホストにより、前記第1のアドレスに基づいて第2のアドレスを決定するステップであり、前記第2のアドレスは、前記ホストによりアドレス指定可能なアドレスである、ステップと、
前記ホストにより、前記NVMeコントローラによりトリガされた完了キューエントリ(CQE)を受信する前に、前記第1のペイロードデータを前記第2のアドレスにより示されるストレージユニットに書き込むステップと
を含み、
前記ホストが前記第2のアドレスにより示される前記ストレージユニットに対して書き込み操作を完了した後に、当該方法は、
前記ホストにより、前記第2のアドレスにより示される前記ストレージユニット内のデータに対して操作を実行するステップを更に含み、
前記第2のアドレスにより示される前記ストレージユニットは、前記ホストのプライベートメモリユニットである、方法。 - 前記ホストが前記第2のアドレスにより示される前記ストレージユニット内の前記データに対して前記操作を実行した後に、当該方法は、
前記ホストにより、前記NVMeコントローラによりトリガされた前記完了キューエントリ(CQE)を取得するステップであり、前記CQEは、前記NVMeコントローラが前記読み取り命令により指定された読み取り操作を完了したことを示すために使用される、ステップを更に含む、請求項10に記載の方法。 - 前記ホストが前記第2のアドレスにより示される前記ストレージユニット内の前記データに対して前記操作を実行した後に、当該方法は、
前記ホストにより、前記第2のアドレスにより示される前記ストレージユニットを解放するステップを更に含む、請求項10又は11に記載の方法。 - ホストにより、読み取り命令をトリガする前に、当該方法は、
前記ホストにより、前記第2のアドレスにより示される前記ストレージユニットを前記読み取り命令に割り当て、前記第1のアドレスと前記第2のアドレスとの間の対応関係を記録するステップを更に含む、請求項10乃至12のうちいずれか1項に記載の方法。 - 前記読み取り命令の前記読み取り対象のデータは、少なくとも2つのデータパケットに対応し、前記ホストは、少なくとも2つのストレージユニットを前記読み取り命令に割り当てる、請求項10乃至13のうちいずれか1項に記載の方法。
- 前記ホストは、前記第1のアドレス及び前記読み取り対象のデータ内の前記第1のペイロードデータの順序に基づいて、前記第2のアドレスを決定する、請求項10乃至14のうちいずれか1項に記載の方法。
- 当該方法は、
前記ホストにより、前記NVMeコントローラにより送信された第2のデータパケットを受信するステップであり、前記第2のデータパケットは、前記第1のアドレス及び第2のペイロードデータを搬送し、前記読み取り命令に対応する前記読み取り対象のデータは、前記第2のペイロードデータを含む、ステップと、
前記ホストにより、前記第1のデータパケット及び前記第2のデータパケットを受信する順序に基づいて、前記読み取り対象のデータ内の前記第1のペイロードデータ及び前記第2のペイロードデータの順序を決定するステップと
を更に含む、請求項10乃至15のうちいずれか1項に記載の方法。 - 前記第1のデータパケットは、前記読み取り対象のデータ内の前記第1のペイロードデータのオフセットを更に搬送し、前記オフセットは、前記読み取り対象のデータ内の前記第1のペイロードデータの順序を示すために使用される、請求項10乃至15のうちいずれか1項に記載の方法。
- 前記第1のアドレスは、前記NVMeコントローラによりアドレス指定可能なPCIeアドレスであり、前記第1のデータパケットは、PCIeパケットであり、前記第2のアドレスにより示される前記ストレージユニットは、前記ホストのメモリ空間である、請求項10乃至17のうちいずれか1項に記載の方法。
- NVMeベースのデータ読み取り装置であって、当該装置は、
読み取り命令をトリガするように構成された処理ユニットであり、前記読み取り命令は、指示情報を搬送し、前記指示情報は、第1のアドレスを示すために使用され、前記第1のアドレスは、NVMeコントローラによりアドレス指定可能なアドレスであり、前記第1のアドレスは、ホストにより前記NVMeコントローラに対して開放されたアドレスである、処理ユニットと、
前記NVMeコントローラにより送信された第1のデータパケットを受信するように構成された受信ユニットであり、前記第1のデータパケットは、前記第1のアドレス及び第1のペイロードデータを搬送し、前記読み取り命令に対応する読み取り対象のデータは、前記第1のペイロードデータを含む、受信ユニットと
を含み、
前記処理ユニットは、前記第1のアドレスに基づいて第2のアドレスを決定し、前記NVMeコントローラによりトリガされた完了キューエントリ(CQE)を受信する前に、前記第1のペイロードデータを前記第2のアドレスにより示されるストレージユニットに書き込むように更に構成され、前記第2のアドレスは、前記処理ユニットによりアドレス指定可能なアドレスであり、
前記第2のアドレスにより示される前記ストレージユニットに対して書き込み操作を完了した後に、前記処理ユニットは、前記第2のアドレスにより示される前記ストレージユニット内のデータに対して操作を実行するように更に構成され、
前記第2のアドレスにより示される前記ストレージユニットは、前記ホストのプライベートメモリユニットである、装置。 - 前記第2のアドレスにより示される前記ストレージユニット内の前記データに対して前記操作を実行した後に、前記処理ユニットは、前記NVMeコントローラによりトリガされた前記完了キューエントリ(CQE)を取得するように更に構成され、前記CQEは、前記NVMeコントローラが前記読み取り命令により指定された読み取り操作を完了したことを示すために使用される、請求項19に記載の装置。
- 前記第2のアドレスにより示される前記ストレージユニット内の前記データに対して前記操作を実行した後に、前記処理ユニットは、前記第2のアドレスにより示される前記ストレージユニットを解放するように更に構成される、請求項19又は20に記載の装置。
- 前記読み取り命令をトリガする前に、前記処理ユニットは、前記第2のアドレスにより示される前記ストレージユニットを前記読み取り命令に割り当て、前記第1のアドレスと前記第2のアドレスとの間の対応関係を記録するように更に構成される、請求項19乃至21のうちいずれか1項に記載の装置。
- 前記読み取り命令の前記読み取り対象のデータは、少なくとも2つのデータパケットに対応し、前記処理ユニットは、少なくとも2つのストレージユニットを前記読み取り命令に割り当てる、請求項19乃至22のうちいずれか1項に記載の装置。
- 前記処理ユニットは、前記第1のアドレス及び前記読み取り対象のデータ内の前記第1のペイロードデータの順序に基づいて、前記第2のアドレスを決定するように構成される、請求項19乃至23のうちいずれか1項に記載の装置。
- 前記受信ユニットは、前記NVMeコントローラにより送信された第2のデータパケットを受信するように更に構成され、前記第2のデータパケットは、前記第1のアドレス及び第2のペイロードデータを搬送し、前記読み取り命令に対応する前記読み取り対象のデータは、前記第2のペイロードデータを含み、
前記処理ユニットは、前記第1のデータパケット及び前記第2のデータパケットを受信する順序に基づいて、前記読み取り対象のデータ内の前記第1のペイロードデータ及び前記第2のペイロードデータの順序を決定するように更に構成される、請求項19乃至24のうちいずれか1項に記載の装置。 - 前記第1のデータパケットは、前記読み取り対象のデータ内の前記第1のペイロードデータのオフセットを更に搬送し、前記オフセットは、前記読み取り対象のデータ内の前記第1のペイロードデータの順序を示すために使用される、請求項19乃至24のうちいずれか1項に記載の装置。
- 前記第1のアドレスは、前記NVMeコントローラによりアドレス指定可能なPCIeアドレスであり、前記第1のデータパケットは、PCIeパケットであり、前記第2のアドレスにより示される前記ストレージユニットは、当該装置のメモリ空間である、請求項19乃至26のうちいずれか1項に記載の装置。
- 実行可能命令を含む読み取り可能記憶媒体であって、
計算デバイスのプロセッサが前記実行可能命令を実行するとき、前記計算デバイスは、請求項10乃至18のうちいずれか1項に記載の方法を実行する、読み取り可能記憶媒体。 - プロセッサと、メモリと、バスとを含む計算デバイスであって、
前記メモリは、実行可能命令を記憶するように構成され、前記プロセッサ及び前記メモリは、前記バスを通じて接続され、当該計算デバイスが動作するとき、前記プロセッサは、前記メモリに記憶された前記実行可能命令を実行し、前記計算デバイスは、請求項10乃至18のうちいずれか1項に記載の方法を実行することが可能になる、計算デバイス。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2018/093918 WO2020000482A1 (zh) | 2018-06-30 | 2018-06-30 | 一种基于NVMe的数据读取方法、装置及*** |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2021515318A JP2021515318A (ja) | 2021-06-17 |
JP7191967B2 true JP7191967B2 (ja) | 2022-12-19 |
Family
ID=68984388
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020545126A Active JP7191967B2 (ja) | 2018-06-30 | 2018-06-30 | NVMeベースのデータ読み取り方法、装置及びシステム |
Country Status (6)
Country | Link |
---|---|
US (1) | US11467764B2 (ja) |
EP (1) | EP3792776B1 (ja) |
JP (1) | JP7191967B2 (ja) |
KR (1) | KR102471219B1 (ja) |
CN (1) | CN111095231B (ja) |
WO (1) | WO2020000482A1 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7496280B2 (ja) | 2020-10-07 | 2024-06-06 | 株式会社竹中工務店 | 関数同定方法 |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111752484B (zh) * | 2020-06-08 | 2024-04-12 | 深圳大普微电子科技有限公司 | 一种ssd控制器、固态硬盘及数据写入方法 |
CN111831226B (zh) * | 2020-07-07 | 2023-09-29 | 山东华芯半导体有限公司 | 一种自主输出nvme协议命令加速处理方法 |
CN113296691B (zh) * | 2020-07-27 | 2024-05-03 | 阿里巴巴集团控股有限公司 | 数据处理***、方法、装置以及电子设备 |
CN112527705B (zh) * | 2020-11-05 | 2023-02-28 | 山东云海国创云计算装备产业创新中心有限公司 | 一种PCIe DMA数据通路的验证方法、装置及设备 |
CN113031862B (zh) * | 2021-03-18 | 2024-03-22 | 中国电子科技集团公司第五十二研究所 | 一种基于nvme协议控制sata盘的存储*** |
CN114996172B (zh) * | 2022-08-01 | 2022-11-01 | 北京得瑞领新科技有限公司 | 基于ssd访问主机内存的方法及*** |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150261434A1 (en) | 2014-03-17 | 2015-09-17 | Mellanox Technologies Ltd. | Storage system and server |
US20160124876A1 (en) | 2014-08-22 | 2016-05-05 | HGST Netherlands B.V. | Methods and systems for noticing completion of read requests in solid state drives |
CN106210041A (zh) | 2016-07-05 | 2016-12-07 | 杭州华为数字技术有限公司 | 一种数据写入方法及服务器端网卡 |
Family Cites Families (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130086311A1 (en) | 2007-12-10 | 2013-04-04 | Ming Huang | METHOD OF DIRECT CONNECTING AHCI OR NVMe BASED SSD SYSTEM TO COMPUTER SYSTEM MEMORY BUS |
CN103080917B (zh) * | 2010-06-18 | 2014-08-20 | Lsi公司 | 可扩展存储装置 |
US8966172B2 (en) * | 2011-11-15 | 2015-02-24 | Pavilion Data Systems, Inc. | Processor agnostic data storage in a PCIE based shared storage enviroment |
BR112014017543A2 (pt) * | 2012-01-17 | 2017-06-27 | Intel Corp | técnicas de validação de comando para o acesso a um dispositivo de armazenamento por um cliente remoto |
US20140195634A1 (en) * | 2013-01-10 | 2014-07-10 | Broadcom Corporation | System and Method for Multiservice Input/Output |
US9256384B2 (en) * | 2013-02-04 | 2016-02-09 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Method and system for reducing write latency in a data storage system by using a command-push model |
US9424219B2 (en) * | 2013-03-12 | 2016-08-23 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Direct routing between address spaces through a nontransparent peripheral component interconnect express bridge |
US9565269B2 (en) * | 2014-11-04 | 2017-02-07 | Pavilion Data Systems, Inc. | Non-volatile memory express over ethernet |
US9712619B2 (en) * | 2014-11-04 | 2017-07-18 | Pavilion Data Systems, Inc. | Virtual non-volatile memory express drive |
US9575853B2 (en) | 2014-12-12 | 2017-02-21 | Intel Corporation | Accelerated data recovery in a storage system |
CN106484549B (zh) | 2015-08-31 | 2019-05-10 | 华为技术有限公司 | 一种交互方法、NVMe设备、HOST及物理机*** |
CN107209644B (zh) | 2015-12-28 | 2020-04-28 | 华为技术有限公司 | 一种数据处理方法以及NVMe存储器 |
US9921756B2 (en) * | 2015-12-29 | 2018-03-20 | EMC IP Holding Company LLC | Method and system for synchronizing an index of data blocks stored in a storage system using a shared storage module |
US10769098B2 (en) * | 2016-04-04 | 2020-09-08 | Marvell Asia Pte, Ltd. | Methods and systems for accessing host memory through non-volatile memory over fabric bridging with direct target access |
US10445018B2 (en) * | 2016-09-09 | 2019-10-15 | Toshiba Memory Corporation | Switch and memory device |
CN107832086B (zh) * | 2016-09-14 | 2020-03-20 | 华为技术有限公司 | 计算机设备、程序写入方法及程序读取方法 |
CN107992436B (zh) * | 2016-10-26 | 2021-04-09 | 华为技术有限公司 | 一种NVMe数据读写方法及NVMe设备 |
CN107077426B (zh) | 2016-12-05 | 2019-08-02 | 华为技术有限公司 | NVMe over Fabric架构中数据读写命令的控制方法、设备和*** |
EP3406052B1 (en) * | 2016-12-27 | 2020-02-12 | Chicago Mercantile Exchange, Inc. | Message processing protocol which mitigates manipulative messaging behavior |
US10387081B2 (en) * | 2017-03-24 | 2019-08-20 | Western Digital Technologies, Inc. | System and method for processing and arbitrating submission and completion queues |
US10503434B2 (en) | 2017-04-12 | 2019-12-10 | Micron Technology, Inc. | Scalable low-latency storage interface |
CN107608909A (zh) | 2017-09-19 | 2018-01-19 | 记忆科技(深圳)有限公司 | 一种NVMe固态硬盘写加速的方法 |
JP6901427B2 (ja) * | 2018-03-27 | 2021-07-14 | キオクシア株式会社 | ストレージ装置、コンピュータシステムおよびストレージ装置の動作方法 |
-
2018
- 2018-06-30 JP JP2020545126A patent/JP7191967B2/ja active Active
- 2018-06-30 EP EP18924295.1A patent/EP3792776B1/en active Active
- 2018-06-30 CN CN201880005007.9A patent/CN111095231B/zh active Active
- 2018-06-30 KR KR1020207022273A patent/KR102471219B1/ko active IP Right Grant
- 2018-06-30 WO PCT/CN2018/093918 patent/WO2020000482A1/zh unknown
-
2020
- 2020-10-16 US US17/072,038 patent/US11467764B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150261434A1 (en) | 2014-03-17 | 2015-09-17 | Mellanox Technologies Ltd. | Storage system and server |
US20160124876A1 (en) | 2014-08-22 | 2016-05-05 | HGST Netherlands B.V. | Methods and systems for noticing completion of read requests in solid state drives |
CN106210041A (zh) | 2016-07-05 | 2016-12-07 | 杭州华为数字技术有限公司 | 一种数据写入方法及服务器端网卡 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7496280B2 (ja) | 2020-10-07 | 2024-06-06 | 株式会社竹中工務店 | 関数同定方法 |
Also Published As
Publication number | Publication date |
---|---|
CN111095231B (zh) | 2021-08-03 |
EP3792776A4 (en) | 2021-06-09 |
WO2020000482A1 (zh) | 2020-01-02 |
KR102471219B1 (ko) | 2022-11-25 |
US20210034284A1 (en) | 2021-02-04 |
EP3792776A1 (en) | 2021-03-17 |
KR20200101982A (ko) | 2020-08-28 |
EP3792776B1 (en) | 2022-10-26 |
JP2021515318A (ja) | 2021-06-17 |
CN111095231A (zh) | 2020-05-01 |
US11467764B2 (en) | 2022-10-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7191967B2 (ja) | NVMeベースのデータ読み取り方法、装置及びシステム | |
TWI770358B (zh) | 主機系統及其方法和加速模組 | |
EP2849076B1 (en) | Dma transmission method and system | |
US9395921B2 (en) | Writing data using DMA by specifying a buffer address and a flash memory address | |
US8352689B2 (en) | Command tag checking in a multi-initiator media controller architecture | |
US8683126B2 (en) | Optimal use of buffer space by a storage controller which writes retrieved data directly to a memory | |
TW200406680A (en) | Method, system, and program for handling input/output commands | |
US9092366B2 (en) | Splitting direct memory access windows | |
US11579803B2 (en) | NVMe-based data writing method, apparatus, and system | |
EP3647932A1 (en) | Storage device processing stream data, system including the same, and operation method thereof | |
US20230359396A1 (en) | Systems and methods for processing commands for storage devices | |
US9727521B2 (en) | Efficient CPU mailbox read access to GPU memory | |
WO2020087931A1 (zh) | 一种数据备份方法、装置及*** | |
EP1631911B1 (en) | Method and device for transferring data between a main memory and a storage device | |
US11995351B2 (en) | DMA engines configured to perform first portion data transfer commands with a first DMA engine and second portion data transfer commands with second DMA engine | |
US20060277326A1 (en) | Data transfer system and method | |
US11789634B2 (en) | Systems and methods for processing copy commands | |
US10223308B2 (en) | Management of data transaction from I/O devices |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20200827 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20200827 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20211102 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20211227 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20220517 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20220914 |
|
C60 | Trial request (containing other claim documents, opposition documents) |
Free format text: JAPANESE INTERMEDIATE CODE: C60 Effective date: 20220914 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20220927 |
|
C21 | Notice of transfer of a case for reconsideration by examiners before appeal proceedings |
Free format text: JAPANESE INTERMEDIATE CODE: C21 Effective date: 20221004 |
|
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: 20221122 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20221207 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7191967 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |