แต่งแรมแบบไม่กลัวแต๊ป ไม่แอ๊บแบ๊ว ด้วย SPDTool

/ บทความโดย: admin , 25/08/2007 22:45, 2,495 views / view in EnglishEN
«»
Share

โอ้วววว ซาร่าห์ ถ้าคุณต้องประสบปัญหาว่า P35 มันไม่เข้ากับแรมคู่ใจ ใส่แล้วเปิดไม่ได้
 วันนี้ Vmodtech Direct ขอปัญหาคาใจด้วยอุปกรณ์ที่ชื่อ SPD Tool  ครับ อิอิ

ก่อนที่จะเริ่มโมฯ SPD นะครับ ไปหาความรู้กับมันก่อนดีกว่าครับ


Introduction to SPD ::


บทสนทนาระหว่าง เซียน และ เกรียน
Q: SPD ของแรมคืออะไรหว่า ? มันย่อมาจาก Speed ใช่ม้า โฮะๆ ง่ายๆ
A: (เบิ๊ดกะโหลด 1 ที) ไอ้เกรียน SPD ย่อมาจาก Serial Presence Detect ไม่ใช่ Speed ซึ่งจะถูกเก็บไว้ในชิพหน้าตาเรียบๆพวกนี้


Q: แล้วมันเก็บอะไรไว้ในนั้นอ่ะ
A: ทุกอย่างที่เกี่ยวกับการทำงานของแรมเลยล่ะ ตั้งแต่ชนิด ความเร็ว อัตราทด หัวฉีด ลูกสูบ รอบ แรงบิดสูงสุด … แรงม้า (มั่วล่ะ พอๆ) …… ก็คือ มันจะเก็บการตั้งค่าความเร็วในการทำงานต่างๆ ไฟเลื้ยง ชนิดของแรม ยี่ห้อ ฯลฯ และ ค่าพลังแฝง(คือ EPP เดี๋ยวมีต่อครับ)

Q: แล้วไงต่อ อยากฟังๆ
A: มันก็จะเก็บไว้ในชิพตัวนั้นแหละ ซึ่งส่วนใหญ่ชิพ SPD จะมีขนาด 128และ256Byte
และเฮีย W1zzard พ่อมดแห่ง TechPowerUp! ก็เผยวิธีงัดแงะมันขึ้นมา ทำให้เราได้มาโมฯ กัน
โดยมาในรูปโปรแกรมที่ชื่อว่า SPDTool วิสิตจริงๆครับ

Q: จะโมยังไงหว่า
A: เหอๆ จะอธิบายยาวๆล่ะนะ ถ้าอยากรู้ล่ะก็ … คลิกไปหน้า 2
หลังจากที่เราอ่านค่า SPD มาแล้ว ก็จะเจอเลขฐาน 16 ยั๊วเยี้ยพวกนี้ ซึ่งแต่ละวรรคคือตำแหน่งของค่า SPD ที่ทำงานต่างกัน เอาล่ะ จดไว้เลย

Byte 0 : ขนาดของ SPD ที่เขียนทั้งหมด (ส่วนใหญ่โรงงานก็ไม่ได้ระบุมาครับ)
ค่าตัวอย่าง 128Byte:    80h      256Byte:    FFh 

Byte 1 : ขนาดความจุของชิพ SPD
ค่าตัวอย่าง 256 Byte:   08h    128 Byte:       07h   

Byte 2  : ชนิดของแรม
ค่าตัวอย่าง DDR2  SDRAM:     08h    

Byte 3 : จำนวนของ Row Address ซึ่งจะเกี่ยวกับการ Refresh ของแรม ซึ่งแรมแต่ละรุ่น ค่าก็จะไม่เหมือนกัน ขึ้นอยู่กับขนาดและแผงวงจรครับ
ค่าตัวอย่าง 15:  0Fh    14:  0Eh   13:  0Dh 12:  0Ch 

