TW470912B - A method and system for ordering priority commands on a commodity disk drive - Google Patents

A method and system for ordering priority commands on a commodity disk drive Download PDF

Info

Publication number
TW470912B
TW470912B TW089107930A TW89107930A TW470912B TW 470912 B TW470912 B TW 470912B TW 089107930 A TW089107930 A TW 089107930A TW 89107930 A TW89107930 A TW 89107930A TW 470912 B TW470912 B TW 470912B
Authority
TW
Taiwan
Prior art keywords
command
priority level
drive
value
disk
Prior art date
Application number
TW089107930A
Other languages
English (en)
Inventor
Richard Curtis Cleavinger
Kent D Prosch
Original Assignee
Ibm
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 Ibm filed Critical Ibm
Application granted granted Critical
Publication of TW470912B publication Critical patent/TW470912B/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/46Multiprogramming arrangements
    • 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
    • G06F3/0611Improving I/O performance in relation to response time
    • 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
    • G06F3/0613Improving I/O performance in relation to throughput
    • 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)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Software Systems (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Automatic Disk Changers (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Indexing, Searching, Synchronizing, And The Amount Of Synchronization Travel Of Record Carriers (AREA)

Description

470912
五、發明說明() 發明頜城: 本發明關於排列下予磁碟機之命令且特別關於決定 疋否基於命令之優先權位階與磁碟機之未決負荷量對磁 碟機發出一命令。 發明背景: 第1圖是一先前技術電腦系統i 〇〇之方塊圖,它的主 要元件是主電腦110、磁碟控制器115及磁碟機125。磁 碟機125可以是二商用的、現成的、元件的,有時稱為商 用磁碟機,其符合小型電腦系統介面(SCSi)協定。 主電腦1 1 0運算儲存於磁碟機丨2 5的資料。當主電腦 1 1 0欲讀取資料時’它發出一鑑別該資料之讀取命令予磁 碟控制器1 1 5,接著,磁碟控制器丨丨5發出一讀取命令予 磁碟機1 2 5。當磁碟機12 5執行此讀取命令時,它會傳送 資料予磁碟控制器1 1 5,磁碟控制器1 1 5會傳遞該資料予 主電腦110。若當主電腦110欲寫入資料時,它發出一寫 入命令並傳送相關資料予磁碟控制器1 1 5,其後’磁碟控 制器115發出一寫入命令予磁碟機125,當磁碟機125準 備妤執行寫入命令時,它會通知傳送相關資料予磁碟機 125之磁碟控制器1 15。 磁碟控制器1 1 5包含一處理器1 1 7及相關記憶體U 8 以執行有關和主電腦1 1 0與磁碟機1 2 5交換資料的程序。 它同時包含一控制器命令佇列1 20,其含有尚未發出予磁 碟機125之命令。 第2頁 _ (請先閱讀背面之注意事項再填寫本頁) 經濟部智慧財產局員工消費合作社印製 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐) ·11!11!11 — — — — — — — — — — — —— — — — — — — — — — — ^---- B7 A7 五 經濟部智慧財產局員工消費合作社印製 、發明說明() 磁碟機125也包含一些具處理器格式(未示出)的局部 智慧(local intelligence)及相關的記憶體128,其包含一磁 碟機命令佇列1 3 0。磁碟機命令佇列1 3 〇含有已發給磁碟 機1 2 5但尚未被其執行的命令。 系統的性也’例如電腦系統1 0 〇,通常以反應時間及 輸貫量(throughput)來評估。反應時間,或為等待時間, 為介於命令發出與執行命令間的時間,一個短的反應時間 較佳於一個長反應時間。輸貫量為在一特定時間内系統處 理命令的總數量,一較大的輸貫量較佳於較少的輸貫量。 磁碟控制咨1 1 5與磁碟機1 2 5皆包含企圖減少反應時 間及增加輸貫量的特徵,這些特徵包含於控制器命令仔列 1 20上與磁碟機命令佇列1 30上優先排序與組織命令。 磁碟控制器1 15指定每一個將發出至磁碟機i25之命 令一個優先權位階,最重要的命令將賦予最高之優先權, 關於這三種優先權位階分別是請求階段、前階段及後階 段。 請求階段優先權位階是最高的,並結合著主電腦n 〇 希望讀取資料之命令。通常,當主電腦110發出一讀取命 令予磁碟控制器1 1 5,主電腦1 1 0對該資料有一立即之需 求,因此,當磁碟控制器1 1 5從主電腦1 1 〇收到一讀取命 令時’它賦予讀取命令此請求階段優先權位階。 次咼的優先權是前階段優先權位階,其相對於由主電 腦1 1 0所發出的讀取命令,賦予由磁碟控制器丨丨5發出的 讀取命令。磁碟控制器1 1 5評估最近從主電腦1丨〇接收的 第3頁 ------1¾ (請先閱讀背面之注意事項再填寫本頁) 訂· — •線丨^--- \ ί 【 - * ώ V *t / ㈣912
五、發明說明( 命令歷史,並企圖預測主電腦110將發出的下一個命令。 例如,假設當主電腦i丨〇已經為兩個相鄰資料區塊發出讀 取〒7磁碟控制盗n 5可能會預測來自主電腦11 〇的下 一個命令將是為第三相鄰資料區塊的讀取命令。由這個命 令的推測,磁碟控制器115為第三相鄰資料區塊發出一讀 取命令予磁碟機1 25。如此由主電腦i丨〇之讀取命令推測 而形成的來自磁碟控制器丨丨5之讀取命令,將被賦予此前 階段優先權位階。 後暗段優先權位階比前階段優先權位階為低,磁碟控 制态1 1 5對將被寫入磁碟機1 2 5之資料賦予寫入命令此後 階段優先權位階’當主電腦丨丨〇窝資料至一儲存裝置時, 它通常至少在短時間内已完成資料處理,主電腦丨i 〇傳送 資料給磁碟控制器11 5然稍後並移至其他的工作,主電腦 1 1 0並不等候磁碟控制器丨丨5實際將資料寫入磁碟機 1 2 5 ’所以對於磁碟機丨2 5執行寫入命令並無立即之緊 急。 磁碟控制器1 1 5以優先權之次序組織控制器命令佇列 1 2 0 ’也就是說’有最高優先權位階的命令被放置於控制 器命令佇列1 20的前端’而有最低優先權位階的命令被放 置於控制器命令佇列1 20的尾端,相同優先權位階的命令 則根據他們在佇列的時間量來排序,亦即,命令是根據優 先權及時間來排序。於控制器命令仵列丨2 0前端的命令是 下一個磁碟控制器1 1 5將發送予磁碟機i 2 5的命令,此控 制器命令佇列1 20上命令之組織是企圖用來將最高優先 第4頁 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公爱) (請先閱讀背面之注意事項再填寫本頁) t 訂---------線, 經濟部智慧財產局員工消費合作社印製 47〇912
五、發明說明() 經濟部智慧財產局員工消費合作社印製 權命令之反應時間減到最小。 磁碟控制器1 1 5可以將命令由前階段優先權位階提升 至請求階段優先權位階,當如此之命令被提升至請求階 段’此命令將被置於其他請求階段優先權命令之後。注 意,後階段優先權位階命令是不適合提升的。 磁碟控制器1 1 5亦使用一老化(agillg)演譯法,即於一 預定期間之後提高位於控制器命令佇列丨2 〇上所有命令 的優先權位階。更特別是,經過預定期間之後,於控制器 命令传列丨20上之所有命令被提升至一較高之優先權位 階。須注意’老化演譯法應用於所有命令而不管優先權位 階,老化演譯法是用來避免一個優先權低的命令"餓死,’, 即未被服務’即在新接收的命令具較高優先權位階的情沉 下。 磁碟機1 2 5保留於磁碟機命令佇列丨3 〇上之尚未執行 的命令’磁碟機1 2 5可以執行兩種模式,即順序模式或再 排序模式。於順序模式時,磁碟機1 2 5發出命令予磁碟機 命令佇列1 3 0 ’並以其接收自磁碟控制器丨丨5之順序來執 行命令。於再排序模式時,磁碟機丨2 5改變磁碟機命令佇 列1 3 0上的命令順序,將介於連續執行命令間之尋找時間 及迴轉等待時間減少至最低,因而改進輸貫量。 於再排序模式時,隨著磁碟機命令佇列1 3 0上命令的 數量增加,因為當選擇下一個命令執行時其有較多的命令 以供選擇’磁碟機125變得更有效率。因此,輸貫量增加。 然而’隨著磁碟機命令佇列1 3 0上命令的數量增加’對一 _ 第5頁 _ 本紙張尺度適用中國國豕標準(CNS)A4規格(210 X 297公爱) --------_· (請先閱讀背面之注意事項再填寫本頁) 訂---- 線如---------------------- 470912
發明說明( ,…疋〒令之潛在最大等待時間亦增加,同時’磁碟機1 並不知it磁碟控制H 115所使用之優先權位階,所以於再 排序模式下磁碟機可能執行一個或數個低優先權命令先 於一高優先權命令。 另一特徵,稱為佇列頭端選擇,允許磁碟控制器i i 5 主張將一特定命令置於磁碟機命令佇列130之頭端。當磁 碟控制益1 1 5發出一命令並指定佇列頭端選擇,此指定防 止磁碟機1 2 5再排序磁碟機命令佇列丨3 〇,且此指定命令 是磁碟機1 25下一個將執行之命令。此特徵將指定命令之 等待時間減至最低’但卻犧牲了磁碟機之效率並增加磁碟 機命令佇列1 3 0上其他命令之等待時間。 有一個問題發生,當數個含佇列頭端選擇的連績命令 被發出快於磁碟機1 2 5可以執行命令之速率,在此情況 下’三個含佇列頭端選擇以C 1、C2及C3次序發出的命 令將以C3、C2及C1的次序執行,最久的命令C1將不管 其優先權位階而最後執行。同時,因為佇列頭端選擇,磁 碟機無法再排序命令以改善輸貫量,結果佇列頭端選擇反 而影響命令C 1之反應時間及電腦系統1 00之整體輸貫 量 0 一個理想的系統會將反應時間降至最低而將輸貫量 增加至最大,下述的專利是一些用以陳述此挑戰之先前技 術的代表。 美國專利號碼4,425,615,發明人為Swenson等人’ 標題為,,多磁碟命令仔列之快取記憶體/磁碟次系統之層 第 61_____ 張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐) --------訂---------線 4^ (請先閱讀背面之注意事項再填寫本頁) 經濟部智慧財產局員工消費合作社印制衣 470912 A7 B7 經濟部智慧財產局員工消費合作社印製 五、發明說明( ’入C憶體系統述一磁碟次系統包含數個磁碟機,其 中為每一個磁碟機提供-命令佇列,賦予每-命令佇列一 優先權值及-次序號碼’使得當磁碟機對應於佇列空閒 時,執行最高優先權佇列命令號碼。 美國專利號碼5,548,795,發明人為Au,標題為,,於命 令佇列再排序程序中,決定命令執行依存關係之方法”, 描述一方法其計算最小之等待時間、維持磁碟機命令佇列 内的依存關係訊息及使用此訊息以限制命令以時間及計 算效率的方式再排序。 美國專利號碼5,469,560 ’發明人為Beglin,標題為n 於一自動儲存之圖書館優先排序等待讀取請求,,,描述一 資料處理系統從自動儲存圖書館之磁碟中,讀取目標之優 先排序方法,將等待時間降至最低。 美國專利號碼5,729,71 8,發明人為Au,標題為,,以磁 頭開關、尋找及迴轉等待時間為方程式解決前置時間等待 之系統及利用隱藏磁碟機控制器為命令佇列再排序",描 述一再排序由磁碟機接收命令之系統。等待之前置時間由 仵列内之命令’其相對於活動命令所決定,此命令使最小 之等待前置時間被選擇且提升至佇列前端,並將於活動命 令後執行。 美國專利號碼5,848,226’發明人為Chen等,標題為 ”數位列印系統經由緩衝記憶體傳送優先排序資料”,描述 一磁碟機之控制方法。此控制方法由軟體本體指定優先權 數值予命令輸出並執行具最高優先權之命令。 第7頁 本紙張尺度適用中國國家標準(CNS)A4規袼(210 X 297公釐) ---------------------t--------------------------------- (請先閱讀背面之注意事項再填寫本頁) 470912 經濟部智慧財產局員工消費合作社印製 A7 ------ - Β7 五、發明說明() 用以減少反應時間或增加輸貫量之先前技術,通常是 指主動地再優先排序命令或再排序一佇列以改善系統效 率的方法。典型的改善反應時間會伴隨著輸貫量的減少, 反之亦然。同時’這些技術通常很複雜而且並不一定適用 於商用磁碟機。 發明目的及概诚 : 因此’本發明之一目標為提供磁碟控制器及方法以決 定是否發出一命令予一磁碟機,將高優先權命令之反應時 間降至最低並提高所有命令之輸貫量。 本發明之另一目的為提供適合商用磁碟機運作之磁 碟控制器及方法。 於包含一磁碟控制器及一磁碟機之一電腦系統中,磁 碟控制器藉由考量一相關於其命令之優先權位階與磁碟 機之未決負荷量,以決定是否發出一命令予磁碟機。 磁碟控制器首先決定命令之優先權位階,若此命令優 先權大於一預定位階,且若磁碟機之未決負荷量少於一第 一臨界Μ時則將發出一命令;若此命令優先權不大於一 預定位階,且若磁碟機之未決負荷量少於一第二臨界Ν時 則將發出一命令。一般而言’ Μ关Ν ’而且其數值會以有 利於高優先權命令執行之方式做選擇。 於一實施例中,並不設限於此,磁碟機之未失負荷量 是指未決命令之數量,亦即已被發出但磁碟機尚未執行之 命令。第一臨界Μ設為8個未決命令’且第二臨界ν設 第8頁 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐) —--------訂---------線 (請先閱讀背面之注意事項再填寫本頁) A7 470912 ___________Β7 _ _ 五、發明說明() 為2個未決命令。當考量是否發出一命令予磁碟機時,磁 碟控制器首先決定命令之優先權位階,假設此命令優先權 具最高位階,只要未完成命令數目少於8便會發出命令; 假設此命令優先權不具最高位階,只要未完成命令數目·少 於2便會發出命令。藉由當考量一高優先權命令時使用一 具8個未決命令之第一臨界值及考量一較低優先權命令 時使用一具2個未決命令之第二臨界值,磁碟控制器會調 整需求,將高優先權命令之反應時間降至最低而不會對磁 碟機所有命令之輸貫量造成不利之影響。 只當磁碟機在相對輕之未決負荷量下運作時,磁碟控 制器發出一低優先權命令予磁碟機這可保證只有一小量 之低優先權命令未決,當磁碟控制器必須處理高優先權命 令之突然匯入時。 於系統中,其磁碟機包含一個可將未決命令再排序之 命令佇列,當命令佇列上之命令數量增加時磁碟機變得更 有效率,因為磁碟機選擇下一個命令執行時有更多的命令 得以選擇。當磁碟機在相對輕之未決負荷量下運作,且只 有一少量低優先權命令未決於命令仵列上,則磁碟機有較 少的機會將其效率最佳化。然而,單獨命令之反應時間反 而受惠’因為一最近發出之命令將等待於僅一小量先前發 出命令之後。 本發明允許更高優先權命令加入磁碟機命令佇列而 非低優先權命令’因此,若高優先權命令數量增加時,磁 碟機將有較多的命令得以選擇,而且系統的效率及輪貫量 私紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐) — — — — — — — — — — — — - — — 111 — — ^ ·111!1111 (請先閱讀背面之注意事項再填寫本頁) 經濟部智慧財產局員工消費合作社印製 五、發明說明() 將會改善。 (請先閱讀背面之注意事項再填寫本頁) 圖式簡單說明: \/第1圖是一關於先前技術電腦系統技術的方塊圖; /第2圖是特別適用於本發明實行之一電腦系統方塊圖;以 及 / /第3圖是根據本發明決定是否發出一命令予磁碟機之程 序的一流程圖。 圖號對照說明: 100 先前技術電腦系統 110 主電腦 115 磁碟控制器 117 處理器 118 記憶體 120 控制器命令佇列 125 磁碟機 128 記憶體 130 磁碟機命令佇列 200 電腦系統 210 主電腦 215 磁碟控制器 216 處理器 217 記憶體 218 未決負荷量 219 命令發出程序 220 控制器命令佇列 225 磁碟機 228 記憶體 230 磁碟機命令佇列 250 資料記憶體 305 未完成命令數目 經濟部智慧財產局員工消費合作社印製 發明詳細說明: 第2圖是一電腦系統200之一方塊圖,其主要元件為 第10頁 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐) 47〇912
經濟部智慧財產局員工消費合作社印製 五、發明說明() —主電腦2 1 〇、一磁碟控制器2 1 5及一磁碟機225 ’此三 元件之運作及他們彼此間之關係,與上述第一圖所描述之 内容相似。 磁碟機2 2 5可以是一商用的、現成的、元件的’有時 稱為商用磁碟機,其符合小型電腦系統介面(SCSI)協定。 然而,本發明並不侷限於此S C SI協定,而可以應用於任 何基於執行命令之效率將命令再排序之磁碟機。 磁碟機225包含一處理器(未示出)及相關的記憶體 228 ’其包含一磁碟機命令佇列230。磁碟機命令佇列23〇 含有已發出給磁碟機225但尚未被其執行的命令,磁碟機 2 2 5可將磁碟機命令仔列2 j 0上的命令再排序。 磁碟控制器2 1 5包含一處理器2 1 6及相關的記憶體 2 1 7以執行關於主電腦2 1 0及磁碟機2 2 5改變資料的程 序。一控制器命令佇列220包含尚未發出給磁碟機225的 命令’磁碟控制器2 1 5亦維持一未決負荷量數值2 1 8其表 示磁碟機2 2 5之一未決負荷量’未決負荷量數值2 1 8可以 是任何指示值其代表磁碟機225之未決負荷量,例如執行 未決命令或很多未決命令的估計時間。命令發出程序2 j 9 決定是否發出一命令予磁碟機225。 於一實施例中,未決負荷量數值218是一未完成命令 數目(OCC),亦是已發出給磁碟機225但尚未被其執行的 命令數量。換句話說’未決負荷量數值218表示磁碟機命 令佇列2 3 0上的命令數量’當磁碟控制器2 1 5發出一命令 予磁碟機225時,其增加未決負荷量數值2 1 8的數量,本 第11頁 11 ---^------;---- C請先間讀背面之注意事頊存填寫本頁)
經濟部智慧財產局員工消費合作社印製 470912 五、發明說明() 磁碟機225執行一命令,磁碟控制器減少未決負荷量數值 2 1 8的數量。 磁碟控制器2 1 5指定一優先權位階予每一個即將發出 給磁碟機22 5的命令,如上所述,於第一圖中,請求階段 是最高的優先權位階。於一實施例中,一命令優先權可以 處於請求階段’或是可以處於一較低的優先權位階,此較 低的優先權位階並不分彼此。亦即,一命令優先權可以處 於請求階段,或是可以不處於請求階段。然而,於一般情 形,本發明可用優先權位階之任一數字運作。 當考量是否發出一命令予磁碟機225時,命令發出程 序219首先決定命令之優先權位階,假設命令優先權是在 處於請求階段,只要當未完成命令數目少於8,命令就會 發出;假設命令優先權不處於請求階段,只要當未完成命 令數目少於2 ’命令就會發出。 此演譯法允許最多8個命令停佇於磁碟機命令佇列 2 3 0上’例如這會發生於當電腦系統2 〇 〇忙到足以累積8 個請求階段命令、當8個較低優先權命令已變成請求階 段,或是此兩例之組合。另一方面,僅2個較低優先權命 令可以停佇於磁碟機命令佇列23 0上。因此,當電腦系統 2 0 0於工作量輕之情形下運作’一請求階段命令將會在不 超過2個先前已發出之命令之後等待。此方法提供請求階 段命令一優先處理’使其反應時間降至最低,而允許磁碟 機2 2 5重新將磁碟機命令彳宁列2 3 〇上之命令排列,將輸貫 量增加至最大。 _____ 第12頁 本紙張尺度適用中國國家標準(CNS)A4規格⑵〇 x 297公]) --- ------------------—^---------^ i^w. (請先閱讀背面之注意事項再填寫本頁) 470912 A7 B7 經濟部智慧財產局員工消費合作社印製 五、發明說明() 第3圖是一命令發出程序219之流程圖300。當磁碟 控制器215必須決定是否發出一命令予磁碟機⑵時,將 援用命令發出程序219,這將發生於當主電腦11〇收到一 個新命令、磁碟機125完成一先前已發出之命令、或是一 命令已被提升至一較高優先權位階,所考量之命令是位於 控制器命令佇列22 0頭端之命令。 如先前所述’未決負荷量218表示磁碟機225之一未 決負荷量,且於較佳實施例中,其保持一未完成命令數 目。如第3圖所示,命令發出程序219評估未完成命令數 目(OCC)305。 於步騾3 1 0中,程序開始於決定考量中之命令是否有 一請求階段優先權位階’若優先權位階是處於請求階段, 則程序前進至步驟3 1 5 ;若優先權位階不是處於請求階 ^又’則程序如進至步驟3 2 5。注意,於此實施例中,請求 階段是一優先權位階臨界,並不需要考量優先權位階大於 清求階段的狀況’因為請求階段是最高可能的優先權位 階。然而’一般狀況而言’此優先權位階臨界並不需要是 最高的優先權位階,而且程序會決定命令優先權位階是否 大於或等於優先權位階臨界。 於步驟315,此程序決定未完成命令數目305是否少 於一數目為8的第一臨界,換句話說,其決定是否磁碟機 命令佇列230含有少於8個未完成命令,若未完成命令數 目少於8,程序則前進至步驟320;若未完成命令數目並 不少於8,程序則前進至步驟3 3 5。 第13肓 本紙張尺度ig用中國國家標準(CNS)A4規格(210 X 297公愛1 "" "" ---------—--------^--------- (請先閱讀背面之注意事項再填寫本頁) 470912 A7 B7 經 濟 部 智 慧 財 產 局 員 工 消 費 合 作 社 印 製 五、發明說明( 於步驟320’此私序發出考量中之命令予磁碟機225, 其後’程序前進至步驟335。 於步驟:)25’此耘序會決定未完成命令數目3〇5是否 少於-數量為2的第二臨界’換句話說,其決定是否磁碟 機命令侍列230含有少於2個未完成命令,若未完成命令 數目少於2,程序則前進至步驟33〇 ;若未完成命令數目 並不少於2 ’程序則前進至步驟3 3 5。 於步驟^0’此程序發出考量中之命令予磁碟機225, 其後’程序前進至步驟335。 於步驟3 3 0 ’此程序結束。 注意,命令發出程序220並不使用先前所述之佇列頭 端選擇,磁碟機225可以於再排列模式下運作而且將磁碟 機命令佇列230上之命令再排列,此允許磁碟機23〇於再 排列模式可得下將其輸貫量最佳化。 當執行這裡所表示之本發明所需程序係如已載入磁 碟控制器215之記憶體217中,其程序也可以配置於儲存 媒體上,例如於第2圖之資料記憶體250,其後可載入吃 憶體2 1 7中。 在此必須了解的是先前所述僅用於對本發明之描 述,熟悉此項技藝之人可以於不脫離本發明範圍之下雙叶 出不同之替代方案及修改。例如,命令發出程序不需限定 為兩個優先權位嘴或兩個未決負荷量臨界,可以考量多個 優先權位階及臨界。其次,磁碟控制器並不需要如第二圖 磁碟控制器2 1 5所代表之一單一元件,而它可以是障藏於 第u頁 本紙張尺度適用中國國家標準(CNS)A4規格(210 χ 297公釐) ---------------------訂---------線"^^ (請先閱讀背面之注音?事項再填寫本頁) A7 470912 B7 — - 一^ — 1 —一丨丨 _丨 — 五、發明說明() 另一裝置中,如主電腦2 1 〇。同時’本發明並不侷限於僅 有一磁碟機之電腦系統’於多磁碟機之系統,磁碟控制器 2 1 5對於多個磁碟機中之每一個保持一控制器命令佇列 220及一未決負荷量218。因此’本發明欲包含落入申請 專利範圍内之所有替代方案、修改方法及其變化。 !.!!------f (請先閱讀背面之注意事項再填寫本頁) 訂----
經濟部智慧財產局員工消費合作社印製 第15頁 本紙張尺度適用中國國家標準(CNS)A4規格(210 x 297公爱)

Claims (1)

  1. 470912 A8 B8 C8
    、申睛專利範圍 經濟部智慧財產局員工消費合作社印製 1,—種用以決定是否從一磁碟控制器發出一命令予一磁 碟機的方法’該磁碟控制器維持一代表該磁碟機之未決 負荷量之未決負荷量,該命令具有一相關之優先權位 階’該磁碟控制器執行以下步驟: (A) 決定該優先權位階是否大於或等於一臨界優先 權位階; (B) 當步驟A決定該優先權位階大於或等於該臨界 優先權位階時,決定該未決負荷量數值是否少於一第一 5¾界數值; (C) 當步驟A決定該優先權位階不大於或等於該臨 界優先權位階時,決定該未決負荷量數值是否少於一第 二臨界數值; (D) 發出命令予該磁碟機當步驟b決定該未決負荷 量數值少於該第一臨界數值’或是步驟C決定該未決 負荷量數值少於該第二臨界數值, 其中上述之第二臨界數值不等於該第一臨界數值, 而且當該優先權位階大於或等於該臨界優先權位階 時’以有利於發出該命令的方式選擇該第一臨界數值及 該第二臨界數值。 2,如申請專利範圍第1項所述之方法,其中上述之磁碟機 包含一磁碟佇列,其含有已發出但該磁碟機尚未執行之 未完成命令。 第16頁 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐) —^—·--------------—訂------^—線 (請元閱讀背面之注意事項再填寫本頁) 470912 AS BS C8 D8 六、申請專利範圍 3 .如申請專利範圍第2項所述之方法,其中上述之磁碟機 可以將磁碟佇列上的未完成命令再排序。 (請元闓讀背靣之注意事項再填寫本頁) 4.如申請專利範圍第1項所述之方法,其中上述之未決負 荷量數值是已發出但該磁碟機尚未執行之未完成命令 數目,。 5 .如申請專利範圍第4項所述之方法,其中當該命令發出 予磁碟機時該未完成命令數目增加,當該命令被磁碟機 所執行時則減少。 6. 如申請專利範圍第1項所述之方法,,其中上述之優先權 位階是多個優先權位階其中之一。 7. —種磁碟控制器,決定是否發出一命令予一磁碟機,該 命令具有一相關優先權位階,該磁碟控制器至少包含: (A) —記憶體,用以儲存代表該磁碟機之未決負荷量 之未決負荷量數值; 經濟部智慧財產局員工消費合作社印製 (B) —處理器,用以執行: (1) 一第一比較以決定該優先權位階是否大於或 等於一臨界優先權位階; (2) —第二比較以決定該未決負荷量數值是否少 於一第一臨界數值,當該第一比較決定該優先權位階大 於或等於該臨界優先權位階; 第17頁 本紙張&度適用中國國家標準(CNS)A4規格(210 X 297公釐) 470912 Λ8 B8 C8 D8 六、申請專利範圍 (3 ) 一第三比較以決定該未決負荷量數值是否少 於一第二臨界數值,當該第一比較決定該優先權位階不 大於或等於該臨界優先權位階;以及 其中上述之處理器發出該命令予該磁碟機當該第二 比較決定該未決負荷量數值少於該第一臨界數值,或該 第三比較決定該未決負荷量數值少於該第二臨界數 值,以及 其中上述之第二臨界數值不等於該第一臨界數值, 而且當該優先權位階大於或等於該臨界優先權位階 時’以有利於發出該命令的方式選擇該第一臨界數值及 .該第二臨界數值。 8.如申請專利範圍第7項所述之磁碟控制器,其中上述之 磁碟機包含一本有已發出但該磁碟機尚未執行之未完 成命令之磁碟佇列。 9·如申請專利範圍帛8項所述之磁碟控制器,其中上述之 磁碟機可以將該磁碟作列上的該未完成命令再排序。 (請先閱讀背面之注意事項再填寫本頁) t 經濟部智慧財產局員工消費合作社印製 1 0 ·如中請專利範圍第7項 之未決負荷量數值是已 完成命令數目。 所述之磁碟控制器,其中上述 發出但該磁碟機尚未執行之未 1.如申請專利範圍第10項所述之磁碟控制器,其中當該 本紙張尺度適用中國國家標準(CNS)A4規格(21〇 X 29/么度 訂---------線ΙΦ---------------- 470912 Λ8 B8 C8 08 \ 經濟部智慧財產局員工消費合作社印製 申請專利範圍 命令發出予該磁碟機時,該處理器增加該未完成命令數 目,當該命令被該磁碟機所執行時,則減少該未完成命 令數目。 1 2.如申請專利範圍第7項所述之磁碟控制器,其中上述 之優先權位階是多個優先權位階其中之一。 1 3 . —種儲存一磁碟控制器程式之記憶體媒體,該磁碟控 制器決定是否發出一命令予一磁碟機,該磁碟控制器維 持一代表磁碟機之未決負荷量之未決負荷量數值,該命 令具有一相關之優先權位階1,該記憶體媒體至少包含: (A) 用以控制該磁碟控制器的裝置,決定該優先權位 階是否大於或等於一臨界優先權位階; (B) 用以控制該磁碟控制器的裝置,決定該未決負荷 量數值是否少於一第一臨界數值,當裝置 A決定該優 先權位階大於或等於該臨界優先權位階時; (C) 用以控制該磁碟控制器的裝置,決定該未決負荷 量數值是否少於一第二臨界數值,當裝置A決定該優 先權位階不大於或等於該臨界優先權位階時;以及 (D) 用以控制該磁碟控制器的裝置,該磁碟控制器發 出該命令予該磁碟機當裝置 B決定該未決負荷量數值 少於該第一臨界數值,或是裝置C決定該未決負荷量 數值少於該第二臨界數值, 其中上述之第二臨界數值不等於該第一臨界數值, 第19頁 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐) —7---*---------------訂iT----^---線 (請元閱讀背面之注意事項再填寫本頁) 470912 Λ8 B8 C8 DS 六、申請專利範圍 (請,元閱讀背S之注意事項再填寫本頁) 而且當該優先權位階大於或等於該臨界優先權位階 時,以有利於發出該命令的方式選擇該第一臨界數值及 該第二臨界數值。 1 4.如_請專利範圍第1 3項所述之記憶體媒體,其中上述 之磁碟機包含一含有已發出但該磁碟機尚未執行之未 完成命令之磁碟佇列。 15.如申請專利範圍第14項所述之記憶體媒體,其中上述 之磁碟機可以將該磁碟佇列上的該未完成命令再排 序。 1 6.如申請專利範圍第1 3項所述之記憶體媒體,其中上市 之未決負荷量數值是已發出但該磁碟機尚未執行之未 完成命令數目。 經濟部智慧財產局員工消費合作社印製 1 7.如申請專利範圍第1 6項所述之記憶體媒體,更包含用 以控制該磁碟控制器的裝置,當該命令發出予該磁碟機 時,增加該未完成命令數目,當該命令被該磁碟機所執 行時,則減少該未完成命令數目。 1 8.如申請專利範圍第1 3項所述之記憶體媒體,其中上述 之優先權位階是多個優先權位階其中之一。 第20頁 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐)
