TWI411921B - 電子系統、互連電子系統與週邊裝置之電腦可讀儲存媒體及其互連方法 - Google Patents

電子系統、互連電子系統與週邊裝置之電腦可讀儲存媒體及其互連方法 Download PDF

Info

Publication number
TWI411921B
TWI411921B TW98141122A TW98141122A TWI411921B TW I411921 B TWI411921 B TW I411921B TW 98141122 A TW98141122 A TW 98141122A TW 98141122 A TW98141122 A TW 98141122A TW I411921 B TWI411921 B TW I411921B
Authority
TW
Taiwan
Prior art keywords
peripheral device
range
software
input
peripheral
Prior art date
Application number
TW98141122A
Other languages
English (en)
Other versions
TW201032060A (en
Inventor
Neil Morrow
Wei Luo
Original Assignee
Maishi Electronic Shanghai Ltd
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 Maishi Electronic Shanghai Ltd filed Critical Maishi Electronic Shanghai Ltd
Publication of TW201032060A publication Critical patent/TW201032060A/zh
Application granted granted Critical
Publication of TWI411921B publication Critical patent/TWI411921B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4411Configuring for operating with peripheral devices; Loading of device drivers
    • 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/10Program control for peripheral devices
    • G06F13/102Program control for peripheral devices where the programme performs an interfacing function, e.g. device driver
    • 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/38Universal adapter
    • G06F2213/3804Memory card connected to a computer port directly or by means of a reader/writer

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)

Description

