# US 8,543,760 B2 · Saving log data using a disk system as primary cache and a tape library as secondary cache

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

- Number: US 8,543,760 B2
- Document ID: US8543760B2
- Status: Granted
- Kind: B2
- Application number: 12/966,046
- Filed: 2010-12-13
- Published: 2012-06-14
- Granted: 2013-09-24
- Earliest claimed: 2010-12-13
- Assignees: International Business Machines Corporation
- Applicants: Norie Iwasaki; Koichi Masuda; Tadaaki Minoura; Tomokazu Nakamura; Takeshi Sohda; Takahiro Tsuda
- Inventors: Norie Iwasaki; Koichi Masuda; Tadaaki Minoura; Tomokazu Nakamura; Takeshi Sohda; Takahiro Tsuda
- Web page: https://patentgrep.com/patent/US8543760B2

## CPC

- G06F 3/0619: {in relation to data integrity, e.g. data losses, bit errors}
- G06F 3/0649: {Lifecycle management}
- G06F 3/065: {Replication mechanisms}
- G06F 3/0665: {at area level, e.g. provisioning of virtual or logical volumes}
- G06F 3/0685: {Hybrid storage combining heterogeneous device types, e.g. hierarchical storage, hybrid arrays}
- G06F 3/0686: {Libraries, e.g. tape libraries, jukebox}
- G06F 11/0727: {in a storage system, e.g. in a DASD or network based storage system (drivers for digital recording or reproducing units G06F3/06; circuits for error detection or correction within digital recording or reproducing units G11B20/18; for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS], H04L67/1097)}
- G06F 11/0787: {Storage of error reports, e.g. persistent data storage, storage using memory protection}
- G06F 12/0811: with multilevel cache hierarchies
- G06F 12/0866: for peripheral storage systems, e.g. disk cache
- G06F 12/0875: with dedicated cache, e.g. instruction or stack
- G06F 12/08: in hierarchically structured memory systems, e.g. virtual memory systems
- G06F 2212/283: Plural cache memories
- G06F 2212/452: Instruction code
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Various embodiments are provided for saving a plurality of log data in a hierarchical storage management system using a disk system as a primary cache with a tape library as a secondary cache. The user data is stored in the primary cache and written into the secondary cache at a subsequent period of time. The plurality of blank tapes in the secondary cache is prepared for storing the user data and the plurality of log data based on priorities. At least one of the plurality of blank tapes is selected for copying the plurality of log data and the user data from the primary cache to the secondary cache based on priorities. The plurality of log data is stored in the primary cache. The selection of at least one of the plurality of blank tapes completely filled with the plurality of log data is delayed for writing additional amounts of the user data.

## Claims

### Claim 1

A system, for saving a plurality of log data in a hierarchical storage management (HSM) system using a disk system as a primary cache with a tape library as a secondary cache, comprising:
at least one tape drive; and
at least one processor device, operable with the at least one tape drive, wherein the at least one processor device is adapted for:
storing user data in the primary cache, the user data being written from the primary cache into the secondary cache at a subsequent period of time,
preparing a plurality of blank tapes in the secondary cache for storing the user data and the plurality of log data based on a plurality of priorities, the plurality of blank tapes are unused until the user data is written to at least one tape media,
selecting at least one of the plurality of blank tapes for copying the plurality of log data and the user data from the primary cache to the secondary cache based upon the plurality of priorities,
storing the plurality of log data in the primary cache, wherein the plurality of log data is wrapped in the primary cache and a copy of the plurality of log data being copied into the plurality of blank tapes, the plurality of blank tapes being configured to appear blank to a user for storing the user data, and
delaying the selection of at least one of the plurality of blank tapes, completely filled with the plurality of log data, for writing additional amounts of the user data, wherein the plurality of log data in at least one of the plurality of blank tapes completely filled with the plurality of log data is preserved for an extended period.

### Claim 2 (depends on 1)

The system of claim 1, wherein the at least one processor device is further adapted for, determining a threshold value to allow the plurality of log data to be copied from the primary cache to the secondary cache prior to wrapping the plurality of log data.

### Claim 3 (depends on 1)

The system of claim 1, wherein the at least one processor device is further adapted for, copying the plurality of log data from the primary cache to the secondary cache when the size of the plurality of log data on the primary cache exceeds a threshold value.

### Claim 4 (depends on 1)

The system of claim 1, wherein the at least one processor device is further adapted for, selecting at least one of the plurality of blank tapes for copying the plurality of log data from the primary cache to the secondary cache based upon the plurality of priorities includes performing at least one of:
if the secondary cache contains at least one of the plurality of blank tapes partially filled with the plurality of log data, selecting the at least one of the plurality of blank tapes partially filled with the plurality of log data,
if the secondary cache contains at least one of the plurality of blank tapes without the plurality of log data, selecting the at least one of the plurality of blank tapes without the plurality of log data, and
if the secondary cache contains at least one of the plurality of blank tapes completely filled with the plurality of log data, selecting an oldest one of the at least one of the plurality of blank tapes completely filled with the plurality of log data and overwriting the plurality of log data.

### Claim 5 (depends on 1)