TW089107930A 1999-07-26 2000-04-26 A method and system for ordering priority commands on a commodity disk drive TW470912B (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US09/360,261 US6301639B1 (en) 1999-07-26 1999-07-26 Method and system for ordering priority commands on a commodity disk drive

Publications (1)

Publication Number Publication Date
TW470912B true TW470912B (en) 2002-01-01

Family

ID=23417252

Family Applications (1)

Application Number Title Priority Date Filing Date
TW089107930A TW470912B (en) 1999-07-26 2000-04-26 A method and system for ordering priority commands on a commodity disk drive

Country Status (12)

Country Link
US (1) US6301639B1 (zh)
EP (1) EP1072970B1 (zh)
JP (1) JP3588311B2 (zh)
KR (1) KR100415861B1 (zh)
CN (1) CN1117326C (zh)
AT (1) ATE357691T1 (zh)
DE (1) DE60033994T2 (zh)
HK (1) HK1032274A1 (zh)
ID (1) ID26676A (zh)
MY (1) MY125125A (zh)
SG (1) SG85716A1 (zh)
TW (1) TW470912B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI447586B (zh) * 2009-07-17 2014-08-01 Lsi Corp 在由一磁碟機傳送至一主機裝置的資訊中插入一間隙之系統、方法及電腦程式產品

Families Citing this family (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4111472B2 (ja) 1998-05-15 2008-07-02 キヤノン株式会社 通信制御方法及び装置及び通信システム
JP4109770B2 (ja) * 1998-12-02 2008-07-02 キヤノン株式会社 通信制御方法及び機器
US6463532B1 (en) * 1999-02-23 2002-10-08 Compaq Computer Corporation System and method for effectuating distributed consensus among members of a processor set in a multiprocessor computing system through the use of shared storage resources
US6578107B1 (en) * 2000-05-25 2003-06-10 International Business Machines Corporation Method and system for prefetching data where commands are reordered for execution
US6728792B2 (en) * 2001-01-04 2004-04-27 International Business Machines Corporation Priority queue with arbitrary queuing criteria
US6640258B2 (en) * 2001-01-10 2003-10-28 Hitachi Global Storage Technologies Netherlands B.V. Method and apparatus for command queue ordering with a sort time reduction algorithm
US20030041190A1 (en) * 2001-06-21 2003-02-27 Sony Corporation And Sony Electronics, Inc. System and method for efficiently performing a command swapping procedure
US6851011B2 (en) * 2001-08-09 2005-02-01 Stmicroelectronics, Inc. Reordering hardware for mass storage command queue
JP4176341B2 (ja) * 2001-10-23 2008-11-05 株式会社日立製作所 記憶制御装置
US6848020B2 (en) * 2001-11-27 2005-01-25 International Business Machines Corporation Command aging method for data storage devices
JP3683211B2 (ja) * 2001-12-10 2005-08-17 エヌイーシーコンピュータテクノ株式会社 ノード間データ転送方法及びノード間データ転送装置
US6965965B2 (en) * 2002-06-06 2005-11-15 International Business Machines Corporation Dynamic response shaping for command aging
US7093071B2 (en) * 2002-10-09 2006-08-15 Intel Corporation Queued copy command
US7073021B2 (en) 2003-03-21 2006-07-04 Seagate Technology Llc Semantically-aware, dynamic, window-based disc scheduling method and apparatus for better fulfilling application requirements
CN100392627C (zh) * 2003-12-22 2008-06-04 威盛电子股份有限公司 存储器存取要求优先序列仲裁装置及方法
JP2005332236A (ja) * 2004-05-20 2005-12-02 Fujitsu Ltd I/oコマンド投入数の動的変換システム
US7464218B2 (en) * 2004-08-31 2008-12-09 Seagate Technology Llc Method for improving data throughput for a data storage device
JP5030387B2 (ja) * 2005-03-08 2012-09-19 エイチジーエスティーネザーランドビーブイ データ記憶装置
US7752488B2 (en) * 2006-01-06 2010-07-06 International Business Machines Corporation Method to adjust error thresholds in a data storage and retrieval system
US20080086599A1 (en) * 2006-10-10 2008-04-10 Maron William A Method to retain critical data in a cache in order to increase application performance
US20080086598A1 (en) * 2006-10-10 2008-04-10 Maron William A System and method for establishing cache priority for critical data structures of an application
JP5171602B2 (ja) * 2008-12-25 2013-03-27 京セラドキュメントソリューションズ株式会社 Raidドライバ及びこれを備えた電子機器並びにraidに対するアクセス要求調停方法
JP2010211428A (ja) * 2009-03-10 2010-09-24 Fujitsu Ltd ストレージ装置、中継装置、及びコマンド発行制御方法
JP5402698B2 (ja) * 2010-02-10 2014-01-29 富士通株式会社 記憶装置への情報蓄積制御方法
CN102955753B (zh) * 2011-08-30 2016-08-03 安凯(广州)微电子技术有限公司 一种迟滞型数据流控制电路
JP2012038330A (ja) * 2011-10-05 2012-02-23 Hitachi Global Storage Technologies Netherlands Bv ハードディスクドライブ
US8255618B1 (en) * 2011-10-06 2012-08-28 Google Inc. Performance isolation in a shared memory device
US8886872B1 (en) 2011-10-06 2014-11-11 Google Inc. Memory command dispatch in a data storage device
CN103605481B (zh) * 2013-10-31 2017-07-14 华为技术有限公司 磁盘控制方法、装置及设备
US10169948B2 (en) * 2014-01-31 2019-01-01 International Business Machines Corporation Prioritizing storage operation requests utilizing data attributes
US20160299686A1 (en) * 2015-04-08 2016-10-13 Kabushiki Kaisha Toshiba Disk device and controlling method of disk device
US10198188B2 (en) 2017-03-09 2019-02-05 Kabushiki Kaisha Toshiba Disk drive that efficiently handles random mixed-R/W command-streams
US10303373B2 (en) 2017-06-12 2019-05-28 Seagate Technology Llc Prioritizing commands in a data storage device
CN112416826B (zh) * 2020-11-20 2023-09-22 成都海光集成电路设计有限公司 专用计算芯片、dma数据传输系统及方法
CN112735115A (zh) * 2020-12-28 2021-04-30 新天科技股份有限公司 多线程业务处理方法、装置、服务器及存储介质

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4425615A (en) 1980-11-14 1984-01-10 Sperry Corporation Hierarchical memory system having cache/disk subsystem with command queues for plural disks
JPH0388019A (ja) 1989-08-31 1991-04-12 Toshiba Corp データ処理装置
JP2780821B2 (ja) * 1989-09-22 1998-07-30 株式会社日立製作所 オンライン中のダンプ方式およびディスクサブシステム
JPH06309200A (ja) 1991-04-10 1994-11-04 Internatl Business Mach Corp <Ibm> ボリュームからオブジェクトを読取る方法、並びに階層式記憶システム及び情報処理システム
US5522054A (en) 1993-09-13 1996-05-28 Compaq Computer Corporation Dynamic control of outstanding hard disk read requests for sequential and random operations
US5729718A (en) 1993-11-10 1998-03-17 Quantum Corporation System for determining lead time latency as function of head switch, seek, and rotational latencies and utilizing embedded disk drive controller for command queue reordering
US5557528A (en) 1993-11-23 1996-09-17 Storage Technology Corporation Task prioritization for a tape storage system
US5548795A (en) 1994-03-28 1996-08-20 Quantum Corporation Method for determining command execution dependencies within command queue reordering process
JPH08171457A (ja) * 1994-12-20 1996-07-02 Matsushita Electric Ind Co Ltd データ転送制御装置
US5787482A (en) * 1995-07-31 1998-07-28 Hewlett-Packard Company Deadline driven disk scheduler method and apparatus with thresholded most urgent request queue scan window
US5937205A (en) * 1995-12-06 1999-08-10 International Business Machines Corporation Dynamic queue prioritization by modifying priority value based on queue's level and serving less than a maximum number of requests per queue
JPH09305320A (ja) * 1996-05-14 1997-11-28 Matsushita Electric Ind Co Ltd データ記憶装置
US5848226A (en) 1996-06-03 1998-12-08 Xerox Corporation Prioritized data transfer through buffer memory in a digital printing system
US6078998A (en) * 1997-02-11 2000-06-20 Matsushita Electric Industrial Co., Ltd. Real time scheduling of prioritized disk requests
JPH1165775A (ja) * 1997-08-18 1999-03-09 Kobe Nippon Denki Software Kk 磁気ディスクコントローラの制御方法
US6145052A (en) * 1997-11-04 2000-11-07 Western Digital Corporation Disk drive with adaptive pooling for command reordering

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI447586B (zh) * 2009-07-17 2014-08-01 Lsi Corp 在由一磁碟機傳送至一主機裝置的資訊中插入一間隙之系統、方法及電腦程式產品

Also Published As

Publication number Publication date
ATE357691T1 (de) 2007-04-15
EP1072970B1 (en) 2007-03-21
EP1072970A1 (en) 2001-01-31
SG85716A1 (en) 2002-01-15
KR20010066933A (ko) 2001-07-11
DE60033994T2 (de) 2007-12-06
HK1032274A1 (en) 2001-07-13
JP3588311B2 (ja) 2004-11-10
CN1282030A (zh) 2001-01-31
DE60033994D1 (de) 2007-05-03
KR100415861B1 (ko) 2004-01-31
MY125125A (en) 2006-07-31
CN1117326C (zh) 2003-08-06
US6301639B1 (en) 2001-10-09
JP2001067297A (ja) 2001-03-16
ID26676A (id) 2001-02-01

Similar Documents

Publication Publication Date Title
TW470912B (en) A method and system for ordering priority commands on a commodity disk drive
US6170042B1 (en) Disc drive data storage system and method for dynamically scheduling queued commands
US6292856B1 (en) System and method for application influence of I/O service order post I/O request
US6182177B1 (en) Method and apparatus for maintaining one or more queues of elements such as commands using one or more token queues
US7480754B2 (en) Assignment of queue execution modes using tag values
US7721035B2 (en) Multiprocessor system, processor and interrupt control method
US20070136496A1 (en) Continuous media priority aware storage scheduler
US7234004B2 (en) Method, apparatus and program product for low latency I/O adapter queuing in a computer system
US6917992B2 (en) Method and apparatus for efficient command queuing within a serial ATA environment
US6981118B2 (en) Storage control system
JPH0760415B2 (ja) マルチタスキング・データ処理システム
JPH09198264A (ja) データ処理システム用の動的待ち行列優先順位づけのシステムおよび方法
US7681196B2 (en) Providing optimal number of threads to applications performing multi-tasking using threads
US20070168626A1 (en) Transforming flush queue command to memory barrier command in disk drive
US20050066138A1 (en) Multiple storage element command queues
JP2010102458A (ja) コマンドの起動を制御するストレージシステム及び方法
US6665746B1 (en) System and method for prioritized context switching for streaming data memory transfers
US5339449A (en) System and method for reducing storage channels in disk systems
EP2438513B1 (en) Scheduling realtime information storage system access requests
US20080301381A1 (en) Device and method for controlling commands used for flash memory
JP5340658B2 (ja) コマンド選択のメモリ・コントローラ読み取りキュー動的最適化
US20220222013A1 (en) Scheduling storage system tasks to promote low latency and sustainability
US7506075B1 (en) Fair elevator scheduling algorithm for direct access storage device
JP2007108950A (ja) I/o処理装置及び方法
US6845404B2 (en) System, method and computer program product for selecting a mode of operation of a device in an information handling system

Legal Events

Date Code Title Description
GD4A Issue of patent certificate for granted invention patent