Browse Prior Art Database

Adapter Enhanced Error Recovery

IP.com Disclosure Number: IPCOM000016765D
Original Publication Date: 2003-Jul-14
Included in the Prior Art Database: 2003-Jul-14
Document File: 1 page(s) / 36K

Publishing Venue

IBM

Abstract

Enhance error handling for Input/Output (I/O) adapters. We program the restrictions and built-in intelligent in the adapter hardware that allows the adapter to detect problems during runtime. This will help the software to detect and recover from the errors. All restrictions and intelligent can be programmable by the software.

This text was extracted from a PDF file.
This is the abbreviated version, containing approximately 64% of the total text.

Page 1 of 1

Adapter Enhanced Error Recovery

Current I/O (input/output) adapters are not generally designed to gracefully handle software/hardware errors. Handling of errors is generally left up to the device driver and/or the system to handle the errors (bus/data parity/logic type of errors). The idea is to build some intelligence into the I/O adapter which allows it to handle and recover from errors. The adapter will keep a list of limitations, legal operations, address ranges. This restriction information can be programmed by the device driver at run-time and/or by the card designer. The adapter will check all the incoming or outgoing traffic against its limitation list. If the adapter sees any of the operations or address ranges that are not valid or potentially harmful to the adapter's internal state-machine, the adapter will stop the operation, signal the device driver to reset/power down itself. This will prevent the adapter from writing into invalid memory space on the system due to a temporary software/hardware failure. If the problem is not recoverable, the adapter can power itself off thus allowing the device driver to exit gracefully.

Example: Most modern I/O adapters support DMA (direct memory access) to system memory. Take an Ethernet adapter as an example of a DMA device which will misbehave when the system returns an invalid memory address: The device driver makes system calls to allocate a set of buffers for the adapter to use to store Ethernet data (pre-allo...