The system of claim 1, wherein the at least one processor device is further adapted for, selecting at least one of the plurality of blank tapes for copying the user data from the primary cache to the secondary cache based upon the plurality of priorities includes performing at least one of:
if the secondary cache contains at least one of the plurality of blank tapes partially filled with the user data, selecting the at least one of the plurality of blank tapes partially filled with the plurality of log data,
if the secondary cache contains at least one of the plurality of blank tapes without the plurality of log data, selecting the at least one of the plurality of blank tapes without the plurality of log data,
if the secondary cache contains at least one blank tape completely filled with the plurality of log data, selecting the oldest one of the at least one of the plurality of blank tapes completely filled with the plurality of log data and overwriting the plurality of log data with the user data, and
if the secondary cache contains at least one blank tape without the plurality of log data, selecting the oldest one of the at least one of the plurality of blank tapes partially filled with the plurality of log data and overwriting the plurality of log data.

### Claim 6 (depends on 1)

The system of claim 1, wherein the at least one processor device is further adapted for, preparing the plurality of blank tapes in the secondary cache for storing the user data and the plurality of log data by the plurality of priorities including performing at least one of:
replenishing the secondary cache with an additional amount of the plurality of blank tapes, and
for each of the plurality of priorities, adapting the plurality of blank tapes to operate in a plurality of states.

### Claim 7

A computer program product, for saving a plurality of log data in a hierarchical storage management (HSM) system using a disk system as a primary cache with a tape library as a secondary cache by a processor device, the computer program product comprising a non-transitory computer-readable storage medium having computer-readable program code portions stored therein, the computer-readable program code portions comprising:
a first executable portion for, storing user data in the primary cache, the user data being written from the primary cache into the secondary cache at a subsequent period of time;
a second executable portion for, preparing a plurality of blank tapes in the secondary cache for storing the user data and the plurality of log data based on a plurality of priorities, the plurality of blank tapes are unused until the user data is written to at least one tape media;
a third executable portion for, selecting at least one of the plurality of blank tapes for copying the plurality of log data and the user data from the primary cache to the secondary cache based upon the plurality of priorities;
a fourth executable portion for, storing the plurality of log data in the primary cache, wherein the plurality of log data is wrapped in the primary cache and a copy of the plurality of microcode log data being copied into the plurality of blank tapes, the plurality of blank tapes being configured to appear blank to a user for storing the user data; and
a fifth executable portion for, delaying the selection of at least one of the plurality of blank tapes, completely filled with the plurality of log data, for writing additional amounts of the user data, wherein the plurality of log data in at least one of the plurality of blank tapes completely filled with the plurality of log data is preserved for an extended period.

### Claim 8 (depends on 7)

The computer program product of claim 7, further including a sixth executable portion for determining a threshold value to allow the plurality of log data to be copied from the primary cache to the secondary cache prior to wrapping the plurality of log data.

### Claim 9

The computer program product 7, further including a sixth executable portion for copying the plurality of log data from the primary cache to the secondary cache when the size of the plurality of log data on the primary cache exceeds a threshold value.

### Claim 10 (depends on 7)

The computer program product of claim 7, further including a sixth executable portion for, selecting at least one of the plurality of blank tapes for copying the plurality of log data from the primary cache to the secondary cache based upon the plurality of priorities includes performing at least one of:
if the secondary cache contains at least one of the plurality of blank tapes partially filled with the plurality of log data, selecting the at least one of the plurality of blank tapes partially filled with the plurality of log data,
if the secondary cache contains at least one of the plurality of blank tapes without the plurality of log data, selecting the at least one of the plurality of blank tapes without the plurality of log data, and
if the secondary cache contains at least one of the plurality of blank tapes completely filled with the plurality of log data, selecting an oldest one of the at least one of the plurality of blank tapes completely filled with the plurality of log data and overwriting the plurality of log data.

### Claim 11 (depends on 7)

The computer program product of claim 7, further including a sixth executable portion for, selecting at least one of the plurality of blank tapes for copying the user data from the primary cache to the secondary cache based upon the plurality of priorities includes performing at least one of:
if the secondary cache contains at least one of the plurality of blank tapes partially filled with the user data, selecting the at least one of the plurality of blank tapes partially filled with the plurality of log data,
if the secondary cache contains at least one of the plurality of blank tapes without the plurality of log data, selecting the at least one of the plurality of blank tapes without the plurality of log data,
if the secondary cache contains at least one blank tape completely filled with the plurality of log data, selecting the oldest one of the at least one of the plurality of blank tapes completely filled with the plurality of log data and overwriting the plurality of log data with the user data, and
if the secondary cache contains at least one blank tape without the plurality of log data, selecting the oldest one of the at least one of the plurality of blank tapes partially filled with the plurality of log data and overwriting the plurality of log data.

### Claim 12 (depends on 7)

The computer program product of claim 7, further including a sixth executable portion for, preparing the plurality of blank tapes in the secondary cache for storing the user data and the plurality of log data by the plurality of priorities including performing at least one of:
replenishing the secondary cache with an additional amount of the plurality of blank tapes, and
for each of the plurality of priorities, adapting the plurality of blank tapes to operate in a plurality of states.
