1description: >
2    Implement to provide DIMM attributes.
3properties:
4    - name: MemoryDataWidth
5      type: uint16
6      description: >
7          Data width of Memory.
8    - name: MemorySizeInKB
9      type: size
10      description: >
11          Memory size of DIMM in Kilobyte.
12    - name: MemoryDeviceLocator
13      type: string
14      description: >
15          Socket on base board where Memory located, for example CPU1_DIMM_B1.
16    - name: MemoryType
17      type: enum[self.DeviceType]
18      description: >
19          Type of memory.
20    - name: MemoryTypeDetail
21      type: string
22      description: >
23          Additional detail on Memory, such as Synchronous, Static column, etc.
24    - name: MaxMemorySpeedInMhz
25      type: uint16
26      description: >
27          The maximum capable clock speed of Memory, in megahertz.
28    - name: MemoryAttributes
29      type: byte
30      description: >
31          Rank attributes of Memory. Means how many groups of memory chips on
32          the dimm.
33    - name: MemoryConfiguredSpeedInMhz
34      type: uint16
35      description: >
36          Configured clock speed to Memory, in megahertz.
37    - name: ECC
38      type: enum[self.Ecc]
39      description: >
40          Error-Correcting Code.
41    - name: CASLatencies
42      type: uint16
43      description: >
44          CAS Latency (CL) values are supported. The CAS latency is the delay
45          between the time at which the column address and the column address
46          strobe signal are presented to the memory module and the time at
47          which the corresponding data is made available by the memory module.
48    - name: RevisionCode
49      type: uint16
50      description: >
51          Revision code provided by the individual manufacturer.
52    - name: FormFactor
53      type: enum[self.FormFactor]
54      description: >
55          The base module type of the memory.
56    - name: MemoryTotalWidth
57      type: uint16
58      description: >
59          The bus width, in bits.
60    - name: AllowedSpeedsMT
61      type: array[uint16]
62      description: >
63          Speeds supported by this memory in megatransfers.
64    - name: MemoryMedia
65      type: enum[self.MemoryTech]
66      default: Unknown
67      description: >
68          Memory Technology of this memory.
69
70enumerations:
71    - name: Ecc
72      description: >
73          Error-Correcting Code.
74      values:
75        - name: NoECC
76          description: >
77              No ECC support.
78        - name: SingleBitECC
79          description: >
80              Single bit data errors can be corrected by ECC.
81        - name: MultiBitECC
82          description: >
83              Multibit data errors can be corrected by ECC.
84        - name: AddressParity
85          description: >
86              Address parity errors can be corrected.
87    - name: MemoryTech
88      description: >
89          This property shall contain the type ofmemory that this Resource
90          represents.
91      values:
92        - name: Other
93          description: >
94              Some devices which are not defined in SMBIOS table.
95        - name: Unknown
96          description: >
97              Unknown device.
98        - name: DRAM
99          description: >
100              The memory module is comprised of volatile memory.
101        - name: NVDIMM_N
102          description: >
103              The memory module is comprised of volatile memory backed by
104              non-volatile memory.
105        - name: NVDIMM_F
106          description: >
107              The memory module is comprised of non-volatile memory.
108        - name: NVDIMM_P
109          description: >
110              The memory module is comprised of a combination of non-volatile
111              and volatile memory.
112        - name: IntelOptane
113          description: >
114              The memory module is an Intel Optane DC Persistent Memory Module.
115    - name: DeviceType
116      description: >
117          This property shall contain the Memory Device Type as defined by
118          SMBIOS.
119      values:
120        - name: Other
121          description: >
122              Some devices which are not defined in this table.
123        - name: Unknown
124          description: >
125              Unknown device.
126        - name: DRAM
127          description: >
128              Dynamic Random Access Memory.
129        - name: EDRAM
130          description: >
131              Enhanced Dynamic Random Access Memory.
132        - name: VRAM
133          description: >
134              Video Random Access Memory.
135        - name: SRAM
136          description: >
137              Static Random Access Memory.
138        - name: RAM
139          description: >
140              Random Access Memory.
141        - name: ROM
142          description: >
143              Read Only Memory.
144        - name: FLASH
145          description: >
146              Flash Memory.
147        - name: EEPROM
148          description: >
149              Electrically Erasable Programmable Read Only Memory.
150        - name: FEPROM
151          description: >
152              Flash Erasable Programmable Read Only Memory.
153        - name: EPROM
154          description: >
155              Erasable Programmable Read Only Memory.
156        - name: CDRAM
157          description: >
158              Cached Dynamic Random Access Memory.
159        - name: ThreeDRAM
160          description: >
161              Three Dimensional Random Access Memory.
162        - name: SDRAM
163          description: >
164              Synchronous Dynamic Random Access Memory.
165        - name: DDR_SGRAM
166          description: >
167              Double Data Rate Synchronous Graphics Random-Access Memory.
168        - name: RDRAM
169          description: >
170              Direct Rambus Dynamic Random Access Memory.
171        - name: DDR
172          description: >
173              Double Data Rate SDRAM.
174        - name: DDR2
175          description: >
176              Double Data Rate 2 SDRAM.
177        - name: DDR2_SDRAM_FB_DIMM
178          description: >
179              DDR2 SDRAM Fully Buffered DIMM.
180        - name: EDO
181          description: >
182              Extended Data Output Memory.
183        - name: FastPageMode
184          description: >
185              Fast Page Mode Memory.
186        - name: PipelinedNibble
187          description: >
188              Pipelined Nibble Memory.
189        - name: DDR3
190          description: >
191              Double Data Rate 3 SDRAM.
192        - name: FBD2
193          description: >
194              Fully Buffered DIMM 2.
195        - name: DDR4
196          description: >
197              Double Data Rate 4 SDRAM.
198        - name: LPDDR_SDRAM
199          description: >
200              Low-Power Double Data Rate SDRAM.
201        - name: LPDDR2_SDRAM
202          description: >
203              Low-Power Double Data Rate 2 SDRAM.
204        - name: LPDDR3_SDRAM
205          description: >
206              Low-Power Double Data Rate 3 SDRAM.
207        - name: LPDDR4_SDRAM
208          description: >
209              Low-Power Double Data Rate 4 SDRAM.
210        - name: Logical
211          description: >
212              Logical Non-volatile device.
213        - name: HBM
214          description: >
215              High Bandwidth Memory
216        - name: HBM2
217          description: >
218              High Bandwidth Memory Generation 2.
219        - name: DDR2_SDRAM_FB_DIMM_PROB
220          description: >
221              DDR2 SDRAM Fully Buffered DIMM PROBE.
222        - name: DDR4E_SDRAM
223          description: >
224              Double Data Rate 4 Extended Compliant SDRAM.
225        - name: DDR5
226          description: >
227              Double Data Rate 5 SDRAM.
228        - name: LPDDR5_SDRAM
229          description: >
230              Low-Power Double Data Rate 5 SDRAM.
231    - name: FormFactor
232      description: >
233          Implementation form factor for this memory device.
234      values:
235        - name: RDIMM
236          description: >
237              Registered DIMM.
238        - name: UDIMM
239          description: >
240              Unbuffered DIMM.
241        - name: SO_DIMM
242          description: >
243              Small Outline DIMM.
244        - name: LRDIMM
245          description: >
246              Load-reduced DIMMs.
247        - name: Mini_RDIMM
248          description: >
249              mini Registered DIMM.
250        - name: Mini_UDIMM
251          description: >
252              mini Unbuffered DIMM.
253        - name: SO_RDIMM_72b
254          description: >
255              Small Outline Registered DIMM.
256        - name: SO_UDIMM_72b
257          description: >
258              Small Outline Unbuffered DIMM.
259        - name: SO_DIMM_16b
260          description: >
261              Small Outline DIMM 16 bit.
262        - name: SO_DIMM_32b
263          description: >
264              Small Outline DIMM 32 bit.
265        - name: Die
266          description: >
267              A die within a package.
268