Sử dụng bộ nhớ flash để chạy một hệ thống máy tính để bàn, như Windows, đã được khuyến cáo không nên sử dụng trong một thời gian khá dài. Nhưng điều gì đã khiến nó trở thành một lựa chọn đáng mơ ước và khả thi cho các thiết bị di động? Bài đăng Hỏi & Đáp của SuperUser hôm nay có câu trả lời cho câu hỏi của một độc giả tò mò.
Phiên Hỏi & Đáp hôm nay đến với chúng tôi với sự hỗ trợ của SuperUser — một phân nhánh của Stack Exchange, một nhóm các trang web Hỏi & Đáp do cộng đồng điều hành.
Câu hỏi
Trình đọc SuperUser RockPaperLizard muốn biết điều gì làm cho bộ nhớ flash eMMC khả thi trong các thiết bị di động, nhưng không phải PC:
Kể từ khi ổ đĩa flash USB được phát minh, mọi người đã tự hỏi liệu họ có thể chạy hệ điều hành trên đó hay không. Câu trả lời luôn là “không” bởi vì số lần ghi được yêu cầu bởi một hệ điều hành sẽ nhanh chóng làm hao mòn chúng.
Khi SSD trở nên phổ biến hơn, công nghệ cân bằng độ mòn đã được cải thiện để cho phép hệ điều hành chạy trên chúng. Nhiều máy tính bảng, netbook và máy tính mỏng khác sử dụng bộ nhớ flash thay vì ổ cứng hoặc SSD và hệ điều hành được lưu trữ trên đó.
Làm thế nào mà điều này đột nhiên trở thành thực tế? Ví dụ, họ có thường triển khai các công nghệ san lấp mặt bằng không?
Điều gì làm cho bộ nhớ flash eMMC khả dụng trong các thiết bị di động, chứ không phải PC?
Câu trả lời
Cộng tác viên SuperUser Speeddymon và Journeyman Geek có câu trả lời cho chúng tôi. Đầu tiên, Speeddymon:
Tất cả các thiết bị bộ nhớ flash, từ máy tính bảng đến điện thoại di động, đồng hồ thông minh, SSD, thẻ SD trong máy ảnh và ổ USB đều sử dụng công nghệ NVRAM. Sự khác biệt là trong kiến trúc NVRAM và cách hệ điều hành gắn kết hệ thống tệp trên bất kỳ phương tiện lưu trữ nào.
Đối với máy tính bảng và điện thoại di động Android, công nghệ NVRAM dựa trên eMMC. Dữ liệu tôi có thể tìm thấy trên công nghệ này cho thấy từ 3k đến 10k chu kỳ ghi. Thật không may, không có gì trong số những gì tôi tìm thấy cho đến nay là hoàn toàn chính xác, vì Wikipedia để trống về chu trình viết của công nghệ này. Tất cả những nơi khác mà tôi đã xem đều là các diễn đàn khác nhau, vì vậy khó có thể gọi là nguồn đáng tin cậy.
Để so sánh, các chu kỳ ghi trên công nghệ NVRAM khác như SSD, sử dụng công nghệ NAND hoặc NOR, là từ 10k đến 30k.
Bây giờ, về sự lựa chọn của hệ điều hành về cách gắn hệ thống tệp. Tôi không thể nói về cách Apple làm điều đó, nhưng đối với Android, con chip được phân vùng giống như một ổ cứng. Bạn có phân vùng hệ điều hành, phân vùng dữ liệu và một số phân vùng độc quyền khác tùy thuộc vào nhà sản xuất thiết bị.
Phân vùng gốc thực sự nằm bên trong bộ nạp khởi động, được đóng gói dưới dạng tệp nén (jffs2, cramfs, v.v.) cùng với hạt nhân, để khi khởi động giai đoạn 1 của thiết bị hoàn tất (màn hình logo của nhà sản xuất thường), thì hạt nhân khởi động và phân vùng gốc được gắn đồng thời như một đĩa RAM.
Khi hệ điều hành khởi động, nó sẽ gắn hệ thống tệp của phân vùng chính (/ hệ thống, là jffs2 trên các thiết bị trước Android 4.0, ext2 / 3/4 trên các thiết bị kể từ Android 4.0 và xfs trên các thiết bị mới nhất) dưới dạng chỉ đọc. rằng không có dữ liệu nào có thể được ghi vào nó. Tất nhiên, điều này có thể được giải quyết bằng cách gọi là “root” thiết bị của bạn, điều này cho phép bạn truy cập với tư cách là người dùng cấp cao và cho phép bạn gắn lại phân vùng dưới dạng đọc / ghi. Dữ liệu “người dùng” của bạn được ghi vào một phân vùng khác trên chip (/ data, tuân theo quy ước tương tự như trên dựa trên phiên bản Android).
Với ngày càng nhiều điện thoại di động loại bỏ khe cắm thẻ SD, bạn có thể nghĩ rằng mình sẽ đạt giới hạn chu kỳ ghi sớm hơn vì tất cả dữ liệu của bạn hiện đang được lưu vào bộ nhớ eMMC thay vì thẻ SD. May mắn thay, hầu hết các hệ thống tệp đều phát hiện lỗi ghi vào một vùng lưu trữ nhất định. Nếu ghi không thành công, thì dữ liệu sẽ được lưu âm thầm vào vùng lưu trữ mới và vùng bị lỗi (được gọi là khối xấu) sẽ bị trình điều khiển hệ thống tệp loại bỏ để dữ liệu không còn được ghi ở đó trong tương lai. Nếu không đọc được, thì dữ liệu được đánh dấu là bị hỏng và người dùng được yêu cầu chạy kiểm tra hệ thống tệp (hoặc kiểm tra đĩa) hoặc thiết bị tự động kiểm tra hệ thống tệp trong lần khởi động tiếp theo.
Trên thực tế, Google đã có bằng sáng chế để tự động phát hiện và xử lý các khối xấu: Quản lý các khối xấu trong bộ nhớ flash cho thẻ flash dữ liệu điện tử
Để đi sâu hơn vào vấn đề, câu hỏi của bạn về việc làm thế nào điều này đột nhiên trở nên thực tế không phải là câu hỏi thích hợp để hỏi. Nó không bao giờ là không thực tế ngay từ đầu. Người ta khuyên không nên cài đặt hệ điều hành (Windows) trên SSD (có lẽ là) vì số lần ghi nó vào đĩa.
Ví dụ, sổ đăng ký nhận được hàng trăm lần đọc và ghi mỗi giây, điều này có thể được nhìn thấy bằng Công cụ Microsoft-SysInternals Regmon.
Không nên cài đặt Windows trên ổ SSD thế hệ đầu tiên vì với việc thiếu cân bằng độ mòn, dữ liệu được ghi vào sổ đăng ký mỗi giây (có khả năng) cuối cùng sẽ bắt kịp những người dùng đầu tiên và dẫn đến hệ thống không thể khởi động do lỗi đăng ký.
Với máy tính bảng, điện thoại di động và gần như bất kỳ thiết bị nhúng nào khác, không có sổ đăng ký (tất nhiên là các thiết bị nhúng Windows là ngoại lệ) và do đó, không phải lo lắng về việc dữ liệu liên tục được ghi vào các phần giống nhau của phương tiện flash.
Đối với các thiết bị Windows Embedded, chẳng hạn như nhiều ki-ốt được tìm thấy ở những nơi công cộng (như Walmart, Kroger, v.v.), nơi bạn có thể thấy một BSOD ngẫu nhiên theo thời gian, không có nhiều cấu hình có thể được thực hiện vì chúng được thiết kế trước với các cấu hình không bao giờ thay đổi. Thời gian duy nhất thay đổi diễn ra là trước khi chip được viết trong hầu hết các trường hợp. Bất kỳ thứ gì cần được lưu, chẳng hạn như khoản thanh toán của bạn cho cửa hàng tạp hóa, được thực hiện qua mạng với cơ sở dữ liệu của cửa hàng trên một máy chủ.
Tiếp theo là câu trả lời từ Journeyman Geek:
Câu trả lời luôn là “không” bởi vì số lần ghi mà hệ điều hành yêu cầu sẽ nhanh chóng làm hao mòn chúng.
Cuối cùng chúng đã trở nên hiệu quả về chi phí cho việc sử dụng phổ biến. Điều đó “mặc” là mối quan tâm duy nhất là một chút giả định. Đã có những hệ thống sử dụng bộ nhớ trạng thái rắn trong một khoảng thời gian đáng kể. Nhiều người đã chế tạo các bộ đặt xe khởi động từ thẻ CF (tương thích điện với PATA và cài đặt nhỏ hơn so với ổ cứng PATA), và các máy tính công nghiệp có bộ lưu trữ dựa trên flash nhỏ và chắc chắn.
Điều đó nói rằng, không có nhiều lựa chọn cho người bình thường. Bạn có thể mua một thẻ CF đắt giá và một bộ chuyển đổi cho máy tính xách tay hoặc tìm một đĩa công nghiệp nhỏ, rất đắt tiền trên một đơn vị mô-đun cho máy tính để bàn. Chúng không lớn lắm so với các ổ cứng hiện đại (tôi nghĩ là IDE DOM hiện đại có dung lượng 8GB hoặc 16GB). Tôi khá chắc rằng bạn có thể đã thiết lập ổ đĩa hệ thống trạng thái rắn trước khi ổ SSD tiêu chuẩn trở nên phổ biến.
Theo như tôi biết thì chưa thực sự có bất kỳ cải tiến phổ quát / ma thuật nào trong việc san lấp mặt bằng. Đã có những cải tiến ngày càng tăng trong khi chúng tôi chuyển từ SLC đắt tiền sang MLC, TLC và thậm chí QLC cùng với kích thước quy trình nhỏ hơn (tất cả đều có chi phí thấp hơn với một số nguy cơ hao mòn cao hơn). Flash đã rẻ hơn rất nhiều.
Cũng có một vài lựa chọn thay thế không có vấn đề về mòn. Ví dụ: chạy toàn bộ hệ thống trên ROM (được cho là bộ lưu trữ trạng thái rắn) và RAM được hỗ trợ bằng pin, mà nhiều ổ SSD đời đầu và các thiết bị di động như Palm Pilot đã sử dụng. Không có cái nào trong số này là phổ biến ngày nay. So với ổ cứng, RAM được hỗ trợ bằng pin (quá đắt), thiết bị trạng thái rắn đời đầu (hơi đắt), hoặc những người nông dân có cờ (không bao giờ bị bắt do mật độ dữ liệu khủng khiếp). Ngay cả bộ nhớ flash hiện đại cũng là hậu duệ của eeprom xóa nhanh và eeprom đã được sử dụng trong các thiết bị điện tử để lưu trữ những thứ như phần sụn cho nhiều thời đại.
Ổ cứng đơn giản là điểm giao thoa giữa dung lượng lớn (điều quan trọng), chi phí thấp và dung lượng lưu trữ tương đối đủ.
Lý do bạn tìm thấy eMMC trong các máy tính hiện đại, cấp thấp là các thành phần tương đối rẻ, đủ lớn (cho hệ điều hành máy tính để bàn) với chi phí đó và chia sẻ tính phổ biến với các thành phần điện thoại di động, vì vậy chúng được sản xuất hàng loạt với giao diện tiêu chuẩn. Họ cũng cung cấp mật độ lưu trữ lớn cho khối lượng của họ. Xem xét nhiều máy trong số này có ổ đĩa 32GB hoặc 64GB nhỏ xíu, ngang bằng với ổ cứng từ một thập kỷ trước, chúng là một lựa chọn hợp lý trong vai trò này.
Cuối cùng chúng tôi cũng đã đạt đến điểm mà bạn có thể lưu trữ một lượng bộ nhớ hợp lý với giá cả phải chăng và với tốc độ hợp lý trên eMMC và flash, đó là lý do tại sao mọi người sử dụng chúng.
Có điều gì đó để thêm vào lời giải thích? Tắt âm thanh trong các ý kiến. Bạn muốn đọc thêm câu trả lời từ những người dùng Stack Exchange am hiểu công nghệ khác? Kiểm tra toàn bộ chủ đề thảo luận ở đây.
Tín dụng hình ảnh: Martin Voltri (Flickr)