NVMe Interface Device for OS Booting and High-Speed I/O

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The NVMe protocol does not support booting an operating system, requiring additional protocols and occupying two bus slots in a server apparatus, limiting the use of the NVMe protocol for I/O operations and restricting the extension of functions beyond the NVMe specification.

Innovation Solution

A storage apparatus with a controller and interface device configured according to the PCI Express specification, allowing the host computer to issue commands using multiple protocols, enabling OS booting and I/O operations via NVMe protocol while sharing bus resources efficiently.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If the NVMe protocol is used for high-speed I/O operations, then the I/O speed and efficiency are improved, but the ability to boot the operating system is lost

Engineering Contradiction:
ImproveI/O speedVSAvoidOS booting capability
Core Design Contradiction:
SpeedVSAdaptability or versatility

Solution Approach 1:

The interface device is designed to support multiple protocols (NVMe and boot protocols) within a single device, enabling it to perform both high-speed I/O operations and operating system booting functions. This multi-functionality resolves the contradiction by allowing the system to use NVMe for I/O while maintaining booting capability through protocol conversion or dual-mode operation.

Inventive Principle:
Principle #6Universality (Multi-functionality)

2Reliability

If a separate bus slot is allocated for booting the OS, then the booting function is ensured, but the available bandwidth for NVMe I/O operations is reduced

Engineering Contradiction:
ImproveOS booting reliabilityVSAvoidNVMe I/O bandwidth
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The invention merges the boot protocol functionality and NVMe protocol functionality into a single interface device that shares a common bus slot. This consolidation allows the system to maintain reliable OS booting while preserving the full bandwidth of the bus slot for NVMe I/O operations, as both functions share the same physical interface rather than competing for separate resources.

Inventive Principle:
Principle #5Merging (Combining)

3Ease of manufacture

If hardware strictly complies with NVMe specification, then standard driver compatibility is achieved, but the ability to extend functions beyond NVMe specification is limited

Engineering Contradiction:
Improvedriver compatibilityVSAvoidfunction extension capability
Core Design Contradiction:
Ease of manufactureVSAdaptability or versatility

Solution Approach 1:

The interface device acts as an intermediary layer between the standard NVMe hardware and the host system. It maintains NVMe protocol compliance for standard driver compatibility while incorporating additional functionality that extends beyond the NVMe specification. The interface device translates or adapts extended functions into NVMe-compatible commands, allowing both standard and extended features to coexist.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS9990313B2Storage apparatus and interface apparatus
Publication Date: 2018.06.05 HITACHI VANTARA LTD
  • US9990313B2 patent drawing
  • US9990313B2 patent drawing
  • US9990313B2 patent drawing

AI summary

Starting a host computer and a high-speed data transfer achieved by NVMe are both realized. When the host computer is started and a command for instructing to read an OS in accordance with a specific protocol is issued from the host computer via a host-side bus to a specific function from among a plurality of functions, an interface device issues to a controller a request for instructing to read the OS and transfers the OS read by the controller to the host computer. When an NVMe command for instructing an I/O for the controller in accordance with an NVMe protocol is issued from the host computer via the host-side bus to an NVMe function from among a plurality of functions after the host computer is started, the interface device issues to the controller an I/O request based on the NVMe command.