亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

Io請求的處理方法及裝置制造方法

文檔序號:6524513閱讀:504來源:國知局
Io請求的處理方法及裝置制造方法
【專利摘要】本發(fā)明實施例公開了一種IO請求的處理方法及裝置,涉及信息【技術領域】,可以提高SSD對IO請求的處理效率,減少系統(tǒng)資源的浪費。所述方法包括:首先接收主機發(fā)送的第一IO請求信息,然后判斷第一存儲結構體中是否保存有第二IO請求信息,若所述第一存儲結構體中保存有所述第二IO請求信息,則釋放所述第二IO請求信息,最后將所述第二IO請求信息保存在第二存儲結構體中,并且將所述第一IO請求信息保存在所述第一存儲結構體中。
【專利說明】IO請求的處理方法及裝置
【技術領域】
[0001]本發(fā)明涉及信息【技術領域】,特別涉及一種IO請求的處理方法及裝置。
【背景技術】
[0002]存儲領域常用的數(shù)據(jù)載體是機械硬盤和固態(tài)硬盤(SSD, Solid State Drive),由于SSD具有高性能、低延遲、低功耗、環(huán)境適應性強等優(yōu)點,同時成本也在不斷降低,因此目前對于SSD應用的場景也越來越廣泛。
[0003]SSD —般由控制器和NAND flash (存儲器)芯片組成,目前,SSD控制器在接收到主機發(fā)送的IO請求后,需要申請內(nèi)存空間來保存IO請求信息,其中,因為性能要求,一般將接收到的IO請求信息存放在訪問速度較快的隨機存儲器(RAM,Random Access Memory)中。然而由于RAM空間較小,通常為幾十到幾百kB,從而導致SSD對IO請求的處理效率較低,NAND flash的高速讀寫性能未被充分利用,造成系統(tǒng)資源的浪費。

【發(fā)明內(nèi)容】

[0004]本發(fā)明實施例提供一種IO請求的處理方法及裝置,可以提高SSD對IO請求的處理效率,減少系統(tǒng)資源的浪費。
[0005]本發(fā)明實施例采用的技術方案為:
[0006]一種IO請求的處理方法,包括:
[0007]接收主機發(fā)送的第一 IO請求信息;
[0008]判斷第一存儲結構體中是否保存有第二 IO請求信息;
[0009]若所述第一存儲結構體中保存有所述第二 IO請求信息,則釋放所述第二 IO請求
信息;
[0010]將所述第二 IO請求信息保存在第二存儲結構體中,并且將所述第一 IO請求信息保存在所述第一存儲結構體中。
[0011]一種IO請求的處理裝置,包括:
[0012]接收單元,用于接收主機發(fā)送的第一 IO請求信息;
[0013]判斷單元,用于判斷第一存儲結構體中是否保存有第二 IO請求信息;
[0014]釋放單元,用于若所述第一存儲結構體中保存有所述第二 IO請求信息,則釋放所述第二 IO請求彳目息;
[0015]保存單元,用于將所述第二IO請求信息保存在第二存儲結構體中,并且將所述第一 IO請求信息保存在所述第一存儲結構體中。
[0016]本發(fā)明實施例提供的IO請求的處理方法及裝置,首先接收主機發(fā)送的第一 IO請求信息,然后判斷第一存儲結構體中是否保存有第二 IO請求信息,若所述第一存儲結構體中保存有所述第二 IO請求信息,則釋放所述第二 IO請求信息,最后將所述第二 IO請求信息保存在第二存儲結構體中,并且將所述第一 IO請求信息保存在所述第一存儲結構體中。與目前將接收到的IO請求消息只存放在訪問速度較快的隨機存儲器(RAM,Random AccessMemory)中相比,本發(fā)明實施例通過同時使用RAM和雙倍速率同步動態(tài)隨機存儲器(DDR,Double Data Rate)兩塊存儲空間處理IO請求信息,可以提高SSD對IO請求的處理效率,減少系統(tǒng)資源的浪費。
【專利附圖】

