(file) Return to Core_StorageExtent.mof CVS log (file) (dir) Up to [Pegasus] / pegasus / Schemas / CIM29

  1 a.dunfey 1.1 // ===================================================================
  2              // Title: Core_StorageExtent
  3              // $State: Exp $
  4              // $Date: 2004/11/29 18:31:42 $
  5              // $RCSfile: Core_StorageExtent.mof,v $
  6              // $Revision: 1.7.2.3 $
  7              // ===================================================================
  8              //#pragma inLine ("Includes/copyright.inc")
  9              // Copyright 1998-2005 Distributed Management Task Force, Inc. (DMTF).
 10              // All rights reserved.
 11              // DMTF is a not-for-profit association of industry members dedicated
 12              // to promoting enterprise and systems management and interoperability.
 13              // DMTF specifications and documents may be reproduced for uses
 14              // consistent with this purpose by members and non-members,
 15              // provided that correct attribution is given.
 16              // As DMTF specifications may be revised from time to time,
 17              // the particular version and release date should always be noted.
 18              // 
 19              // Implementation of certain elements of this standard or proposed
 20              // standard may be subject to third party patent rights, including
 21              // provisional patent rights (herein "patent rights"). DMTF makes
 22 a.dunfey 1.1 // no representations to users of the standard as to the existence
 23              // of such rights, and is not responsible to recognize, disclose, or
 24              // identify any or all such third party patent right, owners or
 25              // claimants, nor for any incomplete or inaccurate identification or
 26              // disclosure of such rights, owners or claimants. DMTF shall have no
 27              // liability to any party, in any manner or circumstance, under any
 28              // legal theory whatsoever, for failure to recognize, disclose, or
 29              // identify any such third party patent rights, or for such party's
 30              // reliance on the standard or incorporation thereof in its product,
 31              // protocols or testing procedures. DMTF shall have no liability to
 32              // any party implementing such standard, whether such implementation
 33              // is foreseeable or not, nor to any patent owner or claimant, and shall
 34              // have no liability or responsibility for costs or losses incurred if
 35              // a standard is withdrawn or modified after publication, and shall be
 36              // indemnified and held harmless by any party implementing the
 37              // standard from any and all claims of infringement by a patent owner
 38              // for such implementations.
 39              // 
 40              // For information about patents held by third-parties which have
 41              // notified the DMTF that, in their opinion, such patent may relate to
 42              // or impact implementations of DMTF standards, visit
 43 a.dunfey 1.1 // http://www.dmtf.org/about/policies/disclosures.php.
 44              //#pragma inLine
 45              // ===================================================================
 46              // Description: The Core Model defines basic management concepts.
 47              //              This file defines the concepts and classes to model
 48              //              a type of LogicalDevice, StorageExtents.
 49              // 
 50              //              The object classes below are listed in an order that
 51              //              avoids forward references. Required objects, defined
 52              //              by other working groups, are omitted.
 53              // ==================================================================
 54              // Change Log for v2.8 Final
 55              // CR1210 - Removal of experimental Qualifiers for core.
 56              // 
 57              // Change Log for v2.8 Preliminary
 58              // CR978  - Promote NoSinglePointOfFailure, DataRedundancy, and
 59              //          SpindleRedundancy from StorageVolue to StorageExtent.
 60              // CR1019 - CIM Versioning for 2.8 Preliminary
 61              // CR1044 - Add StorageExtent.Primordial
 62              // 
 63              // Change Log for v2.7 Final
 64 a.dunfey 1.1 // CR967 - Add values "DMTF reserved" and "Vendor reserved" to
 65              //         StorageExtent.ExtentStatus.
 66              // CR968 - Remove the Experimental qualifier
 67              // 
 68              // Change Log for v2.7
 69              // CR722 - Add StorageExtent.ExtentStatus
 70              // CR775 - StorageExtent.NoSinglePointOfFailure, StorageExtent.
 71              //         DataRedundancy, StorageExtent.SpindleRedundancy
 72              // CR777 - Add StorageExtent.DeltaReservation
 73              // CR862 - Define StorageExtent.ExtentStatus as an array
 74              // CR884 - Move RAID centric properties from StorageExtent to
 75              //         StorageVolume
 76              // ==================================================================
 77              
 78              #pragma locale ("en_US")
 79              
 80              
 81              // ===================================================================
 82              // StorageExtent
 83              // ===================================================================
 84                 [Version ( "2.8.0" ), Description (
 85 a.dunfey 1.1        "StorageExtent describes the capabilities and management of the "
 86                     "various media that exist to store data and allow data "
 87                     "retrieval. This superclass could be used to represent the "
 88                     "various components of RAID (Hardware or Software) or as a raw "
 89                     "logical extent on top of physical media.")]
 90              class CIM_StorageExtent : CIM_LogicalDevice {
 91              
 92                    [Description (
 93                        "Type of data organization used."), 
 94                     ValueMap { "0", "1", "2", "3", "4" }, 
 95                     Values { "Other", "Unknown", "Fixed Block", "Variable Block",
 96                        "Count Key Data" }]
 97                 uint16 DataOrganization;
 98              
 99                    [Description (
100                        "A free form string describing the media and/or its use."), 
101                     MappingStrings { "MIB.IETF|HOST-RESOURCES-MIB.hrStorageDescr" }]
102                 string Purpose;
103              
104                    [Description (
105                        "Access describes whether the media is readable (value=1), "
106 a.dunfey 1.1           "writeable (value=2), or both (value=3). \"Unknown\" (0) and "
107                        "\"Write Once\" (4) can also be defined."), 
108                     ValueMap { "0", "1", "2", "3", "4" }, 
109                     Values { "Unknown", "Readable", "Writeable",
110                        "Read/Write Supported", "Write Once" }]
111                 uint16 Access;
112              
113                    [Description (
114                        "ErrorMethodology is a free-form string describing the type "
115                        "of error detection and correction supported by this "
116                        "StorageExtent.")]
117                 string ErrorMethodology;
118              
119                    [Description (
120                        "Size in bytes of the blocks which form this StorageExtent. "
121                        "If variable block size, then the maximum block size in "
122                        "bytes should be specified. If the block size is unknown or "
123                        "if a block concept is not valid (for example, for "
124                        "AggregateExtents, Memory or LogicalDisks), enter a 1."), 
125                     Units ( "Bytes" ), 
126                     MappingStrings { "MIF.DMTF|Host Storage|001.4",
127 a.dunfey 1.1           "MIB.IETF|HOST-RESOURCES-MIB.hrStorageAllocationUnits",
128                        "MIF.DMTF|Storage Devices|001.5" }]
129                 uint64 BlockSize;
130              
131                    [Description (
132                        "Total number of logically contiguous blocks, of size Block "
133                        "Size, which form this Extent. The total size of the Extent "
134                        "can be calculated by multiplying BlockSize by "
135                        "NumberOfBlocks. If the BlockSize is 1, this property is the "
136                        "total size of the Extent."), 
137                     MappingStrings { "MIF.DMTF|Host Storage|001.5",
138                        "MIB.IETF|HOST-RESOURCES-MIB.hrStorageSize" }]
139                 uint64 NumberOfBlocks;
140              
141                    [Description (
142                        "The maximum number of blocks, of size BlockSize, which are "
143                        "available for consumption when layering StorageExtents "
144                        "using the BasedOn association. This property only has "
145                        "meaning when this StorageExtent is an Antecedent reference "
146                        "in a BasedOn relationship. For example, a StorageExtent "
147                        "could be composed of 120 blocks. However, the Extent itself "
148 a.dunfey 1.1           "may use 20 blocks for redundancy data. If another "
149                        "StorageExtent is BasedOn this Extent, only 100 blocks would "
150                        "be available to it. This information ('100 blocks is "
151                        "available for consumption') is indicated in the "
152                        "ConsumableBlocks property.")]
153                 uint64 ConsumableBlocks;
154              
155                    [Description (
156                        "True indicates that the underlying StorageExtent(s) "
157                        "participate in a StorageRedundancyGroup.")]
158                 boolean IsBasedOnUnderlyingRedundancy;
159              
160                    [Description (
161                        "Boolean set to TRUE if the Storage is sequentially accessed "
162                        "by a MediaAccessDevice. A TapePartition is an example of a "
163                        "sequentially accessed StorageExtent. StorageVolumes, Disk "
164                        "Partitions and LogicalDisks represent randomly accessed "
165                        "Extents.")]
166                 boolean SequentialAccess;
167              
168                    [Description (
169 a.dunfey 1.1           "StorageExtents have additional status information beyond "
170                        "that captured in the OperationalStatus and other "
171                        "properties, inherited from ManagedSystemElement. This "
172                        "additional information (for example, \"Protection "
173                        "Disabled\", value=9) is captured in the VolumeStatus "
174                        "property."), 
175                     ValueMap { "0", "1", "2", "3", "4", "5", "6", "7", "8", "9",
176                        "10", "11", "12", "13", "14", "15..32767", "32768..65535" }, 
177                     Values { "Other", "Unknown", "None/Not Applicable", "Broken",
178                        "Data Lost", "Dynamic Reconfig", "Exposed",
179                        "Fractionally Exposed", "Partially Exposed",
180                        "Protection Disabled", "Readying", "Rebuild", "Recalculate",
181                        "Spare in Use", "Verify In Progress", "DMTF Reserved",
182                        "Vendor Reserved" }]
183                 uint16 ExtentStatus[];
184              
185                    [Description (
186                        "Indicates whether or not there exists no single point of "
187                        "failure."), 
188                     ModelCorrespondence { 
189                        "CIM_StorageSetting.NoSinglePointOfFailure" }]
190 a.dunfey 1.1    boolean NoSinglePointOfFailure;
191              
192                    [Description (
193                        "Number of complete copies of data currently maintained."), 
194                     ModelCorrespondence { "CIM_StorageSetting.DataRedundancyGoal",
195                        "CIM_StorageSetting.DataRedundancyMax",
196                        "CIM_StorageSetting.DataRedundancyMin" }]
197                 uint16 DataRedundancy;
198              
199                    [Description (
200                        "How many physical packages can currently fail without data "
201                        "loss. For example, in the storage domain, this might be "
202                        "disk spindles."), 
203                     ModelCorrespondence { 
204                        "CIM_StorageSetting.PackageRedundancyGoal",
205                        "CIM_StorageSetting.PackageRedundancyMax",
206                        "CIM_StorageSetting.PackageRedundancyMin" }]
207                 uint16 PackageRedundancy;
208              
209                    [Description (
210                        "Current value for Delta reservation. This is a percentage "
211 a.dunfey 1.1           "that specifies the amount of space that should be reserved "
212                        "in a replica for caching changes."), 
213                     Units ( "Percentage" ), MinValue ( 1 ), MaxValue ( 100 ), 
214                     ModelCorrespondence { "CIM_StorageSetting.DeltaReservationGoal",
215                        "CIM_StorageSetting.DeltaReservationMax",
216                        "CIM_StorageSetting.DeltaReservationMin" }]
217                 uint8 DeltaReservation;
218              
219                    [Description (
220                        "If true, \"Primordial\" indicates that the containing "
221                        "System does not have the ability to create or delete this "
222                        "operational element. This is important because "
223                        "StorageExtents are assembled into higher-level abstractions "
224                        "using the BasedOn association. Although the higher-level "
225                        "abstractions can be created and deleted, the most basic, "
226                        "(i.e. primordial), hardware-based storage entities cannot. "
227                        "They are physically realized as part of the System, or are "
228                        "actually managed by some other System and imported as if "
229                        "they were physically realized. In other words, a Primordial "
230                        "StorageExtent exists in, but is not created by its System "
231                        "and conversely a non-Primordial StorageExtent is created in "
232 a.dunfey 1.1           "the context of its System. For StorageVolumes, this "
233                        "property will generally be false. One use of this property "
234                        "is to enable algorithms that aggregate "
235                        "StorageExtent.ConsumableSpace across all, StorageExtents "
236                        "but that also want to distinquish the space that underlies "
237                        "Primordial StoragePools. Since implementations are not "
238                        "required to surface all Component StorageExtents of a "
239                        "StoragePool, this information is not accessible in any "
240                        "other way.")]
241                 boolean Primordial=false;
242              };
243              
244              
245              // ===================================================================
246              // BasedOn
247              // ===================================================================
248                 [Association, Version ( "2.6.0" ), Description (
249                     "BasedOn is an association describing how StorageExtents can be "
250                     "assembled from lower level Extents. For example, "
251                     "ProtectedSpaceExtents are parts of PhysicalExtents, while "
252                     "VolumeSets are assembled from one or more Physical or "
253 a.dunfey 1.1        "ProtectedSpaceExtents. As another example, CacheMemory can be "
254                     "defined independently and realized in a PhysicalElement or can "
255                     "be 'based on' Volatile or NonVolatileStorageExtents.")]
256              class CIM_BasedOn : CIM_Dependency {
257              
258                    [Override ( "Antecedent" ), Description (
259                        "The lower level StorageExtent.")]
260                 CIM_StorageExtent REF Antecedent;
261              
262                    [Override ( "Dependent" ), Description (
263                        "The higher level StorageExtent.")]
264                 CIM_StorageExtent REF Dependent;
265              
266                    [Description (
267                        "StartingAddress indicates where in lower level storage, the "
268                        "higher level Extent begins.")]
269                 uint64 StartingAddress;
270              
271                    [Description (
272                        "EndingAddress indicates where in lower level storage, the "
273                        "higher level Extent ends. This property is useful when "
274 a.dunfey 1.1           "mapping non-contiguous Extents into a higher level "
275                        "grouping.")]
276                 uint64 EndingAddress;
277              
278                    [Description (
279                        "If there is an order to the BasedOn associations that "
280                        "describe how a higher level StorageExtent is assembled, the "
281                        "OrderIndex property indicates this. When an order exists, "
282                        "the instances of BasedOn with the same Dependent value "
283                        "(i.e., the same higher level Extent) should place unique "
284                        "values in the OrderIndex property. The lowest value implies "
285                        "the first member of the collection of lower level Extents, "
286                        "and increasing values imply successive members of the "
287                        "collection. If there is no ordered relationship, a value of "
288                        "zero should be specified. An example of the use of this "
289                        "property is to define a RAID-0 striped array of 3 disks. "
290                        "The resultant RAID array is a StorageExtent that is "
291                        "dependent on (BasedOn) the StorageExtents that describe "
292                        "each of the 3 disks. The OrderIndex of each BasedOn "
293                        "association from the disk Extents to the RAID array could "
294                        "be specified as 1, 2 and 3 to indicate the order in which "
295 a.dunfey 1.1           "the disk Extents are used to access the RAID data.")]
296                 uint16 OrderIndex;
297              };
298              
299              
300              // ===================================================================
301              // end of file
302              // ===================================================================

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2