{
    "$id": "http://redfish.dmtf.org/schemas/v1/DriveMetrics.v1_4_0.json",
    "$ref": "#/definitions/DriveMetrics",
    "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema-v1.json",
    "copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright",
    "definitions": {
        "Actions": {
            "additionalProperties": false,
            "description": "The available actions for this resource.",
            "longDescription": "This type shall contain the available actions for this resource.",
            "patternProperties": {
                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
                    "description": "This property shall specify a valid odata or Redfish property.",
                    "type": [
                        "array",
                        "boolean",
                        "integer",
                        "number",
                        "null",
                        "object",
                        "string"
                    ]
                }
            },
            "properties": {
                "Oem": {
                    "$ref": "#/definitions/OemActions",
                    "description": "The available OEM-specific actions for this resource.",
                    "longDescription": "This property shall contain the available OEM-specific actions for this resource."
                }
            },
            "type": "object"
        },
        "DriveMetrics": {
            "additionalProperties": false,
            "description": "The usage and health statistics for a drive.",
            "longDescription": "The `DriveMetrics` schema shall contain the usage and health statistics for a drive in a Redfish implementation.",
            "patternProperties": {
                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
                    "description": "This property shall specify a valid odata or Redfish property.",
                    "type": [
                        "array",
                        "boolean",
                        "integer",
                        "number",
                        "null",
                        "object",
                        "string"
                    ]
                }
            },
            "properties": {
                "@odata.context": {
                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/context"
                },
                "@odata.etag": {
                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/etag"
                },
                "@odata.id": {
                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/id"
                },
                "@odata.type": {
                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/type"
                },
                "Actions": {
                    "$ref": "#/definitions/Actions",
                    "description": "The available actions for this resource.",
                    "longDescription": "This property shall contain the available actions for this resource."
                },
                "BadBlockCount": {
                    "description": "The total number of bad blocks reported by the drive.",
                    "longDescription": "This property shall contain the total number of bad blocks reported by the drive.",
                    "readonly": true,
                    "type": [
                        "integer",
                        "null"
                    ]
                },
                "CorrectableIOReadErrorCount": {
                    "description": "The number of correctable read errors for the lifetime of the drive.",
                    "longDescription": "This property shall contain the number of correctable read errors for the lifetime of the drive.",
                    "readonly": true,
                    "type": [
                        "integer",
                        "null"
                    ]
                },
                "CorrectableIOWriteErrorCount": {
                    "description": "The number of correctable write errors for the lifetime of the drive.",
                    "longDescription": "This property shall contain the number of correctable write errors for the lifetime of the drive.",
                    "readonly": true,
                    "type": [
                        "integer",
                        "null"
                    ]
                },
                "Description": {
                    "anyOf": [
                        {
                            "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Description"
                        },
                        {
                            "type": "null"
                        }
                    ],
                    "readonly": true
                },
                "Id": {
                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Id",
                    "readonly": true
                },
                "LifetimeStartDateTime": {
                    "description": "The date and time when the drive started accumulating data for properties that contain lifetime data, such as `UncorrectableIOReadErrorCount`.",
                    "format": "date-time",
                    "longDescription": "This property shall contain the date and time when the drive started accumulating data for properties that contain lifetime data, such as `UncorrectableIOReadErrorCount`.  This might contain the same value as the production date of the drive.",
                    "readonly": true,
                    "type": [
                        "string",
                        "null"
                    ],
                    "versionAdded": "v1_3_0"
                },
                "NVMeSMART": {
                    "$ref": "http://redfish.dmtf.org/schemas/v1/StorageControllerMetrics.json#/definitions/NVMeSMARTMetrics",
                    "description": "The NVMe SMART metrics for the drive.",
                    "longDescription": "This property shall contain the NVMe SMART metrics for the drive as defined by the NVMe SMART/Health Information log page.  This property shall not be present if the service represents NVMe controllers in the drive as StorageController resources."
                },
                "Name": {
                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Name",
                    "readonly": true
                },
                "NativeCommandQueueDepth": {
                    "description": "The current depth of the Native Command Queue.",
                    "longDescription": "This property shall contain the current depth of the Native Command Queue as defined by the SATA Specification.",
                    "readonly": true,
                    "type": [
                        "integer",
                        "null"
                    ],
                    "versionAdded": "v1_1_0"
                },
                "Oem": {
                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Oem",
                    "description": "The OEM extension property.",
                    "longDescription": "This property shall contain the OEM extensions.  All values for properties that this object contains shall conform to the Redfish Specification-described requirements."
                },
                "PowerCyclesLifetime": {
                    "description": "The number of times the drive has been power cycled over its lifetime.",
                    "longDescription": "This property shall contain the number of times the drive has been power cycled over its lifetime.  The value shall match the definition of the NVMe 'Power Cycles' SMART metric.  Services shall convert SMART data or other data sources for this metric from non-NVMe drives to the NVMe 'Power Cycles' definition.  See the `NVMeSMARTMetrics` object in the `StorageControllerMetrics` resource.",
                    "readonly": true,
                    "type": [
                        "integer",
                        "null"
                    ],
                    "versionAdded": "v1_4_0"
                },
                "PowerOnHours": {
                    "description": "The number of power-on hours for the lifetime of the drive.",
                    "longDescription": "This property shall contain the number of power-on hours for the lifetime of the drive.",
                    "readonly": true,
                    "type": [
                        "number",
                        "null"
                    ]
                },
                "PredictedMediaLifeLeftPercent": {
                    "$ref": "http://redfish.dmtf.org/schemas/v1/Sensor.json#/definitions/SensorLowerCriticalExcerpt",
                    "description": "The percentage of reads and writes that are predicted to be available for the media.",
                    "excerptCopy": "SensorLowerCriticalExcerpt",
                    "longDescription": "This property shall contain an indicator of the percentage, typically `0` to `100`, of life remaining in the drive's media. The value of the `DataSourceUri` property, if present, shall reference a resource of type `Sensor` with the `ReadingType` property containing the value `Percent`.",
                    "versionAdded": "v1_4_0"
                },
                "ReadIOKiBytes": {
                    "description": "The number of kibibytes read.",
                    "longDescription": "This property shall contain the total number of kibibytes read from the time of last reset or wrap.",
                    "readonly": true,
                    "type": [
                        "integer",
                        "null"
                    ],
                    "units": "KiBy",
                    "versionAdded": "v1_2_0"
                },
                "UncorrectableIOReadErrorCount": {
                    "description": "The number of uncorrectable read errors for the lifetime of the drive.",
                    "longDescription": "This property shall contain the number of uncorrectable read errors for the lifetime of the drive.",
                    "readonly": true,
                    "type": [
                        "integer",
                        "null"
                    ]
                },
                "UncorrectableIOWriteErrorCount": {
                    "description": "The number of uncorrectable write errors for the lifetime of the drive.",
                    "longDescription": "This property shall contain the number of uncorrectable write errors for the lifetime of the drive.",
                    "readonly": true,
                    "type": [
                        "integer",
                        "null"
                    ]
                },
                "WriteIOKiBytes": {
                    "description": "The number of kibibytes written.",
                    "longDescription": "This property shall contain the total number of kibibytes written from the time of last reset or wrap.",
                    "readonly": true,
                    "type": [
                        "integer",
                        "null"
                    ],
                    "units": "KiBy",
                    "versionAdded": "v1_2_0"
                }
            },
            "required": [
                "@odata.id",
                "@odata.type",
                "Id",
                "Name"
            ],
            "type": "object"
        },
        "OemActions": {
            "additionalProperties": true,
            "description": "The available OEM-specific actions for this resource.",
            "longDescription": "This type shall contain the available OEM-specific actions for this resource.",
            "patternProperties": {
                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
                    "description": "This property shall specify a valid odata or Redfish property.",
                    "type": [
                        "array",
                        "boolean",
                        "integer",
                        "number",
                        "null",
                        "object",
                        "string"
                    ]
                }
            },
            "properties": {},
            "type": "object"
        }
    },
    "language": "en",
    "owningEntity": "DMTF",
    "release": "2026.1",
    "title": "#DriveMetrics.v1_4_0.DriveMetrics"
}