1 karl 1.1 // ===================================================================
2 // Title: Physical Components 2.7
3 // Filename: Physical27_Component.mof
4 // Version: 2.7.0
5 // Release: Preliminary
6 // Date: 07/01/02
7 // ===================================================================
8 // Copyright 2002 Distributed Management Task Force, Inc. (DMTF).
9 // All rights reserved.
10 // DMTF is a not-for-profit association of industry members dedicated
11 // to promoting enterprise and systems management and interoperability.
12 // DMTF specifications and documents may be reproduced for uses
13 // consistent with this purpose by members and non-members,
14 // provided that correct attribution is given.
15 // As DMTF specifications may be revised from time to time,
16 // the particular version and release date should always be noted.
17 //
18 // Implementation of certain elements of this standard or proposed
19 // standard may be subject to third party patent rights, including
20 // provisional patent rights (herein "patent rights"). DMTF makes
21 // no representations to users of the standard as to the existence
22 karl 1.1 // of such rights, and is not responsible to recognize, disclose, or
23 // identify any or all such third party patent right, owners or
24 // claimants, nor for any incomplete or inaccurate identification or
25 // disclosure of such rights, owners or claimants. DMTF shall have no
26 // liability to any party, in any manner or circumstance, under any
27 // legal theory whatsoever, for failure to recognize, disclose, or
28 // identify any such third party patent rights, or for such party's
29 // reliance on the standard or incorporation thereof in its product,
30 // protocols or testing procedures. DMTF shall have no liability to
31 // any party implementing such standard, whether such implementation
32 // is foreseeable or not, nor to any patent owner or claimant, and shall
33 // have no liability or responsibility for costs or losses incurred if
34 // a standard is withdrawn or modified after publication, and shall be
35 // indemnified and held harmless by any party implementing the
36 // standard from any and all claims of infringement by a patent owner
37 // for such implementations.
38 //
39 // For information about patents held by third-parties which have
40 // notified the DMTF that, in their opinion, such patent may relate to
41 // or impact implementations of DMTF standards, visit
42 // http://www.dmtf.org/about/policies/disclosures.php.
43 karl 1.1 // ===================================================================
44 // Description: The Physical Model defines modeling concepts related
45 // to actual boxes and packaging. This file defines
46 // the concepts related to components and chips.
47 //
48 // The object classes below are listed in an order that
49 // avoids forward references. Required objects, defined
50 // by other working groups, are omitted.
51 // ==================================================================
52 // Change Log for v2.7
53 // CR623 - Fix the DMI mapping string to include the attribute number
54 // PhysicalMemory.FormFactor, .MemoryType, .TotalWidth,
55 // .DataWidth, .Speed, .Capacity, .BankLabel.
56 // ==================================================================
57
58 #pragma locale ("en_US")
59
60
61 // ==================================================================
62 // PhysicalComponent
63 // ==================================================================
64 karl 1.1 [Version ("2.6.0"), Description (
65 "The PhysicalComponent class represents any low-level or "
66 "basic Component within a Package. A Component object either "
67 "can not or does not need to be decomposed into its "
68 "constituent parts. For example, an ASIC (or Chip) can not be "
69 "further decomposed. A tape for data storage (PhysicalMedia) "
70 "does not need to be decomposed. Any PhysicalElement that is "
71 "not a Link, Connector, or Package is a descendent (or "
72 "member) of this class. For example, the UART chipset on an "
73 "internal modem Card would be a subclass (if additional "
74 "properties or associations are defined) or an instance of "
75 "PhysicalComponent.") ]
76 class CIM_PhysicalComponent : CIM_PhysicalElement {
77
78 [Description (
79 "A PhysicalComponent is Removable if it is designed to be "
80 "taken in and out of the physical container in which it is "
81 "normally found, without impairing the function of the "
82 "overall packaging. A Component can still be Removable if "
83 "power must be 'off' in order to perform the removal. If "
84 "power can be 'on' and the Component removed, then the Element "
85 karl 1.1 "is both Removable and HotSwappable. For example, an "
86 "upgradeable Processor chip is Removable.") ]
87 boolean Removable;
88
89 [Description (
90 "A PhysicalComponent is Replaceable if it is possible to "
91 "replace (FRU or upgrade) the Element with a physically "
92 "different one. For example, some ComputerSystems "
93 "allow the main Processor chip to be upgraded to one of a "
94 "higher clock rating. In this case, the Processor is said "
95 "to be Replaceable. All Removable Components are "
96 "inherently Replaceable.") ]
97 boolean Replaceable;
98
99 [Description (
100 "A PhysicalComponent is HotSwappable if it is possible to "
101 "replace the Element with a physically different "
102 "but equivalent one while the containing Package has power "
103 "applied to it (ie, is 'on'). For example, a fan Component "
104 "may be designed to be HotSwappable. All HotSwappable "
105 "Components are inherently Removable and Replaceable.") ]
106 karl 1.1 boolean HotSwappable;
107 };
108
109
110 // ==================================================================
111 // PackagedComponent
112 // ==================================================================
113 [Association, Aggregation, Version ("2.6.0"), Description (
114 "A Component is typically contained by a PhysicalPackage, such "
115 "as a Chassis or Card. The PackagedComponent association makes "
116 "this relationship explicit. In the first sentence, the word, "
117 "'typically', is used. This is because a Component may be "
118 "removed from, or not yet inserted into, its containing "
119 "Package (ie, the Removable boolean is TRUE). Therefore, a "
120 "Component may not always be associated with a container.") ]
121 class CIM_PackagedComponent : CIM_Container {
122
123 [Override ("GroupComponent"), Aggregate, Max (1), Description (
124 "The PhysicalPackage that contains Component(s).") ]
125 CIM_PhysicalPackage REF GroupComponent;
126
127 karl 1.1 [Override ("PartComponent"), Description (
128 "The PhysicalComponent which is contained in the Package.") ]
129 CIM_PhysicalComponent REF PartComponent;
130 };
131
132
133 // ==================================================================
134 // Chip
135 // ==================================================================
136 [Version ("2.6.0"), Description (
137 "The Chip class represents any type of integrated circuit "
138 "hardware, including ASICs, processors, memory chips, etc.") ]
139 class CIM_Chip : CIM_PhysicalComponent {
140
141 [Description (
142 "The implementation form factor for the Chip. For example, "
143 "values such as SIMM (7), TSOP (9) or PGA (10) can be "
144 "specified."),
145 ValueMap {"0", "1", "2", "3", "4", "5", "6", "7", "8", "9",
146 "10", "11", "12", "13", "14", "15", "16", "17", "18", "19",
147 "20", "21", "22", "23"},
148 karl 1.1 Values {"Unknown", "Other", "SIP", "DIP", "ZIP", "SOJ",
149 "Proprietary", "SIMM", "DIMM", "TSOP",
150 // 10
151 "PGA", "RIMM", "SODIMM", "SRIMM", "SMD", "SSMP", "QFP",
152 "TQFP", "SOIC", "LCC",
153 // 20
154 "PLCC", "BGA", "FPBGA", "LGA"} ]
155 uint16 FormFactor;
156 };
157
158
159 // ==================================================================
160 // PhysicalMemory
161 // ==================================================================
162 [Version ("2.7.0"), Description (
163 "PhysicalMemory is a subclass of CIM_Chip, representing "
164 "low level memory devices - SIMMS, DIMMs, raw memory chips, "
165 "etc.") ]
166 class CIM_PhysicalMemory : CIM_Chip {
167
168 [Override ("FormFactor"),
169 karl 1.1 MappingStrings {"MIF.DMTF|Memory Device|005.6"} ]
170 uint16 FormFactor;
171
172 [Description ("The type of PhysicalMemory."),
173 ValueMap {"0", "1", "2", "3", "4", "5", "6", "7", "8", "9",
174 "10", "11", "12", "13", "14", "15", "16", "17", "18", "19",
175 "20"},
176 Values {"Unknown", "Other", "DRAM", "Synchronous DRAM",
177 "Cache DRAM", "EDO", "EDRAM", "VRAM", "SRAM", "RAM",
178 //10
179 "ROM", "Flash", "EEPROM", "FEPROM", "EPROM", "CDRAM",
180 "3DRAM", "SDRAM", "SGRAM", "RDRAM",
181 // 20
182 "DDR"},
183 MappingStrings {"MIF.DMTF|Memory Device|005.9"} ]
184 uint16 MemoryType;
185
186 [Description (
187 "Total width, in bits, of the PhysicalMemory, including check "
188 "or error correction bits. If there are no error correction "
189 "bits, the value in this property should match that specified "
190 karl 1.1 "for DataWidth."),
191 Units ("Bits"),
192 MappingStrings {"MIF.DMTF|Memory Device|005.7"} ]
193 uint16 TotalWidth;
194
195 [Description (
196 "Data width of the PhysicalMemory, in bits. A data width of 0 "
197 "and a TotalWidth of 8 would indicate that the Memory is "
198 "solely used to provide error correction bits."),
199 Units ("Bits"),
200 MappingStrings {"MIF.DMTF|Memory Device|005.8"} ]
201 uint16 DataWidth;
202
203 [Description ("The speed of the PhysicalMemory, in nanoseconds."),
204 Units ("NanoSeconds"),
205 MappingStrings {"MIF.DMTF|Memory Device|005.24"} ]
206 uint32 Speed;
207
208 [Description (
209 "The total capacity of this PhysicalMemory, in bytes."),
210 Units ("Bytes"),
211 karl 1.1 MappingStrings {"MIF.DMTF|Memory Device|005.5"} ]
212 uint64 Capacity;
213
214 [Description (
215 "A string identifying the physically labeled bank where the "
216 "Memory is located - for example, 'Bank 0' or 'Bank A'."),
217 MaxLen (64),
218 MappingStrings {"MIF.DMTF|Memory Device|005.4"} ]
219 string BankLabel;
220
221 [Description (
222 "Specifies the position of the PhysicalMemory in a 'row'. For "
223 "example, if it takes two 8-bit memory devices to form a 16-"
224 "bit row, then a value of '2'means that this Memory is the "
225 "second device. 0 is an invalid value for this property."),
226 MappingStrings {
227 "MIF.DMTF|Memory Device Mapped Addresses|001.6"} ]
228 uint32 PositionInRow;
229
230 [Description (
231 "The position of this PhysicalMemory in an interleave. 0 "
232 karl 1.1 "indicates non-interleaved. 1 indicates the first position, 2 "
233 "the second position and so on. For example, in a 2:1 "
234 "interleave, a value of '1' would indicate that the Memory "
235 "is in the 'even' position."),
236 MappingStrings {
237 "MIF.DMTF|Memory Device Mapped Addresses|001.7"} ]
238 uint32 InterleavePosition;
239 };
240
241
242 // ==================================================================
243 // MemoryOnCard
244 // ==================================================================
245 [Association, Aggregation, Version ("2.6.0"), Description (
246 "PhysicalMemory can be located on HostingBoards, adapter Cards, "
247 "etc. This association explicitly defines this relationship of "
248 "Memory to Cards.") ]
249 class CIM_MemoryOnCard : CIM_PackagedComponent {
250
251 [Override ("GroupComponent"), Aggregate, Max (1), Description (
252 "The Card that includes or 'contains' Memory.") ]
253 karl 1.1 CIM_Card REF GroupComponent;
254
255 [Override ("PartComponent"), Description (
256 "The PhysicalMemory which is located on the Card.") ]
257 CIM_PhysicalMemory REF PartComponent;
258 };
259
260
261 // ===================================================================
262 // end of file
263 // ===================================================================
|