電子系統、互連電子系統與週邊裝置之電腦可讀儲存媒體及其互連方法
本發明係有關一種電子系統,特別是一種具有週邊裝置之電子系統。
電腦系統可包括一種輸入/輸出(Input/Output,I/O)存取,用於存取I/O週邊裝置,例如:壓縮快閃記憶體(Compact Flash)裝置、個人電腦(Personal Computer,PC)卡裝置。使用I/O存取的裝置和其對應的軟體元件(例如,對應的裝置控制器)仰賴I/O存取位址的可利用性以運作。一些舊式遵從個人電腦記憶卡國際協會標準(Personal Computer Memory Card International Association,PCMCIA)的週邊裝置的存取位址在0x1000(十六進位位址碼)以下。
然而,隨著快速週邊元件互連(Peripheral Component Interconnect Express,PCI Express)主匯流排介面技術的出現,與舊式週邊裝置關聯的裝置控制器可能無法擷取位址在0x1000以下的I/O。在此情況下,現有技術中的裝置控制器無法使舊式週邊裝置適配於遵從PCI Express標準的新型電腦。
為解決上述技術問題,本發明提供一種互連一週邊裝置和一電子系統的電腦執行方法,包括:分析與該週邊裝 置有關之一資訊(INF)檔;基於對該資訊檔的分析,識別該週邊裝置和該電子系統之間的一資源衝突;以及透過修改該資訊檔解決該資源衝突。
本發明還提供一種互連一週邊裝置與一電子系統之電腦可讀儲存媒體,包括:與該週邊裝置有關之一資訊檔(INF);以及一軟體,分析該資訊檔,並基於對該資訊檔的分析識別該週邊裝置和該電子系統之間的一資源衝突,並且透過修改該資訊檔解決該資源衝突。
本發明還提供一種電子系統,包括:一處理單元;以及一記憶體,耦接至該處理單元,該記憶體包括複數個電腦可讀指令,當該處理單元執行該複數個電腦可讀指令時,促使該電子系統分析與一週邊裝置有關之一資訊檔,基於對該資訊檔的分析識別該週邊裝置和該電子系統之間的一資源衝突,並且透過修改該資訊檔解決該資源衝突。
以下將對本發明的實施例給出詳細的說明。雖然本發明將結合實施例進行闡述,但應理解這並非意指將本發明限定於這些實施例。相反地,本發明意在涵蓋由後附申請專利範圍所界定的本發明精神和範圍內所定義的各種變化、修改和均等物。
本發明實施例係透過以一般文字來描述以電腦可使用的媒體形式(例如,程式模組)存在且透過一或多個電腦或其他設備來執行之電腦可執行指令。一般來說,程式 模組執行特定的工作或執行特定抽象資料型態,程式模組包含常規(routine)、程式、物件、元件、資料結構等等。程式模組的功能將因各種不同實施態樣而有所結合或分配。以下部分詳細描述係以程序、邏輯方塊、步驟、以及其他代表電腦記憶體內資料位元之運算之符號表示之。這些描述與表述係為資料處理技術領域中具有通常知識者用以傳達其工作實質內容的最有效方式。在本發明中,一程序、一邏輯方塊、一步驟或其他等等,被認定為以一自身一致順序之步驟或指令導引產生一所需之結果。這些步驟係需要將物理量(physical quantities)做物理處理(manipulation)。雖然並非必要,但通常這些物理量採用了電信號或磁信號的形式以俾使在電腦系統中儲存、傳送、結合、比較等等。
然而,這些相似的用語皆與適當的物理量有關,且僅僅是在這些物理量上標上方便辨識之標示。除非特別強調,否則顯然從下述描述可知,在本發明中,這些“執行(running)”、“分析(analyzing)”、“辨識(recognizing)”、“解決(resolving)”、“修正(modifying)”、“定義(defining)”、“指派(assigning)”、“更新(updating)”、“重新致能(re-enabling)”、“建立(establishing)”等等之用語係參考電腦系統或其他類似之電子計算裝置之動作及步驟,這些動作及步驟將代表電腦系統中暫存器及記憶體內之物理(電子)量處理並轉換為其他類似於代表電腦系統記憶體或暫存器內或其他諸如資訊儲存、傳送或顯示 裝置內之物理量之其他資料。
舉例來說,電腦可用之媒體可包含電腦儲存媒體及通訊媒體,但不以此為限。電腦儲存媒體包含以任何方式或技術實施以儲存例如電腦可讀之指令、資料結構、程式模組或其他資料之可變(volatile)/不可變、可移除/不可移除的電腦儲存媒體。電腦儲存媒體包括隨機存取記憶體(RAM)、唯讀記憶體(ROM)、電子式可抹除可程式唯讀記憶體(EEPROM)、快閃記憶體或其他記憶體技術,光碟(CD-ROM)、數位多功能磁碟(DVD)或其他光學儲存,卡式磁帶(cassettes)、磁帶(tape)、磁碟、或其他磁式儲存或其他可用於儲存資料之媒體,但不以此為限。
通訊媒體可使用電腦可讀指令、資料結構、程式模組或其他調變資料信號上之資料,例如載波或其他傳輸機制,且包括任何資訊傳送媒體。術語「調變資料信號」意指具有一或多組特徵組,或以例如在該信號上加密之資訊加密方法而改變之信號。舉例來說,通訊媒體包括例如有線網路或以直接線路相連之有線媒體,或例如聲學的(acoustic)、無線射頻(radio frequency,RF)、紅外線或其他無線媒體等等,但不以此為限。上述媒體之結合亦包含在電腦可讀媒體之範圍中。
此外,在以下對本發明的詳細描述中,為了提供針對本發明的完全的理解,提供了大量的具體細節。然而,於本技術領域中具有通常知識者將理解,沒有這些具體細節,本發明同樣可以實施。在另外的一些實例中,對於大家熟知的方法、程序、元件和電路未作詳細描述,以便於 凸顯本發明之主旨。
在一實施例中,本發明提供了一種插有週邊裝置的電子系統(例如,電腦系統)。電腦系統可以是一種新型電腦(例如,遵從PCI Express標準)。插入的週邊裝置可以是一種新型週邊裝置(例如,遵從PCI Express標準)或者一種舊式週邊裝置(例如,遵從PCMCIA標準)。如果插入的週邊裝置是一種新型週邊裝置,電腦系統可與新型週邊裝置正常通信。如果週邊裝置是一種舊式週邊裝置,電腦系統可執行增強軟體,進而解決舊式週邊裝置和電腦系統之間可能存在的資源衝突。因此,電腦系統也可以與舊式週邊裝置正常通信。
圖1所示為根據本發明一實施例電子系統100的示例性方塊圖。電子系統100可為一電腦系統,但不以此為限。電腦系統100可為一具有PCI Express匯流排的個人電腦,例如,桌上型電腦、膝上型電腦、桌上型工作站、或者伺服器電腦。在本實施例中,電腦系統100包括中央處理單元(Central Processing Unit,CPU)103、硬碟(Hard Disk Drive,HDD)101、系統記憶體104、系統核心邏輯晶片組109(在此之後,稱為系統核心邏輯109)、週邊控制器105、連接器(例如,插槽連接器107、埠、電纜(圖1中未示)等等)、音頻輸出裝置112、以及通用串列匯流排(Universal Serial Bus,USB)埠113。週邊裝置108透過連接器(例如,插槽連接器107)耦接至電腦系統100。週邊裝置108可為USB裝置、本地區域網路(Local Area Network,LNA)裝置、Compact Flash裝置、PC卡裝置等 等。
中央處理單元103可與基本輸入/輸出系統(BIOS)和作業系統(OS)合作,透過執行指令並處理電腦程式內的資料,進而管理電腦系統100中的裝置。作業系統可儲存在硬碟101中。硬碟101透過例如一串列高級技術介面(Serial Advanced Technology Attachment,SATA)102而耦接至電腦系統100中的其他裝置。
系統核心邏輯109包括一或多個元件,用於處理電腦系統100中系統元件之間的I/O資料交換以及記憶體相互存取。系統核心邏輯109還可包括整合圖形控制器110,用於產生並傳送視頻輸出111,例如,數位視覺介面(Digital Visual Interface,DVI)視頻輸出。
插槽連接器107用於連接多種週邊裝置108至電腦系統100。插槽連接器107可接收由週邊控制器105所產生的電子信號。週邊控制器105耦接至系統核心邏輯109且透過一主匯流排介面106與系統核心邏輯109通信。在一實施例中,週邊裝置108遵從第一協定標準,例如,PCMCIA標準、PC卡標準、或者Compact Flash標準。週邊控制器105可識別多種週邊裝置,例如,遵從PCMCIA標準的PC卡裝置和/或Compact Flash裝置、或遵從PCI Express標準的PCI Express裝置等等。然而,主匯流排介面106遵從不同於第一協定標準(例如,PCMCIA標準)的第二協定標準,例如,PCI Express標準。
有利的是,週邊控制器105可利用增強軟體使遵從第一協定標準(例如,PCMCIA標準)的週邊裝置108適配於 遵從第二協定標準(例如,PCI Express標準)的主匯流排介面106。更具體地說,增強軟體可被知會週邊裝置108已被連接,並且自動地更新與週邊裝置108的軟體裝置驅動器相關的資訊(INF)檔。因此,電腦系統100可重新分配I/O資源給週邊裝置108,進而符合電腦系統100的資源可利用性。在一實施例中,增強軟體可儲存在硬碟101中。
圖2所示為根據本發明一實施例電腦系統100中軟體拓撲示意圖。以下將結合圖1對圖2進行描述。圖2所示的軟體拓撲圖包括資訊(INF)檔201、增強軟體200、連接服務軟體207(例如,包含一或多個作業系統連接服務功能)、匯流排控制軟體208(例如,包含一或多個匯流排控制功能)、軟體裝置驅動器(例如,卡驅動器205)、主匯流排介面驅動器206、應用程式202、應用程式介面(Application Programming Interface,API)203、以及其他作業系統軟體204(例如,包含其他作業系統功能)。
電腦系統100中的中央處理單元103可執行增強軟體200中的機器指令(或軟體指令)。在一實施例中,軟體指令儲存在硬碟101中。此外,在正常操作期間,軟體指令被複製到系統記憶體104中,並且利用副檔名來識別,例如,“.SYS”和“.EXE”。
增強軟體200可與連接服務軟體(或功能)207通信以接收通知(例如,指示週邊裝置108被插設或移除的通知)。當週邊裝置108被插設到電腦系統100時,增強軟體200透過連接服務軟體207與匯流排控制軟體208通 信,進而處理低階指令以互連週邊裝置108和電腦系統100。低階指令透過控制電子信號和執行軟體任務(例如,指派系統資源)的手段來處理。透過與匯流排控制軟體208通信,增強軟體200可將與周邊裝置108有關之軟體裝置驅動(例如,卡驅動器205)整合至應用程式202從資訊檔201處需要獲得的資料流程中。因此,週邊控制器105可利用匯流排控制軟體208使週邊裝置108(例如,遵從PCMCIA標準的裝置)適配於遵從如PCI Express標準的電腦系統100。舉例說明,匯流排控制軟體208可為一PC卡匯流排控制軟體,用於使PC卡裝置適配於電腦系統100。匯流排控制軟體208也可為一Compact Flash匯流排控制軟體,用於使Compact Flash裝置適配於電腦系統100。
資訊檔201包括與週邊裝置108關聯的卡驅動器205的資訊。另外,資訊檔201可包括電腦系統100用來啟動其他作業系統軟體(或功能)204(例如,印表機和/或揚聲器)的資訊。增強軟體200可透過手動或自動的方式操作資訊檔201或與週邊裝置108對應的檔案。卡驅動器205可使用資訊檔201進行配置資料和資訊資料的通信。卡驅動器205可透過主匯流排介面驅動器206或使用者無法看見之直接定址方法執行對週邊裝置108的存取,例如,記憶體存取和/或I/O存取。在一實施例中,系統核心邏輯109執行產生PCI Express封包的硬體功能,以執行對週邊控制器105的存取,例如,記憶體存取和/或I/O存取。在本實施例中,卡驅動器205並不直接與主匯流排介面驅動器206通信。舉例說明,卡驅動器205可透過一PCI Express匯流排控制器(圖2中未示)與主匯流排介面驅動器206通信。
應用程式202(例如,一卡軟體應用程式)可呼叫應用程式介面203,使得應用程式介面203向週邊裝置108發出資源請求。舉例說明,應用程式介面203是一種網路應用程式介面,透過週邊裝置108內且遵從第一協定標準(例如,PCMCIA標準)的控制器所提供的連接存取小型網路(例如,藍芽個人區域網路)。卡軟體應用程式可包括一作為聯絡人管理應用程式執行的個人區域網路(PAN)應用程式。舉例說明,卡軟體應用程式收集且管理個人區域網路中的資訊(例如,商業資訊和/或個人聯絡資訊)。個人區域網路中的這些資訊(例如,商業資訊和/或個人聯絡資訊)被定義或被寫入一預設資料結構中。卡軟體應用程式也可包括網際網路存取軟體應用程式(例如,瀏覽器),以提供網路存取功能給週邊裝置108。舉例說明,卡軟體應用程式作為連接至網路應用程式介面203和其他作業系統軟體204(例如,音頻/視頻編碼器功能、音頻/視頻解碼器功能、加密功能等等)的介面。此外,週邊裝置108支援無線數據機功能,可與設備(例如,本地聲音/資料載波設備)連接。利用資料通道的手段(例如,卡驅動器205提供的存取通道),可為週邊裝置108提供網際網路存取。
圖3所示為根據本發明一實施例增強軟體200的示例性方法流程圖。以下將結合圖1中的電腦系統100和圖2中的增強軟體200對圖3所示的方法進行描述。在一實施 例中,本流程圖中的步驟可以作為儲存在電腦可讀媒體中的電腦可執行指令來執行。
在步驟300中,增強軟體200開始執行增強軟體指令。舉例說明,待電腦系統100啟動且作業系統被載入後,電腦系統100開始執行增強軟體200。增強軟體200開始執行機器指令。增強軟體200可自動地在未呈現給使用者的背景模式下執行。
在步驟301中,增強軟體200與連接服務軟體207通信(例如,請求執行連接服務功能),進而基於一或多個週邊裝置108的事件狀態進行通知的註冊。通知(也稱為事件通知)指示特定事件是否發生。特定事件可包括多種事件,例如,系統事件、裝置改變事件等等。系統事件包括開機事件、關機事件、待機事件等等。裝置改變事件包括電腦系統100中裝置狀態的改變,例如,裝置插入事件、裝置移除事件、裝置載入事件、裝置卸載事件、週邊裝置的數目改變等等。舉例說明,在步驟301中可註冊Compact Flash裝置載入事件通知和/或PC卡裝置載入事件通知。一旦這些裝置被插入或者移除,作業系統可發送通知給增強軟體200。在步驟301中,待通知註冊後,增強軟體200掃描電腦系統100中所有裝置(例如,包括週邊裝置108和內置裝置),進而建立裝置列表。
在步驟302中,增強軟體200等待通知。舉例說明,通知可透過中斷或軟體召回功能而完成。當收到通知時,增強軟體200執行步驟303以確定事件是否為裝置改變事件。如果通知並無指示發生裝置改變事件,則增強軟體200 執行步驟302,等待下一個通知。如果通知指示發生裝置改變事件,則增強軟體200執行步驟304,掃描電腦系統100中的所有裝置並更新裝置列表。
在步驟305中,增強軟體200核對裝置改變事件是否為插入新的週邊裝置108。若核對結果為否,則增強軟體200執行步驟302,等待下一個通知。反之,增強軟體200執行步驟306,取得插入的週邊裝置108的相關裝置資訊,例如,裝置名稱、全球唯一識別碼(Global Unique Identifier,GUID)、安裝識別碼(InstallID)、裝置索引等等。
在步驟307中,增強軟體200識別週邊裝置108的類型。舉例說明,增強軟體200核對週邊裝置108是否為PCMCIA裝置(例如,PC卡裝置、Compact Flash裝置等等)。如果週邊裝置108不是PCMCIA裝置,則增強軟體200執行步驟302,等待下一個通知。反之,增強軟體200更新與週邊裝置驅動器有關之資訊檔201。
在步驟308中,增強軟體200根據步驟306中所取得的裝置資訊(例如,GUID、InstallID、以及裝置索引)取得資訊檔路徑(例如,資訊檔201的路徑)和驅動器路徑(例如,與週邊裝置108有關之裝置驅動器的路徑)。
在步驟309中,增強軟體200將資訊檔201和裝置驅動器複製到工作目錄中,並且分析資訊檔201。工作目錄可整合於作業系統中以加強系統安全。具體地說,增強軟體200可從資訊檔201中取得週邊裝置108的裝置名稱和與週邊裝置108有關之裝置驅動器的驅動器名稱。如果電 腦系統100的作業系統是微軟(Microsoft®)作業系統,增強軟體200從資訊檔201中取得與週邊裝置108有關之“LogConfigOverride”段落,並從“LogConfigOverride”段落中取得“Override”列表。增強軟體200還可從匯流排控制軟體208取得相關資訊。基於對資訊檔201的分析(例如,基於“LogConfigOverride”段落、“Override”列表、以及來自匯流排控制軟體208的相關資訊),增強軟體200可識別/確定可能存在的衝突的類型。舉例說明,從資訊檔201中之“LogConfigOverride”段落中,增強軟體200可取得IOconfig指令(或IOconfig任務)的內容,IOconfig係定義被指派給週邊裝置108的I/O位址範圍。根據IOconfig指令/IOconfig任務的內容,增強軟體200可確定是否資源衝突,例如,週邊裝置108與電腦系統100間之I/O位址衝突。
在步驟310中,基於步驟309中所得的分析結果,增強軟體200確定是否發生資源衝突(例如,I/O位址衝突)。舉例說明,增強軟體200可確定在步驟309中被識別的衝突是否包括週邊裝置108和電腦系統100之間因遵從PCI Express標準的電腦系統100的I/O位址有限性而產生的I/O位址衝突。更具體地說,資訊檔201可透過執行微軟作業系統中的“IOConfig”指令,為週邊裝置108選擇一固定I/O位址(例如,低於0x1000的I/O位址)。當固定I/O位址係介於一特定範圍內時(例如,在0x0000與0x1000之間),資訊檔201可能呈現I/O位址衝突。若未 發生資源衝突,流程圖返回步驟302並等待下一個通知。
有利的是,如果發生資源衝突,增強軟體200執行步驟311以更新/修改資訊檔201,進而解決資源衝突。在一實施例中,透過修改IOconfig指令可解決衝突問題。具體而言,增強軟體200可基於電腦系統100之可用I/O位址範圍修改IOconfig任務。因此,根據修改後之IOconfig任務,作業系統指派一與電腦系統100之資源不衝突之新的I/O位址給週邊裝置108。舉例說明,運行在微軟作業系統下並且使用的介面為PCI Express主匯流排介面的電腦系統100的有效I/O位址係大於0x1000。當提供給週邊裝置108的I/O位址(例如,根據資訊檔201中的資訊所選擇)在一小於0x1000的範圍內時(例如:在0x0300和0x1000之間),增強軟體200可將I/O位址改為處於一大於0x1000的範圍內(例如,在0x1000和0xFFFF之間)。在一實施例中,增強軟體200改變原始IOconfig任務中的內容。作業系統可根據修改後的IOconfig任務分配I/O位址給週邊裝置108。因此,衝突可被消除。在另一實施例中,增強軟體200可新增一項新的IOconfig任務到資訊檔201中,使得作業系統基於新增的IOconfig任務分配適當的I/O位址給週邊裝置108。同時,原始的IOconfig任務被移除(例如,透過刪除的方式)或被標記(例如,透過在資訊檔201中添加適當的語句)為備註或註解,而不作為指令來執行,在處理過程中則被省略。因此,衝突也可被消除。
隨著步驟311中對資訊檔201的修改/更新之後,增 強軟體200執行步驟312。在步驟312中,增強軟體200啟動驅動器安裝軟體(例如,DPInst.exe)以更新裝置驅動器。舉例說明,增強軟體200指示作業系統安裝、重新安裝、或者移除再安裝裝置驅動器。因此,電腦系統100可利用裝置驅動器與週邊裝置108通信。隨後,流程圖返回步驟302等待下一個通知。
在一實施例中,使用者可隨著裝置驅動器安裝精靈在螢幕上的指示更新裝置驅動器。此外,隨著裝置驅動器的更新之後,增強軟體200可除能週邊控制器105,然後再重新致能週邊控制器105,進而建立週邊裝置108和電腦系統100之間新的邏輯連接。
圖4所示為根據本發明一實施例電腦系統100識別媒體卡的示例性方法流程圖。電腦系統100可透過執行流程圖識別媒體卡。以下將結合圖1中的電腦系統100和圖2中的軟體(例如,增強軟體200、主匯流排介面驅動器206、卡驅動器205、應用程式202等等)對圖4中的方法進行描述。當週邊裝置108(例如,媒體卡)被插入時,為了適配媒體卡108,電腦系統100首先透過對應的匯流排驅動器,例如,安全數位/多媒體卡(SD/MMC)匯流排驅動器,識別媒體卡108。因此,可利用增強軟體200和圖3中所示的方法經過匯流排驅動器控制媒體卡108和電腦系統100之間的通信。
在圖4的步驟404中,媒體卡108被插入到電腦系統100的媒體插槽中。在步驟406中,硬體邏輯(例如,系統核心邏輯109)供電給媒體插槽。
在步驟408中,硬體邏輯存取媒體卡108以確定媒體卡108的類別。根據媒體卡108的類別可確定使用哪個相對應之匯流排驅動器(例如,標準SD/MMC匯流排驅動器或者擴充SD/MMC匯流排驅動器)支援媒體卡108。圖2中所示之主匯流排介面驅動器206可為用於支援媒體卡108的標準SD/MMC匯流排驅動器。如果標準SD/MMC匯流排驅動器可支援媒體卡108,卡驅動器205可透過標準SD/MMC匯流排驅動器對媒體卡108執行存取,例如,記憶體存取和/或I/O擷取。如果標準SD/MMC匯流排驅動器不支援媒體卡108,則應用擴充SD/MMC匯流排驅動器(圖中未示)。在此情況下,卡驅動器205也可透過擴充SD/MMC匯流排驅動器存取媒體卡108。
當媒體卡108被插入時,標準SD/MMC匯流排驅動器和擴充SD/MMC匯流排驅動器均可被通知此插入事件。在一實施例中,在步驟410中,電腦系統100確定標準SD/MMC匯流排驅動器是否支援媒體卡108。如果標準SD/MMC匯流排驅動器可以支援媒體卡108的類型,則在步驟412中,標準SD/MMC匯流排驅動器被通知媒體卡108已插入。在步驟414中,電腦系統100的應用程式202,透過標準SD/MMC匯流排驅動器存取媒體卡108。反之,流程轉至步驟418。
在步驟418中,擴充SD/MMC匯流排驅動器被通知媒體卡108之插入。當標準SD/MMC匯流排驅動器不支援媒體卡108的類型時,標準SD/MMC匯流排驅動器暫停對標準SD/MMC程式暫存器的存取。同時,擴充SD/MMC匯流排 驅動器被啟動以存取媒體卡108。在步驟420中,確定擴充SD/MMC匯流排驅動器是否支援媒體卡108。如果擴充SD/MMC匯流排驅動器不支援媒體卡108,電腦系統100無法操作媒體卡108,直至媒體卡108在步驟416中被移除。否則,流程圖轉到步驟422。在步驟422中,擴充SD/MMC匯流排驅動器支援媒體卡108,且電腦系統100的應用程式202透過擴充SD/MMC匯流排驅動器存取媒體卡108。
圖5所示為根據本發明一實施例電腦系統100的示例性方法流程圖。以下將結合圖1、圖2和圖3對圖5進行描述。
在步驟502中,中央處理單元103執行增強軟體200。因此,增強軟體200執行步驟504、506和508。
具體地說,在步驟504中,增強軟體200分析與週邊裝置108有關之資訊檔201。
在步驟506中,增強軟體200基於對資訊檔201的分析來識別/確定週邊裝置108和電子系統(例如,電腦系統100)之間的資源衝突(例如,I/O位址衝突)。
在步驟508中,增強軟體200透過修改資訊檔201解決資源衝突。
總的來說,本發明提供了一種可與週邊裝置連接的電腦系統。週邊裝置遵從第一協定標準,例如,PCMCIA標準。電腦系統遵從不同於第一協定標準的第二協定標準,例如,PCI Express標準。電腦系統可執行增強軟體,進而透過分析與週邊裝置有關的資訊檔以確定是否存發生資源衝突。如果發生資源衝突,增強軟體基於電腦系統可用 位址的範圍修改資訊檔,並且基於對資訊檔的修改更新與週邊裝置有關之軟體設備驅動器。然後,增強軟體重新致能週邊控制器,使得週邊裝置適配於電腦系統。結果,電腦系統可與週邊裝置正常通信。有利的是,具有不同標準協定的電腦系統的相容性可被擴展。
上文具體實施方式和附圖僅為本發明之常用實施例。顯然,在不脫離後附申請專利範圍所界定的本發明精神和保護範圍的前提下可以有各種增補、修改和替換。本技術領域中具有通常知識者應該理解,本發明在實際應用中可根據具體的環境和工作要求在不背離發明準則的前提下在形式、結構、佈局、比例、材料、元素、元件及其它方面有所變化。因此,在此披露之實施例僅用於說明而非限制,本發明之範圍由後附申請專利範圍及其合法均等物界定,而不限於此前之描述。
100‧‧‧電子系統/電腦系統
101‧‧‧硬碟
102‧‧‧串列高級技術介面
103‧‧‧中央處理單元
104‧‧‧系統記憶體
105‧‧‧週邊控制器
106‧‧‧主匯流排介面
107‧‧‧插槽連接器
108‧‧‧週邊裝置/媒體卡
109‧‧‧系統核心邏輯晶片組/系統核心邏輯
110‧‧‧整合圖形控制器
111‧‧‧視頻輸出
112‧‧‧音頻輸出裝置
113‧‧‧通用串列匯流排(USB)埠
200‧‧‧增強軟體
201‧‧‧資訊(INF)檔
202‧‧‧應用程式
203‧‧‧應用程式介面(API)
204‧‧‧作業系統軟體
205‧‧‧卡驅動器
206‧‧‧主匯流排介面驅動器
207‧‧‧連接服務軟體
208‧‧‧匯流排控制軟體
300~312‧‧‧步驟
404~422‧‧‧步驟
502~508‧‧‧步驟
以下結合附圖和具體實施例對本發明的技術方法進行詳細的描述,以使本發明的特徵和優點更為明顯。其中:
圖1所示為根據本發明一實施例電子系統的示例性方塊圖。
圖2所示為根據本發明一實施例電腦系統中軟體拓撲示意圖。
圖3所示為根據本發明一實施例增強軟體的示例性方法流程圖。
圖4所示為根據本發明一實施例電腦系統識別媒體卡 的示例性方法流程圖。
圖5所示為根據本發明一實施例電腦系統的示例性方法流程圖。
100‧‧‧電子系統/電腦系統
101‧‧‧硬碟
102‧‧‧串列高級技術介面
103‧‧‧中央處理單元
104‧‧‧系統記憶體
105‧‧‧週邊控制器
106‧‧‧主匯流排介面
107‧‧‧插槽連接器
108‧‧‧週邊裝置
109‧‧‧系統核心邏輯晶片組/系統核心邏輯
110‧‧‧整合圖形控制器
111‧‧‧視頻輸出
112‧‧‧音頻輸出裝置
113‧‧‧通用串列匯流排(USB)埠

Claims (22)

  1. 一種互連一週邊裝置和一電子系統的電腦執行方法,包括:取得與該週邊裝置有關之一資訊(INF)檔之一內容,其中,該內容定義指派給該週邊裝置之一輸入/輸出位址之一範圍,且其中如果該週邊裝置遵從一快速週邊元件互聯標準,指派給該周邊裝置之該輸入/輸出位址在一第一範圍內;透過對該資訊檔的該內容的分析,識別該週邊裝置和該電子系統之間的一資源衝突,其中如果該內容指示指派給該周邊裝置之該輸入/輸出位址在一第二範圍內,發生該資源衝突;透過修改該資訊檔解決該資源衝突,為該周邊裝置指派在該第一範圍內的一新的輸入/輸出位址;以及更新與該週邊裝置有關之一軟體裝置驅動器。
  2. 如申請專利範圍第1項的方法,其中,該資源衝突包括一輸入/輸出(I/O)位址衝突。
  3. 如申請專利範圍第1項的方法,其中,該電子系統和該週邊裝置遵從不同的協定標準。
  4. 如申請專利範圍第1項的方法,其中,該解決該資源衝突之步驟包括:基於該第二範圍修改該內容,其中,該第二範圍是該電子系統之一可用輸入/輸出位址位址的一範圍,且其中該第二範圍與該第一範圍不同;以及根據修改後的該內容分配該新的輸入/輸出位址給該週邊裝置。
  5. 如申請專利範圍第1項的方法,進一步包括:該電子系統確認該週邊裝置裝置之一類型。
  6. 如申請專利範圍第1項的方法,其中,如果該週邊裝置遵從 個人電腦記憶卡國際協會(PCMCIA)標準,指派給該周邊裝置之該輸入/輸出位址在該第二範圍內。
  7. 如申請專利範圍第1項的方法,其中,該資訊檔包括給該軟體裝置驅動器的一資訊。
  8. 如申請專利範圍第1項的方法,進一步包括:在該軟體裝置驅動器之該更新後,除能然後重新致能一週邊控制器;以及利用更新的該軟體裝置驅動器,建立該週邊裝置和該電子系統之間的一邏輯連接。
  9. 一種互連一週邊裝置與一電子系統之電腦可讀儲存媒體,包括:與該週邊裝置有關之一資訊(INF)檔;一軟體,從該資訊檔獲得一內容,並透過分析該資訊檔的該內容識別該週邊裝置和該電子系統之間的一資源衝突,並且透過修改該資訊檔解決該資源衝突,為該周邊裝置指派一新的輸入/輸出位址,其中,該內容定義指派給該週邊裝置之一輸入/輸出位址之一範圍,如果該週邊裝置遵從一快速週邊元件互聯標準,則指派給該周邊裝置之該輸入/輸出位址在一第一範圍內,且其中,如果該內容指示指派給該周邊裝置之該輸入/輸出位址在一第二範圍內且該新的輸入/輸出位址在該第一範圍內,發生該資源衝突;以及與該週邊裝置有關之一軟體裝置驅動器,其中,該軟體隨該資訊檔的修改更新該軟體裝置驅動器。
  10. 如申請專利範圍第9項的電腦可讀儲存媒體,其中,該資源衝突包括一輸入/輸出(I/O)位址衝突。
  11. 如申請專利範圍第9項的電腦可讀存儲媒體,其中,該電子 系統包括一電腦系統。
  12. 如申請專利範圍第9項的電腦可讀儲存媒體,其中,如果該週邊裝置遵從個人電腦記憶卡國際協會(PCMCIA)標準,指派給該周邊裝置之該輸入/輸出位址在該第二範圍內。
  13. 如申請專利範圍第9項的電腦可讀儲存媒體,其中,該電子系統遵從快速週邊元件互連(PCI Express)標準。
  14. 如申請專利範圍第9項的電腦可讀儲存媒體,其中,該資訊檔包括給該軟體裝置驅動器的一資訊。
  15. 如申請專利範圍第9項的電腦可讀儲存媒體,其中,該軟體基於該第二範圍修改該內容,該第二範圍是該電子系統之一可用之輸入/輸出位址的一範圍,且該第二範圍與該第一範圍不同,且其中,該電子系統根據修改後之該內容分配該新的輸入/輸出位址給該週邊裝置。
  16. 如申請專利範圍第9項的電腦可讀儲存媒體,其中,在該軟體裝置驅動器之該更新後,該電子系統除能然後重新致能一週邊控制器,進而利用該更新之軟體驅動器建立該週邊裝置和該電子系統之間的一邏輯連接。
  17. 一種電子系統,包括:一處理單元;以及一記憶體,耦接至該處理單元,該記憶體包括複數個電腦可讀指令,當該處理單元執行該複數個電腦可讀指令時,促使該電子系統獲得與一週邊裝置有關之一資訊(INF)檔之一內容,其中,該內容定義指派給該週邊裝置之一輸入/輸出位址之一範圍,且其中如果該週邊裝置遵從一快速週邊元件互聯標準,指派給該周邊裝置之該輸入/輸出位址在一第一範圍內;透過分析該資訊檔的該內容,識別該週邊裝置和該 電子系統之間的一資源衝突,其中如果該內容指示指派給該周邊裝置之該輸入/輸出位址在一第二範圍內,發生該資源衝突;透過修改該資訊檔解決該資源衝突,為該周邊裝置指派在該第一範圍內的一新的輸入/輸出位址;並且隨該資訊檔的修改更新與該週邊裝置有關之一軟體裝置驅動器。
  18. 如申請專利範圍第18項的電子系統,其中,該資源衝突包括一輸入/輸出(I/O)位址衝突。
  19. 如申請專利範圍第18項的電子系統,其中,當該處理單元執行該複數個電腦可讀指令時,進一步促使該電子系統基於該電子系統之一可用之輸入/輸出位址的一範圍修改該內容,並且根據修改後之該內容分配該新的輸入/輸出位址給該週邊裝置,其中,該第二範圍包括該可用之輸入/輸出位址的該範圍。
  20. 如申請專利範圍第18項的電子系統,進一步包括一週邊控制器,透過一連接器耦接至該週邊裝置,且透過一主匯流排介面耦接至一系統核心邏輯,其中,該主匯流排介面和該週邊裝置遵從不同的協定標準。
  21. 如申請專利範圍第18項的電子系統,其中,在該軟體裝置驅動器之該更新後,該電子系統除能然後重新致能一週邊控制器,進而利用該更新之軟體驅動器建立該週邊裝置和該電子系統之間的一邏輯連接。
  22. 如申請專利範圍第18項的電子系統,其中,該資訊檔包括給該軟體裝置驅動器的一資訊。
TW98141122A 2008-12-02 2009-12-02 電子系統、互連電子系統與週邊裝置之電腦可讀儲存媒體及其互連方法 TWI411921B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US20069108P 2008-12-02 2008-12-02
US12/629,320 US8412859B2 (en) 2008-12-02 2009-12-02 Methods and systems for interconnecting a peripheral device and an electronic system

Publications (2)

Publication Number Publication Date
TW201032060A TW201032060A (en) 2010-09-01
TWI411921B true TWI411921B (zh) 2013-10-11

Family

ID=42689984

Family Applications (1)

Application Number Title Priority Date Filing Date
TW98141122A TWI411921B (zh) 2008-12-02 2009-12-02 電子系統、互連電子系統與週邊裝置之電腦可讀儲存媒體及其互連方法

Country Status (3)

Country Link
US (1) US8412859B2 (zh)
CN (1) CN101826062A (zh)
TW (1) TWI411921B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9396513B2 (en) * 2013-08-05 2016-07-19 Intel Corporation Using group page fault descriptors to handle context switches and process terminations in graphics processors
US9606738B2 (en) * 2014-03-10 2017-03-28 Kabushiki Kaisha Toshiba Memory system with a bridge part provided between a memory and a controller
CN108984319B (zh) * 2018-06-25 2021-10-15 广州视源电子科技股份有限公司 解决操作指令冲突的方法、装置、计算机设备和存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5257387A (en) * 1988-09-09 1993-10-26 Compaq Computer Corporation Computer implemented method and apparatus for dynamic and automatic configuration of a computer system and circuit boards including computer resource allocation conflict resolution
TWI275956B (en) * 2004-12-21 2007-03-11 Hon Hai Prec Ind Co Ltd System and method for resolving conflict of relocking resources
US20080127165A1 (en) * 2006-11-29 2008-05-29 Sony Ericsson Mobile Communications Ab System and Method for Updating Device Drivers

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8595343B2 (en) * 2008-11-14 2013-11-26 Dell Products, Lp System and method for sharing storage resources

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5257387A (en) * 1988-09-09 1993-10-26 Compaq Computer Corporation Computer implemented method and apparatus for dynamic and automatic configuration of a computer system and circuit boards including computer resource allocation conflict resolution
TWI275956B (en) * 2004-12-21 2007-03-11 Hon Hai Prec Ind Co Ltd System and method for resolving conflict of relocking resources
US20080127165A1 (en) * 2006-11-29 2008-05-29 Sony Ericsson Mobile Communications Ab System and Method for Updating Device Drivers

