# US 10,768,832 B2 · Managing storage protection faults

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

- Number: US 10,768,832 B2
- Document ID: US10768832B2
- Status: Granted
- Kind: B2
- Application number: 16/282,567
- Filed: 2019-02-22
- Published: 2019-07-11
- Granted: 2020-09-08
- Earliest claimed: 2008-02-25
- Assignees: International Business Machines Corporation
- Applicants: International Business Machines Corporation
- Inventors: Mark S. Farrell; Lisa Cranton Heller; Damian L. Osisek; Peter K. Szwed
- Web page: https://patentgrep.com/patent/US10768832B2

## CPC

- G06F 3/0622: {in relation to access}
- G06F 3/0637: {Permissions}
- G06F 3/0673: {Single storage device}
- G06F 11/0712: {in a virtual computing platform, e.g. logically partitioned systems}
- 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/073: {in a memory management context, e.g. virtual memory or cache management (memory management G06F12/00; testing of static memory units G11C29/00)}
- G06F 11/0751: {Error or fault detection not based on redundancy (power supply failures G06F1/30; network fault management H04L41/06)}
- G06F 11/079: {Root cause analysis, i.e. error or fault diagnosis (in a hardware test environment G06F11/22; in a software test environment G06F11/36)}
- G06F 11/0793: {Remedial or corrective actions (recovery from an exception in an instruction pipeline G06F9/3861; by retry G06F11/1402; for recovering from a failure of a protocol instance or entity H04L69/40)}
- G06F 12/1009: using page tables, e.g. page table structures
- G06F 12/1408: {by using cryptography (for digital transmission H04L9/00)}
- G06F 12/1458: {by checking the subject access rights}
- G06F 12/1491: {in a hierarchical protection system, e.g. privilege levels, memory rings}
- G06F 12/109: for multiple virtual address spaces, e.g. segmentation (G06F12/1036 takes precedence)
- G06F 12/145: {the protection being virtual, e.g. for virtual blocks or segments before a translation mechanism}
- G06F 12/1475: {in a virtual system, e.g. with translation means}
- G06F 12/1483: {using an access-table, e.g. matrix or list}
- G06F 2212/151: Emulated environment, e.g. virtual machine
- G06F 2212/654: Look-ahead translation
- G06F 2212/657: Virtual address space management
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Management of storage used by pageable guests of a computing environment is facilitated. A query instruction is provided that details information regarding the storage location indicated in the query. It specifies whether the storage location, if protected, is protected by host-level protection or guest-level protection.

## Claims

### Claim 1

A computer program product for facilitating management of storage of a computing environment, the computer program product comprising:
at least one non-transitory computer readable storage medium readable by at least one processing circuit and storing instructions for performing a method comprising:
attempting access to a storage location by an instruction issued by a guest of the computing environment, the storage location being protected by at least one type of storage protection;
detecting, based on the attempting access to the storage location, that the attempted access of the storage location failed due to a fault of a storage protection of the at least one type of storage protection protecting the storage location, wherein the storage protection is a host level of protection or a guest level of protection;
determining, based on one or more checks, whether the detected failure of the attempted access is due to the host level of protection or the guest level of protection, wherein the determining comprises checking whether translation processing is on for the guest, and depending on whether translation processing is on for the guest, checking one or more other guest protections to determine whether the detected failure of the attempted access is due to the host level of protection or the guest level of protection; and
performing an action based on the determining, wherein the action performed is one action based on the detected failure of the attempted access being due to the guest level of protection and is another action based on the detected failure of the attempted access being due to the host level of protection.

### Claim 2 (depends on 1)

The computer program product of claim 1, wherein the method further comprises obtaining information relating to the detected failure of the attempted access, the information comprising a host address based on the determining indicating that the detected failure of the attempted access is due to the host level of protection.

### Claim 3 (depends on 1)

The computer program product of claim 1, wherein the method further comprises obtaining information relating to the detected failure of the attempted access, the information comprising a guest address based on the determining indicating that the detected failure of the attempted access is due to the guest level of protection.

### Claim 4 (depends on 1)

The computer program product of claim 1, wherein the method further comprises performing a guest interrupt, based on the determining indicating that the detected failure of the attempted access is due to the guest level of protection.

### Claim 5 (depends on 1)

The computer program product of claim 1, wherein the method further comprises performing a host interrupt, based on the determining indicating that the detected failure of the attempted access is not due to the guest level of protection.

### Claim 6 (depends on 1)

The computer program product of claim 1, wherein the one action comprises indicating that storing is not permitted by the guest level of protection.

### Claim 7 (depends on 1)

