[發明專利]用于用單個命令對多個不連續地址范圍的傳送進行排隊的方法和系統有效
| 申請號: | 200980139230.3 | 申請日: | 2009-12-07 |
| 公開(公告)號: | CN102171649A | 公開(公告)日: | 2011-08-31 |
| 發明(設計)人: | R·羅耶;A·赫夫曼 | 申請(專利權)人: | 英特爾公司 |
| 主分類號: | G06F9/06 | 分類號: | G06F9/06;G06F9/30;G06F13/16;G06F3/06;G06F12/00 |
| 代理公司: | 永新專利商標代理有限公司 72002 | 代理人: | 劉瑜;王英 |
| 地址: | 美國加*** | 國省代碼: | 美國;US |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 用于 單個 命令 多個不 連續 地址 范圍 傳送 進行 排隊 方法 系統 | ||
技術領域
本公開總體上涉及訪問硬盤和/或非易失性存儲器的領域。具體地說,本公開涉及在單個命令內對多個非連續地址范圍的傳送進行排隊。
背景技術
在現代計算系統中可以采用各種存儲設備來存儲和訪問軟件和/或數據。通常這些存儲設備可以包括諸如硬盤驅動器(HDD)的磁存儲設備、諸如光盤(CD)的光存儲盤、和閃速存儲器固態驅動器(SSD)。
在HDD中,信息被存儲在高速旋轉的磁盤上,并且由多個讀/寫磁頭從盤片讀取以及向盤片寫入信息。微控制器控制磁頭相對于盤片的運動,微控制器與外部接口進行通信并與磁盤高速緩存緩沖器一起工作。數據可以被存儲在盤片的不同部分,并且當工作負載為隨機或接近隨機時,可能花費大量時間將磁頭移動到盤片上的所需位置。重新排序寫請求和讀取先行(look-ahead?read)能夠明顯提高HDD系統中的性能。
邏輯區塊尋址(LBA)通常用于指定在存儲設備中數據區塊的位置。LBA可以是指地址或是指區塊(例如,索引),其中第一區塊為LBA=0、第二區塊為LBA=1等等。LBA方案替代了諸如磁柱-磁頭-扇區(CHS)方案這樣的早期尋址方案,該方案向操作系統軟件暴露了存儲設備的物理細節。邏輯區塊通常可以是512字節或1024字節(ISO?9660?CD使用2048字節的區塊)。需要區塊級I/O的系統調用將LBA定義傳遞給存儲設備驅動器。對于一些簡單的情況,邏輯區塊大小可以與能夠從存儲設備中讀取或向存儲設備寫入的最小物理扇區的大小相同。
在SSD中,基于NAND(或NOR)邏輯的閃速存儲器將數據存儲在微控制器管理的一些芯片中。SSD具有更快的讀取時間(即,僅僅要找到和讀取一個或多個所需單元),但是具有相對較慢的寫入時間(即,在一個或多個單元中寫入新數據之前必須從其中擦除現有數據)。因為不必擔心旋轉的磁盤或讀/寫磁頭,所以其訪問等待時間比HDD的訪問等待時間要短。
為了通過重新排序數據傳送請求來實現更高的性能,已經引入諸如原生命令排隊(Native?Command?Queuing,NCQ)的排隊技術(例如,在串行ATA(Advanced?Technology?Attachment,高級技術附件)HDD中使用)來允許對讀和寫命令執行順序進行優化。用于SSD的排隊的一個優點在于,多個命令能夠被傳送到設備從而使得在設備完成一組命令時不會被阻塞。還存在得益于讓盡可能多的數據進行傳送的大規模并行的實現。
主機控制器接口(例如,用于串行ATA(SATA)設備的高級主機控制器接口(AHCI),或用于閃速存儲器存儲設備的非易失性存儲器主機控制器接口(NVMHCI))是一種硬件裝置,其允許軟件通過系統存儲器結構與設備(例如主機總線適配器)進行通信,以便利用諸如NCQ這樣的技術。
許多現代操作系統,例如MicrosoftWindowsBerkeley?Software?Distribution(BSD,有時被稱為Berkeley?Unix)和Linux為諸如AHCI這樣的主機控制器接口提供支持,但是這種接口可能僅僅支持命令隊列中有限數量的(即,32個)未執行(in-flight)命令,并且對于每個完成的請求可能產生系統中斷。通常,許多請求或命令能夠容易地被一起滿足和完成,并且隨著設備性能的提高,它們能夠具有處理更多命令的能力。另一方面,SCSI協議可以允許對多達264個命令進行排隊,但是支持這種長隊列的實現可能花費昂貴,并且協議開銷會明顯大于AHCI中的協議開銷。
迄今為止,還沒有完全研究出用于為較大數量的存儲設備傳送請求進行服務的更有效的方法、結構和系統。
附圖說明
本發明以示例的方式說明并且不受限于附圖的圖示。
圖1示出了用于用單個命令請求多個不連續地址范圍的存儲設備傳送的系統的一個實施例。
圖2示出了用于用單個命令請求多個不連續地址范圍的存儲設備傳送處理的一個實施例的流程圖。
圖3示出了用于用單個命令請求多個不連續地址范圍的存儲設備傳送處理的一個可替代的實施例的流程圖。
圖4a示出了用于說明存儲設備傳送的地址范圍的數據結構的一個實施例。
圖4b示出了包括不連續地址范圍的已標記傳送命令和已標記命令列表的命令表數據結構的一個實施例。
圖4c示出了用于說明存儲設備已標記傳送命令的數據結構的一個實施例。
圖4d示出了用于說明存儲設備已標記傳送命令的數據結構的一個可替代的實施例。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于英特爾公司,未經英特爾公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/200980139230.3/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種石灰石粉倉
- 下一篇:內燃機中的滑動構件特別是一種活塞環





