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

  1 kumpf 1.2 // ===================================================================
  2           // Title:       Core Storage Extents 2.7
  3           // Filename:    Core27_StorageExtent.mof
  4           // Version:     2.7.0
  5           // Release:     Final
  6           // Date:        04/15/03
  7           // ===================================================================
  8           // Copyright 2000-2003 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 kumpf 1.2 // 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 kumpf 1.2 // ===================================================================
 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 Final
 53           // CR967 - Add values "DMTF reserved" and "Vendor reserved" to 
 54           //         StorageExtent.ExtentStatus.
 55           // CR968 - Remove the Experimental qualifier
 56           //
 57           // Change Log for v2.7
 58           // CR722 - Add StorageExtent.ExtentStatus
 59           // CR775 - StorageExtent.NoSinglePointOfFailure, StorageExtent. 
 60           //         DataRedundancy, StorageExtent.SpindleRedundancy
 61           // CR777 - Add StorageExtent.DeltaReservation
 62           // CR862 - Define StorageExtent.ExtentStatus as an array
 63           // CR884 - Move RAID centric properties from StorageExtent to 
 64 kumpf 1.2 //         StorageVolume
 65           // ==================================================================
 66           
 67           #pragma locale ("en_US")
 68           
 69           
 70           // ===================================================================
 71           // StorageExtent
 72           // ===================================================================
 73           [Version ("2.7.0"), Description (
 74               "StorageExtent describes the capabilities and management of "
 75               "the various media that exist to store data and allow data "
 76               "retrieval. This superclass could be used to represent the "
 77               "various components of RAID (Hardware or Software) or as a "
 78               "raw logical extent on top of physical media.") ] 
 79           class CIM_StorageExtent : CIM_LogicalDevice {
 80           
 81               [Description ("Type of data organization used."), 
 82                   ValueMap {"0", "1", "2", "3", "4"},
 83                   Values {"Other", "Unknown", "Fixed Block", "Variable Block", 
 84                       "Count Key Data"} ]
 85 kumpf 1.2     uint16 DataOrganization;
 86           
 87               [Description (
 88                   "A free form string describing the media and/or its use."),
 89                   MappingStrings {
 90                       "MIB.IETF|HOST-RESOURCES-MIB.hrStorageDescr"} ]
 91               string Purpose;
 92           
 93               [Description (
 94                   "Access describes whether the media is readable (value=1), "
 95                   "writeable (value=2), or both (value=3). \"Unknown\" (0) "
 96                   "and \"Write Once\" (4) can also be defined."),
 97                   ValueMap {"0", "1", "2", "3", "4"},
 98                   Values {"Unknown", "Readable", "Writeable", 
 99                       "Read/Write Supported", "Write Once"} ]
100               uint16 Access;
101           
102               [Description (
103                   "ErrorMethodology is a free-form string describing "
104                   "the type of error detection and correction supported "
105                   "by this StorageExtent.") ]
106 kumpf 1.2     string ErrorMethodology;
107           
108               [Description (
109                   "Size in bytes of the blocks which form this StorageExtent. "
110                   "If variable block size, then the maximum block size in bytes "
111                   "should be specified. If the block size is unknown or if a "
112                   "block concept is not valid (for example, for AggregateExtents, "
113                   "Memory or LogicalDisks), enter a 1."), 
114                   Units ("Bytes"),
115                   MappingStrings {"MIF.DMTF|Host Storage|001.4", 
116                       "MIB.IETF|HOST-RESOURCES-MIB.hrStorageAllocationUnits",
117                       "MIF.DMTF|Storage Devices|001.5"} ]
118               uint64 BlockSize;
119           
120               [Description (
121                   "Total number of logically contiguous blocks, of size Block"
122                   "Size, which form this Extent. The total size of the Extent "
123                   "can be calculated by multiplying BlockSize by NumberOfBlocks. "
124                   "If the BlockSize is 1, this property is the total size of the "
125                   "Extent."),
126                   MappingStrings {"MIF.DMTF|Host Storage|001.5", 
127 kumpf 1.2             "MIB.IETF|HOST-RESOURCES-MIB.hrStorageSize"} ]
128                uint64 NumberOfBlocks;
129           
130                [Description ( 
131                    "The maximum number of blocks, of size BlockSize, which are "
132                    "available for consumption when layering StorageExtents "
133                    "using the BasedOn association. This property only has meaning "
134                    "when this StorageExtent is an Antecedent reference in a "
135                    "BasedOn relationship. For example, a StorageExtent could be "
136                    "composed of 120 blocks. However, the Extent itself may use 20 "
137                    "blocks for redundancy data. If another StorageExtent is "
138                    "BasedOn this Extent, only 100 blocks would be available to it. "
139                    "This information ('100 blocks is available for consumption') "
140                    "is indicated in the ConsumableBlocks property.") ]
141                uint64 ConsumableBlocks;
142           
143                [Description (
144                    "True indicates that the underlying StorageExtent(s) "
145                    "participate in a StorageRedundancyGroup.") ]
146                boolean IsBasedOnUnderlyingRedundancy;
147           
148 kumpf 1.2     [Description (
149                   "Boolean set to TRUE if the Storage is sequentially accessed "
150                   "by a MediaAccessDevice. A TapePartition is an example of a "
151                   "sequentially accessed StorageExtent. StorageVolumes, Disk"
152                   "Partitions and LogicalDisks represent randomly accessed "
153                   "Extents.") ]
154               boolean SequentialAccess;
155                   
156               [Description (
157                   "StorageExtents have additional status information beyond that "
158                   "captured in the OperationalStatus and other properties, inherited "
159                   "from ManagedSystemElement. This additional information (for "
160                   "example, \"Protection Disabled\", value=9) is captured in the "
161                   "VolumeStatus property."),
162                   ValueMap {"0", "1", "2", "3", "4", "5", "6", "7", "8", "9",
163                       "10", "11", "12", "13", "14", "15..32767", "32768..65535"},
164                   Values {"Other", "Unknown", "None/Not Applicable", "Broken", 
165                       "Data Lost", "Dynamic Reconfig", "Exposed", 
166                       "Fractionally Exposed", "Partially Exposed", 
167                       "Protection Disabled", "Readying", "Rebuild", 
168                       "Recalculate", "Spare in Use", "Verify In Progress",
169 kumpf 1.2             "DMTF Reserved", "Vendor Reserved"} ]
170               uint16 ExtentStatus[];
171           };
172           
173           
174           // ===================================================================
175           // BasedOn
176           // ===================================================================
177           [Association, Version ("2.6.0"), Description (
178              "BasedOn is an association describing how StorageExtents can "
179              "be assembled from lower level Extents. For example, "
180              "ProtectedSpaceExtents are parts of PhysicalExtents, while "
181              "VolumeSets are assembled from one or more Physical or "
182              "ProtectedSpaceExtents. As another example, CacheMemory "
183              "can be defined independently and realized in a PhysicalElement "
184              "or can be 'based on' Volatile or NonVolatileStorageExtents.") ] 
185           class CIM_BasedOn : CIM_Dependency {
186           
187              [Override ("Antecedent"), Description (
188                  "The lower level StorageExtent.") ]
189              CIM_StorageExtent REF Antecedent;
190 kumpf 1.2 
191              [Override ("Dependent"), Description (
192                  "The higher level StorageExtent.") ]
193              CIM_StorageExtent REF Dependent;
194           
195              [Description (
196                  "StartingAddress indicates where in lower level storage, "
197                  "the higher level Extent begins.") ] 
198              uint64 StartingAddress;
199           
200              [Description (
201                  "EndingAddress indicates where in lower level storage, "
202                  "the higher level Extent ends. This property is useful when "
203                  "mapping non-contiguous Extents into a higher level grouping.") ] 
204              uint64 EndingAddress;
205           
206              [Description (
207                  "If there is an order to the BasedOn associations that "
208                  "describe how a higher level StorageExtent is assembled, the "
209                  "OrderIndex property indicates this. When an order exists, "
210                  "the instances of BasedOn with the same Dependent value "
211 kumpf 1.2        "(i.e., the same higher level Extent) should place unique "
212                  "values in the OrderIndex property. The lowest value implies "
213                  "the first member of the collection of lower level Extents, "
214                  "and increasing values imply successive members of the "
215                  "collection. If there is no ordered relationship, a value "
216                  "of zero should be specified. An example of the use of this "
217                  "property is to define a RAID-0 striped array of 3 disks. "
218                  "The resultant RAID array is a StorageExtent that is "
219                  "dependent on (BasedOn) the StorageExtents that describe "
220                  "each of the 3 disks. The OrderIndex of each BasedOn "
221                  "association from the disk Extents to the RAID array could "
222                  "be specified as 1, 2 and 3 to indicate the order in which "
223                  "the disk Extents are used to access the RAID data.") ]
224              uint16 OrderIndex;
225           };
226           
227           
228           // ===================================================================
229           // end of file
230           // ===================================================================

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2