Re: [PATCH 0/4] [SCSI] ufshcd: UFS Host Controller Driver

From: Namjae Jeon
Date: Sun Feb 05 2012 - 17:45:45 EST

2012/2/5 Namjae Jeon <linkinjeon@xxxxxxxxx>:
> 2012/2/2 Vinayak Holikatti <vinholikatti@xxxxxxxxx>:
>> From: Santosh Yaraganavi <santoshsy@xxxxxxxxx>
>> UFS is designed to be the most advanced specification for
>> both embedded and removable flash memory-based storage in mobile devices
>> such as smart phones and tablet computers. ÂThe UFS standard represents
>> an evolutionary progression of JEDEC standards in this field, and has been
>> specifically tailored for mobile applications and computing systems requiring
>> high performance and low power consumption. ÂThe initial data throughput for
>> UFS will be ~300 megabytes per second (MB/s), and the standard also supports
>> command queuing features to raise random read/write speeds.
>> To achieve the highest performance and most power efficient data
>> transport, UFS uses the leading industry interface standards to form its
>> Interconnect Layer: MIPIÂ Allianceâs M-PHY and UniProSM Âspecifications.
>> UniPro is a comprehensive specification meant to act as a universal
>> chip-to-chip protocol, providing a common tunnel for other protocols.
>> The M-PHY interface is designed as the primary physical interface (PHY layer)
>> for the UniPro specification, and is a high speed serial interface targeting
>> up to 2.9 gigabits per second (Gbps) per lane with up-scalability to 5.8Gbps
>> per lane.
>> MIPIâs M-PHY and UniPro specifications are optimized for mobile applications,
>> and are designed from the ground up for efficient power management in mobile
>> devices, including enabling efficient transitions between the active and power
>> save modes. Combined with a low active power level and a near-zero idle power
>> level, UFS offers the promise for significant reductions in device power
>> consumption.
>> The UFS standard adopts the well-known SCSI Architecture Model and command
>> protocols supporting multiple commands with command queuing features and
>> enabling a multi-thread programming paradigm. This differs from conventional
>> flash-based memory cards and embedded flash solutions which process one
>> command at a time, limiting random read/write access performance.
>> In addition, a forthcoming complementary UFS Host Controller Interface (HCI)
>> specification will allow system designers greater flexibility by simplifying
>> the involvement of the host processor in the operation of the flash storage
>> subsystem. The UFS HCI specification and the adoption of SCSI will provide
>> a well-known software programming model and enable wider market adoption.
>> This patchset contains PCIe based UFS host controller driver which complies
>> to UFSHCI 1.0 and 1.1. The driver is based on Linux SCSI framework.
>> The driver is tested with UFS Host controller(FPGA) and UFS device(FPGA).
>> This patch set is successfully applied on kernel version 3.3-rc2.
>> Santosh Yaraganavi (4):
>> Â[SCSI] ufshcd: UFS Host controller driver
>> Â[SCSI] ufshcd: UFS UTP Transfer requests handling
>> Â[SCSI] ufshcd: UFSHCI error handling
>> Â[SCSI] ufshcd: SCSI error handling
>> Âdrivers/scsi/Kconfig   Â|  Â1 +
>> Âdrivers/scsi/Makefile   |  Â1 +
>> Âdrivers/scsi/ufs/Kconfig Â| Â 49 ++
>> Âdrivers/scsi/ufs/Makefile | Â Â2 +
>> Âdrivers/scsi/ufs/ufs.h  Â| Â203 +++++
>> Âdrivers/scsi/ufs/ufshcd.c | 1954 +++++++++++++++++++++++++++++++++++++++++++++
>> Âdrivers/scsi/ufs/ufshci.h | Â360 +++++++++
>> Â7 files changed, 2570 insertions(+), 0 deletions(-)
>> Âcreate mode 100644 drivers/scsi/ufs/Kconfig
>> Âcreate mode 100644 drivers/scsi/ufs/Makefile
>> Âcreate mode 100644 drivers/scsi/ufs/ufs.h
>> Âcreate mode 100644 drivers/scsi/ufs/ufshcd.c
>> Âcreate mode 100644 drivers/scsi/ufs/ufshci.h
>> --
> Hi.
> I have been waiting for ufs contribution.
> Unfortunately I don't have real target supported ufs(maybe only you
> have it). I can not debug and run this code, So just review only code
> with specification.
Hi. Santosh.
Would you share performance measurement result (read/write seq,ran) ?
>> --
>> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
>> the body of a message to majordomo@xxxxxxxxxxxxxxx
>> More majordomo info at Â
>> Please read the FAQ at Â
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at
Please read the FAQ at