TW201319819A - 使用資料傳輸率節流來執行序列ata連接的資料傳輸之方法、電腦可讀媒體和計算裝置 - Google Patents

使用資料傳輸率節流來執行序列ata連接的資料傳輸之方法、電腦可讀媒體和計算裝置 Download PDF

Info

Publication number
TW201319819A
TW201319819A TW101150092A TW101150092A TW201319819A TW 201319819 A TW201319819 A TW 201319819A TW 101150092 A TW101150092 A TW 101150092A TW 101150092 A TW101150092 A TW 101150092A TW 201319819 A TW201319819 A TW 201319819A
Authority
TW
Taiwan
Prior art keywords
data
serial ata
output
sata
ata
Prior art date
Application number
TW101150092A
Other languages
English (en)
Other versions
TWI528183B (zh
Inventor
Ambuj Kumar
Mark A Overby
Original Assignee
Nvidia Corp
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 Nvidia Corp filed Critical Nvidia Corp
Publication of TW201319819A publication Critical patent/TW201319819A/zh
Application granted granted Critical
Publication of TWI528183B publication Critical patent/TWI528183B/zh

Links

Classifications

    • 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
    • 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/382Information transfer, e.g. on bus using universal interface adapter
    • G06F13/385Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
    • 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
    • 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/40Bus structure

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Information Transfer Systems (AREA)
  • Communication Control (AREA)

Abstract

本發明揭示一種用於執行資料傳輸率節流來改善SATA儲存裝置的有效資料傳輸率之系統及方法。當傳送資料時,利用插入ALIGN基元來降低資料傳輸率,該接收裝置簡單忽略該等ALIGN基元,因此該接收資料FIFO不會這麼快填滿,並且於流量控制需要較少的流量控制順序,以避免該接收資料FIFO溢流。該等ALIGN基元取代傳統流量控制的優點在於並不會招致停用並稍後啟用資料傳輸之來回交握延遲。

Description

使用資料傳輸率節流來執行序列ATA連接的資料傳輸之方法、電腦可讀媒體和計算裝置
本發明的一或多個態樣一般係關於使用序列ATA(SATA,“serial ATA”)通訊協定的序列資料傳輸,尤其係關於節流資料傳輸率將用於流量控制的HOLD基元減至最少。
SATA磁碟存取通訊協定用於在系統記憶體與一或多個磁碟之間傳輸資料,相較於系統記憶體頻寬,大部分SATA儲存裝置的資料傳輸量受到相當大的限制。對於磁碟機而言,持續寫入量可低至100 MB/秒。因此,當與持續傳輸率高達300MB/秒,如SATA規格所述,的高速主處理器耦合時,這些SATA儲存裝置會變成效能瓶頸。
流量控制機制由SATA通訊協定指定,以便節流資料傳輸率。尤其是,可節流從主處理器傳輸至SATA儲存裝置的資料,如此接收的資料先進先出(FIFO,“first-in first-out”)不會溢位。當儲存傳入資料的資料FIFO內到達高水位,則SATA儲存裝置輸出HOLD基元。當主處理器接收HOLD基元,則輸出HOLDA基元並停止傳送資料至SATA儲存裝置、確認已經接收HOLD基元。SATA儲存裝置會在接收到HOLDA基元之後,並且當資料FIFO內有空間可儲存傳入資料時,即是當到達低水位時,恢復接受資料。SATA儲存裝置利用輸出R_IP基元而非HOLD基元來表示接受資料。當主處理器接收R_IP基元,則開始傳送資料而非HOLDA基元。
在時間上,有效傳輸率為SATA儲存裝置的持續資料傳輸率,減去R_IP至HOLD到HOLDA至R_IP順序 的流量控制負擔。因為通過SATA介面的來回交握,造成SATA儲存裝置與主裝置之間每一傳輸都招致許多延遲循環(受限於一特定最大值),導致流量控制無效率。簡單增加資料FIFO尺寸來儲存更多傳入資料可用來延遲流量控制順序的第一發生,但是一旦資料FIFO第一次填滿時就無法改善有效傳輸率。
因此,吾人想要改善SATA儲存裝置的有效資料傳輸率,也想要在不增加資料FIFO尺寸之下將晶粒面積降至最低。
本發明牽涉到改善SATA儲存裝置的有效資料傳輸率之新系統及方法。當傳送資料時,利用插入ALIGN基元來降低有效資料傳輸率,接收裝置簡單忽略ALIGN基元,因此接收資料FIFO不會這麼快填滿,並且需要較少的R_IP至HOLD到HOLDA至R_IP順序來進行流量控制。ALIGN基元的優點在於並不會招致停用並稍後啟用資料傳輸之來回交握延遲。
本發明的許多具體實施例包含在序列ATA連接上使用資料傳輸率節流來執行資料傳輸之系統。該系統包含一個傳送裝置,該裝置組態成當資料可透過序列ATA連接輸出至接收裝置時轉換成傳送資料狀態。該傳送裝置組態成決定一ALIGN基元應該輸出而非資料,以減少透過序列ATA連接的資料傳輸率並將ALIGN基元輸出至接收裝置。該接收裝置組態成儲存從傳送裝置接收的資料,並忽略該ALIGN基元。
本發明的許多具體實施例包含使用資料傳輸率節流執行序列ATA連接的資料傳輸之方法,包含當資料可透過傳送裝置與接收裝置之間的序列ATA連接輸出 時進入傳送資料狀態、決定應該輸出ALIGN基元而非資料來減少透過序列ATA連接的資料傳輸率以及透過序列ATA連接從傳送裝置輸出ALIGN基元至接收裝置。
在以下描述中,陳述衆多特殊細節以提供本發明更徹底之理解。但是,精通此技術的人士應該瞭解,在無一或多個該等特定細節之下還是可實施本發明。其它示例未描述已知之特性以避免模糊本發明。
本發明牽涉到改善SATA儲存裝置的有效資料傳輸率之新系統及方法。當傳送資料時,利用插入ALIGN基元來降低有效資料傳輸率,接收裝置簡單忽略ALIGN基元,因此接收資料FIFO不會這麼快填滿,並且需要較少的R_IP至HOLD到HOLDA至R_IP順序來進行流量控制。ALIGN基元的優點在於並不會招致來回交握延遲,而停用並稍後啟用資料傳輸。相較之下,傳統主控制器並不產生岔斷,而是一旦SATA匯流排可用時重新發出指令不要軟體介入。
第一圖為根據本發明一或多態樣的個別電腦系統,系統100之示例性具體實施例方塊圖,包含一個CPU 120、媒體和通訊處理器130、SATA多工器170和SATA裝置150、155、160和165。在本發明的某些具體實施例內,SATA裝置150、155、160和165為大量儲存裝置,像是硬碟機。SATA裝置150、155、160和165符合SATA標準,因此可組態成除了傳統流量控制發信以外還可使用資料傳輸率節流。系統100包含一個系統記憶體110用於儲存CPU 120所使用的程式和資料,其中 包含可從硬SATA裝置150、155、160和165讀取或寫入至此的資料。
系統100可為桌上型電腦、伺服器、膝上型電腦、掌上型電腦、平板電腦、遊戲主機、可攜式無線終端機,像是個人數位助理(PDA,“personal digital assistant”)或行動電話、電腦式模擬器等等。CPU 120可包含系統記憶體控制器,直接與系統記憶體110介接。在本發明的替代具體實施例內,CPU 120可透過系統介面,例如I/O(輸入/輸出)介面或橋接裝置,與系統記憶體110通訊。
裝置驅動程式112儲存在系統記憶體110內,裝置驅動程式112由系統設計者和/或系統100的製造商所提供,其組態成在CPU 120上運行的作業系統(未顯示)與通訊處理器130之間介接。媒體與通訊處理器130耦合在CPU 120與一或多個硬碟機,像是硬碟機150和155之間。媒體與通訊處理器130利用高頻寬前端匯流排125耦合至CPU 120。在本發明的某些具體實施例內,媒體與通訊處理器130透過前端匯流排125使用週邊組件介面(PCI,“peripheral component interface”)HyperTransportTM通訊協定與CPU 120介接。
媒體與通訊處理器130幫助系統記憶體110與一或多個硬碟機之間的資料傳輸,並且包含一個序列ATA主控制器140,其透過SATA鏈結175耦合至SATA多工器170以及透過SATA鏈結145耦合至一或多個SATA裝置150、155、160和165。SATA多工器170和SATA裝置150、155、160和165都配置成支援資料傳輸率節流。SATA裝置150、155、160和165每一都包含驅動電子設備,其控制個別磁碟內資料的儲存與讀取,包含從序列ATA主控制器140接收的資料緩衝以及用於輸出至序列ATA主控制器140的資料緩衝。類 似地,SATA多工器170包含一或多個資料先進先出(FIFO,“first-in first-out”)記憶體,用於儲存從序列ATA主控制器140接收來輸出至SATA裝置160或SATA裝置165的資料。SATA多工器170也包含一或多個資料FIFO,儲存由SATA裝置160和165輸出至序列ATA主控制器140的資料。
在本發明的其他具體實施例內,媒體與通訊處理器130可包含額外部分,像是萬用序列匯流排(USB,“universal serial bus”)、加速圖形埠(AGP,“accerlerated graphical port”)等等。每一SATA裝置150、155、160和165都可更換或移除,如此在任何特定時間上,系統100都包含更少或更多SATA裝置。
表1顯示傳統流量控制交換與資料傳輸率節流,以便說明改善的資料傳輸率節流效率。傳送器,序列ATA主控制器140或SATA裝置150、155、160和165之一,在頭4個傳輸循環當中輸出資料N、N+1、N+2和N+3。當使用傳統流量控制時,接收器,SATA裝置150、155、160和165或序列ATA主控制器140之一,輸出HOLD基元(指出接收資料FIFO已經到達高水位)以發信至傳送器指示其不要再傳送資料了。當使用資料傳輸率節流,接收器不需要傳送HOLD基元,因為傳送器會輸出ALIGN基元減少資料傳輸率。因此,接收資料FIFO不會到達高水位。
在此範例當中,HOLD基元在接收器輸出之後的四個傳輸循環時會讓傳送器接收到。傳送器將HOLDA基元(維持確認)而非資料傳送給接收器,來回應HOLD基元。接收器繼續輸出HOLD基元直到接收HOLDA(4傳輸循環之後),然後因為接收資料FIFO已經掉落到低水位,所以接收器輸出R_IP基元指出可以接收資料。傳 送器繼續輸出HOLDA基元直到接收R_IP基元(4傳輸循環之後),然後傳送器恢復輸出資料給接收器。
相較之下,當使用資料傳輸率節流時,8傳輸循環的來回延遲並不會衝擊資料傳輸率。在許多傳統系統當中,來回延遲大於8傳輸循環,如此當使用傳統流量控制時甚至會進一步降低資料傳輸率。幸運的是,SATA規格將來回延遲限制為最多32個傳輸循環。不過,如表1內所示,運用資料傳輸率節流避免資料接收FIFO溢流,取代使用傳統流量控制,可改善有效資料傳輸率。尤其是,在表1顯示的13個傳輸循環期間,使用傳統流量控制時資料傳輸5個循環相較於使用資料傳輸率節流時資料傳輸9個循環。
SATA規格需要每256個資料傳輸時傳送二ALIGN基元,作為時脈恢復之用。不過,並不限制不可輸出額外ALIGN基元。利用鏈結與運輸層狀態機器會忽略ALIGN基元,並且由實體層所吸收。因此,ALIGN基元可用於降低資料傳輸率,並減少使用傳統流量控制機制(R_IP至HOLD到HOLDA至R_IP順序)的需求。當ALIGN基元以導致傳送裝置的資料傳輸率匹配接收裝置的持續資料傳輸率之速率插入,傳統流量控制減至最少並且達成最高效率的資料傳輸率。
請注意,雖然CPU 120相較於SATA裝置150、155、160和165通常具有較高資料傳輸率,當序列ATA主控制器140為傳送裝置或當SATA裝置150、155、160和165為傳送裝置時,還是可使用資料傳輸節流技術降低資料傳輸率。重點是,符合SATA規格的裝置在沒有任何修改之下就可當成接收裝置。傳送裝置組態成插入ALIGN基元,如第一B圖和第二圖結合所述,用於節流資料傳輸率。
第一B圖為根據本發明一或多態樣的第一A圖中SATA裝置150之方塊圖。在SATA裝置150範圍內說明的所有或部分元件也可用於在序列ATA主控制器140、SATA多工器170、SATA裝置155、160和165內執行資料傳輸率節流。SATA裝置150包含一個儲存體195、有限狀態機器190、接收(資料)FIFO 185、傳送(資料)FIFO 187和節流值180。有限狀態機器190實施 SATA通訊協定,包含結合第二圖和第三圖說明的傳送資料狀態與接收資料狀態。接收FIFO 185儲存透過SATA鏈結145接收的資料,將該資料緩衝以便儲存在儲存體195內。傳送FIFO 187儲存透過SATA鏈結145輸出的資料,將從儲存體195讀取的資料緩衝。在某些裝置內,像是SATA多工器170和序列ATA主控制器140,可省略儲存體195,因為這些裝置執行用於SATA通訊的路由功能。
節流值180係儲存用來將ALIGN基元插入SATA裝置150所輸出資料串流內的資訊之暫存器。節流值包含許多要插入的ALIGN基元以及資料計數臨界值,以和有限狀態機器190所維護的資料計數比較。節流值可固定或由裝置驅動程式112程式編輯。為了將至系統100內每一SATA裝置的有效資料傳輸率最大化,可針對每一接收裝置程式編輯節流值。
第二圖為根據本發明一或多態樣在傳送資料狀態內執行資料傳輸率節流的方法之示例性具體實施例。第二圖的方法說明可由序列ATA主控制器140、SATA多工器170和SATA裝置150、155、160和165執行的具體實施例。在步驟200內,因為資料可透過SATA鏈結145輸出,所以有限狀態機器190進入傳送資料狀態。在步驟205內,有限狀態機器190決定是否所有訊框資料都已經傳輸,若是,則在步驟210內有限狀態機器190進入SendCRC狀態。SendCRC狀態說明於SATA規格內。
在步驟205內,若有限狀態機器190決定所有訊框資料都未傳輸,則在步驟215內,有限狀態機器190決定是否從實體(Phy)層接收SYNC,若是,則在步驟220內,有限狀態機器190進入IDLE狀態,如SATA規格 所指定。否則,有限狀態機器190決定實體層是否尚未備妥在狀態225內。在步驟225內,若有限狀態機器190決定實體層未備妥,則在步驟230內,有限狀態機器190進入NoCommErr狀態230,如SATA規格所指定。否則,在步驟235內,有限狀態機器190決定是否已經接收逸出目前訊框傳輸。若已接收逸出目前訊框傳輸,則在步驟240內,有限狀態機器190進入SyncEscape狀態,如SATA規格內所指定。否則,在步驟245內,有限狀態機器190決定是否接收HOLD基元,若是,則在步驟250內,有限狀態機器190進入RcvHold狀態,如SATA規格所指定。
在步驟245內,若有限狀態機器190決定未接收到HOLD基元,則在步驟255內,有限狀態機器190決定傳送資料FIFO為空白。若傳送資料FIFO為空白,則在步驟260內,有限狀態機器190進入SendHold狀態,如SATA規格內所指定。否則,在步驟265內,有限狀態機器190決定是否應該插入ALIGN基元來減少至接收器的資料傳輸率。
有限狀態機器190維護ALIGN基元之間發生的一些資料傳輸循環之資料計數。資料傳輸循環為資料輸出至接收器期間的傳輸循環,例如時脈循環或固定數量時脈循環。在本發明的某些具體實施例內,單一ALIGN基元在兩資料傳輸循環之間插入,並且在本發明的其他具體實施例內,多個ALIGN基元在兩資料傳輸循環之間插入。插入的ALIGN基元數量可由節流值180所指定,ALIGN基元之間資料傳輸循環的數量由節流值180所指定。
在步驟265內,若有限狀態機器190決定不應該插入ALIGN基元,則在步驟280內,有限狀態機器190 透過SATA鏈結145將從傳送FIFO 187輸出的資料傳輸至接收器。在步驟285內,有限狀態機器190遞增資料計數。在步驟265內,若有限狀態機器190決定應該插入ALIGN基元,則在步驟270內,有限狀態機器190重設資料計數。在步驟275內,有限狀態機器190根據節流值180輸出一或多個ALIGN基元。在本發明的某些具體實施例內,新狀態「插入ALIGN」包含在SATA鏈結傳輸狀態圖內。有限狀態機器190進入插入ALIGN狀態以完成步驟270和275,然後返回傳送資料狀態。
第三圖為根據本發明一或多態樣在接收資料狀態內執行資料傳輸率節流的方法之示例性具體實施例。第三圖的方法說明可由序列ATA主控制器140、SATA多工器170和SATA裝置150、155、160和165執行的具體實施例。在步驟300內,因為可透過SATA鏈結145接收資料或基元,所以有限狀態機器190進入接收資料狀態。在步驟305內,有限狀態機器190決定是否接收EOF(訊框結束),若是,則在步驟303內有限狀態機器190進入RcvEOF狀態。RcvEOF狀態說明於SATA規格內。
在步驟301內,若有限狀態機器190決定未接收到EOF,則在步驟215內,有限狀態機器190決定是否從實體層接收WTRM。若已接收WTRM,則在步驟310內,有限狀態機器190進入BadEnd狀態,如SATA規格內所指定。否則,在步驟315內,有限狀態機器190決定是否從實體層接收SYNC,若是,則在步驟320內,有限狀態機器190進入IDLE狀態,如SATA規格所指定。否則,有限狀態機器190決定實體層是否尚未備妥在狀態325內。在步驟325內,若有限狀態機器190決定實體層未備妥,則在步驟330內,有限狀態機器190 進入NoCommErr狀態,如SATA規格所指定。否則,在步驟335內,有限狀態機器190決定是否已經接收逸出目前訊框傳輸。若已接收逸出目前訊框傳輸,則在步驟340內,有限狀態機器190進入SyncEscape狀態,如SATA規格內所指定。否則,在步驟345內,有限狀態機器190決定是否接收HOLD基元,若是,則在步驟350內,有限狀態機器190進入RcvHold狀態,如SATA規格所指定。
在步驟345內,若有限狀態機器190決定未接收到HOLD基元,則在步驟355內,有限狀態機器190決定接收FIFO 185是否到達高水位(HWM,“high water mark”)。若接收FIFO 185已經到達HWM,則在步驟360內,有限狀態機器190進入Hold狀態,如SATA規格內所指定。否則,在步驟365內,有限狀態機器190決定是否接收ALIGN基元,若是,則在步驟370內,有限狀態機器190忽略ALIGN基元,即是不將ALIGN基元推入接收FIFO 185。在步驟365內,若有限狀態機器190決定未接收到ALIGN基元,然後已接收資料,則在步驟375內,有限狀態機器190將資料儲存(推送)至接收FIFO 185。
精通此技術的人士將瞭解,組態成執行第二圖或第三圖內方法步驟的任何系統都位於本發明的範疇內。當資料從具有資料傳輸率高於接收器的資料傳輸率之傳送器傳送時,利用插入ALIGN基元來降低資料傳輸率。接收裝置簡單忽略ALIGN基元,因此接收資料FIFO不會這麼快填滿,並且需要較少的傳統高延遲流量控制順序,以避免接收資料FIFO溢流。減少傳統流量控制順序的數量改善有效資料傳輸率,同時在SATA規格內運作。
雖然上述指向本發明的具體實施例,不過可想出不悖離本發明基本範疇以及底下申請專利範圍的其他與進一步具體實施例。因此前述說明與圖式僅供參考而不做限制。除非申請專利範圍內有明確陳述,否則方法申請專利範圍內的步驟清單並不暗示以任何特定順序執行步驟。
所有商標都為擁有者的個別財產。
100‧‧‧系統
110‧‧‧系統記憶體
112‧‧‧裝置驅動程式
120‧‧‧CPU
125‧‧‧前端匯流排
130‧‧‧媒體與通訊處理器
140‧‧‧序列ATA主控制器
145‧‧‧SATA鏈結
150‧‧‧SATA裝置
155‧‧‧SATA裝置
160‧‧‧SATA裝置
161‧‧‧SATA鏈結
165‧‧‧SATA裝置
166‧‧‧SATA鏈結
170‧‧‧SATA多工器
175‧‧‧SATA鏈結
180‧‧‧節流值
185‧‧‧接收(資料)FIFO
187‧‧‧傳送(資料)FIFO
190‧‧‧有限狀態機器
195‧‧‧儲存體
如此上面簡單彙總可詳細了解本發明上述特色的方式,本發明的更特定說明則參照具體實施例,某些具體實施例說明於附圖內。不過吾人應該注意,附圖只說明本發明的典型具體實施例,因此並不對發明範疇產生限制,本發明承認其他等效具體實施例。
第一A圖為根據本發明一或多態樣包含CPU和SATA裝置的個別電腦系統之示例性具體實施例方塊圖。
第一B圖為根據本發明一或多態樣的第一A圖中SATA裝置之方塊圖。
第二圖為根據本發明一或多態樣在傳送資料狀態內執行資料傳輸率節流的方法之示例性具體實施例。
第三圖為根據本發明一或多態樣在接收資料狀態內執行資料傳輸率節流的方法之示例性具體實施例。
100‧‧‧系統
110‧‧‧系統記憶體
112‧‧‧裝置驅動程式
120‧‧‧CPU
125‧‧‧前端匯流排
130‧‧‧媒體與通訊處理器
140‧‧‧主控制器
145‧‧‧SATA鏈結
150‧‧‧SATA裝置
155‧‧‧SATA裝置
160‧‧‧SATA裝置
161‧‧‧SATA鏈結
165‧‧‧SATA裝置
166‧‧‧SATA鏈結
170‧‧‧SATA多工器
175‧‧‧SATA鏈結

Claims (14)

  1. 一種使用資料傳輸率節流來執行序列ATA連接的資料傳輸之方法,包含:當資料可在一傳送裝置與一接收裝置之間的一序列ATA連接上輸出時進入一傳送資料狀態;決定應該輸出一ALIGN基元而非輸出資料,以降低該序列ATA連接上的一資料傳輸率;以及透過該序列ATA連接從該傳送裝置輸出該ALIGN基元至該接收裝置。
  2. 如申請專利範圍第1項之方法,進一步包含輸出額外ALIGN基元,進一步降低該序列ATA連接上的該資料傳輸率。
  3. 如申請專利範圍第1項之方法,其中該接收裝置忽略該ALIGN基元。
  4. 如申請專利範圍第1項之方法,其中該傳送裝置為一序列ATA主控制器並且該接收裝置為一序列ATA儲存裝置。
  5. 如申請專利範圍第1項之方法,其中該傳送裝置為一序列ATA儲存裝置並且該接收裝置為一序列ATA主控制器。
  6. 一種內含一程式的電腦可讀取媒體,當一計算裝置執行該程式時,組態一序列ATA裝置執行一資料傳輸率節流,該處理包含:當資料可在一傳送裝置與一接收裝置之間的一序列ATA連接上輸出時進入一傳送資料狀態;決定應該輸出一ALIGN基元而非輸出資料,以降低該序列ATA連接上的一資料傳輸率;以及透過該序列ATA連接從該傳送裝置輸出該ALIGN基元至該接收裝置。
  7. 一種在一序列ATA連接上使用資料傳輸率節流來執 行資料傳輸之系統,該系統包含:一傳送裝置,其組態成:當資料可透過該序列ATA連接輸出時進入一傳送資料狀態;決定應該輸出一ALIGN基元而非輸出資料,以降低該序列ATA連接上的一資料傳輸率;以及輸出該ALIGN基元至一接收裝置;以及該接收裝置組態成儲存從該傳送裝置接收的資料,並忽略該ALIGN基元。
  8. 如申請專利範圍第7項之系統,其中該傳送裝置進一步組態成儲存節流值,該等值用於決定是否應該輸出一ALIGN基元。
  9. 如申請專利範圍第8項之系統,其中該等節流值指定在連續資料傳輸循環當中要輸出的ALIGN基元數量。
  10. 如申請專利範圍第8項之系統,其中該等節流值指定連續資料傳輸循環的最大數,讓資料可輸出而非輸出一ALIGN基元以節流該序列ATA連接上的該資料傳輸率。
  11. 如申請專利範圍第7項之系統,其中該傳送裝置為一序列ATA主控制器並且該接收裝置為一序列ATA儲存裝置,該序列ATA儲存裝置具有一資料傳輸率低於該序列ATA主控制器的一資料傳輸率。
  12. 如申請專利範圍第7項之系統,其中該傳送裝置為一序列ATA儲存裝置並且該接收裝置為一序列ATA主控制器,該序列ATA主控制器具有一資料傳輸率低於該序列ATA儲存裝置的一資料傳輸率。
  13. 如申請專利範圍第7項之系統,其中該傳送裝置為一序列ATA多工器並且該接收裝置為一序列ATA儲存裝置。
  14. 如申請專利範圍第7項之系統,其中該傳送裝置為一 序列ATA主控制器並且該接收裝置為一序列ATA多工器。
TW101150092A 2007-12-20 2012-12-26 使用資料傳輸率節流來執行序列ata連接的資料傳輸之方法、電腦可讀媒體和系統 TWI528183B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US11/961,573 US7747796B1 (en) 2007-12-20 2007-12-20 Control data transfer rates for a serial ATA device by throttling values to control insertion of align primitives in data stream over serial ATA connection

Publications (2)

Publication Number Publication Date
TW201319819A true TW201319819A (zh) 2013-05-16
TWI528183B TWI528183B (zh) 2016-04-01

Family

ID=40805378

Family Applications (2)

Application Number Title Priority Date Filing Date
TW097149152A TWI398777B (zh) 2007-12-20 2008-12-17 使用資料傳輸率節流來執行序列ata連接的資料傳輸之方法、電腦可讀媒體和計算裝置
TW101150092A TWI528183B (zh) 2007-12-20 2012-12-26 使用資料傳輸率節流來執行序列ata連接的資料傳輸之方法、電腦可讀媒體和系統

Family Applications Before (1)

Application Number Title Priority Date Filing Date
TW097149152A TWI398777B (zh) 2007-12-20 2008-12-17 使用資料傳輸率節流來執行序列ata連接的資料傳輸之方法、電腦可讀媒體和計算裝置

Country Status (5)

Country Link
US (1) US7747796B1 (zh)
JP (1) JP4902624B2 (zh)
KR (1) KR101037851B1 (zh)
CN (1) CN101464780B (zh)
TW (2) TWI398777B (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012109078A2 (en) 2011-02-08 2012-08-16 Lsi Corporation Selective enablement of operating modes or features via host transfer rate detection
US8930563B2 (en) 2011-10-27 2015-01-06 Microsoft Corporation Scalable and extendable stream processing
US8645590B2 (en) * 2012-01-18 2014-02-04 Lsi Corporation Application of alternate align primitives during SAS rate matching to improve continuous adaptation
US9432187B2 (en) 2014-04-24 2016-08-30 Avago Technologies General Ip (Singapore) Pte. Ltd. Data scrambling initialization
CN106354686B (zh) * 2016-08-22 2019-03-26 广州慧睿思通信息科技有限公司 一种基于fpga的sata接口数据流控制器及控制方法
CN112559407B (zh) * 2020-12-22 2021-11-16 无锡众星微系统技术有限公司 Stp链路层状态机优化方法
CN115391244B (zh) * 2022-08-24 2023-06-09 无锡众星微系统技术有限公司 一种sata控制器的流控延时优化方法

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN2495017Y (zh) * 2001-08-29 2002-06-12 记忆科技(深圳)有限公司 一种通用串行总线接口闪存存储器
US7356555B2 (en) * 2002-03-29 2008-04-08 Intel Corporation In-protocol impedance compensation control
US7360010B2 (en) * 2003-04-14 2008-04-15 Copan Systems, Inc. Method and apparatus for storage command and data router
US7934112B2 (en) * 2003-12-30 2011-04-26 Intel Corporation Rate verification of an incoming serial alignment sequence
US7373541B1 (en) * 2004-03-11 2008-05-13 Adaptec, Inc. Alignment signal control apparatus and method for operating the same
TWI252471B (en) * 2004-04-30 2006-04-01 Mediatek Inc Method and circuit for reducing SATA data transmission errors by adjusting the period of sending align primitive
KR100606577B1 (ko) * 2004-07-29 2006-07-28 삼성전자주식회사 직렬 에이티에이 인터페이스의 데이터 전송속도 조절장치및 그 방법
US7496700B1 (en) * 2005-01-12 2009-02-24 Pmc-Sierra, Inc. Serial tunneling protocol (STP) flow control in SAS expanders without SATA link state machine
KR20060087829A (ko) * 2005-01-31 2006-08-03 삼성전자주식회사 오.오.비 신호교환 없이 테스트 할 수 있는 사타 전자장치 및 테스트 방법
US7634692B2 (en) * 2006-02-10 2009-12-15 Mediatek Inc. SATA primitive prediction and correction
JP2007265327A (ja) * 2006-03-30 2007-10-11 Fujitsu Ltd 電子装置のクロック発生回路の検査方法及び電子装置
JP4537425B2 (ja) * 2007-06-28 2010-09-01 株式会社日立製作所 ディスクアレイ装置

Also Published As

Publication number Publication date
JP2009169939A (ja) 2009-07-30
TWI528183B (zh) 2016-04-01
TW200935237A (en) 2009-08-16
US7747796B1 (en) 2010-06-29
KR20090067110A (ko) 2009-06-24
TWI398777B (zh) 2013-06-11
CN101464780B (zh) 2011-07-06
CN101464780A (zh) 2009-06-24
JP4902624B2 (ja) 2012-03-21
KR101037851B1 (ko) 2011-05-31

Similar Documents

Publication Publication Date Title
TWI528183B (zh) 使用資料傳輸率節流來執行序列ata連接的資料傳輸之方法、電腦可讀媒體和系統
US9063561B2 (en) Direct memory access for loopback transfers in a media controller architecture
US7281077B2 (en) Elastic buffer module for PCI express devices
US6192428B1 (en) Method/apparatus for dynamically changing FIFO draining priority through asynchronous or isochronous DMA engines in response to packet type and predetermined high watermark being reached
US10802995B2 (en) Unified address space for multiple hardware accelerators using dedicated low latency links
KR101298862B1 (ko) Pci 익스프레스를 통해 ⅰd 기반 스트림을 가능하게 하는 방법 및 장치
US8799532B2 (en) High speed USB hub with full speed to high speed transaction translator
US8032675B2 (en) Dynamic memory buffer allocation method and system
US20050223141A1 (en) Data flow control in a data storage system
US20120317380A1 (en) Device and method for a half-rate clock elasticity fifo
US7610415B2 (en) System and method for processing data streams
US7802031B2 (en) Method and system for high speed network application
US11811897B2 (en) Method for data processing of frame receiving of an interconnection protocol and storage device
US7366802B2 (en) Method in a frame based system for reserving a plurality of buffers based on a selected communication protocol
US7697555B1 (en) Fibre channel SERDES with elastic transmitter FIFO
US20070127484A1 (en) Data transfer operations and buffer memories
CN115842872A (zh) 用于互连协议的帧接收的数据处理的方法以及存储设备
WO2024086641A1 (en) Data lane deskew and rate adaptation in a package containing multiple circuit dies
CN117290897A (zh) 加解密电路、处理系统及电子设备
KR20070014257A (ko) 디바이스 간 고속 데이터 전송 장치
JP2004030196A (ja) データ転送制御装置