# US 2011/0087833 A1 · Local nonvolatile write-through cache for a data server having network-based data storage, and related operating methods

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

- Number: US 2011/0087833 A1
- Document ID: US20110087833A1
- Status: Published application
- Kind: A1
- Application number: 12/576,133
- Filed: 2009-10-08
- Published: 2011-04-14
- Earliest claimed: 2009-10-08
- Assignees: Advanced Micro Devices, Inc.
- Inventors: Nicholas T. JONES
- Web page: https://patentgrep.com/patent/US20110087833A1

## CPC

- G06F 12/0866: for peripheral storage systems, e.g. disk cache
- G06F 2212/222: Non-volatile memory
- G06F 2212/263: Network storage, e.g. SAN or NAS
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A data server, a host adapter system for the data server, and related operating methods facilitate data write and read operations for network-based data storage that is remotely coupled to the data server and for non-network-based data storage in a locally attached cache device. The host adapter system includes a local storage controller module and a network storage controller module. The local storage controller module is utilized for a locally attached, nonvolatile, write-through cache device of the data server. The network storage controller module is utilized for a network-based data storage architecture of the data server. The storage controller modules support concurrent writing of data to the local cache storage and the network-based storage architecture. The storage controller modules also support reading of server-maintained data from the local cache storage and the network-based storage architecture.

## Claims

### Claim 1

A method of operating a data server system comprising a data server, a network-based data storage architecture coupled to the data server, and a non-network-based nonvolatile write-through cache device locally attached to the data server, the method comprising:
receiving instructions to write data;
controlling storage of the data in the non-network-based nonvolatile write-through cache device, in accordance with the instructions; and
controlling redundant storage of the data in the network-based data storage architecture, in accordance with the instructions, such that redundant instantiations of the data are stored at the non-network based write-through cache device and at the network-based data storage architecture.

### Claim 2 (depends on 1)

The method of claim 1, wherein controlling storage of the data in the non-network-based nonvolatile write-through cache device and controlling redundant storage of the data in the network-based data storage architecture are performed concurrently.

### Claim 3 (depends on 1)

The method of claim 1, wherein storage of the data in the network-based data storage architecture is performed after storage of the data in the non-network-based nonvolatile write-through cache device.

### Claim 4 (depends on 1)

The method of claim 1, wherein:
the data server comprises a host adapter module, a local storage controller module coupled to or integrated in the host adapter module, and a network storage controller module coupled to or integrated in the host adapter module, the local storage controller module operatively coupled to the non-network-based nonvolatile write-through cache device, and the network storage controller module operatively coupled to the network-based data storage architecture;
controlling storage of the data in the non-network-based nonvolatile write-through cache device is performed by the local storage controller module under supervision of the host adapter module; and
controlling redundant storage of the data in the network-based data storage architecture is performed by the network storage controller module under supervision of the host adapter module.

### Claim 5 (depends on 1)

The method of claim 1, wherein:
the data server comprises a local storage controller module operatively coupled to the non-network-based nonvolatile write-through cache device, a network storage controller module operatively coupled to the network-based data storage architecture, and a local cache coordination driver operatively coupled to the local storage controller module and the network storage controller module;
controlling storage of the data in the non-network-based nonvolatile write-through cache device is performed by the local storage controller module under supervision of the local cache coordination driver; and
controlling redundant storage of the data in the network-based data storage architecture is performed by the network storage controller module under supervision of the local cache coordination driver.

### Claim 6 (depends on 1)

The method of claim 1, wherein the data server comprises a local random access memory (RAM) cache device, and wherein the method further comprises controlling storage of at least some of the data in the local RAM cache device, such that redundant instantiations of at least some of the data are stored at the non-network-based write-through cache device, at the network-based data storage architecture, and at the local RAM cache device.

### Claim 7 (depends on 1)

The method of claim 1, further comprising:
receiving instructions to read the data; and
sending concurrent read requests for the data, the concurrent read requests being associated with the network-based data storage architecture and the non-network-based nonvolatile write-through cache device.

### Claim 8 (depends on 7)

The method of claim 7, further comprising:
reading the data from the non-network-based nonvolatile write-through cache device if the data is stored therein; and
reading the data from the network-based data storage architecture if the data is not stored in the non-network-based nonvolatile write-through cache device.

### Claim 9

A method of operating a data server system comprising a data server, a network-based data storage architecture coupled to the data server, and a non-network-based nonvolatile write-through cache device locally attached to the data server, the method comprising:
receiving instructions to read designated data that was previously written by the data server;
issuing a local read request for the designated data, the local read request calling for data stored in the non-network-based nonvolatile write-through cache device; and
issuing a network read request for the designated data, the network read request calling for data stored in the network-based data storage architecture.

### Claim 10 (depends on 9)

The method of claim 9, wherein sending the local read request and sending the network read request are performed concurrently.

### Claim 11 (depends on 9)

The method of claim 9, wherein sending the network read request is performed after sending the local read request.

### Claim 12 (depends on 9)

The method of claim 9, wherein:
the data server comprises a host adapter module, a local storage controller module coupled to or integrated in the host adapter module, and a network storage controller module coupled to or integrated in the host adapter module, the local storage controller module operatively coupled to the non-network-based nonvolatile write-through cache device, and the network storage controller module operatively coupled to the network-based data storage architecture; and
the method further comprises:
reading, with the local storage controller module and under supervision of the host adapter module, the designated data from the non-network-based nonvolatile write-through cache device when the designated data resides therein; and
reading, with the network storage controller module and under supervision of the host adapter module, the designated data from the network-based data storage architecture when the designated data does not reside in the non-network-based nonvolatile write-through cache device.

### Claim 13 (depends on 9)

