เทคโนโลยีรีดแชนแนลเบื้องต้นในฮาร์ดดิสก์ไดรฟ์ (Introduction to Read Channel Technology for Hard Disk Drives)

เทคโนโลยีรีดแชนแนลเบื้องต้นในฮาร์ดดิสก์ไดรฟ์
(Introduction to Read Channel Technology for Hard Disk Drives)

 

 
รองศาสตราจารย์ ดร. พรชัย ทรัพย์นิธิ
สาขาวิชาวิศวกรรมโทรคมนาคม คณะวิศวกรรมศาสตร์
และวิทยาลัยนวัตกรรมการจัดการข้อมูล (D*STAR)
สถาบันเทคโนโลยีพระจอมเกล้าเจ้าคุณทหารลาดกระบัง
 
 
          ในปัจจุบัน ฮาร์ดดิสก์ไดรฟ์จัดเป็นอุปกรณ์อิเล็กทรอนิกส์สำหรับการจัดเก็บข้อมูลที่สำคัญยิ่ง ฮาร์ดดิสก์ไดรฟ์แบ่งได้เป็นสองประเภทหลักได้แก่ ประเภทจานแม่เหล็ก (magnetic plate) และประเภทโซลิดเสตท (solid state) ฮาร์ดดิสก์ประเภทจานแม่เหล็กประกอบไปด้วยจานแม่เหล็ก หัวเขียน-อ่านและแผ่นพีซีบี (PCB) สำหรับประมวลข้อมูล ส่วนประเภทโซลิตเสตทประกอบด้วยไปด้วยแรม (RAM) และแผ่นพีซีบี ฮาร์ดดิสก์แบบแม่เหล็กยังคงมีความสำคัญมากเนื่องจากมีสัดส่วนในการเก็บข้อมูลของทั่วโลกสูงกว่า 95% [1] ทั้งนี้เนื่องจากได้เปรียบราคาต่อกิกะไบต์เมื่อเทียบกับเทคโนโลยีคู่แข่ง  คนทั่วไปส่วนใหญ่ไม่ทราบเลยว่าประเทศไทยนั้นเป็นแหล่งผลิตหลักของฮาร์ดดิสก์ไดรฟ์ในโลก โดยผู้ผลิตรายใหญ่ทั้งหมดได้ตั้งฐานการผลิตในประเทศไทยทั้งสิ้น บทความนี้มีวัตถุประสงค์เพื่อแนะนำส่วนประกอบหลักๆของเทคโนโลยีรีดแชนแนล (read channel technology) ในฮาร์ดดิสก์แบบแม่เหล็กซึ่งประกอบไปด้วยสองฝั่ง ในฝั่งเขียนจะเตรียมบิตข้อมูลผ่านรหัสหลายประเภทก่อนการบันทึกในแผ่นมีเดียและในฝั่งอ่านทำการประมวลสัญญาณทีอ่านได้เพื่อลดผลกระทบจากสัญญาณบิตข้างๆและสัญญาณรบกวนต่างๆ เพื่อให้อัตราบิตผิดพลาดที่ได้มีค่าที่ต่ำมาก
          ในรูปที่ 1 แสดงการเปรียบเทียบระหว่างการบันทึกข้อมูลแนวนอน (longitudinal magnetic recording: LMR) และแนวตั้ง (perpendicular magnetic recording: PMR) ในแบบแนวนอนขั้วแม่เหล็กแทนบิต ‘1’ และบิต ‘0’ จะชี้ไปทางขวาหรือซ้าย ในขณะที่แบบแนวตั้งขั้วแม่เหล็กขั้วแม่เหล็กแทนบิต ‘1’ และบิต ‘0’ จะชี้ไปด้านบนหรือล่างแทน การเปลี่ยนขั้วแม่เหล็กหรือเปลี่ยนทรานซิชัน (transition) จะเกิดขึ้นเมื่อบิตข้อมูลเปลี่ยนไปจากบิตก่อนหน้าเท่านั้น ยกตัวอย่างเช่น ในการบันทึกแนวตั้ง ถ้าให้บิตข้อมูลเป็น ‘0 0 1 1 1 1 1 0 0 0 1 1’ ขั้วแม่เหล็กที่เขียนคือ ↓ ↓ ↑ ↑ ↑ ↑ ↑ ↓ ↓ ↓ ↑ ↑ จะมีการเปลี่ยนขั้วเพียงสามขั้วบริเวณบิตที่ขีดเส้นใต้เท่านั้น
 
