Arvuti RAM mälu

Allikas: Imre kasutab arvutit
Mine navigeerimisribaleMine otsikasti

Sissejuhatus

TODO

Mõisted

Tööpõhimõte

TODO

Mälu markeeringu lugemine

Kasulikud lisamaterjalid

Mälu testimine

Üks populaarne utiliit x86 arhitektuuril arvuti RAM mälu testimiseks on http://en.wikipedia.org/wiki/Memtest86

  • tihtipeale sisaldub ta live cd plaatidel, nt RIP Linux juures menüüvalikuna
  • samuti saab seda paigaldada nt Debian Squeeze paketihaldusest

RIPLinux

2010 aasta arvuti

Fail:Ram-1.gif

kus

  • protessoriks on Intel Core i7
  • esitatud on L1, L2 ja L3 mahud; maksab tähele panna kuidas Lx cache kiirused kahanevad mida protsessorist kaugemale, ning mahud jällegi suurenevad
  • RAM mälu on 12 GB
  • lisaks on toodud muud mälu ja arvutit iseloomustavad parameetrid, erinevad kiirused jms
  • Pass 1 - esimene ring teste on käimas

Võrlduseks 2005 aasta Intel D945GNT arvuti, maksab märgata erinevusi

Fail:Ram-2.gif

Debiani paketihaldusest

Tarkvara paigaldamiseks sobib öelda

# apt-get install memtest86+

Tulemusena on /boot kataloogis failid

# ls -l /boot/memtest86+*
-rw-r--r-- 1 root root 165084 Oct 21  2010 /boot/memtest86+.bin
-rw-r--r-- 1 root root 167264 Oct 21  2010 /boot/memtest86+_multiboot.bin

ning tekitatud /boot/grub/grub.cfg faili vastavad menüüvalikud, mida arvuti alglaadimisel saab kasutada. Memtest86+ oskab töötada ka üle serial konsooli, nt sedasi

### BEGIN /etc/grub.d/20_memtest86+ ###
menuentry "Memory test (memtest86+)" {
       insmod part_gpt
       insmod ext2
       set root='(hd0,gpt2)'
       search --no-floppy --fs-uuid --set 5b5231cb-c2a9-41e8-aee5-c1727888da35
       linux16 /memtest86+.bin console=ttyS0,9600
}

EDAC

EDAC (Error Detection and Correction) http://buttersideup.com/edacwiki/Main_Page ...

# apt-get install edac-utils
# dmesg | grep EDAC
EDAC MC: Ver: 2.1.0 Apr 11 2012
EDAC MC0: Giving out device to 'i7core_edac.c' 'i7 core #0': DEV 0000:ff:03.0
EDAC PCI0: Giving out device to module 'i7core_edac' controller 'EDAC PCI controller': DEV '0000:ff:03.0' (POLLED)
EDAC MC1: Giving out device to 'i7core_edac.c' 'i7 core #1': DEV 0000:fe:03.0
EDAC PCI1: Giving out device to module 'i7core_edac' controller 'EDAC PCI controller': DEV '0000:fe:03.0' (POLLED)
EDAC i7core: Driver loaded, 2 memory controller(s) found.
# edac-util --report=full
mc0:csrow0:CPU#0Channel#0_DIMM#0:CE:0
mc0:csrow1:CPU#0Channel#1_DIMM#0:CE:0
mc0:csrow2:CPU#0Channel#2_DIMM#0:CE:0
mc0:noinfo:all:UE:0
mc0:noinfo:all:CE:0
mc1:csrow0:CPU#1Channel#0_DIMM#0:CE:0
mc1:csrow1:CPU#1Channel#1_DIMM#0:CE:0
mc1:csrow2:CPU#1Channel#2_DIMM#0:CE:0
mc1:noinfo:all:UE:0
mc1:noinfo:all:CE:0

Bitiviga

