[發(fā)明專(zhuān)利]閃存的數(shù)據(jù)存儲(chǔ)方法有效
| 申請(qǐng)?zhí)枺?/td> | 200610167867.1 | 申請(qǐng)日: | 2006-12-20 |
| 公開(kāi)(公告)號(hào): | CN101206617A | 公開(kāi)(公告)日: | 2008-06-25 |
| 發(fā)明(設(shè)計(jì))人: | 鐘智淵 | 申請(qǐng)(專(zhuān)利權(quán))人: | 深圳市朗科科技有限公司 |
| 主分類(lèi)號(hào): | G06F12/02 | 分類(lèi)號(hào): | G06F12/02;G06F17/30 |
| 代理公司: | 北京英賽嘉華知識(shí)產(chǎn)權(quán)代理有限責(zé)任公司 | 代理人: | 余朦;方挺 |
| 地址: | 518057廣東省深圳市南*** | 國(guó)省代碼: | 廣東;44 |
| 權(quán)利要求書(shū): | 查看更多 | 說(shuō)明書(shū): | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 閃存 數(shù)據(jù) 存儲(chǔ) 方法 | ||
技術(shù)領(lǐng)域
本發(fā)明涉及一種數(shù)據(jù)存儲(chǔ)方法,尤其涉及一種閃存的數(shù)據(jù)存儲(chǔ)方法。
背景技術(shù)
目前閃存技術(shù)高速發(fā)展,但其基本讀寫(xiě)方式卻未改變,即,以頁(yè)為單位寫(xiě)入,以塊為單位擦除,而且必須經(jīng)擦除之后才能寫(xiě)入數(shù)據(jù)。因?yàn)殚W存的這個(gè)特性,一般是以塊為單位進(jìn)行閃存的數(shù)據(jù)存儲(chǔ)。而操作系統(tǒng)的讀寫(xiě)一般是以扇區(qū)為單位進(jìn)行的,因此,操作系統(tǒng)可能只對(duì)塊的一小部分寫(xiě)入數(shù)據(jù),而剩下部分的數(shù)據(jù)寫(xiě)入需要由底層軟件來(lái)執(zhí)行。這就需要閃存內(nèi)部具有至少一個(gè)交換塊來(lái)進(jìn)行數(shù)據(jù)交換。
基于上述提到的閃存的特性,如果操作系統(tǒng)寫(xiě)入多個(gè)較小數(shù)據(jù)且其地址不連續(xù),會(huì)導(dǎo)致閃存產(chǎn)生頻繁的數(shù)據(jù)搬遷(即,將數(shù)據(jù)復(fù)制到交換塊中的動(dòng)作)。
此外,對(duì)于具有鏈?zhǔn)浇Y(jié)構(gòu)的文件系統(tǒng),文件的鏈與其具體內(nèi)容并非放在同一個(gè)位置,而是按照一定的協(xié)議放在磁盤(pán)的不同位置。于是在操作系統(tǒng)對(duì)一個(gè)文件執(zhí)行復(fù)制或?qū)懭霑r(shí),需要在不同位置進(jìn)行操作才能完成。
例如,假設(shè)操作系統(tǒng)有兩個(gè)文件需要寫(xiě)入,則對(duì)于每個(gè)文件,操作系統(tǒng)都會(huì)寫(xiě)入以下三個(gè)區(qū)域:鏈表區(qū)、目錄區(qū)和數(shù)據(jù)區(qū)。以常用的FAT文件系統(tǒng)為例,三個(gè)區(qū)域在磁盤(pán)中的位置關(guān)系如圖1所示。操作系統(tǒng)一般按照以下順序?qū)懭耄簲?shù)據(jù)區(qū)、目錄區(qū)、鏈表區(qū)。當(dāng)操作系統(tǒng)寫(xiě)完一個(gè)文件以后,再重復(fù)上述順序?qū)懴乱粋€(gè)文件。
當(dāng)操作系統(tǒng)要寫(xiě)入數(shù)據(jù)時(shí),底層軟件取出一個(gè)交換塊并將數(shù)據(jù)寫(xiě)入此交換塊,然后,將待寫(xiě)入數(shù)據(jù)的塊的剩余區(qū)域從該塊復(fù)制到交換塊中,之后,跳轉(zhuǎn)到操作系統(tǒng)要求的地址進(jìn)行下一次寫(xiě)入。下面我們將舉例說(shuō)明傳統(tǒng)的閃存數(shù)據(jù)存儲(chǔ)操作。
假設(shè)一片閃存具有10個(gè)塊,每個(gè)塊有256個(gè)扇區(qū)。則我們可以建立如圖2所示的對(duì)照表。其中,邏輯第0塊對(duì)應(yīng)物理第0塊,邏輯第1塊對(duì)應(yīng)物理第1塊,依此類(lèi)推。
傳統(tǒng)的閃存數(shù)據(jù)存儲(chǔ)方法只使用一個(gè)交換塊,例如使用第9塊作為交換塊。當(dāng)操作系統(tǒng)向邏輯第3塊寫(xiě)數(shù)據(jù)時(shí),底層軟件將數(shù)據(jù)寫(xiě)到第9塊,之后,將第3塊中的原有數(shù)據(jù)搬到第9塊并在對(duì)照表上交換兩個(gè)塊,然后將第3塊作為交換塊。此時(shí)對(duì)照表變?yōu)槿鐖D3所示,物理第9塊變?yōu)檫壿嫷?塊,而物理第3塊則成為交換塊。
現(xiàn)在,假設(shè)操作系統(tǒng)要寫(xiě)入兩個(gè)文件,其中鏈表區(qū)在邏輯第0塊,目錄區(qū)在邏輯第1塊,數(shù)據(jù)區(qū)在邏輯第2至6塊。作為一個(gè)示例,假設(shè)操作系統(tǒng)將完成以下任務(wù):
(1)寫(xiě)入第一個(gè)文件的數(shù)據(jù),寫(xiě)入邏輯第2塊,寫(xiě)100個(gè)扇區(qū)。
(2)寫(xiě)入第一個(gè)文件的目錄,寫(xiě)入邏輯第1塊,寫(xiě)1個(gè)扇區(qū)。
(3)寫(xiě)入第一個(gè)文件的鏈表,寫(xiě)入邏輯第0塊,寫(xiě)10個(gè)扇區(qū)。
(4)寫(xiě)入第二個(gè)文件的數(shù)據(jù),因?yàn)榈谝粋€(gè)文件的數(shù)據(jù)沒(méi)有占滿一個(gè)塊,因此仍寫(xiě)入邏輯第2塊,寫(xiě)100個(gè)扇區(qū)。
(5)寫(xiě)入第二個(gè)文件的目錄,寫(xiě)入邏輯第1塊,寫(xiě)1個(gè)扇區(qū)。
(6)寫(xiě)入第二個(gè)文件的鏈表,寫(xiě)入邏輯第0塊,寫(xiě)10個(gè)扇區(qū)。
根據(jù)傳統(tǒng)的閃存數(shù)據(jù)儲(chǔ)存方法,上述寫(xiě)入兩個(gè)文件的操作按照如下步驟進(jìn)行:
(a)操作系統(tǒng)寫(xiě)第一個(gè)文件,首先寫(xiě)邏輯第2塊。底層軟件將數(shù)據(jù)寫(xiě)入交換塊(物理第9塊)。
(b)操作系統(tǒng)寫(xiě)邏輯第1塊。底層軟件先把原邏輯第2塊的原有數(shù)據(jù)搬遷到交換塊,然后在對(duì)照表上互換兩個(gè)塊。因此對(duì)照表變?yōu)槿鐖D4a所示。然后,底層軟件將接收的數(shù)據(jù)寫(xiě)入新的交換塊,即物理第2塊。
(c)操作系統(tǒng)寫(xiě)邏輯第0塊。底層軟件先把原邏輯第1塊的原有數(shù)據(jù)搬遷到交換塊,然后在對(duì)照表上互換兩個(gè)塊。因此對(duì)照表變?yōu)槿鐖D4b所示。然后,底層軟件將接收的數(shù)據(jù)寫(xiě)入新的交換塊,即物理第1塊。
(d)操作系統(tǒng)開(kāi)始寫(xiě)第二個(gè)文件,首先寫(xiě)邏輯第2塊,底層軟件先將原邏輯第0塊的原有數(shù)據(jù)搬遷到交換塊,然后在對(duì)照表上互換兩個(gè)塊。因此對(duì)照表變?yōu)槿鐖D4c所示。然后,底層軟件將接收的數(shù)據(jù)寫(xiě)入新的交換塊,即物理第0塊。
(e)操作系統(tǒng)寫(xiě)邏輯第1塊。底層軟件先把原邏輯第2塊的原有數(shù)據(jù)搬遷到交換塊,然后在對(duì)照表上互換兩個(gè)塊。因此對(duì)照表變?yōu)槿鐖D4d所示。然后,底層軟件將接收的數(shù)據(jù)寫(xiě)入新的交換塊,即物理第9塊。
(f)操作系統(tǒng)寫(xiě)邏輯第0塊。底層軟件先把原邏輯第1塊的原有數(shù)據(jù)搬遷到交換塊,然后在對(duì)照表上互換兩個(gè)塊。因此對(duì)照表變?yōu)槿鐖D4e所示。然后,底層軟件將接收的數(shù)據(jù)寫(xiě)入新的交換塊,即物理第2塊。
(g)操作系統(tǒng)完成文件寫(xiě)入。這時(shí),底層軟件需要對(duì)剩余的數(shù)據(jù)執(zhí)行搬遷,即把邏輯第0塊的剩余數(shù)據(jù)搬到交換塊,并互換兩個(gè)塊在對(duì)照表的位置。這時(shí),對(duì)照表變?yōu)槿鐖D4f所示。從而完成了寫(xiě)入兩個(gè)文件的操作。
該專(zhuān)利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專(zhuān)利權(quán)人授權(quán)。該專(zhuān)利全部權(quán)利屬于深圳市朗科科技有限公司,未經(jīng)深圳市朗科科技有限公司許可,擅自商用是侵權(quán)行為。如果您想購(gòu)買(mǎi)此專(zhuān)利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/200610167867.1/2.html,轉(zhuǎn)載請(qǐng)聲明來(lái)源鉆瓜專(zhuān)利網(wǎng)。
- 同類(lèi)專(zhuān)利
- 專(zhuān)利分類(lèi)
G06F 電數(shù)字?jǐn)?shù)據(jù)處理
G06F12-00 在存儲(chǔ)器系統(tǒng)或體系結(jié)構(gòu)內(nèi)的存取、尋址或分配
G06F12-02 .尋址或地址分配;地址的重新分配
G06F12-14 .阻止存儲(chǔ)器越權(quán)使用的保護(hù)
G06F12-16 .阻止存儲(chǔ)物丟失的保護(hù)
G06F12-04 ..字長(zhǎng)可變的字或字的一部分的尋址
G06F12-06 ..物理存儲(chǔ)塊定位的尋址,例如,基地址尋址、模塊尋址、專(zhuān)用存儲(chǔ)區(qū)尋址
- 數(shù)據(jù)顯示系統(tǒng)、數(shù)據(jù)中繼設(shè)備、數(shù)據(jù)中繼方法、數(shù)據(jù)系統(tǒng)、接收設(shè)備和數(shù)據(jù)讀取方法
- 數(shù)據(jù)記錄方法、數(shù)據(jù)記錄裝置、數(shù)據(jù)記錄媒體、數(shù)據(jù)重播方法和數(shù)據(jù)重播裝置
- 數(shù)據(jù)發(fā)送方法、數(shù)據(jù)發(fā)送系統(tǒng)、數(shù)據(jù)發(fā)送裝置以及數(shù)據(jù)結(jié)構(gòu)
- 數(shù)據(jù)顯示系統(tǒng)、數(shù)據(jù)中繼設(shè)備、數(shù)據(jù)中繼方法及數(shù)據(jù)系統(tǒng)
- 數(shù)據(jù)嵌入裝置、數(shù)據(jù)嵌入方法、數(shù)據(jù)提取裝置及數(shù)據(jù)提取方法
- 數(shù)據(jù)管理裝置、數(shù)據(jù)編輯裝置、數(shù)據(jù)閱覽裝置、數(shù)據(jù)管理方法、數(shù)據(jù)編輯方法以及數(shù)據(jù)閱覽方法
- 數(shù)據(jù)發(fā)送和數(shù)據(jù)接收設(shè)備、數(shù)據(jù)發(fā)送和數(shù)據(jù)接收方法
- 數(shù)據(jù)發(fā)送裝置、數(shù)據(jù)接收裝置、數(shù)據(jù)收發(fā)系統(tǒng)、數(shù)據(jù)發(fā)送方法、數(shù)據(jù)接收方法和數(shù)據(jù)收發(fā)方法
- 數(shù)據(jù)發(fā)送方法、數(shù)據(jù)再現(xiàn)方法、數(shù)據(jù)發(fā)送裝置及數(shù)據(jù)再現(xiàn)裝置
- 數(shù)據(jù)發(fā)送方法、數(shù)據(jù)再現(xiàn)方法、數(shù)據(jù)發(fā)送裝置及數(shù)據(jù)再現(xiàn)裝置
- 動(dòng)態(tài)存儲(chǔ)管理裝置及方法
- 一種存儲(chǔ)方法、服務(wù)器及存儲(chǔ)控制器
- 一種基于存儲(chǔ)系統(tǒng)的控制方法及裝置
- 一種信息的存儲(chǔ)控制方法
- 一種數(shù)據(jù)存儲(chǔ)方法及裝置
- 數(shù)據(jù)存儲(chǔ)方法、裝置、計(jì)算機(jī)設(shè)備以及存儲(chǔ)介質(zhì)
- 一種數(shù)據(jù)存儲(chǔ)控制方法及裝置
- 存儲(chǔ)設(shè)備、存儲(chǔ)系統(tǒng)及存儲(chǔ)方法
- 物料存儲(chǔ)方法及系統(tǒng)
- 基于雙芯智能電表的數(shù)據(jù)分類(lèi)存儲(chǔ)方法和裝置
- 一種數(shù)據(jù)庫(kù)讀寫(xiě)分離的方法和裝置
- 一種手機(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ì)





