IP Library Granted Patent US 9,875,190
Granted Patent B2
US 9,875,190 · App. 15/087,794 · Granted Jan 23, 2018

Delegated media translation layer in a storage appliance

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,875,190
App. No.
15/087,794
Granted
Jan 23, 2018
Kind
B2
Abstract

In general, embodiments of the technology relate to writing data to and reading data from storage appliances. More specifically, embodiments of the technology describe a method and system whereby a global control mechanism may be established, with delegation of specific translation activities to particular storage media device.

Claims (48)

1. A method for servicing requests by a storage appliance, comprising:

allocating, by a control module in the storage appliance, a set of physical locations in a storage pool in the storage appliance;

sending, by the control module, logical layout information associated with the set of physical locations to a client operatively connected to the storage appliance;

sending, by the control module, a first map to a first storage module in the storage pool, wherein at least one physical location in the set of physical locations is located on the first storage module;

receiving, by the first storage module, a first request from the client, wherein the first request comprises information based, at least in part, on the logical layout information; and

servicing, by the first storage module, the first request using the first map.

2. The method of claim 1 , further comprising:

prior to allocating the set of physical of locations:

receiving, by the control module, an allocation request from the client, wherein the allocation request specifies an amount of space to allocate in the storage pool.

3. The method of claim 1 , wherein the logical layout information comprises an object identifier (ID), wherein the object ID is associated with the set of physical locations.

4. The method of claim 3 , wherein the logical layout information further comprises an offset corresponding to at least one physical location in the set of physical locations.

5. The method of claim 1 , wherein the set of physical locations comprises at least one physical location on a second storage module in the storage pool.

6. The method of claim 5 , further comprising:

sending a second map to the second storage module in the storage pool, wherein the at least one physical location in the set of physical locations is located on the second storage module.

7. The method of claim 6 , further comprising:

receiving a second request from the client; and

servicing the second request using the second map, wherein the second request specifies an object ID, wherein the object ID is associated with the set of physical locations.

8. The method of claim 1 , wherein the first request comprises a logical address and wherein servicing the first request comprises using the first map to translate the logical address to a physical address, wherein the physical address corresponds to a physical location on the first storage module, wherein the physical location is in the set of physical locations.

9. The method of claim 8 , wherein the logical layout information comprises an object identifier (ID), wherein the object ID is associated with the set of physical locations.

10. The method of claim 1 , wherein the logical layout information comprises a plurality of offsets, wherein each of the plurality of offsets is associated with a physical location in the set of physical locations.

11. The method of claim 1 , wherein the first request is one selected from a group consisting of a read request and a write request.

12. The method of claim 1 , wherein the first map is a look-up table.

13. The method of claim 1 , wherein the first map is a function to translate a logical address in the first request to a physical address associated with a physical location in the first storage module.

14. A method for servicing requests by a storage appliance, comprising:

allocating, a control module in the storage appliance, a set of physical locations in a storage pool in the storage appliance;

sending, by the control module, logical layout information associated with the set of physical locations to a client operatively connected to the storage appliance, wherein the logical layout information is associated with an object identifier (ID);

sending, by the control module, a first map to a first storage module in the storage pool, wherein at least one physical location in the set of physical locations is located on the first storage module, wherein the first map is associated with a map identifier (ID);

sending, by the control module, a second map to a second storage module in the storage pool, wherein at least one physical location in the set of physical locations is located on the second storage module, wherein the second map is associated with the map ID;

receiving, by the first storage module, a first request from the client comprising a logical address, wherein the logical address comprises the object ID and first offset; and

servicing, by the first storage module, the first request using the first map, wherein the first request is one selected from a group consisting of a read request and a write request, wherein the first map is identified using the object ID;

receiving, by the second storage module, a second request from the client comprising a second logical address, wherein the second logical address comprises the object ID and second offset; and

servicing, by the second storage module, the second request using the second map, wherein the second map is identified using the object ID.

15. The method of claim 14 , wherein the first map is different than the second map.

16. The method of claim 14 , wherein the first map only comprises information associated with physical locations in the set of physical locations located on the first storage module and wherein the second map only comprises information associated with physical locations in the set of physical locations located on the second storage module.

17. A storage appliance, comprising:

a fabric;

a storage pool operatively connected to the fabric and comprising a plurality of physical storage modules, and

a control module operatively connected to the fabric and programmed to:

allocate a set of physical locations in the storage pool;

send, using the fabric, logical layout information associated with the set of physical locations to a client operatively connected to the storage appliance;

send, using the fabric, a map to a storage module in the plurality of storage modules, wherein at least one physical location in the set of physical locations is located on the storage module;

the storage module programmed to:

receive, from the fabric, a request from the client, wherein the request is one selected from a group consisting of a read request and a write request; and

obtaining the map using at least a portion of the request and an object descriptor table in the storage module; and

service the request using the map.

18. The storage appliance of claim 17 , wherein the storage module comprises solid state memory.

19. The method of claim 17 , wherein the storage module comprises a plurality of maps, wherein the map is one of the plurality of maps, wherein the request comprises the object ID, and wherein servicing the request comprises using the object ID to identify the map.

20. The method of claim 17 , wherein the request comprises a logical address, and wherein the map is used to translate the logical address into a physical address corresponding to a physical location on the storage module.

Assignments (9)
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 (045482/0131) 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; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO WYSE TECHNOLOGY L.L.C.)
Reel/Frame 061749/0924 →
RELEASE OF SECURITY INTEREST AT REEL 045482 FRAME 0395 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; WYSE TECHNOLOGY L.L.C.
Reel/Frame 058298/0314 →
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 Mar 1, 2018
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; WYSE TECHNOLOGY L.L.C.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 045482/0395 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Mar 1, 2018
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; WYSE TECHNOLOGY L.L.C.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 045482/0131 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 3, 2017
From: EMC CORPORATION
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 041872/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 31, 2016
From: SHAPIRO, MICHAEL W.
To: EMC CORPORATION
Reel/Frame 038751/0093 →