IP Library Granted Patent US 8,352,726
Granted Patent B2
US 8,352,726 · App. 10/704,115 · Granted Jan 8, 2013

Data storage and/or retrieval

Assignee: NetApp, Inc.
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,352,726
App. No.
10/704,115
Granted
Jan 8, 2013
Kind
B2
Abstract

A system and method comprises receiving a write request from a client to store data at first and second non-sequential locations of a storage medium. The data of the write request is recognized as not being a predefined data pattern, and a first encryption method is applied to the data of the write request before it is stored at the first and second non-sequential locations of the storage medium. Further, a second different encryption method is applied to content of an area between the first and second non-sequential locations, where the content of the area is recognized as being the predefined pattern.

Claims (53)

1. A method, comprising:

receiving a write request from a client

to store data of the write request at first and second locations that are non-sequential on a storage medium, wherein an area between the first and the second locations corresponds to content of the storage medium that has not been written to or overwritten;

recognizing that the data of the write request is not a predefined data pattern of one or more predefined data patterns;

applying a first encryption method to the data of the write request prior to storing the data at the first and the second locations that are non-sequential on the storage medium;

recognizing the content of the area between the first and the second locations as the predefined data pattern of the one or more predefined data patterns; and

applying a second encryption method associated with the predefined data pattern to the content of the area between the first and the second locations, wherein the second encryption method is different than the first encryption method.

2. The method of claim 1 , wherein at least one of the first and the second encryption methods is transparent to the client.

3. The method of claim 1 , further comprising inserting a default pattern when applying the second encryption method to the content of the area between the first and the second locations.

4. The method of claim 1 , further comprising reading the data of the storage medium non-sequentially.

5. The method of claim 1 , wherein the data is stored in a multiple of a data encryption block size.

6. The method of claim 1 , further comprising inserting at least one predefined data pattern of the one or more predefined data patterns into the storage medium prior to storing the data of the write request to the storage medium.

7. The method of claim 6 , wherein the at least one predefined data patterns is a random pattern.

8. The method of claim 1 , wherein the area between the first and the second locations is a hole.

9. The method of claim 1 , further comprising:

receiving a read request from the client for the data and the content of the area;

applying a first decryption method to the data encrypted with the first encryption method and stored at the first and the second locations that are non-sequential; and

applying a second decryption method to the content of the area encrypted with the second encryption Method.

10. The method of claim 9 , wherein the second decryption method comprises providing the content without performing decryption on the content, wherein the second encryption method inserts a default pattern.

11. The method of claim 1 , wherein the predefined data pattern of the one or more predefined data patterns comprises a fixed pattern.

12. The method of claim 11 , wherein the fixed pattern comprises zeros.

13. The method of claim 8 , wherein recognizing the predefined data patterns comprises recognizing the hole.

14. The method of claim 8 , further comprising providing hole data in the storage medium, wherein the hole data provides additional data about one or more holes contained in a file stored on the storage medium.

15. The method of claim 14 , wherein the additional data comprises pointers to a next hole in the file.

16. The method of claim 1 , wherein the storage medium comprises one or more disks.

17. The method of claim 1 , wherein the storage medium comprises one or more CD-ROMs.

18. The method of claim 1 , wherein the storage medium comprises static random access memory.

19. The method of claim 1 , wherein the storage medium comprises dynamic random access memory.

20. The method of claim 1 , wherein the storage medium comprises flash memory.

21. A non-transitory computer-readable medium containing executable program instructions executed by a processor, comprising:

program instructions that receive a write request from a client to store data of the write request at first and second location that are non-sequential on a storage media, wherein an area between the first and the second locations corresponds to content of the storage media that has not been written to or overwritten;

program instructions that recognize that the data of the write request is not a predefined data pattern of one or more predefined data patterns;

program instructions that apply a first encryption method to the data of the write request prior to storing the data at the first and the second locations that are non-sequential on the storage media;

program instructions that recognize the content of the area between the first and the second locations as the predefined data pattern of the one or more predefined data patterns; and

program instructions that apply a second encryption method associated with the predefined data pattern to the content of the area between the first and the second locations, wherein the second encryption method is different than the first encryption method.

22. The non-transitory computer-readable storage medium of claim 21 , wherein the content of the area between the first and the second locations is a hole.

23. The non-transitory computer-readable storage medium of claim 21 , wherein the data is stored in a multiple of a data encryption block size.

24. The non-transitory computer-readable storage medium of claim 21 , further comprising program instructions that insert at least a default pattern when applying the second encryption method to the content of the area between the first and the second locations.

25. A system, comprising:

a computer system configured to receiving a write request from a client to write data of the write request at first and second locations that are non-sequential on a storage medium, wherein an area between the first and the second locations corresponds to content of the storage medium that has not been written to or overwritten;

a processor of the computer system configured to recognize that the data of the write request is not a predefined data pattern of one or more predefined data patterns, the processor further configured to apply a first encryption method to the data of the write request prior to storing the data at the first and the second locations that are non-sequential on the storage medium, the processor further configured to recognize the content of the area between the first and the second locations as the predefined data pattern of the one or more predefined data patterns, and the processor further configured to apply a second encryption method associated with the predefined data pattern to the content of the area between the first and the second locations, wherein the second encryption method is different than the first encryption method.

26. The system of claim 25 , wherein at least one of the first and the second encryption methods is transparent to the client.

27. The system of claim 25 , wherein the content of the area between the first and second the locations is a hole.

28. The system of claim 25 , wherein the data is stored in a multiple of a data encryption block size.

29. The system of claim 25 , wherein the processor is further configured to insert at least one predefined data pattern of the one or more predefined patterns into the storage medium prior to storing the data of the write request to the storage medium.

30. The system of claim 25 , wherein the processor is further configured to insert a default pattern when the second encryption method is applied to the content of the area between the first and the second locations.

31. The system of claim 25 , wherein the processor is further configured to provide the content to the client without performing decryption on the content in response to a read request, wherein the second encryption method inserts a default pattern.

32. The system of claim 25 , wherein the storage medium comprises one or more disks.

33. The system of claim 25 , wherein the storage medium comprises one or more CD-ROMs.

34. The system of claim 25 , wherein the storage medium comprises random access memory.

35. The system of claim 25 , wherein the storage medium comprises flash memory.

36. The system of claim 25 , wherein the processor is further configured to read the data of the storage medium non-sequentially.

37. The system of claims 30 , wherein the predefined data patterns of the one or more predefined data patterns comprises a random pattern.

Assignments (4)
CHANGE OF NAME Recorded Aug 17, 2024
From: NETWORK APPLIANCE, INC.
To: NETAPP, INC.
Reel/Frame 068319/0511 →
CHANGE OF NAME Recorded Nov 29, 2012
From: NETWORK APPLIANCE, INC.
To: NETAPP, INC.
Reel/Frame 029371/0583 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 21, 2007
From: DECRU, INC.
To: NETWORK APPLIANCE, INC.
Reel/Frame 019722/0220 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 7, 2003
From: BOJINOV, HRISTO; PLOTKIN, SERGE; WOOD, ROBERT
To: DECRU, INC.
Reel/Frame 014689/0937 →
Continuity (1)
Related Publication 20050102498A1 · May 12, 2005