eMMC Flash Memory สามารถใช้งานได้กับอุปกรณ์พกพาได้อย่างไร แต่ไม่ใช่พีซี
แนะนำให้ใช้หน่วยความจำแฟลชเพื่อเรียกใช้ระบบเดสก์ท็อปเช่น Windows มาระยะหนึ่งแล้ว แต่อะไรที่ทำให้มันเป็นตัวเลือกที่พึงประสงค์และเป็นไปได้สำหรับอุปกรณ์มือถือ? โพสต์ SuperUser คำถาม & คำตอบนี้มีคำตอบสำหรับคำถามของผู้อ่านที่อยากรู้อยากเห็น.
เซสชั่นคำถามและคำตอบในวันนี้มาถึงเราด้วยความอนุเคราะห์จาก SuperUser - แผนกย่อยของ Exchange Exchange ซึ่งเป็นกลุ่มที่ขับเคลื่อนด้วยชุมชนของเว็บไซต์ถาม - ตอบ.
คำถาม
เครื่องอ่าน SuperUser RockPaperLizard ต้องการทราบว่าอะไรทำให้หน่วยความจำแฟลช eMMC ทำงานได้ในอุปกรณ์พกพา แต่ไม่ใช่พีซี:
นับตั้งแต่มีการคิดค้นแฟลชไดรฟ์ USB ผู้คนต่างก็สงสัยว่าพวกเขาสามารถเรียกใช้ระบบปฏิบัติการได้หรือไม่ คำตอบคือ“ ไม่” อยู่เสมอเพราะจำนวนการเขียนที่ระบบปฏิบัติการต้องการจะทำให้หมดไปอย่างรวดเร็ว.
เนื่องจาก SSD ได้รับความนิยมมากขึ้นเทคโนโลยีการปรับระดับการสึกหรอจึงได้รับการปรับปรุงเพื่อให้ระบบปฏิบัติการทำงานได้ แท็บเล็ตเน็ตบุ๊กและคอมพิวเตอร์ที่บางอื่น ๆ ใช้หน่วยความจำแฟลชแทนฮาร์ดไดรฟ์หรือ SSD และระบบปฏิบัติการจะถูกเก็บไว้.
ทันใดนั้นเรื่องนี้เกิดขึ้นจริงได้อย่างไร? พวกเขามักจะใช้เทคโนโลยีระดับการสึกหรอหรือไม่?
อะไรทำให้หน่วยความจำแฟลช eMMC ทำงานได้ในอุปกรณ์พกพา แต่ไม่ใช่พีซี?
คำตอบ
ผู้สนับสนุน SuperUser Speeddymon และ Journeyman Geek มีคำตอบสำหรับเรา ก่อนอื่น Speeddymon:
อุปกรณ์หน่วยความจำแฟลชทั้งหมดตั้งแต่แท็บเล็ตไปจนถึงโทรศัพท์มือถือสมาร์ทวอทช์ SSDs การ์ด SD ในกล้องและไดรฟ์หัวแม่มือ USB ใช้เทคโนโลยี NVRAM ข้อแตกต่างคือในสถาปัตยกรรม NVRAM และวิธีที่ระบบปฏิบัติการติดตั้งระบบไฟล์บนสื่อบันทึกข้อมูลใดก็ตามที่เปิดอยู่.
สำหรับแท็บเล็ต Android และโทรศัพท์มือถือเทคโนโลยี NVRAM นั้นใช้ eMMC ข้อมูลที่ฉันสามารถค้นหาเกี่ยวกับเทคโนโลยีนี้แนะนำระหว่าง 3k ถึง 10k รอบการเขียน น่าเสียดายที่ไม่มีสิ่งใดที่ฉันค้นพบในตอนนี้มีความชัดเจนเนื่องจากวิกิพีเดียนั้นว่างเปล่าในวัฏจักรการเขียนของเทคโนโลยีนี้ สถานที่อื่น ๆ ทั้งหมดที่ฉันเคยเห็นเป็นฟอรัมต่าง ๆ ดังนั้นฉันจึงไม่ค่อยเรียกแหล่งที่เชื่อถือได้.
เพื่อประโยชน์ในการเปรียบเทียบวงจรการเขียนบนเทคโนโลยี NVRAM อื่นเช่น SSD ซึ่งใช้เทคโนโลยี NAND หรือ NOR อยู่ระหว่าง 10k และ 30k.
ตอนนี้เกี่ยวกับทางเลือกของระบบปฏิบัติการว่าจะเมาท์ระบบไฟล์อย่างไร ฉันไม่สามารถพูดเกี่ยวกับวิธีที่ Apple ทำ แต่สำหรับ Android ชิปจะถูกแบ่งพาร์ติชั่นออกมาเหมือนฮาร์ดไดรฟ์ คุณมีพาร์ติชันระบบปฏิบัติการพาร์ติชันข้อมูลและพาร์ติชันที่เป็นกรรมสิทธิ์อื่น ๆ ขึ้นอยู่กับผู้ผลิตอุปกรณ์.
พาร์ติชันรูทจริงอาศัยอยู่ใน bootloader ซึ่งรวมเป็นไฟล์บีบอัด (jffs2, cramfs, ฯลฯ ) พร้อมกับเคอร์เนลเพื่อให้เมื่อการบู๊ตสเตจ 1 เสร็จสมบูรณ์ (หน้าจอโลโก้ของผู้ผลิตปกติ) จากนั้นเคอร์เนล บูทและพาร์ทิชันรูทจะถูกเมาท์พร้อมกันเป็นดิสก์ RAM.
เมื่อระบบปฏิบัติการบูทขึ้นระบบจะติดตั้งระบบไฟล์ของพาร์ติชันหลัก (/ ระบบซึ่งเป็น jffs2 บนอุปกรณ์ก่อน Android 4.0, ext2 / 3/4 บนอุปกรณ์ตั้งแต่ Android 4.0 และ xfs บนอุปกรณ์ล่าสุด) เป็นแบบอ่านอย่างเดียวดังนั้น ไม่มีข้อมูลที่สามารถเขียนลงไปได้ แน่นอนว่าวิธีนี้สามารถใช้งานได้โดยเรียกว่า "การรูท" ของอุปกรณ์ของคุณซึ่งช่วยให้คุณเข้าถึงได้ในฐานะผู้ใช้ขั้นสูงและช่วยให้คุณสามารถติดตั้งพาร์ติชั่นใหม่เป็นอ่าน / เขียน ข้อมูล“ ผู้ใช้” ของคุณถูกเขียนไปยังพาร์ติชันที่แตกต่างกันบนชิป (/ data ซึ่งปฏิบัติตามข้อตกลงเดียวกันกับข้างต้นโดยยึดตามเวอร์ชั่น Android).
ด้วยโทรศัพท์มือถือที่เพิ่มช่องเสียบ SD การ์ดมากขึ้นเรื่อย ๆ คุณอาจคิดว่าคุณจะถึงขีด จำกัด การเขียนเร็วขึ้นเนื่องจากข้อมูลทั้งหมดของคุณกำลังถูกบันทึกในที่จัดเก็บ eMMC แทนที่จะเป็นการ์ด SD โชคดีที่ระบบไฟล์ส่วนใหญ่ตรวจพบการเขียนที่ล้มเหลวไปยังพื้นที่เก็บข้อมูลที่กำหนด หากการเขียนล้มเหลวข้อมูลจะถูกบันทึกลงในพื้นที่จัดเก็บข้อมูลใหม่อย่างเงียบ ๆ และพื้นที่ที่ไม่ดี (เรียกว่าบล็อกที่ไม่ดี) จะถูกตัดสายโดยไดรเวอร์ระบบไฟล์เพื่อไม่ให้มีการเขียนข้อมูลในอนาคตอีกต่อไป หากการอ่านล้มเหลวข้อมูลจะถูกทำเครื่องหมายว่าเสียหายและผู้ใช้จะได้รับแจ้งให้เรียกใช้การตรวจสอบระบบไฟล์ (หรือตรวจสอบดิสก์) หรืออุปกรณ์ตรวจสอบระบบไฟล์โดยอัตโนมัติในระหว่างการบูตครั้งถัดไป.
ตามความเป็นจริงแล้ว Google มีสิทธิบัตรในการตรวจจับและจัดการบล็อกเสียโดยอัตโนมัติ: การจัดการบล็อกเสียในหน่วยความจำแฟลชสำหรับแฟลชการ์ดข้อมูลอิเล็กทรอนิกส์
เพื่อให้ได้ประเด็นมากขึ้นคำถามของคุณว่าทำไมเรื่องนี้ถึงได้กลายเป็นจริงได้กลายเป็นคำถามที่ไม่ถูกต้อง มันไม่เคยทำในตอนแรก ขอแนะนำอย่างยิ่งต่อการติดตั้งระบบปฏิบัติการ (Windows) บน SSD (น่าจะเป็น) เนื่องจากจำนวนการเขียนข้อมูลที่ส่งไปยังดิสก์.
ตัวอย่างเช่นสตรีจะได้รับการอ่านและเขียนนับร้อยต่อวินาทีซึ่งสามารถเห็นได้ด้วยเครื่องมือ Regmon ของ Microsoft-SysInternals.
แนะนำให้ติดตั้ง Windows บน SSD รุ่นแรกเนื่องจากขาดการสวมระดับข้อมูลที่เขียนไปยังรีจิสทรีทุกวินาที (น่าจะ) ในที่สุดก็ถึงผู้ใช้ในช่วงต้นและส่งผลให้ระบบไม่สามารถบูตได้เนื่องจากความเสียหายของรีจิสทรี.
ด้วยแท็บเล็ตโทรศัพท์มือถือและอุปกรณ์ฝังตัวอื่น ๆ ที่มีอยู่มากมายจึงไม่มีการลงทะเบียน (อุปกรณ์ Windows Embedded เป็นข้อยกเว้นแน่นอน) ดังนั้นจึงไม่ต้องกังวลว่าข้อมูลจะถูกเขียนลงในส่วนเดียวกันของสื่อแฟลชอย่างต่อเนื่อง.
สำหรับอุปกรณ์ Windows Embedded เช่น kiosks จำนวนมากที่พบในสถานที่สาธารณะ (เช่น Walmart, Kroger เป็นต้น) ซึ่งคุณอาจเห็น BSOD แบบสุ่มเป็นครั้งคราวไม่มีการกำหนดค่าจำนวนมากที่สามารถทำได้เนื่องจากพวกเขา ถูกออกแบบมาล่วงหน้าด้วยการกำหนดค่าที่ตั้งใจไว้ว่าจะไม่เปลี่ยนแปลง การเปลี่ยนแปลงที่เกิดขึ้นครั้งเดียวเท่านั้นก่อนที่ชิปจะถูกเขียนในกรณีส่วนใหญ่ ทุกสิ่งที่จำเป็นต้องบันทึกเช่นการชำระเงินของคุณไปยังร้านขายของชำจะทำผ่านเครือข่ายไปยังฐานข้อมูลของร้านค้าบนเซิร์ฟเวอร์.
ตามด้วยคำตอบจาก Journeyman Geek:
คำตอบคือ“ ไม่” อยู่เสมอเพราะจำนวนการเขียนที่ระบบปฏิบัติการต้องการจะทำให้หมดไปอย่างรวดเร็ว.
ในที่สุดพวกเขาก็กลายเป็นต้นทุนที่มีประสิทธิภาพสำหรับการใช้งานหลัก “ การสวมใส่” นั้นเป็นข้อกังวลเพียงอย่างเดียวคือข้อสันนิษฐานเล็กน้อย มีระบบที่ใช้หน่วยความจำโซลิดสเตตเป็นระยะเวลานานพอสมควร หลายคนที่สร้างรถยนต์ -puters เปิดตัวออกจากการ์ด CF (ซึ่งเป็นระบบไฟฟ้าที่เข้ากันได้กับ PATA และการติดตั้งเล็กน้อยเมื่อเทียบกับฮาร์ดไดรฟ์ PATA) และคอมพิวเตอร์อุตสาหกรรมมีการจัดเก็บข้อมูลแฟลชขนาดเล็กที่ทนทาน.
ที่กล่าวว่ามีตัวเลือกไม่มากสำหรับคนทั่วไป คุณสามารถซื้อการ์ด CF ราคาแพงและอะแดปเตอร์สำหรับแล็ปท็อปหรือหาดิสก์อุตสาหกรรมขนาดเล็กที่มีราคาแพงมากบนโมดูลหน่วยสำหรับเดสก์ท็อป พวกเขาไม่ได้มีขนาดใหญ่มากเมื่อเทียบกับฮาร์ดไดรฟ์ร่วมสมัย (IDE DOM ยุคใหม่ที่อยู่ด้านบนที่ 8GB หรือ 16GB ฉันคิดว่า) ฉันค่อนข้างมั่นใจว่าคุณสามารถตั้งค่าไดรฟ์ระบบโซลิดสเตตได้ก่อนที่ SSD ทั่วไปจะกลายเป็นเรื่องปกติ.
ไม่เคยมีการปรับปรุงสากล / เวทมนต์ใด ๆ ในการปรับระดับการสึกหรอเท่าที่ฉันรู้ มีการปรับปรุงที่เพิ่มขึ้นในขณะที่เราย้ายจาก SLC ไปเป็น MLC ราคาแพง TLC และแม้แต่ QLC พร้อมกับขนาดของกระบวนการที่เล็กลง (ทั้งหมดนี้มีต้นทุนที่ต่ำกว่าและมีความเสี่ยงสูงที่จะสึกหรอ) Flash มีราคาถูกกว่ามาก.
นอกจากนี้ยังมีทางเลือกสองสามอย่างที่ไม่ได้มีปัญหาการสวมใส่ ตัวอย่างเช่นการเรียกใช้ระบบทั้งหมดออกจาก ROM (ซึ่งเป็นที่เก็บข้อมูลสถานะของแข็ง) และ RAM ที่ได้รับการสนับสนุนจากแบตเตอรี่ซึ่ง SSD และอุปกรณ์พกพาจำนวนมากเช่น Palm Pilot ใช้ ไม่มีสิ่งเหล่านี้เป็นเรื่องธรรมดาในวันนี้ ฮาร์ดไดรฟ์สั่นสะเทือนเมื่อเปรียบเทียบกับแบตเตอรี่สำรองแรม (แพงเกินไป) อุปกรณ์โซลิดสเตตเร็ว (ค่อนข้างแพง) หรือชาวนาที่มีธง (ไม่เคยติดเนื่องจากความหนาแน่นของข้อมูลแย่มาก) แม้กระทั่งหน่วยความจำแฟลชที่ทันสมัยเป็นลูกหลานของ eeproms ที่ลบอย่างรวดเร็วและ eeproms ถูกนำมาใช้ในอุปกรณ์อิเล็กทรอนิกส์สำหรับจัดเก็บสิ่งต่าง ๆ เช่นเฟิร์มแวร์สำหรับทุกวัย.
ฮาร์ดไดรฟ์อยู่ที่จุดตัดที่มีปริมาณมาก (ซึ่งเป็นสิ่งสำคัญ) ราคาประหยัดและพื้นที่เก็บข้อมูลที่เพียงพอ.
เหตุผลที่คุณพบ eMMC ในคอมพิวเตอร์ยุคใหม่และยุคต่ำคือส่วนประกอบมีราคาถูกขนาดใหญ่พอ (สำหรับระบบปฏิบัติการเดสก์ท็อป) ในราคานั้นและใช้งานร่วมกันกับส่วนประกอบโทรศัพท์มือถือดังนั้นจึงผลิตเป็นกลุ่มด้วยอินเตอร์เฟสมาตรฐาน พวกเขายังให้ความหนาแน่นสูงของการจัดเก็บสำหรับปริมาณของพวกเขา เมื่อพิจารณาจากเครื่องเหล่านี้หลายตัวมีไดรฟ์ขนาดเล็ก 32GB หรือ 64GB เทียบกับฮาร์ดไดรฟ์จากส่วนที่ดีกว่าของทศวรรษที่ผ่านมาพวกเขาเป็นตัวเลือกที่เหมาะสมในบทบาทนี้.
ในที่สุดเราก็มาถึงจุดที่คุณสามารถเก็บหน่วยความจำได้พอสมควรและด้วยความเร็วที่เหมาะสมบน eMMCs และแฟลชซึ่งเป็นเหตุผลว่าทำไมคนถึงไปหาพวกเขา.
มีสิ่งที่จะเพิ่มคำอธิบายหรือไม่ ปิดเสียงในความคิดเห็น ต้องการอ่านคำตอบเพิ่มเติมจากผู้ใช้ Stack Exchange คนอื่นหรือไม่ ลองอ่านหัวข้อสนทนาเต็มได้ที่นี่.
เครดิตภาพ: Martin Voltri (Flickr)