SlideShare a Scribd company logo
Universal Flash Storage
2015.03.13
Leedooyong
dylee@yicsystem.com
0.Acronyms
1.UFS Introduction
2.UFS Layer
3.UPIU Format
4.Logical Units
5.SCSI Commands
• SCSI (Small Computer System Interface)
• SAM (SCSI Architecture Model)
• CDB (Command Descriptor Block )
• MIPI (Mobile Industry Processor Interface )
• LUN (Logical Unit Number)
• SBC (SCSI Block Commands)
• UniPro (Unified Protocol)
• UPIU (UFS Protocol Information Units)
• UTP (UFS Transport Protocol)
• UNC (UFS native command)
• RPMB (Replay Protected Memory Block)
• DME (Device Management Entity)
• T_SDU (UniPro Service Data Unit)
Acronyms
1.UFS Introduction
저장장치 종류
UFS
JEDEC (Joint Electron Device Engineering Council)
현재는 JEDEC Solid State Technology Association 로 알려져있다.
JESD220A v1.0은 2011년
JESD220A v1.1 released in June 2012.
JESD220B v2.0 announced September 2013
UFS 스펙은 High Data Rates , Increased reliablitiy 을 목표로하고 있습니다.
제안된 사양은 노키아, 소니 에릭슨, 텍사스 인스트루먼트, ST 마이크로 일렉트로닉스, 삼성, 마이크론 등
주요 기업에 의해 지원되고 있습니다.
도시바는 2013년 2월에 UFS 1.1을 내놓고 지원 칩을 내놓았으며 JEDEC이 국제 표준으로 지정
하지만 그때 나온 버전은 속도가 300MB/s밖에 안되 eMMC에게 따라잡힘
그래서 UFS 2.0이 나오게 됨.
UFS는 분리형 카드와 통합 패키지를 모두 지원함.
UFS는 EMMC에 호환성이 없음.
UFS
eMMC 와 비교
• High speed serial interface compared to eMMC, which is a parallel interface.
• Ease of integration into embedded applications.
• Full duplex read/write operations.
• Uses the SCSI architectural model, unlike eMMC.
• Overall low power consumption, due to faster read/write operations and more idle time.
메모리 속도
UFS 아키텍쳐
UFS 시스템 모델
2.UFS
Layer
Device manager
디바이스 레벨 컨트롤 , Query Request , lower level link-layer control
1. Handling device level operation
ex) device sleep, device power down, power management
2. Managing device level configurations
디바이스의 설정정보를 수정하거나 얻기위한 쿼리요청을 핸들링
UFS Command set layer (UCS)
읽기,쓰기 같은 normal command 핸들
Task Manager
command queue control
Application Layer
Service Access Points : UDM_SAP
Service Access Points : UIO_SAP
UFS Command Set Layer (UCS)
UFS Command Layer (UCL)
UCS (UFS SCSI Command Set)
5.6 (19page)
1.SBC (SCSI Block Command)
FORMAT UNIT
READ(6) and READ(10)
READ CAPACITY(10)
REQUEST SENSE
SEND DIAGNOSTIC
UNMAP
WRITE (6) and WRITE (10)
2.SPC (SCSI Primary Command)
INQUIRY
REPORT LUNS
READ BUFFER (optional)
TEST UNIT READY
WRITE BUFFER (optional)
SECURITY PROTOCOL IN
SECURITY PROTOCOL
3.SCSI operational command
MODE SELECT (10)
MODE SENSE (10)
PRE-FETCH (10)
START STOP UNIT
SYNCHRONIZE CACHE (10)
VERIFY (10)
4.Value-added optional command
READ(16), WRITE(16), PRE-
FETCH (16), SYNCHRONIZE
CACHE (16), and READ
CAPACITY(16), applicable to block
device with capacity larger than 2
TByte in any logical unit.
UFS Transport Protocol Layer (UTP)
Client-server model (request-response
Architecture)
Initiator  (request) Target
Client  (request) Server
Host  (request) Device
Initiator  (response) Target
Client  (response) Server
Host  (response) Device
UPIU Transaction Codes
UFS InterConnect Layer (UIC)
• UniProSM (또는 Unified Protocol) UFS를
지원하는 휴대용 장치에 집적 회로를 상호 연
결하기위한 고속 인터페이스 기술입니다
• UIC (UFS Interconnect Layer )
링크계층 MIPI UniPro
물리계층 MIPI M-PHY
UniPro interconnection schematic
3.UPIU Format
Basic Header Format
Transaction Type
COMMAND UPIU
4.Logical Units
5.SCSI
Commands
MODE SELECT(10) Command
MODE SENSE(10) Command
Reference•http://www.slideshare.net/BhaumikBhatt4/universal-flash-storage
•http://www.jedec.org/standards-documents/focus/flash/universal-flash-storage-ufs
•http://universalflash.org/wp-content/uploads/2011/06/1306_UFSA_White_Paper.pdf
•Available on JEDEC web Site !
•JESD220B Universal Flash Storage Version 2.0
•JESD220-1 UFS Unified Memory Extension ( Device side )
•JESD223B UFS Host Controller Interface (UFSHCI) version 2.0
•JESD223-1 UFS Host Controller Interface (UFSHCI), Unified Memory Extension - Host (HCI) Side
•JESD224 UFS (Test)
[MIPI-M-PHY], MIPI Alliance Specification for M-PHYSM, Version 3.0
[MIPI-UniPro], MIPI Alliance Specification for Unified Protocol (UniProSM), Version 1.6
[MIPI-DDB], MIPI Alliance Specification for Device Descriptor Block (DDB), Version
[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
https://www.kernel.org/doc/Documentation/scsi/ufs.txt
http://en.wikipedia.org/wiki/SCSI_mode_page
http://www.tldp.org/HOWTO/archived/SCSI-Programming-HOWTO/
•http://en.wikipedia.org/wiki/SCSI_CDB
•https://vimeo.com/72052801
Understanding SCSI Sense 참고
http://blog.disksurvey.org/knowledge-base/scsi-sense/
Sensekey
http://www.t10.org/lists/2sensekey.htm
ASC/ASCQ
http://www.t10.org/lists/op-num.htm
감사합니다

More Related Content

What's hot

What is Universal Flash Storage (UFS)?
What is Universal Flash Storage (UFS)?What is Universal Flash Storage (UFS)?
What is Universal Flash Storage (UFS)?UniversalFlash
 
Linux Kernel MMC Storage driver Overview
Linux Kernel MMC Storage driver OverviewLinux Kernel MMC Storage driver Overview
Linux Kernel MMC Storage driver Overview
RajKumar Rampelli
 
Linux SD/MMC device driver
Linux SD/MMC device driverLinux SD/MMC device driver
Linux SD/MMC device driver
艾鍗科技
 
U boot porting guide for SoC
U boot porting guide for SoCU boot porting guide for SoC
U boot porting guide for SoCMacpaul Lin
 
U-Boot presentation 2013
U-Boot presentation  2013U-Boot presentation  2013
U-Boot presentation 2013
Wave Digitech
 
Uboot startup sequence
Uboot startup sequenceUboot startup sequence
Uboot startup sequenceHoucheng Lin
 
LCA13: Power State Coordination Interface
LCA13: Power State Coordination InterfaceLCA13: Power State Coordination Interface
LCA13: Power State Coordination Interface
Linaro
 
LCU13: An Introduction to ARM Trusted Firmware
LCU13: An Introduction to ARM Trusted FirmwareLCU13: An Introduction to ARM Trusted Firmware
LCU13: An Introduction to ARM Trusted Firmware
Linaro
 
U Boot or Universal Bootloader
U Boot or Universal BootloaderU Boot or Universal Bootloader
U Boot or Universal Bootloader
Satpal Parmar
 
LCU14 500 ARM Trusted Firmware
LCU14 500 ARM Trusted FirmwareLCU14 500 ARM Trusted Firmware
LCU14 500 ARM Trusted Firmware
Linaro
 
Pci express technology 3.0
Pci express technology 3.0Pci express technology 3.0
Pci express technology 3.0
Biddika Manjusree
 
Linux SD/MMC Driver Stack
Linux SD/MMC Driver Stack Linux SD/MMC Driver Stack
Linux SD/MMC Driver Stack
Champ Yen
 
Linux device drivers
Linux device drivers Linux device drivers
Pcie drivers basics
Pcie drivers basicsPcie drivers basics
Pcie drivers basics
Venkatesh Malla
 
Linux Device Tree
Linux Device TreeLinux Device Tree
Linux Device Tree
艾鍗科技
 
Moving to PCI Express based SSD with NVM Express
Moving to PCI Express based SSD with NVM ExpressMoving to PCI Express based SSD with NVM Express
Moving to PCI Express based SSD with NVM Express
Odinot Stanislas
 
What is Bootloader???
What is Bootloader???What is Bootloader???
What is Bootloader???
Dinesh Damodar
 
PCI express
PCI expressPCI express
PCI express
sarangaprabod
 
Embedded Systems (18EC62) – Embedded System Components (Module 3)
Embedded Systems (18EC62) – Embedded System Components (Module 3)Embedded Systems (18EC62) – Embedded System Components (Module 3)
Embedded Systems (18EC62) – Embedded System Components (Module 3)
Shrishail Bhat
 
Bootloaders (U-Boot)
Bootloaders (U-Boot) Bootloaders (U-Boot)
Bootloaders (U-Boot)
Omkar Rane
 

What's hot (20)

What is Universal Flash Storage (UFS)?
What is Universal Flash Storage (UFS)?What is Universal Flash Storage (UFS)?
What is Universal Flash Storage (UFS)?
 
Linux Kernel MMC Storage driver Overview
Linux Kernel MMC Storage driver OverviewLinux Kernel MMC Storage driver Overview
Linux Kernel MMC Storage driver Overview
 
Linux SD/MMC device driver
Linux SD/MMC device driverLinux SD/MMC device driver
Linux SD/MMC device driver
 
U boot porting guide for SoC
U boot porting guide for SoCU boot porting guide for SoC
U boot porting guide for SoC
 
U-Boot presentation 2013
U-Boot presentation  2013U-Boot presentation  2013
U-Boot presentation 2013
 
Uboot startup sequence
Uboot startup sequenceUboot startup sequence
Uboot startup sequence
 
LCA13: Power State Coordination Interface
LCA13: Power State Coordination InterfaceLCA13: Power State Coordination Interface
LCA13: Power State Coordination Interface
 
LCU13: An Introduction to ARM Trusted Firmware
LCU13: An Introduction to ARM Trusted FirmwareLCU13: An Introduction to ARM Trusted Firmware
LCU13: An Introduction to ARM Trusted Firmware
 
U Boot or Universal Bootloader
U Boot or Universal BootloaderU Boot or Universal Bootloader
U Boot or Universal Bootloader
 
LCU14 500 ARM Trusted Firmware
LCU14 500 ARM Trusted FirmwareLCU14 500 ARM Trusted Firmware
LCU14 500 ARM Trusted Firmware
 
Pci express technology 3.0
Pci express technology 3.0Pci express technology 3.0
Pci express technology 3.0
 
Linux SD/MMC Driver Stack
Linux SD/MMC Driver Stack Linux SD/MMC Driver Stack
Linux SD/MMC Driver Stack
 
Linux device drivers
Linux device drivers Linux device drivers
Linux device drivers
 
Pcie drivers basics
Pcie drivers basicsPcie drivers basics
Pcie drivers basics
 
Linux Device Tree
Linux Device TreeLinux Device Tree
Linux Device Tree
 
Moving to PCI Express based SSD with NVM Express
Moving to PCI Express based SSD with NVM ExpressMoving to PCI Express based SSD with NVM Express
Moving to PCI Express based SSD with NVM Express
 
What is Bootloader???
What is Bootloader???What is Bootloader???
What is Bootloader???
 
PCI express
PCI expressPCI express
PCI express
 
Embedded Systems (18EC62) – Embedded System Components (Module 3)
Embedded Systems (18EC62) – Embedded System Components (Module 3)Embedded Systems (18EC62) – Embedded System Components (Module 3)
Embedded Systems (18EC62) – Embedded System Components (Module 3)
 
Bootloaders (U-Boot)
Bootloaders (U-Boot) Bootloaders (U-Boot)
Bootloaders (U-Boot)
 

Viewers also liked

KLM4G1EEHM-B101
KLM4G1EEHM-B101KLM4G1EEHM-B101
KLM4G1EEHM-B101
Datasheet Bank
 
Introduction to Kernel and Device Drivers
Introduction to Kernel and Device DriversIntroduction to Kernel and Device Drivers
Introduction to Kernel and Device Drivers
RajKumar Rampelli
 
Tasklet vs work queues (Deferrable functions in linux)
Tasklet vs work queues (Deferrable functions in linux)Tasklet vs work queues (Deferrable functions in linux)
Tasklet vs work queues (Deferrable functions in linux)
RajKumar Rampelli
 
Linux Kernel I/O Schedulers
Linux Kernel I/O SchedulersLinux Kernel I/O Schedulers
Linux Kernel I/O Schedulers
RajKumar Rampelli
 
MIPI DevCon 2016: Key Learnings in Creating the UFS Compliance Test Program
MIPI DevCon 2016: Key Learnings in Creating the UFS Compliance Test ProgramMIPI DevCon 2016: Key Learnings in Creating the UFS Compliance Test Program
MIPI DevCon 2016: Key Learnings in Creating the UFS Compliance Test Program
MIPI Alliance
 
Linux watchdog timer
Linux watchdog timerLinux watchdog timer
Linux watchdog timer
RajKumar Rampelli
 
System Booting Process overview
System Booting Process overviewSystem Booting Process overview
System Booting Process overview
RajKumar Rampelli
 
[144]mobile앱에서 효율적인 storage 접근 방법
[144]mobile앱에서 효율적인 storage 접근 방법[144]mobile앱에서 효율적인 storage 접근 방법
[144]mobile앱에서 효율적인 storage 접근 방법
NAVER D2
 
LOGIC INSTRUMENT Présentation Français - Jan. 2014
LOGIC INSTRUMENT Présentation Français - Jan. 2014LOGIC INSTRUMENT Présentation Français - Jan. 2014
LOGIC INSTRUMENT Présentation Français - Jan. 2014Daniel Schroeder
 

Viewers also liked (10)

KLM4G1EEHM-B101
KLM4G1EEHM-B101KLM4G1EEHM-B101
KLM4G1EEHM-B101
 
UFS study record
UFS study recordUFS study record
UFS study record
 
Introduction to Kernel and Device Drivers
Introduction to Kernel and Device DriversIntroduction to Kernel and Device Drivers
Introduction to Kernel and Device Drivers
 
Tasklet vs work queues (Deferrable functions in linux)
Tasklet vs work queues (Deferrable functions in linux)Tasklet vs work queues (Deferrable functions in linux)
Tasklet vs work queues (Deferrable functions in linux)
 
Linux Kernel I/O Schedulers
Linux Kernel I/O SchedulersLinux Kernel I/O Schedulers
Linux Kernel I/O Schedulers
 
MIPI DevCon 2016: Key Learnings in Creating the UFS Compliance Test Program
MIPI DevCon 2016: Key Learnings in Creating the UFS Compliance Test ProgramMIPI DevCon 2016: Key Learnings in Creating the UFS Compliance Test Program
MIPI DevCon 2016: Key Learnings in Creating the UFS Compliance Test Program
 
Linux watchdog timer
Linux watchdog timerLinux watchdog timer
Linux watchdog timer
 
System Booting Process overview
System Booting Process overviewSystem Booting Process overview
System Booting Process overview
 
[144]mobile앱에서 효율적인 storage 접근 방법
[144]mobile앱에서 효율적인 storage 접근 방법[144]mobile앱에서 효율적인 storage 접근 방법
[144]mobile앱에서 효율적인 storage 접근 방법
 
LOGIC INSTRUMENT Présentation Français - Jan. 2014
LOGIC INSTRUMENT Présentation Français - Jan. 2014LOGIC INSTRUMENT Présentation Français - Jan. 2014
LOGIC INSTRUMENT Présentation Français - Jan. 2014
 

Similar to Universal flash storage

High Performance Storage Devices in the Linux Kernel
High Performance Storage Devices in the Linux KernelHigh Performance Storage Devices in the Linux Kernel
High Performance Storage Devices in the Linux Kernel
Kernel TLV
 
UNIT V PPT.ppt
UNIT V PPT.pptUNIT V PPT.ppt
UNIT V PPT.ppt
ThanmayaGoud
 
Juniper Trouble Shooting
Juniper Trouble ShootingJuniper Trouble Shooting
Juniper Trouble Shooting
Mike(Haobin) Zheng
 
CH10.pdf
CH10.pdfCH10.pdf
CH10.pdf
ImranKhan880955
 
Обзор новой СХД EMC Unity. Планирование обновления с VNX\VNX2, Тимофей Григор...
Обзор новой СХД EMC Unity. Планирование обновления с VNX\VNX2, Тимофей Григор...Обзор новой СХД EMC Unity. Планирование обновления с VNX\VNX2, Тимофей Григор...
Обзор новой СХД EMC Unity. Планирование обновления с VNX\VNX2, Тимофей Григор...
Компания УЦСБ
 
SQLIO - measuring storage performance
SQLIO - measuring storage performanceSQLIO - measuring storage performance
SQLIO - measuring storage performance
valerian_ceaus
 
RISC-V 30908 patra
RISC-V 30908 patraRISC-V 30908 patra
RISC-V 30908 patra
RISC-V International
 
Hardware-assisted Isolated Execution Environment to run trusted OS and applic...
Hardware-assisted Isolated Execution Environment to run trusted OS and applic...Hardware-assisted Isolated Execution Environment to run trusted OS and applic...
Hardware-assisted Isolated Execution Environment to run trusted OS and applic...
Kuniyasu Suzaki
 
Ch10
Ch10Ch10
Ch10
ushaindhu
 
Arrow Israel the MCU Home
Arrow Israel the MCU HomeArrow Israel the MCU Home
Arrow Israel the MCU Home
Amir Sherman
 
Cs8493 unit 4
Cs8493 unit 4Cs8493 unit 4
Cs8493 unit 4
Kathirvel Ayyaswamy
 
Study notes for CompTIA Certified Advanced Security Practitioner (ver2)
Study notes for CompTIA Certified Advanced Security Practitioner  (ver2)Study notes for CompTIA Certified Advanced Security Practitioner  (ver2)
Study notes for CompTIA Certified Advanced Security Practitioner (ver2)
David Sweigert
 
44con
44con44con
Open Hardware and Future Computing
Open Hardware and Future ComputingOpen Hardware and Future Computing
Open Hardware and Future Computing
Ganesan Narayanasamy
 
An introduction into Oracle VM V3.x
An introduction into Oracle VM V3.xAn introduction into Oracle VM V3.x
An introduction into Oracle VM V3.x
Marco Gralike
 
Real Time Operating System
Real Time Operating SystemReal Time Operating System
Real Time Operating System
Sharad Pandey
 
Question 1.1. (TCO 1) _____ is a type of license for software for .docx
Question 1.1. (TCO 1) _____ is a type of license for software for .docxQuestion 1.1. (TCO 1) _____ is a type of license for software for .docx
Question 1.1. (TCO 1) _____ is a type of license for software for .docx
IRESH3
 
operating system
operating systemoperating system
operating system
subashini mari
 

Similar to Universal flash storage (20)

High Performance Storage Devices in the Linux Kernel
High Performance Storage Devices in the Linux KernelHigh Performance Storage Devices in the Linux Kernel
High Performance Storage Devices in the Linux Kernel
 
UNIT V PPT.ppt
UNIT V PPT.pptUNIT V PPT.ppt
UNIT V PPT.ppt
 
Juniper Trouble Shooting
Juniper Trouble ShootingJuniper Trouble Shooting
Juniper Trouble Shooting
 
CH10.pdf
CH10.pdfCH10.pdf
CH10.pdf
 
Обзор новой СХД EMC Unity. Планирование обновления с VNX\VNX2, Тимофей Григор...
Обзор новой СХД EMC Unity. Планирование обновления с VNX\VNX2, Тимофей Григор...Обзор новой СХД EMC Unity. Планирование обновления с VNX\VNX2, Тимофей Григор...
Обзор новой СХД EMC Unity. Планирование обновления с VNX\VNX2, Тимофей Григор...
 
SQLIO - measuring storage performance
SQLIO - measuring storage performanceSQLIO - measuring storage performance
SQLIO - measuring storage performance
 
RISC-V 30908 patra
RISC-V 30908 patraRISC-V 30908 patra
RISC-V 30908 patra
 
Hardware-assisted Isolated Execution Environment to run trusted OS and applic...
Hardware-assisted Isolated Execution Environment to run trusted OS and applic...Hardware-assisted Isolated Execution Environment to run trusted OS and applic...
Hardware-assisted Isolated Execution Environment to run trusted OS and applic...
 
Unix
UnixUnix
Unix
 
Ch10
Ch10Ch10
Ch10
 
Arrow Israel the MCU Home
Arrow Israel the MCU HomeArrow Israel the MCU Home
Arrow Israel the MCU Home
 
Cs8493 unit 4
Cs8493 unit 4Cs8493 unit 4
Cs8493 unit 4
 
Study notes for CompTIA Certified Advanced Security Practitioner (ver2)
Study notes for CompTIA Certified Advanced Security Practitioner  (ver2)Study notes for CompTIA Certified Advanced Security Practitioner  (ver2)
Study notes for CompTIA Certified Advanced Security Practitioner (ver2)
 
10.1.1.48.4087
10.1.1.48.408710.1.1.48.4087
10.1.1.48.4087
 
44con
44con44con
44con
 
Open Hardware and Future Computing
Open Hardware and Future ComputingOpen Hardware and Future Computing
Open Hardware and Future Computing
 
An introduction into Oracle VM V3.x
An introduction into Oracle VM V3.xAn introduction into Oracle VM V3.x
An introduction into Oracle VM V3.x
 
Real Time Operating System
Real Time Operating SystemReal Time Operating System
Real Time Operating System
 
Question 1.1. (TCO 1) _____ is a type of license for software for .docx
Question 1.1. (TCO 1) _____ is a type of license for software for .docxQuestion 1.1. (TCO 1) _____ is a type of license for software for .docx
Question 1.1. (TCO 1) _____ is a type of license for software for .docx
 
operating system
operating systemoperating system
operating system
 

Universal flash storage

  • 2. 0.Acronyms 1.UFS Introduction 2.UFS Layer 3.UPIU Format 4.Logical Units 5.SCSI Commands
  • 3. • SCSI (Small Computer System Interface) • SAM (SCSI Architecture Model) • CDB (Command Descriptor Block ) • MIPI (Mobile Industry Processor Interface ) • LUN (Logical Unit Number) • SBC (SCSI Block Commands) • UniPro (Unified Protocol) • UPIU (UFS Protocol Information Units) • UTP (UFS Transport Protocol) • UNC (UFS native command) • RPMB (Replay Protected Memory Block) • DME (Device Management Entity) • T_SDU (UniPro Service Data Unit) Acronyms
  • 6. UFS JEDEC (Joint Electron Device Engineering Council) 현재는 JEDEC Solid State Technology Association 로 알려져있다. JESD220A v1.0은 2011년 JESD220A v1.1 released in June 2012. JESD220B v2.0 announced September 2013 UFS 스펙은 High Data Rates , Increased reliablitiy 을 목표로하고 있습니다. 제안된 사양은 노키아, 소니 에릭슨, 텍사스 인스트루먼트, ST 마이크로 일렉트로닉스, 삼성, 마이크론 등 주요 기업에 의해 지원되고 있습니다. 도시바는 2013년 2월에 UFS 1.1을 내놓고 지원 칩을 내놓았으며 JEDEC이 국제 표준으로 지정 하지만 그때 나온 버전은 속도가 300MB/s밖에 안되 eMMC에게 따라잡힘 그래서 UFS 2.0이 나오게 됨. UFS는 분리형 카드와 통합 패키지를 모두 지원함. UFS는 EMMC에 호환성이 없음.
  • 7. UFS
  • 8. eMMC 와 비교 • High speed serial interface compared to eMMC, which is a parallel interface. • Ease of integration into embedded applications. • Full duplex read/write operations. • Uses the SCSI architectural model, unlike eMMC. • Overall low power consumption, due to faster read/write operations and more idle time.
  • 9.
  • 14. Device manager 디바이스 레벨 컨트롤 , Query Request , lower level link-layer control 1. Handling device level operation ex) device sleep, device power down, power management 2. Managing device level configurations 디바이스의 설정정보를 수정하거나 얻기위한 쿼리요청을 핸들링 UFS Command set layer (UCS) 읽기,쓰기 같은 normal command 핸들 Task Manager command queue control Application Layer
  • 17. UFS Command Set Layer (UCS) UFS Command Layer (UCL)
  • 18. UCS (UFS SCSI Command Set) 5.6 (19page) 1.SBC (SCSI Block Command) FORMAT UNIT READ(6) and READ(10) READ CAPACITY(10) REQUEST SENSE SEND DIAGNOSTIC UNMAP WRITE (6) and WRITE (10) 2.SPC (SCSI Primary Command) INQUIRY REPORT LUNS READ BUFFER (optional) TEST UNIT READY WRITE BUFFER (optional) SECURITY PROTOCOL IN SECURITY PROTOCOL 3.SCSI operational command MODE SELECT (10) MODE SENSE (10) PRE-FETCH (10) START STOP UNIT SYNCHRONIZE CACHE (10) VERIFY (10) 4.Value-added optional command READ(16), WRITE(16), PRE- FETCH (16), SYNCHRONIZE CACHE (16), and READ CAPACITY(16), applicable to block device with capacity larger than 2 TByte in any logical unit.
  • 19.
  • 20. UFS Transport Protocol Layer (UTP) Client-server model (request-response Architecture) Initiator  (request) Target Client  (request) Server Host  (request) Device Initiator  (response) Target Client  (response) Server Host  (response) Device
  • 22. UFS InterConnect Layer (UIC) • UniProSM (또는 Unified Protocol) UFS를 지원하는 휴대용 장치에 집적 회로를 상호 연 결하기위한 고속 인터페이스 기술입니다 • UIC (UFS Interconnect Layer ) 링크계층 MIPI UniPro 물리계층 MIPI M-PHY UniPro interconnection schematic
  • 24.
  • 28.
  • 29.
  • 30.
  • 34. Reference•http://www.slideshare.net/BhaumikBhatt4/universal-flash-storage •http://www.jedec.org/standards-documents/focus/flash/universal-flash-storage-ufs •http://universalflash.org/wp-content/uploads/2011/06/1306_UFSA_White_Paper.pdf •Available on JEDEC web Site ! •JESD220B Universal Flash Storage Version 2.0 •JESD220-1 UFS Unified Memory Extension ( Device side ) •JESD223B UFS Host Controller Interface (UFSHCI) version 2.0 •JESD223-1 UFS Host Controller Interface (UFSHCI), Unified Memory Extension - Host (HCI) Side •JESD224 UFS (Test) [MIPI-M-PHY], MIPI Alliance Specification for M-PHYSM, Version 3.0 [MIPI-UniPro], MIPI Alliance Specification for Unified Protocol (UniProSM), Version 1.6 [MIPI-DDB], MIPI Alliance Specification for Device Descriptor Block (DDB), Version [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 https://www.kernel.org/doc/Documentation/scsi/ufs.txt http://en.wikipedia.org/wiki/SCSI_mode_page http://www.tldp.org/HOWTO/archived/SCSI-Programming-HOWTO/ •http://en.wikipedia.org/wiki/SCSI_CDB •https://vimeo.com/72052801 Understanding SCSI Sense 참고 http://blog.disksurvey.org/knowledge-base/scsi-sense/ Sensekey http://www.t10.org/lists/2sensekey.htm ASC/ASCQ http://www.t10.org/lists/op-num.htm

