Home > Uncategorized > Data Transfer Rate

Data Transfer Rate

     จริงๆแล้วผมไม่ค่อยจะได้เขียนเรื่องราวที่มีสาระซักเท่าไหร่ เพราะส่วนใหญ่ผมชอบที่จะเขียนอะไรที่มันไร้สาระซะมากกว่าแหละครับ (ถึงปกติจะดองลูกเดียวก็เถอะ) แต่วันนี้หลังจากที่เห็นความเข้าใจผิดที่เกิดขึ้น ก็เลยอาจจะเขียนเรื่องที่ดูเป็นวิชาการหน่อย แต่ไม่วิชาการมากครับ

    เรื่องก็มีอยู่ว่า สืบเนื่องมาจากการบ้านสุดท้ายของวิชา CS223 Computer Organization and Architecture ที่น้องปี 2 เรียนกันเพิ่งจบไป (ชักเริ่มรู้สึกว่าตัวเองแก่) ซึ่งมีการบ้านอยู่ข้อหนึ่งซึ่งให้หา อัตราการส่งข้อมูล หรือ Data Transfer Rate โดยสิ่งที่โจทย์กำหนดมาคือ มีฮาร์ดดิสก์แม่เหล็กหมุนด้วยความเร็ว 7200 รอบต่อนาที, seek time เฉลี่ยคือ 7 ms, 256 sectors/track, 512 bytes/sector, 2048 tracks/หน้า, ดิสก์มีทั้งหมด 8 จานจานละ 2 หน้า ทั้งหมดนี้คือที่โจทย์ให้มา แต่ผมก็ต้องตกใจนิดหน่อยเมื่อเห็นวิธีทำของน้องๆ คือ

               Data Transfer Rate = ความจุของดิสก์ / Access Time

    "เอ้ย!! เป็นไปได้ยังไง" ผมยังสงสัยอยู่เล็กน้อยว่าเข้าใจกันไปถึงไหนล่ะเนี่ย อัตราการรับส่งข้อมูล มันไปเกี่ยวกับความจุได้ยังไง แถมยังไปเกี่ยวกับ Access Time ซะอีก = =" (ไม่ได้มีเจตนาจะประจานจริงๆนะครับ แต่อยากยกตัวอย่างให้เห็นกัน) ก็ด้วยความตะลึงในความเข้าใจผิดอันนี้แหละครับ เลยอยากจะเขียนถึงวิธีการหาคำตอบของโจทย์ข้อนี้ โดยจะเล่าถึงความหมายของแต่ละคำ แล้วก็วิธีการคิด + การทำงานนิดหน่อยน่ะครับ ก็อยากจะให้ทุกคนเข้าใจจริงๆมากกว่า (แม้ว่า space จะไม่ค่อยมีคนอ่าน😛 )

    Data Transfer Rate คือ อัตราการรับส่งข้อมูล ต่อ หนึ่งหน่วยเวลา พูดง่ายๆ(แล้วมั้ง) ก็คือปริมาณของข้อมูลที่รับ หรือส่งได้ในเวลาหนึ่ง ยกตัวอย่างง่ายๆที่คุ้นเคยกันดี ก็คือความเร็วของ Internet ที่ใช้กันอยู่ทุกวันนี้แหละครับ ว่าทำไมเน็ตแต่ละที่ถึงได้มีความเร็วแตกต่างกัน บางทีเล่นแล้วก็เร็ว บางที่เล่นแล้วก็ช้า ก็เพราะเข้าอัตราการรับส่งข้อมูลนี่แหละครับ ดังที่ได้เห็นใน package ของเน็ตต่างที่บอกว่ามีความเร็ว 1M บ้าง 2M บ้าง ซึ่ง M ในที่นี้มันก็คือ Mbps หรือ Mega bit per second แปลไทยก็ กี่ล้านบิตต่อวินาทีนั่นเอง เพราะฉะนั้นอัตรานี้ไม่ขึ้นกับความจุครับ ซึ่งยิ่งไฟล์ใหญ่มากก็ยิ่งใช้เวลาในการส่งเพิ่มขึ้นไป

    Access Time คือเวลาในการเข้าถึงข้อมูลบิตแรกที่ต้องการ ในกรณีของดิสก์แม่เหล็กนั้นก็คือ เวลาตั้งแต่ที่ออกคำสั่งเพื่อนำข้อมูลกลุ่มหนึ่งมา จนถึงเวลาที่หัวอ่านไปถึง ข้อมูลบิตแรกของข้อมูลทั้งหมดครับ ก็แบ่งออกได้เป็น 2 ส่วนคือ Seek Time แล้วก็ Rotational Latency หรือเขียนในรูปแบบของสมการก็คือ

             Access Time = Seek Time + Rotational Latency

