Expand description
A no-std compatible NVMe driver for embedded and operating system development.
This crate provides full NVMe 2.3 specification support for interacting with NVMe (Non-Volatile Memory Express) storage devices in environments without the standard library, such as kernels, bootloaders, or embedded systems.
§NVMe 2.3 Features
- Complete admin and I/O command set
- Rapid Path Failure Recovery (RPFR)
- Power Limit Configuration (PLC) and Self-reported Drive Power (SDP)
- Configurable Device Personality (CDP)
- Sanitize Per Namespace (SPN)
- Enhanced error handling and asynchronous events
- Multipath I/O and Asymmetric Namespace Access (ANA)
- Firmware update and security features
Structs§
- Apst
Config - Autonomous Power State Transition (APST) configuration.
- Async
Event - Asynchronous event request result.
- Async
Event Config - Asynchronous Event configuration.
- Async
Event Manager - Asynchronous event manager.
- Autonomous
Power State Config - Autonomous Power State configuration.
- Controller
Data - Controller data structure.
- Controller
Path - Controller path information.
- Critical
Warning - Critical warning flags for SMART/Health.
- Crypto
Erase Config - Crypto erase configuration.
- Feature
Manager - Feature management interface.
- Firmware
Manager - Firmware update manager.
- Firmware
Slot Info - Firmware slot information.
- Firmware
Update Config - Firmware update configuration.
- Host
Behavior Support - Host Behavior Support for NVMe 2.3.
- Interrupt
Coalescing Config - Interrupt coalescing configuration.
- Keep
Alive Timer Config - Keep Alive Timer configuration.
- LogPage
Manager - Log page manager for handling various log pages.
- Multipath
Controller - Multipath I/O controller.
- NVMe
Device - A structure representing an NVMe controller device.
- Namespace
- A structure representing an NVMe namespace.
- Personality
Config - Configurable Device Personality (CDP) configuration for NVMe 2.3.
- Power
Limit Config - Power Limit Configuration (PLC) for NVMe 2.3.
- Power
Management Config - Power management configuration for NVMe 2.3.
- Power
Manager - Power management controller.
- Power
State - Power state information.
- Predictable
Latency Config - Predictable Latency Mode configuration for NVMe 2.3.
- Rpfr
Config - Path failure recovery configuration.
- Sanitize
Config - Sanitize configuration for NVMe 2.3.
- Sanitize
Options - Sanitize configuration options.
- Sanitize
PerNamespace - Sanitize Per Namespace (SPN) configuration for NVMe 2.3.
- Sanitize
Status - Sanitize status information.
- Security
Manager - Security manager for handling security operations.
- Self
Reported Power - Self-reported Drive Power (SDP) for NVMe 2.3.
- Smart
Health Info - SMART / Health Information log page.
- Status
Code - NVMe command status codes.
- Temperature
Threshold - Temperature threshold configuration.
Enums§
- AnaState
- Asymmetric Namespace Access (ANA) state.
- Async
Event Type - Asynchronous event type.
- Device
Personality - Configurable Device Personality for NVMe 2.3.
- Error
- Contains all possible errors that can occur in the NVMe driver.
- Firmware
Commit Action - Firmware commit action.
- Firmware
Update Status - Firmware update status.
- Path
Selector - Path selector strategy.
- Path
State - Path state for multipath.
- Sanitize
Action - Sanitize action type.
- Status
Code Type - NVMe status code type.
Constants§
- NVME_
SPEC_ VERSION - NVMe 2.3 specification version
Traits§
- Allocator
- Allocates physically contiguous memory mapped into virtual address space.