Chào mừng bạn đến với TiemDienThoai.com
Kiến thức · Bộ nhớ & Lưu trữ

Cơ chế nén RAM (zRAM) hoạt động thế nào, khác gì RAM ảo

zRAM nén dữ liệu ngay trong RAM vật lý bằng CPU, khác với RAM ảo phải tráo dữ liệu ra bộ nhớ trong; hai lớp phối hợp theo thứ tự ưu tiên.

Mục lục bài viết

Bên cạnh RAM ảo lấy dung lượng bộ nhớ trong làm nơi tráo dữ liệu, điện thoại còn một kỹ thuật ít được nhắc tên nhưng hoạt động liên tục: nén RAM. Cùng phục vụ mục tiêu chứa được nhiều dữ liệu hơn trên một lượng bộ nhớ vật lý cố định, nhưng nén RAM và RAM ảo vận hành theo hai nguyên lý hoàn toàn khác nhau.

Nén RAM là gì

Nén RAM, trên Android thường triển khai qua zRAM, tạo một vùng nhớ đặc biệt ngay trong chính RAM vật lý. Khi hệ thống cần thu hồi bộ nhớ, thay vì đẩy dữ liệu ra bộ nhớ trong, nó nén những trang nhớ ít dùng bằng thuật toán nén nhanh rồi giữ lại ngay trong RAM ở dạng đã nén. Một trang nhớ sau khi nén có thể chỉ còn chiếm phần nhỏ so với kích thước gốc, nhờ đó cùng một dung lượng RAM chứa được nhiều dữ liệu hơn.

Khác biệt cốt lõi so với RAM ảo

RAM ảo tráo dữ liệu ra bộ nhớ trong UFS, tức đưa ra khỏi RAM vật lý và đặt lên chip lưu trữ vốn chậm hơn nhiều lần. Nén RAM giữ dữ liệu trong RAM, chỉ đổi hình thức lưu từ nguyên bản sang dạng nén. Khi cần dùng lại, nén RAM chỉ phải giải nén, một thao tác của CPU trong tốc độ bộ nhớ; còn RAM ảo phải đọc ngược từ bộ nhớ trong về RAM, chậm hơn đáng kể. Đây là lý do nén RAM thường được ưu tiên xử lý trước, RAM ảo chỉ là lớp dự phòng sâu hơn.

Đánh đổi giữa CPU và bộ nhớ

Nén và giải nén tiêu tốn chu kỳ CPU. Với chip hiện đại, thao tác nén một trang nhớ nhanh hơn nhiều so với việc chờ đọc ghi trên bộ nhớ trong, nên đánh đổi này gần như luôn có lợi. Tuy vậy khi máy chịu tải nặng và phải nén giải nén liên tục, một phần công suất CPU bị chia sẻ. Các thuật toán nén được chọn theo hướng ưu tiên tốc độ hơn tỉ lệ nén cao, để giữ độ trễ thấp nhất có thể.

Vì sao người dùng hiếm khi thấy tuỳ chọn này

Nén RAM chạy ngầm ở tầng nhân hệ điều hành, không có công tắc bật tắt trong phần Cài đặt thông thường như RAM ảo. Người dùng phổ thông gần như không can thiệp được và cũng không cần can thiệp. Nó là một phần cơ chế quản lý bộ nhớ mặc định, hoạt động tự động ngay cả trên những máy không bật tính năng RAM ảo.

Hai lớp phối hợp với nhau

Trên máy hiện đại, nén RAM và RAM ảo không loại trừ nhau mà xếp thành các tầng. Hệ thống nén trước những trang ít dùng để tiết kiệm RAM ngay tại chỗ, chỉ đẩy ra bộ nhớ trong khi thực sự cạn chỗ. Trật tự ưu tiên này giúp giảm số lần phải chạm tới bộ nhớ trong chậm chạp, kéo dài thời gian máy còn phản hồi nhanh trước khi buộc phải đóng bớt ứng dụng nền.

Hiểu nhầm thường gặp

“Nén RAM và RAM ảo là cùng một thứ, chỉ khác tên gọi.” Không đúng. Nén RAM giữ dữ liệu trong RAM vật lý ở dạng nén và giải nén bằng CPU; RAM ảo đưa dữ liệu ra bộ nhớ trong và phải đọc ngược lại. Một bên đánh đổi bằng chu kỳ CPU, một bên đánh đổi bằng tốc độ truy xuất của chip lưu trữ. Chúng là hai lớp riêng biệt trong cùng hệ thống quản lý bộ nhớ.

Xem thêm

Đây là một bài trong nhóm chủ đề RAM vs RAM ảo: tổng hợp bài viết. Xem thêm RAM ảo dùng vùng nhớ trong UFS làm RAM: có giảm tuổi thọ bộ nhớ trong không. Để tra cứu thông tin gốc, có thể xem thêm tại trang hỗ trợ Android chính thức của Google.

Lê Hoàng Nam - chuyên gia công nghệ điện thoại
Tác giả phụ trách chuyên mục

Chuyên gia nhiếp ảnh di động & hiệu năng — Từng thử nghiệm và đo hiệu năng hàng trăm mẫu điện thoại, tập trung vào camera, benchmark chip và tối ưu bộ nhớ.

Xem hồ sơ và chuyên môn →
Bình luận bài viết

Để lại bình luận

Thông tin liên hệ chỉ dùng để phản hồi, không hiển thị công khai.