KR102274028B1 - 전자 장치의 인터페이스 사이의 링크를 설정하기 위한 컨트롤러의 작동 방법 및 컨트롤러를 포함하는 저장 장치 - Google Patents

전자 장치의 인터페이스 사이의 링크를 설정하기 위한 컨트롤러의 작동 방법 및 컨트롤러를 포함하는 저장 장치 Download PDF

Info

Publication number
KR102274028B1
KR102274028B1 KR1020140137566A KR20140137566A KR102274028B1 KR 102274028 B1 KR102274028 B1 KR 102274028B1 KR 1020140137566 A KR1020140137566 A KR 1020140137566A KR 20140137566 A KR20140137566 A KR 20140137566A KR 102274028 B1 KR102274028 B1 KR 102274028B1
Authority
KR
South Korea
Prior art keywords
electronic device
link
information
state
identification code
Prior art date
Application number
KR1020140137566A
Other languages
English (en)
Other versions
KR20160016485A (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 US14/812,318 priority Critical patent/US9904651B2/en
Publication of KR20160016485A publication Critical patent/KR20160016485A/ko
Application granted granted Critical
Publication of KR102274028B1 publication Critical patent/KR102274028B1/ko

Links

Images

Abstract

본 발명은 전자 장치의 인터페이스 사이의 링크를 빠르게 설정하기 위한 컨트롤러의 작동 방법 및 컨트롤러를 포함하는 저장 장치를 제공한다. 컨트롤러의 작동 방법은 인터페이스 회로로의 다른 전자 장치의 연결을 감지하는 단계, 인터페이스 회로의 작동 절차를 정의하는 인터페이스 규약에서 정의된 및 예약된 값들과 다른 값을 갖고 전자 장치의 속성에 따라 다른 값을 갖는 식별 코드를 전송하는 단계, 및 인터페이스 회로의 상태를 식별 코드에 대응하는 빠른 링크업 상태로 설정하는 단계를 포함한다. 본 발명에 따르면, 두 전자 장치들 사이의 링크 스타트업 처리에 소요되는 시간이 줄어들 수 있다.

Description

전자 장치의 인터페이스 사이의 링크를 설정하기 위한 컨트롤러의 작동 방법 및 컨트롤러를 포함하는 저장 장치{OPERATING METHOD OF CONTROLLER FOR SETTING LINK BETWEEN INTERFACES OF ELECTRONIC DEVICES, AND STORAGE DEVICE INCLUDING CONTROLLER}
본 발명은 인터페이스(Interface) 기술에 관한 것으로, 좀 더 구체적으로는 고속의 직렬(High-speed Serial) 인터페이스를 이용하는 전자 장치들 사이의 링크 스타트업(Link Startup)을 위한 인터페이싱 방법 및 그 방법에 따라 작동하는 컨트롤러 및 전자 장치에 관한 것이다.
오늘날, 다양한 종류의 전자 장치들이 이용되고 있다. 전자 장치는 단독으로 고유의 기능을 수행할 수 있다. 나아가, 전자 장치는 다른 전자 장치와 데이터를 교환하면서 고유의 기능을 수행할 수 있다. 두 전자 장치들 사이에서 데이터를 교환하기 위해 인터페이스 기술이 이용된다. 전자 장치의 종류가 다양해짐에 따라, 인터페이스 규약(Protocol)의 종류도 다양해졌다. 근래, MIPI(Mobile Industry Processor Interface) 연합(Alliace)은 모바일(Mobile) 장치의 인터페이싱 과정을 통일하기 위해 링크 계층(Link Layer)으로써 "UniPro"를 이용하는 인터페이스 규약을 제안하였다.
UniPro는 "PHY"라고 불리는 물리 계층(Physical Layer)을 지원한다. UniPro 및 PHY를 이용하여 인터페이싱을 수행하는 전자 장치는 다른 전자 장치와 데이터를 교환하기 위한 송신기(Transmitter) 및 수신기(Receiver)를 포함한다. 한 전자 장치에 포함되는 송신기와 거기에 연결된 다른 전자 장치에 포함되는 수신기는 하나의 레인(Lane)을 형성한다. 그런데, 한 전자 장치에 포함되는 송신기 및 수신기의 개수는 다른 전자 장치에 포함되는 송신기 및 수신기의 개수와 다를 수 있다. 게다가, 한 전자 장치의 성능(Capability)은 다른 전자 장치의 성능과 다를 수 있다.
따라서, 두 전자 장치들은 물리적으로 연결된 레인을 인식하고 상대방 장치의 정보를 제공받기 위한 처리를 수행한다. 두 전자 장치들은 데이터를 교환하기 전에 링크 스타트업 처리를 수행한다. 링크 스타트업 처리를 수행함으로써, 두 전자 장치들은 송신기 및 수신기의 개수에 관한 정보, 물리적으로 연결된 레인에 관한 정보, 상대방 장치의 성능 등에 관한 정보 등을 서로 교환하고 인식할 수 있다. 링크 스타트업 처리가 완료된 후, 두 전자 장치들은 서로 안정적으로 데이터를 교환할 수 있는 링크업 상태(Linkup State)로 설정된다.
링크 스타트업 처리는 전자 장치가 처음 사용될 때 수행되는 초기화(Initialization) 작동 또는 전자 장치의 부팅(Booting) 작동 중에 수행된다. 나아가, 링크 스타트업 처리는 링크업 상태의 오류를 복구(Recovery)하는 작동 중에도 수행된다. 그런데, 링크 스타트업 처리는 두 전자 장치들에 관한 많은 정보의 교환을 요구하므로, 링크 스타트업 처리에 긴 시간이 소요될 수 있다. 긴 시간을 소요하는 링크 스타트업 처리는 전자 장치의 성능을 저하시킬 수 있다.
두 전자 장치들 사이의 링크 스타트업 처리에 소요되는 시간을 줄이기 위한 방법이 제공된다. 본 발명의 실시 예에 따른 전자 장치는, 전자 장치의 속성에 따라 다른 값을 갖는 식별 코드(Identification Code), 및 링크업 정보를 참조하여, 상대방 장치에 관한 정보의 교환을 생략(Skip)하고 링크업 상태로 진입할 수 있다.
본 발명의 실시 예에 따라 제 1 전자 장치와 통신하도록 구성되는 제 2 전자 장치를 관리하기 위한 컨트롤러의 작동 방법은 제 2 전자 장치의 인터페이스 회로로의 제 1 전자 장치의 연결을 감지하는 단계; 제 1 전자 장치의 연결이 감지된 후, 인터페이스 회로의 작동 절차를 정의하는 인터페이스 규약에서 정의된 및 예약된 값들과 다른 값을 갖고 제 1 전자 장치의 속성에 따라 다른 값을 갖는 식별 코드를 제 1 전자 장치로부터 제공받는 단계; 및 제 1 전자 장치와의 데이터 통신을 가능하게 하기 위해 인터페이스 회로의 상태를 제공받은 식별 코드에 대응하는 빠른 링크업 상태로 설정하는 단계를 포함할 수 있다.
본 발명의 실시 예에서, 제 1 전자 장치의 속성은 제 1 전자 장치의 종류 및 제조 업체를 포함할 수 있다.
본 발명의 실시 예에 따른 컨트롤러의 작동 방법은 제공받은 식별 코드에 대응하는 응답 신호를 제 1 전자 장치로 제공하는 단계를 더 포함할 수 있다.
본 발명의 실시 예에서, 설정하는 단계는 제공받은 식별 코드의 값이 제 2 전자 장치의 메모리 영역에 저장되어 있는지 여부를 판단하는 단계를 포함할 수 있다.
본 발명의 실시 예에서, 설정하는 단계는, 제공받은 식별 코드의 값이 제 2 전자 장치의 메모리 영역에 저장되어 있는 경우, 빠른 링크업 상태를 설정하기 위해 이용되는 링크업 정보가 제 2 전자 장치의 메모리 영역에 저장되어 있는지 여부를 판단하는 단계를 더 포함할 수 있다.
본 발명의 실시 예에서, 링크업 정보는 제 1 전자 장치와 제 2 전자 장치 사이의 데이터 통신에 이용되는 레인의 연결 정보, 제 1 전자 장치의 성능 정보, 및 제 2 전자 장치의 성능 정보 중 적어도 하나를 포함할 수 있다.
본 발명의 실시 예에서, 설정하는 단계는, 링크업 정보가 제 2 전자 장치의 메모리 영역에 저장되어 있는 경우, 저장된 링크업 정보에 기초하여 인터페이스 회로의 상태를 빠른 링크업 상태로 설정하는 단계를 더 포함할 수 있다.
본 발명의 실시 예에서, 설정하는 단계는: 링크업 정보가 제 2 전자 장치의 메모리 영역에 저장되어 있지 않은 경우, 제 1 전자 장치의 레인 연결 정보 및 성능 정보를 제공받는 단계; 제공받은 레인 연결 정보 및 제공받은 성능 정보에 기초하여 인터페이스 회로의 상태를 빠른 링크업 상태로 설정하는 단계; 및 제공받은 레인 연결 정보 및 제공받은 성능 정보를 제 2 전자 장치의 메모리 영역에 저장하는 단계를 더 포함할 수 있다.
본 발명의 실시 예에 따른 컨트롤러의 작동 방법은 제 1 전자 장치의 연결이 해제된 후 제 2 전자 장치로의 제 1 전자 장치의 재연결이 감지된 경우 또는 빠른 링크업 상태에 관한 오류가 검출된 경우 등 링크업 상태의 재설정이 필요한 경우에 빠른 링크업 상태를 복원하는 단계를 더 포함할 수 있다. 이 실시 예에서, 복원하는 단계는: 식별 코드를 제 1 전자 장치로부터 제공받는 단계; 및 저장된 레인 연결 정보 및 저장된 성능 정보에 기초하여 인터페이스 회로의 상태를 빠른 링크업 상태로 설정하는 단계를 포함할 수 있다.
본 발명의 실시 예에서, 설정하는 단계는: 제공받은 식별 코드의 값이 제 2 전자 장치의 메모리 영역에 저장되어 있지 않은 경우, 제공받은 식별 코드의 값을 제 2 전자 장치의 메모리 영역에 저장하는 단계; 제공받은 식별 코드의 값에 대응하는 제 1 전자 장치의 레인 연결 정보 및 성능 정보를 제공받는 단계; 제공받은 레인 연결 정보 및 제공받은 성능 정보에 기초하여 인터페이스 회로의 상태를 빠른 링크업 상태로 설정하는 단계; 및 제공받은 레인 연결 정보 및 제공받은 성능 정보를 제 2 전자 장치의 메모리 영역에 저장하는 단계를 더 포함할 수 있다.
본 발명의 실시 예에서, 제 2 전자 장치는 불휘발성 메모리 및 컨트롤러를 포함하는 저장 장치일 수 있다.
본 발명의 실시 예에 따라 제 1 전자 장치를 관리하기 위한 컨트롤러의 작동 방법은 제 1 전자 장치의 인터페이스 회로로의 제 2 전자 장치의 연결을 감지하는 단계; 제 2 전자 장치의 연결이 감지된 후, 인터페이스 회로의 작동 절차를 정의하는 인터페이스 규약에서 정의된 및 예약된 값들과 다른 값을 갖고 제 1 전자 장치의 속성에 따라 다른 값을 갖는 식별 코드를 제 2 전자 장치로 제공하는 단계; 대기 시간 동안, 제 2 전자 장치로부터 제공된 식별 코드에 대응하는 응답 신호의 전송을 대기하는 단계; 및 대기 시간 내에 제 2 전자 장치로부터 응답 신호가 전송된 경우, 제 2 전자 장치와의 데이터 통신을 가능하게 하기 위해 인터페이스 회로의 상태를 전송된 응답 신호에 대응하는 링크업 상태로 설정하는 단계를 포함할 수 있다.
본 발명의 실시 예에서, 제 1 전자 장치는 어플리케이션 프로세서를 포함하는 호스트일 수 있다.
본 발명의 실시 예에 따른 저장 장치는 호스트의 속성에 따라 각각 다른 값을 갖는 하나 이상의 식별 코드들을 저장하도록 구성되는 불휘발성 메모리; 물리 계층 및 링크 계층을 이용하는 인터페이스 규약에 따라 호스트와 데이터를 교환하도록 구성되는 인터페이스 회로; 및 인터페이스 회로로의 호스트의 연결이 감지되면 연결된 호스트의 속성에 대응하는 식별 코드를 제공받고, 제공받은 식별 코드에 대응하는 응답 신호를 연결된 호스트로 제공하도록 구성되는 컨트롤러를 포함할 수 있다. 이 실시 예에서, 컨트롤러 및 링크 계층 중 하나는: 제공받은 식별 코드와 같은 값을 갖는 식별 코드가 불휘발성 메모리에 저장되어 있는지 여부를 판별하도록 구성되는 판별 회로; 및 연결된 호스트와의 데이터 통신을 가능하게 하기 위해 물리 계층 및 링크 계층의 상태를 제공받은 식별 코드에 대응하는 빠른 링크업 상태로 설정하도록 구성되는 상태 설정 회로를 포함할 수 있다.
본 발명의 실시 예에서, 하나 이상의 식별 코드들 각각의 값은 불휘발성 메모리에 포함되는 메모리 셀들에 직접 저장되거나, 불휘발성 메모리에 저장된 프로그램 명령에 삽입될 수 있다.
본 발명의 실시 예에서, 저장된 하나 이상의 식별 코드들 각각은 인터페이스 규약에서 정의된 및 예약된 값들과 다른 값을 갖는다.
본 발명의 실시 예에서, 저장된 하나 이상의 식별 코드들은 서로 다른 속성을 갖는 호스트들에 관한 하나 이상의 링크업 상태들에 각각 대응하고, 불휘발성 메모리는 하나 이상의 링크업 상태들을 각각 설정하기 위해 이용되는 하나 이상의 링크업 정보들을 더 저장하고, 판별 회로는 빠른 링크업 상태를 설정하기 위해 이용되는 대상 링크업 정보가 불휘발성 메모리에 저장되어 있는지 여부를 판별할 수 있다.
본 발명의 실시 예에서, 대상 링크업 정보는 연결된 호스트와의 데이터 통신에 이용되는 레인의 연결 정보, 물리 계층 및 링크 계층 각각의 성능 정보, 및 연결된 호스트의 성능 정보 중 적어도 하나를 포함하고, 대상 링크업 정보에 대응하는 데이터 값들은 불휘발성 메모리에 포함되는 메모리 셀들에 직접 저장되거나 불휘발성 메모리에 저장된 프로그램 명령에 삽입될 수 있다.
본 발명의 실시 예에서, 상태 설정 회로는 저장된 대상 링크업 정보에 기초하여 물리 계층 및 링크 계층의 상태를 빠른 링크업 상태로 직접 설정하거나, 컨트롤러에 의해 실행된 프로그램 명령에 삽입된 대상 링크업 정보에 기초하여 물리 계층 및 링크 계층의 상태를 빠른 링크업 상태로 설정할 수 있다.
본 발명의 실시 예에서, 컨트롤러는 JEDEC UFS 표준 인터페이스 규약에 따라 스토리지 메모리를 제어하고, 불휘발성 메모리, 인터페이스 회로, 컨트롤러, 및 스토리지 메모리는 모바일 전자 시스템에 임베디드되도록 구성되는 임베디드 스토리지 또는 모바일 전자 시스템에 연결되도록 구성되는 카드 스토리지에 구현될 수 있다.
본 발명의 실시 예에 따르면, 두 전자 장치들 사이의 링크 스타트업 처리에 소요되는 시간이 줄어들 수 있다. 이로써, 전자 장치의 초기화 작동 또는 부팅 작동에 소요되는 시간이 줄어들 수 있다. 나아가, 링크업 상태의 오류의 복구 작동에 소요되는 시간이 줄어들 수 있다.
도 1은 서로 연결된 두 전자 장치를 포함하는 전자 시스템의 구성을 나타낸 블록도이다.
도 2는 도 1의 두 전자 장치들 각각에 포함된 인터페이스 회로 사이의 연결을 나타낸 개념도이다.
도 3은 본 발명의 실시 예에 따른 링크업 상태의 설정을 설명하는 흐름도이다.
도 4 및 도 5는 두 전자 장치들이 본 발명의 실시 예에 따라 링크업 상태로 설정되는 과정을 설명하는 흐름도이다.
도 6은 본 발명의 실시 예에 따른 식별 코드 및 링크업 정보의 개념을 설명하기 위한 표이다.
도 7 내지 도 9는 두 전자 장치들이 본 발명의 실시 예에 따라 링크업 상태로 설정되는 과정을 설명하는 흐름도이다.
도 10 및 도 11은 본 발명의 실시 예에 따른 전자 장치의 작동을 설명하는 흐름도이다.
도 12는 본 발명의 실시 예에 따른 빠른(Express) 링크업 상태의 복원(Restoration)을 설명하는 흐름도이다.
도 13은 본 발명의 실시 예에 따른 스토리지(Storage) 시스템의 구성을 나타낸 블록도이다.
도 14 및 도 15는 도 13의 저장 장치의 구성을 나타낸 블록도이다.
도 16은 본 발명의 실시 예에 따른 임베디드(Embedded) 스토리지 또는 카드(Card) 스토리지를 포함하는 스토리지 시스템의 구성을 나타낸 블록도이다.
도 17은 본 발명의 실시 예에 따른 컨트롤러를 포함하는 전자 시스템의 구성 및 본 발명의 실시 예에 따라 작동하는 인터페이스들을 나타낸 블록도이다.
전술한 특성 및 이하 상세한 설명은 모두 본 발명의 설명 및 이해를 돕기 위한 예시적인 사항이다. 즉, 본 발명은 이와 같은 실시 예에 한정되지 않고 다른 형태로 구체화될 수 있다. 다음 실시 형태들은 단지 본 발명을 완전히 개시하기 위한 예시이며, 본 발명이 속하는 기술 분야의 통상의 기술자들에게 본 발명을 전달하기 위한 설명이다. 따라서, 본 발명의 구성 요소들을 구현하기 위한 방법이 여럿 있는 경우에는, 이들 방법 중 특정한 것 또는 이와 동일성 있는 것 가운데 어떠한 것으로든 본 발명의 구현이 가능함을 분명히 할 필요가 있다.
본 명세서에서 어떤 구성이 특정 요소들을 포함한다는 언급이 있는 경우, 또는 어떤 과정이 특정 단계들을 포함한다는 언급이 있는 경우는, 그 외 다른 요소 또는 다른 단계들이 더 포함될 수 있음을 의미한다. 즉, 본 명세서에서 사용되는 용어들은 특정 실시 형태를 설명하기 위한 것일 뿐이고, 본 발명의 개념을 한정하기 위한 것이 아니다. 나아가, 발명의 이해를 돕기 위해 설명한 예시들은 그것의 상보적인 실시 예도 포함한다.
본 명세서에서 사용되는 용어들은 본 발명이 속하는 기술 분야의 통상의 기술자들이 일반적으로 이해하는 의미를 갖는다. 보편적으로 사용되는 용어들은 본 명세서의 맥락에 따라 일관적인 의미로 해석되어야 한다. 또한, 본 명세서에서 사용되는 용어들은, 그 의미가 명확히 정의된 경우가 아니라면, 지나치게 이상적이거나 형식적인 의미로 해석되지 않아야 한다. 이하 첨부된 도면을 통하여 본 발명의 실시 예가 설명된다.
도 1은 서로 연결된 두 전자 장치를 포함하는 전자 시스템의 구성을 나타낸 블록도이다. 전자 시스템(100)은 제 1 전자 장치(110) 및 제 2 전자 장치(120)를 포함할 수 있다. 제 1 전자 장치(110)는 제 1 인터페이스(Interface) 회로(113) 및 제 1 컨트롤러(Controller; 115)를 포함할 수 있다. 제 2 전자 장치(120)는 제 2 인터페이스 회로(123) 및 제 2 컨트롤러(125)를 포함할 수 있다. 다만, 제 1 전자 장치(110) 및 제 2 전자 장치(120) 각각은 도 1에 나타내지 않은 다른 구성 요소들을 더 포함할 수 있다. 도 1에 나타낸 구성은 본 발명의 이해를 돕기 위한 예시일 뿐이다.
실시 예로서, 제 1 전자 장치(110)는 호스트(Host)일 수 있다. 예로서, 전자 시스템(100)이 모바일(Mobile) 전자 시스템인 경우, 제 1 전자 장치(110)는 어플리케이션 프로세서(Application Processor)를 포함할 수 있다. 실시 예로서, 제 2 전자 장치(120)는 저장 장치일 수 있다.
그러나, 본 발명은 위 실시 예들로 한정되지 않는다. 예로서, 제 1 전자 장치(110)의 기능 및 구성은 제 2 전자 장치(120)의 기능 및 구성과 서로 바뀔 수 있다. 나아가, 제 1 전자 장치(110) 및 제 2 전자 장치(120)는 다른 종류의 전자 장치일 수 있다. 예로서, 제 2 전자 장치(120)는 디스플레이 장치, 이미지 센서(Image Sensor), 무선 통신 칩 등 중 하나일 수 있다. 위 실시 예들은 본 발명의 이해를 돕기 위한 예시일 뿐이다.
제 1 전자 장치(110)는 제 1 인터페이스 회로(113)를 통해 제 2 전자 장치(120)에 연결될 수 있다. 제 1 전자 장치(110)는 제 1 인터페이스 회로(113)를 통해 제 2 전자 장치(120)와 데이터를 교환할 수 있다.
제 1 인터페이스 회로(113)는 제 1 물리 계층(Physical Layer; PL1) 및 제 1 링크 계층(Link Layer; LL1)을 포함할 수 있다. 제 1 물리 계층(PL1)은 제 2 전자 장치(120)와 데이터를 교환하기 위한 물리적 구성들을 포함할 수 있다. 예로서, 제 1 물리 계층(PL1)은 제 2 전자 장치(120)와 데이터를 교환하기 위한 하나 이상의 송신기(Transmitter) 및 하나 이상의 수신기(Receiver)를 포함할 수 있다. 제 1 링크 계층(LL1)은 데이터의 전송 및 조합(Composition)을 관리할 수 있다. 나아가, 제 1 링크 계층(LL1)은 데이터의 무결성(Integrity) 및 오류(Error)를 관리할 수 있다.
실시 예로서, 전자 시스템(100)이 모바일 전자 시스템인 경우, 제 1 링크 계층(LL1)은 "UniPro" 스펙(Specification)에 의해 정의될 수 있고, 제 1 물리 계층(PL1)은 "M-PHY" 스펙에 의해 정의될 수 있다. UniPro 및 M-PHY는 MIPI(Mobile Industry Processor Interface) 연합(Alliace)에 의해 제안된 인터페이스 규약(Protocol)이다. 이 실시 예에서, 제 1 인터페이스 회로(113)의 제 1 링크 계층(LL1)은 물리 적응 계층(Physical Adapted Layer; 미도시)을 포함할 수 있다. 물리 적응 계층은 데이터의 심볼(Symbol)을 관리하거나 전력을 관리하는 등 제 1 물리 계층(PL1)을 제어할 수 있다.
다만, 본 발명은 위 실시 예들로 한정되지 않는다. 뒤에서 설명되겠지만, 본 발명은 물리 계층 및 링크 계층을 포함하는 모든 인터페이스 회로에서 채용될 수 있다.
제 1 컨트롤러(115)는 제 1 전자 장치(110)의 전반적인 작동을 관리하고 제어할 수 있다. 특히, 제 1 컨트롤러(115)는 제 1 인터페이스 회로(113)를 통해 교환된 데이터를 처리하고 관리할 수 있다. 제 1 컨트롤러(115)의 제어에 따라, 제 1 전자 장치(110)는 고유의 기능을 수행할 수 있다.
제 2 전자 장치(120)는 제 2 인터페이스 회로(123)를 통해 제 1 전자 장치(110)에 연결될 수 있다. 제 2 전자 장치(120)는 제 2 인터페이스 회로(123)를 통해 제 1 전자 장치(110)와 데이터를 교환할 수 있다.
제 2 인터페이스 회로(123)는 제 2 물리 계층(PL2) 및 제 2 링크 계층(LL2)을 포함할 수 있다. 제 2 물리 계층(PL2)은 제 1 전자 장치(110)와 데이터를 교환하기 위한 물리적 구성들을 포함할 수 있다. 예로서, 제 2 물리 계층(PL2)은 제 1 전자 장치(110)와 데이터를 교환하기 위한 하나 이상의 송신기 및 하나 이상의 수신기를 포함할 수 있다. 제 2 링크 계층(LL2)은 데이터의 전송 및 조합을 관리할 수 있다. 나아가, 제 2 링크 계층(LL2)은 데이터의 무결성 및 오류를 관리할 수 있다.
실시 예로서, 전자 시스템(100)이 모바일 전자 시스템인 경우, 제 2 링크 계층(LL2)은 UniPro 스펙에 의해 정의될 수 있고, 제 2 물리 계층(PL2)은 M-PHY 스펙에 의해 정의될 수 있다. 이 실시 예에서, 제 2 인터페이스 회로(123)의 제 2 링크 계층(LL2)은 물리 적응 계층(미도시)을 포함할 수 있다.
제 2 컨트롤러(125)는 제 2 전자 장치(120)의 전반적인 작동을 관리하고 제어할 수 있다. 특히, 제 2 컨트롤러(125)는 제 2 인터페이스 회로(123)를 통해 교환된 데이터를 처리하고 관리할 수 있다. 제 2 컨트롤러(125)의 제어에 따라, 제 2 전자 장치(120)는 고유의 기능을 수행할 수 있다.
실시 예로서, 제 2 전자 장치(120)가 플래시 메모리를 포함하는 저장 장치인 경우, 제 2 컨트롤러(125)는 JEDEC에 의해 제안된 UFS(Universal Flash Storage) 스펙에서 정의된 인터페이스 규약에 따라 작동할 수 있다. 이 실시 예에서, 제 1 전자 장치(110)가 호스트인 경우, 제 1 컨트롤러(115)는 UFSHCI(UFS Host Controller Interface) 스펙에서 정의된 인터페이스 규약에 따라 작동할 수 있다. 그러나, 본 발명은 위 실시 예들로 한정되지 않는다. 다른 실시 예로서, 제 2 전자 장치(120)가 이미지 센서인 경우, 제 2 컨트롤러(125)는 CSI(Camera Serial Interface)라고 불리는 인터페이스 규약에 따라 작동할 수 있다. 즉, 본 발명은 물리 계층 및 링크 계층을 포함하는 모든 인터페이스 회로에서 채용될 수 있고, 본 발명의 실시 예는 인터페이싱 방법에 따라 다양한 형태로 변경 또는 수정될 수 있다.
도 2는 도 1의 두 전자 장치들 각각에 포함된 인터페이스 회로 사이의 연결을 나타낸 개념도이다. 도 1에 대한 설명에서 언급된 것과 같이, 전자 시스템(100)은 서로 연결된 제 1 전자 장치(110) 및 제 2 전자 장치(120)를 포함할 수 있다. 제 1 전자 장치(110)는 제 1 물리 계층(PL1)을 통해 제 2 전자 장치(120)에 연결될 수 있다. 제 2 전자 장치(120)는 제 2 물리 계층(PL2)을 통해 제 1 전자 장치(110)에 연결될 수 있다.
예로서, 제 1 물리 계층(PL1)은 4개의 송신기(Tx11, Tx12, Tx13, Tx14) 및 2개의 수신기(Rx25, Rx26)를 포함할 수 있다. 예로서, 제 2 물리 계층(PL2)은 2개의 수신기(Rx21, Rx22) 및 1개의 송신기(Tx25)를 포함할 수 있다. 그러나, 제 1 물리 계층(PL1) 및 제 2 물리 계층(PL2) 각각에 포함되는 송신기 및 수신기의 개수는 다양하게 변경될 수 있다. 도 2에 나타낸 구성은 본 발명의 이해를 돕기 위한 예시일 뿐이다. 본 발명은 도 2에 나타낸 구성에 의해 한정되지 않는다.
제 1 전자 장치(110)와 제 2 전자 장치(120)가 서로 다른 종류의 전자 장치인 경우, 도 2에 나타낸 것과 같이 제 1 물리 계층(PL1)에 포함되는 송신기 및 수신기의 개수가 제 2 물리 계층(PL2)에 포함되는 송신기 및 수신기의 개수와 다를 수 있다. 게다가, 제 1 전자 장치(110)의 성능(Capability)은 제 2 전자 장치(120)의 성능과 다를 수 있다. 예로서, 제 1 전자 장치(110)의 최대 데이터 전송 속도는 6Gbps인 반면, 제 2 전자 장치(120)의 최대 데이터 전송 속도는 3Gbps일 수 있다.
위 예와 같이 제 1 전자 장치(110)의 구성 및 성능이 제 2 전자 장치(120)의 구성 및 성능과 다른 경우, 제 1 전자 장치(110)와 제 2 전자 장치(120) 사이의 데이터 교환이 불안정할 수 있다. 따라서, 제 1 전자 장치(110)와 제 2 전자 장치(120)는 데이터를 교환하기 전에 링크 스타트업(Link Startup) 처리를 수행할 수 있다. 링크 스타트업 처리를 수행하는 도중, 제 1 전자 장치(110)와 제 2 전자 장치(120)는 송신기 및 수신기의 개수에 관한 정보, 장치 성능에 관한 정보 등을 서로 교환할 수 있다. 이에 따라, 제 1 전자 장치(110)는 제 2 전자 장치(120)의 구성 및 성능을 인식할 수 있고, 제 2 전자 장치(120)는 제 1 전자 장치(110)의 구성 및 성능을 인식할 수 있다.
링크 스타트업 처리가 완료된 후, 제 1 전자 장치(110)와 제 2 전자 장치(120) 각각은 안정적으로 데이터를 교환할 수 있는 링크업 상태(Linkup State)로 설정된다. 예로서, 제 1 전자 장치(110)의 제 1 송신기(Tx11)와 제 2 전자 장치(120)의 제 1 수신기(Rx21)는 하나의 레인(Lane)을 형성할 수 있다. 나아가, 제 2 송신기(Tx12)와 제 2 수신기(Rx22)가 하나의 레인을 형성하고, 제 5 송신기(Tx25)와 제 5 수신기(Rx25)가 하나의 레인을 형성할 수 있다. 레인을 형성하지 않는 제 3 송신기(Tx13), 제 4 송신기(Tx14), 및 제 6 수신기(Rx26)는 데이터 교환에 이용되지 않을 수 있다. 그러나, 송신기와 수신기 사이의 연결은 도 2에 나타낸 것과 다르게 변경 또는 수정될 수 있다. 도 2에 나타낸 연결은 본 발명의 이해를 돕기 위한 예시일 뿐이다.
나아가, 제 1 전자 장치(110)의 최대 데이터 전송 속도는 6Gbps이고 제 2 전자 장치(120)의 최대 데이터 전송 속도는 3Gbps인 경우, 제 1 전자 장치(110)는 최대 3Gbps의 속도로 제 2 전자 장치(120)와 데이터를 교환할 수 있다. 즉, 링크업 상태에서, 제 1 전자 장치(110)는 3개의 레인을 통해 3Gbps의 속도로 제 2 전자 장치(120)와 데이터를 교환할 수 있다. 링크업 상태가 설정되면, 제 1 전자 장치(110)는 제 2 전자 장치(120)와 안정적으로 데이터를 교환할 수 있다. 그러나, 링크 스타트업 처리는 제 1 전자 장치(110) 및 제 2 전자 장치(120)에 관한 많은 정보의 교환을 요구한다. 따라서, 링크 스타트업 처리에 긴 시간이 소요될 수 있다.
그런데, 제 1 전자 장치(110) 또는 제 2 전자 장치(120)가 잘 알려진 전자 장치인 경우, 링크 스타트업 처리가 필요하지 않을 수 있다. 예로서, 제 1 전자 장치(110) 또는 제 2 전자 장치(120)가 잘 알려진 업체에 의해 제조된 널리 이용되는 전자 장치인 경우, 제 1 전자 장치(110) 또는 제 2 전자 장치(120)의 구성 및 성능에 관한 정보가 이미 잘 알려져 있을 수 있다. 또는, 전자 시스템(100)은 제 1 전자 장치(110)와 제 2 전자 장치(120) 사이에 연결된 레인에 관한 정보를 이미 인식하고 있을 수 있다.
실시 예로서, 제 1 전자 장치(110)의 구성 및 성능에 관한 정보, 및 레인의 연결에 관한 정보가 제 2 전자 장치(120)에 미리 저장되어 있고 제 2 전자 장치(120)가 제 1 전자 장치(110)를 식별할 수 있다면, 제 2 전자 장치(120)는 링크 스타트업 처리를 생략(Skip)하고 미리 저장된 정보에 기초하여 링크업 상태로 진입할 수 있다. 링크 스타트업 처리가 생략되면, 제 1 전자 장치(110) 또는 제 2 전자 장치(120)의 성능이 향상될 수 있다.
도 3은 본 발명의 실시 예에 따른 링크업 상태의 설정을 설명하는 흐름도이다. 예로서, 도 1의 제 1 전자 장치(110) 또는 제 2 전자 장치(120)는 도 3에 나타낸 과정에 따라 작동할 수 있다.
S110 단계에서, 한 전자 장치는 다른 전자 장치의 연결을 감지할 수 있다. 예로서, 제 1 전자 장치(110)는 제 1 인터페이스 회로(113, 도 1 참조)를 통해 제 2 전자 장치(120)에 물리적으로 연결될 수 있다. 나아가, 제 2 전자 장치(120)는 제 2 인터페이스 회로(123, 도 1 참조)를 통해 제 1 전자 장치(110)에 물리적으로 연결될 수 있다. 제 1 전자 장치(110)와 제 2 전자 장치(120)는 상대방 장치의 연결을 감지할 수 있다. 실시 예로서, 도 3에 관한 설명에서 언급되는 단계들은 제 1 전자 장치(110)의 제 1 컨트롤러(115, 도 1 참조) 또는 제 2 전자 장치(120)의 제 2 컨트롤러(125, 도 1 참조)의 제어에 따라 수행될 수 있다.
S120 단계에서, 서로 연결된 두 전자 장치들 사이에서 식별 코드(Identification Code; ID_CODE)가 전송될 수 있다. 예로서, 제 1 전자 장치(110)는 제 2 전자 장치(120)로 식별 코드(ID_CODE)를 제공할 수 있다. 이 예에서, 식별 코드(ID_CODE)는 제 1 전자 장치(110)의 속성에 따라 다른 값을 가질 수 있다. 실시 예로서, 식별 코드(ID_CODE)는 전자 장치의 종류 및 제조 업체에 따라 다른 값을 가질 수 있다. 예로서, 제 2 전자 장치(120)는 제공받은 식별 코드(ID_CODE)의 값에 기초하여 제 1 전자 장치(110)의 속성을 파악할 수 있다. 실시 예로서, 제 2 전자 장치(120)는 제공받은 식별 코드(ID_CODE)의 값에 기초하여 제 1 전자 장치(110)의 종류 및 제조 업체를 파악할 수 있다.
여기서, "식별 코드"라는 명칭이 이용되었으나, 이 명칭은 본 발명을 한정하기 위한 것은 아니다. 예로서, 식별 코드는 특정한 2진 비트열(Binary Bit String)일 수 있다. 또는, 식별 코드는 특정한 신호 패턴(Pattern)일 수 있다. 식별 코드는 다양한 형태로 변경 또는 수정될 수 있다. 실시 예로서, 식별 코드는 UniPro 및 M-PHY 스펙에 의해 정의된 "TRG_UPR" 패턴과 유사한 방식으로 전송될 수 있다.
예로서, 제 1 전자 장치(110) 및 제 2 전자 장치(120)가 본 발명의 식별 코드(ID_CODE)를 이용하는 경우, S130 단계가 수행될 수 있다. 실시 예로서, 제 2 전자 장치(120)가 식별 코드(ID_CODE)의 값을 미리 저장하고 있고 저장된 식별 코드(ID_CODE)에 기초하여 제 1 전자 장치(110)를 식별할 수 있는 경우, 제 2 전자 장치(120)는 S130 단계에 따라 작동할 수 있다. 다른 실시 예로서, 제 2 전자 장치(120)가 식별 코드(ID_CODE)의 값을 저장하고 있지 않더라도, 제 2 전자 장치(120)가 본 발명의 실시 예에 따라 작동할 수 있는 경우, 제 2 전자 장치(120)는 S130 단계에 따라 작동할 수 있다.
S130 단계에서, 서로 연결된 두 전자 장치들 각각은 링크업 상태로 진입할 수 있다. 예로서, S130 단계에서, 제 1 전자 장치(110) 및 제 2 전자 장치(120)는 식별 코드(ID_CODE)에 대응하는 링크업 상태로 진입할 수 있다. 도 4 내지 도 12에 대한 설명에서 더 자세히 언급되겠지만, 본 발명의 실시 예에 따르면, 많은 정보의 교환을 요구하는 링크 스타트업 처리 없이 링크업 상태가 설정될 수 있다. 따라서, 본 발명의 실시 예에 따르면, 링크업 상태가 빠르게 설정될 수 있다. 본 발명의 실시 예에 따라 설정된 링크업 상태는 "빠른(Express) 링크업 상태"로 불릴 수 있다.
반면, 제 1 전자 장치(110) 및 제 2 전자 장치(120)가 본 발명의 식별 코드(ID_CODE)를 이용하지 않는 경우, S140 단계 내지 S160 단계가 수행될 수 있다.
S140 단계에서, 서로 연결된 두 전자 장치들은 레인 정보를 교환할 수 있다. 예로서, 제 1 전자 장치(110) 및 제 2 전자 장치(120)가 UniPro 및 M-PHY 인터페이스 규약에 따라 작동하는 경우, S140 단계는 스펙에 의해 정의된 "TRG_UPR0", "TRG_UPR1", 및 "TRG_UPR2" 패턴들에 기초하여 수행될 수 있다.
S150 단계에서, 서로 연결된 두 전자 장치들은 성능 정보를 교환할 수 있다. 예로서, 제 1 전자 장치(110) 및 제 2 전자 장치(120)가 UniPro 및 M-PHY 인터페이스 규약에 따라 작동하는 경우, S150 단계는 스펙에 의해 정의된 "PACP_CAP_ind" 및 "PACP_CAP_EXT1_ind" 기능(Function)들에 기초하여 수행될 수 있다.
S160 단계에서, 서로 연결된 두 전자 장치들 각각은 링크업 상태로 진입할 수 있다. 특히, S160 단계에서, 제 1 전자 장치(110) 및 제 2 전자 장치(120)는 S140 단계에서 교환된 레인 정보 및 S150 단계에서 교환된 성능 정보에 기초하여 링크업 상태로 진입할 수 있다. S140 단계 내지 S160 단계에 따르면, 링크업 상태를 설정하기 위해 많은 정보의 교환을 요구하는 링크 스타트업 처리가 수행된다. S140 단계 내지 S160 단계에 따라 설정된 링크업 상태는 "일반(Normal) 링크업 상태"로 불릴 수 있다.
여기서, "빠른 링크업 상태"라는 용어는 본 발명의 실시 예에 따라 설정된 링크업 상태를 강조하기 위해 이용된다. 빠른 링크업 상태로 설정된 전자 장치의 상태는 일반 링크업 상태로 설정된 전자 장치의 상태와 동일하거나 유사할 수 있다. 다만, 빠른 링크업 상태의 설정과 일반 링크업 상태의 설정을 비교하면, 빠른 링크업 상태의 설정에 소요되는 시간이 일반 링크업 상태의 설정에 소요되는 시간보다 짧음이 이해될 것이다. 이는 빠른 링크업 상태의 설정은 많은 정보의 교환을 요구하지 않는 반면 일반 링크업 상태의 설정은 많은 정보의 교환을 요구하기 때문이다. 따라서, 본 발명의 실시 예에 따르면, 링크업 상태가 빠르게 설정될 수 있다. 본 발명의 실시 예들은 도 4 내지 도 12에 대한 설명과 함께 더 언급된다.
도 4는 두 전자 장치들이 본 발명의 실시 예에 따라 링크업 상태로 설정되는 과정을 설명하는 흐름도이다. 본 발명의 이해를 돕기 위해, 제 1 전자 장치(110)가 호스트(예컨대, 어플리케이션 프로세서를 포함하는 장치)인 것으로 가정된다. 그러나, 위에서 언급된 것과 같이, 위 가정은 본 발명을 한정하기 위한 것은 아니다. 어떤 경우, 제 2 전자 장치(120)가 호스트일 수 있다.
도 4에 나타낸 것처럼, 링크 스타트업 처리는 한 전자 장치가 먼저 처리를 시작하는 싱글 엔드(Single-end) 방식으로 수행될 수 있다. 그러나, 도 4에 나타낸 것과 달리, 링크 스타트업 처리는 두 전자 장치가 동시에 처리를 시작하는 보스 엔드(Both-end) 방식으로 수행될 수 있다. 본 발명의 실시 예는 필요에 따라 다양한 형태로 변경 또는 수정될 수 있다. 도 4는 가능한 실시 예들 중 하나를 설명하기 위한 예시이고, 본 발명을 제한하기 위한 것은 아니다.
먼저, 제 1 전자 장치(110)는 제 1 인터페이스 회로(113, 도 1 참조)를 통해 제 2 전자 장치(120)에 물리적으로 연결될 수 있다. 나아가, 제 2 전자 장치(120)는 제 2 인터페이스 회로(123, 도 1 참조)를 통해 제 1 전자 장치(110)에 물리적으로 연결될 수 있다. 제 1 전자 장치(110)와 제 2 전자 장치(120)는 상대방 장치의 연결을 감지할 수 있다. 실시 예로서, 도 4에 관한 설명에서 언급되는 단계들은 제 1 전자 장치(110)의 제 1 컨트롤러(115) 및 제 2 전자 장치(120)의 제 2 컨트롤러(125)의 제어에 따라 수행될 수 있다.
S210 단계에서, 제 1 전자 장치(110)는 제 2 전자 장치(120)로 식별 코드(ID_CODE)를 제공할 수 있다. 식별 코드(ID_CODE)는 제 1 전자 장치(110)의 속성에 따라 다른 값을 가질 수 있다. 실시 예로서, 식별 코드(ID_CODE)는 제 1 전자 장치(110)의 종류 및 제조 업체에 따라 다른 값을 가질 수 있다. 제 2 전자 장치(120)는 제공받은 식별 코드(ID_CODE)의 값에 기초하여 제 1 전자 장치(110)의 속성을 파악할 수 있다. 실시 예로서, 제 2 전자 장치(120)는 제공받은 식별 코드(ID_CODE)의 값에 기초하여 제 1 전자 장치(110)의 종류 및 제조 업체를 파악할 수 있다.
제 1 전자 장치(110)는 식별 코드(ID_CODE)를 제공한 후, 대기 시간(ST) 동안 대기할 수 있다. 특히, 제 1 전자 장치(110)는 대기 시간(ST) 동안 응답 신호(RSP)의 전송을 대기할 수 있다. 실시 예로서, 대기 시간(ST)은 특정한 값을 가질 수 있다. 또는, 대기 시간(ST)은 필요에 따라 조절 가능한 값을 가질 수 있다.
S220 단계에서, 제 2 전자 장치(120)는 제 1 전자 장치(110)와의 데이터 통신을 가능하게 하기 위한 링크업 상태로 진입할 수 있다. 특히, 제 2 전자 장치(120)의 제 2 인터페이스 회로(123)의 상태는 S210 단계에서 제공받은 식별 코드(ID_CODE)에 대응하는 링크업 상태로 설정될 수 있다. 본 발명의 실시 예에서, 식별 코드(ID_CODE)에 기초하여, 제 2 전자 장치(120)는 제 1 전자 장치(110)와의 정보 교환 없이 링크업 상태로 진입할 수 있다. 따라서, 본 발명의 실시 예에 따르면, 링크업 상태가 빠르게 설정될 수 있다. 본 발명의 실시 예에 따라 설정된 링크업 상태는 빠른 링크업 상태로 불릴 수 있다.
실시 예로서, 제 2 전자 장치(120)가 식별 코드(ID_CODE)의 값을 미리 저장하고 있고 저장된 식별 코드(ID_CODE)에 기초하여 제 1 전자 장치(110)를 식별할 수 있는 경우, 제 2 전자 장치(120)의 제 2 인터페이스 회로(123)의 상태는 식별 코드(ID_CODE)에 대응하는 빠른 링크업 상태로 설정될 수 있다. 다른 실시 예로서, 제 2 전자 장치(120)가 식별 코드(ID_CODE)의 값을 저장하고 있지 않더라도, 제 2 전자 장치(120)가 본 발명의 실시 예에 따라 작동할 수 있는 경우, 제 2 전자 장치(120)의 제 2 인터페이스 회로(123)의 상태는 식별 코드(ID_CODE)에 대응하는 빠른 링크업 상태로 설정될 수 있다. 빠른 링크업 상태의 설정은 도 5 내지 도 12에 대한 설명과 함께 더 언급된다.
S230 단계에서, 실시 예로서, 제 2 전자 장치(120)는 제 1 전자 장치(110)로 응답 신호(RSP)를 제공할 수 있다. 응답 신호(RSP)는 식별 코드(ID_CODE)에 대응하는 신호이다. 즉, 응답 신호(RSP)는 식별 코드(ID_CODE)에 대해 응답하기 위한 신호이다. 응답 신호(RSP)가 대기 시간(ST) 내에 제공되면, 제 1 전자 장치(110)는 식별 코드(ID_CODE)가 제 2 전자 장치(120)로 정상적으로 제공되었고 제 2 전자 장치(120)가 식별 코드(ID_CODE)를 이용하여 작동할 수 있음을 인지할 수 있다. 즉, 제 2 전자 장치(120)는, 응답 신호(RSP)를 제공함으로써, 본 발명의 실시 예에 따라 작동할 수 있음을 제 1 전자 장치(110)에 알릴 수 있다.
제 1 전자 장치(110)는 제공받은 응답 신호(RSP)에 기초하여 제 2 전자 장치(120)의 속성을 파악할 수 있다. 실시 예로서, 제 1 전자 장치(110)는 제공받은 응답 신호(RSP)에 기초하여 제 2 전자 장치(120)의 종류 및 제조 업체를 파악할 수 있다.
S240 단계에서, 제 1 전자 장치(110)는 제 2 전자 장치(120)와의 데이터 통신을 가능하게 하기 위한 링크업 상태로 진입할 수 있다. 특히, 응답 신호(RSP)가 대기 시간(ST) 내에 제공되면, 제 1 전자 장치(110)의 제 1 인터페이스 회로(113)의 상태는 S230 단계에서 제공받은 응답 신호(RSP)에 대응하는 링크업 상태로 설정될 수 있다. 본 발명의 실시 예에서, 응답 신호(RSP)에 기초하여, 제 1 전자 장치(110)는 제 2 전자 장치(120)와의 정보 교환 없이 빠른 링크업 상태로 진입할 수 있다. 빠른 링크업 상태에서, 제 1 전자 장치(110)와 제 2 전자 장치(120) 사이의 안정적인 데이터 통신이 가능해질 수 있다.
제 1 전자 장치(110)의 빠른 링크업 상태를 설정하기 위한 S240 단계는 제 2 전자 장치(120)의 빠른 링크업 상태를 설정하기 위한 S220 단계와 독립적으로 수행된다. 따라서, S240 단계는 S220 단계보다 먼저 수행되거나 늦게 수행될 수 있다. 또는, S240 단계는 S220 단계와 동시에 수행될 수 있다.
나아가, S230 단계는 S220 단계와 독립적으로 수행된다. 따라서, S230 단계는 S220 단계보다 먼저 수행되거나 늦게 수행될 수 있다. 또는, S230 단계는 S220 단계와 동시에 수행될 수 있다.
도 4의 실시 예에 따르면, 많은 정보의 교환을 요구하는 링크 스타트업 처리가 생략될 수 있다. 제 1 전자 장치(110)는 응답 신호(RSP)에 기초하여 본 발명의 실시 예에 따라 작동할 수 있다. 제 2 전자 장치(120)는 식별 코드(ID_CODE)에 기초하여 본 발명의 실시 예에 따라 작동할 수 있다. 이로써, 제 1 전자 장치(110) 및 제 2 전자 장치(120) 각각은 빠른 링크업 상태로 진입할 수 있다.
도 4의 실시 예에 따른 컨트롤러의 작동 방법은 전자 장치의 초기화(Initialization) 작동 또는 부팅(Booting) 작동 중에 수행될 수 있다. 또는, 도 4의 실시 예에 따른 컨트롤러의 작동 방법은 링크업 상태의 오류의 복구(Recovery) 작동 중에 수행될 수 있다. 도 4의 실시 예에 따르면, 전자 장치의 초기화 작동, 부팅 작동, 또는 복구 작동에 소요되는 시간이 줄어들 수 있다.
대기 시간(ST) 내에 응답 신호(RSP)가 제공되지 않는 경우, 실시 예로서, 제 1 전자 장치(110)는 도 3의 S140, S150, 및 S160 단계에 따라 작동할 수 있다. 제 1 전자 장치(110)가 도 3의 S140, S150, 및 S160 단계에 따라 작동하는 경우, 제 2 전자 장치(120) 역시 도 3의 S140, S150, 및 S160 단계에 따라 작동할 수 있다.
도 5는 두 전자 장치들이 본 발명의 실시 예에 따라 링크업 상태로 설정되는 과정을 설명하는 흐름도이다. 도 5는 가능한 실시 예들 중 하나를 설명하기 위한 예시이고, 본 발명을 제한하기 위한 것은 아니다.
먼저, 제 1 전자 장치(110)와 제 2 전자 장치(120)는 상대방 장치의 연결을 감지할 수 있다. 실시 예로서, 도 5에 관한 설명에서 언급되는 단계들은 제 1 전자 장치(110)의 제 1 컨트롤러(115, 도 1 참조) 및 제 2 전자 장치(120)의 제 2 컨트롤러(125, 도 1 참조)의 제어에 따라 수행될 수 있다.
S310 단계에서, 제 1 전자 장치(110)는 제 2 전자 장치(120)로 식별 코드(ID_CODE)를 제공할 수 있다. 제 2 전자 장치(120)는 제공받은 식별 코드(ID_CODE)의 값에 기초하여 제 1 전자 장치(110)의 속성을 파악할 수 있다. 실시 예로서, 제 2 전자 장치(120)는 제공받은 식별 코드(ID_CODE)의 값에 기초하여 제 1 전자 장치(110)의 종류 및 제조 업체를 파악할 수 있다.
제 1 전자 장치(110)는 식별 코드(ID_CODE)를 제공한 후, 대기 시간(ST) 동안 대기할 수 있다. 특히, 제 1 전자 장치(110)는 대기 시간(ST) 동안 응답 신호(RSP)의 전송을 대기할 수 있다.
S320 단계에서, 제 2 전자 장치(120)는 식별 코드(ID_CODE)의 값이 미리 저장되어 있는지 여부를 판별할 수 있다. 실시 예로서, 식별 코드(ID_CODE)의 값은 제 2 전자 장치(120)의 메모리 영역에 미리 저장되어 있을 수 있다. 제 1 전자 장치(110)가 잘 알려진 업체에 의해 제조된 널리 이용되는 전자 장치인 경우, 제 2 전자 장치(120)는 제 1 전자 장치(110)를 식별하기 위한 식별 코드(ID_CODE)의 값을 미리 저장할 수 있다. 식별 코드(ID_CODE)의 값이 제 2 전자 장치(120)에 미리 저장되어 있는 것으로 판별된 경우, S330 및 S345 단계가 수행될 수 있다.
S330 단계에서, 실시 예로서, 제 2 전자 장치(120)는 제 1 전자 장치(110)로 응답 신호(RSP)를 제공할 수 있다. 응답 신호(RSP)가 대기 시간(ST) 내에 제공되면, 제 1 전자 장치(110)는 식별 코드(ID_CODE)가 제 2 전자 장치(120)로 정상적으로 제공되었고 제 2 전자 장치(120)가 식별 코드(ID_CODE)를 이용하여 작동할 수 있음을 인지할 수 있다. 즉, 제 2 전자 장치(120)는, 응답 신호(RSP)를 제공함으로써, 본 발명의 실시 예에 따라 작동할 수 있음을 제 1 전자 장치(110)에 알릴 수 있다.
제 1 전자 장치(110)는 제공받은 응답 신호(RSP)에 기초하여 제 2 전자 장치(120)의 속성을 파악할 수 있다. 실시 예로서, 제 1 전자 장치(110)는 제공받은 응답 신호(RSP)에 기초하여 제 2 전자 장치(120)의 종류 및 제조 업체를 파악할 수 있다.
S340 단계에서, 제 1 전자 장치(110)는 링크업 정보가 저장되어 있는지 여부를 판별할 수 있다. 링크업 정보는 빠른 링크업 상태를 설정하기 위해 이용되는 정보이다. 실시 예로서, 링크업 정보는 제 1 전자 장치(110)와 제 2 전자 장치(120) 사이의 데이터 통신에 이용되는 레인의 연결 정보, 제 1 전자 장치(110)의 성능 정보, 제 2 전자 장치(120)의 성능 정보 등 중 적어도 하나를 포함할 수 있다. 링크업 정보에 관한 설명은 도 6에 대한 설명과 함께 더 언급된다. 실시 예로서, 링크업 정보는 제 1 전자 장치(110)의 메모리 영역에 저장되어 있을 수 있다. 링크업 정보가 제 1 전자 장치(110)에 저장되어 있는 경우, S350 단계가 수행될 수 있다.
S350 단계에서, 제 1 전자 장치(110)는 빠른 링크업 상태로 진입할 수 있다. 특히, 제 1 전자 장치(110)의 빠른 링크업 상태는 저장된 링크업 정보에 기초하여 설정될 수 있다. 위에서 언급된 것과 같이, 링크업 정보는 빠른 링크업 상태를 설정하기 위해 이용되는 정보이다. 따라서, 제 1 전자 장치(110)는 제 2 전자 장치(120)와의 정보 교환 없이 링크업 정보를 참조하여 제 2 전자 장치(120)와의 데이터 통신을 위한 빠른 링크업 상태로 진입할 수 있다. 특히, 제 1 전자 장치(110)의 빠른 링크업 상태는 응답 신호(RSP)에 대응하는 링크업 상태이다. 따라서, 제 1 전자 장치(110)의 빠른 링크업 상태는 제 2 전자 장치(120)와 데이터를 교환하기 위해 적합한 상태(예컨대, 레인 연결, 신호 전송 속도 등)일 수 있다.
S345 단계에서, 제 2 전자 장치(120)는 링크업 정보가 저장되어 있는지 여부를 판별할 수 있다. 실시 예로서, 링크업 정보는 제 2 전자 장치(120)의 메모리 영역에 저장되어 있을 수 있다. 링크업 정보가 제 2 전자 장치(120)에 저장되어 있는 경우, S355 단계가 수행될 수 있다.
S355 단계에서, 제 2 전자 장치(120)는 빠른 링크업 상태로 진입할 수 있다. 특히, 제 2 전자 장치(120)의 빠른 링크업 상태는 저장된 링크업 정보에 기초하여 설정될 수 있다. 제 2 전자 장치(120)는 제 1 전자 장치(110)와의 정보 교환 없이 링크업 정보를 참조하여 제 1 전자 장치(110)와의 데이터 통신을 위한 빠른 링크업 상태로 진입할 수 있다. 특히, 제 2 전자 장치(120)의 빠른 링크업 상태는 식별 코드(ID_CODE)에 대응하는 링크업 상태이다. 따라서, 제 2 전자 장치(120)의 빠른 링크업 상태는 제 1 전자 장치(110)와 데이터를 교환하기 위해 적합한 상태일 수 있다.
제 1 전자 장치(110)의 빠른 링크업 상태를 설정하기 위한 S340 및 S350 단계는 제 2 전자 장치(120)의 빠른 링크업 상태를 설정하기 위한 S345 및 S355 단계와 독립적으로 수행된다. 따라서, S340 및 S350 단계는 S345 및 S355 단계보다 먼저 수행되거나 늦게 수행될 수 있다. 또는, S340 및 S350 단계는 S345 및 S355 단계와 동시에 수행될 수 있다.
나아가, S330 단계는 S345 및 S355 단계와 독립적으로 수행된다. 따라서, S330 단계는 S345 및 S355 단계보다 먼저 수행되거나 늦게 수행될 수 있다. 또는, S330 단계는 S345 및 S355 단계와 동시에 수행될 수 있다.
도 5의 실시 예에 따르면, 많은 정보의 교환을 요구하는 링크 스타트업 처리가 생략될 수 있다. 제 1 전자 장치(110)는 응답 신호(RSP)에 기초하여 제 2 전자 장치(120)를 식별할 수 있다. 제 1 전자 장치(110)는 저장된 링크업 정보에 기초하여 제 2 전자 장치(120)와 데이터를 교환하기 위해 적합한 상태(예컨대, 레인 연결, 신호 전송 속도 등)에 관한 정보를 얻을 수 있다. 제 2 전자 장치(120)는 식별 코드(ID_CODE)에 기초하여 제 1 전자 장치(110)를 식별할 수 있다. 제 2 전자 장치(120)는 저장된 링크업 정보에 기초하여 제 1 전자 장치(110)와 데이터를 교환하기 위해 적합한 상태에 관한 정보를 얻을 수 있다. 이로써, 제 1 전자 장치(110) 및 제 2 전자 장치(120) 각각은 빠른 링크업 상태로 진입할 수 있다.
도 5의 실시 예에 따른 컨트롤러의 작동 방법은 전자 장치의 초기화(Initialization) 작동 또는 부팅(Booting) 작동 중에 수행될 수 있다. 또는, 도 3의 실시 예에 따른 컨트롤러의 작동 방법은 링크업 상태의 오류의 복구(Recovery) 작동 중에 수행될 수 있다. 도 5의 실시 예에 따르면, 전자 장치의 초기화 작동, 부팅 작동, 또는 복구 작동에 소요되는 시간이 줄어들 수 있다.
도 6은 본 발명의 실시 예에 따른 식별 코드 및 링크업 정보의 개념을 설명하기 위한 표이다. 본 발명의 이해를 돕기 위해, 도 6에 나타낸 표의 데이터가 제 2 전자 장치(120, 도 1 참조)의 메모리 영역에 저장되어 있는 것으로 가정된다. 예로서, 제 2 전자 장치(120)는 서로 다른 속성(예컨대, 종류, 제조 업체 등)을 갖는 전자 장치들에 각각 대응하는 식별 코드(ID_CODE) 및 링크업 정보를 메모리 영역에 저장할 수 있다.
제 2 전자 장치(120)는 S310 단계(도 5 참조)에서 "0xA1"의 값을 갖는 식별 코드(ID_CODE)를 제공받을 수 있다. 제 2 전자 장치(120)는 S320 단계(도 5 참조)에서 메모리 영역에 "0xA1"의 값을 갖는 식별 코드(ID_CODE)가 저장되어 있는지 여부를 판별할 수 있다. 도 6의 실시 예에서, 제 2 전자 장치(120)의 메모리 영역에 "0xA1"의 값을 갖는 식별 코드(ID_CODE)가 저장되어 있다. 따라서, 제 2 전자 장치(120)는 A 장치에 대응하는 속성을 갖는 전자 장치가 제 1 전자 장치(110, 도 1 참조)로서 연결되었음을 인식할 수 있다. 제 2 전자 장치(120)는 S330 단계(도 5 참조)에서 제 1 전자 장치(110)로 응답 신호(RSP)를 제공할 수 있다.
제 2 전자 장치(120)는 S345 단계(도 5 참조)에서 "0xA1"의 값을 갖는 식별 코드(ID_CODE)에 대응하는 링크업 정보가 저장되어 있는지 여부를 판별할 수 있다. 위에서 설명된 것과 같이, 링크업 정보는 빠른 링크업 상태를 설정하기 위해 이용되는 정보이다. 실시 예로서, 링크업 정보는 제 1 전자 장치(110)와 제 2 전자 장치(120) 사이의 데이터 통신에 이용되는 레인의 연결 정보, 제 1 전자 장치(110)의 성능 정보, 제 2 전자 장치(120)의 성능 정보 등 중 적어도 하나를 포함할 수 있다.
도 6의 실시 예에서, 제 2 전자 장치(120)의 메모리 영역에 A 장치와의 데이터 통신을 가능하게 하기 위한 링크업 정보가 저장되어 있다. 따라서, 제 2 전자 장치(120)는 제 1 전자 장치(110)와의 정보 교환 없이 S355 단계(도 5 참조)에서 저장된 링크업 정보에 기초하여 빠른 링크업 상태로 진입할 수 있다.
즉, 도 6의 실시 예에서, 제 2 전자 장치(120)가 "0xA1"의 값을 갖는 식별 코드(ID_CODE)를 제공받은 경우, 제 2 전자 장치(120)는 저장된 링크업 정보에 기초하여 2개의 송신기 및 1개의 수신기를 활성화하고, 3Gbps의 속도로 데이터를 교환하기 위한 인터페이스 조건을 설정할 수 있다. 제 2 전자 장치(120)는 저장된 링크업 정보에 기초하여 다른 인터페이스 조건을 더 설정할 수 있다. 이로써, 제 2 전자 장치(120)의 상태는 "0xA1"의 값을 갖는 식별 코드(ID_CODE)에 대응하는 빠른 링크업 상태로 설정될 수 있다.
이와 유사하게, 제 2 전자 장치(120)가 "0xA2"의 값을 갖는 식별 코드(ID_CODE)를 제공받은 경우, 제 2 전자 장치(120)는 B 장치에 대응하는 속성을 갖는 전자 장치가 제 1 전자 장치(110)로서 연결되었음을 인식할 수 있다. "0xA2"의 값을 갖는 식별 코드(ID_CODE)가 제공된 경우, 제 2 전자 장치(120)는 저장된 링크업 정보를 참조하여 1개의 송신기 및 1개의 수신기를 활성화하고 1.5Gbps의 속도로 데이터를 교환하기 위한 인터페이스 조건을 설정할 수 있다. 이로써, 제 2 전자 장치(120)의 상태는 "0xA2"의 값을 갖는 식별 코드(ID_CODE)에 대응하는 빠른 링크업 상태로 설정될 수 있다.
잘 알려진 업체에 의해 제조된 널리 이용되는 전자 장치와의 인터페이싱을 위한 링크업 정보는 이미 알려져 있을 수 있다. 따라서, 잘 알려진 전자 장치가 이용되고 본 발명의 실시 예에 따라 그 전자 장치와의 인터페이싱을 위한 링크업 정보가 미리 저장되어 있다면, 많은 정보의 교환을 요구하는 링크 스타트업 처리가 생략될 수 있다. 이로써, 링크업 상태의 설정에 소요되는 시간이 줄어들 수 있다.
본 발명의 다른 실시 예들이 더 설명된다. 제 2 전자 장치(120)가 "0xA4"의 값을 갖는 식별 코드(ID_CODE)를 제공받은 경우, 제 2 전자 장치(120)는 C 장치에 대응하는 속성을 갖는 전자 장치가 제 1 전자 장치(110)로서 연결되었음을 인식할 수 있다. 그러나, 제 2 전자 장치(120)의 메모리 영역에 C 장치와의 데이터 통신을 가능하게 하기 위한 링크업 정보는 저장되어 있지 않다. 이 경우, 제 2 전자 장치(120)는 C 장치와 최초로 연결된 때 C 장치에 관한 링크업 정보를 제공받을 수 있다. 제 2 전자 장치(120)는 제공받은 링크업 정보를 저장할 수 있다. 제 2 전자 장치(120)가 다시 "0xA4"의 값을 갖는 식별 코드(ID_CODE)를 제공받은 경우, 제 2 전자 장치(120)는 저장된 링크업 정보에 기초하여 빠른 링크업 상태로 진입할 수 있다. 이 실시 예는 도 7 및 도 8에 대한 설명과 함께 더 언급된다.
또 다른 실시 예로서, 제 2 전자 장치(120)가 "0xA8"의 값을 갖는 식별 코드(ID_CODE)를 제공받은 것으로 가정(즉, 제 2 전자 장치(120)가 "0xA8"의 값을 갖는 식별 코드(ID_CODE)를 제공한 제 1 전자 장치(110)와 연결된 것으로 가정)된다. 도 6의 실시 예에서, "0xA8"의 값을 갖는 식별 코드(ID_CODE)는 제 2 전자 장치(120)의 메모리 영역에 저장되어 있지 않다. 이 경우, 제 2 전자 장치(120)는 "0xA8"의 값을 갖는 식별 코드(ID_CODE)를 제공한 제 1 전자 장치(110)와 최초로 연결된 때 "0xA8"의 값을 갖는 식별 코드(ID_CODE)에 대응하는 링크업 정보를 제공받을 수 있다. 제 2 전자 장치(120)는 제공받은 식별 코드(ID_CODE) 및 링크업 정보를 저장할 수 있다. 제 2 전자 장치(120)가 다시 "0xA8"의 값을 갖는 식별 코드(ID_CODE)를 제공받은 경우, 제 2 전자 장치(120)는 저장된 링크업 정보에 기초하여 빠른 링크업 상태로 진입할 수 있다. 이 실시 예는 도 9에 대한 설명과 함께 더 언급된다.
제 1 전자 장치(110)는 도 6에 나타낸 표의 데이터와 유사한 데이터를 메모리 영역에 저장할 수 있다. 그러나, 위에서 설명된 것과 같이, 제 1 전자 장치(110)는 식별 코드(ID_CODE) 대신 응답 신호(RSP)에 기초하여 작동할 수 있다. 제 1 전자 장치(110)는 서로 다른 속성을 갖는 전자 장치들에 각각 대응하는 응답 신호(RSP) 및 링크업 정보를 저장할 수 있다. 제 1 전자 장치(110)가 응답 신호(RSP)에 기초하여 작동할 수 있는 경우, 제 1 전자 장치(110)는 메모리 영역에 저장된 링크업 정보 또는 제 2 전자 장치(120)로부터 제공받은 링크업 정보에 기초하여 빠른 링크업 상태로 진입할 수 있다. 중복되는 범위의 설명은 생략된다.
제 1 전자 장치(110) 또는 제 2 전자 장치(120)에 의해 식별될 수 있는 장치의 종류 및 개수는 도 6에 나타낸 것과 다르게 변경 또는 수정될 수 있다. 나아가, 링크업 정보는 레인의 연결 정보 및 전자 장치의 성능 정보 외에 링크업 상태를 설정하기 위해 필요한 다른 정보를 더 포함할 수 있다. 예로서, 제 1 전자 장치(110) 및 제 2 전자 장치(120)가 UniPro 및 M-PHY 인터페이스 규약에 따라 작동하는 경우, 링크업 정보는 UniPro 및 M-PHY 인터페이스 규약에서 정의된 링크 스타트업 처리에 의해 교환되는 모든 정보를 포함할 수 있다. 도 6에 나타낸 표는 본 발명의 이해를 돕기 위한 예시일 뿐이고, 본 발명은 도 6의 실시 예에 의해 한정되지 않는다.
제 1 전자 장치(110)와 제 2 전자 장치(120)가 특정한 인터페이스 규약에 따라 작동하는 경우, 식별 코드(ID_CODE) 및 응답 신호(RSP)의 값은 인터페이스 규약에서 정의된 및 예약된 값들과 달라야 한다. 이미 정의된 인터페이스 규약과의 충돌을 피하기 위해, 스펙에서 정의된 및 예약된 값은 식별 코드(ID_CODE) 및 응답 신호(RSP)의 값으로 이용될 수 없다. 스펙에서 정의된 값을 피한다면, 식별 코드(ID_CODE) 및 응답 신호(RSP) 각각의 값은 임의로 결정될 수 있다.
그러나, 식별 코드(ID_CODE) 및 응답 신호(RSP) 각각의 값은 특정한 전자 장치를 식별하기 위해 고정된 값을 가질 수 있다. 실시 예로서, 제 2 전자 장치(120)를 제조하는 P 업체는 제 1 전자 장치(110)를 제조하는 Q 업체와 협의하여, "0xA1"의 값을 갖는 식별 코드(ID_CODE) 또는 응답 신호(RSP)에 기초하여 상대방 장치를 식별할 것을 미리 결정할 수 있다. 다만, 위 실시 예는 본 발명의 이해를 돕기 위한 예시일 뿐이다.
도 7은 두 전자 장치들이 본 발명의 실시 예에 따라 링크업 상태로 설정되는 과정을 설명하는 흐름도이다. 도 7은 가능한 실시 예들 중 하나를 설명하기 위한 예시이고, 본 발명을 제한하기 위한 것은 아니다.
먼저, 제 1 전자 장치(110)와 제 2 전자 장치(120)는 상대방 장치의 연결을 감지할 수 있다. 실시 예로서, 도 7에 관한 설명에서 언급되는 단계들은 제 1 전자 장치(110)의 제 1 컨트롤러(115, 도 1 참조) 및 제 2 전자 장치(120)의 제 2 컨트롤러(125, 도 1 참조)의 제어에 따라 수행될 수 있다.
S410 단계에서, 제 1 전자 장치(110)는 제 2 전자 장치(120)로 식별 코드(ID_CODE)를 제공할 수 있다. 제 2 전자 장치(120)는 제 1 전자 장치(110)로부터 식별 코드(ID_CODE)를 제공받을 수 있다. 식별 코드(ID_CODE)에 관한 설명은 도 4 내지 도 6에 대한 설명과 함께 언급되었다. 중복되는 범위의 설명은 생략된다.
제 1 전자 장치(110)는 식별 코드(ID_CODE)를 제공한 후, 대기 시간(ST) 동안 대기할 수 있다. 특히, 제 1 전자 장치(110)는 대기 시간(ST) 동안 응답 신호(RSP)의 전송을 대기할 수 있다.
S420 단계에서, 제 2 전자 장치(120)는 식별 코드(ID_CODE)의 값이 미리 저장되어 있는지 여부를 판단할 수 있다. 실시 예로서, 제 1 전자 장치(110)가 잘 알려진 업체에 의해 제조된 널리 이용되는 전자 장치인 경우, 제 2 전자 장치(120)는 제 1 전자 장치(110)를 식별하기 위한 식별 코드(ID_CODE)의 값을 메모리 영역에 미리 저장할 수 있다. 식별 코드(ID_CODE)의 값이 저장되어 있는 것으로 판별된 경우, S430 및 S445 단계가 수행될 수 있다.
S430 단계에서, 제 2 전자 장치(120)는 제 1 전자 장치(110)로 응답 신호(RSP)를 제공할 수 있다. 응답 신호(RSP)에 관한 설명은 도 4 내지 도 6에 대한 설명과 함께 언급되었다. 중복되는 범위의 설명은 생략된다.
S440 단계에서, 제 1 전자 장치(110)는 링크업 정보가 저장되어 있는지 여부를 판별할 수 있다. 링크업 정보에 관한 설명은 도 6에 대한 설명과 함께 언급되었다. 실시 예로서, 링크업 정보는 제 1 전자 장치(110)의 메모리 영역에 저장되어 있을 수 있다. 링크업 정보가 제 1 전자 장치(110)에 저장되어 있는 경우, S450 단계가 수행될 수 있다.
S450 단계에서, 제 1 전자 장치(110)는 빠른 링크업 상태로 진입할 수 있다. 특히, 제 1 전자 장치(110)의 제 1 인터페이스 회로(113, 도 1 참조)의 상태는 응답 신호(RSP) 및 저장된 링크업 정보에 기초하여 빠른 링크업 상태로 설정될 수 있다.
S445 단계에서, 제 2 전자 장치(120)는 링크업 정보가 저장되어 있는지 여부를 판별할 수 있다. 그러나, 도 6에 대한 설명과 함께 언급된 것과 같이, 하나 이상의 전자 장치에 관한 링크업 정보가 제 2 전자 장치(120)의 메모리 영역에 저장되어 있지 않을 수 있다(예로서, 도 6에서, C 장치에 관한 링크업 정보는 제 2 전자 장치(120)의 메모리 영역에 저장되어 있지 않을 수 있다). 링크업 정보가 제 2 전자 장치(120)에 저장되어 있지 않은 경우, S460 내지 S490 단계가 수행될 수 있다.
S460 단계에서, 제 2 전자 장치(120)는 제 1 전자 장치(110)로 요청 신호(REQ)를 전송할 수 있다. 요청 신호(REQ)는 빠른 링크업 상태의 설정에 필요한 정보를 요청하기 위한 신호이다. 실시 예로서, 제 2 전자 장치(120)는 요청 신호(REQ)를 전송하여 제 1 전자 장치(110)의 레인 연결 정보, 제 1 전자 장치(110)의 성능 정보 등을 제 1 전자 장치(110)에 요청할 수 있다.
S470 단계에서, 제 1 전자 장치(110)는 제 2 전자 장치(120)로 빠른 링크업 상태의 설정에 필요한 링크업 정보(INFO)를 제공할 수 있다. 실시 예로서, 제 2 전자 장치(120)는 제 1 전자 장치(110)의 레인 연결 정보 및 성능 정보를 제공받을 수 있다. 다만, 본 발명은 위 실시 예들로 한정되지 않는다. 제 2 전자 장치(120)는 레인 연결 정보 및 성능 정보 외에 빠른 링크업 상태를 설정하기 위해 필요한 다른 정보를 더 제공받을 수 있다.
실시 예로서, S460 단계의 요청 신호(REQ) 전송 및 S470 단계의 링크업 정보(INFO) 제공은 추가로 또는 별도로 정의된 과정에 의해 수행될 수 있다. 다른 실시 예로서, S460 단계의 요청 신호(REQ) 전송 및 S470 단계의 링크업 정보(INFO) 제공은 UniPro 인터페이스 규약에 의해 정의된 링크 스타트업 처리와 유사한 과정에 의해 수행될 수 있다.
S480 단계에서, 제 2 전자 장치(120)는 빠른 링크업 상태로 진입할 수 있다. 특히, 제 2 전자 장치(120)의 빠른 링크업 상태는 S470 단계에서 제공받은 링크업 정보(INFO; 예컨대, 레인 연결 정보, 성능 정보 등)에 기초하여 설정될 수 있다. S480 단계에서, 도 5의 S355 단계와 달리, 제 2 전자 장치(120)의 빠른 링크업 상태는 미리 저장된 링크업 정보가 아니라 별도로 제공된 링크업 정보(INFO)에 기초하여 설정될 수 있다. 그러나, 빠른 링크업 상태의 설정은 도 4 내지 도 6에 대한 설명과 함께 언급된 것과 유사한 과정을 통해 설정될 수 있다.
S490 단계에서, 제 2 전자 장치(120)는 S470 단계에서 제공받은 링크업 정보(INFO; 예컨대, 레인 연결 정보, 성능 정보 등)를 메모리 영역에 저장할 수 있다. 제 1 전자 장치(110)와 제 2 전자 장치(120) 사이의 연결이 해제된 후 제 1 전자 장치(110)가 제 2 전자 장치(120)와 재연결된 경우, 또는 링크업 상태의 오류의 복구 작동이 수행되는 경우, S490 단계에서 저장된 링크업 정보가 참조될 수 있다. 즉, 제 2 전자 장치(120)가 제 1 전자 장치(110)로부터 다시 식별 코드(ID_CODE)를 제공받는 경우, 제 2 전자 장치(120)는 제 1 전자 장치(110)와의 정보 교환 없이 S490 단계에서 저장된 링크업 정보에 기초하여 빠른 링크업 상태로 진입할 수 있다. 이 실시 예는 도 12에 대한 설명과 함께 더 언급된다.
S440 및 S450 단계는 S445 단계와 독립적으로 수행된다. 따라서, S440 및 S450 단계는 S445 단계보다 먼저 수행되거나 늦게 수행될 수 있다. 또는, S440 및 S450 단계는 S445 단계와 동시에 수행될 수 있다. 나아가, S430 단계는 S445 단계와 독립적으로 수행된다. 따라서, S430 단계는 S445 단계보다 먼저 수행되거나 늦게 수행될 수 있다. 또는, S430 단계는 S445 단계와 동시에 수행될 수 있다.
도 7은 S440 및 S450 단계를 S460 및 S470 단계보다 먼저 수행하는 것으로 설명한다. 그러나, S440 및 S450 단계는 S460 및 S470 단계보다 늦게 수행되거나 S460 및 S470 단계와 동시에 수행될 수 있다. S460 및 S470 단계가 수행된 후라면, S480 및 S490 단계는 언제든지 수행될 수 있다. 나아가, S480 단계는 S490 단계와 독립적으로 수행된다. 따라서, S480 단계는 S490 단계보다 먼저 수행되거나 늦게 수행될 수 있다. 또는, S480 단계는 S490 단계와 동시에 수행될 수 있다.
도 8은 두 전자 장치들이 본 발명의 실시 예에 따라 링크업 상태로 설정되는 과정을 설명하는 흐름도이다. 도 8은 가능한 실시 예들 중 하나를 설명하기 위한 예시이고, 본 발명을 제한하기 위한 것은 아니다.
먼저, 제 1 전자 장치(110)와 제 2 전자 장치(120)는 상대방 장치의 연결을 감지할 수 있다. 실시 예로서, 도 8에 관한 설명에서 언급되는 단계들은 제 1 전자 장치(110)의 제 1 컨트롤러(115, 도 1 참조) 및 제 2 전자 장치(120)의 제 2 컨트롤러(125, 도 1 참조)의 제어에 따라 수행될 수 있다.
S510 단계에서, 제 1 전자 장치(110)는 제 2 전자 장치(120)로 식별 코드(ID_CODE)를 제공할 수 있다. 제 2 전자 장치(120)는 제 1 전자 장치(110)로부터 식별 코드(ID_CODE)를 제공받을 수 있다. 식별 코드(ID_CODE)에 관한 설명은 도 4 내지 도 6에 대한 설명에서 언급되었다. 중복되는 범위의 설명은 생략된다.
제 1 전자 장치(110)는 식별 코드(ID_CODE)를 제공한 후, 대기 시간(ST) 동안 대기할 수 있다. 특히, 제 1 전자 장치(110)는 대기 시간(ST) 동안 응답 신호(RSP)의 전송을 대기할 수 있다.
S520 단계에서, 제 2 전자 장치(120)는 식별 코드(ID_CODE)의 값이 미리 저장되어 있는지 여부를 판단할 수 있다. 실시 예로서, 제 1 전자 장치(110)가 잘 알려진 업체에 의해 제조된 널리 이용되는 전자 장치인 경우, 제 2 전자 장치(120)는 제 1 전자 장치(110)를 식별하기 위한 식별 코드(ID_CODE)의 값을 메모리 영역에 미리 저장할 수 있다. 식별 코드(ID_CODE)의 값이 제 2 전자 장치(120)에 미리 저장되어 있는 것으로 판별된 경우, S530 및 S545 단계가 수행될 수 있다.
S530 단계에서, 제 2 전자 장치(120)는 제 1 전자 장치(110)로 응답 신호(RSP)를 제공할 수 있다. 응답 신호(RSP)에 관한 설명은 도 4 내지 도 6에 대한 설명과 함께 언급되었다. 중복되는 범위의 설명은 생략된다.
S540 단계에서, 제 1 전자 장치(110)는 링크업 정보가 저장되어 있는지 여부를 판별할 수 있다. 링크업 정보에 관한 설명은 도 6에 대한 설명과 함께 언급되었다. 그러나, 도 6에 대한 설명과 함께 언급된 것과 같이, 하나 이상의 전자 장치에 관한 링크업 정보가 제 1 전자 장치(110)의 메모리 영역에 저장되어 있지 않을 수 있다. 링크업 정보가 제 1 전자 장치(110)에 저장되어 있지 않은 경우, S560 내지 S590 단계가 수행될 수 있다.
S560 단계에서, 제 1 전자 장치(110)는 제 2 전자 장치(120)로 요청 신호(REQ)를 전송할 수 있다. 요청 신호(REQ)는 빠른 링크업 상태의 설정에 필요한 정보를 요청하기 위한 신호이다. 실시 예로서, 제 1 전자 장치(110)는 요청 신호(REQ)를 전송하여 제 2 전자 장치(120)의 레인 연결 정보, 제 2 전자 장치(120)의 성능 정보 등을 제 2 전자 장치(120)에 요청할 수 있다.
S570 단계에서, 제 2 전자 장치(120)는 제 1 전자 장치(110)로 빠른 링크업 상태의 설정에 필요한 링크업 정보(INFO)를 제공할 수 있다. 실시 예로서, 제 1 전자 장치(110)는 제 2 전자 장치(120)의 레인 연결 정보 및 성능 정보를 제공받을 수 있다. 다만, 본 발명은 위 실시 예들로 한정되지 않는다. 제 1 전자 장치(110)는 레인 연결 정보 및 성능 정보 외에 빠른 링크업 상태를 설정하기 위해 필요한 다른 정보를 더 제공받을 수 있다.
실시 예로서, S560 단계의 요청 신호(REQ) 전송 및 S570 단계의 링크업 정보(INFO) 제공은 추가로 또는 별도로 정의된 과정에 의해 수행될 수 있다. 다른 실시 예로서, S560 단계의 요청 신호(REQ) 전송 및 S570 단계의 링크업 정보(INFO) 제공은 UniPro 인터페이스 규약에 의해 정의된 링크 스타트업 처리와 유사한 과정에 의해 수행될 수 있다.
S580 단계에서, 제 1 전자 장치(110)는 빠른 링크업 상태로 진입할 수 있다. 특히, 제 1 전자 장치(110)의 빠른 링크업 상태는 S570 단계에서 제공받은 링크업 정보(INFO; 예컨대, 레인 연결 정보, 성능 정보 등)에 기초하여 설정될 수 있다. S580 단계에서, 도 5의 S350 단계와 달리, 제 1 전자 장치(110)의 빠른 링크업 상태는 미리 저장된 링크업 정보가 아니라 별도로 제공된 링크업 정보(INFO)에 기초하여 설정될 수 있다. 그러나, 빠른 링크업 상태의 설정은 도 4 내지 도 6에 대한 설명과 함께 언급된 것과 유사한 과정을 통해 설정될 수 있다.
S590 단계에서, 제 1 전자 장치(110)는 S570 단계에서 제공받은 링크업 정보(INFO; 예컨대, 레인 연결 정보, 성능 정보 등)를 메모리 영역에 저장할 수 있다. 제 1 전자 장치(110)와 제 2 전자 장치(120) 사이의 연결이 해제된 후 제 1 전자 장치(110)가 제 2 전자 장치(120)와 재연결된 경우, 또는 링크업 상태의 오류의 복구 작동이 수행되는 경우, S590 단계에서 저장된 링크업 정보가 참조될 수 있다. 즉, 제 1 전자 장치(110)가 제 2 전자 장치(120)로 식별 코드(ID_CODE)를 제공하고 제 2 전자 장치(120)로부터 다시 응답 신호(RSP)를 제공받는 경우, 제 1 전자 장치(110)는 제 2 전자 장치(120)와의 정보 교환 없이 S590 단계에서 저장된 링크업 정보에 기초하여 빠른 링크업 상태로 진입할 수 있다. 이 실시 예는 도 12에 대한 설명과 함께 더 언급된다.
S545 단계에서, 제 2 전자 장치(120)는 링크업 정보가 저장되어 있는지 여부를 판별할 수 있다. 실시 예로서, 링크업 정보는 제 2 전자 장치(120)의 메모리 영역에 저장되어 있을 수 있다. 링크업 정보가 제 2 전자 장치(120)에 저장되어 있는 경우, S555 단계가 수행될 수 있다.
S555 단계에서, 제 2 전자 장치(120)는 빠른 링크업 상태로 진입할 수 있다. 특히, 제 2 전자 장치(120)의 빠른 링크업 상태는 저장된 링크업 정보에 기초하여 설정될 수 있다.
S540 단계는 S545 및 S555 단계와 독립적으로 수행된다. 따라서, S540 단계는 S545 및 S555 단계보다 먼저 수행되거나 늦게 수행될 수 있다. 또는, S540 단계는 S545 및 S555 단계와 동시에 수행될 수 있다. 나아가, S530 단계는 S545 및 S555 단계와 독립적으로 수행된다. 따라서, S530 단계는 S545 및 S555 단계보다 먼저 수행되거나 늦게 수행될 수 있다. 또는, S530 단계는 S545 및 S555 단계와 동시에 수행될 수 있다.
도 8은 S545 및 S555 단계를 S560 및 S570 단계보다 먼저 수행하는 것으로 설명한다. 그러나, S545 및 S555 단계는 S560 및 S570 단계보다 늦게 수행되거나 S560 및 S570 단계와 동시에 수행될 수 있다. S560 및 S570 단계가 수행된 후라면, S580 및 S590 단계는 언제든지 수행될 수 있다. 나아가, S580 단계는 S590 단계와 독립적으로 수행된다. 따라서, S580 단계는 S590 단계보다 먼저 수행되거나 늦게 수행될 수 있다. 또는, S580 단계는 S590 단계와 동시에 수행될 수 있다.
도 9는 두 전자 장치들이 본 발명의 실시 예에 따라 링크업 상태로 설정되는 과정을 설명하는 흐름도이다. 도 9는 가능한 실시 예들 중 하나를 설명하기 위한 예시이고, 본 발명을 제한하기 위한 것은 아니다.
먼저, 제 1 전자 장치(110)와 제 2 전자 장치(120)는 상대방 장치의 연결을 감지할 수 있다. 실시 예로서, 도 9에 관한 설명에서 언급되는 단계들은 제 1 전자 장치(110)의 제 1 컨트롤러(115, 도 1 참조) 및 제 2 전자 장치(120)의 제 2 컨트롤러(125, 도 1 참조)의 제어에 따라 수행될 수 있다.
S610 단계에서, 제 1 전자 장치(110)는 제 2 전자 장치(120)로 식별 코드(ID_CODE)를 제공할 수 있다. 제 2 전자 장치(120)는 제 1 전자 장치(110)로부터 식별 코드(ID_CODE)를 제공받을 수 있다. 식별 코드(ID_CODE)에 관한 설명은 도 4 내지 도 6에 대한 설명과 함께 언급되었다. 중복되는 범위의 설명은 생략된다.
제 1 전자 장치(110)는 식별 코드(ID_CODE)를 제공한 후, 대기 시간(ST) 동안 대기할 수 있다. 특히, 제 1 전자 장치(110)는 대기 시간(ST) 동안 응답 신호(RSP)의 전송을 대기할 수 있다.
S620 단계에서, 제 2 전자 장치(120)는 식별 코드(ID_CODE)의 값이 미리 저장되어 있는지 여부를 판단할 수 있다. 그러나, 도 6에 대한 설명과 함께 언급된 것과 같이, 하나 이상의 전자 장치에 관한 식별 코드(ID_CODE)의 값이 제 2 전자 장치(120)의 메모리 영역에 저장되어 있지 않을 수 있다(예로서, 도 6에서, "0xA8"의 값을 갖는 식별 코드(ID_CODE)는 제 2 전자 장치(120)의 메모리 영역에 저장되어 있지 않을 수 있다). 식별 코드(ID_CODE)의 값이 저장되어 있지 않은 것으로 판별된 경우, S630 및 S640 단계가 수행될 수 있다.
S630 단계에서, 제 2 전자 장치(120)는 제 1 전자 장치(110)로 응답 신호(RSP)를 제공할 수 있다. 식별 코드(ID_CODE)의 값이 제 2 전자 장치(120)의 메모리 영역에 저장되어 있지 않더라도, 제 2 전자 장치(120)가 식별 코드(ID_CODE)에 기초하여 작동할 수 있는 경우, 제 2 전자 장치(120)는 응답 신호(RSP)를 출력할 수 있다. 이로써, 제 1 전자 장치(110)는 제 2 전자 장치(120)가 본 발명의 실시 예에 따라 작동할 수 있음을 인식할 수 있다. 응답 신호(RSP)에 관한 설명은 도 4 내지 도 6에 대한 설명과 함께 언급되었다. 중복되는 범위의 설명은 생략된다.
S640 단계에서, 제 2 전자 장치(120)는 S610 단계에서 제공받은 식별 코드(ID_CODE)의 값을 메모리 영역에 저장할 수 있다. 제 1 전자 장치(110)와 제 2 전자 장치(120) 사이의 연결이 해제된 후 제 1 전자 장치(110)가 제 2 전자 장치(120)와 재연결된 경우, 또는 링크업 상태의 오류의 복구 작동이 수행되는 경우, S640 단계에서 저장된 식별 코드(ID_CODE)의 값이 참조될 수 있다.
S650 단계에서, 제 1 전자 장치(110)와 제 2 전자 장치(120)는 서로 레인 연결 정보(LA_INFO)를 교환할 수 있다. 실시 예로서, 제 1 전자 장치(110) 및 제 2 전자 장치(120)가 UniPro 인터페이스 규약에 따라 작동하는 경우, 레인 연결 정보(LA_INFO)는 UniPro 스펙에 의해 정의된 "TRG_UPR0", "TRG_UPR1", 및 "TRG_UPR2" 패턴들과 유사한 방식으로 교환될 수 있다. 다만, 이 실시 예는 본 발명의 이해를 돕기 위한 예시이고, 본 발명은 이 실시 예에 의해 한정되지 않는다.
S655 단계에서, 제 1 전자 장치(110)와 제 2 전자 장치(120)는 서로 성능 정보(CAP_INFO)를 교환할 수 있다. 실시 예로서, 제 1 전자 장치(110) 및 제 2 전자 장치(120)가 UniPro 인터페이스 규약에 따라 작동하는 경우, 성능 정보(CAP_INFO)는 UniPro 스펙에 의해 정의된 "PACP_CAP_ind" 및 "PACP_CAP_EXT1_ind" 기능(Function)들과 유사한 방식으로 교환될 수 있다. 다만, 이 실시 예는 본 발명의 이해를 돕기 위한 예시이고, 본 발명은 이 실시 예에 의해 한정되지 않는다.
예시로서 S650 및 S655 단계가 언급되었다. 그러나, 제 1 전자 장치(110)와 제 2 전자 장치(120)는 링크업 상태를 설정하기 위해 필요한 다른 정보를 더 교환할 수 있다. S650 및 S655 단계가 수행된 후, S660 내지 S675 단계들이 수행될 수 있다.
S660 단계에서, 제 1 전자 장치(110)는 링크업 상태로 진입할 수 있다. 특히, 제 1 전자 장치(110)의 제 1 인터페이스 회로(113, 도 1 참조)의 상태는 응답 신호(RSP), 및 S650 및 S655 단계에서 교환된 정보에 기초하여 링크업 상태로 설정될 수 있다.
S670 단계에서, 제 1 전자 장치(110)는 S650 및 S655 단계에서 교환된 정보를 메모리 영역에 저장할 수 있다. 제 1 전자 장치(110)와 제 2 전자 장치(120) 사이의 연결이 해제된 후 제 1 전자 장치(110)가 제 2 전자 장치(120)와 재연결된 경우, 또는 링크업 상태의 오류의 복구 작동이 수행되는 경우, S670 단계에서 저장된 정보가 참조될 수 있다. 즉, 제 1 전자 장치(110)가 제 2 전자 장치(120)로 식별 코드(ID_CODE)를 제공하고 제 2 전자 장치(120)로부터 다시 응답 신호(RSP)를 제공받는 경우, 제 1 전자 장치(110)는 제 2 전자 장치(120)와의 정보 교환 없이 S670 단계에서 저장된 정보에 기초하여 빠른 링크업 상태로 진입할 수 있다. 이 실시 예는 도 12에 대한 설명과 함께 더 언급된다.
S665 단계에서, 제 2 전자 장치(120)는 링크업 상태로 진입할 수 있다. 특히, 제 2 전자 장치(120)의 제 2 인터페이스 회로(123, 도 1 참조)의 상태는 식별 코드(ID_CODE), 및 S650 및 S655 단계에서 교환된 정보에 기초하여 링크업 상태로 설정될 수 있다.
S675 단계에서, 제 2 전자 장치(120)는 S650 및 S655 단계에서 교환된 정보를 메모리 영역에 저장할 수 있다. 제 1 전자 장치(110)와 제 2 전자 장치(120) 사이의 연결이 해제된 후 제 1 전자 장치(110)가 제 2 전자 장치(120)와 재연결된 경우, 또는 링크업 상태의 오류의 복구 작동이 수행되는 경우, S675 단계에서 저장된 정보가 참조될 수 있다. 즉, 제 2 전자 장치(120)가 제 1 전자 장치(110)로부터 다시 식별 코드(ID_CODE)를 제공받는 경우, 제 2 전자 장치(120)는 제 1 전자 장치(110)와의 정보 교환 없이 S640 단계에서 저장된 식별 코드(ID_CODE)의 값 및 S675 단계에서 저장된 정보에 기초하여 빠른 링크업 상태로 진입할 수 있다. 이 실시 예는 도 12에 대한 설명과 함께 더 언급된다.
S640 단계는 S630 단계와 독립적으로 수행된다. 따라서, S640 단계는 S630 단계보다 먼저 수행되거나 늦게 수행될 수 있다. 또는, S640 단계는 S630 단계와 동시에 수행될 수 있다. 나아가, S640 단계는 S650 내지 S675 단계보다 먼저 수행되거나 늦게 수행될 수 있다. 또는, S640 단계는 S650 내지 S675 단계와 동시에 수행될 수 있다.
S660 및 S670 단계는 S665 및 S675 단계보다 먼저 수행되거나 늦게 수행될 수 있다. 또는, S660 및 S670 단계는 S665 및 S675 단계와 동시에 수행될 수 있다. S650 및 S655 단계가 수행된 후라면, S660 내지 S675 단계는 언제든지 수행될 수 있다.
S660 단계는 S670 단계와 독립적으로 수행된다. 따라서, S660 단계는 S670 단계보다 먼저 수행되거나 늦게 수행될 수 있다. 또는, S660 단계는 S670 단계와 동시에 수행될 수 있다. S665 단계는 S675 단계와 독립적으로 수행된다. 따라서, S665 단계는 S675 단계보다 먼저 수행되거나 늦게 수행될 수 있다. 또는, S665 단계는 S675 단계와 동시에 수행될 수 있다.
도 10은 본 발명의 실시 예에 따른 전자 장치의 작동을 설명하는 흐름도이다. 특히, 도 10은 도 1의 제 1 전자 장치(110)의 작동을 설명한다. 실시 예로서, 도 10에 대한 설명에서 언급되는 단계들은 제 1 전자 장치(110)에 포함되는 제 1 컨트롤러(115, 도 1 참조)의 제어에 따라 수행될 수 있다. 실시 예로서, 제 1 전자 장치(110)는 호스트(예컨대, 어플리케이션 프로세서를 포함하는 장치)일 수 있으나, 본 발명은 이 실시 예로 한정되지 않는다.
S710 단계에서, 제 1 전자 장치(110)는 제 2 전자 장치(120, 도 1 참조)의 연결을 감지할 수 있다. 제 1 전자 장치(110)는 제 1 인터페이스 회로(113, 도 1 참조)를 통해 제 2 전자 장치(120)에 물리적으로 연결될 수 있다.
S720 단계에서, 제 1 전자 장치(110)는 제 2 전자 장치(120)로 식별 코드(ID_CODE)를 제공할 수 있다. 식별 코드(ID_CODE)는 제 1 전자 장치(110)의 속성(예컨대, 종류, 제조 업체 등)에 따라 다른 값을 가질 수 있다. 식별 코드(ID_CODE)는 제 1 인터페이스 회로(113)의 작동 절차를 정의하는 인터페이스 규약에서 정의된 및 예약된 값들과 다른 값을 가져야 한다. 식별 코드(ID_CODE)에 관한 자세한 설명은 생략된다.
S730 단계에서, 제 1 전자 장치(110)는 대기 시간(ST) 동안 대기할 수 있다. 특히, 제 1 전자 장치(110)는 대기 시간(ST) 동안 제 2 전자 장치(120)로부터 식별 코드(ID_CODE)에 대응하는 응답 신호(RSP)의 전송을 대기할 수 있다. 대기 시간(ST) 내에 응답 신호(RSP)가 전송되면, 제 1 전자 장치(110)의 제 1 인터페이스 회로(113)의 상태는 응답 신호(RSP)에 대응하는 빠른 링크업 상태로 설정될 수 있다. 빠른 링크업 상태의 설정은 S740 내지 S764 단계에 의해 수행될 수 있다.
S740 단계에서, 제 1 전자 장치(110)는 메모리 영역에 링크업 정보가 저장되어 있는지 여부를 판별할 수 있다. 링크업 정보는 빠른 링크업 상태를 설정하기 위해 이용되는 정보(예컨대, 레인 연결 정보, 성능 정보 등)이다. 링크업 정보에 관한 자세한 설명은 생략된다. 링크업 정보가 제 1 전자 장치(110)에 저장되어 있는 경우, S750 단계가 수행될 수 있다. 반면, 링크업 정보가 제 1 전자 장치(110)에 저장되어 있지 않은 경우, S760 단계가 수행될 수 있다.
S750 단계에서, 제 1 전자 장치(110)는 빠른 링크업 상태로 진입할 수 있다. 특히, 제 1 전자 장치(110)의 제 1 인터페이스 회로(113)의 상태는 저장된 링크업 정보에 기초하여 응답 신호(RSP)에 대응하는 빠른 링크업 상태로 설정될 수 있다.
S760 단계에서, 제 1 전자 장치(110)는 제 2 전자 장치(120)로부터 빠른 링크업 상태의 설정에 필요한 링크업 정보를 제공받을 수 있다. 실시 예로서, 제 1 전자 장치(110)는 제 2 전자 장치(120)의 레인 연결 정보 및 성능 정보를 제공받을 수 있다. 다만, 본 발명은 위 실시 예들로 한정되지 않는다. 제 1 전자 장치(110)는 레인 연결 정보 및 성능 정보 외에 빠른 링크업 상태를 설정하기 위해 필요한 다른 정보를 더 제공받을 수 있다.
S762 단계에서, 제 1 전자 장치(110)는 빠른 링크업 상태로 진입할 수 있다. 특히, 제 1 전자 장치(110)의 상태는 S760 단계에서 제공받은 링크업 정보에 기초하여 응답 신호(RSP)에 대응하는 빠른 링크업 상태로 설정될 수 있다.
S764 단계에서, 제 1 전자 장치(110)는 S760 단계에서 제공받은 링크업 정보를 메모리 영역에 저장할 수 있다. 제 1 전자 장치(110)와 제 2 전자 장치(120) 사이의 연결이 해제된 후 제 1 전자 장치(110)가 제 2 전자 장치(120)와 재연결된 경우, 또는 링크업 상태의 오류의 복구 작동이 수행되는 경우, S764 단계에서 저장된 링크업 정보가 참조될 수 있다. 이 실시 예는 도 12에 대한 설명과 함께 더 언급된다.
S764 단계는 S762 단계와 독립적으로 수행된다. 따라서, S764 단계는 S762 단계보다 먼저 수행되거나 늦게 수행될 수 있다. 또는, S764 단계는 S762 단계와 동시에 수행될 수 있다.
도 11은 본 발명의 실시 예에 따른 전자 장치의 작동을 설명하는 흐름도이다. 특히, 도 11은 도 1의 제 2 전자 장치(120)의 작동을 설명한다. 실시 예로서, 도 11에 대한 설명에서 언급되는 단계들은 제 2 전자 장치(120)에 포함되는 제 2 컨트롤러(125, 도 1 참조)의 제어에 따라 수행될 수 있다. 실시 예로서, 제 2 전자 장치(120)는 불휘발성 메모리 및 제 2 컨트롤러(125)를 포함하는 저장 장치일 수 있으나, 본 발명은 이 실시 예로 한정되지 않는다.
S810 단계에서, 제 2 전자 장치(120)는 제 1 전자 장치(110, 도 1 참조)의 연결을 감지할 수 있다. 제 2 전자 장치(120)는 제 2 인터페이스 회로(123, 도 1 참조)를 통해 제 1 전자 장치(110)에 물리적으로 연결될 수 있다.
S820 단계에서, 제 2 전자 장치(120)는 제 1 전자 장치(110)로부터 식별 코드(ID_CODE)를 제공받을 수 있다. 식별 코드(ID_CODE)에 관한 자세한 설명은 생략된다. 식별 코드(ID_CODE)가 제공되면, 제 2 전자 장치(120)의 제 2 인터페이스 회로(123)의 상태는 식별 코드(ID_CODE)에 대응하는 빠른 링크업 상태로 설정될 수 있다. 빠른 링크업 상태의 설정은 S830 내지 S874 단계에 의해 수행될 수 있다.
S830 단계에서, 제 2 전자 장치(120)는 S820 단계에서 제공받은 식별 코드(ID_CODE)의 값이 메모리 영역에 미리 저장되어 있는지 여부를 판별할 수 있다. 식별 코드(ID_CODE)의 값이 제 2 전자 장치(120)에 미리 저장되어 있지 않은 경우, S835 단계에서, 제 2 전자 장치(120)는 식별 코드(ID_CODE)의 값을 메모리 영역에 저장할 수 있다.
S840 단계에서, 실시 예로서, 제 2 전자 장치(120)는 제 1 전자 장치(110)로 식별 코드(ID_CODE)에 대응하는 응답 신호(RSP)를 제공할 수 있다. 제 2 전자 장치(120)는 대기 시간(ST) 내에 응답 신호(RSP)를 제공함으로써, 본 발명의 실시 예에 따라 작동할 수 있음을 제 1 전자 장치(110)에 알릴 수 있다.
S850 단계에서, 제 2 전자 장치(120)는 메모리 영역에 링크업 정보가 저장되어 있는지 여부를 판별할 수 있다. 링크업 정보에 관한 자세한 설명은 생략된다. 링크업 정보가 제 2 전자 장치(120)에 저장되어 있는 경우, S860 단계가 수행될 수 있다. 반면, 링크업 정보가 제 2 전자 장치(120)에 저장되어 있지 않은 경우, S870 단계가 수행될 수 있다.
S860 단계에서, 제 2 전자 장치(120)는 빠른 링크업 상태로 진입할 수 있다. 특히, 제 2 전자 장치(120)의 상태는 저장된 링크업 정보에 기초하여 식별 코드(ID_CODE)에 대응하는 빠른 링크업 상태로 설정될 수 있다.
S870 단계에서, 제 2 전자 장치(120)는 제 1 전자 장치(110)로부터 빠른 링크업 상태의 설정에 필요한 링크업 정보를 제공받을 수 있다. 실시 예로서, 제 2 전자 장치(120)는 제 1 전자 장치(110)의 레인 연결 정보 및 성능 정보를 제공받을 수 있다. 다만, 본 발명은 위 실시 예들로 한정되지 않는다. 제 2 전자 장치(120)는 레인 연결 정보 및 성능 정보 외에 빠른 링크업 상태를 설정하기 위해 필요한 다른 정보를 더 제공받을 수 있다.
S872 단계에서, 제 2 전자 장치(120)는 빠른 링크업 상태로 진입할 수 있다. 특히, 제 2 전자 장치(120)의 상태는 S870 단계에서 제공받은 링크업 정보에 기초하여 식별 코드(ID_CODE)에 대응하는 빠른 링크업 상태로 설정될 수 있다.
S874 단계에서, 제 2 전자 장치(120)는 S870 단계에서 제공받은 링크업 정보를 메모리 영역에 저장할 수 있다. 제 1 전자 장치(110)와 제 2 전자 장치(120) 사이의 연결이 해제된 후 제 1 전자 장치(110)가 제 2 전자 장치(120)와 재연결된 경우, 또는 링크업 상태의 오류의 복구 작동이 수행되는 경우, S874 단계에서 저장된 링크업 정보가 참조될 수 있다. 이 실시 예는 도 12에 대한 설명과 함께 더 언급된다.
S874 단계는 S872 단계와 독립적으로 수행된다. 따라서, S874 단계는 S872 단계보다 먼저 수행되거나 늦게 수행될 수 있다. 또는, S874 단계는 S872 단계와 동시에 수행될 수 있다.
도 12는 본 발명의 실시 예에 따른 빠른 링크업 상태의 복원(Restoration)을 설명하는 흐름도이다. 본 발명의 이해를 돕기 위해, 도 1의 제 2 전자 장치(120)의 빠른 링크업 상태의 복원이 설명된다. 도 1의 제 1 전자 장치(110)의 빠른 링크업 상태의 복원은 아래에 설명된 것과 유사한 단계들에 의해 수행될 수 있다. 제 1 전자 장치(110)의 빠른 링크업 상태의 복원에 관한 자세한 설명은 생략된다. 실시 예로서, 도 12에 대한 설명에서 언급되는 단계들은 제 2 전자 장치(120)에 포함되는 제 2 컨트롤러(125, 도 1 참조)의 제어에 따라 수행될 수 있다.
S910 단계에서, 제 2 전자 장치(120)는 제 1 전자 장치(110)의 재연결을 감지할 수 있다. 예로서, 빠른 링크업 상태의 복원은 제 1 전자 장치(110)와 제 2 전자 장치(120) 사이의 연결이 해제된 후 제 1 전자 장치(110)가 제 2 전자 장치(120)와 재연결된 경우에 수행될 수 있다. 또는, S910 단계에서, 제 2 전자 장치(120)는 링크업 상태에 관한 오류를 검출할 수 있다. 예로서, 빠른 링크업 상태의 복원은 제 2 전자 장치(120)의 링크업 상태의 오류를 복구하기 위해 수행될 수 있다.
S920 단계에서, 제 2 전자 장치(120)는 제 1 전자 장치(110)로부터 식별 코드(ID_CODE)를 제공받을 수 있다. 식별 코드(ID_CODE)에 관한 자세한 설명은 생략된다. 제 2 전자 장치(120)는 식별 코드(ID_CODE)에 기초하여 빠른 링크업 상태를 복원할 수 있다.
S930 단계에서, 실시 예로서, 제 2 전자 장치(120)는 식별 코드(ID_CODE)에 대응하는 응답 신호(RSP)를 제 1 전자 장치(110)로 제공할 수 있다. 응답 신호(RSP)에 관한 자세한 설명은 생략된다.
S940 단계에서, 제 2 전자 장치(120)는 빠른 링크업 상태로 진입할 수 있다. 특히, 제 2 전자 장치(120)의 제 2 인터페이스 회로(123, 도 1 참조)의 상태는 식별 코드(ID_CODE)에 대응하는 빠른 링크업 상태로 설정될 수 있다. 빠른 링크업 상태의 설정은 저장된 식별 코드(ID_CODE)의 값 및 저장된 링크업 정보(예컨대, 제 1 전자 장치의 레인 연결 정보, 성능 정보 등)에 기초하여 수행될 수 있다.
빠른 링크업 상태의 복원이 수행될 때, 식별 코드(ID_CODE)의 값 및 링크업 정보가 이미 저장되어 있을 수 있다. 저장된 식별 코드(ID_CODE)의 값 및 저장된 링크업 정보는 빠른 링크업 상태를 복원하기 위해 참조될 수 있다. 본 발명의 실시 예에 따르면, 빠른 링크업 상태가 복원될 때, 많은 정보의 교환을 요구하는 링크 스타트업 처리가 생략될 수 있다. 즉, 제 2 전자 장치(120)는 제 1 전자 장치(110)와의 정보 교환 없이 저장된 링크업 정보를 참조하여 빠른 링크업 상태를 복원할 수 있다. 따라서, 본 발명의 실시 예에 따르면, 링크업 상태의 복원에 소요되는 시간이 줄어들 수 있다.
S940 단계는 S930 단계와 독립적으로 수행된다. 따라서, S940 단계는 S930 단계보다 먼저 수행되거나 나중에 수행될 수 있다. 또는, S940 단계는 S930 단계와 동시에 수행될 수 있다.
도 13은 본 발명의 실시 예에 따른 스토리지(Storage) 시스템의 구성을 나타낸 블록도이다. 스토리지 시스템(200)은 호스트(210) 및 저장 장치(220)를 포함할 수 있다.
호스트(210)는 도 1의 제 1 전자 장치(110)일 수 있다. 실시 예로서, 스토리지 시스템(200)이 모바일 전자 시스템 내에 구현되는 경우, 호스트(210)는 어플리케이션 프로세서를 포함할 수 있다.
저장 장치(220)는 도 1의 제 2 전자 장치(120)일 수 있다. 본 발명의 실시 예에 따른 저장 장치(220)는 불휘발성 메모리(221), 인터페이스 회로(223), 및 컨트롤러(225)를 포함할 수 있다. 인터페이스 회로(223)는 물리 계층(PL) 및 링크 계층(LL)을 포함할 수 있다. 그러나, 저장 장치(220)는 도 13에 나타내지 않은 다른 구성 요소들을 더 포함할 수 있다. 도 13에 나타낸 구성은 본 발명의 이해를 돕기 위한 예시일 뿐이다. 저장 장치(220)의 구성에 관한 설명은 도 14 및 도 15에 대한 설명과 함께 자세히 언급된다.
도 14는 도 13의 저장 장치의 구성을 나타낸 블록도이다. 본 발명의 실시 예에 따른 저장 장치(220)는 불휘발성 메모리(221), 인터페이스 회로(223), 및 컨트롤러(225)를 포함할 수 있다.
불휘발성 메모리(221)는 전원 공급 여부와 관계없이 데이터를 저장할 수 있다. 본 발명의 실시 예에서, 불휘발성 메모리(221)는 하나 이상의 식별 코드들을 저장할 수 있다. 하나 이상의 식별 코드들은 서로 다른 속성을 갖는 호스트들에 관한 하나 이상의 링크업 상태들에 각각 대응할 수 있다(도 6 참조). 식별 코드에 관한 자세한 설명은 생략된다.
실시 예로서, 하나 이상의 식별 코드들 각각의 값은 불휘발성 메모리(221)에 포함되는 메모리 셀들에 직접(즉, 물리적으로) 저장될 수 있다. 이 실시 예에서, 하나 이상의 식별 코드들 각각의 값은 메모리 셀로부터 직접 읽힐 수 있다. 다른 실시 예로서, 하나 이상의 식별 코드들 각각의 값은 소프트웨어 형태로 저장될 수 있다. 예컨대, 하나 이상의 식별 코드들 각각의 값은 프로그램 명령에 삽입될 수 있다. 프로그램 명령이 실행될 때, 하나 이상의 식별 코드들 각각의 값이 추출될 수 있다. 실시 예로서, 프로그램 명령은 펌웨어(Firmware) 또는 ROM(Read-Only Memory)에 저장된 코드일 수 있다. 프로그램 명령은 2진 데이터 형태로 불휘발성 메모리(221)에 저장될 수 있다.
나아가, 본 발명의 실시 예에서, 불휘발성 메모리(221)는 하나 이상의 링크업 정보들을 더 저장할 수 있다. 하나 이상의 링크업 정보들은 각각 하나 이상의 링크업 상태들을 각각 설정하기 위해 이용될 수 있다. 실시 예로서, 링크업 정보는 호스트(210)와의 데이터 통신에 이용되는 레인의 연결 정보, 물리 계층(PL)의 성능 정보, 링크 계층(LL)의 성능 정보, 호스트(210)의 성능 정보 등 중 적어도 하나를 포함할 수 있다. 링크업 상태 및 링크업 정보에 관한 자세한 설명은 생략된다.
실시 예로서, 하나 이상의 링크업 정보들에 대응하는 데이터 값들은 불휘발성 메모리(221)에 포함되는 메모리 셀들에 직접(즉, 물리적으로) 저장될 수 있다. 이 실시 예에서, 링크업 정보에 대응하는 데이터 값은 메모리 셀로부터 직접 읽힐 수 있다. 다른 실시 예로서, 하나 이상의 링크업 정보들에 대응하는 데이터 값들은 소프트웨어 형태로 저장될 수 있다. 예컨대, 하나 이상의 링크업 정보들에 대응하는 데이터 값들은 프로그램 명령에 삽입될 수 있다. 프로그램 명령이 실행될 때, 링크업 정보들에 대응하는 데이터 값이 추출될 수 있다. 실시 예로서, 프로그램 명령은 펌웨어 또는 ROM에 저장된 코드일 수 있다. 프로그램 명령은 2진 데이터 형태로 불휘발성 메모리(221)에 저장될 수 있다.
실시 예로서, 불휘발성 메모리(221)는 저장 장치(220)의 고유의 기능을 수행하도록 구성되는 스토리지 메모리로 이용될 수 있다. 다른 실시 예로서, 불휘발성 메모리(221)는 스토리지 메모리와 별도로 구비되는 메모리일 수 있다. 다시 말해, 본 발명의 실시 예에 따른 하나 이상의 식별 코드들은 스토리지 메모리에 저장되거나, 스토리지 메모리와 별도로 구비되는 메모리에 저장될 수 있다.
실시 예로서, 하나 이상의 식별 코드들 각각의 값은 하나 이상의 링크업 정보들에 대응하는 데이터 값들과 함께 동일한 불휘발성 메모리(221)에 저장될 수 있다. 이 실시 예에서, 한 개의 불휘발성 메모리(221)가 구비될 수 있다. 나아가, 하나 이상의 식별 코드들 각각의 값 및 하나 이상의 링크업 정보들에 대응하는 데이터 값들을 저장하기 위해 메모리의 특정 영역이 할당될 수 있다. 다른 실시 예로서, 불휘발성 메모리(221)가 두 개 이상 구비될 수 있다. 이 실시 예에서, 하나 이상의 식별 코드들 각각의 값을 저장하는 불휘발성 메모리는 하나 이상의 링크업 정보들에 대응하는 데이터 값들을 저장하는 불휘발성 메모리와 다를 수 있다.
본 발명의 실시 예에 따른 인터페이스 회로(223)는 물리 계층(PL) 및 링크 계층(LL)을 포함할 수 있다. 인터페이스 회로(223)는 물리 계층(PL) 및 링크 계층(LL)을 이용하는 인터페이스 규약에 따라 작동할 수 있다. 인터페이스 회로(223)는 호스트(210)와 데이터(DAT)를 교환할 수 있다. 나아가, 인터페이스 회로(223)는 호스트(210)와 제어 신호들(CTL)을 교환할 수 있다. 예로서, 제어 신호들(CTL)은 전원 신호, 클록(Clock) 신호, 리셋 신호 등을 포함할 수 있다.
실시 예로서, 저장 장치(220)가 모바일 전자 시스템 내에 구현되는 경우, 링크 계층(LL)은 UniPro 스펙에 의해 정의될 수 있고, 물리 계층(PL)은 M-PHY 스펙에 의해 정의될 수 있다. 물리 계층(PL)은 호스트(210)와 데이터를 교환하기 위한 물리적 구성들(예컨대, 하나 이상의 송신기들 및 하나 이상의 수신기들)을 포함할 수 있다. 링크 계층(LL)은 데이터의 전송 및 조합을 관리하고, 데이터의 무결성 및 오류를 관리할 수 있다. 이 실시 예에서, 인터페이스 회로(223)의 링크 계층(LL)은 물리 적응 계층(미도시)을 더 포함할 수 있다.
본 발명의 실시 예에 따른 컨트롤러(225)는 판별 회로(227) 및 상태 설정 회로(228)를 포함할 수 있다. 컨트롤러(225)는 저장 장치(220)의 전반적인 작동을 관리하고 제어할 수 있다. 특히, 컨트롤러(225)는 인터페이스 회로(223)를 통해 호스트(210)와 교환된 데이터를 처리하고 관리할 수 있다.
실시 예로서, 컨트롤러(225)는 JEDEC에 의해 제안된 UFS 인터페이스 규약에 따라 스토리지 메모리를 제어할 수 있으나, 본 발명은 이 실시 예로 한정되지 않는다. 예로서, 컨트롤러(225)는 USB(Universal Serial Bus), SCSI(Small Computer System Interface), PCIe(Peripheral Component Interconnect Express), M-PCIe(Mobile PCIe), ATA(Advanced Technology Attachment), PATA(Parallel ATA), SATA(Serial ATA), SAS(Serial Attached SCSI), IDE(Integrated Drive Electronics) 등의 다양한 인터페이스 규약들 중 하나 이상에 따라 스토리지 메모리를 제어할 수 있다.
컨트롤러(225)의 제어에 따라, 저장 장치(220)는 고유의 기능을 수행할 수 있다. 예로서, 불휘발성 메모리(221)가 스토리지 메모리로 이용되는 경우, 컨트롤러(225)는 인터페이스 회로(223)를 통해 호스트(210)로부터 제공된 데이터를 불휘발성 메모리(221)에 저장할 수 있다. 또는, 컨트롤러(225)는 인터페이스 회로(223)를 통해 불휘발성 메모리(221)에 저장된 데이터를 호스트(210)로 제공할 수 있다.
본 발명의 실시 예에서, 컨트롤러(225)는 인터페이스 회로(223)로의 호스트(210)의 연결을 감지할 수 있다. 컨트롤러(225)는 호스트(210)의 속성에 대응하는 식별 코드를 제공받을 수 있다. 실시 예로서, 컨트롤러(225)는 식별 코드에 대응하는 응답 신호를 호스트(210)로 제공할 수 있다. 식별 코드 및 응답 신호에 관한 자세한 설명은 생략된다.
판별 회로(227)는 제공받은 식별 코드와 같은 값을 갖는 식별 코드가 불휘발성 메모리(221)에 저장되어 있는지 여부를 판별할 수 있다. 식별 코드가 불휘발성 메모리(221)에 저장되어 있지 않은 경우, 컨트롤러(225)의 제어에 따라, 제공받은 식별 코드의 값이 불휘발성 메모리(221)에 저장될 수 있다. 빠른 링크업 상태를 설정하기 위해, 판별 회로(227)는 대상 링크업 정보가 불휘발성 메모리(221)에 저장되어 있는지 여부를 판별할 수 있다. 대상 링크업 정보는 하나 이상의 링크업 정보들 중에서 빠른 링크업 상태를 설정하기 위해 이용되는 링크업 정보이다.
상태 설정 회로(228)는 저장 장치(220)의 상태를 빠른 링크업 상태로 설정할 수 있다. 특히, 상태 설정 회로(228)는 물리 계층(PL) 및 링크 계층(LL)의 상태를 제공받은 식별 코드에 대응하는 빠른 링크업 상태로 설정할 수 있다. 상태 설정 회로(228)는 불휘발성 메모리(221)에 저장된 대상 링크업 정보에 기초하여 물리 계층(PL) 및 링크 계층(LL)의 상태를 빠른 링크업 상태로 설정할 수 있다. 빠른 링크업 상태가 설정되면, 호스트(210)와 저장 장치(220) 사이의 데이터 통신이 활성화될 수 있다.
실시 예로서, 대상 링크업 정보가 불휘발성 메모리(221)에 저장되어 있지 않은 것으로 판별된 경우, 컨트롤러(225)는 호스트(210)의 레인 연결 정보 및 성능 정보를 제공받을 수 있다. 그러나, 이는 예시일 뿐이고, 컨트롤러(225)는 레인 연결 정보 및 성능 정보 외에 빠른 링크업 상태를 설정하기 위해 필요한 다른 정보를 더 제공받을 수 있다. 상태 설정 회로(228)는 제공받은 정보에 기초하여 물리 계층(PL) 및 링크 계층(LL)의 상태를 빠른 링크업 상태로 설정할 수 있다. 나아가, 컨트롤러(225)의 제어에 따라, 제공받은 정보가 불휘발성 메모리(221)에 저장될 수 있다.
실시 예로서, 저장된 식별 코드(ID_CODE) 및 저장된 링크업 정보는 빠른 링크업 상태를 복원하기 위해 참조될 수 있다. 예컨대, 링크업 상태의 복원은 호스트(210)와 저장 장치(220) 사이의 연결이 해제된 후 인터페이스 회로(223)로의 호스트(210)의 재연결이 감지된 경우, 또는 설정된 링크업 상태에 관한 오류가 검출된 경우에 수행될 수 있다.
링크업 상태의 복원이 수행되는 경우, 컨트롤러(225)는 호스트(210)의 속성에 대응하는 식별 코드를 다시 제공받을 수 있다. 나아가, 컨트롤러(225)는 식별 코드에 대응하는 응답 신호를 호스트(210)로 제공할 수 있다. 상태 설정 회로(228)는 저장된 식별 코드의 값 및 저장된 정보(예컨대, 저장된 레인 연결 정보, 저장된 성능 정보 등)에 기초하여 물리 계층(PL) 및 링크 계층(LL)의 상태를 빠른 링크업 상태로 복원할 수 있다.
실시 예로서, 상태 설정 회로(228)는 불휘발성 메모리(221)에 저장된 대상 링크업 정보에 기초하여 물리 계층(PL) 및 링크 계층(LL)의 상태를 직접(즉, 물리적으로 또는 전기적으로) 빠른 링크업 상태로 설정할 수 있다. 다른 실시 예로서, 상태 설정 회로(228)는 프로그램 명령을 이용하여 물리 계층(PL) 및 링크 계층(LL)의 상태를 빠른 링크업 상태로 설정할 수 있다. 예컨대, 대상 링크업 정보가 프로그램 명령에 삽입되어 있고 그 프로그램 명령이 컨트롤러(225)에 의해 실행되면, 상태 설정 회로(228)는 프로그램 명령에 삽입된 대상 링크업 정보를 추출하여 물리 계층(PL) 및 링크 계층(LL)의 상태를 빠른 링크업 상태로 설정할 수 있다.
저장 장치(220)는 컨트롤러(225), 판별 회로(227), 및 상태 설정 회로(228)를 이용하여 본 발명의 실시 예에 따라 작동할 수 있다. 저장 장치(220)는 도 3 내지 도 12에 대한 설명에서 언급된 과정에 따라 작동할 수 있다. 중복되는 설명은 생략된다.
도 14에 대한 설명에서, 저장 장치(220)에 포함되는 컨트롤러(225)의 구성이 언급되었다. 그러나, 도 3 내지 도 12에 대한 설명에서 언급된 실시 예들을 참조하면, 호스트(210) 역시 저장 장치(220)의 컨트롤러(225)와 유사한 구성 및 기능을 갖는 컨트롤러를 포함할 수 있다. 호스트(210)에 관한 자세한 설명은 생략된다.
위에서 언급된 것과 같이, 저장 장치(220)는 저장 장치(220)의 고유의 기능을 수행하도록 구성되는 스토리지 메모리를 포함할 수 있다. 실시 예로서, 불휘발성 메모리(221), 인터페이스 회로(223), 컨트롤러(225), 및 스토리지 메모리는 모바일 전자 시스템에 임베디드(Embedded)되는 임베디드 스토리지에 구현될 수 있다. 다른 실시 예로서, 불휘발성 메모리(221), 인터페이스 회로(223), 컨트롤러(225), 및 스토리지 메모리는 모바일 전자 시스템에 연결되는 카드(Card) 스토리지에 구현될 수 있다. 그러나, 본 발명은 위 실시 예들로 한정되지 않는다. 저장 장치(220)는 다른 종류의 스토리지로 구현될 수 있다.
도 15는 도 13의 저장 장치의 구성을 나타낸 블록도이다. 본 발명의 실시 예에 따른 저장 장치(220)는 불휘발성 메모리(221), 인터페이스 회로(223), 및 컨트롤러(225)를 포함할 수 있다.
실시 예로서, 도 14의 저장 장치(220)와 달리, 판별 회로(227) 및 상태 설정 회로(228)는 컨트롤러(225)가 아닌 인터페이스 회로(223)의 링크 계층(LL)에 포함될 수 있다. 즉, 본 발명의 실시 예는 필요에 따라 다양한 형태로 변경 또는 수정될 수 있다. 본 발명은 위에서 설명된 실시 예들로 한정되지 않는다. 불휘발성 메모리(221), 인터페이스 회로(223), 컨트롤러(225), 판별 회로(227), 및 상태 설정 회로(228)의 구성 및 기능에 관한 설명은 도 14에 대한 설명에서 이미 언급되었다. 중복되는 설명은 생략된다.
도 16은 본 발명의 실시 예에 따른 임베디드 스토리지 또는 카드 스토리지를 포함하는 스토리지 시스템의 구성을 나타낸 블록도이다. 스토리지 시스템(2000)은 호스트(2100) 및 임베디드 또는 카드 스토리지(2200; 이하, 임베디드/카드 스토리지라 함)를 포함할 수 있다.
본 발명의 실시 예에 따른 호스트(2100)는 어플리케이션(2110), 장치 드라이버(2120), 호스트 인터페이스(2130), 호스트 컨트롤러(2140), 및 버퍼 메모리(2150)를 포함할 수 있다. 그러나, 도 16에 나타낸 호스트(2100)의 구성은 본 발명의 이해를 돕기 위한 예시일 뿐이다. 호스트(2100)는 도 16에 나타내지 않은 다른 구성 요소들을 더 포함할 수 있다. 또는, 호스트(2100)는 도 16에 나타낸 구성 요소들 중 하나 이상을 포함하지 않을 수 있다.
어플리케이션(2110)은 호스트(2100)에서 실행되는 여러 종류의 응용 프로그램들을 관리할 수 있다. 장치 드라이버(2120)는 호스트(2100)에 연결된 주변 장치들을 관리하고 구동할 수 있다. 도 16의 실시 예에서, 장치 드라이버(2120)는 임베디드/카드 스토리지(2200)를 구동할 수 있다. 어플리케이션(2110) 및 장치 드라이버(2120)는 프로그램 명령, 예컨대 펌웨어로 구현될 수 있다.
호스트 인터페이스(2130)는 임베디드/카드 스토리지(2200)와 신호(예컨대, 리셋 신호(RST), 클록 신호(CLK) 등) 및 데이터(예컨대, 입력 데이터(DIN), 출력 데이터(DOUT) 등)를 교환할 수 있다. 호스트 인터페이스(2130)는 물리 계층(PLH) 및 링크 계층(LLH)을 포함할 수 있다. 실시 예로서, 호스트 인터페이스(2130)는 물리 계층(PLH) 및 링크 계층(LLH)을 이용하는 인터페이스 규약에 따라 임베디드/카드 스토리지(2200)와 통신할 수 있다.
호스트 컨트롤러(2140)는 호스트(2100)의 전반적인 작동을 관리하고 제어할 수 있다. 호스트 컨트롤러(2140)는 호스트 인터페이스(2130)를 통해 임베디드/카드 스토리지(2200)와 교환된 데이터를 처리하고 관리할 수 있다.
본 발명의 실시 예에서, 호스트 컨트롤러(2140)는 불휘발성 메모리(2141), 판별 회로(2143), 및 상태 설정 회로(2145)를 포함할 수 있다. 불휘발성 메모리(2141), 판별 회로(2143), 및 상태 설정 회로(2145)의 구성 및 기능은 각각 도 14의 불휘발성 메모리(221), 판별 회로(227), 및 상태 설정 회로(228)의 구성 및 기능에 대응할 수 있다. 예로서, 불휘발성 메모리(2141)는 식별 코드에 대응하는 응답 신호의 정보 및 링크업 정보를 저장할 수 있다. 예로서, 판별 회로(2143) 및 상태 설정 회로(2145)의 작동에 따라, 물리 계층(PLH) 및 링크 계층(LLH)의 상태가 "빠른 링크업 상태"로 설정될 수 있다. 호스트(2100)는 불휘발성 메모리(2141), 판별 회로(2143), 및 상태 설정 회로(2145)를 이용하여 본 발명의 실시 예에 따라 작동할 수 있다. 호스트(2100)는 도 3 내지 도 12에 대한 설명에서 언급된 과정에 따라 작동할 수 있다. 중복되는 설명은 생략된다.
도 16에 나타낸 것과 같이, 불휘발성 메모리(2141), 판별 회로(2143), 및 상태 설정 회로(2145)는 호스트 컨트롤러(2140)에 포함될 수 있다. 그러나, 필요에 따라, 불휘발성 메모리(2141), 판별 회로(2143), 및 상태 설정 회로(2145)는 호스트 컨트롤러(2140)와 별개의 회로로 구현될 수 있다. 또는, 판별 회로(2143) 및 상태 설정 회로(2145)는 호스트 인터페이스(2130)의 링크 계층(LLH)에 포함될 수 있다. 도 16에 나타낸 구성은 본 발명의 이해를 돕기 위한 예시일 뿐이고, 본 발명을 한정하기 위한 것은 아니다.
버퍼 메모리(2150)는 호스트(2100)에서 처리되는 데이터를 일시적으로 버퍼링할 수 있다. 예로서, 버퍼 메모리(2150)는 SRAM(Static RAM), DRAM(Dynamic RAM), SDRAM(Synchronous DRAM) 등과 같은 휘발성 메모리, 또는 플래시 메모리, PRAM, MRAM, ReRAM, FRAM 등과 같은 불휘발성 메모리를 포함할 수 있다.
본 발명의 실시 예에 따른 임베디드/카드 스토리지(2200)는 스토리지 메모리(2210), 메모리 입출력(Input/Output) 블록(2220), 스토리지 인터페이스(2230), 및 메모리 컨트롤러(2240)를 포함할 수 있다. 그러나, 도 16에 나타낸 임베디드/카드 스토리지(2200)의 구성은 본 발명의 이해를 돕기 위한 예시일 뿐이다. 임베디드/카드 스토리지(2200)는 도 16에 나타내지 않은 다른 구성 요소들을 더 포함할 수 있다. 또는, 임베디드/카드 스토리지(2200)는 도 16에 나타낸 구성 요소들 중 하나 이상을 포함하지 않을 수 있다.
스토리지 메모리(2210)는 임베디드/카드 스토리지(2200)의 고유의 기능을 수행하도록 구성되는 메모리이다. 스토리지 메모리(2210)는 전원 공급 여부와 관계없이 데이터를 저장할 수 있다. 예로서, 스토리지 메모리(2210)는 낸드 플래시 메모리(NAND-type Flash Memory), 노어 플래시 메모리(NOR-type Flash Memory), PRAM(Phase-change Random Access Memory), MRAM(Magneto-resistive RAM), ReRAM(Resistive RAM), FRAM(Ferro-electric RAM) 등 중 하나일 수 있다. 또는, 스토리지 메모리(2210)는 이종의 메모리들을 함께 포함할 수 있다.
메모리 입출력 블록(2220)은 스토리지 메모리(2210)에 대한 데이터의 쓰기 및 스토리지 메모리(2210)로부터의 데이터의 읽기를 처리할 수 있다. 예로서, 메모리 입출력 블록(2220)은 데이터를 일시적으로 버퍼링(Buffering)하기 위한 버퍼 메모리(2222)를 포함할 수 있다. 예로서, 버퍼 메모리(2222)는 SRAM, DRAM, SDRAM 등과 같은 휘발성 메모리, 또는 플래시 메모리, PRAM, MRAM, ReRAM, FRAM 등과 같은 불휘발성 메모리를 포함할 수 있다. 도 16에 나타내지는 않았으나, 메모리 입출력 블록(2220)은 어드레스 디코더(Address Decoder), 감지 증폭기(Sense Amplifier) 등 데이터의 입출력에 이용되는 다른 구성 요소들을 더 포함할 수 있다.
스토리지 인터페이스(2230)는 호스트(2100)와 신호(예컨대, 리셋 신호(RST), 클록 신호(CLK) 등) 및 데이터(예컨대, 입력 데이터(DIN), 출력 데이터(DOUT) 등)를 교환할 수 있다. 스토리지 인터페이스(2230)는 물리 계층(PLS) 및 링크 계층(LLS)을 포함할 수 있다. 실시 예로서, 스토리지 인터페이스(2230)는 물리 계층(PLS) 및 링크 계층(LLS)을 이용하는 인터페이스 규약에 따라 작동할 수 있다.
메모리 컨트롤러(2240)는 임베디드/카드 스토리지(2200)의 전반적인 작동을 관리하고 제어할 수 있다. 메모리 컨트롤러(2240)는 스토리지 인터페이스(2230)를 통해 호스트(2100)와 교환된 데이터를 처리하고 관리할 수 있다.
본 발명의 실시 예에서, 메모리 컨트롤러(2240)는 불휘발성 메모리(2241), 판별 회로(2243), 및 상태 설정 회로(2245)를 포함할 수 있다. 불휘발성 메모리(2241), 판별 회로(2243), 및 상태 설정 회로(2245)의 구성 및 기능은 각각 도 14의 불휘발성 메모리(221), 판별 회로(227), 및 상태 설정 회로(228)의 구성 및 기능을 포함할 수 있다. 예로서, 불휘발성 메모리(2241)는 식별 코드 및 링크업 정보를 저장할 수 있다. 예로서, 판별 회로(2243) 및 상태 설정 회로(2245)의 작동에 따라, 물리 계층(PLS) 및 링크 계층(LLS)의 상태가 "빠른 링크업 상태"로 설정될 수 있다. 임베디드/카드 스토리지(2200)는 메모리 컨트롤러(2240)는 불휘발성 메모리(2241), 판별 회로(2243), 및 상태 설정 회로(2245)를 이용하여 본 발명의 실시 예에 따라 작동할 수 있다. 임베디드/카드 스토리지(2200)는 도 3 내지 도 12에 대한 설명에서 언급된 과정에 따라 작동할 수 있다. 중복되는 설명은 생략된다.
도 16에 나타낸 것과 같이, 불휘발성 메모리(2241)는 스토리지 메모리(2210)와 별개의 메모리로 구현될 수 있다. 그러나, 필요에 따라, 불휘발성 메모리(2241)는 스토리지 메모리(2210)와 하나의 메모리로 구현될 수 있다. 나아가, 도 16에 나타낸 것과 같이, 판별 회로(2243) 및 상태 설정 회로(2245)는 메모리 컨트롤러(2240)에 포함될 수 있다. 그러나, 필요에 따라, 판별 회로(2243) 및 상태 설정 회로(2245)는 메모리 컨트롤러(2240)와 별개의 회로로 구현될 수 있다. 또는, 판별 회로(2243) 및 상태 설정 회로(2245)는 스토리지 인터페이스(2230)의 링크 계층(LLS)에 포함될 수 있다. 도 16에 나타낸 구성은 본 발명의 이해를 돕기 위한 예시일 뿐이고, 본 발명을 한정하기 위한 것은 아니다.
도 16에서, 본 발명의 실시 예에 기초하여 구현된 저장 장치의 구성이 설명되었다. 그러나, 위에서 언급된 것과 같이, 본 발명은 물리 계층 및 링크 계층을 이용하는 모든 인터페이스 회로에서 채용될 수 있다. 도 16은 본 발명을 제한하기 위한 것이 아니다.
도 17은 본 발명의 실시 예에 따른 컨트롤러를 포함하는 전자 시스템의 구성 및 본 발명의 실시 예에 따라 작동하는 인터페이스들을 나타낸 블록도이다. 전자 시스템(3000)은 MIPI 연합에 의해 제안된 인터페이스를 이용하거나 지원할 수 있는 데이터 처리 장치로 구현될 수 있다. 예로서, 전자 시스템(3000)은 휴대용 통신 단말기, PDA(Personal Digital Assistant), PMP(Portable Media Player), 스마트폰, 또는 웨어러블(Wearable) 장치 형태로 구현될 수 있다.
전자 시스템(3000)은 어플리케이션 프로세서(3100), 디스플레이(3220), 및 이미지 센서(3230)를 포함할 수 있다. 어플리케이션 프로세서(3100)는 DigRF 마스터(3110), DSI(Display Serial Interface) 호스트(3120), CSI(Camera Serial Interface) 호스트(3130), 및 물리 계층(3140)을 포함할 수 있다.
DSI 호스트(3120)는 DSI에 따라 디스플레이(3220)의 DSI 장치(3225)와 통신할 수 있다. 예로서, DSI 호스트(3120)에는 광 시리얼라이저(SER)가 구현될 수 있다. 예로서, DSI 장치(3225)에는 광 디시리얼라이저(DES)가 구현될 수 있다.
CSI 호스트(3130)는 CSI에 따라 이미지 센서(3230)의 CSI 장치(3235)와 통신할 수 있다. 예로서, CSI 호스트(3130)에는 광 디시리얼라이저(DES)가 구현될 수 있다. 예로서, CSI 장치(3235)에는 광 시리얼라이저(SER)가 구현될 수 있다.
DSI 및 CSI는 물리 계층 및 링크 계층을 이용할 수 있다. DSI 및 CSI는 본 발명의 실시 예들을 채용할 수 있다. 예로서, DSI 호스트(3120) 및 DSI 장치(3225)는 식별 코드 및 링크업 정보에 기초하여 "빠른 링크업 상태"로 진입할 수 있다. 나아가, CSI 장치(3235) 및 CSI 호스트(3130)는 식별 코드 및 링크업 정보에 기초하여 "빠른 링크업 상태"로 진입할 수 있다.
전자 시스템(3000)은 어플리케이션 프로세서(3100)와 통신하는 RF(Radio Frequency) 칩(3240)을 더 포함할 수 있다. RF 칩(3240)은 물리 계층(3242), DigRF 슬레이브(3244), 및 안테나(3246)를 포함할 수 있다. 예로서, RF 칩(3240)의 물리 계층(3242)과 어플리케이션 프로세서(3100)의 물리 계층(3140)은 MIPI 연합에 의해 제안된 DigRF 인터페이스에 의해 서로 데이터를 교환할 수 있다. DigRF 인터페이스는 본 발명의 실시 예들을 채용할 수 있다. 예로서, 물리 계층(3140) 및 물리 계층(3242)은 식별 코드 및 링크업 정보에 기초하여 "빠른 링크업 상태"로 진입할 수 있다.
전자 시스템(3000)은 워킹 메모리(Working Memory; 3250) 및 임베디드/카드 스토리지(3255)를 더 포함할 수 있다. 워킹 메모리(3250) 및 임베디드/카드 스토리지(3255)는 어플리케이션 프로세서(3100)로부터 제공받은 데이터를 저장할 수 있다. 나아가, 워킹 메모리(3250) 및 임베디드/카드 스토리지(3255)는 저장된 데이터를 어플리케이션 프로세서(3100)로 제공할 수 있다.
워킹 메모리(3250)는 어플리케이션 프로세서(3100)에 의해 처리된 또는 처리될 데이터를 일시적으로 저장할 수 있다. 워킹 메모리(3250)는 SRAM, DRAM, SDRAM 등과 같은 휘발성 메모리, 또는 플래시 메모리, PRAM, MRAM, ReRAM, FRAM 등과 같은 불휘발성 메모리를 포함할 수 있다.
임베디드/카드 스토리지(3255)는 전원 공급 여부와 관계없이 데이터를 저장할 수 있다. 실시 예로서, 임베디드/카드 스토리지(3255)는 UFS 인터페이스 규약에 따라 작동할 수 있으나, 본 발명은 이 실시 예로 한정되지 않는다. 이 실시 예에서, 도 16 및 도 17에 대한 설명에서 언급된 것과 같이, 임베디드/카드 스토리지(3255)는 식별 코드 및 링크업 정보에 기초하여 "빠른 링크업 상태"로 진입할 수 있다.
전자 시스템(3000)은 Wimax(World Interoperability for Microwave Access; 3260), WLAN(Wireless Local Area Network; 3262), UWB(Ultra Wideband; 3264) 등을 통해 외부 시스템과 통신할 수 있다. 실시 예로서, WLAN(3262)이 UniPro 및 M-PHY 인터페이스 규약에 따라 작동하는 경우, 어플리케이션 프로세서(3100) 및 WLAN(3262)은 식별 코드 및 링크업 정보에 기초하여 "빠른 링크업 상태"로 진입할 수 있다.
전자 시스템(3000)은 음성 정보를 처리하기 위한 스피커(3270) 및 마이크(3275)를 더 포함할 수 있다. 나아가, 전자 시스템(3000)은 위치 정보를 처리하기 위한 GPS(Global Positioning System) 장치(3280)를 더 포함할 수 있다.
전자 시스템(3000)은 주변 장치들과의 연결을 관리하기 위한 브릿지(Bridge) 칩(3290)을 더 포함할 수 있다. 실시 예로서, 브릿지 칩(3290)이 UniPro 및 M-PHY 인터페이스 규약에 따라 작동하는 경우, 어플리케이션 프로세서(3100) 및 브릿지 칩(3290)은 식별 코드 및 링크업 정보에 기초하여 "빠른 링크업 상태"로 진입할 수 있다.
각각의 개념도에 나타낸 구성은 단지 개념적인 관점에서 이해되어야 한다. 본 발명의 이해를 돕기 위해, 개념도에 나타낸 구성 요소 각각의 형태, 구조, 크기 등은 과장 또는 축소되어 표현되었다. 실제로 구현되는 구성은 각각의 개념도에 나타낸 것과 다른 물리적 형상을 가질 수 있다. 각각의 개념도는 구성 요소의 물리적 형상을 제한하기 위한 것이 아니다.
각각의 블록도에 나타낸 장치 구성은 발명의 이해를 돕기 위한 것이다. 각각의 블록은 기능에 따라 더 작은 단위의 블록들로 형성될 수 있다. 또는, 복수의 블록들은 기능에 따라 더 큰 단위의 블록을 형성할 수 있다. 즉, 본 발명의 기술 사상은 블록도에 도시된 구성에 의해 한정되지 않는다.
이상에서 본 발명에 대한 실시 예를 중심으로 본 발명이 설명되었다. 다만, 본 발명이 속하는 기술 분야의 특성상, 본 발명이 이루고자 하는 목적은 본 발명의 요지를 포함하면서도 위 실시 예들과 다른 형태로 달성될 수 있다. 따라서, 위 실시 예들은 한정적인 것이 아니라 설명적인 측면에서 이해되어야 한다. 즉, 본 발명의 요지를 포함하면서 본 발명과 같은 목적을 달성할 수 있는 기술 사상은 본 발명의 기술 사상에 포함되는 것으로 해석되어야 한다.
따라서, 본 발명의 본질적인 특성을 벗어나지 않는 범위 내에서 수정 또는 변형된 기술 사상은 본 발명이 청구하는 보호 범위에 포함되는 것이다. 또한, 본 발명의 보호 범위는 위 실시 예들로 한정되는 것이 아니다.
100 : 전자 시스템
110 : 제 1 전자 장치 113 : 제 1 인터페이스 회로
115 : 제 1 컨트롤러 120 : 제 2 전자 장치
123 : 제 2 인터페이스 회로 125 : 제 2 컨트롤러
200 : 스토리지 시스템 210 : 호스트
220 : 저장 장치 221 : 불휘발성 메모리
223 : 인터페이스 회로 225 : 컨트롤러
227 : 판별 회로 228 : 상태 설정 회로
2000 : 스토리지 시스템 2100 : 호스트
2110 : 어플리케이션 2120 : 장치 드라이버
2130 : 호스트 인터페이스 2140 : 호스트 컨트롤러
2141 : 불휘발성 메모리 2143 : 판별 회로
2145 : 상태 설정 회로 2150 : 버퍼 메모리
2200 : 임베디드/카드 스토리지 2210 : 스토리지 메모리
2220 : 메모리 입출력 블록 2222 : 버퍼 메모리
2230 : 스토리지 인터페이스 2240 : 메모리 컨트롤러
2241 : 불휘발성 메모리 2243 : 판별 회로
2245 : 상태 설정 회로
3000 : 전자 시스템 3100 : 어플리케이션 프로세서
3110 : DigRF 마스터 3120 : DSI 호스트
3130 : CSI 호스트 3140 : 물리 계층
3220 : 디스플레이 3225 : DSI 장치
3230 : 이미지 센서 3235 : CSI 장치
3240 : RF 칩 3242 : 물리 계층
3244 : DigRF 슬레이브 3246 : 안테나
3250 : 워킹 메모리 3255 : 임베디드/카드 스토리지
3260 : Wimax 3262 : WLAN
3264 : UWB 3270 : 스피커
3275 : 마이크 3280 : GPS
3290 : 브릿지 칩

Claims (20)

  1. 제 1 전자 장치와 통신하도록 구성되는 제 2 전자 장치를 관리하기 위한 컨트롤러의 작동 방법에 있어서,
    상기 제 2 전자 장치의 인터페이스 회로로의 상기 제 1 전자 장치의 연결을 감지하는 단계;
    상기 제 1 전자 장치의 연결이 감지된 후, 상기 인터페이스 회로의 작동 절차를 정의하는 인터페이스 규약에서 정의된 및 예약된 값들과 다른 값을 갖고 상기 제 1 전자 장치의 속성에 따라 다른 값을 갖는 식별 코드를 상기 제 1 전자 장치로부터 제공받는 단계;
    상기 제공받은 식별 코드가 상기 제 2 전자 장치 내에 구비된 메모리 영역에 저장된 적어도 하나의 식별 코드에 일치하는지 판단하는 단계; 및
    상기 제 1 전자 장치와의 데이터 통신을 가능하게 하기 위해 상기 인터페이스 회로의 물리 게층의 상태를 상기 적어도 하나의 식별 코드 중에서 일치하는 적어도 하나에 대응하는 링크업 정보를 사용하여 빠른 링크업 상태로 설정하는 단계를 포함하는 작동 방법.
  2. 제 1 항에 있어서,
    상기 제 1 전자 장치의 속성은 상기 제 1 전자 장치의 종류 및 제조 업체를 포함하는 작동 방법.
  3. 제 1 항에 있어서,
    상기 제공받은 식별 코드에 대응하는 응답 신호를 상기 제 1 전자 장치로 제공하는 단계를 더 포함하는 작동 방법.
  4. 제 1 항에 있어서,
    상기 판단하는 단계는 상기 제공받은 식별 코드의 값이 상기 제 2 전자 장치의 상기 메모리 영역에 저장되어 있는지 여부를 검출하는 단계를 포함하는 작동 방법.
  5. 제 4 항에 있어서,
    상기 판단하는 단계는:
    상기 제공받은 식별 코드의 값이 상기 메모리 영역에 저장되어 있는 경우, 상기 빠른 링크업 상태를 설정하기 위해 이용되는 상기 링크업 정보가 상기 메모리 영역에 저장되어 있는지 여부를 검출하는 단계를 더 포함하는 작동 방법.
  6. 제 5 항에 있어서,
    상기 링크업 정보는 상기 제 1 전자 장치와 상기 제 2 전자 장치 사이의 데이터 통신에 이용되는 레인의 연결 정보, 상기 제 1 전자 장치의 성능 정보, 및 상기 제 2 전자 장치의 성능 정보 중 적어도 하나를 포함하는 작동 방법.
  7. 제 5 항에 있어서,
    상기 설정하는 단계는:
    상기 링크업 정보가 상기 메모리 영역에 저장되어 있는 경우, 상기 저장된 링크업 정보에 기초하여 상기 인터페이스 회로의 상태를 상기 빠른 링크업 상태로 설정하는 단계를 더 포함하는 작동 방법.
  8. 제 5 항에 있어서,
    상기 설정하는 단계는:
    상기 링크업 정보가 상기 메모리 영역에 저장되어 있지 않은 경우, 상기 제 1 전자 장치의 레인 연결 정보 및 성능 정보를 제공받는 단계;
    상기 제공받은 레인 연결 정보 및 상기 제공받은 성능 정보에 기초하여 상기 인터페이스 회로의 상태를 상기 빠른 링크업 상태로 설정하는 단계; 및
    상기 제공받은 레인 연결 정보 및 상기 제공받은 성능 정보를 상기 메모리 영역에 저장하는 단계를 더 포함하는 작동 방법.
  9. 제 8 항에 있어서,
    상기 제 1 전자 장치의 연결이 해제된 후 상기 제 2 전자 장치로의 상기 제 1 전자 장치의 재연결이 감지된 경우 또는 상기 설정된 빠른 링크업 상태에 관한 오류가 검출된 경우, 상기 빠른 링크업 상태를 복원하는 단계를 더 포함하되,
    상기 복원하는 단계는:
    상기 식별 코드를 상기 제 1 전자 장치로부터 제공받는 단계; 및
    상기 저장된 레인 연결 정보 및 상기 저장된 성능 정보에 기초하여 상기 인터페이스 회로의 상태를 상기 빠른 링크업 상태로 설정하는 단계를 포함하는 작동 방법.
  10. 제 4 항에 있어서,
    상기 판단하는 단계는:
    상기 제공받은 식별 코드의 값이 상기 메모리 영역에 저장되어 있지 않은 경우, 상기 제공받은 식별 코드의 값을 상기 메모리 영역에 저장하는 단계;
    상기 제공받은 식별 코드의 값에 대응하는 상기 제 1 전자 장치의 레인 연결 정보 및 성능 정보를 제공받는 단계;
    상기 제공받은 레인 연결 정보 및 상기 제공받은 성능 정보에 기초하여 상기 인터페이스 회로의 상태를 상기 빠른 링크업 상태로 설정하는 단계; 및
    상기 제공받은 레인 연결 정보 및 상기 제공받은 성능 정보를 상기 메모리 영역에 저장하는 단계를 더 포함하는 작동 방법.
  11. 제 1 항에 있어서,
    상기 제 2 전자 장치는 불휘발성 메모리 및 상기 컨트롤러를 포함하는 저장 장치인 작동 방법.
  12. 제 1 전자 장치를 관리하기 위한 컨트롤러의 작동 방법에 있어서,
    상기 제 1 전자 장치의 인터페이스 회로로의 제 2 전자 장치의 연결을 감지하는 단계;
    상기 제 2 전자 장치의 연결이 감지된 후, 상기 인터페이스 회로의 작동 절차를 정의하는 인터페이스 규약에서 정의된 및 예약된 값들과 다른 값을 갖고 상기 제 1 전자 장치의 속성에 따라 다른 값을 갖는 식별 코드를 상기 제 2 전자 장치로 제공하여, 상기 제 2 전자 장치가 상기 제공받은 식별 코드가 상기 제 2 전자 장치 내에 구비된 메모리 영역에 저장된 적어도 하나의 식별 코드에 일치하는지 판단하고, 상기 인터페이스 회로의 물리 계층의 상태를 상기 적어도 하나의 식별 코드 중에서 일치하는 적어도 하나에 대응하는 링크업 정보를 사용하여 빠른 링크업 상태로 설정하도록 하는 단계;
    대기 시간 동안, 상기 제 2 전자 장치로부터 상기 제공된 식별 코드에 대응하는 응답 신호의 전송을 대기하는 단계; 및
    상기 대기 시간 내에 상기 제 2 전자 장치로부터 상기 응답 신호가 전송된 경우, 상기 제 2 전자 장치와의 데이터 통신을 가능하게 하기 위해 상기 인터페이스 회로의 상태를 상기 전송된 응답 신호에 대응하는 링크업 상태로 설정하는 단계를 포함하는 작동 방법.
  13. 제 12 항에 있어서,
    상기 제 1 전자 장치는 어플리케이션 프로세서를 포함하는 호스트인 작동 방법.
  14. 호스트의 속성에 따라 각각 다른 값을 갖는 하나 이상의 식별 코드들을 저장하도록 구성되는 불휘발성 메모리;
    물리 계층 및 링크 계층을 이용하는 인터페이스 규약에 따라 상기 호스트와 데이터를 교환하도록 구성되는 인터페이스 회로; 및
    상기 인터페이스 회로로의 상기 호스트의 연결이 감지되면 상기 연결된 호스트의 속성에 대응하는 식별 코드를 제공받고, 상기 제공받은 식별 코드에 대응하는 응답 신호를 상기 연결된 호스트로 제공하도록 구성되는 컨트롤러를 포함하되,
    상기 컨트롤러 및 상기 링크 계층 중 하나는:
    상기 제공받은 식별 코드와 같은 값을 갖는 식별 코드가 상기 불휘발성 메모리에 저장되어 있는지 여부를 판별하도록 구성되는 판별 회로; 및
    상기 연결된 호스트와의 데이터 통신을 가능하게 하기 위해 상기 물리 계층 및 상기 링크 계층의 상태를 상기 제공받은 식별 코드에 대응하는 빠른 링크업 상태로 설정하도록 구성되는 상태 설정 회로를 포함하는 저장 장치.
  15. 제 14 항에 있어서,
    상기 하나 이상의 식별 코드들 각각의 값은 상기 불휘발성 메모리에 포함되는 메모리 셀들에 직접 저장되거나, 상기 불휘발성 메모리에 저장된 프로그램 명령에 삽입되는 저장 장치.
  16. 제 14 항에 있어서,
    상기 저장된 하나 이상의 식별 코드들 각각은 상기 인터페이스 규약에서 정의된 및 예약된 값들과 다른 값을 갖는 저장 장치.
  17. 제 14 항에 있어서,
    상기 저장된 하나 이상의 식별 코드들은 서로 다른 속성을 갖는 호스트들에 관한 하나 이상의 링크업 상태들에 각각 대응하고,
    상기 불휘발성 메모리는 상기 하나 이상의 링크업 상태들을 각각 설정하기 위해 이용되는 하나 이상의 링크업 정보들을 더 저장하도록 구성되고,
    상기 판별 회로는 상기 빠른 링크업 상태를 설정하기 위해 이용되는 대상 링크업 정보가 상기 불휘발성 메모리에 저장되어 있는지 여부를 판별하도록 구성되는 저장 장치.
  18. 제 17 항에 있어서,
    상기 대상 링크업 정보는 상기 연결된 호스트와의 데이터 통신에 이용되는 레인의 연결 정보, 상기 물리 계층 및 상기 링크 계층 각각의 성능 정보, 및 상기 연결된 호스트의 성능 정보 중 적어도 하나를 포함하고,
    상기 대상 링크업 정보에 대응하는 데이터 값들은 상기 불휘발성 메모리에 포함되는 메모리 셀들에 직접 저장되거나, 상기 불휘발성 메모리에 저장된 프로그램 명령에 삽입되는 저장 장치.
  19. 제 18 항에 있어서,
    상기 상태 설정 회로는 상기 저장된 대상 링크업 정보에 기초하여 상기 물리 계층 및 상기 링크 계층의 상태를 상기 빠른 링크업 상태로 직접 설정하거나, 상기 컨트롤러에 의해 실행된 상기 프로그램 명령에 삽입된 상기 대상 링크업 정보에 기초하여 상기 물리 계층 및 상기 링크 계층의 상태를 상기 빠른 링크업 상태로 설정하도록 구성되는 저장 장치.
  20. 제 14 항에 있어서,
    상기 컨트롤러는 JEDEC UFS 표준 인터페이스 규약에 따라 스토리지 메모리를 제어하고,
    상기 불휘발성 메모리, 상기 인터페이스 회로, 상기 컨트롤러, 및 상기 스토리지 메모리는 모바일 전자 시스템에 임베디드되도록 구성되는 임베디드 스토리지 또는 상기 모바일 전자 시스템에 연결되도록 구성되는 카드 스토리지에 구현되는 저장 장치.
KR1020140137566A 2014-07-31 2014-10-13 전자 장치의 인터페이스 사이의 링크를 설정하기 위한 컨트롤러의 작동 방법 및 컨트롤러를 포함하는 저장 장치 KR102274028B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US14/812,318 US9904651B2 (en) 2014-07-31 2015-07-29 Operating method of controller for setting link between interfaces of electronic devices, and storage device including controller

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201462031301P 2014-07-31 2014-07-31
US62/031,301 2014-07-31

Publications (2)

Publication Number Publication Date
KR20160016485A KR20160016485A (ko) 2016-02-15
KR102274028B1 true KR102274028B1 (ko) 2021-07-08

Family

ID=55357202

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140137566A KR102274028B1 (ko) 2014-07-31 2014-10-13 전자 장치의 인터페이스 사이의 링크를 설정하기 위한 컨트롤러의 작동 방법 및 컨트롤러를 포함하는 저장 장치

Country Status (1)

Country Link
KR (1) KR102274028B1 (ko)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10969960B2 (en) 2016-09-01 2021-04-06 Samsung Electronics Co., Ltd. Storage device and host for the same
KR20190051530A (ko) 2017-11-07 2019-05-15 에스케이하이닉스 주식회사 데이터 처리 시스템 및 데이터 처리 시스템의 동작 방법
KR102461972B1 (ko) 2017-12-12 2022-11-03 삼성전자주식회사 Usb 인터페이스를 이용하여 도킹 장치와 데이터 전송을 수행하기 위한 장치 및 방법
TW202324986A (zh) 2021-12-09 2023-06-16 韓商愛思開海力士有限公司 用於互連協定的錯誤處理的方法、控制器以及儲存裝置

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140089553A1 (en) * 2012-09-24 2014-03-27 Broadcom Corporation Interface between a host and a peripheral device

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140089553A1 (en) * 2012-09-24 2014-03-27 Broadcom Corporation Interface between a host and a peripheral device

Also Published As

Publication number Publication date
KR20160016485A (ko) 2016-02-15

Similar Documents

Publication Publication Date Title
US9904651B2 (en) Operating method of controller for setting link between interfaces of electronic devices, and storage device including controller
KR102268699B1 (ko) 저장 장치의 동작 방법, 호스트 장치의 동작 방법, 그리고 저장 장치 및 호스트 장치를 포함하는 사용자 시스템의 동작 방법
US10162723B2 (en) Electronic card and detecting method thereof
US9620180B2 (en) Memory system and electronic device
KR102274028B1 (ko) 전자 장치의 인터페이스 사이의 링크를 설정하기 위한 컨트롤러의 작동 방법 및 컨트롤러를 포함하는 저장 장치
US10304546B2 (en) External storage device and method of setting reference frequency for the same
US9877286B2 (en) Signal transmitting circuit to reduce power in standby state
KR20110058028A (ko) 멀티 칩 메모리 시스템 및 그것의 데이터 전송 방법
EP2704021B1 (en) SRAM handshake
US20100064036A1 (en) Peripheral device operation method, peripheral device and host
KR20160003530A (ko) 내장 저장 장치, 이와 통신 가능한 외장 저장 장치, 및 이를 포함하는 데이터 처리 시스템
US9514067B2 (en) Interface arbitration for a wired tag
JPWO2019031295A1 (ja) カード装置、ホスト装置および通信方法
US10795594B2 (en) Storage device
CN1331037C (zh) 一种具有多重接口功能的存储卡及其传输模式选择方法
JP4588427B2 (ja) メモリシステムおよびホストとメモリカードとの間のデータ伝送速度設定方法
US20110072168A1 (en) Data transfer system with different operating modes
EP3905055B1 (en) Link startup method of storage device, and storage device, host and system implementing same
US20200142626A1 (en) Hot plug memory device data protection method
US11755439B2 (en) Memory controller, test device and link identification method
US20230169028A1 (en) Bridge device and data storage system
KR20220026432A (ko) 고속 링크 스타트업을 수행하는 스토리지 장치 및 이를 포함하는 스토리지 시스템
JP5570666B2 (ja) デバイス装置、アクセスシステム、及び、通信確立方法
CN113111024A (zh) 存储装置、存储系统和及操作存储装置的方法
EP3958134B1 (en) Storage device for high speed link startup and storage system including the same

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right