IP Library Granted Patent US 8,997,122
Granted Patent B2
US 8,997,122 · App. 14/492,248 · Granted Mar 31, 2015

Block device management

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 8,997,122
App. No.
14/492,248
Granted
Mar 31, 2015
Kind
B2
Abstract

Embodiments of the present invention perform a method for reading data from, writing data to, powering on, or configuring a block device without the kernel translating a file system operation into a block device operation. This is implemented by a using a core module to couple applications running in user space to a character device through a character device driver, the core module configures the character device to communicate with a block device through a block device driver without the kernel translating a file system command into a block device command.

Claims (22)

1. A non-transitory computer readable storage medium having embodied thereon a program executable by a processor to perform a method for coupling applications running in user space with hardware block devices, the method comprising:

receiving an outside request by a core module;

configuring a character device by the core module to be in communication with a character device driver and a block device to be in communication with a block device driver in an operating system device tree;

associating an application with the character device; and

associating the character device with the block device such that the application communicates with the block device through an association made by the core module.

2. The non-transitory computer readable storage medium of claim 1 , the program further executable to configure the block device to power up.

3. The non-transitory computer readable storage medium of claim 1 , the program further executable to acknowledge the completion of the outside request.

4. The non-transitory computer readable storage medium of claim 1 , the program further executable to modify operational parameters on the block storage device by sending a configuration command or information through the association made by the core module, wherein the configuration commands or information is passed from the application through the character device driver, through the character device, through the block device driver, and to the block device.

5. The non-transitory computer readable storage medium of claim 1 , the program further executable to:

read data from the block device by sending data request commands through the association made by the core module, wherein the data request commands are passed from the application through the character device driver, through the character device, through the block device driver, and to the block device; and

send requested data from the block device through the block device driver, through the character device, and through the character device to the application.

6. The non-transitory computer readable storage medium of claim 5 , the program further executable to send data through the association made by the core module, wherein the data are passed from the application through the character device driver, through the character device, through the block device driver, and to the block device.

7. The non-transitory computer readable storage medium of claim 1 , the program further executable to:

command the reading of data from the block device by sending data request commands and information through the association made by the core module, wherein the data request commands and information are passed from the application through the character device driver, through the character device, through the block device driver, and to the block device; and

send requested data from the block device directly to system memory addresses specified by the application data request commands and information.

8. The non-transitory computer readable storage medium of claim 1 , the program further executable to:

command the writing of data to the block device by sending data write commands and information through the association made by the core module, wherein the data write commands and information are passed from the application through the character device driver, through the character device, through the block device driver and to the block device; and

receive requested data directly from system memory addresses specified by the application data request commands and information.

9. The non-transitory computer readable storage medium of claim 1 , the program further executable to acknowledge the request.

10. The non-transitory computer readable storage medium of claim 8 , wherein the write commands bypass a kernel element.

11. The non-transitory computer readable storage medium of claim 6 , wherein the data request commands bypass a kernel element.

12. The non-transitory computer readable storage medium of claim 1 , wherein at least one of a write command, a read command, and a configuration command bypasses at least a system call interface in a kernel of an operating system software running on a computing device.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 4, 2017
From: SILICON GRAPHICS INTERNATIONAL CORP.
To: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP
Reel/Frame 044128/0149 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 22, 2014
From: MORREALE, PETER W.
To: SILICON GRAPHICS INTERNATIONAL CORP.
Reel/Frame 033785/0576 →