KR20120106742A - 자동 및 제어가능한 시스템 동작 - Google Patents

자동 및 제어가능한 시스템 동작 Download PDF

Info

Publication number
KR20120106742A
KR20120106742A KR1020127013983A KR20127013983A KR20120106742A KR 20120106742 A KR20120106742 A KR 20120106742A KR 1020127013983 A KR1020127013983 A KR 1020127013983A KR 20127013983 A KR20127013983 A KR 20127013983A KR 20120106742 A KR20120106742 A KR 20120106742A
Authority
KR
South Korea
Prior art keywords
initialization
devices
information
command
parameter
Prior art date
Application number
KR1020127013983A
Other languages
English (en)
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 샌디스크 테크놀로지스, 인코포레이티드
Publication of KR20120106742A publication Critical patent/KR20120106742A/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/26Power supply means, e.g. regulation thereof
    • G06F1/266Arrangements to supply power to external peripherals either directly from the computer or under computer control, e.g. supply of power through the communication port, computer controlled power-strips
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/177Initialisation or configuration control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/325Power saving in peripheral device
    • G06F1/3253Power saving in bus
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Small-Scale Networks (AREA)
  • Multi Processors (AREA)
  • Computer And Data Communications (AREA)
  • Stored Programmes (AREA)

Abstract

시스템 내 하나 이상의 장치들의 동작을 자동으로제어 하기 위한 시스템들 및 방법들이 제공된다. 특정 실시예에서, 장치가 동작(이를테면 장치의 초기화를 수행하는 것과 같은)을 수행할지 여부를 판정하기 위해 장치에 의해 지령이 수신된다. 지령은 시스템의 적어도 일부의 자원 능력들을 나타내는 정보를 포함할 수 있다. 정보를 사용하여, 장치는 동작(초기화와 같은)을 수행하는 것을 시작할지 여부를 판정하고 수행하기로 판정된다면 동작을 수행할 수 있다.

Description

