KR102498223B1 - Ufs 장치의 작동 방법, ufs 호스트의 작동 방법, 및 이들을 포함하는 시스템의 작동 방법 - Google Patents

Ufs 장치의 작동 방법, ufs 호스트의 작동 방법, 및 이들을 포함하는 시스템의 작동 방법 Download PDF

Info

Publication number
KR102498223B1
KR102498223B1 KR1020150142812A KR20150142812A KR102498223B1 KR 102498223 B1 KR102498223 B1 KR 102498223B1 KR 1020150142812 A KR1020150142812 A KR 1020150142812A KR 20150142812 A KR20150142812 A KR 20150142812A KR 102498223 B1 KR102498223 B1 KR 102498223B1
Authority
KR
South Korea
Prior art keywords
ufs
link
host
response
warm reset
Prior art date
Application number
KR1020150142812A
Other languages
English (en)
Other versions
KR20170043269A (ko
Inventor
윤송호
허정
이재규
장덕현
황주영
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR1020150142812A priority Critical patent/KR102498223B1/ko
Priority to JP2016001460A priority patent/JP6654048B2/ja
Priority to US15/194,714 priority patent/US10203896B2/en
Publication of KR20170043269A publication Critical patent/KR20170043269A/ko
Application granted granted Critical
Publication of KR102498223B1 publication Critical patent/KR102498223B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/24Resetting means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0632Configuration or reconfiguration of storage systems by initialisation or re-initialisation of storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1608Error detection by comparing the output signals of redundant hardware
    • G06F11/1612Error detection by comparing the output signals of redundant hardware where the redundant component is persistent storage
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1608Error detection by comparing the output signals of redundant hardware
    • G06F11/1625Error detection by comparing the output signals of redundant hardware in communications, e.g. transmission, interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1666Error detection or correction of the data by redundancy in hardware where the redundant component is memory or memory area
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/0643Management of files

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computer Security & Cryptography (AREA)
  • Quality & Reliability (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Debugging And Monitoring (AREA)
  • Multi Processors (AREA)
  • Bus Control (AREA)
  • Information Transfer Systems (AREA)

Abstract

UFS 호스트와 링크를 통해 통신할 수 있는 구조를 갖는 UFS 장치의 작동 방법은 상기 UFS 장치가 상기 링크를 통해 상기 UFS 호스트와 통신하는 단계와, 상기 UFS 장치가 상기 링크에 대한 웜 리셋이 필요한지를 판단하는 단계와, 상기 웜 리셋이 필요할 때, 상기 UFS 장치가 상기 웜 리셋의 이니시에이터로 작동하는 단계를 포함한다. 상기 웜 리셋은 UniPro Warm Reset일 수 있다.

Description

UFS 장치의 작동 방법, UFS 호스트의 작동 방법, 및 이들을 포함하는 시스템의 작동 방법{METHOD FOR OPERATING UNIVERSAL FLASH STROAGE (UFS) DEVICE, METHOD FOR OPERATING UFS HOST, AND METHOD FOR OPERATING UFS SYSTREM HAVING THEM}
본 발명의 개념에 따른 실시 예는 UFS(universal flash storage) 장치의 작동 방법에 관한 것으로, 특히 링크에 대한 웜 리셋(warm reset)을 트리거(trigger)할 수 있는 UFS 장치의 작동 방법, UFS 호스트의 작동 방법, 및 이들을 포함하는 UFS 시스템의 작동 방법에 관한 것이다.
UFS 호스트와 UFS 장치는 링크를 통해 데이터를 주고받는다. UFS 장치에서 UFS 라이트 명령이 처리되는 도중에, 상기 링크를 통해 데이터를 주거나 받을 수 없는 상황이 발생하면, 상기 UFS 장치는 상기 라이트 명령의 처리가 완료됨을 지시하는 완료 응답을 상기 링크를 통해 UFS 호스트로 전송하지 못한다.
이때, UFS 호스트의 UFS 드라이버는 지정된 타임-아웃까지 상기 완료 응답을 기다린다. 상기 UFS 드라이버가 상기 완료 응답을 수신하지 못하면, 장치 타임-아웃 에러가 발생한다. 상기 UFS 드라이버는 라이트 명령의 실패를 지시하는 라이트 명령 실패를 애플리케이션으로 전송한다. 이 경우, 애플리케이션이 요청한 라이트 명령이 정상적으로 처리되지 못했으므로, 상기 UFS 장치를 포함하는 UFS 시스템은 정상적으로 작동할 수 없다.
본 발명이 이루고자 하는 기술적인 과제는 링크를 통해 데이터를 전송할 수 없는 상황이 발생할 경우 상기 상황을 자동으로 감지하고, 감지 결과에 따라 UFS 장치에 대한 UniPro Warm Reset을 트리거할 수 있는 UFS 장치의 작동 방법, UFS 호스트의 작동 방법을 제공하는 것이다.
본 발명의 실시 예에 따른 UFS 호스트와 링크를 통해 통신할 수 있는 구조를 갖는 UFS 장치의 작동 방법은, 상기 UFS 장치가 상기 링크를 통해 상기 UFS 호스트와 통신하는 단계와, 상기 UFS 장치가 상기 링크에 대한 웜 리셋이 필요한지를 판단하는 단계와, 상기 웜 리셋이 필요할 때, 상기 UFS 장치가 상기 웜 리셋의 이니시에이터(initiator)로 작동하는 단계를 포함한다.
상기 판단하는 단계는 상기 링크를 통해 수신된 데이터에 포함된 에러 비트들의 개수에 기초하여 수행된다. 상기 웜 리셋은 UniPro Warm Reset이다.
상기 통신하는 단계는 상기 UFS 장치가 상기 UFS 호스트로부터 제1명령과 제2명령을 수신하고, 상기 제1명령과 관련된 제1완료 응답을 상기 UFS 호스트로 전송하는 단계를 포함한다. 상기 UFS 장치의 작동 방법은, 상기 웜 리셋에 의해 상기 링크가 재설정된 후, 상기 UFS 장치가 상기 UFS 호스트로 전송되지 못한 상기 제2명령과 관련된 제2완료 응답을 상기 UFS 호스트로 전송하는 단계를 더 포함한다.
상기 UFS 장치의 작동 방법은 상기 UFS 장치가 상기 웜 리셋을 위해 상기 UFS 호스트와 핸드세이크들을 수행하는 단계와, 상기 웜 리셋에 의해 상기 링크가 재설정된 후, 상기 UFS 장치가 상기 UFS 호스트로 전송되지 못한 완료 응답을 상기 UFS 호스트로 전송하는 단계를 더 포함한다. 상기 판단하는 단계와 상기 작동하는 단계는 UIC(UFS interconnect) 레이어에 의해 수행된다.
본 발명의 실시 예에 따라, UFS 장치와 링크를 통해 통신할 수 있는 구조를 갖는 UFS 호스트의 작동 방법은 입출력 요청과 관련된 제1명령과 제2명령을 상기 UFS 장치로 전송하는 단계와, 상기 UFS 장치로부터 상기 제1명령과 관련된 제1완료 응답을 수신하는 단계와, 상기 링크에 대한 웜 리셋이 상기 UFS 장치에 의해 트리거(trigger)되었음을 판단하는 단계와, 상기 판단의 결과에 기초하여, 상기 UFS 장치에 대한 상기 웜 리셋을 수행하는 단계를 포함한다.
상기 UFS 호스트의 작동 방법은 상기 웜 리셋에 의해 재설정된 링크를 통해 상기 UFS 장치로부터 전송된 상기 제2명령과 관련된 제2완료 응답을 수신하는 단계를 더 포함한다.
상기 UFS 호스트의 작동 방법은 상기 UFS 호스트의 UFS 드라이버가 상기 제2명령과 관련된 제2완료 응답을 설정된 타임-아웃까지 수신하지 못하면, 상기 UFS 드라이버가 명령 큐에 저장된 상기 제2명령을 상기 UFS 호스트의 UFS 호스트 컨트롤러로 전송하는 단계와, 상기 UFS 호스트 컨트롤러가 상기 웜 리셋에 의해 재설정된 링크를 통해 상기 UFS 장치로부터 상기 제2완료 응답을 수신하고, 상기 제2완료 응답을 상기 UFS 드라이버로 전송하는 단계와, 상기 UFS 드라이버가, 상기 제2완료 응답에 기초하여, 상기 입출력 요청의 완료 응답을 상기 UFS 호스트의 애플리케이션으로 전송하는 단계를 더 포함한다.
상기 UFS 호스트의 작동 방법은 상기 UFS 호스트의 UFS 호스트 컨트롤러가 상기 웜 리셋 시작을 상기 UFS 호스트의 UFS 드라이버로 통지하는 단계와, 상기 UFS 드라이버가 명령 큐에 저장된 상기 제2명령을 상기 UFS 호스트 컨트롤러로 전송하는 단계와, 상기 UFS 호스트 컨트롤러가 상기 웜 리셋에 의해 재설정된 링크를 통해 상기 UFS 장치로부터 상기 제2완료 응답을 수신하고, 상기 제2완료 응답을 상기 UFS 드라이버로 전송하는 단계와, 상기 UFS 드라이버가, 상기 제2완료 응답에 기초하여, 상기 입출력 요청의 완료 응답을 상기 UFS 호스트의 애플리케이션으로 전송하는 단계를 더 포함한다.
실시 예들에 따라, 상기 전송하는 단계는 상기 UFS 호스트의 UFS 드라이버가 애플리케이션으로부터 출력된 상기 입출력 요청을 상기 제1명령과 상기 제2명령으로 분할하고, 상기 제1명령과 상기 제2명령을 UFS 호스트 컨트롤러로 전송하는 단계와, 상기 UFS 호스트 컨트롤러가 상기 제1명령과 상기 제2명령을 상기 UFS 장치로 전송하는 단계를 포함한다.
실시 예들에 따라, 상기 전송하는 단계는 상기 UFS 호스트의 파일 시스템이 애플리케이션으로부터 출력된 파일 생성 요청에 응답하여 상기 입출력 요청을 생성하는 단계와, 상기 UFS 호스트의 UFS 드라이버가 상기 입출력 요청을 상기 제1명령과 상기 제2명령으로 분할하고, 상기 제1명령과 상기 제2명령을 UFS 호스트 컨트롤러로 전송하는 단계와, 상기 UFS 호스트 컨트롤러가 상기 제1명령과 상기 제2명령을 상기 UFS 장치로 전송하는 단계를 포함한다.
본 발명의 실시 예에 따라, UFS(universal flash storage) 호스트와 링크를 통해 통신할 수 있는 UFS 장치를 포함하는 UFS 시스템의 작동 방법은 상기 UFS 장치가 상기 링크를 통해 상기 UFS 호스트와 통신하는 단계와, 상기 UFS 장치가 상기 링크에 대한 웜 리셋이 필요한지를 판단하는 단계와, 상기 웜 리셋이 필요할 때, 상기 UFS 장치가 상기 웜 리셋의 이니시에이터로 작동하는 단계와, 상기 UFS 호스트 상기 링크에 대한 상기 웜 리셋이 상기 UFS 장치에 의해 트리거되었음을 판단하는 단계와, 상기 판단의 결과에 기초하여, 상기 UFS 호스트가 상기 UFS 장치에 대한 상기 웜 리셋을 수행하는 단계를 포함한다. 상기 웜 리셋은 UniPro Warm Reset이다.
상기 UFS 시스템의 작동 방법은 상기 UFS 호스트가 상기 웜 리셋을 위해 상기 UFS 장치와 핸드세이크들을 수행하는 단계와, 상기 웜 리셋에 의해 상기 링크가 재설정된 후, 상기 UFS 장치가 상기 UFS 호스트로 전송되지 못한 완료 응답을 상기 UFS 호스트로 전송하는 단계를 더 포함한다.
본 발명의 실시 예에 따른 UFS 장치는 UFS 호스트와 상기 UFS 장치 사이의 링크에 대한 리셋의 이니시에이터로 작동할 수 있는 효과가 있다.
본 발명의 실시 예에 따른 UFS 장치는, 상기 UFS 장치에서 에러가 발생하더라도, UFS 호스트로 하여금 상기 UFS 장치에 대한 UniPro Warm Reset을 트리거할 수 있다. 상기 UniPro Warm Reset에 의해 UFS 호스트와 UFS 장치 사이의 링크가 재설정됨에 따라, 상기 UFS 호스트의 UFS 드라이버는 타임-아웃의 발생을 회피할 수 있다. 따라서, 상기 UFS 드라이버는 처리되지 못한 각 UFS 명령을 완료할 수 있으므로, 상기 UFS 호스트의 애플리케이션은 정상적으로 라이트 요청을 안정적으로 완료할 수 있는 효과가 있다.
본 발명의 상세한 설명에서 인용되는 도면을 보다 충분히 이해하기 위하여 각 도면의 상세한 설명이 제공된다.
도 1은 본 발명이 실시 예들에 따른 UFS 시스템의 블록도를 나타낸다.
도 2는 도 1에 도시된 UFS 시스템의 작동을 설명하는 플로우 차트이다.
도 3은 종래의 UFS 시스템에 포함된 UFS 장치에서 에러가 발생한 경우 상기 UFS 시스템의 작동을 설명하는 플로우 차트이다.
도 4는 도 1에 도시된 UFS 장치에서 에러가 발생한 경우 도 1에 도시된 UFS 시스템의 작동을 설명하는 플로우 차트이다.
도 5는 본 발명이 실시 예들에 따른 UFS 시스템의 블록도를 나타낸다.
도 6은 도 5에 도시된 UFS 장치에서 에러가 발생한 경우 도 1에 도시된 UFS 시스템의 작동을 설명하는 플로우 차트이다.
도 7은 도 1에 도시된 UFS 시스템에서 링크에 대한 웜 리셋이 수행되는 과정을 설명하는 플로우 차트이다.
도 8은 도 1에 도시된 UFS 시스템에서 에러가 발생했을 때 링크에 대한 웜 리셋이 수행되는 과정을 설명하는 플로우 차트이다.
도 9는 도 1에 도시된 UFS 시스템에 대한 리셋 상태들을 나타내는 테이블이다.
도 10은 본 발명이 실시 예들에 따른 UFS 시스템의 블록도를 나타낸다.
도 11은 본 발명이 실시 예들에 따른 UFS 시스템의 블록도를 나타낸다.
본 명세서에 개시되어 있는 본 발명의 개념에 따른 실시 예들에 대해서 특정한 구조적 또는 기능적 설명은 단지 본 발명의 개념에 따른 실시 예들을 설명하기 위한 목적으로 예시된 것으로서, 본 발명의 개념에 따른 실시 예들은 다양한 형태들로 실시될 수 있으며 본 명세서에 설명된 실시 예들에 한정되지 않는다.
본 발명의 개념에 따른 실시 예들은 다양한 변경들을 가할 수 있고 여러 가지 형태들을 가질 수 있으므로 실시 예들을 도면에 예시하고 본 명세서에서 상세하게 설명하고자 한다. 그러나, 이는 본 발명의 개념에 따른 실시 예들을 특정한 개시 형태들에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물, 또는 대체물을 포함한다.
제1 또는 제2 등의 용어는 다양한 구성 요소들을 설명하는데 사용될 수 있지만, 상기 구성 요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성 요소를 다른 구성 요소로부터 구별하는 목적으로만, 예컨대 본 발명의 개념에 따른 권리 범위로부터 벗어나지 않은 채, 제1구성 요소는 제2구성 요소로 명명될 수 있고 유사하게 제2구성 요소는 제1구성 요소로도 명명될 수 있다.
어떤 구성 요소가 다른 구성 요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성 요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성 요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성 요소가 다른 구성 요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는 중간에 다른 구성 요소가 존재하지 않는 것으로 이해되어야 할 것이다. 구성 요소들 간의 관계를 설명하는 다른 표현들, 즉 "~사이에"와 "바로 ~사이에" 또는 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.
본 명세서에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로서, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 본 명세서에 기재된 특징, 숫자, 단계, 동작, 구성 요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성 요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 나타낸다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 갖는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 본 명세서에 첨부된 도면들을 참조하여 본 발명의 실시 예들을 상세히 설명한다.
본 명세서는 https://www.jedec.org에서 제공하는 Universal Flash Storage (UFS) Version 2.0, 즉 JESD220B를 레퍼런스로서 포함한다. 따라서, 본 명세서에 기재된 용어들과 정의들(terms and definitions)은 JESD220B에 기재된 정의들과 용어들과 동일한 의미를 갖는다.
도 1은 본 발명이 실시 예들에 따른 UFS 시스템의 블록도를 나타낸다. 도 1을 참조하면, UFS 시스템(100A)은 UFS 인터페이스(201)를 통해 접속된 UFS 호스트 (200A)와 UFS 장치(300)를 포함할 수 있다. UFS 장치(300)가 UFS 인터페이스(201)를 통해 UFS 호스트(200A)와 신호를 주거나 받을 수 없을 때, UFS 장치(300)는 UniPro Warm Reset의 이니시에이터로 사용될 수 있다.
UFS 호스트(200A)는 애플리케이션(210), UFS 드라이버(220), UFS 호스트 컨트롤러(230), 및 UIC(UFS Interconnect) 레이어(240)를 포함할 수 있다.
애플리케이션(210)은 UFS 장치(300)와 통신을 원하는 프로그램(또는 소프트웨어)을 의미할 수 있다. 애플리케이션(210)은 UFS 드라이버(220)를 사용하여 UFS 장치(300)와 통신할 수 있다. 애플리케이션(210)은 UFS 장치(300)에 대한 입출력을 위해 입출력 요청(IOR)을 UFS 드라이버(220)로 전송할 수 있다. 입출력 요청(IOR)은 리드(read) 요청, 라이트(write) 요청, 또는 폐기(discard) 요청을 의미할 수 있으나 이에 한정되는 것은 아니다.
UFS 드라이버(220)는 UFS-HCI(UFS host controller interface)를 통해 UFS 호스트 컨트롤러(230)를 관리할 수 있다. UFS-HCI는 UFS 호스트 컨트롤러(230)에 노출된(exposed) 레지스터의 세트(231)를 의미할 수 있다. 예컨대, 레지스터의 세트(231)는 명령(들)을 저장하는 명령 큐(command queue)로서 사용될 수 있다.
UFS 드라이버(220)는 애플리케이션(210)에 의해 생성된 입출력 요청(IOR)을 UFS 스펙(specification)에서 명시한 UFS 명령(들)로 변환하고, 변환된 UFS 명령(들)을 UFS 호스트 컨트롤러(230)로 출력할 수 있다.
UFS 호스트 컨트롤러(230)는 변환된 UFS 명령(들)을 UIC 레이어(240)와 UFS 인터페이스(201)를 통해 UFS 장치(300)의 UIC 레이어(310)로 전송할 수 있다. UFS 인터페이스(201)는 UFS 호스트(200A)와 UFS 장치(300)에서 물리적으로 연결될 수 있다.
UIC 레이어(240)는 MIPI UniPro(241)와 MIPI M-PHY(243)를 포함할 수 있다. UIC 레이어(310)는 MIPI M-PHY(311)과 MIPI UniPro(313)을 포함할 수 있다. 각 MIPI M-PHY(243과 313)는 전송 라인과 수신 라인 쌍들을 포함하는 차동 듀얼 단일 물리 계층(differential, dual simplex physical layer) 일 수 있다.
UFS 인터페이스(201)는 멀티플 레인들(multiple lanes)을 지원할 수 있다. 각 레인은 차동 쌍으로 구현될 수 있다. 기본적인 구성(basic configuration)은 하나의 전송 레인(transmit lane)과 하나의 수신 레인(receive lane)에 기초한다.
UFS 인터페이스(201)는 기준 클락(REF_CLK)을 전송하는 라인, UFS 장치(300)에 대한 하드웨어 리셋 신호(RESET_n)를 전송하는 라인, 차동 입력 신호들 쌍 (DIN_t와 DIN_c)을 전송하는 라인들, 및 차동 출력 신호들 쌍(DOUT_t와 DOUT_c)을 전송하는 라인들을 포함할 수 있다. 예컨대, 차동 출력 신호들 쌍(DOUT_t와 DOUT_c)의 전송에 관련된 라인들은 제1링크(LINK1)라 하고, 차동 입력 신호들 쌍 (DIN_t와 DIN_c)의 전송에 관련된 라인들은 제2링크(LINK2)라 한다.
UFS 인터페이스(201)는 링크라 불릴 수 있고, 상기 링크는 제1링크(LINK1) 및/또는 제2링크(LINK2)를 포함한다.
UFS 장치(300)는 변환된 UFS 명령(들)에 따라 입출력 작동을 수행하고, 상기 입출력 작동이 완료되면 완료 응답을 UFS 호스트(200A)로 전송할 수 있다.
UFS 장치(300)는 메모리 카드, 임베디드 부터블 대량 저장 장치들(embedded bootable mass storage devices), 또는 입출력 장치들 등으로 구현될 수 있다. UFS 장치(300)는 복수의 논리 유닛들(320-0~320-N), 장치 매니저(330), 디스크립터들 (340), 및 복수의 메모리 장치들(350-0~350-N)을 포함할 수 있다.
복수의 메모리 장치들(350-0~350-N) 각각은 메모리 셀 어레이와 상기 메모리 셀 어레이의 작동을 제어하는 제어 회로를 포함할 수 있다. 상기 메모리 셀 어레이는 2차원 메모리 셀 어레이 또는 3차원 메모리 셀 어레이를 포함할 수 있다. 상기 2차원 메모리 셀 어레이 또는 상기 3차원 메모리 셀 어레이는 복수의 메모리 셀들을 포함하고, 상기 복수의 메모리 셀들 각각은 1-비트의 정보 또는 2-비트 이상의 정보를 저장할 수 있다.
3차원 메모리 셀 어레이는 실리콘 기판 위(on or above)에 배치된 액티브 영역을 갖는 메모리 셀들의 어레이의 하나 또는 그 이상의 물리적인 레벨들 내에서 모노리식하게(monolithically) 형성되고, 상기 메모리 셀들의 작동에 관련된 회로를 포함할 수 있다. 상기 회로는 상기 기판의 내부 또는 위(on or above)에 형성될 수 있다.
모노리식(monolithic) 이라는 용어는 어레이의 각 레벨의 레이어들(layers)이 상기 어레이의 각 하부 레벨(each underlying level)의 레이어들에 직접 증착 (directly deposited )되는 것을 의미한다.
3차원 메모리 셀 어레이는 적어도 하나의 메모리 셀이 다른 메모리 셀의 위에 위치하도록 수직으로 배향되는(vertically oriented) 수직 NAND 스트링을 포함할 수 있다. 상기 적어도 하나의 메모리 셀은 전하 트랩 레이어(charge trap layer)를 포함할 수 있다.
예컨대, UFS 장치 컨트롤러는 복수의 논리 유닛들(320-0~320-N), 장치 매니저(330), 및 디스크립터들 (340)을 포함할 수 있다. 예컨대, UFS 장치(300)는 8개의 논리 유닛들을 포함할 수 있다. 논리 유닛은 버스 장치 내에서 어떤 기능(certain function)을 수행하고 버스 장치 내에서 특별한 공간(particular space) 또는 구성(configuration)을 어드레스(address)하는 버스 장치의 내부 엔티티(internal entity)이다.
장치 매니저(330)는, 복수의 논리 유닛들(320-0~320-N) 각각이 복수의 메모리 장치들(350-0~350-N) 각각에 대해 리드(read) 또는 라이트(write)와 같은 기능들을 수행하는 동안, 복수의 논리 유닛들(320-0~320-N) 각각에 대해 전력 관리 (power management)와 같은 장치 레벨(device level) 기능들을 수행할 수 있다.
디스크립터들(340)은 복수의 논리 유닛들(320-0~320-N) 각각의 정보와 관련된 구성 요소들의 저장(storage of configuration)을 의미한다.
도 2는 도 1에 도시된 UFS 시스템의 작동을 설명하는 플로우 차트이다. 도 1과 참조하면, 애플리케이션(210)은 입출력 요청, 예컨대, 라이트 요청을 UFS 드라이버(220)로 전송할 수 있다(S110). UFS 드라이버(220)는 상기 라이트 요청을 복수의 UFS 라이트 명령들로 분할할 수 있다.
상기 복수의 UFS 라이트 명령들 각각은 UFS 장치(300)에 포함된 복수의 메모리 장치들(350-0~350-N)에 의해 정의된 메모리 영역의 시작 주소, 라이트 데이터의 크기, 및 논리 유닛의 위치를 포함할 수 있다. 실시 예들에 따라, 상기 복수의 UFS 라이트 명령들 각각은 라이트 데이터를 포함하는 명령으로 정의될 수 있다. 본 명세서에서 라이트 명령이 라이트 데이터를 포함하는 것으로 설명될 수 있으나, 상기 라이트 명령과 상기 라이트 데이터는 서로 분리될 수 있음을 이해해야 할 것이다.
UFS 호스트(200A), 예컨대 애플리케이션(210)이 요청하는 데이터(예컨대, 라이트 데이터)의 크기가 UFS 장치(300)에 의해 처리되는 단위 처리 크기보다 클 때, UFS 드라이버(220)는 상기 라이트 요청을 복수의 UFS 라이트 명령들로 분할할 수 있다. 분할된 복수의 UFS 라이트 명령들 각각에 포함된 또는 분할된 복수의 UFS 라이트 명령들 각각에 의해 처리될 데이터의 크기는 서로 동일할 수도 있고 서로 다를 수도 있다.
UFS 드라이버(220)는 분할된 복수의 UFS 라이트 명령들(Write LBA#100, Write LBA#101, 및 Write LBA#102) 각각을 UFS 호스트 컨트롤러(230)로 순차적으로 전송할 수 있다(S120-1, S120-2, 및 S120-3). 도 2에서는 하나의 라이트 요청이 3개의 UFS 라이트 명령들로 분할된 실시 예가 도시되어 있다.
UFS 호스트 컨트롤러(230)는 복수의 UFS 라이트 명령들(Write LBA#100, Write LBA#101, 및 Write LBA#102) 각각을 UIC 레이어(240)와 링크(201)를 통해 UIC 레이어(310)로 순차적으로 전송할 수 있다(S130-1, S130-2, 및 S130-3).
UFS 장치(300)는 각 UFS 라이트 명령(Write LBA#100, Write LBA#101, 및 Write LBA#102)을 처리하고, 처리 완료된 각 UFS 라이트 명령(Write LBA#100, Write LBA#101, 및 Write LBA#102)에 대한 각 완료 응답(Write LBA#100 Complete Response, Write LBA#101 Complete Response, 및 Write LBA#102 Complete Response)을 UIC 레이어(310)와 링크(201)를 통해 UIC 레이어(240)로 전송할 수 있다(S140-1, S140-2, 및 S140-3).
UFS 호스트 컨트롤러(230)는 UIC 레이어(240)로부터 전송된 각 완료 응답(Write LBA#100 Complete Response, Write LBA#101 Complete Response, 및 Write LBA#102 Complete Response)을 UFS 드라이버(220)로 전송할 수 있다(S150-1, S150-2, 및 S150-3). UFS 드라이버(220)는 완료 응답들(Write LBA#100 Complete Response, Write LBA#101 Complete Response, 및 Write LBA#102 Complete Response)이 모두 수신되면, 라이트 요청에 대한 라이트 요청 완료를 애플리케이션 (210)으로 전송할 수 있다(S160). 도 2에서는 정상적인 입출력 시나리오가 도시되어 있다.
도 3은 종래의 UFS 시스템에 포함된 UFS 장치에서 에러가 발생한 경우 상기 UFS 시스템의 작동을 설명하는 플로우 차트이다.
도 2와 도 3을 참조하면, 도 3에 도시된 UFS 장치는 도 4를 참조하여 설명될 UFS 장치(300)와 달리 웜 리셋을 트리거하지 못한다. 즉, 종래의 UFS 장치는 UniPro Warm Reset의 이니시에이터(initiator)로 사용될 수 없다.
도 3을 참조하면, UFS 라이트 명령(Write LBA#101, 또는 Write LBA#102)이 처리되는 도중에 에러(예컨대, 장치 중대한 에러(device critical error)가 발생하면(S210), UFS 장치(300)는 각 완료 응답(Write LBA#101 Complete Response 또는 Write LBA#102 Complete Response)을 UFS 호스트(200A)로 전송하지 못한다.
UFS 호스트(200A)의 UFS 드라이버(220)는 지정된 타임-아웃까지 각 완료 응답(Write LBA#101 Complete Response 또는 Write LBA#102 Complete Response)을 기다린다. UFS 드라이버(220)가 각 완료 응답(Write LBA#101 Complete Response 또는 Write LBA#102 Complete Response)을 수신하지 못하면, 장치 타임-아웃 에러가 발생한다(S220). 따라서, UFS 드라이버(220)는 라이트 요청 실패를 애플리케이션 (210)로 전송할 수 있다(S230). 이 경우, 애플리케이션(210)이 요청한 라이트 요청이 정상적으로 처리되지 못했으므로, 종래의 UFS 장치를 포함하는 종래의 UFS 시스템은 정상적으로 작동할 수 없다.
상기 에러는 MIPI M-PHY(243) 및/또는 MIPI M-PHY(311)에서 문제 또는 장애가 발생하여 정상적으로 데이터를 전송하거나 수신하는 못하는 경우, 링크(201)에서 문제 또는 장애가 발생하여 정상적으로 데이터를 전송하거나 수신하는 못하는 경우, 및/또는 각 MIPI M-PHY(243과 311)에서 데이터에 포함된 에러 비트들의 개수가 증가하여 링크(201)를 통해 데이터를 전송하거나 수신하지 못하는 경우를 포함할 수 있다.
도 4는 도 1에 도시된 UFS 장치에서 에러가 발생한 경우 도 1에 도시된 UFS 시스템의 작동을 설명하는 플로우 차트이다.
도 1, 도 3, 및 도 4를 참조하면, UFS 드라이버(220)는 각 UFS 라이트 명령 (Write LBA#100, Write LBA#101, 및 Write LBA#102)을 명령 큐(231)에 저장할 수 있다.
UFS 라이트 명령(Write LBA#100)에 대한 처리가 완료되면(S130-3), UFS 장치 (300)는 완료 응답(Write LBA#100 Complete Response)을 UFS 호스트(200A)로 전송할 수 있다(S140-1). UFS 호스트 컨트롤러(230)는 완료 응답(Write LBA#100 Complete Response)을 UFS 드라이버(220)로 전송할 수 있다(S150-1). 완료 응답 (Write LBA#100 Complete Response)이 수신되면, UFS 드라이버(220)는 명령 큐 (231)에 저장되고 UFS 라이트 명령(Write LBA#100)의 처리 여부와 관련된 플래그 (Flag)을 로직 0으로부터 로직 1로 변경할 수 있다.
로직 0은 UFS 라이트 명령에 대한 완료 응답이 아직 수신되지 않았음을 지시하고, 로직 1은 UFS 라이트 명령에 대한 완료 응답이 이미 수신되었음을 지시한다고 가정한다.
UFS 라이트 명령(Write LBA#101, 또는 Write LBA#102)이 처리되는 도중에 에러가 발생하면(S210), UFS 장치(300), 예컨대 UIC 레이어(310)는 링크(201)에 대한 웜 리셋(예컨대, UniPro Warm Reset)이 필요한지를 판단할 수 있다. 상기 웜 리셋이 필요하다고 판단되면, UFS 장치(310), 예컨대, UIC 레이어(310)는 상기 웜 리셋을 위한 이니시에이터(initiator)로 작동할 수 있다. 즉, 본 발명의 실시 예에 따른 UFS 장치(300)는 웜 리셋을 트리거할 수 있다.
UFS 호스트(200A)는 링크(201)에 대한 웜 리셋이 UFS 장치(300)에 의해 트리거되었음을 판단하고, 상기 판단의 결과에 기초하여 UFS 장치(300)에 대한 상기 웜 리셋, 예컨대 UniPro Warm Reset을 수행할 수 있다(S310). UFS 장치(300)는 링크 (201)에 포함된 전송 라인을 호스트 장치(200A)로부터 분리한 후 다시 접속하는 과정을 통해 UniPro Warm Reset을 트리거할 수 있다.
UFS 장치(300)에 대한 웜 리셋이 수행됨에 따라 UFS 장치(300)는 초기화될 수 있다(S320). 즉, 링크(201)는 재설정될 수 있다(S320).
UFS 드라이버(220)는 명령 큐(231)를 참조하여, UFS 라이트 명령들(Write LBA#101과 Write LBA#102)를 UFS 호스트 컨트롤러(230)로 순차적으로 전송할 수 있다(S330-1과 S330-2).
실시 예들에 따라, UFS 드라이버(220)는, 각 UFS 라이트 명령(Write LBA#101과 Write LBA#102)에 대한 각 완료 응답(Write LBA#101 Complete Response와 Write LBA#102 Complete Response)의 타임-아웃을 이용하여, UFS 라이트 명령들(Write LBA#101과 Write LBA#102)를 UFS 호스트 컨트롤러(230)로 순차적으로 전송할 수 있다(S330-1과 S330-2).
실시 예들에 따라, UFS 호스트 컨트롤러(230)는 UniPro Warm Reset의 시작 (INI)을 UFS 드라이버(220)로 통지할 수 있다(S315). UFS 드라이버(220)는 UniPro Warm Reset의 시작(INI)에 기초하여 명령 큐(231)를 참조하고, 참조 결과에 따라 UFS 라이트 명령들(Write LBA#101과 Write LBA#102)를 UFS 호스트 컨트롤러(230)로 순차적으로 전송할 수 있다(S330-1과 S330-2). 이때, 각 UFS 라이트 명령(Write LBA#101과 Write LBA#102)에 대한 각 플래그(Flag)는 로직 0이다.
UFS 장치(300)는 각 UFS 라이트 명령(Write LBA#101과 Write LBA#102)에 대한 각 완료 응답(Write LBA#101 Complete Response와 Write LBA#102 Complete Response)을 재설정된 링크(201)를 통해 UFS 호스트(200A)로 전송할 수 있다(S340-1과 S340-2).
UFS 호스트 컨트롤러(230)는 UIC 레이어(240)로부터 전송된 각 완료 응답 (Write LBA#101 Complete Response과 Write LBA#102 Complete Response)을 UFS 드라이버(220)로 전송할 수 있다(S350-1과 S350-2). 각 완료 응답(Write LBA#101 Complete Response와 Write LBA#102 Complete Response)이 수신되면, UFS 드라이버 (220)는 명령 큐(231)에 저장된 각 UFS 라이트 명령(Write LBA#101과 Write LBA#102)에 해당하는 각 플래그를 로직 0으로부터 로직 1로 변경할 수 있다.
UFS 드라이버(220)는 명령 큐(231)에 저장된 각 플래그의 비트 값에 기초하여 라이트 요청과 관련된 모든 UFS 명령들의 실행이 완료되었음을 판단하고, 상기 라이트 요청의 완료를 지시하는 라이트 요청 완료를 애플리케이션(210)으로 전송할 수 있다(S360).
UFS 장치(300)에서 에러가 발생하더라도(S210), UniPro Warm Reset의 이니시에이터로 사용되는 UFS 장치(300)는 UFS 호스트(200A)로 하여금 UFS 장치(300)에 대한 상기 UniPro Warm Reset을 트리거할 수 있다. 상기 UniPro Warm Reset에 의해 UFS 호스트(200A)와 UFS 장치(300) 사이의 링크(201)가 재설정됨에 따라, UFS 드라이버(220)는 타임-아웃의 발생을 회피할 수 있다. 따라서, UFS 드라이버(220)는 처리되지 못한 각 UFS 명령을 완료할 수 있으므로, 애플리케이션(210)은 정상적으로 라이트 요청을 안정적으로 완료할 수 있는 효과가 있다.
도 5는 본 발명이 실시 예들에 따른 UFS 시스템의 블록도를 나타낸다. 도 1과 도 5를 참조하면, UFS 호스트(200B)가 파일 시스템(215)을 더 포함하는 것을 제외하면, 도 1에 도시된 UFS 시스템(100A)의 구조와 작동은 도 5 도시된 UFS 시스템(100B의 구조와 작동과 동일 또는 유사하다.
도 6은 도 5에 도시된 UFS 장치에서 에러가 발생한 경우 도 1에 도시된 UFS 시스템의 작동을 설명하는 플로우 차트이다.
도 4, 도 5, 및 도 6을 참조하면, 애플리케이션(210)은 데이터 입출력을 위해 파일 생성 요청을 파일 시스템(215)으로 전송할 수 있다(S105). 파일 시스템(215)은 상기 파일 생성 요청에 응답하여 입출력 요청, 예컨대 라이트 요청을 UFS 드라이버(220)로 전송할 수 있다(S110-1).
도 7은 도 1에 도시된 UFS 시스템에서 링크에 대한 웜 리셋이 수행되는 과정을 설명하는 플로우 차트이다. 도 1부터 도 7을 참조하면, UFS 호스트(200A 또는 200B, 집합적으로 200)는 링크(201)를 통해 UFS 장치(300)와 통신할 수 있다 (S410).
예컨대, 링크(201)를 통한 통신이 가능할 때, UFS 호스트(200)는 각 UFS 명령(Write LBA#100, Write LBA#101, 및 Write LBA#102)을 링크(201)를 통해 UFS 장치(300)로 전송할 수 있고, UFS 장치(300)는 완료 응답(Write LBA#100 Complete Response)를 링크(201)를 통해 UFS 호스트(200)로 전송할 수 있다(S410).
UFS 장치(300)는 링크(201)에 대한 웜 리셋이 필요한지를 판단할 수 있다 (S420). 상기 웜 리셋이 필요하지 않으면(S420의 NO), UFS 호스트(200)는 링크 (201)를 통해 UFS 장치(300)와 통신할 수 있다(S410). 그러나, 상기 웜 리셋이 필요하면(S420의 YES), UFS 장치(300)는 상기 웜 리셋, 예컨대 UniPro Warm Reset의 이니시에이터로 작동할 수 있다(S430). UFS 호스트(200)는 링크(201)에 대한 웜 리셋이 UFS 장치(300)에 의해 트리거되었음을 판단하고, 판단의 결과에 따라 링크 (201)를 재설정하는 작동을 UFS 장치(300)와 함께 수행할 수 있다(S440). 즉, UFS 호스트(200)는 UFS 장치(300)와 핸드세이크들(handshakes)을 통해 UFS 장치(300)에 대한 웜 리셋을 수행할 수 있다(S440).
웜 리셋에 의해 링크(201)가 재설정되면, UFS 장치(300)는 UFS 호스트(200)로 전송하지 못한 응답(들)을 재설정된 링크(201)를 통해 UFS 호스트(200)로 전송할 수 있다 (S450). 도 4와 도 6에 도시된 바와 같이, UFS 장치(300)는 UFS 호스트 (200)로 전송하지 못한 응답들(Write LBA#101 Complete Response와 Write LBA#102 Complete Response)을 재설정된 링크(201)를 통해 UFS 호스트(200)로 전송할 수 있다(S450).
도 8은 도 1에 도시된 UFS 시스템에서 에러가 발생했을 때 링크에 대한 웜 리셋이 수행되는 과정을 설명하는 플로우 차트이다. 도 1부터 도 6, 및 도 8을 참조하면, UFS 호스트(200)는 링크(201)를 통해 UFS 장치(300)와 통신할 수 있다 (S510).
UFS 장치(300)는 UFS 장치(300)의 구성 요소(들)에서 고장 또는 장애가 발생했는지를 판단할 수 있다(S520). 예컨대, UFS 장치(300)는 구성 요소(들)에서 고장 또는 장애로 인하여 링크(201)에 대한 웜 리셋이 필요한지를 판단할 수 있다 (S420). 상기 웜 리셋이 필요하지 않으면(S520의 NO), UFS 호스트(200)는 링크 (201)를 통해 UFS 장치(300)와 통신할 수 있다(S510). 그러나, 상기 웜 리셋이 필요하면(S520의 YES), UFS 장치(300)는 상기 웜 리셋, 예컨대 UniPro Warm Reset의 이니시에이터로 작동할 수 있다(S430). 도 8에 도시된 각 단계(S440과 S450)는 도 7에 도시된 각 단계(S440과 S450)와 동일하다.
도 9는 도 1에 도시된 UFS 시스템에 대한 리셋 상태들을 나타내는 테이블이다. 도 9를 참조하면, UniPro Warm Reset의 이니시에이터는 UFS 호스트(200) 또는 UFS 장치(300)일 수 있다. 즉, UniPro Warm Reset의 이니시에이터가 UFS 호스트 (200) 또는 UFS 장치(300)인 것을 제외하면, 도 9의 테이블(TABLE)은 JESD220B의 Table 7.2-Reset States와 동일하다. 따라서, 도 9의 테이블(TABLE)에 대한 상세한 설명은 생략한다.
도 10은 본 발명이 실시 예들에 따른 UFS 시스템의 블록도를 나타낸다. 도 1부터 도 8을 참조하면, UFS 시스템(400), 예컨대 데이터 처리 시스템은 모바일 장치로 구현될 수 있다.
UFS 시스템(400)은 프로세서(410), USF 장치(300), 디스플레이(500), 및 이미지 센서(60)를 포함할 수 있다. UFS 시스템(400)은 스마트폰, 태블릿 PC, PDA (personal digital assistant), EDA(enterprise digital assistant), 디지털 스틸 카메라(digital still camera), 디지털 비디오카메라(digital video camera), PMP (portable multimedia player), PND(personal navigation device 또는 portable navigation device), 모바일 인터넷 장치(mobile internet device(MID)), 웨어러블 컴퓨터, 사물 인터넷(internet of things(IoT)) 장치, 만물 인터넷(internet of everything(IoE)) 장치, 또는 드론(drone)으로 구현될 수 있다.
프로세서(410)는 UFS 장치(300), 디스플레이(500), 및 이미지 센서(600)를 제어할 수 있다. 프로세서(410)는 집적 회로(IC), 시스템 온 칩(system on chip(SoC)), 애플리케이션 프로세서(application processor(AP)), 모바일 AP, 칩셋, 또는 칩들의 집합으로 구현될 수 있다.
프로세서(410)는 UFS 호스트들(200, 420, 및 430)을 포함할 수 있다.
호스트(420)는 DSI(Display Serial Interface)-2를 통해 디스플레이(500)와 데이터를 주거나 받을 수 있다. 호스트(420)는 DSI-2 호스트(421), 링크 레이어 (423), 예컨대 MIPI UniProSM, 및 피지컬 레이어(425), 예컨대 MIPI M-PHYSM를 포함할 수 있다.
디스플레이(500)는 MIPI M-PHY(510), UniPro(520), 및 DSI-2 장치(530)를 포함할 수 있다. MIPI M-PHY(510)는 DSI-2와 UniPro(520) 사이에서 데이터의 전송을 제어할 수 있다. UniPro(520)는 MIPI M-PHY(510)와 DSI-2 장치(530) 사이에서 데이터의 전송을 제어할 수 있다. DSI-2 장치(530)는 디스플레이 패널을 의미할 수 있다. 상기 디스플레이 패널은 TFT-LCD, LED 디스플레이 패널, OLED 디스플레이 패널, AMOLED 디스플레이 패널, 또는 플래시블 디스플레이 패널을 의미할 수 있다.
호스트(430)는 CSI(Camera Serial Interface)-3을 통해 이미지 센서(600)와 데이터를 주거나 받을 수 있다. 호스트(430)는 CSI-3 호스트(431), 링크 레이어 (433), 예컨대 MIPI UniProSM, 및 피지컬 레이어(435), 예컨대 MIPI M-PHYSM를 포함할 수 있다.
이미지 센서(600)는 MIPI M-PHY(610), UniPro(620), 및 CSI-3 장치(630)를 포함할 수 있다. MIPI M-PHY(610)는 CSI-3과 UniPro(620) 사이에서 데이터의 전송을 제어할 수 있다. UniPro(620)는 MIPI M-PHY(610)와 CSI-3 장치(630) 사이에서 데이터의 전송을 제어할 수 있다. CSI-3 장치(630)는 픽셀 어레이와 상기 픽셀 어레이로부터 출력된 픽셀 신호들을 처리하는 주변 회로들을 포함할 수 있다.
도 11은 본 발명이 실시 예들에 따른 UFS 시스템의 블록도를 나타낸다. 도 1부터 도 9, 및 도 11을 참조하면, UFS 시스템(700), 예컨대 데이터 처리 시스템은 데이터베이스(720), 데이터베이스 서버(730), 제2네트워크(740), 및 복수의 클라이언트 컴퓨터들(750과 751)을 포함할 수 있다.
데이터 센터, 인터넷 데이터 센터, 또는 클라우드 데이터 센터(710)는 데이터베이스(720)와 데이터베이스 서버(730)를 포함할 수 있다.
데이터베이스(720)는 복수의 UFS 장치들(300)을 포함할 수 있다. 데이터베이스 서버(730)는 복수의 UFS 장치들(300) 각각의 작동을 제어할 수 있다. 데이터베이스 서버(730)는 제1네트워크, 예컨대 LAN(Local Area Network; 735)을 통해 제2무선 네트워크(740), 예컨대, 인터넷 또는 Wi-Fi에 접속될 수 있다. 예컨대, 데이터베이스 서버(730)는 웹서버 또는 메일 서버로 구현될 수 있으나 이에 한정되는 것은 아니다. 데이터베이스 서버(730)는 UFS 호스트(200)의 기능을 수행할 수 있다.
복수의 클라이언트 컴퓨터들(750과 751) 각각은 제2네트워크(740)를 통해 데이터베이스 서버(730)에 접속할 수 있다.
본 발명은 도면에 도시된 실시 예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시 예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 등록청구범위의 기술적 사상에 의해 정해져야 할 것이다.
100A, 100B: UFS 시스템
200, 200A, 200B: UFS 호스트
210: 애플리케이션
220: UFS 드라이버
230: UFS 호스트 컨트롤러
240, 310: UIC 레이어
241, 311: MIPI M-PHY
243, 313: MIPI UniPro
320-0~320-N: 논리 유닛
330: 장치 매니저
340: 디스크립터들
300: UFS 장치

Claims (20)

  1. UFS(universal flash storage) 호스트와 링크를 통해 통신하고, UIC(UFS Interconnect) 레이어를 포함하는 UFS 장치의 작동 방법에 있어서,
    상기 링크를 통해 상기 UFS 호스트와 통신하는 단계;
    상기 UFS 장치에서 상기 UIC 레이어를 사용하여, 상기 링크에 대한 웜 리셋이 필요한지를 판단하는 단계;
    상기 링크에 대한 상기 웜 리셋이 필요할 때, 상기 UFS 장치가 상기 웜 리셋의 이니시에이터 (initiator)로 작동하는 단계; 및
    상기 링크에 대한 상기 웜 리셋을 수행하는 단계를 포함하는 UFS 장치의 작동 방법.
  2. 제 1 항에 있어서,
    상기 링크에 대한 웜 리셋이 필요한지를 판단하는 단계는,
    상기 UFS 장치가 상기 링크를 통해 상기 UFS 호스트와 통신하는 동안, 상기 링크를 통해 수신된 데이터에 포함된 에러 비트들의 개수에 기초하여 수행되는 UFS 장치의 작동 방법.
  3. 제 1 항에 있어서,
    상기 웜 리셋은 UniPro Warm Reset인 UFS 장치의 작동 방법.
  4. 제 1 항에 있어서,
    상기 링크를 통해 상기 UFS 호스트와 통신하는 단계는,
    상기 UFS 호스트로부터 제1 동작을 지시하는 제1 명령 및 제2 동작을 지시하는 제2 명령을 수신하는 단계;
    상기 UFS 장치에서 상기 제1 및 제2 명령을 실행하는 단계;
    상기 제1 동작의 완료에 응답하여, 상기 UFS 호스트로 제1 완료 응답을 전송하는 단계; 및
    상기 제2 동작의 완료에 응답하여, 상기 UFS 호스트로 제2 완료 응답을 전송하는 단계를 포함하고,
    상기 링크에 대한 상기 웜 리셋은 상기 제1 완료 응답의 전송 및 상기 제2 완료 응답의 전송 사이에 발생하는 UFS 장치의 작동 방법.
  5. 제 1 항에 있어서,
    상기 링크에 대한 상기 웜 리셋을 수행하는 단계는,
    상기 UFS 장치 및 상기 UFS 호스트 간의 핸드세이크 동작들을 시작하는 단계를 포함하는 UFS 장치의 작동 방법.
  6. 제 5 항에 있어서,
    상기 링크에 대한 상기 웜 리셋을 수행 한 후, 상기 UFS 장치에 의해 실행된 동작에 대응하는 완료 응답을 전송하는 단계를 더 포함하는 UFS 장치의 작동 방법.
  7. 제 1 항에 있어서,
    상기 UIC 레이어는 적어도 하나의 전송 및 수신 라인 쌍을 포함하는 차동 계층 또는 적어도 하나의 전송 및 수신 라인 쌍을 포함하는 듀얼 단일 물리 계층인 UFS 장치의 작동 방법.
  8. UFS(Universal Flash Storage) 호스트는 UFS 드라이버, 명령 큐 및 UFS 호스트 컨트롤러를 포함하고, 상기 UFS 호스트 컨트롤러는 제1 UIC(UFS InterConnect) 레이어를 포함하는 UFS 장치와 링크를 통해 통신하고, 상기 UFS 호스트의 작동 방법에 있어서,
    상기 UFS 장치로 제1 쓰기 동작을 지시하는 제1 쓰기 명령을 전송하는 단계;
    상기 UFS 장치로 제2 쓰기 동작을 지시하는 제2 쓰기 명령을 전송하는 단계;
    상기 UFS 장치로부터 상기 제1 쓰기 동작의 완료에 대응하는 제1 완료 응답을 수신하는 단계;
    상기 UFS 장치로부터 상기 제2 쓰기 동작의 완료에 대응하는 제2 완료 응답을 수신하는 단계; 및
    상기 UFS 장치의 상기 제1 UIC 레이어에 의한 판단에 응답하여, 상기 링크에 대한 웜 리셋을 수행하는 단계를 포함하고,
    상기 링크에 대한 상기 웜 리셋은 상기 제1 완료 응답의 수신 및 상기 제2 완료 응답의 수신 사이에 수행되는 UFS 호스트의 작동 방법.
  9. 제 8 항에 있어서,
    상기 UFS 드라이버에서 쓰기 요청을 수신하는 단계;
    상기 쓰기 요청에 응답하여, 상기 명령 큐에 제1 및 제2 쓰기 명령을 저장하는 단계를 더 포함하는 UFS 호스트의 작동 방법.
  10. 제 9 항에 있어서,
    상기 쓰기 요청은 상기 UFS 호스트 상에서 실행하는 애플리케이션 또는 상기 UFS 호스트 상에서 실행하는 파일 시스템에서 유래되는 UFS 호스트의 작동 방법.
  11. 제 8 항에 있어서,
    상기 UFS 장치에 의한 상기 판단에 대한 응답하여, 상기 UFS 호스트 컨트롤러를 사용하여 상기 UFS 드라이버에로 웜 리셋 시작을 통지하는 단계를 더 포함하는 UFS 호스트의 작동 방법.
  12. 제 9 항에 있어서,
    상기 수신한 쓰기 요청은 제1 쓰기 명령 및 제2 쓰기 명령으로 분할되는 UFS 호스트의 작동 방법.
  13. 제 8 항에 있어서,
    상기 UFS 호스트는 제2 UIC 레이어를 더 포함하고,
    상기 UFS 호스트 컨트롤러는 상기 제2 UIC 레이어를 사용하여, 상기 UFS 장치의 상기 제1 UIC 레이어로 상기 제1 쓰기 명령 및 제2 쓰기 명령을 순차적으로 전송하는 UFS 호스트의 작동 방법.
  14. UFS(universal flash storage) 장치는 제1 UIC(UFS InterConnect) 레이어를 포함하고, UFS 호스트와 링크를 통해 통신하고, 상기 UFS 장치를 포함하는 UFS 시스템의 작동 방법에 있어서,
    입/출력 요청에 응답하여, 상기 UFS 호스트에서, 제1 동작을 지시하는 제1 명령 및 제2 동작을 지시하는 제2 명령을 생성하는 단계;
    상기 UFS 호스트의 명령 큐에 제1 플래그를 포함하는 상기 제1 명령을 저장하고, 제2 플래그를 포함하는 상기 제2 명령을 저장하는 단계;
    상기 UFS 호스트로부터 상기 UFS 장치로 상기 제1 및 제2 명령을 전송하는 단계;
    상기 UFS 장치에서, 상기 제1 명령에 응답하여 상기 제1 동작을 실행하고, 상기 제2 명령에 응답하여 상기 제2 동작을 실행하는 단계;
    상기 UFS 장치에서 상기 제1 UIC 레이어를 사용하여, 상기 링크에 대한 웜 리셋이 필요한지를 판단하는 단계; 및
    상기 링크에 대한 상기 웜 리셋이 필요할 때, 상기 UFS 장치에서 상기 링크에 대한 상기 웜 리셋을 시작하는 단계를 포함하는 UFS 시스템의 작동 방법.
  15. 제 14 항에 있어서,
    상기 제1 동작의 완료에 응답하여, 상기 UFS 장치로부터 상기 UFS 호스트로 제1 완료 응답을 전송하는 단계; 및
    상기 제2 동작의 완료에 응답하여, 상기 UFS 장치로부터 상기 UFS 호스트로 제2 완료 응답을 전송하는 단계를 포함하고,
    상기 링크에 대한 상기 웜 리셋은 상기 제1 완료 응답의 전송 및 상기 제2 완료 응답의 전송 사이에 시작되는 UFS 시스템의 작동 방법.
  16. 제 15 항에 있어서,
    상기 제1 완료 응답에 응답하여, 상기 명령 큐에서 상기 제1 플래그를 갱신하는 단계; 및
    상기 링크에 대한 상기 웜 리셋에 응답하여, 상기 제1 플래그 및 상기 제2 플래그 각각의 값들을 쿼리(query)하는 단계를 더 포함하는 UFS 시스템의 작동 방법.
  17. 제 16 항에 있어서,
    상기 제1 플래그가 갱신되었고, 상기 제2 플래그가 갱신되지 않았음을 식별한 경우, 상기 UFS 호스트로부터 상기 UFS 장치로 상기 제2 명령을 재전송하는 단계; 및
    상기 제2 동작의 완료 및 상기 제2 명령의 상기 재전송에 응답하여, 상기 UFS 장치로부터 상기 UFS 호스트로 상기 제2 완료 응답을 전송하는 단계를 더 포함하는 UFS 시스템의 작동 방법.
  18. 제 14 항에 있어서,
    상기 제1 명령 및 상기 제2 명령은 상기 UFS 호스트 상에서 실행하는 애플리케이션 또는 상기 UFS 호스트 상에서 실행하는 파일 시스템으로부터 수신된 입력/출력 요청으로부터 생성되는 UFS 시스템의 작동 방법.
  19. 제 14 항에 있어서,
    상기 링크에 대한 웜 리셋이 필요한지를 판단하는 단계는,
    상기 UFS 장치가 상기 링크를 통해 상기 UFS 호스트와 통신하는 동안, 상기 링크를 통해 수신된 데이터에 포함된 에러 비트들의 개수에 기초하여 수행되는 UFS 시스템의 작동 방법.
  20. 제 14 항에 있어서,
    상기 웜 리셋은 UniPro Warm Reset인 UFS 시스템의 작동 방법.
KR1020150142812A 2015-10-13 2015-10-13 Ufs 장치의 작동 방법, ufs 호스트의 작동 방법, 및 이들을 포함하는 시스템의 작동 방법 KR102498223B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020150142812A KR102498223B1 (ko) 2015-10-13 2015-10-13 Ufs 장치의 작동 방법, ufs 호스트의 작동 방법, 및 이들을 포함하는 시스템의 작동 방법
JP2016001460A JP6654048B2 (ja) 2015-10-13 2016-01-07 Ufs装置の作動方法、ufsホストの作動方法、及びそれらを含むシステムの作動方法
US15/194,714 US10203896B2 (en) 2015-10-13 2016-06-28 Method operating universal flash storage (UFS) device, method operating UFS host, and method operating system including both

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020150142812A KR102498223B1 (ko) 2015-10-13 2015-10-13 Ufs 장치의 작동 방법, ufs 호스트의 작동 방법, 및 이들을 포함하는 시스템의 작동 방법

Publications (2)

Publication Number Publication Date
KR20170043269A KR20170043269A (ko) 2017-04-21
KR102498223B1 true KR102498223B1 (ko) 2023-02-09

Family

ID=58499457

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150142812A KR102498223B1 (ko) 2015-10-13 2015-10-13 Ufs 장치의 작동 방법, ufs 호스트의 작동 방법, 및 이들을 포함하는 시스템의 작동 방법

Country Status (3)

Country Link
US (1) US10203896B2 (ko)
JP (1) JP6654048B2 (ko)
KR (1) KR102498223B1 (ko)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190179540A1 (en) * 2017-12-11 2019-06-13 Qualcomm Incorporated Concurrent access for multiple storage devices
JP2019106056A (ja) * 2017-12-13 2019-06-27 東芝メモリ株式会社 メモリシステム及びメモリデバイス
KR20200065929A (ko) * 2018-11-30 2020-06-09 에스케이하이닉스 주식회사 컨트롤러, 이를 포함하는 메모리 컨트롤러 및 이를 포함하는 저장 장치
US11269524B2 (en) 2019-10-07 2022-03-08 Samsung Electronics Co., Ltd. Methods and systems for managing data transfer between a UFS host and a UFS target
KR20210069481A (ko) 2019-12-03 2021-06-11 삼성전자주식회사 메모리 컨트롤러를 포함하는 스토리지 장치 및 비휘발성 메모리 시스템과 이의 동작 방법
US11581053B2 (en) * 2020-08-06 2023-02-14 Micron Technology, Inc. Memory device test mode access
JP2022046887A (ja) * 2020-09-11 2022-03-24 キオクシア株式会社 半導体記憶装置
KR20220089854A (ko) * 2020-12-22 2022-06-29 에스케이하이닉스 주식회사 Ufs 장치 및 ufs 장치의 동작 방법
CN113867830A (zh) * 2021-08-31 2021-12-31 山东云海国创云计算装备产业创新中心有限公司 一种基于通用闪存存储的***及其启动方法
US20230117858A1 (en) * 2021-10-14 2023-04-20 Samsung Electronics Co., Ltd. Autonomous detection of status of link between initiator device and target device in ufs system

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050091481A1 (en) 2003-10-24 2005-04-28 Zohar Bogin Deterministic shut down of memory devices in response to a system warm reset

Family Cites Families (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5594426A (en) * 1993-09-20 1997-01-14 Hitachi, Ltd. Network station and network management system
US5754887A (en) * 1995-06-07 1998-05-19 International Business Machines Corporation System for limiting access of plurality of requests to peripheral bus by halting transmission to particular peripheral devices and resuming transmission after second predetermined time period expiration
US6055598A (en) * 1996-09-26 2000-04-25 Vlsi Technology, Inc. Arrangement and method for allowing sequence-independent command responses across a computer bus bridge
US5850556A (en) * 1996-12-26 1998-12-15 Cypress Semiconductor Corp. Interruptible state machine
US6260120B1 (en) * 1998-06-29 2001-07-10 Emc Corporation Storage mapping and partitioning among multiple host processors in the presence of login state changes and host controller replacement
US6675243B1 (en) * 1999-03-17 2004-01-06 Adaptec, Inc. Methods and apparatus for implementing a device side advanced serial protocol
US8296467B2 (en) 2000-01-06 2012-10-23 Super Talent Electronics Inc. Single-chip flash device with boot code transfer capability
US20040123027A1 (en) 2002-10-03 2004-06-24 Workman Michael Lee Systems and methods of multiple access paths to single ported storage devices
US8533379B2 (en) * 2003-12-18 2013-09-10 Nxp B.V. Serial communication device configurable to operate in root mode or endpoint mode
US20060140122A1 (en) * 2004-12-28 2006-06-29 International Business Machines Corporation Link retry per virtual channel
US7461299B2 (en) 2006-03-08 2008-12-02 Intel Corporation Monitoring writes to cache as part of system error handling
WO2007116476A1 (ja) * 2006-03-31 2007-10-18 Hitachi Ulsi Systems Co., Ltd. メモリカードおよびデータの書き込み方法
US8122283B2 (en) * 2008-05-07 2012-02-21 Padcom Holdings Inc. Communications path status detection system
US7818483B2 (en) * 2008-12-10 2010-10-19 Lsi Corporation Methods and apparatuses for improving SATA target device detection
US8301822B2 (en) * 2009-09-23 2012-10-30 Sandisk Il Ltd. Multi-protocol storage device bridge
US8621128B2 (en) 2009-12-04 2013-12-31 St-Ericsson Sa Methods and systems for reliable link startup
US8402343B2 (en) 2009-12-04 2013-03-19 St-Ericsson Sa Reliable packet cut-through
WO2012050567A1 (en) * 2010-10-12 2012-04-19 Hewlett-Packard Development Company, L.P. Error detection systems and methods
US8996747B2 (en) 2011-09-29 2015-03-31 Cypress Semiconductor Corporation Methods and physical computer-readable storage media for initiating re-enumeration of USB 3.0 compatible devices
JP5694101B2 (ja) 2011-09-20 2015-04-01 株式会社東芝 メモリ・デバイス、ホスト・デバイス
JP5547154B2 (ja) * 2011-09-21 2014-07-09 株式会社東芝 メモリ・デバイス
KR101911059B1 (ko) * 2011-10-18 2018-10-24 삼성전자주식회사 Ufs 인터페이스의 테스트 방법 및 이의 테스트 방법으로 테스트를 수행하는 메모리 장치
CN102629225B (zh) * 2011-12-31 2014-05-07 华为技术有限公司 双控制器磁盘阵列、存储***以及数据存储路径切换方法
US9626318B2 (en) * 2012-01-26 2017-04-18 Avago Technologies General Ip (Singapore) Pte. Ltd. Systems and methods for storage protocol compliance testing
TWI459201B (zh) * 2012-04-27 2014-11-01 Toshiba Kk Information processing device
US9331922B2 (en) * 2012-08-10 2016-05-03 Broadcom Corporation Automatic recover after loss of signal event in a network device
US9454499B2 (en) * 2013-06-11 2016-09-27 Intel Corporation Asynchronous communication between devices
KR102094902B1 (ko) * 2013-07-08 2020-03-30 삼성전자주식회사 액티브 상태에서 인터페이스 모드를 전환하는 스토리지 시스템 및 ufs 시스템
KR102145420B1 (ko) * 2013-07-25 2020-08-18 삼성전자주식회사 데이터 전송 속도를 변경하는 스토리지 시스템 및 그것의 데이터 전송 속도 변경 방법
US9928196B2 (en) * 2015-09-30 2018-03-27 International Business Machines Corporation Programming interface operations in a driver in communication with a port for reinitialization of storage controller elements
US9792171B2 (en) * 2015-10-26 2017-10-17 International Business Machines Corporation Multiple reset modes for a PCI host bridge

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050091481A1 (en) 2003-10-24 2005-04-28 Zohar Bogin Deterministic shut down of memory devices in response to a system warm reset

Also Published As

Publication number Publication date
JP2017076357A (ja) 2017-04-20
US20170102893A1 (en) 2017-04-13
JP6654048B2 (ja) 2020-02-26
KR20170043269A (ko) 2017-04-21
US10203896B2 (en) 2019-02-12

Similar Documents

Publication Publication Date Title
KR102498223B1 (ko) Ufs 장치의 작동 방법, ufs 호스트의 작동 방법, 및 이들을 포함하는 시스템의 작동 방법
US10496281B2 (en) Data storage device, data processing system and method of operation
US10146718B2 (en) Mechanism to boot multiple hosts from a shared PCIe device
US20200081850A1 (en) Unified address space for multiple hardware accelerators using dedicated low latency links
US9110863B2 (en) Seamless switching of USB devices connected to a monitor hub
US9881680B2 (en) Multi-host power controller (MHPC) of a flash-memory-based storage device
US9753655B2 (en) Computing system with write buffer including speculative storage write and method of operation thereof
US9690720B2 (en) Providing command trapping using a request filter circuit in an input/output virtualization (IOV) host controller (HC) (IOV-HC) of a flash-memory-based storage device
US10303366B2 (en) Data storage device that divides and processes a command and data processing system including the same
US20160274821A1 (en) Host device, computing system including the same and a plurality of devices, interface link layer configuration method thereof
US20110004718A1 (en) System, method, and computer program product for ordering a plurality of write commands associated with a storage device
US9632953B2 (en) Providing input/output virtualization (IOV) by mapping transfer requests to shared transfer requests lists by IOV host controllers
US10846256B2 (en) Multi-endpoint device sideband communication system
US20130346650A1 (en) Controller, electronic equipment unit, and usb device control method
KR20170013697A (ko) 데이터 저장 장치, 및 이를 포함하는 데이터 처리 시스템
TW202011203A (zh) 指令處理方法及使用所述方法的儲存控制器
US20150113333A1 (en) Data processing system and operating method thereof
TW201535412A (zh) 具有繞回性至連續性讀取之記憶體子系統
US11093175B1 (en) Raid data storage device direct communication system
KR102482527B1 (ko) 시리얼 인터페이스를 사용하는 저장 장치의 작동 방법과 이를 포함하는 데이터 처리 시스템의 작동 방법
EP4148572B1 (en) Computational storage device and storage system including the computational storage device
US11294832B2 (en) Systems and methods for queuing device management configuration requests
US9395744B2 (en) De-skewing transmitted data
US11822816B2 (en) Networking device/storage device direct read/write system
US11301259B1 (en) System control processor (SCP) cloning system

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant