IP Library Granted Patent US 9,229,653
Granted Patent B2
US 9,229,653 · App. 14/322,181 · Granted Jan 5, 2016

Write spike performance enhancement in hybrid storage systems

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 9,229,653
App. No.
14/322,181
Granted
Jan 5, 2016
Kind
B2
Abstract

In an embodiment, a hybrid storage array one uses two or more storage device tiers provided by solid state drives (SSDs) and hard disk drives (HDDs). Random writes are collected and written to a write cache extension, such as a portion of the SSD storage tier. The write cache extension absorbs such accesses that would otherwise be written to HDD storage directly. Data structures are created in a cache memory local to an array controller representing the location on the write cache extension to which the writes were committed and a location in the storage system where they were originally intended to go. The write cache extension can be enabled all of the time, or only when the array controller write cache experiences certain operating conditions, such as when its utilization exceeds a predetermined amount. The approach improves the overall performance of the hybrid array.

Claims (37)

1. An information handling apparatus comprising:

a tier-0 storage portion;

a tier-1 storage portion having a device access time that is slower than a device access time of the tier-0 storage portion;

a write cache extension portion having a device access time that is faster than a device access time of the tier-1 storage portion;

a storage cache main portion; and

a storage array controller that:

receives a storage command for access to a page of data;

detects if the storage command is one of a series of random writes to the tier-1 storage portion, and if so, sequentially write the series of random writes to a block of the write cache extension portion, and subsequently write the block to the tier-1 storage portion when the block has reached a particular size.

2. The apparatus of claim 1 wherein the write cache extension is part of the tier-0 portion.

3. The apparatus of claim 1 wherein the storage controller further stores meta-data associated with each random write indicating an address in the tier-1 storage portion intended for the random write.

4. The apparatus of claim 1 wherein the storage array is configured to migrate, cache, and detect the storage command if an amount of data stored in the storage cache main portion exceeds a predetermined amount.

5. The apparatus of claim 1 wherein data is transferred from the write cache extension portion to the tier-1 portion after the amount of data stored via the first accesses pattern is more than a predetermined amount.

6. The apparatus of claim 1 wherein the storage array sequentially writes the random writes to a block of the write cache extension portion if the series of random writes is less than a RAID stripe size used by the tier-1 storage portion.

7. The apparatus of claim 1 wherein the tier-1 storage portion comprises one or more hard disk drives (HDDs).

8. The apparatus of claim 1 wherein the tier-0 storage portion comprises one or more solid state drives (SDDs).

9. The apparatus of claim 1 wherein the storage array controller migrates pages of data between the tier-0, tier-1 and storage cache portion by measuring a frequency of access requests, with the pages organized into a number of different frequency zones, such that pages belonging to a particular frequency zone are preferentially stored in a particular one of the tier-0 portion, tier-1 portion, or the main storage cache portion.

10. The apparatus of claim 9 wherein the frequency zones include at least hot frequency zone and a cold frequency zone, and the storage array controller further migrates hot pages to the tier-0 portion in exchange for relatively cold pages, and such cold pages are migrated to the tier-1 portion.

11. The apparatus of claim 10 wherein the frequency zones further include a warm frequency zone, and in the absence of hot pages, the storage array migrates warm pages to the tier-1 portion by exchanging warm pages in the tier-1 portion with cold pages in the tier-0 portion.

12. The apparatus of claim 1 wherein the storage array controller is implemented as software code executing on a programmable data processor.

13. A method for handling information comprising:

receiving a storage command for access to a page of data of a storage array, the storage array having a tier-0 storage portion, a tier-1 storage portion, a storage cache main portion and a write cache extension portion, wherein a device access time of the tier-1 storage portion is slower than a device access time of the tier-1 portion, and where a device access time of the write cache extension portion is faster than the device access time of the tier-1 portion; and

determining if a storage command is one of a series of random writes to the tier-1 storage portion, and if so, sequentially write the series of random writes to a block of the write cache extension portion, and subsequently write the block to the tier-1 storage when the block has reached a particular size.

14. The method of claim 13 wherein the write cache extension portion is part of the tier-0 portion.

15. The method of claim 13 additionally comprising:

storing metadata associated with each random write indicating an address in the tier-1 storage portion intended for the random writes.

16. The method of claim 13 wherein the storage array is configured to migrate, cache, and detect the storage command if an amount of data stored in the storage cache main portion exceeds a predetermined amount.

17. The method of claim 13 wherein data is transferred from the write cache extension portion to the tier-1 portion only after the amount of data stored via the predetermined access pattern exceeds a predetermined amount.

18. The method of claim 13 wherein the storage array sequentially writes the random writes to a block of the write cache extension portion if the series of random writes is less than a RAID stripe size used by the tier-1 storage.

