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: size
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 which
47          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
115                Module.
116    - name: DeviceType
117      description: >
118          This property shall contain the Memory Device Type as defined by
119          SMBIOS.
120      values:
121          - name: Other
122            description: >
123                Some devices which are not defined in this table.
124          - name: Unknown
125            description: >
126                Unknown device.
127          - name: DRAM
128            description: >
129                Dynamic Random Access Memory.
130          - name: EDRAM
131            description: >
132                Enhanced Dynamic Random Access Memory.
133          - name: VRAM
134            description: >
135                Video Random Access Memory.
136          - name: SRAM
137            description: >
138                Static Random Access Memory.
139          - name: RAM
140            description: >
141                Random Access Memory.
142          - name: ROM
143            description: >
144                Read Only Memory.
145          - name: FLASH
146            description: >
147                Flash Memory.
148          - name: EEPROM
149            description: >
150                Electrically Erasable Programmable Read Only Memory.
151          - name: FEPROM
152            description: >
153                Flash Erasable Programmable Read Only Memory.
154          - name: EPROM
155            description: >
156                Erasable Programmable Read Only Memory.
157          - name: CDRAM
158            description: >
159                Cached Dynamic Random Access Memory.
160          - name: ThreeDRAM
161            description: >
162                Three Dimensional Random Access Memory.
163          - name: SDRAM
164            description: >
165                Synchronous Dynamic Random Access Memory.
166          - name: DDR_SGRAM
167            description: >
168                Double Data Rate Synchronous Graphics Random-Access Memory.
169          - name: RDRAM
170            description: >
171                Direct Rambus Dynamic Random Access Memory.
172          - name: DDR
173            description: >
174                Double Data Rate SDRAM.
175          - name: DDR2
176            description: >
177                Double Data Rate 2 SDRAM.
178          - name: DDR2_SDRAM_FB_DIMM
179            description: >
180                DDR2 SDRAM Fully Buffered DIMM.
181          - name: EDO
182            description: >
183                Extended Data Output Memory.
184          - name: FastPageMode
185            description: >
186                Fast Page Mode Memory.
187          - name: PipelinedNibble
188            description: >
189                Pipelined Nibble Memory.
190          - name: DDR3
191            description: >
192                Double Data Rate 3 SDRAM.
193          - name: FBD2
194            description: >
195                Fully Buffered DIMM 2.
196          - name: DDR4
197            description: >
198                Double Data Rate 4 SDRAM.
199          - name: LPDDR_SDRAM
200            description: >
201                Low-Power Double Data Rate SDRAM.
202          - name: LPDDR2_SDRAM
203            description: >
204                Low-Power Double Data Rate 2 SDRAM.
205          - name: LPDDR3_SDRAM
206            description: >
207                Low-Power Double Data Rate 3 SDRAM.
208          - name: LPDDR4_SDRAM
209            description: >
210                Low-Power Double Data Rate 4 SDRAM.
211          - name: Logical
212            description: >
213                Logical Non-volatile device.
214          - name: HBM
215            description: >
216                High Bandwidth Memory
217          - name: HBM2
218            description: >
219                High Bandwidth Memory Generation 2.
220          - name: HBM3
221            description: >
222                High Bandwidth Memory Generation 3.
223          - name: DDR2_SDRAM_FB_DIMM_PROB
224            description: >
225                DDR2 SDRAM Fully Buffered DIMM PROBE.
226          - name: DDR4E_SDRAM
227            description: >
228                Double Data Rate 4 Extended Compliant SDRAM.
229          - name: DDR5
230            description: >
231                Double Data Rate 5 SDRAM.
232          - name: LPDDR5_SDRAM
233            description: >
234                Low-Power Double Data Rate 5 SDRAM.
235    - name: FormFactor
236      description: >
237          Implementation form factor for this memory device.
238      values:
239          - name: RDIMM
240            description: >
241                Registered DIMM.
242          - name: UDIMM
243            description: >
244                Unbuffered DIMM.
245          - name: SO_DIMM
246            description: >
247                Small Outline DIMM.
248          - name: LRDIMM
249            description: >
250                Load-reduced DIMMs.
251          - name: Mini_RDIMM
252            description: >
253                mini Registered DIMM.
254          - name: Mini_UDIMM
255            description: >
256                mini Unbuffered DIMM.
257          - name: SO_RDIMM_72b
258            description: >
259                Small Outline Registered DIMM.
260          - name: SO_UDIMM_72b
261            description: >
262                Small Outline Unbuffered DIMM.
263          - name: SO_DIMM_16b
264            description: >
265                Small Outline DIMM 16 bit.
266          - name: SO_DIMM_32b
267            description: >
268                Small Outline DIMM 32 bit.
269          - name: Die
270            description: >
271                A die within a package.
272