IP Library Granted Patent US 10,152,272
Granted Patent B2
US 10,152,272 · App. 15/952,866 · Granted Dec 11, 2018

Data mirroring control apparatus and method

Inventor: Ju-Pyung Lee (Incheon, KR)
Assignee: SAMSUNG ELECTRONICS CO., LTD.
G06F3/065G06F3/0604G06F3/0659G06F3/0689G06F11/2087G06F2201/825
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,152,272
App. No.
15/952,866
Granted
Dec 11, 2018
Kind
B2
Abstract

A data mirroring control apparatus includes a command distributing unit configured to transmit a first write command to a plurality of mirroring storage devices, the first write command including an instruction for data requested by a host to be written; and a memory lock setting unit configured to set a memory lock on the data requested by the host to be written among data stored in a host memory and configured to release the memory lock on the data after the data with the memory lock is written to the plurality of mirroring storage devices.

Claims (36)

1. A data mirroring control apparatus comprising:

a memory storing computer-readable instructions; and

one or more processors configured to execute the instructions such that the one or more processors are configured to,

set at least one of the plurality of mirroring storage devices as a fast storage device;

transmit a first write command to the fast storage device, the first write command including an instruction for data requested by a host to be written;

set a memory lock on the data requested by the host to be written among data stored in a host memory which is located in the host and release the memory lock on the data after the data with the memory lock is written to the plurality of mirroring storage devices;

transmit the first write command for the data with the memory lock to a storage device which has not received the first write command for the data with the memory lock; and

transmit a trim command to the storage device which has not received the first write command for the requested data based on information about the writing of the requested data to one of the plurality of mirroring storage devices.

2. A data mirroring control method comprising:

transmitting a first write command to a plurality of mirroring storage devices, the first write command including an instruction for data requested by a host to be written;

setting a memory lock on the data requested by the host to be written among data stored in a host memory;

releasing the memory lock on the data after the data with the memory lock is written to the plurality of mirroring storage devices; and

transmitting a trim command to a storage device which has not received the write command for the requested data based on information about the writing of the requested data to one of the plurality of mirroring storage devices.

3. The method of claim 2 , further comprising:

transmitting a write complete message for the requested data to the host when one of the plurality of mirroring storage devices completes writing the requested data.

4. The method of claim 2 , wherein in the transmitting of the first write command, the first write command for the data with the memory lock is transmitted to a storage device which has not received the first write command for the data with the memory lock.

5. The method of claim 2 , further comprising:

setting at least one of a plurality of mirroring storage devices as a fast storage device,

wherein the transmitting the first write command includes transmitting the first write command to the fast storage device.

6. The method of claim 5 , wherein in the setting of the at least one mirroring storage device as the fast storage device includes setting the fast storage device based on writing completion speed in response to the first write command.

7. The method of claim 5 , further comprising:

transmitting a write complete message for the requested data to the host after the requested data is written to the fast storage device.

8. The method of claim 5 , wherein the fast storage device is changed periodically or non-periodically.

9. The method of claim 8 , further comprising:

when the fast storage device is changed, transmitting the first write command for the data with the memory lock to a new fast storage device.

10. The method of claim 8 , further comprising:

transmitting the first write command for the data with the memory lock to a first storage device, when requirements for changing the fast storage device are met, the first storage device being; and

changing the fast storage device by setting the first storage device as the fast storage device when the first storage device completes writing the data with the memory lock.

11. The method of claim 5 , further comprising: when the fast storage device breaks down, transmitting the first write command for the data with the memory lock to another storage device which has not broken down.

12. The method of claim 5 , further comprising:

when the host has a failure,

determining whether data stored in each of the plurality of mirroring storage devices is the same; and

transmitting a write command to one or more other storage devices based on data stored in the fast storage device if the data stored in the plurality of mirroring storage devices is not the same, the one or more other storage devices being storage devices, from among the plurality of mirroring storage device, that are not set as the fast storage device.

13. The method of claim 5 , wherein,

the plurality of mirroring storage devices include at least one HDD, and

when the HDD is the at least one mirroring storage device that is set as the fast storage device, a random writing write command is converted into a sequential write command, and the sequential write command is transmitted to the HDD, the random writing write command including an instruction for data requested by the host to be written randomly, the sequential write command including an instruction for data requested by the host to be written sequentially.

Priority Claims (1)
KR 10-2013-0115579 · Sep 27, 2013 · national
Continuity (2)
Continuation 14451834 · Aug 5, 2014
Related Publication 20180232150A1 · Aug 16, 2018