IP Library Granted Patent US 10,970,212
Granted Patent B2
US 10,970,212 · App. 16/277,708 · Granted Apr 6, 2021

Method and system for facilitating a distributed storage system with a total cost of ownership reduction for multiple available zones

Inventor: Shu Li (Bothell, WA)
Assignee: Alibaba Group Holding Limited
G06F12/0806G06F3/0604G06F3/067G06F3/0655G06F3/0679G06F2212/7208
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,970,212
App. No.
16/277,708
Granted
Apr 6, 2021
Kind
B2
Abstract

One embodiment facilitates data placement in a storage device. During operation, the system receives, from a host, a request to read data. The system determines that the data is not available in a read cache. The system issues the read request to a solid state drive and a first hard disk drive. In response to unsuccessfully reading the requested data from the solid state drive and successfully reading the requested data from the first hard disk drive, the system sends the requested data to the host. In response to unsuccessfully reading the requested data from both the solid state drive and the first hard disk drive: the system issues the read request to a second hard disk drive; and the system sends the requested data to the host.

Claims (90)

1. A computer-implemented method for facilitating data placement, the method comprising:

receiving, from a host, a request to read data;

in response to determining that the data is not available in a read cache:

determining replicas of the data stored on a first storage drive and a second storage drive of a different type than the first storage drive;

issuing the read request concurrently to both the first storage drive and the second storage drive;

in response to unsuccessfully reading the requested data from the first storage drive and successfully reading the requested data from the second storage drive, sending the requested data to the host; and

in response to unsuccessfully reading the requested data from both the first storage drive and the second storage drive:

issuing the read request to a third storage drive; and

sending the requested data to the host.

2. The method of claim 1 , further comprising:

identifying, based on previously stored path information, the first storage drive, the second storage drive, and the third storage drive;

selecting, from a plurality of storage drives on which the data is stored, the second storage drive; and

selecting, from the plurality of storage drives, the third storage drive.

3. The method of claim 1 , wherein in response to successfully reading the requested data from the first storage drive, the method further comprises:

sending the requested data to the host; and

dropping data read from the second storage drive.

4. The method of claim 1 ,

wherein in response to unsuccessfully reading the requested data from the first storage drive, the method further comprises reporting a fault associated with the first storage drive; and

wherein in response to unsuccessfully reading the requested data from both the first storage drive and the second storage drive, the method further comprises reporting a fault associated with the second storage drive.

5. The method of claim 1 ,

wherein the third storage drive is of a same or a different type as the second storage drive, and

wherein a type for the first storage drive, the second storage drive, and the third storage drive comprises one or more of:

a solid state drive;

a hard disk drive; and

a storage medium which comprises one or more of:

magnetoresistive random-access memory (MRAM); resistive RAM (ReRAM); phase change memory (PCM); nano-RAM (NRAM); and

ferroelectric RAM (FRAM).

6. The method of claim 1 , wherein in response to unsuccessfully reading the requested data from the third storage drive, the method further comprises:

reporting a fault associated with the third storage drive; and

generating a notification indicating that the requested data is not available from a first available zone comprising the first storage drive, the second storage drive, and the third storage drive,

wherein the notification further indicates to recover the requested data from a second available zone.

7. The method of claim 1 , wherein the first storage drive, the second storage drive, and the third storage drive comprise a first available zone of a plurality of available zones, and wherein replicas of the requested data are stored in a respective available zone.

8. The method of claim 1 , wherein prior to receiving the request to read the data, the method further comprises receiving a request to write the data to the first storage drive, the second storage drive, and the third storage drive, which involves:

simultaneously writing the data to a write cache of each of the first storage drive, the second storage drive, and the third storage drive; and

committing the write request upon successfully writing the data to the write cache of each of the first storage drive, the second storage drive, and the third storage drive.

9. The method of claim 8 , wherein subsequent to writing the data to the write cache of each of the first storage drive, the second storage drive, and the third storage drive, the method further comprises:

writing the data asynchronously from the write cache to a non-volatile memory of each of the first storage drive, the second storage drive, and the third storage drive.

10. A computer system for facilitating data placement, the system comprising:

a processor; and

a memory coupled to the processor and storing instructions, which when executed by the processor cause the processor to perform a method, wherein the computer system is a storage device, the method comprising:

receiving, from a host, a request to read data;

in response to determining that the data is not available in a read cache:

determining replicas of the data stored on a first storage drive and a second storage drive of a different type than the first storage drive;

issuing the read request concurrently to both the first storage drive and the second storage drive;

