1 karl 1.1 // ===================================================================
2 // Title: Physical Components
3 // $State: Preliminary $
4 // $Date: 2004/07/02 22:50:19 $
5 // $Source: /home/dmtf2/dotorg/var/cvs/repositories/dev/Schema/MOF/Physical_Component.mof,v $
6 // $Revision: 1.6 $
7 // ===================================================================
8 //#pragma inLine ("Includes/copyright.inc")
9 // Copyright 1998-2004 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 karl 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 karl 1.1 // http://www.dmtf.org/about/policies/disclosures.php.
44 //#pragma inLine
45 // ===================================================================
46 // Description: The Physical Model defines modeling concepts related
47 // to actual boxes and packaging. This file defines
48 // the concepts related to components and chips.
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.9 Preliminary Company Review
55 // CR1452 - Clarifications and addition to PhysicalMemory.MemoryType
56 //
57 // Change Log for v2.9 Preliminary
58 // CR1263 - Add DDR-2 to PhysicalMemory.MemoryType
59 //
60 // Change Log for v2.8 Preliminary
61 // CR1005 - Deprecate several boolean properties in the physical model
62
63 // Change Log for v2.8 Preliminary
64 karl 1.1 // CR1005 - Deprecate several boolean properties in the physical model
65 // that overlap. Create a new property to express their
66 // meaning.
67 // CR1019 - CIM Versioning for 2.8 Preliminary
68 //
69 // Change Log for v2.7
70 // CR623 - Fix the DMI mapping string to include the attribute number
71 // PhysicalMemory.FormFactor, .MemoryType, .TotalWidth,
72 // .DataWidth, .Speed, .Capacity, .BankLabel.
73 // ==================================================================
74
75 #pragma locale ("en_US")
76
77
78 // ==================================================================
79 // PhysicalComponent
80 // ==================================================================
81 [Version ( "2.8.0" ), Description (
82 "The PhysicalComponent class represents any low-level or basic "
83 "Component within a Package. A Component object either can not "
84 "or does not need to be decomposed into its constituent parts. "
85 karl 1.1 "For example, an ASIC (or Chip) can not be further decomposed. "
86 "A tape for data storage (PhysicalMedia) does not need to be "
87 "decomposed. Any PhysicalElement that is not a Link, Connector, "
88 "or Package is a descendent (or member) of this class. For "
89 "example, the UART chipset on an internal modem Card would be a "
90 "subclass (if additional properties or associations are "
91 "defined) or an instance of PhysicalComponent.")]
92 class CIM_PhysicalComponent : CIM_PhysicalElement {
93
94 [Description (
95 "The RemovalCapabilites property is used to describe the "
96 "conditions under which a PhysicalPackage can be removed. "
97 "Since all PhysicalPackages are not removable, this property "
98 "defaults to 2, 'Not Applicable'."),
99 ValueMap { "0", "2", "3", "4" },
100 Values { "Unknown", "Not Applicable", "Removable when off",
101 "Removable when on or off" }]
102 uint16 RemovalConditions = 2;
103
104 [Deprecated { "CIM_PhysicalComponent.RemovalConditions" },
105 Description (
106 karl 1.1 "The use of this property is being deprecated. Instead "
107 "RemovalConditions should be used. The RemovalConditions "
108 "property addresses whether a PhysicalComponent is removable "
109 "with or without power being applied. \n"
110 "\n"
111 "A PhysicalComponent is Removable if it is designed to be "
112 "taken in and out of the physical container in which it is "
113 "normally found, without impairing the function of the "
114 "overall packaging. A Component can still be Removable if "
115 "power must be 'off' in order to perform the removal. If "
116 "power can be 'on' and the Component removed, then the "
117 "Element is both Removable and HotSwappable. For example, an "
118 "upgradeable Processor chip is Removable.")]
119 boolean Removable;
120
121 [Deprecated { "No Value" }, Description (
122 "The use of this property is being deprecated because it is "
123 "redundant with the FRU class and its associations. A "
124 "PhysicalComponent is Replaceable if it is possible to "
125 "replace (FRU or upgrade) the Element with a physically "
126 "different one. For example, some ComputerSystems allow the "
127 karl 1.1 "main Processor chip to be upgraded to one of a higher clock "
128 "rating. In this case, the Processor is said to be "
129 "Replaceable. All Removable Components are inherently "
130 "Replaceable.")]
131 boolean Replaceable;
132
133 [Deprecated { "CIM_PhysicalComponent.RemovalConditions" },
134 Description (
135 "The use of this property is being deprecated. Instead "
136 "RemovalConditions should be used. The RemovalConditions "
137 "property addresses whether a PhysicalComponent is removable "
138 "with or without power being applied. \n"
139 "\n"
140 "A PhysicalComponent is HotSwappable if it is possible to "
141 "replace the Element with a physically different but "
142 "equivalent one while the containing Package has power "
143 "applied to it (ie, is 'on'). For example, a fan Component "
144 "may be designed to be HotSwappable. All HotSwappable "
145 "Components are inherently Removable and Replaceable.")]
146 boolean HotSwappable;
147 };
148 karl 1.1
149
150 // ==================================================================
151 // PackagedComponent
152 // ==================================================================
153 [Association, Aggregation, Version ( "2.6.0" ), Description (
154 "A Component is typically contained by a PhysicalPackage, such "
155 "as a Chassis or Card. The PackagedComponent association makes "
156 "this relationship explicit. In the first sentence, the word, "
157 "'typically', is used. This is because a Component may be "
158 "removed from, or not yet inserted into, its containing Package "
159 "(ie, the Removable boolean is TRUE). Therefore, a Component "
160 "may not always be associated with a container.")]
161 class CIM_PackagedComponent : CIM_Container {
162
163 [Aggregate, Override ( "GroupComponent" ), Max ( 1 ),
164 Description (
165 "The PhysicalPackage that contains Component(s).")]
166 CIM_PhysicalPackage REF GroupComponent;
167
168 [Override ( "PartComponent" ), Description (
169 karl 1.1 "The PhysicalComponent which is contained in the Package.")]
170 CIM_PhysicalComponent REF PartComponent;
171 };
172
173
174 // ==================================================================
175 // Chip
176 // ==================================================================
177 [Version ( "2.6.0" ), Description (
178 "The Chip class represents any type of integrated circuit "
179 "hardware, including ASICs, processors, memory chips, etc.")]
180 class CIM_Chip : CIM_PhysicalComponent {
181
182 [Description (
183 "The implementation form factor for the Chip. For example, "
184 "values such as SIMM (7), TSOP (9) or PGA (10) can be "
185 "specified."),
186 ValueMap { "0", "1", "2", "3", "4", "5", "6", "7", "8", "9",
187 "10", "11", "12", "13", "14", "15", "16", "17", "18", "19",
188 "20", "21", "22", "23" },
189 Values { "Unknown", "Other", "SIP", "DIP", "ZIP", "SOJ",
190 karl 1.1 "Proprietary", "SIMM", "DIMM", "TSOP",
191 // 10
192 "PGA", "RIMM", "SODIMM", "SRIMM", "SMD", "SSMP", "QFP",
193 "TQFP", "SOIC", "LCC",
194 // 20
195 "PLCC", "BGA", "FPBGA", "LGA" }]
196 uint16 FormFactor;
197 };
198
199
200 // ==================================================================
201 // PhysicalMemory
202 // ==================================================================
203 [Version ( "2.8.1000" ), Description (
204 "PhysicalMemory is a subclass of CIM_Chip, representing low "
205 "level memory devices - SIMMS, DIMMs, raw memory chips, etc.")]
206 class CIM_PhysicalMemory : CIM_Chip {
207
208 [Override ( "FormFactor" ),
209 MappingStrings { "MIF.DMTF|Memory Device|005.6" }]
210 uint16 FormFactor;
211 karl 1.1
212 [Description (
213 "The type of PhysicalMemory."),
214 //#pragma inLine ("Includes\MemoryType.inc")
215 ValueMap { "0", "1", "2", "3", "4", "5", "6", "7", "8", "9",
216 "10", "11", "12", "13", "14", "15", "16", "17", "18", "19",
217 "20", "21", "22", "23..32567", "32568..65535" },
218 Values { "Unknown", "Other", "DRAM", "Synchronous DRAM",
219 "Cache DRAM", "EDO", "EDRAM", "VRAM", "SRAM", "RAM",
220 //10
221 "ROM", "Flash", "EEPROM", "FEPROM", "EPROM", "CDRAM",
222 "3DRAM", "SDRAM", "SGRAM", "RDRAM",
223 // 20
224 "DDR", "DDR-2", "BRAM", "DMTF Reserved", "Vendor Reserved" },
225 //#pragma inLine
226 MappingStrings { "MIF.DMTF|Memory Device|005.9" }]
227 uint16 MemoryType;
228
229 [Description (
230 "Total width, in bits, of the PhysicalMemory, including "
231 "check or error correction bits. If there are no error "
232 karl 1.1 "correction bits, the value in this property should match "
233 "that specified for DataWidth."),
234 Units ( "Bits" ),
235 MappingStrings { "MIF.DMTF|Memory Device|005.7" }]
236 uint16 TotalWidth;
237
238 [Description (
239 "Data width of the PhysicalMemory, in bits. A data width of "
240 "0 and a TotalWidth of 8 would indicate that the Memory is "
241 "solely used to provide error correction bits."),
242 Units ( "Bits" ),
243 MappingStrings { "MIF.DMTF|Memory Device|005.8" }]
244 uint16 DataWidth;
245
246 [Description (
247 "The speed of the PhysicalMemory, in nanoseconds."),
248 Units ( "NanoSeconds" ),
249 MappingStrings { "MIF.DMTF|Memory Device|005.24" }]
250 uint32 Speed;
251
252 [Description (
253 karl 1.1 "The total capacity of this PhysicalMemory, in bytes."),
254 Units ( "Bytes" ),
255 MappingStrings { "MIF.DMTF|Memory Device|005.5" }]
256 uint64 Capacity;
257
258 [Description (
259 "A string identifying the physically labeled bank where the "
260 "Memory is located - for example, 'Bank 0' or 'Bank A'."),
261 MaxLen ( 64 ),
262 MappingStrings { "MIF.DMTF|Memory Device|005.4" }]
263 string BankLabel;
264
265 [Description (
266 "Specifies the position of the PhysicalMemory in a 'row'. "
267 "For example, if it takes two 8-bit memory devices to form a "
268 "16- bit row, then a value of '2'means that this Memory is "
269 "the second device. 0 is an invalid value for this property."),
270 MappingStrings { "MIF.DMTF|Memory Device Mapped Addresses|001.6"
271 }]
272 uint32 PositionInRow;
273
274 karl 1.1 [Description (
275 "The position of this PhysicalMemory in an interleave. 0 "
276 "indicates non-interleaved. 1 indicates the first position, "
277 "2 the second position and so on. For example, in a 2:1 "
278 "interleave, a value of '1' would indicate that the Memory "
279 "is in the 'even' position."),
280 MappingStrings { "MIF.DMTF|Memory Device Mapped Addresses|001.7"
281 }]
282 uint32 InterleavePosition;
283 };
284
285
286 // ==================================================================
287 // MemoryOnCard
288 // ==================================================================
289 [Association, Aggregation, Version ( "2.6.0" ), Description (
290 "PhysicalMemory can be located on HostingBoards, adapter Cards, "
291 "etc. This association explicitly defines this relationship of "
292 "Memory to Cards.")]
293 class CIM_MemoryOnCard : CIM_PackagedComponent {
294
295 karl 1.1 [Aggregate, Override ( "GroupComponent" ), Max ( 1 ),
296 Description (
297 "The Card that includes or 'contains' Memory.")]
298 CIM_Card REF GroupComponent;
299
300 [Override ( "PartComponent" ), Description (
301 "The PhysicalMemory which is located on the Card.")]
302 CIM_PhysicalMemory REF PartComponent;
303 };
304
305
306 // ===================================================================
307 // end of file
308 // ===================================================================
|