本發(fā)明屬于固態(tài)硬盤技術(shù)領(lǐng)域,尤其涉及信息處理方法及固態(tài)硬盤。
背景技術(shù):
固態(tài)硬盤(Solid State Drives,簡稱SSD)是一種新型的硬盤,主要由控制器、動態(tài)存儲器和多個閃存顆粒構(gòu)成,其中,每個閃存顆粒包括數(shù)據(jù)緩沖區(qū)和多個存儲單元。固態(tài)硬盤具有讀寫速度高、無噪音、工作溫度范圍大、體積小和重量輕的優(yōu)勢,目前在電子設(shè)備中得到廣泛的應(yīng)用。
如何提高固態(tài)硬盤的讀寫效率,是本領(lǐng)域技術(shù)人員面臨的重要技術(shù)問題。
技術(shù)實(shí)現(xiàn)要素:
有鑒于此,本發(fā)明的目的在于提供固態(tài)硬盤及其信息處理方法,用以提高固態(tài)硬盤的讀寫效率。
為實(shí)現(xiàn)上述目的,本發(fā)明提供如下技術(shù)方案:
第一方面,本發(fā)明提供一種信息處理方法,應(yīng)用于固態(tài)硬盤,所述信息處理方法包括:接收主機(jī)發(fā)送的寫指令,基于地址映射表確定所述寫指令對應(yīng)的多個目標(biāo)存儲單元;確定所述多個目標(biāo)存儲單元的讀寫速度級別,其中,具有相同讀寫速度級別的存儲單元的讀寫速度的差異在預(yù)設(shè)范圍內(nèi);逐批處理所述多個目標(biāo)存儲單元對應(yīng)的寫操作,其中,具有相同讀寫速度級別的目標(biāo)存儲單元對應(yīng)的寫操作在同一批進(jìn)行處理,更新地址映射表。
優(yōu)選的,在上述信息處理方法中,所述基于地址映射表確定所述寫指令對應(yīng)的多個目標(biāo)存儲單元,包括:基于所述地址映射表確定所述固態(tài)硬盤中的空閑存儲單元;在所述空閑存儲單元中選擇多個滿足約束條件的存儲單元作為目標(biāo)存儲單元。
優(yōu)選的,在上述信息處理方法中,在所述空閑存儲單元中選擇多個滿足約束條件的存儲單元作為目標(biāo)存儲單元,具體為:在所述空閑存儲單元中選擇多個擦寫次數(shù)在預(yù)設(shè)次數(shù)區(qū)間內(nèi)的存儲單元。
優(yōu)選的,在上述信息處理方法中,在所述空閑存儲單元中選擇多個滿足約束條件的存儲單元作為目標(biāo)存儲單元,具體為:分別確定所述寫指令對應(yīng)的M個數(shù)據(jù)塊的訪問頻率,M為大于1的整數(shù);根據(jù)所述M個數(shù)據(jù)塊的訪問頻率,分別確定所述M個數(shù)據(jù)塊對應(yīng)的讀寫速度級別;在所述空閑存儲單元中選擇讀寫速度級別與所述M個數(shù)據(jù)塊對應(yīng)的讀寫速度級別相同的多個存儲單元;相應(yīng)的,將數(shù)據(jù)塊寫入讀寫速度級別與所述數(shù)據(jù)塊對應(yīng)的讀寫速度級別相同的目標(biāo)存儲單元。
優(yōu)選的,在上述信息處理方法中,在初始化階段,將所述固態(tài)硬盤的存儲單元的讀寫速度級別配置為相同級別;在所述固態(tài)硬盤運(yùn)行階段,按照預(yù)設(shè)策略統(tǒng)計數(shù)據(jù)在閃存顆粒的數(shù)據(jù)緩沖區(qū)與存儲單元之間的傳輸時間,根據(jù)所述傳輸時間確定所述存儲單元的讀寫速度級別。
優(yōu)選的,在上述信息處理方法中,所述按照預(yù)設(shè)策略統(tǒng)計數(shù)據(jù)在閃存顆粒的數(shù)據(jù)緩沖區(qū)與存儲單元之間的傳輸時間,具體為:在達(dá)到預(yù)設(shè)采樣間隔后,統(tǒng)計數(shù)據(jù)在閃存顆粒的數(shù)據(jù)緩沖區(qū)與存儲單元之間的傳輸時間。
第二方面,本發(fā)明提供一種信息處理方法,應(yīng)用于固態(tài)硬盤,所述信息處理方法包括:接收主機(jī)發(fā)送的讀指令,基于地址映射表確定所述讀指令對應(yīng)的多個目標(biāo)存儲單元;確定所述多個目標(biāo)存儲單元的讀寫速度級別,其中,具有相同讀寫速度級別的存儲單元的讀寫速度的差異在預(yù)設(shè)范圍內(nèi);逐批處理所述多個目標(biāo)存儲單元對應(yīng)的讀操作,其中,具有相同讀寫速度級別的目標(biāo)存儲單元對應(yīng)的讀操作在同一批進(jìn)行處理。
優(yōu)選的,在上述信息處理方法中,在初始化階段,將所述固態(tài)硬盤的存儲單元的讀寫速度級別配置為相同級別;在所述固態(tài)硬盤運(yùn)行階段,按照預(yù)設(shè)策略統(tǒng)計數(shù)據(jù)在閃存顆粒的數(shù)據(jù)緩沖區(qū)與存儲單元之間的傳輸時間,根據(jù)所述傳輸時間確定所述存儲單元的讀寫速度級別。
優(yōu)選的,在上述信息處理方法中,所述按照預(yù)設(shè)策略統(tǒng)計數(shù)據(jù)在閃存顆粒的數(shù)據(jù)緩沖區(qū)與存儲單元之間的傳輸時間,具體為:在達(dá)到預(yù)設(shè)采樣間隔后,統(tǒng)計數(shù)據(jù)在閃存顆粒的數(shù)據(jù)緩沖區(qū)與存儲單元之間的傳輸時間。
第三方面,本發(fā)明提供一種固態(tài)硬盤,包括控制器、動態(tài)存儲器和多個閃存顆粒,所述閃存顆粒包括數(shù)據(jù)緩沖區(qū)和多個存儲單元;
所述控制器接收主機(jī)發(fā)送的寫指令,基于地址映射表確定所述寫指令對應(yīng)的多個目標(biāo)存儲單元,確定所述多個目標(biāo)存儲單元的讀寫速度級別,逐批處理所述多個目標(biāo)存儲單元對應(yīng)的寫操作,并更新地址映射表,其中,具有相同讀寫速度級別的目標(biāo)存儲單元對應(yīng)的寫操作在同一批進(jìn)行處理;所述控制器接收主機(jī)發(fā)送的讀指令,基于地址映射表確定所述讀指令對應(yīng)的多個目標(biāo)存儲單元,確定所述多個目標(biāo)存儲單元的讀寫速度級別,逐批處理所述多個目標(biāo)存儲單元對應(yīng)的讀操作,其中,具有相同讀寫速度級別的目標(biāo)存儲單元對應(yīng)的讀操作在同一批進(jìn)行處理;
其中,具有相同讀寫速度級別的存儲單元的讀寫速度的差異在預(yù)設(shè)范圍內(nèi)。
優(yōu)選的,上述固態(tài)硬盤中,所述控制器在基于地址映射表確定所述寫指令對應(yīng)的多個目標(biāo)存儲單元的方面,具體用于:所述控制器基于所述地址映射表確定所述固態(tài)硬盤中的空閑存儲單元,在所述空閑存儲單元中選擇多個滿足約束條件的存儲單元作為目標(biāo)存儲單元。
優(yōu)選的,上述固態(tài)硬盤中,所述控制器在所述空閑存儲單元中選擇多個滿足約束條件的存儲單元作為目標(biāo)存儲單元的方面,具體用于:所述控制器在所述空閑存儲單元中選擇多個擦寫次數(shù)在預(yù)設(shè)次數(shù)區(qū)間內(nèi)的存儲單元。
優(yōu)選的,上述固態(tài)硬盤中,所述控制器在所述空閑存儲單元中選擇多個滿足約束條件的存儲單元作為目標(biāo)存儲單元的方面,具體用于:
所述控制器分別確定所述寫指令對應(yīng)的M個數(shù)據(jù)塊的訪問頻率,根據(jù)所述M個數(shù)據(jù)塊的訪問頻率,分別確定所述M個數(shù)據(jù)塊對應(yīng)的讀寫速度級別,在所述空閑存儲單元中選擇讀寫速度級別與所述M個數(shù)據(jù)塊對應(yīng)的讀寫速度級別相同的多個存儲單元;所述控制器將數(shù)據(jù)塊寫入讀寫速度級別與所述數(shù)據(jù)塊對應(yīng)的讀寫速度級別相同的目標(biāo)存儲單元。
優(yōu)選的,在初始化階段,將所述固態(tài)硬盤的存儲單元的讀寫速度級別配置為相同級別;所述控制器還用于:在所述固態(tài)硬盤運(yùn)行階段,按照預(yù)設(shè)策略統(tǒng)計數(shù)據(jù)在閃存顆粒的數(shù)據(jù)緩沖區(qū)與存儲單元之間的傳輸時間,根據(jù)所述傳輸時間確定所述存儲單元的讀寫速度級別。
由此可見,本發(fā)明的有益效果為:
本發(fā)明公開的信息處理方法,接收主機(jī)發(fā)送的寫指令后,基于地址映射表確定寫指令對應(yīng)的多個目標(biāo)存儲單元,之后根據(jù)各目標(biāo)存儲單元的讀寫速度級別劃分各目標(biāo)存儲單元所在的批次,具有相同讀寫速度級別的目標(biāo)存儲單元對應(yīng)的寫操作在同一批進(jìn)行處理。
本發(fā)明公開的信息處理方法,接收主機(jī)發(fā)送的讀指令后,基于地址映射表確定讀指令對應(yīng)的多個目標(biāo)存儲單元,之后根據(jù)各目標(biāo)存儲單元的讀寫速度級別劃分各目標(biāo)存儲單元所在的批次,具有相同讀寫速度級別的目標(biāo)存儲單元對應(yīng)的讀操作在同一批進(jìn)行處理。
基于本發(fā)明公開的信息處理方法,使得讀寫速度較高的目標(biāo)存儲單元與讀寫速度較低的目標(biāo)存儲單元不在同一批處理,讀寫速度較高的目標(biāo)存儲單元在同一批處理的過程中,該批次目標(biāo)存儲單元完成讀/寫操作的時間由該批次中讀寫速度最低的目標(biāo)存儲單元決定,該批次目標(biāo)存儲單元完成讀/寫操作的時間較短,能夠從整體上提高固態(tài)硬盤的讀寫數(shù)據(jù)效率。
附圖說明
為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的實(shí)施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)提供的附圖獲得其他的附圖。
圖1為本發(fā)明公開的應(yīng)用于固態(tài)硬盤的一種信息處理方法的流程圖;
圖2為本發(fā)明公開的應(yīng)用于固態(tài)硬盤的另一種信息處理方法的流程圖;
圖3為本發(fā)明公開的應(yīng)用于固態(tài)硬盤的另一種信息處理方法的流程圖;
圖4為本發(fā)明公開的應(yīng)用于固態(tài)硬盤的另一種信息處理方法的流程圖;
圖5為本發(fā)明公開的固態(tài)硬盤與主機(jī)的硬件結(jié)構(gòu)圖。
具體實(shí)施方式
固態(tài)硬盤主要由控制器、動態(tài)存儲器和多個閃存顆粒構(gòu)成。其中,每個閃存顆粒包括數(shù)據(jù)緩沖區(qū)和多個存儲單元。從主機(jī)向固態(tài)硬盤讀寫數(shù)據(jù)的過程,主要包括:主機(jī)與固態(tài)硬盤的控制器之間的數(shù)據(jù)傳輸過程,固態(tài)硬盤的控制器與動態(tài)存儲器之間的數(shù)據(jù)傳輸過程,以及固態(tài)硬盤的控制器與閃存顆粒之間的數(shù)據(jù)傳輸過程。
固態(tài)硬盤的控制器與動態(tài)存儲器之間的接口的帶寬,以及固態(tài)硬盤的控制器與主機(jī)之間的接口的帶寬都非常高,通常能夠達(dá)到10GB/s,而固態(tài)硬盤的控制器與閃存顆粒之間的帶寬相對較低,一般只有400MB/s。因此,固態(tài)硬盤的控制器與閃存顆粒之間的數(shù)據(jù)傳輸過程,是決定固態(tài)硬盤的讀寫效率的關(guān)鍵因素。
為了提高固態(tài)硬盤的控制器與閃存顆粒之間的數(shù)據(jù)傳輸效率,目前通常采用并行處理的方式。
例如:針對主機(jī)發(fā)送的一條寫指令,固態(tài)硬盤的控制器確定多個目標(biāo)存儲單元,將多個目標(biāo)存儲單元劃分為多組,之后以并行的方式向第一組目標(biāo)存儲單元寫入數(shù)據(jù),當(dāng)?shù)谝唤M目標(biāo)存儲單元均完成寫操作后,再以并行的方式向第二組目標(biāo)存儲單元寫入數(shù)據(jù),當(dāng)?shù)诙M目標(biāo)存儲單元均完成寫操作后,再以并行的方式向第三組目標(biāo)存儲單元寫入數(shù)據(jù),以此類推,將數(shù)據(jù)逐批寫入多個目標(biāo)存儲單元。
例如:針對主機(jī)發(fā)送的一條讀指令,固態(tài)硬盤的控制器確定存儲有相應(yīng)數(shù)據(jù)的多個目標(biāo)存儲單元,將多個目標(biāo)存儲單元劃分為多組,之后以并行的方式從第一組目標(biāo)存儲單元讀取數(shù)據(jù),當(dāng)?shù)谝唤M目標(biāo)存儲單元均完成讀操作后,再以并行的方式從第二組目標(biāo)存儲單元讀取數(shù)據(jù),當(dāng)?shù)诙M目標(biāo)存儲單元均完成讀操作后,再以并行的方式從第三組目標(biāo)存儲單元讀取數(shù)據(jù),以此類推,逐批讀取多個目標(biāo)存儲單元存儲的數(shù)據(jù)。
申請人發(fā)現(xiàn):
由于閃存顆粒的材料和工藝等存在差異,這使得同一個固態(tài)硬盤中的閃存顆粒的電氣特性并不相同,另外,即便是同一閃存顆粒中的存儲單元,各個存儲單元完成讀操作或?qū)懖僮魉枰臅r間也是不同的。并且,隨著環(huán)境的變化以及使用時間的推移,固態(tài)硬盤中各個存儲單元完成讀操作或?qū)懖僮魉枰臅r間的差異會越來越大。在以上述的并行方式讀寫數(shù)據(jù)的過程中,每一批數(shù)據(jù)的讀寫時間都受制于讀寫速度最慢的存儲單元,降低了整體的讀寫效率。
本發(fā)明公開固態(tài)硬盤及其信息處理方法,在向閃存顆粒寫數(shù)據(jù)或者從閃存顆粒讀取數(shù)據(jù)的過程中,將讀寫速度差異較小的存儲單元作為一批進(jìn)行處理,從整體上提高固態(tài)硬盤的讀寫效率。
下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
參見圖1,圖1為本發(fā)明公開的應(yīng)用于固態(tài)硬盤的一種信息處理方法的流程圖。該信息處理方法包括:
步驟S11:接收主機(jī)發(fā)送的寫指令,基于地址映射表確定寫指令對應(yīng)的多個目標(biāo)存儲單元。
固態(tài)硬盤保存有地址映射表,地址映射表包含數(shù)據(jù)的邏輯地址與物理地址之間的映射關(guān)系。固態(tài)硬盤的控制器接收到主機(jī)發(fā)送的寫指令后,基于地址映射表查找空閑的存儲單元,在空閑的存儲單元中確定多個存儲單元,確定出的多個存儲單元用于存儲主機(jī)發(fā)送的待存儲數(shù)據(jù),為了便于表述,將前述確定出的多個存儲單元稱為目標(biāo)存儲單元。
步驟S12:確定多個目標(biāo)存儲單元的讀寫速度級別。其中,具有相同讀寫速度級別的存儲單元的讀寫速度的差異在預(yù)設(shè)范圍內(nèi)。
在基于地址映射表確定寫指令對應(yīng)的多個目標(biāo)存儲單元之后,分別確定各個目標(biāo)存儲單元的讀寫速度級別。存儲單元的讀寫速度級別能夠表征該存儲單元的讀寫速度,具有相同讀寫速度級別的存儲單元,其讀寫速度的差異在預(yù)設(shè)范圍內(nèi)。
步驟S13:逐批處理多個目標(biāo)存儲單元對應(yīng)的寫操作,其中,具有相同讀寫速度級別的目標(biāo)存儲單元對應(yīng)的寫操作在同一批進(jìn)行處理,更新地址映射表。
在現(xiàn)有的處理方法中,由于目標(biāo)存儲單元的劃分是隨機(jī)的,未考慮各個目標(biāo)存儲單元的讀寫速度,因此很可能導(dǎo)致各組目標(biāo)存儲單元中均可能存在讀寫速度較低的目標(biāo)存儲單元。而各組目標(biāo)存儲單元完成寫操作的時間都受制于該組內(nèi)讀寫速度最慢的目標(biāo)存儲單元,這導(dǎo)致各組目標(biāo)存儲單元完成寫操作的時間較長,降低固態(tài)硬盤寫數(shù)據(jù)的效率。
在本發(fā)明的步驟S13中,根據(jù)多個目標(biāo)存儲單元的讀寫速度級別對其進(jìn)行劃分,具有相同讀寫速度級別的目標(biāo)存儲單元對應(yīng)的寫操作在同一批進(jìn)行處理。也就是說,將讀寫速度相同或者讀寫速度差異較小的目標(biāo)存儲單元對應(yīng)的寫操作在同一批進(jìn)行處理,而讀寫速度差異較大的目標(biāo)存儲單元對應(yīng)的寫操作不會在同一批處理。
由于在同一批處理的是多個目標(biāo)存儲單元中讀寫速度相同或者讀寫速度差異較小的目標(biāo)存儲單元,因此,讀寫速度較高的目標(biāo)存儲單元在同一批執(zhí)行寫操作過程中,該批次目標(biāo)存儲單元完成寫操作的時間由該批次中讀寫速度最低的目標(biāo)存儲單元決定,而不是由其他讀寫速度較低的目標(biāo)存儲單元決定,因此該批次目標(biāo)存儲單元完成寫操作的時間較短,能夠從整體上提高固態(tài)硬盤寫數(shù)據(jù)的效率。
本發(fā)明公開的信息處理方法,接收主機(jī)發(fā)送的寫指令后,基于地址映射表確定寫指令對應(yīng)的多個目標(biāo)存儲單元,之后根據(jù)各目標(biāo)存儲單元的讀寫速度級別劃分各目標(biāo)存儲單元所在的批次,具有相同讀寫速度級別的目標(biāo)存儲單元對應(yīng)的寫操作在同一批進(jìn)行處理?;诒景l(fā)明公開的信息處理方法,使得讀寫速度較高的目標(biāo)存儲單元與讀寫速度較低的目標(biāo)存儲單元不在同一批處理,讀寫速度較高的目標(biāo)存儲單元在同一批處理的過程中,該批次目標(biāo)存儲單元完成寫操作的時間,由該批次中讀寫速度最低的目標(biāo)存儲單元決定,該批次目標(biāo)存儲單元完成寫操作的時間較短,能夠從整體上提高固態(tài)硬盤寫數(shù)據(jù)的效率。
在上述信息處理方法中,作為一種實(shí)施方式,基于地址映射表確定寫指令對應(yīng)的多個目標(biāo)存儲單元,具體為:
基于地址映射表確定固態(tài)硬盤中的空閑存儲單元;
在空閑存儲單元中選擇多個存儲單元作為目標(biāo)存儲單元。
固態(tài)硬盤保存有地址映射表,固態(tài)硬盤的控制器利用地址映射表就可以確定固態(tài)硬盤中的空閑存儲單元,在空閑存儲單元中選擇多個存儲單元作為目標(biāo)存儲單元。
在上述信息處理方法中,作為一種優(yōu)選實(shí)施方式,基于地址映射表確定寫指令對應(yīng)的多個目標(biāo)存儲單元,具體為:
基于地址映射表確定固態(tài)硬盤中的空閑存儲單元;
在空閑存儲單元中選擇多個滿足約束條件的存儲單元作為目標(biāo)存儲單元。
在上述優(yōu)選實(shí)施方式中,固態(tài)硬盤的控制器在空閑存儲單元中選擇多個滿足約束條件的存儲單元作為目標(biāo)存儲單元,通過設(shè)置約束條件,能夠進(jìn)一步優(yōu)化固態(tài)硬盤的性能。
實(shí)施中,該約束條件可以為多種形式。相應(yīng)的,在空閑存儲單元中選擇多個滿足約束條件的存儲單元作為目標(biāo)存儲單元,具有多種形式。下面結(jié)合圖2和圖3進(jìn)行說明。
參見圖2,圖2為本發(fā)明公開的另一種信息處理方法的流程圖。該信息處理方法包括:
步驟S21:接收主機(jī)發(fā)送的寫指令,基于地址映射表確定固態(tài)硬盤中的空閑存儲單元。
步驟S22:在空閑存儲單元中選擇多個擦寫次數(shù)在預(yù)設(shè)次數(shù)區(qū)間內(nèi)的存儲單元。
步驟S23:確定多個目標(biāo)存儲單元的讀寫速度級別。其中,具有相同讀寫速度級別的存儲單元的讀寫速度的差異在預(yù)設(shè)范圍內(nèi)。
步驟S24:逐批處理多個目標(biāo)存儲單元對應(yīng)的寫操作,其中,具有相同讀寫速度級別的目標(biāo)存儲單元對應(yīng)的寫操作在同一批進(jìn)行處理,更新地址映射表。
固態(tài)硬盤中閃存顆粒的擦寫次數(shù)是有限的,當(dāng)某個閃存顆粒的擦寫次數(shù)達(dá)到上限時,該閃存顆粒中的數(shù)據(jù)將無法讀取。在圖2所示信息處理方法中,固態(tài)硬盤的控制器在確定目標(biāo)存儲單元的過程中,將存儲單元的擦寫次數(shù)作為一個選擇依據(jù),在空閑存儲單元中選擇多個擦寫次數(shù)在預(yù)設(shè)次數(shù)區(qū)間內(nèi)的存儲單元作為目標(biāo)存儲單元,一方面能夠保證固態(tài)硬盤中各存儲單元的均衡使用,另一方面也可以避免將數(shù)據(jù)寫入即將出現(xiàn)故障的存儲單元,保障數(shù)據(jù)的安全。
參見圖3,圖3為本發(fā)明公開的另一種信息處理方法的流程圖。該信息處理方法包括:
步驟S31:接收主機(jī)發(fā)送的寫指令,基于地址映射表確定固態(tài)硬盤中的空閑存儲單元。
步驟S32:分別確定寫指令對應(yīng)的M個數(shù)據(jù)塊的訪問頻率,M為大于1的整數(shù)。
主機(jī)發(fā)送的寫指令對應(yīng)于多個數(shù)據(jù)塊,將其記為M個數(shù)據(jù)塊,固態(tài)硬盤的控制器要將M個數(shù)據(jù)塊寫入固態(tài)硬盤的閃存顆粒。用戶對M個數(shù)據(jù)塊的訪問頻率會存在差異,如果將訪問頻率高的數(shù)據(jù)塊存入讀寫速度高的存儲單元,那么后續(xù)讀取該數(shù)據(jù)塊所需的時間較短,能夠提高用戶體驗(yàn)。
步驟S33:根據(jù)M個數(shù)據(jù)塊的訪問頻率,分別確定M個數(shù)據(jù)塊對應(yīng)的讀寫速度級別。
固態(tài)硬盤的控制器分別確定M個數(shù)據(jù)塊的訪問頻率后,根據(jù)M個數(shù)據(jù)塊的訪問頻率分別確定M個數(shù)據(jù)塊對應(yīng)的讀寫速度級別。數(shù)據(jù)塊的訪問頻率與讀寫速度級別所表征的讀寫速度呈正相關(guān)關(guān)系,也就是說:訪問頻率高的數(shù)據(jù)塊對應(yīng)的讀寫速度級別所表征的讀寫速度,高于訪問頻率低的數(shù)據(jù)塊對應(yīng)的讀寫速度級別所表征的讀寫速度。
實(shí)施中,預(yù)先設(shè)置數(shù)據(jù)塊的訪問頻率與讀寫速度級別的映射關(guān)系,在確定M個數(shù)據(jù)塊的訪問頻率之后,通過該映射關(guān)系即可快速地確定M個數(shù)據(jù)塊對應(yīng)的讀寫速度級別。
步驟S34:在空閑存儲單元中選擇讀寫速度級別與M個數(shù)據(jù)塊對應(yīng)的讀寫速度級別相同的多個存儲單元。
在確定M個數(shù)據(jù)塊對應(yīng)的讀寫速度級別之后,固態(tài)硬盤的控制器在空閑存儲單元中選擇讀寫速度級別與M個數(shù)據(jù)塊對應(yīng)的讀寫速度級別相同的多個存儲單元。
結(jié)合一個實(shí)例進(jìn)行說明:
假如主機(jī)發(fā)送的寫指令對應(yīng)于16個數(shù)據(jù)塊,根據(jù)16個數(shù)據(jù)塊的訪問頻率確定的各數(shù)據(jù)塊對應(yīng)的讀寫速度級別為:級別1、級別2和級別4。那么,固態(tài)硬盤的控制器在空閑存儲單元選擇至少1個讀寫速度級別為級別1的空閑存儲單元、至少1個讀寫速度級別為級別2的空閑存儲單元,以及至少1個讀寫速度級別為級別4的空閑存儲單元,作為目標(biāo)存儲單元。
步驟S35:確定多個目標(biāo)存儲單元的讀寫速度級別。其中,具有相同讀寫速度級別的存儲單元的讀寫速度的差異在預(yù)設(shè)范圍內(nèi)。
步驟S36:逐批處理多個目標(biāo)存儲單元對應(yīng)的寫操作,其中,具有相同讀寫速度級別的目標(biāo)存儲單元對應(yīng)的寫操作在同一批進(jìn)行處理,并且將數(shù)據(jù)塊寫入讀寫速度級別與該數(shù)據(jù)塊對應(yīng)的讀寫速度級別相同的目標(biāo)存儲單元更新地址映射表。
仍結(jié)合上述實(shí)例進(jìn)行說明:在逐批處理多個目標(biāo)存儲單元對應(yīng)的寫操作的過程中,如果數(shù)據(jù)塊對應(yīng)的讀寫速度級別為級別1,那么將該數(shù)據(jù)塊寫入讀寫速度級別為級別1的目標(biāo)存儲單元,如果數(shù)據(jù)塊對應(yīng)的讀寫速度級別為級別2,那么將該數(shù)據(jù)塊寫入讀寫速度級別為級別2的目標(biāo)存儲單元,如果數(shù)據(jù)塊對應(yīng)的讀寫速度級別為級別4,那么將該數(shù)據(jù)塊寫入讀寫速度級別為級別4的目標(biāo)存儲單元。并且,具有相同讀寫速度級別的目標(biāo)存儲單元對應(yīng)的寫操作在同一批進(jìn)行處理。
在圖3所示的信息處理方法中,將寫指令對應(yīng)的M個數(shù)據(jù)塊的訪問頻率作為確定目標(biāo)存儲單元的一個依據(jù),在逐批處理多個目標(biāo)存儲單元對應(yīng)的寫操作的過程中,具有相同讀寫速度級別的目標(biāo)存儲單元對應(yīng)的寫操作在同一批進(jìn)行處理,能夠從整體上提高固態(tài)硬盤的寫數(shù)據(jù)效率;另外,通過將數(shù)據(jù)塊寫入讀寫速度級別與該數(shù)據(jù)塊對應(yīng)的讀寫速度級別相同的目標(biāo)存儲單元,使得訪問頻率高的數(shù)據(jù)塊存入讀寫速度高的存儲單元,縮短后續(xù)讀取該數(shù)據(jù)塊所需的時間,能夠提高用戶體驗(yàn)。
本發(fā)明上述公開的信息處理方法,側(cè)重于固態(tài)硬盤寫數(shù)據(jù)的過程。本發(fā)明下文公開另一種信息處理方法,側(cè)重于固態(tài)硬盤讀數(shù)據(jù)的過程。
參見圖4,圖4為本發(fā)明公開的應(yīng)用于固態(tài)硬盤的另一種信息處理方法的流程圖。該信息處理方法包括:
步驟S41:接收主機(jī)發(fā)送的讀指令,基于地址映射表確定該讀指令對應(yīng)的多個目標(biāo)存儲單元。
固態(tài)硬盤的控制器接收到主機(jī)發(fā)送的讀指令后,基于地址映射表確定該讀指令對應(yīng)的數(shù)據(jù)所在的多個存儲單元,為了便于表述,將前述確定出的多個存儲單元稱為目標(biāo)存儲單元。
步驟S42:確定多個目標(biāo)存儲單元的讀寫速度級別。其中,具有相同讀寫速度級別的存儲單元的讀寫速度的差異在預(yù)設(shè)范圍內(nèi)
步驟S43:逐批處理多個目標(biāo)存儲單元對應(yīng)的讀操作。其中,具有相同讀寫速度級別的目標(biāo)存儲單元對應(yīng)的讀操作在同一批進(jìn)行處理。
在現(xiàn)有的處理方法中,由于目標(biāo)存儲單元的劃分是隨機(jī)的,未考慮各個目標(biāo)存儲單元的讀寫速度,因此很可能導(dǎo)致各組目標(biāo)存儲單元中均可能存在讀寫速度較低的目標(biāo)存儲單元。而各組目標(biāo)存儲單元完成讀操作的時間都受制于該組內(nèi)讀寫速度最慢的目標(biāo)存儲單元,這導(dǎo)致各組目標(biāo)存儲單元完成讀操作的時間較長,降低固態(tài)硬盤讀數(shù)據(jù)的效率。
在本發(fā)明的步驟S43中,根據(jù)多個目標(biāo)存儲單元的讀寫速度級別對其進(jìn)行劃分,具有相同讀寫速度級別的目標(biāo)存儲單元對應(yīng)的讀操作在同一批進(jìn)行處理。也就是說,將讀寫速度相同或者讀寫速度差異較小的目標(biāo)存儲單元對應(yīng)的讀操作在同一批進(jìn)行處理,而讀寫速度差異較大的目標(biāo)存儲單元對應(yīng)的讀操作不會在同一批處理。
由于在同一批處理的是多個目標(biāo)存儲單元中讀寫速度相同或者讀寫速度差異較小的目標(biāo)存儲單元,因此,讀寫速度較高的目標(biāo)存儲單元在同一批執(zhí)行讀操作過程中,該批次目標(biāo)存儲單元完成讀操作的時間由該批次中讀寫速度最低的目標(biāo)存儲單元決定,而不是由其他讀寫速度較低的目標(biāo)存儲單元決定,因此該批次目標(biāo)存儲單元完成讀操作的時間較短,能夠從整體上提高固態(tài)硬盤讀數(shù)據(jù)的效率。
本發(fā)明公開的信息處理方法,接收主機(jī)發(fā)送的讀指令后,基于地址映射表確定讀指令對應(yīng)的多個目標(biāo)存儲單元,之后根據(jù)各目標(biāo)存儲單元的讀寫速度級別劃分各目標(biāo)存儲單元所在的批次,具有相同讀寫速度級別的目標(biāo)存儲單元對應(yīng)的讀操作在同一批進(jìn)行處理?;诒景l(fā)明公開的信息處理方法,使得讀寫速度較高的目標(biāo)存儲單元與讀寫速度較低的目標(biāo)存儲單元不在同一批處理,讀寫速度較高的目標(biāo)存儲單元在同一批處理的過程中,該批次目標(biāo)存儲單元完成讀操作的時間,由該批次中讀寫速度最低的目標(biāo)存儲單元決定,該批次目標(biāo)存儲單元完成讀操作的時間較短,能夠從整體上提高固態(tài)硬盤讀數(shù)據(jù)的效率。
在本發(fā)明上述公開的信息處理方法中,在初始化階段,將固態(tài)硬盤的存儲單元的讀寫速度級別配置為相同級別。另外,存儲單元的讀寫速度可以由數(shù)據(jù)在閃存顆粒的數(shù)據(jù)緩沖區(qū)與存儲單元之間的傳輸時間來衡量,因此,在固態(tài)硬盤運(yùn)行階段,按照預(yù)設(shè)策略統(tǒng)計數(shù)據(jù)在閃存顆粒的數(shù)據(jù)緩沖區(qū)與存儲單元之間的傳輸時間,根據(jù)傳輸時間確定存儲單元的讀寫速度級別。
實(shí)施中,預(yù)先設(shè)置數(shù)據(jù)在數(shù)據(jù)緩沖區(qū)與存儲單元之間的傳輸時間和讀寫速度級別的映射關(guān)系,根據(jù)該映射關(guān)系確定存儲單元的讀寫速度級別。
數(shù)據(jù)在閃存顆粒的數(shù)據(jù)緩沖區(qū)與存儲單元之間傳輸?shù)倪^程中進(jìn)行傳輸時間的檢測,會對數(shù)據(jù)的傳輸速率造成不良影響。
考慮到存儲單元的讀寫速度的變化較為緩慢,并且存儲單元的讀寫速度的變化存在一定規(guī)律,作為一種優(yōu)選實(shí)施方式,按照預(yù)設(shè)策略統(tǒng)計數(shù)據(jù)在閃存顆粒的數(shù)據(jù)緩沖區(qū)與存儲單元之間的傳輸時間,具體為:
在達(dá)到預(yù)設(shè)采樣間隔后,統(tǒng)計數(shù)據(jù)在閃存顆粒的數(shù)據(jù)緩沖區(qū)與存儲單元之間的傳輸時間。
基于該優(yōu)選實(shí)施方式,能夠減小對數(shù)據(jù)傳輸速率的影響。
本發(fā)明還公開一種固態(tài)硬盤,其硬件結(jié)構(gòu)可參見圖5。該固態(tài)硬盤10包括控制器100、動態(tài)存儲器200和多個閃存顆粒300,閃存顆粒300包括數(shù)據(jù)緩沖區(qū)和多個存儲單元。
控制器100接收主機(jī)20發(fā)送的寫指令,基于地址映射表確定寫指令對應(yīng)的多個目標(biāo)存儲單元,確定多個目標(biāo)存儲單元的讀寫速度級別,逐批處理多個目標(biāo)存儲單元對應(yīng)的寫操作,并更新地址映射表。其中,具有相同讀寫速度級別的目標(biāo)存儲單元對應(yīng)的寫操作在同一批進(jìn)行處理。
控制器100接收主機(jī)20發(fā)送的讀指令,基于地址映射表確定讀指令對應(yīng)的多個目標(biāo)存儲單元,確定多個目標(biāo)存儲單元的讀寫速度級別,逐批處理多個目標(biāo)存儲單元對應(yīng)的讀操作。其中,具有相同讀寫速度級別的目標(biāo)存儲單元對應(yīng)的讀操作在同一批進(jìn)行處理。
存儲單元的讀寫速度級別能夠表征該存儲單元的讀寫速度,具有相同讀寫速度級別的存儲單元的讀寫速度的差異在預(yù)設(shè)范圍內(nèi)。
本發(fā)明公開的固態(tài)硬盤,在接收到主機(jī)發(fā)送的讀/寫指令后,基于地址映射表確定該讀/寫指令對應(yīng)的多個目標(biāo)存儲單元,之后根據(jù)各目標(biāo)存儲單元的讀寫速度級別劃分各目標(biāo)存儲單元所在的批次,具有相同讀寫速度級別的目標(biāo)存儲單元對應(yīng)的讀/寫操作在同一批進(jìn)行處理。由于讀寫速度較高的目標(biāo)存儲單元與讀寫速度較低的目標(biāo)存儲單元不在同一批處理,讀寫速度較高的目標(biāo)存儲單元在同一批處理的過程中,該批次目標(biāo)存儲單元完成讀/寫操作的時間由該批次中讀寫速度最低的目標(biāo)存儲單元決定,該批次目標(biāo)存儲單元完成讀/寫操作的時間較短,能夠從整體上提高固態(tài)硬盤的讀寫數(shù)據(jù)效率。
作為一種實(shí)施方式,控制器100在基于地址映射表確定寫指令對應(yīng)的多個目標(biāo)存儲單元的方面,具體用于:控制器100基于地址映射表確定固態(tài)硬盤中的空閑存儲單元,在空閑存儲單元中選擇多個存儲單元作為目標(biāo)存儲單元。
作為另一種實(shí)施方式,控制器100在基于地址映射表確定寫指令對應(yīng)的多個目標(biāo)存儲單元的方面,具體用于:控制器100基于地址映射表確定固態(tài)硬盤中的空閑存儲單元,在空閑存儲單元中選擇多個滿足約束條件的存儲單元作為目標(biāo)存儲單元。
作為另一個示例,控制器100在空閑存儲單元中選擇多個滿足約束條件的存儲單元作為目標(biāo)存儲單元的方面,具體用于:控制器100在空閑存儲單元中選擇多個擦寫次數(shù)在預(yù)設(shè)次數(shù)區(qū)間內(nèi)的存儲單元。
作為另一個示例,控制器100在空閑存儲單元中選擇多個滿足約束條件的存儲單元作為目標(biāo)存儲單元的方面,具體用于:控制器100分別確定寫指令對應(yīng)的M個數(shù)據(jù)塊的訪問頻率,根據(jù)M個數(shù)據(jù)塊的訪問頻率,分別確定M個數(shù)據(jù)塊對應(yīng)的讀寫速度級別,在空閑存儲單元中選擇讀寫速度級別與M個數(shù)據(jù)塊對應(yīng)的讀寫速度級別相同的多個存儲單元。相應(yīng)的,控制器100將數(shù)據(jù)塊寫入讀寫速度級別與數(shù)據(jù)塊對應(yīng)的讀寫速度級別相同的目標(biāo)存儲單元。
其中,數(shù)據(jù)塊的訪問頻率與讀寫速度級別所表征的讀寫速度呈正相關(guān)關(guān)系。也就是說:訪問頻率高的數(shù)據(jù)塊對應(yīng)的讀寫速度級別所表征的讀寫速度,高于訪問頻率低的數(shù)據(jù)塊對應(yīng)的讀寫速度級別所表征的讀寫速度。
實(shí)施中,預(yù)先設(shè)置數(shù)據(jù)塊的訪問頻率與讀寫速度級別的映射關(guān)系,在確定M個數(shù)據(jù)塊的訪問頻率之后,通過該映射關(guān)系即可高速地確定M個數(shù)據(jù)塊對應(yīng)的讀寫速度級別。
本發(fā)明公開的固態(tài)硬盤,在初始化階段,將存儲單元的讀寫速度級別配置為相同級別??刂破?00還用于:在固態(tài)硬盤運(yùn)行階段,按照預(yù)設(shè)策略統(tǒng)計數(shù)據(jù)在閃存顆粒的數(shù)據(jù)緩沖區(qū)與存儲單元之間的傳輸時間,根據(jù)傳輸時間確定存儲單元的讀寫速度級別。
本說明書中各個實(shí)施例采用遞進(jìn)的方式描述,每個實(shí)施例重點(diǎn)說明的都是與其他實(shí)施例的不同之處,各個實(shí)施例之間相同相似部分互相參見即可。對于實(shí)施例公開的固態(tài)硬盤而言,由于其與實(shí)施例公開的方法相對應(yīng),所以描述的比較簡單,相關(guān)之處參見方法部分說明即可。
對所公開的實(shí)施例的上述說明,使本領(lǐng)域?qū)I(yè)技術(shù)人員能夠?qū)崿F(xiàn)或使用本發(fā)明。對這些實(shí)施例的多種修改對本領(lǐng)域的專業(yè)技術(shù)人員來說將是顯而易見的,本文中所定義的一般原理可以在不脫離本發(fā)明的精神或范圍的情況下,在其它實(shí)施例中實(shí)現(xiàn)。因此,本發(fā)明將不會被限制于本文所示的這些實(shí)施例,而是要符合與本文所公開的原理和新穎特點(diǎn)相一致的最寬的范圍。