IP Library Granted Patent US 8,775,731
Granted Patent B2
US 8,775,731 · App. 13/071,557 · Granted Jul 8, 2014

Write spike performance enhancement in hybrid storage systems

Inventors: Gregory McHale (Brookline, NH); Brian G. Nadeau (Nashua, NH); Bryan K. Panner (Windham, NH); Peter J. Hunter (Amherst, NH); Damon Hung (Providence, RI); Janice Lacy (Temple, NH)
Assignee: Dell Products, L.P.
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 8,775,731
App. No.
13/071,557
Filed
Mar 25, 2011
Granted
Jul 8, 2014
Kind
B2
Examiner
LI, ZHUO H
Art Unit
2185
USPC
711/117
Abstract

A hybrid storage array one using two or more storage device tiers. In one implementation, two tiers may be provided by solid state drives (SSDs) and hard disk drives (HDDs). Host application access patterns of a certain type determined to be relatively slow, such as random writes, are detected. The random writes are collected and written to a special reserve space, such as a portion of the SSD storage tier, referred to as a write cache extension. 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 SSD reserve space 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 certain predetermined amount. The approach improves the overall performance of the hybrid array.

Claims (48)

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;

assigns one of a plurality of frequency zones of read and/or write requests to the page of data;

if the page is in a higher frequency zone, cache the data in the storage cache main portion;

if the page is in a middle frequency zone, migrate the page to the tier- 0 storage portion;

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 assigning one of a plurality of frequency zones is based on a frequency of read requests from a host application.

7. 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.

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

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

10. 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.

11. The apparatus of claim 10 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.

12. The apparatus of claim 11 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.

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

14. 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;

assigning one of a plurality of frequency zones of read and/or write requests to the page of data;

if the page is in a higher frequency zone, caching the data in the storage cache main portion;

if the page is in a middle frequency zone, migrate the page to the tier- 0 storage portion;

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.

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

16. The method of claim 14 additionally comprising:

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

17. The method of claim 14 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.

18. The method of claim 14 wherein data is transferred from the 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.

19. The method of claim 14 wherein assigning one of a plurality of frequency zones is based on a frequency of read requests from a host application.

20. The method of claim 14 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.

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

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

23. The method of claim 14 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.

24. The method of claim 23 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.

25. The method of claim 24 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.

26. 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;

assigning one of a plurality of frequency zones of read and/or write requests to the page of data;

if the page is in a higher frequency zone, caching the data in the storage cache main portion;

if the page is in a middle frequency zone, migrate the page to the tier- 0 storage portion;

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 (15)
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: EMC IP HOLDING COMPANY LLC (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MOZY, INC.); SCALEIO LLC; 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)
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: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 040136/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: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 040134/0001 →
RELEASE OF SECURITY INTEREST Recorded Sep 14, 2016
From: BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
To: DELL MARKETING L.P.; ASAP SOFTWARE EXPRESS, INC.; APPASSURE SOFTWARE, INC.; COMPELLENT TECHNOLOGIES, INC.; CREDANT TECHNOLOGIES, INC.; DELL INC.; DELL PRODUCTS L.P.; DELL USA L.P.; DELL SOFTWARE INC.; FORCE10 NETWORKS, INC.; PEROT SYSTEMS CORPORATION; SECUREWORKS, INC.; WYSE TECHNOLOGY L.L.C.
Reel/Frame 040065/0618 →
RELEASE OF SECURITY INTEREST Recorded Sep 14, 2016
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: DELL MARKETING L.P.; ASAP SOFTWARE EXPRESS, INC.; APPASSURE SOFTWARE, INC.; COMPELLENT TECHNOLOGIES, INC.; CREDANT TECHNOLOGIES, INC.; DELL INC.; DELL PRODUCTS L.P.; DELL USA L.P.; DELL SOFTWARE INC.; FORCE10 NETWORKS, INC.; PEROT SYSTEMS CORPORATION; SECUREWORKS, INC.; WYSE TECHNOLOGY L.L.C.
Reel/Frame 040040/0001 →
RELEASE OF SECURITY INTEREST Recorded Sep 13, 2016
From: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
To: DELL MARKETING L.P.; ASAP SOFTWARE EXPRESS, INC.; APPASSURE SOFTWARE, INC.; COMPELLANT TECHNOLOGIES, INC.; CREDANT TECHNOLOGIES, INC.; DELL INC.; DELL PRODUCTS L.P.; DELL USA L.P.; DELL SOFTWARE INC.; FORCE10 NETWORKS, INC.; PEROT SYSTEMS CORPORATION; SECUREWORKS, INC.; WYSE TECHNOLOGY L.L.C.
Reel/Frame 040065/0216 →
PATENT SECURITY AGREEMENT (ABL) Recorded Jan 2, 2014
From: DELL INC.; APPASSURE SOFTWARE, INC.; ASAP SOFTWARE EXPRESS, INC.; BOOMI, INC.; COMPELLENT TECHNOLOGIES, INC.; CREDANT TECHNOLOGIES, INC.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL USA L.P.; FORCE10 NETWORKS, INC.; GALE TECHNOLOGIES, INC.; PEROT SYSTEMS CORPORATION; SECUREWORKS, INC.; WYSE TECHNOLOGY L.L.C.
To: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 031898/0001 →
PATENT SECURITY AGREEMENT (TERM LOAN) Recorded Jan 2, 2014
From: DELL INC.; APPASSURE SOFTWARE, INC.; ASAP SOFTWARE EXPRESS, INC.; BOOMI, INC.; COMPELLENT TECHNOLOGIES, INC.; CREDANT TECHNOLOGIES, INC.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL USA L.P.; FORCE10 NETWORKS, INC.; GALE TECHNOLOGIES, INC.; PEROT SYSTEMS CORPORATION; SECUREWORKS, INC.; WYSE TECHNOLOGY L.L.C.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 031899/0261 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Jan 2, 2014
From: APPASSURE SOFTWARE, INC.; ASAP SOFTWARE EXPRESS, INC.; BOOMI, INC.; COMPELLENT TECHNOLOGIES, INC.; CREDANT TECHNOLOGIES, INC.; DELL INC.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL USA L.P.; FORCE10 NETWORKS, INC.; GALE TECHNOLOGIES, INC.; PEROT SYSTEMS CORPORATION; SECUREWORKS, INC.; WYSE TECHNOLOGY L.L.C.
To: BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS FIRST LIEN COLLATERAL AGENT
Reel/Frame 031897/0348 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 8, 2011
From: MCHALE, GREGORY; PANNER, BRYAN K.; HUNTER, PETER J.; HUNG, DAMON
To: DELL PRODUCTS L.P.
Reel/Frame 026715/0409 →
Continuity (1)
Related Publication 20120246403A1 · Sep 27, 2012