new-flash-memory onfi_flash
Simics Reference Manual  /  5 Classes  / 

nvm-subsystem-manager

Description

An NVM Subsystem Manager that supports management of namespaces for NVMe I/O controllers that register themselves with the nvm_subsystem_controller_management interface implemented by this class. Notes:

The base specification for NVMe says:

"If the Namespace Management, ANA Reporting, and NVM Sets capabilities are not supported, then NSIDs:

a) for shared namespaces shall be unique within the NVM subsystem; and

b) for private namespaces are not required to be unique within the NVM subsystem"

Regarding b), this implementation has chosen to enforce uniqueness of NSIDs across all namespaces managed by this manager, regardless of whether they are shared or private.

Interfaces Implemented

conf_object, log_object, nvme_namespace_management, nvm_subsystem_controller_management

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Attributes

disk_capacity
Required attribute; read/write access; type: i
Total disk capacity in bytes
max_namespaces
Optional attribute; read/write access; type: i
Maximum number of namespaces supported
created_images_namespace
Optional attribute; read/write access; type: s|n
The Simics namespace for where to create NVMe namespace images. If not set, images are created in the same Simics namespace as the manager object.

Provided By

nvm-subsystem-manager
new-flash-memory onfi_flash