Bitiviga (ingl. k. bit error) võib esineda suurema tõenäosusega mitte-ECC mälu kasutamisel ning seisneb bit väärtuse nö ilma põhjuseta juhuslikus muutumises. Nt võiks see avalduda selles, et laadides andmebaasi dump'i

  • tekib kodeeringuviga
  • saab teate, et välisvõti keelab andmete tabelisse laadimist

4 GB piir

Mõned 2005 aasta ümbruse arvutid on nö peaaegu 64 bit, nt D945GNT. See väljendub asjaolus, et kuigi saab kasutada 64 bit tuuma ja muud tarkvara ning arvuti BIOS tunneb ära 4 GB mälu näeb operatsioonisüsteem sellest ca 3.3 GB. Selle põhjuseks on emaplaadi manuaali kohaselt asjaolu, et arvuti riistvara ei suuda adresseerida üle 4GB (ilmselt seotud 2^32 = 4 294 967 296) - sellega tuleb lisaks nö tavaliselt mälule, kus programmid töötavad adresseerida PCI-E configuration space, Digital Media Interface, Local APIC jms. Ning tulemusena jääbki operatsioonisüsteemile kasutada nö free käsu väljundi järgi ca 3.3 GB.

decode-dimms

Tundub, et decode-dimms tarkvara töötab DDR2, DDR3 jt mäludega, aga mitte DDR4 puhul. Debian keskkonnas sobib paigaldamiseks öelda

# apt-get install i2c-tools

ja paketis sisaldub programm decode-dimms

Ubuntu keskkonnas sobib paigaldamiseks öelda

# apt-get install decode-dimms

Kasutamiseks tuleb laadida tuuma moodus eeprom

# modprobe eeprom

ja öelda

# decode-dimms
...

Decoding EEPROM: /sys/bus/i2c/drivers/eeprom/0-0050
Guessing DIMM is in                             bank 1

---=== SPD EEPROM Information ===---
EEPROM CRC of bytes 0-116                       OK (0x9A9A)
# of bytes written to SDRAM EEPROM              176
Total number of bytes in EEPROM                 256
Fundamental Memory type                         DDR3 SDRAM
Module Type                                     UDIMM

---=== Memory Characteristics ===---
Fine time base                                  1.000 ps
Medium time base                                0.125 ns
Maximum module speed                            1600 MHz (PC3-12800)
Size                                            8192 MB
Banks x Rows x Columns x Bits                   8 x 16 x 10 x 64
Ranks                                           2
SDRAM Device Width                              8 bits
Bus Width Extension                             0 bits
tCL-tRCD-tRP-tRAS                               11-11-11-28
Supported CAS Latencies (tCL)                   11T, 10T, 9T, 8T, 7T, 6T, 5T

---=== Timing Parameters ===---
Minimum Write Recovery time (tWR)               15.000 ns
Minimum Row Active to Row Active Delay (tRRD)   6.000 ns
Minimum Active to Auto-Refresh Delay (tRC)      48.125 ns
Minimum Recovery Delay (tRFC)                   260.000 ns
Minimum Write to Read CMD Delay (tWTR)          7.500 ns
Minimum Read to Pre-charge CMD Delay (tRTP)     7.500 ns
Minimum Four Activate Window Delay (tFAW)       30.000 ns

---=== Optional Features ===---
Operable voltages                               1.5V, 1.35V 
RZQ/6 supported?                                Yes
RZQ/7 supported?                                Yes
DLL-Off Mode supported?                         Yes
Operating temperature range                     0-95 degrees C
Refresh Rate in extended temp range             2X
Auto Self-Refresh?                              Yes
On-Die Thermal Sensor readout?                  No
Partial Array Self-Refresh?                     No
Thermal Sensor Accuracy                         Not implemented
SDRAM Device Type                               Standard Monolithic

---=== Physical Characteristics ===---
Module Height (mm)                              30
Module Thickness (mm)                           2 front, 2 back
Module Width (mm)                               133.5
Module Reference Card                           B