자동 및 제어가능한 시스템 동작{AUTOMATIC AND CONTROLLABLE SYSTEM OPERATION}
관련출원들에의 상호참조
이 출원은 2009년 12월 14일에 출원된 미국가출원번호 61/286,281의 우선권, 2009년 12월 18일에 출원된 미국가출원번호 61/288,078의 우선권을 주장하는 2010년 2월 16일에 출원된 미국출원번호 12/706,519의 우선권을 주장하며, 이들 출원들 각각의 전체를 참조로서 본원에 포함시킨다.
본 발명은 시스템 동작에 관한 것으로, 특히, 자동 및 제어가능한 시스템 동작에 관한 것이다.
시스템은 호스트 장치 및 호스트와 통신하는 복수의 장치들을 포함할 수 있다. 시스템 구성의 예가 도 1에 도시되었는데, 여기에서 호스트 장치는 "링"으로서 알려진 네트워크 토폴로지를 사용한다. "링" 토폴로지는 복수의 장치들이 직렬로 연결되고 복수의 장치들 중 제 1 장치 및 마지막 장치가 호스트 장치에 직접 연결된 네트워크 셋업의 한 유형이다. 호스트 장치의 송신기 회로(Tx)는 장치1의 수신기 회로(Rx)에 연결된다. 장치1의 송신기 회로(Tx)는 장치2의 수신기 회로(Rx)에 연결되며, 이 동작은 반복된다. 시스템에서 마지막 장치인 장치 N의 송신기 회로(Tx)는 호스트 장치의 수신기 회로(Rx)에 연결되고, 그럼으로써 링 연결을 완료한다. 시스템 구성들의 다른 예들은 트리 토폴로지, 스타 토폴로지, 선형 데이지 체인 토폴로지, 또는 허브 토폴로지를 포함한다.
시스템의 정규 동작에 앞서, 복수의 장치들 중 하나 이상이 초기화될 수 있다. 하나 이상의 복수의 장치들을 초기화하는 몇가지 방법들이 있다. 한 방법은 순차적으로 복수의 장치들을 초기화하는 것이다. 순차적 초기화는 직렬로 한번에 하나씩 복수의 장치들을 초기화하고, 제 1 장치(도 1에서 장치1)부터 시작하여 마지막 장치(도 1에서 장치 N)로 끝나는 것을 수반한다. 순차적 초기화는 잇점 및 결점 모두를 가진다. 이러한 유형의 초기화는 호스트 장치의 파워 능력을 초과하지 않기 위해서 임의의 단일 시간에, 비교적 적은 파워를 소비한다. 그러나, 초기화가 한번에 한 장치에 수행되기 때문에, 순차적 초기화는 긴 시간이 걸린다.
시스템을 초기화하는 또 다른 방법은 병렬 초기화이다. 병렬 초기화는 즉시 모든 복수의 장치들을 초기화하는 것을 수반한다. 병렬 초기화는 신속한 초기화의 잇점을 갖는다. 그러나, 병렬 초기화는 시스템 초기화 시간 동안 비교적 높은 파워를 소비한다. 특히, 복수의 장치들 각각은 초기화 동안 전류를 소비한다(이를테면 100 밀리암페어(mA)). 호스트 장치는 정규 동작 동안 동작할 수 있으나 병렬 초기화는 수행할 수 없는 파워 서플라이를 포함할 수 있다. 예를 들면, 호스트 장치는 400 mA 출력을 가진 파워 서플라이를 포함할 수 있다. 시스템이 4 이상의 장치들(각각 초기화 동안 100 mA을 요구한다)을 포함하는 경우에, 파워 서플라이는 모든 장치들을 병렬로 초기화할 수 없다. 병렬 초기화를 수행하기 위해서, 호스트 장치는 더 많은 비용으로 더 큰 파워 서플라이를 가져야 한다.
따라서, 순차적 초기화 병렬 초기화 둘 다는 지나치게 파워 또는 시간 제약들을 받는다.
본 발명의 목적은 초기화의 파워 및 시간 제약 문제를 개선함에 있다.
본 발명의 실시예들은 청구항들에 의해 정의되며, 이 단락에 어느 것도 이들 청구항들에 관한 한정으로서 취해지지 않아야 한다.
예로서, 이하 기술되는 실시예들은 일반적으로 시스템(이를테면 초기화)의 적어도 일부의 동작에 관계된 것이다. 일실시예에서, 시스템 내 장치는 시스템의 적어도 일부의 자원 능력들을 나타내는 정보를 포함하는 지령을 수신한다. 일실시예에서, 정보는 하나 이상의 파라미터들을 포함할 수 있다. 또 다른 실시예에서, 정보는 2이상의 파라미터들을 포함할 수 있다. 정보를 사용하여, 장치는 동작을 시작할지 여부를 판정하고(초기화를 시작하는 것과 같은), 판정에 응하여 동작을 수행할 수 있다.
이외 다른 실시예들이 제공되며, 실시예들 각각은 단독으로 혹은 결합하게 함께 사용될 수 있다. 이제 실시예들을 첨부한 도면들을 참조하여 기술할 것이다.
본 발명의 목적은 초기화의 파워 및 시간 제약 문제를 개선할 수 있다.
도 1은 링 토폴로지에서 호스트 장치 및 복수의 장치들의 블록도이다.
도 2는 링 토폴로지에서 제어기, 저장요소, 및 호스트 장치 및 복수의 장치들의 각각의 통신 인터페이스를 도시한 블록도이다.
도 3은 허브 토폴로지에서 호스트 장치 및 복수의 장치들을 도시한 블록도 이다.
도 4는 체인 토폴로지에서 호스트 장치 및 복수의 장치들을 도시한 블록도 이다.
도 5는 초기화 시작 지령의 포맷이다.
도 6은 초기화 프로세스의 상태 체크를 위한 지령의 포맷이다.
도 7은 초기화를 시작하라는 지령을 수신하였을 때 장치의 흐름도의 일예이다.
도 8은 초기화를 시작하라는 지령을 수신하였을 때 장치의 흐름도의 또 다른 예이다.
도 9는 장치 초기화 프로세스의 제 1 스테이지를 도시한 블록도이다.
도 10은 장치 초기화 프로세스의 제 2 스테이지를 도시한 블록도이다.
서론으로, 다음 실시예들은 일반적으로 시스템의 적어도 일부를 초기화하는 것과 같은, 시스템의 적어도 일면의 동작의 자동적인 제어가능한 제어에 관한 것이다. 시스템은 호스트 장치 및 호스트 장치와 통신하는 하나 이상의 장치들을 포함한다. 호스트 장치는 하나 이상의 장치들의 동작(이를테면 하나 이상의 복수의 장치들의 초기화같은)을 제어하기 위해 하나, 일부 혹은 모든 복수의 장치들에 지령을 보낸다.
지령은 이를테면 초기화를 시작하는 것과 같이, 동작을 시작할지를 판정하기 위해 복수의 장치들에 의해 사용될 수도 있는 정보를 포함한다. 일실시예에서, 지령 내 정보는 하나 이상의 파라미터들을 포함한다. 지령 내 하나 이상의 파라미터들은 동작을 수행하기 위해 현재 가용한 시스템 자원들을 나타낼 수도 있다. 예를 들면, 지령 내 하나 이상의 파라미터들은 시스템 초기화를 위해 가용한 현재 시스템 자원들을 나타낼 수도 있다. 복수의 장치들은 지령을 수신하고 지령 내 정보를 검토함으로써(이를테면 지령내 하나 이상의 파라미터들을 검토하는 것과 같은) 동작(이를테면 초기화를 시작할지 여부와 같은)을 수행할지를 판정할 수 있다. 지령 내 정보는 장치가 동작을 시작할지를 판정하기 위해서 동작을 수행하기 위해 장치에 의해 요구되는 자원들의 량(이를테면 장치가 초기화하기 위한 자원들의 량과 같은)과 더불어 분석될 수 있다. 예를 들면, 동작을 수행하기 위해 장치에 의해 요구되는 자원들의 량이 현재 자원 능력들보다 많다면(지령 내 하나 이상의 파라미터들로 나타낸 바와 같이), 동작은 수행되지 않는다.
또 다른 실시예에서, 지령 내 정보는 2이상의 파라미터들을 포함한다. 지령 내 2이상의 파라미터들은 동작을 수행하기 위해 현재 가용한 시스템 자원들을 나타낼 수 있다. 예를 들면, 지령 내 2이상의 파라미터들은 시스템 초기화를 위해 가용한 현재 시스템 자원들을 나타낼 수도 있다. 복수의 장치들은 지령을 수신하고, 지령 내 정보를 검토함으로써(이를테면 지령 내 2 이상의 파라미터들을 검토하는 것과 같은) 동작(이를테면 초기화를 시작할지 여부와 같은)을 수행하지 여부를 판정할 수 있다. 지령 내 정보는 장치가 동작을 시작할지를 판정하기 위해서 동작을 수행하기 위해 장치에 의해 요구되는 자원들의 량과 더불어(이를테면 장치가 초기화하기 위한 자원들의 량과 같은) 분석될 수 있다. 예를 들면, 동작을 수행하기 위해 장치에 의해 요구되는 자원들의 량이 현재 자원 능력들(지령 내 2이상의 파라미터들로 나타낸 바와 같이)보다 많다면, 동작은 수행되지 않는다.
이렇게 하여, 동작(이를테면 초기화를 시작하기 위한 지령과 같은)을 시작하라는 지령은 하나 이상의 파라미터들 또는 2이상의 파라미터들을 포함하여 몇가지 형태들 중 중 하나를 취할 수 있다. 그러나, 지령 내 파라미터들의 수(하나인지 아니면 2개의 파라미터들인지)의 이들 예들은 단지 예시 목적을 위한 것이다. 여하튼 지령은 지령을 수신하는 장치에 동작(이를테면 초기화)을 수행하기 위한 시스템의 현재 능력들을 나타내는 정보(한 파라미터 형태인지 아니면 두 파라미터들의 형태인지)를 제공할 수 있다.
일실시예에서, 시스템의 현재 능력들을 나타내는 지령 내 정보는 장치들의 수(이를테면 현재 초기화를 시작할 수 있는 장치들의 수와 같은)를 포함할 수 있다. 예를 들면, 하나 이상의 파라미터들은 시스템이 현재 얼마나 많은 자원들을 제공할 수 있는지를 나타낼 수 있다. 장치들의 수의 경우에, 하나 이상의 파라미터들은 얼마나 많은 장치들이 여전히 초기화될 수 있는지를 나타낼 수 있다. 이하 상세히 논의되는 바와 같이, 여전히 초기화될 수 있을 장치들의 수를 나타내는 일예는 자원 능력 파라미터에서 현재 초기화 파라미터를 감하는 것을 포함할 수 있다. 그러나, 이것은 여전히 초기화될 수 있는 장치들의 수를 나타낼 수 있는 지령 내 하나 이상의 파라미터들의 단지 일예이다. 또 다른 실시예에서, 시스템의 현재 능력들을 나타내는 지령 내 정보는 전기적 파라미터(이를테면 전류(mA))를 포함할 수 있다. 장치는 장치가 동작(이를테면 초기화)을 수행할지 및/또는 언제 수행할지를 판정하기 위해서 이 정보를 사용할 수 있다.
이하 논의되는 예들은 초기화할지 또는 언제 초기화할지를 제어하는 것에 관한 것이다. 그러나, 시스템 내 복수의 장치들이 동시에 동작할 것이 요청되는 임의의 동작과 같은, 하나 이상의 복수의 장치들의 다른 동작들이 제어될 수도 있다. 이에 따라, 개시된 시스템 및 방법은 복수의 장치들이 동시에 하나 이상의 동작들을 수행하는 자원 이용을 개선 또는 최적화하는 일반적 방법을 제공한다.
하나 이상의 파라미터들의 예들이 이하 논의된다. 그러나, 이들 예들은 단지 예시 목적들을 위한 것이다. 한 파라미터는 시스템의 자원 능력을 나타내는 자원 능력 파라미터(이를테면 호스트 시스템의 파워 능력, 전류 소비, 등과 같은)를 포함할 수 있다. 자원 능력 파라미터는 몇가지 형태들 중 하나를 취할 수 있다. 일예로서, 파라미터는 파워 시스템이 동시에 초기화할 수 있는 시스템에 장치들의 수를 나타낼 수 있다. 특히, 자원 능력 파라미터는 호스트 장치 파워 시스템이 동시에 초기화할 수 있는 장치들의 수(예를 들면, 4 장치들)를 나타낼 수 있다. 또 다른 예로서, 파라미터는 시스템이 제공할 수 있는 전기 파라미터를 나타낼 수 있다. 예를 들면, 자원 능력 파라미터는 시스템이 초기화를 위해 출력 할 수 있는 전류(mA)의 총량(예를 들면, 400 mA)을 나타낼 수 있다. 또는, 자원 능력 파라미터는 시스템이 초기화를 위해 출력할 수 있는 총 파워 량을 나타낼 수 있다.
호스트 장치로부터 보내진 지령 내 포함될 수 있는 또 다른 파라미터는 현재 초기화하고 있는 장치들을 나타내는, 현재 초기화 파라미터를 포함할 수 있다. 호스트 장치는 초기화되고 있는 장치들에 관한 호스트 장치의 현재 판정에 기초하여 파라미터를 설정할 수 있다. 예를 들면, 호스트 장치가 현재 초기화하고 있는 장치들이 없는 것으로 판정한다면, 호스트 장치는 현재 초기화 파라미터를 제로로 설정할 수 있다. 장치들 중 하나 이상은 지령을 수신하고 장치의 초기화의 상태(장치가 초기화하고 있는지 여부 또는 장치가 초기화를 완료하였는지 여부를 포함하여)에 따라 현재 초기화 파라미터를 업데이트할 수 있다. 그리고, 하나 이상의 장치들은 초기화를 시작할지 여부에 대해 호스트 장치로부터 보내진 지령을 장치의 초기화의 상태에 기초하여, 그리고 호스트 장치로부터 보내진 지령 내 하나 이상의 파라미터들에 기초하여 처리할 수 있다.
실제로, 호스트 장치는 초기화 프로세스에서 여러 시간들에서 하나 이상의 지령들을 보낼 수 있다. 예를 들면, 호스트 장치는 초기화를 시작하기 위한 지령을 보낼 수 있다. 링 토폴로지에서, 호스트 장치는 장치들에게 초기화 시작 지령 을 보낼 수 있다. 제 1 장치는 지령을 수신하고, 지령(자원 능력 파라미터 및 현재 초기화 파라미터를 포함하는) 내 파라미터들 및 이 자신의 상태(제 1 장치가 초기화될 필요가 있는지 여부를 포함하는)를 분석하여 초기화를 시작할지를 판정한다. 제 1 장치가 시스템이 제 1 장치를 초기화할 수 있다는 것과 제 1 장치가 초기화를 필요로 하는 것으로 판정한다면, 제 1 장치는 초기화를 시작하고, 현재 초기화 파라미터를 수정하고(제 1 장치가 초기화하고 있음을 반영하기 위해서) 지령을 링 토폴로지 내 제 2 장치에 보낸다(수정된 현재 초기화 파라미터와 함께). 제 2 장치(및 링 토폴로지 내 후속되는 장치들)는 제 1 장치에 의해 수행되는 것과 유사한 분석을 수행할 수도 있다.
장치가 초기화를 완료한 후에, 호스트 장치 또는 또 다른 장치는 초기화의 이 완료를 반영하기 위해 현재 초기화 파라미터를 수정할 수 있다. 예를 들면, 호스트 장치는 링 토폴로지에 어떤 장치들이 현재 초기화하고 있는가를 평가하고 이에 이어 평가에 기초하여 현재 초기화 파라미터를 수정하기 위한 상태 지령을 보낼 수 있다. 또는, 링 토폴로지 내 장치들은 초기화의 완료시 현재 초기화 파라미터를 수정하고, 수정된 현재 초기화 파라미터를 다른 장치들 및 호스트 장치에 보낼 수 있다.
이렇게 하여, 장치들의 순서는 사전에 설정되지 않으며 지령 내 하나 이상의 파라미터들과 같은, 정보에 기초하여 동적으로 판정될 수 있다. 그리고, 필드에서, 복수의 장치들은 잠재적으로 자신의 능력들/파라미터들과 더불어 지령 내 하나 이상의 파라미터들과 같은 정보를 사용하여, 초기화를 시작할지 여부 또는 언제 시작할지와 언제 다음 장치들에 지령을 전송할지를 판단할 수 있다. 이에 따라, 복수의 장치들은 언제 초기화를 시작할지 판단에 관여하며 의사결정 프로세스에서 수동적이지 않다. 이것은 지령이 수신되었을 때 초기화하기 위한 지령에 수동적으로 따르는 복수의 장치들에 호스트 장치가 지령을 보내는 순차적 또는 병렬 초기화와 같은 다른 초기화 수법들과는 다르다. 그리고, 시스템의 자원 능력은 더 잘 이용될 수 있다.
일실시예에서, 지령 내 하나, 일부 또는 모든 정보는 동작(이를테면 초기화)을 수행하는 시스템의 현재 능력들을 반영하기 위해 장치에 의해 수정될 수도 있다. 예를 들면, 특정한 실시예에서, 지령 내 파라미터들 중 하나 이상은 장치(이를테면 장치가 초기화하기로 결정하였는지 여부 또는 장치가 초기화를 완료하였는지 여부와 같은)의 동작의 상태를 반영하기 위해 수정될 수도 있다. 이것의 예는 산술 동작을 사용하여 지령 내 하나 이상의 파라미터들 중 하나를 수정함에 의해 된다. 이하 상세히 논의되는 바와 같이, 현재 초기화 파라미터는 장치가 초기화하고 있음을 또는 장치가 초기화를 완료하였음을 반영하기 위해 "1"만큼 파라미터의 값을 변경함으로써 수정될 수 있다. 수정된 현재 초기화 파라미터는 자원 능력 파라미터와 비교될 수 있고, 장치들은 시스템의 자원 능력이 현재 초기화를 할 수 있는지를 판정할 수 있다.
예를 들면, 시스템의 자원 능력이 4개의 장치들과 같은 어떤 수의 장치들을 동시에 초기화할 수 있다면, 현재 초기화 파라미터와 같은 지령 내 정보의 업데이트는 시스템 내 4개의 장치들과 같이 더 자주 어떤 수의 장치들이 동시에 초기화하고 그럼으로써 시스템의 자원 능력을 더 잘 이용하고 시스템내 장치들을 초기화하기 위한 시간을 잠재적으로 감소시키는 것을 더욱 보장할 수 있다.
보안 디지털("SD(등록상표)") 메모리 카드들(비교적 느린 플래시 저장장치의 예) 및 초고속 타입 II(UHS-II) 메모리 카드들(고속 플래시 저장장치의 예)와 같은, 메모리 장치들의 몇가지 예들이 있다. SD는 SD-3C LLC의 등록상표이다. UHS-II는 차세대 SD(등록상표) 카드들을 위한 SD 협회에 의해 개발된 표준이며 "고속 프로토콜"의 일예이다. 또 다른 예는 UFS(Universal Flash Storage) 저장장치들일 수도 있다. "UFS"는 JEDEC(Joint Electron Device Engineering Council(s)) 솔리드 스테이트 기술 협회를 위해 작업하는 UFS 태스크 포스에 의해 개발된 표준이다.
도 2는 링 토폴로지에서 호스트 장치(210) 및 복수의 장치들(230, 250, 270)의 상세한 블록도(200)를 도시한 것이다. 호스트 장치(210)는 컴퓨터, 모바일 전화, PDA(personal digital assistant), 게이밍 장치, 통신 장치, 멀티미디어 플레이어 장치와 같은 전자장치, 하나 이상의 메모리 장치들과 통신하게 구성된 이외 어떤 다른 장치, 혹은 이들의 임의의 조합을 포함할 수 있다. 호스트 장치(210)는 프로세서, 마이크로제어기와 같은 제어기(212), 혹은 다른 유형의 산술 논리 유닛을 포함할 수 있다. 호스트 장치(210)는 저장요소(214) 또는 이를테면 비휘발성 메모리, 랜덤 액세스 메모리(RAM), 플래시 저장장치, 하나 이상의 레지스터들, 혹은 이외 실재 저장장치와 같은 다른 유형의 메모리를 더 포함할 수 있다. 또한, 호스트 장치(210)는 네트워크를 통해 복수의 장치들과 통신할 수 있게 하기 위해 통신 인터페이스(216)를 포함할 수도 있다. 통신 인터페이스(216)는 메시지들을 장치들에 보내기 위한 송신기 회로(Tx)(218) 및 장치들로부터 메시지들을 수신하기 위한 수신기 회로(Rx)(220)를 구비한다. 이에 따라, 통신 인터페이스(216)를 사용하여, 호스트 장치(210)는 네트워크를 통해 복수의 장치들(230, 250, 270)에, 지령들, 데이터, 혹은 이들의 임의의 조합과 같은 메시지들을 보내게 구성된다. 네트워크는 장치들(230, 250, 270) 간에 메시지들을 전송하기 위하 하나 이상의 쌍들의 데이터 라인들을 포함할 수 있다.
복수의 장치들(230, 250, 270)은 컴퓨터 및/또는 메모리 장치를 포함할 수 있다. 예를 들면, 복수의 장치들(230, 250, 270) 중 하나 이상은 플래시 메모리 카드, 이를테면 인핸스드 SD(등록상표), 마이크로SD(등록상표) 카드, 내장형 SD(eSD) 또는 SD 입력/출력 장치(SDIO)(SD 또는 마이크로SD는 SD-3C LLC의 등록상표들이다)일 수 있다. 또 다른 예로서, 복수의 장치들(230, 250, 270) 중 하나 이상은 UHS-II 저장 장치 또는 UHS-II 인터페이스(이를테면 입력/출력 통신 애플리케이션들)을 포함하는 그외 다른 유형의 장치를 포함할 수 있다. 복수의 장치들(230, 250, 270)은 버스를 통해 호스트 장치 및 다른 장치들과 통신할 수 있게 하기 위해 통신 인터페이스를 포함한다. 예를 들면, 장치(250)는 Wi-Fi 또는 블루투스와 같은 무선 통신 기능을 예시하기 위해 I/O 인터페이스(262)를 포함한다. 이와 같이, 장치들(230, 250, 270)은 메모리 장치, I/O 통신 장치, 및/또는 메모리 장치 + I/O 통신 장치 조합을 포함할 수 있다.
제 1 장치(230)는 프로세서, 마이크로제어기와 같은 제어기(232), 혹은 이외 다른 유형의 산술 논리 유닛을 포함한다. 제 1 장치(230)는 저장요소(234) 혹은 이외 다른 유형의 메모리, 이를테면 비휘발성 메모리, 랜덤 액세스 메모리(RAM), 플래시 저장장치, 하나 이상의 레지스터들, 또는 이외 실재 저장장치 또는 입력/출력 통신 인터페이스(이를테면 블루투스, Wi-Fi, WiGIG, 등)을 더 포함할 수 있다. 제 1 장치(230)는 수신기 회로(Rx)(238) 및 송신기 회로(Tx)(240)를 가진 통신 인터페이스(236)를 포함한다. 수신기 회로 (Rx)(238)는 지령들 및 데이터와 같은 메시지들을 네트워크를 통해, 통신 경로 상에 앞에 장치, 즉 호스트 장치(210)로부터 수신하게 구성된다. 송신기 회로(Tx)(240)는 응답들과 같은 메시지들을 네트워크를 통해 통신 경로 상에 다음 장치, 즉 제 2 장치(250)에 전송하게 구성된다.
제 2 장치(250)는 제어기(252)를 포함한다. 제 2 장치(250)는 저장요소(254) 또는 이외 다른 유형의 메모리를 더 포함할 수 있다. 제 2 장치(250)는 수신기 회로(Rx)(258) 및 송신기 회로(Tx)(260)를 가진 통신 인터페이스(256)를 포함한다. 수신기 회로(Rx)(258)는 통신 경로 상에 제 1 장치(230)로부터 메시지들을 수신하게 구성된다. 송신기 회로(Tx)(260)는 네트워크를 통해 통신 경로 상에 다음 장치에 메시지들을 전송하게 구성된다.
"N" 장치(270)는 제어기(272) 및 저장요소(274) 또는 다른 유형의 메모리를 포함한다. "N" 장치(270)는 수신기 회로(Rx)(278) 및 송신기 회로(Tx)(280)를 가진 통신 인터페이스(276)를 더 포함한다. 수신기 회로(Rx)(278)는 통신 경로 상에 다른 장치로부터 메시지들을 수신하게 구성된다. 송신기 회로(Tx)(280)는 네트워크를 통해 통신 경로 상에 다음 장치, 즉 네트워크를 통해 호스트 장치(210)에 메시지들을 전송하게 구성된다.
도 2에 도시된 바와 같이, 네트워크는 링 토폴로지를 가지며 메시지들은 링 주위로 통신 경로를 따라 단일 방향으로 제 1 장치(230)는 통신 경로 상에 제 1 위치를 가지며, 제 2 장치(250)는 통신 경로 상에 제 2 위치를 갖는다, 등등. 장치들의 위치들의 순차적 순서는 통신 경로를 따라 장치에서 장치로 메시지들이 이동하는 순차적 순서에 대응한다. 예를 들면, 호스트 장치(210)에 보내진 메시지는 특정 목적지(이를테면 장치들(230, 250, 270) 중 하나를 확인하기 위한 특정한 식별자와 같은)를 포함하는 목적지 식별자(DID) 필드를 포함할 수도 있고, 혹은 브로드캐스트 표시를 포함할 수도 있는데, 이 경우 지령을 받아들일 수 있는 상태에 있는 어떠한 장치이든 어드레스된 수신자로서 지령을 받아들일 것이다.
3개의 대표적 장치들(230, 250, 270)이 네트워크를 통해 호스트 장치(210)에 결합된 것으로 예시되었을지라도, 임의의 수의 이러한 장치들은 네트워크를 통해 호스트 장치(210)에 결합될 수 있다. 또한, 설명을 쉽게 하기 위해서 네트워크가 도 2에 도시된 바와 같이 호스트 장치(210) 및 장치들(230, 250, 270)을 연결하고 있는 것으로 개요적으로 예시되었을지라도, 단일 방향으로 메시징을 하기 위한 링 토폴로지를 갖는 네트워크를 형성하기 위해 다양한 물리적 구조들이 사용될 수 있다. 한 예시적 예로서 그리고 대안적 실시예에서, 네트워크는 링 토폴로지를 에뮬레이트하기 위해 제어되는 버스로서 구현될 수 있다.
또한, 링 토폴로지에 관련하여 기술되었을지라도, 다른 실시예들에서, 네트워크는 트리 토폴로지, 스타 토폴로지, 선형 데이지 체인 토폴로지, 또는 허브 토폴로지와 같은 다른 토폴로지들을 사용하여 구현될 수도 있다. 예를 들면, 허브 토폴로지는 호스트 장치를 위한 한 포트 및 장치들을 위한 복수개의 포트들을 가질 수 있다. 도 3은 호스트 장치(302), 장치들(304, 306, 308, 310), 및 허브(312)를 사용하는 허브 토폴로지 에 대한 블록도(300)의 예를 도시한 것이다. 허브 토폴로지는 모든 연결된 장치들에 동시에 메시지들을 전송하거나, 브로드캐스트 지령이 실제로 허브를 통해 모든 장치들(제 1부터 마지막까지)을 통해 직렬로 전송되는 링 토폴로지를 에뮬레이트함으로써 브로드캐스트 지령을 보낼 수도 있다(예를 들면, 참조로서 본원에 포함시키는 "DEVICE IDENTIFIER SELECTION" 명칭의 2009년 7월 27일에 출원된 미국특허출원번호 12/509,832; 참조로서 본원에 포함시키는 "DEVICE IDENTIFIER SELECTION" 명칭의 2009년 9월 16일에 출원된 미국특허출원번호 12/561,122 참조). 또는, 허브 토폴로지는 이의 내용에 따라 메시지 목적지를 선택함으로써 메시지들을 전송할 수도 있다. 도 3은 경로를 지정하기 위해 화살표들과 함께 선들로 도시된 브로드캐스트 지령 경로를 도시하고 있다. 브로드캐스트는 이것이 장치 #1(304)부터 시작하여 허브(312)를 거쳐, 장치 #N으로 끝나게 직렬로 행해질지라도, 모든 장치들에 액세스할 수 있다. 이렇게 하여, 정확한 링 동작 행동이 달성될 수 있다. 링 토폴로지에 관련한 이하 논의는 마찬가지로 주어진 허브 토폴로지에서 사용될 수 있다.
도 4는 호스트 장치(402) 및 장치들(404, 406, 408)을 사용하는 체인 토폴로지에 대한 블록도(400)의 예를 도시한 것이다. 체인 토폴로지에서 브로드캐스트 동작는 장치 #1(404)에서 시작하여 장치 #N(408)(링 토폴로지와 유사하게)에서 끝나는 모든 장치들에 실제로 액세스되는 브로드캐스트 지령을 사용하여 구현될 수 있다. 유일한 차이는 장치 #N에서 다시 호스트로 연결이 모든 장치들(404, 406)을 거쳐 복귀된다는 것이다(반면 링 토폴로지에서는 호스트 장치로의 직접적인 경로가 존재한다). 그럼에도불구하고, 링 토폴로지에 대해 기술된 동일한 개념이 여기에서도 사용될 수 있다. 그리고, 링 토폴로지에 관련한 이하 논의는 마찬가지로 주어진 체인 토폴로지에서도 사용될 수 있다. 링, 허브, 및 체인 토폴로지들의 예시는 단지 예시 목적을 위한 것이다. 따라서, 네트워크는 메시지들을 전송 및 수신할 수 있게 하는 호스트 장치 및 각 장치 간에 통신 경로를 가진 하나 이상의 다른 토폴로지들로 구현될 수 있다.
호스트 장치는 장치들 중 하나 이상, 이를테면 장치들(230, 250, 270)(도 2에서), 장치들(304, 306, 308, 310)(도 3에서) 또는 장치들(404, 408, 410)의 초기화를 위한 하나 이상의 메시지들 또는 지령들을 보낼 수 있다. 장치들의 초기화는 장치들을 활성 상태로 천이함에 있어 한 단계일 수 있다. 초기화는 PHY 및 LINK 층들을 포함한 하나 이상의 층들을 초기화하는 것을 포함할 수 있다. 그리고, 초기화는 장치에 따른 초기 능력들 및 동작 값들과 같은 장치들의 동작 조건들을 설정할 수도 있다.
호스트 장치(210)(도 2에서), 호스트 장치(302)(도 3에서) 또는 호스트 장치(402)(도 4에서)와 같은, 호스트 장치로부터 보내진 메시지는 하나 이상의 파라미터들의 형태일 수 있는 정보를 포함할 수 있다. 지령 내 정보는 초기화를 시작할지를 판정하기 위해, 장치들(230, 250, 270)(도 2에서), 장치들(304, 306, 308, 310)(도 3에서) 또는 장치들(404, 408, 410)과 같은 장치들에 의해 사용될 수 있다.
한 파라미터는 시스템의 자원 능력을 나타내는 자원 능력 파라미터를 포함할 수 있다. 시스템의 자원 능력의 일예는 호스트 장치의 가용한 자원 출력일 수 있다. 자원 능력 파라미터는 몇가지 형태들 중 하나를 취할 수 있다. 일예로서, 파라미터는 파워 시스템이 동시에 초기화할 수 있는 시스템 내 장치들의 수를 나타낼 수 있다. 특히, 자원 능력 파라미터는 호스트 장치 파워 시스템이 동시에 초기화할 수 있는 장치들의 수(예를 들면, 4 장치들)를 나타낼 수 있다. 또 다른 예로서, 파라미터는 파워 시스템이 제공할 수 있는 전기 파라미터를 나타낼 수 있다. 예를 들면, 자원 능력 파라미터는 파워 시스템이 초기화를 위해 출력할 수 있는 총 mA량(예를 들면, 400mA)를 나타낼 수 있다.
호스트 장치로부터 보내진 지령에 포함될 수 있는 또 다른 파라미터는 현재 초기화하고 있는 장치들을 나타내는 현재 초기화 파라미터를 포함할 수 있다. 현재 초기화 파라미터는 호스트 장치 및/또는 장치들에 의해 수정되거나 조절될 수 있다.
예를 들면, 호스트 장치(210)는 장치들(230, 250, 270) 중 어느 것이 초기화하고 있는지에 관한 호스트 장치의 현재 판정에 기초하여 파라미터를 설정할 수 있다. 특히, 호스트 장치(210)는 어느 장치들이 현재 초기화하고 있는지를 판정하기 위해 하나 이상의 상태 메시지들을 장치들(230, 250, 270)에 보낼 수 있다. 호스트 장치(210)는 현재 초기화하고 있음을 장치들을 반영하기 위해 현재 초기화 파라미터를 설정할 수 있다. 예를 들면, 호스트 장치가 현재 초기화하고 있는 장치들이 없는 것으로 판정한다면, 호스트 장치는 현재 초기화 파라미터를 제로로 설정할 수 있다.
또한, 장치들(이를테면 도 2에 장치들(230, 250, 270), 도 3에서 장치들(304, 306, 308, 310) 또는 도 4에서 장치들(404, 406, 408) 중 하나 이상은 현재 초기화 파라미터를 수정할 수 있다. 예를 들면, 장치(230)는 장치(230)가 초기화하고 있음을 또는 장치(230)가 초기화를 마쳤음을 반영하기 위해 현재 초기화 파라미터를 수정할 수 있다. 구체적으로, 장치(230)는 초기화하고 장치(230)가 초기화하는 것을 시작해야 할지를 판정하기 위한 지령을 수신할 수 있다. 이하 상세히 논의되는 바와 같이, 장치(230)는 초기화될 필요가 있는지 판정할 수 있고, 그러하다면, 시스템의 자원 능력들이 이때 장치(230)의 초기화를 할 수 있게 할지를 판정하기 위해 자원 능력 파라미터를 현재 초기화 파라미터와 비교한다. 초기화가 필요하고 시스템이 초기화할 수 있는 것으로 제 1 장치(230)가 판정한다면, 제 1 장치(230)는 초기화를 시작하고 제 1 장치(230)가 초기화함을 반영하기 위해 현재 초기화 파라미터를 수정할 수 있다. 또한, 장치(230)는 장치(230)가 초기화를 완료하였음을 반영하기 위해 현재 초기화 파라미터를 수정할 수 있다. 제 1 장치(230)가 초기화를 완료한 후에, 장치(230)는 현재 초기화 파라미터에 변화를 알리기 위해서 메시지를 보낼 수 있다. 일예로서, 제 1 장치(230)는 제 1 장치(230)의 초기화가 완료함을 나타내는 메시지를 호스트 장치(210)에 보낼 수 있고, 따라서 호스트 장치(210)는 이것을 반영하기 위해 현재 초기화 파라미터를 수정하고, 수정된 현재 초기화 파라미터를 포함하는 후속 브로드캐스트 지령을 보낼 수 있다. 또 다른 예로서, 제 1 장치(230)는 현재 초기화 파라미터를 수정하고, 현재 초기화 파라미터에 변화를 나타내기 위해 메시지를 장치(250, 270) 및/또는 호스트 장치(210)에 보낼 수 있다. 또 다른 예로서, 장치(230)는 호스트 장치(210)로부터 상태 메시지를 수신할 수 있다. 제 1 장치(230)가 초기화하고 있다면, 제 1 장치(230)는 제 1 장치(230)가 초기화를 마쳐질 때까지 상태 메시지를 보전하고, 이어서 상태 메시지(제 1 장치(230)가 초기화를 완료하였음을 나타내는 업데이트된 현재 초기화 파라미터를 가진)를 장치들(250, 270)에 보낼 수 있다. 또 다른 예로서, 제 1 장치(230)는 장치(230)의 초기화가 완료된 것을 나타내는 메시지를 장치들(250 및/또는 270)에 보내고, 따라서 장치들(250 및/또는 270)은 이것을 반영하기 위해 현재 초기화 파라미터를 수정하고 필요하다면 초기화를 시작할 수 있다.
호스트 장치(210)는 도 5에 도시된 바와 같이 자원 능력 파라미터 및 현재 초기화 파라미터 둘 다를 포함하는 단일 지령을 보낸다. 또는, 호스트 장치는 자원 능력 파라미터 및 현재 초기화 파라미터를 별도의 지령들로 보낼 수 있다. 예를 들면, 자원 능력 파라미터는 개별적으로 장치들(230, 250, 270)에 보내지고 현재 초기화 파라미터를 가진 별도의 지령이 수신될 때 나중에 사용하기 위해 저장요소(234, 254, 274)에 저장될 수 있다.
실제로, 호스트 장치는 초기화 프로세스에서 여러 시간들에 하나 이상의 지령들을 보낼 수 있다. 예를 들면, 호스트 장치(210)는 초기화를 시작하라는 지령과 이에 이어 초기화의 상태를 판정하기 위한 지령(들)을 보낼 수 있다. 링 토폴로지에서, 호스트 장치(210)는 제 1 장치(230)에 초기화 시작 지령을 보내고, 제 1 장치(230)는 초기화를 시작할지를 판정하기 위해 이의 초기화 상태 및 하나 이상의 파라미터들을 검토한다. 구체적으로, 제 1 장치(230)의 초기화 상태는 도 7에 관련하여 더 상세히 논의된 바와 같이, "초기화되었음," "초기화되지 않았음", 또는 "초기화 중"일 수 있다.
제 1 장치(230)가 "초기화되었음"(제 1 장치가 현재 초기화를 요구하지 않음을 의미한다)이라면, 제 1 장치(230)는 하나 이상의 파라미터들을 변경함이 없이, 또 다른 장치(링 토폴로지에서, 제 1 장치(230)는 제 2 장치(250)에 지령을 보낼 수 있다)에 지령을 보낼 수 있다. 제 1 장치(230)가 "초기화되지 않았음"이라면(제 1 장치(230)가 초기화될 것임을 의미한다), 제 1 장치(230)는 초기화를 시작할지 여부를 판정하기 위해 수신되는 지령 내 파라미터들을 검토한다. 제 1 장치(230)는 초기화를 시작할지를 판정하기 위해 현재 초기화 파라미터를 자원 능력 파라미터(및 잠재적으로 제 1 장치 자신의 요건들)와 비교할 수 있다. 현재 초기화 파라미터가 초기화되고 있는 장치들의 수를 나타내는 예에서 그리고 자원 능력이 즉시 초기화될 수 있는 장치들의 총 수를 나타낸다면, 현재 초기화 파라미터가 자원 능력 파라미터 미만인 경우, 이것은 시스템이 제 1 장치(230)를 초기화할 수 있음을 나타낸다. 비교가 시스템이 제 1 장치(230)를 초기화할 수 있음을 나타낸다면, 제 1 장치(230)는 초기화를 시작한다. 현재 초기화 파라미터가 장치들을 초기화하기 위해 현재 인출된 총 전류를 나타내는 예에서 그리고 자원 능력 파라미터가 초기화를 제공할 수 있는 현재 총 시스템을 나타내는 경우, 제 1 장치(230)는 초기화를 시작할지 여부를 판정하기 위한 자신의 요건들을 검토할 수 있다. 특히, 제 1 장치(230)는 초기화할 때 제 1 장치(230)가 얼마나 많은 전류(이를테면 100 mA)를 요구할지를 판정하기 위해 저장요소(234)에 액세스할 수 있다. 제 1 장치(230)는 초기화를 위해 제 1 장치가 요구하는 전류량을 현재 초기화 파라미터에 추가할 수 있다. 초기화를 위해 제 1 장치가 요구하는 총 전류가 자원 능력 파라미터, 이하이라면, 이것은 시스템이 제 1 장치(230)를 초기화할 수 있음을 나타낸다.
그리고, 시스템이 현재 제 1 장치(230)를 초기화할 수 있는 것으로 판정한다면, 제 1 장치(230)는 지령 내 파라미터들 중 하나 이상을 수정하고 지령을 또 다른 장치에 보낼 수 있다. 제 1 장치(230)는 제 1 장치(230)가 초기화하고 있음을 나타내기 위해서, 현재 초기화 파라미터와 같은 지령 내 정보를 변경할 수 있다. 정보에 대한 변경은 산술 동작을 포함할 수 있다. 예를 들면, 제 1 장치는, 이하 상세히 논의되는 바와 같이, 초기화를 위한 자신의 현재 소비 요건을 현재 초기화 파라미터에 더할 수 있다. 이어서, 제 1 장치(230)는 링 토폴로지에서 지령을 제 2 장치(250)에 보낼 수 있다. 현재 초기화 파라미터를 자원 능력 파라미터와 비교에서 시스템이 제 1 장치(230)를 초기화할 수 없음을 나타낸다면, 제 1 장치(230)는 초기화를 시작하지 않고 지령을 다음 장치에 보낸다. 제 2 장치(250)는 제 1 장치(230)에 보내진 지령을 수신하고 제 1 장치(230)에 의해 수행되었던 바와 동일한 분석을 수행한다. 제 1 장치(230)가 "초기화"하고 있다면, 제 1 장치(230)는 제 1 장치(230)가 초기화를 완료할 때까지 지령을 보전하고 지령을 다음 장치에 보낼 수 있다. 제 1 장치(230)는 제 1 장치(230)가 초기화를 마쳤음을 반영하기 위해서 현재 초기화 파라미터를 수정할 수 있다. 지령이 복수의 장치들(230, 250, 270)을 통해 필터링된 후에, 지령은 호스트 장치(210)에 되돌려 보낼 수 있다.
초기화 시작 지령 외에도, 호스트 장치는 초기화 시작 지령을 보낸 후에 후속 지령을 보낼 수 있다. 후속 지령은 초기화의 상태를 판정하는 상태 지령을 포함할 수 있다. 또는, 호스트 장치는 다음 일 그룹의 장치들을 위한 다음 초기화 지령 또는 전체 초기화 프로세스를 위한 단일 지령을 보낼 수 있다. 호스트 장치는 지령에 대한 응답을 수신하고 응답을 분석하고, 하나 이상의 장치들의 초기화의 상태를 판정할 수 있다. 예를 들면, 호스트 장치는 지령(초기화 시작 지령 또는 상태 지령과 같은)을 이 내에 정보와 함께(하나 이상의 파라미터들을 가진 지령과 같은) 보낼 수 있다. 하나 이상의 장치들은 장치가 초기화하고 있다면 지령 내 정보(이를테면 파라미터들 중 하나 이상을 수정하는 것과 같은)를 수정할 수 있다. 이어서, 호스트 장치는 장치들 중 어느 것이 초기화하고 있는지와 같은 하나 이상의 장치들의 상태를 판정하기 위해 하나 이상의 장치들(이를테면 장치 N 장치(270) 또는 310) 로부터 보내진 응답을 분석할 수 있다. 호스트 장치는 지령 내 정보를 장치들의 상태를 판정하기 위해 응답으로 수신된 정보와 비교할 수 있다. 지령 내 정보가 응답에서 수신된 정보와 동일하다면, 호스트 장치는 장치가 초기화하고 있다면 지령 내 정보가 수정되기 때문에(이하 논의된 바와 같이) 장치들 중 어느 것도 초기화하고 있지 않은 것으로 판정할 수 있다.
현재 초기화 파라미터 및 자원 능력 파라미터를 사용하여, 장치들을 초기화하는 순서는 사전에 설정되지 않으며, 지령 내 이들 파라미터들에 기초하여 동적으로 결정될 수 있다. 그리고, 필드 내 복수의 장치들은 초기화를 언제 시작할지 판단하기 위해 지령 내 파라미터들과 같은 지령 내 정보를 사용할 수도 있다. 이에 따라, 복수의 장치들은 언제 초기화를 시작할지에 대한 판단에 관여하며 의사결정 로세스에서 수동적이지 않는다. 이것은 호스트 장치는 지령이 수신될 때 초기화하는 명령에 수동적으로 따르는 복수의 장치들에 지령을 보내는, 순차적 또는 병렬 초기화와 같은, 다른 초기화 수법들과는 다르다. 또한, 이것은 장치들이 장치들의 일부 사전(pre)-구성마다 초기화되어 추가의 노력 또는 비용을 요구하는 방법과도 다르다.
도 5 및 도 6은 호스트 장치(210)로부터 보내진 지령들의 포맷들을 도시한 것이다. 특히, 도 5는 초기화 시작 지령을 나타내는 DEVICE_INIT_START_CCMD을 보낼 때 필드들을 도시한 것이다.
도 5에 도시된 바와 같이, 메시지(500)는 헤더(502), 인수(argument)(504), 및 페이로드(506)를 포함한다. 헤더(502)는 소스 ID/목적지 ID, 또는 브로드캐스트 표시를 위한 필드를 포함할 수 있다. 인수(504)는 메시지는 DEVICE_INIT_START 지령이라는 표시와 같은 지령 이름을 포함할 수 있다. 또한, 자원 능력 파라미터("Y"으로 나타낸) 및 현재 초기화 파라미터("X"으로 나타낸)는 페이로드의 부분일 수도 있다. 그러나, 도 5에 도시된 메시지(500)는 단지 예시 목적을 위한 것이다. 자원 능력 파라미터 및 현재 초기화 파라미터, 브로드캐스트 표시, 및 지령 표시를 포함한, 메시지(500) 내 정보는 도 5에 도시된 것과는 다른 방법들로 구성될 수 있다.
도 6은 상태 지령을 나타내는 DEVICE_INIT_CHECK_STATUS_CCMD를 보낼 때 필드들을 도시한 것이다. 도 6에 도시된 바와 같이, 메시지(600)은 헤더(502), 및 인수(504)를 포함한다. 도 5와 유사하게, 헤더(502)는 소스 ID/목적지 ID, 또는 브로드캐스트 표시를 위한 필드를 포함할 수 있다. 인수(504)는 메시지가 DEVICE_INIT_CHECK_STATUS 지령이라는 표시를 포함할 수 있다. 자원 능력 파라미터("Y"로 나타낸) 및 현재 초기화 파라미터("X"로 나타낸)는 메시지(600) 내 페이로드의 부분일 필요는 없다. DEVICE_INIT_START 및 DEVICE_INIT_CHECK_STATUS 메시지들 둘 다 브로드캐스트 CCMD일 수 있다. DEVICE_INIT_START 메시지는 도 2에 도시된 장치들(230, 250, 270)과 같은 일그룹의 장치들에 대한 장치 초기화를 시작하기 위한 트리거일 수 있다. 초기화 방법은 페이로드 영역에 저장된 파라미터들을 사용하여 호스트 장치에 의해 프로그램될 수 있다. DEVICE_INIT_CHECK_STATUS 메시지는 각 장치, 일그룹의 장치들', 또는 전체 시스템의 초기화 완료를 체크하기 위해 발행될 수 있다.
도 7은 각각 시스템에 의해 지원될 수 있는 현재 이용되는 장치들의 수 및 장치들의 수에 의해 표현되는 한 유형의 현재 초기화 파라미터 및 자원 능력 파라미터를 사용하여 초기화를 시작할지 여부를 판정하기 위한, 장치들(230, 250, 270)(도 2에서), 장치들(304, 306, 308, 310)(도 3에서) 또는 장치들(404, 408, 410)과 같은 장치의 흐름도(700)의 일예를 도시한 것이다. 702에서, 자원 능력 파라미터("Y"로 나타낸) 및 현재 초기화 파라미터("X"로 나타낸)를 포함하는 지령을 수신한 후에, 흐름도가 시작된다. 704에서, 장치가 현재 초기화하고 있는지가 판정된다. 그러하다면, 장치는 장치가 초기화 (블록(704)으로 루프 백(look back)하는 도 7에 흐름도로 나타낸 바와 같이)를 완료할 때까지 지령을 보전할 수 있다.
706에서, 장치가 이미 초기화되었는지가 판정된다. 장치가 이미 초기화되어있다면, 흐름도는 712로 간다. 장치가 초기화되지 않았다면, 장치는 708에서 X < Y인지 판정한다. X = Y이라면, 이것은 자원 능력이 전체적으로 이용되고 있고 어떠한 다른 장치도 초기화를 시작할 수 없음을 반영한다. 총합이 시스템의 능력을 초과하지 않는다면, 제 1 장치는 블록(710)에서 초기화될 수 있다. 또한, 현재 초기화 파라미터("X")는 장치가 초기화되고 있음을 반영하기 위해 산술 연산에 의해 수정될 수 있다. 예를 들면, 현재 초기화 파라미터 "X"는 "X"가 710에 도시된 바와 같이, 현재 초기화하는 장치들의 수를 나타낸다면, +1만큼 변경될 수 있다(이를테면 +1만큼 증가된다). 이어서, 흐름도는 712로 가고, 이에 의해서 장치는 현재 초기화 파라미터를 수정하여 이의 Tx 포트로부터 브로드캐스트 CCMD를 전송한다.
712에서 X > Y이라면, 장치는 현재 초기화 파라미터를 변경하지 않고 이의 Tx 포트로부터 브로드캐스트 CCMD를 전송한다. 체인 토폴로지를 가진 시스템에서, 주어진 조건에서, 지령은 장치(404)에서 호스트 장치(402)로 다시 보내진(상향)될 수 있어 하향 경로 장치들(406, 408)을 거치는 경로를 절약한다. 도 4에서 장치 #2(406)를 거치는 단축로는 이러한 경우를 예시한다. 714에서, 흐름도는 종료한다.
호스트 및 장치들에 의한 지령들의 처리에 대한 예. 예에서, 장치들 1 - N 중 어느 것도 초기화되지 않으며 호스트 장치는 한번에 두 개의 장치들을 초기화할 수 있다. 초기화를 시작하기 위해서, 호스트 장치는 2개의 장치들을 초기화하는 파워 능력을 나타내는 정보(하나 이상의 파라미터들을 포함하는)를 포함하는 지령을 보낼 수 있다. 지령은 초기화되지 않은 장치 1에 보내진다. 장치 1은 지령 내 정보를 검사하고 초기화를 시작할 수 있는 것으로 판정하고(지령 내 정보가 2개의 장치들이 초기화할 수 있음을 나타내고 있기 때문에), 초기화를 시작한다. 이어서, 장치 1은 지령 내 정보를 한 장치가 초기화할 수 있음을 나타내게 수정하여, 지령을 보낸다. 초기화되지 않은 장치 2는 지령을 수신한다. 장치 2는 지령 내 정보를 검사하고, 초기화를 시작할 수 있는 것으로 판정하고(지령 내 정보가 한 장치가 초기화할 수 있음을 나타내고 있기 때문에), 초기화를 시작한다. 이어서, 장치 2는 지령 내 정보를 어떠한 장치도 초기화할 수 없음을 나타내게 수정하여, 지령을 보낸다. 후속 장치들(장치 3 내지 장치 N)은 지령을 수신하고, 초기화할 수 없는 것으로 판정하고 지령을 다음 장치에 보낸다. 종국에, 호스트 장치가 지령을 수신한다.
호스트 장치는 장치들에 후속 지령을 발행할 수 있다. 후속 지령은 장치들이 초기화할지를 판정하기 위한 정보를 포함할 수 있다. 호스트 장치는 후속 지령을 장치들에 보낼 수 있다. 장치가 초기화하고 있다면, 장치는 후속 지령을 보전할 수 있다(예를 들면 블록(704)에 도시된 바와 같이). 장치가 초기화를 마친후에, 장치는 후속 지령(초기화할지 판정하기 위해 장치에 의해 필요로 되는 정보와 함께)을 다음 장치에 보낼 수 있다. 이 순서는 일부 또는 모든 장치들이 초기화될 때까지 계속될 수 있다.
도 8은 또 다른 유형의 현재 초기화 파라미터 및 자원 능력 파라미터를 사용하여 초기화를 시작할지 여부를 판정하기 위한 장치들(230, 250, 270)(도 2에서), 장치들(304, 306, 308, 310)(도 3에서) 혹은 장치들(404, 408, 410)와 같은 장치의 흐름도(800)의 또 다른 예를 도시한 것이다. 802에서, 지령(자원 능력 파라미터("Y"로 나타낸) 및 현재 초기화 파라미터("X"로 나타낸)를 포함하는)을 시작한 후에, 흐름도가 시작된다. 804에서, 장치가 현재 초기화하고 있는지가 판정된다. 그러하다면, 장치는 장치가 초기화(블록(804)로 루프 백하는 도 8에 흐름도로 나타낸)를 완료할 때까지 지령을 보전할 수 있다.
806에서, 장치가 이미 초기화되어있는가 판정된다. 장치가 이미 초기화되어 있다면, 흐름도는 814로 간다. 장치가 초기화되지 않았다면, 장치는 장치 초기화 요건(Dev_Init_Req)에 액세스한다. 자원 능력 파라미터를 파워 시스템에 의해 출력될 수 있는 총 전류량과 같은 전기 파라미터로 나타낸다면, 장치는 초기화할지 여부를 판정하기 위해 자신의 전기 파라미터(이를테면 초기화하는데 필요한 전류와 같은)에 액세스할 수 있다. Dev_Init_Req에 액세스한 후에, 장치는 초기화가 시스템의 능력을 초과하지 않을 것인지 판정할 수 있다. 특히, 장치는 Dev_Init_Req(저장요소(234)에 저장될 수 있는)를 현재 초기화 파라미터("X")를 더하고 블록(810)에서 이를 자원 능력 파라미터("Y")와 비교할 수 있다. 특히, 제 1 장치(230)를 초기화하는 전류량이 100 mA이고 "X" = 200 mA, 및 "Y" = 500 mA이라면, 제 1 장치(230)는 200 mA에 100 mA를 더할 수 있다(제 1 장치(230)가 초기화를 시작한다면, 장치들을 초기화하는데 현재 필요한 전류량). 파워 시스템에 의해 출력될 수 있는 총 전류량을 초과하는지 판정하기 위해 총 300 mA가 500 mA와 비교될 수 있다.
X + Dev_Init_Req > Y이라면, 이때 장치를 초기화하는 것은 시스템의 능력을 초과할 것이며, 따라서 흐름도는 블록(814)로 간다. X + Dev_Init_Req < Y이라면, 이때 장치를 초기화하는 것은 시스템의 능력을 초과하지 않을 것이며, 따라서 장치는 812에서 초기화를 시작한다. 또한, 현재 초기화 파라미터("X")는 장치가 초기화되고 있음을 반영하기 위해 수정될 수 있다. 예를 들면, 812에서, 현재 초기화 파라미터 "X"는 "X"가 현재 초기화하는 장치들에 의해 인출된 총 전류를 나타낸다면, Dev_Init_Req만큼 증가될 수 있다. 이어서, 흐름도는 814로 가고, 이에 의해서 장치는 현재 초기화 파라미터를 수정하여 이의 Tx 포트로부터 브로드캐스트 CCMD를 전송한다. 이어서, 흐름도(800)는 816에서 종료한다.
도 9 및 도 10는 호스트 장치(910)가 제 1 스테이지(도 7에 도시된)에서 장치 #1 및 장치 #2(그룹 A)를 초기화하는 것을 시작하고 제 2 스테이지(도 8에서 도시된)에서 장치 #3, 장치 #4, 및 장치 #5(그룹 B)를 초기화하는 것을 시작하는 초기화의 순서를 도시한 것이다. 제 1 스테이지(도 9에 도시된)에 있어서, 호스트 장치(910)는 X = 0 및 Y = 2(도 7에 기술된 바와 같은 방법이 사용되는 것으로 가정하고)로 하여 DEVICE_INIT_START을 발행한다. 도 6에 장치들 중 어느 것이든 브로드캐스트 CCMD을 수신할 때, 장치는 X 및 Y를 체크한다. X < Y이면, 장치는 이의 장치 초기화를 시작하고 아니면 아무 것도 하지 않는다. 장치 #1가 X < Y인 CCMD를 수신할 때, 이 장치는 장치 초기화를 시작하고, X의 값을 1만큼 증분하고 업데이트된 브로드캐스트 CCMD를 이의 Tx 포트로부터 전송한다. 장치 #2의 행동은 장치 #1의 것과 동일하다. 장치 #3 내지 장치 #5가 X = Y = 2인 브로드캐스트 CCMD을 수신할 때, 장치 #3 내지 장치 #5는 장치 초기화를 시작하지 않는다. 마지막으로, 업데이트된 브로드캐스트 CCMD는 호스트 장치(910)에 전송되지 않는다. 이후에, 호스트 장치(910)는 DEVICE_INIT_CHECK_STATUS를 발행하거나 다음 한 그룹의 장치들(다음 단락에 기술된 바와 같은)에 대한 DEVICE_INIT_START를 보낼 수 있다. 장치가 이를 장치 초기화 동안 수신할 때, 장치는 초기화를 완료한 후에 지령을 전송한다. 초기화를 시작하거나 완료하지 않았을 때, 장치는 즉시 지령을 전송할 수 있다.
도 10는 장치 초기화 프로세스의 예의 제 2 스테이지를 도시한 것이다. 이때, 호스트 장치(910)는 3개의 장치들을 초기화하기 위해 X = 0 및 Y = 3인 DEVICE_INIT_START을 발행한다. 장치 #1가 브로드캐스트 CCMD을 수신하였을 때, 그리고 이어서 자신의 초기화가 완료된다면, 이 장치는 CCMD를 다음 장치에 전송할 것이다. 장치가 여전히 초기화하고 있다면, 장치는 자신의 초기화를 완료하고 완료시 CCMD를 다음 장치에 전송할 때까지 CCMD를 보전할 것이다. 장치 #2의 행동은 장치 #1의 것과 동일하다. 장치 #3가 지령을 수신하였을 때, 이 장치는 X < Y이므로 이의 장치 초기화를 시작한다. 또한, 장치 #3은 X를 1만큼 증분하고 업데이트된 지령(업데이트된 현재 초기화 파라미터와 함께)을 이의 Tx 포트로부터 전송한다. 장치 #4 및 장치 #5는 장치 #3과 동일하게 동작한다. 호스트 장치(910)가 지령한 후에, 호스트 장치(910)는 DEVICE_INIIT_CHECK_STATUS(도 9에 도시된 제 1 스테이지와 동일한)을 발행하고, 호스트 장치(910)가 장치들의 총 수가 5임을 이미 알고 있으므로 종료됨을 안다. DEVICE_INIT_START을 수신하는 장치의 동작 흐름은 도 7처럼 요약된다. 호스트 장치(910)는 한번에 단일 장치 초기화(순차적 초기화)의 경우에, 혹은 POINT TO POINT 연결에서처럼 단일 장치 연결의 경우에 DEVICE_INIT_START에 대해 X = 0 및 Y = 1을 설정한다.
또 다른 실시예에서, 시스템 내 장치를 동작시키는 방법이 제공되며, 방법은 장치가 사용할 수 있는 자원의 양의 표시를 나타내는 지령을 저장 장치 통신 인터페이스를 통해 수신하는 것을 포함한다. 위에 논의된 바와 같이, 표시는 몇가지 형태들일 수 있고, 하나 이상의 파라미터들, 또는 2이상의 파라미터들을 포함한다. 예를 들면, 표시의 형태는 시스템의 현재 초기화를 나타내는 현재 초기화 파라미터 및/또는 시스템의 적어도 일부의 자원 능력들을 나타내는 자원 능력 파라미터일 수 있다.
방법은 자원 능력 파라미터 및/또는 현재 초기화 파라미터와 같은, 장치가 사용할 수 있는 자원들의 량의 표시에 기초하여 장치의 동작을 시작할지를 장치에 의해 판정하고, 동작을 시작할지 여부를 판정한 것에 기초하여 장치를 동작시키는 것을 더 포함할 수 있다.
장치를 동작시키기 위한 방법은 장치의 초기화의 동작을 포함할 수 있고, 동작을 시작할지 여부를 판정하는 것은 초기화를 시작할지 판정하는 것을 포함한다. 장치는 장치가 사용할 수 있는(이를테면 자원 능력 파라미터 및/또는 현재 초기화 파라미터) 자원들의 량의 표시에 기초하여 초기화를 시작할지 여부를 판정할 수 있다. 초기화를 위한 지령은 자원 능력 파라미터 및/또는 현재 초기화 파라미터와 같은, 장치가 사용할 수 있는 자원들의 량의 표시를 포함할 수 있고, 자원 능력 파라미터는 시스템의 적어도 일부의 파워 능력들을 사용하여 동시에 초기화할 수 있는 장치들의 수를 나타낸다. 장치가 현재 초기화하고 있다면, 방법은 장치가 초기화를 완료한 후까지, 지령을 다른 장치에 보내기를 기다리는 것을 더 포함할 수 있다. 방법에서, 동작을 시작할지 여부를 판정하는 것은 자원 능력 파라미터, 현재 초기화 파라미터, 및 장치의 자원 요건에 기초할 수 있다.
현재 초기화 파라미터는 초기화를 위해 현재 이용되는 총 자원들에 대한 누적 값을 나타낼 수 있다. 그리고, 자원 능력 파라미터는 시스템의 적어도 일부의 총 전류(mA) 출력 능력을 나타낼 수 있다. 초기화를 시작할지 여부를 판정하는 것은 초기화를 위해 장치의 자원 요건에 액세스하고, 현재 초기화 파라미터, 자원 능력 파라미터, 및 장치의 자원 요건에 기초하여 초기화를 시작할지 여부를 판정하는 것을 포함할 수 있다.
초기화에서, 장치는 시스템의 현재 동작을 나타내는 현재 동작 파라미터를 수신하고, 장치는 자원 능력 파라미터 및 현재 동작 파라미터에 기초하여 동작을 시작할지 여부를 판정한다. 장치는 자원 능력 파라미터, 현재 동작 파라미터, 및 장치의 자원 요건에 기초하여 동작을 시작할지 여부를 판정할 수 있다. 그리고, 현재 동작 파라미터는 동작을 위해 현재 이용되는 총 자원들에 대한 누적 값을 나타낼 수 있다. 자원 능력 파라미터는 시스템의 적어도 일부의 총 전류(mA) 출력 능력을 나타낼 수 있다. 장치는 동작을 수행하기 위해 장치의 자원 요건에 액세스하고, 현재 동작 파라미터, 자원 능력 파라미터, 및 장치의 자원 요건에 기초하여 동작을 수행하기를 시작할지를 판정함으로써 동작을 시작할지를 판정할 수 있다.
자원 능력 파라미터는 시스템의 적어도 일부의 파워 능력들을 사용하여 동작을 동시에 수행할 수 있는 장치들의 수를 나타낼 수 있다. 장치가 동작을 현재 수행하고 있다면, 장치는 장치가 지령을 다른 장치에 보내는 동작을 수행하는 것을 완료한 후까지 기다리 수 있다.
또 다른 실시예에서, 저장 장치 통신 인터페이스 및 저장 장치 통신 인터페이스와 통신하는 제어기를 포함하는 장치가 제공된다. 제어기는 장치가 사용할 수 있는 자원들의 량의 표시를 포함하는 지령을 저장 장치 통신 인터페이스를 통해 수신하게 동작한다. 표시는 몇가지 형태들일 수 있고 하나 이상의 파라미터들, 또는 2이상의 파라미터들을 포함할 수 있다. 예를 들면, 표시의 형태는 시스템 의 현재 초기화를 나타내는 현재 초기화 파라미터 및/또는 시스템의 적어도 일부 의 자원 능력들을 나타내는 자원 능력 파라미터일 수 있다.
제어기는 자원 능력 파라미터 및/또는 현재 초기화 파라미터와 같은, 장치가 사용할 수 있는 자원들의 량의 표시에 기초하여 동작을 시작할지 여부를 판정하고 동작을 시작할지 여부를 판정한 것에 기초하여 장치를 동작시키게 더욱 동작할 수 있다.
장치의 동작은 초기화를 포함할 수 있고, 제어기는 초기화를 시작할 여부를 판정하게 동작한다. 또한, 지령은 현재 초기화하고 있는 복수의 장치들을 나타내는 현재 초기화 파라미터를 포함할 수 있고, 제어기는 자원 능력 파라미터 및 현재 초기화 파라미터에 기초하여 초기화를 시작할지 여부를 판정하게 동작할 수 있다. 장치는 메모리 장치를 포함한다.
지령은 자원 능력 파라미터 및 현재 초기화 파라미터를 포함할 수 있다. 자원 능력 파라미터는 시스템의 적어도 일부의 파워 능력들을 사용하여 동시에 초기화할 수 있는 장치들의 수를 나타낼 수 있다. 그리고, 장치가 현재 초기화하고 있다면, 제어기는 장치가 초기화를 완료한 후까지, 또 다른 장치에 지령을 보내기를 기다리게 더욱 동작할 수 있다.
또한, 제어기는 자원 능력 파라미터, 현재 초기화 파라미터, 및 장치의 자원 요건에 기초하여 동작을 시작할지 여부를 판정하게 동작할 수 있다. 그리고, 현재 초기화 파라미터는 초기화를 위해 현재 이용되는 총 자원들에 대한 누적 값을 나타낼 수 있다. 또한, 자원 능력 파라미터는 시스템의 적어도 일부의 총 전류 (mA) 출력 능력을 나타낼 수 있고, 제어기는 초기화를 위해 장치의 자원 요건에 액세스하고, 현재 초기화 파라미터, 자원 능력 파라미터, 및 장치의 자원 요건에 기초하여 초기화를 시작할지 여부를 판정함으로써 초기화를 시작할지 여부를 판정하게 동작할 수 있다.
장치는 시스템의 현재 동작을 나타내는 현재 동작 파라미터를 수신할 수 있고, 제어기는 자원 능력 파라미터 및 현재 동작 파라미터에 기초하여 동작을 시작할 여부를 판정할 수 있다. 제어기는 자원 능력 파라미터, 현재 동작 파라미터, 및 장치의 자원 요건에 기초하여 동작을 시작할지 여부를 판정하게 구성될 수 있다. 현재 동작 파라미터는 동작을 위해 현재 이용되는 총 자원들에 대한 누적 값을 나타낼 수 있다. 그리고, 자원 능력 파라미터는 시스템의 적어도 일부의 총 전류 (mA) 출력 능력을 나타낼 수 있고, 제어기는 동작을 수행하기 위한 장치의 자원 요건에 액세스하고, 현재 초기화 파라미터, 자원 능력 파라미터, 및 장치의 자원 요건에 기초하여 동작을 수행하는 것을 시작할지 여부를 판정함으로써 동작을 시작할지 여부를 판정하게 동작할 수 있다.
자원 능력 파라미터는 시스템의 적어도 일부의 파워 능력들을 사용하여 동작을 동시에 수행할 수 있는 장치들의 수를 나타낼 수 있다. 장치가 현재 동작을 수행하고 있다면, 제어기는 장치가 동작을 수행하는 것을 완료후 까지 지령을 또 다른 장치에 보내는 것을 기다리게 더욱 구성될 수 있다.
또 다른 실시예는 호스트 장치가 시스템의 적어도 일부의 초기화를 제어하는 방법을 포함하며, 방법은 장치에 초기화할 것을 지시하는 것을 나타내며 것으로 시스템 내 하나 이상의 장치들이 사용할 수 있는 자원들의 량의 표시, 이를테면 시스템의 적어도 일부의 자원 능력들을 나타내는 자원 능력 파라미터를 포함하는 것인 지령을 호스트 장치에 의해 발생하는 단계를 포함한다. 방법은 호스트 장치 통신 인터페이스를 사용하여 호스트 장치로부터 지령을 보내는 것을 더 포함한다.
방법에서 지령은 시스템의 현재 초기화를 나타내는 현재 초기화 파라미터를 포함할 수 있다. 자원 능력 파라미터는 시스템의 적어도 일부의 파워 능력들을 사용하여 동시에 초기화할 수 있는 장치들의 수를 나타낼 수 있고, 현재 초기화 파라미터는 시스템에서 현재 초기화하는 장치들의 수를 나타낼 수 있다. 현재 초기화 파라미터는 시스템의 초기화를 위해 현재 이용되는 총 자원들에 대한 누적 값을 나타낼 수 있다.
방법은 호스트 장치 및 복수의 장치들을 포함하는 시스템에 대해 사용될 수 있다. 그리고, 방법에서 사용되는 지령은 복수의 장치들에의 브로드캐스트 지령을 포함할 수 있다. 시스템은 링, 허브, 및 체인으로 구성된 그룹에서 선택된 토폴로지와 같은 토폴로지를 포함할 수 있다.
방법은 시스템 내 장치들의 초기화 완료를 평가하기 위한 상태 지령을 발생하고 상태 지령을 호스트 장치 통신 인터페이스를 사용하여 보내는 것을 포함할 수 있다.
또 다른 실시예는 통신 인터페이스 및 통신 인터페이스와 통신하는 제어기를 포함하는 호스트 장치에 대한 것으로, 제어기는 장치에 초기화할 것을 지시하는 것을 나타내며 것으로 시스템 내 하나 이상의 장치들이 사용할 수 있는 자원들의 량의 표시, 이를테면 시스템의 적어도 일부의 자원 능력들을 나타내는 자원 능력 파라미터를 포함하는 것인 지령을 발생하게 동작한다. 제어기는 통신 인터페이스를 사용하여 호스트 장치로부터 지령을 보내게 더욱 동작한다.
호스트 장치로부터 보내진 지령은 시스템의 현재 초기화를 나타내는 현재 초기화 파라미터를 더 포함할 수 있다. 자원 능력 파라미터는 시스템의 적어도 일부의 파워 능력들을 사용하여 동시에 초기화할 수 있는 장치들의 수를 나타낼 수 있고 현재 초기화 파라미터는 시스템에 현재 초기화하는 장치들의 수를 나타낼 수 있다. 현재 초기화 파라미터는 초기화를 위해 현재 이용되는 총 자원들에 대한 누적 값을 나타낼 수 있다.
호스트 장치로부터 보내진 지령은 복수의 장치들에 브로드캐스트 지령을 포함할 수 있다. 그리고, 복수의 장치들은 링, 허브, 및 체인으로 구성된 그룹에서 선택된 토폴로지로 배열될 수 있다.
호스트 장치 내 제어기는 어느 장치들이 현재 초기화하고 있는지를 평가하기 위한 상태 지령을 발생하고 상태 지령을 통신 인터페이스를 사용하여 보내게 더욱 동작할 수 있다. 또한, 호스트 장치 내 제어기는 시스템 내 복수의 장치들에 초기화 개시 지령과 초기화 끝에서 복수의 장치들에게 상태 지령을 보내게 동작할 수 있고, 복수의 장치들은 각각의 장치의 초기화의 완료까지 자동으로 초기화 개시 지령을 보전할 수 있다.
호스트 장치 내 제어기는 장치가 현재 초기화하고 있는지에 관계없이 시스템 내 장치에 초기화 개시 지령을 보내게 동작할 수 있고 장치가 초기화 개시 지령을 수신하였을 때 현재 초기화한다면, 장치는 시스템 내 다른 장치에 초기화 개시 지령을 보내기 전에 장치가 초기화를 완료한 후까지 기다릴 수 있다.
전술한 상세한 설명은 발명의 정의로서가 아니라 발명이 취할 수 있는 선택된 형태들의 예시로서 이해되게 한 것이다. 청구된 발명의 범위를 정의하고자 하는 것은 모든 등가물들을 포함해서 다음의 청구항들뿐이다.
210: 호스트 장치
212: 제어기
214: 저장요소
216, 236, 256, 276: 통신 인터페이스
232, 252, 272: 제어기
234, 254, 274: 저장요소
230: 제 1 장치
250: 제 2 장치
270: N 장치
302: 호스트
502: 헤더
504: 인수
506: 페이로드

Claims (33)

  1. 시스템에서 장치를 동작시키는 방법에 있어서,
    상기 장치에서 상기 시스템의 적어도 일부의 현재 자원 능력들을 나타내는 정보를 포함하는 지령을 저장 장치 통신 인터페이스를 통해 수신하는 단계;
    상기 정보에 기초하여 상기 장치의 동작을 시작할지를 상기 장치에 의해 판정하는 단계; 및
    상기 동작을 시작할지 여부를 판정한 것에 기초하여 상기 장치를 동작시키는 단계를 포함하는, 방법.
  2. 제 1항에 있어서, 동작을 시작할지 여부를 판정하는 단계는 상기 장치가 상기 동작을 시작할지 여부를 판정하기 위해 상기 지령의 정보 및 상기 동작을 수행하기 위해 상기 장치에 의해 요구되는 자원들의 량을 분석하는 단계를 포함하는, 방법.
  3. 제 2항에 있어서, 상기 동작을 수행하기 위해 상기 장치에 의해 요구되는 상기 자원들의 량이 상기 현재 자원 능력들보다 크다면, 상기 장치는 상기 동작을 수행하지 않는, 방법.
  4. 제 1항에 있어서, 상기 장치의 상기 동작은 초기화를 포함하며, 상기 동작을 시작할지 여부를 판정하는 단계는 초기화를 시작할지 여부를 판정하는 단계를 포함하는, 방법.
  5. 제 4항에 있어서, 상기 정보의 적어도 일부는 장치들의 수를 나타내는 것인, 방법.
  6. 제 5항에 있어서, 상기 정보의 적어도 일부는 현재 초기화될 수 있는 장치들의 수를 나타내는 것인, 방법.
  7. 제 4항에 있어서, 현재 자원 능력들을 나타내는 상기 정보는 전기 파라미터를 포함하는 것인, 방법.
  8. 제 7항에 있어서, 상기 전기 파라미터는 파워를 포함하는, 방법.
  9. 제 4항에 있어서, 초기화를 시작하기로 판정하는 것에 응하여 상기 정보의 적어도 일부를 수정하는 단계를 더 포함하는, 방법.
  10. 제 9항에 있어서, 상기 정보는 하나 이상의 파라미터들을 포함하며, 상기 정보의 적어도 일부를 수정하는 단계는 상기 하나 이상의 파라미터들 중 적어도 하나에 대해 산술 동작을 수행하는 단계를 포함하는, 방법.
  11. 제 10항에 있어서, 상기 적어도 한 파라미터에 대해 상기 산술 동작을 수행하는 단계는 상기 장치의 현재 초기화를 나타내기 위해 1만큼 상기 파라미터의 값을 변경하는 단계를 포함하는, 방법.
  12. 저장 장치 통신 인터페이스; 및
    상기 저장 장치 통신 인터페이스와 통신하는 제어기를 포함하고, 상기 제어기는 상기 시스템의 적어도 일부의 현재 자원 능력들을 나타내는 정보를 포함하는 지령을 상기 저장 장치 통신 인터페이스를 통해 상기 장치에서 수신하고,
    상기 정보에 기초하여 상기 장치의 동작을 시작할지 여부를 상기 장치에 의해 판정하고,
    상기 동작을 시작할지 여부를 판정한 것에 기초하여 상기 장치를 동작시키게 동작하는 것인, 장치.
  13. 제 12항에 있어서, 상기 제어기는 상기 동작을 시작할지 여부를 판정하기 위해서 상기 지령 내 상기 정보 및 상기 동작을 수행하기 위해 상기 장치에 의해 요구되는 자원들의 량을 분석하게 구성되는, 장치.
  14. 제 13항에 있어서, 상기 동작을 수행하기 위해 상기 장치에 의해 요구되는 자원들의 량이 상기 현재 자원 능력들보다 크다면, 상기 제어기는 상기 동작을 수행하지 않는 것인, 장치.
  15. 제 12항에 있어서, 상기 장치의 상기 동작은 초기화를 포함하며, 상기 제어기는 초기화를 시작할지 여부를 판정하게 구성되는, 장치.
  16. 제 15항에 있어서, 상기 정보의 적어도 일부는 장치들의 수를 나타내는 것인, 장치.
  17. 제 16항에 있어서, 상기 정보의 적어도 일부는 현재 초기화하는 장치들의 수를 나타내는 것인, 장치.
  18. 제 15항에 있어서, 현재 자원 능력들을 나타내는 상기 정보는 전기 파라미터를 포함하는 것인, 장치.
  19. 제 15항에 있어서, 상기 제어기는 초기화를 시작하기로 판정하는 것에 응하여 상기 정보의 적어도 일부를 수정하게 더욱 구성되는, 장치.
  20. 제 19항에 있어서, 상기 정보는 하나 이상의 파라미터들을 포함하며; 상기 제어기는 상기 하나 이상의 파라미터들 중 적어도 하나에 대해 산술 동작을 수행함으로써 상기 정보의 적어도 일부를 수정하게 구성되는, 장치.
  21. 제 20항에 있어서, 상기 제어기는 상기 장치의 현재 초기화를 나타내기 위해 1만큼 상기 파라미터의 값을 변경함으로써 상기 적어도 한 파라미터에 대해 상기 산술 동작을 수행하게 구성되는, 장치.
  22. 호스트 장치가 시스템의 적어도 일부의 동작을 제어하는 방법에 있어서,
    상기 장치에 동작하게 지시하는 것을 나타내며 것으로 상기 호스트 장치의 현재 자원 능력들을 나타내는 정보를 포함하는 것인 지령을 상기 호스트 장치에 의해 발생하는 단계; 및
    호스트 장치 통신 인터페이스를 사용하여 상기 호스트 장치로부터 상기 지령을 보내는 단계를 포함하는, 방법.
  23. 제 22항에 있어서, 현재 자원 능력들을 나타내는 상기 정보는 전기 파라미터를 포함하는, 방법.
  24. 제 23항에 있어서, 상기 전기 파라미터는 파워를 포함하는, 방법.
  25. 제 22항에 있어서,
    상기 동작은 초기화를 포함하며, 상기 지령은 초기화하는 지령을 포함하는, 방법.
  26. 제 25항에 있어서, 상기 정보의 적어도 일부는 장치들의 수를 나타내는 것인, 방법.
  27. 제 26항에 있어서, 상기 정보의 적어도 일부는 현재 초기화될 수 있는 장치들의 수를 나타내는 것인, 방법.
  28. 호스트 장치에 있어서,
    통신 인터페이스; 및
    상기 통신 인터페이스와 통신하는 제어기를 포함하며,
    상기 제어기는 상기 장치에 동작하게 지시하는 것을 나타내며 것으로 상기 호스트 장치의 현재 자원 능력들을 나타내는 정보를 포함하는 것인 지령을 발생하고, 상기 통신 인터페이스를 사용하여 상기 지령을 보내게 동작하는 것인, 호스트 장치.
  29. 제 28항에 있어서, 현재 자원 능력들을 나타내는 상기 정보는 전기 파라미터를 포함하는, 호스트 장치.
  30. 제 28항에 있어서, 상기 전기 파라미터는 파워를 포함하는, 호스트 장치.
  31. 제 28항에 있어서, 상기 지령은 초기화하는 지령을 포함하는, 호스트 장치.
  32. 제 31항에 있어서, 상기 정보의 적어도 일부는 장치들의 수를 나타내는, 호스트 장치.
  33. 제 32에 있어서, 상기 정보의 적어도 일부는 현재 초기화될 수 있는 장치들의 수를 나타내는, 호스트 장치.
KR1020127013983A 2009-12-14 2010-12-13 자동 및 제어가능한 시스템 동작 KR20120106742A (ko)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
US28628109P 2009-12-14 2009-12-14
US61/286,281 2009-12-14
US28807809P 2009-12-18 2009-12-18
US61/288,078 2009-12-18
US12/706,519 2010-02-16
US12/706,519 US8856501B2 (en) 2009-12-14 2010-02-16 Method and system for controlling operation of interconnected devices by circulating host capability without a centralized manager

Publications (1)

Publication Number Publication Date
KR20120106742A true KR20120106742A (ko) 2012-09-26

Family

ID=44144218

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020127013983A KR20120106742A (ko) 2009-12-14 2010-12-13 자동 및 제어가능한 시스템 동작

Country Status (7)

Country Link
US (1) US8856501B2 (ko)
EP (1) EP2513744B1 (ko)
JP (1) JP2013513871A (ko)
KR (1) KR20120106742A (ko)
CN (1) CN102656538B (ko)
TW (1) TW201131380A (ko)
WO (1) WO2011081885A1 (ko)

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003068290A2 (en) 2002-02-11 2003-08-21 Antares Pharma, Inc. Intradermal injector
WO2006079064A1 (en) 2005-01-24 2006-07-27 Antares Pharma, Inc. Prefilled needle assisted jet injector
US9144648B2 (en) 2006-05-03 2015-09-29 Antares Pharma, Inc. Injector with adjustable dosing
WO2007131013A1 (en) 2006-05-03 2007-11-15 Antares Pharma, Inc. Two-stage reconstituting injector
EP2268342B1 (en) 2008-03-10 2015-09-16 Antares Pharma, Inc. Injector safety device
WO2010017285A2 (en) 2008-08-05 2010-02-11 Antares Pharma, Inc. Multiple dosage injector
KR101597672B1 (ko) 2009-03-20 2016-02-25 앤태어스 파머, 인코퍼레이티드 위험 약제 주사 장치
JP2013017090A (ja) * 2011-07-05 2013-01-24 Toshiba Corp 送受信装置およびこれを中継するシステム
US9220660B2 (en) 2011-07-15 2015-12-29 Antares Pharma, Inc. Liquid-transfer adapter beveled spike
US8496619B2 (en) 2011-07-15 2013-07-30 Antares Pharma, Inc. Injection device with cammed ram assembly
EP4327849A3 (en) 2012-03-06 2024-04-24 Antares Pharma, Inc. Prefilled syringe with breakaway force feature
US9950125B2 (en) 2012-04-06 2018-04-24 Antares Pharma, Inc. Needle assisted jet injection administration of testosterone compositions
WO2013169800A1 (en) 2012-05-07 2013-11-14 Antares Pharma, Inc. Injection device with cammed ram assembly
CN103577366B (zh) 2012-07-19 2016-09-14 财团法人工业技术研究院 便携式电子装置及其数据传输方法
PT2953667T (pt) 2013-02-11 2020-01-28 Antares Pharma Inc Dispositivo de injeção a jato auxiliado por agulha tendo força de gatilho reduzida
JP6030803B2 (ja) 2013-03-11 2016-11-24 アンタレス・ファーマ・インコーポレーテッド ピニオンシステムを有する用量注射器
WO2014165136A1 (en) 2013-03-12 2014-10-09 Antares Pharma, Inc. Constant volume prefilled syringes and kits thereof
KR20140114103A (ko) * 2013-03-18 2014-09-26 엘에스산전 주식회사 Plc 시스템에서 증설 모듈의 초기화 방법
KR102188062B1 (ko) 2014-02-28 2020-12-07 삼성전자 주식회사 데이터 저장 장치의 동작 방법과 상기 데이터 저장 장치를 포함하는 시스템의 동작 방법
US9900399B2 (en) * 2014-11-03 2018-02-20 Electronics And Telecommunications Research Institute Method for operating machines and system using the same
CN105991111B (zh) * 2015-03-02 2019-05-28 华为技术有限公司 一种时序预测电路及方法
TWI545431B (zh) * 2015-04-30 2016-08-11 群暉科技股份有限公司 用來於一電子系統進行電源管理之方法與裝置
US10127172B2 (en) 2015-06-22 2018-11-13 Qualcomm Technologies International, Ltd. Single SDIO interface with multiple SDIO units
US9811485B2 (en) * 2015-06-22 2017-11-07 Qualcomm Incorporated Single relay SDIO interface with multiple SDIO units
US10510382B2 (en) 2016-11-11 2019-12-17 Qualcomm Incorporated Hardware automated link control of daisy-chained storage device
US10164855B2 (en) * 2017-02-15 2018-12-25 Bank Of America Corporation System for dynamically managing resource connectivity
US10356074B2 (en) 2017-02-15 2019-07-16 Bank Of America Corporation Computing system for resource management based on resource attributes and predicting user actions
US10476813B2 (en) 2017-02-15 2019-11-12 Bank Of America Corporation Computerized system for identifying and redistributing complementary resources
US10990912B2 (en) 2017-02-15 2021-04-27 Bank Of America Corporation System for identification and integration of like resources and configuring resources for common use
US11068295B2 (en) * 2019-04-12 2021-07-20 Ghost Locomotion Inc. Device operation across multiple operating system modalities
JP7266628B2 (ja) * 2021-03-19 2023-04-28 株式会社日立製作所 ストレージ装置、ストレージ装置制御方法

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3861614B2 (ja) * 2001-03-29 2006-12-20 ティアック株式会社 インターフェース端子を具備する電子機器
JP2002312081A (ja) * 2001-04-13 2002-10-25 Sanyo Electric Co Ltd インタフェース回路およびディスクドライブ装置
KR100671755B1 (ko) * 2001-04-25 2007-01-22 엘지전자 주식회사 범용직렬버스를 이용한 전원 제어방법
US7062644B2 (en) * 2001-05-30 2006-06-13 International Business Machines Corporation Method, system, and program for initializing a storage device comprising multiple storage units through a storage controller
JP4316838B2 (ja) * 2002-05-16 2009-08-19 富士通株式会社 デバイスドライバおよびデバイス
US7069347B1 (en) * 2002-09-27 2006-06-27 Cypress Semiconductor Corporation Device and method for adapting speed of a USB device based on available power
US7376851B2 (en) * 2002-10-31 2008-05-20 Lg Electronics Inc. Apparatus and method for managing power in computer system
US7818461B2 (en) * 2003-04-28 2010-10-19 Lsi Corporation Systems and methods for allocating an asset to interconnected devices
US7228373B2 (en) * 2004-03-24 2007-06-05 Analog Devices, Inc. Serial digital communication system and method
US20060129856A1 (en) 2004-12-10 2006-06-15 Main Kevin K System and method for expansion card power limiting
US7631126B2 (en) 2007-05-24 2009-12-08 Research In Motion Limited System and method for interfacing an electronic device with a host system
CN101452369B (zh) * 2007-11-29 2012-01-25 国际商业机器公司 用于控制usb大容量存储设备的逻辑单元的方法和系统
JP2009194731A (ja) * 2008-02-15 2009-08-27 Fujitsu Ltd スレーブ装置、並びに、データ伝送システム及び方法
AU2009219346B2 (en) * 2008-02-25 2012-04-19 Tivo Solutions Inc. Stackable communications system

Also Published As

Publication number Publication date
CN102656538B (zh) 2015-11-25
CN102656538A (zh) 2012-09-05
EP2513744B1 (en) 2017-08-16
TW201131380A (en) 2011-09-16
JP2013513871A (ja) 2013-04-22
US8856501B2 (en) 2014-10-07
EP2513744A1 (en) 2012-10-24
US20110145556A1 (en) 2011-06-16
WO2011081885A1 (en) 2011-07-07

Similar Documents

Publication Publication Date Title
KR20120106742A (ko) 자동 및 제어가능한 시스템 동작
CN1902585B (zh) 用于与支持多个设备的网络适配器接口的方法、系统和程序
US20120233266A1 (en) Peer-to-peer group with renegotiation of group owner
CN107926075B (zh) 支持异构环境下的数据通信的系统和方法
CN103180840A (zh) 动态允许和禁止写xfr_rdy
CN115955437B (zh) 一种数据传输方法、装置、设备及介质
CN112416672B (zh) Pcie链路的稳定性测试方法、装置、计算机设备和介质
CN113261249A (zh) 一种数据传输方法、相关设备及计算机存储介质
JP2009182459A (ja) 通信装置、通信システム、通信方法及びプログラム
CN104811431A (zh) 基于并行协议栈实例的数据包处理方法和装置
US9043529B2 (en) Method to facilitate fast context switching for partial and extended path extension to remote expanders
CN114064091A (zh) Ota升级控制方法、装置、电子设备及自动驾驶车辆
CN104683130A (zh) 一种配置堆叠端口的方法和设备
CN113791792A (zh) 应用调用信息的获取方法、设备以及存储介质
CN107911372A (zh) 一种基于逻辑器件实现串口设备接入以太网的方法和装置
JP2009182458A (ja) 通信装置、通信システム、通信方法及びプログラム
CN111371799B (zh) Mctp控制器收发数据的控制方法、装置及设备
JP2009206863A (ja) レイヤ2スイッチシステム及びレイヤ2スイッチ
CN103024087B (zh) 同时支持大容量存储和以太网通信的系统及方法
WO2009084506A1 (ja) 通信装置、通信システム、通信方法及びプログラム
CN111464398A (zh) 自组织无中心的网络高层协议测试方法、设备及存储介质
KR101457611B1 (ko) 블루투스 장치 간 데이터 송수신 방법
JPWO2014016885A1 (ja) 通信装置
EP3631640B1 (en) Communication between field programmable gate arrays
CN107948105B (zh) 控制设备的端口状态的方法和系统

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid