專利名稱:基于多通道閃存設(shè)備邏輯條帶的自適應(yīng)控制方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種多通道閃存設(shè)備邏輯條帶控制方法,具體涉及一個(gè)可 根據(jù)對閃存設(shè)備的操作情況進(jìn)行自適應(yīng)調(diào)整邏輯條帶的方法。
背景技術(shù):
在存儲設(shè)備領(lǐng)域中,硬盤一直占據(jù)著主導(dǎo)地位,直到閃存存儲介質(zhì)的 出現(xiàn)。閃存因?yàn)槠渚哂锌啥啻巫x寫、擦除,高密度,大容量,較低的讀寫 操作耗時(shí),以及非易失性,低功耗等特點(diǎn)而逐漸在存儲市場異軍突起,其 市場占有率迅速上升。特別是近年來,隨著閃存生產(chǎn)工藝的日趨成熟,其 成本價(jià)格逐漸降低,同時(shí),后端應(yīng)用技術(shù)也在逐步完善,這些都大大刺激 了閃存市場的迅速膨脹,使其逐漸在存儲市場上與硬盤平分秋色。但是, 閃存由于其自身制造的工藝問題,使其從產(chǎn)生就存在一些不可避免的缺陷,
例如閃存讀寫操作必須要以扇區(qū)為單位進(jìn)行;每顆閃存芯片的讀寫時(shí)序的 有效帶寬不超過40MB等。這些缺陷成為制約閃存迅速發(fā)展的障礙,在其 應(yīng)用過程中,只有先解決了這些障礙,才能更好的發(fā)揮閃存的優(yōu)點(diǎn)。
隨著閃存應(yīng)用技術(shù)的逐步提高,用戶對設(shè)備讀寫速率的要求也逐漸提 高,單顆或者單通道閃存設(shè)備的接口帶寬已經(jīng)遠(yuǎn)遠(yuǎn)不能滿足用戶的需求, 因此,幾乎所有的閃存設(shè)備以及閃存控制器的生產(chǎn)廠商都在研發(fā)多通道的 閃存芯片操作模式。這種多通道的閃存設(shè)備其優(yōu)點(diǎn)在于能夠多通道同時(shí)進(jìn) 行閃存操作,可以成倍的提高閃存設(shè)備的接口帶寬。
對于這類多通道的閃存設(shè)備,存在一個(gè)邏輯條帶的劃分問題,因?yàn)槭?多個(gè)通道同時(shí)執(zhí)行主機(jī)的指令,進(jìn)行讀寫擦除等操作,對于寫入的或者讀 出的數(shù)據(jù)必然需要面臨如何組織的問題,目前的做法如圖2所示,由閃存 中的固件根據(jù)保留區(qū)信息劃定閃存設(shè)備的n個(gè)通道中每個(gè)通道的m個(gè)頁面 組成一個(gè)邏輯條帶(圖示中n的值為4, m的值為2),頁面為一個(gè)小的存 儲單元。所有的邏輯條帶連接起來,組成一個(gè)連續(xù)的邏輯存儲空間,即用 戶所看到的設(shè)備的存儲空間。 ;
但是,在使用過程中,這種組織方法逐漸暴露出一些問題因?yàn)殚W存
設(shè)備面臨各種各樣的用戶,不同的用戶有不同的使用目的。例如, 一些用 戶主要用它來存儲或者經(jīng)常的寫入一些文件,如果邏輯條帶劃分相對比較 小,每次寫操作需要啟動多個(gè)通道的閃存芯片,'當(dāng)寫入目的頁面中存在數(shù) 據(jù)時(shí),則需要先將目的區(qū)塊中的有效數(shù)據(jù)備份串來,然后擦除該區(qū)塊,再 把有效數(shù)據(jù)以及該次操作數(shù)據(jù)寫入,對于該寫入過程,邏輯條帶越小,需 要進(jìn)行擦除的區(qū)塊也越多, 一方面需要更多的操作時(shí)間,另一方面對閃存
造成了更多的損耗;如果邏輯條帶劃分比較大,可以使一次寫操作盡量落 在一個(gè)通道內(nèi),則目的區(qū)塊只需要進(jìn)行一次擦除操作就可以實(shí)現(xiàn)該次寫入 操作, 一方面大大節(jié)約了寫入的時(shí)間,另一方面,有效地減少了對閃存的 損耗。再比如,如果一些用戶只用它來備份一些相對比較小塊的文件,使 用過程中只需要對其進(jìn)行不斷的讀取,這種情況下,如果邏輯條帶劃分比 較大,每次只啟動一個(gè)讀操作,就會導(dǎo)致在讀操作過程中,數(shù)據(jù)都落在一 個(gè)通道內(nèi),操作過程中,只有一個(gè)通道被啟動,不能達(dá)到并行操作的目的, 大大降低了設(shè)備接口的讀速率,而如果邏輯條帶能夠比較小,這時(shí),數(shù)據(jù) 就會分布在多個(gè)通道內(nèi),操作過程中多個(gè)通道都會被同時(shí)啟動,設(shè)備接口 讀速率會被成倍的提高。
根據(jù)上述可以看出邏輯條帶比較恰當(dāng)?shù)膭澐謱τ陂W存設(shè)備有很大的 影響,而目前的閃存存儲設(shè)備其邏輯條帶的劃分在其出廠就已經(jīng)被固化了, 即使設(shè)備面臨不同使用目的用戶,其邏輯條帶也是固定不變的,這會使其 在使用過程中的讀寫效率以及壽命受到很大的影響,因此,如何解決邏輯 條帶的劃分問題,會對多通道閃存設(shè)備產(chǎn)生很大的影響。
發(fā)明內(nèi)容
本發(fā)明解決的技術(shù)問題是針對現(xiàn)有的閃存設(shè)備在操作過程中由于邏 輯條帶被固化帶來的不能針對不同的使用情況調(diào)整的問題,提出了一種基 于多通道閃存設(shè)備邏輯條帶的自適應(yīng)控制方法,通過閃存設(shè)備自身采用統(tǒng) 計(jì)的方法對邏輯條帶進(jìn)行控制,智能的調(diào)節(jié)邏輯條帶的大小,從而解決由 于邏輯條帶大小不當(dāng)帶來的問題。
本發(fā)明提出的基于多通道閃存設(shè)備邏輯條帶的自適應(yīng)控制方法,包括 以下處理步驟
1)閃存設(shè)備中的固件將歷史操作信息進(jìn)行統(tǒng)計(jì),并存儲在閃存保留
息區(qū)中;
2) 根據(jù)步驟l)中的統(tǒng)計(jì)的操作信息情況動態(tài)設(shè)定各存儲分區(qū)對應(yīng)的 邏輯條帶標(biāo)識以確定各邏輯條帶的大??;
3) 根據(jù)邏輯條帶的劃分,在讀寫過程中將數(shù)據(jù)并行映射到不同通道的 存儲單元內(nèi)。
優(yōu)選的,所述步驟1)中統(tǒng)計(jì)的歷史操作信息包括操作塊的大小、 操作類型、操作次數(shù)中的至少一種。
優(yōu)選的,所述步驟2)具體為根據(jù)步驟l)中各操作類型的出現(xiàn)頻率, 設(shè)定邏輯條帶大小。
優(yōu)選的,所述根據(jù)各操作類型的出現(xiàn)頻率對邏輯條帶大小的調(diào)整具體
為
設(shè)定調(diào)整的操作次數(shù)門限,每個(gè)操作類型對應(yīng)一個(gè)邏輯條帶大小,統(tǒng) 計(jì)各操作類型在次數(shù)門限范圍內(nèi)次數(shù),當(dāng)數(shù)據(jù)操作次數(shù)達(dá)到次數(shù)門限時(shí), 將邏輯條帶調(diào)整為次數(shù)最多的操作類型對應(yīng)的邏輯條帶大小。優(yōu)選的,當(dāng)需要調(diào)整邏輯條帶的邏輯空間大小時(shí),還包括以下步驟 將閃存設(shè)備中存儲的已有數(shù)據(jù)進(jìn)行數(shù)據(jù)備份。
優(yōu)選的,所述步驟1)之前還包括以下步驟將閃存設(shè)備劃分成多個(gè) 邏輯分區(qū),對于每個(gè)邏輯分區(qū)分別按照步驟O —3)進(jìn)行讀寫控制。
采用本發(fā)明閃存邏輯條帶自適應(yīng)控制方法的主要優(yōu)勢在于邏輯條帶 的劃分是變化的,設(shè)備可以根據(jù)操作歷史記錄運(yùn)用算法自適應(yīng)的設(shè)定邏輯 條帶的大小,這樣可以使設(shè)備更好的滿足用戶需求,提高閃存設(shè)備操作效 率和閃存使用壽命。
圖1為閃存芯片物理區(qū)塊的劃分示意圖2為多通道閃存存儲設(shè)備的邏輯塊劃分示意圖3為本發(fā)明優(yōu)選實(shí)施例中多通道閃存存儲設(shè)備小邏輯條帶示意圖4為本發(fā)明優(yōu)選實(shí)施例中多通道閃存存儲設(shè)備大邏輯條帶示意圖。
具體實(shí)施例方式
本發(fā)明的重點(diǎn)是通過自適應(yīng)算法根據(jù)閃存歷史操作記錄設(shè)定邏輯條 帶的大小,適應(yīng)不同的使用范圍和用戶,來提高閃存讀寫操作的效率和閃 存使用壽命。
目前大部分閃存芯片的劃分方法每個(gè)字節(jié)(Byte)包含8個(gè)位(Bit), 528個(gè)字節(jié)組成一個(gè)扇區(qū)(Secter),其中包括512字節(jié)的有效數(shù)據(jù)區(qū)和16 字節(jié)的冗余區(qū),4個(gè)扇區(qū)組成一個(gè)頁面(Page), 64個(gè)頁面組成一個(gè)物理區(qū) 塊(Block),如圖1所示。對于多通道閃存設(shè)備來講,如圖2所示,n個(gè)通 道中,每個(gè)通道的m頁面組成一個(gè)邏輯條帶。其中,n的值是確定的,是 設(shè)備通道的個(gè)數(shù),m的值由設(shè)備的策略決定。
邏輯條帶是指固件對閃存芯片的物理頁面的一種組織劃分方法,由于多 通道閃存設(shè)備是多個(gè)通道同時(shí)進(jìn)行操作,因此寫入或者讀出的數(shù)據(jù)必然處 在不同閃存芯片,所以導(dǎo)致其物理空間的分布是不連續(xù)的,但是對于邏輯 空間的映射和組織必須是連續(xù)的,或者說邏輯條帶就是將這些不連續(xù)的物 理頁面組織成一個(gè)連續(xù)的邏輯空間。
如圖1所示為閃存芯片物理區(qū)塊(Block)的劃分示意圖,閃存芯片 中每個(gè)區(qū)塊包括64個(gè)頁面(Page),每個(gè)頁面包括4個(gè)扇區(qū)(Sector),每 個(gè)扇區(qū)有528個(gè)字節(jié),其中有512個(gè)字節(jié)的有效數(shù)據(jù)區(qū)和16個(gè)字節(jié)的冗余 區(qū);
如圖2所示為多通道閃存存儲設(shè)備邏輯條帶的劃分,圖中所示例的通 道個(gè)數(shù)n為4,邏輯條帶中每個(gè)閃存頁面?zhèn)€數(shù)m為2,因此,本例所示的多 通道閃存設(shè)備的邏輯條帶的大小為16KB,如圖中所示的起始邏輯條帶O和 任意一個(gè)邏輯條帶X。
以下通過附圖并結(jié)合具體實(shí)施例對本發(fā)明進(jìn)行詳細(xì)說明。 將對閃存設(shè)備的操作類型檔位設(shè)定為2k, 4k, 8k,其中操作類型可以 包括小于2k讀,小于2k寫,2k-4k讀,2k誦4k寫,4k-8k讀,4k-8k寫, 大于8k讀,大于8k寫。通道個(gè)數(shù)為4,其中各檔位對應(yīng)的邏輯條帶的大 小在本實(shí)施例中分別為小于2k讀,小于2k寫,2k-4k讀,4k-8k讀,大 于8k讀對應(yīng)邏輯條帶為8K; 2k-4k寫對應(yīng)邏輯條帶為16K; 4k-8k寫,大 于8k寫對應(yīng)邏輯條帶為32K。設(shè)定一個(gè)操作閾值為10,000次,即當(dāng)閃存 設(shè)備每被操作10,000次時(shí),對閃存設(shè)備的邏輯條帶進(jìn)行一次自適應(yīng)調(diào)整。
閃存設(shè)備中的固件將對閃存設(shè)備歷史操作信息進(jìn)行統(tǒng)計(jì),并存儲在閃 存保留信息區(qū)中。統(tǒng)計(jì)的歷史操作信息包括操作塊的大小、操作類型、 操作次數(shù),對于本實(shí)施例即統(tǒng)計(jì)各種操作類型對應(yīng)的操作次數(shù)。當(dāng)操作總 數(shù)每達(dá)到10,000次,將不同類型的操作進(jìn)行比較,并設(shè)定設(shè)備邏輯條帶大 小為使用頻率最高的操作對應(yīng)的檔位。
如圖3所示,當(dāng)用戶需要對閃存設(shè)備或閃存設(shè)備中的某一邏輯分區(qū)進(jìn) 行頻繁的單次小塊數(shù)據(jù)讀操作時(shí),當(dāng)操作類型為小于2k讀,小于2k寫或 者2k以上大小數(shù)據(jù)讀中的一種的使用頻率大于其他類型的使用頻率,為了 保證閃存設(shè)備在這些操作過程中的速度,通過使用本發(fā)明實(shí)施例,可以對 邏輯條帶進(jìn)行相應(yīng)的調(diào)整,如圖所示,當(dāng)數(shù)據(jù)平均為小于2k大小時(shí),邏輯 條帶相應(yīng)的調(diào)整為8K,這樣,既使得每一次寫操作落在一個(gè)通道內(nèi),能夠 充分提高寫操作的速率,又滿足讀操作,盡量多的進(jìn)行并行操作的原則。 當(dāng)閃存設(shè)備或者邏輯分區(qū)頻繁進(jìn)行2k以上大小數(shù)據(jù)讀操作時(shí),邏輯條帶選 擇最小檔例如8K,這樣可以在讀數(shù)據(jù)時(shí)盡量多的啟動通道數(shù),充分的提高 存儲設(shè)備接口的讀速率。
如圖4所示,當(dāng)操作類型大于8k寫,或者4k-8k寫中的一種的使用頻 率大于其他類型的使用頻率,如圖所示,把邏輯條帶的大小調(diào)整為32K。 對于當(dāng)用戶需要對閃存設(shè)備進(jìn)行頻繁的多次寫入操作時(shí),考慮為了保證閃 存設(shè)備在寫操作過程中的效率和接口速率以及對閃存芯片的損耗,通過本 發(fā)明對邏輯條帶進(jìn)行相應(yīng)的調(diào)整,把邏輯條帶的大小調(diào)整為32K。由于每 個(gè)通道的閃存芯片在新數(shù)據(jù)寫入之前,需要先對目的區(qū)塊的舊數(shù)據(jù)作擦除 操作后,才能將新的數(shù)據(jù)寫入,而區(qū)塊的擦除是非常耗時(shí)間的,同時(shí),又 會對閃存芯片的壽命造成損耗,因此需要每次盡量啟動比較少的通道。在 操作過程中,邏輯條帶劃分越大,進(jìn)行的擦除操作越少,操作耗時(shí)和對閃 存芯片的磨損也越少,既能夠有效提高閃存設(shè)備接口寫速率,又能延長設(shè) 備壽命。此外,當(dāng)需要調(diào)整邏輯條帶的邏輯空間大小時(shí),還需要將閃存設(shè) 備中存儲的已有數(shù)據(jù)進(jìn)行數(shù)據(jù)備份,可以采用通過軟件自動備份或者通過 人機(jī)界面提示用于先備份后調(diào)整邏輯空間大小。
對于閃存設(shè)備中包括多個(gè)邏輯分區(qū)的情況,每個(gè)邏輯分區(qū)分別設(shè)置不 同的邏輯塊大小。設(shè)備可以根據(jù)用戶對不同邏輯分區(qū)不同的使用目的,智 能的進(jìn)行邏輯條帶大小的調(diào)整。
通過以上實(shí)施例,對本發(fā)明作了說明性描述。此外,本發(fā)明可實(shí)現(xiàn)的 方法包括很多,其主要目的是通過自適應(yīng)算法根據(jù)閃存歷史操作記錄設(shè)定 邏輯條帶的大小,來提高閃存讀寫操作的速度和效率以及延長閃存設(shè)備的 使用壽命。本發(fā)明以一種實(shí)施例作為說明,可實(shí)現(xiàn)的方法有很多,都是在 本發(fā)明主導(dǎo)思想之下,這些對于本領(lǐng)域技術(shù)人員來說都是顯然的。此外,
本發(fā)明提出的存儲芯片不僅僅包括NAND, N0R等閃存芯片,其他的需要有 相似邏輯條帶組織的存儲設(shè)備都不能認(rèn)為是脫離本發(fā)明的主題思想和使用 范圍,對于以上這些對本領(lǐng)域技術(shù)人員來說是顯而易見的,都包含在本發(fā) 明的范圍內(nèi)。
權(quán)利要求
1.一種基于多通道閃存設(shè)備邏輯條帶的自適應(yīng)控制方法,其特征在于,所述方法包括以下處理步驟1)閃存設(shè)備中的固件將歷史操作信息進(jìn)行統(tǒng)計(jì),并存儲在閃存保留信息區(qū)中;2)根據(jù)步驟1)中的統(tǒng)計(jì)的操作信息情況動態(tài)設(shè)定各存儲分區(qū)對應(yīng)的邏輯條帶標(biāo)識以確定各邏輯條帶的大??;3)根據(jù)邏輯條帶的劃分,在讀寫過程中將數(shù)據(jù)并行映射到不同通道的存儲單元內(nèi)。
2. 根據(jù)權(quán)利要求1所述的基于多通道閃存設(shè)備邏輯條帶的自適應(yīng)控制方法,其特征在于,所述步驟1)中統(tǒng)計(jì)的歷史操作信息包括操作塊 的大小、操作類型、操作次數(shù)中的至少一種。
3. 根據(jù)權(quán)利要求2所述的基于多通道閃存設(shè)備邏輯條帶的自適應(yīng)控 制方法,其特征在于,所述步驟2)具體為根據(jù)步驟l)中各操作類型的出 現(xiàn)頻率,設(shè)定邏輯條帶大小。
4. 根據(jù)權(quán)利要求3所述的基于多通道閃存設(shè)備邏輯條帶的自適應(yīng)控 制方法,,其特征在于,所述根據(jù)各操作類型的出現(xiàn)頻率對邏輯條帶大小的 調(diào)整具體為設(shè)定調(diào)整的操作次數(shù)門限,每個(gè)操作類型對應(yīng)一個(gè)邏輯條帶大小,統(tǒng) 計(jì)各操作類型在次數(shù)門限范圍內(nèi)次數(shù),當(dāng)數(shù)據(jù)操作次數(shù)達(dá)到次數(shù)門限時(shí), 將邏輯條帶調(diào)整為次數(shù)最多的操作類型對應(yīng)的邏輯條帶大小。
5. 根據(jù)權(quán)利要求1或2所述的基于多通道閃存設(shè)備邏輯條帶的自適 應(yīng)控制方法,其特征在于,當(dāng)需要調(diào)整邏輯條帶的邏輯空間大小時(shí),還包 括以下步驟將閃存設(shè)備中存儲的已有數(shù)據(jù)進(jìn)行數(shù)據(jù)備份。
6. 根據(jù)權(quán)利要求1或2所述的基于多通道閃存設(shè)備邏輯條帶的自適應(yīng)控制方法,其特征在于,所述步驟1)之前還包括以下步驟將閃存設(shè)備劃分成多個(gè)邏輯分區(qū),對于每個(gè)邏輯分區(qū)分別按照步驟l) -3)進(jìn)行讀寫控制。
全文摘要
本發(fā)明公開了一種基于多通道閃存設(shè)備邏輯條帶的自適應(yīng)控制方法,包括以下處理步驟1)閃存設(shè)備中的固件將歷史操作信息進(jìn)行統(tǒng)計(jì),并存儲在閃存保留信息區(qū)中;2)根據(jù)步驟1)中的統(tǒng)計(jì)的操作信息情況動態(tài)設(shè)定各存儲分區(qū)對應(yīng)的邏輯條帶標(biāo)識以確定各邏輯條帶的大?。?)根據(jù)邏輯條帶的劃分,在讀寫過程中將數(shù)據(jù)并行映射到不同通道的存儲單元內(nèi)。采用本發(fā)明由于設(shè)備可以根據(jù)操作歷史記錄運(yùn)用算法自適應(yīng)的設(shè)定邏輯條帶的大小,提高閃存設(shè)備操作效率和延長閃存使用壽命。
文檔編號G06F12/02GK101101569SQ20071007624
公開日2008年1月9日 申請日期2007年6月28日 優(yōu)先權(quán)日2007年6月28日
發(fā)明者河 黃 申請人:憶正存儲技術(shù)(深圳)有限公司