ES2666580T3 - Método de envío de datos, método de recepción de datos y dispositivo de almacenamiento - Google Patents

Método de envío de datos, método de recepción de datos y dispositivo de almacenamiento Download PDF

Info

Publication number
ES2666580T3
ES2666580T3 ES16177686.9T ES16177686T ES2666580T3 ES 2666580 T3 ES2666580 T3 ES 2666580T3 ES 16177686 T ES16177686 T ES 16177686T ES 2666580 T3 ES2666580 T3 ES 2666580T3
Authority
ES
Spain
Prior art keywords
data
storage device
write
demand
write data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
ES16177686.9T
Other languages
English (en)
Inventor
Ji Ouyang
Ye ZOU
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Application granted granted Critical
Publication of ES2666580T3 publication Critical patent/ES2666580T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/065Replication mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2056Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
    • G06F11/2064Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring while ensuring consistency
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2094Redundant storage or storage space
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1448Management of the data involved in backup or backup restore
    • G06F11/1451Management of the data involved in backup or backup restore by selection of backup contents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1464Management of the backup or restore process for networked environments
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2056Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
    • G06F11/2071Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring using a plurality of controllers
    • G06F11/2074Asynchronous techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2097Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements maintaining the standby controller/processing unit updated
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/82Solving problems relating to consistency
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/84Using snapshots, i.e. a logical point-in-time copy of the data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/885Monitoring specific for caches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1032Reliability improvement, data loss prevention, degraded operation etc
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/46Caching storage objects of specific type in disk cache
    • G06F2212/466Metadata, control data

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Human Computer Interaction (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Retry When Errors Occur (AREA)
  • Computer Security & Cryptography (AREA)

Abstract

Un método para que un primer dispositivo de almacenamiento realice una copia de seguridad de datos en un segundo dispositivo de almacenamiento, que comprende: la obtención (S103), por un procesador del primer dispositivo de almacenamiento, de nuevos datos incluidos en una pluralidad de demandas de datos de escritura de conformidad con un primer número, a partir de una memoria caché del primer dispositivo de almacenamiento, en donde el primer número corresponde a una tarea de copia actual, en donde cada una de las demandas de datos de escritura se incorpora al primer número; la identificación, por el procesador, de un segundo número, en donde el segundo número está asociado con una tarea de copia previa hasta que los datos de demandas de datos de escritura, recibidos por el primer dispositivo de almacenamiento, hayan sido objeto de copia en el segundo dispositivo de almacenamiento; la obtención (S107), por el procesador, a partir de la memoria caché, de datos antiguos de demandas de datos de escritura, memorizados en la memoria caché, que se reciben después de la tarea de copia previa que corresponde al segundo número; y el envío (S108), por el procesador, de los datos nuevos y los datos antiguos a un segundo dispositivo de almacenamiento.

Description

Método de envío de datos, método de recepción de datos y dispositivo de almacenamiento
CAMPO TÉCNICO
La presente invención se refiere a tecnologías de almacenamiento y, en particular, a un método de envío de datos, un método de recepción de datos y un dispositivo de almacenamiento.
ANTECEDENTES DE LA INVENCIÓN
La recuperación de desastres de datos, también conocida como tecnologías de copia distante de datos, se refiere a la configuración de un sistema de datos no local que es una copia disponible de datos locales. Cuando se produce un desastre operativo en datos locales o en un sistema de aplicación completo, al menos se almacena, de forma no local, una copia disponible de los datos de servicio esenciales del sistema.
Un sistema de recuperación de desastres típico de datos incluye un centro de producción y un centro de recuperación de desastres. En el centro de producción, los concentradores hosts y una matriz de almacenamiento se ponen en práctica para la operación normal de los servicios; y, en el centro de recuperación de desastres, los hosts y una matriz de almacenamiento se ponen en práctica para hacerse cargo de los servicios del centro de producción una vez que el centro de producción se encuentra con un desastre operativo. La matriz de almacenamiento del centro de producción o del centro de recuperación de desastres incluye múltiples volúmenes de datos y un volumen de datos es un espacio de almacenamiento lógico formado mediante el mapeo del espacio de almacenamiento físico. Después de que los datos generados por servicios en el centro de producción se escriben en la matriz de producción, los datos se pueden copiar en el centro de recuperación de desastres utilizando un enlace de recuperación de desastres, y se escriben en la matriz de recuperación de desastres. Con el fin de que los datos, en el centro de recuperación de desastres, puedan servir de soporte al control de los servicios después de la ocurrencia de un desastre, se debe garantizar la coherencia de los datos copiados en la matriz de recuperación de desastres. La garantía de coherencia de datos, en esencia, está basada en la dependencia de demandas de escritura de datos, en donde la dependencia necesita garantizarse. Los programas de aplicación, los sistemas operativos y las bases de datos dependen inherentemente de la lógica de esta dependencia de demandas de datos de escritura para ejecutar sus servicios. A modo de ejemplo, la demanda de datos de escritura 2 no se ejecuta hasta que se completa la demanda de datos de escritura 1. El orden es fijo. Es decir, el sistema no entregará la demanda de datos de escritura 2 hasta que se garantice que la demanda de datos de escritura 1 se reenvía de forma satisfactoria y por completo. De este modo, los servicios pueden restablecerse confiando en un método inherente cuando se interrumpe un proceso de ejecución debido a un fallo operativo. De lo contrario, es posible que, a modo de ejemplo, cuando se leen datos, los datos almacenados mediante la demanda de datos de escritura 2 puedan leerse mientras que los datos almacenados mediante la demanda de datos de escritura 1 no puedan leerse y, en consecuencia, los servicios no puedan restablecerse.
En la técnica anterior, se usa una tecnología de captura instantánea para resolver el problema. Una captura instantánea es una imagen de datos en un punto temporal (punto temporal cuando se inicia la copia). La finalidad de una captura instantánea es crear una vista de estado para un volumen de datos en un punto temporal específico. A partir de esta vista, solamente se pueden ver los datos del volumen de datos en el momento de la creación, mientras que las modificaciones (se escriben datos nuevos) en el volumen de datos, después del punto temporal, no se reflejan en la vista de captura instantánea. Mediante el uso de esta vista de captura instantánea, se puede poner en práctica la copia de datos. Para el centro de producción, los datos de la captura instantánea son "estáticos". De este modo, el centro de producción puede copiar datos de captura instantánea en el centro de recuperación de desastres después de que se toma una captura instantánea de datos en cada punto temporal. Lo que antecede no solamente pone en práctica la copia distante de datos, sino que no afecta la realización de una demanda posterior de datos de escritura en el centro de producción. Para el centro de recuperación de desastres, también se puede cumplir el requisito de coherencia de los datos. A modo de ejemplo, cuando los datos de la demanda de datos de escritura 2 se copian, de forma satisfactoria, en el centro de recuperación de desastres, mientras los datos de la demanda de datos de escritura 1 no se copian satisfactoriamente, se pueden utilizar los datos de captura instantánea antes de la demanda de datos de escritura 2 con el fin de restablecer los datos en el centro de recuperación de desastres a un estado anterior.
Puesto que el centro de producción necesita procesar una captura instantánea cuando se ejecuta una demanda de datos de escritura, y almacenar los datos de captura instantánea generados en un volumen de datos dedicado para el almacenamiento de datos de captura instantánea, cuando el centro de producción copia los datos de la captura instantánea para el centro de recuperación de desastres, es necesario efectuar la lectura de los datos de la captura instantánea memorizados en el volumen de datos en una memoria caché y luego, enviar los datos de la captura instantánea al centro de recuperación de desastres. Sin embargo, los datos utilizados para generar los datos de la captura instantánea pueden existir todavía en la memoria caché, pero no se pueden utilizar correctamente. Cada copia requiere la lectura de datos de captura instantánea del volumen de datos, lo que da como resultado una larga copia de datos y una baja eficiencia.
El documento CN102306115A se refiere a un método, sistema y dispositivo de copia distante asíncrono.
El documento CN101751230A se refiere a un método y a un dispositivo para etiquetar una marca temporal de datos de I/O (entrada/salida).
El documento EP1624376A se refiere a un sistema de almacenamiento que comprende una zona de almacenamiento de conjuntos de datos o que memoriza un conjunto de datos que contiene datos y datos actualizados para gestionar estos datos, y una sección de control.
El documento US2005/235121A se refiere a un método de copia distante y un aparato de copia distante.
SUMARIO DE LA INVENCIÓN
Una forma de realización de la presente invención, que se define en detalle en las reivindicaciones independientes 1 y 3 adjuntas, da a conocer un método de envío de datos, en donde la información incluida en una demanda de datos de escritura se puede enviar a un segundo dispositivo de almacenamiento directamente a partir de una memoria caché de un primer dispositivo de almacenamiento, lo que aumenta la eficacia de la copia de datos.
En un primer aspecto de la idea inventiva, una forma de realización de la presente invención da a conocer un método de envío de datos, que incluye:
la recepción, por un primer dispositivo de almacenamiento, de una primera demanda de datos de escritura enviada por un host, en donde la primera demanda de datos de escritura incluye los datos objeto de escritura y la información de dirección;
la adición de un primer número a los datos objeto de escritura y la información de dirección, y realizar la escritura de los datos, objeto de escritura, y la información de dirección, en la que se añade el primer número, en donde el primer número es un número de período de tiempo actual;
la lectura de los datos objeto de escritura y la información de dirección correspondiente al primer número desde la memoria caché;
la modificación del número de período de tiempo actual con el fin de identificar la información incluida en una demanda de datos de escritura subsiguiente; y
el envío de los datos objeto de escritura y la información de dirección a un segundo dispositivo de almacenamiento.
En una primera manera de puesta en práctica posible del primer aspecto de la forma de realización de la presente invención, el primer número se utiliza para identificar una tarea de copia actual y el método incluye, además:
el registro un segundo número, en donde el segundo número es un número correspondiente a la última tarea de copia terminada antes de la tarea de copia actual.
Con referencia a la primera manera de puesta en práctica posible del primer aspecto de la forma de realización de la presente invención, en una segunda manera de puesta en práctica posible del primer aspecto, el método incluye, además:
la lectura, desde la memoria caché, de los datos objeto de escritura y la información de dirección correspondiente a un número que sigue al segundo número y que precede al primer número; y
el envío de los datos objeto de escritura y la información de dirección correspondiente al número que sigue al segundo número y que precede al primer número hacia el segundo dispositivo de almacenamiento.
En una tercera manera de puesta en práctica posible del primer aspecto de la forma de realización de la presente invención, el método incluye, además: el registro del número de período de tiempo actual, en donde el número de período de tiempo actual se utiliza para generar el primer número.
En un segundo aspecto de la idea inventiva, una forma de realización de la presente invención da a conocer un método de recepción de datos, que comprende:
la recepción, por un segundo dispositivo de almacenamiento, de información de dirección enviada por un primer dispositivo de almacenamiento;
cuando se determina que el primer dispositivo de almacenamiento ha fallado, la obtención, por el segundo dispositivo de almacenamiento, de conformidad con la información de dirección, de los datos objeto de escritura, que
corresponden a un primer número, en donde la información de dirección, correspondiente al primer número, es la misma que la información de dirección recibida, y el primer número es un número que precede un número de período de tiempo actual; y
la adición de un segundo número a los datos objeto de escritura y la información de dirección correspondiente al primer número y efectuar la escritura de la información en una memoria caché.
En una primera manera de puesta en práctica posible del segundo aspecto de la forma de realización de la presente invención, el método incluye, además: el registro del número de período de tiempo actual, en donde el número de período de tiempo actual se utiliza para generar el segundo número.
En una segunda manera de puesta en práctica posible del segundo aspecto de la forma de realización de la presente invención, el método comprende, además:
la recepción de una demanda de datos de lectura, enviada por un host, en donde la demanda de datos de lectura incluye la información de dirección recibida;
la determinación de que un último número, que corresponde a la información de dirección recibida, es el segundo número; y
el envío de los datos objeto de escritura, que corresponden al segundo número, al host.
En un tercer aspecto de la idea inventiva, una forma de realización de la presente invención da a conocer un dispositivo de almacenamiento, que incluye:
un módulo de recepción, configurado para recibir una primera demanda de datos de escritura enviada por un host, en donde la primera demanda de datos de escritura incluye los datos objeto de escritura y la información de dirección;
un módulo de lectura y escritura, configurado para añadir un primer número a los datos objeto de escritura y la información de dirección, y realizar la escritura de los datos objeto de escritura y la información de dirección, que se añaden al primer número a una memoria caché, en donde el primer número es un número de período de tiempo actual; y realizar la lectura de los datos objeto de escritura y la información de dirección, que corresponden al primer número de la memoria caché;
un gestor de número de período de tiempo actual, configurado para modificar el número de período de tiempo actual para identificar la información incluida en una demanda de datos de escritura posterior; y
un módulo de envío, configurado para enviar los datos objeto de escritura y la información de dirección a un segundo dispositivo de almacenamiento.
En una primera manera de puesta en práctica posible del tercer aspecto de la forma de realización de la presente invención, el primer número se utiliza para identificar una tarea de copia actual; y
el gestor de número de período de tiempo actual está, además, configurado para registrar un segundo número, en donde el segundo número es un número correspondiente a la última tarea de copia completada antes de la tarea de copia actual.
Con referencia a la primera manera de puesta en práctica posible del tercer aspecto de la forma de realización de la presente invención, en una segunda manera de puesta en práctica posible del tercer aspecto, el módulo de lectura y escritura está configurado, además, para leer, desde la memoria caché, los datos objeto de escritura y la información de dirección, que corresponde a un número que sigue al segundo número y que precede al primer número; y
el módulo de envío está configurado, además, para enviar los datos objeto de escritura y la información de dirección correspondiente al número que sigue al segundo número y que precede al primer número, hacia el segundo dispositivo de almacenamiento.
En una tercera manera de puesta en práctica posible del tercer aspecto de la forma de realización de la presente invención, el gestor de número de período de tiempo actual está configurado, además, para registrar el número de período de tiempo actual, en donde el número de período de tiempo actual se utiliza para generar el primer número.
En un cuarto aspecto de la idea inventiva, una forma de realización de la presente invención da a conocer un dispositivo de almacenamiento, que incluye:
un módulo de recepción, configurado para recibir información de dirección enviada por un primer dispositivo de almacenamiento;
un módulo de búsqueda, configurado para: cuando se determina que el primer dispositivo de almacenamiento ha fallado, obtener, de conformidad con la información de dirección, datos objeto de escritura correspondientes a un primer número, en donde la información de dirección correspondiente al primer número es la misma que la información de dirección recibida, y el primer número es un número que precede a un número de período de tiempo actual; y
un módulo de escritura, configurado para añadir un segundo número a los datos objeto de escritura y la información de dirección correspondiente al primer número y para escribir la información en una memoria caché.
En una primera manera de puesta en práctica posible del cuarto aspecto de la forma de realización de la presente invención, el dispositivo de almacenamiento comprende, además:
un gestor de número de período de tiempo actual, configurado para registrar el número de período de tiempo actual, en donde el número del período de tiempo actual se utiliza para generar el segundo número.
En una segunda manera de puesta en práctica posible del cuarto aspecto de la forma de realización de la presente invención, el módulo de recepción está configurado, además, para recibir una demanda de datos de lectura que se envía por un host, en donde la demanda de datos de lectura incluye la información de dirección recibida;
el módulo de búsqueda está configurado, además, para determinar que un último número correspondiente a la información de dirección recibida es el segundo número; y
el dispositivo de almacenamiento incluye, además, un módulo de envío, en donde el módulo de envío está configurado para enviar datos objeto de escritura, que corresponden al segundo número, al host.
En un quinto aspecto de la idea inventiva, una forma de realización de la presente invención da a conocer un dispositivo de almacenamiento, que incluye un procesador, una memoria y un bus de comunicaciones,
En donde, el procesador y la memoria se comunican utilizando el bus de comunicaciones;
la memoria está configurada para memorizar un programa; y
el procesador está configurado para realizar el programa para poner en práctica:
la recepción de una primera demanda de datos de escritura enviada por un host, en donde la primera demanda de datos de escritura incluye los datos objeto de escritura y la información de dirección; la adición de un primer número a los datos objeto de escritura y la información de dirección, y escribir los datos, objeto de escritura, y la información de dirección que se añaden el primer número, en una memoria caché, en donde el primer número es un número de período de tiempo actual; la lectura de los datos objeto de escritura y la información de dirección correspondiente al primer número, desde la memoria caché; la modificación del número de período de tiempo actual para identificar la información incluida en una demanda de datos de escritura posterior; y enviar los datos, objeto de escritura, y la información de dirección, a un segundo dispositivo de almacenamiento.
En una primera manera de puesta en práctica posible del quinto aspecto de la forma de realización de la presente invención, el primer número se utiliza para identificar una tarea de copia actual y el procesador está configurado, además, para:
el registro de un segundo número, en donde el segundo número es un número correspondiente a la última tarea de copia completada antes de la tarea de copia actual.
Con referencia a la primera manera de puesta en práctica posible del quinto aspecto de la forma de realización de la presente invención, en una segunda manera de puesta en práctica posible del quinto aspecto, el procesador está configurado, además, para leer, desde la memoria caché, los datos objeto de escritura y la información de dirección correspondiente a un número que sigue al segundo número y que precede al primer número, y para enviar los datos objeto de escritura y la información de dirección correspondiente al número que sigue al segundo número y que precede al primer número, al segundo dispositivo de almacenamiento.
En una tercera manera de puesta en práctica posible del quinto aspecto de la forma de realización de la presente invención, el procesador está configurado, además, para registrar el número de período de tiempo actual, en donde el número de período de tiempo actual se utiliza para generar el primer número.
En un sexto aspecto de la idea inventiva, una forma de realización de la presente invención da a conocer un dispositivo de almacenamiento, que incluye un procesador, una memoria y un bus de comunicaciones,
en donde, el procesador y la memoria se comunican utilizando el bus de comunicaciones;
la memoria está configurada para memorizar un programa; y
el procesador está configurado para ejecutar el programa para poner en práctica:
la recepción de información de dirección, que se envía por un primer dispositivo de almacenamiento;
cuando se determina que el primer dispositivo de almacenamiento ha fallado, la obtención, por un segundo dispositivo de almacenamiento, de conformidad con la información de dirección, de datos objeto de escritura correspondientes a un primer número, en donde la información de dirección correspondiente al primer número es la misma que la información de dirección recibida, y el primer número es un número que precede un número de período de tiempo actual; y
la adición de un segundo número a los datos objeto de escritura y la información de dirección correspondiente al primer número y escribir la información en una memoria caché.
En una primera manera de puesta en práctica posible del sexto aspecto de la forma de realización de la presente invención, el procesador está configurado, además, para registrar el número de período de tiempo actual, en donde el número de período de tiempo actual se utiliza para generar el segundo número.
En una segunda manera de puesta en práctica posible del sexto aspecto de la forma de realización de la presente invención, el procesador está configurado, además, para recibir una demanda de datos de lectura enviada por un host, en donde la demanda de datos de lectura incluye la información de dirección recibida; determinar que un último número, correspondiente a la información de dirección recibida, es el segundo número; y para enviar los datos objeto de escritura, que corresponden al segundo número, al host.
En las formas de realización de la presente invención, después de que un primer dispositivo de almacenamiento recibe una demanda de datos de escritura enviada por un host, en donde la información contenida en la demanda de datos de escritura incluye datos objeto de escritura e información de dirección, el primer dispositivo de almacenamiento añade una primer número a los datos objeto de escritura y la información de dirección, y escribe la información en la memoria caché, en donde el primer número es un número de período de tiempo actual. Cuando se inicia operativamente una tarea de copia, el primer dispositivo de almacenamiento lee los datos objeto de escritura y la información de dirección correspondiente al primer número de la memoria caché, y envía la información al segundo dispositivo de almacenamiento. Además, cuando se inicia operativamente una tarea de copia, el primer dispositivo de almacenamiento modifica el número de período de tiempo actual, de modo que el primer dispositivo de almacenamiento, cuando recibe una demanda de datos de escritura posteriormente, añade el mismo número que el número de período de tiempo actual modificado a la información incluida en la demanda de datos de escritura. De ese modo, en la memoria caché, la información incluida en una demanda de datos de escritura, que ha de enviarse al segundo dispositivo de almacenamiento, se distingue de la información incluida en una demanda de datos de escritura, que se recibe por el primer dispositivo de almacenamiento. Lo que antecede pone en práctica el envío directo de información incluida en una demanda de datos de escritura desde la memoria caché al segundo dispositivo de almacenamiento. Puesto que la información se envía directamente desde la memoria caché, sin la necesidad de realizar su lectura desde un volumen de datos, el tiempo de copia de datos es corto, lo que aumenta la eficacia de la copia de datos.
BREVE DESCRIPCIÓN DE LOS DIBUJOS
Con el fin de ilustrar 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 introducen brevemente los dibujos adjuntos requeridos para describir las formas de realización o la técnica anterior. Evidentemente, los dibujos adjuntos, en la siguiente descripción, ilustran algunas formas de forma de realización de la presente invención, y expertos en la técnica pueden derivar todavía otros dibujos a partir de estos dibujos adjuntos, sin necesidad de esfuerzos creativos.
La Figura 1 es un diagrama esquemático de la arquitectura de red de aplicación de un método de envío de datos de conformidad con una forma de realización de la presente invención;
La Figura 2 es un diagrama de flujo de un método de envío de datos de conformidad con una forma de realización de la presente invención;
La Figura 3 es un diagrama de flujo de un método de recepción de datos de conformidad con una forma de realización de la presente invención;
La Figura 4 es un diagrama de flujo de señalización de un método de envío de datos de conformidad con una forma de realización de la presente invención;
La Figura 5 es un diagrama estructural esquemático de un dispositivo de almacenamiento de conformidad con una
forma de realización de la presente invención;
La Figura 6 es un diagrama estructural esquemático de otro dispositivo de almacenamiento de conformidad con una forma de realización de la presente invención;
La Figura 7 es un diagrama estructural esquemático de otro dispositivo de almacenamiento de conformidad con una forma de realización de la presente invención;
La Figura 8 es un diagrama estructural esquemático de otro dispositivo de almacenamiento de conformidad con una forma de realización de la presente invención;
La Figura 9 es un diagrama esquemático de otra arquitectura de red de aplicación de un método de envío de datos de conformidad con una forma de realización de la presente invención;
La Figura 10 es un diagrama de flujo de un método de copia de datos de conformidad con una forma de realización de la presente invención;
La Figura 11 es un diagrama estructural esquemático de otro dispositivo de almacenamiento de conformidad con una forma de realización de la presente invención; y
La Figura 12 es un diagrama estructural esquemático de otro dispositivo de almacenamiento de conformidad con una forma de realización de la presente invención.
DESCRIPCIÓN DETALLADA DE FORMAS DE FORMA DE REALIZACIÓN
Para hacer más comprensibles los objetivos, las soluciones técnicas y las ventajas de las formas de realización de la presente invención, a continuación, se describen, de forma clara y completa las soluciones técnicas en las formas de realización de la presente invención con referencia a los dibujos adjuntos en las formas de realización de la presente invención. Evidentemente, las formas de realización descritas son simplemente una parte en lugar de la totalidad de las formas de realización de la presente invención. Todas las demás formas de forma de realización obtenidas por expertos en la técnica, sobre la base de las formas de realización de la presente invención, sin esfuerzos creativos, caerán dentro del alcance de protección de la presente invención.
Un método de envío de datos dado a conocer en una forma de realización de la presente invención puede ponerse en práctica en un dispositivo de almacenamiento. La Figura 1 es un diagrama esquemático de la arquitectura del sistema de un método de envío de datos dado a conocer en una forma de realización de la presente invención. Tal como se ilustra en la Figura 1, un centro de producción incluye hosts de producción, un dispositivo de conexión y una matriz de producción (que corresponden a un primer dispositivo de almacenamiento en las siguientes formas de realización); y una arquitectura de sistema de un centro de recuperación de desastres es similar a la del centro de producción, incluyendo hosts de recuperación de desastres, un dispositivo de conexión y una matriz de recuperación de desastres (correspondientes a un segundo dispositivo de almacenamiento en las siguientes formas de realización). En la forma de realización de la presente invención, puede existir más de un centro de recuperación de desastres. El centro de producción y el centro de recuperación de desastres pueden transmitir datos a través de IP (Protocolo Internet) o FC (Canal de Fibra). Puede existir un centro de control entre el centro de producción y el centro de recuperación de desastres.
El centro de control puede ponerse en práctica en el lado del centro de producción o en el lado del centro de recuperación de desastres, o realizarse en un dispositivo de terceros, entre el centro de producción y el centro de recuperación de desastres. El centro de control está configurado para enviar una señal a la matriz de recuperación de desastres cuando la matriz de producción está en condición de fallo, de modo que la matriz de recuperación de desastres asuma los servicios de host de la matriz de producción.
Los hosts de producción y los hosts de recuperación de desastres pueden ser cualquier dispositivo informático conocido en la técnica anterior, tal como servidores y ordenadores de sobremesa. En el interior de un host, se instalan un sistema operativo y otros programas de aplicación.
El dispositivo de conexión puede incluir cualquier interfaz conocida en la técnica anterior, entre un dispositivo de almacenamiento y un host, tal como un conmutador de fibra u otros conmutadores actualmente disponibles.
La matriz de producción y la matriz de recuperación de desastres pueden ser ambas un dispositivo de almacenamiento conocido en la técnica anterior, tal como una unidad de disco que se forma por una o más Matriz Redundante de Discos Independientes (RAID), Apenas un Grupo de Discos (JBOD), y una o más unidades de disco interconectadas, tal como una biblioteca de cintas o un dispositivo de almacenamiento en cinta de una o más unidades de almacenamiento, en donde la una o más unidades de disco interconectadas son de un Dispositivo de Almacenamiento de Acceso Directo (DASD).
El espacio de almacenamiento de la matriz de producción puede incluir múltiples volúmenes de datos. Un volumen de datos es un espacio de almacenamiento lógico formado al realizar el mapeado del espacio de almacenamiento físico. A modo de ejemplo, un volumen de datos puede ser un Número de Unidad Lógica (LUN) o un sistema de ficheros. En esta forma de realización de la presente invención, la matriz de recuperación de desastres tiene una estructura similar a la matriz de producción.
Con referencia a la Figura 1, la Figura 1 ilustra un método de envío de datos de conformidad con una forma de realización de la presente invención. Esta forma de realización de la presente invención se aplica en un primer dispositivo de almacenamiento, en donde el primer dispositivo de almacenamiento incluye un controlador, una memoria caché (en adelante denominada como memoria caché o caché) y un medio de almacenamiento. El controlador es un procesador del primer dispositivo de almacenamiento y está configurado para ejecutar órdenes de IO (entrada/salida) y otros servicios de datos. La memoria caché es una memoria situada entre el controlador y un disco duro, con una capacidad menor pero una velocidad mucho mayor que un disco duro. El soporte de almacenamiento es una memoria primaria del primer dispositivo de almacenamiento, que suele ser un soporte de almacenamiento no volátil, tal como un disco magnético. En la forma de realización de la presente invención, todo el espacio de almacenamiento físico, incluido en el primer dispositivo de almacenamiento, se denomina como el soporte de almacenamiento. Más concretamente, las siguientes etapas se pueden realizar por el controlador en el primer dispositivo de almacenamiento.
Etapa S101: El primer dispositivo de almacenamiento recibe una primera demanda de datos de escritura enviada por un host, en donde la primera demanda de datos de escritura incluye datos objeto de escritura y la información de dirección.
La información de dirección puede incluir una Dirección de Unidad Lógica (LBA). Cuando el primer dispositivo de almacenamiento incluye múltiples volúmenes de datos, la información de dirección puede incluir, además, un identificador ID de un volumen de datos del primer dispositivo de almacenamiento.
Etapa S102: La adición de un primer número a los datos objeto de escritura y la información de dirección, y realizar la escritura de los datos objeto de escritura y la información de dirección en la memoria caché, en donde el primer número es un número de período de tiempo actual.
El primer dispositivo de almacenamiento puede incluir un gestor de número de período de tiempo actual, y el gestor de número de período de tiempo actual memoriza el número de período de tiempo actual. El número del período de tiempo actual puede ser un valor numérico, tal como 0, 1 o 2, o una letra, tal como a, b, c, lo que no está aquí limitado.
Cuando se recibe la primera demanda de datos de escritura, se añade un primer número a los datos objeto de escritura y la información de dirección que se incluye en la primera demanda de datos de escritura, en donde el primer número es un valor asignado por el número de período de tiempo actual.
Después de que se añada el primer número a la información incluida en la primera demanda de datos de escritura, la información modificada, incluida en la primera demanda de datos de escritura, se escribe en la memoria caché, de modo que los datos objeto de escritura, la información de dirección y el primer número, que se incluyen en la primera demanda de datos de escritura, se memoricen en la memoria caché.
Además, dentro de un período de tiempo, también se puede recibir otra demanda de datos de escritura, y es también necesario, además, añadir el primer número a la información incluida en la demanda de datos de escritura y escribir la información en la memoria caché. Debe tenerse en cuenta que, antes de que cambie el número de período de tiempo actual, el primer número se añade a la información incluida en todas las demandas de datos de escritura.
Etapa S103: Realizar la lectura de los datos objeto de escritura y la información de dirección, correspondiente al primer número, desde la memoria caché.
Cuando se inicia operativamente una tarea de copia, el primer dispositivo de almacenamiento puede leer los datos objeto de escritura y la información de dirección correspondiente al primer número, desde la memoria caché. Debe entenderse que pueden existir múltiples elementos de datos objeto de escritura e información de dirección, que corresponde al primer número.
Una tarea de copia significa que el primer dispositivo de almacenamiento envía información incluida en demandas de datos de escritura, que se reciben por un volumen de datos dentro de un período de tiempo, a un segundo dispositivo de almacenamiento, en donde se añade un mismo número al número de período de tiempo actual para la información contenida en todas las demandas de datos de escritura. Una tarea de copia puede ser activada por un temporizador, o activada manualmente, lo que no está aquí limitado. La finalidad de la copia es enviar los datos objeto de escritura, incluidos en demandas de datos de escritura, que se reciben por el primer dispositivo de almacenamiento, al segundo dispositivo de almacenamiento, de modo que el segundo dispositivo de
almacenamiento pueda asumir la función del primer dispositivo de almacenamiento, cuando el primer dispositivo de almacenamiento está en condición de fallo. Ha de entenderse que la información de dirección (tal como una dirección LBA) incluida en la demanda de datos de escritura, necesita, además, enviarse al segundo dispositivo de almacenamiento, en donde la dirección LBA se utiliza para indicar una dirección en la que el segundo dispositivo de almacenamiento memoriza los datos objeto de escritura. Debido al hecho de que el segundo dispositivo de almacenamiento tiene la misma estructura física que el primer dispositivo de almacenamiento, una dirección LBA aplicable al primer dispositivo de almacenamiento también es aplicable al segundo dispositivo de almacenamiento.
En la forma de realización de la presente invención, una tarea de copia es específica para un volumen de datos del primer dispositivo de almacenamiento. Cuando el primer dispositivo de almacenamiento incluye múltiples volúmenes de datos, cada volumen de datos corresponde a una sola tarea de copia.
Etapa S104: La modificación del número de período de tiempo actual con el fin de identificar la información incluida en una demanda de datos de escritura posterior.
Cuando se inicia operativamente una tarea de copia, el gestor de número de período de tiempo actual necesita modificar el número de período de tiempo actual. Cuando se recibe una demanda de datos de escritura posterior, se debe añadir otro número a la información incluida en la demanda de datos de escritura posterior, en donde el otro número es un valor asignado por el número de período de tiempo actual modificado. De ese modo, en la memoria caché, información incluida en una demanda de datos de escritura, que ha de enviarse al segundo dispositivo de almacenamiento, se puede distinguir de la información incluida en una demanda de datos de escritura que es recibida por el primer dispositivo de almacenamiento.
Debe entenderse que la etapa S103 y la etapa S104 no están sujetas a una secuencia temporal.
Paso S105: El envío de los datos objeto de escritura e información de dirección al segundo dispositivo de almacenamiento.
El primer dispositivo de almacenamiento envía los datos objeto de escritura y la información de dirección, correspondiente al primer número, y objeto de lectura desde la memoria caché, hacia el segundo dispositivo de almacenamiento.
Más concretamente, el primer dispositivo de almacenamiento puede enviar, directamente, todos los datos leídos objeto de escritura y la información de dirección al segundo dispositivo de almacenamiento. O bien, el primer dispositivo de almacenamiento puede, después de obtener los identificadores IDs de volúmenes de datos del segundo dispositivo de almacenamiento, generar nuevas demandas de datos de escritura, de conformidad con los datos objeto de escritura y la información de dirección incluida en cada demanda de datos de escritura y los identificadores IDs de los volúmenes de datos del segundo dispositivo de almacenamiento y, a continuación, enviar las nuevas demandas de datos de escritura al segundo dispositivo de almacenamiento.
En la forma de realización de la presente invención, después de que el primer dispositivo de almacenamiento recibe una demanda de datos de escritura enviada por un host, en donde la información incluida en la demanda de datos de escritura incluye datos objeto de escritura e información de dirección, el primer dispositivo de almacenamiento añade un primer número a los datos objeto de escritura y la información de dirección, y realiza la escritura de la información en la memoria caché, en donde el primer número es un número de período de tiempo actual. Cuando se inicia operativamente una tarea de copia, el primer dispositivo de almacenamiento lee los datos objeto de escritura y la información de dirección, correspondiente al primer número, desde la memoria caché, y envía la información al segundo dispositivo de almacenamiento. Además, cuando se inicia operativamente una tarea de copia, el primer dispositivo de almacenamiento modifica el número de período de tiempo actual, de modo que el primer dispositivo de almacenamiento, cuando recibe una demanda de datos de escritura posterior, añade un número igual que el número de período de tiempo actual modificado a la información incluida en la demanda de datos de escritura.
De este modo, en la memoria caché, la información incluida en una demanda de datos de escritura, que ha de enviarse al segundo dispositivo de almacenamiento, se distingue de la información incluida en una demanda de datos de escritura que se recibe por el primer dispositivo de almacenamiento. Lo que antecede pone en práctica el envío directo de información incluida en una demanda de datos de escritura, desde la memoria caché al segundo dispositivo de almacenamiento. Puesto que la información se envía, directamente, desde la memoria caché sin la necesidad de efectuar su lectura, desde un volumen de datos, el tiempo de copia de datos es corto, lo que aumenta la eficacia de la copia de datos.
Debe entenderse que, en la forma de realización anterior, cuando se inicia operativamente una tarea de copia, el primer dispositivo de almacenamiento envía los datos objeto de escritura y la información de dirección, correspondiente al número de período de tiempo actual, al segundo dispositivo de almacenamiento, y modifica, además, el número de período de tiempo actual con el fin de identificar la información incluida en una demanda de datos de escritura posterior. Cuando se inicia, posteriormente, una tarea de copia, el primer dispositivo de almacenamiento envía los datos objeto de escritura y la información de dirección, correspondiente al número de
período de tiempo actual modificado, al segundo dispositivo de almacenamiento, y modifica, de nuevo, el número de período de tiempo actual. Esto garantiza que el primer dispositivo de almacenamiento envíe la totalidad de la información incluida en las demandas de datos de escritura recibidas al segundo dispositivo de almacenamiento en un lote.
Sin embargo, cuando existen múltiples centros de recuperación de desastres, suponiendo que un dispositivo de almacenamiento, correspondiente a un segundo centro de recuperación de desastres, es un tercer centro de almacenamiento, el primer dispositivo de almacenamiento necesita, además, enviar información incluida en demandas de datos de escritura recibidas por el primer dispositivo de almacenamiento al tercer dispositivo de almacenamiento. Para el segundo dispositivo de almacenamiento, cuando se inicia una tarea de copia, el gestor de número de período de tiempo actual modificará el número de período de tiempo actual. En este momento, el número asignado por el número de período de tiempo actual, al segundo dispositivo de almacenamiento, y el asignado al tercer dispositivo de almacenamiento, son ambos los números modificados. Sin embargo, la información incluida en las demandas de datos de escritura, correspondiente al número anterior al número de período de tiempo actual se modifican; sin embargo, no ha sido enviado al tercer dispositivo de almacenamiento.
Por lo tanto, en un escenario operativo de múltiples centros de recuperación de desastres, la forma de realización anterior puede incluir, además, las etapas siguientes:
Etapa S106: El registro de un segundo número, en donde el segundo número es un número correspondiente a la última tarea de copia completada antes de una tarea de copia actual.
En la forma de realización anterior, el primer número es el mismo que el número de período de tiempo actual y se puede utilizar para identificar la tarea de copia actual. La tarea de copia actual significa que el primer dispositivo de almacenamiento envía la información incluida en demandas de datos de escritura, recibidas por un volumen de datos dentro del período de tiempo actual, al segundo dispositivo de almacenamiento, en donde un número igual que el número de período de tiempo actual se añade a la información incluida en todas las demandas de datos de escritura.
El segundo número es un número correspondiente a la última tarea de copia completada antes de la tarea de copia actual.
Cuando existen múltiples centros de recuperación de desastres, el número de período de tiempo actual puede modificarse cuando se inicia una tarea de copia en un dispositivo de almacenamiento en otro centro de recuperación de desastres. Por lo tanto, es necesario registrar el número correspondiente a una tarea de copia completada previamente.
Si existe otro número entre el segundo número y el primer número, la información incluida en una demanda de datos de escritura correspondiente a este número no se envía al segundo dispositivo de almacenamiento y debe realizarse la etapa S107.
Etapa S107: Realizar la lectura, desde la memoria caché, de los datos objeto de escritura y la información de dirección correspondiente a un número que sigue al segundo número y que precede al primer número.
El proceso de lectura específico es similar a la etapa S103, por lo que no se describirá aquí de nuevo.
Debe entenderse que la etapa S107 y la etapa S103 pueden no estar sujetas a una secuencia temporal y se pueden ejecutar de forma simultánea.
Etapa S108: El envío de los datos objeto de escritura y la información de dirección, correspondiente al número que sigue al segundo número y que precede al primer número, al segundo dispositivo de almacenamiento.
El proceso de envío específico es similar a la etapa S105, por lo que no se describirá aquí de nuevo.
En la forma de realización de la presente invención, no solamente la información incluida en demandas de datos de escritura correspondiente al número de período de tiempo actual, se envía al segundo dispositivo de almacenamiento, sino también la información incluida en demandas de datos de escritura correspondiente a un número entre el número correspondiente a la tarea de copia completada previamente y el número del período de tiempo actual, se envía al segundo dispositivo de almacenamiento. Lo que antecede es aplicable a un escenario operativo de múltiples centros de recuperación de desastres y garantiza la integridad de la copia de datos.
Haciendo referencia a la Figura 2, la Figura 2 ilustra una forma de realización de un método de recepción de datos según la presente invención. La forma de realización de la presente invención es aplicable a un escenario operativo en el que un centro de recuperación de desastres recibe información incluida en una demanda de datos de escritura, que se envía por un centro de producción. El método puede incluir las etapas siguientes:
Etapa S201: Un segundo dispositivo de almacenamiento recibe información de dirección enviada por un primer dispositivo de almacenamiento.
Más concretamente, el segundo dispositivo de almacenamiento puede recibir datos objeto de escritura y la información de dirección enviada por el primer dispositivo de almacenamiento; o bien, el segundo dispositivo de almacenamiento puede recibir una demanda de datos de escritura que se envía por el primer dispositivo de almacenamiento, en donde la demanda de datos de escritura incluye datos objeto de escritura e información de dirección, en donde la información de dirección puede ser una Dirección de Unidad Lógica (LBA). Cuando el segundo dispositivo de almacenamiento incluye múltiples volúmenes de datos, la información de dirección puede incluir, además, un identificador ID de un volumen de datos del segundo dispositivo de almacenamiento. Debe entenderse que pueda existir más de un elemento de información de dirección.
Después de recibir los datos objeto de escritura y la información de dirección, el segundo dispositivo de almacenamiento añade un número igual al número de período de tiempo actual, a los datos objeto de escritura y la información de dirección, y escribe la información en una memoria caché, de modo que el número igual al número de período de tiempo actual, los datos objeto de escritura y la información de dirección, se memoricen en la memoria caché.
Conviene señalar que el segundo dispositivo de almacenamiento incluye, además, un gestor de número de período de tiempo actual, y el gestor de número de intervalo de tiempo memoriza el número de período de tiempo actual. El número del período de tiempo actual puede ser un valor numérico, tal como 0, 1 o 2, o una letra, tal como a, b, c, lo que no se limita en este documento. El número de período de tiempo actual aquí puede no tener relación con el número de período de tiempo actual en el primer dispositivo de almacenamiento.
Etapa S202: Cuando se determina que el primer dispositivo de almacenamiento ha fallado, el segundo dispositivo de almacenamiento obtiene, de conformidad con la información de dirección, datos objeto de escritura correspondientes a un primer número, en donde la información de dirección, correspondiente al primer número, es la misma que la información de dirección recibida, y el primer número es un número que precede al número del período de tiempo actual.
En general, si tanto el primer dispositivo de almacenamiento como el segundo dispositivo de almacenamiento funcionan con normalidad, el segundo dispositivo de almacenamiento puede recibir información incluida en todas las demandas de datos de escritura enviadas por el primer dispositivo de almacenamiento, añadir un número igual al número de período de tiempo actual a información incluida en cada demanda de datos de escritura, y memorizar la información en la memoria caché. Sin embargo, si el primer dispositivo de almacenamiento está en condición de fallo, el segundo dispositivo de almacenamiento podrá, posiblemente, recibir solamente una parte de los datos objeto de escritura, correspondientes al número de período de tiempo actual, del primer dispositivo de almacenamiento. En este caso, los datos almacenados por el segundo dispositivo de almacenamiento son posiblemente falsos, y si el segundo dispositivo de almacenamiento asume la función del primer dispositivo de almacenamiento directamente, no se puede garantizar la coherencia de los datos. A modo de ejemplo, si un host envía una demanda de datos de lectura al segundo dispositivo de almacenamiento en este momento, solicitando la lectura de datos almacenados en la información de dirección, el segundo dispositivo de almacenamiento buscará un último número correspondiente a la información de dirección y a continuación, enviará datos objeto de escritura, que corresponden al número de período de tiempo actual, hacia el host, sin embargo, los datos son falsos. Por lo tanto, en este caso, es necesario restablecer los datos correspondientes a un número que precede al número de período de tiempo actual, del segundo dispositivo de almacenamiento, a partir de los datos almacenados en la memoria caché del segundo dispositivo de almacenamiento.
Más concretamente, el hecho de que el primer dispositivo de almacenamiento haya fallado se puede determinar de una manera en la que un centro de control envía una señal al segundo dispositivo de almacenamiento, en donde la señal se utiliza para indicar que el primer dispositivo de almacenamiento ha fallado y que el segundo dispositivo de almacenamiento necesita asumir los servicios de host del primer dispositivo de almacenamiento.
En general, cuando se completa una tarea de copia, el centro de control puede enviar una indicación de éxito de copia tanto al primer dispositivo de almacenamiento, como al segundo dispositivo de almacenamiento. Si el segundo dispositivo de almacenamiento no recibe la indicación, ello indica que no se ha completado una tarea de copia actual. La terminación de una tarea de copia significa que el primer dispositivo de almacenamiento ha enviado información incluida en todas las demandas de datos de escritura, correspondientes al número de período de tiempo actual, al segundo dispositivo de almacenamiento y que el segundo dispositivo de almacenamiento ha terminado de recibir la información.
Cuando el segundo dispositivo de almacenamiento determina que el primer dispositivo de almacenamiento ha fallado, si se completa la tarea de copia actual, el segundo dispositivo de almacenamiento puede asumir la función del primer dispositivo de almacenamiento directamente, y se puede garantizar la coherencia de los datos. Esta situación operativa está más allá de la discusión de la forma de realización de la presente invención.
Sin embargo, si la tarea de copia actual no se completa, es necesario restablecer los datos correspondientes a un número que precede al número de período de tiempo actual, del segundo dispositivo de almacenamiento, a partir de los datos almacenados en la memoria caché del segundo dispositivo de almacenamiento.
Una manera de restablecimiento específica puede ser: en función de la información de dirección recibida, buscar información de dirección correspondiente a un número que precede al número de período de tiempo actual, con el fin de determinar si existe, o no, la misma información de dirección que la información de dirección recibida, si la misma información de dirección no se encuentra, continúa la búsqueda de la información de dirección correspondiente a un número anterior, hasta que se encuentre la información de dirección y a continuación se obtenga los datos a escribirse, que corresponden al número.
Etapa S203: La adición de un segundo número a los datos objeto de escritura y la información de dirección correspondiente al primer número, y realizar la escritura de la información en una memoria caché.
El segundo número es un número obtenido modificando el número de período de tiempo actual y también es el último número memorizado en la memoria caché, en la forma de realización de la presente invención. Cuando un host envía una demanda de datos de lectura al segundo dispositivo de almacenamiento, solicitando la lectura de datos almacenados en la información de dirección, el segundo dispositivo de almacenamiento puede descubrir mediante búsqueda, que el más reciente número correspondiente a la información de dirección, es el segundo número, y envía los datos objeto de escritura, que corresponden al segundo número, al host. De este modo, la coherencia de los datos está garantizada.
En la forma de realización de la presente invención, el segundo dispositivo de almacenamiento recibe información de dirección enviada por el primer dispositivo de almacenamiento, y cuando el primer dispositivo de almacenamiento está defectuoso, obtiene los datos objeto de escritura, correspondientes a un número que precede al número de período de tiempo actual, añade un segundo número a los datos por escribir y la información de dirección correspondiente al número que precede al número de intervalo de tiempo actual, y memoriza la información en una memoria caché. En consecuencia, se garantiza la coherencia de los datos.
Haciendo referencia a la Figura 3, la Figura 3 ilustra una forma de realización de un método de envío de datos de conformidad con la presente invención. En la forma de realización de la presente invención, para distinguir entre una memoria caché, en una matriz de producción, y una memoria caché en una matriz de recuperación de desastres, la memoria caché en la matriz de producción se denomina como una primera memoria caché, y la memoria caché en la matriz de recuperación de desastres se denomina una segunda memoria caché, en la forma de realización de la presente invención.
Tal como se ilustra en la Figura 3, el método incluye las etapas siguientes:
Etapa S301: La matriz de producción recibe una demanda de datos de escritura A procedente de un host de producción.
La demanda de datos de escritura A incluye un identificador ID de volumen, una dirección de escritura A, y datos objeto de escritura A. La dirección de escritura A es una dirección lógica de una matriz de producción, en donde los datos objeto de escritura A, han de ser objeto de escritura, tal como una dirección LBA. En general, cuando la matriz de producción ejecuta la demanda de datos de escritura A, la matriz de producción necesita traducir la dirección LBA a una Dirección de Bloque Físico (PBA) y luego, escribe los datos objeto de escritura A, en un soporte de almacenamiento de conformidad con la dirección PBA. El identificador ID de volumen es un ID de un volumen de datos correspondiente a la demanda de datos de escritura A. En esta forma de realización, se supone que la matriz de producción incluye un volumen (en lo sucesivo denominado como un volumen primario). A continuación, la información incluida en la demanda de datos de escritura A incluye un identificador ID de volumen primario, la dirección de escritura A, y los datos objeto de escritura A.
Etapa S302: La matriz de producción modifica la demanda de datos de escritura A a una demanda de datos de escritura A', y la demanda de datos de escritura A' incluye información incluida en la demanda de datos de escritura A y un primer número.
En la forma de realización de la presente invención, un controlador de la matriz de producción puede incluir un gestor de número de período de tiempo actual (CTPN). El gestor de CTPN registra un número de período de tiempo actual que se utiliza para generar el primer número y más específicamente, el primer número es igual al número de período de tiempo actual.
Después de recibir la demanda de datos de escritura A, la matriz de producción modifica la demanda de datos de escritura A a la demanda de datos de escritura A'. Más concretamente, una manera de modificación puede ser la adición del primer número a la información incluida en la demanda de datos de escritura A. Por ejemplo, cuando el número de período de tiempo actual es 1, el primer número es también 1.
De modo opcional, se puede registrar una marca temporal cuando se recibe la demanda de datos de escritura A y la marca temporal se compara en una secuencia de números pre-memorizada, de modo que se determine un número correspondiente a la marca temporal. Más concretamente, la secuencia numérica puede ser una tabla de mapeado de correspondencia o, en otras formas, lo que no está limitado en este documento. La secuencia numérica incluye múltiples números, en donde cada número corresponde a una sección de marcas temporales, tal como se ilustra en la Tabla 1.
Tabla 1
Número
Sección de marcas temporales
1
9:01-10:00
2
10:01-11:00
3
11:01-12:00
10 Suponiendo que la marca temporal, cuando se recibe la demanda de datos de escritura A, es 9:30, el número correspondiente es 1 y luego, la demanda de datos de escritura A puede modificarse a la demanda de datos de escritura A’, de conformidad con el número.
15 Etapa S303: La matriz de producción realiza la escritura de la demanda de datos de escritura A’ en la primera memoria caché, de modo que la información incluida en la demanda de datos de escritura A' se memoriza en la primera memoria caché. La información incluida en la demanda de datos de escritura A' incluye el primer número, el identificador ID del volumen primario, la dirección de escritura A, y los datos objeto de escritura A.
20 En la forma de realización de la presente invención, el primer número puede corresponder a múltiples demandas de datos de escritura. Antes de que se modifique el número de período de tiempo actual registrado en el CTPN, el primer número se añade a la información contenida en todas las demandas de datos de escritura recibidas.
Debe entenderse que, después de que se reciba la demanda de datos de escritura A, se puede recibir y modificar
25 una demanda de datos de escritura B a una demanda de datos de escritura B', de modo que la demanda de datos de escritura B' incluya, además, el primer número; y se puede recibir, además, una demanda de datos de escritura C y modificarse a una demanda de datos de escritura C', de modo que la demanda de datos de escritura C' incluya, además, el primer número.
30 A modo de ejemplo, después de que se escriban en la primera memoria caché la demanda de datos de escritura A’, la demanda de datos de escritura B', y la demanda de datos de escritura C’, la información almacenada en la primera memoria caché puede ilustrarse en la Tabla 2.
Tabla 2 35
Número
ID de volumen Dirección de Escritura Datos objeto de escritura
1
ID de volumen primario Dirección de Escritura A Datos objeto de escritura A
1
ID de volumen primario Dirección de Escritura B Datos objeto de escritura B
1
ID de volumen primario Dirección de Escritura C Datos objeto de escritura C
Debe observarse que, en la forma de realización de la presente invención, se supone que la matriz de producción incluye un volumen de datos (que puede referirse como un volumen primario), identificadores IDs de volúmenes de 40 datos incluidos en la demanda de datos de escritura A', la demanda de datos de escritura B', y la demanda de datos de escritura C', son la totalidad de los identificadores IDs de volumen primario. En otra forma de realización de la presente invención, la matriz de producción puede incluir múltiples volúmenes de datos y, por lo tanto, IDs de volúmenes de datos incluidos en la demanda de datos de escritura A’, la demanda de datos de escritura B', y la demanda de datos de escritura C', pueden ser diferentes. Además, la Tabla 2 es solamente un ejemplo de
45 almacenamiento de información incluida en demandas de datos de escritura en la primera memoria caché. Como alternativa, la información se puede memorizar en la forma de una disposición en árbol. La forma de memorización no está limitada en este documento.
Tomando la Tabla 2 a modo de ejemplo, los números, los identificadores IDs de volumen y las direcciones de
50 escritura se pueden considerar como índices de la Tabla 2. Según los índices, se pueden encontrar los datos correspondientes objeto de escritura. Cuando los índices son iguales, los datos objeto de escritura, correspondientes a los índices, también deben ser los mismos. Por lo tanto, cuando se escribe una nueva demanda de datos de escritura, es necesario determinar si la misma información como un número, un ID de volumen y una dirección de
escritura de la nueva demanda de datos de escritura, se memorizan, o no, en la primera memoria caché, y si es así, la información incluida en la nueva demanda de datos de escritura se utiliza para cancelar la información anterior. Ha de entenderse que, cuando la demanda de datos de escritura A', la demanda de datos de escritura B' y la demanda de datos de escritura C' se escriben en la primera memoria caché, es necesario, además, determinar si sus números, IDs de volumen y direcciones de escritura son las mismas que la información ya memorizada en la primera memoria caché y puesto que sus números, IDs de volumen y direcciones de escritura son diferentes de la información, ya memorizada en la primera memoria caché, la demanda de datos de escritura A', demanda de datos de escritura B' y demanda de datos de escritura C' pueden, todas ellas, ser objeto de escritura en la primera memoria caché.
A modo de ejemplo, si se recibe una demanda de datos de escritura D, y la demanda de datos de escritura D incluye el identificador ID de volumen primario, la dirección de escritura B y los datos objeto de escritura D, la demanda de datos de escritura D se modifica a una demanda de datos de escritura D', de modo que la demanda de datos de escritura D' incluya, además, el primer número. Por lo tanto, cuando la demanda de datos de escritura D' se escribe en la primera memoria caché, es necesario determinar si la misma información tal como el número, ID de volumen y dirección de escritura de la demanda de datos de escritura D' se memoriza, o no, en la primera memoria caché, y si es así, la información contenida en la demanda de datos de escritura D 'se utiliza para cancelar la información anterior. Puesto que el número, el ID de volumen y la dirección de escritura, incluidos en la demanda de datos de escritura D’ son, en su totalidad, los mismos que el número, el ID de volumen y la dirección de escritura, que se incluyen en la demanda de datos de escritura B', en la primera memoria caché, la información de la demanda de datos de escritura D' anulará la información de la demanda de datos de escritura B'.
Más concretamente, después de que se escriba la demanda de datos de escritura D' en la primera memoria caché, la información memorizada en la primera memoria caché puede ser ilustrada en la Tabla 3.
Tabla 3
Número
ID de volumen Dirección de Escritura Datos objeto de escritura
1
ID de volumen primario Dirección de Escritura A Datos objeto de escritura A
1
ID de volumen primario Dirección de Escritura B Datos objeto de escritura D
1
ID de volumen primario Dirección de Escritura C Datos objeto de escritura C
Etapa S304: Cuando se inicia operativamente una tarea de copia, la matriz de producción modifica el número de período de tiempo actual incluido en el gestor de CTPN, a modo de ejemplo, puede modificar el número de período de tiempo actual de 1 a 2.
Con el fin de distinguir entre el número de período de tiempo actual de la matriz de producción, y el número de período de tiempo actual de la matriz de recuperación de desastres, en la forma de realización de la presente invención, el número de período de tiempo actual de la matriz de producción se refiere como un primer número de período de tiempo actual, y el número de período de tiempo actual de la matriz de recuperación de desastres se refiere como un segundo número de período de tiempo actual.
Ha de entenderse que, una vez que el primer número de período de tiempo actual se modifique desde 1 a 2, en consecuencia, el número 2 será añadido a la información incluida en todas las demandas de datos de escritura recibidas con posterioridad. A modo de ejemplo, se recibe una demanda de datos de escritura E, y la demanda de datos de escritura E incluye el identificador ID de volumen primario, la dirección de escritura A y los datos objeto de escritura E, y a continuación, la demanda de datos de escritura E se modifica a una demanda de datos de escritura E', de modo que la demanda de datos de escritura E' incluya, además, el número 2. Se recibe una demanda de datos de escritura F, y la demanda de datos de escritura F incluye el ID de volumen primario, una dirección de escritura F y datos objeto de escritura F, y a continuación, la escritura la demanda de datos F se modifica a una demanda de datos de escritura F', de modo que la demanda de datos de escritura F' incluya, además, el número 2. Después de realizar la escritura de la demanda de datos E' y de la demanda de datos de escritura F' en la primera memoria caché, la información memorizada en la primera memoria caché se puede mostrar en la Tabla 4.
Tabla 4
Número
ID de volumen Dirección de Escritura Datos objeto de escritura
1
ID de volumen primario Dirección de Escritura A Datos objeto de escritura A
1
ID de volumen primario Dirección de Escritura B Datos objeto de escritura D
1
ID de volumen primario Dirección de Escritura C Datos objeto de escritura C
Número
ID de volumen Dirección de Escritura Datos objeto de escritura
2
ID de volumen primario Dirección de Escritura A Datos objeto de escritura E
2
ID de volumen primario Dirección de Escritura F Datos objeto de escritura F
Etapa S305: La matriz de recuperación de desastres modifica el segundo número de período de tiempo actual, incluido en su gestor de CTPN, a modo de ejemplo, puede modificarlo desde 11 a 12.
5 En la forma de realización de la presente invención, la matriz de recuperación de desastres puede incluir, además, su propio gestor de CPTN. Cuando se inicia una tarea de copia de la matriz de producción, el gestor de CTPN de la matriz de producción, modifica el primer número de período de tiempo actual, y el centro de control puede, además, enviar una señal de control a la matriz de recuperación de desastres, de modo que la matriz de recuperación de desastres modifique, además, el segundo número de período de tiempo actual, que se incluye en su gestor de
10 CPTN. Por lo tanto, la etapa S305 y la etapa S304 no están sujetas a una secuencia temporal.
Etapa S306A: La matriz de producción realiza la lectura de la información incluida en demandas de datos de escritura correspondientes al primer número, desde la primera memoria caché.
15 Más concretamente, de conformidad con la descripción anterior, la información incluida en demandas de datos de escritura, correspondientes al primer número, se ilustra en la Tabla 3.
Etapa S306B: La matriz de producción obtiene un identificador ID de un volumen de datos que ha de escribirse en la matriz de recuperación de desastres.
20 Etapa S306C: La matriz de producción genera nuevas demandas de datos de escritura de conformidad con el ID de volumen de datos y la información incluida en las demandas de datos de escritura, correspondientes al primer número.
25 Más concretamente, se puede generar una demanda de datos de escritura A" en función del ID del volumen de datos, la dirección de escritura A, y los datos objeto de escritura A; se puede generar una demanda de datos de escritura D" en función del ID del volumen de datos, la dirección de escritura B y los datos objeto de escritura D; y se puede generar una demanda de datos de escritura C’’ en función del ID del volumen de datos, la dirección de escritura C y los datos objeto de escritura C.
30 En otra forma de realización de la presente invención, tanto la matriz de producción como la matriz de recuperación de desastres pueden incluir múltiples volúmenes de datos y, por lo tanto, identificadores IDs de volumen de datos, incluidos en la demanda de datos de escritura A’’, la demanda de datos de escritura D’’ y la escritura la demanda de datos C’’, pueden ser diferentes. Sin embargo, los IDs de los volúmenes de datos en la matriz de recuperación de
35 desastres están en correspondencia ’una a una’, con IDs de volúmenes de datos en la matriz de producción.
Etapa S307: La matriz de producción envía las nuevas demandas de datos de escritura generadas a la matriz de recuperación de desastres.
40 Más concretamente, la matriz de producción envía la demanda de datos de escritura A", la demanda de datos de escritura D", y la demanda de datos de escritura C" a la matriz de recuperación de desastres.
Etapa S308: La matriz de recuperación de desastres modifica las demandas de datos de escritura recibidas.
45 A modo de ejemplo, la matriz de recuperación de desastres puede modificar la demanda de datos de escritura A’’ a una demanda de datos de escritura A’’’, de conformidad con el segundo número de período de tiempo actual registrado en el gestor de CTPN. Más concretamente, una forma de modificación puede ser la adición del número 12 a la información incluida en la demanda de datos de escritura A".
50 De modo similar, el número 12 se puede añadir a la información incluida en la demanda de datos de escritura B", y la demanda de datos de escritura B" se modifica a una demanda de datos de escritura B"'; y el número 12 se puede añadir a la información incluida en la demanda de datos de escritura C", y la demanda de datos de escritura C" se modifican a una demanda de datos de escritura C’’’.
55 Etapa S309: La matriz de recuperación de desastres realiza la escritura de las demandas de datos de escritura modificados en la segunda memoria caché.
Más concretamente, la información memorizada en la segunda memoria caché se puede ilustrar en la Tabla 5.
Tabla 5
Número
ID de volumen Dirección de Escritura Datos objeto de escritura
12
ID de volumen secundario Dirección de Escritura A Datos objeto de escritura A
12
ID de volumen secundario Dirección de Escritura B Datos objeto de escritura D
12
ID de volumen secundario Dirección de Escritura C Datos objeto de escritura C
Etapa S310: De conformidad con las direcciones de escritura en las demandas de datos de escritura, la matriz de 5 recuperación de desastres realiza la escritura de los datos objeto de escritura en los soportes de almacenamiento correspondientes a las direcciones de escritura.
En general, el espacio de memoria caché es limitado. Por lo tanto, cuando su tasa de utilización alcanza un umbral específico, es necesario escribir datos almacenados en la memoria caché en un disco duro. Más concretamente, los
10 datos objeto de escritura A, se escriben en un soporte de almacenamiento correspondiente a la dirección de escritura A, y los datos objeto de escritura D, se escriben en un soporte de almacenamiento correspondiente a la dirección de escritura B, y los datos objeto de escritura C, se escriben en un soporte de almacenamiento correspondiente a la dirección de escritura C.
15 Etapa S311: De conformidad con las direcciones de escritura en las demandas de escritura de datos, la matriz de producción escribe los datos objeto de escritura en los soportes de almacenamiento correspondientes a las direcciones de escritura.
De modo similar, cuando la tasa de utilización del espacio de memoria caché de la matriz de producción alcanza un
20 umbral específico, también es necesario escribir los datos almacenados en la memoria caché en un disco duro. Como se puede deducir, a partir de la descripción anterior, la siguiente información se memoriza en la primera memoria caché.
Número
ID de volumen Dirección de Escritura Datos objeto de escritura
1
ID de volumen primario Dirección de Escritura A Datos objeto de escritura A
1
ID de volumen primario Dirección de Escritura B Datos objeto de escritura D
1
ID de volumen primario Dirección de Escritura C Datos objeto de escritura C
2
ID de volumen primario Dirección de Escritura A Datos objeto de escritura E
2
ID de volumen primario Dirección de Escritura F Datos objeto de escritura F
25 Más concretamente, para demandas de datos de escritura con el mismo ID de volumen, la misma dirección de escritura, pero diferentes números, los datos objeto de escritura incluidos en una demanda de datos de escritura con un número más pequeño se escriben en primer lugar, a continuación, se escriben los datos objeto de escritura, incluidos en una demanda de datos de escritura, con un número más grande. A modo de ejemplo, los datos objeto de escritura D se escriben directamente y luego, se escriben los datos objeto de escritura E. O bien, los datos objeto
30 de escritura, incluidos en una demanda de datos de escritura con un número mayor, se escriben directamente, sin escribir datos objeto de escritura, incluidos en una demanda de datos de escritura con un número menor. A modo de ejemplo, los datos objeto de escritura E se escriben directamente.
La etapa S310 y la etapa S311 no están sujetas a una secuencia temporal.
35 Etapa S312: Cuando se inicia operativamente una tarea de copia, la matriz de producción modifica el primer número de período de tiempo actual incluido en su gestor de CTPN, a modo de ejemplo, puede modificar el número de período de tiempo actual de 2 a 3.
40 Debe entenderse que, una vez que el primer número de período de tiempo actual en el CTPN de la matriz de producción se modifica de 2 a 3, en consecuencia, el número 3 será añadido a la información incluida en todas las demandas de datos de escritura recibidas con posterioridad, por la matriz de producción.
Etapa S313: La matriz de recuperación de desastres modifica el segundo número de período de tiempo actual,
45 incluido en su gestor de CTPN, a modo de ejemplo, puede modificar el segundo número de período de tiempo actual desde 12 a 13.
Debe entenderse que, una vez que el segundo número de período actual, en el gestor de CTPN de la matriz de recuperación de desastres, se modifique desde 12 a 13, en consecuencia, el número 13 será añadido a la
50 información contenida en todas las demandas de datos de escritura, que se reciben, con posterioridad, por la matriz
de recuperación de desastres.
Etapa S314: La matriz de producción efectúa la lectura de la información incluida en las demandas de datos de escritura correspondientes al número 2, genera las demandas de datos de escritura correspondientes y envía las demandas de datos de escritura generadas a la matriz de recuperación de desastres.
Más concretamente, tal como se puede deducir, a partir de la descripción anterior, la información incluida en demandas de datos de escritura, correspondientes al número 2, incluye información incluida en la demanda de datos de escritura E, y la información incluida en la demanda de datos de escritura F. De modo similar, después de que la matriz de producción obtiene el identificador ID de volumen de datos de la matriz de recuperación de desastres, la matriz de producción puede generar una demanda de datos de escritura E" en función del ID del volumen de datos, la dirección de escritura A y los datos objeto de escritura E, y generar una demanda de datos de escritura F", en función del ID del volumen de datos, la dirección de escritura F y los datos objeto de escritura F. De este modo, las demandas de datos de escritura enviadas por la matriz de producción a la matriz de recuperación de desastres, son la demanda de datos de escritura E" y la demanda de datos de escritura F".
Conviene señalar que, en la forma de realización de la presente invención, la matriz de producción no envía las demandas de datos de escritura a la matriz de recuperación de desastres en una secuencia temporal, y puede, además, enviar las demandas de datos de escritura de forma aleatoria. Más concretamente, la matriz de producción puede enviar primero la demanda de datos de escritura E" y luego, la demanda de datos de escritura F", o enviar primero la demanda de datos de escritura F" y luego, la demanda de datos de escritura E’’.
Tal como se puede deducir a partir de la descripción anterior, en este momento, el segundo número de período de tiempo actual, en el gestor de CTPN de la matriz de recuperación de desastres es 13. Por lo tanto, después de recibir la demanda de datos de escritura E", la matriz de recuperación de desastres necesita modificar la demanda de datos de escritura E’’ a una demanda de datos de escritura E’’’, que incluye el número 13. De modo similar, después de recibir la demanda de datos de escritura F", la matriz de recuperación de desastres necesita modificar la demanda de datos de escritura F" a una demanda de datos de escritura F’’’, que incluye el número 13.
Etapa S315: La matriz de recuperación de desastres recibe una instrucción para asumir de los servicios de host de la matriz de producción.
En la forma de realización de la presente invención, si la matriz de producción es defectuosa, la matriz de recuperación de desastres necesita asumir los servicios de host de la matriz de producción. Por lo tanto, la matriz de recuperación de desastres necesita satisfacer un requisito de coherencia de datos.
Como se puede deducir a partir de la etapa S314, en una tarea de copia actual, las demandas de datos de escritura, que han de recibirse por la matriz de recuperación de desastres, incluyen la demanda de datos de escritura E" y la demanda de datos de escritura F". La matriz de recuperación de desastres no asumirá los servicios de host de la matriz de producción hasta que la demanda de datos de escritura modificada E", y la demanda de datos de escritura F’’, se escriban ambas, de forma satisfactoria, en la segunda memoria caché. Cuando la matriz de recuperación de desastres comienza a asumir los servicios de host, ello indica que el ciclo de copia actual se ha completado y que se cumple el requisito de coherencia de los datos.
Después de que la matriz de recuperación de desastres haya modificado la demanda de datos de escritura E", a la demanda de datos de escritura E’’’, y haya escrito, de forma satisfactoria, la demanda de datos de escritura E’’’ en la segunda memoria caché, pero antes de que se escriba, de forma satisfactoria, la demanda de datos de escritura F’’’ en la segunda memoria caché, si la matriz de producción está en condición de fallo y la matriz de recuperación de desastres comienza a asumir los servicios de host de la matriz de producción, la tarea de copia actual no se ha completado aún y no se cumple el requisito de coherencia de los datos. De modo similar, después de que la matriz de recuperación de desastres haya modificado la demanda de datos de escritura F" a la demanda de datos de escritura F'" y escrito, de forma satisfactoria, la demanda de datos de escritura F’’’ en la segunda memoria caché, pero antes de escribir, de forma satisfactoria, la demanda de datos de escritura E’’’ en la segunda memoria caché, si la matriz de producción está en condición de fallo y la matriz de recuperación de desastres comienza a asumir los servicios de host de la matriz de producción, tampoco se completa la tarea de copia actual y no se cumple el requisito de coherencia de los datos.
En este caso, es necesario restablecer los datos en la memoria caché de la matriz de recuperación de desastres a un estado cuando se completa la tarea de copia correspondiente al número 12. A continuación, se supone que la matriz de recuperación de desastres ha modificado la demanda de datos de escritura E" a la demanda de datos de escritura E'", y ha escrito, de forma satisfactoria, la demanda de datos de escritura E'" en la segunda memoria caché, y que la demanda de datos de escritura F’’’ no se ha escrito, de forma satisfactoria, en la segunda memoria caché.
Etapa S316: La matriz de recuperación de desastres obtiene una dirección de escritura incluida en una demanda de datos de escritura que se ha escrito, correctamente, en la segunda memoria caché en el ciclo de copia actual.
Tal como se puede deducir a partir de la descripción anterior, en la tarea de copia correspondiente al número 13, la demanda de datos de escritura E'" se ha escrito, satisfactoriamente, en la segunda memoria caché, y la dirección de escritura incluida en la demanda de datos de escritura E'" es la dirección de escritura A.
5 Etapa S317: De conformidad con la dirección de escritura, la matriz de recuperación de desastres realiza la operación de coincidencia en la información incluida en demandas de datos de escritura, correspondientes a un número precedente, con el fin de buscar una misma dirección de escritura como la dirección de escritura A.
Cuando se encuentra una dirección de escritura igual a la dirección de escritura, se ejecuta la etapa S318. De no ser
10 así, se continuará realizando la operación de coincidencia en la información incluida en demandas de datos de escritura correspondientes a otro número precedente (a modo de ejemplo, el número 11) hasta que se encuentre una misma dirección de escritura tal como la dirección de escritura A, que se incluye en la demanda de datos de escritura E’’’.
15 Tal como se puede deducir a partir de la descripción anterior, la información incluida en demandas de datos de escritura correspondientes al número 12 se ilustra en la Tabla 5. La dirección de escritura incluida en la demanda de datos de escritura A" es la misma que la dirección de escritura contenida en la demanda de datos de escritura E"'.
Debe entenderse que, cuando la matriz de recuperación de desastres incluye múltiples volúmenes de datos, y la
20 información incluida en cada demanda de datos de escritura incluye un identificador ID de un volumen de datos, se requiere que tanto la dirección de escritura como el ID del volumen de datos sean el mismo.
Etapa S318: La generación de una nueva demanda de datos de escritura de conformidad con la información que incluye la dirección de escritura encontrada, y realizar la escritura de la nueva demanda de datos de escritura en la
25 segunda memoria caché, en donde la nueva demanda de datos de escritura incluye un número modificado.
A modo de ejemplo, la información objeto de lectura desde la segunda memoria caché, incluye la dirección de escritura A y los datos objeto de escritura A (y pueden incluir, además, el ID de volumen secundario) y luego, se puede generar una nueva demanda de datos de escritura de conformidad con la información objeto de lectura y el
30 número modificado (a modo de ejemplo, el número se modifica desde 13 a 14). Después de escribir la nueva demanda de datos de escritura en la segunda memoria caché, se ilustra, en la Tabla 6, una relación de mapeado que se memoriza en la memoria caché.
Tabla 6 35
Número
ID de volumen Dirección de Escritura Datos objeto de escritura
12
ID de volumen secundario Dirección de Escritura A Datos objeto de escritura A
12
ID de volumen secundario Dirección de Escritura B Datos objeto de escritura D
12
ID de volumen secundario Dirección de Escritura C Datos objeto de escritura C
13
ID de volumen secundario Dirección de Escritura A Datos objeto de escritura E
14
ID de volumen secundario Dirección de Escritura A Datos objeto de escritura A
Cuando un host envía una demanda de datos de lectura a la matriz de recuperación de desastres, el identificador ID del volumen de datos solicitado es el ID del volumen secundario y la dirección de escritura es la dirección de
40 escritura A, la matriz de recuperación de desastres buscará la segunda memoria caché para datos objeto de escritura con el ID del volumen secundario y la dirección de escritura A, y correspondiente al último número, y realizará el envío de los datos objeto de escritura al host. En la forma de realización de la presente invención, los datos objeto de escritura A, correspondientes al número 14, se envían desde la segunda memoria caché al host.
45 En la forma de realización de la presente invención, la matriz de producción puede enviar información incluida en demandas de datos de escritura recibidas desde una memoria caché directamente a la matriz de recuperación de desastres sin la necesidad de leer información relacionada desde un volumen de datos, lo que aumenta la eficacia de la copia de datos y garantiza la coherencia de los datos para la matriz de recuperación de desastres.
50 En la técnica anterior, la copia de datos se pone en práctica utilizando datos de captura instantánea, en donde cada vez que la matriz de producción ejecuta una demanda de datos de escritura, es necesario colocar, en primer lugar, los datos incluidos en la demanda de datos de escritura en una memoria caché, efectuar la lectura, de conformidad con una dirección de escritura incluida en la demanda de datos de escritura, de datos antiguos memorizados en la dirección, almacenar los datos en un volumen de datos y, a continuación, escribir los datos en la memoria caché a la
55 dirección de escritura. Un mensaje de respuesta de la demanda de datos de escritura no se reenvía hasta que se complete la totalidad de estas operaciones. Debido a las etapas de procesamiento de captura instantánea
adicionales, se prolonga el retardo en el procesamiento de una demanda de datos de escritura. En la forma de realización de la presente invención, sin embargo, el procesamiento de captura instantánea no necesita realizarse en datos y, por lo tanto, aunque las demandas de datos de escritura se modifican, el tiempo consumido es corto. Por lo tanto, en comparación con la técnica anterior, la forma de realización de la presente invención reduce el retardo en el procesamiento de una demanda de datos de escritura.
Haciendo referencia a la Figura 5, la Figura 5 es un diagrama estructural esquemático de un dispositivo de almacenamiento 50 de conformidad con una forma de realización de la presente invención. Tal como se ilustra en la Figura 5, el dispositivo de almacenamiento 50 incluye un módulo de recepción 501, un módulo de lectura y escritura 502, un gestor de número de período de tiempo actual 503 y un módulo de envío 504.
El módulo de recepción 501 está configurado para recibir una primera demanda de datos de escritura enviada por un host, en donde la primera demanda de datos de escritura incluye datos objeto de escritura e información de dirección.
La información de dirección puede incluir una unidad de bloque lógico (Logic Unit Address, LBA). Cuando el dispositivo de almacenamiento 50 incluye múltiples volúmenes de datos, la información de dirección puede incluir, además, un identificador ID de un volumen de datos del dispositivo de almacenamiento 50.
El módulo de lectura y escritura 502 está configurado para añadir un primer número a los datos objeto de escritura y la información de dirección y para escribir la información en una memoria caché, en donde el primer número es un número de período de tiempo actual; y efectuar la lectura de los datos objeto de escritura y la información de dirección, correspondiente al primer número de la memoria caché.
El dispositivo de almacenamiento 50 puede incluir un gestor de número de período de tiempo actual 503, y el gestor de número de período de tiempo actual 503 memoriza el número de período de tiempo actual, en donde el número de período de tiempo actual puede ser un valor numérico, tal como 0, 1 o 2, o una letra, tal como a, b, c, lo que no está aquí limitado.
Cuando se recibe la primera demanda de datos de escritura, se añade un primer número a los datos objeto de escritura y la información de dirección, que se incluye en la primera demanda de datos de escritura, en donde el primer número es un valor asignado por el número de período de tiempo actual.
Después de que se añade el primer número a la información incluida en la primera demanda de datos de escritura, la información modificada, incluida en la primera demanda de datos de escritura, se escribe en la memoria caché, de modo que los datos objeto de escritura, la información de dirección y el primer número, incluidos en la primera demanda de datos de escritura, se memoricen en la memoria caché.
Además, dentro de un período de tiempo, se puede recibir, además, otra demanda de datos de escritura, y resulta necesario también añadir el primer número a la información incluida en la demanda de datos de escritura, y escribir la información en la memoria caché. Hay que tener en cuenta que, antes de que cambie el número de período de tiempo actual, se añade el primer número a la información incluida en todas las demandas de datos de escritura.
Cuando se inicia operativamente una tarea de copia, el dispositivo de almacenamiento 50 puede leer los datos objeto de escritura y la información de dirección, correspondiente al primer número, desde la memoria caché. Debe entenderse que pueden existir múltiples elementos de datos objeto de escritura e información de dirección, que corresponden al primer número.
Una tarea de copia significa que el dispositivo de almacenamiento 50 envía información incluida en demandas de datos de escritura que son recibidas por un volumen de datos, dentro de un período de tiempo, a un dispositivo de almacenamiento en un centro de recuperación de desastres, en donde un mismo número igual que el número de período de tiempo actual se añade a la información contenida en todas las demandas de datos de escritura. Una tarea de copia puede ser activada por un temporizador, o activada manualmente, lo cual no está limitado aquí. La finalidad de la copia es enviar los datos objeto de escritura, incluidos en demandas de datos de escritura, recibidas por el dispositivo de almacenamiento 50, al dispositivo de almacenamiento en el centro de recuperación de desastres, de modo que el dispositivo de almacenamiento, en el centro de recuperación de desastres, pueda asumir la función del dispositivo de almacenamiento 50 cuando el dispositivo de almacenamiento 50 está defectuoso. Ha de entenderse que la información de dirección (tal como una dirección LBA), incluida en la demanda de datos de escritura, necesite, además, enviarse al dispositivo de almacenamiento en el centro de recuperación de desastres, en donde la dirección LBA se utiliza para indicar una dirección en donde el dispositivo de almacenamiento, en el centro de recuperación de desastres, memoriza los datos objeto de escritura. El dispositivo de almacenamiento, en el centro de recuperación de desastres, tiene la misma estructura física que el dispositivo de almacenamiento 50. Por lo tanto, una dirección LBA aplicable al dispositivo de almacenamiento 50 también es aplicable al dispositivo de almacenamiento en el centro de recuperación de desastres.
En la forma de realización de la presente invención, una tarea de copia es específica para un volumen de datos del
dispositivo de almacenamiento 50. Cuando el dispositivo de almacenamiento 50 incluye múltiples volúmenes de datos, cada volumen de datos corresponde a una sola tarea de copia.
El gestor de número de período de tiempo actual 503 está configurado para modificar el número de período de tiempo actual con el fin de identificar información incluida en una demanda de datos de escritura posterior.
Cuando se inicia operativamente una tarea de copia, el gestor de número de período de tiempo actual 503 necesita modificar el número de período de tiempo actual. Cuando se recibe una demanda de datos de escritura posterior, se debe añadir otro número a la información incluida en la demanda de datos de escritura posterior, en donde el otro número es un valor asignado por el número de período de tiempo actual modificado. Por lo tanto, en la memoria caché, información incluida en una demanda de datos de escritura, que ha de enviarse al dispositivo de almacenamiento en el centro de recuperación de desastres, se puede distinguir de la información incluida en una demanda de datos de escritura que es recibida por el dispositivo de almacenamiento 50.
El módulo de envío 504 está configurado para enviar los datos objeto de escritura y la información de dirección al dispositivo de almacenamiento en el centro de recuperación de desastres.
El dispositivo de almacenamiento 50 envía los datos objeto de escritura y la información de dirección correspondiente al primer número leído a partir de la memoria caché para el segundo dispositivo de almacenamiento del dispositivo de almacenamiento en el centro de recuperación de desastres.
Más concretamente, el dispositivo de almacenamiento 50 puede enviar, directamente, todos los datos leídos objeto de escritura y la información de dirección al dispositivo de almacenamiento en el centro de recuperación de desastres. O bien, el dispositivo de almacenamiento 50 puede, después de obtener identificadores IDs de volúmenes de datos del dispositivo de almacenamiento, en el centro de recuperación de desastres, generar nuevas demandas de datos de escritura de conformidad con los datos objeto de escritura y la información de dirección incluidos en cada demanda de datos de escritura y los identificadores IDs de los volúmenes de datos del dispositivo de almacenamiento, en el centro de recuperación de desastres y, a continuación, envía las nuevas demandas de datos de escritura al dispositivo de almacenamiento en el centro de recuperación de desastres.
En la forma de realización de la presente invención, después de que el dispositivo de almacenamiento 50 recibe una demanda de datos de escritura enviada por un host, en donde información incluida en la demanda de datos de escritura contiene datos objeto de escritura e información de dirección, el dispositivo de almacenamiento 50 añade un primer número a los datos objeto de escritura y la información de dirección, y efectúa la escritura de la información en la memoria caché, en donde el primer número es un número de período de tiempo actual. Cuando se inicia operativamente una tarea de copia, el dispositivo de almacenamiento 50 lee los datos objeto de escritura y la información de dirección correspondiente al primer número, a partir de la memoria caché, y envía la información al dispositivo de almacenamiento en el centro de recuperación de desastres. Además, cuando se inicia una tarea de copia, el dispositivo de almacenamiento 50 modifica el número de período de tiempo actual, de modo que el dispositivo de almacenamiento 50, cuando recibe, posteriormente, una demanda de datos de escritura, añade el mismo número que el número de período de tiempo actual modificado a la información incluida en la demanda de datos de escritura. De ese modo, en la memoria caché, la información incluida en una demanda de datos de escritura, que ha de enviarse al dispositivo de almacenamiento, en el centro de recuperación de desastres, se distingue de la información incluida en una demanda de datos de escritura que se recibe por el dispositivo de almacenamiento 50. Lo anterior pone en práctica el envío directo de información incluida en una demanda de datos de escritura, desde la memoria caché al dispositivo de almacenamiento, en el centro de recuperación de desastres. Puesto que la información se envía, directamente, desde la memoria caché sin la necesidad de ser leída desde un volumen de datos, el tiempo de copia de datos es corto, con lo que se aumenta la eficacia de la copia de datos.
Haciendo referencia a la Figura 6, la Figura 6 es un diagrama estructural esquemático de un dispositivo de almacenamiento 60 de conformidad con una forma de realización de la presente invención. Tal como se ilustra en la Figura 6, el dispositivo de almacenamiento 60 incluye un módulo de recepción 601, un módulo de búsqueda 602 y un módulo de escritura 604.
El módulo de recepción 601 está configurado para recibir información de dirección enviada por un dispositivo de almacenamiento 50.
Más concretamente, el dispositivo de almacenamiento 60 puede recibir datos objeto de escritura y la información de dirección que se envía por el dispositivo de almacenamiento 50; o el dispositivo de almacenamiento 60 puede recibir una demanda de datos de escritura enviada por el dispositivo de almacenamiento 50, en donde la demanda de datos de escritura incluye datos objeto de escritura e información de dirección, en donde la información de dirección puede ser una dirección de bloque lógico (Logic Unit Address, LBA). Cuando el dispositivo de almacenamiento 60 incluye múltiples volúmenes de datos, la información de dirección puede incluir, además, un identificador ID de un volumen de datos del dispositivo de almacenamiento 60. Ha de entenderse que puede existir más de un elemento de información de dirección.
Después de recibir los datos objeto de escritura y la información de dirección, el dispositivo de almacenamiento 60 añade un número igual al número de período de tiempo actual a los datos objeto de escritura y la información de dirección, y escribe la información en una memoria caché, de modo que el mismo número igual al número de período de tiempo actual, los datos objeto de escritura y la información de dirección, se memoricen en la memoria caché.
Debe observarse que el dispositivo de almacenamiento 60 puede incluir, además, un gestor de número de período de tiempo actual 603, y el gestor de número de período de tiempo actual 603 almacena el número de período de tiempo actual. El número del período de tiempo actual puede ser un valor numérico, tal como 0, 1 o 2, o una letra, tal como a, b, c, lo que no está aquí limitado. El número de período de tiempo actual aquí establecido puede no tener relación con el número de período de tiempo actual en el dispositivo de almacenamiento 50.
El módulo de búsqueda 602 está configurado para: cuando se determina que el dispositivo de almacenamiento 50 ha fallado, el dispositivo de almacenamiento 60 obtiene, de conformidad con la información de dirección, datos objeto de escritura correspondientes a un primer número, en donde la información de dirección correspondiente para el primer número es la misma que la información de dirección recibida, y el primer número es un número que precede al número de período de tiempo actual.
En general, si tanto el dispositivo de almacenamiento 50 como el dispositivo de almacenamiento 60 funcionan con normalidad, el dispositivo de almacenamiento 60 puede recibir información incluida en todas las demandas de datos de escritura que se envían por el dispositivo de almacenamiento 50, añadir un número igual al número de período de tiempo actual a la información incluida en cada demanda de datos de escritura, y memorizar la información en la memoria caché. Sin embargo, si el dispositivo de almacenamiento 50 está defectuoso, el dispositivo de almacenamiento 60 posiblemente solamente puede recibir una parte de los datos objeto de escritura, correspondientes al número de período de tiempo actual, del dispositivo de almacenamiento 50. En este caso, los datos memorizados por el dispositivo de almacenamiento 60 sean, posiblemente, falsos, y si el dispositivo de almacenamiento 60 asume, directamente, la función del dispositivo de almacenamiento 50, no se puede garantizar la coherencia de los datos. A modo de ejemplo, si un host envía una demanda de datos de lectura al dispositivo de almacenamiento 60 en este momento, solicitando efectuar la lectura de datos memorizados en la información de dirección (tal como una dirección LBA), el dispositivo de almacenamiento 60 realizará la búsqueda de un último número correspondiente a la información de dirección y luego, enviará los datos objeto de escritura, correspondientes al número de período de tiempo actual, para el host, sin embargo, los datos no son ciertos. Por lo tanto, en este caso, es necesario restablecer los datos correspondientes a un número que precede al número de período de tiempo actual del dispositivo de almacenamiento 60 a partir de los datos almacenados en la memoria caché del dispositivo de almacenamiento 60.
Más concretamente, el hecho de que el dispositivo de almacenamiento 50 haya fallado se puede determinar de una manera en la que un centro de control envía una señal al dispositivo de almacenamiento 60, en donde la señal se utiliza para indicar que el dispositivo de almacenamiento 50 ha fallado, y que el almacenamiento el dispositivo 60 necesita asumir los servicios de host del dispositivo de almacenamiento 50.
En general, cuando se completa una tarea de copia, el centro de control puede enviar una indicación de éxito operativo de copia tanto al dispositivo de almacenamiento 50, como al dispositivo de almacenamiento 60. Si el dispositivo de almacenamiento 60 no recibe la indicación, ello indica que no está terminada una tarea copia actual. La finalización de una tarea de copia significa que el dispositivo de almacenamiento 50 ha enviado información incluida en todas las demandas de datos de escritura, correspondientes al número de período de tiempo actual, al dispositivo de almacenamiento 60, y el dispositivo de almacenamiento 60 ha terminado de recibir la información.
Cuando el dispositivo de almacenamiento 60 determina que el dispositivo de almacenamiento 50 ha fallado, si se ha completado la tarea de copia actual, el dispositivo de almacenamiento 60 puede asumir el trabajo del dispositivo de almacenamiento 50 directamente, y se puede garantizar la coherencia de los datos. Esta situación está más allá del ámbito de la forma de realización de la presente invención.
Sin embargo, si no se ha completado la tarea de copia actual, es necesario restablecer los datos que corresponden a un número que precede al número de período de tiempo actual del dispositivo de almacenamiento 60, a partir de los datos en la memoria caché del dispositivo de almacenamiento 60.
Un modo operativo de restauración específica es: en función de la información de dirección recibida, efectuar la búsqueda de información de dirección correspondiente a un número que precede al número de período de tiempo actual para la misma información de dirección que la información de dirección recibida, si no se encuentra la misma información de dirección, continuar la búsqueda de la información de dirección, correspondiente a otro número anterior, hasta que se encuentre la información de dirección y, a continuación, obtener los datos objeto de escritura correspondientes al número.
El módulo de escritura 604 está configurado para añadir un segundo número a los datos objeto de escritura y la información de dirección, correspondiente al primer número, y escribir la información en una memoria caché.
El segundo número es un número obtenido mediante la modificación del número de período de tiempo actual y también el último número memorizado en la memoria caché en esta forma de realización. Cuando un host envía una demanda de datos de lectura al dispositivo de almacenamiento 60, solicitando efectuar la lectura de datos almacenados en la información de dirección (tal como una dirección LBA), el dispositivo de almacenamiento 60 tiene conocimiento, mediante la búsqueda, de que el último número correspondiente a la información de dirección es el segundo número y envía los datos objeto de escritura, correspondientes al segundo número, al host. De este modo, la coherencia de los datos está garantizada.
En la forma de realización de la presente invención, el dispositivo de almacenamiento 60 recibe información de dirección enviada por el dispositivo de almacenamiento 50, y cuando falla el dispositivo de almacenamiento 50, obtiene datos objeto de escritura, correspondientes a un número precedente al número de período de tiempo actual, añade un segundo número a los datos objeto de escritura y la información de dirección, que corresponde al número que precede al número de período de tiempo actual, y memoriza la información en una memoria caché. De este modo, la coherencia de los datos está garantizada.
Haciendo referencia a la Figura 7, una forma de realización de la presente invención da a conocer un dispositivo de almacenamiento 700. El dispositivo de almacenamiento 700 puede incluir un dispositivo de almacenamiento ya conocido en la técnica anterior. La forma de realización de la presente invención no limita la puesta en práctica específica del dispositivo de almacenamiento 700. El dispositivo de almacenamiento 700 incluye:
un procesador 710, una interfaz de comunicaciones 720, una memoria 730 y un bus de comunicaciones 740.
El procesador 710, la interfaz de comunicaciones 720 y la memoria 730 realizan la comunicación mutua utilizando el bus de comunicaciones 740.
La interfaz de comunicaciones 720 está configurada para comunicarse con un elemento de red, a modo de ejemplo, con un host o un conmutador.
El procesador 710 está configurado para ejecutar un programa 732.
Más concretamente, el programa 732 puede incluir un código de programa, y el código de programa comprende una instrucción de operación informática.
El procesador 710 puede ser una unidad central de procesamiento, CPU, o un Circuito Integrado Específico de la Aplicación, ASIC, o puede estar configurado para uno o múltiples circuitos integrados que ponen en práctica las formas de realización de la presente invención.
La memoria 730 está configurada para memorizar el programa 732. La memoria 730 puede incluir una memoria RAM de alta velocidad, o una memoria no volátil, a modo de ejemplo, al menos una memoria de disco magnético.
El programa 732 puede incluir, específicamente:
un módulo de recepción 501, configurado para recibir una primera demanda de datos de escritura enviada por un host, en donde la primera demanda de datos de escritura incluye datos objeto de escritura y la información de dirección;
un módulo de lectura y escritura 502, configurado para añadir un primer número a los datos objeto de escritura y la información de dirección y para escribir la información en una memoria caché, en donde el primer número es un número de período de tiempo actual; y efectuar la lectura de los datos objeto de escritura y la información de dirección, correspondiente al primer número de la memoria caché;
un gestor de número de período de tiempo actual 503, configurado para modificar el número de período de tiempo actual con el fin de identificar información incluida en una demanda de datos de escritura posterior; y
un módulo de envío 504, configurado para enviar los datos objeto de escritura y la información de dirección a un dispositivo de almacenamiento en el centro de recuperación de desastres.
Para realizaciones específicas de los módulos en el programa 732, se puede hacer referencia a módulos correspondientes en la forma de realización ilustrada en la Figura 5, que no se describirá, de forma adicional, en este documento.
Haciendo referencia a la Figura 8, una forma de realización de la presente invención da a conocer un dispositivo de almacenamiento 800. El dispositivo de almacenamiento 800 puede incluir un dispositivo de almacenamiento ya conocido en la técnica anterior. La forma de realización de la presente invención no limita la puesta en práctica específica del dispositivo de almacenamiento 800. El dispositivo de almacenamiento 800 incluye:
un procesador 810, una interfaz de comunicaciones 820, una memoria 830 y un bus de comunicaciones 840.
El procesador 810, la interfaz de comunicaciones 820 y la memoria 830 realizan una comunicación mutua utilizando el bus de comunicaciones 840.
La interfaz de comunicaciones 820 está configurada para comunicarse con un elemento de red, a modo de ejemplo, con un host o un conmutador.
El procesador 810 está configurado para ejecutar un programa 832.
Más concretamente, el programa 832 puede incluir un código de programa, y el código de programa comprende una instrucción de operación informática.
El procesador 810 puede ser una unidad central de procesamiento, CPU, o un circuito integrado específico de aplicación, Application Specific Integrated Circuit (ASIC), o se puede configurar para uno o múltiples circuitos integrados que ponen en práctica las formas de realización de la presente invención.
La memoria 830 está configurada para memorizar el programa 832. La memoria 830 puede incluir una memoria RAM de alta velocidad, o una memoria no volátil, a modo de ejemplo, al menos una memoria de disco magnético.
El programa 832 puede incluir, específicamente:
un módulo de recepción 601, configurado para recibir información de dirección enviada por un dispositivo de almacenamiento 50;
un módulo de búsqueda 602, configurado para: cuando se determina que el dispositivo de almacenamiento 50 ha fallado, un dispositivo de almacenamiento 60 obtiene, de conformidad con la información de dirección, datos objeto de escritura correspondientes a un primer número, en donde la información de dirección correspondiente al primer el número, es la misma que la información de dirección recibida, y el primer número es un número que precede al número del período de tiempo actual; y
un módulo de escritura 604, configurado para añadir un segundo número a los datos objeto de escritura y la información de dirección correspondiente al primer número y para escribir la información en una memoria caché.
Para realizaciones específicas de los módulos en el programa 832, se puede hacer referencia a módulos correspondientes en la forma de realización ilustrada en la Figura 6, que no se describirá, de forma adicional, en este documento.
Los expertos en la técnica pueden entender claramente que, para la finalidad de una descripción conveniente y breve, para un proceso de funcionamiento detallado del dispositivo y módulo anterior, puede hacerse referencia a un proceso correspondiente en las formas de realización del método anteriores, y los detalles no se describen aquí de nuevo.
A continuación, se describe una aplicación del método dado a conocer por esta forma de realización de la presente invención, para un escenario operativo que incluye al menos dos centros de recuperación de desastres.
Tal como se ilustra en la Figura 9, un sistema de almacenamiento incluye un centro de producción y al menos dos centros de recuperación de desastres.
El centro de producción incluye un host de producción, un dispositivo de conexión y una matriz de producción. Una arquitectura de sistema de un centro de recuperación de desastres es similar a la del centro de producción, incluyendo un host de recuperación de desastres, un dispositivo de conexión y una matriz de recuperación de desastres. El centro de producción y el centro de recuperación de desastres pueden realizar la transmisión de datos a través del Protocolo Internet (IP) o un Canal de Fibra (FC). Puede existir un centro de control entre el centro de producción y el centro de recuperación de desastres. El centro de control puede ponerse en práctica en el lado del centro de producción o en el lado del centro de recuperación de desastres, o realizarse en un dispositivo de terceros entre el centro de producción y el centro de recuperación de desastres. El centro de control está configurado para enviar una señal a la matriz de recuperación de desastres cuando la matriz de producción está en condición de fallo, de modo que la matriz de recuperación de desastres asuma los servicios de host de la matriz de producción.
El host de producción y el host de recuperación de desastres pueden ser cualesquiera dispositivos informáticos conocidos en la técnica anterior, tal como hosts y ordenadores de sobremesa. En el interior de un host, se instalan un sistema operativo y otros programas de aplicación.
El dispositivo de conexión puede incluir cualquier interfaz, conocida en la técnica anterior, entre un dispositivo de
almacenamiento y un host, tal como un conmutador de fibra u otros conmutadores actualmente disponibles.
La matriz de producción y la matriz de recuperación de desastres pueden ser, ambas, dispositivos de almacenamiento conocidos en la técnica anterior, tales como una Matriz Redundante de Discos Independientes (RAID), Apenas un Grupo de Discos (JBOD), y una o más unidades de disco interconectadas, tal como una biblioteca de cintas o un dispositivo de almacenamiento en cinta de una o más unidades de almacenamiento, en donde la una o más unidades de disco interconectadas son de un Dispositivo de Almacenamiento de Acceso Directo (DASD).
El espacio de almacenamiento de la matriz de producción puede incluir múltiples volúmenes de datos. Un volumen de datos es un espacio de almacenamiento lógico formado al realizar el mapeado del espacio de almacenamiento físico. A modo de ejemplo, un volumen de datos puede ser un Número de Unidad Lógica (LUN) o un sistema de ficheros. En esta forma de realización de la invención, la matriz de recuperación de desastres tiene una estructura similar a la de la matriz de producción.
Con el fin de garantizar la seguridad de los datos en el centro de producción, en condiciones normales, se necesita poner en práctica una pluralidad de centros de recuperación de desastres. Los datos en el centro de producción se copian en la pluralidad de centros de recuperación de desastres; de modo que, cuando el centro de producción y un centro de recuperación de desastres encuentran, a la vez, un desastre, otro centro de recuperación de desastres almacena todavía los datos y no se pierden. En esta forma de realización de la presente invención, una tarea en la que la matriz de producción copia datos que memoriza en un volumen de datos, para una matriz de recuperación de desastres, se denomina una relación de copia (también denominada como un par). Cada relación de copia corresponde a un único identificador (a modo de ejemplo, ID). Antes de que se produzca un desastre, puesto que la matriz de producción recibe, continuamente, demandas de datos de escritura enviadas por el host, la matriz de producción necesita, además, copiar continuamente los datos que almacena, para la matriz de recuperación de desastres. Por lo tanto, una relación de copia se puede dividir en un determinado número de períodos de tiempo, y una tarea en la que la matriz de producción envía, dentro de cada período de tiempo, información incluida en una demanda de datos de escritura, recibida por un volumen de datos, a la matriz de recuperación de desastres, es conocida como una tarea de copia.
La matriz de producción puede incluir un gestor de número de período de tiempo actual que memoriza números de período de tiempo actuales. Un número de período de tiempo actual puede ser un valor numérico, tal como 0, 1 o 2,
o una letra, tal como a, b, c, lo que no está aquí limitado. Conviene señalar que el número de período de tiempo actual es aplicable a cada matriz de recuperación de desastres. Cada vez que se inicia operativamente una tarea de copia, se modifica el número del período de tiempo actual.
El hecho de que el número de período de tiempo actual sea 1 se utiliza a modo de ejemplo. Cuando la matriz de producción recibe una demanda de datos de escritura, se añade un número de un valor numérico 1 a datos objeto de escritura y la información de dirección incluida en la demanda de datos de escritura y, a continuación, los datos objeto de escritura y la información de dirección, incluida en la demanda de datos de escritura y el número del valor numérico 1, son todos ellos objeto de escritura en una memoria caché.
Cuando se inicia una tarea de copia correspondiente a una primera matriz de recuperación de desastres, la matriz de producción modifica el número de período de tiempo actual desde un valor numérico 1 a un valor numérico 2, de modo que se añade un número de valor numérico 2 a los datos objeto de escritura y la información de dirección incluida en una demanda de datos de escritura recibida posteriormente. Luego, los datos objeto de escritura y la información de dirección, correspondiente al número de valoración número 1 se envían a la primera matriz de recuperación de desastres.
Cuando se inicia una tarea de copia correspondiente a una segunda matriz de recuperación de desastres, la matriz de producción modifica el número de período de tiempo actual desde un valor numérico 2 a un valor numérico 3, de modo que se añade un número del valor numérico 3 a los datos objeto de escritura y la información de dirección incluida en una demanda de datos de escritura, que se recibe con posterioridad.
Cuando se inicia una tarea de copia correspondiente a una tercera matriz de recuperación de desastres, la matriz de producción modifica el número de período de tiempo actual desde un valor numérico 3 a un valor numérico 4, de modo que se añade un número de valor numérico 4 a los datos objeto de escritura y la información de dirección incluida en una demanda de datos de escritura recibida posteriormente.
Sin embargo, cuando la tarea de copia correspondiente a la primera matriz de recuperación de desastres se activa para otro momento, la matriz de producción modifica el número de período de tiempo actual desde un valor numérico 4 a un valor numérico 5, de modo que se añade un número de valor numérico 5 a los datos objeto de escritura y la información de dirección incluida en una demanda de datos de escritura recibida posteriormente. Se supone que la matriz de producción registra solamente el número de período de tiempo actual. Entonces, en este momento, en consecuencia, solamente los datos objeto de escritura y la información de dirección correspondiente al número del valor numérico 4 se envían al primer centro de recuperación de desastres. En consecuencia, se omiten
los datos objeto de escritura y la información de dirección correspondiente al número del valor numérico 2, y los datos objeto de escritura y la información de dirección correspondiente al número del valor numérico 3, y los datos memorizados en la primera matriz de recuperación de desastres son incompatibles con los existentes en la matriz de producción. De modo similar, la segunda matriz de recuperación de desastres, y la tercera matriz de recuperación de desastres, se enfrentan, además, a un problema por el cual los datos recibidos, objeto de escritura, y la información de dirección están incompletos.
Haciendo referencia a la Figura 10, la Figura 10 muestra una forma de realización de un método de copia de datos dado a conocer por la presente invención con el fin de resolver el problema. El método se aplica a una matriz de producción que corresponde a por lo menos dos matrices de recuperación de desastres. En esta forma de realización de la presente invención, para facilidad de descripción, la matriz de producción se refiere como un primer dispositivo de almacenamiento, y una de las al menos dos matrices de recuperación de desastres se refiere como un segundo dispositivo de almacenamiento. Debe observarse que se puede hacer referencia a las formas de realización que se ilustran en la Figura 2 a la Figura 4, para la realización específica de las etapas siguientes.
El método incluye las etapas siguientes:
Etapa 41: Cuando se inicia operativamente una tarea de copia actual, el primer dispositivo de almacenamiento realiza la lectura de un número de período de tiempo actual.
La tarea de copia puede ser activada por un temporizador, o activada manualmente, o activada por medio de otras formas de activación, lo que no está aquí limitado. Cuando se inicia la tarea de copia, el primer dispositivo de almacenamiento puede leer el número de período de tiempo actual a partir de un gestor de número de período de tiempo actual. Conviene señalar que, cuando se inicia la tarea de copia, el primer dispositivo de almacenamiento modifica el número de período de tiempo actual en un momento de activación, y en este caso, el número de período de tiempo, leído por el primer dispositivo de almacenamiento, es el número de período de tiempo actual modificado. Para facilitar la descripción, en las etapas siguientes, el número de período de tiempo actual, antes de la modificación, se refiere como un número de período de tiempo histórico.
Etapa 42: Efectuar la lectura de un segundo número, en donde el segundo número es un número correspondiente a la última tarea de copia completada, que está correlacionada con la tarea de copia actual.
En esta forma de realización de la presente invención, el hecho de que la última tarea de copia completada esté correlaciona con la tarea de copia actual significa que la tarea de copia actual, y la última tarea de copia completada pertenecen a una misma relación de copia y, a partir de la descripción anterior, se puede deducir que cada relación de copia tiene un identificador ID único. Cuando se inicia la tarea de copia, el primer dispositivo de almacenamiento puede recibir el ID, y leer el segundo número de conformidad con el ID.
Más concretamente, cuando la tarea de copia actual se inicia por un temporizador, el identificador ID se puede incluir en el temporizador; y cuando la tarea de copia actual se inicia manualmente, el primer dispositivo de almacenamiento puede recibir el ID en forma de señal u otras formas.
En esta forma de realización de la presente invención, cada vez que se completa una tarea de copia, se registra un número correspondiente a la tarea de copia completada. De modo opcional, solamente se puede memorizar un número correspondiente a la última tarea de copia finalizada, y el número se actualiza cuando se completa una tarea de copia siguiente; o bien, pueden memorizarse los números correspondientes a todas las tareas de copia completadas, lo que no está limitado en este documento.
Debe entenderse que un número correspondiente a una última tarea de copia completada se registre en cada relación de copia.
Etapa 43: La determinación, de conformidad con el número de período de tiempo actual y el segundo número, de un primer número, en donde el primer número es un número antes del número de período de tiempo actual cuando se inicia la tarea de copia, y el primer número es un número después del segundo número.
A modo de ejemplo, el número de período de tiempo actual es un valor numérico 5, y el segundo número es un valor numérico 2, y cualquier número en un intervalo (2, 5) se puede determinar como el primer número. Conviene señalar que el intervalo es un intervalo abierto que excluye el valor numérico 2 y el valor numérico 5.
Etapa 44: Realizar la copia de datos que han de copiarse y la información de dirección de los datos que han de copiarse, que están almacenados en una memoria caché y que corresponden al primer número, para un segundo dispositivo de almacenamiento.
Más concretamente, los datos que han de copiarse y la información de dirección de los datos que han de copiarse, que corresponden al primer número se leen desde la memoria caché, y los datos que han de copiarse y la información de dirección de los datos que han de copiarse, se envían al segundo dispositivo de almacenamiento.
De modo opcional, el primer dispositivo de almacenamiento puede enviar, directamente, los datos que han de copiarse y la información de dirección de los datos, que han de copiarse, al segundo dispositivo de almacenamiento,
o generar una demanda de datos de escritura de conformidad con los datos que han de copiarse y la información de dirección de los datos que han de copiarse, y enviar la demanda de datos de escritura al segundo dispositivo de almacenamiento.
Opcionalmente, cuando una pluralidad de números satisfacen, en su totalidad, una condición de estar antes del número de período de tiempo actual cuando se inicia la tarea de copia actual, y después del número correspondiente a la última tarea de copia completada, y la pluralidad de números corresponde a la misma información de dirección, solamente la información de dirección y los datos que han de copiarse, correspondientes a un último número, pueden enviarse al segundo dispositivo de almacenamiento. El último número es un número generado más recientemente. A modo de ejemplo, se supone que el número del período de tiempo actual se modifica añadiendo 1 cada vez, y el último número es un número con el valor numérico más alto.
En esta forma de realización de la presente invención, cuando se inicia la tarea de copia actual, el primer dispositivo de almacenamiento determina el primer número de conformidad con el número de período de tiempo actual y el segundo número, en donde el segundo número es un número correspondiente a la última tarea de copia finalizada, antes de la tarea de copia actual, y el primer número es un número anterior al número de período de tiempo actual cuando se inicia la tarea de copia actual y después del segundo número, y copia los datos, que han de copiarse, y la información de dirección de los datos que han de copiarse, que están memorizados en la memoria caché y corresponden al primer número, para el segundo dispositivo de almacenamiento. Puesto que todos los números entre el segundo número y el número de período de tiempo actual se pueden determinar como el primer número, siempre que se determine un número como el primer número, datos que han de copiarse e información de dirección de los datos que han de copiarse, que corresponden al número, se pueden copiar en el segundo dispositivo de almacenamiento. Por lo tanto, incluso si se modifica el número de período actual cuando se inicia una tarea de copia correspondiente a otra matriz de recuperación de desastres, el primer dispositivo de almacenamiento puede encontrar todavía, de conformidad con el segundo número, datos que han de copiarse e información de dirección de los datos que han de copiarse, que no se han copiado en el segundo dispositivo de almacenamiento, y copiarlos en el segundo dispositivo de almacenamiento, con lo que se asegura la integridad de la copia.
De modo opcional, en la forma de realización anterior, antes de que se inicie la tarea de copia actual, el método incluye, además:
la recepción de una primera demanda de datos de escritura, en donde la primera demanda de datos de escritura incluye los datos que han de copiarse y la información de dirección de los datos que han de copiarse; y la adición del primer número a los datos que han de copiarse y la información de dirección de los datos que han de copiarse y realizar su escritura en la memoria caché, en donde el primer número es un número de período de tiempo histórico.
Más concretamente, el número de período de tiempo histórico se refiere a un número de período de tiempo actual correspondiente a un momento en que se recibe la primera demanda de datos de escritura. A partir de las formas de realización ilustradas en la Figura 2 a la Figura 4, se puede deducir que, cuando se inicia operativamente una tarea de copia, el número de período de tiempo histórico debe modificarse a un número de período de tiempo actual.
De modo opcional, el método puede incluir, además:
la recepción de una segunda demanda de datos de escritura, en donde la segunda demanda de datos de escritura incluye datos objetivo e información de dirección de los datos objetivo;
la adición de un tercer número a los datos objetivo y la información de dirección de los datos objetivo;
la determinación de si el tercer número es el mismo que el primer número;
cuando el tercer número es el mismo que el primer número, la determinación de si la información de dirección de los datos objetivo es la misma, o no, que la información de dirección de los datos que han de copiarse;
cuando la información de dirección de los datos objetivo es la misma que la información de dirección de los datos que han de copiarse, la sustitución de los datos que han de copiarse, memorizados en la memoria caché, con los datos objetivo; y
cuando la información de dirección de los datos objetivo no es la misma que la información de dirección de los datos que han de copiarse, efectuar la escritura, en la memoria caché, de los datos objetivo y la información de dirección de los datos objetivo después de que se añada el tercer número.
Cuando el tercer número no es el mismo que el primer número, los datos objetivo y la información de dirección de los datos objetivo después de que se haya añadido el tercer número, se escriben en la memoria caché.
Haciendo referencia a la Figura 11, la Figura 11 es un diagrama estructural esquemático de un dispositivo de almacenamiento de conformidad con una forma de realización de la presente invención. Tal como se ilustra en la Figura 11, el dispositivo de almacenamiento incluye: un módulo de lectura y escritura 52, un módulo de determinación 53 y un módulo de copia 54.
El módulo de lectura y escritura 52 está configurado para leer un número de período de tiempo actual cuando se inicia una tarea de copia actual, y efectuar la lectura de un segundo número, en donde el segundo número es un número correspondiente a una última tarea de copia completada que está correlacionada con la tarea de copia actual.
El módulo de determinación 53 está configurado para determinar, de conformidad con el número de período de tiempo actual y el segundo número, un primer número, en donde el primer número es un número anterior al número de período de tiempo actual cuando se inicia la tarea de copia actual, y el primer número es un número después del segundo número.
El módulo de copia 54 está configurado para copiar los datos que han de copiarse y la información de dirección de los datos que han de copiarse, que están almacenados en memoria caché y que corresponden al primer número, para un segundo dispositivo de almacenamiento.
En esta forma de realización de la presente invención, cuando se inicia la tarea de copia actual, el primer dispositivo de almacenamiento determina el primer número de conformidad con el número de período de tiempo actual y el segundo número, en donde el segundo número es un número correspondiente a la última tarea de copia finalizada antes de la tarea de copia actual, el primer número es un número anterior al número de período de tiempo actual cuando se inicia la tarea de copia actual y después del segundo número, y realiza la copia de los datos que han de copiarse y la información de dirección de los datos que han de copiarse, que están memorizados en la memoria caché, y que corresponden al primer número, en el segundo dispositivo de almacenamiento. Puesto que todos los números entre el segundo número y el número de período de tiempo actual se pueden determinar como el primer número, siempre que se determine un número como el primer número, datos que han de copiarse e información de dirección de los datos que han de copiarse, que corresponden al número, se pueden copiar en el segundo dispositivo de almacenamiento. De este modo, incluso si el número de período actual se modifica cuando se inicia una tarea de copia correspondiente a otra matriz de recuperación de desastres, el primer dispositivo de almacenamiento puede encontrar todavía, de conformidad con el segundo número, datos que han de copiarse e información de dirección de los datos que han de copiarse, que no están copiados en el segundo dispositivo de almacenamiento y realizar su copia en el segundo dispositivo de almacenamiento, asegurando así la integridad de la copia.
De modo opcional, el dispositivo de almacenamiento puede incluir, además, un módulo de registro 55, configurado para registrar el segundo número.
Opcionalmente, el hecho de que la última tarea de copia completada esté correlaciona con la tarea de copia actual significa que la tarea de copia actual y la última tarea de copia completada pertenecen a una misma relación de copia; y el dispositivo de almacenamiento incluye, además, un módulo de recepción 51.
El módulo de recepción 51 está configurado para recibir un identificador correspondiente a la relación de copia.
El módulo de lectura y escritura está configurado, específicamente, para leer, de conformidad con el identificador, el segundo número correspondiente a la tarea de copia actual.
De modo opcional, el módulo de recepción 51 está configurado, además, para recibir una primera demanda de datos de escritura antes de que se inicie la tarea de copia actual, en donde la primera demanda de datos de escritura incluye los datos que han de copiarse y la información de dirección de los datos que han de copiarse; y
el módulo de lectura y escritura 52 está configurado, además, para añadir el primer número a los datos que han de copiarse y la información de dirección de los datos que han de copiarse, y los escribe en la memoria caché, en donde el primer número es un número de período tiempo histórico. El número de período de tiempo actual se forma modificando el número de período de tiempo histórico.
Opcionalmente, el módulo de copia 54 está específicamente configurado para: cuando la información de dirección corresponde a una pluralidad de números, la determinación de un último número en los números correspondientes a la información de dirección, como el primer número; y efectuar la copia de los datos, que han de copiarse, y la información de dirección de los datos, que han de copiarse, que están memorizados en la memoria caché, y que corresponden al primer número, en el segundo dispositivo de almacenamiento.
El dispositivo de almacenamiento dado a conocer por esta forma de realización de la presente invención, se utiliza para realizar el método de copia de datos descrito en la forma de realización anterior. Se puede hacer referencia a la
descripción de la forma de realización del método para una descripción detallada de las funciones de los módulos, y por ello, no se describen más detalles en este documento.
Tal como se ilustra en la Figura 12, la Figura 12 ilustra un dispositivo de almacenamiento dado a conocer por una 5 forma de realización de la invención de prevención, que incluye:
un procesador 101, una memoria 102, un bus del sistema (bus, en forma abreviada) 105, y una interfaz de comunicaciones 103. El procesador 101, la memoria 102 y la interfaz de comunicaciones 103 están conectados y realizan una comunicación mutua utilizando el bus del sistema 105.
10 El procesador 101 puede ser una unidad central de procesamiento de un solo núcleo o de múltiples núcleos, o un circuito integrado específico, o estar configurado para uno o más circuitos integrados que ponen en práctica las formas de realización de la presente invención.
15 La memoria 102 puede ser una memoria RAM de alta velocidad, o una memoria no volátil (non-volatile memory), a modo de ejemplo, al menos una memoria de disco magnético.
La interfaz de comunicaciones 103 está configurada para comunicarse con un dispositivo de almacenamiento.
20 La memoria 102 está configurada para memorizar una instrucción ejecutable por ordenador 1021. Más concretamente, la instrucción ejecutable por ordenador 1021 puede incluir un código de programa.
Cuando se pone en funcionamiento un ordenador, el procesador 101 ejecuta la instrucción ejecutable del ordenador 1021 y puede realizar el proceso del método ilustrado en la Figura 10.
25 En las diversas formas de realización, dadas a conocer en la presente solicitud, ha de entenderse que el dispositivo y el método dados a conocer se pueden poner en práctica de otras maneras. A modo de ejemplo, la forma de realización de aparato descrita es simplemente a modo de ejemplo. Por ejemplo, la división del módulo es simplemente una división de funciones lógicas y pueden existir otras divisiones en la puesta en práctica real. Por
30 ejemplo, una pluralidad de módulos o componentes se pueden combinar o integrarse en otro dispositivo, o algunas características pueden ignorarse o no realizarse. Además, los acoplamientos mutuos visualizados o examinados o los acoplamientos directos o conexiones de comunicación, se pueden poner en práctica mediante el uso de algunas interfaces. Los acoplamientos indirectos o conexiones de comunicación entre los aparatos o módulos se pueden realizar en forma electrónica, mecánica o de otro tipo.
35 Los módulos descritos como partes separadas pueden, o no, estar separados físicamente, y las partes mostradas como módulos pueden, o no, ser sub-módulos físicos, pueden estar situados en una sola posición, o pueden distribuirse en una pluralidad de red de sub-módulos. Algunos o la totalidad de los módulos se pueden seleccionar para conseguir los objetivos de la solución de la forma de realización de conformidad con las necesidades reales.
40 Además, los módulos de funciones en las formas de realización de la presente invención, se pueden integrar en un módulo de procesamiento, o cada uno de los módulos puede existir por sí solo físicamente, o se pueden integrar dos
o más módulos en un solo módulo.
45 Los expertos en la técnica pueden comprender que la totalidad o una parte de las etapas de las formas de realización anteriores se pueden poner en práctica mediante hardware, o se pueden poner en práctica mediante un programa que proporcione instrucciones a un hardware relevante. El programa puede memorizarse en un soporte de almacenamiento legible por ordenador. El soporte de almacenamiento puede ser una memoria de solamente lectura, un disco magnético o un disco óptico.
50 Por último, conviene señalar que las formas de realización anteriores están previstas solamente para describir las soluciones técnicas de la presente invención, en lugar de limitar la presente invención.

Claims (4)

  1. REIVINDICACIONES
    1. Un método para que un primer dispositivo de almacenamiento realice una copia de seguridad de datos en un segundo dispositivo de almacenamiento, que comprende:
    5 la obtención (S103), por un procesador del primer dispositivo de almacenamiento, de nuevos datos incluidos en una pluralidad de demandas de datos de escritura de conformidad con un primer número, a partir de una memoria caché del primer dispositivo de almacenamiento, en donde el primer número corresponde a una tarea de copia actual, en donde cada una de las demandas de datos de escritura se incorpora al primer número;
    10 la identificación, por el procesador, de un segundo número, en donde el segundo número está asociado con una tarea de copia previa hasta que los datos de demandas de datos de escritura, recibidos por el primer dispositivo de almacenamiento, hayan sido objeto de copia en el segundo dispositivo de almacenamiento;
    15 la obtención (S107), por el procesador, a partir de la memoria caché, de datos antiguos de demandas de datos de escritura, memorizados en la memoria caché, que se reciben después de la tarea de copia previa que corresponde al segundo número; y
    el envío (S108), por el procesador, de los datos nuevos y los datos antiguos a un segundo dispositivo de 20 almacenamiento.
  2. 2. El método según la reivindicación 1, en donde cada una de las demandas de datos de escritura incluye, además, una dirección, y el método comprende, además:
    25 el envío (S108), por el procesador, de la dirección al segundo dispositivo de almacenamiento para dar instrucciones al segundo dispositivo de almacenamiento para la memorización de los datos nuevos y los datos antiguos en un espacio de almacenamiento de la dirección.
  3. 3. Un dispositivo de almacenamiento para la copia de seguridad de datos en otro dispositivo de almacenamiento, 30 que comprende:
    un módulo de lectura y escritura (502), configurado para obtener nuevos datos incluidos en una pluralidad de demandas de datos de escritura de conformidad con un primer número, a partir de una memoria caché del dispositivo de almacenamiento, en donde el primer número corresponde a una tarea de copia actual, en donde cada
    35 una de las demandas de datos de escritura se incorpora al primer número;
    la identificación de un segundo número, en donde el segundo número está asociado con una tarea de copia previa hasta que los datos de demandas de datos de escritura recibidos por el primer dispositivo de almacenamiento hayan sido objeto de copia en el segundo dispositivo de almacenamiento; y
    40 la obtención, a partir de la memoria caché, de datos antiguos de demandas de datos de escritura, memorizados en la memoria caché, que se reciben después de la tarea de copia previa correspondiente al segundo número; y
    un módulo de envío (504), configurado para enviar los datos nuevos y los datos antiguos a otro dispositivo de 45 almacenamiento.
  4. 4. El dispositivo de almacenamiento según la reivindicación 3, en donde cada una de las demandas de datos de escritura incluye, además, una dirección, y en donde el módulo de envío (504) está configurado, además, para enviar la dirección al otro dispositivo de almacenamiento para dar instrucciones al otro dispositivo de
    50 almacenamiento para la memorización de los datos nuevos y los datos antiguos en un espacio de almacenamiento de la dirección.
ES16177686.9T 2013-07-26 2013-11-15 Método de envío de datos, método de recepción de datos y dispositivo de almacenamiento Active ES2666580T3 (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
PCT/CN2013/080203 WO2015010327A1 (zh) 2013-07-26 2013-07-26 数据发送方法、数据接收方法和存储设备
WOPCT/CN2013/080203 2013-07-26

Publications (1)

Publication Number Publication Date
ES2666580T3 true ES2666580T3 (es) 2018-05-07

Family

ID=50253404

Family Applications (2)

Application Number Title Priority Date Filing Date
ES13878530.8T Active ES2610784T3 (es) 2013-07-26 2013-11-15 Método de envío de datos, método de recepción de datos y dispositivo de almacenamiento
ES16177686.9T Active ES2666580T3 (es) 2013-07-26 2013-11-15 Método de envío de datos, método de recepción de datos y dispositivo de almacenamiento

Family Applications Before (1)

Application Number Title Priority Date Filing Date
ES13878530.8T Active ES2610784T3 (es) 2013-07-26 2013-11-15 Método de envío de datos, método de recepción de datos y dispositivo de almacenamiento

Country Status (13)

Country Link
US (2) US9311191B2 (es)
EP (2) EP3179359B1 (es)
JP (2) JP6344798B2 (es)
KR (1) KR101602312B1 (es)
CN (1) CN103649901A (es)
AU (2) AU2013385792B2 (es)
CA (1) CA2868247C (es)
DK (1) DK3179359T3 (es)
ES (2) ES2610784T3 (es)
HU (1) HUE037094T2 (es)
NO (1) NO3179359T3 (es)
RU (1) RU2596585C2 (es)
WO (2) WO2015010327A1 (es)

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103649901A (zh) * 2013-07-26 2014-03-19 华为技术有限公司 数据发送方法、数据接收方法和存储设备
CN103488431A (zh) * 2013-09-10 2014-01-01 华为技术有限公司 一种写数据方法及存储设备
US9552248B2 (en) 2014-12-11 2017-01-24 Pure Storage, Inc. Cloud alert to replica
US10545987B2 (en) * 2014-12-19 2020-01-28 Pure Storage, Inc. Replication to the cloud
CN106407040B (zh) 2016-09-05 2019-05-24 华为技术有限公司 一种远程数据复制方法及***
CN107844259B (zh) * 2016-09-18 2020-06-16 华为技术有限公司 数据访问方法、路由装置和存储***
CN112068992A (zh) * 2016-10-28 2020-12-11 华为技术有限公司 一种远程数据复制方法、存储设备及存储***
CN108076090B (zh) * 2016-11-11 2021-05-18 华为技术有限公司 数据处理方法和存储管理***
CN106598768B (zh) * 2016-11-28 2020-02-14 华为技术有限公司 一种处理写请求的方法、装置和数据中心
CN108449277B (zh) * 2016-12-12 2020-07-24 华为技术有限公司 一种报文发送方法及装置
CN106776369B (zh) * 2016-12-12 2020-07-24 苏州浪潮智能科技有限公司 一种缓存镜像的方法及装置
CN108475254A (zh) * 2016-12-16 2018-08-31 华为技术有限公司 对象复制方法、装置及对象存储设备
CN106776147B (zh) * 2016-12-29 2020-10-09 华为技术有限公司 一种差异数据备份方法和差异数据备份装置
CN107122261B (zh) * 2017-04-18 2020-04-07 杭州宏杉科技股份有限公司 一种存储设备的数据读写方法及装置
CN107577421A (zh) * 2017-07-31 2018-01-12 深圳市牛鼎丰科技有限公司 智能设备扩容方法、装置、存储介质和计算机设备
AU2018357856B2 (en) * 2017-10-31 2021-03-18 Ab Initio Technology Llc Managing a computing cluster using time interval counters
CN108052294B (zh) * 2017-12-26 2021-05-28 郑州云海信息技术有限公司 一种分布式存储***的修改写方法和修改写***
US11216370B2 (en) * 2018-02-20 2022-01-04 Medtronic, Inc. Methods and devices that utilize hardware to move blocks of operating parameter data from memory to a register set
US10642521B2 (en) * 2018-05-11 2020-05-05 International Business Machines Corporation Scaling distributed queues in a distributed storage network
CN109032527B (zh) * 2018-07-27 2021-07-27 深圳华大北斗科技有限公司 数据处理方法、存储介质及计算机设备
US10942725B2 (en) * 2018-07-30 2021-03-09 Ford Global Technologies, Llc Over the air Ecu update
US11038961B2 (en) 2018-10-26 2021-06-15 Western Digital Technologies, Inc. Ethernet in data storage device
CN109697035B (zh) * 2018-12-24 2022-03-29 深圳市明微电子股份有限公司 级联设备的地址数据的写入方法、写入设备及存储介质
US11620230B2 (en) * 2019-05-24 2023-04-04 Texas Instruments Incorporated Methods and apparatus to facilitate read-modify-write support in a coherent victim cache with parallel data paths
US11119862B2 (en) * 2019-10-11 2021-09-14 Seagate Technology Llc Delta information volumes to enable chained replication of data by uploading snapshots of data to cloud
CN114731282B (zh) * 2019-11-22 2023-06-02 华为技术有限公司 处理非缓存写数据请求的方法、缓存器和节点
US11755230B2 (en) * 2021-04-22 2023-09-12 EMC IP Holding Company LLC Asynchronous remote replication of snapshots
US12008018B2 (en) * 2021-04-22 2024-06-11 EMC IP Holding Company LLC Synchronous remote replication of snapshots

Family Cites Families (58)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR0128271B1 (ko) * 1994-02-22 1998-04-15 윌리암 티. 엘리스 재해회복을 위한 일관성 그룹 형성방법 및 레코드갱싱의 섀도잉 방법, 주시스템, 원격데이타 섀도잉 시스템과 비동기 원격데이타 복제 시스템
US5758359A (en) * 1996-10-24 1998-05-26 Digital Equipment Corporation Method and apparatus for performing retroactive backups in a computer system
US6081875A (en) 1997-05-19 2000-06-27 Emc Corporation Apparatus and method for backup of a disk storage system
JP2000137638A (ja) * 1998-10-29 2000-05-16 Hitachi Ltd 情報記憶システム
US6526418B1 (en) * 1999-12-16 2003-02-25 Livevault Corporation Systems and methods for backing up data files
US6675177B1 (en) * 2000-06-21 2004-01-06 Teradactyl, Llc Method and system for backing up digital data
US6988165B2 (en) * 2002-05-20 2006-01-17 Pervasive Software, Inc. System and method for intelligent write management of disk pages in cache checkpoint operations
JP2004013367A (ja) * 2002-06-05 2004-01-15 Hitachi Ltd データ記憶サブシステム
US7761421B2 (en) 2003-05-16 2010-07-20 Hewlett-Packard Development Company, L.P. Read, write, and recovery operations for replicated data
JP2005309550A (ja) * 2004-04-19 2005-11-04 Hitachi Ltd リモートコピー方法及びリモートコピーシステム
JP4267421B2 (ja) * 2003-10-24 2009-05-27 株式会社日立製作所 リモートサイト及び/又はローカルサイトのストレージシステム及びリモートサイトストレージシステムのファイル参照方法
US7054883B2 (en) * 2003-12-01 2006-05-30 Emc Corporation Virtual ordered writes for multiple storage devices
ES2345388T3 (es) * 2004-02-12 2010-09-22 Irdeto Access B.V. Metodo y sistema de almacenamiento de datos externo.
JP4455927B2 (ja) * 2004-04-22 2010-04-21 株式会社日立製作所 バックアップ処理方法及び実施装置並びに処理プログラム
CN100359476C (zh) * 2004-06-03 2008-01-02 华为技术有限公司 一种快照备份的方法
JP4519563B2 (ja) * 2004-08-04 2010-08-04 株式会社日立製作所 記憶システム及びデータ処理システム
JP4377790B2 (ja) * 2004-09-30 2009-12-02 株式会社日立製作所 リモートコピーシステムおよびリモートコピー方法
US7519851B2 (en) * 2005-02-08 2009-04-14 Hitachi, Ltd. Apparatus for replicating volumes between heterogenous storage systems
US8127174B1 (en) * 2005-02-28 2012-02-28 Symantec Operating Corporation Method and apparatus for performing transparent in-memory checkpointing
US8005795B2 (en) * 2005-03-04 2011-08-23 Emc Corporation Techniques for recording file operations and consistency points for producing a consistent copy
US7310716B2 (en) * 2005-03-04 2007-12-18 Emc Corporation Techniques for producing a consistent copy of source data at a target location
JP2007066154A (ja) 2005-09-01 2007-03-15 Hitachi Ltd データをコピーして複数の記憶装置に格納するストレージシステム
CA2632935C (en) * 2005-12-19 2014-02-04 Commvault Systems, Inc. Systems and methods for performing data replication
US7761663B2 (en) * 2006-02-16 2010-07-20 Hewlett-Packard Development Company, L.P. Operating a replicated cache that includes receiving confirmation that a flush operation was initiated
JP2007323507A (ja) * 2006-06-02 2007-12-13 Hitachi Ltd 記憶システム並びにこれを用いたデータの処理方法
US8150805B1 (en) * 2006-06-30 2012-04-03 Symantec Operating Corporation Consistency interval marker assisted in-band commands in distributed systems
US7885923B1 (en) * 2006-06-30 2011-02-08 Symantec Operating Corporation On demand consistency checkpoints for temporal volumes within consistency interval marker based replication
US8726242B2 (en) * 2006-07-27 2014-05-13 Commvault Systems, Inc. Systems and methods for continuous data replication
CN100485629C (zh) * 2006-08-15 2009-05-06 英业达股份有限公司 群聚式计算机***高速缓存数据备份处理方法及***
GB0616257D0 (en) * 2006-08-16 2006-09-27 Ibm Storage management system for preserving consistency of remote copy data
US8145865B1 (en) * 2006-09-29 2012-03-27 Emc Corporation Virtual ordered writes spillover mechanism
KR20080033763A (ko) 2006-10-13 2008-04-17 삼성전자주식회사 와이브로 네트워크에서의 상호인증을 통한 핸드오버 방법및 그 시스템
US8768890B2 (en) * 2007-03-14 2014-07-01 Microsoft Corporation Delaying database writes for database consistency
JP4964714B2 (ja) * 2007-09-05 2012-07-04 株式会社日立製作所 ストレージ装置及びデータの管理方法
US8073922B2 (en) * 2007-07-27 2011-12-06 Twinstrata, Inc System and method for remote asynchronous data replication
US8140772B1 (en) * 2007-11-06 2012-03-20 Board Of Governors For Higher Education, State Of Rhode Island And Providence Plantations System and method for maintaining redundant storages coherent using sliding windows of eager execution transactions
CN101634968B (zh) * 2008-01-17 2011-12-14 四川格瑞特科技有限公司 一种用于备份***的海量数据高速缓存器的构造方法
EP3699765A1 (en) 2008-08-08 2020-08-26 Amazon Technologies, Inc. Providing executing programs with reliable access to non-local block data storage
US8250031B2 (en) 2008-08-26 2012-08-21 Hitachi, Ltd. Low traffic failback remote copy
US8767934B2 (en) 2008-09-03 2014-07-01 Avaya Inc. Associating a topic with a telecommunications address
US8762642B2 (en) * 2009-01-30 2014-06-24 Twinstrata Inc System and method for secure and reliable multi-cloud data replication
US8793288B2 (en) * 2009-12-16 2014-07-29 Sap Ag Online access to database snapshots
CN101751230B (zh) * 2009-12-29 2011-11-09 成都市华为赛门铁克科技有限公司 标定i/o数据的时间戳的设备及方法
US9389892B2 (en) * 2010-03-17 2016-07-12 Zerto Ltd. Multiple points in time disk images for disaster recovery
JP5170169B2 (ja) * 2010-06-18 2013-03-27 Necシステムテクノロジー株式会社 ディスクアレイ装置間のリモートコピー処理システム、処理方法、及び処理用プログラム
CN101901173A (zh) * 2010-07-22 2010-12-01 上海骊畅信息科技有限公司 一种灾备***及灾备方法
US8443149B2 (en) * 2010-09-01 2013-05-14 International Business Machines Corporation Evicting data from a cache via a batch file
US8255637B2 (en) * 2010-09-27 2012-08-28 Infinidat Ltd. Mass storage system and method of operating using consistency checkpoints and destaging
US8667236B2 (en) * 2010-09-29 2014-03-04 Hewlett-Packard Development Company, L.P. Host based write ordering for asynchronous replication
US9792941B2 (en) * 2011-03-23 2017-10-17 Stormagic Limited Method and system for data replication
CN102306115B (zh) * 2011-05-20 2014-01-08 华为数字技术(成都)有限公司 异步远程复制方法、***及设备
CN103092526B (zh) 2011-10-31 2016-03-30 国际商业机器公司 在存储设备间进行数据迁移的方法和装置
US8806281B1 (en) * 2012-01-23 2014-08-12 Symantec Corporation Systems and methods for displaying backup-status information for computing resources
JP6183876B2 (ja) * 2012-03-30 2017-08-23 日本電気株式会社 レプリケーション装置、レプリケーション方法及びプログラム
US20130339569A1 (en) * 2012-06-14 2013-12-19 Infinidat Ltd. Storage System and Method for Operating Thereof
US10318495B2 (en) * 2012-09-24 2019-06-11 Sandisk Technologies Llc Snapshots for a non-volatile device
US9311014B2 (en) * 2012-11-29 2016-04-12 Infinidat Ltd. Storage system and methods of mapping addresses of snapshot families
CN103649901A (zh) * 2013-07-26 2014-03-19 华为技术有限公司 数据发送方法、数据接收方法和存储设备

Also Published As

Publication number Publication date
WO2015010394A1 (zh) 2015-01-29
US9311191B2 (en) 2016-04-12
AU2013385792B2 (en) 2016-04-14
EP2849048A1 (en) 2015-03-18
RU2596585C2 (ru) 2016-09-10
EP2849048B1 (en) 2016-10-19
AU2016203273A1 (en) 2016-06-09
US20160188240A1 (en) 2016-06-30
AU2013385792A1 (en) 2015-02-12
EP2849048A4 (en) 2015-05-27
WO2015010327A1 (zh) 2015-01-29
CN103649901A (zh) 2014-03-19
ES2610784T3 (es) 2017-05-03
NO3179359T3 (es) 2018-08-04
KR101602312B1 (ko) 2016-03-21
HUE037094T2 (hu) 2018-08-28
CA2868247A1 (en) 2015-01-26
EP3179359A1 (en) 2017-06-14
JP2015527670A (ja) 2015-09-17
EP3179359B1 (en) 2018-03-07
RU2014145359A (ru) 2016-05-27
KR20150035507A (ko) 2015-04-06
US10108367B2 (en) 2018-10-23
DK3179359T3 (en) 2018-06-14
JP2018041506A (ja) 2018-03-15
JP6344798B2 (ja) 2018-06-20
US20150113317A1 (en) 2015-04-23
CA2868247C (en) 2017-04-04

Similar Documents

Publication Publication Date Title
ES2666580T3 (es) Método de envío de datos, método de recepción de datos y dispositivo de almacenamiento
US9632881B1 (en) Replication of a virtual distributed volume
ES2600914T3 (es) Gestión de almacenamiento virtual replicado en sitios de recuperación
US10725865B2 (en) Storage unit and storage device
US9684576B1 (en) Replication using a virtual distributed volume
US7398421B1 (en) System and method for storage area network switch port failure recovery
US9569122B2 (en) System, method and a non-transitory computer readable medium for transaction aware snapshot
US9830088B2 (en) Optimized read access to shared data via monitoring of mirroring operations
ES2676057T3 (es) Método de memorización de datos, aparato de memorización de datos y dispositivo de memorización
US8825973B2 (en) Caching source blocks of data for target blocks of data
US20110197011A1 (en) Storage apparatus and interface expansion authentication method therefor
JP2011165212A (ja) 分散型raid実装のための方法およびシステム
CN103827843A (zh) 一种写数据方法、装置和***
US20110167044A1 (en) Computing system and backup method using the same
WO2020087930A1 (zh) 一种数据保护方法、装置及***
US11321208B2 (en) Distributed storage system and distributed storage control method
US9003129B1 (en) Techniques for inter-storage-processor cache communication using tokens
US10740189B2 (en) Distributed storage system
TW202401232A (zh) 儲存系統以及操作儲存系統的方法
US11593236B2 (en) Preserving data integrity during controller failures
WO2018055686A1 (ja) 情報処理システム
US11188425B1 (en) Snapshot metadata deduplication
US20160371009A1 (en) Storage system and memory control method
JP2016024656A (ja) ストレージ制御装置、ストレージシステム及びストレージ制御プログラム
US11256586B2 (en) Remote copy system and remote copy management method