【附圖說明】
[0017]為了更清楚地說明本發(fā)明實施例中的技術方案,下面將對實施例或現(xiàn)有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領域普通技術人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其它的附圖。
[0018]圖1為本發(fā)明實施例一提供的一種IO請求的處理方法流程圖;
[0019]圖2為本發(fā)明實施例提供的另一種IO請求的處理方法流程圖;
[0020]圖3為本發(fā)明實施例提供的一種IO請求的處理裝置結構示意圖;
[0021]圖4為本發(fā)明實施例提供的另一種IO請求的處理裝置結構示意圖;
[0022]圖5為本發(fā)明實施例提供的SSD結構示意圖。
【具體實施方式】
[0023]下面將結合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例。基于本發(fā)明中的實施例,本領域普通技術人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其它實施例,都屬于本發(fā)明保護的范圍。
[0024]為使本發(fā)明技術方案的優(yōu)點更加清楚,下面結合附圖和實施例對本發(fā)明作詳細說明。
[0025]本發(fā)明實施例提供一種IO請求的處理方法,如圖1所示,所述方法包括:
[0026]101、SSD控制器接收主機發(fā)送的第一 IO請求信息。
[0027]102、判斷第一存儲結構體中是否保存有第二 IO請求信息。
[0028]其中,對于本發(fā)明實施例,預先配置片內(nèi)RAM資源和片外DDR資源,用于對IO請求進行并行處理。第一存儲結構體具體可以為RAM中的結構體CmdStateCache。第一 IO請求信息和第二 IO請求信息分別為主機在不同時刻向SSD控制器進行發(fā)送的。
[0029]103、若所述第一存儲結構體中保存有所述第二 IO請求信息,則釋放所述第二 IO請求信息。
[0030]104、將所述第二 IO請求信息保存在第二存儲結構體中,并且將所述第一 IO請求信息保存在所述第一存儲結構體中。
[0031]其中,第二存儲結構體具體可以為DDR中的結構體CmdState。每一個CmdState都有一個唯一的序號,例如為Cmdlndex, RAM中的每一個結構體CmdStateCache中標識有與其對應的DDR中的結構體序號的初始值,例如,初始值為OxFFFF,則CmdStateCache->ddrindex 為 OxFFFF。
[0032]本發(fā)明實施例提供的一種IO請求的處理方法,首先接收主機發(fā)送的第一 IO請求信息,然后判斷第一存儲結構體中是否保存有第二 IO請求信息,若所述第一存儲結構體中保存有所述第二 IO請求信息,則釋放所述第二 IO請求信息,最后將所述第二 IO請求信息保存在第二存儲結構體中,并且將所述第一 IO請求信息保存在所述第一存儲結構體中。與目前將接收到的IO請求消息只存放在訪問速度較快的隨機存儲器(RAM,Random AccessMemory)中相比,本發(fā)明實施例通過同時使用RAM和雙倍速率同步動態(tài)隨機存儲器(DDR,Double Data Rate)兩塊存儲空間處理IO請求信息,可以提高SSD對IO請求的處理效率,減少系統(tǒng)資源的浪費。
[0033]進一步地,本發(fā)明實施例提供另一種IO請求的處理方法,如圖2所示,所述方法包括:
[0034]201、SSD控制器接收主機發(fā)送的第一 IO請求信息。
[0035]202、判斷第一存儲結構體中是否保存有第二 IO請求信息。
[0036]其中,對于本發(fā)明實施例,預先配置片內(nèi)RAM資源和片外DDR資源,用于對IO請求進行并發(fā)處理。第一存儲結構體具體可以為RAM中的結構體CmdStateCache。第一 IO請求信息和第二 IO請求信息分別為主機在不同時刻向SSD控制器進行發(fā)送的。
[0037]具體地,判斷所述第一存儲結構體中標識的所述第二存儲結構體序號是否為初始值,若所述序號不為初始值,則確定所述第一存儲結構體中保存有所述第二 IO請求信息。其中,由于初始化時,配置第一存儲結構體標識的第二存儲結構體序號為初始值,因此當?shù)谝淮鎯Y構體中標識的所述第二存儲結構體序號發(fā)生變化時,可以說明第一存儲結構體中已保存有其他請求信息。
[0038]203、若所述第一存儲結構體中保存有所述第二 IO請求信息,則釋放所述第二 IO請求信息。
[0039]204、將所述第二 IO請求信息保存在第二存儲結構體中,并且將所述第一 IO請求信息保存在所述第一存儲結構體中。
[0040]其中,第二存儲結構體具體可以為DDR中的結構體CmdState。每一個CmdState都有一個唯一的序號,例如為Cmdlndex, RAM中的每一個結構體CmdStateCache中標識有與其對應的DDR中的結構體序號的初始值,例如,初始值為OxFFFF,則CmdStateCache_>ddrindex=0xFFFFo
[0041]對于本發(fā)明實施例,將所述第二 IO請求信息保存在第二存儲結構體中的步驟具體可以包括:根據(jù)所述第一存儲結構體中標識的所述第二存儲結構體序號,將所述第二 IO請求信息保存在第二存儲結構體中。例如,可以通過第一結構存儲體中記錄的CmdStateCache->ddrindex獲取到第二 IO請求信息對應的DDR結構體地址,并把當前CmdStateCache中保存的第二 IO請求信息寫入到對應的DDR結構體中。
[0042]205、接收所述第二 IO請求信息對應的響應信息。
[0043]其中,每一個請求信息對應的響應信息是由對應的Nand Flash進行反饋的。
[0044]206、判斷所述第一存儲結構體中保存的所述第二 IO請求信息是否被釋放。
[0045]具體地,首先獲取所述第二 IO請求信息對應的第二存儲結構體序號,然后判斷所述第一存儲結構體中當前標識的所述第二存儲結構體序號,是否與所述第二 IO請求信息對應的第二存儲結構體序號相同,若不同,則確定所述第二IO請求信息被釋放。其中,當?shù)谝淮鎯Y構體中當前標識的所述第二存儲結構體序號,與所述第二 IO請求信息對應的第二存儲結構體序號不相同時,說明該第一存儲結構體已經(jīng)被其他IO請求信息占用,第二 IO請求信息需要從對應的DDR存儲結構體中獲取。[0046]207、若所述第一存儲結構體中保存的所述第二 IO請求信息被釋放,則從所述第二存儲結構體中讀取所述第二 IO請求信息。
[0047]對于本發(fā)明實施例,步驟205-207與步驟201-204之間可以為前后關系,也可以為并列關系,本發(fā)明實施例不做限定。
[0048]本發(fā)明實施例提供的另一種IO請求的處理方法,首先接收主機發(fā)送的第一 IO請求信息,然后判斷第一存儲結構體中是否保存有第二 IO請求信息,若所述第一存儲結構體中保存有所述第二 IO請求信息,則釋放所述第二 IO請求信息,最后將所述第二 IO請求信息保存在第二存儲結構體中,并且將所述第一 IO請求信息保存在所述第一存儲結構體中。與目前將接收到的IO請求消息只存放在訪問速度較快的隨機存儲器(RAM,Random AccessMemory)中相比,本發(fā)明實施例通過同時使用RAM和雙倍速率同步動態(tài)隨機存儲器(DDR,Double Data Rate)兩塊存儲空間處理IO請求信息,可以提高SSD對IO請求的處理效率,減少系統(tǒng)資源的浪費。
[0049]再進一步地,作為圖1所示方法的具體實現(xiàn),本發(fā)明實施例提供一種IO請求的處理裝置,如圖3所示,所述裝置可以應用于SSD中,所述裝置包括:接收單元31、判斷單元32、釋放單元33、保存單元34。
[0050]接收單元31,可以用于接收主機發(fā)送的第一 IO請求信息。
[0051]判斷單元32,可以用于判斷第一存儲結構體中是否保存有第二 IO請求信息。
[0052]釋放單元33,可以用于若所述第一存儲結構體中保存有所述第二 IO請求信息,則釋放所述第二 IO請求信息。
[0053]保存單元34,可以用于將所述第二 IO請求信息保存在第二存儲結構體中,并且將所述第一 IO請求信息保存在所述第一存儲結構體中。
[0054]需要說明的是,本發(fā)明實施例提供的裝置所涉及各功能單元的其他對應描述可以參考圖1中的相應描述,在此不再贅述。
[0055]本發(fā)明實施例提供的一種IO請求的處理裝置,首先接收主機發(fā)送的第一 IO請求信息,然后判斷第一存儲結構體中是否保存有第二 IO請求信息,若所述第一存儲結構體中保存有所述第二 IO請求信息,則釋放所述第二 IO請求信息,最后將所述第二 IO請求信息保存在第二存儲結構體中,并且將所述第一 IO請求信息保存在所述第一存儲結構體中。與目前將接收到的IO請求消息只存放在訪問速度較快的隨機存儲器(RAM,Random AccessMemory)中相比,本發(fā)明實施例通過同時使用RAM和雙倍速率同步動態(tài)隨機存儲器(DDR,Double Data Rate)兩塊存儲空間處理10請求信息,可以提高SSD對10請求的處理效率,減少系統(tǒng)資源的浪費。
[0056]再進一步地,作為圖2所示方法的具體實現(xiàn),本發(fā)明實施例提供另一種10請求的處理裝置,如圖4所示,所述裝置可以應用于SSD中,所述裝置包括:接收單元41、判斷單元42、釋放單元43、保存單元44。
[0057]接收單元41,可以用于接收主機發(fā)送的第一 10請求信息。
[0058]判斷單元42,可以用于判斷第一存儲結構體中是否保存有第二 10請求信息。
[0059]釋放單元43,可以用于若所述第一存儲結構體中保存有所述第二 10請求信息,則釋放所述第二 10請求信息。
[0060]保存單元44,可以用于將所述第二 10請求信息保存在第二存儲結構體中,并且將所述第一 IO請求信息保存在所述第一存儲結構體中。
[0061]判斷單元42,具體可以用于判斷所述第一存儲結構體中標識的所述第二存儲結構體序號是否為初始值,若所述序號不為初始值,則確定所述第一存儲結構體中保存有所述第二 IO請求彳目息。
[0062]保存單元44,具體可以用于根據(jù)所述第一存儲結構體中標識的所述第二存儲結構體序號,將所述第二 IO請求信息保存在第二存儲結構體中。
[0063]接收單元41,還可以用于接收所述第二 IO請求信息對應的響應信息。
[0064]判斷單元42,還可以用于判斷所述第一存儲結構體中保存的所述第二 IO請求信息是否被釋放。
[0065]所述裝置還可以包括:
[0066]讀取單元45,可以用于若所述第一存儲結構體中保存的所述第二 IO請求信息被釋放,則從所述第二存儲結構體中讀取所述第二 IO請求信息。
[0067]判斷單元42,具體還可以用于獲取所述第二 IO請求信息對應的第二存儲結構體序號;判斷所述第一存儲結構體中當前標識的所述第二存儲結構體序號,是否與所述第二IO請求信息對應的第二存儲結構體序號相同;若不同,則確定所述第二 IO請求信息被釋放。
[0068]需要說明的是,本發(fā)明實施例提供的裝置所涉及各功能單元的其他對應描述可以參考圖2中的相應描述,在此不再贅述。
[0069]本發(fā)明實施例提供的另一種IO請求的處理裝置,首先接收主機發(fā)送的第一 IO請求信息,然后判斷第一存儲結構體中是否保存有第二 IO請求信息,若所述第一存儲結構體中保存有所述第二 IO請求信息,則釋放所述第二 IO請求信息,最后將所述第二 IO請求信息保存在第二存儲結構體中,并且將所述第一 IO請求信息保存在所述第一存儲結構體中。與目前將接收到的IO請求消息只存放在訪問速度較快的隨機存儲器(RAM,Random AccessMemory)中相比,本發(fā)明實施例通過同時使用RAM和雙倍速率同步動態(tài)隨機存儲器(DDR,Double Data Rate)兩塊存儲空間處理IO請求信息,可以提高SSD對IO請求的處理效率,減少系統(tǒng)資源的浪費。
[0070]再進一步地,本發(fā)明實施例提供一種SSD,如圖5所示,所述SSD包括:控制器51。
[0071]控制器51,可以用于接收主機發(fā)送的第一 IO請求信息,然后判斷第一存儲結構體中是否保存有第二 IO請求信息,若所述第一存儲結構體中保存有所述第二 IO請求信息,則釋放所述第二 IO請求信息,最后將所述第二 IO請求信息保存在第二存儲結構體中,并且將所述第一 IO請求信息保存在所述第一存儲結構體中。
[0072]控制器51,具體可以用于判斷所述第一存儲結構體中標識的所述第二存儲結構體序號是否為初始值,若所述序號不為初始值,則確定所述第一存儲結構體中保存有所述第二 IO請求信息。
[0073]控制器51,具體還可以用于根據(jù)所述第一存儲結構體中標識的所述第二存儲結構體序號,將所述第二 IO請求信息保存在第二存儲結構體中。
[0074]控制器51,還可以用于接收所述第二 IO請求信息對應的響應信息,判斷所述第一存儲結構體中保存的所述第二 IO請求信息是否被釋放,若所述第一存儲結構體中保存的所述第二 IO請求信息被釋放,則從所述第二存儲結構體中讀取所述第二 IO請求信息。[0075]控制器51,具體還可以用于獲取所述第二 IO請求信息對應的第二存儲結構體序號;判斷所述第一存儲結構體中當前標識的所述第二存儲結構體序號,是否與所述第二 IO請求信息對應的第二存儲結構體序號相同;若不同,則確定所述第二 IO請求信息被釋放。
[0076]本發(fā)明實施例提供的IO請求的處理裝置可以實現(xiàn)上述提供的方法實施例,具體功能實現(xiàn)請參見方法實施例中的說明,在此不再贅述。本發(fā)明實施例提供的IO請求的處理方法及裝置可以適用于信息【技術領域】,但不僅限于此。
[0077]本領域普通技術人員可以理解實現(xiàn)上述實施例方法中的全部或部分流程,是可以通過計算機程序來指定相關的硬件來完成,所述的程序可存儲于一計算機可讀取存儲介質中,該程序在執(zhí)行時,可包括如上述各方法的實施例的流程。其中,所述的存儲介質可為磁碟、光盤、只讀存儲記憶體(Read-Only Memory, ROM)或隨機存儲記憶體(Random AccessMemory, RAM)等。
[0078]以上所述,僅為本發(fā)明的【具體實施方式】,但本發(fā)明的保護范圍并不局限于此,任何熟悉本【技術領域】的技術人員在本發(fā)明揭露的技術范圍內(nèi),可輕易想到的變化或替換,都應涵蓋在本發(fā)明的保護范圍之內(nèi)。因此,本發(fā)明的保護范圍應該以權利要求的保護范圍為準。
【權利要求】
1.一種IO請求的處理方法,其特征在于,包括: 接收主機發(fā)送的第一 IO請求信息; 判斷第一存儲結構體中是否保存有第二 IO請求信息; 若所述第一存儲結構體中保存有所述第二 IO請求信息,則釋放所述第二 IO請求信息; 將所述第二 IO請求信息保存在第二存儲結構體中,并且將所述第一 IO請求信息保存在所述第一存儲結構體中。
2.根據(jù)權利要求1所述的IO請求的處理方法,其特征在于,判斷第一存儲結構體中是否保存有第二 IO請求信息包括: 判斷所述第一存儲結構體中標識的所述第二存儲結構體序號是否為初始值; 若所述序號不為初始值,則確定所述第一存儲結構體中保存有所述第二 IO請求信息。
3.根據(jù)權利要求2所述的IO請求的處理方法,其特征在于,所述將所述第二IO請求信息保存在第二存儲結構體中包括: 根據(jù)所述第一存儲結構體中標識的所述第二存儲結構體序號,將所述第二 IO請求信息保存在第二存儲結構體中。
4.根據(jù)權利要求1-3任一項所述的IO請求的處理方法,其特征在于,還包括: 接收所述第二 IO請求信息對應的響應信息; 判斷所述第一存儲結構體中保存的所述第二 IO請求信息是否被釋放; 若所述第一存儲結構體中保存的所述第二 IO請求信息被釋放,則從所述第二存儲結構體中讀取所述第二 IO請求信息。
5.根據(jù)權利要求4所述的IO請求的處理方法,其特征在于,所述判斷所述第一存儲結構體中保存的所述第二 IO請求信息是否被釋放包括: 獲取所述第二 IO請求信息對應的第二存儲結構體序號; 判斷所述第一存儲結構體中當前標識的所述第二存儲結構體序號,是否與所述第二 IO請求信息對應的第二存儲結構體序號相同; 若不同,則確定所述第二 IO請求信息被釋放。
6.一種IO請求的處理裝置,其特征在于,包括: 接收單元,用于接收主機發(fā)送的第一 IO請求信息; 判斷單元,用于判斷第一存儲結構體中是否保存有第二 IO請求信息; 釋放單元,用于若所述第一存儲結構體中保存有所述第二 IO請求信息,則釋放所述第二 IO請求信息; 保存單元,用于將所述第二 IO請求信息保存在第二存儲結構體中,并且將所述第一 IO請求信息保存在所述第一存儲結構體中。
7.根據(jù)權利要求6所述的IO請求的處理裝置,其特征在于, 所述判斷單元,具體用于判斷所述第一存儲結構體中標識的所述第二存儲結構體序號是否為初始值,若所述序號不為初始值,則確定所述第一存儲結構體中保存有所述第二 IO請求信息。
8.根據(jù)權利要求7所述的IO請求的處理裝置,其特征在于, 所述保存單元,具體用于根據(jù)所述第一存儲結構體中標識的所述第二存儲結構體序號,將所述第二 IO請求信息保存在第二存儲結構體中。
9.根據(jù)權利要求6-8所述的IO請求的處理裝置,其特征在于, 所述接收單元,還用于接收所述第二 IO請求信息對應的響應信息; 所述判斷單元,還用于判斷所述第一存儲結構體中保存的所述第二 IO請求信息是否被釋放; 所述裝置還包括: 讀取單元,用于若所述第一存儲結構體中保存的所述第二 IO請求信息被釋放,則從所述第二存儲結構體中讀取所述第二 IO請求信息。
10.根據(jù)權利要求9所述的IO請求的處理裝置,其特征在于, 所述判斷單元,具體還用于獲取所述第二 IO請求信息對應的第二存儲結構體序號;判斷所述第一存儲結構體中當前標識的所述第二存儲結構體序號,是否與所述第二 IO請求信息對應的第二存儲結構體序`號相同;若不同,則確定所述第二 IO請求信息被釋放。
【文檔編號】G06F3/06GK103729145SQ201310703460
【公開日】2014年4月16日 申請日期:2013年12月19日 優(yōu)先權日:2013年12月19日
【發(fā)明者】王震宇, 呂建濤, 陳建輝 申請人:華為技術有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1