Crate nvme_rs

Crate nvme_rs 

Source
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§

ApstConfig
Autonomous Power State Transition (APST) configuration.
AsyncEvent
Asynchronous event request result.
AsyncEventConfig
Asynchronous Event configuration.
AsyncEventManager
Asynchronous event manager.
AutonomousPowerStateConfig
Autonomous Power State configuration.
ControllerData
Controller data structure.
ControllerPath
Controller path information.
CriticalWarning
Critical warning flags for SMART/Health.
CryptoEraseConfig
Crypto erase configuration.
FeatureManager
Feature management interface.
FirmwareManager
Firmware update manager.
FirmwareSlotInfo
Firmware slot information.
FirmwareUpdateConfig
Firmware update configuration.
HostBehaviorSupport
Host Behavior Support for NVMe 2.3.
InterruptCoalescingConfig
Interrupt coalescing configuration.
KeepAliveTimerConfig
Keep Alive Timer configuration.
LogPageManager
Log page manager for handling various log pages.
MultipathController
Multipath I/O controller.
NVMeDevice
A structure representing an NVMe controller device.
Namespace
A structure representing an NVMe namespace.
PersonalityConfig
Configurable Device Personality (CDP) configuration for NVMe 2.3.
PowerLimitConfig
Power Limit Configuration (PLC) for NVMe 2.3.
PowerManagementConfig
Power management configuration for NVMe 2.3.
PowerManager
Power management controller.
PowerState
Power state information.
PredictableLatencyConfig
Predictable Latency Mode configuration for NVMe 2.3.
RpfrConfig
Path failure recovery configuration.
SanitizeConfig
Sanitize configuration for NVMe 2.3.
SanitizeOptions
Sanitize configuration options.
SanitizePerNamespace
Sanitize Per Namespace (SPN) configuration for NVMe 2.3.
SanitizeStatus
Sanitize status information.
SecurityManager
Security manager for handling security operations.
SelfReportedPower
Self-reported Drive Power (SDP) for NVMe 2.3.
SmartHealthInfo
SMART / Health Information log page.
StatusCode
NVMe command status codes.
TemperatureThreshold
Temperature threshold configuration.

Enums§

AnaState
Asymmetric Namespace Access (ANA) state.
AsyncEventType
Asynchronous event type.
DevicePersonality
Configurable Device Personality for NVMe 2.3.
Error
Contains all possible errors that can occur in the NVMe driver.
FirmwareCommitAction
Firmware commit action.
FirmwareUpdateStatus
Firmware update status.
PathSelector
Path selector strategy.
PathState
Path state for multipath.
SanitizeAction
Sanitize action type.
StatusCodeType
NVMe status code type.

Constants§

NVME_SPEC_VERSION
NVMe 2.3 specification version

Traits§

Allocator
Allocates physically contiguous memory mapped into virtual address space.