# US 12,001,270 B2 · Vector fetch bus error handling

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

- Number: US 12,001,270 B2
- Document ID: US12001270B2
- Status: Granted
- Kind: B2
- Application number: 18/075,458
- Filed: 2022-12-06
- Published: 2023-06-08
- Granted: 2024-06-04
- Earliest claimed: 2021-12-07
- Assignees: Microchip Technology Incorporated
- Applicants: Microchip Technology Incorporated
- Inventors: Michael Catherwood; David Mickey
- Web page: https://patentgrep.com/patent/US12001270B2

## CPC

- G06F 11/0745: {in an input/output transactions management context (input/output processing in general G06F13/00)}
- G06F 9/30101: {Special purpose registers}
- G06F 9/30116: {Shadow registers, e.g. coupled registers, not forming part of the register space}
- 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: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A computer system includes a non-transitory computer-readable memory to store (a) a vector table including an exception vector pointing to an exception handler and (b) a vector fail address of a vector fetch bus error handler, and a processor to identify an exception, initiate an exception vector fetch in response to the identified exception to read the exception vector from the vector table, identify a vector fetch bus error associated with the exception vector fetch, access the vector fail address of the vector fetch bus error handler in response to the vector fetch bus error, and execute the vector fetch bus error handler.

## Claims

### Claim 1

A computer system including:
non-transitory computer-readable memory to store:
a vector table including an exception vector pointing to an exception handler; and
a vector fail address of a vector fetch bus error handler; and
a processor to:
identify an exception;
in response to the identified exception, initiate an exception vector fetch to read the exception vector from the vector table;
identify a vector fetch bus error associated with the exception vector fetch;
in response to the vector fetch bus error;
set a vector fail status flag in a status register;
access the vector fail address of the vector fetch bus error handler; and
identify the vector fail status flag set in the status register, and in response, execute the vector fetch bus error handler to perform a vector fetch bus error recovery operation.

### Claim 2 (depends on 1)

The computer system of claim 1, wherein:
the exception handler comprises a bus error handler; and
the exception comprises a bus error.

### Claim 3 (depends on 2)

The computer system of claim 2, wherein the bus error comprises the vector fetch bus error handler.

### Claim 4 (depends on 2)

The computer system of claim 2, wherein the vector fetch bus error handler is separate from the bus error handler.

### Claim 5 (depends on 1)

The computer system of claim 1, wherein the non-transitory computer-readable memory comprises flash memory to store the vector table.

### Claim 6 (depends on 1)

The computer system of claim 1, wherein the non-transitory computer-readable memory comprises a register to store the vector fail address of the vector fetch bus error handler.

### Claim 7 (depends on 1)

The computer system of claim 1, wherein the non-transitory computer-readable memory comprises a special function register of the processor to store the vector fail address of the vector fetch bus error handler.

### Claim 8

A method, comprising:
identifying, by a processor, an exception;
in response to the identified exception, initiating, by the processor, an exception vector fetch to read an exception vector from a vector table stored in non-transitory computer-readable memory;
identifying, by the processor, a vector fetch bus error associated with the exception vector fetch; and
in response to the vector fetch bus error:
setting, by the processor, a vector fail status flag in a status register;
accessing, by the processor, a vector fail address stored in non-transitory computer-readable memory, the vector fail address pointing to a vector fetch bus error handler; and
identifying, by the processor, the vector fail status flag set in the status register, and in response, executing, by the processor, the vector fetch bus error handler to perform a vector fetch bus error recovery operation.

### Claim 9 (depends on 8)

The method of claim 8, wherein:
the exception comprises a bus error; and
the exception vector points to a bus error handler.

### Claim 10 (depends on 9)

The method of claim 9, wherein the bus error handler comprises the vector fetch bus error handler.

### Claim 11 (depends on 10)

The method of claim 10, comprising:
prior to identifying the exception:
identifying a non-vector fetch bus error, the non-vector fetch bus error comprising a bus error unrelated to a vector fetch; and
effecting a first execution of the bus error handler including executing a first recovery operation associated with the non-vector fetch bus error;
wherein executing the vector fetch bus error handler in response to the vector fetch bus error comprises executing a second recovery operation associated with the vector fetch bus error, wherein the second recovery operation is different than the first recovery operation.

### Claim 12 (depends on 9)

The method of claim 9, wherein the vector fetch bus error handler is separate from the bus error handler.

### Claim 13 (depends on 8)

The method of claim 8, wherein accessing, by the processor, the vector fail address stored in non-transitory computer-readable memory comprises accessing the vector fail address from a register of the processor.

### Claim 14

A method, comprising:
storing a reset address in a user-configurable special function register;
wherein the reset address in the user-configurable special function register is replaceable with a user-specified vector fail address in response to a user input;
identifying, by a processor, an exception;
in response to the identified exception, initiating, by the processor, an exception vector fetch to read an exception vector from a vector table stored in non-transitory computer-readable memory;
identifying, by the processor, a vector fetch bus error associated with the exception vector fetch; and
in response to the identified vector fetch bus error:
accessing, by the processor, user-configurable special function register;
if the accessed special function register stores the user-specified vector fail address pointing to the vector fetch bus error handler, accessing and executing the vector fetch bus error handler; and
if the accessed special function register stores the reset address, accessing the reset address and resetting the processor.

### Claim 15 (depends on 14)

The method of claim 14, wherein:
the exception comprises a bus error; and
the exception vector points to a bus error handler.

### Claim 16 (depends on 15)

The method of claim 15, wherein the bus error handler comprises the vector fetch bus error handler.

### Claim 17 (depends on 14)

The method of claim 14, wherein the vector fetch bus error handler is separate from the bus error handler.
