IP Library Granted Patent US 9,684,593
Granted Patent B1
US 9,684,593 · App. 13/795,512 · Granted Jun 20, 2017

Techniques using an encryption tier property with application hinting and I/O tagging

Inventors: Xiangping Chen (Sherborn, MA); Xuan Tang (Hopkinton, MA); Qin Tao (Hopkinton, MA)
G06F12/0811G06F11/1469G06F12/0897G06F12/128G06F12/02G06F12/08G06F12/1441
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,684,593
App. No.
13/795,512
Filed
Mar 12, 2013
Granted
Jun 20, 2017
Kind
B1
Art Unit
2437
USPC
711/122
Abstract

Techniques are described for storing data. A command is issued from a client to a data storage system. The data storage system includes a plurality of storage tiers comprising a first storage tier of physical storage devices and a second storage tier of physical storage devices, wherein data stored on any physical storage device of the first storage tier is stored in an encrypted form and data stored on any physical storage device of the second storage tier is not stored in an encrypted form. The command includes a hint indicating whether data stored at a first logical address range of a first logical device is stored in an encrypted form. The command is received at the data storage system. First data written to the first logical device at the first logical address range is stored on one or more physical storage devices of any of said first storage tier and said second storage tier in accordance with the hint.

Claims (48)

1. A method of storing data comprising:

issuing a command from a client to a data storage system, said data storage system including a plurality of storage tiers comprising a first storage tier of physical storage devices and a second storage tier of physical storage devices, wherein data stored on any physical storage device of the first storage tier is stored in an encrypted form and data stored on any physical storage device of the second storage tier is not stored in an encrypted form, said command including a hint and specifying a first logical address range of a first logical device, wherein the hint is applied to data stored at the first logical address range of the first logical device and the hint indicates whether data stored at the first logical address range of the first logical device is stored in an encrypted form;

receiving said command at the data storage system;

storing first data written by an operation to said first logical device in said first logical address range on one or more physical storage devices of any of said first storage tier and said second storage tier in accordance with said hint; and

responsive to the hint indicating to store the first data in an encrypted form and the first storage tier having insufficient available storage to store the first data, performing processing including:

determining whether the first storage tier has had insufficient available storage for storing data written more than a threshold number of times in a time period; and

responsive to determining the first storage tier has had insufficient available storage for storing data written more than a threshold number of times in the time period, failing the operation to store the first data, and otherwise performing other processing including:

writing the first data in encrypted form on a physical storage device of the second storage tier; and

responsive to sufficient storage in the first storage tier being available to store the first data, relocating the first data from the second storage tier to the first storage tier.

2. The method of claim 1 , wherein said first data is included in the command and the command is a write command to write the first data to a target location that is the first logical address range of the first logical device whereby the target location of the write command is implicitly used as a hint target location of the hint indicating whether data stored at the hint target location is stored in an encrypted form.

3. The method of claim 1 , wherein the hint of the command explicitly specifies the first logical address range of the first logical device, the first data is not included in the command, and wherein the first data is write data of a second command that is a write command.

4. The method of claim 1 , wherein the hint identifies any of a tiering requirement and tiering preference for data stored in the first logical address range of the first logical device.

5. The method of claim 1 , wherein the first logical address range is less than an entire logical address range for the first logical device.

6. The method of claim 5 , wherein the entire logical address range of the first logical device is partitioned into a plurality of portions, each of said plurality of portions being associated with a setting denoting any of a tiering requirement and tiering preference indicating whether data stored at said each portion is stored on one or more physical storage devices of a storage tier that stores data in an encrypted form.

7. The method of claim 1 , wherein the client is a host and the hint is produced by an application that writes data to the first logical address range of the first logical device whereby the hint indicates that data written to the first logical address range of the first logical device is stored in an encrypted form and the data storage system stores the first data written to one or more locations in the first logical address range on one or more physical storage devices of the first storage tier.

8. The method of claim 7 , wherein the first logical address range of the first logical device is included in a logical object to which the application performs data operations.

9. The method of claim 8 , wherein the object is any of a file, a file system, and a directory.

10. The method of claim 1 , wherein the hint explicitly specifies the first logical address range of the first logical device.

11. The method of claim 1 , wherein the physical storage devices of the first storage tier are self encrypting drives providing for automatic encryption of data written to any of the physical storage devices of the first storage tier and automatic decryption of data read from any of the physical storage devices of the first storage tier.