Byte 4 : จำนวนของ Column Address สัมพันธ์กันกับตัวเมื่อกี๊ล่ะครับ
ค่าตัวอย่าง 13:  0Dh   12:  0Ch   11:  0Bh  10:  0Ah   09:09h

Byte 5 : จำนวน Rank ของแรมครับ

Byte 6 : ความกว้างของแบนด์วิดท์แรมครับ ^__^ ปกติ DDR1,2 มันก็ 64Bit ครับ
ค่าตัวอย่าง 64 bit:   40h 128 bit:   80h 

Byte 7 : ไม่มีอะไรครับ :D
ค่าตายตัว : 00h

Byte 8 : ค่าไฟเลี้ยงครับ
ค่าตัวอย่าง 1.8V DDR2:   05h 2.5V:   04h

Byte 9 : ค่า Latency ของแรม (ส่งผลโดยตรงกับบัส)
ค่าตัวอย่าง 5.0 ns (400Mhz): 50h        3.75 ns (533Mhz): 3Dh       3.0 ns    (667Mhz):      30h

Byte 10 : SDRAM Device Access from clock (tAC) ผมก็งงๆ ครับ เอาเป็นว่ามันคือช่วงพักของแรมครับ
ค่าตัวอย่าง :
+/-0.6 ns:            60h
+/-0.5 ns:            50h
+/-0.45 ns:          45h
+/-0.40 ns:          40h

Byte 11 : รูปแบบ ECC (ECC ทุกๆ 8หรือ16bit จะเพิ่มตัวเช็คข้อผิดพลาด ฉะนั้น จะเห็นได้ในแรมที่มีความกว้าง 72bit ขึ้นไป)
ค่าตัวอย่าง :
NonECC:     00h                       
ECC:           02h
Address/Command Parity with ECC:      06h

Byte 12 : Refresh rate
ค่าตัวอย่าง 15.6 us Self-refresh (4K):     80h    7.8 us Self-refresh (8K):         82h

Byte 13 : ความกว้างของเม็ดแรมครับ
ค่าตัวอย่าง  4 bits: 04h   8 bits: 08h    16 bits: 10h

Byte 14 : ความกว้างของ ECC ครับ
ค่าตัวอย่าง No-ECC:    00h      8bits:    08h    16bits:    10h

Byte 15 : ว่าง

Byte 16 : Burst Lengths support (DDR2 รับได้ทั้ง 4 และ 8)
ค่าตัวอย่าง 4, 8 Burst length supported:     0Ch          

Byte 17 : จำนวนแถวภายในชิพ (DDR2 ไม่เกิน 1Gbit จะเป็น 4 มากกว่านั้นจะเป็น 8)
ค่าตัวอย่าง 4 Internal Banks:   04h         8 Internal Banks :   08h

Byte 18 : CAS Latency (CL) ไม่อธิบายนะครับ
ค่าตัวอย่าง :
CL=3 and 4 supported:                    18h
CL=4 and 5 supported:                    30h
CL=5 and 6 supported:                    60h
CL=5    supported:                          20h
CL=6    supported:                          40h

Byte 19 : ขนาด(ความหนา)ของแผงแรม

Byte 20 : ชนิดของแถวแรม
ค่าตัวอย่าง :
 Undefined                                                 00h
 Regular Registered DIMM:                         01h
 Regular Unbuffered DIMM:                         02h
 SO-DIMM:                                               04h
 Micro-DIMM:                                            08h
 Mini-Registered DIMM:                             10h
 Mini-Unbuffered DIMM:                              20h

(หลังๆ เริ่มปั่นๆๆๆ ดูดิครับ น่าเกลียดมากๆ)

Byte 21 : ค่าเกี่ยวกับตัวกำเนิดสัญญาณบนแถวแรม


Byte 22 : คุณสมบัติของแรมทั่วๆไป ได้แก่ Supports PASR,Supports 50 ohm,Supports weak driver 


Byte 23 : ความเร็วที่ 2 ที่แรมทำงานครับ


Byte 24 : Access time ที่ความเร็ว 2


Byte 25 : ความเร็วที่ 3 ที่แรมทำงานครับ - -”


Byte 26 : Access time ที่ความเร็ว 3


ไอ้พวกนี้ ไม่รู้จะแปลยังไงครับ (’* 3 *)a


Byte 27 : Minimum Row Pre-charge Time (tRP)


Byte 28 : Minimum Row to Row Access Delay (tRRD)


Byte 29 : Minimum Ras to Cas Delay (tRCD)


Byte 30 : Minimum Active to Pre-charge Time (tRAS)


Byte 31 : ขนาดของแรม (ขนาด*Rank=ขนาดแรมจริงๆ)


Byte 36 : Write recovery time (tWR)


Byte 37 : Internal write to read command delay (tWTR)


Byte 38 : Internal read to pre-charge command delay (tRTP)


Byte 40 - 42 : tRFC


Byte 64 - 71 : นามสกุล(ยี่ห้อ)


Byte 72 : สถานที่เกิด


Byte 73 - 90 : ชื่อ (รุ่น)


Byte 91 - 92 : รุ่นย่อยๆ (Rev.)


Byte 93 - 94 : วันเกิด


Byte 95 - 98 : รหัสประจำตัว


Byte >99 : EPP & อนาคตครับ อิอิ


อิอิ หมดเรื่องที่น่าศึกษาแล้วครับ เอาเป็นว่า ถ้าอยากรู้แบบลึกซึ้งกว่านี้ แนะนำให้อ่าน Datasheet ของ JEDEC หรือ ของพวก Micron ดูครับ อิอิ

ต่อไป เป็นขั้นตอนวิธีการครับ รับรองแซ่บ

————————————————–

SPDTool ?
สำหรับท่านที่ยังไม่มี เราขอนำพาท่านไปยังต้นกำเนิดอุปกรณ์นี่ที่เมืองเบียร์ เชิญครับตามลิงค์เลย
http://forums.techpowerup.com/showthread.php?t=20349
ขอบคุณท่านพ่อมดเมืองเบียร์มากๆครับ สำหรับอุปกรณ์ดีๆ เช่นนี้


ว่าแล้ว เราก็ทำการ คลายซิปมันออกมา เหอๆ อย่ารอช้าครับ รันมัน ณ บัด Now
……
ท่านก็จะพบกับหน้าตาที่แสนประหลาดแบบนี้
ไม่ต้องตกใจครับๆๆ เขาเป็นมิตรกับเราครับ อิอิ


เราไม่รอช้าครับ เข้าพิธีครับ


คลิกที่ Timing Summary ครับ จะได้เห็นรายละเอียด อิอิ


ถ้ากดมาแล้ว มันเป็นแบบนี้ล่ะ ??? โอ้ว ไม่นะ ….


และนี่ก็คือโจทย์ของเราครับ ปรับมันเลยครับ สัก 533 พอมั้ย อิอิ


ผมเอา 500 ก็พอครับ เดี๋ยวมันบูตไม่ขึ้น

แต่…. เห็น CL นั่นมั้ยครับ น่าเกลียดที่สุด 500 4-6-6 ทำไปได้
งั้น เราก็จัดการ ปรับมานนนน CL5 แหละปลอดภัย


อิอิ เห็นผลทันตาครับ ดูดีขึ้นนิดนึง


…… แล้วความเร็วอื่นล่ะ ???
ใช่ครับ ยังไม่มี งั้นก็จัดการเพิ่มซะ

อ่อ แล้ว สังเกตที่ TRCD กับ TRP ผมแอบลดมันไว้อ่ะครับ ค่าเดิมมันคือ 12 ผมลด เหลือ 9 ทำให้
500MHz CL5 มาเล่นที่ 5-5-5 จาก 5-6-6 


