แต่งแรมแบบไม่กลัวแต๊ป ไม่แอ๊บแบ๊ว ด้วย SPDTool
Share | Tweet |
โอ้วววว ซาร่าห์ ถ้าคุณต้องประสบปัญหาว่า 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 อย่างเดียวครับ
อ่อ แล้ว ต้องใช้ตัวเลขที่หารกันได้นะครับ จะได้ทำงานได้ดีขึ้น
เล่นกับแรมต้องใจเย็นๆนะครับ เช็คให้ถี่ถ้วนก่อนจะทำอะไรนะครับ ค่อยๆปรับไปเรื่อยๆครับ แล้วท่านก็จะพบ “ความแรง” โดยตัวของท่านเอง อิอิ
ปล.แต๊ปไม่เกี่ยวเด้อ อิอิ อย่านำไปใช้ในทางที่ผิดล่ะครับ แหะๆ