USRE47501EExpiredUtilityPatentIndex 47
Application program interface access to hardware services for storage management applications
Est. expiryMay 6, 2022(expired)· nominal 20-yr term from priority
G06F 3/061G06F 3/0661G06F 3/067
47
PatentIndex Score
0
Cited by
26
References
27
Claims
Abstract
A method and device for using a set of APIs are provided. Some of the functions which used to be performed by software are now accelerated through hardware.
Claims
exact text as granted — not AI-modifiedThe invention claimed is:
1. A storage virtualization engine, the engine comprising:
one or more processors configured to execute a software sub-engine having a control path that includes control functions for I/O requests to a virtual storage;
a virtualization repository that includes a hardware-implemented mapping table that provides a mapping from the virtual storage to physical storage;
a hardware sub-engine having an accelerated path;
an interface coupling the software sub-engine with the hardware sub-engine, and wherein the interface includes one or more processors configured to execute one or more interface functions including:
wherebyan interface function to pass a function is passed from the hardware sub-engine to the software sub-engine in response to an exception condition; and
an interface function to pass, from the software sub-engine to the hardware sub-engine for execution using the accelerated path, one or more control functions designated to be high-usage functions.
2. The system storage virtualization engine of claim 1 , further comprising:
the software sub-engine creates a new I/O plan which is passed from the software sub-engine to the hardware sub-engine.
3. The storage virtualization engine of claim 1, wherein the software sub-engine is configured to create an I/O plan and pass the I/O plan to the hardware sub-engine.
4. The storage virtualization engine of claim 1, wherein the hardware sub-engine is configured to process a first set of exception conditions and the software sub-engine is configured to process a second set of exception conditions, wherein the second set is different from the first set.
5. The storage virtualization engine of claim 1, wherein the control path is configured to handle configuration management and error recovery.
6. The storage virtualization engine of claim 1, further comprising a management application coupled to the software sub-engine, wherein the control path is configured to process commands from the management application.
7. The storage virtualization engine of claim 1, wherein the storage virtualization engine is configured to receive an I/O request and determine an I/O execution plan for the I/O request.
8. The storage virtualization engine of claim 7, wherein the hardware sub-engine is configured to execute the I/O execution plan.
9. The storage virtualization engine of claim 8, wherein, in response to a determination that the I/O execution plan cannot be executed by the hardware sub-engine, the software sub-engine is configured to execute the I/O execution plan.
10. The storage virtualization engine of claim 1, wherein the accelerated path is configured to process a selected I/O operation in the absence of an exception condition, wherein, in response to the presence of the exception condition, the control path is configured to process the selected I/O operation.
11. The storage virtualization engine of claim 1, wherein the hardware mapping table is updatable dynamically and without interruption of I/O events.
12. An apparatus, comprising:
a processor; and a computer-readable storage medium having program instructions stored thereon that are executable by the processor; wherein the processor and the computer-readable storage medium implement a storage virtualization engine, the engine comprising:
one or more processors configured to execute a software sub-engine having a control path that includes control functions for I/O requests to a virtual storage;
a virtualization repository that includes a hardware-implemented mapping table that provides a mapping from the virtual storage to physical storage;
a hardware sub-engine having an accelerated path; and
an interface coupling the software sub-engine with the hardware sub-engine and wherein the interface includes one or more processors configured to execute one or more interface functions including:
an interface function to pass a function from the hardware sub-engine to the software sub-engine in response to an exception condition; and
an interface function to pass, from the software sub-engine to the hardware sub-engine for execution using the accelerated path, one or more control functions designated to be high-usage functions.
13. The apparatus of claim 12, wherein the processor is included in an adapter card configured for installation in a server.
14. The apparatus of claim 13, wherein the computer-readable storage medium is included in the processor.
15. The apparatus of claim 12, wherein the software sub-engine is configured to create an I/O plan and pass the I/O plan to the hardware sub-engine.
16. The apparatus of claim 12, wherein the hardware sub-engine is configured to process a first set of exception conditions and the software sub-engine is configured to process a second set of exception conditions, wherein the second set is different from the first set.
17. The apparatus of claim 12, wherein the hardware sub-engine is implemented via a specialized circuit.
18. The apparatus of claim 12, wherein the storage virtualization engine is configured to receive an I/O request and determine an I/O execution plan for the I/O request, wherein the hardware sub-engine is configured to execute the I/O execution plan, and wherein, in response to a determination that the I/O execution plan cannot be executed by the hardware sub-engine, the software sub-engine is configured to execute the I/O execution plan.
19. The apparatus of claim 12, wherein the accelerated path is configured to process a selected I/O operation in the absence of an exception condition and wherein, in response to the presence of the exception condition, the control path is configured to process the selected I/O operation.
20. The apparatus of claim 12, wherein the storage virtualization engine is configured to implement at least one of a Common Information Model (CIM) interface, a Web Based Enterprise Management (WBEM) interface, or a Simple Network Management Protocol (SNMP) interface.
21. The apparatus of claim 12, wherein the hardware mapping table is updatable dynamically and without interruption of I/O events.
22. A processor included in an adapter card configured for installation in a server, the processor comprising:
a storage virtualization engine, the engine comprising:
one or more processors configured to execute a software sub-engine having a control path that includes control functions for I/O requests to a virtual storage;
a virtualization repository that includes a hardware-implemented mapping table that provides a mapping from the virtual storage to physical storage;
a hardware sub-engine having an accelerated path; and
an interface coupling the software sub-engine with the hardware sub-engine and wherein the interface includes one or more processors configured to execute one or more interface functions including:
an interface function to pass a function from the hardware sub-engine to the software sub-engine in response to an exception condition; and
an interface function to pass, from the software sub-engine to the hardware sub-engine for execution using the accelerated path, one or more control functions designated to be high-usage functions.
23. The processor of claim 22, wherein the software sub-engine is configured to create an I/O plan and pass the I/O plan to the hardware sub-engine.
24. The processor of claim 22, wherein the hardware sub-engine is configured to process a first set of exception conditions and the software sub-engine is configured to process a second set of exception conditions, wherein the second set is different from the first set.
25. The processor of claim 22, wherein the storage virtualization engine is configured to receive an I/O request and determine an I/O execution plan for the I/O request, wherein the hardware sub-engine is configured to execute the I/O execution plan, and wherein, in response to a determination that the I/O execution plan cannot be executed by the hardware sub-engine, the software sub-engine is configured to execute the I/O execution plan.
26. The processor of claim 22, wherein the accelerated path is configured to process a selected I/O operation in the absence of an exception condition and wherein, in response to the presence of the exception condition, the control path is configured to process the selected I/O operation.
27. The processor of claim 22, wherein the hardware mapping table is updatable dynamically and without interruption of I/O events.Cited by (0)
No later patents cite this yet.
References (0)
No backward citations on record.