IP Library Granted Patent US 7,003,714
Granted Patent B1
US 7,003,714 · App. 10/832,100 · Granted Feb 21, 2006

Dynamic data space

Assignee: Network Appliance, 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 7,003,714
App. No.
10/832,100
Granted
Feb 21, 2006
Kind
B1
Abstract

A data storage system, such as RAID, upgraded dynamically including multiple stages, providing error checking data without taking the system off-line. Checksums are computed from the data and placed in block 63 of the same disk. The combination of parity bits across the parity disk, the remaining uncorrupted data in the data disks, and checksums within each disk includes sufficient information to enable restoration of corrupt data. The system is upgraded by reserving permanent checksum blocks, writing the checksums to a volume block number, and placing the checksums in permanently reserved checksum block locations after first moving data already there to unreserved blocks.

Claims (38)

1. A method of upgrading a data storage system storing legacy data to include redundant data for error detection and correction, the method comprising:

allocating a plurality of storage blocks of the data storage system for storing checksum information;

notifying users of the data storage system to move data in the allocated storage blocks;

identifying the allocated storage blocks as checksum blocks after the users move the data in the allocated storage blocks;

computing checksum information for the legacy data; and

writing the computed checksum information for the legacy data into the allocated blocks.

2. A method of upgrading a data storage system according to claim 1 , wherein the step of allocating comprises allocating the plurality of storage blocks in checksum stripes.

3. A method of upgrading a data storage system according to claim 2 , wherein the step of allocating is performed at a first consistency point of the data storage system.

4. A method of upgrading a data storage system according to claim 3 , further comprising the step of locating blocks storing the legacy data, wherein:

the step of locating is performed after the users move the data in the allocated storage blocks, and before the step of computing checksum information for the legacy data; and

the step of locating is performed in the background.

5. A method of upgrading a data storage system according to claim 3 , wherein the step of computing checksum information for the legacy data comprises computing the checksum information for the legacy data using Adler algorithm.

6. A method of upgrading a data storage system according to claim 3 , further comprising:

writing non-legacy data to the data storage system after the step of identifying the allocated storage blocks as checksum blocks, wherein the non-legacy data is not written into the allocated blocks;

computing checksum information for the non-legacy data; and

writing the computed checksum information for the non-legacy data into the allocated blocks.

7. A method of upgrading a data storage system according to claim 3 , wherein the computed checksum information comprises block checksum of eight ID bytes and four Adler bytes for each block.

8. A method of upgrading a data storage system according to claim 3 , wherein the data storage system comprises a redundant array of inexpensive disks (RAID) system.

9. A method of upgrading a data storage system according to claim 3 , wherein the data storage system comprises a write anywhere file layout (WAFL) system.

10. A method of upgrading a data storage system according to claim 3 , further comprising writing a file system information block (fsinfo) to the data storage system after the step of writing the computed checksum information for the legacy data into the allocated blocks, to create a second consistency point.

11. A data storage system comprising mass storage devices storing legacy data, and a processing unit coupled to the storage devices, wherein the processing unit is capable of performing the following steps:

allocating a plurality of storage blocks of the data storage system for storing checksum information;

notifying users of the data storage system to move data in the allocated storage blocks;

identifying the allocated storage blocks as checksum blocks after the users move the data in the allocated storage blocks;

computing checksum information for the legacy data; and

writing the computed checksum information for the legacy data into the allocated blocks.

12. A data storage system according to claim 11 , wherein the processing unit is capable of allocating the plurality of storage blocks in checksum stripes.

13. A data storage system according to claim 12 , wherein the processing unit is capable of allocating the plurality of storage blocks at a first consistency point of the data storage system.

14. A data storage system according to claim 13 , wherein the processing unit is further capable of running in the background to locate blocks storing the legacy data after the users move the data in the allocated storage blocks, and before the step of computing checksum information for the legacy data.

15. A data storage system according to claim 13 , wherein the processing unit is capable of computing the checksum information for the legacy data using Adler algorithm.

16. A data storage system according to claim 13 , wherein the processing unit is further capable of:

writing non-legacy data to the data storage system after identifying the allocated storage blocks as checksum blocks, wherein the non-legacy data is not written into the allocated blocks;

computing checksum information for the non-legacy data; and

writing the computed checksum information for the non-legacy data into the allocated blocks.

17. A data storage system according to claim 13 , wherein the computed checksum information comprises block checksum of eight ID bytes and four Adler bytes for each block.

18. A data storage system according to claim 13 , wherein the mass storage devices comprise a redundant array of inexpensive disks (RAID).

19. A data storage system according to claim 13 , wherein the data storage system implements a write anywhere file layout (WAFL) system.

20. A data storage system according to claim 13 , wherein the processing unit is further capable of writing a file system information block (fsinfo) after the step of writing the computed checksum information for the legacy data into the allocated blocks, to create a second consistency point.

Assignments (2)
CHANGE OF NAME Recorded Oct 25, 2015
From: NETWORK APPLIANCE, INC.
To: NETAPP, INC.
Reel/Frame 036875/0425 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 16, 2015
From: SUNDARAM, RAJESH; VISWANATHAN, SRINIVASAN; ROWE, ALAN; KLEIMAN, STEVEN R.; EDWARDS, JOHN K.
To: NETWORK APPLIANCE, INC.
Reel/Frame 036814/0014 →
Continuity (1)
Continuation 0964206200 · Aug 18, 2000