ก.                                                    ข.
รูปที่ 1 การบันทึกข้อมูลในการบันทึกข้อมูลแบบ ก. แนวนอน (LMR) และ ข. แนวตั้ง (PMR)
 
          ในปัจจุบันฮาร์ดดิสก์ใช้เทคโนโลยีแบบแนวตั้งหรือแบบพีเอ็มอาร์เป็นหลัก หัวเขียน-อ่านที่สร้างอยู่บนสไลเดอร์ (slider) เดียวกันจะลอยอยู่เหนือแผ่นมีเดีย (media) หรือแผ่นดิสก์ด้วยความสูงต่ำกว่า 10 ไมโครนิ้ว (2.5 นาโนเมตร) การลอยนั้นเกิดขึ้นเนื่องจากแผ่นดิสก์หมุนด้วยความเร็วระหว่าง 5,400 ถึง 11,000 รอบต่อนาทีก่อให้เกิดลมยกตัวสไลเดอร์ขึ้น ในการบันทึกหรือเขียนข้อมูลนั้นหัวเขียนทำการเหนี่ยวนำขั้วแม่เหล็กในบริเวณแทร็กของมีเดียที่อยู่ข้างใต้ การเขียนบิตจะทำทีละเซ็กเตอร์ (sector) ขนาดเท่ากับ 512 ถึง 4000 ไบต์โดยเขียนบนแทร็กเป็นวงกลมในแนวรัศมี ก่อนใช้งานจะมีการเขียนบิตเซอร์โว (servo) กระจายอยู่รอบๆ แทร็กเพื่อแสดงตำแหน่งของแต่ละเซ็กเตอร์และแทร็กได้ ในปัจจุบันแผ่นมีเดียแต่ละแผ่นมีจำนวนแทร็กที่ใช้งานได้มากกว่า 100,000 แทร็ก ความหนาแน่นข้อมูลพื้นที่ (areal density) มีมากกว่า 500 กิกะบิตต่อตารางนิ้ว (Gb/in2) ในการอ่านข้อมูลที่ต้องการตัวสไลเดอร์จะเคลื่อนที่ไปยังรัศมีของแทร็กที่ต้องการจากนั้นทำการตรวจวัดความแรงสนามแม่เหล็กของแต่ละบิตในเซ็กเตอร์ (sector) ระดับสนามแม่เหล็กที่วัดได้จะถูกแปลงเป็นสัญญานไฟฟ้าเรียกว่า สัญญาณอ่านกลับ (readback signal) ที่มีแอมพลิจูดต่ำมากและจะถูกขยายด้วยวงจรพรีแอมป์ (pre-amplifier) ให้อยู่ในระดับเป็นมิลลิโวลต์ ทั้งนี้สัญญาณที่อ่านกลับนี้จะมีรูปร่างแตกต่างสัญญาณที่ควรจะเป็นอันเป็นผลมาจากสัญญาณรบกวนและการทับซ้อนสัญญาณจากบิตข้าง ๆ
          ฮาร์ดดิสก์ที่ใช้งานจริงต้องปกป้องข้อมูลด้วยความถูกต้องสูงยิ่ง โดยมีอัตราบิตผิดพลาด (bit error rate) ในระดับ 10-12 ถึง 10-15 ตัวเลข 10-12 หมายความว่าในทุกๆ 1 ล้านล้านบิตที่ทำการบันทึกหรือเขียนลงบนแผ่นดิสก์ เมื่ออ่านสัญญาณอ่านกลับและผ่านการประมวลผลในรัดแชนแนลแล้ว บิตที่ตัดสินใจจะต้องมีอัตราบิตผิดพลาดโดยเฉลี่ยไม่เกิน 1 บิต คำถามก็คือเราออกแบบระบบอ่าน-เขียนข้อมูลในส่วนของการประมวลผลหรือรีดแชนแนลให้ลดอัตราบิตผิดพลาดต่ำขนาดนี้ได้อย่างไร

