1 karl 1.1 // ===================================================================
2 // Title: Core Storage Extents 2.7
3 // Filename: Core27_StorageExtent.mof
4 // Version: 2.7.0
5 // Release: Preliminary
6 // Date: 09/20/02
7 // ===================================================================
8 // Copyright 2002 Distributed Management Task Force, Inc. (DMTF).
9 // All rights reserved.
10 // DMTF is a not-for-profit association of industry members dedicated
11 // to promoting enterprise and systems management and interoperability.
12 // DMTF specifications and documents may be reproduced for uses
13 // consistent with this purpose by members and non-members,
14 // provided that correct attribution is given.
15 // As DMTF specifications may be revised from time to time,
16 // the particular version and release date should always be noted.
17 //
18 // Implementation of certain elements of this standard or proposed
19 // standard may be subject to third party patent rights, including
20 // provisional patent rights (herein "patent rights"). DMTF makes
21 // no representations to users of the standard as to the existence
22 karl 1.1 // of such rights, and is not responsible to recognize, disclose, or
23 // identify any or all such third party patent right, owners or
24 // claimants, nor for any incomplete or inaccurate identification or
25 // disclosure of such rights, owners or claimants. DMTF shall have no
26 // liability to any party, in any manner or circumstance, under any
27 // legal theory whatsoever, for failure to recognize, disclose, or
28 // identify any such third party patent rights, or for such party's
29 // reliance on the standard or incorporation thereof in its product,
30 // protocols or testing procedures. DMTF shall have no liability to
31 // any party implementing such standard, whether such implementation
32 // is foreseeable or not, nor to any patent owner or claimant, and shall
33 // have no liability or responsibility for costs or losses incurred if
34 // a standard is withdrawn or modified after publication, and shall be
35 // indemnified and held harmless by any party implementing the
36 // standard from any and all claims of infringement by a patent owner
37 // for such implementations.
38 //
39 // For information about patents held by third-parties which have
40 // notified the DMTF that, in their opinion, such patent may relate to
41 // or impact implementations of DMTF standards, visit
42 // http://www.dmtf.org/about/policies/disclosures.php.
43 karl 1.1 // ===================================================================
44 // Description: The Core Model defines basic management concepts.
45 // This file defines the concepts and classes to model
46 // a type of LogicalDevice, StorageExtents.
47 //
48 // The object classes below are listed in an order that
49 // avoids forward references. Required objects, defined
50 // by other working groups, are omitted.
51 // ==================================================================
52 // Change Log for v2.7
53 // CR722 - Add StorageExtent.ExtentStatus
54 // CR775 - StorageExtent.NoSinglePointOfFailure, StorageExtent.
55 // DataRedundancy, StorageExtent.SpindleRedundancy
56 // CR777 - Add StorageExtent.DeltaReservation
57 // CR862 - Define StorageExtent.ExtentStatus as an array
58 // CR884 - Move RAID centric properties from StorageExtent to
59 // StorageVolume
60 // ==================================================================
61
62 #pragma locale ("en_US")
63
64 karl 1.1
65 // ===================================================================
66 // StorageExtent
67 // ===================================================================
68 [Version ("2.7.0"), Description (
69 "StorageExtent describes the capabilities and management of "
70 "the various media that exist to store data and allow data "
71 "retrieval. This superclass could be used to represent the "
72 "various components of RAID (Hardware or Software) or as a "
73 "raw logical extent on top of physical media.") ]
74 class CIM_StorageExtent : CIM_LogicalDevice {
75
76 [Description ("Type of data organization used."),
77 ValueMap {"0", "1", "2", "3", "4"},
78 Values {"Other", "Unknown", "Fixed Block", "Variable Block",
79 "Count Key Data"} ]
80 uint16 DataOrganization;
81
82 [Description (
83 "A free form string describing the media and/or its use."),
84 MappingStrings {
85 karl 1.1 "MIB.IETF|HOST-RESOURCES-MIB.hrStorageDescr"} ]
86 string Purpose;
87
88 [Description (
89 "Access describes whether the media is readable (value=1), "
90 "writeable (value=2), or both (value=3). \"Unknown\" (0) "
91 "and \"Write Once\" (4) can also be defined."),
92 ValueMap {"0", "1", "2", "3", "4"},
93 Values {"Unknown", "Readable", "Writeable",
94 "Read/Write Supported", "Write Once"} ]
95 uint16 Access;
96
97 [Description (
98 "ErrorMethodology is a free-form string describing "
99 "the type of error detection and correction supported "
100 "by this StorageExtent.") ]
101 string ErrorMethodology;
102
103 [Description (
104 "Size in bytes of the blocks which form this StorageExtent. "
105 "If variable block size, then the maximum block size in bytes "
106 karl 1.1 "should be specified. If the block size is unknown or if a "
107 "block concept is not valid (for example, for AggregateExtents, "
108 "Memory or LogicalDisks), enter a 1."),
109 Units ("Bytes"),
110 MappingStrings {"MIF.DMTF|Host Storage|001.4",
111 "MIB.IETF|HOST-RESOURCES-MIB.hrStorageAllocationUnits,"
112 "MIF.DMTF|Storage Devices|001.5"} ]
113 uint64 BlockSize;
114
115 [Description (
116 "Total number of logically contiguous blocks, of size Block"
117 "Size, which form this Extent. The total size of the Extent "
118 "can be calculated by multiplying BlockSize by NumberOfBlocks. "
119 "If the BlockSize is 1, this property is the total size of the "
120 "Extent."),
121 MappingStrings {"MIF.DMTF|Host Storage|001.5",
122 "MIB.IETF|HOST-RESOURCES-MIB.hrStorageSize"} ]
123 uint64 NumberOfBlocks;
124
125 [Description (
126 "The maximum number of blocks, of size BlockSize, which are "
127 karl 1.1 "available for consumption when layering StorageExtents "
128 "using the BasedOn association. This property only has meaning "
129 "when this StorageExtent is an Antecedent reference in a "
130 "BasedOn relationship. For example, a StorageExtent could be "
131 "composed of 120 blocks. However, the Extent itself may use 20 "
132 "blocks for redundancy data. If another StorageExtent is "
133 "BasedOn this Extent, only 100 blocks would be available to it. "
134 "This information ('100 blocks is available for consumption') "
135 "is indicated in the ConsumableBlocks property.") ]
136 uint64 ConsumableBlocks;
137
138 [Description (
139 "True indicates that the underlying StorageExtent(s) "
140 "participate in a StorageRedundancyGroup.") ]
141 boolean IsBasedOnUnderlyingRedundancy;
142
143 [Description (
144 "Boolean set to TRUE if the Storage is sequentially accessed "
145 "by a MediaAccessDevice. A TapePartition is an example of a "
146 "sequentially accessed StorageExtent. StorageVolumes, Disk"
147 "Partitions and LogicalDisks represent randomly accessed "
148 karl 1.1 "Extents.") ]
149 boolean SequentialAccess;
150
151 [Experimental, Description (
152 "StorageExtents have additional status information beyond that "
153 "captured in the OperationalStatus and other properties, inherited "
154 "from ManagedSystemElement. This additional information (for "
155 "example, \"Protection Disabled\", value=9) is captured in the "
156 "VolumeStatus property."),
157 ValueMap {"0", "1", "2", "3", "4", "5", "6", "7", "8", "9",
158 "10", "11", "12", "13", "14"},
159 Values {"Other", "Unknown", "None/Not Applicable", "Broken",
160 "Data Lost", "Dynamic Reconfig", "Exposed",
161 "Fractionally Exposed", "Partially Exposed",
162 "Protection Disabled", "Readying", "Rebuild",
163 "Recalculate", "Spare in Use", "Verify In Progress"} ]
164 uint16 ExtentStatus[];
165 };
166
167
168 // ===================================================================
169 karl 1.1 // BasedOn
170 // ===================================================================
171 [Association, Version ("2.6.0"), Description (
172 "BasedOn is an association describing how StorageExtents can "
173 "be assembled from lower level Extents. For example, "
174 "ProtectedSpaceExtents are parts of PhysicalExtents, while "
175 "VolumeSets are assembled from one or more Physical or "
176 "ProtectedSpaceExtents. As another example, CacheMemory "
177 "can be defined independently and realized in a PhysicalElement "
178 "or can be 'based on' Volatile or NonVolatileStorageExtents.") ]
179 class CIM_BasedOn : CIM_Dependency {
180
181 [Override ("Antecedent"), Description (
182 "The lower level StorageExtent.") ]
183 CIM_StorageExtent REF Antecedent;
184
185 [Override ("Dependent"), Description (
186 "The higher level StorageExtent.") ]
187 CIM_StorageExtent REF Dependent;
188
189 [Description (
190 karl 1.1 "StartingAddress indicates where in lower level storage, "
191 "the higher level Extent begins.") ]
192 uint64 StartingAddress;
193
194 [Description (
195 "EndingAddress indicates where in lower level storage, "
196 "the higher level Extent ends. This property is useful when "
197 "mapping non-contiguous Extents into a higher level grouping.") ]
198 uint64 EndingAddress;
199
200 [Description (
201 "If there is an order to the BasedOn associations that "
202 "describe how a higher level StorageExtent is assembled, the "
203 "OrderIndex property indicates this. When an order exists, "
204 "the instances of BasedOn with the same Dependent value "
205 "(i.e., the same higher level Extent) should place unique "
206 "values in the OrderIndex property. The lowest value implies "
207 "the first member of the collection of lower level Extents, "
208 "and increasing values imply successive members of the "
209 "collection. If there is no ordered relationship, a value "
210 "of zero should be specified. An example of the use of this "
211 karl 1.1 "property is to define a RAID-0 striped array of 3 disks. "
212 "The resultant RAID array is a StorageExtent that is "
213 "dependent on (BasedOn) the StorageExtents that describe "
214 "each of the 3 disks. The OrderIndex of each BasedOn "
215 "association from the disk Extents to the RAID array could "
216 "be specified as 1, 2 and 3 to indicate the order in which "
217 "the disk Extents are used to access the RAID data.") ]
218 uint16 OrderIndex;
219 };
220
221
222 // ===================================================================
223 // end of file
224 // ===================================================================
|