KR102210798B1 - 컴퓨팅 디바이스들에서의 전력 절약 기술들 - Google Patents

컴퓨팅 디바이스들에서의 전력 절약 기술들 Download PDF

Info

Publication number
KR102210798B1
KR102210798B1 KR1020207011950A KR20207011950A KR102210798B1 KR 102210798 B1 KR102210798 B1 KR 102210798B1 KR 1020207011950 A KR1020207011950 A KR 1020207011950A KR 20207011950 A KR20207011950 A KR 20207011950A KR 102210798 B1 KR102210798 B1 KR 102210798B1
Authority
KR
South Korea
Prior art keywords
data
processor
modem
timer
application processor
Prior art date
Application number
KR1020207011950A
Other languages
English (en)
Other versions
KR20200046133A (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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=53368378&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=KR102210798(B1) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by 퀄컴 인코포레이티드 filed Critical 퀄컴 인코포레이티드
Priority to KR1020207027351A priority Critical patent/KR102286208B1/ko
Publication of KR20200046133A publication Critical patent/KR20200046133A/ko
Application granted granted Critical
Publication of KR102210798B1 publication Critical patent/KR102210798B1/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/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
    • 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/3278Power saving in modem or I/O interface
    • 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/3287Power saving characterised by the action undertaken by switching off individual functional units in the computer system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/60Subscription-based services using application servers or record carriers, e.g. SIM application toolkits
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W52/00Power management, e.g. TPC [Transmission Power Control], power saving or power classes
    • H04W52/02Power saving arrangements
    • H04W52/0209Power saving arrangements in terminal devices
    • H04W52/0251Power saving arrangements in terminal devices using monitoring of local events, e.g. events related to user activity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W52/00Power management, e.g. TPC [Transmission Power Control], power saving or power classes
    • H04W52/02Power saving arrangements
    • H04W52/0209Power saving arrangements in terminal devices
    • H04W52/0261Power saving arrangements in terminal devices managing power supply demand, e.g. depending on battery level
    • H04W52/0274Power saving arrangements in terminal devices managing power supply demand, e.g. depending on battery level by switching on or off the equipment or parts thereof
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W52/00Power management, e.g. TPC [Transmission Power Control], power saving or power classes
    • H04W52/02Power saving arrangements
    • H04W52/0209Power saving arrangements in terminal devices
    • H04W52/0261Power saving arrangements in terminal devices managing power supply demand, e.g. depending on battery level
    • H04W52/0287Power saving arrangements in terminal devices managing power supply demand, e.g. depending on battery level changing the clock frequency of a controller in the equipment
    • 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
    • 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
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/70Reducing energy consumption in communication networks in wireless communication networks

Abstract

상세한 설명에서 개시된 양태들은 컴퓨팅 디바이스에서의 전력 절약 기술들을 포함한다. 특히, 컴퓨팅 디바이스에서 모뎀 프로세서에 의해 데이터가 수신됨에 따라, 그 데이터는 모뎀 타이머의 만료시까지 유지된다. 데이터는 그 다음, PCIe 상호접속 버스를 통해 컴퓨팅 디바이스에서의 애플리케이션 프로세서로 패스된다. 모뎀 프로세서로부터의 데이터의 수신 시에, 애플리케이션 프로세서는 그 애플리케이션 프로세서에 의해 유지된 데이터를 PCIe 상호접속 버스를 통해 모뎀 프로세서에 전송한다. 애플리케이션 프로세서는 또한 업링크 타이머를 갖는다. 업링크 타이머의 만료 전에 모뎀 프로세서로부터 아무런 데이터도 수신되지 않는 경우에, 애플리케이션 프로세서는 업링크 타이머의 만료 시에 임의의 수집된 데이터를 모뎀 프로세서에 전송한다. 하지만, 모뎀 프로세서로부터 데이터가 수신되는 경우에, 업링크 타이머는 리셋된다.

Description

컴퓨팅 디바이스들에서의 전력 절약 기술들{POWER SAVING TECHNIQUES IN COMPUTING DEVICES}
우선권 주장
본 출원은, "POWER SAVING TECHNIQUES IN COMPUTING DEVICES" 라는 제목으로 2013년 12월 16일 출원된 미국 가특허 출원 제 61/916,498 호에 대해 우선권을 주장하고, 그것의 전체가 참조에 의해 본원에 통합된다.
본 출원은 또한, "POWER SAVING TECHNIQUES IN COMPUTING DEVICES" 라는 제목으로 2014년 6월 30일 출원된 미국 가특허 출원 제 62/019,073 호에 대해 우선권을 주장하고, 그것의 전체가 참조에 의해 본원에 통합된다.
본 출원은 또한, "POWER SAVING TECHNIQUES IN COMPUTING DEVICES" 라는 제목으로 2014년 12월 12일 출원된 미국 특허 출원 제 14/568,694 호에 대해 우선권을 주장하고, 그것의 전체가 참조에 의해 본원에 통합된다.
기술분야
본 개시의 기술은 일반적으로 컴퓨팅 디바이스에서의 전력 절약 기술들에 관한 것이다.
컴퓨팅 디바이스들은 현대 사회에서 통상적이다. 스마트 폰 또는 태블릿과 같은, 소형의, 모바일 컴퓨팅 디바이스들로부터 수많은 블레이드들 및 메모리 뱅크들을 갖는 큰 서버 팜들까지, 이들 디바이스들은 다양한 다른 베이스 기능들을 제공하면서 수많은 네트워크들에 걸쳐 통신하도록 예상된다. 데스크톱 디바이스들 및 서버들은 일반적으로 전력 소모에 관한 관심들에 영향을 받지 않지만, 모바일 디바이스들은 이용가능한 기능과 배터리 수명 사이의 적절한 균형을 발견하기 위해 항상 고투한다. 즉, 보다 많은 기능들이 제공됨에 따라, 전력 소모가 증가하고, 배터리 수명이 단축된다. 서버들은 마찬가지로 대형 서버 팜들에서 조립될 때 전력 소모 관심사들을 가질 수도 있다.
전력 소모 관심사들과 동반하여, 네트워크 통신들에서의 개선들은 데이터 레이트들을 증가시켰다. 예를 들어, 동선은 보다 높은 대역폭의 광섬유 케이블들로 대체되었고, 셀룰러 네트워크들은 초기의 AMPS (Advanced Mobile Phone System) 및 GSM (Global System for Mobile Communications) 프로토콜들로부터, 훨씬 더 높은 데이터 레이트들을 지원할 수 있는 4G 및 롱 텀 에볼루션 (LTE) 프로토콜들로 발전했다. 데이터 레이트들이 증가함에 따라, 컴퓨팅 디바이스들 내에서 이들 증가된 데이터 레이트들을 프로세싱할 수 있을 필요성이 또한 증가하였다. 따라서, 초기의 모바일 컴퓨팅 디바이스들은 HSIC (High Speed Inter-Chip) 표준, USB (universal serial bus) 표준 (및 특히 USB 2.0), 또는 UART (universal asynchronous receiver/transmitter) 표준에 따라 형성된 내부 버스들을 가졌을 수도 있다. 하지만, 이들 버스들은 현재의 데이터 레이트들을 지원하지 않는다.
더 빠른 내부 버스들에 대한 필요성에 응답하여, PCIe (peripheral component interconnect express) 표준, 및, 나중 세대의 USB (예컨대, USB 3.0 및 후속 버전들) 이 일부 모바일 컴퓨팅 디바이스들에 대해 채택되었다. 하지만, PCIe 및 USB 3.0 이 현재 사용되고 있는 높은 데이터 레이트들을 핸들링할 수 있는 한편, 이러한 버스들의 이용은 과도한 전력 소모를 초래하고, 재충전 이벤트들 사이의 시간을 단축시킴으로써 배터리 수명에 악영향을 미친다.
상세한 설명에서 개시된 양태들은 컴퓨팅 디바이스에서의 전력 절약 기술들을 포함한다. 특히, 컴퓨팅 디바이스에서 모뎀 프로세서에 의해 데이터가 수신됨에 따라, 그 데이터는 모뎀 타이머의 만료시까지 유지된다. 데이터는 그 다음, PCIe 상호접속 버스를 통해 컴퓨팅 디바이스에서의 애플리케이션 프로세서로 패스 (pass) 된다. 모뎀 프로세서로부터의 데이터의 수신 시에, 애플리케이션 프로세서는 그 애플리케이션 프로세서에 의해 유지된 데이터를 PCIe 상호접속 버스를 통해 모뎀 프로세서에 전송한다. 애플리케이션 프로세서는 업링크 타이머를 또한 갖는다. 업링크 타이머의 만료 전에 모뎀 프로세서로부터 아무런 데이터도 수신되지 않는 경우에, 애플리케이션 프로세서는 업링크 타이머의 만료 시에 임의의 수집된 데이터를 모뎀 프로세서에 전송한다. 하지만, 모뎀 프로세서로부터 데이터가 수신되는 경우에, 업링크 타이머는 리셋된다. 이러한 방식으로 소스 프로세서에서 데이터를 유지 또는 축적함으로써, PCIe 버스 상에서의 저 전력 상태들과 활성 상태들 사이의 불필요한 천이들이 감소되고 전력이 절약된다.
대안적인 양태에서, (업링크 타이머의 만료와 함께 또는 업링크 타이머의 만료 없이) 다운링크 타이머의 만료에 기초하여 데이터 전송을 개시하는 대신에, 축적된 데이터 전송은 단지 업링크 축적 타이머의 만료에 기초하여 개시될 수도 있다. 업링크 축적 타이머는 상호접속 버스와 연관된 디바이스 또는 호스트 내에 있을 수도 있다.
다른 대안적인 양태에서, 데이터 전송의 개시는 바이트 축적 제한 카운터에 대해 미리정의된 임계치에 도달하는 것에 기초할 수도 있다. 바이트 축적 제한 카운터는 다른 카운터들에 대해 상호 배타적이지 않고, 다른 축적 타이머들 중 하나에 대해 오버라이드 메커니즘 (override mechanism) 으로서 동작할 수도 있다. 이러한 오버라이드의 이용은, 버퍼 공간 및/또는 버스 대역폭을 초과할 데이터의 갑작스런 버스트 (burst) 가 도달하는 상황들에서 유용할 수도 있다. 마찬가지로, 바이트 카운터 대신에, 패킷 사이즈 카운터 또는 "패킷들의 총 수" 카운터가, 수많은 패킷들 또는 특히 큰 패킷이 네트워크에 의해 전달되는 상황들을 커버하기 위해 사용될 수도 있다.
본 개시의 추가적인 양태들에서, 타이머들은 다른 팩터들 (factors) 또는 파라미터들 (parameters) 에 의해 오버라이드될 수도 있다. 이러한 오버라이드는 바이트 축적 제한 카운터들 및 패킷들의 총 수 카운터와 함께 상기와 같이 언급되고, 이는 타이머들과는 독립적인 데이터 전송들을 야기한다. 저 레이턴시 트래픽 (예컨대, 제어 메시지들) 의 존재, 업링크 및 다운링크 데이터 전송들을 동기화시키는 것, 또는 저 레이턴시 서비스 품질 요건들과 같은, 다른 파라미터들이 또한 타이머들을 오버라이드할 수도 있다. 이러한 트래픽이 존재할 때, 타이머의 만료 전에 데이터 전송을 개시하기 위해 인터럽트 (interrupt) 또는 다른 명령이 사용될 수도 있다. 디바이스 또는 호스트가 자동적 폴링 모드 (automatic polling mode) 에 있지 않다는 표시와 같은, 또 다른 팩터들이 타이머들을 오버라이드할 수도 있다.
이와 관련하여 하나의 양태에서, 모바일 단말기가 개시된다. 모바일 단말기는 모뎀 타이머를 포함한다. 모바일 단말기는 또한 모뎀 프로세서를 포함한다. 모뎀 프로세서는 모뎀 타이머의 만료시까지 모뎀 프로세서 대 애플리케이션 프로세서 데이터 (modem processor to application processor data) 를 유지하도록 구성된다. 모바일 단말기는 또한 애플리케이션 프로세서를 포함한다. 모바일 단말기는 또한 애플리케이션 프로세서를 모뎀 프로세서에 통신가능하게 커플링 (communicatively coupling) 하는 상호접속 버스를 포함한다. 애플리케이션 프로세서는, 상호접속 버스를 통한 모뎀 프로세서로부터의 모뎀 프로세서 대 애플리케이션 프로세서 데이터의 수신 시까지 애플리케이션 프로세서 대 모뎀 프로세서 데이터 (application processor to modem processor data) 를 유지하고, 그 후에, 애플리케이션 프로세서 대 모뎀 프로세서 데이터가 상호접속 버스를 통해 모뎀 프로세서에 전송되도록 구성된다.
다른 양태에서, 컴퓨팅 디바이스에서 전력 소모를 제어하는 방법이 개시된다. 이 방법은, 다운링크 타이머의 만료시까지 원격 네트워크로부터 모뎀 프로세서에 의해 수신된 데이터를 유지하는 단계를 포함한다. 방법은 또한, 모뎀 프로세서에 의해 수신된 데이터를 상호접속 버스를 통해 애플리케이션 프로세서에 패스하는 단계를 포함한다. 방법은 또한, 모뎀 프로세서로부터의 데이터의 수신 또는 업링크 타이머의 만료 중 먼저 발생하는 것의 시점까지 애플리케이션 프로세서와 연관된 애플리케이션에 의해 생성된 애플리케이션 데이터를 유지하는 단계를 포함한다.
또 다른 양태에서, 모바일 단말기가 개시된다. 이 모바일 단말기는 모뎀 프로세서를 포함한다. 모바일 단말기는 또한, 애플리케이션 타이머를 포함한다. 모바일 단말기는 또한, 애플리케이션 프로세서를 포함한다. 이 애플리케이션 프로세서는 애플리케이션 타이머의 만료시까지 애플리케이션 프로세서 대 모뎀 프로세서 데이터를 유지하도록 구성된다. 모바일 단말기는 또한, 애플리케이션 프로세서를 모뎀 프로세서에 통신가능하게 커플링하는 상호접속 버스를 포함한다. 모뎀 프로세서는, 상호접속 버스를 통한 애플리케이션 프로세서로부터의 애플리케이션 프로세서 대 모뎀 프로세서 데이터의 수신 시까지 모뎀 프로세서 대 애플리케이션 프로세서 데이터를 유지하고, 그 후에, 모뎀 프로세서 대 애플리케이션 프로세서 데이터가 상호접속 버스를 통해 애플리케이션 프로세서에 전송되도록 구성된다.
또 다른 양태에서, 모바일 단말기가 개시된다. 이 모바일 단말기는 모뎀 바이트 축적 제한 카운터를 포함한다. 모바일 단말기는 또한, 모뎀 프로세서를 포함한다. 모뎀 프로세서는 바이트들의 미리정의된 임계치가 모뎀 바이트 축적 제한 카운터에 의해 도달될 때까지 모뎀 프로세서 대 애플리케이션 프로세서 데이터를 유지하도록 구성된다. 모바일 단말기는 또한, 애플리케이션 프로세서를 포함한다. 모바일 단말기는 또한, 애플리케이션 프로세서를 모뎀 프로세서에 통신가능하게 커플링하는 상호접속 버스를 포함한다. 애플리케이션 프로세서는, 상호접속 버스를 통한 모뎀 프로세서로부터의 모뎀 프로세서 대 애플리케이션 프로세서 데이터의 수신 시까지 애플리케이션 프로세서 대 모뎀 프로세서 데이터를 유지하고, 그 후에, 애플리케이션 프로세서 대 모뎀 프로세서 데이터가 상호접속 버스를 통해 모뎀 프로세서에 전송되도록 구성된다.
다른 양태와 관련하여, 모바일 단말기가 개시된다. 이 모바일 단말기는 모뎀 패킷 카운터를 포함한다. 모바일 단말기는 또한, 모뎀 프로세서를 포함한다. 모뎀 프로세서는 패킷들의 미리정의된 임계치가 모뎀 패킷 카운터에 의해 도달될 때까지 모뎀 프로세서 대 애플리케이션 프로세서 데이터를 유지하도록 구성된다. 모바일 단말기는 또한, 애플리케이션 프로세서를 포함한다. 모바일 단말기는 또한, 애플리케이션 프로세서를 모뎀 프로세서에 통신가능하게 커플링하는 상호접속 버스를 포함한다. 애플리케이션 프로세서는, 상호접속 버스를 통한 모뎀 프로세서로부터의 모뎀 프로세서 대 애플리케이션 프로세서 데이터의 수신 시까지 애플리케이션 프로세서 대 모뎀 프로세서 데이터를 유지하고, 그 후에, 애플리케이션 프로세서 대 모뎀 프로세서 데이터가 상호접속 버스를 통해 모뎀 프로세서에 전송되도록 구성된다.
또 다른 양태에서, 모바일 단말기가 개시된다. 이 모바일 단말기는 모뎀 프로세서를 포함한다. 모바일 단말기는 또한, 애플리케이션 바이트 카운터를 포함한다. 모바일 단말기는 또한, 애플리케이션 프로세서를 포함한다. 애플리케이션 프로세서는 바이트들의 미리정의된 임계치가 애플리케이션 바이트 카운터에 의해 도달될 때까지 애플리케이션 프로세서 대 모뎀 프로세서 데이터를 유지하도록 구성된다. 모바일 단말기는 또한, 애플리케이션 프로세서를 모뎀 프로세서에 통신가능하게 커플링하는 상호접속 버스를 포함한다. 모뎀 프로세서는, 상호접속 버스를 통한 애플리케이션 프로세서로부터의 애플리케이션 프로세서 대 모뎀 프로세서 데이터의 수신 시까지 모뎀 프로세서 대 애플리케이션 프로세서 데이터를 유지하고, 그 후에, 모뎀 프로세서 대 애플리케이션 프로세서 데이터가 상호접속 버스를 통해 애플리케이션 프로세서에 전송되도록 구성된다.
또 다른 양태에서, 모바일 단말기가 개시된다. 이 모바일 단말기는 모뎀 프로세서 및 애플리케이션 패킷 카운터를 포함한다. 모바일 단말기는 또한, 애플리케이션 프로세서를 포함한다. 애플리케이션 프로세서는 패킷들의 미리정의된 임계치가 애플리케이션 패킷 카운터에 의해 도달될 때까지 애플리케이션 프로세서 대 모뎀 프로세서 데이터를 유지하도록 구성된다. 모바일 단말기는 애플리케이션 프로세서를 모뎀 프로세서에 통신가능하게 커플링하는 상호접속 버스를 포함한다. 모뎀 프로세서는, 상호접속 버스를 통한 애플리케이션 프로세서로부터의 애플리케이션 프로세서 대 모뎀 프로세서 데이터의 수신 시까지 모뎀 프로세서 대 애플리케이션 프로세서 데이터를 유지하고, 그 후에, 모뎀 프로세서 대 애플리케이션 프로세서 데이터가 상호접속 버스를 통해 애플리케이션 프로세서에 전송된다.
다른 양태와 관련하여, 방법이 개시된다. 이 방법은 애플리케이션 프로세서에서 애플리케이션 타이머를 시작하는 단계를 포함한다. 방법은 또한, 애플리케이션 타이머의 만료시까지 애플리케이션 프로세서에서 데이터를 축적하는 단계를 포함한다. 방법은, 축적된 데이터를 상호접속 버스를 통해 애플리케이션 프로세서로부터 모뎀 프로세서로 전송하는 단계를 포함한다. 방법은 추가로, 애플리케이션 프로세서로부터의 축적된 데이터의 수신시까지 모뎀 프로세서에서 모뎀 프로세서 데이터를 유지하는 단계를 포함한다.
또 다른 양태에서, 모바일 단말기가 개시된다. 이 모바일 단말기는 모뎀 타이머를 포함한다. 모바일 단말기는 또한, 모뎀 프로세서를 포함한다. 모뎀 프로세서는 모뎀 타이머의 만료시까지 모뎀 프로세서 대 애플리케이션 프로세서 데이터를 유지하도록 구성된다. 모바일 단말기는 또한, 애플리케이션 프로세서를 포함한다. 모바일 단말기는 또한, 애플리케이션 프로세서를 모뎀 프로세서에 통신가능하게 커플링하는 상호접속 버스를 포함한다. 애플리케이션 프로세서는, 모뎀 프로세서 대 애플리케이션 프로세서 데이터의 송신 후에 모뎀 프로세서가 애플리케이션 프로세서로부터 데이터를 뽑아올때까지 애플리케이션 프로세서 대 모뎀 프로세서 데이터를 유지하도록 구성된다.
도 1a 는 원격 네트워크들과 동작하는 모바일 컴퓨팅 디바이스의 간략도이다.
도 1b 는 원격 네트워크들과 동작하는 모바일 단말기의 간략도이다.
도 1c 는 예시된 상호접속 버스를 갖는 도 1b 의 모바일 단말기의 확장된 블록도이다.
도 2 는 도 1b 의 모바일 단말기의 블록도이다.
도 3 은 종래의 컴퓨팅 디바이스에서의 예시적인 시간 대 링크 전력 그래프이다.
도 4 는 도 1b 의 모바일 단말기에서 전력 절약을 달성하기 위한 예시적인 프로세스의 플로우차트이다.
도 5 는 도 4 의 프로세스를 이용하는 모바일 컴퓨팅 디바이스에서의 예시적인 시간 대 링크 전력 그래프이다.
도 6 은 모바일 컴퓨팅 디바이스에서 전력 절약을 달성하기 위한 다른 예시적인 프로세스의 플로우차트이다.
도 7 은 도 6 의 프로세스를 이용하는 모바일 컴퓨팅 디바이스에서의 예시적인 시간 대 링크 전력 그래프이다.
도 8 은 데이터 축적을 제어하기 위해 바이트 카운터를 이용하는 예시적인 프로세스의 플로우차트이다.
도 9 는 데이터 축적을 제어하기 위해 패킷 카운터를 이용하는 예시적인 프로세스의 플로우차트이다.
도 10 은 다운링크 우선순위 관점에서 예시된 오버라이드들을 이용한 강화된 축적 프로세스의 플로우차트이다.
도 11 은 도 10 의 플로우차트의 계속이다.
도 12 는 업링크 우선순위 관점에서 예시된 오버라이드들을 이용한 강화된 축적 프로세스의 단순화된 플로우차트이다.
이제 도면들을 참조하여, 본 개시의 몇몇 예시적인 양태들이 설명된다. "예시적" 이라는 단어는 본 명세서에서 "예, 경우, 또는 예시로서 기능하는" 을 의미하기 위해 사용된다. "예시적" 으로 본 명세서에서 설명된 임의의 양태는 다른 양태들에 비해 선호되거나 이로운 것으로서 해석될 필요는 없다.
상세한 설명에서 개시된 양태들은 컴퓨팅 디바이스들에서의 전력 절약 기술들을 포함한다. 특히, 컴퓨팅 디바이스에서 모뎀 프로세서에 의해 데이터가 수신됨에 따라, 데이터는 모뎀 타이머의 만료시까지 유지된다. 그 데이터는 그 다음, PCIe 상호접속 버스를 통해 컴퓨팅 디바이스에서의 애플리케이션 프로세서로 패스된다. 모뎀 프로세서로부터의 데이터의 수신 시에, 애플리케이션 프로세서는 그 애플리케이션 프로세서에 의해 유지된 데이터를 PCIe 상호접속 버스를 통해 모뎀 프로세서에 전송한다. 애플리케이션 프로세서는 또한 업링크 타이머를 갖는다. 업링크 타이머의 만료 전에 모뎀 프로세서로부터 아무런 데이터도 수신되지 않는 경우에, 애플리케이션 프로세서는 업링크 타이머의 만료 시에 임의의 수집된 데이터를 모뎀 프로세서에 전송한다. 하지만, 모뎀 프로세서로부터 데이터가 수신되는 경우에, 업링크 타이머는 리셋된다. 이러한 방식으로 소스 프로세서에서 데이터를 유지 또는 축적함으로써, PCIe 버스 상에서의 저 전력 상태들과 활성 상태들 사이의 불필요한 천이들이 감소되고 전력이 절약된다.
대안적인 양태에서, (업링크 타이머의 만료와 함께 또는 업링크 타이머의 만료 없이) 다운링크 타이머의 만료에 기초하여 데이터 전송을 개시하는 대신에, 축적된 데이터 전송은 단지 업링크 축적 타이머의 만료에 기초하여 개시될 수도 있다. 업링크 축적 타이머는 상호접속 버스와 연관된 디바이스 또는 호스트 내에 있을 수도 있다.
다른 대안적인 양태에서, 데이터 전송의 개시는 바이트 축적 제한 카운터에 대해 미리정의된 임계치에 도달하는 것에 기초할 수도 있다. 바이트 축적 제한 카운터는 다른 카운터들에 대해 상호 배타적이지 않고, 다른 축적 타이머들 중 하나에 대해 오버라이드 메커니즘으로서 동작할 수도 있다. 이러한 오버라이드의 이용은, 버퍼 공간 및/또는 버스 대역폭을 초과할 데이터의 갑작스런 버스트가 도달하는 상황들에서 유용할 수도 있다. 마찬가지로, 바이트 카운터 대신에, 패킷 사이즈 카운터 또는 "패킷들의 총 수" 카운터가, 수많은 패킷들 또는 특히 큰 패킷이 네트워크에 의해 전달되는 상황들을 커버하기 위해 사용될 수도 있다.
본 개시의 추가적인 양태들에서, 타이머들은 다른 팩터들 또는 파라미터들에 의해 오버라이드될 수도 있다. 이러한 오버라이드는 바이트 축적 제한 카운터들 및 패킷들의 총 수 카운터와 함께 상기와 같이 언급되고, 이는 타이머들과는 독립적인 데이터 전송들을 야기한다. 저 레이턴시 트래픽 (예컨대, 제어 메시지들) 의 존재, 업링크 및 다운링크 데이터 전송들을 동기화시키는 것, 또는 저 레이턴시 서비스 품질 요건들과 같은, 다른 파라미터들이 또한 타이머들을 오버라이드할 수도 있다. 이러한 트래픽이 존재할 때, 타이머의 만료 전에 데이터 전송을 개시하기 위해 인터럽트 또는 다른 명령이 사용될 수도 있다. 디바이스 또는 호스트가 자동적 폴링 모드에 있지 않다는 표시와 같은, 또 다른 팩터들이 타이머들을 오버라이드할 수도 있다.
본 개시의 전력 절약 기술들은 스마트 폰들 또는 태블릿들과 같은 모바일 단말기들에서 사용되는 것으로 고려되지만, 본 개시는 그렇게 제한되지 않는다. 따라서, 도 1a 및 도 1b 는, 본 개시의 전력 절약 기술들의 예시적인 양태들을 구현할 수도 있는, 모뎀들을 통해 원격 네트워크들에 커플링된 컴퓨팅 디바이스들을 나타낸다. 이와 관련하여, 도 1a 는 예시적인 양태에서 인터넷인 네트워크 (12) 에 커플링된 컴퓨팅 디바이스 (10) 를 나타낸다. 컴퓨팅 디바이스 (10) 는 그 안에 중앙 프로세싱 유닛 (CPU) (미도시) 을 갖는 하우징을 포함할 수도 있다. 사용자는 모니터 (16) (때로는 디스플레이로 지칭됨), 키보드 (18), 및/또는 마우스 (20) 와 같은 입력/출력 엘리먼트들로 형성된 사용자 인터페이스를 통해 컴퓨팅 디바이스 (10) 와 상호작용할 수도 있다. 일부 양태들에서 모니터 (16) 는 하우징 (14) 내에 통합될 수도 있다. 키보드 (18) 및 마우스 (20) 가 입력 디바이스들로서 예시되지만, 모니터 (16) 는 터치스크린 디스플레이일 수도 있고, 이는 입력 디바이스로서 키보드 (18) 및 마우스 (20) 를 보충 또는 대체할 수도 있다. 데스크톱 또는 랩톱 스타일 컴퓨팅 디바이스와 관련하여 잘 애히되는 바와 같이 다른 입력/출력 디바이스들이 또한 존재할 수도 있다. 도 1a 에는 도시되지 않았지만, 하우징 (14) 은 또한 그 안에 모뎀을 포함할 수도 있다. 모뎀은 잘 이해되는 바와 같이 네트워크 인터페이스 카드 (NIC) 상에 위치할 수도 있다. 마찬가지로, 라우터 및/또는 추가적인 모뎀이 하우징 (14) 외부에 있을 수도 있다. 예를 들어, 컴퓨팅 디바이스 (10) 는 잘 이해되는 바와 같이 라우터 및 케이블 모뎀을 통해 네트워크 (12) 에 연결할 수도 있다. 하지만, 이러한 외부 라우터들 및 모뎀들이 존재하는 경우에도, 컴퓨팅 디바이스 (10) 는 이러한 외부 라우터들 및 모뎀들과의 통신을 달성하기 위해 내부 모뎀을 가질 가능성이 높다.
컴퓨팅 디바이스 (10) 에 추가하여, 본 개시의 예시적인 양태들은 또한, 본 명세서에서 사용된 컴퓨팅 디바이스의 형태인 모바일 단말기 상에서 구현될 수도 있다. 이와 관련하여, 모바일 단말기 (22) 의 예시적인 양태가 도 1b 에 도시된다. 모바일 단말기 (22) 는 SAMSUNG GALAXY™ 또는 APPLE iPHONE® 과 같은 스마트 폰일 수도 있다. 스마트 폰 대신에, 모바일 단말기 (22) 는 셀룰러 전화기, 태블릿, 랩톱, 또는 다른 모바일 컴퓨팅 디바이스일 수도 있다. 모바일 단말기 (22) 는 기지국 (BS) (26) 과 연관된 원격 안테나 (24) 와 통신할 수도 있다. BS (26) 는, 도 1a 에서의 네트워크 (!2) 와 유사한, PLMN (public land mobile network) (28), PSTN (public switched telephone network) (미도시), 또는 네트워크 (예컨대, 인터넷) 과 통신할 수도 있다. PLMN (28) 이 중개 네트워크 (예컨대, PSTN) 를 통해서 또는 아니면 직접 인터넷 (예컨대, 네트워크 (12)) 와 통신하는 것이 또한 가능하다. 가장 현대적인 모바일 단말기들 (22) 은 네트워크 (12) 의 엘리먼트들과의 다양한 유형들의 통신을 허용하는 것이 이해되어야 한다. 예를 들어, 오디오 스트리밍, 비디오 스트리밍, 및/또는 웹 브라우징이 모두 가장 현대적인 모바일 단말기들 (22) 상에서의 통상적인 기능들이다. 이러한 기능들은 모바일 단말기 (22) 의 무선 트랜시버를 이용하여 그리고 모바일 단말기 (22) 의 메모리에 저장된 애플리케이션들을 통해 인에이블된다.
비디오 스트리밍과 같은 기능들을 달성하기 위해, 도 1c 에서 도시된 바와 같이 모바일 단말기 (22) 의 안테나 (30) 에서 원격 안테나 (24) 로부터 데이터가 도달한다. 그 데이터는 처음에 모바일 단말기 (22) 의 모바일 디바이스 모뎀 (MDM) (32) 에서 프로세싱되고, 상호접속 버스 (36) 에 의해 애플리케이션 프로세서 (34) 에 패스된다. 이러한 상황에서, 애플리케이션 프로세서 (34) 는 호스트일 수도 있고, MDM (32) 은 PCIe 표준에서 그들 용어들이 사용되는 바와 같은 디바이스일 수도 있다. 예시적인 양태들은 PCIe-호환 상호접속 버스 (36) 를 통해 동작하는 것을 고려하지만, 상호접속 버스 (36) 는 HSIC (High Speed Interconnect), UART (Universal Asynchronous Receiver/Transmitter), USB (universal serial bus) 등과 호환될 수도 있다.
모바일 단말기 (22) 의 보다 상세한 설명은 도 2 를 참조하여 제공된다. 이와 관련하여, 도 1b 의 모바일 단말기 (22) 의 엘리먼트들의 일부의 블록도가 예시된다. 모바일 단말기 (22) 는, 수신기 경로 (38), 송신기 경로 (40), (도 1c 를 참조하여 상기 언급된) 안테나 (30), 스위치 (42), 모뎀 프로세서 (44), 및 (또한 도 1c 를참조하여 상기 도입된) 애플리케이션 프로세서 (34) 를 포함할 수도 있다. 선택적으로, 별도의 제어 시스템 (미도시) 이 또한 잘 이해되는 바와 같이 CPU 와 함께 존재할 수도 있다. 애플리케이션 프로세서 (34) 및 모뎀 프로세서 (44) 는 상호접속 버스 (36) 에 의해 연결된다. 애플리케이션 프로세서 (34) 및/또는 (존재한다면) 제어 시스템은 그 안에 저장된 소프트웨어 (50) 를 갖는 메모리 (48) 및 사용자 인터페이스 (46) 와 상호작용할 수도 있다.
수신기 경로 (38) 는 기지국 (예컨대, 도 1b 의 BS (26)) 에 의해 제공된 하나 이상의 원격 송신기들로부터 정보 보유 무선 주파수 (RF) 신호들을 수신한다. 저 잡음 증폭기 (미도시) 는 신호를 증폭한다. 필터 (미도시) 는 수신 신호에서의 광대역 간섭을 최소화한다. 하향 변환 및 디지털화 회로 (미도시) 는 필터링된, 수신된 신호를 중간 또는 기저대역 주파수 신호로 하향 변환한다. 기저대역 주파수 신호는 그 다음 하나 이상의 디지털 스트림들로 디지털화된다. 수신기 경로 (38) 는 통상적으로 주파수 합성기에 의해 생성된 하나 이상의 혼합 주파수들을 이용한다. 모뎀 프로세서 (44) 는 신호에서 반송된 정보 또는 데이터 비트들을 추출하기 위해 디지털화된 수신된 신호를 프로세싱하는 기저 대역 프로세서 (BBP) (미도시) 를 포함할 수도 있다. 이와 같이, BBP 는 통상적으로 모뎀 프로세서 (44) 내의 하나 이상의 디지털 신호 프로세서 (DSP) 들에서 또는 필요 또는 소망에 따라 별도의 집적 회로 (IC) 로서 구현된다.
도 2 를 계속해서 참조하면, 송신 측에서, 모뎀 프로세서 (44) 는 애플리케이션 프로세서 (34) 로부터, 음성, 데이터, 또는 제어 정보를 나타낼 수도 있는 디지털화된 데이터를 수신하고, 그것은 송신을 위해 인코딩된다. 인코딩된 데이터는 송신기 경로 (40) 에 출력되고, 여기서, 그것은 우너하는 송신 주파수에서 캐리어 신호를 변조하기 위해 변조기 (미도시) 에 의해 사용된다. RF 전력 증폭기 (미도시) 는 변조된 캐리어 신호를 송신을 위해 적절한 레벨로 증폭하고, 증폭된 그리고 변조된 캐리어 신호를 스위치 (42) 를 통해 안테나 (30) 에 전달한다. 집합적으로, 모뎀 프로세서 (44), 수신기 경로 (38), 및 송신기 경로 (40) 는 (무선 모뎀으로도 가끔 지칭되는) 도 1c 의 MDM (32) 을 형성한다. MDM (32) 은 셀룰러 신호와 연관된 RF 신호와 관련하여 특별히 설명되었지만, 본 개시는 그렇게 한정되지 않는다. 예를 들어, 다른 무선 프로토콜들을 이용하는 무선 모뎀이 또한 본 개시의 양태들의 포함으로부터 혜택을 받을 수도 있다. 따라서, BLUETOOTH®, 다양한 IEEE 802.11 표준들, UMTS (Universal Mobile Telecommunications System), HSPA (High Speed Packet Access), LTE (Long Term Evolution), 및 다른 무선 프로토콜들과 같은 표준들에 따라 동작하는 모뎀들이 모두 본 개시의 양태들을 이용할 수도 있다.
도 2 를 계속 참조하면, 사용자는 마이크로폰, 스피커, 키패드, 및 디스플레이와 같은 사용자 인터페이스 (46) 를 통해 모바일 단말기 (22) 와 상호작용할 수도 있다. 수신된 신호에 인코딩된 오디오 정보는 BBP 에 의해 복원되고, 스피커를 구동하기에 적합한 아날로그 신호로 변환된다. 키패드 및 디스플레이는 사용자가 모바일 단말기 (22) 와 상호작용하는 것을 가능하게 한다. 예를 들어, 키패드 및 디스플레이는 사용자가 다이얼될 숫자들을 입력하고, 주소록 정보에 액세스하는 것 등 뿐만 아니라 호 프로그레스 정보를 모니터링하는 것을 가능하게 할 수도 있다. 메모리 (48) 는, 본 개시의 예시적인 양태들을 실시할 수도 있는, 상기 언급된 바와 같이 소프트웨어 (50) 를 그 안에 가질 수도 있다.
PCIe 상호접속 버스 (즉, 상호접속 버스 (36)) 를 갖는 종래의 모바일 단말기들에서, PCIe 표준은 상호접속 버스 (36) 가 슬립 (sleep) 모드에 놓이도록 허용한다. 상호접속 버스 (36) 를 슬립 모드에 두는 것은 일반적으로 전력을 절약하지만, 이러한 슬립 모드들은, 그들이 슬립 모드 밖으로 천이하면서 비교적 다량의 전력을 소모한다는 결점을 갖는다. 이러한 전력 소모는 PCIe 상호접속 버스 (36) 의 비동기적 성질 때문에 악화된다. 즉, 제 1 데이터가, 제 2 데이터가 애플리케이션 프로세서 (34) 로부터 모뎀 프로세서 (44) 로 패스할 준비가 될 때와는 다른 시간에서 애플리케이션 프로세서 (34) 로의 송신을 위해 모뎀 프로세서 (44) 에 도달할 수도 있다. 이러하 문제는 PCIe 상호접속 버스 (36) 에 고유한 것은 아니다.
도 3 은, 다운링크 데이터 (54) 가 어떻게 주어진 타임 슬롯 (58) 내에서 업링크 데이터 (56) 와는 다른 송신 시간을 가지는지를 강조하는 시간 대 링크 전력 그래프 (52) 를 나타낸다. 특히, 상호접속 버스 (36) (도 2) 는 슬립 또는 저 전력 모드에서 시작하고 다운링크 데이터 (54) 가 애플리케이션 프로세서 (34) 에 송신될 수도 있도록 천이부 (60) 에 의해 활성 전력 모드로 천이하여 올라갈 수도 있다. 하지만, 다운링크 데이터 (54) 는 타임 슬롯 (58) 의 전체를 점유하지 않을 수도 있고, 상호접속 버스 (36) 는 저 전력 상태로 돌아갈 수도 있다. 하지만, 후속하여, 하지만 여전히 동일한 타임 슬롯 (58) 내에서, 애플리케이션 프로세서 (34) 로부터의 업링크 데이터 (56) 는 모뎀 프로세서 (44) 에 전송된다. 따라서, 상호접속 버스 (36) 는 다시 제 2 천이부 (62) 에 의해 저 전력 상태로부터 활성 전력 상태로 천이된다. 예시적인 양태에서, 타임 슬롯 (58) 은 대략적으로 1 밀리세컨드 길이이다. 따라서, 저 전력으로부터 활성 전력으로 2 개의 천이들 (즉, 60, 62) 이 매 타임 슬롯 (58) 마다 발생하는 경우에, 매 초 당 수천개의 천이들 (60, 62) 이 발생한다. 수천개의 천이들 (60, 62) 은 상당한 양의 전력을 소모하고, 모바일 단말기 (22) 의 배터리 수명을 감소시킨다.
본 개시의 예시적인 양태들은, 모뎀 프로세서 (44) 및 애플리케이션 프로세서 (34) 로부터의 패킷 송신을 동기화함으로써 저 전력으로부터 활성 전력으로의 천이들 (즉, 60, 62) 의 수를 감소시키고, 이는 다시, 링크 상의 통신이 제 2 전력 상태 천이를 제거하도록 강화되기 때문에 링크가 보다 효율적으로 저 전력 모드에 유지되는 것을 허용한다. 예시적인 양태에서, 모뎀 프로세서 (44) 로부터의 데이터 (즉, 모뎀 데이터) 가 먼저 송신되고, 애플리케이션 프로세서 (34) 로부터의 데이터 (즉, 애플리케이션 데이터) 는 모뎀 데이터의 도달 후에 그리고 상호접속 버스 (36) 가 저 전력 상태로 복귀할 수 있기 전에 전송된다. 동기화된 신호는 모뎀 프로세서 (44) 및 애플리케이션 프로세서 (34) 에서 타이머들의 사용을 통해 행해진다. 타이머들은 상호접속 버스 (36) 의 타임 슬롯 (58) 보다 더 길 수도 있다.
제 1 예시적인 양태들에서, 애플리케이션 프로세서 (34) 상의 타이머는 모뎀 프로세서 (44) 상의 타이머보다 더 길다. 축적 (accumulation) 이 논리 채널 당 행해질 수도 있다. 타이머는 상호접속 버스 (36) 에 적합한 메커니즘을 이용하여 애플리케이션 프로세서 (34) 에 의해 구성가능 (configurable) 할 수도 있다. 예를 들어, PCIe 를 통한 모뎀 호스트 인터페이스 (MHI) 를 이용하는 융합 디바이스 상에서, 타이머는 매 인바운드 MHI 채널에 대해 유지되고, 타이머들에 의해 사용되는 시간 값은 베이스 어드레스 레지스터 (BAR) 를 통해 노출된 PCIe 메모리 맵핑된 입력/출력 (MMIO) 디바이스 구성 레지스터 또는 MHI 명령 메시지를 통해 구성될 것이다. BAR 은 PCIe 표준 정의된 메커니즘이고, 이에 의해, 호스트는 디바이스의 레이스터들을 그것의 가상 어드레스 맵으로 맵핑한다. MHI 에 관한 보다 많은 정보에 대해, 관심 있는 독자는, 그 전체가 참조에 의해 본원에 통합된, 2013년 1월 24일 출원된 미국 특허출원 제 14/163,846 호를 참조하라. 다른 예시적인 양태들에서, 모뎀 프로세서 (44) 상의 타이머는 애플리케이션 프로세서 (34) 상의 타이머보다 더 길다. 또 다른 예시적인 양태에서, 카운터들이 타이머 대신에 사용될 수도 있다. 카운터들은 비트 카운터들, 패킷 카운터들, 패킷 사이즈 카운터들 등일 수도 있다. 다른 예시적인 양태에서, 이러한 대안적인 카운터들의 사용은 타임들과 결합될 수도 있다. 또 다른 예시적인 양태에서, 다른 오버라이드 기준들이, 레이턴시를 감소시키고 및/또는 서비스 품질 요건들을 만족시키도록 타이머 또는 카운터 만료 전에 데이터가 전송되는 것을 허용할 수도 있다. 본 개시는, 2 개의 타이머들이 존재하고, 애플리케이션 프로세서 (34) 가 모뎀 프로세서 (44) 의 타이머보다 더 긴 타이머를 갖는 상황으로 시작하여, 다시 이들 양태들의 각각을 통과하여 진행한다.
이와 관련하여, 도 4 는 예시적인 전력 절약 프로세스 (70) 를 나타낸다. 프로세스 (70) 는 저 전력 상태에서의 상호접속 버스 (36) 로 시작한다 (블록 72). 모뎀 타이머 및 애플리케이션 타이머가 시작된다 (블록 74). 타이머는 모뎀 프로세서 (44) 및 애플리케이션 프로세서 (34) 에 저장된 소프트웨어일 수도 있고, 또는, 소망하는 바에 따라 물리적 엘리먼트들일 수도 있다. 데이터는 애플리케이션 프로세서 (34) 에 의해 생성되고, 데이터는 모뎀 프로세서 (44) 에 의해 네트워크 (12) 로부터 수신된다. 타이머들이 실행 중인 동안, 애플리케이션 데이터는 애플리케이션 프로세서 (34) 에서 유지되고 (블록 76), 모뎀 데이터는 모뎀 프로세서 (44) 에서 유지된다 (블록 78). 상기 언급된 바와 같이, 예시적인 양태에서, 상호접속 버스 (36) 의 타임 슬롯 (58) 은 1 밀리세컨드이다. 이러한 양태에서, 모뎀 타이머는 대략적으로 2 내지 6 밀리세컨드일 수도 있고, 애플리케이션 타이머는 3 내지 7 밀리세컨드이거나 적어도 모뎀 타이머보다 더 길다. 모뎀 타이머가 만료된다 (블록 80). 모뎀 데이터가 존재하는 경우에, 모뎀 데이터는 모뎀 프로세서 (44) 에 의해 상호접속 버스 (36) 를 통해 애플리케이션 프로세서 (34) 에 릴리스된다 (블록 82).
데이터 전송을 위한 메커니즘은 모뎀 프로세서 (44) (즉, 디바이스) 에 의해 개시되고 제어될 수도 있다. 예를 들어, PCIe 를 통한 MHI 를 이용하는 융합형 디바이스 상에서, 모뎀 프로세서 (44) 는, 다운링크 패킷들이 전송될 수 있는 데이터 버퍼들을 결정하기 위해 MHI 채널 컨텍스트 기입 포인터 (Context Write Pointer) 를 폴 (poll) (판독) 할 수도 있다. 애플리케이션 프로세서 (34) 는 인바운드 채널 도어벨 (doorbell) 을 울리지 않고 데이터 전송 디스크립터들에 대해 포인트하기 위해 채널 컨텍스트 데이터 구조의 컨텍스트 기입 포인터 필드를 업데이트한다. 모뎀 프로세서 (44) 는 다운링크 트래픽에 의해 필요한 바와 같이 컨텍스트 기입 포인터 필드에 대한 업데이트들을 위해 폴할 수도 있다. 모뎀 프로세서 (44) 가 버퍼들을 다 쓰고, 즉, 전송 링이 비고, 다운링크 데이터를 전송할 버퍼들이 존재하지 않을 때, 모뎀 프로세서 (44) 는 애플리케이션 프로세서 (34) 에 이벤트 (예컨대, "버퍼 고갈") 통지를 발생시키고, 인터럽트가 이어진다. 모뎀 프로세서 (44) 로부터 이벤트 통지를 수신 시, 애플리케이션 프로세서 (34) 는 채널 컨텍스트 기입 포인터를 업데이트함으로써 데이터 버퍼들을 제공할 것이고, 인바운드 채널 도어벨을 울릴 것이다.
애플리케이션 프로세서 (34) 에서 모뎀 데이터의 도착 후에, 애플리케이션 프로세서 (34) 는 애플리케이션 프로세서 (34) 에서 유지된 임의의 애플리케이션 데이터를 릴리스하고, 애플리케이션 타이머를 리셋한다 (블록 84). 애플리케이션 타이머는 모뎀 프로세서 (44) 또는 애플리케이션 프로세서 (34) 상에서 실행될 수 있다. 대안으로서, 모뎀 프로세서 (44) 는 그것이 다운링크 데이터 (54) 활동을 더 이상 검출하지 않을 때까지 애플리케이션 프로세서 (34) 로부터 업링크 데이터 (56) 를 뽑아오는 것을 계속할 수도 있다. 즉, 모뎀 프로세서 (44) 는 다운링크 데이터 (54) 를 수신하면서 업링크 데이터 (56) 를 뽑아오는 것을 배치할 수도 있다. 하지만, 모뎀 타이머가 만료될 때 모뎀 프로세서 (44) 에 모뎀 데이터가 존재하지 않는 경우에, 애플리케이션 타이머는 계속된다 (즉, 다른 밀리세컨드) (블록 86). 애플리케이션 타이머의 만료 시에, 애플리케이션 프로세서 (34) 는 임의의 유지된 데이터를 상호접속 버스 (36) 를 통해 모뎀 프로세서 (44) 에 전송한다 (블록 88). 프로세스는 그 다음 처음부터 다시 시작하여 반복된다 (블록 90).
상기 언급된 바와 같이, 업링크 타이머 (즉, 애플리케이션 타이머) 는, 예시적인 양태에서, 다운링크 타이머가 만료될 대마다 업링크/다운링크 동기화를 증가시키기 위해 다운링크 타이머 (즉, 모뎀 타이머) 보다 더 길도록 설계된다. 가외의 타임 슬롯에 대해 데이터를 유지하는 것을 다소의 레이턴시를 부가하지만, 짧은 양이 부가되는 것은 애플리케이션 프로세서 (34) 에 의해 쉽게 흡수된다. 마찬가지로, 이 레이턴시는 전력 절약을 위해 수용가능한 것으로 고려된다. 예를 들어, 모뎀 타이머의 주기를 타임 슬롯 (58) 의 주기의 두 배로 만듦으로써, 저 전력 대 활성 전력 천이들의 수는 잠재적으로 절반으로 된다. 마찬가지로, 애플리케이션 타이머의 주기를 타임 슬롯 (58) 의 여섯 배로 만듦으로써, 모뎀 데이터에 의해 야기된 상호접속 버스 (36) 의 활성 전력 상태로 "피기백 (piggyback)" 할 수 있는 기회가 증가되고, 하지만 여전히, 업링크 데이터 (56) 를 릴리스하는 것을 트리거할 아무런 다운링크 데이터 (54) 도 존재하지 않는 경우에도 시간에 맞게 임의의 업링크 데이터 (56) 가 여전히 전송될만큼 충분히 자주이다. 데이터 링크를 통한 다중 프로세서들로부터의 트래픽을 동기화하기 위해 유사한 논리가 확장될 수 있다. 예시적인 양태에서, 다른 프로세서들은 다운링크 타이머의 것보다 더 높은 (즉, 더 긴) 타이머 값들을 각각 가질 수도 있고, 프로세서들은 그들의 데이터 이용가능성 정보를 교환할 수도 있어, 전송에 이용가능한 데이터가 존재하는 경우에 하나의 프로세서 상의 트래픽은 다른 프로세서들 상의 데이터 전송을 트리거할 수 있다.
도 5 는, 상호접속 버스 (도 2) 의 활성 주기 (102) 동안 업링크 데이터 (56) 가 다운링크 데이터 (54) 를 따르는 그래프 (100) 를 나타낸다. 예시된 바와 같이, 타임 슬롯 (58) 당 오직 하나의 저 전력으로부터 활성 전력으로의 천이 (104) 가 존재한다. 따라서, 단일 활성 주기 (102) 내로 데이터를 통합함으로써, 저 전력에서 소비되는 전체 시간이 증가될 수도 있고, 따라서, 전력 절약을 초래한다. 추가적으로, 저 전력으로부터 활성 전력 상태로 천이하는데 소비되는 전력은 제 2 천이 (62) 의 제거에 의해 감소된다.
업링크 데이터 (56) 는 다운링크 데이터 (54) 전에 전송될 수 있을 것이라고 생각되지만 (즉, 애플리케이션 타이머는 모뎀 타이머보다 더 짧다), 이러한 것은, 보통 업링크 패킷들보다 훨씬 더 많은 다운링크 패킷들이 존재하기 때문에, 일반적으로 최선인 것으로 고려되지 않는다. 이 양태가 사용되는 경우에, 애플리케이션 프로세서 (34) 는 모뎀 프로세서 (44) 로의 전송을 개시하기 이전에 업링크 데이터 패킷들을 로컬 메모리에 버퍼링할 수도 있다. 이들 축적된 데이터들은 업링크 축적 타이머를 통해 제어된다. 복수의 채널들이 존재하는 경우에, 타이머는 각각의 채널에 독립적으로 적용될 수도 있다. 애플리케이션 프로세서 (34) 가 업링크 타이머를 가지지 않거나 사용할 수 없을 때, 모뎀 프로세서 (44) 는 업링크 타이머를 인스턴스화할 수도 있고, 업링크 타이머의 만료 시에, 애플리케이션 프로세서 (34) 로부터 데이터를 폴할 것이다. 이 예시적인 양태는 도 6 및 도 7 을 참조하여 이하 더 자세히 설명된다.
이와 관련하여, 도 6 은 예시적인 전력 절약 프로세스 (110) 를 나타낸다. 프로세스 (110) 는 저 전력 상태에서의 상호접속 버스 (36) 로 시작한다 (블록 112). 모뎀 타이머 및 애플리케이션 타이머가 시작된다 (블록 114). 타이머들은 모뎀 프로세서 (44) 및 애플리케이션 프로세서 (34) 에 저장된 소프트웨어일 수도 있고, 또는, 소망에 따라 물리적인 엘리먼트들일 수도 있다. 애플리케이션 프로세서 (34) 에 의해 데이터가 생성되고, 모뎀 프로세서 (44) 에 의해 네트워크 (12) 로부터 데이터가 수신된다. 타이머가 실행중인 동안, 애플리케이션 데이터는 애플리케이션 프로세서 (34) 에서 유지되고 (블록 116), 모뎀 데이터는 모뎀 프로세서 (44) 에서 유지된다 (블록 118). 상기 언급된 바와 같이, 예시적인 양태에서, 상호접속 버스 (36) 의 타임 슬롯 (58) 은 1 밀리세컨드이다. 이러한 양태에서, 애플리케이션 타이머는 대략 2 밀리세컨드일 수도 있고, 모뎀 타이머는 3 밀리세컨드이거나 적어도 애플리케이션 타이머보다 더 길다. 애플리케이션 타이머가 만료된다 (블록 120). 애플리케이션 데이터가 존재하는 경우에, 그 애플리케이션 데이터는 애플리케이션 프로세서 (34) 에 의해 상호접속 버스 (36) 를 통해 모뎀 프로세서 (44) 에 릴리스된다 (블록 122).
모뎀 프로세서 (44) 에서의 애플리케이션 데이터의 도달 후에, 모뎀 프로세서 (44) 는 모뎀 프로세서 (44) 에서 유지된 임의의 모뎀 데이터를 릴리스하고 모뎀 타이머를 리셋한다 (블록 124). 애플리케이션 타이머는 모뎀 프로세서 (44) 또는 애플리케이션 프로세서 (34) 상에서 실행될 수 있다. 마찬가지로, 모뎀 타이머는 모뎀 프로세서 (44) 또는 애플리케이션 프로세서 (34) 상에서 실행될 수 있다.
도 6 을 계속해서 참조하면, 애플리케이션 타이머가 만료될 때 애플리케이션 프로세서 (34) 에서 아무런 애플리케이션 데이터도 존재하지 않는 경우에, 모뎀 타이머는 계속된다 (즉, 또 다른 밀리세컨드) (블록 126). 모뎀 타이머의 만료 시에, 모뎀 프로세서 (44) 는 임의의 유지된 데이터를 상호접속 버스 (36) 를 통해 애플리케이션 프로세서 (34) 에 전송한다 (블록 128). 프로세스는 그 다음, 처음부터 다시 시작하여 반복된다 (블록 130).
상기 언급된 바와 같이, 이 예시적인 양태에서, 업링크 타이머 (즉, 애플리케이션 타이머) 는, 일 예시적인 양태에서, 다운링크 타이머 (즉, 모뎀 타이머) 보다 더 짧도록 설계된다. 가외의 타임 슬롯 (58) 에 대해 데이터를 유지하는 것은 다소의 레이턴시를 부가하지만, 짧은 양이 부가되는 것은 애플리케이션 프로세서 (34) 에 의해 쉽게 흡수된다. 마찬가지로, 이 레이턴시는 전력 절약을 위해 수용가능한 것으로 고려된다. 예를 들어, 애플리케이션 타이머의 주기를 타임 슬롯 (58) 의 주기의 두 배로 만듦으로써, 저 전력 대 활성 전력 천이들의 수는 낮아진다. 마찬가지로, 모뎀 타이머의 주기를 타임 슬롯 (58) 의 여섯 배로 만듦으로써, 애플리케이션 데이터에 의해 야기된 상호접속 버스 (36) 의 활성 전력 상태로 "피기백" 할 수 있는 기회가 증가되고, 하지만 여전히, 다운링크 데이터 (54) 를 릴리스하는 것을 트리거할 아무런 업링크 데이터 (56) 도 존재하지 않는 경우에도 시간에 맞게 임의의 다운링크 데이터 (54) 가 여전히 전송될만큼 충분히 자주이다. 데이터 링크를 통한 다중 프로세서들로부터의 트래픽을 동기화하기 위해 유사한 논리가 확장될 수 있다. 예시적인 양태에서, 다른 프로세서들은 업링크 타이머의 것보다 더 높은 (즉, 더 긴) 타이머 값들을 각각 가질 수도 있고, 프로세서들은 그들의 데이터 이용가능성 정보를 교환할 수도 있어, 전송에 이용가능한 데이터가 존재하는 경우에 하나의 프로세서 상의 트래픽은 다른 프로세서들 상의 데이터 전송을 트리거할 수 있다.
도 7 은 상호접속 버스 (36) 의 활성 주기 (142) 동안 업링크 데이터 (56) 가 다운링크 데이터 (54) 에 선행하는 그래프 (140) 를 나타낸다. 예시된 바와 같이, 타임 슬롯 (58) 당 오직 하나의 저 전력으로부터 활성 전력으로의 천이 (144) 가 존재한다. 따라서, 단일 활성 주기 (142) 내로 데이터를 통합함으로써, 저 전력에서 소비되는 전체 시간이 증가될 수도 있고, 따라서, 전력 절약을 초래한다. 추가적으로, 저 전력으로부터 활성 전력 상태로 천이하는데 소비되는 전력은 제 2 천이 (62) 의 제거에 의해 감소된다.
예시적인 양태에서, 모뎀 프로세서 (44) 는, 유효한 다운링크 축적 타이머 만료 값으로서 (예컨대, 다양한 채널들 중으로부터의) 다운링크 축적 만료 타이머 값들 또는 (다운링크 또는 업링크 축적 타이머들, 바이트 임계치, 패킷들의 수 임계치, 패킷의 사이즈 임계치 등과 같은) 구성가능한 파라미터들의 각각의 모든 구성된 값들로부터 최소치들을 오버라이드 및 선택할 수도 있다. 지능형 모뎀 프로세서 (44) 는 또한, 다운링크 트래픽 패턴에 의존하여 다운링크 축적 타이머 값을 동적으로 오버라이드 또는 변경할 수도 있고, 및/또는, 데이터에 대한 원하는 서비스 품질 (QoS) 을 달성하기 위해 및/또는 트래픽을 제어하기 위해 다운링크 축적 타이머를 조정할 수도 있다. 구성의 변경은, (인터 프로세스 시그널링에 대해서와 같이) MHI 제어 또는 QMI 시그널링을 통해서 애플리케이션 프로세서 (44) 에 의해서 또는 역시 시스템에서의 임의의 다른 프로세서에 의해서 트리거/제어될 수 있다.
다운링크 및 업링크 타이머들에 추가하여 또는 그 대신에, 바이트 축적 제한 카운터가 또한, 다운링크 트래픽에 대해 모뎀 프로세서 (44) 에 의해 그리고 업링크 트래픽을 위해 애플리케이션 프로세서 (34) 에 의해 사용될 수도 있다. 이러한 양태는, 네트워크 또는 애플리케이션에 의해 푸쉬되는 데이터의 갑작스런 버스트가 존재하는 상황에서 이로울 수도 있다. 이 양태는 상호 배타적이지 않고, 다운링크 또는 업링크 타이머들 중 어느 일방에 대한 오버라이드 메커니즘으로서 구현될 수도 있음에 유의하여야 한다. 예를 들어, 다운링크 축적 타이머가 전력을 절약하기 위해 비교적 높게 설정되는 경우에, 데이터의 갑작스런 버스트는 모뎀 프로세서 (44) 의 버퍼 용량을 초과할 수도 있고, 또는, 모뎀 프로세서 (44) 의 메모리에서 축적되도록 허용되는 경우에, 이 데이터의 버스트는 애플리케이션 프로세서 (34) 상의 버스 대역폭 할당들을 초과할 수도 있다. 애플리케이션 프로세서 (34) 는 그것의 버스 대역폭 버짓 (budget), 및/또는 다운링크 데이터 전송을 위해 예약된 버퍼 사이즈에 기초하여 최대 바이트 축적을 결정 및 구성할 수 있다. 모뎀 프로세서 (44) 는 또한, 다운링크 버퍼의 사이즈, 및/또는 상호접속 링크 데이터 스루풋 (throughput) 에 기초하여 내부 바이트 축적 제한을 선택할 수 있다. 바이트 축적 제한 카운터들로, 모뎀 프로세서 (44) 는, 버퍼링된 데이터 사이즈가 바이트 축적 제한 카운터를 초과하는 경우에 그리고 그 때에, 다운링크 축적 타이머 만료 이전에 애플리케이션 프로세서 (34) 로의 다운링크 데이터 전송을 개시할 수 있다. 모뎀 프로세서 (44) 및 애플리케이션 프로세서 (34) 양자가 바이트 축적 제한 카운터에 대한 독립적인 추천들을 가질 수도 있기 때문에, 모뎀 프로세서 (44) 는 효율적인 바이트 축적 제한이 될 이들 2 개의 값들 중의 최소치들을 선택할 수도 있다. 업링크 데이터 (56) 전송을 즉시 트리거 (즉, 업링크 축적 타이머를 오버라이딩) 하기 위해 유사한 파라미터들이 애플리케이션 프로세서 (34) 에서 유지될 수도 있다.
바이트 축적 제한 카운터에 추가하여 또는 대신에, 패킷들의 수 제한 카운터가 사용될 수도 있다. 예시적인 양태에서, 패킷 수 제한 카운터 (packet number limit counter) 는 유사한 설계의 것일 수도 있고, 다수의 패킷들이 네트워크 또는 애플리케이션에 의해 전달되는 경우들을 커버하기 위해 바이트 제한들 대신에 패킷 카운터 제한들의 수를 부가하기 위해 채용될 수 있다. 다시, 이러한 패킷 제한 카운터가 또한 존재하거나 애플리케이션 프로세서 (34) 또는 모뎀 프로세서 (44) 와 연관될 수도 있다. 축적된 패킷들의 수 임계치, 축적된 바이트들 임계치 등과 같은 축적 타이머들 (업링크 및/또는 다운링크) 및 다른 구성 파라미터들은 LTE, HSPA, GERAN 등의 기능일 수도 있다.
또 다른 예시적인 양태에서, 모뎀 프로세서 (44) 또는 애플리케이션 프로세서 (34) 는, 모뎀 프로세서 (44) 또는 애플리케이션 프로세서 (34) 에 의해 결정된 바와 같이, 메시지 전송, 예를 들어 (플로우 제어와 같은) 제어 메시지들 또는 높은 QoS 데이터 트래픽 또는 낮은 레이턴시 트래픽을 촉진시킬 필요성이 존재하는 경우들에서 다운링크 또는 업링크 축적을 디스에이블 (disable) 할 수도 있다. 축적에 의해 도입된 레이턴시는 이들 트래픽 클래스들에 대해 허용가능하지 않을 수도 있다.
엄격한 프로세스 대신에 데이터의 양들에 기초하는 데이터 축적으로 돌아가서, 도 8 및 도 9 는 2 개의 예시적인 양태들을 나타낸다. 이와 관련하여, 도 8 은 바이트 카운터 프로세스를 나타내는 프로세스 (150) 를 나타낸다. 특히, 프로세스 (150) 는 저 전력 상태에서의 상호접속 버스 (36) 로 시작한다 (블록 152). 프로세스 (150) 는 모뎀 바이트 카운터 및 애플리케이션 바이트 카운터를 시작한다 (블록 154). 데이터는 애플리케이션 프로세서 (34) 에서 (블록 156) 그리고 모뎀 프로세서 (44) 에서 (블록 158) 유지된다. 제어 시스템은, 모뎀 프로세서 (44) 에서 유지 또는 축적된 데이터의 양에 기초하여 모뎀 바이트 카운터가 미리정의된 임계치를 초과하였는지를 결정한다 (블록 160).
도 8 을 계속 참조하면, 블록 160 에 대한 답이 '예' 인 경우에, 데이터는 모뎀 프로세서 (44) 로부터 애플리케이션 프로세서 (34) 로 전송된다 (블록 162). 모뎀 프로세서 (44) 로부터의 데이터의 수신 후에, 애플리케이션 프로세서 (34) 는 애플리케이션 프로세서 (34) 에서 축적된 데이터를 (만약 있다면) 모뎀 프로세서 (44) 에 전송한다 (블록 164). 모뎀 프로세서 (44) 및 애플리케이션 프로세서 (34) 양자에서 축적된 데이터를 클리어했으면, 프로세스는 처음부터 다시 시작한다 (블록 166).
도 8 을 계속 참조하면, 블록 160 에 대한 답이 '아니오' 인 경우에, 제어 시스템은, 애플리케이션 바이트 카운터에서의 데이터가 미리정의된 임계치를 초과했는지를 결정한다 (블록 168). 블록 168 에 대한 답이 '아니오' 인 경우에, 프로세스 (150) 는 블록 156 으로 되돌아가고, 바이트 카운터 임계치가 초과될 때까지 데이터는 계속하여 유지된다. 하지만, 블록 168 에 대한 답이 '예' 인 경우에, 데이터는 애플리케이션 프로세서 (34) 로부터 모뎀 프로세서 (44) 로 전송된다 (블록 170). 애플리케이션 프로세서 (34) 로부터의 데이터의 수신 후에, 모뎀 프로세서 (44) 는 데이터를 (있다면) 애플리케이션 프로세서 (34) 에 전송한다 (블록 172). 모뎀 프로세서 (44) 및 애플리케이션 프로세서 (34) 양자에서 축적된 데이터를 클리어했으면, 프로세스 (150) 는 처음부터 다시 시작한다 (블록 166).
바이트 카운터가 레이턴시를 관리함에 있어서 유효할 수도 있지만, 다른 예시적인 양태는 패킷 카운터를 이용한다. 이와 관련하여, 도 9 는 바이트 카운터 프로세스를 나타내는 프로세스 (180) 를 나타낸다. 특히, 프로세스 (180) 는 저 전력 상태에서의 상호접속 버스 (36) 로 시작한다 (블록 182). 프로세스 (180) 는 모뎀 패킷 카운터 및 애플리케이션 패킷 카운터를 시작한다 (블록 184). 데이터는 애플리케이션 프로세서 (34) 에서 (블록 186) 그리고 모뎀 프로세서 (44) 에서 (블록 188) 유지된다. 제어 시스템은, 모뎀 프로세서 (44) 에서 유지 또는 축적된 패킷들의 수에 기초하여 모뎀 패킷 카운터가 미리정의된 임계치를 초과하였는지를 결정한다 (블록 190).
도 9 를 계속 참조하면, 블록 190 에 대한 답이 '예' 인 경우에, 데이터는 모뎀 프로세서 (44) 로부터 애플리케이션 프로세서 (34) 로 전송된다 (블록 192). 모뎀 프로세서 (44) 로부터의 패킷의 수신 후에, 애플리케이션 프로세서 (34) 는 애플리케이션 프로세서 (34) 에서 축적된 데이터를 (만약 있다면) 모뎀 프로세서 (44) 에 전송한다 (블록 194). 모뎀 프로세서 (44) 및 애플리케이션 프로세서 (34) 양자에서 축적된 패킷들을 클리어했으면, 프로세스 (180) 는 처음부터 다시 시작한다 (블록 196).
도 9 를 계속 참조하면, 블록 190 에 대한 답이 '아니오' 인 경우에, 제어 시스템은, 애플리케이션 패킷 카운터에서의 패킷들의 수가 미리정의된 임계치를 초과했는지를 결정한다 (블록 198). 블록 198 에 대한 답이 '아니오' 인 경우에, 프로세스 (180) 는 블록 186 으로 되돌아가고, 패킷 카운터 임계치가 초과될 때까지 데이터는 계속하여 유지된다. 하지만, 블록 198 에 대한 답이 '예' 인 경우에, 데이터는 애플리케이션 프로세서 (34) 로부터 모뎀 프로세서 (44) 로 전송된다 (블록 200). 애플리케이션 프로세서 (34) 로부터의 패킷들의 수신 후에, 모뎀 프로세서 (44) 는 데이터를 (있다면) 애플리케이션 프로세서 (34) 에 전송한다 (블록 202). 모뎀 프로세서 (44) 및 애플리케이션 프로세서 (34) 양자에서 축적된 데이터를 클리어했으면, 프로세스 (180) 는 처음부터 다시 시작한다 (블록 196).
특정 수의 바이트들 또는 패킷들이 축적되었는지를 결정하는 대신에, 제어 시스템이 패킷들의 사이즈를 평가하거나 시스템이 메모리가 고갈되고 있는지 여부를 결정하는 유사한 프로세스가 이용될 수도 있다. 마찬가지로, 특정 우선순위 (priority) 데이터 (예컨대, 제어 신호 또는 낮은 레이턴시를 필요로 하는 다른 데이터) 는 본 개시의 타이머들 및/또는 카운터들을 오버라이드하는 플래그 또는 다른 표시자와 연관될 수도 있음을 이해하여야 한다.
상기 언급된 바와 같이, 본 개시의 양태들은 상호 배타적이지 않고, 결합될 수도 있음을 이해하여야 한다. 타이머는 애플리케이션 프로세서 (34) 에서 사용되고 모뎀 프로세서 (44) 에서는 바이트 카운터가 상요될 수도 있고 (또는 그 역도 성립한다), 모뎀 프로세서 (44) 는 타이머 및 바이트 카운터로서 작용하는 한편, 애플리케이션 프로세서 (34) 는 단지 타이머를 갖는 등 수많은 결합들이 존재한다. 이와 관련하여, 타이머들과 데이터 축적 카운터들이 어떻게 상호작용할 수도 있는지를 나타내는 도 10 내지 도 12 가 제공된다. 즉, 도 10 및 도 11 은, 다운링크 타이머 (모뎀 프로세서 (44) 에 있든지 또는 애플리케이션 프로세서 (34) 에 있든지) 가 어떻게 (예컨대, 도 4 및 도 5 에서 나타낸 바와 같이) 데이터 송신을 위한 기초로서 사용되고, 데이터 축적 카운터들과 결합될 수도 있으며, 높은 우선순위 데이터 오버라이드에 의해 추가로 수정되는지를 나타낸다. 도 12 는 데이ㅌ 축적 카운터들과 결합된 업링크 타이머가 (예컨대, 도 6 및 도 7 에서 나타낸 바와 같이) 데이터 송신을 위한 기초로서 사용되고, 데이터 오버라이드들에 의해 수정되는 단순화된 프로세스를 나타낸다.
이와 관련하여, 도 10 및 도 11 은 시작부 (블록 212) 로 개시하는 결합된 프로세스 (210) 를 나타낸다. 프로세스 (210) 는 다운링크 (DL) 데이터 (예컨대, 패킷) 의 도착으로 계속한다 (블록 214). 제어 시스템은, 임의의 우선순위 데이터, 제어 메시지들, 및/또는 낮은 레이턴시를 필요로 하는 다른 데이터가 존재한느지를 평가한다 (블록 216). 블록 216 에 대한 답이 '아니오' 인 경우에, 제어 시스템은 바이트 임계치가 크로스되었는지 (즉, 축적기 (accumulator) 에 임계치보다 많은 가치의 바이트들이 존재하는지) 를 결정한다 (블록 218). 블록 218 에 대한 답이 '아니오' 인 경우에, 제어 시스템은, 패킷들의 수 임계치가 크로스되었는지 (즉, 임계치보다 많은 가치의 패킷들이 축적기에 존재하는지) 를 결정한다 (블록 220). 블록 220 에 대한 답이 '아니오' 인 경우에, 제어 시스템은, 시스템이 메모리 고갈 상태인지를 결정한다 (블록 222). 블록 222 에 대한 답이 '아니오' 인 경우에, 제어 시스템은 다운링크 축적 타이머가 실행중인지를 확인한다 (블록 224). 블록 224 에 대한 답이 '예' 인 경우에, 다운링크 데이터는 계속 축적되고, 링크를 통해 아무런 데이터 전송도 개시되지 않는다 (블록 226).
도 10 을 계속 참조하면, 하지만, 블록 224 에 대한 답이 '아니오' 이고, 다운링크 타이머가 만료한 경우에, 또는, 블록 216, 218, 220, 또는 222 로부터의 오버라이드들 중 임의의 것이 긍정적으로 응답된 경우에, 프로세스 (210) 는 링크를 통해 모뎀 프로세서 (44) (또한 때때로 도면들에서 모뎀 (44) 으로 지칭됨) 로부터 애플리케이션 프로세서 (34) (또한 때때로 도면들에서 AP (34) 로서 지칭됨) 로 (현재의 패킷을 포함하는) 축적된 데이터의 전송을 시작한다 (블록 230). 제어 시스템은 다운링크 축적 타이머를 시작하거나 재시작하고, 다운링크 축적 타이머를 실행중으로 설정한다 (블록 232). 제어 시스템은, 모뎀 프로세서 (44) 가 업링크 (UL) 폴링 (polling) 모드에 있는지를 결정한다 (블록 234). 블록 234 에 대한 답이 '아니오' 인 경우에, 업링크 전송은 없다 (블록 236). 하지만 모뎀 프로세서 (44) 가 업링크 디바이스를 폴하고 있는 경우에, 그 폴링에 기초하여, 제어 시스템은 애플리케이션 프로세서 (34) 로부터의 펜딩 (pending) 업링크 데이터가 존재하는지를 결정한다 (블록 238). 펜딩 데이터가 조재하는 경우에 (즉, 블록 238 에 대한 답이 '예'), 애플리케이션 프로세서 (34) 는 모뎀 프로세서 (44) 에 대한 데이터 전송을 시작한다 (블록 240). 일단 데이터 전송이 종료되면, 도는, 블록 238 에서 아무런 데이터도 존재하지 않았던 경우에, 제어 시스템은 업링크 축적 타이머를 재시작하고 (블록 242), 프로세스 (210) 는 시작 (212) 으로 되돌아간다.
도 10 을 계속 참조하면, 블록 226 후에, 제어 시스템은 다운링크 타이머가 만료되었는지를 결정한다 (블록 244). 블록 244 에 대한 답이 '아니오' 인 경우에, 제어 시스템은 새로운 패킷이 도착했는지를 결정한다 (블록 246). 블록 246 에 대한 답이 '아니오' 인 경우에, 프로세스 (210) 는 블록 244 로 돌아간다. 새로운 패킷이 도착했으면, 프로세스 (210) 는 시작 (212) 으로 돌아간다. 블록 244 에 대한 답이 '예' 이고, 다운링크 타이머가 만료한 경우에, 제어 시스템은 다운링크 축적 타이머가 만료한 것을 안다 (블록 248). 다운링크 타이머의 만료 시에, 제어 시스템은 임의의 펜딩 축적된 다운링크 데이터가 존재하는지를 결정한다 (블록 250). 블록 250 에서 데이터가 존재하는 경우에, 블록 230 에서 그 데이터는 전송된다. 데이터가 존재하지 않는 경우에, 다운링크 축적 타이머는 "실행중 아님" 으로 설정되고 (블록 252), 프로세스 (210) 는 도 11, 엘리먼트 C 로 진행한다. 블록들 (216, 218, 220, 및 222) 은 선택적임을 이해하여야 한다.
도 11 을 참조하면, 프로세스 (210) 는 블록 252 로부터 계속될 수도 있다. 이 시점에서, 업링크 축적 타이머는 만료되었다 (블록 254). 업링크 축적 타이머는, 업링크 타이머가 재시작되었기 때문에 아무런 다운링크 데이터도 존재하지 않는 경우에, 만료할 것이다. 제어 시스템은, 애플리케이션 프로세서 (34) 로부터의 임의의 펜딩 업링크 데이터가 존재하는지를 결정한다 (블록 256). 블록 256 에 대한 답이 '예' 인 경우에, 애플리케이션 프로세서 (34) 는 애플리케이션 프로세서 (34) 로부터 모뎀 프로세서 (44) 로의 링크를 통한 데이터 전송을 시작한다 (블록 258). 제어 시스템은 그 다음, 업링크 축적 타이머를 재시작한다 (블록 260). 하지만, 블록 256 에 대한 답이 '아니오' 이고, 데이터가 존재하지 않는 경우에, 제어 시스템은, 모뎀 프로세서 (44) 가 임의의 펜딩 또는 다음 패킷 서브미션 (submission) 에 대해 도어벨/인터럽트를 기대하고 있음을 나타내는 이벤트를 애플리케이션 프로세서 (34) 에 전송한다 (블록 262). 즉, 이전의 폴 시간부터 애플리케이션 프로세서 (34) 로부터 모뎀 프로세서 (44) 로 아무런 데이터도 존재하지 않았기 때문에, 모뎀 프로세서 (44) 는 업링크 데이터에 대해 인터럽트 모드로 진행할 수도 있고, 모뎀 프로세서 (44) 는 애플리케이션 프로세서 (34) 에서 펜딩 중인 데이터가 있었을 때마다 애플리케이션 프로세서 (34) 가 인터럽트를 전송하기를 기재할 것이다. 제어 시스템은 그 다음, 이를 반역하기 위해 상태를 내부적으로 변경한다 (블록 264).
도 11 을 계속 참조하면, 모뎀 프로세서 (44) 는 전송 링에서 펜딩 데이터를 나타내는 애플리케이션 프로세서 (34) 로부터의 인터럽트 또는 다른 표시를 수신한다 (블록 266). 제어 시스템은 그 다음, 업링크 축적 타이머를 재시작하고 업링크 폴링 모드를 나타내기 위해 상태를 변경한다 (블록 268). 모든 업링크 데이터가 프로세싱되고 (블록 270), 프로세스 (210) 는 처음부터 다시 시작한다.
다른 대안적인 양태에서, 애플리케이션 프로세서 (34) 의 버퍼들은 가득 찰 수도 있고 모뎀 프로세서 (44) 로부터의 데이터를 위한 공간이 없는 상황들이 존재할 수도 있다. 이러한 경우에, 애플리케이션 프로세서 (34) 는 모뎀 프로세서 (44) 에 그것을 통지할 수도 있고, 모뎀 프로세서 (44) 는, 빈 버퍼들이 없을 때 모뎀 프로세서 (44) 에 인터럽트 신호를 제공하도록 애플리케이션 프로세서 (34) 에 이벤트를 전송할 수도 있다.
도 12 는, 어떻게 오버라이드들 및 데이터 카운터들이 축적 타이머와 함께 사용될 수도 있는지를 나타낸다는 점에서 도 10 및 도 11 과 유사하지만, 도 12 의 프로세스 (280) 는, (예컨대, 도 5 및 도 7 에서 예시된 양태와 유사하게) 업링크 타이머가 다운링크 타이머보다 더 짧다고 가정한다. 프로세스 (280) 는 시작부 (블록 282) 에서 시작한다. 프로세스 (280) 는 업링크 (UL) 데이터 (예컨대, 패킷) 의 도착으로 계속한다 (블록 284). 제어 시스템은, 임의의 우선순위 데이터, 제어 메시지들, 및/또는 낮은 레이턴시를 필요로 하는 다른 데이터가 존재하는지를 평가한다 (블록 286). 블록 286 에 대한 답이 '아니오' 인 경우에, 제어 시스템은 바이트 임계치가 크로스되었는지 (즉, 축적기에 임계치보다 많은 가치의 바이트들이 존재하는지) 를 결정한다 (블록 288). 블록 288 에 대한 답이 '아니오' 인 경우에, 제어 시스템은, 패킷들의 수 임계치가 크로스되었는지 (즉, 임계치보다 많은 가치의 패킷들이 축적기에 존재하는지) 를 결정한다 (블록 290). 블록 290 에 대한 답이 '아니오' 인 경우에, 제어 시스템은, 시스템이 메모리 고갈 상태인지를 결정한다 (블록 292). 블록 292 에 대한 답이 '아니오' 인 경우에, 제어 시스템은 디바이스가 업링크 폴링 모드에 있는지를 확인한다 (블록 294). 블록 294 에 대한 응답이 '예' 이고, 디바이스가 폴링 모드에 있는 경우에, 애플리케이션 프로세서 (34) 는 디바이스가 기입 포인터들을 뽑아오고 이에 따라 기입 포인터들을 업데이트할 수 있는 업링크 데이터 패킷 정보로 내부 데이터 구조/컨텍스트 어레이를 업데이트한다.
도 12 를 계속 참조하면, 하지만, 블록 294 에 대한 답이 '아니오' 이고, 디바이스가 업링크 폴링 모드에 있지 않은 경우에, 또는, 블록들 286, 288, 290, 또는 292 로부터의 오버라이드들의 임의의 것이 긍정적으로 응답된 경우에, 애플리케이션 프로세서 (34) 는, 디바이스가 업데이트 기입 포인터들을 뽑아오고 이에 따라 업데이트할 수 있는 업링크 데이터 패킷 정보로 내부 데이터 구조/컨텍스트 어레이를 업데이트한다 (블록 298). 애플리케이션 프로세서 (34) 는 그 다음, 도어벨을 울리거나 그렇지 않으면 디바이스가 업링크 데이터의 이용가능성을 나타내도록 인터럽트한다 (블록 300).
애플리케이션 프로세서 (34) 는 그 다음, 디바이스 상태를 (도어벨/이벤트/인터럽트 모드가 아닌) 폴링 상태로 설정하고 (블록 302), 프로세스는 반복된다. 애플리케이션 프로세서 (34) 또는 모뎀 프로세서 (44) 에서 양 타이머들이 있거나 각각의 프로세서들 (34, 44) 간에 분리되어 있는 경우에 유사한 프로세스들이 수행될 수도 있음을 이해하여야 한다. 마찬가지로, 일단 타이머가 만료되고 나면, 폴링, 도어벨 레지스터들 설정, 또는 다른 기술에 기초하여 데이터는 상호접속 버스 (36) 에 걸쳐 당겨지거나 밀릴 수 있다.
당해 기술분야에서 통상의 지식을 가진 자 (이하, '통상의 기술자' 라 함) 는 본 명세서에서 개시된 양태들과 관련하여 설명된 다양한 예시적인 논리 블록들, 모듈들, 회로들, 및 알고리즘들이 전자 하드웨어, 메모리에 또는 또 다른 컴퓨터 판독가능 매체에 저장되고 프로세서 또는 다른 프로세싱 디바이스에 의해 실행된 명령들, 또는 양자의 조합들로서 구현될 수도 있다는 것을 또한 인식할 것이다. 본 명세서에서 설명된 디바이스들은 예들로서, 임의의 회로, 하드웨어 컴포넌트, IC, 또는 IC 칩에서 채용될 수도 있다. 본 명세서에서 개시된 메모리는 임의의 타입 및 사이즈의 메모리일 수도 있고 원하는 임의의 타입의 정보를 저장하도록 구성될 수도 있다. 이 상호교환가능성을 명확히 예시하기 위해, 다양한 예시적인 컴포넌트들, 블록들, 모듈들, 회로들, 및 단계들은 그들의 기능성의 관점에서 일반적으로 상기 설명되었다. 이러한 기능성이 구현되는 방법은 전체 시스템에 부과된 설계 제약들, 특정한 애플리케이션, 및/또는 설계 선택들에 의존한다. 통상의 기술자는, 설명된 기능성을 각각의 특정한 애플리케이션에 대해 다양한 방식들로 구현할 수도 있지만, 이러한 구현 판정들은 본 개시의 범위로부터 벗어남을 야기하는 것으로서 해석되지 않아야 한다.
본 명세서에서 개시된 양태들과 관련하여 설명된 다양한 예시적인 논리 블록들, 모듈들, 및 회로들은 본 명세서에서 설명된 기능들을 수행하도록 설계된 프로세서, 디지털 신호 프로세서 (DSP), 주문형 집적 회로 (ASIC), 필드 프로그램가능 게이트 어레이 (FPGA) 또는 다른 프로그램가능 로직 디바이스, 이산 게이트 또는 트랜지스터 로직, 이산 하드웨어 컴포넌트들, 또는 그 임의의 조합으로 구현 또는 수행될 수도 있다. 프로세서는 마이크로프로세서일 수도 있지만, 대안적으로, 프로세서는 임의의 종래의 프로세서, 제어기, 마이크로제어기, 또는 상태 머신일 수도 있다. 프로세서는 또한 컴퓨팅 디바이스들의 조합, 예를 들어, DSP 와 마이크로프로세서의 조합, 복수의 마이크로프로세서들, DSP 코어와 결합된 하나 이상의 마이크로프로세서들, 또는 임의의 다른 이러한 구성으로서 구현될 수도 있다.
본 명세서에서 개시된 양태들은 하드웨어로 구현되고 그리고 하드웨어에 저장되는 명령들로 구현될 수도 있고, 예를 들어, 랜덤 액세스 메모리 (RAM), 플래시 메모리, 판독 전용 메모리 (ROM), 전기적으로 프로그램가능 ROM (EPROM), 전기적으로 소거가능한 프로그램가능 ROM (EEPROM), 레지스터들, 하드 디스크, 착탈식 디스크, CD-ROM, 또는 당업계에 알려진 임의의 다른 형태의 컴퓨터 판독가능 매체에 상주할 수도 있다. 예시적인 저장 매체는 프로세서가 저장 매체로부터 정보를 판독하고 그 저장 매체에 정보를 기록할 수 있도록 프로세서에 커플링된다. 대안적으로, 저장 매체는 프로세서와 일체형일 수도 있다. 프로세서 및 저장 매체는 ASIC 에 상주할 수도 있다. ASIC 은 원격국에 상주할 수도 있다. 대안적으로, 프로세서 및 저장 매체는 원격국, 기지국, 또는 서버에 별개의 컴포넌트들로서 상주할 수도 있다.
또한, 본 명세서의 예시적인 양태들 중 임의의 것에서 설명된 동작 단계들은 예들 및 논의를 제공하기 위해 설명된다는 것에 유의한다. 설명된 동작들은 예시된 시퀀스들과는 다른 다수의 상이한 시퀀스들로 수행될 수도 있다. 더욱이, 단일의 동작 단계에서 설명된 동작들은 실제로 다수의 상이한 단계들로 수행될 수도 있다. 추가적으로, 예시적인 양태들에서 논의된 하나 이상의 동작 단계들은 조합될 수도 있다. 플로우 차트 다이어그램들에서 예시된 동작 단계들은 당업자들에게 용이하게 명백할 바와 같이 다수의 상이한 수정들의 대상일 수도 있다는 것이 이해될 것이다. 통상의 기술자는 또한, 정보 및 신호들이 다양한 상이한 기술들 및 기법들 중 임의의 것을 사용하여 표현될 수도 있다는 것을 이해할 것이다. 예를 들어, 상기 설명 전반에 걸쳐 참조될 수도 있는 데이터, 명령들, 커맨드들, 정보, 신호들, 비트들, 심볼들, 및 칩들은 전압들, 전류들, 전자기파들, 자기장들 또는 자기 입자들, 광학장들 또는 광학 입자들, 또는 그 임의의 조합에 의해 표현될 수도 있다.
본 개시의 이전의 설명은 임의의 당업자가 본 개시를 제조하거나 또는 이용하는 것을 가능하게 하기 위해 제공된다. 본 개시에 대한 다양한 수정들은 당업자들에게 용이하게 명백할 것이고, 본 명세서에서 정의된 일반적인 원리들은 본 개시의 사상 또는 범위로부터 벗어남 없이 다른 변형들에 적용될 수도 있다. 따라서, 본 개시는 본 명세서에서 설명된 예들 및 설계들에 제한되도록 의도되지 않고 본 명세서에서 개시된 원리들 및 신규한 특징들과 일치하는 최광의 범위에 부합되고자 한다.

Claims (14)

  1. 모바일 단말기로서,
    모뎀 타이머;
    모뎀 프로세서로서, 상기 모뎀 프로세서는 상기 모뎀 타이머의 만료시까지 모뎀 프로세서 대 애플리케이션 프로세서 데이터를 유지하도록 구성되는, 상기 모뎀 프로세서;
    상기 모뎀 타이머의 주기보다 긴 주기를 가지는 애플리케이션 타이머;
    애플리케이션 프로세서로서, 상기 애플리케이션 프로세서는 상기 모뎀 프로세서 대 애플리케이션 프로세서 데이터의 송신 후에 상기 모뎀 프로세서가 상기 애플리케이션 프로세서로부터 데이터를 뽑아올 때까지 애플리케이션 프로세서 대 모뎀 프로세서 데이터를 유지하도록 구성되는, 상기 애플리케이션 프로세서;
    상기 애플리케이션 프로세서를 상기 모뎀 프로세서에 통신가능하게 커플링하는 상호접속 버스로서, 상기 상호접속 버스는 활성 주기 및 슬립 주기를 가지는, 상기 상호접속 버스를 포함하고, 그리고
    상기 모뎀 프로세서는 상기 모뎀 타이머의 주기 및 상기 애플리케이션 타이머의 주기에 기초하여, 상기 상호접속 버스의 단일 활성 주기 동안 상기 애플리케이션 프로세서 대 모뎀 프로세서 데이터 및 상기 모뎀 프로세서 대 애플리케이션 프로세서 데이터의 전달을 동기화하도록 더 구성되는, 모바일 단말기.
  2. 제 1 항에 있어서,
    상기 모뎀 프로세서는 상기 애플리케이션 프로세서로 하여금 상기 애플리케이션 타이머의 주기 내에서 아무런 데이터가 수신되지 않는 경우에 인터럽트를 전송하게 지시하도록 더 구성되는, 모바일 단말기.
  3. 제 1 항에 있어서,
    상기 애플리케이션 프로세서는 기입 포인터 (write pointer) 를 통해 뽑아온 상기 데이터를 저장하도록 더 구성되는, 모바일 단말기.
  4. 제 1 항에 있어서,
    상기 모뎀 프로세서는 상기 애플리케이션 프로세서에 의해 설정된 데이터 버퍼 어드레스에 기초하여 상기 애플리케이션 프로세서로부터 데이터를 뽑아오도록 더 구성되는, 모바일 단말기.
  5. 삭제
  6. 삭제
  7. 삭제
  8. 삭제
  9. 삭제
  10. 삭제
  11. 삭제
  12. 삭제
  13. 삭제
  14. 삭제
KR1020207011950A 2013-12-16 2014-12-15 컴퓨팅 디바이스들에서의 전력 절약 기술들 KR102210798B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020207027351A KR102286208B1 (ko) 2013-12-16 2014-12-15 컴퓨팅 디바이스들에서의 전력 절약 기술들

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US201361916498P 2013-12-16 2013-12-16
US61/916,498 2013-12-16
US201462019073P 2014-06-30 2014-06-30
US62/019,073 2014-06-30
US14/568,694 2014-12-12
US14/568,694 US9535490B2 (en) 2013-12-16 2014-12-12 Power saving techniques in computing devices
PCT/US2014/070368 WO2015095063A1 (en) 2013-12-16 2014-12-15 Power saving techniques in computing devices

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020187005007A Division KR102108661B1 (ko) 2013-12-16 2014-12-15 컴퓨팅 디바이스들에서의 전력 절약 기술들

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020207027351A Division KR102286208B1 (ko) 2013-12-16 2014-12-15 컴퓨팅 디바이스들에서의 전력 절약 기술들

Publications (2)

Publication Number Publication Date
KR20200046133A KR20200046133A (ko) 2020-05-06
KR102210798B1 true KR102210798B1 (ko) 2021-02-01

Family

ID=53368378

Family Applications (4)

Application Number Title Priority Date Filing Date
KR1020207011950A KR102210798B1 (ko) 2013-12-16 2014-12-15 컴퓨팅 디바이스들에서의 전력 절약 기술들
KR1020207027351A KR102286208B1 (ko) 2013-12-16 2014-12-15 컴퓨팅 디바이스들에서의 전력 절약 기술들
KR1020167019112A KR101832718B1 (ko) 2013-12-16 2014-12-15 컴퓨팅 디바이스들에서의 전력 절약 기술들
KR1020187005007A KR102108661B1 (ko) 2013-12-16 2014-12-15 컴퓨팅 디바이스들에서의 전력 절약 기술들

Family Applications After (3)

Application Number Title Priority Date Filing Date
KR1020207027351A KR102286208B1 (ko) 2013-12-16 2014-12-15 컴퓨팅 디바이스들에서의 전력 절약 기술들
KR1020167019112A KR101832718B1 (ko) 2013-12-16 2014-12-15 컴퓨팅 디바이스들에서의 전력 절약 기술들
KR1020187005007A KR102108661B1 (ko) 2013-12-16 2014-12-15 컴퓨팅 디바이스들에서의 전력 절약 기술들

Country Status (15)

Country Link
US (1) US9535490B2 (ko)
EP (4) EP3352049B1 (ko)
JP (1) JP6144430B2 (ko)
KR (4) KR102210798B1 (ko)
CN (5) CN108388337B (ko)
BR (1) BR112016013935B1 (ko)
CA (1) CA2929725C (ko)
DK (1) DK3084558T3 (ko)
ES (4) ES2870617T3 (ko)
HU (3) HUE045973T2 (ko)
PL (1) PL3084558T3 (ko)
PT (1) PT3084558T (ko)
SI (1) SI3084558T1 (ko)
TW (4) TWI704823B (ko)
WO (1) WO2015095063A1 (ko)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
USRE49652E1 (en) 2013-12-16 2023-09-12 Qualcomm Incorporated Power saving techniques in computing devices
US9801030B2 (en) * 2015-07-15 2017-10-24 Qualcomm Incorporated Internal data transfer in EMBMS reception
US10628172B2 (en) * 2016-06-27 2020-04-21 Qualcomm Incorporated Systems and methods for using distributed universal serial bus (USB) host drivers
CN106255091B (zh) * 2016-08-22 2019-08-30 努比亚技术有限公司 切换方法及装置
US9966986B1 (en) * 2016-12-23 2018-05-08 Mediatek Inc. Methods for controlling a frequency synthesizer circuit and a frequency-generating circuit utilizing the same
US10070393B2 (en) * 2017-01-30 2018-09-04 Blackberry Limited Control of uplink data transmission
TWI696069B (zh) * 2019-02-13 2020-06-11 睿寬智能科技有限公司 用於PCIe設備的大範圍功率量測裝置
JP2023547759A (ja) * 2020-09-02 2023-11-14 クアルコム,インコーポレイテッド 通信バス制御を介するコンピューティングデバイス内の省電力技術
CN115514454A (zh) * 2022-09-19 2022-12-23 Oppo广东移动通信有限公司 数据传输方法及装置、电子设备、计算机可读存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009039034A1 (en) * 2007-09-17 2009-03-26 Intel Corporation Buffering techniques for power management
US20130198538A1 (en) 2012-01-31 2013-08-01 Broadcom Corporation Enhanced Buffer-Batch management for Energy Efficient Networking

Family Cites Families (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4697281A (en) * 1986-03-14 1987-09-29 Spectrum Cellular Communications Corporation, Inc. Cellular telephone data communication system and method
EP0475282B1 (en) * 1990-09-14 1998-12-16 Hitachi, Ltd. Synchronous method and apparatus for processors
US5619681A (en) * 1992-11-23 1997-04-08 Zilog, Inc. Delayed FIFO status for serial shift emulation
JP2551338B2 (ja) * 1993-07-23 1996-11-06 日本電気株式会社 情報処理装置
JP2000507417A (ja) * 1996-03-26 2000-06-13 ブリティッシュ・テレコミュニケーションズ・パブリック・リミテッド・カンパニー 移動電話呼用の代替ルーティングシステム
US6151355A (en) * 1996-10-07 2000-11-21 Dataradio Inc. Wireless modem
ES2230724T3 (es) * 1997-11-14 2005-05-01 Iws International Inc. Sistema de distribucion de corriente inteligente y metodo para su fabricacion.
US6272452B1 (en) * 1998-04-02 2001-08-07 Ati Technologies, Inc. Universal asynchronous receiver transmitter (UART) emulation stage for modem communication
US6765901B1 (en) * 1998-06-11 2004-07-20 Nvidia Corporation TCP/IP/PPP modem
US6182178B1 (en) * 1998-06-30 2001-01-30 International Business Machines Corporation Method and system for supporting peripheral component interconnect (PCI) peer-to-peer access across a PCI host bridge supporting multiple PCI buses
US6839792B2 (en) * 2000-12-15 2005-01-04 Innovative Concepts, Inc. Data modem
US6996214B1 (en) * 2001-08-31 2006-02-07 Silicon Laboratories, Inc. Utilization of in-band signaling to facilitate modem on hold
JP3599692B2 (ja) * 2001-09-10 2004-12-08 松下電器産業株式会社 データ伝送装置
KR100444702B1 (ko) * 2002-04-18 2004-08-16 삼성전자주식회사 고속 범용 직렬 버스 인터페이스를 지원하는 디지탈가입자 회선 모뎀
US7058421B2 (en) * 2002-10-29 2006-06-06 Qualcomm Incorporated Wireless terminal operating under an aggregate transmit power limit using multiple modems having fixed individual transmit power limits
US7137018B2 (en) 2002-12-31 2006-11-14 Intel Corporation Active state link power management
US20060154642A1 (en) * 2004-02-20 2006-07-13 Scannell Robert F Jr Medication & health, environmental, and security monitoring, alert, intervention, information and network system with associated and supporting apparatuses
US7949726B2 (en) * 2004-03-12 2011-05-24 Ocean And Coastal Environmental Sensing, Inc. System and method for delivering information on demand
TWI311705B (en) 2005-05-23 2009-07-01 Via Tech Inc Peripheral component interconnect express and changing method of link power states thereof
US8131718B2 (en) * 2005-12-13 2012-03-06 Muse Green Investments LLC Intelligent data retrieval system
US20080034106A1 (en) 2006-08-02 2008-02-07 Sanjay Bakshi Reducing power consumption for bulk data transfers
US7785478B2 (en) 2007-08-08 2010-08-31 General Electric Company Method for controlling protozoa that harbor bacteria
US8295891B2 (en) * 2007-10-18 2012-10-23 Interdigital Technology Corporation UMTS FDD modem optimized for high data rate applications
US20090185487A1 (en) 2008-01-22 2009-07-23 International Business Machines Corporation Automated advance link activation
US8356202B2 (en) * 2008-03-28 2013-01-15 Intel Corporation System and method for reducing power consumption in a device using register files
US8255713B2 (en) * 2008-06-26 2012-08-28 Intel Corporation Management of link states using plateform and device latencies
KR20100006110A (ko) * 2008-07-08 2010-01-18 한국전자통신연구원 이동 통신망에서의 전력 소모 방지 방법
US8078768B2 (en) * 2008-08-21 2011-12-13 Qualcomm Incorporated Universal Serial Bus (USB) remote wakeup
US7930519B2 (en) * 2008-12-17 2011-04-19 Advanced Micro Devices, Inc. Processor with coprocessor interfacing functional unit for forwarding result from coprocessor to retirement unit
WO2010125429A1 (en) 2009-04-30 2010-11-04 Freescale Semiconductor, Inc. Apparatus, communications system and method for optimizing data packet flow
US8615671B2 (en) 2009-10-09 2013-12-24 Intel Corporation Techniques for managing lower power states for data links
GB2483057B (en) * 2010-08-20 2012-11-28 Wireless Tech Solutions Llc Apparatus, method and system for managing data transmission
US20120120860A1 (en) * 2010-11-16 2012-05-17 Chui Jimmy C Power optimized demodulator front end (demfront) receiver subsystem
CN103270466B (zh) * 2010-12-27 2016-08-10 微软技术许可有限责任公司 经由对定时器相关任务的协调和选择性操作的功率管理
US20140341109A1 (en) * 2011-06-02 2014-11-20 Interdigital Patent Holdings, Inc. Methods, Apparatus and Systems for Managing Converged Gateway Communications
US20130204962A1 (en) * 2012-02-02 2013-08-08 Texas Instruments Incorporated Network and peripheral interface circuits, systems and processes
CN103077141B (zh) * 2012-12-26 2015-08-26 西安交通大学 一种基于amba总线的自适应实时加权优先仲裁方法及仲裁器
US9594718B2 (en) 2013-01-24 2017-03-14 Qualcomm Innovation Center, Inc. Hardware accelerated communications over a chip-to-chip interface

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009039034A1 (en) * 2007-09-17 2009-03-26 Intel Corporation Buffering techniques for power management
US20130198538A1 (en) 2012-01-31 2013-08-01 Broadcom Corporation Enhanced Buffer-Batch management for Energy Efficient Networking

Also Published As

Publication number Publication date
TW201944817A (zh) 2019-11-16
CA2929725C (en) 2020-12-29
ES2870617T3 (es) 2021-10-27
US9535490B2 (en) 2017-01-03
HUE054392T2 (hu) 2021-09-28
KR20200111836A (ko) 2020-09-29
TWI672964B (zh) 2019-09-21
SI3084558T1 (sl) 2019-10-30
EP3352049A1 (en) 2018-07-25
KR20180023025A (ko) 2018-03-06
TW202044883A (zh) 2020-12-01
KR102108661B1 (ko) 2020-05-07
KR102286208B1 (ko) 2021-08-04
KR20200046133A (ko) 2020-05-06
CN108491062A (zh) 2018-09-04
ES2747919T3 (es) 2020-03-12
WO2015095063A1 (en) 2015-06-25
TWI704823B (zh) 2020-09-11
CA2929725A1 (en) 2015-06-25
CN110083223B (zh) 2022-11-04
BR112016013935B1 (pt) 2022-07-19
EP3084558B1 (en) 2019-07-17
EP3514661A1 (en) 2019-07-24
TWI604747B (zh) 2017-11-01
EP3352049B1 (en) 2021-04-14
CN108388337B (zh) 2021-08-20
CN108491062B (zh) 2021-07-16
CN109753135A (zh) 2019-05-14
EP3531238A1 (en) 2019-08-28
KR20160099666A (ko) 2016-08-22
CN105849668A (zh) 2016-08-10
EP3084558A1 (en) 2016-10-26
TWI743946B (zh) 2021-10-21
ES2910055T3 (es) 2022-05-11
DK3084558T3 (da) 2019-10-14
HUE057897T2 (hu) 2022-06-28
US20150169037A1 (en) 2015-06-18
CN109753135B (zh) 2022-03-29
HUE045973T2 (hu) 2020-01-28
ES2907055T3 (es) 2022-04-21
BR112016013935A2 (ko) 2017-08-08
JP2017502400A (ja) 2017-01-19
CN105849668B (zh) 2019-06-25
JP6144430B2 (ja) 2017-06-07
KR101832718B1 (ko) 2018-02-27
EP3514661B1 (en) 2022-03-16
CN110083223A (zh) 2019-08-02
CN108388337A (zh) 2018-08-10
TW201528847A (zh) 2015-07-16
TW201803388A (zh) 2018-01-16
PL3084558T3 (pl) 2020-03-31
PT3084558T (pt) 2019-10-24
EP3531238B1 (en) 2022-01-26

Similar Documents

Publication Publication Date Title
KR102210798B1 (ko) 컴퓨팅 디바이스들에서의 전력 절약 기술들
WO2021004512A1 (zh) 一种释放无线资源控制连接的方法、终端设备及存储介质
CN107041170B (zh) 数据发送方法、装置和终端
CN111713175A (zh) 一种通信方法及无线通信装置
USRE49652E1 (en) Power saving techniques in computing devices

Legal Events

Date Code Title Description
A107 Divisional application of patent
E902 Notification of reason for refusal
A107 Divisional application of patent
E701 Decision to grant or registration of patent right
GRNT Written decision to grant