รูปที่ 2 วิวัฒนาการวงจรดีเท็กส์สัญญาณอ่านกลับ [2]

          ในการตรวจจับสัญญาณอ่านกลับนี้ในอดีตทำได้ด้วยวงจรตรวจจับยอด(peak detector) ในกรณีที่ความหนาแน่นบิตพื้นที่ไม่มากเทคนิคนี้ใช้ได้ดี แต่เมื่อข้อมูลที่เขียนหนาแน่นขึ้น การ ทับซ้อนของบิตด้านข้างในสัญญาณอ่านกลับจะสูงขึ้น เรียกปรากฏการณ์นี้ว่าการแทรกสอดสัญลักษณ์ (intersymbol interference) โดยปกติพบว่ามีจำนวนบิตด้านข้างอย่างน้อย 15 บิตที่สร้างผลกระทบดังกล่าว ปัญหานี้ได้รับการแก้ไขด้วยวงจรตรวจจับพีอาร์เอ็มแอล (PRML – partial-response maximum likelihood detector) [3] โดยมีการใช้วงจรปรับเท่า (equalizer) ที่เป็นฟิลเตอร์แบบ FIR (finite impulse response) ทำให้สัญญาณอ่านกลับมีการทับซ้อนของบิตด้านข้างจำนวนน้อยลงจากเดิม โดยช่องสัญญาณอยู่ในรูปใหม่ที่เรียกว่า พีอาร์ทาร์เก็ต (PR target) ในระบบดิจิทัลเราสามารถโปรแกรมทาร์เก็ตเหล่านี้เพื่อให้น็อยส์ที่ด้านเอาต์พุตมีค่าสหสัมพันธ์ (correlation) ระหว่างบิตต่ำสุดได้ อีกนัยหนึ่งก็คือเราต้องการให้แต่ละบิตมีความเกี่ยวข้องกันให้น้อยที่สุด หลังจากนั้นจะใช้วงจรตรวจจับวิเทอร์บิ (Viterbi detector) ทำการตัดสินใจว่าบิตที่เขียนบนแผ่นดิสก์ในแต่ละเซ็กเตอร์คืออะไร
          หลังจากยุคของเทคโนโลยี PRML ก็มีการพัฒนาเทคโนโลยีที่สำคัญอื่นๆ เพิ่มเติมได้แก่ รหัสพาริตี้เพิ่มระยะห่าง (DEPC: distance-enhancing parity code) และการจัดการน็อยส์ที่ขึ้นกับบิตข้อมูล (data-dependent noise)  รหัส DEPC ทำการแปลงบิตข้อมูลแต่ละ 60 บิตให้เป็นรหัส 61 บิต โดยรหัสแต่ละชุดมีบิตที่แตกต่างกันจำนวน 2 บิตเสมอและเมื่อทำงานร่วมกับวงจรวิเทอร์บิแล้วจะทำให้อัตราบิตผิดพลาดต่ำลง นอกจากนั้นรหัสที่ได้นี้มีรูปแบบจำเพาะ คือบังคับให้มีจำนวนเลข ‘0’ ระหว่างเลข ‘1’ สูงสุดไม่เกิน k บิต เป็นผลให้การตรวจจับจังหวะของสัญญาณเวลาทำได้ง่ายขึ้น สำหรับน็อยส์จิตเตอร์ (jitter noise) เกิดขึ้นเฉพาะบริเวณที่มีการเปลี่ยนทรานสิชัน (transition) ดังนั้นจัดเป็นน็อยส์ที่ขึ้นอยู่กับบิตที่บันทึก เมื่อทำการออกแบบให้เลือกทาร์เก็ตได้หลายแบบขึ้นอยู่กับปริมาณน็อยส์และทำงานร่วมกับวงจรตรวจจับวิเทอร์บิก็จะทำให้สมรรถนะของระบบสูงขึ้น เราเรียกวงจรที่จัดการน็อยส์ประเภทนี้ว่า วงจรตรวจจับ Pattern Dependent Noise Prediction (PDNP detector) [4]
          เมื่อประมาณ 5 ปีที่ผ่านมาเทคโนโลยีรีดแชนแนลก้าวกระโดดด้วยการนำเทคโนโลยีการประมวลผลวนลูป (iterative processing) เข้ามาใช้เรียกว่า แชนแนลวนลูป (iterative channel) ทั้งนี้สามารถลดบิตผิดพลาดได้เพิ่มขึ้นด้วยพลังของรหัสวนลูป (iterative code)  ได้แก่รหัสแอลดีพีซี (LDPC – Low-density parity-check code) [5] ซึ่งทำการถอดรหัสวนลูปหลายๆ รอบ และด้วยการใช้อัลกอริทึมบีพี (BP – belief propagation) ในการถอดรหัสให้ค่าความน่าเชื่อถือ (reliability) ในรูปของค่า LLR (Log Likelihood Ratio) เป็นค่าทศนิยมแทนที่การถอดรหัสแล้วตัดสินใจเป็นบิตทันที ทั้งนี้ไอเดียหลักก็คือการถอดรหัสบิตสองบิตแล้วได้บิต ‘0’ เหมือนกันอาจมีความเชื่อมั่นไม่เท่ากันก็ได้ รูปที่ 3 แสดงตัวอย่างค่า LLR จะเห็นว่าค่า LLR


