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