Years ago the whole memory thing was simple but nothing ever remains simple or for that matter uniform. With improvement comes change. Memory is no exception and gone is the simple PC66, PC100 and PC133.
When DDR came along (Double Data Rate) we saw how a single clock pulse could now transfer twice the data. We had Memory Clock Rates in MHz of 100, 133, 166 and 200 MHz which respectively had Data Transfer Rates of 200, 266, 333 and 400 MHz. These were called DDR 200, 266, 333 and 400 respectively. With data being transferred 64 bits at a time, DDR SDRAM gives a transfer rate of (memory bus clock rate) x 2 (for dual rate) × 64 (number of bits transferred) / 8 (number of bits/byte). Thus, with a bus frequency of 100 MHz, DDR SDRAM gives a maximum transfer rate of 1600 MB/s. So enter a new term PC1600 or a new set of terms as in PC1600, PC2100, PC2700 and PC3200 based on bits. Some manufacturers say DDR400 while others say PC3200 so go figure?
That is just DDR without getting into DDR2 or DDR3.
Most programs that read system information read from within Windows. Here is a little routine done in VBScript that will identify memory slots and memory in the slots based on what Windows sees:
Code: Select all
strComputer = "." ' Local computer
strMemory = ""
i = 1
set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
set colItems = objWMIService.ExecQuery("Select * from Win32_PhysicalMemory")
For Each objItem In colItems
if strMemory <> "" then strMemory = strMemory & vbcrlf
strMemory = strMemory & "Bank" & i & " : " & (objItem.Capacity / 1048576) & " Mb"
i = i + 1
installedModules = i - 1
Set colItems = objWMIService.ExecQuery("Select * from Win32_PhysicalMemoryArray")
For Each objItem in colItems
totalSlots = objItem.MemoryDevices
wscript.echo "Total Slots: " & totalSlots & vbcrlf & _
"Free Slots: " & (totalSlots - installedModules) & vbcrlf & _
vbcrlf & "Installed Modules:" & vbcrlf & strMemory
If we open NotePad and copy and paste that code into NotePad and save the file as something like My Memory Slots.VBS and double click the saved file (assuming we save to desktop for simple) we will get a little window telling us about our memory slots and what is in them. Important is the .vbs file extension when we save the text or we just have text.
That is just a simple example of how many of these third party programs work. They can be quirkey if they fail to correctly read the system or if Windows has incorrect data about the system since many read from Windows.
I have a script shortcut around here somewhere that opens a cool system information program within Windows if I can find it.
This is a useful little shortcut script I was talking about:
Code: Select all
Set objShell = CreateObject("WScript.Shell")
The script will run MS Info or actually msinfo32.exe from within Windows and save looking for the executable. The same applies, copy and paste into NotePad and save to the desktop as My MS Info.vbs and again add the .vbs file extension or you are only saving a text file.