หลังจากที่เราได้อธิบายเรื่อง อัตราการถ่ายโอนข้อมูล (Data Transfer Rate) ที่ประกอบไปด้วย ความเร็วในการเขียน และ ความเร็วในการอ่านข้อมูล ที่ใช้กันในเครือข่ายอินเทอร์เน็ตไปแล้ว (อ่านได้ในบทความนี้) ก็ทำให้เราอยากจะพูดถึงในส่วนของ Transfer Rate ของอุปกรณ์เก็บข้อมูล (Storage Device) ของคอมพิวเตอร์กันบ้าง โดยในบทความนี้เราจะว่ากันด้วยเรื่องความเร็วในการเขียน และอ่านข้อมูลของอุปกรณ์เก็บข้อมูล SSD (Solid-State Drive) กับ HDD (Hard Disk Drive) กันดูบ้างว่าเป็นอย่างไร
HDD หรือ Hard Disk Drive นั้นเป็นอุปกรณ์จัดเก็บข้อมูลแบบดั้งเดิม ที่ใช้กันมาอย่างยาวนาน และแพร่หลาย ที่สำคัญคือ มันก็ยังคงได้รับความนิยมสูงอยู่ ถึงแม้ว่าอุปกรณ์จัดเก็บข้อมูลแบบ SSD จะเข้ามาแทนที่มากขึ้นเรื่อยๆ เนื่องจากความทนทาน และราคาต่อพื้นที่ยังคงถูกกว่า SSD อยู่หลายโขเหมือนกัน
โดยข้อเสียในแง่มุมของการอ่าน และเขียนข้อมูลของ HDD คือ การที่มันเก็บข้อมูลลงบนจานแม่เหล็ก ทำให้การอ่าน และเขียนไฟล์มีความเร็วช้ากว่า SSD เป็นอย่างมาก เพราะหัวอ่านจะต้องรอรอบที่จานแม่เหล็กหมุนมาถึงบริเวณพื้นที่ที่ต้องการอ่านหรือบันทึกข้อมูลก่อน แถม HDD ที่ความจุสูงมากๆ ยิ่งทำให้ต้องใช้เวลาในการค้นหาข้อมูลในจานแม่เหล็กเพิ่มขึ้นอีกด้วย
ภาพจาก https://flic.kr/p/xzEadt
สำหรับ HDD ที่ใช้พอร์ตเชื่อมต่อแบบ SATA 6Gb/s หรือที่นิยมเรียกกันว่า SATA III ซึ่ง HDD ส่วนใหญ่ในปัจจุบันจะใช้พอร์ตนี้ในการรับส่งข้อมูล
ความเร็วของ HDD แบบทั่วไปในปัจจุบันจะเป็นดังต่อไปนี้
ที่เราเลือกใช้คำว่า "ทั่วไป" ก็เพราะความเร็วในการอ่าน และเขียนของ HDD นั้นไม่ได้ขึ้นอยู่กับความเร็วรอบหมุนเป็นหลักนะครับ แต่มันมีปัจจัยอื่นๆ ที่เกี่ยวข้องด้วย ยกตัวอย่างง่ายๆ นะครับ HDD ขนาด 500 GB กับ HDD ขนาด 2 TB อาจจะมีขนาดของจานแม่เหล็กเก็บข้อมูล (Platter) ที่เท่ากัน แต่ความหนาแน่นในการเก็บข้อมูล (Data Density) นั้นต่างกันมาก
โดย HDD ที่มี Data Density น้อยจะใช้เวลาเยอะกว่า HDD ที่มี Data Density สูง ในการอ่านข้อมูลขนาดเท่ากัน และไหนจะเรื่องของตำแหน่งในการเก็บข้อมูลว่าอยู่รอบใน รอบนอกอีก เพราะมันจะทำให้หัวอ่านเขียนข้อมูล (Read and Write Head) ต้องขยับเคลื่อนตัวเข้าออกมาก จึงทำให้เสียเวลามากเช่นกัน
| |
ตัวดิสก์ที่ใช้บันทึกข้อมูลนั้นมีความบางมาก เมื่อหมุนด้วยความเร็วสูงจะทำให้ตัวแผ่นเก็บข้อมูลต้องรับภาระแรงหมุน รวมไปถึงแรงเหวี่ยงต่างๆ ที่หนักมาก ทำให้เกิดความเสียหายกับตัวแผ่นแม่เหล็กได้ ไหนจะทำให้แรงเสียดสีกับหัวอ่านเพิ่มขึ้นไปอีก ซึ่งจะทำให้ความเสถียรในการอ่านข้อมูลลดต่ำลง และอีกประเด็นหนึ่ง คือ การหมุนด้วยความเร็วสูงนั้น จะทำให้เกิดความร้อนสูงขึ้น รวมไปถึงใช้พลังงานมากขึ้นด้วย
อย่างไรก็ตาม ต่อให้แก้ปัญหาดังกล่าวได้ ด้วยปัญหาทางด้านของกายภาพ ความเร็วที่ได้ ก็ไม่ได้ทำให้ HDD เร็วไปกว่า SSD อยู่ดี
วิดีโอจากช่อง The Slow Mo Guys
SSD หรือ Solid-State Drive นั้นทางทีมงาน Thaiware เราเคยเขียนบทความเกี่ยวกับอุปกรณ์เก็บข้อมูลชนิดนี้กันไปแล้ว ดังนั้นเราจึงไม่ขอลงรายละเอียดมากนัก จะขอพูดถึงเรื่องของความเร็วเพียงอย่างเดียวเลยละกัน (อ่านบทความเกี่ยวกับ SSD แบบละเอียดได้ที่นี่)
SSD เก็บข้อมูลลงในชิป ไม่มีส่วนที่เคลื่อนไหว ทำให้การอ่าน และเขียนข้อมูลทำได้ไวกว่าจานแม่เหล็กใน HDD หลายเท่า
เกร็ดน่ารู้
โปรโตคอลของ SSD ในตอนนี้ที่ใช้กันจะมีอยู่ 2 รูปแบบ คือ AHCI และ NVMe ทั้งคู่ทำหน้าที่เหมือนเป็นคนกลางที่ช่วยประสานงานระหว่างฮาร์ดแวร์ กับซอฟต์แวร์ ซึ่งมันรองรับการเชื่อมต่อได้หลายรูปแบบ ไม่ว่าจะเป็น M.2, U.2, PCIe หรือ SATA ก็จะขึ้นอยู่กับเมนบอร์ดที่เราใช้นะครับ ว่ารองรับโปรโตคอลตัวไหนบ้าง แต่เมนเบอร์ที่ราคาสูงๆ หน่อยก็มักจะรองรับทั้งคู่แหละ
ภาพจาก https://www.amazon.com/Sabrent-Internal-Extreme-Performance-SB-ROCKET-NVMe4-1TB/dp/B07TLYWMYW
บทความที่แล้วเราได้กล่าวถึง ความเร็วในการดาวน์โหลดไฟล์จากอินเทอร์เน็ต ไป ซึ่งในทางทฤษฏีแล้ว อินเทอร์เน็ตระดับ 1,000 Mbps ที่คนส่วนใหญ่น่าจะใช้กันที่ความเร็วนี้ ก็จะดาวน์โหลดไฟล์ได้ที่ความเร็วสูงสุดประมาณ 125 MB/s ซึ่งฮาร์ดดิสก์แบบ HDD ก็เขียนข้อมูลได้ประมาณนี้อยู่แล้ว
แต่สมมติว่าเราใช้อินเทอร์เน็ตเร็วกกว่านั้นล่ะ เช่นระดับ 10,000 Mbps ดาวน์โหลดได้ 1,250 MB/s เอาจริงๆ SSD ก็ยังรองรับความเร็วในการเขียนข้อมูลระดับนั้นได้สบายๆ แต่สมมติว่าถ้าหน่วยเก็บความจำของเราช้าจริงๆ เช่นดาวน์โหลดไฟล์ลงแฟลชไดร์ฟที่เป็น USB 2.0 ที่เขียนข้อมูลได้ 60 MB/s จะเกิดอะไรขึ้น? เราจะดาวน์โหลดได้แค่ 60MB/s หรือเปล่า?
ตอบแบบสั้นๆ เลยก็ "ใช่" และ "ไม่ใช่" ครับ
เมื่อเราทำการดาวน์โหลดไฟล์จากอินเทอร์เน็ต ระบบคอมพิวเตอร์จะเอาพื้นที่ของ RAM บางส่วนมาสร้างเป็นพื้นที่เก็บไฟล์ชั่วคราว (Disk Cache) และถ้าหากการดาวน์โหลดของเราสามารถจุลง Disk Cache นี้ได้พอดี เราก็จะดาวน์โหลดไฟล์ที่ได้ความเร็วสูงสุดลงในหน่วยความจำ ซึ่งในขณะเดียวกัน ตัวระบบปฏิบัติการของเราก็จะทยอยนำข้อมูลใน Disk Cache เขียนลงไปในหน่วยความจำไปด้วย
แต่หากเรามองข้ามเรื่องแคช (Cache) ไป ในระบบ TCP Protocol จะมีกลไกการควบคุมอัตราการรับส่งข้อมูล (Flow Control) อยู่ในตัว โดยเมื่อ Packet ข้อมูลถูกส่งผ่านทาง TCP Socket มันจะทำการตรวจสอบการรับ Packet นี้ว่ามีขนาดเท่าไหร่ ซึ่งมันจะเป็นการบอกกับผู้ส่งว่าตอนนี้ยังมี Receive Buffer เหลืออีกเท่าไหร่ เพื่อให้ผู้ส่งแน่ใจว่า Packet ที่ส่งมาจะได้รับครบถ้วน
ในที่นี้ ขอเปรียบเทียบกับการส่งไปรษณีย์ สมมติว่ากล่องจดหมายของคุณรับจดหมายได้ทีละ 10 ฉบับ บุรุษไปรษณีย์ ก็จะไม่ส่งจดหมายฉบับที่ 11 ให้คุณจนกว่าคุณจะเอาจดหมายออกจากกล่องรับไปก่อน เพราะไม่อย่างนั้นจดหมายก็จะล้นกล่อง หล่นหายไปนั่นเอง
ฉันใดก็ฉันนั้น ถ้าข้อมูลใน Buffer ไม่สามารถเขียนลงในหน่วยความจำได้ทัน ผู้ส่งก็จะมองเห็นว่าพื้นที่ใน Buffer ใกล้เต็มแล้ว มันก็จะลดความเร็วในการส่งข้อมูลลง หรือหยุดส่งชั่วคราวจนกว่า Buffer จะว่าง เมื่อเป็นเช่นนั้น มันก็จะส่งผลต่อความเร็วในการดาวน์โหลดได้นั่นเอง
|
แอดมินสายเปื่อย ชอบลองอะไรใหม่ไปเรื่อยๆ รักแมว และเสียงเพลงเป็นพิเศษ |