รูปที่ 3 ค่า LLR ของบิตหนึ่งและบิตศูนย์
 
ค่าบวก (มากกว่า 0) ทางด้านขวาจะทำให้ตัดสินใจว่าบิตนั้นเป็นบิต ‘1’ แต่ถ้าค่า LLR ต่ำไปก็ทำให้ความเชื่อถือต่ำลง ดังนั้นจึงไม่ควรตัดสินใจทันที แต่ควรนำค่านี้กลับไปวนลูปการถอดรหัสต่อไป ในทำนองเดียวกันค่า LLR ของบิตที่จะตัดสินใจเป็นบิต ‘0’ ทางด้านซ้ายเป็นค่าลบ
          ในรูปที่ 4 แทนระบบการเขียน-อ่านจากมุมมองของการประมวลผลในรีดแชนแนลในปัจจุบัน จะเห็นว่ามีการใช้รหัส 3 ระดับ ได้แก่ รหัสพาริตี้เพิ่มระยะห่าง (DEPC) รหัส ECC (error correction code) ได้แก่ รหัสรีดโซโลมอน (Reed-Solomon code) และรหัสแอลดีพีซี เป็นต้นลำดับของรหัส DEPC ที่นำหน้ารหัสรีดโซโลมอนนี้เป็นการสลัดลำดับ (reverse concatenation) ที่ปรากฏในระบบที่ใช้ในอดีต ทั้งนี้เพื่อให้เอื้อต่อการใช้เทคนิคประมวลผลวนลูป นอกจากนี้สังเกตว่าวงจรตรวจจับที่ใช้อัลกอริทึมวิเทอร์บิ ถูกเปลี่ยนเป็นอัลกอริทึม SOVA (soft-output Viterbi algorithm) ที่ให้เอาต์พุตเป็นค่าความน่าเชื่อถือแทนบิต การวนลูปจะเกิดขึ้นที่วงจรถอดรหัสแอลดีพีซี และสามารถย้อนกลับมาที่บล็อกวงจร SOVA ก็ได้
          ในอนาคต เทคโนโลยีในรีดแชนแนลจะใช้รหัสแอลดีพีซีที่มีประสิทธิภาพสูงกว่าในปัจจุบันและมีแนวโน้มสูงที่จะยกเลิกการใช้รหัสรีดโซโลมอน ซึ่งเป็นส่วนหนึงในภาคการประมวลผลมายาวนานหลายทศวรรษ ทั้งนี้ถือเป็นการวิวัฒนาการของเทคโนโลยีรีดแชนแนลสำหรับฮาร์ดดิสก์ที่จุข้อมูลได้มากขึ้น มีความถูกต้องและประสิทธิภาพที่สูงขึ้นนั่นเอง
 
 
 
