IP Library Granted Patent US 10,019,383
Granted Patent B2
US 10,019,383 · App. 15/365,658 · Granted Jul 10, 2018

Rotatable-key encrypted volumes in a multi-tier disk partition system

Inventor: Mark Manasse (San Francisco, CA)
Assignee: salesforce.com, inc.
G06F12/1408G06F3/065G06F3/067G06F3/0619G06F3/0643G06F3/0665G06F3/0689G06F21/45G06F21/62G06Q50/184
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,019,383
App. No.
15/365,658
Granted
Jul 10, 2018
Kind
B2
Abstract

Disclosed technology includes access to rotatable-key-encrypted content in a multi-tier disk partition system, with a first-tier-track, and initializing a second-tier-track accessible using the same block designator. A stack of bit vectors, stored in SSD memory, represents tier-tracks and a bit flag indicates whether a respective tier-track holds currently-active data or another bit vector needs to be consulted for access to a predecessor of the tier-track. Copying forward of data from the first-tier-track to the second-tier-track, as-scheduled or in response to an authorized write access to the second-tier-track includes, prior to completion, responding to an access request by providing data from the second-tier-track that has been copied forward and following mappings associated with the flag sets to provide data from the first-tier-track. First-tier-tracks are encrypted using a first encryption key; and a second encryption key is applied to encrypt data in the second-tier-tracks during the copying forward and write access.

Claims (63)

1. A method of access to content in a multi-tier disk partition system, including:

using a disk partition system having a first-tier-track in persistent memory, and the disk partition system running on a hardware processor:

the disk partition system initializing a second-tier-track in the persistent memory,

wherein the second-tier-track supports file blocks residing on the second-tier-track that are accessible using a same block designator as respective file blocks residing on the first-tier-track;

the second-tier-track is in a disk partition that has a stack of bit vectors for respective tiers of tracks, including a first-tier bit vector and a second-tier bit vector; and

a second-tier-track bit flag in the second-tier bit vector indicates whether a respective second-tier-track is current and holds currently active data or whether another bit vector in the stack of bit vectors needs to be consulted for access to a predecessor of the respective second-tier-track;

copying forward data from the first-tier-track to the second-tier-track, at an earlier of as-scheduled or responsive to an authorized write access to the second-tier-track; and

during and prior to completion of the copying forward, the disk partition system responding to an access request for data residing in the second-tier-track by providing data available from the second-tier-track that has been copied forward and by following mappings associated with the predecessor of the second-tier-track to access data in the first-tier-track to provide data from the first-tier-track.

2. The method of claim 1 , further including:

the disk partition system initializing a third-tier-track, wherein blocks in the third-tier-track are accessible using a same block designator as respective file blocks residing on the second-tier-track, and the third-tier-track has a third-tier bit vector that indicates whether a respective third-tier-track is current and holds currently active data or whether another bit vector in the stack of bit vectors needs to be consulted for access to a predecessor of the respective third-tier-track; and

copying forward data from the second-tier-track, at an earlier of as-scheduled or responsive to an authorized write access to the third-tier-track; and

during and prior to completion of the copying forward, the disk partition system responding to an access request for data residing in the third-tier-track by providing data available from the third-tier-track that has been copied forward and by following mappings associated with the predecessor of the third-tier-track to access data in the second-tier-track to provide data from the second-tier-track.

3. The method of claim 2 , wherein prior to completion of copying forward of data from the second-tier-track to the third-tier-track, the disk partition system following mappings associated with the bit vectors to access blocks in the second-tier-track to provide data from the second-tier-track.

4. The method of claim 1 , further including:

the first-tier-track encrypted using a first encryption key; and

applying a second encryption key to encrypt data in the second-tier-track during the copying forward and write access.

5. The method of claim 4 , further including applying a third encryption key to encrypt data in a third-tier-track during copying forward and write access to the third-tier-track.

6. The method of claim 4 , further including writing data to the second-tier-track using the second encryption key, as an update to data provided from the first-tier-track, during the copying forward from the first-tier-track to the second-tier-track.

7. The method of claim 1 , wherein the stack of bit vectors is implemented and persisted, upon update, in a persistent solid state memory.

8. The method of claim 1 , wherein responding to the access request further includes providing data from a combination of the second-tier-track and first-tier-track during the copying forward from the first-tier-track to the second-tier-track.

9. The method of claim 1 , further including writing data to the second-tier-track, as an update to data provided from the first-tier-track, during the copying forward from the first-tier-track to the second-tier-track.

10. A device that provides access to content in a multi-tier disk partition system, the device including:

a processor, memory coupled to the processor, and computer instructions loaded into the memory that, when executed, cause the processor to implement a process that includes:

using a disk partition system having a first-tier-track in persistent memory, and the disk partition system running on a hardware processor:

the disk partition system initializing a second-tier-track in the persistent memory,

wherein the second-tier-track supports file blocks residing on the second-tier-track that are accessible using a same block designator as respective file blocks residing on the first-tier-track;

the second-tier-track is in a disk partition that has a stack of bit vectors for respective tiers of tracks, including a first-tier bit vector and a second-tier bit vector; and

a second-tier-track bit flag in the second-tier bit vector indicates whether a respective second-tier-track is current and holds currently active data or whether another bit vector in the stack of bit vectors needs to be consulted for access to a predecessor of the respective second-tier-track;

copying forward data from the first-tier-track to the second-tier-track, at an earlier of as-scheduled or responsive to an authorized write access to the second-tier-track; and

during and prior to completion of the copying forward, the disk partition system responding to an access request for data residing in the second-tier-track by providing data available from the second-tier-track that has been copied forward and by following mappings associated with the predecessor of the second-tier-track to access data in the first-tier-track to provide data from the first-tier-track.

11. The device of claim 10 , further including:

the disk partition system automatically initializing a third-tier-track, wherein blocks in the third-tier-track are accessible using a same block designator as respective file blocks residing on the second-tier-track, and the third-tier-track has a third-tier bit vector that indicates whether a respective third-tier-track is current and holds currently active data or whether another bit vector in the stack of bit vectors needs to be consulted for access to a predecessor of the respective third-tier-track; and

copying forward data from the second-tier-track, at an earlier of as-scheduled or responsive to an authorized write access to the third-tier-track; and

during and prior to completion of the copying forward, the disk partition system responding to an access request for data residing in the third-tier-track by providing data available from the third-tier-track that has been copied forward and by following mappings associated with the predecessor of the third-tier-track to access data in the second-tier-track to provide data from the second-tier-track.

12. The device of claim 11 , wherein:

prior to completion of copying forward of data from the second-tier-track to the third-tier-track, the disk partition system following mappings associated with the bit vectors to access blocks in the second-tier-track to provide data from the second-tier-track.

13. The device of claim 10 , further including:

the first-tier-track encrypted using a first encryption key; and

applying a second encryption key to encrypt data in the second-tier-track during the copying forward and write access.

14. The device of claim 13 , further including applying a third encryption key to encrypt data in a third-tier-track during copying forward and write access to the third-tier-track.

15. The device of claim 13 , further including writing data to the second-tier-track using the second encryption key, as an update to data provided from the first-tier-track, during the copying forward from the first-tier-track to the second-tier-track.

16. The device of claim 10 , wherein the stack of bit vectors is implemented and persisted upon update in a persistent solid state memory.

17. The device of claim 10 , wherein responding to the access request further includes providing data from a combination of the second-tier-track and first-tier-track during the copying forward from the first-tier-track to the second-tier-track.

18. The device of claim 10 , further including writing data to the second-tier-track, as an update to data provided from the first-tier-track, during the copying forward from the first-tier-track to the second-tier-track.

19. A tangible non-transitory computer readable storage medium that stores program instructions that, when executed, cause a computer to implement a method of access to content in a multi-tier disk partition system, the method including:

using a disk partition system having a first-tier-track in persistent memory, and the disk partition system running on a hardware processor:

the disk partition system initializing a second-tier-track in the persistent memory,

wherein the second-tier-track supports file blocks residing on the second-tier-track that are accessible using a same block designator as respective file blocks residing on the first-tier-track;

the second-tier-track is in a disk partition that has a stack of bit vectors for respective tiers of tracks, including a first-tier bit vector and a second-tier bit vector; and

a second-tier-track bit flag in the second-tier bit vector indicates whether a respective second-tier-track is current and holds currently active data or whether another bit vector in the stack of bit vectors needs to be consulted for access to a predecessor of the respective second-tier-track;

copying forward data from the first-tier-track to the second-tier-track, at an earlier of as-scheduled or responsive to an authorized write access to the second-tier-track; and

during and prior to completion of the copying forward, the disk partition system responding to an access request for data residing in the second-tier-track by providing data available from the second-tier-track that has been copied forward and by following mappings associated with the predecessor of the second-tier-track to access data in the first-tier-track to provide data from the first-tier-track.

20. The tangible non-transitory computer readable storage medium of claim 19 , further including:

the disk partition system automatically initializing a third-tier-track, wherein blocks in the third-tier-track are accessible using a same block designator as respective file blocks residing on the second-tier-track, and the third-tier-track has a third-tier bit vector that indicates whether a respective third-tier-track is current and holds currently active data or whether another bit vector in the stack of bit vectors needs to be consulted for access to a predecessor of the respective third-tier-track; and

copying forward data from the second-tier-track, at an earlier of as scheduled or responsive to an authorized write access to the third-tier-track; and

during and prior to completion of the copying forward, the disk partition system responding to an access request for data residing in the third-tier-track by providing data available from the third-tier-track that has been copied forward and by following mappings associated with the predecessor of the third-tier-track to access data in the second-tier-track to provide data from the second-tier-track.

21. The tangible non-transitory computer readable storage medium of claim 20 , wherein prior to completion of copying forward of data from the second-tier-track to the third-tier-track, the disk partition system following mappings associated with the bit vectors to access blocks in the second-tier-track to provide data from the second-tier-track.

22. The tangible non-transitory computer readable storage medium of claim 19 , further including:

the first-tier-track encrypted using a first encryption key; and

applying a second encryption key to encrypt data in the second-tier-track during the copying forward and write access.

23. The tangible non-transitory computer readable storage medium of claim 22 , further including writing data to the second-tier-track using the second encryption key, as an update to data provided from the first-tier-track, during the copying forward from the first-tier-track to the second-tier-track.

24. The tangible non-transitory computer readable storage medium of claim 22 , further including applying a third encryption key to encrypt data in a third-tier-track during copying forward and write access to the third-tier-track.

25. The tangible non-transitory computer readable storage medium of claim 19 , wherein the stack of bit vectors is implemented and persisted upon update in a persistent solid state memory.

Assignments (2)
CHANGE OF NAME Recorded Nov 21, 2024
From: SALESFORCE.COM, INC.
To: SALESFORCE, INC.
Reel/Frame 069431/0156 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 30, 2016
From: MANASSE, MARK
To: SALESFORCE.COM, INC.
Reel/Frame 040472/0087 →
Continuity (1)
Related Publication 20180150412A1 · May 31, 2018