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

From: Namjae Jeon
Date: Wed Feb 08 2012 - 23:34:21 EST


2012/2/6 Santosh Y <santoshsy@xxxxxxxxx>:
> On Mon, Feb 6, 2012 at 4:15 AM, Namjae Jeon <linkinjeon@xxxxxxxxx> wrote:
>> 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
>>>>
>>>> --
>>>> 1.7.5.4
>>> 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) ?
>> Thanks.
>
> Hi Namjae,
>
> Currently UFS Driver is being tested on on UFS Controller FPGA and UFS
> Device FPGA. So currently the main concentration is on functionality.
> Performance on FPGA will not be the correct measurement.
Hi. Santosh.
If possible, I hope that you share performance to us when you post new
patch next time.
And Personally I am expecting good random I/O speed on UFS.
Thanks.
>
>>>> --
>>>> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
>>>> the body of a message to majordomo@xxxxxxxxxxxxxxx
>>>> More majordomo info at Âhttp://vger.kernel.org/majordomo-info.html
>>>> Please read the FAQ at Âhttp://www.tux.org/lkml/
>
> --
> ~Santosh
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/