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

  1 tony  1.1 // ===================================================================
  2           // Title:       Device Memory 2.8
  3           // Filename:    Device28_Memory.mof
  4           // Version:     2.8
  5           // Status:      Final
  6           // Date:        Jan 26, 2004
  7           // ===================================================================
  8           // Copyright 1998-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 tony  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 tony  1.1 // ===================================================================
 44           // Description: The Device Model extends the management concepts that
 45           //              are related to LogicalDevices. This file defines the
 46           //              concepts behind managing memory.
 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.8 Final
 53           // CR1202 - Remove Experimental Qualifiers
 54           // 
 55           // Change Log for v2.8 Preliminary
 56           // CR941 - Deprecate CacheMemory, VolatileStorage and NonVolatileStorage
 57           //         Promote AssociatedMemory to LogicalELement
 58           //         Add AssociatedCacheMemory association
 59           //         Add Volatile parameter to Memory
 60           //         Promote BIOSLoadedInNV.Antecendent to CIM_Memory
 61           //         Deprecate CIM_ComputerSystemMemory
 62           // CR1097 - Cleanup of CIM_MemoryError.ErrorAccess
 63           // 
 64 tony  1.1 // Change Log for v2.7
 65           // CR622 - Fix the DMI mapping string to include the attribute number
 66           //         for Memory.ErrorInfo, .CorrectableError, .ErrorAccess,
 67           //           .ErrorTransferSize, .ErrorData, .ErrorAddress,
 68           //           .ErrorResolution & .AdditionalErrorData,
 69           //         VolatileStorage.Cacheable & .CacheType,
 70           //         CacheMemory.Level, .WritePolicy, .CacheType, .LineSize,
 71           //           .ReplacementPolicy, .ReadPolicy, .FlushTimer, &
 72           //           .Associativity
 73           // CR771 - Add the Composition qualifer to ComputerSystemMemory
 74           // ==================================================================
 75           
 76           #pragma locale ("en_US")
 77           
 78           
 79           // ===================================================================
 80           // Memory
 81           // ===================================================================
 82              [Version ( "2.8.0" ), Description (
 83                  "Capabilities and management of Memory-related LogicalDevices.")]
 84           class CIM_Memory : CIM_StorageExtent {
 85 tony  1.1 
 86                 [Description (
 87                     "Volatile is a property that indicates whether this memory "
 88                     "is volatile or not.")]
 89              boolean Volatile;
 90           
 91                 [Override ( "ErrorMethodology" ), Description (
 92                     "ErrorMethodology for Memory is a string property that "
 93                     "indicates whether parity or CRC algorithms, ECC or other "
 94                     "mechanisms are used. Details on the algorithm can also be "
 95                     "supplied."), 
 96                  MappingStrings { "MIF.DMTF|Physical Memory Array|001.7" }]
 97              string ErrorMethodology;
 98           
 99                 [Description (
100                     "The beginning address, referenced by an application or "
101                     "operating system and mapped by a memory controller, for "
102                     "this Memory object. The starting address is specified in "
103                     "KBytes."), 
104                  Units ( "KiloBytes" ), 
105                  MappingStrings { "MIF.DMTF|Memory Array Mapped Addresses|001.3",
106 tony  1.1           "MIF.DMTF|Memory Device Mapped Addresses|001.4" }]
107              uint64 StartingAddress;
108           
109                 [Description (
110                     "The ending address, referenced by an application or "
111                     "operating system and mapped by a memory controller, for "
112                     "this Memory object. The ending address is specified in "
113                     "KBytes."), 
114                  Units ( "KiloBytes" ), 
115                  MappingStrings { "MIF.DMTF|Memory Array Mapped Addresses|001.4",
116                     "MIF.DMTF|Memory Device Mapped Addresses|001.5" }]
117              uint64 EndingAddress;
118           
119                 [Deprecated { "CIM_MemoryError.ErrorInfo" }, Description (
120                     "An integer enumeration describing the type of error that "
121                     "occurred most recently. For example, single (value=6) or "
122                     "double bit errors (7) can be specified using this property. "
123                     "The values, 12-14, are undefined in the CIM Schema since in "
124                     "DMI, they mix the semantics of the type of error and "
125                     "whether it was correctable or not. The latter is indicated "
126                     "in the property, CorrectableError."), 
127 tony  1.1        ValueMap { "1", "2", "3", "4", "5", "6", "7", "8", "9", "10",
128                     "11", "12", "13", "14" }, 
129                  Values { "Other", "Unknown", "OK", "Bad Read", "Parity Error",
130                     "Single-Bit Error", "Double-Bit Error", "Multi-Bit Error",
131                     "Nibble Error", "Checksum Error", "CRC Error", "Undefined",
132                     "Undefined", "Undefined" }, 
133                  MappingStrings { "MIF.DMTF|Memory Device|005.12",
134                     "MIF.DMTF|Physical Memory Array|001.8" }, 
135                  ModelCorrespondence { "CIM_Memory.OtherErrorDescription" }]
136              uint16 ErrorInfo;
137           
138                 [Deprecated { "CIM_MemoryError.OtherErrorDescription" }, 
139                  Description (
140                     "Free form string providing more information if the Error "
141                     "Type property is set to 1, \"Other\". If not set to 1, this "
142                     "string has no meaning."), 
143                  ModelCorrespondence { "CIM_Memory.ErrorInfo" }]
144              string OtherErrorDescription;
145           
146                 [Deprecated { "CIM_MemoryError.CorrectableError" }, Description (
147                     "Boolean indicating that the most recent error was "
148 tony  1.1           "correctable. If the ErrorInfo property is equal to 3, "
149                     "\"OK\", then this property has no meaning."), 
150                  MappingStrings { "MIF.DMTF|Physical Memory Array|001.8" }]
151              boolean CorrectableError;
152           
153                 [Deprecated { "CIM_MemoryError.ErrorTime" }, Description (
154                     "The time that the last memory error occurred. The type of "
155                     "error is described by the ErrorInfo property. If the Error "
156                     "Info property is equal to 3, \"OK\", then this property has "
157                     "no meaning.")]
158              datetime ErrorTime;
159           
160                 [Deprecated { "CIM_MemoryError.ErrorAccess" }, Description (
161                     "An integer enumeration indicating the memory access "
162                     "operation that caused the last error. The type of error is "
163                     "described by the ErrorInfo property. If the ErrorInfo "
164                     "property is equal to 3, \"OK\", then this property has no "
165                     "meaning."), 
166                  ValueMap { "1", "2", "3", "4", "5" }, 
167                  Values { "Other", "Unknown", "Read", "Write", "Partial Write" }, 
168                  MappingStrings { "MIF.DMTF|Physical Memory Array|001.10" }]
169 tony  1.1    uint16 ErrorAccess;
170           
171                 [Deprecated { "CIM_MemoryError.ErrorTransferSize" }, 
172                  Description (
173                     "The size of the data transfer in bits that caused the last "
174                     "error. 0 indicates no error. If the ErrorInfo property is "
175                     "equal to 3, \"OK\", then this property should be set to 0."), 
176                  Units ( "Bits" ), 
177                  MappingStrings { "MIF.DMTF|Physical Memory Array|001.11" }]
178              uint32 ErrorTransferSize;
179           
180                 [Deprecated { "CIM_MemoryError.ErrorData" }, Description (
181                     "Data captured during the last erroneous mebmory access. The "
182                     "data occupies the first n octets of the array necessary to "
183                     "hold the number of bits specified by the ErrorTransferSize "
184                     "property. If ErrorTransferSize is 0, then this property has "
185                     "no meaning."), 
186                  OctetString, 
187                  MappingStrings { "MIF.DMTF|Physical Memory Array|001.12" },
188                  ArrayType ( "Indexed" )]
189              uint8 ErrorData[64];
190 tony  1.1 
191                 [Deprecated { "CIM_MemoryError.ErrorDataOrder" }, Description (
192                     "The ordering for data stored in the ErrorData property. "
193                     "\"Least Significant Byte First\" (value=1) or \"Most "
194                     "Significant Byte First\" (2) can be specified. If "
195                     "ErrorTransferSize is 0, then this property has no meaning."), 
196                  ValueMap { "0", "1", "2" }, 
197                  Values { "Unknown", "Least Significant Byte First",
198                     "Most Significant Byte First" }]
199              uint16 ErrorDataOrder;
200           
201                 [Deprecated { "CIM_MemoryError.StartingAddress" }, Description (
202                     "Specifies the address of the last memory error. The type of "
203                     "error is described by the ErrorInfo property. If the "
204                     "ErrorInfo property is equal to 3, \"OK\", then this "
205                     "property has no meaning."), 
206                  MappingStrings { "MIF.DMTF|Memory Device|005.19",
207                     "MIF.DMTF|Physical Memory Array|001.14" }]
208              uint64 ErrorAddress;
209           
210                 [Deprecated { "CIM_MemoryError.SystemLevelAddress" }, 
211 tony  1.1        Description (
212                     "Boolean indicating whether the address information in the "
213                     "property, ErrorAddress, is a system-level address (TRUE) or "
214                     "a physical address (FALSE). If the ErrorInfo property is "
215                     "equal to 3, \"OK\", then this property has no meaning.")]
216              boolean SystemLevelAddress;
217           
218                 [Deprecated { "CIM_MemoryError.ErrorResolution" }, Description (
219                     "Specifies the range, in bytes, to which the last error can "
220                     "be resolved. For example, if error addresses are resolved "
221                     "to bit 11 (ie, on a typical page basis), then errors can be "
222                     "resolved to 4K boundaries and this property is set to 4000. "
223                     "If the ErrorInfo property is equal to 3, \"OK\", then this "
224                     "property has no meaning."), 
225                  Units ( "Bytes" ), 
226                  MappingStrings { "MIF.DMTF|Memory Device|005.21",
227                     "MIF.DMTF|Physical Memory Array|001.15" }]
228              uint64 ErrorResolution;
229           
230                 [Deprecated { "CIM_MemoryError.AdditionalErrorData" }, 
231                  Description (
232 tony  1.1           "An array of octets holding additional error information. An "
233                     "example is ECC Syndrome or the return of the check bits if "
234                     "a CRC-based ErrorMethodology is used. In the latter case, "
235                     "if a single bit error is recognized and the CRC algorithm "
236                     "is known, it is possible to determine the exact bit that "
237                     "failed. This type of data (ECC Syndrome, Check Bit or "
238                     "Parity Bit data, or other vendor supplied information) is "
239                     "included in this field. If the ErrorInfo property is equal "
240                     "to 3, \"OK\", then AdditionalErrorData has no meaning."), 
241                  OctetString, 
242                  MappingStrings { "MIF.DMTF|Memory Device|005.18",
243                     "MIF.DMTF|Physical Memory Array|001.13" }]
244              uint8 AdditionalErrorData[64];
245           };
246           
247           
248           // ===================================================================
249           // AssociatedMemory
250           // ===================================================================
251              [Association, Version ( "2.8.0" ), Description (
252                  "LogicalElements may have Memory installed on them or otherwise "
253 tony  1.1        "associated with them - such as CacheMemory. This is made "
254                  "explicit in this association.")]
255           class CIM_AssociatedMemory : CIM_Dependency {
256           
257                 [Override ( "Antecedent" ), Description (
258                     "Memory installed on or associated with a Device.")]
259              CIM_Memory REF Antecedent;
260           
261                 [Override ( "Dependent" ), Description (
262                     "The LogicalElement.")]
263              CIM_LogicalElement REF Dependent;
264           };
265           
266           
267           // ===================================================================
268           // MemoryError
269           // ===================================================================
270              [Version ( "2.8.0" ), Description (
271                  "MemoryError defines a memory space that has errors. The Key of "
272                  "the class is the StartingAddress of the bytes in error.")]
273           class CIM_MemoryError : CIM_StorageError {
274 tony  1.1 
275                 [Override ( "StartingAddress" ), Description (
276                     "Specifies the address of the memory error. The type of "
277                     "error is described by the ErrorInfo property. If the "
278                     "ErrorInfo property is equal to 3, \"OK\", then this "
279                     "property has no meaning."), 
280                  MappingStrings { "MIF.DMTF|Memory Device|005.19",
281                     "MIF.DMTF|Physical Memory Array|001.14" }]
282              uint64 StartingAddress;
283           
284                 [Description (
285                     "An integer enumeration describing the type of error that "
286                     "occurred most recently. For example, single (value=6) or "
287                     "double bit errors (7) can be specified using this property. "
288                     "The values, 12-14, are undefined in the CIM Schema since in "
289                     "DMI, they mix the semantics of the type of error and "
290                     "whether it was correctable or not. The latter is indicated "
291                     "in the property, CorrectableError."), 
292                  ValueMap { "0", "1", "2", "3", "4", "5", "6", "7", "8", "9",
293                     "10" }, 
294                  Values { "Unknown", "Other", "OK", "Bad Read", "Parity Error",
295 tony  1.1           "Single-Bit Error", "Double-Bit Error", "Multi-Bit Error",
296                     "Nibble Error", "Checksum Error", "CRC Error" }, 
297                  MappingStrings { "MIF.DMTF|Memory Device|005.12",
298                     "MIF.DMTF|Physical Memory Array|001.8" }, 
299                  ModelCorrespondence { "CIM_Memory.OtherErrorDescription" }]
300              uint16 ErrorInfo;
301           
302                 [Description (
303                     "Free form string providing more information if the Error "
304                     "Type property is set to 1, \"Other\". If not set to 1, this "
305                     "string has no meaning."), 
306                  ModelCorrespondence { "CIM_Memory.ErrorInfo" }]
307              string OtherErrorDescription;
308           
309                 [Description (
310                     "Boolean indicating that the most recent error was "
311                     "correctable. If the ErrorInfo property is equal to 3, "
312                     "\"OK\", then this property has no meaning."), 
313                  MappingStrings { "MIF.DMTF|Physical Memory Array|001.8" }]
314              boolean CorrectableError;
315           
316 tony  1.1       [Description (
317                     "The time that the last memory error occurred. The type of "
318                     "error is described by the ErrorInfo property. If the Error "
319                     "Info property is equal to 3, \"OK\", then this property has "
320                     "no meaning.")]
321              datetime ErrorTime;
322           
323                 [Description (
324                     "An integer enumeration indicating the memory access "
325                     "operation that caused the last error. The type of error "
326                     "MUST be described by the ErrorInfo property. If the "
327                     "ErrorInfo property is equal to 3, \"OK\", then this "
328                     "property has no meaning."), 
329                  ValueMap { "0", "1", "2", "3", "4" }, 
330                  Values { "Unknown", "Other", "Read", "Write", "Partial Write" }, 
331                  MappingStrings { "MIF.DMTF|Physical Memory Array|001.10" }]
332              uint16 ErrorAccess;
333           
334                 [Description (
335                     "The size of the data transfer in bits that caused the last "
336                     "error. 0 indicates no error. If the ErrorInfo property is "
337 tony  1.1           "equal to 3, \"OK\", then this property should be set to 0."), 
338                  Units ( "Bits" ), 
339                  MappingStrings { "MIF.DMTF|Physical Memory Array|001.11" }]
340              uint32 ErrorTransferSize;
341           
342                 [Description (
343                     "Data captured during the last erroneous mebmory access. The "
344                     "data occupies the first n octets of the array necessary to "
345                     "hold the number of bits specified by the ErrorTransferSize "
346                     "property. If ErrorTransferSize is 0, then this property has "
347                     "no meaning."), 
348                  OctetString, 
349                  MappingStrings { "MIF.DMTF|Physical Memory Array|001.12" },
350                  ArrayType ( "Indexed" )]
351              uint8 ErrorData[64];
352           
353                 [Description (
354                     "The ordering for data stored in the ErrorData property. "
355                     "\"Least Significant Byte First\" (value=1) or \"Most "
356                     "Significant Byte First\" (2) can be specified. If "
357                     "ErrorTransferSize is 0, then this property has no meaning."), 
358 tony  1.1        ValueMap { "0", "1", "2" }, 
359                  Values { "Unknown", "Least Significant Byte First",
360                     "Most Significant Byte First" }]
361              uint16 ErrorDataOrder;
362           
363                 [Description (
364                     "Boolean indicating whether the address information in the "
365                     "property, ErrorAddress, is a system-level address (TRUE) or "
366                     "a physical address (FALSE). If the ErrorInfo property is "
367                     "equal to 3, \"OK\", then this property has no meaning.")]
368              boolean SystemLevelAddress;
369           
370                 [Description (
371                     "Specifies the range, in bytes, to which the last error can "
372                     "be resolved. For example, if error addresses are resolved "
373                     "to bit 11 (ie, on a typical page basis), then errors can be "
374                     "resolved to 4K boundaries and this property is set to 4000. "
375                     "If the ErrorInfo property is equal to 3, \"OK\", then this "
376                     "property has no meaning."), 
377                  Units ( "Bytes" ), 
378                  MappingStrings { "MIF.DMTF|Memory Device|005.21",
379 tony  1.1           "MIF.DMTF|Physical Memory Array|001.15" }]
380              uint64 ErrorResolution;
381           
382                 [Description (
383                     "An array of octets holding additional error information. An "
384                     "example is ECC Syndrome or the return of the check bits if "
385                     "a CRC-based ErrorMethodology is used. In the latter case, "
386                     "if a single bit error is recognized and the CRC algorithm "
387                     "is known, it is possible to determine the exact bit that "
388                     "failed. This type of data (ECC Syndrome, Check Bit or "
389                     "Parity Bit data, or other vendor supplied information) is "
390                     "included in this field. If the ErrorInfo property is equal "
391                     "to 3, \"OK\", then AdditionalErrorData has no meaning."), 
392                  OctetString, 
393                  MappingStrings { "MIF.DMTF|Memory Device|005.18",
394                     "MIF.DMTF|Physical Memory Array|001.13" }]
395              uint8 AdditionalErrorData[64];
396           };
397           
398           
399           // ===================================================================
400 tony  1.1 // ComputerSystemMemory
401           // ===================================================================
402              [Association, Deprecated { "CIM_SystemDevice" }, Aggregation,
403               Composition, Version ( "2.8.0" ), Description (
404                  "The use of this association has be deprecated in lieu of "
405                  "SystemDevice. Association indicating that memory is installed "
406                  "and required for the UnitaryComputerSystem to operate. Note "
407                  "that this relationship inherits from the SystemDevice "
408                  "association, and therefore, the Memory StorageExtent is weak "
409                  "to the aggregating UnitaryComputerSystem.")]
410           class CIM_ComputerSystemMemory : CIM_SystemDevice {
411           
412                 [Deprecated { "CIM_SystemDevice.GroupComponent" }, Aggregate,
413                  Override ( "GroupComponent" ), Min ( 1 ), Max ( 1 ), 
414                  Description (
415                     "The UnitaryComputerSystem.")]
416              CIM_UnitaryComputerSystem REF GroupComponent;
417           
418                 [Deprecated { "CIM_SystemDevice.PartComponent" },
419                     Override ( "PartComponent" ), Description (
420                     "The Memory StorageExtent which is part of the "
421 tony  1.1           "UnitaryComputerSystem.")]
422              CIM_Memory REF PartComponent;
423           };
424           
425           
426           // ===================================================================
427           // AssociatedProcessorMemory
428           // ===================================================================
429              [Association, Version ( "2.6.0" ), Description (
430                  "Associates the Processor and system Memory, or a Processor's "
431                  "Cache.")]
432           class CIM_AssociatedProcessorMemory : CIM_AssociatedMemory {
433           
434                 [Override ( "Dependent" ), Description (
435                     "The Processor that accesses the Memory or uses the Cache.")]
436              CIM_Processor REF Dependent;
437           
438                 [Description (
439                     "Speed of the bus, in MHertz, between the Processor and "
440                     "Memory."), 
441                  Units ( "MegaHertz" )]
442 tony  1.1    uint32 BusSpeed;
443           };
444           
445           // ===================================================================
446           // AssociatedCacheMemory
447           // ===================================================================
448              [Association, Version ( "2.8.0" ), Description (
449                  "Indicates that the Memory provides Cache to the Dependent "
450                  "Logical Element.")]
451           class CIM_AssociatedCacheMemory : CIM_AssociatedMemory {
452           
453                 [Description (
454                     "Defines whether this is the Primary (value=3), Secondary "
455                     "(value=4) or Tertiary (value=5) Cache. Also, \"Other\" (1), "
456                     "\"Unknown\" (0) and \"Not Applicable\" (2) can be defined."), 
457                  ValueMap { "0", "1", "2", "3", "4", "5" }, 
458                  Values { "Unknown", "Other", "Not Applicable", "Primary",
459                     "Secondary", "Tertiary" }, 
460                  MappingStrings { "MIF.DMTF|System Cache|006.2" }, 
461                  ModelCorrespondence { 
462                     "CIM_AssociatedCacheMemory.OtherLevelDescription" }]
463 tony  1.1    uint16 Level;
464           
465                 [Description (
466                     "A string describing the cache level when the Level value is "
467                     "1, \"Other\"."), 
468                  ModelCorrespondence { "CIM_AssociatedCacheMemory.Level" }]
469              string OtherLevelDescription;
470           
471                 [Description (
472                     "Defines whether this is write-back (value=2) or "
473                     "write-through (value=3) Cache, or whether this information "
474                     "\"Varies with Address\" (4) or is defined individually for "
475                     "each I/O (5). Also, \"Other\" (1) and \"Unknown\" (0) can "
476                     "be specified."), 
477                  ValueMap { "0", "1", "2", "3", "4", "5" }, 
478                  Values { "Unknown", "Other", "Write Back", "Write Through",
479                     "Varies with Address", "Determination Per I/O" }, 
480                  MappingStrings { "MIF.DMTF|System Cache|006.5" }, 
481                  ModelCorrespondence { 
482                     "CIM_AssociatedCacheMemory.OtherWritePolicyDescription" }]
483              uint16 WritePolicy;
484 tony  1.1 
485                 [Description (
486                     "A string describing the Write Policy when the WritePolicy "
487                     "value is 1, \"Other\"."), 
488                  ModelCorrespondence { "CIM_AssociatedCacheMemory.WritePolicy" }]
489              string OtherWritePolicyDescription;
490           
491                 [Description (
492                     "Defines whether this is for instruction caching (value=2), "
493                     "data caching (value=3) or both (value=4, \"Unified\"). "
494                     "Also, \"Other\" (1) and \"Unknown\" (0) can be defined."), 
495                  ValueMap { "0", "1", "2", "3", "4" }, 
496                  Values { "Unknown", "Other", "Instruction", "Data", "Unified" }, 
497                  MappingStrings { "MIF.DMTF|System Cache|006.9" }, 
498                  ModelCorrespondence { 
499                     "CIM_AssociatedCacheMemory.OtherCacheTypeDescription" }]
500              uint16 CacheType;
501           
502                 [Description (
503                     "A string describing the Cache Type when the CacheType value "
504                     "is 1, \"Other\"."), 
505 tony  1.1        ModelCorrespondence { "CIM_AssociatedCacheMemory.CacheType" }]
506              string OtherCacheTypeDescription;
507           
508                 [Description (
509                     "Size, in bytes, of a single cache bucket or line."), 
510                  Units ( "Bytes" ), 
511                  MappingStrings { "MIF.DMTF|System Cache|006.10" }]
512              uint32 LineSize;
513           
514                 [Description (
515                     "An integer enumeration describing the algorithm to "
516                     "determine which cache lines or buckets should be re-used."), 
517                  ValueMap { "0", "1", "2", "3", "4", "5", "6", "7", "8" }, 
518                  Values { "Unknown", "Other", "Unknown",
519                     "Least Recently Used (LRU)", "First In First Out (FIFO)",
520                     "Last In First Out (LIFO)", "Least Frequently Used (LFU)",
521                     "Most Frequently Used (MFU)",
522                     "Data Dependent Multiple Algorithms" }, 
523                  MappingStrings { "MIF.DMTF|System Cache|006.12" }, 
524                  ModelCorrespondence { 
525                     "CIM_AssociatedCacheMemory.OtherReplacementPolicyDescription" 
526 tony  1.1           }]
527              uint16 ReplacementPolicy;
528           
529                 [Description (
530                     "A string describing the Cache replacement policy when the "
531                     "ReplacementPolicy value is 1, \"Other\"."), 
532                  ModelCorrespondence { 
533                     "CIM_AssociatedCacheMemory.ReplacementPolicy" }]
534              string OtherReplacementPolicyDescription;
535           
536                 [Description (
537                     "Policy that shall be employed by the Cache for handling "
538                     "read requests. For example, \"Read\", \"Read-Ahead\" or "
539                     "both can be specified using the values, 2, 3 or 4, "
540                     "respectively. If the read policy is determined individually "
541                     "(ie, for each request), then the value 5 (\"Determination "
542                     "per I/O\") should be specified. \"Other\" (1) and "
543                     "\"Unknown\" (0) are also valid values."), 
544                  ValueMap { "0", "1", "2", "3", "4", "5" }, 
545                  Values { "Unknown", "Other", "Read", "Read-Ahead",
546                     "Read and Read-Ahead", "Determination Per I/O" }, 
547 tony  1.1        MappingStrings { "MIF.DMTF|System Cache|006.13" }, 
548                  ModelCorrespondence { 
549                     "CIM_AssociatedCacheMemory.OtherReadPolicyDescription" }]
550              uint16 ReadPolicy;
551           
552                 [Description (
553                     "A string describing the read policy when the ReadPolicy "
554                     "value is 1, \"Other\"."), 
555                  ModelCorrespondence { "CIM_AssociatedCacheMemory.ReadPolicy" }]
556              string OtherReadPolicyDescription;
557           
558                 [Description (
559                     "Maximum amount of time, in seconds, dirty lines or buckets "
560                     "may remain in the Cache before they are flushed. A value of "
561                     "zero indicated that a cache flush is not controlled by a "
562                     "flushing timer."), 
563                  Units ( "Seconds" ), 
564                  MappingStrings { "MIF.DMTF|System Cache|006.14" }]
565              uint32 FlushTimer;
566           
567                 [Description (
568 tony  1.1           "An integer enumeration defining the system cache "
569                     "associativity. For example, 5 indicates a fully associative "
570                     "cache."), 
571                  ValueMap { "0", "1", "2", "3", "4", "5", "6", "7" }, 
572                  Values { "Unknown", "Other", "Direct Mapped",
573                     "2-way Set-Associative", "4-way Set-Associative",
574                     "Fully Associative", "8-way Set-Associative",
575                     "16-way Set-Associative" }, 
576                  MappingStrings { "MIF.DMTF|System Cache|006.15" }, 
577                  ModelCorrespondence { 
578                     "CIM_AssociatedCacheMemory.OtherAssociativityDescription" }]
579              uint16 Associativity;
580           
581                 [Description (
582                     "A string describing the cache associativity when the "
583                     "Associativity value is 1, \"Other\"."), 
584                  ModelCorrespondence { "CIM_AssociatedCacheMemory.Associativity" 
585                     }]
586              string OtherAssociativityDescription;
587           };
588           
589 tony  1.1 
590           // ===================================================================
591           // NonVolatileStorage
592           // ===================================================================
593              [Deprecated { "CIM_Memory" }, Version ( "2.8.0" ), Description (
594                  "This class has been deprecated in favor of CIM_Memory with the "
595                  "volatile parameter set to false. Capabilities and management "
596                  "of NV Storage. Non-volatile memory natively includes flash and "
597                  "ROM storage. In addition, NV memory can be BasedOn "
598                  "VolatileStorage, if the volatile memory is backed by a "
599                  "Battery. This scenario would be completely described by an "
600                  "instance of the AssociatedBattery relationship, referencing "
601                  "the NonVolatileStorage as the Dependent and the Battery as the "
602                  "Antecedent, and an instance of the BasedOn relationship, "
603                  "referencing the NonVolatileStorage as the Dependent and the "
604                  "VolatileStorage as the Antecedent.")]
605           class CIM_NonVolatileStorage : CIM_Memory {
606           
607                 [Deprecated { "CIM_Memory.Access" }, Description (
608                     "Indicating that the NV storage is writeable.")]
609              boolean IsWriteable;
610 tony  1.1 
611                 [Deprecated { "no value" }, Description (
612                     "Boolean indicating that at least some portion of the "
613                     "NonVolatileStorage is writeable by applications.")]
614              boolean ApplicationWriteable;
615           
616                 [Deprecated { "no value" }, Description (
617                     "When at least some portion of the NonVolatileStorage is "
618                     "writeable (ApplicationWriteable property = TRUE), "
619                     "StartAddress forApplcationWrite indicates the starting "
620                     "address for application data. If the ApplicationWriteable "
621                     "property is FALSE, this property is undefined."), 
622                  ModelCorrespondence { 
623                     "CIM_NonVolatileStorage.ApplicationWriteable" }]
624              uint64 StartAddressForApplicationWrite;
625           
626                 [Deprecated { "no value" }, Description (
627                     "When at least some portion of the NonVolatileStorage is "
628                     "writeable (ApplicationWriteable property = TRUE), "
629                     "Application WritableSize indicates the number of bits "
630                     "available for application data. If the ApplicationWriteable "
631 tony  1.1           "property is FALSE, this property is undefined."), 
632                  Units ( "Bits" ), 
633                  ModelCorrespondence { 
634                     "CIM_NonVolatileStorage.ApplicationWriteable" }]
635              uint64 ApplicationWriteableSize;
636           };
637           
638           // ===================================================================
639           // BIOSLoadedInNV
640           // ===================================================================
641              [Association, Version ( "2.8.0" ), Description (
642                  "A link between BIOSElement and Memory where the BIOS is "
643                  "loaded.")]
644           class CIM_BIOSLoadedInNV : CIM_Dependency {
645           
646                 [Override ( "Antecedent" ), Description (
647                     "The memory storage.")]
648              CIM_Memory REF Antecedent;
649           
650                 [Override ( "Dependent" ), Description (
651                     "The BIOS stored in the memory.")]
652 tony  1.1    CIM_BIOSElement REF Dependent;
653           
654                 [Description (
655                     "The starting address where the BIOS is located in "
656                     "non-volatile storage.")]
657              uint64 StartingAddress;
658           
659                 [Description (
660                     "The ending address where the BIOS is located in "
661                     "non-volatile storage.")]
662              uint64 EndingAddress;
663           };
664           
665           
666           
667           // ===================================================================
668           // VolatileStorage
669           // ===================================================================
670              [Deprecated { "CIM_Memory" }, Version ( "2.8.0" ), Description (
671                  "Capabilities and management of Volatile Storage.")]
672           class CIM_VolatileStorage : CIM_Memory {
673 tony  1.1 
674                 [Deprecated { "CIM_AssociatedCacheMemory" }, Description (
675                     "Indicates whether this Memory can be cached or not."), 
676                  MappingStrings { "MIF.DMTF|System Resource Memory Info|002.5" }]
677              boolean Cacheable;
678           
679                 [Deprecated { "CIM_AssociatedCacheMemory.WritePolicy" }, 
680                  Description (
681                     "An enumeration indicating the cache type that is compatible "
682                     "with this Memory. For example, 4 indicates write-through "
683                     "cache. If the Cacheable property is set to false, then this "
684                     "property does not have meaning and should be set to 5, "
685                     "\"Not Applicable\"."), 
686                  ValueMap { "1", "2", "3", "4", "5" }, 
687                  Values { "Other", "Unknown", "Write-Back", "Write-Through",
688                     "Not Applicable" }, 
689                  MappingStrings { "MIF.DMTF|System Resource Memory Info|002.6" }]
690              uint16 CacheType;
691           };
692           
693           
694 tony  1.1 // ===================================================================
695           // CacheMemory
696           // ===================================================================
697              [Deprecated { "CIM_AssociatedCacheMemory" }, Version ( "2.8.0" ), 
698               Description (
699                  "Capabilities and management of Cache Memory. Cache memory is "
700                  "dedicated or allocated RAM that a Processor searches first for "
701                  "data, before going to 'regular' memory. CacheMemory is used to "
702                  "speed up the delivery of data to a Processor. It is usually "
703                  "described by its closeness to the Processor (for example, "
704                  "Primary or Secondary Cache). \n"
705                  "If a DiskDrive includes RAM allocated for holding the disk's "
706                  "most recently read and/or adjacent data (in order to speed up "
707                  "retrieval), this also would be modeled as CacheMemory. Note "
708                  "that CacheMemory is NOT operating system or application level "
709                  "buffers but actual RAM allocated for caching data for a "
710                  "Processor, from a hard disk, etc.")]
711           class CIM_CacheMemory : CIM_Memory {
712           
713                 [Deprecated { "CIM_AssociatedCacheMemory.Level" }, Description (
714                     "Defines whether this is the Primary (value=3), Secondary "
715 tony  1.1           "(value=4) or Tertiary (value=5) Cache. Also, \"Other\" (1), "
716                     "\"Unknown\" (2) and \"Not Applicable\" (6) can be defined."), 
717                  ValueMap { "1", "2", "3", "4", "5", "6" }, 
718                  Values { "Other", "Unknown", "Primary", "Secondary", "Tertiary",
719                     "Not Applicable" }, 
720                  MappingStrings { "MIF.DMTF|System Cache|006.2" }]
721              uint16 Level;
722           
723                 [Deprecated { "CIM_AssociatedCacheMemory.WritePolicy" }, 
724                  Description (
725                     "Defines whether this is write-back (value=3) or "
726                     "write-through (value=4) Cache, or whether this information "
727                     "\"Varies with Address\" (5) or is defined individually for "
728                     "each I/O (6). Also, \"Other\" (1) and \"Unknown\" (2) can "
729                     "be specified."), 
730                  ValueMap { "1", "2", "3", "4", "5", "6" }, 
731                  Values { "Other", "Unknown", "Write Back", "Write Through",
732                     "Varies with Address", "Determination Per I/O" }, 
733                  MappingStrings { "MIF.DMTF|System Cache|006.5" }]
734              uint16 WritePolicy;
735           
736 tony  1.1       [Deprecated { "CIM_AssociatedCacheMemory.CacheType" }, 
737                  Description (
738                     "Defines whether this is for instruction caching (value=3), "
739                     "data caching (value=4) or both (value=5, \"Unified\"). "
740                     "Also, \"Other\" (1) and \"Unknown\" (2) can be defined."), 
741                  ValueMap { "1", "2", "3", "4", "5" }, 
742                  Values { "Other", "Unknown", "Instruction", "Data", "Unified" }, 
743                  MappingStrings { "MIF.DMTF|System Cache|006.9" }]
744              uint16 CacheType;
745           
746                 [Deprecated { "CIM_AssociatedCacheMemory.LineSize" }, 
747                  Description (
748                     "Size, in bytes, of a single cache bucket or line."), 
749                  Units ( "Bytes" ), 
750                  MappingStrings { "MIF.DMTF|System Cache|006.10" }]
751              uint32 LineSize;
752           
753                 [Deprecated { "CIM_AssociatedCacheMemory.ReplacementPolicy" }, 
754                  Description (
755                     "An integer enumeration describing the algorithm to "
756                     "determine which cache lines or buckets should be re-used."), 
757 tony  1.1        ValueMap { "1", "2", "3", "4", "5", "6", "7", "8" }, 
758                  Values { "Other", "Unknown", "Least Recently Used (LRU)",
759                     "First In First Out (FIFO)", "Last In First Out (LIFO)",
760                     "Least Frequently Used (LFU)", "Most Frequently Used (MFU)",
761                     "Data Dependent Multiple Algorithms" }, 
762                  MappingStrings { "MIF.DMTF|System Cache|006.12" }]
763              uint16 ReplacementPolicy;
764           
765                 [Deprecated { "CIM_AssociatedCacheMemory.ReadPolicy" }, 
766                  Description (
767                     "Policy that shall be employed by the Cache for handling "
768                     "read requests. For example, \"Read\", \"Read-Ahead\" or "
769                     "both can be specified using the values, 3, 4 or 5, "
770                     "respectively. If the read policy is determined individually "
771                     "(ie, for each request), then the value 6 (\"Determination "
772                     "per I/O\") should be specified. \"Other\" (1) and "
773                     "\"Unknown\" (2) are also valid values."), 
774                  ValueMap { "1", "2", "3", "4", "5", "6" }, 
775                  Values { "Other", "Unknown", "Read", "Read-Ahead",
776                     "Read and Read-Ahead", "Determination Per I/O" }, 
777                  MappingStrings { "MIF.DMTF|System Cache|006.13" }]
778 tony  1.1    uint16 ReadPolicy;
779           
780                 [Deprecated { "CIM_AssociatedCacheMemory.FlushTimer" }, 
781                  Description (
782                     "Maximum amount of time, in seconds, dirty lines or buckets "
783                     "may remain in the Cache before they are flushed. A value of "
784                     "zero indicated that a cache flush is not controlled by a "
785                     "flushing timer."), 
786                  Units ( "Seconds" ), 
787                  MappingStrings { "MIF.DMTF|System Cache|006.14" }]
788              uint32 FlushTimer;
789           
790                 [Deprecated { "CIM_AssociatedCacheMemory.Associativity" }, 
791                  Description (
792                     "An integer enumeration defining the system cache "
793                     "associativity. For example, 6 indicates a fully associative "
794                     "cache."), 
795                  ValueMap { "1", "2", "3", "4", "5", "6", "7", "8" }, 
796                  Values { "Other", "Unknown", "Direct Mapped",
797                     "2-way Set-Associative", "4-way Set-Associative",
798                     "Fully Associative", "8-way Set-Associative",
799 tony  1.1           "16-way Set-Associative" }, 
800                  MappingStrings { "MIF.DMTF|System Cache|006.15" }]
801              uint16 Associativity;
802           };
803           
804           // ===================================================================
805           // end of file
806           // ===================================================================

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2