IP Library Granted Patent US 11,573,738
Granted Patent B2
US 11,573,738 · App. 17/151,794 · Granted Feb 7, 2023

Synchronous destage of write data from shared global memory to back-end storage resources

Inventors: Lixin Pang (Needham, MA); Rong Yu (West Roxbury, MA); Peng Wu (Westborough, MA); Shao Hu (Westborough, MA); Mohammed Asher Vt (Bangalore, IN)
Assignee: Dell Products, L.P.
G06F3/0659G06F3/0619G06F3/0631G06F3/0653G06F3/0689
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 11,573,738
App. No.
17/151,794
Granted
Feb 7, 2023
Kind
B2
Abstract

A synchronous destage process is used to move data from shared global memory to back-end storage resources. The synchronous destage process is implemented using a client-server model between a data service layer (client) and back-end disk array of a storage system (server). The data service layer initiates a synchronous destage operation by requesting that the back-end disk array move data from one or more slots of global memory to back-end storage resources. The back-end disk array services the request and notifies the data service layer of the status of the destage operation, e.g. a destage success or destage failure. If the destage operation is a success, the data service layer updates metadata to identify the location of the data on back-end storage resources. If the destage operation is not successful, the data service layer re-initiates the destage process by issuing a subsequent destage request to the back-end disk array.

Claims (33)

1. A non-transitory tangible computer readable storage medium having stored thereon a computer program for implementing synchronous destage of write data from shared global memory to back-end storage resources, the computer program including a set of instructions which, when executed by a computer, cause the computer to perform a method comprising the steps of:

storing write data from multiple write operations in slots of the shared global memory;

updating metadata associated with the write operations in connection with storing the write data in shared global memory;

forming groups of subsets of the slots of shared global memory, each group being associated with a respective subset of write operations, the subset of write operations being selected based on back-end track information where the write data will be stored on managed drives of a back-end disk array;

transmitting a destage request, by a data service layer to the back-end disk array managing the back-end storage resources, the destage request identifying a subset of the slots of the shared global memory;

implementing a destage operation, by the back-end disk array, to move data contained in the subset of the slots of shared global memory to the back-end storage resources;

transmitting a destage response message by the back-end disk array to the data service layer;

in response to a determination that the destage response message indicates that the destage operation was a success, updating the metadata associated with a subset of the write operations associated with the subset of the slots; and

in response to a determination that the destage response message indicates that the destage operation was not a success, the method further comprises re-transmitting the destage request, by the data service layer to the back-end disk array, the retransmitted destage request identifying the subset of the slots of the shared global memory.

2. The non-transitory tangible computer readable storage medium of claim 1 , wherein the destage request is a group destage request identifying multiple slots of the shared global memory that are to be destaged to a single slice of back-end storage resources.

3. The non-transitory tangible computer readable storage medium of claim 1 , further comprising, in response to a determination that the destage response message indicates that the destage operation was a success, clearing a write pending status for the subset of slots and releasing the subset of slots of global memory.

4. The non-transitory tangible computer readable storage medium of claim 3 , wherein the synchronous destage causes the data to be moved from the subset of slots of global memory to the back-end storage resources of the back-end disk array, and acknowledged by the back-end disk array to the data services layer, prior to releasing the subset of slots of global memory.

5. The non-transitory tangible computer readable storage medium of claim 1 , wherein the data service layer and back-end disk array are implemented using a client-server model, where the data service layer is implemented as a client and the back-end disk array is implemented as a server.

6. The non-transitory tangible computer readable storage medium of claim 1 , wherein in response to a determination that the destage response message indicates that the destage operation was not a success, the metadata associated with a subset of the write operations associated with the subset of the slots is not updated.

7. The non-transitory tangible computer readable storage medium of claim 1 , wherein the step of implementing the destage operation, by the back-end disk array, comprises issuing read operations by the back-end disk array on the subset of slots of global memory.

8. A storage system, comprising:

a shared global memory;

a front-end adapter containing control logic configured to receive write operations from hosts, store write data from the write operations in slots of the shared global memory, and update metadata associated with the write operations in connection with storing the write data in shared global memory;

a data services layer; and

a back-end disk array managing back-end storage resources;

the data services layer containing control logic configured to form groups of subsets of the slots of shared global memory, each group being associated with a subset of write operations containing write data to be stored in a given slice of back-end storage resources on the back-end disk array, and to transmit a destage request to the back-end disk array, the destage request identifying a subset of the slots of the shared global memory; and

the back-end disk array containing control logic configured to:

implement a destage operation to move data contained in the subset of the slots of shared global memory to the back-end storage resources;

in response to a determination that the destage operation is successful, transmit a destage response message to the data service layer; and

in response to a determination that the destage operation was not successful, transmit a destage failed message to the data service layer;

wherein the control logic of the data service layer is further configured, in response to receipt of a destage failed message, to re-transmit the destage request, by the data service layer to the back-end disk array, the retransmitted destage request identifying the subset of the slots of the shared global memory.

9. The storage system of claim 8 , wherein the control logic of the data service layer is further configured to update the metadata associated with a subset of the write operations associated with the subset of the slots in response to a determination that the destage response message indicates that the destage operation was a success.

10. The storage system of claim 8 , wherein the destage request is a group destage request identifying multiple slots of the shared global memory that are to be destaged to a single slice of back-end storage resources.

11. The storage system of claim 8 , wherein the control logic of the data service layer is further configured to clear a write pending status for the subset of slots and release the subset of slots of global memory in response to a determination that the destage response message indicates that the destage operation was a success.

12. The storage system of claim 11 , wherein the control logic of the data service layer and the control logic of the back-end disk array are configured to implement a synchronous destage process, in which data is moved from the subset of slots of global memory to the back-end storage resources of back-end disk array, and acknowledged by the back-end disk array to the data services layer, before the data service layer releases the subset of slots of global memory.

13. The storage system of claim 8 , wherein the control logic of the data service layer and the control logic of the back-end disk array are implemented using a client-server model, where the data service layer is implemented as a client and the back-end disk array is implemented as a server.

14. The storage system of claim 8 , wherein the control logic of the data service layer is further configured to not update metadata associated with a subset of the write operations associated with the subset of the slots, in response to receipt of the destage failed message.

15. The storage system of claim 8 , wherein the control logic of the back-end disk array is configured to implement destage operations by issuing read operations on the slots of global memory.

Assignments (9)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (055479/0342) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
Reel/Frame 062021/0460 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (055479/0051) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
Reel/Frame 062021/0663 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (056136/0752) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
Reel/Frame 062021/0771 →
RELEASE OF SECURITY INTEREST AT REEL 055408 FRAME 0697 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 058001/0553 →
SECURITY INTEREST Recorded Mar 3, 2021
From: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 056136/0752 →
SECURITY INTEREST Recorded Mar 3, 2021
From: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 055479/0051 →
SECURITY INTEREST Recorded Mar 3, 2021
From: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 055479/0342 →
SECURITY AGREEMENT Recorded Feb 25, 2021
From: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 055408/0697 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 19, 2021
From: PANG, LIXIN; YU, RONG; WU, PENG; HU, SHAO; VT, MOHAMMED ASHER
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 054949/0516 →
Continuity (1)
Related Publication 20220229589A1 · Jul 21, 2022