UFS 1-UFS Architecture Introduction 1

1 What is UFS?

1.1 UFS

UFS: Abbreviation for Universal Flash Storage, Universal Flash Storage (UFS) is a simple, high-performance mass storage device with a serial interface. It is primarily used in mobile systems, between mainframe processing and mass storage devices.

1.2 General features

1.2.1 Target performance

High speed GEARs

  • Support for GEAR1 is mandatory
  • Support for GEAR2 is mandatory
  • Support for GEAR3 is mandatory
  • Support for GEAR4 is mandatory

1.2.2 Target host applications

Mobile phone, UMPC, DSC, PMP, MP3 and any other applications that require mass storage, bootable mass storage, and external card
. card application.

1.2.3 Target device types

  • External card
  • Embedded device
    • Mass storage and bootable mass storage
  • Future expansion of device class types
    • I/O devices, camera, wireless, … , etc.

1.2.4 Topology

One device per UFS port (one device per UFS port.).

1.2.5 UFS Layering

  • UFS Command Set Layer (UCS)
    • Simplified SCSI command set based on SBC and SPC. UFS will not modify these SBC and SPC Compliant commands. Option for defining UFS Native command and future extension exist.
    • Simplified SCSI command set based on SBC and SPC. UFS does not modify these SBC and SPC compatible commands. Options exist for defining UFS Native commands and future extensions.
  • UFS Transport Protocol Layer (UTP)
    • JEDEC to define the supported protocol layer, i.e., UTP for SCSI. This does not exclude the support of other protocol in UFS Transport Protocol Layer.
    • JEDEC defines the supported protocol layer, UTP for SCSI. This does not exclude the support of other protocols in the UFS transport protocol layer.
  • UFS Interconnect Layer (UIC)
    • MIPI UniPro® [MIPI-UniPro] is adopted for data link layer
    • MIPI M-PHY® [MIPI-M-PHY ] is adopted for physical layer

1.3 Interface Features

1.3.1 Three power supplies

  • VCCQ power supply: 1.2 V (nominal)
  • VCCQ2 power supply: 1.8 V (nominal)
  • VCC power supply: 2.5 V/3.3 V (nominal)

1.3.2 Signaling as defined by [MIPI-M-PHY]

  • 400 mVp (not terminated)
  • 200 mVp (terminated)

1.3.3 8b10b line coding, as defined by MIPI M-PHY

1.3.4 High reliability – BER under 10-10

1.3.5 Two signaling schemes

  • Low-speed mode with PWM signaling scheme
  • High-Speed burst mode

1.3.6 Multiple gears defined for both Low-Speed and High-Speed mode

1.3.7 Adapt (M-PHY® version 4.1)

M-RX equalizer training to adapt to the channel characteristic

1.4 Functional Features

UFS functional features are NAND management features. These include
UFS functional features are NAND management features. These include:

  • Similar functional features as eMMC
  • Boot Operation Mode
  • Multiple logical units with configurable characteristics
  • Replay Protected Memory Block (RPMB)
  • Reliable write operation
  • Background operations
  • Secure operations, Purge and Erase to enhance data security
  • Write Protection options, including Permanent and Power-On Write Protection
  • Signed access to a Replay Protected Memory Block
  • HW Reset Signal
  • Task management operations
  • Power management operations

2 Introduction to UFS architecture

2.1 UFS top-level architecture

insert image description here
UFS communication is a layered communication architecture. It is based on SCSI SAM architectural model [SAM].
UFS communication is a layered communication architecture. It is based on the SCSI SAM Architectural Model [SAM].

2.1.1 Application layer

The application layer consists of the UFS command set (UCS), the device manager and the Task Manager. The UCS will handle the normal commands like read, write, and so on. UFS may support multiple command sets. UFS is designed to be protocol agnostic. The command set for this version UFS standard is based on SCSI command set. In particular, a simplified SCSI command set was selected for UFS. UFS Native command set can be supported when it is needed to extend the UFS functionalities. The application layer consists
of It consists of UFS Command Set (UCS), Device Manager and Task Manager. UCS will handle common commands like read, write, etc. UFS may support multiple command sets. UFS is designed to be protocol agnostic. The command set of this version of the UFS standard is based on the SCSI command set. In particular, a simplified SCSI command set was chosen for UFS. When UFS functions need to be extended, UFS Native command set can be supported.

The Task Manager handles commands meant for command queue control. The Device Manager will provide device level control like Query Request and lower level link-layer control. The device manager will provide device-level controls such as query requests and lower-level link-layer controls.

2.1.2 UFS Device Manager

The device manager has the following two responsibilities:
The device manager has the following two responsibilities:

  •  Handling device level operations.
    •  Handles device-level operations.
  •  Managing device level configurations.
    •  Manage device-level configuration.

Device level operations include functions such as device power management, settings related to data transfer, background operations enabling, and other device specific operations. Device level operations include functions such as device power management, settings related to data transfer, background operations enabling, and other device specific operations
. and other functions.
Device level configuration is managed by the device manager by maintaining and storing a set of descriptors
. The device manager handles commands like query request which allow to modify or retrieve configuration information of the device. group descriptors to manage. The device manager handles commands such as query requests, which allow configuration information for a device to be modified or retrieved.

2.1.3 Service Access Points

As seen from the diagram the device manager interacts with lower layers using the following two service access points
:

  •  UDM_SAP
  •  UIO_SAP