Editor's Notes

  1. RPMB Replay Protected Memory Block. Secure Memory Block - eMMC 내부에 Replay Protected Memory Block(RPMB)라는 영역을 두어 특정한 명령어 셋으로만 이영역에 접근할 수 있도록 하였습니다. 일종의 OTP(One Time Password) 영역과도 비슷한데, 고객의 특수 데이타등을 기록해 두기에 적합한 영역 입니다. Logical Unit Number (LUN) Partition SCSI 에서 버스에서 사용되는 고유 식별자 최대 8개의 독립적인 장치들이 서로를 구별할수 있게 해준다. MIPI (Mobile Industry Processor Interface) 프로세서와 주변장치들 사이의 하드웨어 및 소프트웨어를 위한 표준 ex) MIPI D-Phy 고속의 디지털 시리얼 인터페이스 (적용시키기 쉽고 배터리소모량 줄어들고 높은대역폭을통해 전송가능)
  2. ---
  3. 메모리 스토리지 시장은 여러가지 다양한 종류의 카드가 있다. Sandisk 에 의해 구체화된 SD 카드 SecureDigital 최근 몇년간 가장인기있는 매체가 되었고 가장 널리 사용되어왔습니다. 하지만 예외로 다른카드들도 여전히 존재합니다. CF 카드 (Compact Card) XD Picture card 는 디지털 카메라에 사용됩니다. NAND Raw Flash 는 자신의 고유 프로토콜로 사용가능합니다. 프로토콜은 reading page , writing page , erase blocks 을 포함하고있다. 이것은 디스크처럼 동작하지않는다. 디스크는 블럭읽기/쓰기 가 가능한데 플래시는 읽기/쓰기 페이지가 가능… 페이지의 셋이라 불리는 블록은 새로운데이터를 쓰기전에 지워줘야하는 과정필요.. 단지 제한된 횟수만큼 지우는게 가능합니다. (메모리의 수명) SD 매우 작은 microcontroller 와 NAND 로 구성되어 있습니다. 마이크로 콘트롤러는 웨어 레벨링과 블록 스페어링 뿐만 아니라 원반모양의(disk-like) 블록 액세스와 의미있는 NAND 조작으로 변환하는 FTL (플래시 변환 계층)을 구현합니다. SD 카드는 "호스트"측에 SPI 프로토콜을 사용하고 있습니다. USB SD 카드 리더는 SPI SD 명령에서 USB 대용량 저장 명령으로 변환 eMMC 이것은 기본적으로 당신은 마더 보드에 내장 된 SD 카드 등의 (- 충분히 그 SD 카드 리더는 일반적으로 MMC 카드를 읽을 수 있고, SD와 MMC 규격은 매우 비슷하다)로 간주 할 수 있도록 무엇을 말합니다. 일반적으로 내부 SPI 버스를 통해 하드웨어의 나머지 부분에 연결되어있다. 휴대 전화, ARM 하드웨어 및 기타 임베디드 디바이스 (즉, 라우터)는 이것을 가지고 있다. SSD (Solid State Drive) 컨트롤러 + NAND 뭉치는 하드 드라이브 케이스에 넣었다. 컨트롤러는 마찬가지로,웨어 레벨링과 블록 스페어 링을 수행하도록 원반 모양의 블록 액세스를 가지고 의미있는 NAND 조작으로 변환 FTL (플래시 변환 계층)을 구현합니다. 등등 "Sandforce"과 같은 몇 가지 컨트롤러 유형은 잘 알려져있다. SSD는 호스트측에서 SATA 프로토콜과 커넥터를 사용하고 있습니다. 플래시 메모리는 오늘날 고밀도, 낮은 전력 사용량 및 내구 특성을 갖는 비 휘발성 메모리 솔루션의 광범위한 가전의 우세한 기억 매체. Flash는 저비용, 고성능 및 스마트 폰에서 휴대용 GPS 장치, 게임 시스템, 디지털 카메라, 휴대용 컴퓨팅 장치에 이르기까지 제품의 안정적인 스토리지 솔루션을 제공합니다. 플래시를 위한 응용프로그램이 다양화해 짐에 따라 업계 표준 솔루션의 필요성이 높아지고있다. ///////////////////////////////////////////////////////////////////// 참고 Wear-Leveling.. SSD를 포함한 NAND Flash를 Media로 사용하는 저장장치들은 (USB 메모리 포함) Platter에 Magnetic 방식으로 기록하는 기존 Media와 달리 비교적 짧은 Write Cycle을 가집니다. (SLC : 약 10만회, MLC : 약 1만회, Magnetic Media : 반영구적) 사실 이정도의 Write Cycle도 큰 문제는 없지만, 현재 주로 사용되는 Filesystem들은 디스크의 앞쪽(바깥쪽)부터 Write/Erase를 반복하면서 용량이 증가함에 따라 안쪽을 사용하게 되어 있습니다. 예를 들어, 디스크에 총 10개의 공간이 있다고 할때 현재 앞쪽 3개가 사용중이라고 가정해 봅시다. 이중 맨앞에 1개를 지우고, 1개의 새로운 데이터를 기록한다면 대게는 지워진 맨 앞 공간에 새로운 데이터가 기록될 가능성이 높습니다. 따라서 전체 용량의 30%만 계속 사용하고 있다면 주로 디스크의 앞쪽(바깥쪽)만 계속 썼다 지웠다는 반복하게 되는 것입니다. (한마디로 Locality를 높이는 전략) Magnetic Media를 사용하는 일반 HDD는 이렇게 사용하는것이 Access Time을 줄이고 단편화(Fragmentation)을 줄이는 데 도움이 되므로 이런식의 관리하는 것입니다. 다만, SSD 등장 이전에는 우리가 의식하지 못했지만 이것은 거의 반영구적인 Write Cycle을 가지고 있기 때문입니다. 그런데, 만약 똑같은 Disk 관리 정책을 SSD에 적용해도 문제가 없을까요? 앞서 말씀드린것처럼 NAND Flash Media는 Magnetic Media 보다 상대적으로 짧은 Write Cycle을 가진탓에 비슷한 지역을 계속 썼다 지웠다 하다간 비교적 금방 ware out(Disk Fail) 되어버리고 맙니다. 따라서, 축구에서 게임메이커가 축구장을 구석구석까지 넓게 활용해야 하는것처럼 SSD도 대부분의 지역을 균등하게 사용하는 전략이 필요합니다. 이런 Disk 관리 정책을 이른바 "Wear Leveling"이라고 합니다. 블록 스페어링 Bad block 에 대비하기 위한 각 Section 사이에 여분의 Block 을 두는것..
  4. 스마트폰과 태블릿에 쓰이는 스토리지는 기본적으로 모두 eMMC입니다. 전력 사용량과 제조 단가가 낮아 인기가 좋거든요. 하지만 설계 그 자체에 있는 한계로 인해 속도를 더 높이기가 힘듭니다. 그래서 퀄컴과 도시바는 새로운 규격인 UFS 2.0을 도입하려 합니다. MMC는 1997년에 탄생했고 eMMC는 컨트롤러와 플래시 스토리지를 BGA로 같이 패키징한 것입니다. 속도는 계속 높아져 4.41이 104MB/s, 4.5가 200MB/s, 5.0이 400MB/s를 달성했는데, 8비트 패러럴 인터페이스를 사용하는지라 이제 더 이상 뽑아먹을 속도가 없습니다. UFS는 시리얼 인터페이스입니다. PATA와 SATA로 바뀐 것과 매우 닯았지요. 양방향 작동을 지원하며 읽기/쓰기를 동시에 하는 것도 가능합니다. 전원 관리 효율도 높고 커맨드 어레이도 지원합니다. 이외 대조적으로 eMMC는 앞서 UFS의 장점으로 말한 것이 전부 안됩니다. 도시바는 2013년 2월에 UFS 1.1을 내놓고 지원 칩을 내놓았으며 JEDEC이 국제 표준으로 지정했습니다. 하지만 그때 나온 버전은 속도가 300MB/s밖에 안되 eMMC에게 따라잡혔지요. 그래서 UFS 2.0이 나오게 됐습니다. UFS 2.0은 두가지 버전, 두가지 전송 채널이 있습니다. HS-G2는 이론 대역이 5.8Gbps며 740MB/s의 속도를 냅니다. HS-G3는 11.6Gbps에 1.5GB/s의 속도가 냅니다. 앞으로 짧지 않은 시간 동안 이 정도의 대역폭이라면 충분하지 싶습니다. 퀄컴은 스냅드래곤 805 프로세서에 UFS 2.0의 지원을 추가할 계획입니다. UFS Background First published in February 2011, UFS is designed to be the most advanced specification for both embedded and removable Flash memory-based storage in mobile devices such as smartphones and tablets. The initial data throughput for UFS is 300 megabytes per second (MB/s) over the bus in both uplink and downlink directions simultaneously, without infringing on bandwidth needed for other applications. UFS offers a low active power level and a near-zero idle power level, which, combined with the power-saving attributes of the related MIPI specifications, allows 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. The UFS HCI specification and the adoption of SCSI provide a well-known software programming model and are enabling wider market adoption.  첫째, 2011 년 2 월에 발표 된 UFS는 스마트 폰이나 태블릿 등의 모바일 기기에 내장되어 있으며, 이동식 플래시 메모리 기반 스토리지 모두를위한 최첨단 사양이되도록 설계된 있습니다. UFS의 초기 데이터 처리량은 다른 응용 프로그램에 필요한 대역폭을 침해하지 않고 동시에 업 링크 및 다운 링크 양방향으로 버스 초당 300 메가 바이트 (MB / s)이다. UFS는 관련 MIPI 규격의 절전 특성과 결합하여 장치의 소비 전력의 대폭적인 삭감을 가능하게하는 낮은 활성 전력 수준과 거의 제로 유휴 전력 레벨을 제공합니다. UFS 표준은주지의 SCSI 아키텍처 모델과 명령 프로토콜 명령 큐잉 기능을 갖춘 여러 명령을 지원하는 멀티 스레드 프로그래밍 패러다임을 유효하게 채용하고있다. 이것은 랜덤 읽기 / 쓰기 액세스의 성능을 제한하는 기존의 플래시 기반의 메모리 카드를 한 번에 하나의 명령을 처리하는 임베디드 플래시 솔루션과는 다르다. UFS HCI 사양이나 SCSI의 채용은주지의 소프트웨어 프로그래밍 모델을 제공하고 다양한 시장의 채택을 가능하게하고있다.
  5. UFS 장점 SSD 의 장점 취득 High Speed serial Interface Command Queue 증명된 아키텍쳐 (SCSI) eMMC 의 장점 취득 저전력 Flash 기반의 기능 모바일환경 에 최적화 // 참고 SCSI (Small Computer System Interface) IDE (PATA) 계열 인터페이스 -> 인터럽트 발생시마다 CPU 를 점유 SCSI CPU 와 독립적으로 처리해주기 때문에 속도가 빠르다. SCSI Interface 에대해 더 자세히 알아보려면… http://cafe.naver.com/paran839/13 IDE SCSI USB FireWire 의 관계를 생각하면 비슷하다. 내장형/외장형장치 모두에 사용할 수 있다. daisy chain 방식의 구성이 가능하다. 참고 데이지 체인이란 연속적으로 연결되어 있는 하드웨어 장치들의 구성을 지칭한다. 예를 들어 SCSI 인터페이스는 최대 7개의 장치까지 데이지 체인형식을 지원한다.
  6. https://vimeo.com/72052801 LVDS (Low Voltage Differential Signal) http://en.wikipedia.org/wiki/Low-voltage_differential_signaling
  7. 삼성전자가 세계 최초로 차세대 스마트폰용 업계 최대 용량의 128기가바이트(GB) ‘UFS(Universal Flash Storage) 메모리’를 본격적으로 양산하며 초고속 UFS 메모리 시대를 열었습니다. UFS 메모리는 국제 반도체 표준화 기구 ‘제덱(JEDEC)’의 최신 내장 메모리 규격인 ‘UFS 2.0’ 인터페이스를 적용한 제품인데요. 시스템 성능에 큰 영향을 미치는 임의 읽기 속도가 외장형 고속 메모리 카드보다 12배 이상 빠릅니다. 특히 UFS 메모리는 SSD에서 사용하고 있는 가속 기능 ‘커맨드 큐(Command Queue)’를 적용, 기존 고성능 내장메모리(eMMC 5.0) 대비 임의 읽기 속도는 2.7배 빨라진 반면, 소비 전력은 절반 수준에 불과합니다. ☞ 커맨드 큐 기능이란? 내장 메모리카드의 성능 극대화를 위해 여러 입출력 데이터를 한 번에 처리하는 기술을 말합니다 또한, UFS 메모리는 외장 메모리 카드보다 28배 빠른 1만4000 IOPS의 임의 쓰기 속도를 구현, 스마트폰에서 초고해상도(UHD) 콘텐츠를 보면서 다른 작업을 동시에 수행해도 버퍼링 현상 없이 최상의 모바일 경험을 제공하는데요. 삼성전자는 기존 eMMC 라인업(64·32·16기가바이트) 대비 용량을 2배 확대한 128·64·32기가바이트의 UFS 메모리 라인업을 선보임
  8. UIC(UFS Interconnect) is the lowest layer of UFS layered architecture. It handles connection between UFS host and UFS device. UTP transports messages through UFS protocol information unit(UPIU). Application layer handles SCSI commands supported by the UFS specification. SCSI SAM 아키텍쳐 모델을 따른다.
  9. UFS Host 가 어떻게 device 에 접근하는지 보여주고 있습니다. UFS driver 를 사용하여 디바이스와 통신하게 되는데 UFS Driver는 UFS-HCI 를 통해 UFS HOST 컨트롤러를 관리합니다. UFS-HCI 는 기본적으로 레지스터셋 호스트컨트롤러에 의해 노출된. 표는 또한 UFS Host 와 device 사이에 UFS Interface 를 나타내고 있습니다. UIC Layer 는 MIPI UniPro 와 MIPI M-PHY 로 이루어져 있습니다. M-PHY 는 differentioal dual simplex PHY는 TX 와 RX pair 를 포함한다. 잠재적으로 UFS 디바이스는 메모리카드가 될수있으며 (풀사이즈 또는 마이크로사이즈) ,부팅가능한 임베디드 mass storage (또는 IO 디바이스..)가 될수 있다. UFS 디바이스는 디바이스 매니저 그리고 디스크립터과 같은 여러 개의 로지컬 유닛으로 구성되어있는데 디바이스 매니저는 읽기나 쓰기동작을 하는 동안의 파워 매니지먼트 같은 디바이스 레벨의 동작을 수행한다. 디스크립터는 정보와 관계된 configuration 의 저장??(storage)을 하는 운명을 타고남;;
  10. The Application layer is composed of UFS command set layer(UCS), Task Manager and Device manager. The UFS interface is designed to be protocol agnostic, however SCSI has been selected as a baseline protocol for versions 1.0 and 1.1 of UFS protocol layer. UFS supports subset of SCSI commands defined by SPC-4 and SBC-3. * UCS: It handles SCSI commands supported by UFS specification. * Task manager: It handles task management functions defined by the UFS which are meant for command queue control. * Device manager: It handles device level operations and device configuration operations. Device level operations mainly involve device power management operations and commands to Interconnect layers. Device level configurations involve handling of query requests which are used to modify and retrieve configuration information of the device. 이것은 장치 수준의 조작 및 장치 구성 작업을 처리한다. 장치 수준의 작업은 주로 따라 장치 관리 작업이나 명령 레이어를 상호 연결한다. 장치 수준의 설정은 쿼리 처리를 포함 수정 및 장치 구성 정보를 얻기 위해 사용되는 것을 요구한다. Device level configuration is managed by the device manager by maintaining and storing a set of descriptors. The device manager would handle commands like query request which is meant for modifying and retrieving configuration information of the device. Device Level configuration 의 유지 및 descriptors 세트를 포함하여 device manager 에 의해 관리되고있다. device manager 을 위해 의미되는 쿼리 요청 등의 명령을 처리하고자 수정 및 장치의 구성 정보를 수집한다.
  11. 디바이스 매니저가 아래의 레이어로 정보를 주고받을때 두개의 Serveice Access Point 가 있는데 UDM_SAP UTP 와의 통신 , 디바이스 레벨의 동작 및 설정에 관한 것들들 핸들링. 예를들면 디스크립터를 위한 쿼리 요청 UIO_SAP UIC 레이어와의 통신.
  12. UIO_SAP UIC 레이어와의 통신. 디바이스 매니저가 UIC layer의 리셋요청 또한 호스트로부터의 리셋요청
  13. UFS SCSCI command (USC) 는 SCSI Primary Command 와 SCSI Block Command 로 이루어져있다. 두개의 커맨드타입은 유사한 커맨드CDB 포맷을 공유한다. 커맨드셋 레이어의 주요한 기능은 호스트와 디바이스간의 데이터의 교환방법을 설립.. 그리고 근본적인 디바이스 관리 능력 을 제공?? UFS 는 SCSI SBC 와 SPC 커맨드를 수정할수 없다. CDB SCSI 커맨드는 SCSI CDB 를 디바이스에 보냄으로 통신한다. SCSI 가 추가적으로 가변길이의 CDB 포맷을 가지고 있는것과는 달리 UFS는 UFS만을 위한 고정된 길이의 CDB 포맷이 있다. 모든 UFS CDB는 operation code 필드를 첫번째바이트에 갖고 이것은 SCSI 그리고 UFS에 각각 디파인되있다. 자세한 CDB 사용방법은 아래에… [SPC], INCITS T10 draft standard: SCSI Primary Commands – 4 (SPC-4), Revision 27, 11 October 2010 제너럴 Common CDB 필드는 다음에 디파인되있음. SPC-4, 4.3.5 “Common CDB field” SCSI 와 USC CDB의 첫번째 바이트는 operation code 를 포함. CDB에 의해 요청된 동작을 구분하는 코드. UNC ( UFS Native Command) 이버전(UFS 2.0)에는 디파인되지 않음… 나중에 필요하면 디파인될것임..
  14. UFS SCSI Command 는 SPC , SBC 와 호환된다. 만약 bLUEnable = 01h 이라면 각각의 로지컬 유닛은 표 11.1에있는 Mandatory로 디파인된 커맨드를 지원할것임.. 컨트롤 바이트는 이번스펙에서사용하지 않음. 제로가되고 무시해버려 ACA 지원하지 않음. (Auto contingent allegiance)
  15. Target : LU (Logical Unit) 을 포함한 UFS Device UFS Device 는 하나 이상의 LU 를 포함하고 있다. LU 는 device 안의 독립적으로 실행하는 개채이다. 각각의 LU 는 타겟디바이스 안에 주소를 갖고있는데 LUN (Logical Unit Number)라 불린다. Initiator 와 Target 사이 통신은 여러종류의메시지인데 메시지 포맷은 UPIU 를 따른다 모든 UPIU 는 common header area 를 가지고 있으며 data structure 의 시작에 위치함 나머지 필드는 UPIU 타입에 따라 다르다. Task 는 커맨드또는 요청된 서비스를 수행하는 동작의 시퀀스. LU 는 task queue 를 포함하며 이것은 하나 또는 이상의 테스크를 지원할것이다. 태스크큐는 LU 에 의해 관리된다. 특정 Initiator 는 Task Tag 를 제공하는데 이것은 태스크를 빌딩할때 Initiator 에 의해 생성된다. Task Tag 는 타겟그리고 Initiator 가 멀티플 Task 를 구분할때 사용된다. 모든 트랙잭션과 특정 태스크로 지정된 시퀀스는 데이터 스트럭쳐로 지정된 Task Tag 가 포함된 트랜젝션을 포함할 것입니다. ?? 커맨드 스트럭쳐는 커맨드 오피코드와 관계된 파라미터, 플래그 , 속성등이 포함된 CDB 로 이루어져 있다. CDB콘텐트 의 디스크립션과 스트럭쳐는 SAM , SPC ,SPC T10 draft standard 에 디파인 되있다. 커맨드 트랜잭션은 커맨드 , optional data phase , status phase 로 구성되어 있다. 이트랜젝션은 UPIU 스트럭쳐의 폼(모양)으로 대표된다. (대변)?? 커맨드 phase 는 커맨드 인포메이션이랑 이니시에이터에서 타겟으로 가는 파라미터를 지원하는것을 배달한다. 만약 데이터 phase 가 필요하다면 데이터 플로우의 방향은 이니시에이터(호스트)에 관계있다. Data Write 는 이니시에이터에서 타겟으로 Data read 는 반대 타겟에 커맨드 요청의 완성은 Status phase 동안의 이니시에이터에 대한 응답을 배달할 것이다. ?? 응답은 status 랑 성공적인 완성 또는 커맨드의 실패를 가리키는 UFS 응답 status 를 포함할것이다. 2.2 UFS Transport Protocol(UTP) layer UTP layer provides services for the higher layers through Service Access Points. UTP defines 3 service access points for higher layers. * UDM_SAP: Device manager service access point is exposed to device manager for device level operations. These device level operations are done through query requests. * UTP_CMD_SAP: Command service access point is exposed to UFS command set layer(UCS) to transport commands. * UTP_TM_SAP: Task management service access point is exposed to task manager to transport task management functions. UTP transports messages through UFS protocol information unit(UPIU).
  16. UFS transaction 은 (디바이스와 Unipro bus 사이를 여행하는)UPIU 라 불리는 패킷으로 구성되어있다. 트랙젝션은 요청-응답동작의 형태의 이니시에이터 그리고 타겟사이에 시작된다…?? 이니시에이터는 타겟디바이스와 LUN 으로의 요청에 의한 트랜젝션의 시퀀스로 시작한다. ??? 타겟은 응답 트랜젝션으로 응답할 것이다…?? 모든 UFS UPIU 는싱글 베이직 헤더 세그먼트 , 트랜젝션 specific fields , 하나 또는 그 이상의 extended header segment , 제로 또는 이상의 데이터 세그먼트 로 이루어져 있다. UPIU 포맷에대해선 다음에 설명이 나옵니다 베이직 헤더세그먼트는 12바이트길이 픽스 최소 UPIU 사이즈는 32바이트 ( 배이직 헤더 세그먼트랑 트렌젝션 specific 필드가포함) 최대 UPIU 사이즈는 65600 바이트 UPIU 포맷은 유연하다. 확장하기 쉽고 미래 트랜젝션을 지원 그리고 큰 데이터 세그먼트 지원하기에 충분하다. 이 프로토콜에서 unipro 말고 다른 네트워크프로토콜로 허락하기위하여.. 각각의 UPIU 데이터 스트럭쳐는 트랜젝션 코드를 포함하고 있다. 표의 코드는 펑션이랑 UPIU data 스트럭쳐 사용여부를 알수있음..
  17. 2.3 UFS Interconnect(UIC) Layer UIC is the lowest layer of UFS layered architecture. It handles connection between UFS host and UFS device. UIC consists of MIPI UniPro and MIPI M-PHY. UIC provides 2 service access points to upper layer, * UIC_SAP: To transport UPIU between UFS host and UFS device. * UIO_SAP: To issue commands to Unipro layers. 참고 MIPI (Mobile Industry Processor Interface) 프로세서와 주변장치들 사이의 하드웨어 및 소프트웨어를 위한 표준 ex) MIPI D-PHY 고속의 디지털 시리얼 인터페이스 (적용시키기 쉽고 배터리소모량 줄어들고 높은대역폭을통해 전송가능) D-PHY Versions 1.0 and 1.1 of UniPro use MIPI's D-PHY technology for the off-chip Physical Layer. This PHY allows inter-chip communication. Data rates of the D-PHY are variable, but are in the range of 500-1000 Mbit/s (lower speeds are supported, but at decreased power efficiency). The D-PHY was named after the Roman number for 500 ("D"). The D-PHY uses differential signaling to convey PHY symbols over micro-stripline wiring. A second differential signal pair is used to transmit the associated clock signal from the source to the destination. The D-PHY technology thus uses a total of 2 clock wires per direction plus 2 signal wires per lane and per direction. For example a D-PHY might use 2 wires for the clock and 4 wires (2 lanes) for the data in the forward direction, but 2 wires for the clock and 6 wires (3 lanes) for the data in the reverse direction. Data traffic in the forward and reverse directions are totally independent at this level of the protocol stack. In UniPro, the D-PHY is used in a mode (called "8b9b" encoding) which conveys 8-bit bytes as 9-bit symbols. The UniPro protocol uses this to represent special control symbols (outside the usual 0 to 255 values). The PHY itself uses this to represent certain special symbols that have meaning to the PHY itself (e.g. IDLE symbols). Note that the ratio 8:9 can cause some confusion when specifying the data rate of the D-PHY: a PHY implementation running with a 450 MHz clock frequency is often rated as a 900 Mbit/s PHY, while only 800 Mbit/s is then available for the UniPro stack. The D-PHY also supports a Low-Power Data Transmission (LPDT) mode and various other low-power modes for use when no data needs to be sent. Versions 1.4 and beyond of UniPro support both the D-PHY as well as M-PHY[4] technology. The M-PHY technology is still in draft status, but supports high-speed data rates starting at about 1000 Mbit/s (the M-PHY was named after the Roman number for 1000). In addition to higher speeds, the M-PHY will use fewer signal wires because the clock signal is embedded with the data through the use of industry-standard 8b10b encoding. Again, a PHY capable of transmitting user data at 1000 Mbit/s is typically specified as being in 1250 Mbit/s mode due to the 8b10b encoding. Physical layer technologies supported by UniPro PHY technology Version / Released Symbol encoding Mbit/s (payload) Signal wires Supported in D-PHY 1.00.00 / 14-May-2009 8b/9b up to circa 900 4 per direction UniPro 0.80 and up M-PHY 1.00.00 / Under adoption process 8b/10b 1000 and higher 2 per direction UniPro 1.40 and up UniPro 1.40 and up The D- and M-PHY are expected to co-exist for several years because the D-PHY is a less complex technology while the M-PHY provides higher bandwidths with fewer signal wires. Low speed modes and power savings[edit] It is worth noting that UniPro supports the power efficient low speed communication modes provided by both the D-PHY (10 Mbit/s) and M-PHY (3 Mbit/sec up to 500 Mbit/s). In these modes, power consumption roughly scales with the amount of data that is sent. Furthermore both PHY technologies provide additional power saving modes because they were optimized for use in battery-powered devices. --- To achieve the highest performance and most power efficient data transport, JEDEC UFS aligns with industry–leading specifications from the MIPI® Alliance to form its Interconnect Layer. This collaboration continues with UFS v2.0, which supports the M-PHY® Version 3.0 specification and the UniProSM Version 1.6 specification. The MIPI® Alliance (MIPI) is an open membership organization that develops interface specifications for mobile and mobile-influenced industries.  In July 2012 UniPro v1.40 has been upgraded to UniPro v1.41[6] to support the newer higher speed M-PHY v2.0.[7] The UniPro v1.4x specifications have been released together with a formal specification model (SDL) 버전 1.0 및 UniPro 1.1은 오프 칩 물리 계층을위한 MIPI의 D-PHY 기술을 사용하고 있습니다. 이 PHY 칩 간의 통신을 가능하게한다. D-PHY 데이터 속도는 가변이지만, 500 ~ 1000 비트 / 초의 범위이다 (더 낮은 속도가 지원되어 있지만에서는 전력 효율 저하). D-PHY는 500을 위해 로마 숫자 ( "D")의 이름을 따서 명명되었다. D-PHY는 마이크로 스트립 라인의 배선에서 PHY 심볼을 전달하기 위해 차동 신호를 사용하고 있습니다. 제 2 차동 신호 쌍은 소스에서 대상 관련 클럭 신호를 전송하기 위해 사용된다. D-PHY 기술은 이러한 방향마다 2 클럭 배선을 더한 레인 당과 방향 당 2 개의 신호선의 총을 사용하고 있습니다. 예를 들어, D-PHY 시계 용 2 선 순방향 데이터를 위해 4 선 (2 차선)가 클럭의 2 선 및 역방향 데이터를위한 6 와이어 (3 레인)을 사용 하는 경우가 있습니다. 순방향 데이터 트래픽과 역방향 프로토콜 스택이 수준에서 완전히 독립하고있다. UniPro는 D-PHY는 9 비트의 상징으로 8 비트 바이트를 전달 ( "8b9b"암호화라고도 함) 모드에서 사용된다. UniPro 프로토콜은 이것은 (보통 0 ~ 255의 값의 외부) 특별한 제어 기호를 나타내는 데 사용합니다. PHY 자체는 PHY 자체에 의미가 특정 특수 문자 (예 : IDLE 기호)를 표현하기 위해 이것을 사용하고 있습니다. PHY의 구현은 많은 경우 900 Mbit / s의 PHY와 평가 450 MHz의 클럭 주파수에서 작동하는 유일한 800 Mbit / s이다 반면 D-PHY의 데이터 속도를 지정할 때 9 혼란을 일으킬 수 있습니다 : 비 8이 있다는 점에 유의하십시오 UniPro 스택을 위해 사용할 수 있습니다. 데이터가 전송 될 필요가없는 경우에 D-PHY 또한 저전력 데이터 전송 (LPDT) 모드와 사용을위한 다양한 다른 저전력 모드를 지원합니다. 버전 1.4 및 UniPro를 모두 지원 D-PHY뿐만 아니라 M-PHY [4] 기술 넘었다. M-PHY 기술 초안 상태입니다 만, (M-PHY는 1000 년에 로마 숫자의 이름을 따서 명명되었다) 1000 Mbit / s에서 시작 빠른 데이터 속도를 지원하고 있습니다 . 클록 신호는 업계 표준 8b10b 인코딩을 사용하여 데이터가 포함되어 있기 때문에, 고속화 외에도 M-PHY는 적은 신호선을 사용한다. 다시 1000 Mbit / s에서 사용자 데이터를 보낼 수있는 PHY는 일반적으로의 8b10b 인코딩 1250 Mbit / s 모드 인 것으로 확인된다. UniPro에서 지원되는 물리 계층 기술 Physical layer technologies supported by UniPro PHY technology Version / Released Symbol encoding Mbit/s (payload) Signal wires Supported in D-PHY 1.00.00 / 14-May-2009 8b/9b up to circa 900 4 per direction UniPro 0.80 and up M-PHY 1.00.00 / Under adoption process 8b/10b 1000 and higher 2 per direction UniPro 1.40 and up M-PHY는 더 적은 신호선과 높은 대역폭을 제공하면서 D-PHY는 그다지 복잡한 기술이기 때문에 D- 및 M-PHY는 몇 년간 공존 할 것으로 예상된다. 저속 모드와 저전력 화 그것은 UniPro는 D-PHY (10 Mbit / s)와 M-PHY (500 Mbit / s의 3 비트 / 초까지) 모두에서 제공하는 전력 효율적인 저속 통신 모드를 지원하는 것이 주목 만하다. 이 모드에서는 전력이 거의 전송되는 데이터의 양에 비례. 이들은 배터리 구동 장치에서의 사용에 최적화 되었기 때문에 더욱 두 PHY 기술은 추가의 절전 모드를 제공한다. 최고의 성능과 가장 전력 효율적인 데이터 전송을 실현하기 위해 JEDEC UFS는 그 배선층을 형성하기 위해 MIPI® 얼라이언스에서 업계 최고의 사양과 일치한다. 이번 협력은 M-PHY® 버전 3.0 사양과 UniProSM 버전 1.6 사양을 지원하는 UFS v2.0의 계속합니다. MIPI® 얼라이언스 (MIPI)는 모바일 및 모바일의 영향을받은 산업의 인터페이스 사양을 개발하고 오픈 회원사입니다. 2012 년 7 월에는 UniPro의 V1.40 [6] 더 새롭고 더 빠른 M-PHY v2.0을 지원하기 위해 UniPro의 v1.41로 업그레이드되었습니다. [7] UniPro의 v1.4x 사양 (정식 적 사양 모델과 함께 출시되는 SDL)
  18. UPIU 토털 사이즈는 UPIU 트랜젝션 타입에 따라 상이하다. 사이즈는 32 bit 배 4바이트 배 정수… 만약 32 bit 바운더리가 아니라면 추가적으로 padding 을 붙여준다. UPIU 사이즈는 픽스될수 있고 또는 타입과 익스텐션 플레그에 따라 가변적일수 있다. 어떤 트렌텍션 타입은 다른 길이를 갖을수있고 어떤거는 항상 픽스 사이즈를 갖는다. 추가적으로 UPIU 는 확장될수 있다. 만약 안에 extra header 랑 data segment 를 포함하는것을 필요로 한다면 The general format allows for extension and has flags and size fields defined within the structure to indicate to the processing entity where the extension areas are located within the structure and their size (not including padding) and in some cases the type of extension data. 일반 형식은 확장이 가능하다. 또한 구조 내 확장 지역의 위치, 크기(패딩이 포함되어있지 않은) 및 일부 경우 확대된 자료 유형을 프로세싱 주체에 알리는 것을 목적으로 하며 구조 내에서 정의 되어있는 플래그 및 크기 필드를 가진다. 트랜잭션 타입 리퀘스트나 리스판스의 타입을 가리킨다. 데이터 스트럭쳐를 포함하고 있는 .. HD 현재 지원안함 0이 되야함 DD 현재 지원안함 0이 되야함 트랜젝션 코드 (21 페이지에 설명있음.) 플래그 플래그의 플래그 필드의 콘텐트는 상이하다. 트랜잭션 타입 오피코드와 리스판스 타겟으로의 성공이나 실패를 가리킨다 ,, 이니시에이터에서 타겟으로 갈때엔 리저브드되있음. 스테이터스 SCSI 스테이터스를 포함한다 SAM 에 디파인되있음. 리저브드 리저브드는 제로값 포함 LUN 이 필드는 이니시에이터 그리고 [(타겟과 싱글요청또는 테스크에 관계된 모든UPIU트랜젝션을 위한) 타겟이나 이니시에이터에 의해 유지되는] 에 의해 생성된다. Task Tag 테스크 요청을 생성할때 이니시에이터에 의해 만들어진다.이 필드는 이니시에이터 또는 타겟에 의해 유지된다. (싱글테스크에 관계된 모든 유피아이유 트랜잭션을 위한 ) 이니시에이터는 레지스터 또는 변수값을 갖는다. Task Tag 값을 대표하는 이니시에이터는 특별한 Task Tag 를 생성할 것이다. 새로운 테스트 요청이 생성될때 내부변수의 증가로 의해서 테스크 요청이 만들어진때 또는 UPIU 트랜잭션의 종류가 생성될때 모든 UPIU 는 Task Tag 필드안에같은 값을 가진다.?? Command Set Type 포비트 커맨드 유피아이유와 리스판스 유피아아이유를 위한것… 앞에 두개 제외하곤 모든UPIU 에 리저브드 되있음.. 타입오브 커맨드(CDB 필드가 포함된)를 가리키는데 사용되어짐. 표 10.10 참조 Query Function, Task Mang. Function 쿼리 리퀘스트 쿼리 리스판스 유피아아유에서 사용되어짐. 쿼리펑션을 디파인 테스크 매니지먼트 리퀘스트 유피아이유 안에 테스크 매니지먼트 펑션에 디파인되있음. Device Information 디바이스 레벨 정보를 제공한다… 모든 리스판스 유피아이유안에 특정 UFS functionality에 의해 Total Extra Header Segment Length 32비트 유닛 (DWoRD) 사이즈를 대변한다. 모든 엑스트라 해더 세그먼트가 포함하고 있다. 이 필드는 만약 추가적인 헤더세그먼트가 필요한 경우 사용되어짐.각각의 엑스트라 헤더 세그먼트의 길이는 4배수로 … 이버전에서 사용하지않음. 0으로 세팅 Data Segment Length 4배수 아닐경우 제로로 패딩됨. 다음 가장가까운 32비트 바운더리까지 Data Segment DWORDS = INTEGER ( (Data Segment Length +3) / 4) 데이터세그먼트 렝스 필드 사이즈가 2바이트라면 데이터세그먼트는 최대 65535 유효한 바이트를 포함할수 있다. 제로라면 유피아아이유에 데이터세그먼트가 없음을 의미 Transaction Specific Fields 정확한 트랜잭션 코드에 의한 요청으로 추가적인 필드는 이 에어리어에 위치한다. UTP 를 위하여 이 지역은 12에서 시작해서 32까지 위치한다. 모든 유피아아유가 12바이트 베이직 ㅔㅎ더를 포함한다면 이것은 여기를 위해 20바이트를 유지해야한다. Extra Header Segment 이 버전에서 사용하지 않음. Data Segment 32비트 배수 4바이트배수 4배수 아닐경우 제로로 패딩됨. 다음 가장가까운 32비트 바운더리까지
  19. 배이직헤더포맷은 모든 UPIU 스트럭쳐에 있다. 이 데이터 패킷은 이니시에이터 와 타겟아이에 보내질 것이다. 특정 UPIU 에 큰 펑션의 일부가 될것이다.?? 충분한 정보가 있다. 가장작은 사이즈의 UPIU 는 32바이트를 갖는다.32 바이트 area 는 배이직헤더 플러스 추가 필드를 포함할 것이다. 이 말인 즉슨… 서비스 딜리버리 서브시스템으로 보내는 가장작은 자료 는 32바이트가 될것이다??? 트랜잭션 타입 리퀘스트나 리스판스의 타입을 가리킨다. 데이터 스트럭쳐를 포함하고 있는 .. (참고…. 5번 direction of flow )
  20. 베이직 유피아이유 + 특정 커맨드를 필요로하는 추가적인 인포메이션. 이니시에이터는 이 유피아이유를 생성할것이다. 그리고 타겟으로 보낸다. 타겟에 의해 수행되는 스커시 커맨드 서비스를 12바이트까지는 베이직헤더 트랜젝션 타입 타입코드 밸류는 xx00 0001b -> indicate COMMAND UPIU 플래그 표 참조… 데이터세그먼트 랭스 제로이면 UPIU 안에 노 데이터세그먼트 Expected data transfer length 스커지 커맨드 요청을 완성하기 위해 요청.하는 바이트의 수를 대표하는 값이 들어감.?? 데이터는 아마 이니시에이터에서 타겟 또는 타겟에서 이니시에이터로 … 이 필드는 온리 flags.W 또는 flag.R 만 유효하다. 한가지만 1로 세팅 //// 쓰기동작인경우 .W flag 가 1로 세팅되고 .R flag는 0으로 세팅 이니시에이터에서 타겟으로 전송될 바이트수가 들어감. 이모델은 필요로한다. 호스트가 적당한 버퍼스페이스를 할당해야 Data In 동작을요청하는 커맨드로 인한 데이터 요청의 풀사이즈를 받기위해 사이즈는 측정된다. 이 요청은 중요하다.풀 쓰루풋을 실현하기 위해 Data In phase 추가적인 핸드쉐이킹 UPIU없이. 이니시에이터는 아마 요청한다. Data out size 타겟의 리시브 버퍼보다 크게 이번경우에는 타겟은 DATA OUT UPIU 에 직면할것이다. READY TO TRANSFER UPIU 를 보냄으로인해 ??? 이니시에이터는 DATA OUT UPIU 보내지 않을것이다. READY TO TRANSFER UPIU를 받기 전까지는 CDB 16바이트의 배열로 이루어져 있는데 이것은 스텐다드 커맨드 디스크립터 블록을 포함하고 있다. UFS Command Set Type 을 지원하는것 중 하나로 디파인되있는 SCSI 커맨드를 위해 SPC 같은 경우 레퍼런스가 될수 있다 16바이트 이상 활용될수 있다 CDB 사이즈는 결정된다. CDB[0] for SCSI …… SCSI command operation code CDB 사이즈가 16바이트보다 작은경우 COMMAND UPIU 는 사용되지 않는다. .. 리저브드 됨. 다른 커맨드의 경우 CDB 사이즈 커맨드 오피코드에 따라 다르다 커맨드 셋 타입 특정 enumerated value 특정 커맨드 셋이 사용되어진다. ,CDB 필드안에 커맨드 바이트 디파인되기 위해 ?? 10.5.3 커맨드 셋 타입 디스크립션 확인 테이블 10.10 을 봐라.
  21. LU 는 SCSI Task 및 수행작업관리 기능을 처리하는 외부에서 다룰수있고 독립 , 처리 엔티티 입니다. UFS 디바이스는 하나 이상의 로지컬 유닛을 가지고 있다. 각각의 유닛은 디바이스 안의 로지컬 유닛에 독립적이다 UFS 는 부트코드를 위하여 8개의 로지컬유닛을 지원한다. 어플리케이션 코드와 mass storage data application 추가로 잘 알려진 로지컬 유닛은 10.6.6에 나와있따 커맨드는 설명한다 로지컬 유닛 ‘아이’ 는 로지컬 유닛 아이에 의해 핸들된다 배타적으로 보여지지않고 핸들 또는 로지컬 유닛 ‘제이’(또는 다른 로지컬유닛)에 의하여 수행됨 로지컬유닛은 다음을 포함한다. Device Server 스커지 커맨드를수행하는 로지컬 유닛의 개념적 개체 Task Manager 태스크 매니지먼트를 수행 커맨드의 시퀀스를 제어하는 로지컬유닛의 개념적 개체 Task Set 하나그이상의 커맨드 의 그룹 개념
  22. UPIU 안에 8비트 LUN Field 는 LUN 또는 W-LUN 을 제공하기 위해 사용되어진다. 특별히 WLUN_ID 의 MSB 는 다음을 따른다 WLUN_ID = 0b for logical unit WLUN_ID = 1b for well known logical Unit 남은 7비트는 LUN 값또는 W-LUN 값을 세팅하는데 쓰여짐 로지컬 유닛의 타입에 따라 다르다. UPIU 안의 LUN필드의 인코딩?? 128LUN 지원??? (0 <= UNIT_NUMBER_ID <=127) 잘 알려진 로지컬유닛 ….다음의 특정 함수에서 나옴 REPORT LUNS , UFS Device , Boot , RPMB REPORT LUNS 는 SPC 에서 디파인되어있는 잘 알려진 로지컬유닛인데 로지컬유닛목록을 제공한다.
  23. 테이블 11.6 참조… The Device Server will request transfer PARAMETER LIST LENGTH number of bytes from a buffer in the Application Client by issuing one or more READY TO TRANSFER UPIU’s (RTT) followed by a DATA OUT UPIU per RTT and will subsequently write those to the appropriate Mode Page area within the Device Server 디바이스 서버는 RTT마다 DATA OUT UPIU 에 이어 하나 이상의 READY TO TRANSFER UPIU 를 실행하여 응용 프로그램 클라이언트의 버퍼의 바이트의 전송 PARAMETER LIST LENGTH 번호를 물어보고, 장치 서버의 적절한 Mode Page 영역에 그들을 씁니다 호스트로부터 온 데이터는 DATA_OUT UPIU 의 데이터 세그먼트를 포함할것이다? After delivery the Device Server will sort through the parameter list to identify the individual mode pages 디바이스 서버로 배달후에 개별모드 페이지를 식별하는 매개변수 목록을 정렬합니다. 제로 또는 불완한전 RTT 넘버 그리고 DATA OUT UPIU 는 // 완전한 데이터 전송이 완료되기전 쓰기에러가 발생한다면 요청될 것이다. The Parameter List will be formatted as indicated by the Mode Parameter Layout 모드 매개 변수 레이아웃에 의해 진술되는 것과 같이 파라미터리스트가 포맷됩니다? 해더 (8바이트) 블럭디스크립터 (0바이트 for UFS)_ Page Data (N byte, 보내는 페이지수에 따라 다름) Mode Select Command Status Response Status 응답은 싱글 RESPONSE UPIU 로 보내질것이다. 만약 요청데이터가 성공적으로 전송되고 쓰여진다면 MODE SELECT 커맨드가 종료될 것이다. STATUS 응답이 GOOD 과 함께 만약 유닛이 새로운 커맨드를 받을 준비가 되어있지 않다면 ( 아직 이전 커맨드 수행중) STATUS 가 BUSY 로 응답하고 리턴될 것이다. 실패는 여러가지 이유로 발생된다. MODE SELECT 커맨드가 실패했을때 CHECK CONDITION 의 STATUS 가 응답하게된다. 이것은 적절한 SENSE KEY 을 따라서 리턴될것이다. 다음과 같은 o ILLEGAL REQUEST (CDB or parameter errors) o MEDIUM ERROR (medium failure, ECC, etc.) o HARDWARE ERROR (hardware failure) o UNIT ATTENTION (reset, power-on, etc)
  24. The MODE SENSE command provides a means for a Device Server to report parameters to an Application Client MODE SENSE 명령은 디바이스서버가 어플리케이션 클라이언트로 파라미터를 보고하기위한 수단을 제공한다 파라미터들은 모드페이지라 불리우는 파라미터페이지의 수단에 의해 관리된다.??? UFS 디바이스는 아래의 모드페이지를 지원한다. CONTROL , READ-WRITE ERROR RECOVERY , CACHING UFS 디바이스는 아마 벤더 스페시픽 모드페이지를 지원한다. 11.4 를 봐라 리스트 안에 리드 파라미터페이지 있다 어플리케이션 클라이언트는 아마 요청할것이다 디바이스 서버로부터의 어느 하나 또는 모든 지원 페이지를 만약 모든페이지가 요청된다면 페이지 순서를 정렬하여 리턴할것이다. 모드 센스는 DEVICE-SPECIFIC PARAMETER in header 를 리턴한다. 11.4.1.3 mode parameter header 를 봐라 상호보완적인 커맨드로 MODE SELECT command 가 있다. 커맨드 CDB는 single COMMAND UPIU안에 보내질것임 Byte Bit Description 2 7:6 PC: The page control (PC) field specifies the type of mode parameter values to be returned in the mode pages. See table below for definition. 2 5:0 PAGE CODE: Specifies which mode page to return. The Page and Subpage code specify the page to return. 3 7:0 SUBPAGE CODE: Specifies which subpage mode page to return 7:8 7:0 ALLOCATION LENGTH: Specifies the maximum number of bytes the Device Server will transfer to the Application Client 참고 SCSI Sense buffer 디버깅시 유의할점 troubleshooting Sense type, either fixed or descriptor, What command it relates to, current or previous, Sense Key, ASC/ASCQ — Additional Sense Code and Additional Sense Code Qualifier. 가장쉬운방법은 툴사용해서 디코딩하는것 Ex) sg3_utils provides sg_decode_sense since version 1.31 libscsicmd implements it a web tool is available to Decode the sense data that is based on libscsicmd
  25. JESD223B is intended to simplify the design process by defining a standard host controller interface on which system designers can create a common host controller software driver layer to work with UFS host controller hardware from different manufacturers. JESD220-1 and JESD223-1 define the interface between the UFS driver and the UFS host controller, as well as data structures inside the system memory which are used to exchange data, control and status information. JESD224 defines standard test cases and procedures for measuring the behavior of UFS devices and comparing that with the requirements of the UFS standard. To achieve the highest performance and most power efficient data transport, JEDEC UFS aligns with industry–leading specifications from the MIPI® Alliance to form its Interconnect Layer. This collaboration continues with UFS v2.0, which supports the M-PHY® Version 3.0 specification and the UniProSM Version 1.6 specification.   For more information about MIPI specifications related to UFS, visit: http://www.mipi.org/about-mipi/industry-associations/jedec-solid-state-technology-association. JESD223B는 시스템 설계자는 다른 메이커의 UFS 호스트 컨트롤러의 하드웨어에서 동작하는 일반적인 호스트 컨트롤러 소프트웨어 드라이버 계층을 만들 수있는 표준 호스트 컨트롤러 인터페이스를 정의함으로써, 설계 과정을 단순화하는 것을 의도하고있다. JESD220-1과 JESD223-1는 데이터, 제어 및 상태 정보를 교환하는 데 사용되는 시스템 메모리 내부의 UFS 드라이버와 UFS 호스트 컨트롤러 사이의 인터페이스 및 데이터 구조를 정의한다. JESD224는 UFS 장치의 거동을 측정하여 UFS 규격의 요구 사항에 그것을 비교하기위한 표준 테스트 케이스 및 절차를 정의합니다. 최고의 성능과 가장 전력 효율적인 데이터 전송을 실현하기 위해 JEDEC UFS는 그 배선층을 형성하기 위해 MIPI® 얼라이언스에서 업계 최고의 사양과 일치한다. 이번 협력은 M-PHY® 버전 3.0 사양과 UniProSM 버전 1.6 사양을 지원하는 UFS v2.0의 계속합니다. http://www.mipi.org/about-mipi/industry-associations/jedec-solid-state-technology-association:UFS 방문에 관련한 MIPI 사양에 대한 자세한 내용은.