Legal claims defining the scope of protection, as filed with the USPTO.
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 a 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; and transmit a trim command to a 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. The apparatus of claim 1 , wherein the one or more processors are configured to execute the computer-readable instructions such that the one or more processors are further configured to set the fast storage device based on writing completion speed in response to the write command.
3. The apparatus of claim 1 , wherein the one or more processors are configured to execute the computer-readable instructions such that the one or more processors are further configured to transmit a write complete message to the host after the requested data is written to the fast storage device, the write complete message indicating that the requested data has been written.
4. The apparatus of claim 1 , wherein the one or more processors are configured to execute the computer-readable instructions such that the one or more processors are further configured to change the fast storage device periodically or non-periodically.
5. The apparatus of claim 4 , wherein the one or more processors are configured to execute the computer-readable instructions such that the one or more processors are further configured to, when the fast storage device is changed, transmit the first write command for the data with the memory lock to a new fast storage device.
6. The apparatus of claim 4 , wherein the one or more processors are configured to execute the computer-readable instructions such that the one or more processors are further configured to, transmit the first write command for the data with the memory lock to a first storage device when the one or more processors determine conditions for changing the fast storage device have been met, and change 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.
7. The apparatus of claim 1 , wherein the one or more processors are configured to execute the computer-readable instructions such that the one or more processors are further configured to, when the fast storage device breaks down, transmit the first write command for the data with the memory lock to another storage device which has not broken down.
8. The apparatus of claim 1 , wherein the one or more processors are configured to execute the computer-readable instructions such that the one or more processors are further configured to, when the host has a failure, determine whether data stored in each of the plurality of mirroring storage devices is the same and transmit 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.
9. The apparatus of claim 1 , wherein the plurality of mirroring storage devices includes at least one hard disk drive (HDD), and wherein the one or more processors are configured to execute the computer-readable instructions such that the one or more processors are further configured to, when the HDD is the mirroring storage device that is set as the fast storage device, convert a random writing write command into a sequential write command, and transmit the sequential write command 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.
10. 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, transmit a write command for data requested by a host to be written to a plurality of mirroring storage devices and transmit a write complete message for the requested data to the host after the requested data is written to one of the plurality of mirroring storage devices, and transmit, after the requested data has been stored in a first storage device from among the plurality of mirroring storage devices, a trim command to a storage device from among the plurality of mirroring storage devices 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, the trim command identifying, as invalid, second data, the second data being data, from among data stored in the storage device which has not received the first write command, that corresponds to the requested data that was stored in the first storage device.
11. The apparatus of claim 10 , wherein the one or more processors are configured to execute the instructions such that the one or more processors are further configured to set at least one of the plurality of mirroring storage devices as a fast storage device, change the fast storage device periodically or non-periodically, and transmit the write command for the data requested by the host to be written to the fast storage device.
12. The apparatus of claim 11 , wherein the one or more processors are configured to execute the instructions such that the one or more processors are further configured to, when the fast storage device is changed from a first one of the plurality of mirroring storage devices to a different one of the plurality of mirroring storage devices, transmit a trim command to a new fast storage device based on information about the writing of the requested data to a previous fast storage device.
13. The apparatus of claim 11 , wherein the one or more processors are configured to execute the instructions such that the one or more processors are further configured to, when the fast storage device is changed from a first one of the plurality of mirroring storage devices to a different one of the plurality of mirroring storage devices, transmit a garbage collection command to a storage device which is no longer the fast storage device.
14. 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, transmit a first write command to a plurality of mirroring storage devices in response to a write request from a host, the first write command instructing the plurality of mirroring storage devices to store requested data, the requested data being first data stored at a host, the write request indicating a request that the first data be written to at least one of the plurality of mirroring storage devices, and set a memory lock on the first data at the host in response to the write request, and release the memory lock on the first data at the host in response to the first data being written to the plurality of mirroring storage devices.
15. The apparatus of claim 14 , wherein the one or more processors are configured to execute the instructions such that the one or more processors are further configured to transmit a second write command to a first one of the plurality of mirroring storage devices after receiving a write completion message indicating that the first mirroring storage device completed writing the first data, the first mirroring storage device being the storage device, from among the plurality of mirroring storage devices, that completes the writing of the first data at an earliest point in time relative to the remaining ones of the plurality of mirroring storage devices.
16. The apparatus of claim 14 , wherein the one or more processors are configured to execute the instructions such that the one or more processors are further configured to release the memory lock on the first data at the host in response to determining that every device, from among the plurality of mirroring storage devices, that received the first write command and is not disabled has completed writing the first data.
17. The apparatus of claim 10 , wherein the one or more processors are configured to execute the instructions such that the one or more processors are further configured to transmit the write command for the requested data to a storage device which has not received the write command for the requested data.
18. The apparatus of claim 1 , wherein the one or more processors are further configured such that the transmitting of the trim command includes transmitting the trim command to a second storage device after the requested data has been stored in the fast storage device, the second storage device being the storage device which has not received the first command, the trim command identifying, as invalid, second data, the second data being data, from among data stored in the second storage device, that corresponds to the requested data that was stored in the fast storage device.
19. The apparatus of claim 14 , wherein the one or more processors are further configured to: transmit, after the requested data has been stored in a first storage device from among the plurality of mirroring storage devices, a trim command to a second storage device, the second storage device being a storage device from among the plurality of mirroring storage devices which has not received the first write command, the trim command identifying, as invalid, second data, the second data being data, from among data stored in the second storage device, that corresponds to the requested data that was stored in the first storage device.
Unknown
May 29, 2018
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.