ES2628328T3 - Sistema de procesamiento de datos y método de procesamiento de datos - Google Patents

Sistema de procesamiento de datos y método de procesamiento de datos Download PDF

Info

Publication number
ES2628328T3
ES2628328T3 ES13882622.7T ES13882622T ES2628328T3 ES 2628328 T3 ES2628328 T3 ES 2628328T3 ES 13882622 T ES13882622 T ES 13882622T ES 2628328 T3 ES2628328 T3 ES 2628328T3
Authority
ES
Spain
Prior art keywords
address
pcie
data
data processing
processing system
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
ES13882622.7T
Other languages
English (en)
Inventor
Jian He
Guangyu Shi
Xiaoke Ni
Norbert Egi
Xiancai Li
Yu Liu
Huawei LIU
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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Application granted granted Critical
Publication of ES2628328T3 publication Critical patent/ES2628328T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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
    • 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/10Program control for peripheral devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
    • G06F15/17306Intercommunication techniques
    • G06F15/17331Distributed shared memory [DSM], e.g. remote direct memory access [RDMA]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • 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/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
    • 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
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4022Coupling between buses using switching circuits, e.g. switching matrix, connection or expansion network
    • 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
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4221Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being an input/output bus, e.g. ISA bus, EISA bus, PCI bus, SCSI bus
    • 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
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI 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/061Improving I/O performance
    • G06F3/0611Improving I/O performance in relation to response time
    • 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
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1016Performance improvement

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)
  • Computer Hardware Design (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Bus Control (AREA)
  • Computer And Data Communications (AREA)

Abstract

Un sistema de procesamiento de datos (200), que comprende una unidad central de procesamiento, CPU (202), una memoria (206), un controlador de Interconexión de Componentes Periféricos, PCIe, (203), un adaptador de red (205) y al menos un dispositivo de memorización PCIe (204) y que comprende, además: una unidad de gestión (201), configurada para obtener, cuando el sistema de procesamiento de datos (200) recibe una demanda de datos, una primera dirección de memorización de datos demandados en el dispositivo de memorización PCIe de conformidad con una primera información de dirección incluida en la demanda de datos, en donde la primera dirección de memorización es una dirección de entrada/salida de mapeado de memoria MMIO, en donde el adaptador de red (205) realiza una lectura directa de los datos a partir del dispositivo de memorización PCIe (204), en conformidad con la primera dirección de memorización, y transmite los datos a un segundo sistema de procesamiento de datos, o realiza una escritura directa de los datos recibidos desde el segundo sistema de procesamiento de datos en el dispositivo de memorización PCIe (204), en donde el segundo sistema de procesamiento de datos es un sistema de procesamiento de datos que se comunica con el primer sistema de procesamiento de datos (200) por intermedio de una red, caracterizado por cuanto que: la unidad CPU (202) asigna un identificador único a cada dispositivo de memorización PCIe (204), en donde el identificador único se utiliza para identificar cada dispositivo de memorización PCIe; la unidad de gestión (201) está configurada, además, para establecer una correspondencia entre el identificador único y una dirección de base en un registro de direcciones de base, BAR, del dispositivo de memorización PCIe (204); en donde la unidad de gestión (201) comprende una unidad de obtención de dirección de base (2011) y una unidad de obtención de dirección de memorización (2012), en donde la unidad de obtención de dirección de base (2011) está configurada para obtener una dirección de base de los datos requeridos en un registro BAR de conformidad con el identificador único del dispositivo de memorización PCIe (204) que está incluido en la demanda de datos; y la unidad de obtención de dirección de memorización (2012) está configurada para obtener la primera dirección de memorización de los datos demandados en el dispositivo de memorización PCIe en conformidad con la dirección de base en el registro BAR y una dirección de bloque lógico, LBA, incluida en la demanda de datos.

Description

imagen1
imagen2
imagen3
imagen4
imagen5
imagen6
imagen7
15
25
35
45
55
65
memorización PCIe. Por lo tanto, el adaptador de red efectúa el mapeado, de conformidad con la dirección MMIO utilizando el controlador PCIe, para una dirección de soporte de memorización accesible PCIe que corresponde a la dirección MMIO en una manera ‘una a una’, con lo que se realizan operaciones de lectura y escritura directas de los datos.
Como una manera de puesta en práctica opcional, la unidad CPU 202 asigna un identificador único a cada dispositivo de memorización PCIe, en donde el identificador único se utiliza para identificar cada dispositivo de memorización PCIe. En correspondencia, la unidad de gestión 201 está configurada, además, para establecer una correspondencia entre el identificador único y una dirección de base en un registro BAR del dispositivo de memorización PCIe. Utilizando la correspondencia entre el identificador único del dispositivo de memorización PCIe y la dirección de base en el registro BAR del dispositivo de memorización PCIe, la unidad de gestión 201 puede obtener, en conformidad con un identificador único que es el del dispositivo de memorización PCIe y está incluido en un mensaje de demanda de datos recibido por el sistema de procesamiento de datos 200, una dirección de base que corresponde al identificador único y está en el registro BAR del dispositivo de memorización PCIe. Puesto que la primera información de dirección en la demanda de datos recibida por el sistema de procesamiento de datos incluye el identificador único y una dirección LBA (Logical Block Address, dirección de bloque lógico) del dispositivo de memorización PCIe, la unidad de gestión 201 puede obtener la dirección MMIO de los datos demandados utilizando la dirección de base obtenida en el registro BAR y la dirección LBA del dispositivo de memorización PCIe.
De modo opcional, el identificador único incluye al menos uno de entre un identificador ID Vender, un identificador ID Device y un número de serie del disco duro; o el identificador único es un identificador que se obtiene después de que se realice un procesamiento de hashing sobre el al menos uno de entre el identificador ID Vender, el identificador ID Device y el número de serie del disco duro.
Como una manera de puesta en práctica opcional, según se ilustra en la Figura 3, la unidad de gestión 201 incluye una unidad de obtención de direcciones de base 2011 y una unidad de obtención de direcciones de memorización 2012, en donde
la unidad de obtención de direcciones de base 2011 está configurada para obtener, cuando el sistema de procesamiento de datos 200 recibe una primera demanda de datos del segundo sistema de procesamiento de datos que se comunica con el sistema de procesamiento de datos 200 por intermedio de la red, una dirección de base en un registro BAR de los datos demandados en conformidad con un identificador único que es el del dispositivo de memorización PCIe 204 y está incluidos en la primera demanda de datos; y
la unidad de obtención de direcciones de memorización 2012 está configurada para obtener la primera dirección de memorización de los datos demandados en el dispositivo de memorización PCIe en conformidad con la dirección de base en el registro BAR y una dirección LBA en la primera demanda de datos, en donde la primera dirección de memorización es una dirección MMIO.
Como una manera de puesta en práctica opcional, la unidad CPU 202 registra la primera dirección de memorización obtenida en el adaptador de red. La primera dirección de memorización se registra en el adaptador de red. El adaptador de red 205 puede editar la primera dirección de memorización a través de un bus de conexión de PCIe cuando se recibe la demanda de datos que es la del segundo sistema de procesamiento de datos e incluye la primera dirección de memorización. El controlador PCIe 203 obtiene la demanda de datos cuando se recibe la demanda que se envía por el adaptador de red 205 e incluye la primera dirección de memorización, y envía los datos demandados al adaptador de red 205, o realiza la escritura de los datos que se reciben por el adaptador de red y los envía por el segundo sistema de procesamiento de datos a una posición correspondiente a la primera dirección de memorización en el dispositivo de memorización PCIe.
Como una manera de puesta en práctica opcional, el sistema de procesamiento de datos 200 incluye, además, una unidad de envío 207, en donde la unidad de envío 207 está configurada para enviar la primera dirección de memorización obtenida por la unidad de gestión 200 al segundo sistema de procesamiento de datos.
De modo opcional, el controlador PCIe 203 obtiene la demanda de datos que se envía por el adaptador de red 205 e incluye la primera dirección de memorización y la unidad de traducción de direcciones 2031 obtiene los datos de la segunda dirección de memorización, y reenvía los datos obtenidos al adaptador de red, o realiza la escritura de los datos enviados por el adaptador de red en la segunda dirección de memorización.
En la forma de realización de la presente invención, el sistema de procesamiento de datos 200 y otro sistema de procesamiento de datos, a modo de ejemplo, el segundo sistema de procesamiento de datos, se comunican por intermedio de una red, con el fin de realizar una transmisión datos entre diferentes sistemas de procesamiento de datos. El sistema incluye, sin limitación, a la red Ethernet, una red de tecnología de cable de conversión IB que soporta múltiples enlaces simultáneos, una red FC (fiber channel, canal de fibra) o similares. El segundo sistema de procesamiento de datos anterior puede ser un sistema que pone en práctica la solución de la forma de realización de la presente invención y puede ser también un sistema de procesamiento de datos en la técnica anterior. Cuando el segundo sistema de procesamiento de datos es el sistema que pone en práctica la solución de la forma de
15
25
35
45
55
65
realización de la presente invención, el segundo sistema de procesamiento de datos puede realizar también una función de lectura o escritura directa de datos desde el adaptador de red al dispositivo de memorización PCIe.
Como una solución de puesta en práctica opcional, la unidad de gestión 203 incluye, además, una unidad de obtención de dirección de base global 2033 y una unidad de obtención de dirección de memorización global 2034, en donde
la unidad de obtención de dirección de base global 2033 está configurada para obtener, cuando el sistema de procesamiento de datos recibe una segunda demanda de datos, una dirección de base de datos demandados por la segunda demanda de datos en un registro BAR del segundo sistema de procesamiento de datos en conformidad con un identificador único que es el del dispositivo de memorización PCIe y se incluye en la segunda demanda de datos, en donde la segunda demanda de datos es una demanda para enviar datos al segundo sistema de procesamiento de datos o efectuar la lectura de datos desde el segundo sistema de procesamiento de datos; y
la unidad de obtención de dirección de memorización global 2034 está configurada para obtener, en conformidad con la dirección de base en el registro BAR del segundo sistema de procesamiento de datos y una dirección LBA incluida en la segunda demanda de datos, una dirección MMIO de los datos demandados por la segunda demanda de datos en el segundo sistema de procesamiento de datos.
En correspondencia, una unidad de transformación de datos en un controlador PCIe del segundo sistema de procesamiento de datos obtiene, en conformidad con la dirección MMIO de los datos que se demandan por la segunda demanda de datos enviada por el sistema de procesamiento de datos en el segundo sistema de procesamiento de datos, una dirección física o una dirección lógica de los datos demandados por la segunda demanda de datos en el segundo sistema de procesamiento de datos, en donde la dirección física es una dirección continua lineal en la que los datos pueden ser objeto de lectura directa, y la dirección lógica es una dirección que se obtiene después de que se realice una puesta en orden lineal sobre una dirección física continua no lineal.
En la forma de realización anterior, la unidad de gestión 203 memoriza, además, la correspondencia entre el identificador único del dispositivo de memorización PCIe y la dirección de base en el registro BAR del dispositivo de memorización PCIe en el segundo sistema de procesamiento de datos, cuando el sistema de procesamiento de datos 200 recibe la segunda demanda de datos para enviar datos al segundo sistema de procesamiento de datos o efectuar la lectura desde el segundo sistema de procesamiento de datos, el sistema de procesamiento de datos 200 puede obtener la dirección de base de los datos demandados por la segunda demanda de datos en registro BAR del segundo sistema de procesamiento de datos, y obtener, además, la dirección MMIO de los datos demandados por la segunda demanda de datos, con el fin de realizar una transmisión directa entre dos sistemas de procesamiento de datos sin la utilización de una unidad CPU o la memoria, con lo que se ahorran recursos de memoria y de CPU y al mismo tiempo se mejora la eficiencia de la transmisión de datos. A modo de ejemplo, la Figura 8 muestra que se realiza la transmisión de datos entre un primer sistema de procesamiento de datos y un segundo sistema de procesamiento de datos, en donde una parte de línea de trazos negra es un seguimiento y una dirección de flujo de la transmisión de datos entre los dos sistemas de procesamiento de datos.
El sistema de procesamiento de datos 200 en la forma de realización de la presente invención puede conectarse también a una pluralidad de sistemas de procesamiento de datos por intermedio de una red de comunicaciones, y realizar una transmisión de datos. El sistema de procesamiento de datos 200 puede obtener la correspondencia, que se envía por otros múltiples sistemas de procesamiento de datos entre el identificador único del dispositivo de memorización PCIe y la dirección de base en el registro BAR del dispositivo de memorización PCIe, con el fin de realizar una transmisión directa entre los sistemas de procesamiento de datos. El sistema de procesamiento de datos 200 puede demandar también la correspondencia entre el identificador único del dispositivo de memorización PCIe y la dirección de base en el registro BAR del dispositivo de memorización PCIe desde otros múltiples sistemas de procesamiento de datos, y memorizar la correspondencia, con el fin de realizar una transmisión directa entre los sistemas de procesamiento de datos. Por supuesto, después de que el sistema de procesamiento de datos 200 obtenga la correspondencia en los otros múltiples sistemas de procesamiento de datos y entre el identificador único del dispositivo de memorización PCIe y la dirección de base en el registro BAR del dispositivo de memorización PCIe, cuando la correspondencia en los otros múltiples sistemas de procesamiento de datos y entre el identificador único del dispositivo de memorización PCIe y la dirección de base en el registro BAR del dispositivo de memorización PCIe cambia, un sistema de procesamiento de datos en el que se produce el cambio, puede enviar la correspondencia cambiada al sistema de procesamiento de datos 200.
Haciendo referencia a la Figura 4, la Figura 4 es un diagrama de flujo esquemático de un método de procesamiento de datos en conformidad con una forma de realización de la presente invención. El método de procesamiento de datos en la forma de realización de la presente invención se aplica a un sistema de procesamiento de datos que incluye una unidad central de procesamiento CPU, una memoria, un controlador de Interconexión de Componentes Periféricos, Peripheral Component Interconnect Express PCIe, un adaptador de red y al menos un dispositivo de memorización PCIe, y el método incluye:
Etapa 400: Obtener, cuando el sistema de procesamiento de datos recibe una demanda de datos, una primera
imagen8
imagen9
imagen10
15
25
35
45
55
65
cada dispositivo de memorización PCIe y el identificador único del dispositivo de memorización PCIe, la dirección de base de los datos demandados en el registro BAR del dispositivo de memorización PCIe, y obtiene una dirección MMIO de los datos demandados con referencia a la dirección LBA. La unidad de gestión puede obtener una dirección inicial y una dirección final de la dirección MMIO de los datos demandados de la siguiente manera:
Dirección inicial = Dirección de base mapeada en BAR + (LBA x tamaño bloque)
Dirección final = Dirección de base mapeada en BAR + ((LBA + número bloque) x tamaño bloque) -1
La unidad de gestión está configurada, además, para mantener la correspondencia entre la dirección de base en el registro BAR del dispositivo de memorización PCIe y el identificador único del dispositivo de memorización PCIe, y recuperar la correspondencia entre la dirección de base en el registro BAR del dispositivo de memorización PCIe y el identificador único del dispositivo de memorización PCIe cuando la dirección de base del registro BAR del dispositivo de memorización PCIe cambia. A modo de ejemplo, la dirección de base en el registro BAR del dispositivo de memorización PCIe puede cambiar debido a la reiniciación del sistema de procesamiento de datos, es decir, la dirección de base en el registro BAR del dispositivo de memorización PCIe, que se asigna por el sistema de procesamiento de datos para cada dispositivo de memorización PCIe, puede ser diferente de una dirección de base que se asignó por última vez. La unidad de gestión necesita recuperar la correspondencia entre el identificador único del dispositivo de memorización PCIe y la dirección de base en el registro BAR del dispositivo de memorización PCIe en conformidad con el identificador único de cada dispositivo de memorización PCIe.
La unidad de gestión puede obtener también una correspondencia entre una dirección de base en un registro BAR de un dispositivo de memorización PCIe en otro sistema de procesamiento de datos y un identificador único del dispositivo de memorización PCIe. Utilizando la correspondencia entre la dirección de base en el registro BAR del dispositivo de memorización PCIe en otro sistema de procesamiento de datos y el identificador único del dispositivo de memorización PCIe, cuando se realizan las operaciones de lectura y escritura de datos en el otro sistema de procesamiento de datos, se puede obtener una dirección de memorización del dispositivo de memorización PCIe en el otro sistema de procesamiento de datos. La obtención de la correspondencia entre la dirección de base en el registro BAR del dispositivo de memorización PCIe en el otro sistema de procesamiento de datos y el identificador único del dispositivo de memorización PCIe puede ponerse en práctica en una manera en que el sistema de procesamiento de datos inicie activamente una demanda al otro sistema de procesamiento de datos y puede realizarse también después de que se reciba la correspondencia activamente enviada por el otro sistema de procesamiento de datos. Una manera de obtención específica no está limitada en esta forma de realización de la presente invención.
Haciendo referencia a la Figura 6, la Figura 6 es un diagrama, a modo de ejemplo, de una correspondencia entre un identificador único que es el del dispositivo de memorización PCIe y se memoriza en una unidad de gestión y una dirección de base en un registro BAR del dispositivo de memorización PCIe en conformidad con una forma de realización de la presente invención. En este diagrama, a modo de ejemplo, una dirección IP se utiliza para identificar una dirección única del sistema de procesamiento de datos en una red en la que está situado el sistema de procesamiento de datos, en donde un identificador GUID es una identidad única del dispositivo de memorización PCIe, una dirección de inicio del espacio de mapeado es una dirección de inicio de una dirección del dispositivo de memorización PCIe en una zona objeto de mapeado desde el espacio de direccionamiento de CPU; una dirección lógica del dispositivo se refiere a una dirección de inicio lógica en el interior de un dispositivo de memorización PCIe; y una longitud de espacio se refiere a una longitud total de la zona objeto de mapeado en el sistema.
En la forma de realización de la presente invención, la correspondencia entre el identificador único del dispositivo de memorización PCIe y la dirección de base en el registro BAR del dispositivo de memorización PCIe puede establecerse por una unidad del dispositivo de memorización PCIe y puede establecerse también por la unidad de gestión. Más concretamente, una manera de añadir un script puede utilizarse para la carga automática después de que se inicie el sistema de procesamiento de datos, y se puede utilizar también una manera manual para la carga. Cuando se establezca la correspondencia por la unidad del dispositivo de memorización PCIe, en primer lugar, la unidad del dispositivo de memorización PCIe configura un registro de direcciones BAR de PCIe y la unidad de gestión efectúa la lectura de una relación de mapeado configurada. Cuando se establece la correspondencia por la unidad de gestión, el establecimiento de la correspondencia se realiza configurando un registro del dispositivo de memorización PCIe.
El dispositivo de memorización PCIe en la forma de realización de la presente invención incluye, además, una unidad de traducción de dirección, configurada para obtener una segunda dirección de memorización de los datos demandados por la demanda de datos en el dispositivo de memorización PCIe en conformidad con la primera dirección de memorización.
La unidad de traducción de dirección puede ponerse en práctica en un controlador del dispositivo de PCIe. Se establece una correspondencia entre una dirección accesible del soporte y la dirección MMIO en el dispositivo de memorización PCIe, y la dirección accesible del soporte que corresponde a la dirección MMIO en el dispositivo de memorización PCIe puede obtenerse en conformidad con la dirección MMIO cuando se recibe una demanda de
15
25
35
45
55
65
lectura y escritura de datos para la dirección MMIO, a modo de ejemplo, una dirección de memorización del dispositivo de memorización PCIe, para realizar operaciones de lectura y escritura de datos.
El hecho de que una memoria NVRAM de PCIe sirva como el dispositivo de memorización PCIe se utiliza a modo de ejemplo, en conformidad con una especificación del protocolo de PCIe que sigue la memoria NVRAM de PCIe, un espacio de dirección de un soporte accesible en el interior de la memoria NVRAM de PCIe que está en mapeado directo con el espacio de dirección MMIO de una unidad CPU, de modo que todas las demandas de lectura y escritura para la memoria PCIe NVRAM con equivalentes a una demanda de una dirección MMIO. El espacio de dirección MMIO corresponde a todo el espacio accesible de la memoria NVRAM, es decir, la correspondencia entre la dirección accesible del soporte y la dirección MMIO en el dispositivo de memorización PCIe se establece a este respecto. Mediante el acceso al espacio de dirección de MMIO, puede accederse directamente el espacio de memoria NVRAM correspondiente al espacio de dirección MMIO. El mapeado directo del espacio de direcciones de soporte accesible en el interior de la memoria PCIe NVRAM para el espacio de direcciones MMIO de la unidad CPU puede realizarse de una manera de configuración del registro de direcciones BAR.
Según se ilustra en la Figura 7, la Figura 7 es un diagrama esquemático de una relación estructural de mapeado a partir de una dirección configurada en un dispositivo de memorización PCIe para una dirección MMIO desde una unidad CPU en conformidad con una forma de realización de la presente invención. En la figura, un punto final de PCIe en un controlador PCIe se utiliza como una unidad de traducción de dirección, y configura un registro de direcciones BAR de PCIe para el mapeado de las direcciones en el dispositivo de memorización PCIe para la dirección MMIO de la unidad CPU, de modo que un acceso a un espacio de direcciones de CPU (dirección para proporcionar un DMA) puede ser objeto de mapeado directo para una dirección de soporte accesible del dispositivo de memorización PCIe.
En la forma de realización de la presente invención, se establece una correspondencia entre una dirección de soporte accesible en el dispositivo de memorización PCIe y la dirección MMIO, es decir, se establece una relación de mapeado entre el espacio de direcciones del dispositivo de memorización PCIe y un espacio de direcciones MMIO en la unidad CPU. Sobre la base de si una dirección física del dispositivo de memorización PCIe es, o no, una dirección de soporte continua lineal, las maneras de puesta en práctica para establecer la relación de mapeado son diferentes.
Cuando la dirección física del dispositivo de memorización PCIe es una dirección de memorización continua lineal, el registro de direcciones BAR configurado por la unidad de traducción de dirección efectúa el mapeado de un segmento del espacio de direcciones de CPU con una magnitud compatible con una magnitud de un dispositivo de memorización real. Puesto que la dirección del dispositivo de memorización PCIe es continua lineal, la dirección del dispositivo de memorización PCIe corresponde a una dirección del espacio de direcciones de CPU mapeado en una manera de ‘una a una’. Una operación de la unidad CPU sobre este segmento de espacio de direcciones puede obtenerse por la unidad de traducción de dirección, en donde la unidad de traducción de dirección convierte una demanda recibida a una dirección física real del dispositivo de memorización PCIe.
Cuando la dirección física del dispositivo de memorización PCIe no es una dirección de memorización continua lineal, la unidad de traducción de dirección establece un mapeado entre una dirección de memorización que se obtiene después de que se realice una puesta en orden lineal y una dirección de CPU. Es decir, un registro de direcciones BAR está configurado para efectuar el mapeado de un segmento del espacio de dirección de CPU con una magnitud compatible con una magnitud de una dirección virtual, en donde la dirección virtual es una dirección que se obtiene después de que se realice una puesta en orden lineal sobre una dirección de memorización continua no lineal. A modo de ejemplo, un sector, un bloque o una unidad de otra unidad mínima se etiquetan continuamente para formar un espacio lineal “virtual” y se utiliza para establecer una relación de mapeado con el espacio de direcciones de CPU.
En conformidad con una correspondencia que se establece entre una dirección de base en un registro BAR del dispositivo de memorización PCIe y un identificador único del dispositivo de memorización PCIe y se establece por una unidad de gestión en el sistema de procesamiento de datos anterior, la unidad de gestión puede obtener una dirección MMIO de los datos que se demandan por una demanda de datos recibida por el sistema de procesamiento de datos e inicia la demanda de datos para un controlador PCIe de conformidad con una dirección MMIO. Una unidad de traducción de dirección en el controlador PCIe obtiene, en conformidad con una correspondencia establecida entre una dirección de soporte accesible en el dispositivo de memorización PCIe y la dirección MMIO, una dirección de soporte accesible de los datos demandados en el dispositivo de memorización PCIe, es decir, una dirección física real. Las operaciones de lectura o escritura de datos pueden realizarse directamente utilizando la dirección de soporte accesible.
En correspondencia, un adaptador de red en el sistema de procesamiento de datos puede efectuar una lectura directa de los datos desde el dispositivo de memorización PCIe o realizar una escritura de datos en el dispositivo de memorización PCIe en conformidad con la dirección MMIO anterior. Los problemas de consumo de memoria y de recursos de CPU y un retardo en la transmisión que son causados cuando los datos relacionados en un dispositivo de memorización PCIe necesitan ser objeto de lectura para memoria física, y luego, se transmiten a un sistema de
15
25
35
45
55
65
procesamiento de datos distante utilizando la memoria física en la técnica anterior se evitan de esta manera.
A continuación se describe las maneras de puesta en práctica del sistema de procesamiento de datos y del método de procesamiento de datos en las formas de realización de la presente invención en detalle, utilizando el hecho de que un primer sistema de procesamiento de datos necesita la escritura de datos de 4 Kbytes de una dirección de compensación 0x1000-0x2000 de un PCIe SSD F en una posición de 0x3000-0x4000 de un PCIe SSD G de un segundo sistema de procesamiento de datos a modo de ejemplo. Un PCIe SSD es una manera de puesta en práctica específica de un dispositivo de memorización PCIe. En esta forma de realización, el hecho de que el primer sistema de procesamiento de datos no solamente establezca una correspondencia entre un identificador único de un PCIe SSD del primer sistema de procesamiento de datos y una dirección de base en un registro BAR del PCIe SSD, sino que también obtiene una correspondencia entre un identificador único de un PCIe SSD en el segundo sistema de procesamiento de datos y una dirección de base en un registro BAR del PCIe SSD se utiliza a modo de ejemplo para su descripción.
Etapa 500: El primer sistema de procesamiento de datos obtiene la dirección de base en el registro BAR del PCIe SSD.
El primer sistema de procesamiento de datos obtiene, en conformidad con una correspondencia entre un identificador único de PCIe SSD en una unidad de gestión y una dirección de base en un registro BAR del PCIe SSD, una dirección de base 0xff00 0000 en un PCIe BAR del PCIe SSD F, con el fin de obtener una dirección MMIO correspondiente a una dirección de compensación 0x1000, a modo de ejemplo, 0xff00 1000; y obtener, además, una dirección de base 0xfe00 0000 en un PCIe BAR del PCIe SSD G, con el fin de obtener una dirección MMIO correspondiente a una dirección de compensación 0x3000-0x4000, a modo de ejemplo, 0xfe00 3000.
Etapa 502: Un adaptador de red del primer sistema de procesamiento de datos inicia una demanda de escritura de datos.
El adaptador de red del primer sistema de procesamiento de datos inicia una demanda de datos para un dispositivo PCIe SSD F utilizando una nueva dirección MMIO 0xff00 1000 del PCIe SSD F, una interfaz de PCIe en el interior del dispositivo de PCIe SSD F convierte la dirección MMIO en una dirección de soporte de memorización accesible interna XXX, en donde un resultado de la dirección XXX puede ser diferente según las diferentes puestas en práctica de una unidad de mapeado. El PCIe SSD F efectúa la lectura de datos correspondientes a la dirección de soporte de memorización XXX, y envía los datos al adaptador de red utilizando un bus de PCIe después de que se termine la lectura. En este proceso completo, ninguna unidad CPU necesita participar en un proceso de transmisión de datos y al mismo tiempo, no se necesita ocupar memoria.
Etapa 504: Un adaptador de red del segundo sistema de procesamiento de datos recibe datos enviados por el adaptador de red del primer sistema de procesamiento de datos, y envía los datos al PCIe SSD G.
El adaptador de red del segundo sistema de procesamiento de datos inicia una demanda de escritura de datos a un dispositivo PCIe SSD G utilizando una nueva dirección MMIO 0xfe00 3000 del PCIe SSD G, una interfaz de PCIe del dispositivo PCIe SSD G convierte la dirección MMIO en una dirección de soporte de memorización accesible interna YYY, en donde un resultado de la dirección YYY puede ser diferente según las distintas puestas en práctica de la unidad de mapeado. El PCIe SSD G realiza la escritura de los datos enviados por el adaptador de red en la dirección de soporte de memorización YYY. En este proceso completo, ninguna unidad CPU necesita participar en un proceso de transmisión de datos, y tampoco necesita ocuparse ninguna memoria.
El hecho de que la interfaz de PCIe en el interior del dispositivo PCIe SSD F convierta la dirección MMIO en la dirección de soporte de memorización accesible interna XXX, y que la interfaz de PCIe del dispositivo PCIe SSD G convierta la dirección MMIO en la dirección de soporte de memorización accesible interna YYY se aplica a un caso en el que una segunda dirección de memorización sea una dirección física continua lineal. Cuando la segunda dirección de memorización es una dirección lógica, el hecho de que la interfaz PCIe en el interior del dispositivo PCIe SSD F convierta la dirección MMIO en la dirección de soporte de memorización accesible interna XXX tampoco necesita una conversión desde una dirección lógica a una dirección continua no lineal, con lo que se repite su descripción aquí de nuevo.
Para un caso en que el primer sistema de procesamiento de datos no obtenga la correspondencia entre el identificador único del PCIe SSD y la banda base en el registro BAR del PCIe SSD en el segundo sistema de procesamiento de datos, una unidad de gestión del segundo sistema de procesamiento de datos establece la correspondencia entre el identificador único del PCIe SSD y la dirección de base en el registro BAR del PCIe SSD en el segundo sistema de procesamiento de datos, cuando el adaptador de red del segundo sistema de procesamiento de datos recibe demandas de lectura y escritura de datos enviadas por el primer sistema de procesamiento de datos, obtiene, de conformidad con la correspondencia entre el identificador único del PCIe SSD y la dirección de base en el registro BAR del PCIe SSD en el segundo sistema de procesamiento de datos, una dirección de base en la que se necesita la escritura de datos y en el registro BAR del PCIe SSD y la escritura directa de los datos en el PCIe SSD correspondiente.
15
25
35
45
55
65
En la forma de realización anterior de la presente invención, un dispositivo de memorización PCIe se utiliza a modo de ejemplo para describir una manera de puesta en práctica para la lectura o escritura directa de datos durante la transmisión de datos entre diferentes sistemas de procesamiento de datos. Para un dispositivo de memorización que pasa a través de una interfaz de memoria, a modo de ejemplo, una memoria SCM (Storage Class Memory), una memoria RRAM (Resistive Random Access Memory, memoria de acceso aleatorio resistivo) o una memoria NVDIMM (memorias DIMMs no volátiles), puede hacerse referencia también a una manera de puesta en práctica del dispositivo de memorización PCIe anterior, y una unidad de gestión se utiliza para realizar un procesamiento de lectura y escritura directas de datos en la memoria SCM, la memoria RRAM y la memoria NVDIMM. Cuando se inicia la operación del sistema, durante la inicialización, un dispositivo de memorización (NVDIMM\RRAM\SCM) puede registrar el espacio accedido por el dispositivo de memorización en el sistema. Al acceder a una dirección registrada, el dispositivo de memorización puede ser objeto de acceso. A diferencia de la forma de realización anterior, no existe necesidad de realizar un mapeado entre una dirección de soporte accesible y una dirección MMIO en el dispositivo de memorización PCIe, y no se existe tampoco necesidad de realizar una traducción de dirección, pero con el fin de permitir a otro sistema de procesamiento de datos en una red obtener una dirección de datos que serán objeto de acceso, una dirección del dispositivo de memorización (NVDIMM\RRAM\SCM) en el sistema necesita obtenerse a este respecto y el otro sistema de procesamiento de datos necesita sincronizarse.
Un experto en esta técnica puede tener conocimiento de que, en combinación con los ejemplos descritos en las formas de realización dadas a conocer en esta especificación, unidades y etapas de algoritmos pueden realizarse mediante equipos electrónicos, programas informáticos o una combinación de ambos. Para describir claramente la intercambiabilidad entre el hardware y el software, lo que antecede ha descrito generalmente composiciones y etapas de cada ejemplo de conformidad con las funciones. El hecho de que las funciones se realicen por hardware o por software depende de las aplicaciones particulares y de las condiciones de limitación de diseños de las soluciones técnicas. Un experto en esta técnica puede utilizar diferentes métodos para poner en práctica las funciones descritas para cada aplicación particular, pero no debe considerarse que la puesta en práctica va más allá del alcance de la presente invención.
Puede entenderse claramente por un experto en esta técnica que, para los fines de una descripción breve y adecuada, para un proceso de trabajo detallado del sistema anterior, del aparato y de las unidades correspondientes, puede hacerse referencia a un proceso correspondiente en las formas de realización del método anteriores y por ello no se describen aquí de nuevo sus detalles.
En las diversas formas de realización dadas a conocer en la presente documentación, debe entenderse que el sistema, aparato y método dados a conocer pueden ponerse en práctica de otras maneras. A modo de ejemplo, la forma de realización del aparato descrita es simplemente un ejemplo. A modo de ejemplo, la división de unidades es simplemente una división de funciones lógicas y puede ser otra división en la puesta en práctica real. A modo de ejemplo, una pluralidad de unidades o componentes pueden combinarse o integrarse en otro sistema, o algunas características pueden ignorarse o no realizarse. Además, los acoplamientos mutuos visualizados o descritos o los acoplamientos directos o conexiones de comunicaciones pueden ponerse en práctica mediante algunas interfaces. Los acoplamientos indirectos o las conexiones de comunicaciones entre los aparatos o unidades pueden realizarse en forma electrónica, mecánica u otras formas.
Las unidades descritas como partes separadas pueden estar, o no, físicamente separadas y las partes visualizadas como unidades que pueden o no pueden ser unidades físicas, pueden situarse en una sola posición, o pueden distribuirse en una pluralidad de unidades de red. Una parte o la totalidad de las unidades pueden seleccionarse en función de las necesidades reales para conseguir los objetivos de las soluciones de las formas de realización de la presente invención.
Además, las unidades funcionales en las formas de realización de la presente invención pueden integrarse en una sola unidad de procesamiento, o cada una de las unidades puede existir por sí sola físicamente, o dos o más unidades se integran en una sola unidad. La unidad integrada puede ponerse en práctica en una forma de hardware
o puede ponerse en práctica en una forma de unidad funcional de software.
Cuando la unidad integrada se pone en práctica en la forma de una unidad funcional de software y se suministra o utiliza como un producto independiente, la unidad integrada puede memorizarse en un soporte de memorización legible por ordenador. Sobre la base de dicho entendimiento, las soluciones técnicas de la presente invención esencialmente, o la parte que contribuye a la técnica anterior, o la totalidad o una parte de las soluciones técnicas, pueden ponerse en práctica en la forma de un producto informático. El producto informático se memoriza en un soporte de memorización que incluye varias instrucciones para proporcionarse a un dispositivo informático (que puede ser un ordenador personal, un servidor, un dispositivo de red o similar) para realizar la totalidad o una parte de las etapas de los métodos descritos en las formas de realización de la presente invención. El soporte de memorización anterior incluye: cualquier soporte que pueda memorizar un código de programa, tal como una unidad de memoria USB instantánea, un disco duro extraíble, una memoria de solamente lectura (ROM, Read-Only Memory), una memoria de acceso aleatorio (RAM, Random Access Memory), un disco magnético o un disco óptico.
imagen11

Claims (1)

  1. imagen1
    imagen2
    imagen3
    imagen4
ES13882622.7T 2013-10-29 2013-10-29 Sistema de procesamiento de datos y método de procesamiento de datos Active ES2628328T3 (es)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2013/086170 WO2015061971A1 (zh) 2013-10-29 2013-10-29 数据处理系统和数据处理的方法

Publications (1)

Publication Number Publication Date
ES2628328T3 true ES2628328T3 (es) 2017-08-02

Family

ID=51193110

Family Applications (2)

Application Number Title Priority Date Filing Date
ES13882622.7T Active ES2628328T3 (es) 2013-10-29 2013-10-29 Sistema de procesamiento de datos y método de procesamiento de datos
ES16164174T Active ES2779551T3 (es) 2013-10-29 2013-10-29 Sistema de procesamiento de datos y método de procesamiento de datos

Family Applications After (1)

Application Number Title Priority Date Filing Date
ES16164174T Active ES2779551T3 (es) 2013-10-29 2013-10-29 Sistema de procesamiento de datos y método de procesamiento de datos

Country Status (8)

Country Link
US (3) US9459798B2 (es)
EP (2) EP2889780B1 (es)
JP (1) JP6014271B2 (es)
KR (1) KR101670342B1 (es)
CN (2) CN103946828B (es)
AU (1) AU2013388031C1 (es)
ES (2) ES2628328T3 (es)
WO (1) WO2015061971A1 (es)

Families Citing this family (51)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ES2628328T3 (es) * 2013-10-29 2017-08-02 Huawei Technologies Co., Ltd. Sistema de procesamiento de datos y método de procesamiento de datos
US10162786B2 (en) 2014-12-01 2018-12-25 SK Hynix Inc. Storage node based on PCI express interface
US9792245B2 (en) * 2014-12-09 2017-10-17 Avago Technologies General Ip (Singapore) Pte. Ltd. Peripheral component interconnect express (PCIe) devices with efficient memory mapping by remapping a plurality of base address registers (BARs)
CN104657299B (zh) * 2015-02-26 2018-01-12 新华三技术有限公司 Ict融合设备及其存储板管理方法和装置
US20160283156A1 (en) * 2015-03-23 2016-09-29 Kabushiki Kaisha Toshiba Key-value drive hardware
US9886194B2 (en) * 2015-07-13 2018-02-06 Samsung Electronics Co., Ltd. NVDIMM adaptive access mode and smart partition mechanism
CN105183684B (zh) * 2015-09-09 2019-01-25 成都思鸿维科技有限责任公司 数据处理装置、方法及系统
CN105404597B (zh) * 2015-10-21 2018-10-12 华为技术有限公司 数据传输的方法、设备及系统
US10054636B2 (en) * 2015-10-23 2018-08-21 Intel IP Corporation Device, system and method to support communication of test, debug or trace information with an external input/output interface
CN106713183B (zh) * 2015-10-30 2020-03-17 新华三技术有限公司 网络设备的接口板以及该网络设备和报文转发方法
CN105353989B (zh) * 2015-11-19 2018-12-28 华为技术有限公司 存储数据访问方法及相关的控制器、设备、主机和系统
CN107533537B (zh) * 2016-01-29 2021-02-26 慧与发展有限责任合伙企业 存储系统、用于存储的方法和非暂时性计算机可读介质
US10140057B2 (en) * 2016-02-18 2018-11-27 Micron Technology, Inc. Apparatuses and methods for multiple address registers for a solid state device
US10042720B2 (en) 2016-02-22 2018-08-07 International Business Machines Corporation Live partition mobility with I/O migration
US10002018B2 (en) 2016-02-23 2018-06-19 International Business Machines Corporation Migrating single root I/O virtualization adapter configurations in a computing system
US10042723B2 (en) 2016-02-23 2018-08-07 International Business Machines Corporation Failover of a virtual function exposed by an SR-IOV adapter
US10025584B2 (en) 2016-02-29 2018-07-17 International Business Machines Corporation Firmware management of SR-IOV adapters
CN105824761B (zh) * 2016-03-10 2019-01-08 珠海豹趣科技有限公司 一种物理内存信息获取方法及装置
CN105893289B (zh) * 2016-03-30 2019-02-12 华为技术有限公司 内存映射输入输出地址分配方法、装置及计算机系统
US10409754B2 (en) * 2016-04-28 2019-09-10 Smart Modular Technologies, Inc. Interconnected memory system and method of operation thereof
CN106020731B (zh) * 2016-05-23 2019-07-02 中国科学技术大学 存储设备、存储设备阵列和网络适配器
US20170351639A1 (en) * 2016-06-06 2017-12-07 Cisco Technology, Inc. Remote memory access using memory mapped addressing among multiple compute nodes
CN107690622B9 (zh) * 2016-08-26 2020-09-22 华为技术有限公司 实现硬件加速处理的方法、设备和系统
US9720862B1 (en) 2016-10-21 2017-08-01 International Business Machines Corporation Migrating interrupts from a source I/O adapter of a computing system to a destination I/O adapter of the computing system
US9760512B1 (en) 2016-10-21 2017-09-12 International Business Machines Corporation Migrating DMA mappings from a source I/O adapter of a source computing system to a destination I/O adapter of a destination computing system
US9740647B1 (en) 2016-10-21 2017-08-22 International Business Machines Corporation Migrating DMA mappings from a source I/O adapter of a computing system to a destination I/O adapter of the computing system
US9720863B1 (en) * 2016-10-21 2017-08-01 International Business Machines Corporation Migrating MMIO from a source I/O adapter of a source computing system to a destination I/O adapter of a destination computing system
US9785451B1 (en) 2016-10-21 2017-10-10 International Business Machines Corporation Migrating MMIO from a source I/O adapter of a computing system to a destination I/O adapter of the computing system
US9715469B1 (en) 2016-10-21 2017-07-25 International Business Machines Corporation Migrating interrupts from a source I/O adapter of a source computing system to a destination I/O adapter of a destination computing system
CN108475229B (zh) 2016-11-26 2021-07-16 华为技术有限公司 数据迁移的方法、主机、及固态存储设备
CN107273213B (zh) * 2017-06-27 2024-04-19 联想(北京)有限公司 一种计算控制方法、网卡及电子设备
US10387347B2 (en) * 2017-08-18 2019-08-20 Quanta Computer Inc. Method to locate SAS JBOD cable routing
CN107579892A (zh) * 2017-08-29 2018-01-12 郑州云海信息技术有限公司 一种基于RapidIO协议和RDMA技术的通信方法
KR101980190B1 (ko) 2017-09-25 2019-05-21 서울대학교산학협력단 입출력 디바이스 제어 장치, 그것의 동작 방법 및 입출력 디바이스 제어 장치 드라이버의 동작 방법
CN107844435A (zh) * 2017-11-08 2018-03-27 北京锐安科技有限公司 一种缓存系统、方法及装置
US11321249B2 (en) 2018-03-26 2022-05-03 Samsung Electronics Co., Ltd. Mechanism to autonomously manage SSDS in an array
US10838763B2 (en) * 2018-07-17 2020-11-17 Xilinx, Inc. Network interface device and host processing device
CN110764688B (zh) * 2018-07-27 2023-09-05 杭州海康威视数字技术股份有限公司 对数据进行处理的方法和装置
TWI673610B (zh) * 2018-11-09 2019-10-01 財團法人資訊工業策進會 遠端工作系統及其工作方法
CN111724295B (zh) * 2019-03-18 2024-05-14 芯原微电子(成都)有限公司 一种外部存储器的协同访问方法及系统、协同访问架构
CN113468090B (zh) * 2020-03-30 2024-04-05 浙江宇视科技有限公司 一种PCIe通信方法、装置、电子设备及可读存储介质
CN111586034B (zh) * 2020-04-30 2022-06-03 龙芯中科技术股份有限公司 数据处理系统及方法
CN112445735A (zh) * 2020-11-20 2021-03-05 深圳致星科技有限公司 一种联邦学习数据传输方法、计算机设备、系统及存储介质
CN116601616A (zh) * 2020-12-21 2023-08-15 华为技术有限公司 一种数据处理装置、方法及相关设备
CN112597094B (zh) * 2020-12-24 2024-05-31 联想长风科技(北京)有限公司 一种提高rdma传输效率的装置及方法
CN114625220B (zh) * 2021-04-09 2024-07-19 深圳宏芯宇电子股份有限公司 服务器及其数据处理方法
WO2023000784A1 (zh) * 2021-07-23 2023-01-26 华为技术有限公司 数据访问方法以及相关设备
CN114416630B (zh) * 2021-12-24 2024-09-06 深圳市广和通无线通信软件有限公司 基于pcie的通信方法、装置、计算机设备和可读存储介质
CN115048227B (zh) * 2022-08-15 2022-12-09 阿里巴巴(中国)有限公司 数据处理方法、系统及存储介质
CN117453117A (zh) * 2022-08-17 2024-01-26 北京超弦存储器研究院 一种网络存储处理设备、存储服务器、数据存储及读取方法
CN118158022A (zh) * 2024-04-18 2024-06-07 江苏苏港智能装备产业创新中心有限公司 一种多种总线通讯方法、港机边缘计算设备及相关设备

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1149736A (zh) * 1995-06-05 1997-05-14 北京航空航天大学 一种分布式存储器共享管理方法
US6457121B1 (en) * 1999-03-17 2002-09-24 Intel Corporation Method and apparatus for reordering data in X86 ordering
US20010047473A1 (en) * 2000-02-03 2001-11-29 Realtime Data, Llc Systems and methods for computer initialization
US7711793B1 (en) * 2001-07-17 2010-05-04 Adaptec, Inc. No single point of failure RAID box using SATA drives
JP2003280825A (ja) * 2002-03-22 2003-10-02 Fujitsu Ltd ストレージシステム
JP2005149082A (ja) * 2003-11-14 2005-06-09 Hitachi Ltd ストレージ制御装置、及びストレージ制御装置の制御方法
US20050223118A1 (en) * 2004-04-05 2005-10-06 Ammasso, Inc. System and method for placement of sharing physical buffer lists in RDMA communication
US7269708B2 (en) * 2004-04-20 2007-09-11 Rambus Inc. Memory controller for non-homogenous memory system
US20080098197A1 (en) * 2006-10-20 2008-04-24 International Business Machines Corporation Method and System For Address Translation With Memory Windows
US8112582B2 (en) * 2008-03-10 2012-02-07 Lsi Corporation Redundant array of inexpensive disks configuration using simple network management protocol
JP2010039644A (ja) * 2008-08-01 2010-02-18 Nec Electronics Corp 周辺デバイスの動作検証方法、デバイスドライバ・プログラム及びアプリケーション・プログラム
US8838850B2 (en) * 2008-11-17 2014-09-16 Violin Memory, Inc. Cluster control protocol
US9015446B2 (en) * 2008-12-10 2015-04-21 Nvidia Corporation Chipset support for non-uniform memory access among heterogeneous processing units
CN101819543A (zh) * 2010-02-01 2010-09-01 成都市华为赛门铁克科技有限公司 快照数据处理方法和系统以及存储设备
CN102694712B (zh) * 2011-06-27 2014-11-26 威盛电子股份有限公司 网络系统及网络至网络桥接器
KR101515359B1 (ko) * 2011-09-30 2015-04-29 인텔 코포레이션 시스템 코-프로세서에 대한 직접 i/o 액세스
KR20140065009A (ko) * 2011-10-27 2014-05-28 후아웨이 테크놀러지 컴퍼니 리미티드 데이터 고속 분배 방법 및 장치
US9467512B2 (en) * 2012-01-17 2016-10-11 Intel Corporation Techniques for remote client access to a storage medium coupled with a server
US8554963B1 (en) * 2012-03-23 2013-10-08 DSSD, Inc. Storage system with multicast DMA and unified address space
US8645594B2 (en) * 2012-06-29 2014-02-04 Intel Corporation Driver-assisted base address register mapping
US10496152B2 (en) * 2013-09-27 2019-12-03 Intel Corporation Power control techniques for integrated PCIe controllers
ES2628328T3 (es) * 2013-10-29 2017-08-02 Huawei Technologies Co., Ltd. Sistema de procesamiento de datos y método de procesamiento de datos

Also Published As

Publication number Publication date
CN103946828A (zh) 2014-07-23
EP3125126B1 (en) 2020-01-01
US9678918B2 (en) 2017-06-13
KR20150070046A (ko) 2015-06-24
CN106933775A (zh) 2017-07-07
US9329783B2 (en) 2016-05-03
EP2889780A4 (en) 2015-07-01
AU2013388031C1 (en) 2016-04-28
EP3125126A1 (en) 2017-02-01
CN106933775B (zh) 2021-08-20
JP6014271B2 (ja) 2016-10-25
US20170017607A1 (en) 2017-01-19
AU2013388031B2 (en) 2016-02-04
JP2015537310A (ja) 2015-12-24
KR101670342B1 (ko) 2016-10-28
US9459798B2 (en) 2016-10-04
US20150120969A1 (en) 2015-04-30
ES2779551T3 (es) 2020-08-18
EP2889780B1 (en) 2017-04-12
AU2013388031A1 (en) 2015-05-14
US20150234597A1 (en) 2015-08-20
WO2015061971A1 (zh) 2015-05-07
EP2889780A1 (en) 2015-07-01
CN103946828B (zh) 2017-02-22

Similar Documents

Publication Publication Date Title
ES2628328T3 (es) Sistema de procesamiento de datos y método de procesamiento de datos
TWI770358B (zh) 主機系統及其方法和加速模組
US9645956B2 (en) Delivering interrupts through non-transparent bridges in a PCI-express network
US9229892B2 (en) Shared peripheral component interconnect express (PCIe) end point system with a PCIe switch and method for initializing the same
CN107949833A (zh) 交换机中的地址缓存
US20140164666A1 (en) Server and method for sharing peripheral component interconnect express interface
EP3264280A1 (en) Method and apparatus for extending pcie domain
ES2757673T3 (es) Dispositivo informático y método para escribir/leer datos para el dispositivo informático
US20240119014A1 (en) Novel ssd architecture for fpga based acceleration
WO2016000478A1 (zh) 一种存储控制器及其使用方法
US20160140074A1 (en) Memory mapping method and memory mapping system
JP2019133662A5 (es)
CN105320462A (zh) 固态硬盘存取数据的方法
CN104221343B (zh) 用于在输入/输出设备中使用指派的交换机标识的技术
US9116836B2 (en) Tunneling transaction packets
TWI534619B (zh) 動態邏輯分段方法以及使用該方法的裝置
TWI553478B (zh) 能夠使用外部揮發性記憶體的裝置以及能夠釋放內部揮發性記憶體的裝置
TW201209587A (en) System and method for creating a memory window to implement an interface