in response to unsuccessfully reading the requested data from the first storage drive and successfully reading the requested data from the second storage drive, sending the requested data to the host; and

in response to unsuccessfully reading the requested data from both the first storage drive and the second storage drive:

issuing the read request to a third storage drive; and

sending the requested data to the host.

11. The computer system of claim 10 , wherein the method further comprises:

identifying, based on previously stored path information, the first storage drive, the second storage drive, and the third storage drive;

selecting, from a plurality of storage drives on which the data is stored, the second storage drive; and

selecting, from the plurality of storage drives, the third storage drive.

12. The computer system of claim 10 , wherein in response to successfully reading the requested data from the first storage drive, the method further comprises:

sending the requested data to the host; and

dropping data read from the second storage drive.

13. The computer system of claim 10 :

wherein in response to unsuccessfully reading the requested data from the first storage drive, the method further comprises reporting a fault associated with the first storage drive; and

wherein in response to unsuccessfully reading the requested data from both the first storage drive and the second storage drive, the method further comprises reporting a fault associated with the second storage drive.

14. The computer system of claim 10 ,

wherein the third storage drive is of a same or a different type as the second storage drive, and

wherein a type for the first storage drive, the second storage drive, and the third storage drive comprises one or more of:

a solid state drive;

a hard disk drive; and

a storage medium which comprises one or more of:

magnetoresistive random-access memory (MRAM); resistive RAM (ReRAM); phase change memory (PCM); nano-RAM (NRAM); and

ferroelectric RAM (FRAM).

15. The computer system of claim 10 , wherein in response to unsuccessfully reading the requested data from the third storage drive, the method further comprises:

reporting a fault associated with the third storage drive; and

generating a notification indicating that the requested data is not available from a first available zone comprising the first storage drive, the second storage drive, and the third storage drive,

wherein the notification further indicates to recover the requested data from a second available zone.

16. The computer system of claim 10 , wherein the first storage drive, the second storage drive, and the third storage drive comprise a first available zone of a plurality of available zones, and wherein replicas of the requested data are stored in a respective available zone.

17. The computer system of claim 10 , wherein prior to receiving the request to read the data, the method further comprises receiving a request to write the data to the first storage drive, the second storage drive, and the third storage drive, which involves:

simultaneously writing the data to a write cache of each of the first storage drive, the second storage drive, and the third storage drive; and

committing the write request upon successfully writing the data to the write cache of each of the first storage drive, the second storage drive, and the third storage drive.

18. The computer system of claim 17 , wherein subsequent to writing the data to the write cache of each of the first storage drive, the second storage drive, and the third storage drive, the method further comprises:

writing the data asynchronously from the write cache to a non-volatile memory of each of the first storage drive, the second storage drive, and the third storage drive.

19. A non-transitory computer-readable storage medium storing instructions that when executed by a computer cause the computer to perform a method, the method comprising:

receiving, from a host, a request to read data;

in response to determining that the data is not available in a read cache:

determining replicas of the data stored on a first storage drive and a second storage drive of a different type than the first storage drive;

issuing the read request concurrently to both the first storage drive and the second storage drive;

in response to unsuccessfully reading the requested data from the first storage drive and successfully reading the requested data from the second storage drive, sending the requested data to the host; and

in response to unsuccessfully reading the requested data from both the first storage drive and the second storage drive:

issuing the read request to a third storage drive; and

sending the requested data to the host.

20. The storage medium of claim 19 , wherein prior to receiving the request to read the data, the method further comprises receiving a request to write the data to the first storage drive, the second storage drive, and the third storage drive, which involves:

simultaneously writing the data to a write cache of each of the first storage drive, the second storage drive, and the third storage drive; and

committing the write request upon successfully writing the data to the write cache of each of the first storage drive, the second storage drive, and the third storage drive; and

wherein subsequent to writing the data to the write cache of each of the first storage drive, the second storage drive, and the third storage drive, the method further comprises:

writing the data asynchronously from the write cache to a non-volatile memory of each of the first storage drive, the second storage drive, and the third storage drive.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 29, 2026
From: ALIBABA GROUP HOLDING LIMITED
To: CLOUD INTELLIGENCE ASSETS HOLDING (SINGAPORE) PRIVATE LIMITED
Reel/Frame 075499/0384 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 1, 2019
From: LI, SHU
To: ALIBABA GROUP HOLDING LIMITED
Reel/Frame 048484/0545 →
Continuity (1)
Related Publication 20200264978A1 · Aug 20, 2020