JP2021515318A - NVMeベースのデータ読み取り方法、装置及びシステム - Google Patents
NVMeベースのデータ読み取り方法、装置及びシステム Download PDFInfo
- Publication number
- JP2021515318A JP2021515318A JP2020545126A JP2020545126A JP2021515318A JP 2021515318 A JP2021515318 A JP 2021515318A JP 2020545126 A JP2020545126 A JP 2020545126A JP 2020545126 A JP2020545126 A JP 2020545126A JP 2021515318 A JP2021515318 A JP 2021515318A
- 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.)
- Granted
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
- 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
- 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
- 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)
Abstract
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 (32)
- NVMeベースのデータ読み取りシステムであって、
当該システムは、ホストと、NVMeコントローラと、ストレージ媒体とを含み、
前記ストレージ媒体は、データを記憶するように構成され、
前記ホストは、読み取り命令をトリガするように構成され、前記読み取り命令は、指示情報を搬送し、前記指示情報は、第1のアドレスを示すために使用され、前記第1のアドレスは、前記NVMeコントローラによりアドレス指定可能なアドレスであり、
前記NVMeコントローラは、前記読み取り命令を取得し、前記ストレージ媒体から、前記読み取り命令に対応する読み取り対象のデータを読み取り、第1のデータパケットを前記ホストに送信するように構成され、前記第1のデータパケットは、前記第1のアドレス及び第1のペイロードデータを搬送し、前記読み取り対象のデータは、前記第1のペイロードデータを含み、
前記ホストは、前記第1のデータパケットを受信し、前記第1のアドレスに基づいて第2のアドレスを決定し、前記第1のペイロードデータを前記第2のアドレスにより示されるストレージユニットに書き込むように更に構成され、前記第2のアドレスは、前記ホストによりアドレス指定可能なアドレスである、システム。 - 前記第2のアドレスにより示される前記ストレージユニットに対して書き込み操作を完了した後に、前記ホストは、前記第2のアドレスにより示される前記ストレージユニット内のデータに対して操作を実行するように更に構成される、請求項1に記載のシステム。
- 前記NVMeコントローラは、完了キューエントリCQEをトリガするように更に構成され、前記CQEは、前記NVMeコントローラが前記読み取り命令により指定された読み取り操作を完了したことを示すために使用され、
前記第2のアドレスにより示される前記ストレージユニット内の前記データに対して前記操作を実行した後に、前記ホストは、前記完了キューエントリCQEを取得するように更に構成される、請求項2に記載のシステム。 - 前記第2のアドレスにより示される前記ストレージユニット内の前記データに対して前記操作を実行した後に、前記ホストは、前記第2のアドレスにより示される前記ストレージユニットを解放するように更に構成される、請求項2又は3に記載のシステム。
- 前記読み取り命令をトリガする前に、前記ホストは、前記第2のアドレスにより示される前記ストレージユニットを前記読み取り命令に割り当て、前記第1のアドレスと前記第2のアドレスとの間の対応関係を記録するように更に構成される、請求項1乃至4のうちいずれか1項に記載のシステム。
- 前記読み取り命令の前記読み取り対象のデータは、少なくとも2つのデータパケットに対応し、前記ホストは、少なくとも2つのストレージユニットを前記読み取り命令に割り当てる、請求項5に記載のシステム。
- 前記ホストは、前記第1のアドレス及び前記読み取り対象のデータ内の前記第1のペイロードデータの順序に基づいて、前記第2のアドレスを決定するように構成される、請求項1に記載のシステム。
- 前記NVMeコントローラは、第2のデータパケットを前記ホストに送信するように更に構成され、前記第2のデータパケットは、前記第1のアドレス及び第2のペイロードデータを搬送し、前記読み取り対象のデータは、前記第2のペイロードデータを含み、
前記ホストは、前記第2のデータパケットを受信し、前記第1のデータパケット及び前記第2のデータパケットを受信する順序に基づいて、前記読み取り対象のデータ内の前記第1のペイロードデータ及び前記第2のペイロードデータの順序を決定するように更に構成される、請求項7に記載のシステム。 - 前記第1のデータパケットは、前記読み取り対象のデータ内の前記第1のペイロードデータのオフセットを更に搬送し、前記オフセットは、前記読み取り対象のデータ内の前記第1のペイロードデータの前記順序を示すために使用される、請求項7に記載のシステム。
- 前記第1のアドレスは、前記NVMeコントローラによりアドレス指定可能なPCIeアドレスであり、前記第1のデータパケットは、PCIeパケットであり、前記第2のアドレスにより示される前記ストレージユニットは、前記ホストのメモリ空間である、請求項1乃至9のうちいずれか1項に記載のシステム。
- NVMeベースのデータ読み取り方法であって、当該方法は、
ホストにより、読み取り命令をトリガするステップであり、前記読み取り命令は、指示情報を搬送し、前記指示情報は、第1のアドレスを示すために使用され、前記第1のアドレスは、NVMeコントローラによりアドレス指定可能なアドレスである、ステップと、
前記ホストにより、前記NVMeコントローラにより送信された第1のデータパケットを受信するステップであり、前記第1のデータパケットは、前記第1のアドレス及び第1のペイロードデータを搬送する、ステップと、
前記ホストにより、前記第1のアドレスに基づいて第2のアドレスを決定するステップであり、前記第2のアドレスは、前記ホストによりアドレス指定可能なアドレスである、ステップと、
前記ホストにより、前記第1のペイロードデータを前記第2のアドレスにより示されるストレージユニットに書き込むステップと
を含む方法。 - 前記ホストが前記第2のアドレスにより示される前記ストレージユニットに対して書き込み操作を完了した後に、当該方法は、
前記ホストにより、前記第2のアドレスにより示される前記ストレージユニット内のデータに対して操作を実行するステップを更に含む、請求項11に記載の方法。 - 前記ホストが前記第2のアドレスにより示される前記ストレージユニット内の前記データに対して前記操作を実行した後に、当該方法は、
前記ホストにより、前記NVMeコントローラによりトリガされた完了キューエントリCQEを取得するステップであり、前記CQEは、前記NVMeコントローラが前記読み取り命令により指定された読み取り操作を完了したことを示すために使用される、ステップを更に含む、請求項12に記載の方法。 - 前記ホストが前記第2のアドレスにより示される前記ストレージユニット内の前記データに対して前記操作を実行した後に、当該方法は、
前記ホストにより、前記第2のアドレスにより示される前記ストレージユニットを解放するステップを更に含む、請求項12又は13に記載の方法。 - ホストにより、前記読み取り命令をトリガする前に、当該方法は、
前記ホストにより、前記第2のアドレスにより示される前記ストレージユニットを前記読み取り命令に割り当て、前記第1のアドレスと前記第2のアドレスとの間の対応関係を記録するステップを更に含む、請求項11乃至14のうちいずれか1項に記載の方法。 - 前記読み取り命令の読み取り対象のデータは、少なくとも2つのデータパケットに対応し、前記ホストは、少なくとも2つのストレージユニットを前記読み取り命令に割り当てる、請求項15に記載の方法。
- 前記ホストは、前記第1のアドレス及び前記読み取り対象のデータ内の前記第1のペイロードデータの順序に基づいて、前記第2のアドレスを決定する、請求項11に記載の方法。
- 当該方法は、
前記ホストにより、前記NVMeコントローラにより送信された第2のデータパケットを受信するステップであり、前記第2のデータパケットは、前記第1のアドレス及び第2のペイロードデータを搬送する、ステップと、
前記ホストにより、前記第1のデータパケット及び前記第2のデータパケットを受信する順序に基づいて、前記読み取り対象のデータ内の前記第1のペイロードデータ及び前記第2のペイロードデータの順序を決定するステップと
を更に含む、請求項17に記載の方法。 - 前記第1のデータパケットは、前記読み取り対象のデータ内の前記第1のペイロードデータのオフセットを更に搬送し、前記オフセットは、前記読み取り対象のデータ内の前記第1のペイロードデータの前記順序を示すために使用される、請求項17に記載の方法。
- 前記第1のアドレスは、前記NVMeコントローラによりアドレス指定可能なPCIeアドレスであり、前記第1のデータパケットは、PCIeパケットであり、前記第2のアドレスにより示される前記ストレージユニットは、前記ホストのメモリ空間である、請求項11乃至19のうちいずれか1項に記載の方法。
- NVMeベースのデータ読み取り装置であって、当該装置は、
読み取り命令をトリガするように構成された処理ユニットであり、前記読み取り命令は、指示情報を搬送し、前記指示情報は、第1のアドレスを示すために使用され、前記第1のアドレスは、NVMeコントローラによりアドレス指定可能なアドレスである、処理ユニットと、
前記NVMeコントローラにより送信された第1のデータパケットを受信するように構成された受信ユニットであり、前記第1のデータパケットは、前記第1のアドレス及び第1のペイロードデータを搬送する、受信ユニットと
を含み、
前記処理ユニットは、前記第1のアドレスに基づいて第2のアドレスを決定し、前記第1のペイロードデータを前記第2のアドレスにより示されるストレージユニットに書き込むように更に構成され、前記第2のアドレスは、前記処理ユニットによりアドレス指定可能なアドレスである、装置。 - 前記第2のアドレスにより示される前記ストレージユニットに対して書き込み操作を完了した後に、前記処理ユニットは、前記第2のアドレスにより示される前記ストレージユニット内のデータに対して操作を実行するように更に構成される、請求項21に記載の装置。
- 前記第2のアドレスにより示される前記ストレージユニット内の前記データに対して前記操作を実行した後に、前記処理ユニットは、前記NVMeコントローラによりトリガされた完了キューエントリCQEを取得するように更に構成され、前記CQEは、前記NVMeコントローラが前記読み取り命令により指定された読み取り操作を完了したことを示すために使用される、請求項22に記載の装置。
- 前記第2のアドレスにより示される前記ストレージユニット内の前記データに対して前記操作を実行した後に、前記処理ユニットは、前記第2のアドレスにより示される前記ストレージユニットを解放するように更に構成される、請求項22又は23に記載の装置。
- 前記読み取り命令をトリガする前に、前記処理ユニットは、前記第2のアドレスにより示される前記ストレージユニットを前記読み取り命令に割り当て、前記第1のアドレスと前記第2のアドレスとの間の対応関係を記録するように更に構成される、請求項21乃至24のうちいずれか1項に記載の装置。
- 前記読み取り命令の読み取り対象のデータは、少なくとも2つのデータパケットに対応し、前記処理ユニットは、少なくとも2つのストレージユニットを前記読み取り命令に割り当てる、請求項25に記載の装置。
- 前記処理ユニットは、前記第1のアドレス及び前記読み取り対象のデータ内の前記第1のペイロードデータの順序に基づいて、前記第2のアドレスを決定するように構成される、請求項21に記載の装置。
- 前記受信ユニットは、前記NVMeコントローラにより送信された第2のデータパケットを受信するように更に構成され、前記第2のデータパケットは、前記第1のアドレス及び第2のペイロードデータを搬送し、
前記処理ユニットは、前記第1のデータパケット及び前記第2のデータパケットを受信する順序に基づいて、前記読み取り対象のデータ内の前記第1のペイロードデータ及び前記第2のペイロードデータの順序を決定するように更に構成される、請求項27に記載の装置。 - 前記第1のデータパケットは、前記読み取り対象のデータ内の前記第1のペイロードデータのオフセットを更に搬送し、前記オフセットは、前記読み取り対象のデータ内の前記第1のペイロードデータの前記順序を示すために使用される、請求項27に記載の装置。
- 前記第1のアドレスは、前記NVMeコントローラによりアドレス指定可能なPCIeアドレスであり、前記第1のデータパケットは、PCIeパケットであり、前記第2のアドレスにより示される前記ストレージユニットは、当該装置のメモリ空間である、請求項21乃至29のうちいずれか1項に記載の装置。
- 実行可能命令を含む読み取り可能媒体であって、
計算デバイスのプロセッサが前記実行可能命令を実行するとき、前記計算デバイスは、請求項11乃至20のうちいずれか1項に記載の方法を実行する、読み取り可能媒体。 - プロセッサと、メモリと、バスとを含む計算デバイスであって、
前記メモリは、実行可能命令を記憶するように構成され、前記プロセッサ及び前記メモリは、前記バスを通じて接続され、当該計算デバイスが動作するとき、前記プロセッサは、前記メモリに記憶された前記実行可能命令を実行し、前記計算デバイスは、請求項11乃至20のうちいずれか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 true JP2021515318A (ja) | 2021-06-17 |
JP7191967B2 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) |
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 |
JP5957647B2 (ja) * | 2010-06-18 | 2016-07-27 | シーゲイト テクノロジー エルエルシーSeagate Technology LLC | スケーラブルな記憶装置 |
US8966172B2 (en) * | 2011-11-15 | 2015-02-24 | Pavilion Data Systems, Inc. | Processor agnostic data storage in a PCIE based shared storage enviroment |
US9467512B2 (en) * | 2012-01-17 | 2016-10-11 | Intel Corporation | Techniques for remote client access to a storage medium coupled with a server |
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及物理机系统 |
EP3916536A1 (en) | 2015-12-28 | 2021-12-01 | Huawei Technologies Co., Ltd. | Data processing method and nvme storage device |
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 |
EP3440553A1 (en) * | 2016-04-04 | 2019-02-13 | Marvell World Trade, 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设备 |
EP3352086B1 (en) | 2016-12-05 | 2020-11-11 | Huawei Technologies Co., Ltd. | Control method, device and system for data reading-writing command in nvme over fabric architecture |
US11451647B2 (en) * | 2016-12-27 | 2022-09-20 | Chicago Mercantile Exchange Inc. | Message processing protocol which mitigates optimistic 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 CN CN201880005007.9A patent/CN111095231B/zh active Active
- 2018-06-30 EP EP18924295.1A patent/EP3792776B1/en active Active
- 2018-06-30 WO PCT/CN2018/093918 patent/WO2020000482A1/zh unknown
- 2018-06-30 KR KR1020207022273A patent/KR102471219B1/ko active IP Right Grant
-
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 | 杭州华为数字技术有限公司 | 一种数据写入方法及服务器端网卡 |
Also Published As
Publication number | Publication date |
---|---|
US11467764B2 (en) | 2022-10-11 |
KR20200101982A (ko) | 2020-08-28 |
EP3792776A1 (en) | 2021-03-17 |
CN111095231A (zh) | 2020-05-01 |
US20210034284A1 (en) | 2021-02-04 |
KR102471219B1 (ko) | 2022-11-25 |
JP7191967B2 (ja) | 2022-12-19 |
EP3792776A4 (en) | 2021-06-09 |
CN111095231B (zh) | 2021-08-03 |
EP3792776B1 (en) | 2022-10-26 |
WO2020000482A1 (zh) | 2020-01-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI772611B (zh) | 主機系統及其方法和加速模組 | |
US9734085B2 (en) | DMA transmission method and system thereof | |
JP7191967B2 (ja) | NVMeベースのデータ読み取り方法、装置及びシステム | |
US9395921B2 (en) | Writing data using DMA by specifying a buffer address and a flash memory address | |
US9672143B2 (en) | Remote memory ring buffers in a cluster of data processing nodes | |
CN107430493B (zh) | 顺序写入流管理 | |
US10339079B2 (en) | System and method of interleaving data retrieved from first and second buffers | |
TW200406680A (en) | Method, system, and program for handling input/output commands | |
EP3647932A1 (en) | Storage device processing stream data, system including the same, and operation method thereof | |
US10152275B1 (en) | Reverse order submission for pointer rings | |
WO2020000485A1 (zh) | 一种基于NVMe的数据写入方法、装置及系统 | |
US9727521B2 (en) | Efficient CPU mailbox read access to GPU memory | |
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 | |
CN109614264B (zh) | 一种数据备份方法、装置及系统 | |
US10802828B1 (en) | Instruction memory | |
CN113031849A (zh) | 直接内存存取单元及控制部件 |
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 |