[發(fā)明專利]硬盤預(yù)讀方法、裝置、計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)及電子設(shè)備在審
| 申請(qǐng)?zhí)枺?/td> | 202010951136.6 | 申請(qǐng)日: | 2020-09-11 |
| 公開(kāi)(公告)號(hào): | CN112084121A | 公開(kāi)(公告)日: | 2020-12-15 |
| 發(fā)明(設(shè)計(jì))人: | 孫成思;孫日欣;李振華;曾煜 | 申請(qǐng)(專利權(quán))人: | 深圳佰維存儲(chǔ)科技股份有限公司 |
| 主分類號(hào): | G06F12/06 | 分類號(hào): | G06F12/06;G06F12/0862;G06F12/1009 |
| 代理公司: | 深圳市博銳專利事務(wù)所 44275 | 代理人: | 任芹玉 |
| 地址: | 518000 廣東省深圳市南山區(qū)桃*** | 國(guó)省代碼: | 廣東;44 |
| 權(quán)利要求書(shū): | 查看更多 | 說(shuō)明書(shū): | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 硬盤 方法 裝置 計(jì)算機(jī) 可讀 存儲(chǔ) 介質(zhì) 電子設(shè)備 | ||
本發(fā)明公開(kāi)一種硬盤預(yù)讀方法、裝置、計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)及電子設(shè)備,所述硬盤預(yù)讀方法,包括步驟:生成預(yù)讀命令,所述預(yù)讀命令包括預(yù)讀的起始地址和預(yù)讀長(zhǎng)度;根據(jù)所述預(yù)讀的起始地址和預(yù)讀長(zhǎng)度判斷所述預(yù)讀命令對(duì)應(yīng)的預(yù)讀的結(jié)束位置是否跨頁(yè),若是,根據(jù)所述起始地址和預(yù)讀長(zhǎng)度對(duì)所述預(yù)讀長(zhǎng)度進(jìn)行調(diào)整,使得所述預(yù)讀命令對(duì)應(yīng)的預(yù)讀的結(jié)束位置為頁(yè)的邊界,并下發(fā)調(diào)整后的預(yù)讀命令,若否,直接下發(fā)所述預(yù)讀命令;接收根據(jù)所述預(yù)讀命令返回的預(yù)讀數(shù)據(jù);通過(guò)對(duì)預(yù)讀長(zhǎng)度的動(dòng)態(tài)調(diào)整保證預(yù)讀命令對(duì)應(yīng)的預(yù)讀數(shù)據(jù)的結(jié)束位置能夠與硬盤中的頁(yè)對(duì)齊,實(shí)現(xiàn)多條預(yù)讀命令同時(shí)進(jìn)行預(yù)讀操作,避免預(yù)讀過(guò)程中的等待,提高了預(yù)讀性能,從而能夠獲得良好的讀性能。
技術(shù)領(lǐng)域
本發(fā)明涉及存儲(chǔ)領(lǐng)域,尤其涉及一種硬盤預(yù)讀方法、裝置、計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)及電子設(shè)備。
背景技術(shù)
在SSD(Solid StateDsik,固態(tài)硬盤)的使用過(guò)程中,對(duì)于順序讀IO,傳統(tǒng)firmware(固件)通常會(huì)做預(yù)讀處理,即提前讀取更多的數(shù)據(jù)進(jìn)行緩存,后續(xù)讀IO時(shí)如果命中緩存中的數(shù)據(jù),則直接返回給主機(jī),由此提高讀性能。
圖1所示為SSD內(nèi)部存儲(chǔ)結(jié)構(gòu)示意圖,整個(gè)存儲(chǔ)空間由多個(gè)超級(jí)塊構(gòu)成,每個(gè)超級(jí)塊由多個(gè)數(shù)據(jù)塊Block組成。當(dāng)主機(jī)對(duì)SSD順序?qū)懭霐?shù)據(jù)時(shí),會(huì)選用一個(gè)超級(jí)塊,對(duì)其進(jìn)行數(shù)據(jù)的寫入。通常為了提高性能,在一個(gè)超級(jí)塊內(nèi),都是按照stripe(條帶)的方式進(jìn)行寫入,如圖2所示,在一個(gè)超級(jí)塊內(nèi),寫IO從srtipe0開(kāi)始寫到stripeN。當(dāng)主機(jī)下發(fā)順序讀時(shí),根據(jù)寫入時(shí)的邏輯地址到物理地址的映射,從超級(jí)塊中選中相應(yīng)的stripe讀取相應(yīng)的page(頁(yè))。
預(yù)讀操作是指提前去讀主機(jī)還未下發(fā)的數(shù)據(jù),比如主機(jī)要讀LBA0~LBA100的數(shù)據(jù),預(yù)讀操作就會(huì)去讀LBA0~LBA200的數(shù)據(jù)。這樣當(dāng)主機(jī)要讀LBA101~LBA200的數(shù)據(jù)時(shí),就可以直接把預(yù)讀的數(shù)據(jù)返回,并繼續(xù)做后續(xù)的預(yù)讀操作。所以,預(yù)讀是提高讀性能的一種有效方法。
然而,傳統(tǒng)的預(yù)讀方式中,預(yù)讀的長(zhǎng)度是一個(gè)固定的大小,往往會(huì)因?yàn)楣潭ǖ拇笮〔缓线m或者預(yù)讀的起始位置不合適,不能得到比較好的讀性能。
發(fā)明內(nèi)容
本發(fā)明所要解決的技術(shù)問(wèn)題是:提供一種硬盤預(yù)讀方法、裝置、計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)及電子設(shè)備,能夠獲得良好的讀性能。
為了解決上述技術(shù)問(wèn)題,本發(fā)明采用的一種技術(shù)方案為:
一種硬盤預(yù)讀方法,包括步驟:
生成預(yù)讀命令,所述預(yù)讀命令包括預(yù)讀的起始地址和預(yù)讀長(zhǎng)度;
根據(jù)所述預(yù)讀的起始地址和預(yù)讀長(zhǎng)度判斷所述預(yù)讀命令對(duì)應(yīng)的預(yù)讀的結(jié)束位置是否跨頁(yè),若是,根據(jù)所述起始地址和預(yù)讀長(zhǎng)度對(duì)所述預(yù)讀長(zhǎng)度進(jìn)行調(diào)整,使得所述預(yù)讀命令對(duì)應(yīng)的預(yù)讀的結(jié)束位置為頁(yè)的邊界,并下發(fā)調(diào)整后的預(yù)讀命令,若否,直接下發(fā)所述預(yù)讀命令;
接收根據(jù)所述預(yù)讀命令返回的預(yù)讀數(shù)據(jù)。
為了解決上述技術(shù)問(wèn)題,本發(fā)明采用的另一種技術(shù)方案為:
一種硬盤預(yù)讀裝置,包括:
命令生成模塊,用于生成預(yù)讀命令,所述預(yù)讀命令包括預(yù)讀的起始地址和預(yù)讀長(zhǎng)度;
命令下發(fā)模塊,用于根據(jù)所述預(yù)讀的起始地址和預(yù)讀長(zhǎng)度判斷所述預(yù)讀命令對(duì)應(yīng)的預(yù)讀的結(jié)束位置是否跨頁(yè),若是,根據(jù)所述起始地址和預(yù)讀長(zhǎng)度對(duì)所述預(yù)讀長(zhǎng)度進(jìn)行調(diào)整,使得所述預(yù)讀命令對(duì)應(yīng)的預(yù)讀的結(jié)束位置為頁(yè)的邊界,并下發(fā)調(diào)整后的預(yù)讀命令,若否,直接下發(fā)所述預(yù)讀命令;
數(shù)據(jù)接收模塊,用于接收根據(jù)所述預(yù)讀命令返回的預(yù)讀數(shù)據(jù)。
為了解決上述技術(shù)問(wèn)題,本發(fā)明采用的另一種技術(shù)方案為:
一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其上存儲(chǔ)有計(jì)算機(jī)程序,所述計(jì)算機(jī)程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)上述硬盤預(yù)讀方法中的各個(gè)步驟。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于深圳佰維存儲(chǔ)科技股份有限公司,未經(jīng)深圳佰維存儲(chǔ)科技股份有限公司許可,擅自商用是侵權(quán)行為。如果您想購(gòu)買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202010951136.6/2.html,轉(zhuǎn)載請(qǐng)聲明來(lái)源鉆瓜專利網(wǎng)。
- 同類專利
- 專利分類
- 一種數(shù)據(jù)庫(kù)讀寫分離的方法和裝置
- 一種手機(jī)動(dòng)漫人物及背景創(chuàng)作方法
- 一種通訊綜合測(cè)試終端的測(cè)試方法
- 一種服裝用人體測(cè)量基準(zhǔn)點(diǎn)的獲取方法
- 系統(tǒng)升級(jí)方法及裝置
- 用于虛擬和接口方法調(diào)用的裝置和方法
- 線程狀態(tài)監(jiān)控方法、裝置、計(jì)算機(jī)設(shè)備和存儲(chǔ)介質(zhì)
- 一種JAVA智能卡及其虛擬機(jī)組件優(yōu)化方法
- 檢測(cè)程序中方法耗時(shí)的方法、裝置及存儲(chǔ)介質(zhì)
- 函數(shù)的執(zhí)行方法、裝置、設(shè)備及存儲(chǔ)介質(zhì)
- 雙桌面遠(yuǎn)程控制系統(tǒng)及方法
- 一種基于網(wǎng)絡(luò)的計(jì)算機(jī)信息檢索系統(tǒng)與方法
- 一種基于網(wǎng)絡(luò)的計(jì)算機(jī)信息檢索系統(tǒng)與方法
- 一種基于網(wǎng)絡(luò)的計(jì)算機(jī)信息檢索系統(tǒng)與方法
- 雙計(jì)算機(jī)系統(tǒng)
- 制導(dǎo)雷達(dá)計(jì)算機(jī)系統(tǒng)
- 一種服務(wù)部署方法及裝置
- 一種計(jì)算機(jī)集成系統(tǒng)及故障自動(dòng)切換方法
- 一種計(jì)算機(jī)信息安全監(jiān)控系統(tǒng)
- 混合型量子計(jì)算機(jī)架構(gòu)及其執(zhí)行計(jì)算任務(wù)的方法