The method of claim 9, wherein:
the data server comprises a local storage controller module operatively coupled to the non-network-based nonvolatile write-through cache device, a network storage controller module operatively coupled to the network-based data storage architecture, and a local cache coordination driver operatively coupled to the local storage controller module and the network storage controller module; and
the method further comprises:
reading, with the local storage controller module and under supervision of the local cache coordination driver, the designated data from the non-network-based nonvolatile write-through cache device when the designated data resides therein; and
reading, with the network storage controller module and under supervision of the local cache coordination driver, the designated data from the network-based data storage architecture when the designated data does not reside in the non-network-based nonvolatile write-through cache device.

### Claim 14 (depends on 9)

The method of claim 9, wherein the data server comprises a local random access memory (RAM) cache device, and wherein the method further comprises sending a RAM read request for the designated data, the RAM read request calling for data stored in the local RAM cache device.

### Claim 15 (depends on 14)

The method of claim 14, wherein sending the local read request, sending the network read request, and sending the RAM read request are performed concurrently.

### Claim 16

A host adapter system for a data server, the host adapter system comprising:
a local storage controller module for a locally attached nonvolatile write-through cache device of the data server, the local storage controller module being configured to control writing of server-maintained data at the locally attached nonvolatile write-through cache device; and
a network storage controller module for a network-based data storage architecture of the data server, the network storage controller module being configured to control duplicate writing of the server-maintained data at the network-based storage architecture;
wherein the local storage controller module issues a local read request for designated data maintained by the data server, the local read request being intended for the locally attached nonvolatile write-through cache device, and wherein the network storage controller module concurrently issues a network read request for the designated data, the network read request being intended for the network-based storage architecture.

### Claim 17 (depends on 16)

The host adapter system of claim 16, further comprising a physical component board, the local storage controller module and the network storage controller module being physically located on the physical component board.

### Claim 18 (depends on 17)

The host adapter system of claim 17, further comprising a local random access memory (RAM) cache device configured to redundantly store at least some of the server-maintained data, the local RAM cache device being physically located on the physical component board.

### Claim 19 (depends on 16)

The host adapter system of claim 16, further comprising:
a local host bus adapter card, the local storage controller module being physically located on the local host bus adapter card; and
a network host bus adapter card, the network storage controller module being physically located on the network host bus adapter card.

### Claim 20 (depends on 19)

The host bus adapter system of claim 19, further comprising a local random access memory (RAM) cache device configured to redundantly store at least some of the server-maintained data, the local RAM cache device being physically located on the local host bus adapter card.

### Claim 21 (depends on 19)

The host bus adapter system of claim 19, further comprising a local random access memory (RAM) cache device configured to redundantly store at least some of the server-maintained data, the local RAM cache device being physically located on the network host bus adapter card.

### Claim 22 (depends on 16)

The host bus adapter system of claim 16, wherein the local storage controller module is configured for compatibility with a storage interface technology selected from the group consisting of: Small Computer System Interface (SCSI); Serial Attached Small Computer System Interface (SAS); Serial Advanced Technology Attachment (SATA); Universal Serial Bus (USB); FireWire; and Integrated Drive Electronics (IDE).

### Claim 23 (depends on 16)

The host bus adapter system of claim 16, wherein the network storage controller module is configured for compatibility with a storage interface technology selected from the group consisting of: Fiber Channel; Internet Small Computer System Interface (iSCSI); Gigabit Ethernet (GbE); Advanced Technology Attachment over Ethernet (AoE); Fiber Channel over Ethernet (FCoE); Fiber Channel over IP (FCIP); HyperSCSI; and Internet Fiber Channel Protocol (iFCP).

### Claim 24 (depends on 16)

The host adapter system of claim 16, wherein:
the network-based data storage architecture comprises a storage area network; and
the network storage controller module is configured for compatibility with the storage area network.

### Claim 25 (depends on 16)

The host adapter system of claim 16, wherein:
the locally attached nonvolatile write-through cache device comprises at least one hard disk drive; and
the local storage controller module is configured for compatibility with the at least one hard disk drive.

### Claim 26 (depends on 16)

The host adapter system of claim 16, wherein:
the locally attached nonvolatile write-through cache device comprises a Redundant Array of Independent Disks (RAID); and
the local storage controller module is configured for compatibility with the RAID.

### Claim 27 (depends on 16)

The host adapter system of claim 16, wherein:
the locally attached nonvolatile write-through cache device comprises at least one flash memory element; and
the local storage controller module is configured for compatibility with the at least one flash memory element.

### Claim 28

A computer-readable medium having computer-executable instructions stored thereon that, when executed by a data server machine, cause the data server machine to perform a method comprising:
controlling a locally attached nonvolatile write-through cache device of the data server machine to perform local write and read operations for data maintained by the data server machine; and
controlling a network-based storage architecture of the data server machine to perform network write and read operations for data maintained by the data server machine, such that server-maintained data is redundantly stored at both the locally attached nonvolatile write-through cache device and the network-based storage architecture.

### Claim 29 (depends on 28)

The computer-readable medium of claim 28, wherein the computer-executable instructions, when executed by the data server machine, cause the data server machine to:
issue a local read request to the locally attached nonvolatile write-through cache device for designated data maintained by the data server machine; and
concurrently issue a network read request to the network-based storage architecture for the designated data.

### Claim 30 (depends on 28)

The computer-readable medium of claim 28, wherein the computer-executable instructions, when executed by the data server machine, cause the data server machine to:
read the designated data from the locally attached nonvolatile write-through cache device if the designated data is stored therein; and
read the designated data from the network-based data storage architecture if the designated data is not stored in the locally attached nonvolatile write-through cache device.