โดยที่ Seek Time คือเวลาที่เลื่อนหัวอ่านไปยัง track ที่ต้องการ และ Rotational Latency คือเวลาที่ข้อมูลบิตแรกของ sector ที่ต้องการมาอ่านใต้หัวอ่านนั่นเอง

    ดังนั้นการหา Data Transfer Rate ของดิสก์แม่เหล็กนั้น ไม่เกี่ยวกับ Access Time ครับ เพราะ Access Time เป็นตัวบอกว่าโดยเฉลี่ยแล้วเราเข้าถึงข้อมูลที่ต้องการด้วยเวลาเท่าไหร่ แต่ Data Transfer Rate จะบอกถึงว่าเราสามารถรับ หรือส่งข้อมูลด้วยความเร็วเท่าไหร่ครับ ซึ่งปัจจัยที่เป็นตัวกำหนดค่าของ Data Tranfer Rate ก็คือความเร็วในการหมุนของดิสก์นี่แหละครับ ยิ่งหมุนได้เร็วก็ยิ่งสามารถอ่านข้อมูลได้มา นอกจากนี้ตัวกำหนดอีกตัวก็คือ ความจุข้อมูลต่อ 1 track ครับ ยิ่งจุข้อมูลได้มาก ก็จะยิ่งมี Data Tranfer Rate สูง เพราะฉะนั้นการหาค่าของ Data Transfer Rate ก็ทำได้จาก นำความเร็วของ ดิสก์คูณกับความจุข้อมูลต่อ 1 track นั่นเอง หรือเขียนเป็นสมการว่า

             Data Transfer Rate = ความเร็วในการหมุนของดิสก์ x ขนาดข้อมูลต่อ 1 track

แต่อาจจะต้องดูหน่วยซักนิดนึงคือ ความเร็วรอบของดิสก์ที่ปกติเราเห้นหรือใช้กันจะมีหน่วยเป็น rpm (round per minute) หรือรอบต่อวินาทีนั่นเอง (ถ้าไม่เคยเห็นก็ลองแงะเคสเอาฮาร์ดดิสก์ออกมาดูนะครับ ส่วนใหญ่ที่ใช้กันในปัจจุบันก็ 7200 rpm ครับ) แต่ว่าถ้าโจทย์ถามเป็นต่อวินาทีก็แค่เอาไปหารด้วย 60  

ปล.ถ้าอ่านแล้วงงก็แปลว่าผมเขียนไม่ดีเองนะครับ อย่าตกใจไป
ปล2.ถ้ามีข้อผิดพลาดประการใด ก็ขออภัยมา ณ ที่นี้ด้วยนะครับ แล้วก็ถามผิดตรงไหนก็ comment บอกไว้เลยครับ

Categories: Uncategorized
  1. dora_nan
    October 14, 2008 at 22:09

    โหหห มีสาระมากมายอ่า ^^

  2. ดนุภพ
    October 15, 2008 at 00:10

    ตอนเรียนกันเองไม่เห็นเขียนแบบนี้มังเลยฟระ -*-เทอมหน้ามาเขียนที่เราเรียนแบบนี้มั่งเดะ

  3. Panathon
    October 24, 2008 at 13:09

    พี่เตี๊ยยย
     
    กิ๊กเพิ่งมาอ่านของพี่อ่ะ
     
    เห้ยย
     
    กิ๊กเอาไปหารเรียบร้อยแล้วอ่ะ  -*- ไอพวก access time อ่ะพี่ 555555
     
    ซวยเลยเห้ยยยย >< กิ๊กเห็นเพื่อนมันเอาไปหารกิ๊กเลยเอาไปหารบ้าง
     
    กลัวผิด ไหงกลายเปนอย่างนี้ซะงั้น เวรกำ 55
     
     

  1. No trackbacks yet.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: