IP Library Granted Patent US 11,327,664
Granted Patent B1
US 11,327,664 · App. 15/668,797 · Granted May 10, 2022

Fast small write forwarding with non-temporal cache memory

Inventors: Jaeyoo Jung (Shrewsbury, MA); Ramesh Doddaiah (Shrewsbury, MA); Venkata Khambam (Ballincollig, IE); Earl Medeiros (Fall River, MA); Richard Trabing (Uxbridge, MA)
Assignee: Dell Products L.P.
G06F3/0622G06F3/065G06F3/0619G06F3/0647G06F3/0659G06F3/0683
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,327,664
App. No.
15/668,797
Granted
May 10, 2022
Kind
B1
Abstract

A portion of the shared global memory of a storage array is allocated for write-only blocks. Writes to a same-block of a production device may be accumulated in the allocated portion of memory. Temporal sequencing may be associated with each accumulated version of the same-block. When idle processing resources become available, the oldest group of same-blocks may be consolidated based on the temporal sequencing. The consolidated block may then be destaged to cache slots or managed drives. A group of same-blocks may also be consolidated in response to a read command.

Claims (28)

1. An apparatus comprising:

a storage array comprising:

a plurality of computing nodes that present a production device and manage access to persistent storage drives, each of the computing nodes comprising memory, a portion of the memory being allocated to a shared memory that can be accessed by other ones of the plurality of computing nodes, a first portion of the shared memory being allocated for write-only blocks and a second portion of the shared memory being allocated for readable and writable tracks, wherein the tracks are larger than the blocks; and

a block write service processor that writes a plurality of versions of a same-block of the production device to the first portion of the shared memory, each version having a temporal sequence associated therewith.

2. The apparatus of claim 1 wherein the block write service processor allocates a fixed-size buffer in the first portion of the shared memory in response to a write command from a host computer.

3. The apparatus of claim 2 wherein the block write service processor sends a transfer ready message to the host computer after the buffer is allocated.

4. The apparatus of claim 3 wherein the block write service processor receives a version of the same-block of data in response to the transfer ready message, and sends an ACK to the host computer after writing the version of the same-block into the allocated buffer.

5. The apparatus of claim 4 further comprising a block write aggregation processor that associates the temporal sequence with the corresponding version of the same-block.

6. The apparatus of claim 5 further comprising an aggregation scheduler, responsive to system idle feedback, to prompt the block write aggregation processor to consolidate a selected accumulated group of the plurality of versions of the same-block in the first portion of the shared memory.

7. The apparatus of claim 6 wherein the aggregation scheduler selects an oldest group of the plurality of versions of the same-block as the selected accumulated group.

8. The apparatus of claim 7 wherein the block write aggregation processor consolidates the selected accumulated group of the plurality of versions of the same-block based on the temporal sequence, thereby generating a consolidated block.

9. The apparatus of claim 8 wherein the block write aggregation processor destages the consolidated block to the persistent storage drives or the second portion of the shared memory.

10. The apparatus of claim 1 wherein, responsive to a command from a host computer to read the same-block that is present in the first portion of the shared memory, the block write aggregation processor consolidates the plurality of versions of the same-block based on the temporal sequence to generate a consolidated block, and returns the consolidated block to the host computer.

11. A method comprising:

in a storage array comprising a plurality of computing nodes that present a production device and manage access to persistent storage drives, each of the computing nodes comprising memory, a portion of the memory being allocated to a shared memory that can be accessed by other ones of the plurality of computing nodes:

allocating a first portion of the shared memory for write-only blocks;

allocating a second portion of the shared memory for readable and writable tracks, wherein the tracks are larger than the blocks;

writing a plurality of versions of a same-block of the production device to the first portion of the shared memory; and

associating a temporal sequence with each of the plurality of versions of the same-block.

12. The method of claim 11 comprising allocating a fixed-size buffer in the first portion of the shared memory in response to a write command from a host computer.

13. The method of claim 12 comprising sending a transfer ready message to the host computer after the buffer is allocated.

14. The method of claim 13 comprising receiving a version of the same-block of data in response to the transfer ready message, and sending an ACK to the host computer after writing the version of the same-block into the allocated buffer.

15. The method of claim 14 comprising a block write aggregation processor associating the temporal sequence with the corresponding version of the same-block.

16. The method of claim 15 comprising, responsive to system idle feedback, consolidating a selected accumulated group of the plurality of versions of the same-block in the first portion of the shared memory.

17. The method of claim 16 comprising selecting an oldest group of the plurality of versions of the same-block as the selected accumulated group.

18. The method of claim 17 comprising consolidating the selected accumulated group of the plurality of versions of the same-block based on the temporal sequence, thereby generating a consolidated block.

19. The method of claim 18 comprising destaging the consolidated block to the persistent storage drives or the second portion of the shared memory.

20. The method of claim 11 comprising, responsive to a command from a host computer to read the same-block that is present in the first portion of the shared memory, consolidating the plurality of versions of the same-block based on the temporal sequence to generate a consolidated block, and returning the consolidated block to the host computer.

Assignments (8)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053546/0001) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC IP HOLDING COMPANY LLC
Reel/Frame 071642/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (043775/0082) Recorded May 20, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
Reel/Frame 060958/0468 →
RELEASE OF SECURITY INTEREST AT REEL 043772 FRAME 0750 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
Reel/Frame 058298/0606 →
SECURITY AGREEMENT Recorded Apr 22, 2020
From: CREDANT TECHNOLOGIES INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 053546/0001 →
SECURITY AGREEMENT Recorded Mar 21, 2019
From: CREDANT TECHNOLOGIES, INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 049452/0223 →
PATENT SECURITY AGREEMENT (CREDIT) Recorded Sep 6, 2017
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 043772/0750 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Sep 6, 2017
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 043775/0082 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 4, 2017
From: JUNG, JAEYOO; DODDAIAH, RAMESH; KHAMBAM, VENKATA; MEDEIROS, EARL; TRABING, RICHARD
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 043196/0029 →