Identifying RAM type on Windows

Hi everyone, Anyone please help me to identify the RAM type example (DDR3, DDR2 etc).

I found two sources for this information, an old devworks forum post here and a RAM analysis by @jgstew here. By combining them you should be able to get what you are looking for. Both of those are now a few years old, so if someone knows of a better way, please chime in. I updated the lookup table for values 22-30 based on the current DMTF specs.

((if (item 2 of it = item 0 of it) then (item 1 of it) else (nothing)) of ("0","Unknown",it;"1","Other",it;"2","DRAM",it;"3","Synch DRAM",it;"4","Cache DRAM",it;"5","EDO",it;"6","EDRAM",it;"7","VRAM",it;"8","SRAM",it;"9","RAM",it;"10","ROM",it;"11","Flash",it;"12","EEPROM",it;"13","FEPROM",it;"14","EPROM",it;"15","CDRAM",it;"16","3DRAM",it;"17","SDRAM",it;"18","SGRAM",it;"19","RDRAM",it;"20","DDR",it;"21","DDR2",it;"22","DDR2 FB-DIMM",it;"24","DDR3",it;"25","FBD2",it;"26","DDR4",it;"27","LPDDR",it;"28","LPDDR2",it;"29","LPDDR3",it;"30","LPDDR4",it)) of (unique values of (values "memory_type" of structures "memory_device" whose(value "speed" of it as string != "0") of smbios as string))

1 Like

I thought I had something for this already somewhere, but apparently not in that RAM analysis. The DMFT specs is the right place to go for the lookup table.


I just updated the core relevance to this:

unique values of ((it as string as trimmed string as integer) of values "memory_type" of structures "memory_device" whose(value "speed" of it as string != "0") of smbioses)

Then the slightly easier way to write this:

(tuple string item ( unique value of ((it as string as trimmed string as integer) of values "memory_type" of structures "memory_device" whose(value "speed" of it as string != "0") of smbioses) ) of "Unknown, Other, Unknown, DRAM, EDRAM, VRAM, SRAM, RAM, ROM, FLASH, EEPROM, FEPROM, EPROM, CDRAM, 3DRAM, SDRAM, SGRAM, RDRAM, DDR, DDR2, DDR2 FB-DIMM, Reserved, Reserved, Reserved, DDR3, FBD2, DDR4, LPDDR, LPDDR2, LPDDR3, LPDDR4") | ERROR "Unknown"

I just pulled the above list of ram from the DMFT 3.0 spec, but it seems different than the list @Sean has for some reason, but one of these should be the answer to your question @venkateshan .

Also FYI @venkateshan , it is preferable to use SMBIOS instead of WMI when possible. SMBIOS is cross platform more so that WMI and is usually much faster to get results than WMI, but this info is also be available in WMI as well.


###Related:

Thanks @jgstew, that relevance is much improved. It looks like the difference regarding the lookup values is that the original devworks post seems to have taken the list from the Win32_PhysicalMemory class (MemoryType member). It is odd that it differs from the DMTF specs.

1 Like

That is odd. I don’t really have a good way to validate it either other than checking to make sure it returns DDR3 or DDR2 for most systems. It is hard to validate these lookup tables any more than that when there are so many options, but usually only 2 or 3 of them in actual use.

@jgstew Thank you i tried this relavance script now i am able to see the RAM type.

1 Like