12. The method of claim 1 , wherein the hint of the command indicates to store data of the first logical address range of the first logical device in encrypted form and the data storage system stores the first data on a first physical storage device of the first storage tier and the method further comprising:

receiving at the data storage system, at a subsequent point in time after storing the first data on the first physical device, a second command including a second hint indicating that data stored in the first logical address range of the first logical device is not stored in encrypted form; and

responsive to receiving the second command, relocating any data stored on the first physical storage device of the first storage tier to a second physical storage device of the second tier.

13. The method of claim 1 , wherein the hint is included in a header portion of the command.

14. The method of claim 1 , wherein the hint indicates to store the first data in an encrypted form and there is insufficient available storage in the first storage tier to store the first data on one or more physical devices of the first storage tier, and the method further comprises:

performing an action in accordance with a policy defined on the data storage system.

15. The method of claim 14 , wherein the policy indicates to perform the action that includes any of: the processing and second processing.

16. The method of claim 15 , wherein the second processing includes relocating other data from the first storage tier to the second storage tier to thereby increase an amount of available storage on the first storage tier.

17. The method of claim 1 , wherein said hint is effective for a period of time indicated by said command.

18. The method of claim 1 , wherein said hint is effective for said first logical address range of said first logical device until another hint is subsequently received that specifies new hint information indicating whether data stored at the first logical address range of the first logical device is stored in an encrypted form.

19. A data storage system comprising:

a plurality of storage tiers including a first storage tier of physical storage devices and a second storage tier of physical storage devices, wherein data stored on any physical storage device of the first storage tier is stored in an encrypted form and data stored on any physical storage device of the second storage tier is not stored in an encrypted form; and

a memory comprising code stored therein that, when executed, performs a method of storing data comprising:

receiving a command from a client, said command including a hint and specifying a first logical address range of a first logical device, wherein the hint is applied to data stored at the first logical address range of the first logical device and the hint indicates whether data stored at the first logical address range of the first logical device is stored in an encrypted form;

storing first data written by an operation to said first logical device in said first logical address range on one or more physical storage devices of any of said first storage tier and said second storage tier in accordance with said hint; and

responsive to the hint indicating to store the first data in an encrypted form and the first storage tier having insufficient available storage to store the first data, performing processing including:

determining whether the first storage tier has had insufficient available storage for storing data written more than a threshold number of times in a time period; and

responsive to determining the first storage tier has had insufficient available storage for storing data written more than a threshold number of times in the time period, failing the operation to store the first data, and otherwise performing other processing including:

writing the first data in encrypted form on a physical storage device of the second storage tier; and

responsive to sufficient storage in the first storage tier being available to store the first data, relocating the first data from the second storage tier to the first storage tier.

20. A non-transitory computer readable medium comprising code stored thereon that, when executed, performs a method for storing data comprising:

issuing a command from a client to a data storage system, said data storage system including a plurality of storage tiers comprising a first storage tier of physical storage devices and a second storage tier of physical storage devices, wherein data stored on any physical storage device of the first storage tier is stored in an encrypted form and data stored on any physical storage device of the second storage tier is not stored in an encrypted form, said command including a hint and specifying a first logical address range of a first logical device, wherein the hint is applied to data stored at the first logical address range of the first logical device and the hint indicates whether data stored at the first logical address range of the first logical device is stored in an encrypted form;

receiving said command at the data storage system;

storing first data written to said first logical device in said first logical address range on one or more physical storage devices of any of said first storage tier and said second storage tier in accordance with said hint; and

responsive to the hint indicating to store the first data in an encrypted form and the first storage tier having insufficient available storage to store the first data, performing processing including:

determining whether the first storage tier has had insufficient available storage for storing data written more than a threshold number of times in a time period; and

responsive to determining the first storage tier has had insufficient available storage for storing data written more than a threshold number of times in the time period, failing the operation to store the first data, and otherwise performing other processing including:

writing the first data in encrypted form on a physical storage device of the second storage tier; and

responsive to sufficient storage in the first storage tier being available to store the first data, relocating the first data from the second storage tier to the first storage tier.

Assignments (10)
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 29, 2016
From: EMC CORPORATION
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 040203/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 →
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 12, 2013
From: CHEN, XIANGPING; TANG, XUAN; TAO, QIN
To: EMC CORPORATION
Reel/Frame 029971/0776 →
Continuity (1)
Continuation In Part 13690069 · Nov 30, 2012