ผมได้รับเมล์สอบถามเรื่อง SSD จากคุณ Bomb เห็นว่าจะเป็นประโยชน์กับชาว IT โดยทั่วไป จึงอยากเอามาโพสไว้ใน blog ครับ
คำตอบเป็นดังนี้ครับ
หวังว่าข้อมูลเหล่านี้จะเป็นประโยชน์ครับ
ดร.ธิติ วัชรสินธพชัย
thitiv
http://twitter.com/thitiv
thitiv[at]gmail.com
From: ...
Sent: Friday, June 04, 2010 5:09 AM
To: thitiv[at]gmail.com
Subject: เรียนถามเกี่ยวกับ SSD
เรียน K.thitiv
พอดี Notebook ผมของ Dell ADAMO มันใช้ SSD รุ่นเก่ารหัส SAMSUNG PB22-JS3 TM 128GB ซึ่งใช้ CrystalDiskinfo ดูแล้ว
Supported แค่ S.M.R.T, 48bits LBA, AAM,NCQ Firmware VBM19D1Q ซึ่งไม่ไม่มี TRIM แต่ไม่รู้ support GC ไหม
หลังจากอ่าน
http://sn140w.snt140.mail.live.com/default.aspx?wa=wsignin1.0
เลยอยากจะสอบถามดังนี้ครับ
1. ผมเข้าใจว่า SSD ของ SAMSUNG update FW เองไม่ได้ใช่ไหมครับ
2. มีวิธล้าง SSD ไหมครับให้ปลอดภัย ใน Bios ของ Dell ไม่สามารถทำได้ จึงอยากทราบว่ามีวิธีไหนทำได้บ้าง Search ใน KM ของ Dell ไม่เจอเลยครับ eng ผมก็ไม่เก่งมาก พอถูๆไถๆ
เห็นฝรั่งบอกให้ใช้ Diskkeeper เอา แต่เพื่อนทำแล้วมันไปเกิดเลย คือ SSD หยุดทำงานไปเลยต้องส่งแคลม
ขอบคุณที่สละเวลาอ่านครับ
คำตอบเป็นดังนี้ครับ
สวัสดีครับ คุณ ...
SSD ทุกอันมีระบบ GC อยู่แล้วครับ แต่ว่ามันจะทำงานต่อเมื่อมันอยู่ในสถานะ idle ครับ (เช่นเราเปิดคอมทิ้งไว้นานๆ โดยไม่ให้มีการเขียนหรืออ่านข้อมูลจาก SSD เลย)
สำหรับคำถามขอตอบดังนี้นะครับ
1. SSD ของ Samsung แท้ๆ จริงๆ update firmware ได้ครับ.
Samsung ผลิต SSD ขายเอง และเป็น OEM ให้กับผู้ผลิต notebook หลายๆ ค่ายเช่น Lenovo ThinkPad และ Dell โดยที่ SSD สำหรับแต่ละค่ายจะมีรหัสที่ฝังอยู่ข้างใน hardware ไม่เหมือนกัน. Samsung มีการแจกจ่ายตัว update firmware ที่มี TRIM ออกมาให้ end-user update ได้เอง (ดูตัวอย่างที่ http://bit.ly/bcoKqA ครับ) โดยผู้ผลิต notebook แต่ละรายจะไป customize firmware เหล่านั้นเพื่อแจกจ่ายให้กับลูกค้าของตัวเอง และ firmware พวกนี้ไม่สามารถใช้ข้ามยี่ห้อกันได้ เช่น firmware สำหรับ SSD ที่ผลิตโดย Samsung สำหรับขายปลีกเอง ไม่สามารถเอาไปใช้กับ SSD ที่ Samsung ผลิตให้ Lenovo หรือ Dell ได้. ตัวอย่างของ firmware สำหรับ Samsung SSD ที่เป็น part ของ Lenovo คืออันนี้ครับ http://bit.ly/cpQWRy
ปัญหาก็คือว่า Dell ไม่ยอมเอา firmware ใหม่ๆ ของ Samsung มาแจกจ่ายให้ end-user ครับ. ทำให้ SSD ของ Samsung ที่เป็น part ของ Dell ที่มีอยู่เกลื่อนตลาด ไม่สามารถ update firmware ได้. วิธีการที่ฝรั่งเขาทำคือ แกล้งหาเรื่องแจ้งกับ Call Center ของ Dell ว่า SSD เสีย แล้วให้ Dell ส่งตัวใหม่ซึ่งเป็น firmware ใหม่กว่าและมี TRIM มาให้ครับ. แต่วิธีการนี้น่าจะใช้กับเมืองไทยไม่ได้ครับ.
2. การล้าง SSD มีสองแบบนะครับ
แบบแรกคือไปล้างข้อมูลใน controller ทิ้ง ด้วยการใช้คำสั่งใน BIOS เช่นของ ThinkPad ตามกระทู้นี้ http://bit.ly/bQpdaj หรือด้วยโปรแกรมพิเศษของผู้ผลิต controller เอง เช่นโปรแกรม sanitary erase ของ controller ยี่ห้อ Indilinx
แบบที่สองคือใช้ software ทำโดยมี software ที่นิยมใช้กันอยู่สามค่ายคือ HDDErase (http://bit.ly/970tZA), Diskeeper และ PerfectDisk.
โปรแกรม HDDErase เป็นการล้างแบบ destructive คือข้อมูลจะหายหมด ส่วนสองอันหลังข้อมูลจะไม่หายครับ.
ส่วนตัวผมใช้ Diskeeper อยู่ โดย Diskeeper รุ่นใหม่ๆ จะมี function ชื่อ HyperFast (http://bit.ly/c4RgCr) ซึ่ง "เชื่อกันว่า" ทำให้ SSD รุ่นเก่าๆ ทำงานได้เร็วขึ้น. Function นี้ยังเป็นข้อถกเถียงกันอยู่ ว่าใช้งานได้ผลจริงหรือไม่ นะครับ (http://bit.ly/9Jy1AF).
สำหรับอีกค่ายคือ PerfectDisk นิยมใช้ประกอบกับโปรแกรม FreeSpaceCleaner (http://bit.ly/bsHIRR) ซึ่งบางคนเรียกว่า AS-Cleaner และการใช้งานส PerfectDisk ผสมกับ AS-Cleaner รวมกันเรียกว่า "Tony-TRIM" (http://bit.ly/bHJrJN) โดยมีหลักการทำงานคือ การบีบให้พื้นที่ free space ของ SSD มากองรวมกัน ด้วย feature ชื่อ Free Space Consolidation ของ PerfectDisk. จากนั้น เขียนพื้นที่ว่างทั้งหมดใน SSD ให้เป็น รหัส "FF" (ย้ำว่า "FF" ไม่ใช่ "00") ด้วยโปรแกรม AS-Cleaner. แล้ว shutdown เครื่องสักพัก แล้วเปิดใหม่. ฝรั่งว่ากันว่ารหัส "FF" เป็นรหัสพิเศษสำหรับ SSD ซึ่งจะ mark ว่าพื้นที่ว่างใน SSD นั้นว่างจริงๆ และบังคับให้ระบบ GC มาเก็บกวาดพื้นที่ต่างๆ เหล่านั้นครับ.
ผมได้เคยทดลองทำ Tony-TRIM แล้วสองครั้ง ปรากฏว่าไม่ทำให้ SSD Samsung อันเก่าของผมที่ไม่มี TRIM มีความเร็วสูงขึ้นอย่างมีสาระสำคัญเท่าไรเลยครับ คุณ Bomb จะลองทำเล่นดูก็ได้ครับ เผื่ออยากทดลอง
คำแนะนำและข้อสรุป
จากรูปที่คุณ Bomb ส่งมา ความเร็วที่ test ได้ คือ อ่านได้ 207.9 MB/s และเขียนได้ 146.6 MB/s โดยมีข้อมูลอยู่ประมาณ 49% คือ 48GB จาก 98GB ถือว่า "ปกติ" นะครับ. ความเร็วการเขียนสูงสุดที่เขาโฆษณาขายกัน ประเภทใกล้ๆ 200 MB/s นั้นเป็นเฉพาะเวลา SSD มันว่างๆ ไม่มีข้อมูลอยู่ในนั้นเลยครับ เช่นหลังการลง Windows ใหม่ๆ ยังไม่ลงโปรแกรมเพิ่มเติมใดๆ ทั้งสิ้น. แต่ว่าหาก SSD มีข้อมูลอยู่ในนั้นมากๆ จากประสบการณ์ผม ตัว Samsung จะได้ความเร็วในการอ่านอยู่ราวๆ 140 MB/s ครับ (สำหรับยี่ห้ออื่น เช่น OCZ Vertex จะเขียนได้เร็วกว่านี้อีกนิดหน่อยประมาณ 10%)
ดังนั้น อย่าตกใจครับ ใช้งานมันไปเรื่อยๆ ไม่ต้องทำ benchmark มากครับ. ยิ่ง benchmark มากๆ ยิ่ง "พยายาม" ล้างมากๆ ก็จะทำให้ SSD ของเราเสื่อมเร็วมากขึ้นครับ.
วิธีการที่ดีที่สุดคือ พยายามหาทางเปลี่ยน SSD ให้เป็น firmware ที่มี TRIM ให้ได้ครับ (เช่นขายทิ้ง ไปซื้อตัวใหม่ที่มี TRIM หรือว่าติดต่อ Dell เพื่อขอเปลี่ยนเป็นตัว TRIM ครับ)
อย่างไรก็ตาม หากมี TRIM แล้วก็ไม่ได้ทำให้ความเร็วเพิ่มขึ้นนะครับ. ตอนนี้ผมใช้ SSD ของ Samsung แบบมี TRIM แล้ว แต่ก็ยังได้ความเร็วในการอ่าน/เขียน ใกล้เคียงกับตัวเก่าที่ไม่มี TRIM มากๆ ครับ. เพียงแต่การมี TRIM ช่วยให้เรามี "ความสุขทางใจ" ได้ระดับหนึ่งเท่านั้นเองครับ
หวังว่าข้อมูลเหล่านี้จะเป็นประโยชน์ครับ
ดร.ธิติ วัชรสินธพชัย
thitiv
http://twitter.com/thitiv
thitiv[at]gmail.com