# US 10,120,797 B1 · Managing mapping metadata in storage systems

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

- Number: US 10,120,797 B1
- Document ID: US10120797B1
- Status: Granted
- Kind: B1
- Application number: 15/281,365
- Filed: 2016-09-30
- Granted: 2018-11-06
- Earliest claimed: 2016-09-30
- Assignees: EMC IP Holding Company LLC
- Applicants: EMC IP Holding Company LLC
- Inventors: Robert P. Foley; Peter Puhov; Lili Chen; Marc Cassano
- Web page: https://patentgrep.com/patent/US10120797B1

## CPC

- G06F 12/0292: {using tables or multilevel address translation means (G06F12/023 takes precedence; address translation in virtual memory systems G06F12/10)}
- G06F 3/061: {Improving I/O performance}
- G06F 3/0619: {in relation to data integrity, e.g. data losses, bit errors}
- G06F 3/0659: {Command handling arrangements, e.g. command buffers, queues, command scheduling}
- G06F 3/0665: {at area level, e.g. provisioning of virtual or logical volumes}
- G06F 3/0689: {Disk arrays, e.g. RAID, JBOD}
- G06F 11/1004: {to protect a block of data words, e.g. CRC or checksum (G06F11/1076 takes precedence; security arrangements for protecting computers or computer systems against unauthorized activity G06F21/00)}
- G06F 11/1076: {Parity data used in redundant arrays of independent storages, e.g. in RAID systems}
- G06F 12/109: for multiple virtual address spaces, e.g. segmentation (G06F12/1036 takes precedence)
- G06F 2211/104: Metadata, i.e. metadata associated with RAID systems with parity
- G06F 2212/1016: Performance improvement
- G06F 2212/1032: Reliability improvement, data loss prevention, degraded operation etc
- G06F 2212/151: Emulated environment, e.g. virtual machine
- G06F 2212/152: Virtualized environment, e.g. logically partitioned system
- G06F 2212/262: configured as RAID
- G06F 2212/651: Multi-level translation tables
- G06F 2212/657: Virtual address space management
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A method is used in managing mapping metadata in storage systems. A request is received to access data organized on a storage device of a storage system. Checksum information is used for validating the data. The checksum information is stored on the storage system separate from a location at which the data has been stored.

## Claims

### Claim 1

A method for use in managing mapping metadata in storage systems, the method comprising:
receiving a request to access data organized on a storage device of a storage system;
accessing mapping information for the data to determine a location of the data on the storage device, wherein the mapping information is organized as a map, wherein the map stores mapping of a logical block address of the data addressable by a host system to a logical block address indicating the location at which data is stored on the storage device and checksum information associated with the data;
accessing the checksum information associated with the data from the mapping information; and
using checksum information accessed from the map for validating the data without having to read checksum from the storage device thereby eliminating an additional I/O operation for retrieving checksum value from the storage device, wherein the checksum information is stored on the storage system in the map separate from a location at which the data has been stored.

### Claim 2 (depends on 1)

The method of claim 1, wherein the checksum information is stored with mapping information for the data, wherein the mapping information determines location of the data on the storage device.

### Claim 3 (depends on 2)

The method of claim 2, wherein the mapping information includes a physical block address for a data object, a logical block address of the data object, and a checksum of the data object.

### Claim 4 (depends on 2)

The method of claim 2, wherein the mapping information is organized as the map, the map including a set of entries, each entry of the set of entries including address mapping for a data object and a checksum for the data object.

### Claim 5 (depends on 1)

The method of claim 1, wherein the request to access the data includes a read IO request.

### Claim 6 (depends on 1)

The method of claim 1, wherein the request to access the data includes a write IO request.

### Claim 7 (depends on 1)

The method of claim 1, wherein the storage system includes a disk drive system comprising a plurality of Redundant Array of Inexpensive Disks (RAID) systems, each RAID system of the plurality of RAID systems having a first disk drive and a second disk drive.

### Claim 8 (depends on 1)

The method of claim 1, wherein a logical address space of the storage system is exported to a user of the storage system as a mapped logical object, wherein the mapped logical object comprises a set of slices, each slice of the set of slices is a logical representation of a subset of physical disk storage.

### Claim 9 (depends on 1)

The method of claim 1, wherein the storage system includes a RAID logic component, wherein RAID logic component provides management and access to storage space of a set of disk drives.

### Claim 10

A storage system for use in managing mapping metadata in storage systems, the system comprising a storage device and a processor configured to:
receive a request to access data organized on a storage device of a storage system; and
access mapping information for the data to determine a location of the data on the storage device, wherein the mapping information is organized as a map, wherein the map stores mapping of a logical block address of the data addressable by a host system to a logical block address indicating the location at which data is stored on the storage device and checksum information associated with the data;
access the checksum information associated with the data from the mapping information; and
use checksum information accessed from the map for validating the data without having to read checksum from the storage device thereby eliminating an additional I/O operation for retrieving checksum value from the storage device, wherein the checksum information is stored on the storage system in the map separate from a location at which the data has been stored.

### Claim 11 (depends on 10)

The system of claim 10, wherein the checksum information is stored with mapping information for the data, wherein the mapping information determines location of the data on the storage device.

### Claim 12 (depends on 11)

The system of claim 11, wherein the mapping information includes a physical block address for a data object, a logical block address of the data object, and a checksum of the data object.

### Claim 13 (depends on 11)

The system of claim 11, wherein the mapping information is organized as the map, the map including a set of entries, each entry of the set of entries including address mapping for a data object and a checksum for the data object.

### Claim 14 (depends on 10)

The system of claim 10, wherein the request to access the data includes a read IO request.

### Claim 15 (depends on 10)

The system of claim 10, wherein the request to access the data includes a write IO request.

### Claim 16 (depends on 10)

The system of claim 10, wherein the storage system includes a disk drive system comprising a plurality of Redundant Array of Inexpensive Disks (RAID) systems, each RAID system of the plurality of RAID systems having a first disk drive and a second disk drive.

### Claim 17 (depends on 10)

The system of claim 10, wherein a logical address space of the storage system is exported to a user of the storage system as a mapped logical object, wherein the mapped logical object comprises a set of slices, each slice of the set of slices is a logical representation of a subset of physical disk storage.

### Claim 18 (depends on 10)

The system of claim 10, wherein the storage system includes a RAID logic component, wherein RAID logic component provides management and access to storage space of a set of disk drives.