19. The method of claim 13 wherein the tier-1 storage comprises one or more hard disk drives (HDDs).

20. The method of claim 13 wherein the tier-0 storage comprises one or more solid state drives (SDDs).

21. The method of claim 16 additionally comprising:

migrating data between the tier-0, tier-1 and storage cache by measuring a frequency of access requests to the storage array, with the pages organized into frequency zones, such that pages belonging to a particular frequency zone are preferentially stored in one of the tier-0 portion, tier-1 portion, or main storage cache portion.

22. The method of claim 21 wherein the frequency zones further include at least hot frequency zone and a cold frequency zone, and the storage array controller further migrates hot pages to the tier-0 portion in exchange for relatively cold pages.

23. The method of claim 22 wherein the frequency zones further include a warm frequency zone, and in the absence of hot data, the storage array controller further migrates warm data to tier-0 in exchange for cold data.

24. A tangible, non-transitory, computer readable medium for storing computer executable instructions for providing a hybrid storage array function, with the computer executable instructions for:

receiving a storage command for access to a page of data of a storage array, the storage array having a tier-0 storage portion, a tier-1 storage portion, a storage cache main portion and a write cache extension portion, wherein a device access time of the tier-1 storage portion is slower than a device access time of the tier-1 portion, and where a device access time of the write cache extension portion is faster than the device access time of the tier-1 portion; and

determining if a storage command is one of a series of random writes to the tier-1 storage portion, and if so, sequentially write the series of random writes to a block of the write cache extension portion, and subsequently write the block to the tier-1 storage when the block has reached a particular size.

Assignments (16)
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 (045455/0001) Recorded May 20, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO ASAP SOFTWARE EXPRESS, INC.); DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC CORPORATION (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MAGINATICS LLC); EMC IP HOLDING COMPANY LLC (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MOZY, INC.); SCALEIO LLC
Reel/Frame 061753/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (040136/0001) Recorded Apr 26, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO ASAP SOFTWARE EXPRESS, INC.); DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC CORPORATION (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MAGINATICS LLC); EMC IP HOLDING COMPANY LLC (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MOZY, INC.); SCALEIO LLC
Reel/Frame 061324/0001 →
RELEASE OF SECURITY INTEREST Recorded Nov 3, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL, L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; WYSE TECHNOLOGY L.L.C.
Reel/Frame 058216/0001 →
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 →
SECURITY AGREEMENT Recorded Sep 21, 2016
From: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; SPANNING CLOUD APPS LLC; WYSE TECHNOLOGY L.L.C.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 040134/0001 →
SECURITY AGREEMENT Recorded Sep 21, 2016
From: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; SPANNING CLOUD APPS LLC; WYSE TECHNOLOGY L.L.C.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 040136/0001 →
RELEASE OF REEL 033625 FRAME 0688 (TL) Recorded Sep 14, 2016
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: DELL SOFTWARE INC.; DELL PRODUCTS L.P.; COMPELLENT TECHNOLOGIES, INC.; SECUREWORKS, INC.
Reel/Frame 040027/0757 →
RELEASE OF REEL 033625 FRAME 0748 (NOTE) Recorded Sep 14, 2016
From: BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
To: DELL SOFTWARE INC.; DELL PRODUCTS L.P.; COMPELLENT TECHNOLOGIES, INC.; SECUREWORKS, INC.
Reel/Frame 040027/0050 →
RELEASE OF REEL 033625 FRAME 0711 (ABL) Recorded Sep 13, 2016
From: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
To: DELL SOFTWARE INC.; DELL PRODUCTS L.P.; COMPELLENT TECHNOLOGIES, INC.; SECUREWORKS, INC.
Reel/Frame 040016/0903 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 25, 2014
From: LACY, JANICE
To: DELL PRODUCTS, LP
Reel/Frame 034262/0324 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 19, 2014
From: HSU-HUNG, DAMON; HUNTER, PETER J.
To: DELL PRODUCTS, LP
Reel/Frame 034205/0885 →
SUPPLEMENT TO PATENT SECURITY AGREEMENT (NOTES) Recorded Aug 27, 2014
From: COMPELLENT TECHNOLOGIES, INC.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; SECUREWORKS, INC.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 033625/0748 →
SUPPLEMENT TO PATENT SECURITY AGREEMENT (ABL) Recorded Aug 27, 2014
From: COMPELLENT TECHNOLOGIES, INC.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; SECUREWORKS, INC.
To: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 033625/0711 →
SUPPLEMENT TO PATENT SECURITY AGREEMENT (TERM LOAN) Recorded Aug 27, 2014
From: COMPELLENT TECHNOLOGIES, INC.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; SECUREWORKS, INC.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 033625/0688 →