Systems and methods for I/O processing using out-of-band hinting to block driver or storage controller
First Claim
Patent Images
1. A method for processing at least one Input/Output (I/O) request issued by an application to at least one of a filename, a device, and a continuous range of logical block addresses (LBA) of a virtual device via out-of-band hinting, comprising:
- directly interfacing with at least one of a storage controller and a block driver while bypassing an I/O stream;
defining at least one hint, the at least one hint including the at least one of a filename, a device, and a continuous range of logical block addresses,a hint type, andassociated instructions for processing the at least one I/O request; and
passing the at least one hint to the at least one of a storage controller and a block driver while bypassing the I/O stream.
7 Assignments
0 Petitions
Accused Products
Abstract
A storage subsystem can achieve more efficient I/O processing by enabling users to specify and pass out of band I/O hints comprising an object to be hinted, a hint type, and caching strategies associated with a hint type. A hinted object may be either a virtual device or a file. In addition to priority cache, hint types may include never-cache, sticky-cache, and volatile-cache. Hints may be passed via command-line or graphical-user interfaces.
11 Citations
20 Claims
-
1. A method for processing at least one Input/Output (I/O) request issued by an application to at least one of a filename, a device, and a continuous range of logical block addresses (LBA) of a virtual device via out-of-band hinting, comprising:
-
directly interfacing with at least one of a storage controller and a block driver while bypassing an I/O stream; defining at least one hint, the at least one hint including the at least one of a filename, a device, and a continuous range of logical block addresses, a hint type, and associated instructions for processing the at least one I/O request; and passing the at least one hint to the at least one of a storage controller and a block driver while bypassing the I/O stream. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A system for managing a processing of an Input/Output (I/O) request from at least one application via out-of-band hinting, comprising:
-
a hint engine configured to enable the at least one application to specify at least one hint and to pass the at least one hint to at least one of a block driver and a storage controller; a storage controller including hint firmware configured to directly process the at least one hint; a block driver including a hint driver configured to directly process the at least one hint and to notify the hint firmware of a change in hint type; a configuration tool communicatively coupled to the hint driver and to the hint firmware, configured to manage the at least one hint; at least one virtual device including a first continuous range of logical block addresses (LBA); at least one file system operably coupled to the block driver; and at least one storage device operably coupled to the storage controller. - View Dependent Claims (14, 15, 16, 17, 18, 19)
-
-
20. A data storage apparatus configured to manage a processing of an Input/Output (I/O) request from at least one application via out-of-band hinting, comprising:
-
a hint engine configured to enable the at least one application to specify at least one hint and to pass the at least one hint to at least one of a block driver and a storage controller; a storage controller including hint firmware configured to directly process the at least one hint; a block driver including a hint driver configured to directly process the at least one hint and to notify the hint firmware of a change in hint type; a configuration tool communicatively coupled to the hint driver and to the hint firmware, configured to manage the at least one hint; at least one virtual device including a first continuous range of logical block addresses (LBA); at least one file system operably coupled to the block driver; and at least one storage device operably coupled to the storage controller.
-
Specification