รูปที่ 4 ภาคการประมวลผลสัญญาณหลักในรีดแชนแนล [6]

 
เอกสารอ้าง
[1] N. Honda, “Social Impact of Mass Storage,” in Proc. of the Ninth Perpendicular Magnetic Recording Conference (PMRC 2010), May 17 - 19, 2010, Sendai, Japan.
[2] R. Galbraith and T. Oenning,”IterativeDetection ReadChannelTechnology in Hard Disk Drives,” HGST website: http://www.hitachigst.com/
[3] H. Thapar, A. Patel,” A class of partial response systems for increasing storage density in magnetic recording,” IEEE Trans. Magn., vol. 23, no. 5, pp. 3666-3668, Sept. 1987.
[4] J. Moon and J. Park, “Pattern-dependent noise prediction in signal dependent noise,” IEEE J. Sel. Areas Commun., vol. 19, no. 4, pp. 730–743, Apr. 2001.
[5] B. Vasic, Kurtas, E.M. Kuznetsov,” LDPC codes based on mutually orthogonal latin rectangles and their application in perpendicular magnetic recording,” IEEE Trans. Magn., vol. 38, no. 5, pp. 2346-2348, Sept. 2002.
[6] พรชัย ทรัพย์นิธิ, เนื้อหาประกอบการสอนวิชาการประมวลสำหรับการบันทึกข้อมูล (Signal Processing for Disk Data Storage) สาขาวิชาวิศวกรรมโทรคมนาคม คณะวิศวกรรมศาสตร์ และวิทยาลัยนวัตกรรมการจัดการข้อมูล (D*STAR) สถาบันเทคโนโลยีพระจอมเกล้าเจ้าคุณทหารลาดกระบัง


 

พรชัย ทรัพย์นิธิ จบการศึกษาปริญญาตรีและโทสาขาวิศวกรรมไฟฟ้า จาก University of Rochester มลรัฐนิวยอร์คและ University of Southern California มลรัฐแคลิฟอร์เนีย ประเทศสหรัฐอเมริกาในปี พ.ศ. 2538 และ 2540 ตามลำดับ และจบปริญญาเอกสาขาวิศวกรรมไฟฟ้า(เน้นเทคโนโลยีสื่อสาร) จาก Georgia Institute of Technology มลรัฐจอร์เจีย ประเทศสหรัฐอเมริกา ในปีพ.ศ. 2545

ประสบการณ์ทำงานได้แก่ องค์การดาวเทียมสื่อสารระหว่างประเทศ (INTELSAT) มลรัฐวอชิงตันดีซี ในปีพ.ศ. 2538, บริษัท Intellicom, Inc. ในปีพ.ศ. 2540 และบริษัท Calimetrics,Co. มลรัฐแคลิฟอร์เนีย ในปีพ.ศ. 2544-2545

ปัจจุบันดำรงตำแหน่งรองศาสตราจารย์ สังกัดสาขาวิชาวิศวกรรมโทรคมนาคม คณะวิศวกรรมศาสตร์ สถาบันเทคโนโลยีพระจอมเกล้าเจ้าคุณทหารลาดกระบัง และตำแหน่งAdjunct professor สถาบันเทคโนโลยีแห่งเอเชีย (Asia Institute of Technology) นอกจากนี้เป็นสมาชิกขององค์กร ECTI, IEICE และสมาชิกอาวุโส (senior member) ขององค์กร IEEE งานวิจัยที่มีความสนใจได้แก่ ทฤษฎีสื่อสารและการประมวลผลในระบบสื่อสารและการบันทึกข้อมูล รหัสแก้ไขความผิดพลาด การศึกษาชั้นบรรยากาศโทรโพสเฟียร์ ไอโอโนสเฟียรและผลกระทบต่อระบบการสื่อสารดาวเทียม รวมทั้งเทคโนโลยีวิทยุบังคับด้วยซอฟต์แวร์ (software defined radio) 

 

Back to E-magazine List
 

ECTI Association
99 M.18 Paholyothin Rd., Klong Luang, Pathumthani 12120, THAILAND
E-mail: ecti.secretary@gmail.com
Find us on: