本發(fā)明涉及固態(tài)硬盤控制技術(shù),特別涉及一種提高固態(tài)硬盤混合讀寫性能的方法。
背景技術(shù):
固態(tài)硬盤ssd一般都嚴(yán)格按照主機下發(fā)的讀寫命令順序執(zhí)行,單個命令的執(zhí)行總時間有兩部分組成,ssd固件準(zhǔn)備buffer的時間t_sw,ssd硬件傳輸數(shù)據(jù)的時間t_hw。圖1是常規(guī)混合讀寫命令處理時間消耗示意圖;ssd中讀命令需要從nandflash讀出數(shù)據(jù),所以buffer準(zhǔn)備的時間t_sw_read較長,寫命令由于cache的存在,buffer準(zhǔn)備的時間t_sw_write較短。t_hw由命令的數(shù)據(jù)量決定,本專利中假設(shè)所有命令的數(shù)據(jù)量相等且數(shù)據(jù)間沒有相關(guān)性。三個時間的大小關(guān)系為t_sw_read>t_hw>t_sw_write。而且固件與硬件是并行工作的,即硬件在傳輸數(shù)據(jù)的時候,固件可以準(zhǔn)備其他命令的buffer?,F(xiàn)假定主機下發(fā)四個命令read0,write1,read2,write3,數(shù)字表示時間順序,這四個讀寫命令的總耗時由ssd固件的策略決定,現(xiàn)有技術(shù)為嚴(yán)格按照主機下發(fā)的命令順序執(zhí)行,總時間=2*t_sw_read+t_sw_write+2*t_hw。對于大多數(shù)的應(yīng)用并不關(guān)心具體某一次的讀或?qū)懙臅r間,而更關(guān)心一個組群讀寫操作總的執(zhí)行時間。因此如果機械的按照主機下發(fā)的讀寫命令順序執(zhí)行,則存在一個組群讀寫操作總時間耗時較大的問題。
技術(shù)實現(xiàn)要素:
針對以上缺陷,本發(fā)明目的在于如何降低存在大量混合讀寫操作時總的響應(yīng)時間。
為了解決以上問題本發(fā)明提出了一種提高固態(tài)硬盤混合讀寫性能的方法,其特征在于固態(tài)硬盤中增加命令重排序模塊,命令重排序模塊將時間間隔低于預(yù)先設(shè)定值的多個讀命令和寫命令進(jìn)行緩存,并設(shè)置為同一命令組群,將同一命令組群的命令重新排序,先執(zhí)行命令組群的寫命令,再執(zhí)行命令組群的讀命令。
所述的提高固態(tài)硬盤混合讀寫性能的方法,其特征在于混合讀寫觸發(fā)模塊,所述混合讀寫觸發(fā)模塊接收主機下發(fā)的命令,當(dāng)單位時間內(nèi)接收到的命令數(shù)超過預(yù)先設(shè)定的閥值且同時包含讀命令和寫命令,則觸發(fā)命令重排序模塊,否則按照主機下發(fā)命令的順序執(zhí)行。
本發(fā)明通過簡單的在固態(tài)硬盤中增加命令重排序模塊,重新調(diào)整命令執(zhí)行的順序,即可實現(xiàn)整體上減少同一命令組群的的執(zhí)行時間,達(dá)到提升混合讀寫命令性能的效果。
附圖說明
圖1是常規(guī)混合讀寫命令處理時間消耗示意圖;
圖2是改進(jìn)后混合讀寫命令處理時間消耗示意圖。
具體實施方式
下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護(hù)的范圍。
圖2是改進(jìn)后混合讀寫命令處理時間消耗示意圖,同樣假定現(xiàn)假定主機下發(fā)四個命令read0,write1,read2,write3,命令重排序模塊將這4個命令進(jìn)行緩存,同時這4個命令的時間間隔小于預(yù)先設(shè)置的時間,因此將這4個命令設(shè)置為同一個命令組群,將同一命令組群的命令重新排序,先執(zhí)行命令組群的寫命令,再執(zhí)行命令組群的讀命令。重排序后的命令執(zhí)行序列為write1,write3,read0,read2,按新排序的四個命令順序執(zhí)行,4個命令最后執(zhí)行的總耗時=2*t_sw_read+2*t_sw_write+t_hw;嚴(yán)格按照主機下發(fā)的命令順序執(zhí)行,總時間=2*t_sw_read+t_sw_write+2*t_hw。因此相比現(xiàn)有技術(shù)總時間減少了(t_hw-t_sw_write)。因此通過對主機下發(fā)的混合讀寫命令進(jìn)行重排序,可有效的提升混合讀寫命令的性能。
以上所揭露的僅為本發(fā)明一種實施例而已,當(dāng)然不能以此來限定本之權(quán)利范圍,本領(lǐng)域普通技術(shù)人員可以理解實現(xiàn)上述實施例的全部或部分流程,并依本發(fā)明權(quán)利要求所作的等同變化,仍屬于本發(fā)明所涵蓋的范圍。