ES2779551T3 - 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 PDFInfo
- Publication number
- ES2779551T3 ES2779551T3 ES16164174T ES16164174T ES2779551T3 ES 2779551 T3 ES2779551 T3 ES 2779551T3 ES 16164174 T ES16164174 T ES 16164174T ES 16164174 T ES16164174 T ES 16164174T ES 2779551 T3 ES2779551 T3 ES 2779551T3
- Authority
- ES
- Spain
- Prior art keywords
- address
- data
- data processing
- processing system
- pcie
- 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
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/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- 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/10—Program control for peripheral devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations 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/163—Interprocessor communication
- G06F15/173—Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
- G06F15/17306—Intercommunication techniques
- G06F15/17331—Distributed shared memory [DSM], e.g. remote direct memory access [RDMA]
-
- 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/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/28—Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
-
- 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/4022—Coupling between buses using switching circuits, e.g. switching matrix, connection or expansion network
-
- 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/4221—Bus 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
-
- 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/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI 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/061—Improving I/O performance
- G06F3/0611—Improving I/O performance in relation to response time
-
- 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
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1016—Performance 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: el controlador PCIe (203) comprende una unidad de traducción de dirección (2031), 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 (204) en conformidad con la primera dirección de memorización; y la segunda dirección de memorización es una dirección lógica, en donde la dirección lógica es una dirección que se obtiene después de que una puesta en orden lineal se realice en una dirección física continua no lineal.
Description
DESCRIPCIÓN
Sistema de procesamiento de datos y método de procesamiento de datos
CAMPO TÉCNICO
La presente invención se refiere al campo de tecnologías de la información y en particular, a un dispositivo, un método y un sistema para la transmisión de datos entre diferentes sistema de procesamiento de datos.
ANTECEDENTES DE LA INVENCIÓN
En una tendencia de datos de gran magnitud, una manera multi-duplicada se suele utilizar para garantizar la fiabilidad de los datos. Sin embargo, numerosas operaciones de migración de datos entre nodos se suelen causar cuando se utiliza la manera multi-duplicada.
Una tecnología RDMA (Remote Direct Memory Access, acceso de memoria directa distante) es una tecnología que pone en práctica la lectura de datos entre dos nodos en una red. Una tecnología RDMA transmite directamente datos en la memoria de un ordenador por intermedio de una red, e integra, con rapidez, los datos procedentes desde un nodo local a la memoria de un nodo distante sin causar ninguna influencia sobre un sistema operativo.
La información de RDMA transmitida en la red incluye una dirección virtual de destino, una clave de memoria y los propios datos. La realización de la demanda puede procesarse completamente en el espacio del usuario (una disposición se completa utilizando un nivel de usuario de agrupamiento) o se procesa utilizando una memoria kernel en un caso en que una aplicación queda en latencia hasta que se complete una demanda. Realizando una operación de RDMA, una aplicación puede efectuar una lectura de datos desde la memoria de una aplicación distante o realizar una escritura de datos en la memoria. Un adaptador de red de un host objetivo determina una clave de memoria y realiza una escritura directa de los datos en una memoria caché de aplicación.
La tecnología RDMA requiere que la transmisión de datos entre dos servidores que se comunican entre sí debe realizarse sobre datos transmitidos utilizando la memoria. Si no se utiliza la memoria, no se puede realizar una transmisión de datos. En consecuencia, un retardo de la transmisión de datos y una tasa de utilización de memoria son magnitudes relativamente altas.
El documento WO2013/048477 A1 divulga sistemas, aparatos y métodos que permiten compartir un dispositivo de Acceso Remoto Directo a Memoria (RDMA por sus siglas en inglés) incluido un complejo de CPU y memoria.
SUMARIO
Formas de realización de la presente invención dan a conocer un sistema y un método de procesamiento de datos, con el fin de mejorar la eficiencia y la utilización del dispositivo para la transmisión de datos entre dos sistemas de procesamiento de datos
Una forma de realización de la presente invención da a conocer 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, Peripherical Component Interconnect Express PCIe, un adaptador de red y al menos un dispositivo de memorización PCIe e incluye, además:
una unidad de gestión, configurada para obtener, cuando el sistema de procesamiento de datos recibe una demanda de datos, una primera dirección de memorización de los datos demandados en el dispositivo de memorización PCIe en conformidad con la primera información de dirección incluida en la demanda de datos, en donde la primera dirección de memorización es una memoria de entrada/salida de mapeado de memoria MMIO, en donde
el adaptador de red efectúa una lectura directa de los datos desde el dispositivo de memorización PCIe 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, 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 por intermedio de una red;
en donde el controlador PCIe comprende una unidad de traducción de direcciones, configurada para obtener una segunda dirección de memorización de los datos demandado por la demanda de datos en el dispositivo de memorización PCIe en conformidad con la primera dirección de memorización;
en donde la segunda dirección de memorización es una dirección lógica, en donde la dirección lógica es una dirección que se obtiene después de realizar una puesta en orden lineal sobre una dirección física continua no lineal.
De modo opcional, la unidad de traducción de dirección está configurada, además, para configurar un primer registro
de direcciones de base BAR, en donde el primer registro de direcciones BAR memoriza una correspondencia entre la primera dirección de memorización y la segunda dirección de memorización, y la segunda dirección de memorización es una dirección de memorización continua lineal.
De modo opcional, la unidad de traducción de direcciones está configurada, además, para configurar un segundo registro de direcciones BAR, en donde el segundo registro de direcciones BAR memoriza una correspondencia entre la primera dirección de memorización y una dirección virtual de la segunda dirección de memorización, la segunda dirección de memorización es una dirección de memorización continua no lineal y la dirección virtual de la segunda dirección de memorización es una dirección que se obtiene después de realizar una puesta en orden lineal sobre la segunda dirección de memorización.
De modo opcional, la unidad CPU asigna un identificador único a cada dispositivo de memorización PCIe, en donde el identificador único se utiliza para caracterizar cada dispositivo de memorización PCIe.
De modo opcional, la primera información de dirección incluye el identificador único y una dirección de bloque lógico LBA del dispositivo de memorización PCIe.
De modo opcional, la unidad de gestión 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.
El identificador único incluye al menos uno de entre un identificador de identidad de vendedor ID Vender, un adaptador de identidad de dispositivo 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 verificación de la integridad de archivos, denominado 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.
De modo opcional, la unidad de gestión incluye una unidad de obtención de direcciones de base y una unidad de obtención de direcciones de memorización, en donde
la unidad de obtención de direcciones de base está configurada para obtener, cuando el sistema de procesamiento de datos recibe una primera demanda de datos del segundo sistema de procesamiento de datos que se comunica con el sistema de procesamiento de datos 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 y está que está incluidos en la primera demanda de datos; y
la unidad de obtención de direcciones de memorización 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 incluida en la primera demanda de dirección, en donde la primera dirección de memorización es una dirección MMIO.
De modo opcional, la unidad CPU registra la primera dirección de memorización obtenida en el adaptador de red.
De modo opcional, el sistema de procesamiento de datos incluye, además, una unidad de envío, en donde la unidad de envío está configurada para enviar la primera dirección de memorización obtenida por la unidad de gestión al segundo sistema de procesamiento de datos.
De modo opcional, el controlador PCIe obtiene una demanda de datos que se envía por el adaptador de red y que incluye la primera dirección de memorización, y la unidad de traducción de dirección obtiene datos de la segunda dirección de memorización, y reenvía los datos obtenidos al adaptador de red, o efectúa una escritura de los datos enviados por el adaptador de red en la segunda dirección de memorización
De modo opcional, la unidad de gestión incluye, además, una unidad de obtención de dirección de base global y una dirección de obtención de dirección de memorización global, en donde
la unidad de obtención de dirección de base global está configurada para obtener, cuando el sistema de procesamiento de datos recibe una segunda demanda de datos, una dirección de base de los 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 que 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 los datos desde el segundo sistema de procesamiento de datos; y
la unidad de dirección de memorización global 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.
De modo opcional, 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.
Una forma de realización de la presente invención da a conocer un método de procesamiento de datos, en donde el método 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 y el método incluye:
obtener, cuando el sistema de procesamiento de datos recibe una demanda de datos, una primera información de dirección incluida en la demanda de datos;
obtener una primera dirección de memorización de los datos demandados en el dispositivo de memorización PCIe en conformidad con la primera información de dirección, en donde la primera dirección de memorización es una dirección MMIO; y
efectuar la lectura directa, por el adaptador de red, de los datos procedentes del dispositivo de memorización PCIe en conformidad con la primera dirección de memorización, y transmitir los datos al segundo sistema de procesamiento de datos, o efectuar una lectura directa de los datos recibidos desde el segundo sistema de procesamiento de datos en el dispositivo de memorización PCIe, 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 por intermedio de una red; en donde el dispositivo de memorización PCIe obtiene 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;
en donde la segunda dirección de memorización es una dirección lógica, en donde 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.
De modo opcional, el método incluye, además:
configurar, por el controlador PCIe, un primer registro de direcciones BAR, en donde el primer registro de direcciones BAR memoriza una correspondencia entre la primera dirección de memorización y la segunda dirección de memorización y la segunda dirección de memorización es una dirección de memorización continua lineal.
De modo opcional, el método incluye, además:
configurar, por el controlador PCIe, un segundo registro de direcciones BAR, en donde el segundo registro de direcciones BAR memoriza una correspondencia entre la primera dirección de memorización y una dirección virtual de la segunda dirección de memorización, la segunda dirección de memorización es una dirección de memorización continua no lineal y la dirección virtual de la segunda dirección de memorización es una dirección que se obtiene después de realiza una puesta en orden lineal sobre la segunda dirección de memorización.
De modo opcional, la unidad CPU 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.
De modo opcional, la primera información de dirección incluye el identificador único y una dirección de bloque lógico, LBA del dispositivo de memorización PCIe.
De modo opcional, el método incluye, además:
establecer una correspondencia entre el identificador único y una dirección de base en un registro BAR del dispositivo de memorización PCIe.
De modo opcional, el identificador único incluye al menos un identificador de identidad de vendedor ID Vender, un identificador de identidad de dispositivo 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.
De modo opcional, la obtención de una primera dirección de memorización de los datos demandados en el dispositivo de memorización incluye:
obtener 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 y está incluido en la primera demanda de datos; y
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.
De modo opcional, la unidad CPU registra la primera dirección de memorización obtenida en el adaptador de red.
De modo opcional, el método incluye, además:
enviar, por el sistema de procesamiento de datos, la primera dirección de memorización obtenida en el segundo sistema de procesamiento de datos.
De modo opcional, el controlador PCIe obtiene una demanda de datos que se envía por el adaptador de red y que incluye la primera dirección de memorización, y obtiene datos de una segunda dirección de memorización y reenvía los datos obtenidos al adaptador de red, o efectúa la lectura de los datos enviados por el adaptador de red en la segunda dirección de memorización.
De modo opcional, el método incluye, además:
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 está incluido 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 los datos desde el segundo sistema de procesamiento de datos; y
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.
De modo opcional, 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 puede efectuarse una lectura directa de los datos 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 el sistema de procesamiento de datos y el método de procesamiento de datos dados a conocer por las formas de realización de la presente invención, una dirección MMIO de una demanda de datos se obtiene, en donde los datos memorizados en un dispositivo de memorización PCIe pueden obtenerse directamente a partir de la memoria MMIO y en conformidad con la dirección MMIO, un adaptador de red puede efectuar la lectura directa de los datos desde el dispositivo de memorización PCIe del sistema de procesamiento de datos, y transmitir los datos a un segundo sistema de procesamiento de datos, efectuar la escritura directa de los datos recibidos desde el segundo sistema de procesamiento de datos en el dispositivo de memorización PCIe. Por lo tanto, el sistema de procesamiento puede, cuando se realiza una transmisión de datos entre dos sistemas de procesamiento de datos que se comunican por intermedio de una red, una transmisión de datos directamente desde el dispositivo de memorización PCIe al adaptador de red sin necesidad de utilizar la memoria. Durante la transmisión de datos, entre los dos sistemas de transmisión de datos, una tasa de utilización de un recurso, tal como una memoria y una unidad CPU, se reduce y al mismo tiempo, se mejora la eficiencia de la transmisión de datos.
BREVE DESCRIPCIÓN DE LOS DIBUJOS
Para describir las soluciones técnicas en las formas de realización de la presente invención o en la técnica anterior con mayor claridad, a continuación se describen brevemente los dibujos adjuntos requeridos para describir las formas de realización o la técnica anterior. Evidentemente, los dibujos adjuntos en la descripción siguiente ilustran simplemente algunas formas de realización de la presente invención y un experto en esta técnica puede deducir todavía otros dibujos a partir de estos dibujos adjuntos sin necesidad de esfuerzos creativos.
La Figura 1 es un diagrama de flujo esquemático de migración de datos en un dispositivo de memorización de nodo distante a un dispositivo de memorización de nodo local en la técnica anterior;
La Figura 2 es un diagrama estructural esquemático de un sistema de procesamiento de datos en conformidad con una forma de realización de la presente invención;
La Figura 3 es un diagrama estructural esquemático de una puesta en práctica específica de un sistema de procesamiento de datos en conformidad con una forma de realización de la presente invención;
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;
La Figura 5 es un diagrama estructural esquemático de equipos físicos base de una manera de puesta en práctica de un sistema de procesamiento de datos en conformidad con una forma de realización de la presente invención; 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; La Figura 7 es un diagrama esquemático de una relación estructural de mapeado de correspondencia desde una dirección configurada en un dispositivo de memorización PCIe a una dirección MMIO de una unidad CPU en conformidad con una forma de realización de la presente invención; y
La Figura 8 es un diagrama estructural esquemático de una dirección de flujo de datos de una transmisión de datos entre dos sistemas de procesamiento de datos de conformidad con una forma de realización de la presente invención. DESCRIPCIÓN DE LAS FORMAS DE REALIZACIÓN
A continuación se describe, de forma clara y completa, las soluciones técnicas en las formas de realización de la presente invención haciendo referencia a los dibujos adjuntos en las formas de realización de la presente invención. Evidentemente, las formas de realización a describirse son una parte y no la totalidad de las formas de realización de la presente invención. Todas las formas de realización obtenidas por un experto en esta técnica, sobre la base de las formas de realización de la presente invención sin necesidad de esfuerzos creativos, caerán dentro del alcance de protección de la presente invención.
La Figura 1 es un diagrama de flujo esquemático de una migración de datos en un dispositivo de memorización de nodo distante a un dispositivo de memorización de nodo local en la técnica anterior. Un nodo puede ser un dispositivo que pone en práctica una función de cálculo informático o una función de memorización, tal como un servidor. Cuando un nodo Node 1 necesita ser objeto de lectura, desde un nodo Node 2 por intermedio de una red, los datos que se memorizan en un dispositivo de memorización del nodo Node 2, su proceso de realización es como sigue:
Etapa 1: Una unidad CPU del Node 1 inicia una demanda de conexión a distancia para la lectura de los datos. Etapa 2: Un adaptador de red en el nodo Node 1 envía un paquete de demanda a un adaptador de red de un nodo especificado (es decir, el nodo Node 2).
Etapa 3: El adaptador de red del Node 2 reenvía el paquete de demanda a una unidad CPU del nodo Node 2.
Etapa 4: La unidad CPU del nodo Node 2 realiza un análisis sintáctico del paquete de demanda y luego, inicia una demanda de datos a un controlador PCIe de la CPU del nodo Node 2.
Etapa 5: El controlador PCIe realiza la lectura de los datos demandados a la memoria en una manera de DMA. Etapa 6: La unidad CPU del nodo Node 2 envía los datos demandados que son objeto de lectura a la memoria del adaptador de red del nodo Node 2.
Etapa 7: El adaptador de red del nodo Node 2 envía los datos demandados al adaptador de red del nodo Node 1 por intermedio de una red.
Etapa 8: La unidad CPU del nodo Node 1 efectúa la lectura de los datos demandados desde el adaptador de red del nodo Node 1 y luego, memoriza los datos en la memoria.
Etapa 9: La unidad CPU del nodo Node 1 envía los datos memorizados en la memoria al controlador PCIe para demandar la escritura de los datos en un dispositivo de memorización PCIe.
Etapa 10: Un controlador PCIe del nodo Node 1 realiza la escritura de los datos recibidos en el dispositivo de memorización PCIe.
Como puede deducirse del proceso de lectura a distancia de datos en la técnica anterior, una unidad CPU que participa en la lectura y es de un nodo que participó en las funciones de lectura y escritura de datos, y cada nodo necesita solicitar un segmento de espacio de memoria para memorizar datos en la unidad CPU. En este caso, en un proceso completo de migración de datos, puesto que los datos son objeto de migración numerosas veces, un retardo se
aumenta de forma inevitable y las tasas de utilización de la unidad CPU y de la memoria permanecen elevadas.
Con el fin de resolver los problemas de un retardo de gran magnitud y las altas tasas de utilización de la unidad CPU y de la memoria durante un proceso de migración de datos a distancia en la técnica anterior, una forma de realización de la presente invención da a conocer un sistema de procesamiento de datos, con el fin de resolver los problemas de consumo de recursos y retardo causado por la ocupación de la memoria y los recursos de la CPU durante las operaciones de lectura y escritura de datos a distancia entre los sistemas de procesamiento de datos en la técnica anterior.
Con el fin de resolver los problemas de ocupación de numerosos recursos de memoria y de la unidad CPU y un gran retardo en la transmisión durante una transmisión de datos de nodos cruzados en la técnica anterior, una forma de realización de la presente invención da a conocer un sistema de procesamiento de datos. Combinando una tecnología de red con una tecnología de mapeado de correspondencia de direcciones MMIO de un dispositivo de memorización PCIe, una tecnología de acceso directo a datos distantes entre nodos se utiliza para una copia directa de los datos. Durante el proceso de copia, una unidad CPU no necesita participar en una migración de datos, y la unidad CPU solamente necesita realizar una operación de control; y al mismo tiempo, no necesita realizarse una migración de datos a la memoria por anticipado para su procesamiento, con el fin de reducir la utilización de la unidad CPU y de la memoria. Además, un proceso de migración de datos entre la unidad CPU y la memoria se reduce, también se reduce un retardo del procesamiento de datos y se mejora la eficiencia de la transmisión de datos.
Haciendo referencia a la Figura 2, la Figura 2 es un diagrama estructural esquemático de un sistema de procesamiento de datos 200 en conformidad con una forma de realización de la presente invención. El sistema de procesamiento de datos 200 incluye una unidad central de procesamiento CPU 202, una memoria 206, un controlador de Interconexión de Componentes Periféricos, Peripheral Component Interconnect Express, PCIe 203, un adaptador de red 205 y al menos un dispositivo de memorización PCIe 204 e incluye, además:
una unidad de gestión 201, configurada para obtener, cuando el sistema de procesamiento de datos recibe una demanda de datos, una primera dirección de memorización de los datos demandados en el dispositivo de memorización en conformidad con la 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 MMIO (Memory mapping I/O, memoria de entrada/salida de mapeado de memoria), en donde
el adaptador de red 205 efectúa la lectura directa de los datos procedentes 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 efectúa la escritura directa de los datos recibidos desde el segundo sistema de procesamiento de datos en un 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 por intermedio de una red.
Una dirección MMIO de una demanda de datos se obtiene por una unidad de gestión 201 en el sistema de procesamiento de datos anterior, en donde los datos memorizados en un dispositivo de memorización PCIe pueden obtenerse directamente a partir de la dirección MMIO, y en conformidad con la dirección MMIO, un adaptador de red 205 puede efectuar la lectura directa de los datos desde el dispositivo de memorización PCIe 204 del sistema de procesamiento de datos 200, y transmitir los datos a un segundo sistema de procesamiento de datos, o efectuar la lectura directa de los datos recibidos desde el segundo sistema de procesamiento de datos en el dispositivo de memorización PCIe 204. De este modo, el sistema de procesamiento puede poner en práctica, cuando se realiza una transmisión de datos entre dos sistemas de procesamiento de datos, que se comunican por intermedio de una red, una transmisión de datos directamente desde el dispositivo de memorización PCIe al adaptador de red sin necesidad de utilizar memoria. Durante la transmisión de datos entre los dos sistemas de procesamiento de datos, se reduce una tasa de utilización de un recurso, tal como memoria y una unidad CPU y se mejora la eficiencia de la transmisión de datos.
Haciendo referencia a la Figura 3, la Figura 3 es un diagrama estructural esquemático de una puesta en práctica específica de un sistema de procesamiento de datos 200 en conformidad con una forma de realización de la presente invención. Según se ilustra en la Figura 3, el dispositivo de memorización PCIe 203 incluye, además, una unidad de traducción de direcciones 2031, 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 segunda dirección de memorización puede ser una dirección física o una dirección lógica, 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 realizar una puesta en orden lineal sobre una dirección física continua no lineal.
La unidad de traducción de dirección 2031 traduce la primera dirección de memorización, es decir, la dirección MMIO, en la segunda dirección de memorización, en donde la segunda dirección de memorización es una dirección física de un soporte accesible del dispositivo de memorización PCIe 203, de modo que cuando el dispositivo de memorización PCIe recibe una demanda de datos del adaptador de red 205, el dispositivo de memorización PCIe puede obtener, en
conformidad con una dirección MMIO incluida en la demanda de datos, una dirección física de un soporte accesible correspondiente a la dirección MMIO y efectuar la lectura de los datos utilizando la dirección física. En el dispositivo de memorización PCIe, cuando no se indica una dirección de soporte accesible por una dirección MMIO, el adaptador de red puede obtener una dirección de soporte accesible de los datos demandados, con el fin de realizar las operaciones de lectura y escritura directas de los datos.
Como una manera de puesta en práctica opcional, la unidad de traducción de dirección 2031 está configurada, además, para configurar un primer registro de direcciones de base BAR (base address register, registro de direcciones de base), en donde el primer registro de direcciones de BAR memoriza una correspondencia entre la primera dirección de memorización y la segunda dirección de memorización, y la segunda dirección de memorización es una dirección de memorización continua lineal. Si la segunda dirección de memorización es una dirección de memorización continua no lineal, la unidad de traducción de dirección está configurada para configurar un segundo registro de direcciones BAR, en donde el segundo registro de direcciones BAR memoriza una correspondencia entre la primera dirección de memorización y una dirección virtual de la segunda dirección de memorización, y la dirección virtual de la segunda dirección de memorización es una dirección que se obtiene después de que se realice una puesta en orden lineal sobre la segunda dirección de memorización.
La unidad de traducción de dirección anterior 2031 configura el registro de direcciones BAR, de modo que, en el dispositivo de memorización PCIe, se establezca una dirección física continua lineal para estar en correspondencia con la dirección MMIO en una manera ‘una a una’ y en el dispositivo de memorización PCIe, una dirección lógica que se obtiene después de que se realice una puesta en orden lineal sobre una dirección física continua no lineal para estar en correspondencia con la dirección MMIO en una manera de ‘una a una’, con el fin de poner en práctica el mapeado de correspondencia de la dirección MMIO y la dirección del soporte accesible del dispositivo de 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. 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 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 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, y el método incluye:
Etapa 400: Obtener, cuando el sistema de procesamiento de datos recibe una demanda de datos, una primera dirección de memorización incluida en la demanda de datos.
Etapa 402: Obtener una primera dirección de memorización de los datos demandados en el dispositivo de memorización PCIe en conformidad con la primera información de dirección, en donde la primera dirección de memorización es una dirección MMIO.
Etapa 404: El adaptador de red efectúa la lectura directa de los datos procedentes del dispositivo de memorización PCIe en conformidad con la primera dirección de memorización, y transmite los datos al segundo sistema de procesamiento de datos, o realiza la escritura directa de los datos recibidos desde un segundo sistema de procesamiento de datos en el dispositivo de memorización PCIe, 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 por intermedio de una red.
La etapa 400 y la etapa 402 en la forma de realización del método anterior pueden ponerse en práctica por una unidad de gestión en el sistema de procesamiento de datos. La unidad de gestión puede ser un módulo o una unidad lógica en la unidad CPU, y puede ser también una entidad de hardware separada en el sistema de procesamiento de datos. Una manera de puesta en práctica específica de la unidad de gestión no está limitada en la forma de realización de la presente invención.
Una dirección MMIO de una demanda de datos se obtiene en la etapa 402 en la forma de realización anterior, en donde los datos memorizados en el dispositivo de memorización PCIe pueden obtenerse directamente a partir de la dirección MMIO, y en conformidad con la dirección MMIO, un adaptador de red puede efectuar la lectura directa de los datos procedentes del dispositivo de memorización PCIe del sistema de procesamiento de datos, y transmitir los datos a un segundo sistema de procesamiento de datos, o realizar la escritura directa de los datos recibidos desde el segundo sistema de procesamiento de datos en el dispositivo de memorización PCIe. Por lo tanto, el sistema de procesamiento puede realizar, cuando se efectúa una transmisión de datos entre dos sistemas de procesamiento de datos que se comunican por intermedio de una red, transmitiendo datos directamente desde el dispositivo de memorización PCIe al adaptador de red sin necesidad de utilizar la memoria. Durante la transmisión de datos entre los dos sistemas de procesamiento de datos, se reduce una tasa de utilización de un recurso, tal como memoria y una unidad CPU, y se mejora la eficiencia de la transmisión de datos.
Como una manera de puesta en práctica opcional, el método de procesamiento de datos incluye, además: obtener, por el dispositivo de memorización PCIe, 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 segunda dirección de memorización es una dirección física o una dirección lógica, en donde la dirección física continua lineal en la que puede efectuarse la lectura directa de los datos, y la dirección lógica es una dirección en la que se obtiene después de que se realice una puesta en orden lineal sobre una dirección física continua no lineal.
De modo opcional, el controlador PCIe confitura el primer registro de direcciones BAR, en donde el primer registro de direcciones BAR memoriza una correspondencia entre la primera dirección de memorización y la segunda dirección de memorización, y la segunda dirección de memorización es una dirección de memorización continua lineal. Como alternativa, el controlador PCIe configura un segundo registro de direcciones BAR, en donde el segundo registro de direcciones BAR memoriza una correspondencia entre la primera dirección de memorización y una dirección virtual de la segunda dirección de memorización, la segunda dirección de memorización es una dirección de memorización
continua no lineal y la dirección virtual de la segunda dirección de memorización es una dirección que se obtiene después de que se realice una puesta en orden lineal sobre la segunda dirección de memorización.
El registro de direcciones BAR está configurado, de modo que, en el dispositivo de memorización PCIe, se obtenga una dirección física continua lineal para estar en correspondencia con la dirección MMIO en una manera de ‘una a una’ y en el dispositivo de memorización PCIe, una dirección lógica que se obtiene después de que se realice la puesta en orden lineal sobre una dirección física continua no lineal para estar en correspondencia con la dirección MMIO en una manera de ‘una a una’, con el fin de realizar un mapeado de correspondencia de la dirección MMIO y una dirección de soporte accesible del dispositivo de memorización PCIe. Por lo tanto, el adaptador de red efectúa un 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 de ‘una a una’ con lo que se realizan las funciones de lectura y escritura directas de los datos.
Como una manera de puesta en práctica opcional, el método de procesamiento de datos incluye, además: asignar, por la unidad CPU, un identificador único a cada dispositivo de memorización PCIe, en donde el identificador único se utiliza para caracterizar cada dispositivo de memorización PCIe; y establecer, en conformidad con el identificador único, una correspondencia entre el identificador único y una dirección de base en un registro BAR del dispositivo de memorización PCIe.
De modo opcional, la primera información de dirección incluye el identificador único y una dirección de bloque lógico 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.
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, en conformidad con un identificador único que es el del dispositivo de memorización PCIe y está incluido en el mensaje de demanda de datos recibido por el sistema de procesamiento de datos, puede obtenerse 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 la dirección LBA del dispositivo de memorización PCIe, la dirección MMIO de los datos demandados puede obtenerse utilizando la dirección de base obtenida en el registro BAR y la dirección LBA del dispositivo de memorización PCIe.
Como una manera de puesta en práctica opcional, la obtención de una primera dirección de memorización de los datos demandados en el dispositivo de memorización incluye:
obtener 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 y está incluido en la primera demanda de datos; y
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.
De modo opcional, la unidad CPU registra la primera dirección de memorización obtenida en el adaptador de red. El sistema de procesamiento de datos envía la primera dirección de memorización obtenida al segundo sistema de procesamiento de datos. Cuando el adaptador de red del sistema de procesamiento de datos recibe la demanda de datos que incluye la primera dirección de memorización y se envía por el segundo sistema de procesamiento de datos, el adaptador de red edita la demanda de datos recibida sobre un bus de conexión de PCIe, en donde la demanda puede recibirse por el controlador PCIe en el sistema de procesamiento de datos. Después de que el controlador PCIe obtenga la demanda de datos que incluye la primera dirección de memorización y se envía por el adaptador de red, el controlador PCIe obtiene una segunda dirección de memorización correspondiente en conformidad con la primera dirección de memorización, obtiene los datos desde 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.
Como una manera de puesta en práctica opcional, el método incluye, además:
obtener, cuando el sistema de procesamiento de datos recibe una segunda demanda de datos, una dirección de base de datos demandada por la segunda demanda de datos en un registro BAR del segundo sistema de procesamiento de datos de conformidad con un identificador único que es el del dispositivo de memorización PCIe y está incluidos en la segunda demanda de datos, en donde la segunda demanda de datos se utiliza para enviar datos al segundo sistema de procesamiento de datos o para efectuar la lectura de datos a partir del segundo sistema de procesamiento de datos; y
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, 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 pueden leerse directamente los datos 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.
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 se obtiene según se describió con anterioridad, de modo que la dirección de base de los datos demandados por la segunda demanda de datos en el registro BAR del segundo sistema de procesamiento de datos puede obtenerse a este respecto y la dirección MMIO de los datos demandados por la segunda demanda de datos se obtiene, además, con el fin de realizar una transmisión directa entre dos sistema de procesamiento de datos sin implicación de una CPU o una memoria con lo que se ahorran recursos de memoria y de CPU y se mejora la eficiencia de la transmisión de datos.
La Figura 5 muestra, a modo de ejemplo, un diagrama estructural esquemático de hardware base de una manera de puesta en práctica de un sistema de procesamiento de datos de conformidad con una forma de realización de la presente invención. El sistema de procesamiento de datos está formado por hardware de base que incluye una unidad CPU, una memoria, un controlador PCIe, un bus de conexión de PCIe, un dispositivo de memorización PCIe y un adaptador de red. El adaptador de red en el sistema de procesamiento de datos es un adaptador de red que soporta una tecnología de acceso directo a la red y está basado en una tecnología de bus de conexión de PCIe. La tecnología de acceso directo a red incluye, sin limitación, a una tecnología RDMA (remote direct memory access, acceso de memoria directo distante) y similares. El adaptador de red incluye, sin limitación, a una tarjeta de Ethernet, un adaptador IB HCA (Infiniband Host Channel Adapter, adaptador de canal host de tecnología de cable de conversión que soporta múltiples enlaces simultáneos), un adaptador iWarp HCA (internet wide area RDMA protoco1Host Channel Adapter, adaptador de canal host de protocolo RDMA de área amplia de Internet), un adaptador Rapid IO HCA (Rapid IO Host Channel Adapter, adaptador de canal host IO rápido) y similares. El hecho de que el adaptador de red esté basado en la tecnología de bus PCIe indica que una interfaz de bus de enlace ascendente del adaptador de red es un PCIe. El sistema de procesamiento de datos incluye, además, al menos un dispositivo de memorización PCIe basado en el bus de PCIe. El dispositivo de memorización PCIe incluye, sin limitación, una memoria, un disco duro, un SSD (Solid State Disk, disco en estado sólido), una memoria instantánea Flash, una memoria NVRAM (Non-Volatile Random Access Memory, memoria de acceso aleatorio no volátil) y similares. Una manera de puesta en práctica del sistema de procesamiento de datos incluye, sin limitación, a un dispositivo tal como un servidor (un servidor de montaje en bastidor, un servidor de torreta de herramientas, un servidor de montaje en bastidor o similares), un dispositivo de memorización o un ordenador de alcance medio.
En conformidad con el sistema de procesamiento de datos en la forma de realización de la presente invención, se añade una unidad de gestión basada en una arquitectura base de hardware según se indica en la Figura 5. La unidad de gestión está configurada para obtener, cuando el sistema de procesamiento de datos recibe una demanda de datos, una primera multimedia de los datos demandados en el dispositivo de memorización PCIe en conformidad con la 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 MMIO. La unidad de gestión puede realizarse en la unidad CPU, y puede también ponerse en práctica utilizando equipos físicos separados. Una manera de puesta en práctica de la unidad de gestión en el sistema de procesamiento de datos no está limitada en la forma de realización de la presente invención.
Más concretamente, la unidad de gestión obtiene, en conformidad con una correspondencia establecida 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, una dirección de datos de la demanda de datos que se recibe por el sistema de procesamiento de datos en el dispositivo de memorización PCIe.
El identificador único del dispositivo de memorización PCIe, a modo de ejemplo, un GUID (Globally Unique Identifier, identificador único global) es un identificador que se asigna por un sistema de procesamiento de datos para cada dispositivo de memorización PCIe y determina, de forma única, el dispositivo de memorización PCIe. El identificador único puede ser un identificador único asignado por la CPU y puede ser también un identificador único asignado por la unidad de gestión. El identificador único puede ser un conjunto único de cadena de caracteres formado por un identificador ID Vender (vender identity, identidad de vendedor) y un identificador ID Device (device identity, identidad de dispositivo) del dispositivo de memorización PCIe y un identificador único ID (a modo de ejemplo, un número de serie del disco duro) de un dispositivo de memorización montado en el dispositivo de memorización PCIe, o un identificador que se obtiene después de que se realice una operación de hashing sobre la cadena de caracteres. La
composición del identificador único no está limitada en la forma de realización de la presente invención, en tanto que pueda marcarse de forma única, la información de un dispositivo de memorización en el interior de un nodo.
La dirección de base en el registro BAR del dispositivo de memorización PCIe se asigna cuando se inicia el sistema de procesamiento de datos. Después de que se realice la iniciación operativa del sistema de procesamiento de datos, la unidad de gestión obtiene una dirección de base en un registro BAR de cada dispositivo de memorización PCIe. La unidad de gestión puede obtener la dirección de base en el registro BAR de cada dispositivo de memorización PCIe y el identificador único del dispositivo de memorización PCIe mediante un escaneado de todos los dispositivos de memorización PCIe en el sistema de procesamiento de datos.
La unidad de gestión registra, en conformidad con la dirección de base obtenida en el registro BAR de cada dispositivo de memorización PCIe y el identificador único del dispositivo de memorización PCIe, una correspondencia entre la dirección de base en el registro BAR de cada dispositivo de memorización PCIe y el identificador único del dispositivo de memorización PCIe.
Cuando el sistema de procesamiento de datos recibe una demanda de datos, la demanda de datos incluye un identificador único y una dirección LBA (Logical Block Address, dirección de bloque lógico) de los datos demandados en el dispositivo de memorización PCIe. La unidad de gestión obtiene, en conformidad con el identificador único incluido en la demanda de datos y la correspondencia establecida entre la dirección de base en el registro BAR de 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; 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 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 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 s Sd 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.
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.
Las descripciones anteriores son simplemente formas de realización específicas de la presente invención, pero no están previstas para limitar el alcance de protección de la presente invención. Cualquier modificación o sustitución fácilmente creada por un experto en esta técnica dentro del alcance técnico dado a conocer en la presente invención deberán caer dentro del alcance de protección de la presente invención. Por lo tanto, el alcance de protección de la presente invención estará sujeto al alcance de protección de las reivindicaciones adjuntas.
Claims (26)
1. 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:
el controlador PCIe (203) comprende una unidad de traducción de dirección (2031), 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 (204) en conformidad con la primera dirección de memorización; y
la segunda dirección de memorización es una dirección lógica, en donde la dirección lógica es una dirección que se obtiene después de que una puesta en orden lineal se realice en una dirección física continua no lineal.
2. El sistema de procesamiento de datos según la reivindicación 1, en donde
la unidad de traducción de dirección (2031) está configurada, además, para configurar un primer registro de direcciones BAR, en donde el primer registro de direcciones BAR memoriza una correspondencia entre la primera dirección de memorización y la segunda dirección de memorización, y la segunda dirección de memorización es una dirección de memorización continua lineal.
3. El sistema de procesamiento de datos según la reivindicación 1 o 2, en donde
la unidad de traducción de dirección (2031) está configurada, además, para configurar un segundo registro de direcciones BAR, en donde el segundo registro de direcciones BAR memoriza una correspondencia entre la primera dirección de memorización y una dirección virtual de la segunda dirección de memorización, siendo la segunda dirección de memorización una dirección de memorización continua no lineal y la dirección virtual de la segunda dirección de memorización es una dirección que se obtiene después de que se realice una puesta en orden lineal sobre la segunda dirección de memorización.
4. El sistema de procesamiento de datos según cualquiera de las reivindicaciones 1 a 3, en donde
la unidad CPU 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.
5. El sistema de procesamiento de datos según la reivindicación 4, en donde
la primera información de dirección comprende el identificador único y una dirección de bloque lógico LBA del dispositivo de memorización PCIe.
6. El sistema de procesamiento de datos según la reivindicación 4, en donde
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 BAR del dispositivo de memorización PCIe (204);
7. El sistema de procesamiento de datos según cualquiera de las reivindicaciones 4 a 6, en donde
el identificador único comprende al menos uno de entre un identificador de vendedor ID Vender, un identificador de identidad de dispositivo ID Device y un número de serie de disco duro; o el identificador único es un identificador que se obtiene después de que se realice el procesamiento de verificación de integridad de archivos, denominado hashing, sobre el al menos uno de entre el identificador ID Vender, el identificador ID Device y el número de serie de disco duro.
8. El sistema de procesamiento de datos según la reivindicación 5 o 6, 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, 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 por intermedio de la red, una dirección de base en un registro BAR de los datos demandados en conformidad con un identificador único dispositivo de memorización PCIe (204) y que está incluido en la primera 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 LBA incluida en la primera demanda de datos, en donde la primera dirección de memorización es una dirección MMIO.
9. El sistema de procesamiento de datos según la reivindicación 1 o 8, en donde la unidad CPU registra la primera dirección de memorización obtenida en el adaptador de red (205).
10. El sistema de procesamiento de datos según la reivindicación 1 o 8, en donde
el sistema de procesamiento de datos (200) comprende, 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 (2011) al segundo sistema de procesamiento de datos.
11. El sistema de procesamiento de datos según la reivindicación 1 o 9, en donde el controlador PCIe (203) obtiene una 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 dirección obtiene datos de la segunda dirección de memorización, y reenvía los datos obtenidos al adaptador de red (205), o realiza una escritura de los datos enviados por el adaptador de red (205) en la segunda dirección de memorización.
12. El sistema de procesamiento de datos según cualquiera de las reivindicaciones 6 y 8, en donde la unidad de gestión (201) comprende, además, una unidad de obtención de dirección de base global (2013) y una unidad de obtención de dirección de memorización global (2014), en donde
la unidad de obtención de dirección de base global (2013) está configurada para obtener, cuando el sistema de procesamiento de datos recibe una segunda demanda de datos, una dirección de base de los 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 (204) y está incluido 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 para efectuar una lectura de datos a partir del segundo sistema de procesamiento de datos; y
la unidad de obtención de dirección de memorización global (2014) 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.
13. El sistema de procesamiento de datos según la reivindicación 12, en donde 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 (200) 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 donde puede efectuarse una lectura directa de los datos y la dirección lógica es una dirección que se obtiene después de que se realice la puesta en orden lineal sobre una dirección física continua no lineal.
14. Un método de procesamiento de datos, en donde el método se aplica a un sistema de procesamiento de datos que comprende 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 comprende:
obtener, cuando el sistema de procesamiento de datos recibe una demanda de datos, una primera información de dirección incluida en la demanda de datos;
obtener una primera dirección de memorización de los datos demandados en el dispositivo de memorización PCIe en conformidad con la primera información de dirección, en donde la primera dirección de memorización es una dirección de entrada/salida de mapeado de memoria MMIO; y
efectuar una lectura directa, por el adaptador de red, de los datos a partir del dispositivo de memorización PCIe en conformidad con la primera dirección de memorización, y transmitir los datos a un segundo sistema de procesamiento de datos, o efectuar una escritura directa de los datos recibidos desde el segundo sistema de procesamiento de datos en el dispositivo de memorización PCIe, 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 por intermedio de una red;
el dispositivo de memorización PCIe obtiene 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; y
la segunda dirección de memorización es una dirección lógica, en donde 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.
15. El método de procesamiento de datos según la reivindicación 14, en donde el método comprende, además:
configurar por el controlador PCIe, un primer registro de direcciones BAR, en donde el primer registro de direcciones BAR memoriza una correspondencia entre la primera dirección de memorización y la segunda dirección de memorización, y la segunda dirección de memorización es una dirección de memorización continua lineal.
16. El método de procesamiento de datos según la reivindicación 14 o 15, en donde el método comprende, además:
configurar, por el controlador PCIe, un segundo registro de direcciones BAR, en donde el segundo registro de direcciones BAR memoriza una correspondencia entre la primera dirección de memorización y una dirección virtual de la segunda dirección de memorización, la segunda dirección de memorización es una dirección de memorización continua no lineal y la dirección virtual de la segunda dirección de memorización es una dirección que se obtiene después de que se realice una puesta en orden lineal sobre la segunda dirección de memorización.
17. El método de procesamiento de datos según cualquiera de las reivindicaciones 14 a 16, en donde la unidad CPU asigna un identificador único a cada dispositivo de memorización PCIe y el identificador único se utiliza para identificar cada dispositivo de memorización PCIe.
18. El método de procesamiento de datos según la reivindicación 17, en donde
la primera información de dirección comprende el identificador único y una dirección de bloque lógico LBA del dispositivo de memorización PCIe.
19. El método de procesamiento de datos según la reivindicación 17, en donde el método comprende, además:
establecer una correspondencia entre el identificador único y una dirección de base en un BAR del dispositivo de memorización PCIe.
20. El método de procesamiento de datos según cualquiera de las reivindicaciones 17 a 19, en donde el identificador único comprende al menos uno de entre un identificador de identidad de vendedor ID Vender, un identificador de identidad de dispositivo, 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 al menos uno de entre el identificador ID Vender, el identificador ID Device y el número de serie del disco duro.
21. El método de procesamiento de datos según la reivindicación 18 o 19, en donde la obtención de una primera dirección de memorización de los datos demandados en el dispositivo de memorización PCIe comprende:
obtener 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 y está incluido en una primera demanda de datos; y
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 incluida en la primera demanda de datos, en donde la primera dirección de memorización es una dirección MMIO.
22. El método de procesamiento de datos según la reivindicación 14 o 21, en donde la unidad CPU registra la primera dirección de memorización obtenida en el adaptador de red.
23. El método de procesamiento de datos según la reivindicación 14 o 21, en donde el método comprende, además:
enviar, por el sistema de procesamiento de datos, la primera dirección de memorización obtenida al segundo sistema de procesamiento de datos.
24. El método de procesamiento de datos según la reivindicación 14 o 22, en donde
el controlador PCIe obtiene una demanda de datos que se envía por el adaptador de red e incluye la primera dirección de memorización, y obtiene datos a partir de una segunda dirección de memorización, y reenvía los datos obtenidos al adaptador de red, o realiza una escritura de los datos enviados por el adaptador de red en la segunda dirección de memorización.
25. El método de procesamiento de datos según la reivindicación 18 o 21, en donde el método comprende, además:
obtener, cuando el sistema de procesamiento de datos recibe una segunda demanda de datos, una dirección de base de los 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 que está incluido 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 los datos procedentes del segundo sistema de procesamiento de datos; y
obtener, de 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.
26. El método de procesamiento de datos según la reivindicación 25, en donde el 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.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP16164174.1A EP3125126B1 (en) | 2013-10-29 | 2013-10-29 | Data processing system and data processing method |
PCT/CN2013/086170 WO2015061971A1 (zh) | 2013-10-29 | 2013-10-29 | 数据处理系统和数据处理的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
ES2779551T3 true ES2779551T3 (es) | 2020-08-18 |
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 Before (1)
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 |
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)
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)
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 |
-
2013
- 2013-10-29 ES ES13882622.7T patent/ES2628328T3/es active Active
- 2013-10-29 WO PCT/CN2013/086170 patent/WO2015061971A1/zh active Application Filing
- 2013-10-29 ES ES16164174T patent/ES2779551T3/es active Active
- 2013-10-29 CN CN201380002065.3A patent/CN103946828B/zh active Active
- 2013-10-29 KR KR1020147032585A patent/KR101670342B1/ko active IP Right Grant
- 2013-10-29 CN CN201710044364.3A patent/CN106933775B/zh active Active
- 2013-10-29 EP EP13882622.7A patent/EP2889780B1/en active Active
- 2013-10-29 EP EP16164174.1A patent/EP3125126B1/en active Active
- 2013-10-29 JP JP2015544331A patent/JP6014271B2/ja active Active
- 2013-10-29 AU AU2013388031A patent/AU2013388031C1/en active Active
-
2014
- 2014-12-11 US US14/567,656 patent/US9459798B2/en active Active
-
2015
- 2015-05-05 US US14/704,735 patent/US9329783B2/en active Active
-
2016
- 2016-09-29 US US15/280,700 patent/US9678918B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
CN103946828A (zh) | 2014-07-23 |
ES2628328T3 (es) | 2017-08-02 |
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 |
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 |
---|---|---|
ES2779551T3 (es) | Sistema de procesamiento de datos y método de procesamiento de datos | |
US10241951B1 (en) | Device full memory access through standard PCI express bus | |
TWI765138B (zh) | 主機系統及其方法和加速模組 | |
CN111258930B (zh) | 仿真端点配置 | |
US10114764B2 (en) | Multi-level paging and address translation in a network environment | |
RU2640648C2 (ru) | Управление ресурсами для доменов высокопроизводительного межсоединения периферийных компонентов | |
US9229892B2 (en) | Shared peripheral component interconnect express (PCIe) end point system with a PCIe switch and method for initializing the same | |
US8949499B2 (en) | Using a PCI standard hot plug controller to modify the hierarchy of a distributed switch | |
US9734115B2 (en) | Memory mapping method and memory mapping system | |
CN110688237B (zh) | 转发报文的方法、中间设备和计算机设备 | |
US9116836B2 (en) | Tunneling transaction packets | |
CN107155307B (zh) | 访问文件的方法、系统和主机 | |
WO2015015652A1 (ja) | サーバ間通信機構を備えるサーバシステムおよびその複数サーバ間における通信方法 |