IP Library Granted Patent US 7,478,265
Granted Patent B2
US 7,478,265 · App. 10/964,862 · Granted Jan 13, 2009

Error recovery for input/output operations

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,478,265
App. No.
10/964,862
Granted
Jan 13, 2009
Kind
B2
Abstract

Method, system, and apparatus for executing input/output operations. The method including selecting a level of error recovery for input/output operations, receiving a request to execute the input/output operation, attempting the input/output operation, and when the input/output operation fails, performing the level of error recovery specified. The selection of the error recovery level may be done by a user, or embedded within the input/output request itself.

Claims (35)

1. A method, comprising:

tuning error recovery in a storage device by:

receiving a user command to set an error recovery level of the storage device;

propagating the user command down the layers of the input/output stack;

as the user command is propagated, selectively modifying the user command;

when the command indicates one state, enabling limited error recovery for failed input/output operations; and

when the command indicates another state, enabling a higher level of error recovery for failed input/output operations.

2. The method of claim 1 , wherein receiving a command to set the error recovery level comprises receiving a command over a management interface.

3. A method, comprising:

receiving a request for an input/output operation;

determining an error recovery level to use if the input/output operation fails;

embedding a state signal that indicates the error recovery level into a command to execute the input/output operation;

issuing the command;

propagating the command down an input/output stack to a storage device; and

selectively modifying the command as the command propagates down the layers of the input/output stack.

4. The method of claim 3 , wherein embedding a state signal comprises embedding a state signal in an input/output command issued to a device driver.

5. The method of claim 4 , wherein propagating the command comprises passing the command from the device driver to the storage device.

6. The method of claim 3 , wherein embedding a state signal comprises setting a value of a bit in an input/output command to one of two states with one state for a high level of error recovery and another state for a lower level of error recovery.

7. The method of claim 3 , wherein embedding a state signal comprises setting a value of N bits in an input/output command to one of up to 2 N states associated with selectable levels of error recovery.

8. The method of claim 3 , wherein determining an error recovery level comprises determining whether redundant data is available on a separate storage device.

9. A machine-readable medium having instructions stored thereon for performing a method for executing an input/output operation with a selectable error recovery level, the method comprising

receiving a request for an input/output operation from an application program;

determining whether the requested input/output operation relates to redundant data controlled by a logical storage manager;

generating a state signal for use in error recovery if the input/output operation fails, wherein the state signal is based on the determination as to the existence of redundant data;

embedding the state signal into a field of a command to execute the input/output operation;

issuing the command;

propagating the command down an input/output stack from the logical storage manager to a storage device; and

selectively modifying the command as the command propagates down the layers of the input/output stack.

10. A system comprising:

a host system running an operating system and at least one application;

at least one storage device, coupled to the host system, for storing data;

wherein the operating system includes at least one device driver, in communication with the at least one storage device, and

wherein the operating system selectively tunes the level of error recovery associated with an input/output request as the request is propagated down the input/output stack between the application and the storage device.

11. The system of claim 10 , wherein the operating system includes a logical volume manager layer that determines whether to alter an embedded state signal in an input/output request from the at least one application before propagating the input/output request to the at least one device driver.

12. The system of claim 11 , wherein the at least one device driver further determines whether to alter the embedded state signal in the input/output request from the logical volume manager layer before propagating the input/output request to the at least one storage device.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 6, 2021
From: OT PATENT ESCROW, LLC
To: VALTRUS INNOVATIONS LIMITED
Reel/Frame 056157/0492 →
PATENT ASSIGNMENT, SECURITY INTEREST, AND LIEN AGREEMENT Recorded Jan 26, 2021
From: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP; HEWLETT PACKARD ENTERPRISE COMPANY
To: OT PATENT ESCROW, LLC
Reel/Frame 055269/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 9, 2015
From: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.
To: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP
Reel/Frame 037079/0001 →