UDM_SAP is the service access point exposed by the UTP for the device manager to allow handling of device level operations and configurations. For example the handling of query request for descriptors would be done using this service access point. Figure 5.2 depicts the usage of the service access point.
UDM_SAP is a service access point exposed by UTP for device managers to allow handling of device-level operations and configuration. For example, processing of descriptor query requests will be done using this service access point. Figure 5.2 depicts the usage of service access points.
insert image description here
UIO_SAP is the service access point exposed by the UIC layer for the device manager to trigger the reset of the UIC layer and to transfer requests and responses related to UIC management functions. Figure 5.3 depicts the service usage of the access point. UIO_SAP is the UIC
layer The service access point exposed to the outside is used for the device manager to trigger the reset of the UIC layer and transmit requests and responses related to UIC management functions. Figure 5.3 depicts the usage of service access points.
insert image description here

2.1.4 UFS Transport Protocol Layer

The UFS Transport Protocol (UTP) layer provides services for the higher layer . UPIU is “UFS Protocol Information Unit” which is exchanged between UTP layers of UFS host and UFS device. For example, if host side UTP receives the request from application layer or Device Manager, UTP generates a UPIU for that request and transports the generated UPIU to the peer UTP in UFS device side. The UTP layer provides the following three access points. The
UFS Transport Protocol (UTP) layer provides services for higher layers. UPIU is a "UFS protocol information unit" exchanged between the UTP layer of the UFS host and UFS device. For example, if the host-side UTP receives a request from the application layer or the device manager, the UTP generates a UPIU for the request and transmits the generated UPIU to the peer UTP on the UFS device side. The UTP layer provides the following three access points.

    1. UFS Device Manager Service Access Point (UDM_SAP) to perform the device level management like descriptor access.
  • The UFS Device Manager Service Access Point (UDM_SAP) performs device-level management such as descriptor access.
    1. UTP Command Service Access Point (UTP_CMD_SAP) to transport commands
  • UTP Command Service Access Point (UTP_CMD_SAP) to transmit commands
    1. UTP Task Management Service Access Point (UTP_TM_SAP) to transport task-management function like “abort task” function.
  • The UTP Task Management Service Access Point (UTP_TM_SAP) is used to transport task management functions, such as the "Abort Task" function.

2.1.5 UFS Interconnect Layer

The lowest layer is UFS Interconnect Layer (UIC) which handles connection between UFS host and UFS device. UIC consists of MIPI UniPro and MIPI M-PHY. The UIC provides two service access points to upper layer. The UIC Service Access Point (UIC_SAP) to transport UPIU between UFS host and UFS device. The UIC_SAP corresponds to T_SAP in UniPro. The UIC IO control Service Access Point (UIO_SAP) to manage UIC. The UIO_SAP corresponds to DME_SAP in UniPro. The bottom layer is the UFS interconnect layer (UIC
) , which handles connections between UFS hosts and UFS devices. UIC consists of MIPI UniPro and MIPI M-PHY. The UIC provides two service access points to upper layers. The UIC Service Access Point (UIC_SAP) transports UPIU between UFS hosts and UFS devices. UIC_SAP corresponds to T_SAP in UniPro. UIC IO Control Service Access Point (UIO_SAP) to manage UIC. UIO_SAP corresponds to DME_SAP in UniPro.

2.2 UFS System Model

Figure 5.4 shows an example of UFS system. It shows how a UFS host is connected to a UFS device, the position of UFS host controller and its related UFS HCI interface.
Figure 5.4 shows an example of UFS system. It shows how the UFS host connects to the UFS device, the location of the UFS host controller and its associated UFS HCI interface.
insert image description here
The UFS host consists of the application which wishes to communicate with the UFS device. It communicates with the device using the UFS driver. The UFS driver is meant for managing the UFS host controller through the UFS HCI (UFS Host Controller Interface). The UFS HCI is basically a set of registers exposed by the host controller.
The UFS host consists of applications that wish to communicate with the UFS device. It uses UFS drivers to communicate with the device. The UFS driver is used to manage the UFS host controller through UFS HCI (UFS Host Controller Interface). UFS HCI is basically a set of registers exposed by the host controller.
Figure 5.4 also indicates the UFS interface between the UFS host and the UFS device. The UFS Interconnect (UIC) Layer consists of MIPI UniPro and MIPI M-PHY. The physical layer M‐PHY is differential, dual simplex PHY that includes TX and RX pairs.
Figure 5.4 also indicates the UFS interface between the UFS host and the UFS device. The UFS Interconnect (UIC) layer consists of MIPI UniPro and MIPI M-PHY. The physical layer M-PHY is a differential dual-simplex PHY consisting of TX and RX pairs.
Potential UFS devices can be memory card (full size and micro size), embedded bootable mass storage devices, IO devices, etc. A UFS device is comprised of multiple logical units, a device manager and descriptors. The device manager performs device level function s like power management while the logical unit performs functions like read, write etc. The descriptors are meant for storage of configuration related information.
Potential UFS devices can be memory cards (full-size and micro-size), embedded bootable mass storage devices, IO devices, etc. A UFS device consists of logical units, a device manager and descriptors. The device manager performs device-level functions, such as power management, while the logic unit performs functions such as reading and writing. Descriptors are used to store configuration related information.

Guess you like

Origin blog.csdn.net/u014100559/article/details/130958836