IP Library Granted Patent US 10,599,342
Granted Patent B2
US 10,599,342 · App. 15/395,441 · Granted Mar 24, 2020

Method and system for offset mirroring in a storage system

Inventor: Richard H. Van Gaasbeck (Mountain View, CA)
Assignee: EMC IP Holding Company LLC
G06F3/0619G06F3/064G06F3/0635G06F3/0665G06F3/0688G06F12/0238G06F2212/1036G06F2212/7208G06F2212/7211
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,599,342
App. No.
15/395,441
Granted
Mar 24, 2020
Kind
B2
Abstract

In general, embodiments of the technology relate to a method for storing data. The method includes receiving a request to write data. In response to the request, the method further includes, selecting a first physical address in a first region in a first storage module, selecting a second physical address in a second region in a second storage module, where an amount of wear associated with the first physical address is different than an amount of wear associated with the second physical address, writing a first copy of the data to the first physical address, and writing a second copy of the data to the second physical address.

Claims (76)

1. A method for storing data comprising:

receiving a request to write data;

in response to the request, mirroring the data to storage modules having mirrored write operations restricted to active regions by:

selecting a first physical address in a first active region in a first storage module of the storage modules, wherein the first active region comprises an address range less than a total address range of the first storage module;

selecting a second physical address in a second active region in a second storage module of the storage modules, wherein the second active region comprises an address range less than a total address range of the second storage module, wherein an amount of wear associated with the first active region is less than a first change threshold and an amount of wear associated with the second active region is greater than the first change threshold;

writing a first copy of the data to the first physical address; and

writing a second copy of the data to the second physical address,

wherein the first storage module and the second storage modules are solid state modules.

2. The method of claim 1 , further comprising:

modifying the address range of the first active region to include a new address range that is different from the address range to obtain an updated first active region;

after obtaining the updated first active region:

receiving a second request to write second data;

in response to the second request:

selecting a third physical address in the updated first active region;

selecting a fourth physical address in the second active region;

writing a first copy of the second data to the third physical address; and

writing a second copy of the second data to the fourth physical address.

3. The method of claim 2 , further comprising:

obtaining an amount of wear of the first active region;

making a determination that an amount of wear of the first active region exceeds a change threshold associated with the first storage module; and

performing a modification of the first active region in response to the determination.

4. The method of claim 3 , wherein the second storage module is associated with a second change threshold and wherein the second change threshold is different than the change threshold.

5. The method of claim 3 , wherein the change threshold is P/E cycle value.

6. The method of claim 2 , wherein the amount of wear associated with the second physical address and the amount of wear associated with the fourth physical address are substantially similar.

7. The method of claim 1 , wherein the first storage module comprises solid state storage.

8. The method of claim 1 , wherein the request specifies a replication level.

9. A system, comprising:

a storage array comprising a plurality of storage modules; and

a controller operatively connected to the storage array and configured to:

receive a request to write data;

in response to the request, mirror the data to the plurality of storage modules having mirrored write operations restricted to active regions by:

select a first physical address in a first active region in a first storage module of the plurality of storage modules, wherein the first active region comprises an address range less than a total address range of the first storage module;

select a second physical address in a second active region in a second storage module of the plurality of storage modules, wherein an amount of wear associated with the first active region is less than a first change threshold and an amount of wear associated with the second active region is greater than the first change threshold;

write a first copy of the data to the first physical address; and

write a second copy of the data to the second physical address,

wherein the first storage module and the second storage modules are solid state modules.

10. The system of claim 9 , wherein the controller is further configured to:

modify the address range of the first active region to include a new address range that is different from the address range to obtain an updated first active region;

after obtaining the updated first active region:

receive a second request to write second data;

in response to the second request:

select a third physical address in the updated first active region;

select a fourth physical address in the second active region;

write a first copy of the second data to the third physical address; and

write a second copy of the second data to the fourth physical address.

11. The system of claim 10 , wherein the controller is further configured to:

obtain an amount of wear of the first active region;

make a determination that an amount of wear of the first active region exceeds a change threshold associated with the first storage module; and

perform a modification of the first active region in response to the determination.

12. The system of claim 11 , wherein the second storage module is associated with a second change threshold and wherein the second change threshold is different than the change threshold.

13. The system of claim 11 , wherein the change threshold is P/E cycle value.

14. The system of claim 10 , wherein the amount of wear associated with the second physical address and the amount of wear associated with the fourth physical address are substantially similar.

15. The system of claim 9 , wherein the request specifies a replication level.

16. The system of claim 9 , wherein at least one of the plurality of storage modules comprises at least one selected from a group consisting of NAND flash and write in-place persistent memory.

17. A non-transitory computer readable medium comprising instructions, which when executed by at least one processor perform a method, the method comprising:

receiving a request to write data;

in response to the request, mirroring the data to storage modules having mirrored write operations restricted to active regions by:

selecting a first physical address in a first active region in a first storage module of the storage modules, wherein the first active region comprises an address range less than a total address range of the first storage module;

selecting a second physical address in a second active region in a second storage module of the storage modules, wherein the second active region comprises an address range less than a total address range of the second storage module, wherein an amount of wear associated with the first active region is less than a first change threshold and an amount of wear associated with the second active region is greater than the first change threshold;

writing a first copy of the data to the first physical address; and

writing a second copy of the data to the second physical address,

wherein the first storage module and the second storage modules are solid state modules.

18. The non-transitory computer readable medium of claim 17 , the method further comprising:

modifying the address range of the first active region to include a new address range that is different from the address range to obtain an updated first active region;

after obtaining the updated first active region:

receiving a second request to write second data;

in response to the second request:

selecting a third physical address in the updated first active region;

selecting a fourth physical address in the second active region;

writing a first copy of the second data to the third physical address; and

writing a second copy of the second data to the fourth physical address.

19. The non-transitory computer readable medium of claim 18 , the method further comprising:

obtaining an amount of wear of the first active region;

making a determination that an amount of wear of the first active region exceeds a change threshold associated with the first storage module; and

performing a modification of the first active region in response to the determination.

20. The non-transitory computer readable medium of claim 19 , wherein the second storage module is associated with a second change threshold and wherein the second change threshold is different than the change threshold.

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 (047648/0422) 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 060160/0862 →
RELEASE OF SECURITY INTEREST AT REEL 047648 FRAME 0346 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/0510 →
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 Oct 12, 2018
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 047648/0346 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Oct 12, 2018
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 047648/0422 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 22, 2017
From: VAN GAASBECK, RICHARD H.
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 041689/0085 →
Continuity (1)
Related Publication 20180188982A1 · Jul 5, 2018