Mobile From Advance

16 January 2008

Persistent Storage, ความหมาย และความสำคัญ

ถอดความจาก Why Persistent Storage Is A Good Thing


สิ่งหนึ่งที่เป็นสาระสำคัญและเป็นของใหม่ในระบบปฏิบัติการ Windows Mobile 5 ก็คือ การใช้หน่วยความจำในลักษณะที่เรียกว่า Persistent Storage หรือ PS


Persistest Storage เป็นแนวทางการใช้หน่วยความจำสองแบบร่วมกัน คือใช้หน่วยความจำที่ไม่ต้องใช้ไฟเลี้ยง สำหรับเก็บข้อมูล และใช้หน่วยความจำความเร็วสูง แต่ต้องใช้ไฟเลี้ยง สำหรับทำงาน


ความจริงแนวทางนี้ไม่ใด้เป็นของใหม่ เพราะเราคุ้นเคยกับการใช้งานหน่วยความจำแบบนี้มาในคอมพิวเตอร์แล้ว เราใช้ RAM สำหรับทำงาน และใช้ Hard Disk สำหรับเก็บข้อมูล


และ Windows Mobile Smartphone ก็ใช้แนวทาง Persistent Storage อยู่ก่อนแล้ว


สำหรับ Pocket PC ที่ใช้ Windows Mobile 5 ก็เช่นกัน จะใช้ RAM สำหรับทำงาน และใช้ Flash ROM สำหรับเก็บข้อมูลและติดตั้งโปรแกรม


ถ้าเช่นนั้นแล้ว ก่อนหน้า Windows Mobile 5 สมัยนั้น Pocket PC จัดการกับ Memory อย่างไร





ภาพที่คุ้นตาอันหนึ่งบนจอ Pocket PC สมัยก่อนที่จะใช้ Windows Mobile 5 ก็คือ แผนผังของการจัดการหน่วยความจำที่แบ่งเป็นส่วน Storage และส่วน Program


แม้ว่า Pocket PC สมัยก่อน WM5 จะมีทั้ง Flash ROM และ RAM ไม่ต่างจากสมัย WM5


แต่การใช้งานต่างกัน


สมัยนั้น Flash ROM ยังมีราคาแพง ทำงานช้า และมีอายุการใช้งานจำกัด ทำให้ Pocket PC สมัยนั้นใช้ Flash ROM สำหรับเก็บระบบปฏิบัติการเท่านั้น ส่วนที่เหลือจากการติดตั้งระบบปฏิบัติการ ก็อาจจะนำมาใช้สำหรับเก็บข้อมูลและติดตั้งโปรแกรม แต่มีข้อแม้ว่า ควรจะเป็นข้อมูลหรือโปรแกรมที่ติดตั้งคงที่ ไม่มีการ Update บ่อยๆ เพื่อให้ใช้อ่านอย่างเดียว การเขียนทับแต่ละครั้งจะลดอายุการใช้งานของหน่วยความจำ


ส่วนข้อมูลที่เปลี่ยนแปลงบ่อยๆ ก็จะนำมาเก็บไว้ที่ RAM แทน โดยแบ่ง RAM ส่วนหนึ่งไว้ เป็นส่วน Storage ทำให้เราเห็นว่า Pocket PC สมัยนั้นมีการแบ่ง RAM ออกเป็นสองส่วน คือ Storage กับ Program


นั่นคือ กันเอา RAM ส่วนหนึ่งมาทำหน้าที่ของ Hard Disk


การจัดการหน่วยความจำแบบนี้พอใช้การได้ โดยมีขีดจำกัดที่เมื่อเก็บข้อมูลหรือติดตั้งโปรแกรมจำนวนมาก ก็จะไปเบียดบังส่วนของ Program หรือ Working Memory ทำให้เครื่องทำงานได้ช้าลง


เนื่องจาก RAM ต้องใช้ไฟเลี้ยง ดังนั้นหากออกแบบให้ RAM เยอะๆ จะได้ติดตั้งโปรแกรมและเก็บข้อมูลได้มากๆ เครื่องก็จะใช้ไฟมาก


และเนื่องจาก RAM จะต้องใช้ไฟเลี้ยง หากแบตเตอรีหมด ไฟเลี้ยงหมด หมายถึงข้อมูลและโปรแกรมที่ติดตั้งไว้ ก็จะหายไปด้วย


ขนาดของ RAM จึงนอกจากจะมีผลกับสมรรถนะของเครื่อง ยังมีผลกับการใช้พลังงาน และขนาดของแบตเตอรีด้วย


Pocket PC สมัยก่อน WM5 จะออกแบบให้หยุดการทำงานเมื่อแบตเตอรีเหลือน้อยลงถึงจุดหนึ่ง เพื่อใช้ไฟที่มีอยู่ รักษาข้อมูลใน RAM ไว้ จนกว่าจะนำไปชาร์จ ปกติจะกำหนดให้ไฟเหลือพอสำหรับการรักษาข้อมูลโดยไม่เปิดเครื่องได้นาน 72 ชั่วโมง


72 ชั่วโมง หรือ 3 วัน คือระยะเวลาสุดสัปดาห์ โดยมีสมมุติฐานว่า เราใช้งานจนแบตเตอรีหมดในวันศุกร์ เครื่องเปิดไม่ได้จนกระทั่งเรานำมาชาร์จในวันจันทร์


แต่หากเราลืมชาร์จนานกว่านั้น ก็หมายถึง RAM จะใช้ไฟจากแบตเตอรีจนหมด และข้อมูลก็จะหายไป เกิดอาการที่เรียกกันว่า Hard reset ทั้งข้อมูลและโปรแกรมที่ติดตั้งไว้ก็จะหายไปหมด


