專利名稱:針對(duì)邏輯地址不同數(shù)據(jù)自動(dòng)配置虛擬塊的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種針對(duì)數(shù)據(jù)配置虛擬塊的方法,具體涉及一種針對(duì)邏輯地址不同數(shù) 據(jù)自動(dòng)配置虛擬塊的方法。
背景技術(shù):
SSD是英文solid state disk的縮寫,即固態(tài)盤。是一種把Nand flash芯片作為 存儲(chǔ)介質(zhì)的存儲(chǔ)器。它具有數(shù)據(jù)存取速度快、經(jīng)久耐用防震抗摔、工作時(shí)非常安靜沒(méi)有任 何噪音產(chǎn)生等優(yōu)點(diǎn)。固態(tài)盤的核心部件是閃存控制器,它的功能就是控制和管理閃存芯片 以及對(duì)外提供一個(gè)標(biāo)準(zhǔn)的接口。閃存控制器為了提高讀寫速度和flash芯片的壽命需要?jiǎng)?態(tài)的進(jìn)行地址映射,而地址映射就是要保存邏輯地址與物理地址的對(duì)應(yīng)關(guān)系,這樣在閃存 控制器進(jìn)行讀寫操作時(shí)就能找到對(duì)應(yīng)的物理地址?,F(xiàn)在公知的映射方式是以基于一種固定大小塊的方式,它不能夠靈活適應(yīng)用戶數(shù) 據(jù)的多樣性,從而不能在各種應(yīng)用環(huán)境下發(fā)揮最大的效能。以及本申請(qǐng)人之前的一個(gè)專利申請(qǐng)講述的是構(gòu)建虛擬塊地址映射提高讀寫速度, 但是由于虛擬塊的大小相同,通常一個(gè)虛擬塊由多個(gè)物理塊夠成,就存在針對(duì)不同特征的 用戶數(shù)據(jù),特別是邏輯上分散的小數(shù)據(jù)塊只占用虛擬塊很小一部分物理塊,在進(jìn)行數(shù)據(jù)擦 寫時(shí),要回收整個(gè)虛擬塊內(nèi)的物理塊,造成物理塊回收的浪費(fèi),也影響了整個(gè)映射的速度, 也使物理塊的壽命大大降低。
發(fā)明內(nèi)容
本發(fā)明提供了一種針對(duì)邏輯地址不同數(shù)據(jù)自動(dòng)配置虛擬塊的方法,其可通過(guò)針對(duì) 不同特征的用戶數(shù)據(jù)來(lái)改變虛擬塊的大小,將邏輯地址連續(xù)的大數(shù)據(jù)塊放在一個(gè)大的虛擬 塊中,將邏輯上分散的小數(shù)據(jù)塊放在一個(gè)較小的虛擬塊中,實(shí)現(xiàn)虛擬塊地址映射,優(yōu)化了虛 擬塊地址映射速度、增大了虛擬塊內(nèi)物理塊的使用壽命。本發(fā)明的技術(shù)解決方案是—種針對(duì)邏輯地址不同數(shù)據(jù)自動(dòng)配置虛擬塊的方法,其特殊之處在于,該方法包 括以下步驟1)將一次要寫的數(shù)據(jù)放在數(shù)據(jù)緩存中,分析這些數(shù)據(jù)的特征,將其分為兩類,一類 是邏輯地址連續(xù)的一塊數(shù)據(jù),另一類是多個(gè)邏輯地址不連續(xù)的一塊數(shù)據(jù);2)在虛擬塊的構(gòu)建中設(shè)置一個(gè)變量,該變量保存該虛擬塊最近改寫完所有數(shù)據(jù)所 進(jìn)行操作的次數(shù),用該變量值的大小識(shí)別該虛擬塊經(jīng)常操作的是上述哪類數(shù)據(jù);3)將邏輯地址連續(xù)的一塊數(shù)據(jù)放在上述小的變量值對(duì)應(yīng)的虛擬塊中,該虛擬塊由 多個(gè)物理塊構(gòu)成,并且這些物理塊分布在每個(gè)通道的每個(gè)芯片里;這樣在進(jìn)行這樣大批量 連續(xù)的數(shù)據(jù)寫操作時(shí)就能夠充分發(fā)揮通道間并行和通道內(nèi)流水的作用,最大的提高寫的速 度;將多個(gè)邏輯地址不連續(xù)的一塊數(shù)據(jù)放在上述大的變量值對(duì)應(yīng)的虛擬塊中,該虛擬塊由 每個(gè)通道的一個(gè)或幾個(gè)物理塊構(gòu)成;這個(gè)虛擬塊甚至可以由每個(gè)通道的一個(gè)物理塊構(gòu)成;該數(shù)據(jù)的虛擬塊小,每次使用每個(gè)通道中的一個(gè)物理塊就能夠滿足速度的要求,而且還能 減少回收物理塊的個(gè)數(shù),提高回收效率,從而提高塊的壽命。上述針對(duì)邏輯地址不同數(shù)據(jù)自動(dòng)配置虛擬塊實(shí)現(xiàn)地址映射的方法,其特殊之處在 于還包括當(dāng)同一段邏輯地址的數(shù)據(jù)的邏輯地址特征發(fā)生變化時(shí),重復(fù)上述步驟2)和步驟 3)操作,以改變這些邏輯地址改變的數(shù)據(jù)對(duì)應(yīng)的虛擬塊。上述虛擬塊是由每個(gè)通道內(nèi)的每個(gè)芯片內(nèi)的物理塊的一部分構(gòu)成,即將每個(gè)物理 塊等分成N塊,然后將每個(gè)通道內(nèi)每個(gè)芯片內(nèi)取一個(gè)1/n個(gè)物理塊來(lái)夠成一個(gè)虛擬塊;上述每個(gè)虛擬塊由一個(gè)數(shù)據(jù)結(jié)構(gòu)組成;數(shù)據(jù)結(jié)構(gòu)里記錄了該虛擬塊由那些物理塊 的那部分構(gòu)成;以此來(lái)進(jìn)行從虛擬塊上的地址映射到物理塊上的地址;相應(yīng)地上述變量值的大的虛擬塊包含物理塊少,上述變量值的小的虛擬塊包含物 理塊多。上述變量值的小的虛擬塊包含物理塊最少為一個(gè)。本發(fā)明的優(yōu)點(diǎn)在于1、本發(fā)明是一種基于虛擬塊地址映射的改進(jìn)優(yōu)化后的一種地址映射方法。它繼承 了虛擬塊映射的優(yōu)點(diǎn),彌補(bǔ)了固定塊映射方式不能靈活適應(yīng)不同規(guī)律數(shù)據(jù)的特點(diǎn)。2、本發(fā)明是以虛擬塊的設(shè)計(jì)為基礎(chǔ)來(lái)進(jìn)行的。虛擬塊的構(gòu)成是由每個(gè)通道內(nèi)每個(gè) 芯片內(nèi)的物理塊的一部分構(gòu)成,即將每個(gè)物理塊等分成N塊,然后將每個(gè)通道內(nèi)每個(gè)芯片 內(nèi)取一個(gè)1/n個(gè)物理塊來(lái)夠成一個(gè)虛擬塊。每個(gè)虛擬塊由一個(gè)數(shù)據(jù)結(jié)構(gòu)組成。結(jié)構(gòu)里記錄 了該虛擬塊由那些物理塊的那部分構(gòu)成。以此來(lái)進(jìn)行從虛擬塊上的地址映射到物理塊上的 地址。3、本發(fā)明將邏輯地址連續(xù)的一塊數(shù)據(jù)放在上述小的變量值對(duì)應(yīng)的虛擬塊中,該虛 擬塊由多個(gè)物理塊構(gòu)成,并且這些物理塊分布在每個(gè)通道的每個(gè)芯片里;這樣在進(jìn)行這樣 大批量連續(xù)的數(shù)據(jù)寫操作時(shí)就能夠充分發(fā)揮通道間并行和通道內(nèi)流水的作用,最大的提高 寫的速度;將多個(gè)邏輯地址不連續(xù)的一塊數(shù)據(jù)放在上述大的變量值對(duì)應(yīng)的虛擬塊中,該虛 擬塊由每個(gè)通道的一個(gè)或幾個(gè)物理塊構(gòu)成;這個(gè)虛擬塊甚至可以由每個(gè)通道的一個(gè)物理塊 構(gòu)成;該數(shù)據(jù)的虛擬塊小,每次使用每個(gè)通道中的一個(gè)物理塊就能夠滿足速度的要求,而且 還能減少回收物理塊的個(gè)數(shù),提高回收效率,從而提高塊的壽命。
圖1為本發(fā)明流程框圖;圖2為不同大小虛擬塊的構(gòu)成圖;圖3為虛擬塊的構(gòu)成圖。
具體實(shí)施例方式參見(jiàn)圖1、圖2及圖3,一種針對(duì)邏輯地址不同數(shù)據(jù)自動(dòng)配置虛擬塊的方法,該方法 包括以下步驟1)將一次要寫的數(shù)據(jù)放在數(shù)據(jù)緩存中,分析這些數(shù)據(jù)的特征,將其分為兩類,一類 是邏輯地址連續(xù)的一塊數(shù)據(jù),另一類是多個(gè)邏輯地址不連續(xù)的一塊數(shù)據(jù);2)在虛擬塊的構(gòu)建中設(shè)置一個(gè)變量,該變量保存該虛擬塊最近改寫完所有數(shù)據(jù)所進(jìn)行操作的次數(shù),用該變量值的大小識(shí)別該虛擬塊經(jīng)常操作的是上述哪類數(shù)據(jù);3)將邏輯地址連續(xù)的一塊數(shù)據(jù)放在上述小的變量值對(duì)應(yīng)的虛擬塊中,該虛擬塊由 多個(gè)物理塊構(gòu)成,并且這些物理塊分布在每個(gè)通道的每個(gè)芯片里;這樣在進(jìn)行這樣大批量 連續(xù)的數(shù)據(jù)寫操作時(shí)就能夠充分發(fā)揮通道間并行和通道內(nèi)流水的作用,最大的提高寫的速 度;將多個(gè)邏輯地址不連續(xù)的一塊數(shù)據(jù)放在上述大的變量值對(duì)應(yīng)的虛擬塊中,該虛擬塊由 每個(gè)通道的一個(gè)物理塊構(gòu)成;該數(shù)據(jù)的虛擬塊小,每次使用每個(gè)通道中的一個(gè)物理塊就能 夠滿足速度的要求,而且還能減少回收物理塊的個(gè)數(shù),提高回收效率,從而提高塊的壽命。4)隨著應(yīng)用環(huán)境和使用方式的改變,當(dāng)同一段邏輯地址的數(shù)據(jù)的邏輯地址特征發(fā) 生變化時(shí),重復(fù)上述步驟2)和步驟3)操作,以改變這些邏輯地址改變的數(shù)據(jù)對(duì)應(yīng)的虛擬 塊。其中虛擬塊是由每個(gè)通道內(nèi)的每個(gè)芯片內(nèi)的物理塊的一部分構(gòu)成,即將每個(gè)物理 塊等分成N塊,然后將每個(gè)通道內(nèi)每個(gè)芯片內(nèi)取一個(gè)1/n個(gè)物理塊來(lái)夠成一個(gè)虛擬塊;上述每個(gè)虛擬塊由一個(gè)數(shù)據(jù)結(jié)構(gòu)組成;數(shù)據(jù)結(jié)構(gòu)里記錄了該虛擬塊由那些物理塊 的那部分構(gòu)成;以此來(lái)進(jìn)行從虛擬塊上的地址映射到物理塊上的地址;相應(yīng)地上述變量值的大的虛擬塊包含物理塊少,上述變量值的小的虛擬塊包含物 理塊多,其中變量值的小的虛擬塊包含物理塊最少為一個(gè)。
權(quán)利要求
一種針對(duì)邏輯地址不同數(shù)據(jù)自動(dòng)配置虛擬塊的方法,其特征在于,該方法包括以下步驟1)將一次要寫的數(shù)據(jù)放在數(shù)據(jù)緩存中,分析這些數(shù)據(jù)的特征,將其分為兩類,一類是邏輯地址連續(xù)的一塊數(shù)據(jù),另一類是多個(gè)邏輯地址不連續(xù)的一塊數(shù)據(jù);2)在虛擬塊的構(gòu)建中設(shè)置一個(gè)變量,該變量保存該虛擬塊最近改寫完所有數(shù)據(jù)所進(jìn)行操作的次數(shù),用該變量值的大小識(shí)別該虛擬塊經(jīng)常操作的是上述哪類數(shù)據(jù);3)將邏輯地址連續(xù)的一塊數(shù)據(jù)放在上述小的變量值對(duì)應(yīng)的虛擬塊中,該虛擬塊由多個(gè)物理塊構(gòu)成,并且這些物理塊分布在每個(gè)通道的每個(gè)芯片里;將多個(gè)邏輯地址不連續(xù)的一塊數(shù)據(jù)放在上述大的變量值對(duì)應(yīng)的虛擬塊中,該虛擬塊由每個(gè)通道的一個(gè)或幾個(gè)物理塊構(gòu)成。
2.根據(jù)權(quán)利要求1所述針對(duì)邏輯地址不同數(shù)據(jù)自動(dòng)配置虛擬塊實(shí)現(xiàn)地址映射的方法, 其特征在于還包括當(dāng)同一段邏輯地址的數(shù)據(jù)的邏輯地址特征發(fā)生變化時(shí),重復(fù)上述步驟 2)和步驟3)操作,以改變這些邏輯地址改變的數(shù)據(jù)對(duì)應(yīng)的虛擬塊。
3.根據(jù)權(quán)利要求1或2所述針對(duì)邏輯地址不同數(shù)據(jù)自動(dòng)配置虛擬塊實(shí)現(xiàn)地址映射的方 法,其特征在于所述虛擬塊是由每個(gè)通道內(nèi)的每個(gè)芯片內(nèi)的物理塊的一部分構(gòu)成,即將每 個(gè)物理塊等分成N塊,然后將每個(gè)通道內(nèi)每個(gè)芯片內(nèi)取一個(gè)1/n個(gè)物理塊來(lái)夠成一個(gè)虛擬 塊;所述每個(gè)虛擬塊由一個(gè)數(shù)據(jù)結(jié)構(gòu)組成;數(shù)據(jù)結(jié)構(gòu)里記錄了該虛擬塊由那些物理塊的那 部分構(gòu)成;以此來(lái)進(jìn)行從虛擬塊上的地址映射到物理塊上的地址;相應(yīng)地上述變量值的大 的虛擬塊包含物理塊少,上述變量值的小的虛擬塊包含物理塊多。
4.根據(jù)權(quán)利要求3所述針對(duì)邏輯地址不同數(shù)據(jù)自動(dòng)配置虛擬塊實(shí)現(xiàn)地址映射的方法, 其特征在于所述變量值的小的虛擬塊包含物理塊最少為一個(gè)。
全文摘要
一種針對(duì)邏輯地址不同數(shù)據(jù)自動(dòng)配置虛擬塊的方法,包括將一次要寫的數(shù)據(jù)分為兩類,一類是邏輯地址連續(xù)的一塊數(shù)據(jù),另一類是多個(gè)邏輯地址不連續(xù)的一塊數(shù)據(jù);在虛擬塊的構(gòu)建中設(shè)置一個(gè)變量,用該變量值的大小識(shí)別該虛擬塊經(jīng)常操作的是上述哪類數(shù)據(jù);將分類別的數(shù)據(jù)放在對(duì)應(yīng)的虛擬塊中。本發(fā)明在進(jìn)行這樣大批量連續(xù)的數(shù)據(jù)寫操作時(shí)能夠充分發(fā)揮通道間并行和通道內(nèi)流水的作用,最大的提高寫的速度;并且減少回收物理塊的個(gè)數(shù),提高回收效率,從而提高塊的壽命。
文檔編號(hào)G06F12/08GK101876945SQ20091031027
公開(kāi)日2010年11月3日 申請(qǐng)日期2009年11月24日 優(yōu)先權(quán)日2009年11月24日
發(fā)明者劉升, 邱波 申請(qǐng)人:西安奇維測(cè)控科技有限公司