เป็นอันเสร็จไปขั้นตอนใหญ่ๆ ครับ ต่อไปเราจะจารลงแรมแล้วนะครับ
ทุกครั้งที่มีการแก้ไขความเร็ว CL ต่างๆนะครับ อย่าลืม…
Fix Checksum


แล้วก็ จัดไปครับ อิอิ


คำเตือนครั้งสุดท้าย ก่อนตายครับ อิอิ


แว้บๆๆๆๆๆ เย้ เสร็จแล้วครับ อิอิ


ไหนๆ ดูหน่อยครับ อ่า ได้แล้ว เย้ๆๆๆ


อิอิ ง่ายมั้ยครับ ขอบคุณครับ เท่านี้เราก็มีแรม DDR1000 ใช้เองแล้ว

————————————————–

แล้วแรมผมล่ะคร้าบบบ ???
อิอิ เป็นอะไรที่มีประโยชน์มาเลยครับ สำหรับการเปลี่ยนชื่อแรม ไม่อธิบายให้มากเรื่องครับ

Fix Checksum แล้วก็เขียนมันเลยครับ อิอิ
หน้าตาออกมาก็เข้าท่าดีครับ แรมผมรุ่นเกรียนช็อคครับ อิอิ


สุดท้าย ส่งด้วย SPD Pack รวม Config แรม 40 รุ่น เอาไปลองยัดกันนะครับ
เวลายัดก็อย่าลืมเช็คขนาดของแรมให้ตรงกันกับแรมของท่านนะครับ(Rank,PartofAssy,Size)
(กำลังจัดอยู่ครับ)


จบไปแล้วครับ สำหรับการเล่นขำๆกับแรม สนุกมั้ยครับ อิอิ
มันยังมีรายละเอียดเล็กๆ น้อยๆ นะครับ สำหรับความแรงที่จะได้จากแรมคู่เดิม
เช่น บอร์ดที่อัดไฟไม่ได้ก็ลดค่า TRP,TRCD,TRAS,TRFC เพื่อให้แรมทำงานฟิตกว่าเดิม แล้วลากแรมโดย Auto by SPD เช่นพวก 945G,บอร์ด OEM น่าจะทำนะครับ อิอิ
แต่ถ้าหากมีแรมพวก D9 ลากไม่ไปเพิ่มไฟไม่ได้ผล แต่อยากได้ประสิทธิภาพเพิ่มขึ้น ก็ลองๆคลายค่า 4 ตัวที่บอก ลาก By SPD ดูนะครับ น่าจะช่วยดันบัส CPU-RAM ได้อีกนิด
แล้วที่สำคัญ ในโน้ตบุค ก็ทำได้ครับ เอามากด CL แล้วก็เร็วขึ้นเยอะเลยครับ เพราะโน้ตบุคconfig ram by SPD อย่างเดียวครับ
อ่อ แล้ว ต้องใช้ตัวเลขที่หารกันได้นะครับ จะได้ทำงานได้ดีขึ้น
เล่นกับแรมต้องใจเย็นๆนะครับ เช็คให้ถี่ถ้วนก่อนจะทำอะไรนะครับ ค่อยๆปรับไปเรื่อยๆครับ แล้วท่านก็จะพบ “ความแรง” โดยตัวของท่านเอง อิอิ


ปล.แต๊ปไม่เกี่ยวเด้อ อิอิ อย่านำไปใช้ในทางที่ผิดล่ะครับ แหะๆ

 


ร่วมวิจารณ์บทความ คลิกที่นี่ตรงนี้

«ก่อนหน้า 1 2 3 แสดงทั้งหมด ถัดไป»

Bookmark บทความ : Zickr Kudd Duocore Techkr aJigg Oncake Lefthit Meetgamer Siamcollective TagToKnow Dunweb Digza
«»