xref: /openbmc/bmcweb/redfish-core/schema/dmtf/json-schema/DriveMetrics.v1_3_0.json (revision 5ecf7b4e1bb6988dd3403fa80b723afbe2be30ae)
1{
2    "$id": "http://redfish.dmtf.org/schemas/v1/DriveMetrics.v1_3_0.json",
3    "$ref": "#/definitions/DriveMetrics",
4    "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema-v1.json",
5    "copyright": "Copyright 2014-2025 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright",
6    "definitions": {
7        "Actions": {
8            "additionalProperties": false,
9            "description": "The available actions for this resource.",
10            "longDescription": "This type shall contain the available actions for this resource.",
11            "patternProperties": {
12                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
13                    "description": "This property shall specify a valid odata or Redfish property.",
14                    "type": [
15                        "array",
16                        "boolean",
17                        "integer",
18                        "number",
19                        "null",
20                        "object",
21                        "string"
22                    ]
23                }
24            },
25            "properties": {
26                "Oem": {
27                    "$ref": "#/definitions/OemActions",
28                    "description": "The available OEM-specific actions for this resource.",
29                    "longDescription": "This property shall contain the available OEM-specific actions for this resource."
30                }
31            },
32            "type": "object"
33        },
34        "DriveMetrics": {
35            "additionalProperties": false,
36            "description": "The usage and health statistics for a drive.",
37            "longDescription": "The `DriveMetrics` schema shall contain the usage and health statistics for a drive in a Redfish implementation.",
38            "patternProperties": {
39                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
40                    "description": "This property shall specify a valid odata or Redfish property.",
41                    "type": [
42                        "array",
43                        "boolean",
44                        "integer",
45                        "number",
46                        "null",
47                        "object",
48                        "string"
49                    ]
50                }
51            },
52            "properties": {
53                "@odata.context": {
54                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/context"
55                },
56                "@odata.etag": {
57                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/etag"
58                },
59                "@odata.id": {
60                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/id"
61                },
62                "@odata.type": {
63                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/type"
64                },
65                "Actions": {
66                    "$ref": "#/definitions/Actions",
67                    "description": "The available actions for this resource.",
68                    "longDescription": "This property shall contain the available actions for this resource."
69                },
70                "BadBlockCount": {
71                    "description": "The total number of bad blocks reported by the drive.",
72                    "longDescription": "This property shall contain the total number of bad blocks reported by the drive.",
73                    "readonly": true,
74                    "type": [
75                        "integer",
76                        "null"
77                    ]
78                },
79                "CorrectableIOReadErrorCount": {
80                    "description": "The number of correctable read errors for the lifetime of the drive.",
81                    "longDescription": "This property shall contain the number of correctable read errors for the lifetime of the drive.",
82                    "readonly": true,
83                    "type": [
84                        "integer",
85                        "null"
86                    ]
87                },
88                "CorrectableIOWriteErrorCount": {
89                    "description": "The number of correctable write errors for the lifetime of the drive.",
90                    "longDescription": "This property shall contain the number of correctable write errors for the lifetime of the drive.",
91                    "readonly": true,
92                    "type": [
93                        "integer",
94                        "null"
95                    ]
96                },
97                "Description": {
98                    "anyOf": [
99                        {
100                            "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Description"
101                        },
102                        {
103                            "type": "null"
104                        }
105                    ],
106                    "readonly": true
107                },
108                "Id": {
109                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Id",
110                    "readonly": true
111                },
112                "LifetimeStartDateTime": {
113                    "description": "The date and time when the drive started accumulating data for properties that contain lifetime data, such as `UncorrectableIOReadErrorCount`.",
114                    "format": "date-time",
115                    "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.",
116                    "readonly": true,
117                    "type": [
118                        "string",
119                        "null"
120                    ],
121                    "versionAdded": "v1_3_0"
122                },
123                "NVMeSMART": {
124                    "$ref": "http://redfish.dmtf.org/schemas/v1/StorageControllerMetrics.json#/definitions/NVMeSMARTMetrics",
125                    "description": "The NVMe SMART metrics for the drive.",
126                    "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."
127                },
128                "Name": {
129                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Name",
130                    "readonly": true
131                },
132                "NativeCommandQueueDepth": {
133                    "description": "The current depth of the Native Command Queue.",
134                    "longDescription": "This property shall contain the current depth of the Native Command Queue as defined by the SATA Specification.",
135                    "readonly": true,
136                    "type": [
137                        "integer",
138                        "null"
139                    ],
140                    "versionAdded": "v1_1_0"
141                },
142                "Oem": {
143                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Oem",
144                    "description": "The OEM extension property.",
145                    "longDescription": "This property shall contain the OEM extensions.  All values for properties that this object contains shall conform to the Redfish Specification-described requirements."
146                },
147                "PowerOnHours": {
148                    "description": "The number of power-on hours for the lifetime of the drive.",
149                    "longDescription": "This property shall contain the number of power-on hours for the lifetime of the drive.",
150                    "readonly": true,
151                    "type": [
152                        "number",
153                        "null"
154                    ]
155                },
156                "ReadIOKiBytes": {
157                    "description": "The number of kibibytes read.",
158                    "longDescription": "This property shall contain the total number of kibibytes read from the time of last reset or wrap.",
159                    "readonly": true,
160                    "type": [
161                        "integer",
162                        "null"
163                    ],
164                    "units": "KiBy",
165                    "versionAdded": "v1_2_0"
166                },
167                "UncorrectableIOReadErrorCount": {
168                    "description": "The number of uncorrectable read errors for the lifetime of the drive.",
169                    "longDescription": "This property shall contain the number of uncorrectable read errors for the lifetime of the drive.",
170                    "readonly": true,
171                    "type": [
172                        "integer",
173                        "null"
174                    ]
175                },
176                "UncorrectableIOWriteErrorCount": {
177                    "description": "The number of uncorrectable write errors for the lifetime of the drive.",
178                    "longDescription": "This property shall contain the number of uncorrectable write errors for the lifetime of the drive.",
179                    "readonly": true,
180                    "type": [
181                        "integer",
182                        "null"
183                    ]
184                },
185                "WriteIOKiBytes": {
186                    "description": "The number of kibibytes written.",
187                    "longDescription": "This property shall contain the total number of kibibytes written from the time of last reset or wrap.",
188                    "readonly": true,
189                    "type": [
190                        "integer",
191                        "null"
192                    ],
193                    "units": "KiBy",
194                    "versionAdded": "v1_2_0"
195                }
196            },
197            "required": [
198                "@odata.id",
199                "@odata.type",
200                "Id",
201                "Name"
202            ],
203            "type": "object"
204        },
205        "OemActions": {
206            "additionalProperties": true,
207            "description": "The available OEM-specific actions for this resource.",
208            "longDescription": "This type shall contain the available OEM-specific actions for this resource.",
209            "patternProperties": {
210                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
211                    "description": "This property shall specify a valid odata or Redfish property.",
212                    "type": [
213                        "array",
214                        "boolean",
215                        "integer",
216                        "number",
217                        "null",
218                        "object",
219                        "string"
220                    ]
221                }
222            },
223            "properties": {},
224            "type": "object"
225        }
226    },
227    "language": "en",
228    "owningEntity": "DMTF",
229    "release": "2025.3",
230    "title": "#DriveMetrics.v1_3_0.DriveMetrics"
231}