1.目的
本标准规定了 UFS 电气接口和存
储设备的特性。这些特性包括(但不限于)低功耗、高数据吞吐量、低电磁干扰以及对大容量存储子系统效率的优化。UFS 电气接口基于 MIPI M-PHY 规范的先进差分接口,与 MIPI UniPro 规范一起构成了 UFS 接口的互连。其架构模型参考了 INCITS T10(SCSI)SAM 标准,命令协议基于 INCITS T10(SCSI)SPC 和 SBC 标准。
2 . “规范性引用”
以下规范性文件包含的条款,通过在本标准中的引用,构成本标准的条款。对于注明日期的引用文件,其随后的任何修改或修订均不适用于本标准。然而,鼓励基于本标准达成协议的各方研究应用所引用规范性文件的最新版本的可能性。对于未注明日期的引用文件,其最新版本适用于本标准。
[MIPI-M-PHY], MIPI Alliance Specification for M-PHY®, Version 5.0, 23 June 2021
[MIPI-UniPro], MIPI Alliance Specification for Unified Protocol (UniPro®), Version 2.0, In Press
[MIPI-DDB], MIPI Alliance Specification for Device Descriptor Block (DDB), Version 1.0
[MIPI-AP], Application Note for UniPro® v1.8
[SAM], INCITS T10 draft standard: SCSI Architecture Model – 5 (SAM–5), Revision 05, 19 May 2010
[SPC], INCITS T10 draft standard: SCSI Primary Commands – 4 (SPC-4), Revision 27, 11 October 2010
[SBC], INCITS T10 draft standard: SCSI Block Commands – 3 (SBC–3), Revision 24, 05 August 2010
[JESD8-12A], 1.2 V +/- 0.1V (Normal Range) and 0.8 - 1.3 V (Wide Range) Power Supply Voltage and Interface Standard for Nonterminated Digital Integrated Circuits
[HBM-MM], JEDEC Recommended ESD Target Levels for HBM/MM Qualification, JEP155A.01, March 2012
[CDM], JEDEC Recommended ESD-CDM Target Levels, JEP157, October 2009
[HMAC-SHA], Eastlake, D. and T. Hansen, US Secure Hash Algorithms (SHA and HMAC-SHA), RFC 4634, July 2006.
[JEP106], Standard Manufacturer’s identification code, JEP106
[JESD21C], Multichip Packages (MCP) and Discrete eMMC, e2MMC, and UFS
[JESD220-3], UFS Host Performance Booster (HPB) Extension Specification
[JESD220-4], UFS File Based Optimization (FBO) Extension Specification
3.“术语和定义”
对于本标准,第 2 条“规范性引用”中所包含文件中给出的术语和定义以及以下术语和定义适用:
- Application Client(应用客户端):主机中 SCSI 命令和任务管理功能请求的源实体。
- An entity that is the source of SCSI commands and task management function requests in the host.
- Byte(字节):一个 8 位数据值,最高有效位标记为位 7,最低有效位标记为位 0。
- An 8‐bit data value with most significant bit labeled as bit 7 and least significant bit as bit 0.
- Command Descriptor Block(命令描述块):用于将命令从应用客户端传达至设备服务器的结构。CDB 可能具有固定长度,最长为 16 字节,或者可变长度,在 12 至 260 字节之间。
- The structure used to communicate commands from an application client to a device server. A CDB may have a fixed length of up to 16 bytes or a variable length of between 12 and 260 bytes.
- Device ID(设备 ID):UFS 设备的总线地址。
- The bus address of a UFS device.
- Device Server(设备服务器):设备中处理 SCSI 命令和任务管理功能的实体。
- An entity in the device that processes SCSI commands and task management functions.
- Doubleword(双字):一个 32 位数据值,最高有效位标记为位 31,最低有效位标记为位 0。
- A 32‐bit data value with most significant bit labeled as bit 31 and least significant bit as bit 0.
- Dword:32 位数据值,即 Doubleword。
- 32‐bit data value, a Doubleword.
- Gigabyte(千兆字节):1,073,741,824 或 2³⁰字节。
- 1,073,741,824 or 230 bytes.
- Host(主机):具有主计算设备特征的实体或设备,包括一个或多个 SCSI 启动器设备。
- An entity or a device with the characteristics of a primary computing device that includes one or more SCSI initiator devices.
- Initiator device(启动器设备):在一个事务中,向目标设备发起 SCSI 命令请求消息的源。
- Within a transaction, the originator of a SCSI command request message to a target device.
- Kilobyte(千字节):1024 或 2¹⁰字节。
- 1024 or 210 bytes.
- Logical Unit(逻辑单元):总线设备的内部实体,执行特定功能或处理总线设备内的特定空间或配置。
- A logical unit is an internal entity of a bus device that performs a certain function or addresses a particular space or configuration within a bus device.
- Logical Unit Number(逻辑单元号):用于标识设备内逻辑单元的数值。
- A numeric value that identifies a logical unit within a device
- Megabyte(兆字节):1,048,576 或 2²⁰字节。
- 1,048,576 or 220 bytes.
- Quadword(四字):一个 64 位数据值,最高有效位标记为位 63,最低有效位标记为 0。
- A 64‐bit data value with most significant bit labeled as bit 63 and least significant bit as 0.
- Segment(段):表示数据结构或数据结构的一部分的指定数量的顺序寻址字节。
- A specified number of sequentially addressed bytes representing a data structure or section of a data structure.
- Segment ID(段 ID):一个 16 位值,表示到表的索引或段描述符的地址,或者只是作为绝对地址元素的绝对值。
- A 16‐bit value that represents an index into a table or an address of a segment descriptor or simply an absolute value that is an element of an absolute address
- SCSI Request Block(SCSI 请求块):包含多字节 SCSI 命令以及执行命令操作所需的其他上下文信息的数据分组。SCSI 请求块由主机构建,并针对特定的总线设备。
- A data packet that contains a multi‐byte SCSI command and additional contextual information needed to carry out the command operation. A SCSI Request Block is built by the host and is targeted at a particular bus device.
- Target device(目标设备):在一个事务中,从启动器设备接收 SCSI 命令请求消息的接收方。
- Within a transaction, the recipient of a SCSI command request message from an initiator device.
- Task(任务):一个任务是一个 SCSI 命令,包括完成所有数据传输的所有事务以及满足命令所请求服务要求的状态响应。
- A task is a SCSI command which includes all transactions to complete all data transfers and a status response that will satisfy the requirements of the requested services of the command.
- Transaction(事务):UFS 原语操作,导致在目标设备和启动器设备之间传输串行数据包。
- A UFS primitive action which results in transmission of serial data packets between a target device and initiator device.
- Terabyte(太字节):1,099,511,627,776 或 2⁴⁰字节。
- 1.099.511.627.776 or 240 bytes.
- UFS Protocol Information Unit(UFS 协议信息单元):UFS 主机和设备之间的信息传输(通信)是通过被称为 UFS 协议信息单元的消息来完成的。这些消息是 UFS 定义的数据结构,包含许多按顺序寻址的字节,排列成各种信息字段。
- Information transfer (communication) between a UFS host and device is done through messages which are called UFS Protocol Information Units. These messages are UFS defined data structures that contain a number of sequentially addressed bytes arranged as various information fields.
- Unit(单元):总线设备。
- A bus device
- Unit Attention(单元注意):使用 SCSI 协议的总线设备的一种状态,在其能够继续处理请求和响应之前需要进行服务。
- A condition of a bus device utilizing the SCSI protocol where it needs to be serviced before it can continue processing requests and responses.
- Word(字):一个 16 位数据值,最高有效位标记为位 15,最低有效位标记为位 0。
- A 16‐bit data value with most significant bit labeled as bit 15 and least significant bit as bit 0.
3.1 首字母缩略
CDB | Command Descriptor Block | 命令描述块 |
CPort | A CPort is a Service Access Point on the UniPro Transport Layer (L4) within a Device that is used for Connection-oriented data transmission | 设备内 UniPro 传输层(L4)上用于面向连接数据传输的服务接入点 |
DMA | Direct Memory Access | 直接内存访问 |
DSC | Digital Still Camera | 数码相机 |
FFU | Field Firmware Update | 现场固件更新 |
GB | Gigabyte | 千兆字节 |
HCI | Host Controller Interface | 主机控制器接口 |
HPB | UFS Host Performance Booster | UFS 主机性能增强器 |
KB | Kilobyte | 千字节 |
LBA | Logical Block Address | 逻辑块地址 |
LUN | Logical Unit Number | 逻辑单元号 |
MB | Megabyte | 兆字节 |
MIPI | Mobile Industry Processor Interface | 移动产业处理器接口 |
MP3 | MPEG-2 Audio Layer 3 | MPEG-2 音频第 3 层 |
NA | Not applicable | 不适用 |
NU | Not used | 未使用 |
PDU | Protocol Data Unit | 协议数据单元 |
PLL | Phase-Locked Loop | 锁相环 |
PMP | Portable media player | 便携式媒体播放器 |
PSA | Production State Awareness | 生产状态感知 |
PWM | Pulse Width Modulation | 脉冲宽度调制 |
RFU | Reserved for future use | 预留供未来使用 |
RPMB | Replay Protected Memory Block | 重放保护内存块 |
SBC | SCSI Block Commands | SCSI 块命令 |
SID | Segment ID | 段 ID |
SDU | Service Data Unit | 服务数据单元 |
SPC | SCSI Primary Commands | SCSI 主要命令 |
TB | Terabyte | 太字节 |
T_PDU | MIPI Unipro Protocol Data Unit | MIPI Unipro 协议数据单元 |
T_SDU | MIPI Unipro protocol Service Data Unit | MIPI Unipro 协议服务数据单元 |
UFS | Universal Flash Storage | 通用闪存存储 |
UMPC | Ultra-Mobile PC | 超移动 PC |
UniPro | Unified Protocol | 统一协议 |
UPIU | UFS Protocol Information Unit | UFS 协议信息单元 |
UTP | UFS Transport Protocol | UFS 传输协议 |
3.2 约定
本标准遵循了 SCSI 文档中使用的一些约定,因为它采用了多个 SCSI 标准。
在本标准中,二进制数由仅包含西方阿拉伯数字 0 和 1 的任意数字序列表示,后面紧跟小写字母 b(例如,0101b)。为了增加可读性或划分字段边界,可以在二进制数表示中包含空格(例如,0 0101 1010b)。
在本标准中,十六进制数由仅包含西方阿拉伯数字 0 到 9 和/或大写英文字母 A 到 F 的任意数字序列表示,后面紧跟小写字母 h(例如,FA23h)。为了增加可读性或划分字段边界,可以在十六进制数表示中包含空格(例如,B FD8C FA23h)。
在本标准中,十进制数由仅包含西方阿拉伯数字 0 到 9 的任意数字序列表示,且其后不紧跟小写字母 b 或小写字母 h(例如,25)。
当位或字段的值不相关时,x 或 xx 会出现在特定值的位置。
标志的名称的第一个字母是小写字母 f(例如,fMyFlag)。
包含在描述符中的参数的名称的第一个字母或属性的名称的第一个字母是:
• 如果参数或属性大小为一个字节,则为小写字母 b(例如,bMyParameter),
• 如果参数或属性大小为两个字节,则为小写字母 w(例如,wMyParameter),
• 如果参数或属性大小为四个字节,则为小写字母 d(例如,dMyParameter),
• 如果参数或属性大小为八个字节,则为小写字母 q(例如,qMyParameter)。
3.3 关键字
以下是用于区分需求和选项的不同级别的几个关键字:
Can - 用于表示可能性和能力的陈述的关键字,无论是物质的、物理的还是因果的(can 等于 is able to)。
Expected - 用于描述本标准所假定的硬件或软件设计模型中的行为的关键字。也可以实现其他硬件和软件设计模型。
Ignored - 描述接收方不检查其值的位、字节、四字组或字段的关键字。
Mandatory - 表示本标准定义的必须实现的项目的关键字。
May - 表示在标准限制内允许的行动过程的关键字(may 等于 is permitted)。
Must - 不建议使用 must 这个词来陈述强制性要求,并且在陈述强制性要求时不应使用;must 仅用于描述不可避免的情况。
Obsolete - 表示在以前的标准中定义但已从此标准中删除的项目的关键字。
Optional - 描述本标准不要求实现的功能的关键字。但是,如果实现了本标准定义的任何可选功能,则应按照本标准的定义进行实现。
Reserved - 用于描述对象(位、字节和字段)或在为未来标准化预留对象或为其分配的代码值的情况下使用的关键字。其使用和解释可能由本标准或其他标准的未来扩展指定。保留对象应置零,或者在未来标准制定后,设置为该标准指定的值。保留对象的接收方不应检查其值。已定义对象的接收方应检查其值并拒绝保留代码值。
Shall - 表示为符合标准必须严格遵循且不允许有偏差的强制性要求的关键字(shall 等于 is required to)。设计人员必须实现所有此类强制性要求,以确保与符合本标准的其他产品的互操作性。
Should - 用于表示在几种可能性中特别推荐一种,而不提及或排除其他可能性;或者表示某一行动过程是首选但不一定是必需的;或者(在否定形式中)表示某一行动过程是不建议的但不是禁止的关键字(should 等于 is recommended that)。
Will - 不建议使用 will 这个词来陈述强制性要求,并且在陈述强制性要求时不应使用;will 仅用于陈述事实。
3.4 缩写
etc. - 等等(拉丁语:et cetera)
e.g. - 例如(拉丁语:exempli gratia)
i.e. - 即(拉丁语:id est)
4 引言
通用闪存存储(UFS)是一种具有串行接口的简单、高性能、大容量存储设备。它主要用于主机处理和大容量存储内存设备之间的移动系统。以下是 UFS 设备功能的摘要。
4.1 一般特性
• 目标性能
o 高速 GEARs(1)
▪ 支持 GEAR1 是强制性的
▪ 支持 GEAR2 是强制性的
▪ 支持 GEAR3 是强制性的
▪ 支持 GEAR4 是强制性的
▪ 支持 GEAR5 是强制性的
• 目标主机应用
o 手机、UMPC、DSC、PMP、MP3 和任何其他需要大容量存储、可引导大容量存储和外部卡的应用
• 目标设备类型
o 外部卡
o 嵌入式设备
▪ 大容量存储和可引导大容量存储
o 未来设备类类型的扩展
▪ I/O 设备、相机、无线等
• 拓扑结构
o 每个 UFS 端口一个设备
• UFS 分层
o UFS 命令集层(UCS)
▪ 基于 SBC 和 SPC 的简化 SCSI 命令集。UFS 不会修改这些符合 SBC 和 SPC 的命令。存在定义 UFS 本机命令和未来扩展的选项。
o UFS 传输协议层(UTP)
▪ JEDEC 定义支持的协议层,即用于 SCSI 的 UTP。这并不排除在 UFS 传输协议层中支持其他协议。
o UFS 互连层(UIC)
▪ 数据链路层采用 MIPI UniPro®[MIPI-UniPro]
▪ 物理层采用 MIPI M-PHY®[MIPI-M-PHY]
注意 1 详情见 6.4.1。
4.2 接口特性
-
三种电源:
- VCCQ 电源:1.2 V(标称值)
- VCCQ2 电源:1.8 V(标称值)
- VCC 电源:2.5 V(标称值)
-
如 [MIPI-M-PHY] 所定义的信号:
- 400 或 620 mVp(未端接)
- 200 或 310 mVp(端接)
-
8b10b 线路编码,如 MIPI M-PHY 所定义
-
高可靠性 - 误码率低于 10^(-12)
-
两种信号方案:
- 采用 PWM 信号方案的低速模式
- 高速突发模式
-
为高速模式定义了多种挡位
-
低速模式下仅支持挡位 1
-
适配(M-PHY® 版本 4.1 及以上):
- M-RX 均衡器训练以适应信道特性
4.3 功能特性
UFS 的功能特性是 NAND 管理特性。这些包括:
-
与 eMMC 类似的功能特性
-
启动操作模式
-
具有可配置特性的多个逻辑单
-
重放保护内存块(RPMB)
-
可靠的写入操作
-
后台操作
-
安全操作、清除和擦除以增强数据安全性
-
写入保护选项,包括永久性和上电写入保护
-
对重放保护内存块的签名访问
-
硬件复位信号
-
任务管理操作
-
电源管理操作