---=== Manufacturer Data ===---
Module Manufacturer                             Crucial Technology
DRAM Manufacturer                               Micron Technology
Manufacturing Date                              2016-W43
Assembly Serial Number                          0xE035F71D
Part Number                                     CT102464BD160B.M16
Revision Code                                   0x4650

Decoding EEPROM: /sys/bus/i2c/drivers/eeprom/0-0051
Guessing DIMM is in                             bank 2

---=== SPD EEPROM Information ===---
EEPROM CRC of bytes 0-116                       OK (0x9A9A)
# of bytes written to SDRAM EEPROM              176
Total number of bytes in EEPROM                 256
Fundamental Memory type                         DDR3 SDRAM
Module Type                                     UDIMM

...

kus

  • TODO

Mälu omaduste määramine

Tundub, et dmidecode abil saab hinnata

  • millise mälu kasutamine on antud arvutis võimalik
  • millist mälu parasjagu kasutatakse

ECC (kuna total width > data width) ja unbuffered mälu

Memory Device
  Array Handle: 0x1000
  Error Information Handle: Not Provided
  Total Width: 72 bits
  Data Width: 64 bits
  Size: 4096 MB
  Form Factor: DIMM
  Set: 2
  Locator: DIMM_A3 
  Bank Locator: Not Specified
  Type: DDR3
  Type Detail: Synchronous Unbuffered (Unregistered)
  Speed: 1333 MHz
  Manufacturer: 00CE000080CE
  Serial Number: 86F06F3E
  Asset Tag: 02103800
  Part Number: M391B2873FH0-CH9  
  Rank: 1
# dmidecode --type 16
Handle 0x1000, DMI type 16, 15 bytes
Physical Memory Array
  Location: System Board Or Motherboard
  Use: System Memory
  Error Correction Type: Multi-bit ECC
  Maximum Capacity: 16 GB
  Error Information Handle: Not Provided
  Number Of Devices: 4

ECC (kuna total width > data width) ja buffered

Memory Device
  Array Handle: 0x1000
  Error Information Handle: Not Provided
  Total Width: 72 bits
  Data Width: 64 bits
  Size: 8192 MB
  Form Factor: DIMM
  Set: 1
  Locator: DIMM_A2 
  Bank Locator: Not Specified
  Type: DDR3
  Type Detail: Synchronous Registered (Buffered)
  Speed: 1600 MHz
  Manufacturer: 00CE00B300CE
  Serial Number: 180FFDE6
  Asset Tag: 03144163
  Part Number: M393B1G70QH0-YK0  
  Rank: 1
  Configured Clock Speed: 1333 MHz
# dmidecode --type 16
Handle 0x1000, DMI type 16, 23 bytes
Physical Memory Array
  Location: System Board Or Motherboard
  Use: System Memory
  Error Correction Type: Multi-bit ECC
  Maximum Capacity: 192 GB
  Error Information Handle: Not Provided
  Number Of Devices: 6

ilma ECC (kuna total width = data width) ja unbuffered (kuna pole kirjas, et on registered ega buffered)

# dmidecode memory
..
Memory Device
  Array Handle: 0x0028
  Error Information Handle: 0x0032
  Total Width: 64 bits
  Data Width: 64 bits
  Size: 2048 MB
  Form Factor: DIMM
  Set: None
  Locator: CHANNEL B
  Bank Locator: CHANNEL B-DIMM 0
  Type: DDR3
  Type Detail: Synchronous
  Speed: 1333 MHz
  Manufacturer: Kingston        
  Serial Number: 74261F8B  
  Asset Tag: A1_AssetTagNum2
  Part Number: 99U5471-002.A00LF 
  Rank: 2
...
# dmidecode --type 16
Handle 0x0028, DMI type 16, 15 bytes
Physical Memory Array
  Location: System Board Or Motherboard
  Use: System Memory
  Error Correction Type: None
  Maximum Capacity: 16 GB
  Error Information Handle: 0x0029
  Number Of Devices: 4

Kasulikud lisamaterjalid