Also Published As

Publication number Publication date
US8412859B2 (en) 2013-04-02
TW201032060A (en) 2010-09-01
CN101826062A (zh) 2010-09-08
US20110055432A1 (en) 2011-03-03

Similar Documents

Publication Publication Date Title
US10282192B1 (en) Updating device code through a bus
US10496388B2 (en) Technologies for securing a firmware update
US9208105B2 (en) System and method for intercept of UEFI block I/O protocol services for BIOS based hard drive encryption support
USRE49226E1 (en) UEFI and operating system driver methods for updating MAC address in LAN-based NIC
CN110096314B (zh) 一种接口初始化方法、装置、设备及计算机可读存储介质
US20060200858A1 (en) Storage partitioning
US10606677B2 (en) Method of retrieving debugging data in UEFI and computer system thereof
US10303487B2 (en) System and method for booting an information handling system
US11263019B2 (en) Method for converting device tree data into ACPI data for edge device operating in a network
CN107135462B (zh) Uefi固件的蓝牙配对方法及其计算系统
US11341076B2 (en) Hot-plugged PCIe device configuration system
US10491736B2 (en) Computer system and method thereof for bluetooth data sharing between UEFI firmware and OS
TWI411921B (zh) 電子系統、互連電子系統與週邊裝置之電腦可讀儲存媒體及其互連方法
US8086834B2 (en) System and method for populating a dedicated system service repository for an information handling system
CN111338699A (zh) 电脑主板初始化方法、装置、计算机设备及存储介质
CN106708596B (zh) 一种输入输出虚拟化资源的调整方法及处理器
US7996631B1 (en) System and method for accessing storage devices attached to a stateless client
WO2024113884A1 (zh) 外接设备的资源分配方法、装置、服务器及存储介质
Nikkel NVM express drives and digital forensics
CN116346781A (zh) 一种地址空间分配方法、服务器、电子设备和存储介质
US10628309B1 (en) Loading a serial presence detect table according to jumper settings
US8813075B2 (en) Virtual computer system and method of installing virtual computer system
JP2011008753A (ja) 記憶装置の隠し記憶領域に記憶されたファイルの実行方法及び装置
CN112783562B (zh) 一种显示设备选择方法和装置
US20050273525A1 (en) Dynamic I/O disabling systems and methods

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees