Overview of Universal Flash Storage Subsystem
Talkat Open Source Summit Europe + Embedded Linux Conference Europe 2019 · on Tuesday, 2019-10-29· at 12:20· Forum 3·
summary
Explains what UFS actually does in Linux and U-Boot and what was implemented: a kernel UFS subsystem and a basic U-Boot stack that enumerates LUNs and exposes them as SCSI block devices, with the host using UPIU/UTP transactions mapped to a table of 32 command descriptors plus PRDTs. Claims full duplex link up to 1.45 Gbps (gear4), typical two-lane operation, and measured up to about 700 MB/s in U-Boot on gear3. Notes ufs-utils can read raw descriptors but lacks friendly descriptor/attribute editors and that descriptor access commands are not yet in U-Boot.
AI-written summary · about
chapters (24)
- 0:00Intro
- 1:09Managed Flash
- 3:32UFS Features
- 4:16How is UFS better?
- 5:42UFS System Overview
- 7:05UFS Application Layer
- 9:58What is a Logical unit?
- 14:27Logical unit (continued)
- 16:12Application Layer Transaction View
- 17:30UFS Interconnect Layer
- 19:00Simplified UFS Power Modes
- 23:05UFS Transport Layer
- 26:44UTP Read Transaction
- 27:03UTP Write Transaction
- 28:50UFS Host Memory Configuration
- 29:20UFS Task Management
- 30:34UFS Host Controller Interface
- 31:31UFS Descriptors, Flags and Attributes
- 32:21Kernel Implementation
- 34:26Configuring the device from user space
- 35:18ufs-utils
- 36:31U-boot Implementation
- 37:34References
- 38:27UTP Host Memory Configuration
related talks
14mUnleashing Zoned UFS: Cross-Layer Optimizations for Next-Generation Mobile Storage
47mHost Performance Booster (HPB): Introduction and Current Mainline Support Status
45mLinux Storage Stack Explained
40mUSB on Embedded Linux Systems Deep Dive
42mUserspace Block Services Based on Ublk and Vduse in SPDK
36mFlash Friendly File System
34mublk virtual block devices in user space
39mUnravelling How Firmware Interacts with the Linux Subsystem
