1 karl 1.1.2.2 // Copyright (c) 2005 DMTF. All rights reserved.
2 // <change cr="ArchCR00066.004" type="add">Add UmlPackagePath
3 // qualifier values to CIM Schema.</change>
4 // <change cr="ArchCR00089.003" type="add">Add PUnit qualifier values
5 // to Units qualifier values.</change>
6 // ==================================================================
7 // CIM_MediaAccessDevice
8 // ==================================================================
9 [Version ( "2.6.0" ),
10 UMLPackagePath ( "CIM::Device::StorageDevices" ),
11 Description (
12 "A MediaAccessDevice represents the ability to access one or "
13 "more media and use this media to store and retrieve data." )]
14 class CIM_MediaAccessDevice : CIM_LogicalDevice {
15
16 [Description (
17 "Capabilities of the MediaAccessDevice. For example, the "
18 "Device may support \"Random Access\", removeable media "
19 "and \"Automatic Cleaning\". In this case, the values 3, "
20 "7 and 9 would be written to the array. \n"
21 "Several of the enumerated values require some "
22 karl 1.1.2.2 "explanation: 1) Value 11, Supports Dual Sided Media, "
23 "distinguishes a Device that can access both sides of "
24 "dual sided Media, from a Device that reads only a single "
25 "side and requires the Media to be flipped; and, 2) Value "
26 "12, Predismount Eject Not Required, indicates that Media "
27 "does not have to be explicitly ejected from the Device "
28 "before being accessed by a PickerElement." ),
29 ValueMap { "0", "1", "2", "3", "4", "5", "6", "7", "8", "9",
30 "10", "11", "12" },
31 Values { "Unknown", "Other", "Sequential Access",
32 "Random Access", "Supports Writing", "Encryption",
33 "Compression", "Supports Removeable Media",
34 "Manual Cleaning", "Automatic Cleaning",
35 // 10
36 "SMART Notification",
37 "Supports Dual Sided Media",
38 "Predismount Eject Not Required" },
39 ArrayType ( "Indexed" ),
40 MappingStrings { "MIF.DMTF|Storage Devices|001.9",
41 "MIF.DMTF|Storage Devices|001.11",
42 "MIF.DMTF|Storage Devices|001.12", "MIF.DMTF|Disks|003.7",
43 karl 1.1.2.2 "MIF.DMTF|Host Disk|001.2", "MIF.DMTF|Host Disk|001.4" },
44 ModelCorrespondence {
45 "CIM_MediaAccessDevice.CapabilityDescriptions" }]
46 uint16 Capabilities[];
47
48 [Description (
49 "An array of free-form strings providing more detailed "
50 "explanations for any of the AccessDevice features "
51 "indicated in the Capabilities array. Note, each entry of "
52 "this array is related to the entry in the Capabilities "
53 "array that is located at the same index." ),
54 ArrayType ( "Indexed" ),
55 ModelCorrespondence { "CIM_MediaAccessDevice.Capabilities" }]
56 string CapabilityDescriptions[];
57
58 [Description (
59 "ErrorMethodology is a free-form string describing the "
60 "type(s) of error detection and correction supported by "
61 "this Device." )]
62 string ErrorMethodology;
63
64 karl 1.1.2.2 [Description (
65 "A free form string indicating the algorithm or tool used "
66 "by the device to support compression. If it is not "
67 "possible or not desired to describe the compression "
68 "scheme (perhaps because it is not known), recommend "
69 "using the following words: \"Unknown\" to represent that "
70 "it is not known whether the device supports compression "
71 "capabilities or not, \"Compressed\" to represent that "
72 "the device supports compression capabilities but either "
73 "its compression scheme is not known or not disclosed, "
74 "and \"Not Compressed\" to represent that the devices "
75 "does not support compression capabilities." )]
76 string CompressionMethod;
77
78 [Description (
79 "When the MediaAccessDevice supports multiple individual "
80 "Media, this property defines the maximum number which "
81 "can be supported or inserted." )]
82 uint32 NumberOfMediaSupported;
83
84 [Description (
85 karl 1.1.2.2 "Maximum size, in KBytes, of media supported by this "
86 "Device. KBytes is interpreted as the number of bytes "
87 "multiplied by 1000 (NOT the number of bytes multiplied "
88 "by 1024)." ),
89 MappingStrings { "MIF.DMTF|Sequential Access Devices|001.2",
90 "MIF.DMTF|Host Disk|001.5" }]
91 uint64 MaxMediaSize;
92
93 [Description (
94 "Default block size, in bytes, for this Device." ),
95 Units ( "Bytes" ),
96 PUnit ( "byte" )]
97 uint64 DefaultBlockSize;
98
99 [Description (
100 "Maximum block size, in bytes, for media accessed by this Device."
101 ),
102 Units ( "Bytes" ),
103 PUnit ( "byte" )]
104 uint64 MaxBlockSize;
105
106 karl 1.1.2.2 [Description (
107 "Minimum block size, in bytes, for media accessed by this Device."
108 ),
109 Units ( "Bytes" ),
110 PUnit ( "byte" )]
111 uint64 MinBlockSize;
112
113 [Description (
114 "Boolean indicating that the MediaAccessDevice needs "
115 "cleaning. Whether manual or automatic cleaning is "
116 "possible is indicated in the Capabilities array "
117 "property." )]
118 boolean NeedsCleaning;
119
120 [Description (
121 "True indicates that the media is locked in the Device "
122 "and can not be ejected. For non-removeable Devices, this "
123 "value should be true." )]
124 boolean MediaIsLocked;
125
126 [Description (
127 karl 1.1.2.2 "An enumeration indicating the operational security "
128 "defined for the MediaAccessDevice. For example, "
129 "information that the Device is \"Read Only\" (value=4) "
130 "or \"Boot Bypass\" (value=6) can be described using this "
131 "property." ),
132 ValueMap { "1", "2", "3", "4", "5", "6", "7" },
133 Values { "Other", "Unknown", "None", "Read Only",
134 "Locked Out", "Boot Bypass", "Boot Bypass and Read Only" },
135 MappingStrings { "MIF.DMTF|Disks|003.22" }]
136 uint16 Security;
137
138 [Description (
139 "The date and time on which the Device was last cleaned." )]
140 datetime LastCleaned;
141
142 [Description (
143 "Time in milliseconds to move from the first location on "
144 "the Media to the location that is furthest with respect "
145 "to time. For a DiskDrive, this represents full seek + "
146 "full rotational delay. For TapeDrives, this represents a "
147 "search from the beginning of the tape to the most "
148 karl 1.1.2.2 "physically distant point. (The end of a tape may be at "
149 "its most physically distant point, but this is not "
150 "necessarily true.)" ),
151 Units ( "MilliSeconds" ),
152 PUnit ( "second * 10^-3" )]
153 uint64 MaxAccessTime;
154
155 [Description (
156 "The sustained data transfer rate in KB/sec that the "
157 "Device can read from and write to a Media. This is a "
158 "sustained, raw data rate. Maximum rates or rates "
159 "assuming compression should not be reported in this "
160 "property." ),
161 Units ( "KiloBytes per Second" ),
162 PUnit ( "byte / second * 10^3" )]
163 uint32 UncompressedDataRate;
164
165 [Description (
166 "Time in milliseconds from \'load\' to being able to read "
167 "or write a Media. For example, for DiskDrives, this is "
168 "the interval between a disk not spinning to the disk "
169 karl 1.1.2.2 "reporting that it is ready for read/write (ie, the disk "
170 "spinning at nominal speeds). For TapeDrives, this is the "
171 "time from a Media being injected to reporting that it is "
172 "ready for an application. This is usually at the tape\'s "
173 "BOT area." ),
174 Units ( "MilliSeconds" ),
175 PUnit ( "second * 10^-3" )]
176 uint64 LoadTime;
177
178 [Description (
179 "Time in milliseconds from being able to read or write a "
180 "Media to its \'unload\'. For example, for DiskDrives, "
181 "this is the interval between a disk spinning at nominal "
182 "speeds and a disk not spinning. For TapeDrives, this is "
183 "the time for a Media to go from its BOT to being fully "
184 "ejected and accessible to a PickerElement or human "
185 "operator." ),
186 Units ( "MilliSeconds" ),
187 PUnit ( "second * 10^-3" )]
188 uint64 UnloadTime;
189
190 karl 1.1.2.2 [Description (
191 "For a MediaAccessDevice that supports removable Media, "
192 "the number of times that Media have been mounted for "
193 "data transfer or to clean the Device. For Devices "
194 "accessing nonremovable Media, such as hard disks, this "
195 "property is not applicable and should be set to 0." ),
196 Counter]
197 uint64 MountCount;
198
199 [Description (
200 "For a MediaAccessDevice that supports removable Media, "
201 "the most recent date and time that Media was mounted on "
202 "the Device. For Devices accessing nonremovable Media, "
203 "such as hard disks, this property has no meaning and is "
204 "not applicable." )]
205 datetime TimeOfLastMount;
206
207 [Description (
208 "For a MediaAccessDevice that supports removable Media, "
209 "the total time (in seconds) that Media have been mounted "
210 "for data transfer or to clean the Device. For Devices "
211 karl 1.1.2.2 "accessing nonremovable Media, such as hard disks, this "
212 "property is not applicable and should be set to 0." )]
213 uint64 TotalMountTime;
214
215 [Description (
216 "Defines \'Units\' relative to its use in the property, "
217 "MaxUnitsBeforeCleaning. This describes the criteria used "
218 "to determine when the MediaAccessDevice should be "
219 "cleaned." ),
220 ModelCorrespondence {
221 "CIM_MediaAccessDevice.MaxUnitsBeforeCleaning",
222 "CIM_MediaAccessDevice.UnitsUsed" }]
223 string UnitsDescription;
224
225 [Description (
226 "An unsigned integer indicating the maximum \'units\' "
227 "that can be used, with respect to the AccessDevice, "
228 "before the Device should be cleaned. The property, "
229 "UnitsDescription, defines how \'units\' should be "
230 "interpreted." ),
231 ModelCorrespondence { "CIM_MediaAccessDevice.UnitsDescription" }]
232 karl 1.1.2.2 uint64 MaxUnitsBeforeCleaning;
233
234 [Description (
235 "An unsigned integer indicating the currently used "
236 "\'units\' of the AccessDevice, helpful to describe when "
237 "the Device may require cleaning. The property, "
238 "UnitsDescription, defines how \'units\' should be "
239 "interpreted." ),
240 Gauge, ModelCorrespondence {
241 "CIM_MediaAccessDevice.UnitsDescription",
242 "CIM_MediaAccessDevice.MaxUnitsBeforeCleaning" }]
243 uint64 UnitsUsed;
244
245
246 [Description (
247 "Method to lock and unlock the media in a removeable "
248 "Access Device. The method takes one parameter as input - "
249 "a boolean indicating whether to lock or unlock. TRUE "
250 "indicates that the media should be locked in the Device, "
251 "FALSE indicates that the media should be unlocked. The "
252 "method returns 0 if successful, 1 if not supported, and "
253 karl 1.1.2.2 "any other value if an error occurred. The set of "
254 "possible return codes should be specified in a ValueMap "
255 "qualifier on the method. The strings to which the "
256 "ValueMap contents are \'translated\' should be specified "
257 "as a Values array qualifier on the method." )]
258 uint32 LockMedia(
259 [IN, Description (
260 "If TRUE, lock the media. If FALSE release the media."
261 )]
262 boolean Lock);
263
264 };
|