The computer program product of claim 1, wherein the storage location is at least part of an area of storage that specifies a first frame of host main storage, and wherein the other action comprises:
based on determining that the area of storage is part of a host copy-on-write scheme, assigning a second frame to the area of storage, copying contents of the first frame to the second frame, and permitting guest storing to the area of storage comprising the second frame; and
based on determining that the area of storage is not part of the host copy-on-write scheme, indicating that storing is not permitted by the host level of protection.

### Claim 8 (depends on 1)

The computer program product of claim 1, wherein the failure of the attempted access is detected during execution of a pageable guest of the computing environment attempting access to the storage location.

### Claim 9 (depends on 8)

The computer program product of claim 8, wherein the pageable guest is of one architecture and is executed by a host of another architecture different from the one architecture.

### Claim 10

A computer system for facilitating management of storage of a computing environment, the computer system comprising:
a memory; and
a processor in communication with the memory, wherein the computer system is configured to perform a method, said method comprising:
attempting access to a storage location by an instruction issued by a guest of the computing environment, the storage location being protected by at least one type of storage protection;
detecting, based on the attempting access to the storage location, that the attempted access of the storage location failed due to a fault of a storage protection of the at least one type of storage protection protecting the storage location, wherein the storage protection is a host level of protection or a guest level of protection;
determining, based on one or more checks, whether the detected failure of the attempted access is due to the host level of protection or the guest level of protection, wherein the determining comprises checking whether translation processing is on for the guest, and depending on whether translation processing is on for the guest, checking one or more other guest protections to determine whether the detected failure of the attempted access is due to the host level of protection or the guest level of protection; and
performing an action based on the determining, wherein the action performed is one action based on the detected failure of the attempted access being due to the guest level of protection and is another action based on the detected failure of the attempted access being due to the host level of protection.

### Claim 11 (depends on 10)

The computer system of claim 10, wherein the failure of the attempted access is detected during execution of a pageable guest of the computing environment attempting access to the storage location.

### Claim 12 (depends on 10)

The computer system of claim 10, wherein the method further comprises obtaining information relating to the detected failure of the attempted access, the information comprising a host address based on the determining indicating that the detected failure of the attempted access is due to the host level of protection.

### Claim 13 (depends on 10)

The computer system of claim 10, wherein the method further comprises obtaining information relating to the detected failure of the attempted access, the information comprising a guest address based on the determining indicating that the detected failure of the attempted access is due to the guest level of protection.

### Claim 14 (depends on 10)

The computer system of claim 10, wherein the method further comprises performing a guest interrupt, based on the determining indicating that the detected failure of the attempted access is due to the guest level of protection.

### Claim 15 (depends on 10)

The computer system of claim 10, wherein the method further comprises performing a host interrupt, based on the determining indicating that the detected failure of the attempted access is not due to the guest level of protection.

### Claim 16

A computer-implemented method of facilitating management of storage of a computing environment, the computer-implemented method comprising:
attempting access to a storage location by an instruction issued by a guest of the computing environment, the storage location being protected by at least one type of storage protection;
detecting, based on the attempting access to the storage location, that the attempted access of the storage location failed due to a fault of a storage protection of the at least one type of storage protection protecting the storage location, wherein the storage protection is a host level of protection or a guest level of protection;
determining, based on one or more checks, whether the detected failure of the attempted access is due to the host level of protection or the guest level of protection, wherein the determining comprises checking whether translation processing is on for the guest, and depending on whether translation processing is on for the guest, checking one or more other guest protections to determine whether the detected failure of the attempted access is due to the host level of protection or the guest level of protection; and
performing an action based on the determining, wherein the action performed is one action based on the detected failure of the attempted access being due to the guest level of protection and is another action based on the detected failure of the attempted access being due to the host level of protection.

### Claim 17 (depends on 16)

The computer-implemented method of claim 16, wherein the method further comprises performing a host interrupt, based on the determining indicating that the detected failure of the attempted access is not due to the guest level of protection.

### Claim 18 (depends on 16)

The computer-implemented method of claim 16, further comprising obtaining information relating to the detected failure of the attempted access, the information comprising a host address based on the determining indicating that the detected failure of the attempted access is due to the host level of protection.

### Claim 19 (depends on 16)

The computer-implemented method of claim 16, further comprising obtaining information relating to the detected failure of the attempted access, the information comprising a guest address based on the determining indicating that the detected failure of the attempted access is due to the guest level of protection.

### Claim 20 (depends on 16)

The computer-implemented method of claim 16, further comprising performing a guest interrupt, based on the determining indicating that the detected failure of the attempted access is due to the guest level of protection.
