TW202226790A - 用於當等待ap驅動的鏈路恢復時使數據機穩定的系統和方法 - Google Patents

用於當等待ap驅動的鏈路恢復時使數據機穩定的系統和方法 Download PDF

Info

Publication number
TW202226790A
TW202226790A TW110138511A TW110138511A TW202226790A TW 202226790 A TW202226790 A TW 202226790A TW 110138511 A TW110138511 A TW 110138511A TW 110138511 A TW110138511 A TW 110138511A TW 202226790 A TW202226790 A TW 202226790A
Authority
TW
Taiwan
Prior art keywords
modem
data packet
available
queue
pcie
Prior art date
Application number
TW110138511A
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 TW202226790A publication Critical patent/TW202226790A/zh

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • G06F13/1642Handling requests for interconnection or transfer for access to memory bus based on arbitration with request queuing
    • 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/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • G06F1/3209Monitoring remote activity, e.g. over telephone lines or network connections
    • 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
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/1081Address translation for peripheral access to main memory, e.g. direct memory access [DMA]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1673Details of memory controller using buffers
    • 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
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/9063Intermediate storage in different physical parts of a node or terminal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/9084Reactions to storage capacity overflow
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0026PCI express
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/32Flow control; Congestion control by discarding or delaying data units, e.g. packets or frames
    • 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 Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Power Sources (AREA)

Abstract

揭示用於可攜式計算設備(「PCD」)中的數據機定向應用處理器引導流程的方法和系統的各種實施例。一種示例性方法包括應用處理器,其在與DMA引擎及/或加密引擎的處理一致的引導序列期間的持續時間內轉變到閒置狀態,例如WFI狀態。亦即,當DMA引擎及/或加密引擎回應於其從應用處理器接收到的指令處理工作負載時,應用處理器可以「睡眠」。

Description

