TW455770B - Method and apparatus for reordering commands and restoring data to original command order - Google Patents

Method and apparatus for reordering commands and restoring data to original command order Download PDF

Info

Publication number
TW455770B
TW455770B TW087101437A TW87101437A TW455770B TW 455770 B TW455770 B TW 455770B TW 087101437 A TW087101437 A TW 087101437A TW 87101437 A TW87101437 A TW 87101437A TW 455770 B TW455770 B TW 455770B
Authority
TW
Taiwan
Prior art keywords
command
resource
logic
patent application
commands
Prior art date
Application number
TW087101437A
Other languages
English (en)
Inventor
David J Harriman
Brain K Langendorf
Robert J Riesenman
Original Assignee
Intel 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 Intel Corp filed Critical Intel Corp
Application granted granted Critical
Publication of TW455770B publication Critical patent/TW455770B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0674Disk device

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Indexing, Searching, Synchronizing, And The Amount Of Synchronization Travel Of Record Carriers (AREA)

Description

煩請委員明示^月於日所提之 經濟部中央標準局員工消費合作社印製 修正本有無變更實質内容是否准予修正。
455770 年月曰H 敗6. Μ補充 5 五、發明説明(i ) 技術領域 本叙明對於處理在一個資源上的命令的領域有關,特別 疋在重新女排孩資源作用的命令的順序的方法與系統上。 相關技藝 現代電腦系統包含許多在該電腦系統中經由與一個或多 個匯流排搞接以存取不同資源的裝置。例如,一個電腦系 統可能包含-個中央處理單元,—個圖形系統、與周邊設 備’每-個可能存取一個如主記憶體的資源。為了減少潛 伏來自一個裝置的命令開始—個資源的存取必須要盡 可此有效地轉移與執行。命令在起始裝置與資源間移轉的 速度大部分地是由在電射、統所使用的介人匯流排與仲裁 機構來f理的/命令在該資源的執行速度是由資源的性質 所決定,多數情沉下,是經由來自起始裝置對於該資源處 理命令的順序而決^的。該資源執行命令的速度越快,該 裝置便能越快料續其作m㈣域更快地供其他裝 置利用。 在命令順序上資源效率的依賴可以參考如隨機存取記憶 眩、硬碟與軟碟、唯讀光碟、數位影碟㈣儲存資源。每 個這些資源中皆有可尋址的資料儲存位置的兩_次的陣 =,每-個位置有兩個參數如行/列、軌/部、頁/搁等 =指明。溝通每個參數到儲存裝置並啟動相關的行、列、 --------、裝------訂 J--.---.)^ > - (請先閱讀背面之注意事項再填寫本頁) :二頁等導致存取上的時間延遲與經常開支。在不更 新兩者參數而能存取儲存位置的程度下,對該資
4 5 5 7 7 0 4 5 5 7 7 0
五、發明説明( :間能夠減少而使該資源的運作更有效率。編頁過的記憶 體與^他記憶體架構是設計用來做這U作。例如,一個 在頁模式運作的記憶體能夠在相同的(開放)頁存取一個範 圍二的位址(攔)而不產生與更新該頁參數相關的延誤。 一若干的儲存資源,如動態隨機存取記憶體,也可以經由 「個表現資源存取間所需時間的—個週期時間來表示。該 L期時間限制_個動態隨機存取記憶體中可進行連續存取 的速度。父錯的記憶體被組成「組動態隨機存取記憶體或 記憶體資料庫,以減少因週A時間的經常開支。相鄰的資 科被標示在不同的記憶體資料庫(交錯的),而資料區塊經 由對不同的記憶體資料庫重複存取而被檢索。這減少每個 動處隨機存取記憶體的週期時間對資料存取時間的衝擊並 允許該資源運用的更有效率。 一經由適當的定址架構、編頁、交錯與其他策略來儲存的 ::資料區塊,允許一個命令對準目標區塊以縮減的隱藏 ,執仃。,然而,這些優點只有當料該資源相鄭的命令發 在把憶體組織中所描述的順序下,跨越命令界限。結 經濟部中央標準局員工消費合作社印裝 果,編頁、交錯作用與相似的策略增強了在一個資料被已 知的命令鎖定時,有效的資源運作,然而並不提供任何功 =2多個記憶體間延伸這些效率。此—機制需要根據資 源狀況,將重排命令送給該資源。 在少數特別情況下,命令重排會被執行。例如,一些處 理器可以重排命令以消除資料依賴與避免線路因㈣㈣ 源而停止運轉、然而,此一重组在處理器之發生且不隱本 4 5 5770 年月曰、& . 90. 6. 2 0¾¾ 煩請委員明示月#日所提之 經濟部中央標準局員工消費合作社印製 修f本有無變更實質内容是i#准予修正。 五、發明説明( 處理器以外的資源被使用時的效率。某些晶片組執行「懒 散的讀窝」;在對相同位址執行一個未定的寫入前,等待 :個讀寫觸及該位址H這是—個不能在命令潮流中 主動地重排命令的一種被動的技巧。 有必要在能夠允許該資源更有效地運作且減少對該資源 的命令被執行時的隱藏._·的法則下,有一個能夠重排對該 資源之命令的系統》 主發明總鮭 本發明是-個在資源被使用時,以重排命令到該資源來 提升其效率的I统與方法。本發明應用在在具隱藏,..的資 源,其中部分的順序在資源作業被執行時所決定。 根據本發明,-個啟始裝置送出命令到一個經由效率指 標所表示的資源。該效率指標S應用在命令上,且滿足該 指標的命令被移轉到該資源以進行作業。 在本發明的一個實施例中,命令是自一個啟始裝置經由 重排邏輯耦接到一個資源。該重排邏輯包含兩個以上重排 時槽,經由命令選擇邏輯耦接到該資源。由啟始裝置所送 出的命令是負載在重排時槽h命令選擇邏輯監視資源有 效作業的一個參數,並以根據所監視的參數啲選擇一個命 令發到該資源。❹,當該資源是—個被編頁的記憶體, 該參數便成為目前開放的頁且指標為—個資源在該開放頁 上所選的命令目標。 圖示的簡軍描诚 本發明可由以下所指的詳細描述與圖示來加以瞭解。 本紙掁尺度通用中國國家標準(CNS ) A4規格(2丨〇'〆297公釐) --------裝------1T---.----戒 ·. -- (請先閲讀背面之注意事項再填寫本頁) 45 57 修煩 手請 本委 f員 f示 容b 是η 1 修所 正提 。之 經 濟 部 中 央 標 準 % Μ 工 消 費 合 作 社 印 製 年 月曰 修正 五、發明説明( 圖1疋個包含依據本發明的命令重排邏輯之 方塊圖。 圖2Α是圖1中命令重排邏輯的一個實施例的方塊圖。 圖2Β是圖2Α中命令重排邏輯的方塊圖。 圖疋卩々的次組合被重排後,圖〗的命令重排邏輯的 實施例之方塊圖。 圖2D是圖丨的命令重排邏輯的實施例之方塊圖,適合重 排寫入命令。 圖3表π依據本發明重排命谷到一個資源的一種方法。 圖4Α代表為了重排寫入命令,依圖3的方法的實施例之 詳細流程圖。 Η 4 Β代表為了重排寫入命令,依圖4的方法的實施例之 詳細流程圖。 圖5Α與圖5Β是傳回為了在原始命令順序下重排讀取命令 的資料之方法的流程圖。 本發明的詳細説明 本發明是一個由一個啟始裝置傳送重排命令到一個資源 的系統與方法。命令依據使該資源之使用效率最大化的法 則來重排。本發明的執行是利用重排邏輯以啟始裝置與資 源間核接的資料,並應用在符合特定指標的資源與啟始裝 置。尤其是當適合的啟始裝置是那些可以輸送命令到一個 資源且至少有一類的命令可以在傳送到該資源前進行重排。 適合的資源是那些可能經由命令重排來更有效率地運 作。例如,動態隨機存取記憶體、快閃記憶體、唯讀光 電腦系統的 訂 本紙張尺度適用中國國家標準(CNS ) A4規格(2丨Ο X 297公釐) 5 煩請委員明示月#日所提之 經濟部中央標华局員工消費合作社印製 4fl-'iL-本有無變更實質内容是否准予修正。 57 7 0 A7 B7 修正 年月日、1、> 90. 6. 2 0補无 五、發明説明( 碟、數位為影像光碟、硬碟與軟碟是可能經由命令重排而 更有效率地運作,以減少記憶體存取時間或減少連續的命 令間週期時間的延遲。適當地效率指標可能包含目標位址 佔有空間的位置關係、命令的短期位置關得、、或著是目標 位址的交錯位置關係。 x 一個佔有空間的位置關係指標的實施例,是經由一個編 頁記憶體,例如在該資源的範圍内現有開放位址的—個位 址上,在現有開放頁上的目標隹置上選擇命令,以減少記 憶體存取支出。一個短期位金關係指標的實施例,是經由 發出目標命令到如-個頁、行'軌、集群等的記憶體的區 域化區域,以減少記憶體存取支出。如此允許命令集合在 頁、行、軌跡緩衝器裝置前,列隊進行到頁、行、軌跡 等。一個交錯位置關係指標的實施例是發生在交錯的記憶 體中’記憶體資料庫的交錯的參與來選擇命令;這減少了 可歸因於任何一個記憶體資料庫週期時間的支出。 這些效率指標的是說明性的而不是徹底的。基本上,任 何在一個規範下選擇命令來處理而減少一個資源的存取與 作業支出的指標皆適合本發明的使用.在記憶體資源的例 子中’標定位址的命令能夠以縮減…的支出來存取。 在一個被揭露的實施例中,啟始裝置是一個圖形系統而 該資源是一個具有編頁的記憶體結構的記憶體裝置;其 中’ 「編頁的記憶體結構」是指一個被設計的記憶體,以 使在一定時間下’有效記憶體的一些子集合可能以較記憶 體的剩餘比例的較低的隱藏來存取◊一般來說,記憶體被 本纸張尺度適用中國國家標準(CNS ) A4規格(210X297公釐) ^ϋ* I in ^^^^1 I ^—^^1 .々一一I ml mu tl^^i m· ^^^^1 1, -. (請先閲讀背面之注意事項再填寫本頁)
煩請委員明示年月Μ日所提之 修正本有無變更實質内容是否准予修正。 W刀為相同+量的頁,其中—個(有時—個以上)可能在任 何已知時間開放。剩餘的頁被關閉,而在這些消耗額外的 支出上存取位i止4便於說明,以下的討論是指在理解已 知本發明也包含可能在一定時間中開放供一頁以上的資源 的-個開放頁。此外,例如在一個編頁記憶體的現有的開 放頁中的資源位址,下一個記憶體資料庫存取在一個交錯 «己憶體,或相似的資源特性可以在縮減的支出下被存取, 是被是為一個開放位址。 在此說明的是,所揭露的“頁記憶體資源是被提供做為 說明之用。例如,該資源可能是任何資料存取時間可以經 由命令重排來減少或是任何其他可具有命令依賴隱藏的儲 存裝置。 圖形系統有能力輸送讀與寫的要求到記憶體裝置,而命 令的類型在特定情況下可能經過重排。在本發明的實施例 中,讀取命令被考慮加以重排,而重排測試是經由記憶體 裝置的編頁的結構所提供。如前所述,被編頁的記憶體♦ 同一頁上持續的讀寫命令鎖定的位址上,有一個較低的隱 藏。命令可能根據所參定的位址與記憶體中目前的開放頁 而被重排。 - 首先參考圖1,該圖顯示一個結合本發明的重排邏輯的 電腦系統1 〇 〇的一個實施例的方塊圖。電腦系統i 〇 〇包各 一個處理器1 1 〇、一個記憶體裝置1 2 0、一個圖形系統 130、與一個包含重排邏輯150.的連接橋140。處理器 1 1 〇、記憶體裝置1 2 0、圖形系統1 3 0 ’分別經由—個處理 -9 - 冢紙張尺度適用中國國家標準(CNS ) A4規格(210X297公釐) '~~~ --------' J.裝------11-^.--:---)d. - * (請先閲讀背面之注意事項再填寫本頁) 經濟部中央標準局員工消費合作社印裝 4 5 57 7 0 年月g修正90· 6. 補充 A7 B7 i請委員明示^^^^月^日听緹之 L正本有無變更實質内容是否准予修正。 經濟部中央標準局員工消費合作社印製 五、發明説明( 器匯流排112、一個相互連接器18〇與一個記憶體匯流排 i22,與連接橋140耦接。也如圖1所示,一個用以耦接周 邊裝置(未顯示)的到電腦系統1〇〇的匯流排17〇(選配的)。 電腦系統的配置1 0 0是供做說明之用且在執行本發明時並 不要求。 在本發明的實施例中,相互連接器180是一個加速的圖形 埠("A.G.P.")與輸入與輸出匯流排17〇是一個周邊元件相 互連結("P cI )匯流排。例如y A. G. p在由Inte^公司在 1996 年 7 月 31 日所出版的 Acceierated Gra 沖 & Interface Specification i.o版中被描述。例如,卩^則在
Shanley & Anderson,由 Reading, Massachusetts 的 Addison Wesley (1995)所出版的 pci System Architecture 中被描 述0 連接橋1 4 0發送處理器1 1 〇、記憶體裝置〖2 〇、调形系統 130、與在匯流排上170的任何周邊裝置之間的資料與命 令。在連接橋1 4 0的重排邏輯1 5 〇接收來自圖形系統丨3 〇的 命令到記憶體裝置1 2 0並重排這些命令以提升它們被記憶 體裝置執行時的效率」為了讀取命令,重排邏輯15〇也接 收自記憶體裝置1 2 0所提供的資料,以回應被重排的讀取 命令並發送資料到圖形系統1 3 〇。在本發明的一個實施例 中’重排邏輯1 5 0送回回應資料到圖形系統1 3 0,依照原 來自圖形系統130(原始命令順序;OCO)送出對應命令的 順序。 現在參看圖2Α ’有一個適合被重排讀寫命令的重排邏輯 -10 - 本紙張尺度適用中國國家標準(CNS ) A4規格(210X 297公釐) 、裝------訂 J--,--- - - (請先閲讀背面之注意事項再填寫本頁) 4BS110 90. 6· 2()補充 煩請委員明示月#日所提之 修正本有無變更實質内容是否准予修jE;o 經濟部中央標準局員工消費合作社印製 五、發明説明(8 ) 150的方塊圖;當必要時,重组所提供的〇c〇資料以回應 被重排的命令。重排邏輯i 50包含了命令重排邏輯21〇與 回應重排邏輯260。命令重排邏輯21〇根據一個效率指 ,重排圖开;#系統1 3 0所送出的命令到記憶體丨2 〇 ^在本 發明的一個貫施例中,其指標是以命令鎖定的記憶體位址 與死憶體1 2 0的現有開放頁為基礎。在此二實施例,命令 重排邏輯2 1 0是根據在記憶體1 2 〇被存取的最後頁的一個 指不來選擇命令,以減少經由.存取記憶體丨2 〇所產生的頁 的數目。例如,重排邏輯2 1 〇可能選擇一個命令以發出特 定的記憶體位址以配合自記憶體i 2 〇所提供的一個開放頁 的指示,或著它可能經由選擇一個自記憶體丨2 〇所發出的 最後命令到相同頁。在後面的例子中,命令重排邏輯2 J 〇 並不要求自記憶體1 2 0的輸入。由重排邏輯2丨〇所產生的 命令順序,藉以提升一個資源運作的效率,在此視為資源 順序(RO)。 當一個啟始裝置必須在相同順序中接收讀寫回應資料, 而其中啟始裝置送出對應的讀取命令,回應重排邏輯26〇 包含其中。例如,其中相互連接丨8 〇是一個A G. p .相互連 接’回應被期望能夠.在相同順序下送回到啟.始裝置;其中 該命令是由啟始裝置所發出。因此,回應重排邏輯26〇重 排自記憶體1 2 0所提供的資料以回應自r 〇到〇 c 〇被重排 的讀取命令。 繼續參考圖2A,命令重排邏輯21〇包含了 一個命令件列 220,經由重排時槽23 0與命令選擇邏輯240而耦接記憶體 -11 - 本紙張尺度適用中國國家標準(CNS > A4規格(210X297公釐) — -----'聋-- -- (請先閲讀背面之注意事項再填寫本頁)
•-•D 4^5770 五、發明説明(
A7 B7 9 頃請委1仴示月"^日所提之 經濟部中央標準局員工消費合作社印裝 •正本有變更實質内容是否准予修正。 120。柵欄邏輯25〇耦接到命令佇列220與—個讀取資料傳 回緩衝器("RDRB")270。接收來自圖形系統13〇的命令 被輸入到命令佇列2 2 0並根據一個由柵櫚邏輯2 5 〇所做的 決定來將命令傳送到重排時槽2 3 〇。在一個實施例中,命 令是經由先進先出(FIF Ο )由命令佇列移到重排時槽2 3 〇。 當一個命令到達命令佇列2 2 0的頂端,柵攔邏輯2 5 〇決定 是否其狀況允許命令繼續的向前進行,且當狀況符合時, 傳送命令到重排時槽2 3 0。例.如_ ’柵欄邏輯2 5 0可能在空 間許可下在RDRB270區隔一讀取命令,以配合回應的資 料。對於寫入命令的重排動作,栅欄邏輯250可能區隔出 一個寫入命令’直到該資料在一個個別的寫入資料緩衝器 被寫入時(未顯示)。 為了避免停頓,柵欄邏輯250檢查在RDRB270上儲存 桶2 7 2的有效性,以配合為回應一個讀取命令所提供的資 料。在此,當時槽是指儲存命令的位置,”儲存桶”是指儲 存資料的位置。柵欄邏輯250在決定一個讀取命令的要求 下,資料的容量,且在RDRB 27 0上比較可用的儲存桶 272下所要求的資料寧量。當在RDRB 270上有足夠的儲 存桶2 7 2以配合讀取命令所要求的資料容量·時,讀取命令 傳送到重排時槽2 3 0。 在裝置發出對應的讀取命令時,OCO,許多啟始裝置期 望在讀取回應資料能在相同順序下被傳回。對這些裝置, 在OCO上RDRB 270有空間為讀取回應資料而停頓,在 環狀時尚下,停頓的位置隱藏在RDRB 270周圍。讀取回 -12 - 本紙張尺度適用中國國家標準(CNS ) A4規格(2l〇X297公釐) I I I I I 1.抽衣 I I n II —-訂 I I I I .、旅 {請先閲讀背面、<-注意Ϋ-項再填寫本頁} 7 7 5 5: 4 煩請委員明示&年/月¥日所提之 i^-iL·本有無變更實質内容是否准予修JE.。 經濟部中央標準局員工消費合作社印褽 年90. 正充修補 五、發明説明(10 ) 應資料依據讀取命令所要求的資料區塊,佔有RDRB 270 的一個或多個儲存桶272。每個儲存桶272是經由一個相 關的有效資料位元2 7 4來追蹤。例如,當資料負載到相關 時槽272’ ’有效資料位元274';而當資料自相關時槽272, 卸載時,重新設定。柵欄邏輯2 5 0必須在沒有停頓不,讓 命令重排進行的規則下配置儲存桶2 7 2。 在一個實施例中,柵欄邏輯250使用有效位元274以決 定是否有足夠鄰接的儲存桶272-有效的,藉以配合讀取命 令所需的資料容量。在此一 ΐ施例中,柵欄邏輯2 5 〇維持 一個指標到一個有效的儲存桶272,;配合所要求資料容 量,決定儲存桶272所需的Ν數量,且決定是否在跟隨第 一儲存桶272的Ν-1個儲存桶272'下為有效的,也就是有 關有效位元274的重設定位元274重設。若此,命令伴隨一 個已被讀取回應所保留的儲存桶272的一個指標,傳送到 重排時槽2 3 0。右·非如此’該命令保留在命令彳宁列2 2 〇, 直到有足夠的儲存桶272供回應資料使用。 栅欄邏輯2 5 0的另一個實施例是使用一個記數線路來跟 縱在系統中目前未焭決的資料量,也就是在RDrb 270上 儲存桶272有效的數量。一個指標追蹤第一·有效的儲存桶 272。一個讀取命令所要求的資料容量與有效的儲存桶272 數量相比較;根據在RD RB 2 7 0上是否有足夠的空間來回 應’讀取命令被傳送到重排時槽2 3 〇或停頓。 旦栅櫚邏輯2 5 0決定一個命令的向前傳送可能持續, 也就是為了一個讀取命令的所要求的資料,在RDRB 27〇 (請先閲讀背面之注意事項再填寫本頁) r—lte 訂 __ - 13 -
455770 五、發明説明( 修正迅6 j P補车 年月曰 A7 B7 11 煩請委員明示^^1-/月对日所提之 修正本有無變更實f.内容是否私予修正。 經濟部中央標準局員工消費合作社印製 有足約的2間’該命令被傳送到多個重排邏輯2 3 0之 重排遥輯2 3 0經由命令選擇邏輯2 4 0耦接於記憶體 、。、命令選擇邏輯2 4 〇監視一個經最後存取的記憶體1 2 0 尤^域的指標。命令選擇邏輯240也監視重排時槽230以 、、疋,這些時槽中讀取命令所鎖定的記憶體位址。根據一 個j率扣秸,命令選擇邏輯24〇自.重排時槽選擇一個 命^,在具有一個縮減的存取隱藏的記憶體1 20上鎖定一 位止例如一個鎖定在一假編頁記憶體的開放頁的命 令〇 士如所示’當所鎖定的位址是在記憶體1 2 0上現有的頁 時被編頁記憶體1 2 0能夠更快地存取所鎖定的記憶體位 存取不同的頁產生頁的破壞,而要花較長時間來服 務叩7選擇邏輯2 4 0的一個實施例中,檢查在記憶體 120上現有開放頁的一個指標,且決定是否在重排時槽 23匕的任何命令被鎖定到該頁上。這個指標可以以多種: 式棱供。例如,命令重排邏輯240可能接收來自記憶體 120的一個指示到它現有的開放頁中。此一方式有根據來 自其他裝置的命令來追蹤頁的改變的優點。另—方面,命 令選擇邏輯240可能追蹤記憶體所發出最後的命令的特定 位置。當此種方法不能表示自其他裝置存取而導致的頁的 改變時,ΈΓ的執行是相對地容易的。另一個方式是當在紀 憶體1 2 0上一個頁的破壞被發現時,讓來自命令選擇邏輯 2 4 0所選擇的最後命令的一個指標變成無效的。 當鎖定現有頁的一個命令在重排邏輯23〇上呈現時,a 14 - 本紙張尺度適用中國國家標準(CNS ) A4規格(210X297公釐) ---------j 裝------1T-7——;---、1 - 4 (請先閱讀背面之注意事項再填寫本頁) 455770 煩請委員明示%年/月#日所提之 ί-ι-'ή本有無變更實質内容是否准予修正。 經濟部中央標準局負工消費合作社印製 年月 修正補充 A7 B7 五、發明説明(12 ) 令選擇邏輯24 0選擇此一命令送到記憶體12〇。若有超過 一個以上的被鎖定在目前的頁,命令選擇邏輯24〇可能應 用額外的或次級的指標來在命令間做區隔。在本發明的一 個實施例中,命令選擇邏輯24〇選擇已在重排時槽23〇最 長的命令並將它送到記憶體120。其他可能用來選擇在開 放頁間的命令的指標,包含選擇與最大或最小的資料區塊 有關的命令與隨機地選擇一個命令。 如果在重排時槽2 3 〇中沒有;個命令是鎖定在記憶體 120上鎖疋現有的頁時,命令選擇邏輯24〇可能選擇根據 次級指標或其他指標來一個命令。 個選擇自重排時槽2 3 〇上最老的命令的次級指標,可 月e*有。午少不同的執行方式。在一個實施例中,時槽W 〇的 位置可能用來指示包含在時槽23〇上命令的相對年齡。例 如,,重排時槽23 0可能由上至下排序,且在重排時槽23〇 上較長的一個命令,則在重排時槽23 0上佔在較高的地 位在此配置下,若重排時槽中沒有一個命令是被鎖定 1己憶體120現有的頁中,命令選擇邏輯24〇發出在重排時 槽23 0中最頂端的一赞命令記憶體12〇 ^在重排時槽23〇中 剩下的叩令向上移動且一個新的命令自命令件列2 。 另方面,當命令負載到重排時槽230時,每個命令可 能,被標示了時間。當在重排時槽23〇上沒有一個命令被 鎖疋在《•己憶體1 2 〇的現有開放頁時,命令選擇邏輯2 4 〇檢 查命τ的時間§己號並選擇具有最老的時間記號的命令。此 方法要求额外的邏輯以辨識最老的命令,但它消除了在 請 閲 讀 背 之- 注 意 事, 項 再 寫 本 頁
A 訂 -15 -
五·、發明説明( 13 經濟部中央標準局員工消費合作社印製 4; ^ 57 7 0 發出一個命令到記憶體12〇時,每次自重排時槽23〇轉移 命令的需要。 現在參見圖2B,顯示了一個根據本發明的一個命令選擇 邏輯240的一個實施例。當圖2B的實施例顯示出四個重排 時槽230,本發明並不受限於此—數目。命令選擇邏輯 240包含一個緩衝器242、比較模組244(y_244(d),以 及一個選擇邏輯246。緩衝器242儲存一個記憶體12〇中上 一頁所存取之指標。如上所示” 一個指標可能來自記憶體 120或選自由命令選擇邏輯2 4〇所送出的最後命令。 比較模組244(a)-244(d)每個耦接於重排時槽23〇與緩 衝器242和選擇邏輯246。比較模组:以“卜以以❼把相 關的重排時槽2 3 0所而儲存的命令中所鎖定的位址與在緩 衝器2 4 2上的現有開放頁相比較。根據一組指標,選擇邏 輯2 4 6發出在重排時槽2 3 0最頂端(次級指標)鎖定在緩衝 器2 4 2所指明的相同頁(效率指標)中所的一個命令到記憶 體120。若比較模組244(a)_244(d)中沒有一個正面的比 較,選擇邏輯246根據一個息忽指標發出一個命令。這樣 一個指標發出在重排時槽230中最頂端的命令,也就是在 重棑時槽230中最長的命令。 . .當在記憶體1 2 0上一個現有頁的指標是被提供自重排邏 輯2 1 0的最後命令的目標位址時,此一資訊被存在緩衝器 2 4 2。當來自圖形系統1 3 0的命令間有其他的裝置在存取 1己憶體1 2 0的不同頁的資訊位址時,在缓衝器2 4 2的指標 將不準確。在命令選擇邏辑240的一個另一種實施例中, I - 1 - - - ! —^ϋ. I I—! - I 1 n HI -- - -I I - n (請先閲讀背面之注意事項再填寫本頁) -16 -
A7 B7 煩請委員明示曰所提之 經濟部中央標準局員工消費合作社印製 修t本有無變更實質内容是否准予修正。 455770 五、發明説明( 緩衝器242可能耦接於記情髎1〇Λ t ,丄 、dG ^ 1 2 0,如此當此一干預發生 時,記憶體緩衝器242的内容可能便減。在命令選擇邏 輯242的-個其他的實施例巾,緩衝器242可能接收來自 此-干預存取的目標頁的一個指標並依此更新其内容。一 般而言,開放頁的指標可能以内部所儲存的資料或是來自 一個外部來源,如資源控制器的資料為基礎,在任一情況 下,一個外部代理可能經由在緩衝器242上無效的頁的指 標,提供額外的指引。 一 再次參見圖2A,命令選擇^輯24〇被顯示耦接於一個資 源順序(R0)緩衝器294。當命令選擇邏輯24〇發出一個命 令到記憶體1 2 0,它也提供—個儲存桶2 7 2的指標,指定 去接收相對應的磧取回應資料。這允許在R 〇上送到記憶 體120的命令’經由負載邏輯280被負載到在〇c〇的 RDRB270。此一程序以下有詳細的描述。 如前所述’並非所有的命令都可能適合重排。支援某些 命令重排所必須的認證邏輯,相對於所得效率可能太複雜 也昂貴。另一方面,命令可能根據一個不同的指標被啟始 裝置重排,而重排這些命令可能干預了啟始裝置所執行的 排序架構。 - 現在參看圖2C,顯示了一個適應不同命令等級的一個命 令重排邏輯2 1 0 (2 1 0 ')的實施例的方塊圖。例如,命令重 排邏輯2 1 0 |的揭露實施例是適合啟始裝置產生高和低優先 次序的讀取與寫入命令。具低隱藏的命令被視為高優先順 序命令來發出,且通常不適合重排,在此一例予中,命令 -17 - 本紙張尺度適用中國國家標準(CMS ) A4規格(210X297公釐) I I n ϋ n I I 1 —.i-- I m m I I I T n tn m n m H 0¾-备 ," (請先聞讀背面之注意事項再填寫本頁)
A7 B7 煩請委員明示^日所提之 t正本有無變更實質内容是否准予修正。 經濟部中央標準局貝工消費合作社印製 五、發明説明(15 ) .. 重排邏輯2 1 〇 '區隔供重排的低優先順序命令並送出高優先 順序的命令到高優先順序的佇列。 考慮當命令重排邏輯2 1 0 '重排低優先順序的讀取,當低 優先順序寫入且高優先順序讀取,而寫入是在〇 C 〇的記憶 體120上進行時。在此一命令重排邏輯210,的實例中,供 低優先順序讀取的命令佇列22 0實際上顯示在圖2A中。然 而,一個低優先順序寫入佇列2 2 2與一個高優先順序讀取 /窝入符列224也是包含在命令重排邏輯210'。此外,一 個命令解碼器2 1 4是包含在圖形系統1 3 〇與命令仵列2 2 〇、 2 2 2及2 2 4間,以解讀命令並將它們傳送到適當的佇列 上。 命令重排邏輯210'也包含一個命令裁決器248,用以接 收來自命令佇列220、222、224的命令並選擇性地將它們 傳送到s己憶體1 2 0上。在此一命令重排邏輯2 1 0 '中,低優 先順序讀取命令被重排以減少如前所述的頁錯誤。高優先 順序讀取與寫入根據一個不同的優先順序架構,經由命令 裁決器2 4 8送到記憶體1 2 0上。一般來說,高優先順序讀 取與寫入在低優先順步讀取與窝入前被送出。既然高優先 順序寫入也必須傳回資料’命令佇列2 2 4將有相關的柵攔 邏輯(未顯示)用以確保傳回緩衝器的空間足夠回應的資 料。該栅欄邏輯可能結合在命令裁決器2 4 8,以監視在一 個指定的高優先順序讀取資料傳回緩衝器中(未顯示)時槽 的有效性。另一方面,栅欄邏輯可能與仵列2 2 0分享RDRB 2 7 0。在此一狀沉下’高優先順序讀取命令必須在分別在 -18 - --------裝-- (請先聞讀背面之注意事項再填寫本頁) 訂 .14 本紙張尺度適用中國國家標準(CNS ) A4規格(210X297公釐)
A7 B7 煩請委員明示日所提之 經濟部中央標準局員工消費合作社印製 修正本有無變更實質内容是否准予修ή 0 455770 五、發明説明(16 ) 0C0及R0缓衝器290、294上被追蹤,以確保讀取回應資 料是適當地與時槽2 7 2相關。 一般來說,命令裁決器248提供額外的命令選擇階層以 確定高優先順序命令不會被低優先順序讀取或寫入所延 誤。在重排邏輯2 1 0,的一個實施例中,命令裁決器2 4 8可 能耦接到命令選擇邏輯24 0的緩衝器242中-,以反應被一 個干預的低優先順序寫入或高優先順序讀取/寫入所鎖定 的頁。 -V. 再次參見圖2A,回應重排邏輯260恢復記憶體120所提 供的Ο C 0資料以回應被重排讀取命令,如前所述,命令重 排邏輯210(210’)重排自OCO的命令到RO,且記憶體120 處理這些命令,以產生R〇上的讀取回應資料。回應重排 邏輯2 6 0 ’在必要時也被包含,藉以傳回回應資料到 OCO。 回應重排邏輯260包含負載邏輯280、卸載邏輯284、 RDRB270、一個原始命令順序(〇。〇)緩衝器2 9 〇與一個資 源順序(RO)緩衝器294。RDRB270經由負載邏輯280耦接 到記憶體1 2 0且經由卸載邏輯2 8 4核接到圖形系統1 3 〇。 Ο C Ο缓衝器2 9 0經由圖形系統1 3 0被耦接以.監視送到重排 邏輯150的命令,並在這些命令上提供資訊到卸載邏輯 284,以用來存取自RDRB 270的資料。〇CO緩衝器29〇監 視在Ο C 0所要求的資料容量。 RO緩衝器2 94耦接在命令選擇邏輯24〇與負載邏輯28〇 間。RO緩衝器294記錄送到記憶體120的讀取命令的順 -19 - 本紙張尺度適用中國國家標準(CNS ) A4規格(210X29*7公釐) --------3 裝------訂---;--- m (請先閲讀背面之注意事項再填寫本頁)
46 5 7 7C 年月g修正 Μ 6. 2 0# Α7 Β7 煩請委員明示,月#日所提之 修正本有無變更實質内容是否准予修正α 經濟部中央標準局員工消費合作社印裝 五、發明説明(17 ) ' 序,也就是RO,並保留在RDRB 27〇的位置做為對應的回 應資料4用。負載邏輯2 8 〇使用此一資訊以負載讀取回應 資料到RDRB 270中適當的儲存桶272。如上所述,儲存 桶272係由閘邏輯250被定位在〇c〇中。在圖2C的命令 重排邏輯2 1 0 ’的實施例中,在儲存桶2 7 2上置的資訊, 可能經由命令選擇邏輯240或命令裁決器248提供到RO緩 衝器294。 卸載邏輯284自RDRB 270轉;移讀取回應資料到在〇 c 〇 上的圖形系統130。為了此一目的,〇c〇緩衝器290提供 在OCO中的下一個讀取命令中具有所期望的資料回應容量 的卸載邏輯。卸載邏輯2 8 4使用此一資訊以決定〇 c Ο上具 有下一個讀取所對應的回應資料的儲存桶272,而當資料 負載在這些儲存桶時’傳遞到圖形系統i 3 〇是有效的。 卸載邏輯2 8 4的一個實施例中依以下的法則存取在〇 c 〇 上的回應資料。卸載邏輯2 84維持一個讀取指標 (RPTR),用以指向跟隨來自rdRB 270的最後資料回應讀 取的儲存桶。在初始化時,RPTR指向在rdRB 270的第一 儲存桶。卸載2 8 4指日月在Q C Ο緩衝器2 9 0上指明的資料容 量’以供下一個讀取命令去決定一個指標(vpTR)到一個 應該被此一對應的讀取命令所提供的資料來佔用的儲存 桶。例如’若每個儲存桶具有一個回應資料的q w 〇 r d且在 OCO緩衝器290的頂端上所要求的資料長度是l QW〇rds 的長為: VPTR = RPTR + L- 1 -20 - 本紙張尺度適用中國國家標準(CNS ) A4規格(210X 297公釐) 、 灸 (請先閲讀背面之注意事項再填寫本頁)
填請委員明示月於日所提之 經濟部中央標隼局員工消費合作社印製 修正本有無變更實質内容是否准予修正。 4§57 7 0 五、發明説明(18) 在此一實施例中,卸載邏輯284監視在VPTR上所指定 的儲存桶的有效位元。當最後的QW0rd已提供做為回應已 經負載在RDRB 270的讀取命令,有效的位元已被設定, 所以供讀取的資料已準備好轉移到圖形系統丨3 〇。卸載邏 輯284卸載該L Qwords,轉移它們的圖形系統13 〇,重新 設定在L時槽的有效位元,並重設r ρ τ R到V P T R + 1 » 一個重排邏輯2 1 〇的另外的實施例使用標籤以追蹤命令 順序。在此一實施例中,例如_,標示的邏輯與柵欄邏輯 2 5 0相關’或是命令佇列2 2 ί)標示一個反應其被(〇 c 〇)接 收的命令的順序。被標示的命令如以往,經由重排時槽 2 3 0與命令選擇邏輯2 4 〇,被傳送到該資源。例如在一個 讀取命令的例子中’負載邏輯28〇使用命令標示來負載命 令回應到一個在RDRB 270上適當的儲存桶,此一方式的 優點之一是允許該資源’如記憶體i 2 〇,除允許由重排邏 輯2 1 0執行之外,去進行自己的命令重排。自從〇 ^ 〇資料 傳遞到拒該命令的資源,任何由該資源進行的命令重排不 影響被修正的〇 C 0資訊。 雖然前面的描述集中在重排讀取命令,窝入命令也可能 被重排以改善記憶體! 20的效率。在本發明·揭露的實施例 中’一個寫入命令與它所窝入的資料是分別耦接於重排邏 輯150。因此,重排邏輯21〇將包含一個窝入緩衝器(如 WDB,圖2D)以儲存它所被接收的資料,也就是在〇c〇。 現在參見圖2D,顯示一個適合重排窝入命令的命令重排 邏輯2 1 0的貫施例。在該被揭露的實施例中,柵欄邏輯 ___- 21 - 本紙張尺度通用T國國豕標準(CNS }八4規格(2ΐ〇χ297公疫 -I n - n n n I t)^^r - - fi _ n n T ______>}衣 骛 ,-卩▲ t % (請先閱讀背面之注意事項再填寫本頁) 455770 年月网 90.6 . 2 0 補充 | A7 B7 ϋϊ明示/年/月 >日ΐ i正本有無變更實質内容是否准予wiiο 經濟部中央標準局員工消費合作社印裝 五、發明説明(19 ) 2 1 0是耦接於一個WDB 2 5 4,以監視寫入資料的到達。 在這一個配置’柵攔邏輯250能夠在命令佇列22〇停頓一 個窝入命令’直到對應的窝入資料已被WD b 2 5 4所接 受。一旦資料被接收,該窝入命令被進行,且該栅欄邏辑 250將傳送該寫入命令到重排時槽230。 在該揭露的實施例中’寫入資料是被儲存在〇C0的 WDB 254中。自從窝入命令被送到在尺〇的記憶體12〇, 命令重排邏輯2 1 0必須辨識出-在WDB 2 5 4上對應到一個 被送到記憶體1 2 0的一個窝入命令的儲存桶2 5 6。此一翻 譯可能經由例如標示窝入命令以指示它們〇 C 〇,或是讀取 該標示做為一個寫入命令發出以決定哪一個儲存桶2 5 6擁 有相關資料。其他方法,包含這些以上所被描述在〇 c 〇與 R0間為讀取命令翻譯的變化,可能用來結合在WDB 2 5 4 的資料與經由命令選擇邏輯240所發出的重排寫入命令。 當命令被重排時,特定的傷害會發生。自從一個後續到 該位址的讀取可能存取被失竊的資料,此一傷害當窝入命 令鎖疋在s己憶體1 2 0上相同的位置被重組時會發生。因 此’本發明的—個較佳實施例並不允許寫入到記憶體丨2 〇 上的相同位置被重排。為了與前述相似的理由,本發明— 個杈佳的貫施例並不允許一個讀取命令在記憶體丨2 〇上相 同位置的一個寫入命令前被重排。另一方面,既然這提供 了讀取命令最近的有效的資料,本發明可能在記憶體i 2 〇 的相同位置的一個讀取命令前先重排一個寫入命令。其他 傷害可能被辨識並根據它們對資料的準確進行的風險而被 _ - 22 - 1裝------訂---;-----旅 (請先閲讀背面之注意事項再填寫本頁)
if r r I I
Ao.t s 公 7 9 Μ 4 #455770 A7 B7 煩請委員明示月> 日所提之 經濟部中央標準局員工消費合作社印製 修正本有無變更實質内容是否准予修正。 五、發明説明(2〇 ) 處理。 現在參看圖3,它是顯示一個根據本發明用來重排命令 到一個資源的一般方式3 0 0的總覽的一個流程圖。來自— 個啟始器的一個命令,如圖形系統1 3 〇,被佇列3 1 〇,且 任何預先的狀況可能傳遞命令的進行也被檢查3 2 0。在讀 取命令的狀況下,在一個讀取回應緩衝器的空間有效性, 如RDRB 270,被檢查。在一個寫入命令的狀況下,其中 讀取/寫入重排被執行,以減少處理器停頓,預先的條 件’可能是該命令到達命令佇列的頂端。 · 當任何所要求的預先條件是符合3 2 0時,該命令是被加 到3 3 0到一個其他做為送到該資源的候選的命令集合◊一 個效率指標是應用在3 4 0到此一集合的候選命令。一個命 令符合指標3 4 0是被傳送3 5 0到該資源,以當它符合送出 指標時進行處理。 現在參看圖4A ’顯示一個在減少頁破壞,用以重排讀取 命令到一個記憶體裝置的法則的一個方法4 〇 〇的詳細流程 圖。所揭露的實施例自高與低優先順序讀取與寫入命令中 辨識出低優先順序(LPRs),並重排該LPRs到減少的頁破 壞。 - 首先,一個命令被解碼4 1 〇且該命令類型被決定4 2 0。 若該命令被決定420變成一個低優先順序讀取(LPR),也 就是一個供重排的候選,所要求的資料的長度被重排 430,且該命令被加到440—個LPR的命令佇列。其他命 令,如低優先順序窝入、高優先順序讀取和窝入,被轉移 -23 - 本紙張尺度適用中國國家標準(CNS ) A4規格(210X297公釐) --------裝------訂丨——:---J. (諳先閱讀背面之注意事項再填寫本頁) 90. 455770 煩請委員明示年/月K7日所提之 修正本有無變更實質内容是否准予於JE-。 經濟部中央標準局員工消費合作社印裝 年月曰 修正補充 A7 B7 五、發明説明(91 ) Μ X 到424它們各自的命令佇列。當LPR命令到達LPR佇列的 頂响時’也就是在佇列的它的之前,LPR之後的命令已被 處理’ Έ決定450是否讀取回應緩衝器有足夠的能力去配 合為了回應LPR命令而將要被傳回的該資料。若能力不 足’該命令被停頓直到產能變得充足。若能力足夠,該命 令被加到4 6 0 一個適合傳送到記憶體的LPRs集合,如重排 集合。 一旦在此一重排集合’該命令根據其他相對於效率指標 的適合LPRS進行分析47〇。裊本發明的一個實施例中,效 率心標辨識出一個在重排集合中鎖定在記憶體上現有頁的 L P R命令。如果沒有在該集合的L P R命令符合此一指標或 多個命令符合,一個次級指標,如在該集合中最老的LPR 命令會被應用上。經由多種指標辨識的命令被重排48〇並 送到4 9 0記憶體以供處理。 現在參看圖4 B,該圖顯示一個根據減少存取隱藏的法 則,用以重排命令到一個儲存資源的方法4〇〇,的詳細流程 圖。方法400’的步驟類似於編上相同參考號碼的方法4〇〇 的步驟。主要的差異是在步驟42〇,辨識出一個Lp寫入, 步觸440 ’轉移寫入命令到Lpw佇列;步驟45_〇'檢查已到達 的對應寫入資料,步驟480·查詢當命令被選來送出時的窝入 資料。 現在參見圖5A與圖5B,顯示一個5 00、5 02代表一個在 原始命令順序下’傳回寫入回應資料到啟始裝置的方式的 流程圖。方法500與502事實上分別地對應到由圖2八上負 --------秦-- (請先閱讀背面之注意事項再填寫本頁) ,--° i·" -24 -
455770 五、發明説明( 22
煩請委員明示年/月Μ日所提之 經濟部中央標準局員工消費合作杜印製 修正本有無變更實質内容是否准予修正。 100 110 112 120,122 130 -25 - 載邏辑2 8 0與卸載邏輯2 8 4所執行的功能。 現在回到圖5Α,來自該資源的資料,如記憶體12〇,是 被提供以回應一個被發現510的1^1>11,與辨識52〇_個供 資料配置的儲存桶。資料被負載53〇到被辨識的儲存桶且與 該儲存桶有關的有效位元是設定5 4 〇用來指出該資料是否 可供卸載之用。 現在回到圖5Β,為回應在0C0上下—個LpR命令所提 供的資料的位置被辨識出5 5 〇,^而R D R b被檢查5 6 〇以決定 是否該資料為有效。當該資料為有效時,也就是當在 RDRB上所指定的儲存桶位元是設定,它被轉移到57〇所要 求的裝置而該有效的位元5 8 〇被重設定。 在此已經提供一個根據一個使資源更有效率地使用的指 標,以重排命令到一個資源的系統與方法。也已經提供一 個為了回應被重排的命令,在被提供的原始命令順序資料 下,傳回到所要求的裝置的方法與系統。命令重排與如一 個儲存裝置的資源,可能有利地被執行。在這些情形下, 重排群體集合在相對區域化的位址範園内存取命 令,以消減與更多隨參存取方法相關的支出。 圖式元件符號砉 . 電腦系統 處理器 處理器匯流排 記憶體裝置 圖形系統 本紙張尺家標準(CNS > Α4“( 210χ297公釐 --------3 裝------訂^---^---旅 (請先閲讀背面之注意事項再填寫本頁〕 5 4 57? u
A7B7 煩請委員明示年i月_日所提之 修正本.有無變更實質内容是否准予修瓜Q 經濟部中央標準局員工消費合作社印製 五、發明説明(23 ) 140 連接橋 150 重排邏輯 170 匯流排 180 相互連接器 210,210' 命令重排邏輯 214 命令解碼器 - 220,222, 224 命令仔列 230 重排時槽 240 命令選擇邏輯 242 緩衝器 244(a)-244(d) 比較模組 246 選擇邏輯 248 命令裁決器 250 柵欄邏輯 254 寫入資料緩衝器(WDB) 260 回應重排邏輯 270 讀取資料傳回缓衝器(RDRB) 272 儲♦桶 212' 相關時槽 - 274,274' 有效資料位元 280 負載邏輯 284 卸載邏輯 290 原始命令順序(OCO)緩衝器 294 資源順序(RO)緩衝器 -26 - --------1 裝------ΐτ---q----旅 (請先閱讀背面之注意事項再填寫本頁) 本紙張尺度適用中國國家標準(CNS ) A4規格(210X297公釐)

Claims (1)

  1. 455770 年月EI修^正 申請專利範圍 A8 B8 C8 D8 標 準 員 工 消 費 合 作 衽 1.種利用夕個重排時槽來重排命令到一個資源之方法; 該方法包含下列的步驟: 自一個啟始裝置接收一個命令; 轉移該命令到多個重排時槽之一; 應用一個效率指標到該命令;及 當該效率指標符合時,發出該命令到該資源。 2·如申睛專利範圍第丨項之方法,其中轉移的步驟由以下的 子步驟所組成: 應用一個向前進行指標&該命令以決定該命令能否 行;及 當向前進行命令符合時,轉移該命令到多個重排 的一個之中。 曰 3·如t請專利範園第2項之方法,其中接收—個命令 包含接收一個讀取命令。 4 =申請專利範圍第3項之方法,其中應用向前進行命 私包含決定是否該命令的處理可能導致停頓。 π曰 5. 如申請專利範圍第β之方法,其中應用效率指 包含了在該資源的範圍内的一個目前開放位址中‘驟 該資源所鎖定而經該命令所指明的位址。 比較 6. 如申請專利範圍第5項之方法,其中該送出的步勒勺 所指明的資源位址落在現有開放位址的範園中且=含當 滿足一個第二指標。 孩命令 7·=請專利範圍第6項之方法,其中的夢二指標是 取舊的命令,要求最大的資料區塊的命令與要 I含 取+的 -27 - 家榡準(CNS ) ( 210X297公釐)· (請先閲讀背面之注意事項再填寫本頁) 、-° 0 i m ·
    '申請專利範圍 煩、請委員明示月2V日、所提之 經濟部中央標準局貝工消費合作社印製 #.ατ本有無^-更實質内容是否准予修正。 ^b577〇 資料區塊的命令等的—群指標所選出的。 ^申請專利範圍第2項之方法,其中接收—個 包含了接收寫入的命令。 的步驟 項之方法,其中應用向前進行指標的 〜.匕“ 了決疋與寫入命令相關的資料是否右·、1 .如申請專利範圍第Η之方法,包含監视所送出命令的 顆外步驟,以決定送到該資源的命令的一個順序。 U.如申請專利範圍第i項之方法,包含監視接受命令的額 外步驟,以決定由啟始裝置^送出的命令的—個順序。 泛如申請專利範圍第㈣之方法,包含傳回—個給該命令 <回應到該啟始裝置的額外步驟,其中該命令由啟始裝 置送出。 13.—種重排自—個啟始裝置送出的命令到一個資源的方 法’該方法包含下列的步驟: 應用一個效率的指標在自啟始裝置所送出的選定的命 令上;及 當孩命令滿足其效率指標時,轉移所選命令之一的到 該資源。 14·如申凊專利範圍第1 3項之方法,其中該轉·移步驟包含了 以下的子步驟: 辨識出符合效率指標所的所選的命令; 當所選的命令中只有一個符合資源效率指標,移轉謗 命令到該資源; 當所選的命令中有多個符合效率指標,根據一個第二 -28 - 本紙張认it财關家娜(210X297^17 ^^1 I -- - - - - n - II Ί.1 I -----: I ! -......^"J (請先閱讀背面之注意事項再填寫本頁) 4^5770 年月θ修正 6. 2〇補免 A8 B8 C8 D8 煩請委員明示,^日所提之 修正本有無變更實質内容是否准予修正。 經濟部中央標準局員工消費合作社印製 申請專利範圍 指標來轉移多個符合指標的所選命令的其中之—;及 當所選的資源沒有一個符合資源效率指標,根一 第三指標來轉移所選命令的其中之一。 個 15.如申凊專利範園第i 4項之方法,其中第二與第三 相同的指標。 61胃的 16·如申請專利範圍第13項之方法,其中所應用的步驟“ 在一個開放資源位址範圍内,比較每個所選命令 指明的資源位址。 ..… 7 勺所 Π·如申請專利範„13項之;法’包含追縱該命令轉 該資源的額外步驟,以提供該資源處理命令的—個順 的指示。 18.—種自啟始裝置到該資源重排命令的線路,該線路包含. 一個接收自啟始裝置的命令的命令佇列; . 多數的重排時槽耦接於接收來自命令佇列的命令;及 耦接於重排時槽與該資源的命令重排邏輯;及用以決 定與該資源相關的一個效率參數,並根據比較一個命令 參數選擇與效率參數,選擇自多數的重排時槽移轉到^ 資源的一個命令。 19_如申請專利範圍第1 8項的線路,進一步包含: 一個命令順序佇列耦接於命令佇列,以儲存一個接收 自命令佇列的命令指標,藉以追蹤一個啟始裝置送到該 資源的一個命令的一個順序;及 一個:貝源順序佇列,耦接於命令重排邏輯,用以儲存 轉移到該資源的命令的指標,追蹤該資源處理命令的一 -29 - 本紙張尺度適用中國國家操準(CNS ) A4規格(210X297公釐) —^—^1 1^— —^^^1 ^^^1 nn n In n ^^^1 In n dm— I 1* (請先閲讀背面之注$項再填寫本頁} 45 5 7 7 0 Α8 Β8 C8 D8 修4?本有無變‘更€内容,經濟部中_準局負工消費合作社印製 其中該指標是由先前命 標 六、申請專利範圍 個順序。 20·如申請專利範圍第i 8項的線路,進一步包含: 一個讀取資料傳回緩衝器(RDRB)具有多數的容量’ 用以儲存提供自該資源的資料以回應讀寫命令;友 閘邏輯耦接於命令佇列與RDRB,用以辨識一個自一 個讀取命令要求的資料容量,以決定是否RDRB有足夠 的容量來配合所要求的資料容量,並當RDRB有足夠的 容量時,分派RDRB的容量到龙讀取命令。 21.如申請專利範圍第2〇項的^路,進一步包含了負載邏輯 耦接該資源、該資源順序佇列與RDRB,藉以傳遞所提 供用來回應一個讀取命令到該RDRB中分配給該資料的 容量中。 22·如申請專利範圍第2 〇項的線路,進一步包含了卸載邏輯 耦接於命令重排佇列,用以轉移自rdrb的讀 取回應資料到利用命令順序佇列的訊息的啟始裝置。 23. 如申請專利範圍第18項的線路,其中資料效率提供一個 資源位址的指標,該指標可能用來以縮減的支出來存取 且該命令參數是一拶特定的資源位址。 24. 如申請專利範圍第23項的料,其中該指標{由該資源 所提供的。 25. 如申請專利範圍第2 3項的線路 令所指明的資源位址所提供的。 26. 如申請專利範圍第1 8項的線路,進—步 用以附加命令到-個標示命令接收的觸序^ 了附加邏輯 ^^1 - I m —Hi -.....I « - - 1— ί _ I—I—------一 ^ (請先間讀背面之注意事項善填寫本貫) -30 -
    455770 年月曰 修正補充 A8 B8 C8 D8 煩請委員明示.~年#月»日所提之 經濟部中央標準局員工消費合作社印製 •正本有無變更實質内容是否准予修正。 申請專利範圍 27. 如申請專利範圍第26項的線路,進一步包含卸载邏辑搞 接於該資源,以根據命令接收的順序,傳送所提供的資 料以回應該命令到啟始裝置。 28. —種電腦系統,包含: —個產生命令以供處理的啟始裝置; 在一個效率參數所表示的指數下,一個處理啟始裳置 所產生的命令的資源;及 連結邏輯耦接於啟始裝置與-自該啟始裝置傳送命令到 該資源的資源’連結邏輯匕含供監視啟始裝置所產生的 命令、比較所監視的命令與效率參數的命令重排邏輯, 以及在經比較後所建議的順序下,耦接於該命令到該資 源 29. 如申請專利範圍第2 8項的電腦系統,進一步包含了命令 重排邏輯賴接於連結邏輯’以決定接收自啟始裝置的命 令的一個原始順序與移轉到該資源的命令的一個資源順 序。 30. 如申清專利範圍第2 9項的系統,進一步包含回應重排邏 輯韓接於命令重排邏輯、資源、啟始裝置,藉以在資源 順序下接收自該資源的回應資料,並在原-始命令順序下 提供到該啟始裝置。 -31 - 本紙張尺度適用中國國家標準(CNS ) A4規格(210X297公釐) Hi —I I· i— I, I - ml、》eJn (請先閱讀背面之注意事項再填寫本頁)
TW087101437A 1997-04-07 1998-02-04 Method and apparatus for reordering commands and restoring data to original command order TW455770B (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US08/835,388 US6112265A (en) 1997-04-07 1997-04-07 System for issuing a command to a memory having a reorder module for priority commands and an arbiter tracking address of recently issued command

Publications (1)

Publication Number Publication Date
TW455770B true TW455770B (en) 2001-09-21

Family

ID=25269391

Family Applications (1)

Application Number Title Priority Date Filing Date
TW087101437A TW455770B (en) 1997-04-07 1998-02-04 Method and apparatus for reordering commands and restoring data to original command order

Country Status (8)

Country Link
US (1) US6112265A (zh)
EP (1) EP0978044B1 (zh)
CN (1) CN1244046C (zh)
AU (1) AU6046298A (zh)
DE (1) DE69834026T2 (zh)
HK (1) HK1026752A1 (zh)
TW (1) TW455770B (zh)
WO (1) WO1998045780A2 (zh)

Families Citing this family (73)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6311256B2 (en) * 1997-06-30 2001-10-30 Emc Corporation Command insertion and reordering at the same storage controller
JP4086345B2 (ja) * 1997-09-09 2008-05-14 キヤノン株式会社 通信制御方法及び装置及び通信システム
US6816934B2 (en) * 2000-12-22 2004-11-09 Hewlett-Packard Development Company, L.P. Computer system with registered peripheral component interconnect device for processing extended commands and attributes according to a registered peripheral component interconnect protocol
US6202101B1 (en) 1998-09-30 2001-03-13 Compaq Computer Corporation System and method for concurrently requesting input/output and memory address space while maintaining order of data sent and returned therefrom
US6216178B1 (en) * 1998-11-16 2001-04-10 Infineon Technologies Ag Methods and apparatus for detecting the collision of data on a data bus in case of out-of-order memory accesses of different times of memory access execution
US6374323B1 (en) * 1998-11-16 2002-04-16 Infineon Technologies Ag Computer memory conflict avoidance using page registers
US6526484B1 (en) * 1998-11-16 2003-02-25 Infineon Technologies Ag Methods and apparatus for reordering of the memory requests to achieve higher average utilization of the command and data bus
US6546439B1 (en) * 1998-12-09 2003-04-08 Advanced Micro Devices, Inc. Method and system for improved data access
US6601151B1 (en) * 1999-02-08 2003-07-29 Sun Microsystems, Inc. Apparatus and method for handling memory access requests in a data processing system
JP3382176B2 (ja) 1999-03-26 2003-03-04 株式会社東芝 要求処理方法および要求処理装置
US6272565B1 (en) * 1999-03-31 2001-08-07 International Business Machines Corporation Method, system, and program for reordering a queue of input/output (I/O) commands into buckets defining ranges of consecutive sector numbers in a storage medium and performing iterations of a selection routine to select and I/O command to execute
US6628292B1 (en) * 1999-07-31 2003-09-30 Hewlett-Packard Development Company, Lp. Creating page coherency and improved bank sequencing in a memory access command stream
US6559852B1 (en) * 1999-07-31 2003-05-06 Hewlett Packard Development Company, L.P. Z test and conditional merger of colliding pixels during batch building
US6633298B2 (en) * 1999-07-31 2003-10-14 Hewlett-Packard Development Company, L.P. Creating column coherency for burst building in a memory access command stream
US7039047B1 (en) 1999-11-03 2006-05-02 Intel Corporation Virtual wire signaling
US8341332B2 (en) * 2003-12-02 2012-12-25 Super Talent Electronics, Inc. Multi-level controller with smart storage transfer manager for interleaving multiple single-chip flash memory devices
US7127573B1 (en) * 2000-05-04 2006-10-24 Advanced Micro Devices, Inc. Memory controller providing multiple power modes for accessing memory devices by reordering memory transactions
US6581111B1 (en) * 2000-06-02 2003-06-17 Advanced Micro Devices, Inc. Out-of-order probing in an in-order system
US6865652B1 (en) * 2000-06-02 2005-03-08 Advanced Micro Devices, Inc. FIFO with undo-push capability
US6826650B1 (en) 2000-08-22 2004-11-30 Qlogic Corporation Disk controller configured to perform out of order execution of write operations
US6784889B1 (en) * 2000-12-13 2004-08-31 Micron Technology, Inc. Memory system and method for improved utilization of read and write bandwidth of a graphics processing system
US6851011B2 (en) * 2001-08-09 2005-02-01 Stmicroelectronics, Inc. Reordering hardware for mass storage command queue
US6741253B2 (en) * 2001-10-09 2004-05-25 Micron Technology, Inc. Embedded memory system and method including data error correction
US6925539B2 (en) * 2002-02-06 2005-08-02 Seagate Technology Llc Data transfer performance through resource allocation
US6829689B1 (en) * 2002-02-12 2004-12-07 Nvidia Corporation Method and system for memory access arbitration for minimizing read/write turnaround penalties
US20030163639A1 (en) * 2002-02-25 2003-08-28 Seagate Technology Llc Sequential command processing mode in a disc drive using command queuing
DE10234934A1 (de) * 2002-07-31 2004-03-18 Advanced Micro Devices, Inc., Sunnyvale Antwortreihenwiederherstellungsmechanismus
DE10234933A1 (de) * 2002-07-31 2004-03-18 Advanced Micro Devices, Inc., Sunnyvale Pufferung von Non-Posted-Lesebefehlen und Antworten
DE10255937B4 (de) * 2002-11-29 2005-03-17 Advanced Micro Devices, Inc., Sunnyvale Ordnungsregelgesteuerte Befehlsspeicherung
ATE504446T1 (de) * 2002-12-02 2011-04-15 Silverbrook Res Pty Ltd Totdüsenausgleich
US20090193184A1 (en) * 2003-12-02 2009-07-30 Super Talent Electronics Inc. Hybrid 2-Level Mapping Tables for Hybrid Block- and Page-Mode Flash-Memory System
KR100533682B1 (ko) * 2003-12-26 2005-12-05 삼성전자주식회사 플래시 메모리의 데이터 관리 장치 및 방법
US8081182B2 (en) * 2004-03-03 2011-12-20 Qualcomm Incorporated Depth buffer for rasterization pipeline
US20060026308A1 (en) * 2004-07-29 2006-02-02 International Business Machines Corporation DMAC issue mechanism via streaming ID method
US7272692B2 (en) * 2004-11-12 2007-09-18 International Business Machines Corporation Arbitration scheme for memory command selectors
US7353311B2 (en) * 2005-06-01 2008-04-01 Freescale Semiconductor, Inc. Method of accessing information and system therefor
US7281086B1 (en) * 2005-06-02 2007-10-09 Emc Corporation Disk queue management for quality of service
JP4804175B2 (ja) * 2006-03-02 2011-11-02 株式会社日立製作所 I/oコマンドをキューイングするストレージシステム及びその制御方法
US7996599B2 (en) 2007-04-25 2011-08-09 Apple Inc. Command resequencing in memory operations
US20090055234A1 (en) * 2007-08-22 2009-02-26 International Business Machines Corporation System and methods for scheduling meetings by matching a meeting profile with virtual resources
US8046559B2 (en) 2008-03-27 2011-10-25 Intel Corporation Memory rank burst scheduling
CN101561542A (zh) * 2008-04-18 2009-10-21 鸿富锦精密工业(深圳)有限公司 点胶装置和点胶方法
JP2010198209A (ja) * 2009-02-24 2010-09-09 Toshiba Corp 半導体記憶装置
WO2011044685A1 (en) * 2009-10-18 2011-04-21 Research In Motion Limited Constructing a combined tracking address
US9037810B2 (en) * 2010-03-02 2015-05-19 Marvell Israel (M.I.S.L.) Ltd. Pre-fetching of data packets
US9069489B1 (en) * 2010-03-29 2015-06-30 Marvell Israel (M.I.S.L) Ltd. Dynamic random access memory front end
US20110228674A1 (en) * 2010-03-18 2011-09-22 Alon Pais Packet processing optimization
US8327047B2 (en) 2010-03-18 2012-12-04 Marvell World Trade Ltd. Buffer manager and methods for managing memory
JP5296041B2 (ja) * 2010-12-15 2013-09-25 株式会社東芝 メモリシステムおよびメモリシステムの制御方法
US9098203B1 (en) 2011-03-01 2015-08-04 Marvell Israel (M.I.S.L) Ltd. Multi-input memory command prioritization
US9236064B2 (en) 2012-02-15 2016-01-12 Microsoft Technology Licensing, Llc Sample rate converter with automatic anti-aliasing filter
US9053064B2 (en) * 2012-12-10 2015-06-09 Vmware, Inc. Method for saving virtual machine state to a checkpoint file
US9811453B1 (en) * 2013-07-31 2017-11-07 Juniper Networks, Inc. Methods and apparatus for a scheduler for memory access
US10310923B1 (en) 2014-08-28 2019-06-04 Seagate Technology Llc Probabilistic aging command sorting
US11204871B2 (en) * 2015-06-30 2021-12-21 Advanced Micro Devices, Inc. System performance management using prioritized compute units
WO2017171575A1 (en) * 2016-03-30 2017-10-05 Emc Corporation Virtual machine storage management queue
US10379748B2 (en) 2016-12-19 2019-08-13 International Business Machines Corporation Predictive scheduler for memory rank switching
US10831403B2 (en) 2017-05-19 2020-11-10 Seagate Technology Llc Probabalistic command aging and selection
US10929356B2 (en) * 2018-06-04 2021-02-23 International Business Machines Corporation Detection of hidden data co-occurrence relationships
CN110568991B (zh) * 2018-06-06 2023-07-25 北京忆恒创源科技股份有限公司 降低锁引起的io命令冲突的方法与存储设备
US10545701B1 (en) * 2018-08-17 2020-01-28 Apple Inc. Memory arbitration techniques based on latency tolerance
CN109783025B (zh) * 2019-01-10 2022-03-29 深圳忆联信息系统有限公司 顺序数据页颗粒度离散分布的读方法和装置
WO2020236277A1 (en) 2019-05-23 2020-11-26 Cray Inc. System and method for facilitating tracer packets in a data-driven intelligent network
KR20210016227A (ko) * 2019-08-02 2021-02-15 삼성전자주식회사 빠른 쓰기 및 빠른 읽기를 지원하기 위한 복수의 버퍼 영역들을 포함하는 메모리 장치 및 이를 포함하는 스토리지 장치
US11481152B2 (en) * 2019-12-30 2022-10-25 Micron Technology, Inc. Execution of commands addressed to a logical block
CN112395011B (zh) 2020-11-24 2022-11-29 海宁奕斯伟集成电路设计有限公司 命令响应信息的返回方法、返回控制装置和电子设备
US11775467B2 (en) * 2021-01-14 2023-10-03 Nxp Usa, Inc. System and method for ordering transactions in system-on-chips
US11966631B2 (en) 2021-04-16 2024-04-23 Western Digital Technologies, Inc. Command queue order adjustment in a data storage device
US11567883B2 (en) 2021-06-04 2023-01-31 Western Digital Technologies, Inc. Connection virtualization for data storage device arrays
US11507321B1 (en) * 2021-06-04 2022-11-22 Western Digital Technologies, Inc. Managing queue limit overflow for data storage device arrays
US11656797B2 (en) * 2021-07-28 2023-05-23 Western Digital Technologies, Inc. Data storage device executing runt write commands as free commands
US11604609B1 (en) * 2021-10-08 2023-03-14 Micron Technology, Inc. Techniques for command sequence adjustment
TWI822386B (zh) * 2022-10-11 2023-11-11 慧榮科技股份有限公司 橋接控制晶片與相關的訊號處理方法

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3350694A (en) * 1964-07-27 1967-10-31 Ibm Data storage system
US4521851A (en) * 1982-10-13 1985-06-04 Honeywell Information Systems Inc. Central processor
JPS61233849A (ja) * 1985-04-08 1986-10-18 Hitachi Ltd デ−タベ−ス排他制御方法
US4809217A (en) * 1985-10-31 1989-02-28 Allen-Bradley Company, Inc. Remote I/O port for transfer of I/O data in a programmable controller
US4774659A (en) * 1986-04-16 1988-09-27 Astronautics Corporation Of America Computer system employing virtual memory
US5008808A (en) * 1988-06-23 1991-04-16 Storage Technology Corporation Consolidation of commands in a buffered input/output device
US5140683A (en) * 1989-03-01 1992-08-18 International Business Machines Corporation Method for dispatching work requests in a data storage hierarchy
US5583134A (en) * 1992-09-30 1996-12-10 Sanofi 1-azoniabicyclo[2.2.2] octanes and pharmaceutical compositions in which they are present
US5732236A (en) * 1993-05-28 1998-03-24 Texas Instruments Incorporated Circuit and method for controlling access to paged DRAM banks with request prioritization and improved precharge schedule
JPH07200386A (ja) * 1993-12-28 1995-08-04 Toshiba Corp 共有メモリのアクセス制御装置および画像形成装置
US5603063A (en) * 1994-06-27 1997-02-11 Quantum Corporation Disk drive command queuing method using two memory devices for storing two types of commands separately first before queuing commands in the second memory device
US5666551A (en) * 1994-06-30 1997-09-09 Digital Equipment Corporation Distributed data bus sequencing for a system bus with separate address and data bus protocols
US5812799A (en) * 1995-06-07 1998-09-22 Microunity Systems Engineering, Inc. Non-blocking load buffer and a multiple-priority memory system for real-time multiprocessing
US5613155A (en) * 1995-06-07 1997-03-18 International Business Machines Corporation Bundling client write requests in a server
US5787298A (en) * 1995-08-18 1998-07-28 General Magic, Inc. Bus interface circuit for an intelligent low power serial bus
US5796413A (en) * 1995-12-06 1998-08-18 Compaq Computer Corporation Graphics controller utilizing video memory to provide macro command capability and enhanched command buffering
US5822772A (en) * 1996-03-22 1998-10-13 Industrial Technology Research Institute Memory controller and method of memory access sequence recordering that eliminates page miss and row miss penalties
US6272600B1 (en) * 1996-11-15 2001-08-07 Hyundai Electronics America Memory request reordering in a data processing system

Also Published As

Publication number Publication date
AU6046298A (en) 1998-10-30
WO1998045780A2 (en) 1998-10-15
EP0978044A4 (en) 2001-07-18
WO1998045780A3 (en) 1999-01-07
US6112265A (en) 2000-08-29
EP0978044B1 (en) 2006-03-29
HK1026752A1 (en) 2000-12-22
CN1259214A (zh) 2000-07-05
DE69834026D1 (de) 2006-05-18
DE69834026T2 (de) 2006-08-24
EP0978044A2 (en) 2000-02-09
CN1244046C (zh) 2006-03-01

Similar Documents

Publication Publication Date Title
TW455770B (en) Method and apparatus for reordering commands and restoring data to original command order
CN110226157B (zh) 用于减少行缓冲冲突的动态存储器重新映射
US11940959B2 (en) Heterogeneous distributed file system using different types of storage mediums
US6182177B1 (en) Method and apparatus for maintaining one or more queues of elements such as commands using one or more token queues
FI91814C (fi) Moniprosessorin yhteinen liukuhihnavälimuisti
CN110730945B (zh) 可扩展的低时延存储接口
US8966164B1 (en) Storage processor managing NVME logically addressed solid state disk array
TW468108B (en) Method and apparatus for arbitration in a unified memory architecture
US20160291866A1 (en) Command load balancing for nvme dual port operations
US6820142B2 (en) Token based DMA
TW201248405A (en) Selective data storage in LSB and MSB pages
CN107885456A (zh) 减少io命令访问nvm的冲突
US20070130387A1 (en) Input/output priority inheritance
JPS6230665B2 (zh)
US10152434B2 (en) Efficient arbitration for memory accesses
KR102478527B1 (ko) 이기종 메모리 시스템용 시그널링
US20140281072A1 (en) Link layer virtualization in sata controller
US10515671B2 (en) Method and apparatus for reducing memory access latency
CN108733580A (zh) 读取命令排程方法
CN112948293A (zh) 一种多用户接口的ddr仲裁器及ddr控制器芯片
KR20200021878A (ko) 메모리 내부 연산을 위한 대용량 메모리 시스템을 가능하게 하는 스케일 가능한 아키텍쳐
CN109313593A (zh) 存储系统
TW201447750A (zh) 合併記憶體存取請求之技術
US20180188976A1 (en) Increasing read pending queue capacity to increase memory bandwidth
CN101930407B (zh) 闪速存储器控制电路及其存储系统与数据传输方法

Legal Events

Date Code Title Description
GD4A Issue of patent certificate for granted invention patent
MM4A Annulment or lapse of patent due to non-payment of fees