RAM ยิ่งมาก ยิ่งกินไฟมาก เช่น RAM ขนาด 64 MByte จะกินไฟมากกว่า RAM ขนาด 32 MByte ประมาณสองเท่าตามความจุ และ RAM ขนาด 128 MByte ก็จะกินไฟเป็นสี่เท่า


เพื่อให้สามารถรักษาข้อมูลไว้ได้ 72 ชั่วโมง ผู้ผลิตก็จะต้องออกแบบให้แบตเตอรีมีความจุมากพอ และตัดการทำงานเมื่อไฟเหลือสำหรับ RAM จะรักษาข้อมูลไว้ได้นานตามที่กำหนด


RAM ขนาด 64 MByte จะใช้ไฟประมาณ 250 mAH สำหรับการรักษาข้อมูลนาน 72 ชั่วโมง และ RAM ขนาด 128 MByte ใช้ไฟประมาณ 500 mAH สำหรับการรักษาข้อมูลนานเท่ากัน


นั่นคือ หาก Pocket PC ของเราใช้แบตเตอรีความจุ 1000 mAH และมี RAM ขนาด 128 MByte เราจะมีแบตเตอรีใช้จริงๆเพียง 500 mAH เท่านั้น ที่เหลือสำรองไว้รักษาข้อมูล


นั่นคือ ขณะที่ Pocket PC บอกว่า แบตเตอรีเหลือน้อยนั้น ความจริงอาจจะยังไม่ไฟเหลืออยู่ประมาณครึ่งหนึ่ง แต่นำมาใช้งานไม่ได้


เป็นเหตุผลหนึ่งที่ยังไม่มี Pocket PC ที่มี RAM ใหญ่ๆอย่าง 256 MByte เพราะแบตเตอรีจะต้องมีขนาดใหญ่มาก ทำให้ Pocket PC มีขนาดใหญ่ตามไปด้วย


แต่ Flash ROM จะใหญ่แค่ไหน ก็ไม่กินไฟ


และ Flash ROM รุ่นหลังๆ ก็มีความเร็วสูงขึ้น และเขียนได้บ่อยครั้งจนไม่ต้องห่วงเรื่องอายุการใช้งาน


Pocket PC รุ่นหลัง ซึ่งหน่วยความจำ Flash ในรูปแบบของ SD card หรือ CF card มีราคาถูกลง จึงมักจะติดตั้งโปรแกรมและเก็บข้อมูลไว้ใน Storage card เหล่านี้ เพื่อให้มีส่วนของ Working Memory เหลือไว้มากๆ


นั่นคือ เราได้เริ่มใช้แนวทางของคอมพิวเตอร์มาใช้กับ Pocket PC โดยใช้ Storage card ทำหน้าที่ของ Hard Disk มาระยะหนึ่งแล้ว


การจัดการหน่วยความจำแบบนี้ ทำให้เราไม่สูญเสียข้อมูลไปกับการ Hard reset เพราะไฟหมด แต่ก็ต้องมาติดตั้งโปรแกรมใหม่อยู่ดี เพราะข้อมูลพวก Registry ซึ่งจำเป็นสำหรับการทำงานของโปรแกรม ยังอยู่ในส่วน Storage ของ RAM


Persistent Storage เป็นแนวทางคล้ายๆกับการใช้ Storage card สำหรับติดตั้งโปรแกรมและเก็บข้อมูล แต่เป็นการจัดการด้วยระบบเองโดยตรง โดยใช้ส่วนของ Flash ROM ในตัวเครื่อง สำหรับติดตั้งโปรแกรมและเก็บข้อมูล รวมทั้งค่า Registry ต่างๆของโปรแกรมที่ติดตั้งด้วย ส่วน RAM ก็ใช้สำหรับเป็น Working Memory


ผลที่ได้คือ


  1. มี RAM ไว้ใช้งานมากขึ้น เพราะไม่ต้องกันส่วน Storage อีกต่อไป
  2. ไม่สูญเสียข้อมูลเมื่อแบตเตอรีหมด สามารถใช้งาน Pocket PC จนกระทั่งแบตเตอรีหมด เมื่อนำมาชาร์จใหม่ ก็ใช้งานต่อตามปกติ
  3. หมดความจำเป็นในการกันสำรองไฟในแบตเตอรี ทำให้ใช้แบตเตอรีที่จุน้อยลงได้ เครื่องรุ่นใหม่ที่ใช้ WM5 ก็จะมีขนาดเล็กลง หรือหากใช้แบตเตอรีความจุเท่าเดิม ก็จะใช้งานได้นานขึ้น

แต่ยังมีจุดที่เป็นข้อด้อย คือ Flash ROM จะทำงานช้ากว่า RAM ดังนั้นการติดตั้งโปรแกรมและเก็บข้อมูลใน Flash ROM ก็จะทำให้การเรียกโปรแกรมหรือข้อมูล จะใช้เวลานานขึ้น แต่การพัฒนาให้ Flash ROM มีความเร็วสูงขึ้นจะช่วยลดระยะเวลาตรงนี้ได้


และยังมีความเสี่ยงในเรื่องของการควบคุมคุณภาพ เพราะเราคงได้ยินเรื่องราวเกี่ยวกับปัญหาของ Flash ROM ที่เป็น Storage card เช่น SD card ทำงานบกพร่อง และทำให้สูญเสียข้อมูล


Flash ROM สำหรับ Persistent Storage ก็เสี่ยงต่อเรื่องนี้เช่นกัน การควบคุมคุณภาพอย่างใกล้ชิด จะลดปัญหานี้ลงได้ แต่เครื่องที่มีราคาถูก การควบคุมคุณภาพไม่เข้มงวด จะเสี่ยงต่อการรวนเพราะ Flash ROM ได้

No comments: