Skip to main content

Samsung SSD Maintenance Explained (in Thai)

ผมได้รับเมล์สอบถามเรื่อง SSD จากคุณ Bomb เห็นว่าจะเป็นประโยชน์กับชาว IT โดยทั่วไป จึงอยากเอามาโพสไว้ใน blog ครับ

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

Popular posts from this blog

"Microsoft.ACE.OLEDB.12.0 provider is not registered on the local machine" Error on Windows 7 (64-bit) + Office 2010 (64-bit) + Visual Studio 2010

If you use (1) Windows 7 (64-bit), and (2) Office 2010 (64-bit), and  (3) Visual Studio 2010 to write an ASP.NET code to connect to Access or Excel database using the Microsoft.ACE.OLEDB.12.0 provider and consistently get the "Microsoft.ACE.OLEDB.12.0 provider is not registered on the local machine" error, try installing the 2007 Office System Driver: Data Connectivity Components , which is basically a Microsoft Access Database Engine 2007 Redistributable for Windows (32-bit) from http://www.microsoft.com/download/en/details.aspx?id=23734 Many forums suggested by Google Search suggest installing the Microsoft Access Database Engine 2010 Redistributable for Windows (32-bit, 64-bit) downloadable from http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=13255 but it wouldn't help because Visual Studio 2010 is a 32-bit application; what you need is a 32-bit Data Connectivity component. The 2010 download will not allow you to install i...

Tips: Mac OS X: Full ANSI Color Support in Terminal.app

I'm trying to switch my Java development platform from Windows XP to Mac OS X Tiger. Wondering how to colorize the Terminal screen, I spent some time googling. From the discussions at the end of this page: macosxhints.com - Add full ANSI color support to Terminal.app Here's a summary of how to enable it: With bash shell as default, simply add export TERM=xterm-color [I prefer this for Linux compatibility] or export TERM=dtterm in the ~/.profile (single-user) or /etc/profile (system-wide) Color terminal is enabled. Use ' ls -G ' (the -G enables color output) to test. Add alias ls='ls -G' in the profile file for convenience. Keywords: mac-os-x , unix , terminal , shell , tips

iTunes: Error 261 while Burning Data CDs/DVDs

Apple Discussions: 261 error while burning MP3 CD. I usually put an aphostrophe (') in the name of playlists and was having error 261 burning CD/DVD data discs since iTunes 5.1. Upgrading to iTunes 6.0 for Windows doesn't help. I was burning a music DVD this morning and had Error 261 again. So I went to Apple iTunes Discussions site and look for a thread on this. Viola! There are many people having the same problem as mine. The thread ends at a point where someone removing ampersands, the '&' symbols, from their playlists and could avoid this error. I tried removing aphostrophes from the name of my playlist because aphostrophe falls into the kind of non-alphabet characters that needs escaping in some programming languages. It works!! Keywords: itunes , windows