# US 2010/0332452 A1 · System and method for providing long-term storage for data

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2010/0332452 A1
- Document ID: US20100332452A1
- Status: Published application
- Kind: A1
- Application number: 12/459,201
- Filed: 2009-06-25
- Published: 2010-12-30
- Earliest claimed: 2009-06-25
- Assignees: Data Domain, Inc.
- Inventors: Windsor W. Hsu; R. Hugo Patterson
- Web page: https://patentgrep.com/patent/US20100332452A1

## CPC

- G06F 3/0619: {in relation to data integrity, e.g. data losses, bit errors}
- G06F 3/0641: {De-duplication techniques}
- G06F 3/0647: {Migration mechanisms}
- G06F 3/0685: {Hybrid storage combining heterogeneous device types, e.g. hierarchical storage, hybrid arrays}
- G06F 3/0689: {Disk arrays, e.g. RAID, JBOD}
- G06F 16/1748: {De-duplication implemented within the file system, e.g. based on file segments (de-duplication techniques in storage systems for the management of data blocks G06F3/0641)}
- G06F 16/185: Hierarchical storage management [HSM] systems, e.g. file migration or policies thereof (details of archiving G06F16/11)
- G06F 11/2094: {Redundant storage or storage space (G06F11/2056 takes precedence)}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A system for storing files comprises a processor and a memory. The processor is configured to break a file into one or more segments; store the one or more segments in a first storage unit; and add metadata to the first storage unit so that the file can be accessed independent of a second storage unit, wherein a single namespace enables access for files stored in the first storage unit and the second storage unit. The memory is coupled to the processor and configured to provide the processor with instructions

## Claims

### Claim 1

A system for storing files, comprising:
a processor configured to:
break a file into one or more segments;
store the one or more segments in a first storage unit; and
add metadata to the first storage unit so that the file can be accessed independent of a second storage unit, wherein a single namespace enables access for files stored in the first storage unit and the second storage unit; and
a memory coupled to the processor and configured to provide the processor with instructions.

### Claim 2 (depends on 1)

A system as in claim 1, wherein the first storage unit includes metadata information to provide access to files stored in the first storage unit and the second storage unit.

### Claim 3 (depends on 1)

A system as in claim 1, wherein the first storage unit comprises a deduplication domain.

### Claim 4 (depends on 1)

A system as in claim 1, wherein in the event that the first storage unit is full, the processor is further configured to store the one or more segments in a third storage unit.

### Claim 5 (depends on 1)

A system as in claim 1, wherein according to a transfer protocol, the processor is further configured to identify a transfer file to be transferred according to a migration policy and to transfer a set of segments comprising the transfer file to a third storage unit.

### Claim 6 (depends on 5)

A system as in claim 5, wherein the transfer protocol comprises a rule for transferring the set of segments in the event that the first storage unit is above a predetermined capacity limit.

### Claim 7 (depends on 5)

A system as in claim 5, wherein the transfer protocol comprises a rule for transferring the set of segments according to a schedule.

### Claim 8 (depends on 5)

A system as in claim 5, wherein the transfer protocol comprises a rule for transferring the set of segments in the event that the first storage unit is not being accessed.

### Claim 9 (depends on 5)

A system as in claim 5, wherein transferring includes storing in the third storage unit metadata associated with the transfer file, enabling the transfer file to be accessed from the third storage unit.

### Claim 10 (depends on 5)

A system as in claim 5, wherein the migration policy comprises a rule for identifying a file in the event that the file has not been accessed for a predetermined period of time.

### Claim 11 (depends on 5)

A system as in claim 5, wherein the migration policy comprises a rule for identifying a file in the event that the file has been modified for a predetermined period of time.

### Claim 12 (depends on 10)

A system as in claim 10, wherein the predetermined period of time is determined based at least in part on the type of file.

### Claim 13 (depends on 5)

A system as in claim 5, wherein the third storage unit is powered down while the second storage unit remains operational for accessing files stored on the second storage unit.

### Claim 14 (depends on 13)

A system as in claim 13, wherein the third storage unit is powered down when the third storage unit is predicted to be idle for some time.

### Claim 15 (depends on 13)

A system as in claim 13, wherein powering down comprises one or more of the following: powering off some electronics of a disk in the third storage unit, spinning down a disk, powering down a disks, and powering down electronics in the third storage unit.

### Claim 16 (depends on 1)

A system as in claim 1, wherein the processor is further configured to update the metadata in the first storage unit when an indication is received to delete a file.

### Claim 17 (depends on 16)

A system as in claim 16, wherein segments associated only with deleted file are discarded during a space reclamation process.

### Claim 18 (depends on 1)

A system as in claim 1, wherein the first storage unit is replicated by copying stored segments and metadata.

### Claim 19 (depends on 1)

A system as in claim 1, wherein breaking the file into one or more segments comprises determining segment boundaries.

### Claim 20 (depends on 19)

A system as in claim 19, wherein segment boundaries are determined based at least in part on the content of the file.

### Claim 21 (depends on 20)

A system as in claim 20, wherein segment boundaries are determined based at least in part on a value calculated using a function applied to at least a portion of the file.

### Claim 22

A method for storing data, comprising:
breaking a file into one or more segments;
storing the one or more segments in a first storage unit; and
adding metadata to the first storage unit so that the file can be accessed independent of a second storage unit, wherein a single namespace enables access for files stored in the first storage unit and the second storage unit.

### Claim 23

A computer program product for storing data, the computer program product being embodied in a computer readable storage medium and comprising computer instructions for:
breaking a file into one or more segments;
storing the one or more segments in a first storage unit; and
adding metadata to the first storage unit so that the file can be accessed independent of a second storage unit, wherein a single namespace enables access for files stored in the first storage unit and the second storage unit.
