国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      提供和控制子突發(fā)數(shù)據(jù)傳遞的方法和系統(tǒng)的制作方法

      文檔序號:6409700閱讀:147來源:國知局
      專利名稱:提供和控制子突發(fā)數(shù)據(jù)傳遞的方法和系統(tǒng)的制作方法
      技術(shù)領(lǐng)域
      一般來講,本發(fā)明涉及數(shù)字數(shù)據(jù)格式化和傳遞,更具體來講,涉及數(shù)字視頻、音頻、動畫及其它數(shù)字信息的格式和傳遞。
      相關(guān)技術(shù)說明在數(shù)據(jù)存儲設(shè)備、如盤驅(qū)動器與主機、如計算機或CPU之間的數(shù)據(jù)交換需要來回傳遞大量數(shù)據(jù)。隨著系統(tǒng)的各組成部分之間傳送的數(shù)據(jù)量增加,越來越需要一次發(fā)送更多數(shù)據(jù)(更寬的通路)或者提高傳遞速度(更高的時鐘頻率)。
      先有系統(tǒng)已經(jīng)嘗試提高數(shù)據(jù)存儲設(shè)備與主機之間的數(shù)據(jù)傳遞速度。一種方法是具有用于半雙工模式(即一次一個方向)的寬數(shù)據(jù)通路。通過把傳輸集中到以突發(fā)形式發(fā)送的不中斷大緩沖器來提高吞吐量。這些突發(fā)由這類系統(tǒng)進行調(diào)度,并在突發(fā)周期中傳遞信息突發(fā)。
      用于數(shù)據(jù)存儲設(shè)備與主機之間最大數(shù)據(jù)交換的緩沖器大小往往不匹配所傳送數(shù)據(jù)類型的產(chǎn)生/消耗速率。對于音頻/視頻數(shù)據(jù)流,情況更是如此。但是,必須使用最大交換速率,因為存儲設(shè)備可同時用于多個數(shù)據(jù)流,而在任何時間只有一個數(shù)據(jù)流的緩沖器是有效的。
      此外,還提高了驅(qū)動器可向主機傳遞數(shù)據(jù)的速度。因此,先有驅(qū)動器能夠以遠遠超過主機可利用數(shù)據(jù)的速率的一種速率來遞交數(shù)據(jù)。主機必須維護大的數(shù)據(jù)緩沖器,以便完全發(fā)送和接收突發(fā),然后再根據(jù)需要從本地緩沖器中緩慢地提取數(shù)據(jù)。這要求數(shù)據(jù)被存儲在主機以及驅(qū)動器中,從而使數(shù)據(jù)加倍且浪費資源。
      此外,當突發(fā)大小增加時,主機和驅(qū)動器中緩沖器的大小也都必須增加,以便能夠發(fā)送和接收大的數(shù)據(jù)突發(fā)。這導(dǎo)致先有系統(tǒng)的復(fù)雜度和成本增加。
      發(fā)明概述本發(fā)明通過用于控制主機與數(shù)據(jù)存儲設(shè)備之間通信流的方法和設(shè)備,有利地滿足上述需要以及其它需要。該方法和設(shè)備通過以下步驟來提供通信控制保持多個數(shù)據(jù)傳輸流有效;發(fā)起主機與設(shè)備之間的第一傳輸流的第一數(shù)據(jù)突發(fā);中斷第一傳輸流的第一突發(fā);保持第一傳輸流有效;發(fā)起主機與設(shè)備之間第二傳輸流的第一數(shù)據(jù)突發(fā);中斷第二傳輸流的第一突發(fā);保持第二傳輸流有效;以及繼續(xù)第一傳輸流的第一突發(fā)。在數(shù)據(jù)傳遞的各端使用的緩沖器大小可經(jīng)過優(yōu)化,以便匹配各端特有的本地緩沖要求,在各端可采用不同的緩沖器大小。
      該方法和設(shè)備還提供用于管理數(shù)據(jù)傳遞的系統(tǒng)。該系統(tǒng)包括主機,具有多個流標識(流ID)輸入;數(shù)據(jù)存儲設(shè)備,具有與流ID輸入耦合的多個流ID輸出,使得數(shù)據(jù)存儲設(shè)備配置成向主機斷言標識多個傳輸流之一的多個流ID;以及主機,配置成根據(jù)從數(shù)據(jù)存儲設(shè)備接收的流ID來確定通過多個傳輸流傳遞的數(shù)據(jù)的路由選擇。
      該方法和設(shè)備還提供用于提供數(shù)據(jù)傳遞控制的設(shè)備。在一個實施例中,該設(shè)備包括具有用于接收一個或多個流標識(流ID)的裝置的主機;以及用于存儲數(shù)據(jù)的裝置包括用于斷言一個或多個流ID標識一個或多個傳輸流的裝置;用于保持多個傳輸流同時有效的裝置,其中多個傳輸流中的每個配置成在主機與用于存儲數(shù)據(jù)的裝置之間傳遞數(shù)據(jù);以及用于控制數(shù)據(jù)傳遞、使得數(shù)據(jù)以子突發(fā)在主機與用于存儲數(shù)據(jù)的裝置之間傳遞的裝置,其中每個子突發(fā)通過一個或多個流ID其中之一與一個或多個傳輸流其中之一相關(guān)聯(lián)。
      附圖簡介通過以下結(jié)合附圖給出的本發(fā)明的更具體說明,本發(fā)明的上述及其它方面、特征和優(yōu)點將變得更加明顯,其中


      圖1描繪利用信號線的單向使用的先有系統(tǒng)的框圖;圖2描繪利用單向設(shè)備地址線的先有系統(tǒng)的引腳或線路標志;圖3描繪根據(jù)本發(fā)明的一個實施例的一種實現(xiàn)的系統(tǒng)的簡化框圖;圖4描繪根據(jù)本發(fā)明的一個實施例的一種實現(xiàn)的設(shè)備的簡化框圖;圖5描繪主機與驅(qū)動器之間通信以建立多個數(shù)據(jù)傳輸?shù)募せ畹臅r序圖;圖6A-B描繪根據(jù)本發(fā)明的一個實施例的一種實現(xiàn)、用于控制設(shè)備之間數(shù)據(jù)傳遞的過程的流程圖;圖7描繪根據(jù)本發(fā)明的一個實施例、用于發(fā)起數(shù)據(jù)傳遞的過程的一種實現(xiàn)的流程圖;以及圖8描繪根據(jù)本發(fā)明的一個實施例的系統(tǒng)的簡化框圖,其中系統(tǒng)接收和重放多個節(jié)目。
      在附圖的若干視圖中,相應(yīng)的參考標號表示相應(yīng)的元件。
      詳細說明以下說明不應(yīng)視為限制性的,而只是用于描述本發(fā)明的一般原理。本發(fā)明的范圍應(yīng)該參照權(quán)利要求來確定。
      在先有系統(tǒng)中,數(shù)據(jù)存儲驅(qū)動器與主機(如計算機、處理器、微處理器等)之間的數(shù)據(jù)總線是共用的,使得在給定時刻從主機傳遞數(shù)據(jù)或者由主機接收數(shù)據(jù)。數(shù)據(jù)總線在任何給定時刻不是雙向的,而是半雙工系統(tǒng),其中通信僅出現(xiàn)在一個方向或另一個方向。在優(yōu)化這種單向總線的使用的嘗試中,先有系統(tǒng)被設(shè)計成提供突發(fā)或者傳遞單一源的數(shù)據(jù)塊。
      隨著時間的推移,用于盤驅(qū)動器的集成驅(qū)動電子設(shè)備(IDE)接口已經(jīng)發(fā)展成對于以大突發(fā)傳遞計算機文件進行了優(yōu)化。在驅(qū)動器內(nèi)存在大高速緩存緩沖器,用于在物理媒體與IDE接口之間將數(shù)據(jù)分段。這些大高速緩存允許通過接口的連續(xù)數(shù)據(jù)傳遞,同時機械元件在媒體上重新定位。要求大量開銷和匹配外部緩沖來實現(xiàn)通過IDE驅(qū)動器的數(shù)據(jù)流、例如音頻/視頻(AV)流和其它數(shù)據(jù)流的存儲和檢索。先有系統(tǒng)通常要求外部裝置適應(yīng)IDE數(shù)據(jù)傳遞的突發(fā)技術(shù)。這些外部裝置常常通過大的緩沖來實現(xiàn)。利用IDE的先有系統(tǒng)在給定時間僅允許一個突發(fā)緩沖器傳遞有效。
      在進一步優(yōu)化系統(tǒng)的嘗試中,先有系統(tǒng)隨著傳遞的數(shù)據(jù)量的增加而增加緩沖器的大小。這允許更大的突發(fā)發(fā)送更大的信息塊。例如,音頻/視頻(AV)流或視頻內(nèi)容需要大量數(shù)據(jù)傳遞,因而大突發(fā)已經(jīng)被用來傳遞數(shù)據(jù)。因此,增加了緩沖器大小,以便使數(shù)據(jù)吞吐量最大。
      但是,以緩沖器突發(fā)進行發(fā)送要求為整個突發(fā)占用總線,僅允許總線由單一源使用。這樣,只有一個源才有權(quán)定期訪問總線,使得總線無法被釋放而用于來自相同源或其它源的其它通信。因此,只有一個通信流可以在單突發(fā)周期中有效。此外,由于大突發(fā)大小,因此數(shù)據(jù)總線被占用大量時間,拖延其它流的傳遞。
      另外,在先有系統(tǒng)中,數(shù)據(jù)通常以遠遠超過接收和使用數(shù)據(jù)的設(shè)備的需求及能力的速率被遞交。例如,在總線上驅(qū)動數(shù)據(jù)的驅(qū)動器可能能夠以每秒100兆字節(jié)的突發(fā)(即利用超DMA 100兆字節(jié))把數(shù)據(jù)驅(qū)動到總線上,但接收數(shù)據(jù)的設(shè)備可能只能夠以每秒15兆比特的速率來使用數(shù)據(jù)。這要求接收設(shè)備采用極大的緩沖器來保持過剩遞交的數(shù)據(jù),直到該設(shè)備為該數(shù)據(jù)準備就緒。先有系統(tǒng)在平滑數(shù)據(jù)傳遞的嘗試中采用突發(fā)。但是,這些先有系統(tǒng)停留在從對盤驅(qū)動器效率而優(yōu)化的大緩沖器到無法以遞交數(shù)據(jù)的速率使用數(shù)據(jù)的接收設(shè)備的數(shù)據(jù)大突發(fā)。這使先有系統(tǒng)必須調(diào)和不匹配的速度。同樣,驅(qū)動器能夠以遠遠高于遞交數(shù)據(jù)的設(shè)備可產(chǎn)生數(shù)據(jù)的速率來接收數(shù)據(jù)。因此,主機設(shè)備必須對數(shù)據(jù)緩沖,以便向驅(qū)動器提供數(shù)據(jù)突發(fā)。
      作為另一個實例,一部分數(shù)字電視系統(tǒng)(TV)使用能夠根據(jù)快速超DMA以每秒大約100兆字節(jié)的突發(fā)傳遞數(shù)據(jù)的IDE驅(qū)動器。但是,利用數(shù)據(jù)來提供圖像和音響的TV可能只能夠采用每秒3兆比特。因此,TV可能利用低于突發(fā)提供的信息的1%。這要求主機TV系統(tǒng)對剩余的99%進行緩沖,直到它能夠使用過剩的已遞交數(shù)據(jù)。此外,突發(fā)在整個突發(fā)周期中占用總線以發(fā)送整個極大突發(fā)數(shù)據(jù),阻止其它通信和數(shù)據(jù)傳遞。
      在先有的簡單計算機中,一次僅傳遞較少數(shù)量的數(shù)據(jù)(少數(shù)幾條記錄)。用來傳遞少量數(shù)據(jù)的突發(fā)比較小。因此,在整個突發(fā)周期占用總線不是問題。但是,隨著傳遞的數(shù)據(jù)量增加,緩沖器大小、突發(fā)大小以及傳遞突發(fā)的持續(xù)時間也增加。這樣,突發(fā)占用總線超過所需的時間周期。此外,如上所述,接收設(shè)備通常無法實時利用整個數(shù)據(jù)突發(fā),并且要求先有系統(tǒng)包括額外的大緩沖器來保存過剩數(shù)據(jù)。
      本發(fā)明提供一種使各個數(shù)據(jù)流的數(shù)據(jù)速率減速的機制,它沒有占用接口和總線,同時使數(shù)據(jù)速率減速。這允許本設(shè)備和方法通過利用更小的時間片粒度來允許其它數(shù)據(jù)流共享總線而進一步優(yōu)化總線的使用。
      本發(fā)明允許突發(fā)通信暫時中斷或暫停,把各個緩沖器傳遞分為子突發(fā)或微型突發(fā)。另外,本發(fā)明利用多個緩沖器來建立多個通信或傳輸流。這允許來自多個緩沖器的數(shù)據(jù)的子突發(fā)被交織,提供更大通信量,優(yōu)化總線的使用,以及提供更平滑的數(shù)據(jù)流,其中具有更少緩沖器長度強加的等待時間。因此,本設(shè)備和方法實現(xiàn)了多個傳輸流同時有效,以及在多個同時有效的傳輸流之間移動或轉(zhuǎn)動,以便執(zhí)行數(shù)據(jù)傳遞的子突發(fā)。
      通過部分利用若干緩沖器來建立和維護全部共享數(shù)據(jù)總線的若干同時有效的數(shù)據(jù)流,本發(fā)明解決了許多先有系統(tǒng)存在的問題??偩€的共享可基于任何共享配置,包括基于優(yōu)先級、循環(huán)方式、優(yōu)先級和循環(huán)的組合以及其它這類配置。在一個實施例中,緩沖器傳遞的突發(fā)的分解在硬件層上實現(xiàn),產(chǎn)生改進的性能和速度,以及減少先有系統(tǒng)軟件實現(xiàn)中所需的計算開銷。
      在一個實施例中,本發(fā)明利用多個有效數(shù)據(jù)流的尋址來允許對數(shù)據(jù)傳遞的準確路由選擇。例如,主機可具有多個流標識(ID)輸入,用于接收數(shù)據(jù)通信流的標識,以及盤驅(qū)動器或驅(qū)動控制器可包括多個流ID輸出,用于斷言在總線上移動的數(shù)據(jù)流的標識。在一個實施例中,本發(fā)明把先有系統(tǒng)僅用作單向線路、端口和/或引腳的重新配置為雙向的,從而允許驅(qū)動器或驅(qū)動控制器指定數(shù)據(jù)流。
      在一個實施例中,本設(shè)備和方法利用先有系統(tǒng)的利用不足的地址線或命令線。本發(fā)明利用先有系統(tǒng)僅用作單向的命令或地址線,并把它們用作雙向線路。這允許本發(fā)明指明多個有效傳輸流中的哪一個準備傳遞數(shù)據(jù)。本發(fā)明可利用任何數(shù)量的雙向線路來指定任何數(shù)量的有效傳輸流。
      例如,本發(fā)明可利用先有設(shè)備、如主機所使用的三個單向信號線對驅(qū)動器(例如IDE驅(qū)動器)中的寄存器尋址,并且可在本發(fā)明中把那些線路重新定義為雙向的。當主機允許對驅(qū)動器的控制(例如直接存儲器存取(DMA)控制)時,這些雙向地址線則可由驅(qū)動器來驅(qū)動。驅(qū)動器使用這些線路來指明多個可能的數(shù)據(jù)傳輸流中哪一個是當前傳遞的目標。例如,如果本發(fā)明把三個數(shù)據(jù)地址位線(DA0-DA2)用作雙向的,則驅(qū)動器可指定多達八個不同的數(shù)據(jù)流。本領(lǐng)域的技術(shù)人員知道,本發(fā)明可使用單向的并專用于斷言流標識(流ID)的附加通信線來區(qū)別多個可能的流。但是,在優(yōu)選實施例中,本發(fā)明采用雙向線路,這減少了引腳數(shù)目和/或元件之間的耦合。另外,通過使用雙向線路,不需要重新設(shè)計芯片布置及連接器。相同的芯片配置和設(shè)計可繼續(xù)使用,從而節(jié)省成本。相同的芯片配置允許本發(fā)明在先有系統(tǒng)中實現(xiàn)而不需要變更或重新設(shè)計先有系統(tǒng)。
      在一個實施例中,本發(fā)明利用以驅(qū)動固件實現(xiàn)的附加命令,它允許主機把流或DMA標識與各有效流相關(guān)。另外,本發(fā)明允許緩沖器突發(fā)大小以及最佳傳遞周期由主機為各個流指定,從而允許驅(qū)動器優(yōu)化內(nèi)部數(shù)據(jù)傳遞。一旦主機設(shè)置了這些參數(shù),則可向驅(qū)動器發(fā)出傳統(tǒng)的數(shù)據(jù)傳遞命令,指定起始邏輯塊地址(LBA)和總傳遞數(shù)目。驅(qū)動器則可將其內(nèi)部高速緩存分區(qū),以便對物理媒體(例如旋轉(zhuǎn)盤)與數(shù)據(jù)傳遞(例如DMA傳遞)之間的數(shù)據(jù)分段。
      圖1描繪利用信號線106a-c的單向使用的先有系統(tǒng)100的框圖。例如,主機102利用單向設(shè)備地址線106a-c(DA0、DA1和DA2)來發(fā)信號通知或者激活設(shè)備104、例如數(shù)據(jù)存儲設(shè)備或IDE驅(qū)動器。圖2描繪利用單向設(shè)備地址線106(DA0-DA2)并要求完成全緩沖突發(fā)通信的先有系統(tǒng)的引腳或線路標志108。主機102通過設(shè)備地址線106發(fā)出設(shè)備地址,以及設(shè)備104識別地址并準備發(fā)送或接收寄存器數(shù)據(jù)。
      圖3描繪根據(jù)本發(fā)明的一個實施例的一種實現(xiàn)的系統(tǒng)110的簡化框圖。本發(fā)明110利用多個線路111a-c來使設(shè)備114、如數(shù)據(jù)存儲設(shè)備可以向主機112斷言傳輸流ID。這樣,設(shè)備包括多個流ID輸出115,主機包括多個流ID輸入113。在一個實施例中,本發(fā)明110把線路111a-c用作雙向線路。例如,線路111可以是三個設(shè)備地址線DA0-DA2或者是先有系統(tǒng)僅單向使用的其它線路。在始于主機112的一個方向中,本系統(tǒng)按照與先有系統(tǒng)相似的方式工作,其中主機指明設(shè)備寄存器地址。另外,利用線路的雙向性的設(shè)備114能夠斷言線路111a-c以指明多個傳輸流其中之一的流ID。
      主機112接收流ID,并且能夠識別待傳遞的數(shù)據(jù)。在一個實施例中,主機包括DMA緩沖路由器116,它確定送往或來自各個流特定主機緩沖器的數(shù)據(jù)的路由選擇。例如,主機可識別從而確定把以子突發(fā)形式從驅(qū)動器接收的數(shù)據(jù)路由到何處,或者確定來自多個數(shù)據(jù)集的哪些數(shù)據(jù)要從主機通過數(shù)據(jù)總線發(fā)送(例如哪個數(shù)據(jù)緩沖器)。一般來講,設(shè)備114使用雙向線111以及主機分配的流ID作為開關(guān)控制來指明在數(shù)據(jù)傳遞期間如何利用數(shù)據(jù)總線。在一個實施例中,驅(qū)動器包括固件18,它可實現(xiàn)為增強控制邏輯、如增強DMA控制邏輯。
      當主機112提供雙向線路111以控制對設(shè)備114的寄存器存取時,系統(tǒng)110配置成類似于先有系統(tǒng)(如系統(tǒng)100)進行工作。這允許本發(fā)明繼續(xù)進行以全突發(fā)傳遞數(shù)據(jù)而沒有中斷或臨時停止突發(fā)的傳統(tǒng)慣例。但是,本發(fā)明還能夠以雙向方式來使用線路(例如設(shè)備地址線DA0-DA2),從而利用子突發(fā)能力。在一個實施例中,DMA緩沖路由器116配置成接收來自設(shè)備114的流ID,以及確定送往或來自數(shù)據(jù)總線的數(shù)據(jù)的準確路由選擇。由于系統(tǒng)110按照與先有設(shè)備相似的方式進行工作,因此本發(fā)明可在不能處理以及利用提供各以子突發(fā)或全突發(fā)形式發(fā)送的若干有效傳輸流的本功能的系統(tǒng)和網(wǎng)絡(luò)中實現(xiàn)。
      圖4描繪根據(jù)本發(fā)明的一個實施例的一種實現(xiàn)的主機/驅(qū)動器系統(tǒng)130的簡化框圖。主機/驅(qū)動器系統(tǒng)130包括驅(qū)動控制器132組件,它通常是主機的一部分,例如與數(shù)據(jù)存儲設(shè)備136耦合的IDE控制器。在一個實施例中,驅(qū)動控制器132為DMA緩沖路由器,與圖3所示的DMA緩沖路由器116相似。存儲設(shè)備可以是盤驅(qū)動器、小型光盤(CD)驅(qū)動器、磁帶驅(qū)動器或者基本上可以是任何其它存儲設(shè)備。在一個實施例中,IDE總線135用來提供驅(qū)動控制器132與盤驅(qū)動器136之間的耦合。驅(qū)動器控制和耦合可通過基本上任何數(shù)據(jù)傳輸設(shè)備來提供,其中包括高級技術(shù)配件(ATA)設(shè)備、高級技術(shù)配件分組接口(ATAPI)設(shè)備以及基本上任何其它能夠建立主機與盤驅(qū)動器之間通信的設(shè)備。
      主機/驅(qū)動器系統(tǒng)130配置成建立和維護多個同時有效的數(shù)據(jù)流,從而允許以子突發(fā)以及全突發(fā)形式的數(shù)據(jù)傳遞。盤驅(qū)動器136包括多個高速緩存緩沖器134a-h或者分區(qū)為多個子緩沖器的單個高速緩存緩沖器,用于對物理存儲媒體137與IDE總線135之間的數(shù)據(jù)分段。驅(qū)動控制器132包括多個緩沖器142a-g以及144,用于對主機112與IDE總線135之間的數(shù)據(jù)分段。驅(qū)動控制器緩沖器142a-g和144可通過先進先出(FIFO)設(shè)備142a-f、與DMA配合使用的外圍部件互連(PCI)設(shè)備114、高速緩存緩沖器以及其它臨時存儲設(shè)備來實現(xiàn)。與盤驅(qū)動器高速緩存緩沖器134a-h配合工作的FIFO 142a-f和/或PCI設(shè)備114允許本主機/盤驅(qū)動器系統(tǒng)130建立和維護多個同時有效的傳輸流138a-h,用于在主機112與盤驅(qū)動器136之間提供數(shù)據(jù)傳遞。驅(qū)動器136按照主機112的指示交織來自各有效數(shù)據(jù)傳輸流138a-h的數(shù)據(jù)子突發(fā)。在工作時,例如從盤驅(qū)動器136中檢索待傳遞到主機的數(shù)據(jù)時,盤驅(qū)動器136通過首先訪問存儲媒體137(例如旋轉(zhuǎn)的盤)并把來自存儲媒體的數(shù)據(jù)緩存到內(nèi)部高速緩存緩沖器134之一來準備傳遞數(shù)據(jù)。盤驅(qū)動器發(fā)信號通知主機112數(shù)據(jù)可用,例如盤驅(qū)動器136激活DMA請求(DMARQ)。一旦盤驅(qū)動器136接收到來自主機的DMA請求的確認(如DMACK),并且數(shù)據(jù)在緩沖器134中是可用的,則盤驅(qū)動器136在輸出115上斷言流ID(參見圖3),從而在雙向線路111上指明標識準備轉(zhuǎn)發(fā)的傳輸流138的流ID。
      一旦主機112接收到流ID,主機就能夠批準或拒絕通過所標識的傳輸流的數(shù)據(jù)傳遞。如果主機批準傳輸流138的傳遞,則盤驅(qū)動器激活適當傳輸流的高速緩存134(例如標記為138c的傳輸流),從而發(fā)起從緩沖器134到驅(qū)動控制器132、由FIFO 142之一或PCI 144接收的數(shù)據(jù)傳遞。數(shù)據(jù)傳遞繼續(xù)進行,直到先前由主機指定的剩余數(shù)目達到零、達到所定義的突發(fā)大小、或者主機或盤驅(qū)動器136接收到提前中斷或終止為止。中斷可由主機112或盤驅(qū)動器136在任一設(shè)備沒有為待傳遞數(shù)據(jù)作好準備時發(fā)起,或者由具有某種總線控制的系統(tǒng)或網(wǎng)絡(luò)中的其它設(shè)備發(fā)起。例如,主機常常不需要整個數(shù)據(jù)突發(fā),從而主機取消對于數(shù)據(jù)傳遞的盤驅(qū)動器授權(quán),這使盤驅(qū)動器136停止或中斷突發(fā)的傳遞以及從而結(jié)束子突發(fā)。子突發(fā)數(shù)據(jù)保持在FIFO 142或PCI144中,并根據(jù)需要由主機使用。與全突發(fā)相關(guān)的剩余數(shù)據(jù)保持在高速緩存緩沖器134中,使得傳輸流138c保持有效。數(shù)據(jù)的全突發(fā)可通過任何數(shù)量的子突發(fā)來完全傳遞,以便優(yōu)化數(shù)據(jù)傳遞以及總線135的使用。
      在子突發(fā)(或者全突發(fā))的傳遞之后,盤驅(qū)動器136轉(zhuǎn)換到下一個有效傳輸流(例如標記為138d的傳輸流)。盤驅(qū)動器同樣發(fā)出信號DMARQ,并等待來自主機的確認。盤驅(qū)動器通過各有效傳輸流138a-h繼續(xù)這個循環(huán),向主機提供子突發(fā)或全突發(fā)。
      在一個實施例中,一個或多個有效傳輸流可把數(shù)據(jù)從主機(如CPU)通過PCI 140提供給存儲媒體(如盤驅(qū)動器136),以及從盤驅(qū)動器136中檢索數(shù)據(jù)并通過PCI提供給主機。作為另一個實例,IDE驅(qū)動器132可直接存儲器存取送往或來自存儲器136的數(shù)據(jù),經(jīng)過FIFO而送往或取自連續(xù)速率流,從而建立等時傳輸。
      仍然參照圖4,當FIFO 142或PCI 144需要其它數(shù)據(jù)時,它只是利用驅(qū)動器136提供的來移動數(shù)據(jù)。如果FIFO或PCI不需要其它數(shù)據(jù),則不給予驅(qū)動器對數(shù)據(jù)傳輸?shù)氖跈?quán),驅(qū)動控制器132移動到下一個FIFO 142或PCI 144,以及盤驅(qū)動器移動到下一個相關(guān)緩沖器134。在一個實施例中,驅(qū)動控制器132中的FIFO 142沒有大的數(shù)據(jù)存儲容量,而是大到足以緩沖一個子突發(fā)到下一個子突發(fā)之間的數(shù)據(jù)。由于本系統(tǒng)和方法能夠以子突發(fā)進行通信,因此可使用更小的緩沖器而沒有妨礙系統(tǒng)性能。數(shù)據(jù)傳遞的各端使用的緩沖器大小可針對數(shù)據(jù)類型優(yōu)化,以便匹配各端特有的本地緩沖要求,以及在各端可采用不同的緩沖器大小。
      在一個實施例中,驅(qū)動控制器132內(nèi)的各FIFO 142和PCI 144對應(yīng)于盤驅(qū)動器136內(nèi)的一個緩沖器134。驅(qū)動控制器132可包括任何數(shù)量的FIFO和PCI訪問端口。例如,圖4所示的驅(qū)動控制器包括七個FIFO 142a-142g以及一個PCI DMA 144。在本例中,其中的三個FIFO 142a-142c用于接收待寫入盤驅(qū)動器136的數(shù)據(jù),其中的四個FIFO 142d-g用于接收來自盤驅(qū)動器的發(fā)送數(shù)據(jù)。但是,可使用任何數(shù)量及組合(接收或發(fā)送)。PCI 144允許主機112與盤驅(qū)動器136之間的更傳統(tǒng)通信,例如用于移動文件數(shù)據(jù)、程序以及計算機以傳統(tǒng)方式與盤之間往返傳遞的基本上任何其它數(shù)據(jù)。例如,提供TV控制的主機可能在盤驅(qū)動器136上存儲TV指南的目錄信息或者計算機將保持的基本上任何其它內(nèi)容。這允許主機以類似于傳統(tǒng)計算機的方式工作。本設(shè)備和方法不限于一個PCI流138h,而是可包括建立多個PCI流的多個PCI 144。
      在圖4所示的實例中,驅(qū)動控制器132和盤驅(qū)動器136允許總共八個同時有效的傳輸流138a-h。但是,可建立任何數(shù)量的傳輸流。一般來講,傳輸流138的數(shù)量由可用來標識和區(qū)分各傳輸流(即流ID)的二進制表示的數(shù)量來限制。例如,如果存在三個雙向線路111,傳輸流的數(shù)量限制為八,除非用其它方法來區(qū)分傳輸流。
      在一個實施例中,主機112保持對數(shù)據(jù)傳遞的控制。雖然盤驅(qū)動器136可準備執(zhí)行數(shù)據(jù)傳遞,但主機批準或拒絕傳遞。主機還可中止所批準的傳遞,而且可控制總線。直到主機112準備允許盤驅(qū)動器136對數(shù)據(jù)總線控制(例如DMA控制),主機才撤回雙向線路111或者使線路進入三態(tài)或高阻態(tài)。然后,主機112向盤驅(qū)動器發(fā)出信號,授權(quán)磁盤驅(qū)動器控制雙向線路111(例如DA0-DA2)以及數(shù)據(jù)總線(例如DD0-DD15)。盤驅(qū)動器136則可在雙向線路111上斷言流ID。
      主機112通常保留其發(fā)出緩沖器傳遞命令的傳統(tǒng)作用。例如,在寫入盤驅(qū)動器136時,主機發(fā)出指定盤LBA、待寫入的扇區(qū)數(shù)的命令以及激活現(xiàn)有或新的傳輸流或信道(例如DMA信道)的信號。在從盤驅(qū)動器中讀取時,例如在主機是數(shù)字TV系統(tǒng)時重放電視節(jié)目的過程中,主機112指定LBA、待讀取的扇區(qū)數(shù)以及在其中傳遞數(shù)據(jù)的第二傳輸流或DMA信道138??刹恍枰却惹懊钔瓿啥鴱闹鳈C發(fā)出寫入或讀取的命令。一次對于一個數(shù)據(jù)流通常僅掛起一個命令,以及采用適當?shù)牧鱅D來標記或標明狀態(tài)信息。盤驅(qū)動器處理該命令,在驅(qū)動器上的高速緩存緩沖器134之一中分配緩沖器空間,以及發(fā)起高速緩存134與旋轉(zhuǎn)媒體137之間適當?shù)臄?shù)據(jù)傳遞。
      本發(fā)明不限于主機112與盤驅(qū)動器136之間的數(shù)據(jù)傳遞。本發(fā)明可在基本上任何在設(shè)備之間利用突發(fā)通信來傳遞數(shù)據(jù)的系統(tǒng)中實現(xiàn)。例如,本發(fā)明可用來提供和控制存儲設(shè)備與提供或接收數(shù)據(jù)的外圍設(shè)備之間的數(shù)據(jù)的子突發(fā)。
      在一個實施例中,盤驅(qū)動器136與主機通信,從而建立通過一個或多個有效傳輸流的一個或多個子突發(fā)或全突發(fā)的激活和發(fā)起的定時。圖5說明主機與驅(qū)動器之間通信以建立多個數(shù)據(jù)傳遞的激活的時序圖。在本例中,通信正在建立盤讀取。盤驅(qū)動器136最初提交或觸發(fā)DMA請求(DMARQ)152。主機112記錄DMA請求,并把雙向線路111設(shè)置為三態(tài)或高阻態(tài)154。主機還斷言DMA確認(DMACK)156。驅(qū)動器記錄DMACK并斷言雙向線路111建立適當?shù)腄MA流ID 160。驅(qū)動器還斷言DMA就緒命令(DDMARDY)162。主機記錄DMA就緒命令,而且如果準備接收數(shù)據(jù),就釋放或撤回停止(STOP)164,允許驅(qū)動器發(fā)起數(shù)據(jù)傳遞166。
      圖6A-B描繪根據(jù)本發(fā)明的一個實施例的一種實現(xiàn)、用于控制設(shè)備之間、例如主機112與數(shù)據(jù)存儲設(shè)備136之間數(shù)據(jù)傳遞的過程210的流程圖。在步驟220,主機向設(shè)備發(fā)出許可信號,從而發(fā)起數(shù)據(jù)的傳遞(例如主機可批準DMA總線控制)。在一個實施例中,主機指定起始邏輯塊地址和傳遞總數(shù)。主機還可指定數(shù)據(jù)流的突發(fā)大小和最佳傳遞周期。在步驟222,設(shè)備等待授權(quán),以便準備數(shù)據(jù)的傳遞。如果沒有接收到授權(quán),則過程循環(huán)并等待授權(quán)。如果接收到授權(quán),則過程進入步驟224,其中設(shè)備確定是否至少一個傳輸流有效。如果不是,則進入步驟226,其中設(shè)備激活數(shù)據(jù)流,并且部分通過把數(shù)據(jù)裝入高速緩存來準備數(shù)據(jù)。如果某個數(shù)據(jù)流有效,或者在步驟226中激活數(shù)據(jù)流之后,過程進入步驟232,其中設(shè)備確定一個以上數(shù)據(jù)流是否有效。如果存在一個以上的有效數(shù)據(jù)流,則進入步驟234,其中設(shè)備根據(jù)某種方案(例如循環(huán)方案)、優(yōu)先級或其它標準(例如,如果新的數(shù)據(jù)流被激活,則設(shè)備選擇此新的數(shù)據(jù)流)來識別下一個有效流。如果只有一個有效流,或者在確定下一個流的步驟234之后,進入步驟236,其中設(shè)備選擇有效流。
      在步驟240,設(shè)備向主機斷言傳遞請求(例如DMARQ)。在步驟244,主機發(fā)出對傳遞請求的確認。在步驟246,主機使雙向線路111成為三態(tài)。在步驟250,設(shè)備斷言所選有效流的流ID。在步驟252,主機接收流ID,并確定它是否準備好用于所指定的流。如果主機還未準備好用于所識別的流,則進入步驟254,其中主機刪除傳遞請求確認,以及過程210返回到步驟222。如果主機準備好用于所識別的流的傳遞,則進入步驟256,其中主機發(fā)出進行傳遞的授權(quán)(例如主機可撤回STOP命令)。
      在步驟260,設(shè)備確定是否已經(jīng)發(fā)出授權(quán)。如果沒有,則過程返回到步驟222。如果已經(jīng)發(fā)出授權(quán),則進入步驟262,其中設(shè)備發(fā)起通過所選和所識別的傳輸流的數(shù)據(jù)的第一突發(fā)的傳遞。在步驟266,設(shè)備確定是否接收到中斷或停止信號以便中斷第一突發(fā)的傳遞以及不完成全突發(fā)的傳遞??蓮闹鳈C、設(shè)備或者具有數(shù)據(jù)總線控制的其它可能的設(shè)備接收這個中斷。如果已經(jīng)接收到中斷,則進入步驟270,其中設(shè)備中斷第一突發(fā)的傳遞,完成子突發(fā)的傳遞。然后,過程返回到步驟222。如果沒有接收到中斷,則過程210繼續(xù)進行到步驟272,其中繼續(xù)第一突發(fā)的傳遞。
      在步驟274,設(shè)備確定是否已經(jīng)用完主機指定的剩余數(shù)目。如果已經(jīng)用完該數(shù)目,則過程返回到步驟222。如果沒有,則進入步驟276,其中設(shè)備確定是否已經(jīng)完全傳遞了第一突發(fā)。如果沒有,則過程返回到步驟266以便繼續(xù)傳遞。如果已經(jīng)完全傳遞了第一突發(fā),則過程返回到步驟222,以便選擇用于數(shù)據(jù)傳遞的下一個有效傳輸流。
      圖7描繪根據(jù)本發(fā)明的一個實施例、用于發(fā)起數(shù)據(jù)傳遞的過程320的一個實現(xiàn)的流程圖。在步驟322,盤驅(qū)動器136、例如獨立的DMA控制器循環(huán)通過傳輸流并選擇某個流。在步驟324,確定驅(qū)動控制器當前選取的傳輸流是否有效。在步驟326,還確定相關(guān)緩沖器134是否就緒(例如,如果發(fā)出了讀命令,則緩沖器具有來自盤的數(shù)據(jù),或者如果發(fā)出了寫命令,則緩沖器具有可用空間)。如果數(shù)據(jù)流不是有效的或者緩沖器未就緒,則過程返回到步驟322,以便轉(zhuǎn)換到下一個傳輸流138。如果數(shù)據(jù)流有效且緩沖器就緒,則進入步驟330,其中驅(qū)動控制器向主機112斷言傳遞請求。在步驟332,驅(qū)動器則等待來自主機的確認。
      一旦驅(qū)動控制器檢測到確認,則過程繼續(xù)進行到步驟334,其中驅(qū)動器在雙向線路111上斷言當前信道或流ID。在一個實施例中,數(shù)據(jù)方向以傳統(tǒng)方式通過命令線或信號、如DSTROBE/DDMAREADY信號的電平(即高或低)來指示。主機112可配置成返回數(shù)據(jù)方向用于確認,例如主機返回數(shù)據(jù)方向,作為在HSTROBE/HDMAREADY信號線上斷言的DSTROBE/DDMAREADY的倒轉(zhuǎn)。在步驟336,驅(qū)動器接收返回的數(shù)據(jù)方向。一旦主機112(在一個實施例中為主機硬件)確定方向是穩(wěn)定的,則主機準備向適當?shù)闹鳈C端緩沖器或者從其中路由數(shù)據(jù),以及主機例如通過撤回STOP信號來發(fā)出授權(quán),允許開始數(shù)據(jù)傳遞(例如允許DMA驅(qū)動控制器發(fā)起DMA突發(fā))。在步驟340,驅(qū)動器等待接收授權(quán)。
      或者,例如,如果主機未準備好用于所識別的流,則主機112可推遲所選流的數(shù)據(jù)傳遞。不是發(fā)出授權(quán),而是主機可取消DMA確認并中止傳遞。如果在步驟340沒有檢測到授權(quán),則過程繼續(xù)進行到步驟342,其中確定DMA確認是否仍然有效。如果不是,則過程返回到步驟322以便轉(zhuǎn)換到下一個流。如果在步驟342中DMA確認仍然有效,則過程返回到步驟340,以便確定是否已經(jīng)發(fā)出授權(quán)。本發(fā)明所提供的跳過有效流的功能性不是先有系統(tǒng)可用的,而且實際上與先有協(xié)議規(guī)范有直接沖突。但是,跳過數(shù)據(jù)流的能力為本設(shè)備和方法提供了控制信道DMA的最大多功能性。
      如果主機確實發(fā)出了授權(quán)并且一旦在步驟340中驅(qū)動器檢測到授權(quán),則進入步驟344,其中驅(qū)動器136驗證主機的數(shù)據(jù)方向指示與驅(qū)動器的方向匹配。如果數(shù)據(jù)方向匹配,則進入步驟346,其中運行差錯恢復(fù)序列。差錯恢復(fù)序列通常類似于本領(lǐng)域已知的其它差錯恢復(fù)序列,例如通知主機這種意外事故的從接口到控制主機的中斷。如果數(shù)據(jù)方向確實匹配,則進入步驟350,其中驅(qū)動器發(fā)起數(shù)據(jù)傳遞。子突發(fā)數(shù)據(jù)傳遞通常按照類似于傳統(tǒng)DMA突發(fā)過程的數(shù)據(jù)傳遞過程。在數(shù)據(jù)傳遞過程中,驅(qū)動器繼續(xù)斷言雙向線路111指明流ID。子突發(fā)可由驅(qū)動器136或主機112利用傳統(tǒng)信令方法來端接。
      如果子突發(fā)用完了緩沖器傳遞數(shù)目,則傳統(tǒng)方法與流ID的指示一起向主機提供完成狀態(tài)。所指示的流在盤驅(qū)動器136中被標記為空閑,直到另一個緩沖器傳遞命令由主機112發(fā)出為止。一旦已經(jīng)完成子突發(fā),則驅(qū)動器循環(huán)到下一個有效流,并確定下一個流是否準備投入使用。只要有掛起的數(shù)據(jù)傳遞,則循環(huán)到多個有效流中每一個的旋轉(zhuǎn)繼續(xù)進行。
      在一個實施例中,盤驅(qū)動器136經(jīng)配置或編程,從而根據(jù)優(yōu)先級方案提供傳輸流。例如,可給予第一傳輸流138a(參見圖4)比所有其它流更高的優(yōu)先級。這樣,驅(qū)動器執(zhí)行的流旋轉(zhuǎn)可包括從第一傳輸流138a開始。在從第一個流138a傳遞子突發(fā)或全突發(fā)之后,盤驅(qū)動器136轉(zhuǎn)動到第二傳輸流138b。在從第二個流138b傳遞數(shù)據(jù)之后,驅(qū)動器136回轉(zhuǎn)到第一傳輸流138a。再次從第一個流138a傳遞數(shù)據(jù)之后,驅(qū)動器136轉(zhuǎn)動到第三傳輸流138b,然后回到第一個流138a,繼續(xù)這個循環(huán)。
      可采用其它類似的優(yōu)先級方案。例如,主機112可把傳輸流之一指定為具有更高優(yōu)先級。驅(qū)動器136則可根據(jù)所指定的優(yōu)先級數(shù)量來實現(xiàn)優(yōu)先級。例如,如果主機發(fā)布了高優(yōu)先級,則驅(qū)動器可能按照上述方案,例如流1、流2、流1、流3等?;蛘撸绻麅?yōu)先級是中間優(yōu)先級,則方案可能是例如流1、流2、流3、流4、回到流1,然后再轉(zhuǎn)到流5、流6、流7、流8、然后再回到流1,等等。
      但是,主機通常最終負責(zé)控制,包括控制流的優(yōu)先級。如果盤驅(qū)動器136發(fā)出DMARQ,則主機112發(fā)出許可確認,以及驅(qū)動器在雙向線路111上斷言流ID。主機檢測標識驅(qū)動器希望在其中發(fā)起數(shù)據(jù)傳遞(接收或發(fā)送)的流(哪個緩沖器)的流ID。然后,主機可確定是否希望允許在那個時間點上通過已標識流的數(shù)據(jù)傳遞。如果主機不希望允許通過該流的傳遞,則主機112可丟棄確認許可,而不給予就緒或授權(quán)。驅(qū)動器則循環(huán)到下一個有效流。當驅(qū)動器循環(huán)通過這些流時,主機可繼續(xù)拒絕發(fā)出用于發(fā)起數(shù)據(jù)傳遞的就緒命令,直到主機識別預(yù)期的傳輸流。主機可使驅(qū)動器快速循環(huán)通過流138a-h(通常大約數(shù)微秒),從而允許主機控制驅(qū)動器發(fā)起預(yù)期流的數(shù)據(jù)傳遞。
      本發(fā)明有助于通過通信接口、如IDE接口或其它這類接口進行交織的多個數(shù)據(jù)流的傳遞。本發(fā)明的一個實現(xiàn)是把本設(shè)備和方法包括在個人錄像機(PVR)應(yīng)用中。這允許輸入媒體流被“現(xiàn)場”錄制然后再重放、例如僅稍微延遲重放或者稍后重放,以及還允許向前或向后快速瀏覽媒體流。一個實例是數(shù)字TV或數(shù)字錄制,如TivoTM、水晶錄像或其它類似設(shè)備。應(yīng)用的一個實例是接收三個媒體流(例如TV節(jié)目)、對節(jié)目中的兩個進行時間移位以便重放供觀看以及后臺錄制第三個節(jié)目。
      這種應(yīng)用的一個實例是,如果用戶正在觀看兩個節(jié)目,即主要節(jié)目A和第二節(jié)目B、如籃球比賽A和籃球比賽B,并錄制第三個節(jié)目C、如電影。主要節(jié)目A(比賽A)在屏幕上以全屏方式顯示,而第二節(jié)目B(比賽B)則可通過小的副屏幕(通常稱作畫中畫(PiP))來顯示。
      圖8描繪根據(jù)本發(fā)明的一個實施例的系統(tǒng)420的簡化框圖。在本例中,主機422接收三個節(jié)目(A、B和C)424a-c。主機在節(jié)目424a-c被接收時將其轉(zhuǎn)發(fā)到存儲裝置426以便記錄這些節(jié)目。系統(tǒng)還從存儲裝置中向主機重放主要節(jié)目以及第二節(jié)目424d、424e,允許主機422顯示這兩個節(jié)目,使得用戶可觀看這些節(jié)目。因此,系統(tǒng)具有五(5)個同時有效的流。三個流424a-c被記錄,以及兩個流424d-e被重放。
      同樣,對于先有系統(tǒng),這五個流必須共享單個數(shù)據(jù)總線,同時執(zhí)行過大的全數(shù)據(jù)突發(fā)。驅(qū)動器一般可接收和傳遞遠大于可利用的數(shù)據(jù)量。因此,在先有驅(qū)動器以及主機中需要過大的緩沖器,以便接收和發(fā)送全突發(fā)。
      或者,本發(fā)明保持五個同時有效的傳輸流并利用子突發(fā)傳遞數(shù)據(jù),從而減小所需緩沖器的大小以及提供更平滑的數(shù)據(jù)傳遞。當主機422(本例中為數(shù)字電視系統(tǒng))準備傳遞數(shù)據(jù)(至或自主機)時,主機發(fā)信號給數(shù)據(jù)存儲設(shè)備426,并釋放雙向數(shù)據(jù)地址線。一旦許可已經(jīng)由主機斷言,則存儲設(shè)備426提交跟隨指明當前流的發(fā)送流ID的位地址之后的DMARQ。主機識別流ID地址。例如,如果數(shù)據(jù)流是系統(tǒng)420接收的、待寫入盤的主要節(jié)目424a的一部分,則主機識別該流,并準備把主要節(jié)目的數(shù)據(jù)寫入存儲設(shè)備。
      由于主機已經(jīng)指示存儲設(shè)備426如何分配地址,因此主機硬件認為流ID是要求主機把數(shù)據(jù)推出到(寫入)存儲設(shè)備。主機把數(shù)據(jù)推出到存儲設(shè)備,直到存儲設(shè)備丟棄其請求、或者主機沒有其它數(shù)據(jù)要發(fā)送、或者子突發(fā)或突發(fā)時間結(jié)束。主機與DMACK握手,并從主機向存儲設(shè)備傳遞數(shù)據(jù)的子突發(fā)。然后,主機取消DMACK。存儲設(shè)備認識到主機完成了傳遞與主要流424a相關(guān)的數(shù)據(jù)。存儲設(shè)備426則循環(huán)到下一個有效流,斷言下一個流的DMARQ,一旦已經(jīng)斷言DMACK,在雙向地址上斷言下一個流的流ID。
      主機識別該流并準備數(shù)據(jù)傳遞。例如,如果下一個流是主要流的重放流424d,則主機識別該流并準備接收來自存儲設(shè)備426的數(shù)據(jù)。主機發(fā)出DMACK和授權(quán),以及存儲設(shè)備開始傳遞重放流424d。例如,如果主機準備提取該特定流上的數(shù)據(jù)的4或5字節(jié)的子突發(fā),則主機與確認許可握手,以便從存儲設(shè)備采集預(yù)期字節(jié)數(shù)的數(shù)據(jù)用于重放節(jié)目424d,然后再撤回完成子突發(fā)的確認。
      存儲設(shè)備426繼續(xù)循環(huán)通過不同的流和緩沖器,從而允許傳遞數(shù)據(jù)的子突發(fā)。因此,存儲設(shè)備426和主機426都以其各自的最佳速率接收數(shù)據(jù)。
      在一個實施例中,本發(fā)明允許數(shù)據(jù)存儲和緩存被移動到盤驅(qū)動器上。盤驅(qū)動器上的緩沖更為實際,因為盤驅(qū)動器更接近必需以任何方法緩沖數(shù)據(jù)的旋轉(zhuǎn)媒體。這還避免了主機必需維護同一個緩沖器的另一個副本(至少數(shù)據(jù)的大百分比)的必要性,還允許主機避免以大突發(fā)把數(shù)據(jù)從盤驅(qū)動器移動到主機本機存儲器,然后從本機存儲器中一次一點地取出數(shù)據(jù)。把緩存和存儲移動到盤驅(qū)動器上還減少了與一次移動大數(shù)據(jù)塊相關(guān)的、在主機可以開始另一個數(shù)據(jù)傳遞之前移交給大突發(fā)周期的等待時間。在一個實施例中,本發(fā)明將緩沖器管理下移到硬件級。這允許本發(fā)明為數(shù)據(jù)傳遞提供通過軟件的手動切斷,而不是管理緩沖進程的軟件,從而提供更有效的通信控制。
      本發(fā)明優(yōu)化了總線的使用。此外,建立總線的優(yōu)化使用,而沒有干擾傳遞數(shù)據(jù)的先有系統(tǒng)和先有方法(即通過大突發(fā)進行傳遞)。本發(fā)明可在先有系統(tǒng)中實現(xiàn),以與提供大突發(fā)通信的先有系統(tǒng)相似的方式工作。但是,當激活時,本設(shè)備及方法通過部分允許多個傳輸流同時有效,在離散時間全部共享總線以傳遞突發(fā)的一部分(子突發(fā)),從而優(yōu)化總線的使用。即使在有效時,本設(shè)備及方法也能夠在優(yōu)化總線及通信時、或者在系統(tǒng)或網(wǎng)絡(luò)的其它組件無法發(fā)送或接收子突發(fā)時傳遞數(shù)據(jù)的整個突發(fā)。
      因此,本發(fā)明仍然可讓一個流類似于先有系統(tǒng)進行工作,提供全突發(fā)通信。本發(fā)明還可利用子突發(fā)繼續(xù)傳遞其它有效流,以便共享總線并優(yōu)化通信及系統(tǒng)資源。系統(tǒng)可能損失某些與子突發(fā)通信相關(guān)的效率,但仍然保持與無法利用子突發(fā)的先有設(shè)備的兼容。使用驅(qū)動器來傳遞全突發(fā)的先有設(shè)備或程序按照使用突發(fā)模式之前那樣發(fā)出命令。配置成利用本發(fā)明的設(shè)備或程序發(fā)出命令,以便允許它們利用子突發(fā)通信。本發(fā)明允許全突發(fā)設(shè)備和/或程序以及子突發(fā)設(shè)備和/或程序沒有相互干擾地共存。
      在一個實施例中,本發(fā)明能夠以類似于提供全突發(fā)通信的先有系統(tǒng)的第一模式工作,還能夠以為多個有效傳輸流提供以子突發(fā)傳遞的能力的第二模式工作。為了以第二模式工作以及利用本發(fā)明的功能性,主機112、例如計算機對外圍存儲設(shè)備136發(fā)信號或進行配置,使它以受控的DMA模式工作,使多個傳輸流能夠同時有效。因此,接口的雙方、即主機112和設(shè)備136都知道,本設(shè)備及方法正用來代替?zhèn)鹘y(tǒng)的半雙工、單緩沖器、DMA。在一個實施例中,模式配置每個會話執(zhí)行一次,并且可在會話之間保存在非易失性存儲器中。
      本發(fā)明可通過任何數(shù)量的設(shè)備和/或系統(tǒng)來實現(xiàn)以及結(jié)合在任何數(shù)量的設(shè)備和/或系統(tǒng)中,這些設(shè)備和/或系統(tǒng)包括但不限于IDE、ATA、ATAPI和ATA/ATAPI設(shè)備。許多ATA、ATAPI和ATA/ATAPI設(shè)備包括數(shù)據(jù)引腳,其中包括單向數(shù)據(jù)地址線DA0-DA2。根據(jù)本發(fā)明,這些設(shè)備設(shè)計成允許數(shù)據(jù)地址線DA0-DA2成為雙向的,使得這些數(shù)據(jù)地址線可用來指定多個有效傳輸流中的哪一個正在傳遞數(shù)據(jù),從而實現(xiàn)上述數(shù)據(jù)的精確路由選擇。本發(fā)明還可在服務(wù)器或家庭服務(wù)器內(nèi)實現(xiàn),其中多個計算機或程序訪問位于建筑物、辦公室或家庭內(nèi)的中央位置的盤驅(qū)動器。本發(fā)明還可在視頻點播環(huán)境下實現(xiàn),其中緩沖保持在盤驅(qū)動器上,而不一定需要控制視頻點播的主計算機上額外的大緩沖器。
      雖然通過具體實施例及其應(yīng)用描述了本文公開的本發(fā)明,但是本領(lǐng)域的技術(shù)人員可對它們進行許多修改和變更,只要沒有背離權(quán)利要求書所述的本發(fā)明的范圍。
      權(quán)利要求
      1.一種用于控制主機與數(shù)據(jù)存儲設(shè)備之間通信流的方法,包括保持多個數(shù)據(jù)傳輸流有效;發(fā)起所述主機與所述設(shè)備之間第一傳輸流的數(shù)據(jù)的第一突發(fā);中斷所述第一傳輸流的所述第一突發(fā);保持所述第一傳輸流有效;發(fā)起所述主機與所述設(shè)備之間第二傳輸流的數(shù)據(jù)的第一突發(fā);中斷所述第二傳輸流的所述第一突發(fā);保持所述第二傳輸流有效;以及繼續(xù)所述第一傳輸流的所述第一突發(fā)。
      2.如權(quán)利要求1所述的方法,其特征在于,在繼續(xù)所述第一傳輸流的所述第一突發(fā)的所述步驟之前,還包括以下步驟發(fā)起所述主機與所述設(shè)備之間第三傳輸流的數(shù)據(jù)的第一突發(fā);中斷所述第三傳輸流的所述第一突發(fā);以及保持所述第三傳輸流有效。
      3.如權(quán)利要求2所述的方法,其特征在于,在繼續(xù)所述第一傳輸流的所述第一突發(fā)的所述步驟之前,還包括以下步驟發(fā)起所述主機與所述設(shè)備之間第四傳輸流的數(shù)據(jù)的第一突發(fā);以及傳遞所述第四傳輸流的所述整個第一突發(fā)。
      4.如權(quán)利要求1所述的方法,其特征在于還包括以下步驟所述設(shè)備請求發(fā)起所述主機與所述設(shè)備之間的數(shù)據(jù)傳遞;所述主機確認所述請求;所述設(shè)備斷言所述第一傳輸流的第一流標識(流ID);以及所述主機批準所述第一突發(fā)的發(fā)起。
      5.如權(quán)利要求1所述的方法,其特征在于還包括以下步驟在發(fā)起所述第一傳輸流的所述第一突發(fā)的所述步驟之前,斷言所述第一傳輸流的第一流ID;以及在發(fā)起所述第二傳輸流的所述第一突發(fā)的所述步驟之前,斷言所述第二傳輸流的第二流ID。
      6.如權(quán)利要求5所述的方法,其特征在于還包括以下步驟再次中斷所述第一傳輸流的所述第一突發(fā);保持所述第一傳輸流有效;再次斷言所述第二流ID;以及繼續(xù)所述第二傳輸流的所述第一突發(fā)。
      7.如權(quán)利要求5所述的方法,其特征在于,在繼續(xù)所述第一傳輸流的所述第一突發(fā)的所述步驟之前,還包括以下步驟斷言第三傳輸流的第三流ID;無法接收對所述第三傳輸流的批準;不發(fā)起所述第三傳輸流的第一突發(fā);以及保持所述第三傳輸流有效。
      8.如權(quán)利要求1所述的方法,其特征在于還包括以下步驟在發(fā)起所述第一傳輸流的所述第一突發(fā)的所述步驟之前,斷言所述第一傳輸流的第一流ID;以及所述主機根據(jù)所述第一流ID確定來自所述第一傳輸流的所述第一突發(fā)的所述數(shù)據(jù)的路由選擇。
      9.如權(quán)利要求1所述的方法,其特征在于還包括以下步驟在發(fā)起所述第一傳輸流的所述第一突發(fā)的所述步驟之前,斷言所述第一傳輸流的第一流ID;以及所述主機根據(jù)所述第一流ID從多個數(shù)據(jù)集中確定哪個數(shù)據(jù)將包含在所述第一傳輸流中。
      10.一種用于管理數(shù)據(jù)傳遞的系統(tǒng),包括主機,具有多個流標識(流ID)輸入;數(shù)據(jù)存儲設(shè)備,具有與所述流ID輸入耦合的多個流ID輸出,使得所述數(shù)據(jù)存儲設(shè)備配置成斷言向所述主機標識多個傳輸流之一的多個流ID;以及所述主機配置成根據(jù)從所述數(shù)據(jù)存儲設(shè)備接收的所述流ID來確定通過所述多個傳輸流傳遞的數(shù)據(jù)的路由選擇。
      11.如權(quán)利要求10所述的系統(tǒng),其特征在于所述數(shù)據(jù)存儲設(shè)備包括多個高速緩存,使得所述數(shù)據(jù)存儲設(shè)備能夠建立和保持所述多個傳輸流同時有效,其中所述多個傳輸流在所述主機與所述數(shù)據(jù)存儲設(shè)備之間傳遞數(shù)據(jù)。
      12.如權(quán)利要求11所述的系統(tǒng),其特征在于所述主機和數(shù)據(jù)存儲設(shè)備利用所述傳輸流在所述主機與數(shù)據(jù)存儲器之間以數(shù)據(jù)的子突發(fā)來傳遞數(shù)據(jù)。
      13.如權(quán)利要求10所述的系統(tǒng),其特征在于所述數(shù)據(jù)存儲設(shè)備配置成斷言標識第一傳輸流的第一流ID,以便發(fā)起通過所述第一傳輸流的數(shù)據(jù)的第一突發(fā)的傳遞,以及中斷所述第一突發(fā),完成數(shù)據(jù)的第一子突發(fā)的傳遞。
      14.如權(quán)利要求13所述的系統(tǒng),其特征在于所述數(shù)據(jù)存儲設(shè)備還配置成在中斷所述第一突發(fā)之后保持所述第一傳輸流有效;以及所述數(shù)據(jù)存儲設(shè)備還配置成斷言標識第二傳輸流的第二流ID,以及發(fā)起通過所述第二傳輸流的數(shù)據(jù)的第二突發(fā)的傳遞。
      15.如權(quán)利要求14所述的系統(tǒng),其特征在于所述數(shù)據(jù)存儲設(shè)備還配置成中斷所述第二突發(fā)以完成數(shù)據(jù)的第二子突發(fā)的所述傳遞,再斷言所述第一流ID,以及繼續(xù)通過所述第一傳輸流來傳遞數(shù)據(jù)的所述第一突發(fā)。
      16.如權(quán)利要求10所述的系統(tǒng),其特征在于所述主機配置成批準所述數(shù)據(jù)存儲設(shè)備發(fā)起通過所述多個傳輸流之一的通信。
      17.如權(quán)利要求10所述的系統(tǒng),其特征在于所述主機配置成發(fā)信號通知所述數(shù)據(jù)存儲設(shè)備中斷通過傳輸流傳遞的數(shù)據(jù)的突發(fā)。
      18.如權(quán)利要求10所述的系統(tǒng),其特征在于所述主機配置成防止所述數(shù)據(jù)存儲設(shè)備通過第一傳輸流傳遞數(shù)據(jù),以及發(fā)起通過第二傳輸流的數(shù)據(jù)的傳遞。
      19.如權(quán)利要求10所述的系統(tǒng),其特征在于所述主機包括緩沖路由器,所述緩沖路由器配置成根據(jù)從所述數(shù)據(jù)存儲設(shè)備接收的所述流ID來確定通過所述多個傳輸流傳遞的數(shù)據(jù)的路由選擇。
      20.一種用于提供數(shù)據(jù)傳遞控制的設(shè)備,包括主機,具有用于接收一個或多個流標識(流ID)的部件;以及用于存儲數(shù)據(jù)的部件包括用于斷言所述一個或多個流ID以標識一個或多個傳輸流的部件;用于保持多個傳輸流同時有效的部件,其中所述多個傳輸流中每一個均配置成在所述主機與用于存儲數(shù)據(jù)的所述部件之間傳遞數(shù)據(jù);以及用于控制數(shù)據(jù)傳遞、使得數(shù)據(jù)在所述主機與用于存儲數(shù)據(jù)的所述部件之間以子突發(fā)來傳遞的部件,其中各個子突發(fā)通過所述一個或多個流ID其中之一與所述一個或多個傳輸流其中之一相關(guān)聯(lián)。
      21.如權(quán)利要求20所述的設(shè)備,其特征在于,用于控制所述數(shù)據(jù)傳遞的所述部件配置成發(fā)起通過第一傳輸流的數(shù)據(jù)的第一突發(fā)的傳遞,以及中斷所述第一突發(fā)而引起第一子突發(fā)的完成,以及用于保持所述傳輸流有效的所述部件保持所述第一傳輸流有效。
      22.如權(quán)利要求21所述的設(shè)備,其特征在于,用于控制所述數(shù)據(jù)傳遞的所述部件配置成發(fā)起通過第二傳輸流的數(shù)據(jù)的第二突發(fā)的傳遞,以及中斷所述第二突發(fā)而引起第二子突發(fā)的完成,以及用于保持所述傳輸流有效的所述部件保持所述第二傳輸流有效。
      23.如權(quán)利要求22所述的設(shè)備,其特征在于用于斷言所述一個或多個流ID的所述部件配置成在用于控制所述數(shù)據(jù)傳遞的所述部件發(fā)起數(shù)據(jù)的所述第一突發(fā)的所述傳遞之前斷言第一流ID;以及用于斷言所述一個或多個流ID的所述部件還配置成在用于控制所述數(shù)據(jù)傳遞的所述部件發(fā)起數(shù)據(jù)的所述第二突發(fā)的所述傳遞之前斷言第二流ID。
      全文摘要
      本設(shè)備和方法控制主機(112)與數(shù)據(jù)存儲設(shè)備(114)之間的通信流。當發(fā)起第一傳輸流的數(shù)據(jù)的第一突發(fā)時,多個數(shù)據(jù)傳輸流保持為有效。第一突發(fā)在突發(fā)完全傳遞之前被中斷。第一傳輸流保持有效,以及發(fā)起第二傳輸流的數(shù)據(jù)的第一突發(fā)。第二傳輸流的第一突發(fā)被中斷,第二傳輸流保持為有效,以及該方法和設(shè)備返回到繼續(xù)傳遞第一傳輸流的第一突發(fā)。通常在發(fā)起第一傳輸流的第一突發(fā)之前斷言第一流ID,以及在發(fā)起第二傳輸流的第一突發(fā)之前發(fā)出第二流ID。
      文檔編號G06F13/28GK1910566SQ03811790
      公開日2007年2月7日 申請日期2003年3月14日 優(yōu)先權(quán)日2002年3月28日
      發(fā)明者R·A·昂格爾 申請人:索尼電子有限公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1