1<?xml version="1.0" encoding="UTF-8"?>
2<!---->
3<!--################################################################################               -->
4<!--# Redfish Schema:  DriveMetrics v1.2.0                                                         -->
5<!--#                                                                                              -->
6<!--# For a detailed change log, see the README file contained in the DSP8010 bundle,              -->
7<!--# available at http://www.dmtf.org/standards/redfish                                           -->
8<!--# Copyright 2014-2023 DMTF in cooperation with Storage Networking Industry Association (SNIA). -->
9<!--# For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright         -->
10<!--################################################################################               -->
11<!---->
12<edmx:Edmx xmlns:edmx="http://docs.oasis-open.org/odata/ns/edmx" Version="4.0">
13
14  <edmx:Reference Uri="http://docs.oasis-open.org/odata/odata/v4.0/errata03/csd01/complete/vocabularies/Org.OData.Core.V1.xml">
15    <edmx:Include Namespace="Org.OData.Core.V1" Alias="OData"/>
16  </edmx:Reference>
17  <edmx:Reference Uri="http://docs.oasis-open.org/odata/odata/v4.0/errata03/csd01/complete/vocabularies/Org.OData.Capabilities.V1.xml">
18    <edmx:Include Namespace="Org.OData.Capabilities.V1" Alias="Capabilities"/>
19  </edmx:Reference>
20  <edmx:Reference Uri="http://docs.oasis-open.org/odata/odata/v4.0/errata03/csd01/complete/vocabularies/Org.OData.Measures.V1.xml">
21    <edmx:Include Namespace="Org.OData.Measures.V1" Alias="Measures"/>
22  </edmx:Reference>
23  <edmx:Reference Uri="http://redfish.dmtf.org/schemas/v1/Resource_v1.xml">
24    <edmx:Include Namespace="Resource.v1_0_0"/>
25  </edmx:Reference>
26  <edmx:Reference Uri="http://redfish.dmtf.org/schemas/v1/RedfishExtensions_v1.xml">
27    <edmx:Include Namespace="RedfishExtensions.v1_0_0" Alias="Redfish"/>
28  </edmx:Reference>
29  <edmx:Reference Uri="http://redfish.dmtf.org/schemas/v1/StorageControllerMetrics_v1.xml">
30    <edmx:Include Namespace="StorageControllerMetrics"/>
31  </edmx:Reference>
32
33  <edmx:DataServices>
34
35    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="DriveMetrics">
36      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
37
38      <EntityType Name="DriveMetrics" BaseType="Resource.v1_0_0.Resource" Abstract="true">
39        <Annotation Term="OData.Description" String="The usage and health statistics for a drive."/>
40        <Annotation Term="OData.LongDescription" String="The DriveMetrics schema shall contain the usage and health statistics for a drive in a Redfish implementation."/>
41        <Annotation Term="Capabilities.InsertRestrictions">
42          <Record>
43            <PropertyValue Property="Insertable" Bool="false"/>
44          </Record>
45        </Annotation>
46        <Annotation Term="Capabilities.UpdateRestrictions">
47          <Record>
48            <PropertyValue Property="Updatable" Bool="false"/>
49          </Record>
50        </Annotation>
51        <Annotation Term="Capabilities.DeleteRestrictions">
52          <Record>
53            <PropertyValue Property="Deletable" Bool="false"/>
54          </Record>
55        </Annotation>
56        <Annotation Term="Redfish.Uris">
57          <Collection>
58            <String>/redfish/v1/Systems/{ComputerSystemId}/Storage/{StorageId}/Drives/{DriveId}/Metrics</String>
59            <String>/redfish/v1/Chassis/{ChassisId}/Drives/{DriveId}/Metrics</String>
60            <String>/redfish/v1/CompositionService/ResourceBlocks/{ResourceBlockId}/Storage/{StorageId}/Drives/{DriveId}/Metrics</String>
61            <String>/redfish/v1/CompositionService/ResourceBlocks/{ResourceBlockId}/Drives/{DriveId}/Metrics</String>
62            <String>/redfish/v1/CompositionService/ResourceBlocks/{ResourceBlockId}/Systems/{ComputerSystemId}/Storage/{StorageId}/Drives/{DriveId}/Metrics</String>
63            <String>/redfish/v1/ResourceBlocks/{ResourceBlockId}/Storage/{StorageId}/Drives/{DriveId}/Metrics</String>
64            <String>/redfish/v1/ResourceBlocks/{ResourceBlockId}/Drives/{DriveId}/Metrics</String>
65            <String>/redfish/v1/ResourceBlocks/{ResourceBlockId}/Systems/{ComputerSystemId}/Storage/{StorageId}/Drives/{DriveId}/Metrics</String>
66          </Collection>
67        </Annotation>
68      </EntityType>
69    </Schema>
70
71    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="DriveMetrics.v1_0_0">
72      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
73      <Annotation Term="Redfish.Release" String="2023.1"/>
74
75      <EntityType Name="DriveMetrics" BaseType="DriveMetrics.DriveMetrics">
76        <Property Name="CorrectableIOReadErrorCount" Type="Edm.Int64">
77          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
78          <Annotation Term="OData.Description" String="The number of correctable read errors for the lifetime of the drive."/>
79          <Annotation Term="OData.LongDescription" String="This property shall contain the number of correctable read errors for the lifetime of the drive."/>
80        </Property>
81        <Property Name="CorrectableIOWriteErrorCount" Type="Edm.Int64">
82          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
83          <Annotation Term="OData.Description" String="The number of correctable write errors for the lifetime of the drive."/>
84          <Annotation Term="OData.LongDescription" String="This property shall contain the number of correctable write errors for the lifetime of the drive."/>
85        </Property>
86        <Property Name="UncorrectableIOReadErrorCount" Type="Edm.Int64">
87          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
88          <Annotation Term="OData.Description" String="The number of uncorrectable read errors for the lifetime of the drive."/>
89          <Annotation Term="OData.LongDescription" String="This property shall contain the number of uncorrectable read errors for the lifetime of the drive."/>
90        </Property>
91        <Property Name="UncorrectableIOWriteErrorCount" Type="Edm.Int64">
92          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
93          <Annotation Term="OData.Description" String="The number of uncorrectable write errors for the lifetime of the drive."/>
94          <Annotation Term="OData.LongDescription" String="This property shall contain the number of uncorrectable write errors for the lifetime of the drive."/>
95        </Property>
96        <Property Name="BadBlockCount" Type="Edm.Int64">
97          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
98          <Annotation Term="OData.Description" String="The total number of bad blocks reported by the drive."/>
99          <Annotation Term="OData.LongDescription" String="This property shall contain the total number of bad blocks reported by the drive."/>
100        </Property>
101        <Property Name="PowerOnHours" Type="Edm.Decimal">
102          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
103          <Annotation Term="OData.Description" String="The number of power-on hours for the lifetime of the drive."/>
104          <Annotation Term="OData.LongDescription" String="This property shall contain the number of power-on hours for the lifetime of the drive."/>
105        </Property>
106        <Property Name="NVMeSMART" Type="StorageControllerMetrics.NVMeSMARTMetrics" Nullable="false">
107          <Annotation Term="OData.Description" String="The NVMe SMART metrics for the drive."/>
108          <Annotation Term="OData.LongDescription" String="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."/>
109        </Property>
110        <Property Name="Actions" Type="DriveMetrics.v1_0_0.Actions" Nullable="false">
111          <Annotation Term="OData.Description" String="The available actions for this resource."/>
112          <Annotation Term="OData.LongDescription" String="This property shall contain the available actions for this resource."/>
113        </Property>
114      </EntityType>
115
116      <ComplexType Name="Actions">
117        <Annotation Term="OData.AdditionalProperties" Bool="false"/>
118        <Annotation Term="OData.Description" String="The available actions for this resource."/>
119        <Annotation Term="OData.LongDescription" String="This type shall contain the available actions for this resource."/>
120        <Property Name="Oem" Type="DriveMetrics.v1_0_0.OemActions" Nullable="false">
121          <Annotation Term="OData.Description" String="The available OEM-specific actions for this resource."/>
122          <Annotation Term="OData.LongDescription" String="This property shall contain the available OEM-specific actions for this resource."/>
123        </Property>
124      </ComplexType>
125
126      <ComplexType Name="OemActions">
127        <Annotation Term="OData.AdditionalProperties" Bool="true"/>
128        <Annotation Term="OData.Description" String="The available OEM-specific actions for this resource."/>
129        <Annotation Term="OData.LongDescription" String="This type shall contain the available OEM-specific actions for this resource."/>
130      </ComplexType>
131    </Schema>
132
133    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="DriveMetrics.v1_0_1">
134      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
135      <Annotation Term="OData.Description" String="This version was created to correct various typographical errors."/>
136      <EntityType Name="DriveMetrics" BaseType="DriveMetrics.v1_0_0.DriveMetrics"/>
137    </Schema>
138
139    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="DriveMetrics.v1_1_0">
140      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
141      <Annotation Term="Redfish.Release" String="2023.2"/>
142
143      <EntityType Name="DriveMetrics" BaseType="DriveMetrics.v1_0_0.DriveMetrics">
144        <Property Name="NativeCommandQueueDepth" Type="Edm.Int64">
145          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
146          <Annotation Term="OData.Description" String="The current depth of the Native Command Queue."/>
147          <Annotation Term="OData.LongDescription" String="This property shall contain the current depth of the Native Command Queue as defined by the SATA Specification."/>
148        </Property>
149      </EntityType>
150    </Schema>
151
152    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="DriveMetrics.v1_1_1">
153      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
154      <Annotation Term="OData.Description" String="This version was created to correct various typographical errors."/>
155      <EntityType Name="DriveMetrics" BaseType="DriveMetrics.v1_1_0.DriveMetrics"/>
156    </Schema>
157
158    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="DriveMetrics.v1_2_0">
159      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
160      <Annotation Term="Redfish.Release" String="2023.3"/>
161
162      <EntityType Name="DriveMetrics" BaseType="DriveMetrics.v1_1_1.DriveMetrics">
163        <Property Name="ReadIOKiBytes" Type="Edm.Int64">
164          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
165          <Annotation Term="OData.Description" String="The number of kibibytes read."/>
166          <Annotation Term="OData.LongDescription" String="This property shall contain the total number of kibibytes read from the time of last reset or wrap."/>
167          <Annotation Term="Measures.Unit" String="KiBy"/>
168        </Property>
169        <Property Name="WriteIOKiBytes" Type="Edm.Int64">
170          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
171          <Annotation Term="OData.Description" String="The number of kibibytes written."/>
172          <Annotation Term="OData.LongDescription" String="This property shall contain the total number of kibibytes written from the time of last reset or wrap."/>
173          <Annotation Term="Measures.Unit" String="KiBy"/>
174        </Property>
175      </EntityType>
176    </Schema>
177
178  </edmx:DataServices>
179</edmx:Edmx>
180