# US 11,030,111 B2 · Representing an address space of unequal granularity and alignment

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

- Number: US 11,030,111 B2
- Document ID: US11030111B2
- Status: Granted
- Kind: B2
- Application number: 16/751,005
- Filed: 2020-01-23
- Published: 2020-05-21
- Granted: 2021-06-08
- Earliest claimed: 2018-05-23
- Assignees: International Business Machines Corporation
- Applicants: International Business Machines Corporation
- Inventors: Yosef Shatsky; Asaf Porat-Stoler
- Web page: https://patentgrep.com/patent/US11030111B2

## CPC

- G06F 3/061: {Improving I/O performance}
- G06F 12/10: Address translation
- G06F 3/0604: {Improving or facilitating administration, e.g. storage management}
- G06F 3/064: {Management of blocks}
- G06F 3/0665: {at area level, e.g. provisioning of virtual or logical volumes}
- G06F 3/067: {Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]}
- G06F 3/0685: {Hybrid storage combining heterogeneous device types, e.g. hierarchical storage, hybrid arrays}
- G06F 12/023: {Free address space management}
- G06F 12/109: for multiple virtual address spaces, e.g. segmentation (G06F12/1036 takes precedence)
- G06F 12/04: Addressing variable-length words or parts of words
- G06F 12/08: in hierarchically structured memory systems, e.g. virtual memory systems
- G06F 2212/1008: Correctness of operation, e.g. memory ordering
- G06F 2212/1016: Performance improvement
- G06F 2212/1041: Resource optimization
- G06F 2212/652: Page size control
- G06F 2212/657: Virtual address space management
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A computer-implemented method according to one embodiment includes identifying a data write to a specific position within a virtual address space, determining an entry within a metadata structure that corresponds to the specific position within the virtual address space, and adding state information associated with the data write to the entry within the metadata structure, the state information including a size of the data write within the virtual address space and an alignment of the data write within the virtual address space.

## Claims

### Claim 1

A computer-implemented method, comprising:
identifying a data write to a specific position within a virtual address space;
determining an entry within a metadata structure that corresponds to the specific position within the virtual address space; and
adding state information associated with the data write to the entry within the metadata structure, the state information including a left or right alignment of the data write within the virtual address space.

### Claim 2 (depends on 1)

The computer-implemented method of claim 1, wherein the virtual address space has an alignment granularity and a size granularity, where the size granularity is different from the alignment granularity.

### Claim 3 (depends on 1)

The computer-implemented method of claim 1, wherein the metadata structure represents the virtual address space at a management layer of a system.

### Claim 4 (depends on 1)

The computer-implemented method of claim 1, wherein the metadata structure includes an array.

### Claim 5 (depends on 1)

The computer-implemented method of claim 1, wherein the metadata structure includes a plurality of entries, where one or more entries within the metadata structure each correspond to a position within the virtual address space where data is stored, and each entry within the metadata structure corresponds to a portion of the virtual address space having a size matching a size granularity of the virtual address space.

### Claim 6 (depends on 1)

The computer-implemented method of claim 1, wherein each entry within the metadata structure includes an indication as to whether a corresponding grain is in use, and a physical address of the corresponding grain.

### Claim 7 (depends on 1)

The computer-implemented method of claim 1, wherein the state information is added as two bits within the entry in the metadata structure, where the two bits indicate a size of the entry, and the left or right alignment.

### Claim 8 (depends on 1)

The computer-implemented method of claim 1, wherein the left or right alignment of the data write is associated with a numbering of the entry.

### Claim 9 (depends on 1)

The computer-implemented method of claim 1, further comprising adjusting one or more additional entries within the metadata structure, based on the data write.

### Claim 10 (depends on 1)

The computer-implemented method of claim 1, wherein the metadata structure is subdivided into a plurality of self-contained groups, where each self-contained group within the plurality of self-contained groups does not have any entry carryover into adjacent groups.

### Claim 11

A computer program product comprising one or more computer readable storage media, and program instructions collectively stored on the one or more computer readable storage media, the program instructions comprising instructions configured to cause one or more processors to perform a method comprising:
identifying a data write to a specific position within a virtual address space, utilizing the one or more processors;
determining an entry within a metadata structure that corresponds to the specific position within the virtual address space, utilizing the one or more processors; and
adding, utilizing the one or more processors, state information associated with the data write to the entry within the metadata structure, the state information including a left or right alignment of the data write within the virtual address space.

### Claim 12 (depends on 11)

The computer program product of claim 11, wherein the virtual address space has an alignment granularity and a size granularity, where the size granularity is different from the alignment granularity.

### Claim 13 (depends on 11)

The computer program product of claim 11, wherein the metadata structure represents the virtual address space at a management layer of a system.

### Claim 14 (depends on 11)

The computer program product of claim 11, wherein the metadata structure includes an array.

### Claim 15 (depends on 11)

The computer program product of claim 11, wherein the metadata structure includes a plurality of entries, where one or more entries within the metadata structure each correspond to a position within the virtual address space where data is stored, and each entry within the metadata structure corresponds to a portion of the virtual address space having a size matching a size granularity of the virtual address space.

### Claim 16 (depends on 11)

The computer program product of claim 11, wherein each entry within the metadata structure includes an indication as to whether a corresponding grain is in use, and a physical address of the corresponding grain.

### Claim 17 (depends on 11)

The computer program product of claim 11, wherein the state information is added as two bits within the entry in the metadata structure, where the two bits indicate a size of the entry, and the left or right alignment.

### Claim 18

A system, comprising:
a processor; and
logic integrated with the processor, executable by the processor, or integrated with and executable by the processor, the logic being configured to:
identify a data write to a specific position within a virtual address space;
determine an entry within a metadata structure that corresponds to the specific position within the virtual address space; and
add state information associated with the data write to the entry within the metadata structure, the state information including a left or right alignment of the data write within the virtual address space.
