# US 2020/0401330 A1 · Hardware abstraction in software or firmware for hardware calibration

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

- Number: US 2020/0401330 A1
- Document ID: US20200401330A1
- Status: Published application
- Kind: A1
- Application number: 16/445,485
- Filed: 2019-06-19
- Published: 2020-12-24
- Earliest claimed: 2019-06-19
- Assignees: International Business Machines Corporation
- Applicants: International Business Machines Corporation
- Inventors: Anuwat Saetow; Stephen Glancy
- Web page: https://patentgrep.com/patent/US20200401330A1

## CPC

- G06F 3/0632: {by initialisation or re-initialisation of storage systems}
- G06F 3/0604: {Improving or facilitating administration, e.g. storage management}
- G06F 3/0659: {Command handling arrangements, e.g. command buffers, queues, command scheduling}
- G06F 3/067: {Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]}
- G06F 3/0673: {Single storage device}
- G06F 9/44505: {Configuring for program initiating, e.g. using registry, configuration files}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A computer-implemented method for calibrating DRAM is provided. A non-limiting example of the computer-implemented method includes reading, by a processor, system configuration information and disabling, by the processor, one or more steps in a list of calibration steps to be performed based on the system configuration information to leave a list of remaining calibration steps. Based on a determination that two or more remaining calibration steps are co-dependent, the method configures, by the processor, a single calibration step that encapsulates the co-dependent algorithm and places, by the processor, the single calibration step in a list of steps to be called. The method then provides, by the processor, the list of steps to be called.

## Claims

### Claim 1

A computer-implemented method comprising:
reading, by a processor, system configuration information;
disabling, by the processor, one or more steps in a list of calibration steps to be performed based on the system configuration information to leave a list of remaining calibration steps;
based on a determination that two or more remaining calibration steps are co-dependent, configuring, by the processor, a single calibration step that encapsulates the two or more remaining calibration steps that are co-dependent;
placing, by the processor, the single calibration step in a list of steps to be called; and
providing, by the processor, the list of steps to be called.

### Claim 2 (depends on 1)

The computer-implemented method of claim 1, further comprising placing, by the processor, the step in the remaining calibration steps in the list of steps to be called based on a determination that a step in the remaining calibration steps is not dependent upon another step.

### Claim 3 (depends on 2)

The computer-implemented method of claim 2, further comprising retrieving, by the processor, the list of steps to be called.

### Claim 4 (depends on 3)

The computer-implemented method of claim 3, further comprising executing, by the processor, each of the retrieved steps in the list of steps to be called.

### Claim 5 (depends on 4)

The computer-implemented method of claim 4, further comprising determining, by the processor, the success of an executed step.

### Claim 6 (depends on 5)

The computer-implemented method of claim 5, further comprising returning, by the processor, the status of the executing of the executed step in the list of steps to be called.

### Claim 7 (depends on 4)

The computer-implemented method of claim 4, wherein executing further comprises providing, by the processor, a common interface for calling the list of steps to be called.

### Claim 8

A system comprising:
a processor;
a memory communicatively coupled to the processor, the memory having stored therein instructions that when executed cause the processor to:
read system configuration information;
disable one or more steps in a list of calibration steps to be performed based on the system configuration information to leave a list of remaining calibration steps;
based on a determination that two or more remaining calibration steps are co-dependent, configure a single calibration step that encapsulates the two or more remaining calibration steps that are co-dependent;
place the single calibration step in a list of steps to be called; and
provide the list of steps to be called.

### Claim 9 (depends on 8)

The system of claim 8, further comprising instructions that cause the processor to, place the step in the remaining calibration steps in the list of steps to be called based on a determination that a step in the remaining calibration steps is not dependent upon another step.

### Claim 10 (depends on 9)

The system of claim 9, further comprising instructions that cause the processor to retrieve the list of steps to be called.

### Claim 11 (depends on 10)

The system of claim 10, further comprising instructions that cause the processor to execute each of the retrieved steps in the list of steps to be called.

### Claim 12 (depends on 11)

The system of claim 11, further comprising instructions that cause the processor to determine the success of an executed step.

### Claim 13 (depends on 12)

The system of claim 12, further comprising instructions that cause the processor to return the status of the executing of the executed step in the list of steps to be called.

### Claim 14 (depends on 9)

The system of claim 9, further comprising instructions that provide a common interface for calling the list of steps to be called.

### Claim 15

A computer program product for calibrating DRAM, the computer program product comprising a computer readable storage medium having program instructions embodied therewith, the program instructions executable by a processor to cause the processor to:
read system configuration information;
disable one or more steps in a list of calibration steps to be performed based on the system configuration information to leave a list of remaining calibration steps;
based on a determination that two or more remaining calibration steps are co-dependent, configure a single calibration step that encapsulates the two or more remaining calibration steps that are co-dependent;
place the single calibration step in a list of steps to be called; and
provide the list of steps to be called.

### Claim 16 (depends on 15)

The computer program product of claim 15, further comprising instructions that cause the processor to, place the step in the remaining calibration steps in the list of steps to be called based on a determination that a step in the remaining calibration steps is not dependent upon another step.

### Claim 17 (depends on 16)

The computer program product of claim 16, further comprising instructions that cause the processor to retrieve the list of steps to be called.

### Claim 18 (depends on 17)

The computer program product of claim 17, further comprising instructions that cause the processor to execute each of the retrieved steps in the list of steps to be called.

### Claim 19 (depends on 18)

The computer program product of claim 18, further comprising instructions that cause the processor to determine the success of an executed step.

### Claim 20 (depends on 19)

The computer program product of claim 19, further comprising instructions that cause the processor to return the status of the executing of the executed step in the list of steps to be called.
