Video failed to load

UFS: My Understanding

397 words
2 minutes
UFS: My Understanding

UFS là một chip nhớ flash tự quản lý chính nó và nói chuyện với SoC theo kiểu một ổ đĩa SCSI. Bên trong là NAND flash cộng với một bộ điều khiển. Bộ điều khiển chia khối flash đó thành nhiều ổ đĩa logic độc lập, gọi là LU (Logical Unit), rồi đón lệnh từ SoC qua một đường truyền nối tiếp tốc độ cao.

Mọi lệnh gửi xuống đều mang sẵn địa chỉ “gửi tới LU nào”. Nhờ vậy SoC làm việc với nhiều LU cùng lúc, không phải chuyển công tắc như eMMC.

Hình 1: Mô hình một chip UFS.
Hình 1: Mô hình một chip UFS.

LU thường: nơi chứa dữ liệu#

Khung bên trái của hình là các LU thường, nơi dữ liệu thực sự nằm. Chuẩn cho phép tối đa 32 LU, từ LU 0 đến LU 31, giới hạn bởi bMaxNumberLU. Nhà sản xuất thiết bị chỉ bật số lượng mình cần lúc provisioning.

Mỗi LU giống một ổ đĩa riêng, hay giống không gian địa chỉ riêng của một process:

  • bắt đầu từ LBA 0,
  • có GPT riêng ở đầu,
  • có các phân vùng riêng,
  • không LU nào chạm được vào khối của LU khác.

Đây là nơi rawprogram ghi image và patch sửa GPT, tức toàn bộ công việc của qdl diễn ra trong khung này.

Bốn well-known LUN#

Khung bên phải là bốn well-known LUN (W-LUN). Địa chỉ của chúng do chuẩn cố định nên ai cũng biết trước, khỏi phải dò tìm. Chúng không phải chỗ để nạp image, mà là những cánh cửa chức năng.

Bảng 1: Bốn well-known LUN
Địa chỉTênVai trò
01hREPORT_LUNSTrả lời “chip này đang có những LU nào”, kế thừa từ chuẩn SCSI
30hBOOTBí danh trỏ tới LU chứa bootloader đang được bật
44hRPMBVùng nhớ nhỏ, chỉ ghi được khi có chữ ký đúng
50hUFS DeviceNhận lệnh cấp toàn chip: đổi trạng thái nguồn, reset, cấu hình

BOOT (30h) không có vùng nhớ riêng. Mũi tên trong hình trỏ sang LU 1 chính là mối quan hệ này: khi ROM trong SoC đọc BOOT lúc khởi động, thực chất nó đang đọc LU 1. Muốn chuyển sang slot B, chỉ cần đổi thuộc tính để mũi tên trỏ sang LU khác.

RPMB (44h) là W-LUN duy nhất có vùng nhớ thật. Muốn ghi vào đó phải kèm chữ ký đúng từ khoá bí mật mà TrustZone giữ. Vì vậy RPMB dùng để cất những thứ không được phép sửa lén, ví dụ bộ đếm chống hạ cấp firmware.

Comments

Profile Image of the Author
Art
When the world stopped, I started compiling.
Announcement
Welcome to my blog!
Latest Moments
Table of Contents