用於當等待AP驅動的鏈路恢復時使數據機穩定的系統和方法
本案係關於用於當等待AP驅動的鏈路恢復時使數據機穩定的系統和方法。
可攜式計算設備(「PCD」)正成為個人和專業人士的必需品。該等設備可以包括蜂巢式電話、可攜式數位助理(「PDA」)、可攜式遊戲機、掌上型電腦和其他可攜式電子設備。
PCD通常包括應用處理器(「AP」),該應用處理器被包含在稱為行動晶片組或晶片上系統(「SoC」)的複雜系統中。AP通常是對由SoC提供的功能的整體主管,因此,AP通常扮演「主」處理器的角色,其導引專用於提供特定功能的其他「從」處理器的活動。例如,SoC的數據機處理器通常被指定為AP的從處理器。
在許多SOC上,數據機根據周邊元件互連快速(「PCIe」)協定工作。PCIe協定不僅規定了數據機應該做什麼,亦規定了允許數據機做什麼的時間。PCIe協定是SoC元件的低級標準,並且是終端元件(諸如數據機)使用的協定,用於經由高資料速率PCIe匯流排與主處理器(諸如AP)進行通訊,一般技術者將理解該點。
相比之下,AP通常根據在「PCIe標準」之上的數據機-主機(Modem-Host)介面(「MHI」)協定工作。亦即,MHI協定是主協定,其指示AP的動作,包括其進入和退出睡眠狀態(亦即,其模式)以及端點睡眠狀態的轉變。PCIe根複合體在主AP上執行,並由AP用於管理可用於端點元件的PCIe通道鏈路、模組之間的封包處理等。如此,諸如數據機之類的端點元件依賴AP向其告知:其何時可以使用PCIe通道鏈路進行資料封包傳送(「DMA」)以及其何時應進入低功耗睡眠狀態。
如一般技術者所理解的,根據PCIe協定,在主AP和從數據機之間建立PCIe通道鏈路是由AP的動作觸發的,該動作將AP轉變入或出睡眠狀態(諸如D3熱狀態或D3冷狀態)。PCIe協定不允許數據機建立與AP的通訊鏈路,除非AP進行狀態轉變並且直到AP進行狀態轉變為止。因此,若下行鏈路資料封包的溢出被排隊供數據機處理,並且主AP沒有採取任何行動以從其自身的MHI狀態轉變,則將不允許數據機建立PCIe與AP的通訊鏈路以處理工作負載。數據機保持其自身的低功率狀態。由此,未被處理的資料封包的溢出可能超過數據機可用的有限記憶體量,導致不希望的數據機系統故障。
因此,本領域需要一種方法和系統,用於解決上述場景並避免數據機系統故障。具體而言,本領域需要的是一種用於在端點數據機等待AP驅動的PCIe鏈路重建時使端點數據機穩定的系統和方法。
揭示用於在等待應用處理器(「AP」)重建PCIe通訊鏈路時在可攜式計算設備(「PCD」)的SoC中使數據機穩定的方法和系統的各個實施例。一種示例性方法包括以下步驟:決定AP處於睡眠狀態。AP和數據機是可操作用於經由PCIe通道進行通訊的,然而,決定的是,在PCIe通道上沒有可用的活動鏈路。資料封包被辨識為在工作負載佇列中可供數據機進行的處理。數據機決定與數據機相關聯的記憶體元件中的可用佇列容量,並且若可用佇列容量足夠儲存資料封包,則將資料封包儲存在可用佇列容量中以供以後處理;但是,若可用佇列容量不足夠儲存資料封包,則從工作負載佇列中丟棄資料封包。在從工作負載佇列丟棄資料封包之後,可以將SoC轉變為低功率狀態。
示例性方法亦可以包括以下步驟:監測PCIe鏈路恢復計時器,以便:當計時器已超過預定義閾值時,即使可用佇列容量足夠儲存資料封包,亦從工作負載佇列中丟棄資料封包,或者當計時器未超過預定義閾值時,將資料封包儲存在可用佇列容量中以供以後處理。此外,若可用佇列容量不足夠儲存資料封包,則示例性方法可以在從工作負載佇列丟棄資料封包之前,將來自數據機的(如PCIe規範所定義的)WAKE#信號或GPIO切換(toggle)中的一個驅動給AP。然而,若喚醒信號(亦即,WAKE#)或GPIO切換導致在PCIe通道上重建鏈路,則可以將數據機轉變為活動處理狀態,以便處理資料封包。該方法可以在沒有重建PCIe鏈路的情況下,在從工作負載佇列丟棄資料封包之前,將來自數據機的多個WAKE#信號或多個GPIO切換驅動給AP。
此外,若可用佇列容量足以儲存資料封包,且計時器已超過預定義閾值,則該方法可以在從工作負載佇列中丟棄資料封包之前,將來自數據機的WAKE#信號或GPIO切換中的一個驅動至AP。並且,若WAKE#信號或GPIO切換導致在PCIe通道上重建鏈路,則該方法可以將數據機轉變為活動處理狀態並處理資料封包。
本文中的「示例性」一詞是指「用作示例、實例或說明」。本文中描述為「示例性」的任何態樣不一定被解釋為與其他態樣相比具有排他性、優選性或優勢。
在本說明書中,術語「應用程式」亦可以包括具有可執行內容的檔案,例如:目標代碼、腳本、位元組碼、標記語言檔案和修補程式。此外,本文提及的「應用程式」亦可以包括本質上不可執行的檔案,諸如可能需要開啟的文件或需要存取的其他資料檔案。
如在本說明書中所用,術語「元件」、「資料庫」、「模組」、「系統」、「處理元件」、「處理引擎」、「數據機」、「應用處理器」等意欲指電腦相關實體,包括硬體、韌體、硬體和軟體的組合、軟體,或執行中的軟體,並代表用於提供功能並執行本說明書中描述的程序或程序流程中的特定步驟的示例性手段。例如,元件可以是但不限於在處理器上執行的程序、處理器、物件、可執行檔案、執行中的執行緒、程式及/或電腦。作為說明,在計算設備上執行的應用程式和計算設備皆可以是元件。一或多個元件可以常駐在程序及/或執行中的執行緒中,並且元件可以當地語系化在一台電腦上及/或分佈在兩台或更多台電腦之間。此外,該等元件可以從具有儲存在其上的各種資料結構的各種電腦可讀取媒體執行。該等元件可以經由本端及/或遠端程序進行通訊,例如根據具有一或多個資料封包的信號(例如,來自一個元件的資料經由信號的方式與本端系統、分散式系統中的另一個元件互動,及/或經由諸如網際網路的網路與其他系統互動)。
在本說明書中,術語「中央處理單元(「CPU」)、「數位信號處理器(「DSP」)、「應用處理器(「AP」)、「晶片」和「晶片組」是可以常駐在PCD中並可互換使用的處理元件的非限制性實例,除非另有說明。此外,如在本說明書中所區別的,CPU、DSP、AP或晶片或晶片組可以由一或多個不同的在本文中通常稱為「核」的處理元件組成。
在本說明中,對「外部記憶體設備」等的引用是指更廣泛類別的非揮發性(亦即,在斷電後保留其資料)可程式設計記憶體,並且不限制所揭示的解決方案的範疇。因此,應當理解,對該等術語的使用設想了適用於解決方案的給定應用的任何可程式設計唯讀記憶體或現場可程式設計非揮發性記憶體,諸如但不限於嵌入式多媒體卡(「eMMC」)記憶體、EEPROM、快閃記憶體等。
在本說明中,術語「可攜式計算設備」(「PCD」)用於描述在有限容量電源(諸如電池)上工作的任何設備。儘管電池驅動的PCD已使用了幾十年,但可充電電池的技術進步,再加上第三代(「3G」)和第四代(「4G」)以及第五代(「5G」)無線技術的出現,使得許多具有多種功能的PCD成為可能。因此,PCD可以是蜂巢式電話、衛星電話、傳呼機、PDA、智慧手機、導航設備、平板電腦、智慧書或閱讀器、媒體播放機、上述設備的組合、具有無線連接的膝上型電腦等。
在本說明中,術語「DMA引擎」指SoC的直接記憶體存取元件,其允許某些硬體或子系統(例如諸如數據機)獨立於中央處理單元或應用處理器而存取系統及/或周邊記憶體。
在本說明中,術語「GPIO」指通用輸入/輸出通訊或信號,及/或SoC內被指定用於處理GPIO通訊的實體連接。GPIO連接是積體電路上常見的一種引腳類型,沒有指定的功能。儘管SoC上的大多數引腳皆有專用用途,諸如向某個元件發送信號,但GPIO引腳的功能是可定製的,並可以由軟體控制。在某些情況下,解決方案的實施例可以利用GPIO連接以在從數據機和主AP之間進行通訊。
為了便於描述該解決方案的示例性實施例,該描述提及作為D3功率狀態的子狀態的「D3hot」和「D3cold」低功率狀態,但是解決方案的實施例可以適用於包括其他低功率狀態(諸如但不限於D1及/或D2低功率狀態)的場景。D0在本領域中被理解為活動處理狀態。
一般技術者將認識到,處理器可以回應於工作負載需求、熱能產生/耗散水平和功耗目標而在各種功率狀態之間轉變。D3在本領域中通常被理解為最低功率設備低功率狀態。D3狀態通常分為兩個不同的子狀態,D3hot和D3cold。若從處理器處於D3狀態且系統處於活動S0系統電源狀態,則從處理器處於D3hot子狀態。在D3hot中,將處理器連接到電源(儘管處理器可能被配置為形成(draw)低電流),並且可以偵測PCIe匯流排上是否存在處理器。相比而言,若處理器處於D3狀態且系統處於低功率狀態(除S0以外的狀態),則處理器可能處於D3cold子狀態。在D3cold子狀態中,處理器儘管可能接收到涓流電流,但在喚醒事件發生之前有效地關閉處理器和系統。
處理器可以直接從D0狀態進入D3hot。從D0到D3hot的轉變是在驅動器的軟體控制下進行的,此舉在本領域是可以理解的。D3hot中的數據機可以在其連接到的PCIe匯流排上被偵測到。當數據機處於D3hot子狀態時,匯流排必須保持在D0狀態。從D3hot,數據機可以返回D0或進入D3cold。僅能從D3hot進入D3cold。
在D3cold,數據機可以被實體地連接到PCIe匯流排,但無法偵測匯流排上是否存在數據機(亦即,直到數據機再次被開啟)。在D3cold,數據機連接到的PCIe匯流排處於低功率狀態,及/或數據機處於低功率狀態,其中當PCIe匯流排驅動器嘗試偵測數據機的存在時,該低功率狀態不允許數據機進行回應。
數據機從D3hot到D3cold的轉變可能在沒有驅動器互動的情況下發生。相反,驅動器在其啟動從D0到D3hot的轉變之前,可以指示是否準備好D3cold轉變。隨後,從D3hot到D3cold的轉變可能發生,亦可能不發生,此舉取決於是否所有條件皆適合進行轉變。
當數據機進入D3cold時,AP可能導致電源(亦即,數據機PMIC)關閉。轉變到D3cold的數據機僅經由進入D0而轉變出。沒有從D3cold到D3hot的直接轉變。在D3cold子狀態,處理器可能能夠觸發喚醒信號以喚醒睡眠中的AP。
在本說明書中,術語PCIe指周邊元件互連快速。PCIe是板上元件之間的串列I/O互連,諸如在主應用處理器(「AP」)與端點從數據機(「MDM」)之間的串列I/O互連。PCIe連接通常被用於記憶體映射事務和中斷。PCIe匯流排是多道(multi-lane)的,每條道皆有一對連接(一個用於傳入通訊訊務,一個用於傳出通訊訊務)。值得注意的是,PCIe亦是用於在PCIe互連上連接高速元件的介面標準或協定。因此,對本說明書中的術語「PCIe」的使用可以指在主AP與從數據機之間的實體互連以及用於控制對互連的使用的協定兩者。
在本說明書中,術語「MHI」是指數據機-主機介面。MHI是主機處理器(諸如AP)通常使用的協定,用於在高速周邊匯流排或共享記憶體(諸如PCIe)控制數據機設備並與其進行通訊。儘管MHI可以輕鬆適應任何周邊匯流排,但其主要用於基於PCIe的設備。MHI在實體匯流排上提供邏輯通道,並允許在該等邏輯通道中的至少一個邏輯通道上傳輸數據機協定,諸如IP資料封包、數據機控制訊息以及診斷。此外,MHI協定提供資料認可特徵,並經由一或多個邏輯通道管理從數據機的電源狀態。
在本說明中,術語「根複合體」指將數據機及其記憶體子系統連接到由一或多個開關設備組成的PCIe開關結構的元件。根複合體由AP執行。
在某些應用場景中,當應用處理器(「AP」)「困」在其自身低功率狀態下時,數據機處理器(「MDM」)可能無法退出D3cold狀態,並在等待D3 hot/cold狀態時無法移出M3,以處理傳入資料封包。如前述,PCIe協定可以防止MDM從D3cold轉變出來,除非AP從其自身的非活動狀態轉變出來或直到AP從其自身的非活動狀態轉變出來為止。在此種情況下,MDM可能面臨系統故障的危險,並對使用者體驗產生不利影響。從下文對附圖和相關詳細描述的回顧中將變得更清楚,可以採用新穎的方法以使數據機穩定並避免此種系統故障,而不違反MHI/PCIe協定層次結構。
從圖1開始,圖示以無線電話形式的PCD的示例性非限制性態樣的功能方塊圖,用於實現在等待AP驅動的PCIe鏈路恢復時使數據機穩定的方法和系統。如圖所示,PCD 100包括晶片上系統102,其包括耦合在一起的異構多核中央處理單元(「CPU」)110和類比信號處理器126。如一般技術者所理解的,CPU 110可以包括第0核222、第一核224和第N核230。此外,如一般技術者所理解的,代替CPU 110,亦可以採用數位信號處理器(「DSP」)。此外,如在異構多核處理器的領域中所理解的,核222、224、230中的每一個可以在不同的最大電壓頻率下處理工作負載,在給定溫度和工作狀態下表現出不同的靜態電源電流(「IDDq」)洩漏率,具有用於從給定的閒置工作狀態轉變到活動狀態的不同的延時。CPU 110與多個工作感測器(例如,溫度感測器157)和分佈在PCD 100的整個晶片上系統102中的元件(例如,與數據機101)進行通訊。
一般而言,數據機101可以負責監測需要動作的頁面及/或其他下行鏈路資料請求,並經由PCIe通訊鏈路與應用處理器(「AP」)111及其DRAM 112B一起工作以處理請求。AP 111可以是異構多核處理器。在一些實施例中,AP 111可以從數據機101接收GPIO信號。
如圖1所示,顯示器控制器128和觸控式螢幕控制器130耦合到CPU 110。晶片上系統102外部的觸控式螢幕顯示器132被耦合到顯示器控制器128和觸控式螢幕控制器130。PCD 100亦可以包括視訊解碼器134,例如,逐行倒相(「PAL」)解碼器、順序傳送彩色與記憶制(「SECAM」)解碼器、國家電視系統委員會(「NTSC」)解碼器或任何其他類型的視訊解碼器134。視訊解碼器134被耦合到多核中央處理單元(「CPU」)110。視訊放大器136被耦合到視訊解碼器134和觸控式螢幕顯示器132。視訊連接埠138被耦合到視訊放大器136。如圖1中所示,通用串列匯流排(「USB」)控制器140被耦合到CPU 110。此外,USB埠142被耦合到USB控制器140。記憶體112(與AP 111相關聯的晶片上DRAM 112B及/或與MDM 101相關聯的晶片外快閃記憶體及/或DRAM 112A)和用戶標識模組(SIM)卡146亦可以被耦合到CPU 110及/或AP 111。此外,如圖1中所示,數位相機148可以被耦合到CPU 110。在示例性態樣,數位相機148是電荷耦合元件(「CCD」)相機或互補金屬氧化物半導體(「CMOS」)相機。
如圖1中進一步所示,身歷聲音訊轉碼器150可以被耦合到類比信號處理器126。此外,音訊放大器152可以被耦合到身歷聲音訊轉碼器150。在示例性態樣,第一身歷聲揚聲器154和第二身歷聲揚聲器156被耦合到音訊放大器152。圖1圖示麥克風放大器158亦可以被耦合到身歷聲音訊轉碼器150。另外,麥克風160可以被耦合到麥克風放大器158。在特定態樣中,頻率調制(「FM」)無線電調諧器162可以被耦合到身歷聲音訊轉碼器150。此外,FM天線164被耦合到FM無線電調諧器162。此外,身歷聲耳機166可以被耦合到身歷聲音訊轉碼器150。
圖1進一步指示射頻(「RF」)收發機168可以被耦合到類比信號處理器126。RF開關170可以被耦合到RF收發機168和RF天線172。如圖1所示,鍵盤174可以被耦合到類比信號處理器126。此外,具有麥克風176的單聲道耳機可以被耦合到類比信號處理器126。此外,震動器設備178可以被耦合到類比信號處理器126。圖1亦圖示例如電池的電源188經由電源管理積體電路(「PMIC」)180被耦合到晶片上系統102。PMIC 180的多個例子可以被專用於SoC的給定元件,諸如用於數據機101的PMIC 180A和用於AP 111的PMIC 180B。在特定態樣中,電源188包括可充電DC電池或從連接到AC電源的交流電(「AC」)到DC變壓器匯出的DC電源。
CPU 110亦可以被耦合到一或多個內部晶片上溫度感測器157A和157B以及一或多個外部晶片外溫度感測器157C。晶片上溫度感測器157A、157B可以包括一或多個與絕對溫度成比例(「PTAT」)溫度感測器,其基於垂直PNP結構並且通常專用於互補金屬氧化物半導體(「CMOS」)超大規模整合(「VLSI」)電路。晶片外熱感測器157C可以包括一或多個熱敏電阻。溫度感測器157可以產生電壓降,該電壓降利用類比數位轉換器(「ADC」)控制器103被轉換為數位信號。然而,在不脫離本發明的保護範疇的情況下,可以使用其他類型的溫度感測器157。
除由ADC控制器103控制和監測外,溫度感測器157亦可以由一或多個數據機101及/或監測器模組控制和監測。數據機101及/或監測器模組可以包括由CPU 110執行的軟體。然而,數據機101及/或監測器模組亦可以由硬體及/或韌體形成,而不脫離本發明的範疇。
回到圖1,觸控式螢幕顯示器132、視訊連接埠138、USB埠142、相機148、第一身歷聲揚聲器154、第二身歷聲揚聲器156、麥克風160、FM天線164、身歷聲耳機166、RF開關170、RF天線172、鍵盤174、單聲道耳機176、震動器178、熱感測器157C、PMIC 180、快閃記憶體112A、電源188和ADC控制器103中的任何一或多個位於晶片上系統102的外部。然而,應當理解,數據機101和AP 111亦可以經由類比信號處理器126和CPU 110從該等外部設備中的一或多個接收一或多個指示或信號,以幫助即時管理在PCD 100上可操作的資源。
在特定態樣中,本文所述的一或多個方法步驟可以經由儲存在記憶體112中的可執行指令和參數來實現。處理器110、111、126、數據機101和DMA引擎(圖1中未圖示)、記憶體控制器和相關聯的記憶體112、儲存在其中的指令或其組合可以用作執行本文所述的一或多個方法步驟的構件。
圖2是圖示用於執行在等待AP驅動的PCIe鏈路重建或恢復時使數據機穩定的方法的晶片上系統的實施例的功能方塊圖。如在圖2中所示,數據機101與多核271應用處理器111通訊。圖中所示的AP 111包括四個核271A、271B、271C、271D,然而,應當理解,AP 111不限於任何特定數量的核271。每個核可以具有與其相關聯的溫度感測器157,用於監測各個核產生的熱能,並用於觸發MHI狀態變化以管理熱能產生、功耗等。
數據機101可以與快閃記憶體/DRAM控制器及其相關聯的DMA引擎通訊。控制器控制和管理對被儲存在外部記憶體(諸如,快閃記憶體/NAND記憶體或MDM DRAM 112A)中的資料映射(例如,引導映射)的存取。數據機101亦可以包括內部記憶體暫存器,如一般技術者所理解的。此外,如一般技術者所理解的,AP 111亦可以經由DRAM控制器與DRAM記憶體112B通訊。如一般技術者所理解的,DRAM 112B可以包含執行中的映射。晶片上系統102可以包括時鐘元件217。
數據機101可以經由PCIe匯流排211並根據PCIe協定與AP 111通訊。根據實施例,數據機101亦可以經由GPIO連接213向AP 111發送和從AP 111接收控制信號。如一般技術者所理解的,數據機101可以接收資料請求,並且經由PCIe鏈路211,與AP 111和AP DRAM 112B一起工作以處理資料請求。MDM的本端記憶體在大小和容量上可能相當有限,無法對傳入的資料請求進行排隊。如將從後續圖及其相關描述中更好地理解的,圖2中所示的SoC系統102可以被配置並可操作以執行用於當其由於AP驅動的PCIe鏈路的不可用的或被延遲的重建而不能處理傳入資料請求時使數據機101穩定的方法。
圖3是展示了協定堆疊內的示例性PCIe介面211的相對級別的功能方塊圖300,該協定堆疊可以由圖2中所示的晶片上系統102的AP 111和MDM 101利用。如先前所建議的,AP 111可以從其AP RAM 112B載入引導映射,並將其傳送到MDM數據機101,MDM數據機101可以將其儲存在其設備記憶體中以供執行。可以在(在AP 111處的)USB主機和USB設備之間執行在AP 111與數據機101之間的引導映射傳送,其中USB設備提供低級傳輸機制,在該低級傳輸機制上,高級軟體可以使用設備的上層協定實現引導映射傳送。亦顯示了針對通用串列匯流排(USB)介面的AP堆疊內的控制器介面(HCI)層。數據機上層協定可以控制訊息和封包在邏輯通道的傳送。
具有需要可執行軟體映射的CPU的PCIe設備(諸如數據機101)可以將其板載的軟體映射儲存在引導ROM晶片中或在持久檔案儲存機制(例如,NAND/NOR快閃記憶體112A)中。該兩種備選方案皆可能在成本和時間上效率低下。另一種方案是讓AP 111記憶體上的元件驅動程式映射設備RAM,並將軟體映射直接複製到設備RAM中。此種方法需要應用處理器的參與,並可能導致次優的AP CPU傳輸量。
圖3亦圖示了協定堆疊內的PCIe介面211的相對級別。如一般技術者所理解的,PCIe不提供由USB提供的所有低級別支援。USB支援在串列鏈路和端點上傳送訊息和封包。然而,PCIe的一個優點是:其可以提供比USB快的傳輸量,並且隨著系統體系結構的擴展而擴展。因此,在某些情況下,可能希望在主機處理器111與MDM 101之間實現PCIe介面211,同時避免USB介面。
圖4是圖示圖3的協定堆疊中的功能缺口的功能方塊圖400。圖4圖示計算設備(例如晶片上系統102),其使用PCIe介面211作為在主機處理器(例如AP 111)和數據機101之間的記憶體映射的通訊路徑。如圖所示,低級PCIe介面211和上層協定之間存在功能缺口。例如,標準PCIe介面211可能無法提供足夠的支援以實現從AP 111到數據機101的資料傳送,而沒有AP 111的核的顯著參與。
圖5是圖示在圖4中所示的功能缺口內部署的數據機-主機介面(「MHI」)的功能方塊圖500。通常,數據機-主機介面提供在記憶體映射的通訊路徑(諸如PCIe鏈路)上的邏輯通道。邏輯通道使得能夠將上層蜂巢數據機通訊協定(例如,2G、3G、4G、5G和LTE協定)從數據機101傳輸到主機AP 111。此外,可以在主機AP 111和蜂巢-通訊數據機(MDM)101之間發出命令,並且亦可以經由一或多個邏輯通道來傳送和管理電源狀態。此外,數據機-主機介面用於卸載關於將軟體可執行映射下載到PCIe設備(諸如數據機101)的任務。數據機101可以使用在RAM 112中分配的資料緩衝器,經由硬體加速機制(例如,增強型直接記憶體存取(DMA)引擎114)完成軟體映射下載。亦即,共享記憶體空間可以用於在主機AP 111和MDM數據機101之間傳送引導映射。
通訊鏈路(例如PCIe 211)元件驅動程式枚舉MDM 101並在AP RAM 212B中分配直接記憶體存取資料緩衝器。DMA緩衝器列表的位置(位址)可以經由記憶體映射的配置暫存器被傳送到數據機101,如一般技術者所理解的。此外,位於數據機101的應用邏輯中的門鈴可被主機AP 111利用,以觸發數據機101對新事務的處理(將參照圖6圖示,參照回該特定操作場景)。在完成之後,數據機101觸發朝向主機AP 111的中斷(例如,PCIe中斷)以進行進一步處理。
在操作中,在重置/通電之後,數據機101從硬體引導ROM(小型唯讀晶片上記憶體)執行其主引導載入程式(PBL)。隨後,PBL使用由AP 111在配置暫存器中程式設計的資料緩衝器,經由硬體加速DMA機制,在記憶體映射的通訊路徑211(例如,PCIe)上,將可執行代碼從AP RAM 212B下載到MDM RAM 212A。DMA引擎114經由事件/中斷將讀/寫完成傳送回AP 111。可以在接收到讀/寫完成事件之後,由主機AP 111應對DMA緩衝器回收。一旦MDM 101可執行映射被下載到MDM RAM 212A並被驗證,MDM引導ROM代碼就跳入該映射,並開始從RAM執行主MDM引導程式。類似地,對於RAM轉儲,MDM 101使用類似的硬體加速機制將RAM轉儲區域從MDM RAM 212A上傳到主機AP RAM 212B。在一個示例性實現方案中,可以使用所提出的硬體加速機制作為傳輸媒體來實現數據機-主機協定(高速晶片間HSIC上的無快閃記憶體引導)。在MDM 101由數據機晶片實現的情況下,應用邏輯可以是數據機子系統或封包處理元件。
圖6是標識狀態場景610的MHI電源狀態機圖600,其中可以採用在等待AP驅動PCIe鏈路恢復時使數據機穩定的解決方案的實施例。簡要回顧圖5的描述,位於數據機101的應用邏輯中的門鈴可以被主機AP 111利用以觸發數據機101對新事務的處理。在完成之後,數據機101觸發朝向主機AP 111的PCIe中斷以進行進一步處理。然而,值得注意的是,當主機AP 111不可用以改變其狀態並向數據機101提供PCIe鏈路以處理新事務時,在狀態場景610中可能出現問題。在此種場景下,數據機101可能「困」在D3cold狀態,並且由於等待AP 111重建PCIe鏈路而無法轉變回610中所示的執行狀態。同時,與新事務相關聯的資料封包可以繼續在與數據機101相關聯的有限記憶體中排隊(根據PCIe協定的要求,在沒有被AP 111觸發的情況下,數據機101將不處理事務)。資料封包的溢出可能導致數據機101的不期望的系統故障,從而產生不良的使用者體驗。有利地,該解決方案的實施例在不違反PCIe協定的情況下在狀態場景610內解決此種情形。
圖7是圖示用於在等待AP驅動的PCIe通訊鏈路重建時在SoC中使數據機穩定的第一示例性方法700的流程圖。從在方塊705開始,方法700可以決定AP 111處於MHI睡眠狀態。數據機101亦可以處於睡眠狀態,例如D3cold狀態。在此種情形下,如前述,資料封包可能到達數據機101以進行處理,然而,除非和直到AP 111轉變出其當前狀態並建立(或更可能重建)與數據機101的PCIe通訊鏈路為止,數據機101可能不可用於進行處理。在建立PCIe通訊鏈路211的情況下,數據機101可以根據PCIe協定轉變出D3狀態並轉變到D0狀態,以處理工作負載。
方法700繼續到判定方塊710。在判定方塊710,方法700可以決定下行鏈路資料封包是否已到達數據機101以進行處理。若沒有下行鏈路資料封包到達,則可以跟隨「否」分支到方塊725,並且系統安全地轉變到X0睡眠模式(系統「關閉」)。從彼處,方法700返回。然而,若在判定方塊710決定下行鏈路資料封包已到達數據機101以進行處理,則可以跟隨「是」分支到隨後的判定方塊715。
在判定方塊715,方法700決定是否存在可用於容納資料封包的數據機相關聯的記憶體容量。若存在可用容量,則跟隨「是」分支至方塊720,並且當PCIe鏈路211被重建時,資料封包被排隊以用於將來的處理。方法700返回,並且數據機101繼續等待AP 111建立通訊鏈路。然而,若在判定方塊715決定沒有足夠的數據機相關聯的記憶體容量來容納傳入資料封包,則跟隨「否」分支到方塊730,並且在在方塊725將系統轉變到X0之前丟棄資料封包。如此,方法700避免了:當數據機101由於沒有可用的PCIe鏈路而不可用於處理工作負載時,資料溢出到數據機相關聯的記憶體中。並且,有利地,可以避免數據機101的系統故障。
圖8是圖示用於在等待AP驅動的PCIe通訊鏈路重建時在SoC中使數據機穩定的第二示例性方法800的流程圖。從方塊805開始,方法800可以決定AP 111處於MHI睡眠狀態。數據機101亦可以處於睡眠狀態,例如D3cold狀態。在此種情況下,如前述,資料封包可能到達數據機101以進行處理,然而,除非和直到AP 111轉變出其當前狀態並建立(或更可能重建)與數據機101的PCIe通訊鏈路,數據機101可能無法進行處理。在建立PCIe通訊鏈路211的情況下,數據機101可以根據PCIe協定轉變出D3狀態並轉變到D0狀態,以處理工作負載。
方法800繼續到判定方塊810。在判定方塊810,方法800可以決定下行鏈路資料封包是否已到達數據機101以進行處理。若沒有下行鏈路資料封包到達,則可以跟隨「否」分支到方塊825,並且系統安全地轉變到X0睡眠模式(系統「關閉」)。從彼處,方法800返回。然而,若在判定方塊810決定下行鏈路資料封包已到達數據機101以進行處理,則可以跟隨「是」分支到隨後的判定方塊815。
在判定方塊815,方法800決定是否存在可用於容納資料封包的數據機相關聯的記憶體容量。若在判定方塊815決定沒有足夠的數據機相關聯的記憶體容量來容納傳入資料封包,則跟隨「否」分支到方塊830,並且在在方塊825將系統轉變到X0之前丟棄資料封包。若在判定方塊815處存在可用容量,則跟隨「是」分支到判定方塊817,並且方法800決定鏈路恢復閾值計時器217是否已過期。若計時器已過期,則跟隨「是」分支到方塊830,並且在在方塊825將系統轉變到X0之前丟棄封包,即使在數據機相關聯的記憶體中有待處理的佇列容量是可用的,亦是如此。然而,若計時器尚未過期,則方法800跟隨來自判定方塊817的「否」分支到方塊820。在方塊820,當PCIe鏈路211被重建時,資料封包被排隊用於將來的處理。方法800返回,並且數據機101繼續等待AP 111建立通訊鏈路。如此,方法800避免了:當數據機101由於沒有可用的PCIe鏈路而不可用於處理工作負載時,資料溢出到數據機相關聯的記憶體中。並且,有利地,可以避免數據機101的系統故障。
圖9是圖示用於在等待AP驅動的PCIe通訊鏈路重建時在SoC中使數據機穩定的第三示例性方法900的流程圖。從方塊905開始,方法900可以決定AP 111處於MHI睡眠狀態。數據機101亦可以處於睡眠狀態,例如D3cold狀態。在此種情形下,如前述,資料封包可能到達數據機101以進行處理,然而,除非和直到AP 111轉變出其當前狀態並建立(或更可能重建)與數據機101的PCIe通訊鏈路,數據機101可能無法進行處理。在建立了PCIe通訊鏈路211的情況下,數據機101可以根據PCIe協定轉變出D3狀態並轉變到D0狀態,以處理工作負載。
方法900繼續到判定方塊910。在判定方塊910,方法900可以決定下行鏈路資料封包是否已到達數據機101以進行處理。若沒有下行鏈路資料封包到達,則可以跟隨「否」分支到方塊925,並且系統安全地轉變到X0睡眠模式(系統「關閉」)。從彼處,方法900返回。然而,若在判定方塊910決定下行鏈路資料封包已到達數據機101以進行處理,則可以跟隨「是」分支到後續判定方塊915。
在判定方塊915,方法900決定是否存在可用於容納資料封包的數據機相關聯的記憶體容量。若在判定方塊915處決定沒有足夠的數據機相關聯的記憶體容量來容納傳入資料封包,則跟隨「否」分支到方塊935,並且將喚醒中斷驅動給AP 111。接下來,在判定方塊940,決定是否重建了PCIe通訊鏈路。若未重建鏈路,則跟隨「否」分支到判定方塊945,並且查詢建立給AP 111的最大次數的喚醒嘗試(WAKE#信號)的閾值計數器。若喚醒閾值計數器指示尚未達到允許的最大次數的喚醒嘗試,則從判定方塊945跟隨「否」分支回到方塊935,其中下一個WAKE#被驅動給AP 111。方法900可以以此種方式繼續循環通過方塊935、940和945,直到恢復PCIe鏈路或達到喚醒閾值為止。
若在判定方塊945達到喚醒閾值,則跟隨「是」分支到方塊930,並且在在方塊925將系統轉變到X0之前丟棄資料封包。或者,若PCIe鏈路由AP 111回應於被驅動到AP 111的WAKE#信號來重建,則跟隨「是」分支從判定方塊940到方塊950,其中將數據機101轉變到任務模式D0以處理工作負載。當數據機101處於任務模式時,方法900可以移動到方塊955以取得資料封包以進行處理。
返回到判定方塊915,若在數據機相關聯的記憶體中存在可用的待處理的佇列容量,則方法900可以跟隨到判定方塊917的「是」分支。在判定方塊917,方法900決定鏈路恢復閾值計時器217是否已過期。若計時器已過期,則跟隨「是」分支到方塊935,並且WAKE#被驅動給AP 111–方法900如前述從方塊935開始。然而,若計時器尚未過期,則方法900可以跟隨「否」分支從判定方塊917到方塊920。在方塊920,當PCIe鏈路211被重建時,資料封包被排隊以用於將來的處理。方法900返回,並且數據機101繼續等待AP 111建立通訊鏈路。以該等方式,方法900避免了:當數據機101由於沒有可用的PCIe鏈路而不可用於處理工作負載時,資料溢出到數據機相關聯的記憶體中。並且,有利地,可以避免數據機101的系統故障。
圖10是圖示用於在等待AP驅動的PCIe通訊鏈路重建時在SoC中使數據機穩定的第四示例性方法1000的流程圖。從方塊1005開始,方法1000可以決定AP 111處於MHI睡眠狀態。數據機101亦可以處於睡眠狀態,例如D3cold狀態。在此種情況下,如前述,資料封包可能到達數據機101以進行處理,然而,除非和直到AP 111轉變出其當前狀態並建立(或更可能重建)與數據機101的PCIe通訊鏈路,數據機101可能無法進行處理。在建立了PCIe通訊鏈路211的情況下,數據機101可以根據PCIe協定轉變出D3狀態並轉變到D0狀態,以處理工作負載。
方法1000繼續到判定方塊1010。在判定方塊1010,方法1000可以決定下行鏈路資料封包是否已到達數據機101以進行處理。若沒有下行鏈路資料封包到達,則可以跟隨「否」分支到方塊1025,並且系統安全地轉變到X0睡眠模式(系統「關閉」)。從彼處,方法1000返回。然而,若在判定方塊1010決定下行鏈路資料封包已到達數據機101以進行處理,則可以跟隨「是」分支到後續的判定方塊1015。
在判定方塊1015,方法1000決定是否存在可用於容納資料封包的數據機相關聯的記憶體容量。若在判定方塊1015決定沒有足夠的數據機相關聯的記憶體容量來容納傳入資料封包,則跟隨「否」分支到方塊1036,並且將GPIO切換驅動給AP 111。接下來,在判定方塊1040,決定是否重建了PCIe通訊鏈路。若未重建鏈路,則跟隨「否」分支到判定方塊1045,並且查詢建立到AP 111的最大次數的GPIO切換嘗試的閾值計數器。若切換閾值計數器指示尚未達到允許的最大次數的GPIO切換嘗試,則跟隨「否」分支從判定方塊1045回到方塊1036,其中下一個GPIO切換被驅動給AP 111。方法1000可以以此種方式繼續循環通過方塊1036、1040和1045,直到恢復PCIe鏈路或達到切換閾值為止。
若在判定方塊1045達到GPIO切換閾值,則跟隨「是」分支到方塊1030,並且在在方塊1025處將系統轉變到X0之前丟棄資料封包。或者,若PCIe鏈路由AP 111回應於被驅動給AP 111的GPIO切換來重建,則跟隨「是」分支從判定方塊1040到方塊1050,其中將數據機101轉變到任務模式D0以處理工作負載。在數據機101處於任務模式的情況下,方法1000可以移動到方塊1055以取得資料封包以進行處理。
返回到判定方塊1015,若在數據機相關聯的記憶體中存在可用的待處理的佇列容量,則方法1000可以跟隨「是」分支到判定方塊1017。在判定方塊1017,方法1000決定鏈路恢復閾值計時器217是否已過期。若計時器已過期,則跟隨「是」分支到方塊1036,並且將GPIO切換驅動給AP 111–方法1000如前述從方塊1036開始。然而,若計時器尚未過期,則方法1000可以跟隨「否」分支從判定方塊1017到方塊1020。在方塊1020,當PCIe鏈路211被重建時,資料封包被排隊以用於將來的處理。方法1000返回,並且數據機101繼續等待AP 111建立通訊鏈路。以該等方式,方法1000:當數據機101由於沒有可用的PCIe鏈路而不可用於處理工作負載時,避免資料溢出到數據機相關聯的記憶體中。並且,有利地,可以避免數據機101的系統故障。
本說明書中所述的程序或程序流程中的某些步驟自然先於其他步驟,以便本發明如所述起作用。然而,若步驟的順序或序列不改變本發明的功能性,則本發明不限於順序。亦即,認識到,在不脫離本發明的範疇和精神的情況下,可以在其他步驟之前、之後或與其他步驟並行(基本上同時)地執行一些步驟。在一些情況下,在不脫離本發明的情況下,可以省略或不執行某些步驟。此外,諸如「此後」、「隨後」、「下一」等詞語並不意欲限制步驟的順序。該等詞語僅用於引導讀者通讀示例性方法的描述。
此外,例如,程式設計態樣的一般技術者能夠編寫電腦代碼或標識適當的硬體及/或電路,以基於本說明書中的流程圖和相關描述來實現所揭示的發明,而不會有困難。因此,為了充分理解如何製造和使用本發明,不認為需要揭示一組特定的程式碼指令或詳細的硬體設備。在上述描述中並結合附圖更詳細地解釋了所主張保護的電腦實現的程序的發明功能,其中附圖可以圖示各種程序流程。
在一或多個示例性態樣中,所描述的功能可以在硬體、軟體、韌體或其任何組合中實現。若在軟體中實現,則功能可以被儲存在電腦可讀取媒體上或作為一或多個指令或代碼在電腦可讀取媒體上傳輸。電腦可讀取媒體包括電腦儲存媒體和通訊媒體,通訊媒體包括促進電腦程式從一個地方傳送到另一個地方的任何媒體。儲存媒體可以是電腦可以存取的任何可用媒體。作為實例而非限制,此類電腦可讀取媒體可以包括隨機存取記憶體(「RAM」)、唯讀記憶體(「ROM」)、EEPROM、CD-ROM或其他光碟儲存、磁碟儲存或其他磁儲存設備,或任何其他媒體,其可用於以指令或資料結構的形式攜帶或儲存所需的程式碼,並可由電腦存取。
此外,任何連接皆被恰當地稱為電腦可讀取媒體。例如,若使用同軸電纜、光纖電纜、雙絞線、數位用戶線路(「DSL」)或諸如紅外、無線電和微波等無線技術從網站、伺服器或其他遠端源傳輸軟體,則同軸電纜、光纖電纜、雙絞線、DSL,或者諸如紅外、無線電和微波等無線技術皆包含在媒體的定義中。
本文使用的磁碟和光碟包括壓縮光碟(「CD」)、鐳射光碟、光學光碟、數位多功能光碟(「DVD」)、軟碟和藍光光碟,其中磁碟通常以磁性方式再現資料,而光碟則以鐳射以光學方式再現資料。上述組合亦應包括在電腦可讀取媒體的範疇內。
以下有編號的條款描述了實現方案的實例:
第1條、一種用於在等待應用處理器(「AP」)重建PCIe通訊鏈路時在可攜式計算設備(「PCD」)的SoC中使數據機穩定的方法,該方法包括以下步驟:
決定AP處於睡眠狀態,其中AP和數據機可操作以在PCIe通道上進行通訊;
決定在PCIe通道上沒有可用的活動鏈路;
辨識在工作負載佇列中有資料封包可用於供數據機處理;及
決定與數據機相關聯的記憶體元件中的可用佇列容量,其中:
若可用佇列容量足夠儲存資料封包,則將資料封包儲存在可用佇列容量中以用於後續處理;及
若可用佇列容量不足夠儲存資料封包,則將資料封包從工作負載佇列中丟棄。
2、根據第1條之使數據機穩定的方法,亦包括以下步驟:在將資料封包從工作負載佇列中丟棄後,將SoC轉變為低功率狀態。
3、根據第1條之使數據機穩定的方法,亦包括以下步驟:
監測PCIe鏈路恢復計時器,其中若可用佇列容量足夠儲存資料封包:
若計時器已超過預定義閾值,則從工作負載佇列中丟棄資料封包;及
若計時器尚未超過預定義閾值,則資料封包被儲存在可用佇列容量中以用於後續處理。
4、根據第1條之使數據機穩定的方法,亦包括以下步驟:
若可用佇列容量不足夠儲存資料封包,則在將資料封包從工作負載佇列中丟棄之前,將來自數據機的WAKE#信號和GPIO切換中的一個驅動給AP,其中若WAKE#信號或GPIO切換導致在PCIe通道上重建鏈路,則將數據機轉變為活動處理狀態並處理資料封包。
5、根據第4條之使數據機穩定的方法,亦包括以下步驟:在將資料封包從工作負載佇列中丟棄之前,將來自數據機的多個WAKE#信號或多個GPIO切換驅動給AP。
6、根據第3條之使數據機穩定的方法,亦包括以下步驟:
若可用佇列容量足夠儲存資料封包,且計時器已超過預定義閾值,則在將資料封包從工作負載佇列中丟棄之前,將來自數據機的WAKE#信號和GPIO切換中的一個驅動給AP,其中若WAKE#信號或GPIO切換導致在PCIe通道上重建鏈路,則將數據機轉變為活動處理狀態並處理資料封包。
7、根據第6條之使數據機穩定的方法,亦包括以下步驟:在將資料封包從工作負載佇列中丟棄之前,將來自數據機的多個WAKE#信號或多個GPIO切換驅動給AP。
8、根據第1條之使數據機穩定的方法,其中PCD為無線行動電話的形式。
第9條、一種用於在等待應用處理器(「AP」)重建PCIe通訊鏈路時在可攜式計算設備(「PCD」)的SoC中使數據機穩定的系統,該方法包括以下步驟:
用於決定AP處於睡眠狀態的構件,其中AP和數據機可操作以在PCIe通道上進行通訊;
用於決定在PCIe通道上沒有可用的活動鏈路的構件;
用於辨識在工作負載佇列中有資料封包可用於供數據機處理的構件;及
用於決定與數據機相關聯的記憶體元件中的可用佇列容量的構件,其中:
若可用佇列容量足夠儲存資料封包,則用於將資料封包儲存在可用佇列容量中以用於後續處理的構件;及
若可用佇列容量不足夠儲存資料封包,則用於將資料封包從工作負載佇列中丟棄的構件。
10、根據第9條之使數據機穩定的系統,亦包括:用於在將資料封包從工作負載佇列中丟棄後,將SoC轉變為低功率狀態的構件。
11、根據第9條之使數據機穩定的系統,亦包括:
用於監測PCIe鏈路恢復計時器的構件,其中若可用佇列容量足夠儲存資料封包:
若計時器已超過預定義閾值,則從工作負載佇列中丟棄資料封包;及
若計時器尚未超過預定義閾值,則資料封包被儲存在可用佇列容量中以用於後續處理。
12、根據第9條之使數據機穩定的系統,亦包括:
若可用佇列容量不足夠儲存資料封包,則用於在將資料封包從工作負載佇列中丟棄之前,將來自數據機的WAKE#信號和GPIO切換中的一個驅動給AP的構件,其中若WAKE#信號或GPIO切換導致在PCIe通道上重建鏈路,則用於將數據機轉變為活動處理狀態並處理資料封包的構件。
13、根據第12條之使數據機穩定的系統,亦包括:用於在將資料封包從工作負載佇列中丟棄之前,將來自數據機的多個WAKE#信號或多個GPIO切換驅動給AP的構件。
14、根據第11條之使數據機穩定的系統,亦包括:
若可用佇列容量足夠儲存資料封包,且計時器已超過預定義閾值,則用於在將資料封包從工作負載佇列中丟棄之前,將來自數據機的WAKE#信號和GPIO切換中的一個驅動給AP的構件,其中若WAKE#信號或GPIO切換導致在PCIe通道上重建鏈路,則用於將數據機轉變為活動處理狀態並處理資料封包的構件。
15、根據第14條之使數據機穩定的系統,亦包括:用於在將資料封包從工作負載佇列中丟棄之前,將來自數據機的多個WAKE#信號或多個GPIO切換驅動給AP的構件。
16、根據第9條之使數據機穩定的系統,其中PCD為無線行動電話的形式。
第17條、一種用於在等待應用處理器(「AP」)重建PCIe通訊鏈路時在可攜式計算設備(「PCD」)的SoC中使數據機穩定的系統,該系統包括:
經由PCIe通道進行通訊連接的數據機和AP,該數據機被配置為:
決定AP處於睡眠狀態;
決定在PCIe通道上沒有可用的活動鏈路;
辨識在工作負載佇列中有資料封包可用於供數據機處理;及
決定與數據機相關聯的記憶體元件中的可用佇列容量,其中:
若可用佇列容量足夠儲存資料封包,則將資料封包儲存在可用佇列容量中以用於後續處理;及
若可用佇列容量不足夠儲存資料封包,則將資料封包從工作負載佇列中丟棄。
18、根據第17條之使數據機穩定的系統,其中數據機進一步被配置為:在將資料封包從工作負載佇列中丟棄後,將SoC轉變為低功率狀態。
19、根據第17條之使數據機穩定的系統,其中數據機進一步被配置為:
監測PCIe鏈路恢復計時器,其中若可用佇列容量足夠儲存資料封包:
若計時器已超過預定義閾值,則從工作負載佇列中丟棄資料封包;及
若計時器尚未超過預定義閾值,則資料封包被儲存在可用佇列容量中以用於後續處理。
20、根據第17條之使數據機穩定的系統,其中數據機進一步被配置為:
若可用佇列容量不足夠儲存資料封包,則在將資料封包從工作負載佇列中丟棄之前,將WAKE#信號和GPIO切換中的一個驅動給AP,其中若WAKE#信號或GPIO切換導致在PCIe通道上重建鏈路,則轉變為活動處理狀態並處理資料封包。
21、根據第20條之使數據機穩定的系統,其中數據機進一步被配置為:在將資料封包從工作負載佇列中丟棄之前,將多個WAKE#信號或多個GPIO切換驅動給AP。
22、根據第19條之使數據機穩定的系統,其中數據機進一步被配置為:
若可用佇列容量足夠儲存資料封包,且計時器已超過預定義閾值,則在將資料封包從工作負載佇列中丟棄之前,將WAKE#信號和GPIO切換中的一個驅動給AP,其中若WAKE#信號或GPIO切換導致在PCIe通道上重建鏈路,則轉變為活動處理狀態並處理資料封包。
23、根據第22條之使數據機穩定的系統,其中數據機進一步被配置為:在將資料封包從工作負載佇列中丟棄之前,將多個WAKE#信號或多個GPIO切換驅動給AP。
第24條、一種電腦程式產品,包括具有包含在其中的電腦可讀取程式碼的電腦可用媒體,該電腦可讀取程式碼適於被執行以實現用於在等待應用處理器(「AP」)重建PCIe通訊鏈路時在可攜式計算設備(「PCD」)的SoC中使數據機穩定的方法,該方法包括以下步驟:
決定AP處於睡眠狀態,其中AP和數據機可操作以在PCIe通道上進行通訊;
決定在PCIe通道上沒有可用的活動鏈路;
辨識在工作負載佇列中有資料封包可用於供數據機處理;及
決定與數據機相關聯的記憶體元件中的可用佇列容量,其中:
若可用佇列容量足夠儲存資料封包,則將資料封包儲存在可用佇列容量中以用於後續處理;及
若可用佇列容量不足夠儲存資料封包,則將資料封包從工作負載佇列中丟棄。
25、根據第24條之電腦程式產品,亦包括:在將資料封包從工作負載佇列中丟棄後,將SoC轉變為低功率狀態。
26、根據第24條之電腦程式產品,亦包括:
監測PCIe鏈路恢復計時器,其中若可用佇列容量足夠儲存資料封包:
若計時器已超過預定義閾值,則從工作負載佇列中丟棄資料封包;及
若計時器尚未超過預定義閾值,則資料封包被儲存在可用佇列容量中以用於後續處理。
27、根據第24條之電腦程式產品,亦包括:
若可用佇列容量不足夠儲存資料封包,則在將資料封包從工作負載佇列中丟棄之前,將來自數據機的WAKE#信號和GPIO切換中的一個驅動給AP,其中若WAKE#信號或GPIO切換導致在PCIe通道上重建鏈路,則將數據機轉變為活動處理狀態並處理資料封包。
28、根據第27條之電腦程式產品,亦包括:在將資料封包從工作負載佇列中丟棄之前,將來自數據機的多個WAKE#信號或多個GPIO切換驅動給AP。
29、根據第26條之電腦程式產品,亦包括:
若可用佇列容量足夠儲存資料封包,且計時器已超過預定義閾值,則在將資料封包從工作負載佇列中丟棄之前,將來自數據機的WAKE#信號和GPIO切換中的一個驅動給AP,其中若WAKE#信號或GPIO切換導致在PCIe通道上重建鏈路,則將數據機轉變為活動處理狀態並處理資料封包。
30、根據第29條之電腦程式產品,亦包括:在將資料封包從工作負載佇列中丟棄之前,將來自數據機的多個WAKE#信號或多個GPIO切換驅動給AP。
因此,儘管已詳細圖示和描述了選定的態樣,但應理解,在不脫離本發明的精神和保護範疇的情況下,可以在其中進行各種替換和修改,如以下申請專利範圍所定義。
100:PCD 101:數據機 102:晶片上系統 103:ADC控制器 110:CPU 111:AP 112A:MDM DRAM 112B:DRAM記憶體 114:DMA引擎 126:類比信號處理器 128:顯示器控制器 130:觸控式螢幕控制器 132:觸控式螢幕顯示器 134:視訊解碼器 136:視訊放大器 138:視訊連接埠 140:USB控制器 142:USB埠 146:用戶標識模組(SIM)卡 148:數位相機 150:身歷聲音訊轉碼器 152:音訊放大器 154:第一身歷聲揚聲器 156:第二身歷聲揚聲器 157:溫度感測器 157A:晶片上溫度感測器 157B:晶片上溫度感測器 157C:晶片外熱感測器 158:麥克風放大器 160:麥克風 162:FM無線電調諧器 164:FM天線 166:身歷聲耳機 168:RF收發機 170:RF開關 172:RF天線 174:鍵盤 176:單聲道耳機 178:震動器 180:PMIC 180A:PMIC 180B:PMIC 188:電源 211:PCIe匯流排 213:GPIO連接 217:鏈路恢復閾值計時器 222:第0核 224:第一核 230:第N核 271A:核 271B:核 271C:核 271D:核 300:功能方塊圖 400:功能方塊圖 500:功能方塊圖 600:MHI電源狀態機圖 610:狀態場景 700:方法 705:方塊 710:判定方塊 715:判定方塊 720:方塊 725:方塊 730:方塊 800:方法 805:方塊 810:判定方塊 815:判定方塊 817:判定方塊 820:方塊 825:方塊 830:方塊 900:方法 905:方塊 910:判定方塊 915:判定方塊 917:判定方塊 920:方塊 925:方塊 930:方塊 935:方塊 940:判定方塊 945:判定方塊 950:方塊 955:方塊 1000:方法 1005:方塊 1010:判定方塊 1015:判定方塊 1017:判定方塊 1020:方塊 1025:方塊 1030:方塊 1036:方塊 1040:判定方塊 1045:判定方塊 1050:方塊 1055:方塊
在附圖中,除非另有說明,否則相同的元件符號指的是貫穿各種視圖的相同部分。對於具有字母字元名稱的元件符號,諸如「102A」或「102B」,字母字元名稱可以區分同一附圖中存在的兩個相似部件或元件。當一個元件符號意欲包含所有附圖中具有相同元件符號的所有部件時,可以省略元件符號的字母字元名稱。
圖1是無線電話形式的PCD的示例性非限制性態樣的功能方塊圖,用於實現在等待AP驅動的PCIe鏈路恢復時使數據機穩定的方法和系統;
圖2是圖示用於執行關於在等待AP驅動的PCIe鏈路重建或恢復時使數據機穩定的方法的晶片上系統的實施例的功能方塊圖;
圖3是展示了協定堆疊內的示例性PCIe介面的相對級別的功能方塊圖,該協定堆疊可以由圖2中所示的晶片上系統的AP和MDM使用;
圖4是圖示圖3的協定堆疊中的功能缺口的功能方塊圖;
圖5是圖示在圖4中所示的功能缺口內部署的數據機-主機介面(「MHI」)的功能方塊圖;
圖6是標識狀態場景的MHI電源狀態機圖,在該狀態場景中,可以採用用於在等待AP驅動的PCIe鏈路恢復時使數據機穩定的解決方案的實施例;
圖7是圖示用於在等待AP驅動的PCIe通訊鏈路重建時在SoC中使數據機穩定的第一示例性方法的流程圖;
圖8是圖示用於在等待AP驅動的PCIe通訊鏈路重建時在SoC中使數據機穩定的第二示例性方法的流程圖;
圖9是圖示用於在等待AP驅動的PCIe通訊鏈路重建時在SoC中使數據機穩定的第三示例性方法的流程圖;和
圖10是圖示用於在等待AP驅動的PCIe通訊鏈路重建時在SoC中使數據機穩定的第四示例性方法的流程圖。
國內寄存資訊(請依寄存機構、日期、號碼順序註記) 無 國外寄存資訊(請依寄存國家、機構、日期、號碼順序註記) 無
100:PCD
101:數據機
102:晶片上系統
111:AP
112A:MDM DRAM
112B:DRAM記憶體
114:DMA引擎
157:溫度感測器
180A:PMIC
180B:PMIC
211:PCIe匯流排
213:GPIO連接
217:鏈路恢復閾值計時器
271A:核
271B:核
271C:核
271D:核

Claims (30)

  1. 一種用於使數據機穩定的方法,該方法包括以下步驟: 決定一應用處理器(AP)處於一睡眠狀態,其中該AP和一數據機可操作以在一周邊元件互連快速(PCIe)通道上進行通訊; 決定在該PCIe通道上沒有可用的活動鏈路; 辨識在一工作負載佇列中有一資料封包可用於供一數據機處理;及 決定與該數據機相關聯的一記憶體元件中的一可用佇列容量,其中: 若該可用佇列容量足夠儲存該資料封包,則將該資料封包儲存在該可用佇列容量中以用於後續處理;及 若該可用佇列容量不足夠儲存該資料封包,則將該資料封包從該工作負載佇列中丟棄。
  2. 根據請求項1之使數據機穩定的方法,亦包括以下步驟:在將該資料封包從該工作負載佇列中丟棄後,將具有該AP的一晶片上系統(SoC)轉變為一低功率狀態。
  3. 根據請求項1之使數據機穩定的方法,亦包括以下步驟: 監測一PCIe鏈路恢復計時器,其中若該可用佇列容量足夠儲存該資料封包: 若該計時器已超過一預定義閾值,則該資料封包被從該工作負載佇列中丟棄;及 若該計時器尚未超過該預定義閾值,則該資料封包被儲存在該可用佇列容量中以用於後續處理。
  4. 根據請求項1之使數據機穩定的方法,亦包括以下步驟: 若該可用佇列容量不足夠儲存該資料封包,則在將該資料封包從該工作負載佇列中丟棄之前,將來自該數據機的一WAKE#信號和一GPIO切換中的一個驅動給該AP,其中若該WAKE#信號或GPIO切換導致在該PCIe通道上重建一鏈路,則將該數據機轉變為一活動處理狀態並處理該資料封包。
  5. 根據請求項4之使數據機穩定的方法,亦包括以下步驟:在將該資料封包從該工作負載佇列中丟棄之前,將來自該數據機的多個WAKE#信號或多個GPIO切換驅動給該AP。
  6. 根據請求項3之使數據機穩定的方法,亦包括以下步驟: 若該可用佇列容量足夠儲存該資料封包,且該計時器已超過該預定義閾值,則在將該資料封包從該工作負載佇列中丟棄之前,將來自該數據機的一WAKE#信號和一GPIO切換中的一個驅動給該AP,其中若該WAKE#信號或該GPIO切換導致在該PCIe通道上重建一鏈路,則將該數據機轉變為一活動處理狀態並處理該資料封包。
  7. 根據請求項6之使數據機穩定的方法,亦包括以下步驟:在將該資料封包從該工作負載佇列中丟棄之前,將來自該數據機的多個WAKE#信號或多個GPIO切換驅動給該AP。
  8. 根據請求項1之使數據機穩定的方法,其中安放該AP的一PCD是一無線行動電話的形式。
  9. 一種用於使一可攜式計算設備(「PCD」)的數據機穩定的系統,該系統包括: 用於決定一應用處理器(AP)處於一睡眠狀態的構件,其中該AP和一數據機可操作以在一周邊元件互連快速(PCIe)通道上進行通訊; 用於決定在該PCIe通道上沒有可用的活動鏈路的構件; 用於辨識在一工作負載佇列中有一資料封包可用於供一數據機處理的構件;及 用於決定與該數據機相關聯的一記憶體元件中的一可用佇列容量的構件,其中: 若該可用佇列容量足夠儲存該資料封包,則用於將該資料封包儲存在該可用佇列容量中以用於後續處理的構件;及 若該可用佇列容量不足夠儲存該資料封包,則用於將該資料封包從該工作負載佇列中丟棄的構件。
  10. 根據請求項9之使數據機穩定的系統,亦包括:用於在將該資料封包從該工作負載佇列中丟棄後,將包含該AP的一晶片上系統(SoC)轉變為一低功率狀態的構件。
  11. 根據請求項9之使數據機穩定的系統,亦包括: 用於監測一PCIe鏈路恢復計時器的構件,其中若該可用佇列容量足夠儲存該資料封包: 若該計時器已超過一預定義閾值,則該資料封包被從該工作負載佇列中丟棄;及 若該計時器尚未超過該預定義閾值,則該資料封包被儲存在該可用佇列容量中以用於後續處理。
  12. 根據請求項9之使數據機穩定的系統,亦包括: 若該可用佇列容量不足夠儲存該資料封包,則用於在將該資料封包從該工作負載佇列中丟棄之前,將來自該數據機的一WAKE#信號和一GPIO切換中的一個驅動給該AP的構件,其中若該WAKE#信號或GPIO切換導致在該PCIe通道上重建一鏈路,則用於將該數據機轉變為一活動處理狀態並處理該資料封包的構件。
  13. 根據請求項12之使數據機穩定的系統,亦包括:用於在將該資料封包從該工作負載佇列中丟棄之前,將來自該數據機的多個WAKE#信號或多個GPIO切換驅動給該AP的構件。
  14. 根據請求項11之使數據機穩定的系統,亦包括: 若該可用佇列容量足夠儲存該資料封包,且該計時器已超過該預定義閾值,則用於在將該資料封包從該工作負載佇列中丟棄之前,將來自該數據機的一WAKE#信號和一GPIO切換中的一個驅動給該AP的構件,其中若該WAKE#信號或該GPIO切換導致在該PCIe通道上重建一鏈路,則用於將該數據機轉變為一活動處理狀態並處理該資料封包的構件。
  15. 根據請求項14之使數據機穩定的系統,亦包括:用於在將該資料封包從該工作負載佇列中丟棄之前,將來自該數據機的多個WAKE#信號或多個GPIO切換驅動給該AP的構件。
  16. 根據請求項9之使數據機穩定的系統,其中該PCD是一無線行動電話的形式。
  17. 一種用於使一可攜式計算設備(「PCD」)的數據機穩定的系統,包括: 經由一周邊元件互連快速(PCIe)通道通訊地連接的一數據機和一應用處理器(AP),該數據機被配置為: 決定該AP處於一睡眠狀態; 決定在該PCIe通道上沒有可用的活動鏈路; 辨識在一工作負載佇列中有一資料封包可用於供該數據機處理;及 決定與該數據機相關聯的一記憶體元件中的一可用佇列容量,其中: 若該可用佇列容量足夠儲存該資料封包,則將該資料封包儲存在該可用佇列容量中以用於後續處理;及 若該可用佇列容量不足夠儲存該資料封包,則將該資料封包從該工作負載佇列中丟棄。
  18. 根據請求項17之使數據機穩定的系統,其中該數據機亦被配置為:在將該資料封包從該工作負載佇列中丟棄後,將包含該AP的一晶片上系統(SoC)轉變為一低功率狀態。
  19. 根據請求項17之使數據機穩定的系統,其中該數據機亦被配置為: 監測一PCIe鏈路恢復計時器,其中若該可用佇列容量足夠儲存該資料封包: 若該計時器已超過一預定義閾值,則該資料封包被從該工作負載佇列中丟棄;及 若該計時器尚未超過該預定義閾值,則該資料封包被儲存在該可用佇列容量中以用於後續處理。
  20. 根據請求項17之使數據機穩定的系統,其中該數據機亦被配置為: 若該可用佇列容量不足夠儲存該資料封包,則在將該資料封包從該工作負載佇列中丟棄之前,將一WAKE#信號和一GPIO切換中的一個驅動給該AP,其中若該WAKE#信號或GPIO切換導致在該PCIe通道上重建一鏈路,則轉變為一活動處理狀態並處理該資料封包。
  21. 根據請求項20之使數據機穩定的系統,其中該數據機亦被配置為:在將該資料封包從該工作負載佇列中丟棄之前,將多個WAKE#信號或多個GPIO切換驅動給該AP。
  22. 根據請求項19之使數據機穩定的系統,其中該數據機亦被配置為: 若該可用佇列容量足夠儲存該資料封包,且該計時器已超過該預定義閾值,則在將該資料封包從該工作負載佇列中丟棄之前,將一WAKE#信號和一GPIO切換中的一個驅動給該AP,其中若該WAKE#信號或該GPIO切換導致在該PCIe通道上重建一鏈路,則轉變為一活動處理狀態並處理該資料封包。
  23. 根據請求項22之使數據機穩定的系統,其中該數據機進一步被配置為:在將該資料封包從該工作負載佇列中丟棄之前,將多個WAKE#信號或多個GPIO切換驅動給該AP。
  24. 一種電腦程式產品,包括具有實施在其中的一電腦可讀取程式碼的一電腦可用媒體,該電腦可讀取程式碼適於被執行以實現用於使數據機穩定的一方法,該方法包括以下步驟: 決定一應用處理器(AP)處於一睡眠狀態,其中該AP和一數據機可操作以在一周邊元件互連快速(PCIe)通道上進行通訊; 決定在該PCIe通道上沒有可用的活動鏈路; 辨識在一工作負載佇列中有一資料封包可用於供該數據機處理;及 決定與該數據機相關聯的一記憶體元件中的一可用佇列容量,其中: 若該可用佇列容量足夠儲存該資料封包,則將該資料封包儲存在該可用佇列容量中以用於後續處理;及 若該可用佇列容量不足夠儲存該資料封包,則將該資料封包從該工作負載佇列中丟棄。
  25. 根據請求項24之電腦程式產品,亦包括:在將該資料封包從該工作負載佇列中丟棄後,將包含該AP的一晶片上系統(SoC)轉變為一低功率狀態。
  26. 根據請求項24之電腦程式產品,亦包括: 監測一PCIe鏈路恢復計時器,其中若該可用佇列容量足夠儲存該資料封包: 若該計時器已超過一預定義閾值,則該資料封包被從該工作負載佇列中丟棄;及 若該計時器尚未超過該預定義閾值,則該資料封包被儲存在該可用佇列容量中以用於後續處理。
  27. 根據請求項24之電腦程式產品,亦包括: 若該可用佇列容量不足夠儲存該資料封包,則在將該資料封包從該工作負載佇列中丟棄之前,將來自該數據機的一WAKE#信號和一GPIO切換中的一個驅動給該AP,其中若該WAKE#信號或GPIO切換導致在該PCIe通道上重建一鏈路,則將該數據機轉變為一活動處理狀態並處理該資料封包。
  28. 根據請求項27之電腦程式產品,亦包括:在將該資料封包從該工作負載佇列中丟棄之前,將來自該數據機的多個WAKE#信號或多個GPIO切換驅動給該AP。
  29. 根據請求項26之電腦程式產品,亦包括: 若該可用佇列容量足夠儲存該資料封包,且該計時器已超過該預定義閾值,則在將該資料封包從該工作負載佇列中丟棄之前,將來自該數據機的一WAKE#信號和一GPIO切換中的一個驅動給該AP,其中若該WAKE#信號或該GPIO切換導致在該PCIe通道上重建一鏈路,則將該數據機轉變為一活動處理狀態並處理該資料封包。
  30. 根據請求項29之電腦程式產品,亦包括:在將該資料封包從該工作負載佇列中丟棄之前,將來自該數據機的多個WAKE#信號或多個GPIO切換驅動給該AP。
TW110138511A 2020-11-20 2021-10-18 用於當等待ap驅動的鏈路恢復時使數據機穩定的系統和方法 TW202226790A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US17/100,579 US11606316B2 (en) 2020-11-20 2020-11-20 System and method for modem stabilization when waiting for AP-driven link recovery
US17/100,579 2020-11-20

Publications (1)

Publication Number Publication Date
TW202226790A true TW202226790A (zh) 2022-07-01

Family

ID=78725601

Family Applications (1)

Application Number Title Priority Date Filing Date
TW110138511A TW202226790A (zh) 2020-11-20 2021-10-18 用於當等待ap驅動的鏈路恢復時使數據機穩定的系統和方法

Country Status (6)

Country Link
US (1) US11606316B2 (zh)
EP (1) EP4248328A1 (zh)
KR (1) KR20230104625A (zh)
CN (1) CN116348858A (zh)
TW (1) TW202226790A (zh)
WO (1) WO2022108686A1 (zh)

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5687316A (en) * 1994-07-29 1997-11-11 International Business Machines Corporation Communication apparatus and methods having P-MAC, I-MAC engines and buffer bypass for simultaneously transmitting multimedia and packet data
GB2372172B (en) * 2001-05-31 2002-12-24 Ericsson Telefon Ab L M Congestion handling in a packet data network
US7154903B2 (en) * 2001-10-19 2006-12-26 Telefonaktiebolaget Lm Ericsson (Publ) System and method for management of data associated with a dormant mobile terminal
US20080063004A1 (en) * 2006-09-13 2008-03-13 International Business Machines Corporation Buffer allocation method for multi-class traffic with dynamic spare buffering
US8706938B2 (en) * 2012-06-20 2014-04-22 International Business Machines Corporation Bandwidth limiting on generated PCIE packets from debug source
US9594718B2 (en) * 2013-01-24 2017-03-14 Qualcomm Innovation Center, Inc. Hardware accelerated communications over a chip-to-chip interface
US20140229644A1 (en) * 2013-02-12 2014-08-14 Haran Thanigasalam Method, apparatus, system for including interrupt functionality in sensor interconnects
US9086966B2 (en) * 2013-03-15 2015-07-21 Intel Corporation Systems, apparatuses, and methods for handling timeouts
US9563260B2 (en) * 2013-03-15 2017-02-07 Intel Corporation Systems, apparatuses, and methods for synchronizing port entry into a low power state
US9477631B2 (en) * 2014-06-26 2016-10-25 Intel Corporation Optimized credit return mechanism for packet sends
US9971397B2 (en) * 2014-10-08 2018-05-15 Apple Inc. Methods and apparatus for managing power with an inter-processor communication link between independently operable processors
US20170168966A1 (en) * 2015-12-10 2017-06-15 Qualcomm Incorporated Optimal latency packetizer finite state machine for messaging and input/output transfer interfaces
US10085214B2 (en) * 2016-01-27 2018-09-25 Apple Inc. Apparatus and methods for wake-limiting with an inter-device communication link
DE102016110078A1 (de) * 2016-06-01 2017-12-07 Intel IP Corporation Datenverarbeitungsvorrichtung und Verfahren zum Auslagern von Daten zu einer fernen Datenverarbeitungsvorrichtung
US10621125B2 (en) * 2016-06-28 2020-04-14 Nec Corporation Identifier-based packet request processing
US9946325B2 (en) * 2016-06-30 2018-04-17 Intel IP Corporation Interprocessor power state transitions
US10915490B2 (en) * 2018-02-15 2021-02-09 Qualcomm Incorporated Audio streams over peripheral component interconnect (PCI) express (PCIE) links
KR102560251B1 (ko) * 2018-06-20 2023-07-26 삼성전자주식회사 반도체 장치 및 반도체 시스템
US20200153593A1 (en) * 2018-11-12 2020-05-14 Qualcomm Incorporated Reducing latency on long distance point-to-point links
US11249536B2 (en) * 2018-12-17 2022-02-15 Qualcomm Incorporated Reducing power consumption of communication interfaces by clock frequency scaling and adaptive interleaving of polling
US10884960B2 (en) * 2019-04-19 2021-01-05 Cisco Technology, Inc. Offloading data movement for packet processing in a network interface controller
US11113074B2 (en) * 2019-06-28 2021-09-07 Qualcomm Incorporated System and method for modem-directed application processor boot flow
JP6659989B1 (ja) * 2019-08-09 2020-03-04 富士通クライアントコンピューティング株式会社 情報処理システム、中継装置、及びプログラム
US11956156B2 (en) * 2020-09-10 2024-04-09 Intel Corporation Dynamic offline end-to-end packet processing based on traffic class
US20210409335A1 (en) * 2020-09-11 2021-12-30 Intel Corporation Multi-access management service packet classification and prioritization techniques

Also Published As

Publication number Publication date
CN116348858A (zh) 2023-06-27
KR20230104625A (ko) 2023-07-10
WO2022108686A1 (en) 2022-05-27
EP4248328A1 (en) 2023-09-27
US11606316B2 (en) 2023-03-14
US20220166729A1 (en) 2022-05-26

Similar Documents

Publication Publication Date Title
TWI410789B (zh) 單晶片系統及用於其之方法
KR101565357B1 (ko) 타임아웃을 처리하기 위한 시스템, 방법 및 장치
TWI447650B (zh) 中斷分佈方案
US9563260B2 (en) Systems, apparatuses, and methods for synchronizing port entry into a low power state
KR20180052539A (ko) 주변기기 서브시스템에 대한 개별화된 전력 제어를 제공하기 위한 방법 및 장치
TWI578154B (zh) 用於電源管理的系統、方法及設備
JP6370498B2 (ja) コンピューティングデバイス内の複数のsocの間における動作状態の協調のための方法およびシステム
TWI493332B (zh) 用於電力管理的方法與設備及其平台與電腦可讀取媒體
US11231937B2 (en) Autonomous host detection for communication port management
US9881680B2 (en) Multi-host power controller (MHPC) of a flash-memory-based storage device
JP2008539484A (ja) ユニバーサル・シリアル・バス機能のデリゲーション
US20210311895A1 (en) Disaggregation of computing devices using enhanced retimers with circuit switching
JP2015170292A (ja) 半導体装置
US10873525B2 (en) Dynamic asymmetric communication path allocation
US10209734B2 (en) Semiconductor device, semiconductor system, and method of operating the semiconductor device
TWI489264B (zh) 中介軟體電源管理
TW202226790A (zh) 用於當等待ap驅動的鏈路恢復時使數據機穩定的系統和方法
US20220019459A1 (en) Controlled early response in master-slave systems
NL2029396B1 (en) Disaggregation of computing devices using enhanced retimers with circuit switching
WO2018013290A1 (en) Method and apparatus for detecting and resolving bus hang in a bus controlled by an interface clock
CN108268085A (zh) 半导体装置