欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

用于存取非現(xiàn)場(chǎng)執(zhí)行的快閃存儲(chǔ)器中的持久文件的裝置、系統(tǒng)和方法

文檔序號(hào):6776659閱讀:152來源:國知局
專利名稱:用于存取非現(xiàn)場(chǎng)執(zhí)行的快閃存儲(chǔ)器中的持久文件的裝置、系統(tǒng)和方法
技術(shù)領(lǐng)域
本發(fā)明一般涉及存儲(chǔ)器裝置,尤其涉及用于存取非現(xiàn)場(chǎng)執(zhí)行的快 閃存儲(chǔ)器中的持久文件的裝置、系統(tǒng)和方法。
背景技術(shù)
固件和持久文件有利于例如移動(dòng)電話和個(gè)人數(shù)字助理的便攜式電 子裝置的操作。持久文件通常包括非易失性數(shù)據(jù),用來定義便攜式電 子裝置的通用系統(tǒng)操作需要的默認(rèn)內(nèi)容和數(shù)據(jù)。持久文件的實(shí)例包括 字形文件、語言支持文件以及例如聲音、圖像和視頻的默認(rèn)多媒體內(nèi)
容。在傳統(tǒng)裝置中,固件和持久文件存儲(chǔ)在例如NAND快閃存儲(chǔ)器裝 置的非現(xiàn)場(chǎng)執(zhí)行(非XIP)的非易失性存儲(chǔ)器中,并復(fù)制到例如隨機(jī) 存取存儲(chǔ)器(RAM)或同步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器(SDRAM)的現(xiàn)場(chǎng) 執(zhí)行(XIP)存儲(chǔ)器裝置中。隨著便攜式電子裝置的功能性和復(fù)雜性 的增加,用于持久文件和固件所需的存儲(chǔ)器也隨之增加。除了增加的 功能性之外,工業(yè)竟?fàn)幒拖M(fèi)者需求也需要用于便攜式裝置的制造費(fèi) 用不斷減少。在傳統(tǒng)裝置中,當(dāng)持久文件在非XIP快閃存儲(chǔ)器中時(shí), 不能直接對(duì)其進(jìn)行存取。因此,傳統(tǒng)裝置具有這樣的局限性,即,便 攜式電子裝置內(nèi)的XIP存儲(chǔ)器裝置必須具有足夠的容量,用于可執(zhí)行 代碼和從非XIP快閃存儲(chǔ)器中復(fù)制的持久文件。
因此,需要一種用于存取非XIP快閃存儲(chǔ)器中存儲(chǔ)的持久文件的 裝置、系統(tǒng)和方法。

發(fā)明內(nèi)容
根據(jù)本發(fā)明的示例性實(shí)施方式,在電子裝置的操作期間,對(duì)存儲(chǔ) 在非XIP快閃存儲(chǔ)器中的持久文件進(jìn)行存取。在執(zhí)行該裝置上的應(yīng)用 代碼時(shí),使用例如查找表的存取目錄對(duì)持久文件進(jìn)行存取。存取目錄
提供允許在裝置的處理器上運(yùn)行的應(yīng)用程序或其它軟件代碼對(duì)非XIP 快閃存儲(chǔ)器裝置內(nèi)的持久文件進(jìn)行定位和存取的信息,其中所述非
XIP快閃存儲(chǔ)器裝置可包括壞塊。在創(chuàng)建存取目錄時(shí),識(shí)別并記錄裝
置內(nèi)的壞塊位置。通過從存取目錄中標(biāo)識(shí)的文件起始位置讀取文件,
并說明存取目錄的壞塊數(shù)據(jù)中識(shí)別的壞塊,從非XIP快閃存儲(chǔ)器裝置 中存取文件。因此,持久文件仍可保留存儲(chǔ)在例如NAND裝置的非 XIP快閃存儲(chǔ)器裝置中,而不被復(fù)制到例如SDRAM裝置的XIP存儲(chǔ) 器裝置中。XIP存儲(chǔ)器裝置所需的大小達(dá)到最小,從而減少了電子裝 置的制造費(fèi)用。


圖1是根據(jù)本發(fā)明示例性實(shí)施方式的便攜式電子裝置的方塊圖; 圖2是示出存取目錄和持久文件區(qū)之間的示例性關(guān)系的方塊圖,
在持久文件區(qū)中,文件位置數(shù)據(jù)包括位置表,壞塊數(shù)據(jù)包括壞塊表; 圖3是根據(jù)本發(fā)明示例性實(shí)施方式、執(zhí)行存取目錄初始化過程的
方法的流程圖4是執(zhí)行圖3中步驟306到314的示例性方法的流程圖; 圖5是根據(jù)本發(fā)明示例性實(shí)施方式、存取持久文件的方法的流程 圖;以及
圖6是從非XIP快閃存儲(chǔ)器裝置讀取持久文件的方法的流程圖。
具體實(shí)施例方式
圖1是根據(jù)本發(fā)明示例性實(shí)施方式的便攜式電子裝置100的方塊 圖 圖1中示出的各種功能可由硬件、軟件和固件的任意組合實(shí)現(xiàn)。 示出為由單一塊實(shí)現(xiàn)的任何功能都可由多個(gè)裝置或系統(tǒng)實(shí)現(xiàn),多個(gè)塊 的功能也可由單一裝置實(shí)現(xiàn)。
便攜式電子裝置IOO是至少包括非XIP快閃存儲(chǔ)器裝置102、現(xiàn) 場(chǎng)執(zhí)行(XIP)存儲(chǔ)器裝置104和有利于便攜式電子裝置100的操作 的持久文件的任何裝置。在示例性的實(shí)施方式中,便攜式電子裝置100 是移動(dòng)電話,其中非XIP快閃存儲(chǔ)器裝置102是NAND快閃存儲(chǔ)器裝
置,且現(xiàn)場(chǎng)執(zhí)行(XIP)存儲(chǔ)器裝置105是SDRAM裝置。在裝置100 投入服務(wù)之前,將持久文件和電話圖像文件復(fù)制到非XIP快閃存儲(chǔ)器 裝置102。在示例性的實(shí)施方式中,當(dāng)將持久文件和電話圖像文件加 載到非XIP快閃存儲(chǔ)器裝置102中時(shí),電話圖像文件為壓縮格式,而 持久文件仍然為非壓縮的。在制造便攜式裝置100的過程中,將電話 圖像代碼和持久文件加載到非XIP快閃存儲(chǔ)器裝置102的適當(dāng)?shù)膮^(qū) 108、 110中,或者在制造完成之后對(duì)圖像代碼和持久文件進(jìn)行更新。 在加載過程中,識(shí)別并避開壞塊。因此,持久文件區(qū)110的位置可依 賴于非XIP快閃存儲(chǔ)器裝置102內(nèi)的壞塊位置。在該示例性的實(shí)施方 式中,將持久文件標(biāo)記加載于持久文件區(qū)110的起始處,以提供關(guān)于 持久文件區(qū)110的位置的信息。在示例性的實(shí)施方式中,在電話圖像 代碼之后插入填充字段,用于在電話圖像區(qū)108中預(yù)留空間并允許用 于將來的代碼擴(kuò)展,并且用于為持久文件區(qū)IIO保持一致的起始位置。 因此,持久文件標(biāo)記設(shè)置于持久文件區(qū)預(yù)期的起始位置,其具體位置 依賴于壞塊的存在及其數(shù)量。
在便攜式裝置IOO的加電過程中,將電話圖像文件解壓縮并復(fù)制 到XIP存儲(chǔ)器裝置106上,以形成固件代碼112和電話圖像數(shù)據(jù)114。 處理器116執(zhí)行XIP存儲(chǔ)器裝置106中的固件代碼,以實(shí)現(xiàn)有利于便 攜式裝置的整體功能性的功能。XIP存儲(chǔ)器裝置106是有利于執(zhí)行代 碼的任何存儲(chǔ)裝置,例如RAM裝置或閃存裝置。適合的RAM裝置的 實(shí)例為SDRAM裝置。在某些情況下,例如NOR閃存裝置的閃存裝 置可用于XIP存儲(chǔ)器裝置106。除了其它功能之外,當(dāng)安裝或更新電 話圖像和持久文件之后,固件代碼112在第一次加電過程中執(zhí)行持久 文件初始化過程。持久文件初始化過程建立存取目錄118,用于存取 非快閃存儲(chǔ)器102內(nèi)的持久文件。在示例性的實(shí)施方式中,存取目錄 118存儲(chǔ)于NAND快閃存儲(chǔ)器102的嵌入式文件系統(tǒng)(EFS)區(qū)120 中,并在后來的加電過程中加載到XIP存儲(chǔ)器裝置106中作為RAM 存取目錄126。如果電話圖像和持久文件被新的代碼版本改變,則在 下一次裝置加電時(shí)執(zhí)行持久文件初始化過程,以建立存取目錄118的 修正。
存取目錄118包括文件位置數(shù)據(jù)122和壞塊位置數(shù)據(jù)124,其中 文件位置數(shù)據(jù)122指示持久文件在非XIP快閃存儲(chǔ)器裝置102的持久 文件區(qū)110中的位置,壞塊數(shù)據(jù)指示持久文件區(qū)110內(nèi)的壞塊位置。 如下文將進(jìn)一步詳細(xì)介紹,持久文件初始化過程確定持久文件區(qū)110 中每個(gè)文件的起始位置和每個(gè)壞塊的位置,以形成存取目錄118。通 常,識(shí)別持久文件區(qū)的位置,確定每個(gè)持久文件的大小,掃描用于每 個(gè)持久文件的持久文件區(qū)118并檢查壞塊的壞塊邊界。
將存取目錄復(fù)制到XIP存儲(chǔ)器裝置106中,以促進(jìn)在處理器116 上運(yùn)行的固件112對(duì)存取目錄118的存取。調(diào)用存取程序以通過存取 目錄118對(duì)持久文件進(jìn)行存取。在下文中將參照?qǐng)D5和圖6對(duì)存取程 序進(jìn)一步詳細(xì)介紹。通常,根據(jù)存取目錄確定持久文件的起始頁和偏 移,當(dāng)壞塊被跳過時(shí),根據(jù)該偏移讀取文件。由壞塊位置數(shù)據(jù)124的 壞塊表中的頁號(hào)識(shí)別壞塊。通過指向讀取文件時(shí)遇到的第一壞塊,壞 塊索引提供額外的效率。
在某些情況下,持久文件區(qū)110可存儲(chǔ)在EFS 120中,然而,在 示例性實(shí)施方式中,持久文件存儲(chǔ)在EFS 120之外,使EFS 120管理 的文件數(shù)達(dá)到最小。由于持久文件不在EFS 120中重復(fù)移動(dòng)或重寫, 因此非XIP快閃存儲(chǔ)器裝置102的使用周期達(dá)到最大。
圖2是示出存取目錄118和持久文件區(qū)IIO之間的示例性關(guān)系的 方塊圖,其中文件位置數(shù)據(jù)122包括位置表,壞塊數(shù)據(jù)124包括壞塊 表。如上所述,NAND存儲(chǔ)器裝置通常包含無效的塊或"壞塊"。壞 塊是包括可靠性得不到保證的一個(gè)或多個(gè)無效位的塊。壞塊可在裝置 裝運(yùn)時(shí)出現(xiàn),或可在裝置壽命期內(nèi)出現(xiàn)。通過定位持久文件區(qū)、掃描 用于每個(gè)持久文件的非XIP快閃存儲(chǔ)器裝置102、以及記錄每個(gè)持久 文件的位置和掃描期間遇到的全部壞塊,在存取目錄初始化過程中創(chuàng) 建位置表和壞塊表。壞塊表124包括持久文件區(qū)110內(nèi)每個(gè)壞塊的起 始頁的頁號(hào)。NAND裝置上裝有指示裝置壞塊的壞塊信息。通常,將 每個(gè)塊中第 一頁的備用字節(jié)段和第二頁的備用字節(jié)段內(nèi)的位置保留用 于指示該塊是否損壞的壞塊信息。在存取目錄初始化過程中,通過備 用字節(jié)段中的壞塊信息識(shí)別壞塊,且壞塊信息用于創(chuàng)建壞塊表124。
存取目錄初始化過程將在下文中參照?qǐng)D3和圖4進(jìn)一步詳細(xì)介紹。
在示例性的實(shí)施方式中,位置表122是包括每個(gè)持久文件的起始 位置和壞塊索引218的查找表。起始位置包括起始頁214和頁偏移 216,其中起始頁指示頁號(hào),頁偏移216指示在文件開始的頁內(nèi)的字節(jié) 偏移。壞塊索引218指示壞塊表124中的位置,壞塊表124包括連續(xù) 存取文件時(shí)遇到的第一壞塊的頁號(hào)220、 222、 224和226。因此,如 果一個(gè)文件的壞塊索引218與下一個(gè)文件的壞塊索引218相同,則該 文件不包括任何壞塊。
在參照?qǐng)D2討論的示例性情況下,持久文件區(qū)包括多個(gè)壞塊202、 204、 206和208以及多個(gè)持久文件210、 212。位置表122包括起始頁 214、頁偏移216以及每個(gè)持久文件210、 212的壞塊索引218。壞塊 索引218指向壞塊表124中的位置220、 222、 224和226,該位置包 括連續(xù)存取文件時(shí)首先遇到的壞塊的頁號(hào)。例如,當(dāng)讀取"文件2" 212時(shí),第一壞塊索引218指向壞塊表中的第一位置220,其中列出的 頁號(hào)對(duì)應(yīng)于持久文件區(qū)中的第一壞塊202。壞塊表222中的下一個(gè)位 置包括下一個(gè)壞塊204的第一頁的頁號(hào)。因此,多個(gè)壞塊索引218可 指向同一壞塊位置220。如上所述,在當(dāng)前文件具有與先前文件相同 的壞塊索引時(shí),當(dāng)前文件210不包括任何的壞塊202、204、206和208。 圖3是根據(jù)本發(fā)明示例性實(shí)施方式的、執(zhí)行存取目錄初始化過程 的方法。當(dāng)電話圖像和持久文件被最初加載或更新之后,在便攜式裝 置100第一次加電時(shí)序中,通過由處理器116執(zhí)行固件代碼,實(shí)現(xiàn)存 取目錄初始化過程。該示例性的方法在便攜式移動(dòng)電話中實(shí)現(xiàn),但是 該方法還可在持久文件存儲(chǔ)在非XIP快閃存儲(chǔ)器裝置102中的任何情 況中實(shí)現(xiàn)。
在步驟302,對(duì)電話圖像區(qū)解壓縮并將其加載到XIP裝置106中。 如上所述,在示例性的實(shí)施方式中,當(dāng)將電話圖像區(qū)108加載到非XIP 快閃存儲(chǔ)器裝置102中時(shí)對(duì)其進(jìn)行壓縮。因此,對(duì)電話圖像區(qū)108解 壓縮并將其加載到XIP裝置106,從而使其可由處理器116作為固件 代碼112執(zhí)行。示例性的實(shí)施方式中,除了其它固件和數(shù)據(jù)之外,固 件代碼112還包括存取目錄初始化代碼和持久文件存取代碼。以下討
論的步驟304到步驟314提供用于實(shí)現(xiàn)存取目錄初始化過程的示例性 方法。
在步驟304,持久文件區(qū)220設(shè)置于非XIP快閃存儲(chǔ)器裝置102 中。如上所述,在示例性實(shí)施方式中,由填充字段和持久文件標(biāo)記228 將持久文件區(qū)220與電話圖像區(qū)108分開。由于持久文件區(qū)110緊接 在持久文件標(biāo)記228之后,因此通過識(shí)別持久文件標(biāo)記228定位持久 文件區(qū)110。因此,從填充字段的末尾和持久文件區(qū)IIO預(yù)期的起始 位置開始在非XIP快閃存儲(chǔ)器裝置102中搜索持久文件標(biāo)記228。因 此,在存在壞塊時(shí),持久文件標(biāo)記228提供了對(duì)持久文件區(qū)IIO的具 體識(shí)別。
在步驟306,對(duì)持久文件區(qū)IIO進(jìn)行掃描,同時(shí)檢查壞塊。讀取 塊的第一頁中的壞塊指示符位置,以確定該塊是否為壞塊(無效的)。 通過基于存儲(chǔ)在電話圖像數(shù)據(jù)114中的信息計(jì)算文件大小,并通過從 起始位置開始讀取文件,對(duì)每個(gè)文件進(jìn)行掃描,直到掃描完全部的文 件數(shù)據(jù)。估計(jì)讀取文件時(shí)遇到的壞塊邊界,以確定該塊是否為壞塊。
在步驟308,當(dāng)發(fā)現(xiàn)壞塊時(shí),用壞塊位置對(duì)壞塊表進(jìn)行更新???越多個(gè)塊的文件部分可由一個(gè)或多個(gè)壞塊分開。當(dāng)識(shí)別到壞塊時(shí),通 過列出壞塊頁對(duì)存取目錄118中的壞塊表124進(jìn)行更新。
在步驟310,確定當(dāng)前掃描文件的文件終點(diǎn)。當(dāng)對(duì)特定文件讀取 的字節(jié)數(shù)等于文件長度時(shí),則確定已到達(dá)文件終點(diǎn)。
在步驟312,將存取目錄118中的文件位置數(shù)據(jù)更新,以反應(yīng)下 一個(gè)文件的起始位置。在示例性實(shí)施方式中,數(shù)據(jù)為排列的四字節(jié), 且下一個(gè)文件的文件起始位置是下一個(gè)可用的完整四字節(jié)段。將下一 個(gè)文件的起始頁和偏移輸入位置表122中。
在步驟314,在存取目錄118的位置表122中對(duì)用于下一個(gè)文件 的壞塊索引218進(jìn)行更新。如上所述,壞塊索引218指向讀取當(dāng)前文 件時(shí)遇到的第一壞塊的壞塊表124中的頁號(hào)位置(220、 222、 224和 226)。如果在掃描文件時(shí)沒有發(fā)現(xiàn)壞塊,則當(dāng)前文件的壞塊索引與上 一個(gè)壞塊索引相同。
圖4是執(zhí)行圖3的步驟306到314的示例性方法的流程圖。可以任何順序或同時(shí)地執(zhí)行圖3中的步驟306-314實(shí)現(xiàn)參照?qǐng)D4介紹的功 能和過程。參照?qǐng)D4介紹的任何步驟的過程可實(shí)現(xiàn)圖3中多個(gè)步驟中 的一部分,并且圖3中任何單一的步驟可通過圖4中的多個(gè)步驟實(shí)現(xiàn)。 因此,圖4中的步驟不需要直接對(duì)應(yīng)于圖3中的步驟。 在步驟402,將計(jì)數(shù)器(N)設(shè)為等于"1"。
在步驟404,確定N是否小于或等于存儲(chǔ)在非XIP快閃存儲(chǔ)器裝 置102中的持久文件的數(shù)量。當(dāng)N小于該文件數(shù)量時(shí),該過程接下來 執(zhí)行步驟406。否則,通過退出結(jié)束該過程。因此,當(dāng)文件數(shù)量小于N 時(shí),該過程退出,指示沒有更多待掃描的文件。
在步驟406,獲取文件N的大小?;陔娫拡D像中包括的元數(shù)據(jù), 確定當(dāng)前文件的大小。因此,電話圖像包括持久文件的大小。
在步驟408,設(shè)置當(dāng)前文件的起始頁?;谖募笮。_定用于 當(dāng)前文件的起始頁和起始偏移。從起始位置開始掃描。
在步驟410,確定文件大小是否大于O。如果文件大小不大于O, 該過程接下來執(zhí)行步驟412,在返回步驟404之前將N加上1。否則 該過程接下來執(zhí)行步驟414。如下文所述,在對(duì)頁進(jìn)行掃描之后,將 文件大小減去頁的大小。因此,在步驟410確定當(dāng)前文件是否存在額 外的待掃描的頁。
在步驟414,確定是否到達(dá)新的塊。在示例性的實(shí)施方式中,基 于塊內(nèi)頁號(hào)除以32是否有余數(shù)(即,頁號(hào)%32 = 0),確定是否到達(dá)塊 的邊界。由于塊中存在32個(gè)頁,因此僅在塊的邊界處結(jié)果才為0。如 果沒有遇到新的塊,該過程則接下來執(zhí)行步驟420。如果到達(dá)塊的邊 界,該過程則接下來執(zhí)行步驟416。
在步驟416,確定該塊是否無效(即,該塊為壞塊)。讀取對(duì)應(yīng)于 該塊第一頁和第二頁的備用字節(jié)內(nèi)的壞塊信息。如果該塊是有效塊, 該過程則接下來執(zhí)行步驟420。如果壞塊信息指示該塊無效(即,該 塊為壞塊),該過程則接下來執(zhí)行步驟418。
在步驟418,跳過塊內(nèi)的剩余頁,并且用壞塊的頁號(hào)更新壞塊表。 然后該過程返回步驟414。
在步驟420,確定文件大小是否大于頁的大小。如果文件大小大 于頁的大小,則該文件仍具有不止一個(gè)頁。如果在步驟422將文件大 小減去頁的大小,則該過程接下來執(zhí)行步驟426。
在步驟426,確定文件大小是否等于頁的大小。如果文件大小等 于頁的大小,則該過程接下來執(zhí)行步驟428。否則,該過程接下來執(zhí) 行步驟424,
在步驟424,將位置表122更新,并將文件大小設(shè)為等于0。由當(dāng) 前文件的終點(diǎn)位置和需要的任何排列布置確定下一個(gè)文件的起始位置 214、 216。因此,將表122中的頁214和偏移216的值更新,以反應(yīng) 下一個(gè)文件的起始位置。此外,對(duì)壞塊索引218進(jìn)行更新,以指向壞 塊表中的下一個(gè)位置。當(dāng)沒有遇到壞塊時(shí),下一個(gè)壞塊索引218與當(dāng) 前壞塊索引218是相同的。該過程則返回到步驟410。
在步驟428,將當(dāng)前頁號(hào)加一。因此,如果在步驟426確定文件 大小等于頁的大小,則增加頁號(hào)并且接下來執(zhí)行步驟430。
在步驟430,確定是否遇到新的塊。如果達(dá)到了塊邊界,則該過 程接下來執(zhí)行步驟432。否則,該過程接下來執(zhí)行步驟424。
在步驟432,確定該塊是否無效。如果該塊有效且不是壞塊,則 該過程接下來執(zhí)行步驟424。否則,該過程接下來執(zhí)行步驟434,更新 壞塊表124,并跳過壞塊中的剩余頁。
圖。盡管該方法可在持久文件存儲(chǔ)在非XIP快閃存儲(chǔ)器裝置102中的 任何情況中實(shí)現(xiàn),但是此示例性的方法在便攜式移動(dòng)電話中實(shí)現(xiàn)???同時(shí)執(zhí)行兩個(gè)或更多步驟,并且在某些情況下可改變步驟的順序。
在步驟502,識(shí)別待從非XIP快閃存儲(chǔ)器裝置102中讀取的文件 的文件位置。在示例性實(shí)施方式中,根據(jù)存取目錄118確定文件位置。 /人存取目錄118的位置表122中獲取該文件的起始頁214和偏移216。
在步驟504,計(jì)算用于該文件的待讀取的頁數(shù)和字節(jié)數(shù)?;谡?qǐng) 求讀取的文件的長度,計(jì)算頁數(shù)和字節(jié)數(shù)。
在步驟506,獲取壞塊數(shù)據(jù)。獲取存儲(chǔ)在存取目錄118中的壞塊 數(shù)據(jù)。在示例性的實(shí)施方式中,從位置表122和壞塊表124中讀取壞 塊數(shù)據(jù)。從存取目錄118的位置表218中讀取當(dāng)前壞塊索引和下一個(gè) 壞塊索引。當(dāng)當(dāng)前壞塊索引218與下一個(gè)壞塊索引218不同時(shí),從壞 塊表中讀取對(duì)應(yīng)于當(dāng)前文件的 一個(gè)或多個(gè)壞塊頁。
在步驟508,通過跳過壞塊從非XIP快閃存儲(chǔ)器裝置102中讀取 文件。從非XIP快閃存儲(chǔ)器裝置102中讀取計(jì)算出的頁數(shù)和字節(jié)數(shù), 同時(shí)說明所有的壞塊。下面參照?qǐng)D6討論用于讀取文件的示例性方法。
圖6時(shí)從非XIP快閃存儲(chǔ)器裝置102中讀取持久文件的方法的流 程圖。因此,參照?qǐng)D6介紹的方法是實(shí)現(xiàn)圖5的步驟508的示例性方 法??梢匀魏雾樞蚧蛲瑫r(shí)地執(zhí)行圖5的步驟508,來實(shí)現(xiàn)參照?qǐng)D6介 紹的功能和過程。
在步驟602,從非XIP快閃存儲(chǔ)器裝置102中讀取文件的第一頁, 并將待讀取的頁數(shù)減一。根據(jù)文件的偏移和長度,可讀取整頁或讀取 頁的一部分。
在步驟604,確定待讀取的頁數(shù)是否等于零。如果沒有待讀取的 頁且頁數(shù)等于零,該方法則接下來執(zhí)行步驟608,將用于文件的數(shù)據(jù) 復(fù)制到緩沖器并結(jié)束過程。如果還有待讀取的頁(即,待讀取的頁數(shù) 不等于零),該方法則接下來執(zhí)行步驟606,將用于文件的數(shù)據(jù)復(fù)制到 緩沖器。
在步驟610,從當(dāng)前塊中讀取除了最后一頁之外剩余的待讀取頁。 在步驟612,確定待讀取的頁數(shù)是否等于一。如果用于文件的剩 余數(shù)據(jù)需要讀取一頁或頁的一部分,該方法則接下來執(zhí)行步驟614, 讀取當(dāng)前塊的最后一頁然后退出。否則,該方法4妄下來執(zhí)4亍步驟616。 因此,如果用于文件的數(shù)據(jù)需要讀取不止一頁,則該方法接下來執(zhí)行 步驟616。
因此,當(dāng)不會(huì)穿過塊邊界時(shí),不需要實(shí)現(xiàn)從步驟616開始的剩余 過程。當(dāng)文件的剩余部分位于當(dāng)前塊中時(shí),可讀取文件而無需檢查壞 塊。
在步驟616,確定當(dāng)前壞塊索引218與下一個(gè)壞塊索引218是否 相同。如果相同,該過程則接下來執(zhí)行步驟618。當(dāng)兩個(gè)索引相同時(shí), 當(dāng)前塊中沒有壞塊,并在步驟618和614讀取文件的剩余數(shù)據(jù)。如果 兩個(gè)索引不相同,該方法則接下來執(zhí)行步驟620。
在步驟620,確定文件的剩余數(shù)據(jù)是否需要讀取一頁。因此,確 定是否必須對(duì)多于一頁進(jìn)行存取,以讀取屬于正讀取的文件的剩余數(shù) 據(jù)。如果僅有一頁或頁的一部分待讀取,則該過程接下來執(zhí)行步驟 622。否則,該程序接下來執(zhí)行步驟624。
在步驟622,如果到達(dá)壞塊,則跳過壞塊。在步驟622,待讀取的 數(shù)據(jù)為一頁或者更少。然而,待讀取的最后一頁仍然可能位于一個(gè)或 多個(gè)壞塊之后。因此,如果待讀取的最后一頁位于塊邊界(即,塊的 第一頁),將用于該頁的壞塊信息與壞塊表124中的壞塊頁220、 222、 224和226進(jìn)行比較。如果該塊為壞塊,則檢查下一個(gè)塊,直到發(fā)現(xiàn) 有效的塊。讀取最后一頁或頁的一部分,并將其復(fù)制到緩沖器。
在步驟624,確定頁是否為當(dāng)前的壞塊頁。將該頁與壞塊表中的 壞塊頁號(hào)比較。如果該塊是壞塊,則在步驟626跳過該塊中的剩余頁, 以確定剩余的待讀取的頁數(shù)。如果該塊有效,則該過程接下來執(zhí)行步 驟628。
在步驟628,讀取當(dāng)前塊中除了最后一頁之外的其余頁。該過程 然后返回步驟620。因此,步驟620、 624、 626和628形成循環(huán),讀 取頁而跳過壞塊。當(dāng)只剩單一的頁待讀取時(shí),退出該循環(huán)。
因此,根據(jù)示例性的實(shí)施方式,將壓縮的電話圖像或非壓縮的持 久文件加載或更新到便攜式移動(dòng)電話或其它電子便攜式裝置100的 NAND快閃存儲(chǔ)器裝置102中。在存取目錄初始化過程中,在上電時(shí) 序中,掃描持久文件并檢查壞塊的塊邊界。創(chuàng)建具有位置表122和壞 塊表124的存取目錄,其中位置表122包括用于每個(gè)文件的起始頁和 偏移以及壞塊索引。壞塊表124包括持久文件區(qū)110內(nèi)的壞塊的頁號(hào) 220、 222、 224和226。在便攜式電子裝置IOO才喿作期間,通過說明持 久文件區(qū)110內(nèi)的壞塊的存取程序在非XIP快閃存儲(chǔ)器裝置102上對(duì) 存取文件進(jìn)行存取。跳過存取目錄118中指出的壞塊,同時(shí)從持久文 件區(qū)中讀取文件。由于可直接從NAND快閃存儲(chǔ)器裝置102存取文件, 因此減少了 XIP存儲(chǔ)器裝置的大小和成本。
根據(jù)對(duì)本發(fā)明示例性實(shí)施方式的以上說明,顯然可使用各種技術(shù) 實(shí)現(xiàn)本發(fā)明的概念而不偏移其范圍。此外,盡管參照某些具體實(shí)施方
式對(duì)本發(fā)明進(jìn)行了具體介紹,但是本領(lǐng)域普通技術(shù)人員可認(rèn)識(shí)到,可 在形式和細(xì)區(qū)上做出改變而不偏移本發(fā)明的精神和范圍。介紹的示例 性實(shí)施方式在各方面都應(yīng)該認(rèn)為是示例性而非限制性的。還應(yīng)該理解, 本發(fā)明不限于本文介紹的特定實(shí)施方式,而是能具有不偏移本發(fā)明范 圍的多種重新配置、修改和替代。
權(quán)利要求
1. 非易失性的非XIP快閃存儲(chǔ)器裝置,包括持久文件區(qū),用于存儲(chǔ)持久文件;以及存取目錄,包括文件位置數(shù)據(jù),指示所述持久文件區(qū)內(nèi)的持久文件的位置;以及壞塊數(shù)據(jù),指示所述持久文件區(qū)內(nèi)的壞塊位置。
2. 如權(quán)利要求1所述的非易失性的非XIP快閃存儲(chǔ)器裝置,其 中所述持久文件區(qū)具有多個(gè)包括所述壞塊的塊。
3. 如權(quán)利要求2所述的非易失性的非XIP快閃存儲(chǔ)器裝置,其 中所述文件位置數(shù)據(jù)包括用于每個(gè)持久文件的頁號(hào)和偏移值。
4. 如權(quán)利要求3所述的非易失性的非XIP快閃存儲(chǔ)器裝置,其中所述壞塊數(shù)據(jù)包括壞塊表,所述壞塊表包括對(duì)應(yīng)于壞塊的第 一 頁的 至少一個(gè)壞塊頁號(hào)。
5. 如權(quán)利要求1所述的非易失性的非XIP快閃存儲(chǔ)器裝置,其 中所述存取目錄為包括多個(gè)文件位置的查找表,每個(gè)文件位置對(duì)應(yīng)于 持久文件并包括對(duì)應(yīng)于所述持久文件的起始點(diǎn)的頁號(hào)和偏移值。
6. 如權(quán)利要求4所述的非易失性的非XIP快閃存儲(chǔ)器裝置,其 中所述壞塊數(shù)據(jù)進(jìn)一步包括壞塊索引,所述壞塊索引包括多個(gè)壞塊索 引值,所述壞塊索引值對(duì)應(yīng)于所述多個(gè)非壓縮的持久文件,并指示所 述壞塊表中的位置,所述壞塊表包括從所述非易失性的非XIP快閃存 儲(chǔ)器讀取所述持久文件時(shí)每個(gè)持久文件遇到的第一壞塊的第一壞塊頁
7. 如權(quán)利要求1所述的非易失性的非XIP快閃存儲(chǔ)器裝置,其 中在使用所述非易失性的非XIP快閃存儲(chǔ)器裝置的電子裝置的初始化 過程中形成所述存取目錄,并且將所述存取目錄存儲(chǔ)在所述非易失性 的非XIP快閃存儲(chǔ)器裝置的嵌入式文件系統(tǒng)部分。
8. 如權(quán)利要求1所述的非易失性的非XIP快閃存儲(chǔ)器裝置,其 中所述存取目錄被配置以在所述電子裝置的操作期間提供對(duì)所述持久 文件的存取。
9. 一種對(duì)存儲(chǔ)在非易失性的非XIP快閃存儲(chǔ)器裝置的持久文件 區(qū)中的持久文件進(jìn)行存取的方法,所述方法包括基于存取目錄中的文件位置數(shù)據(jù),確定所述持久文件區(qū)內(nèi)的持久 文件的文件位置;從所述非易失性的非XIP快閃存儲(chǔ)器裝置中的所述文件位置讀取 所述持久文件,而跳過由所述存取目錄中的壞塊數(shù)據(jù)指示的壞塊。
10. 如權(quán)利要求9所述的方法,其中所述讀取步驟包括 將所述非XIP快閃存儲(chǔ)器裝置中的當(dāng)前頁與所述存取目錄的壞塊表中的壞塊頁號(hào)進(jìn)行比較;以及讀取所述持久文件,而跳過由所述壞塊頁號(hào)指示的所述壞塊。
11. 如權(quán)利要求IO所述的方法,其中所述讀取步驟包括 確定對(duì)應(yīng)于所述持久文件的當(dāng)前壞塊索引與對(duì)應(yīng)于下一個(gè)持久文件的下一個(gè)壞塊索引是否相同,每個(gè)壞塊索引指示所述壞塊表中的位 置,所述壞塊表包括從所述非易失性的非XIP快閃存儲(chǔ)器裝置中讀取 持久文件時(shí),每個(gè)所述持久文件的第一壞塊的第一壞塊頁號(hào);以及如果所述當(dāng)前壞塊索引與所述下一個(gè)壞塊索引相同,則讀取所述 持久文件,所述存取目錄包括所述當(dāng)前壞塊索引和所述下一個(gè)壞塊索 引。
12. 如權(quán)利要求11所述的方法,其中所述讀取步驟包括如果當(dāng)前頁號(hào)與對(duì)應(yīng)于所述持久文件的當(dāng)前壞塊頁號(hào)相同,則跳 過當(dāng)前塊的剩余頁。
13. 如權(quán)利要求12所述的方法,其中所述讀取步驟進(jìn)一步包括 如果所述當(dāng)前頁與所述當(dāng)前壞塊頁號(hào)不同,則讀取除了所述當(dāng)前塊的最后一頁之外的所述當(dāng)前塊的剩余頁。
14. 如權(quán)利要求13所述的方法,其中所述讀取步驟進(jìn)一步包括 讀取所述持久文件的所述最后一頁中的數(shù)據(jù),而跳過由所述壞塊表指示的壞塊。
15. —種用于對(duì)便攜式裝置進(jìn)行初始化的方法,所述便攜式裝置 包括非XIP快閃存儲(chǔ)器裝置和現(xiàn)場(chǎng)執(zhí)行(XIP)存儲(chǔ)器裝置,所述方 法包括在非XIP快閃存儲(chǔ)器裝置中定位持久文件區(qū),所述持久文件區(qū)存 儲(chǔ)多個(gè)持久文件;掃描每個(gè)持久文件的頁,并檢查壞塊;以及 將壞塊信息存儲(chǔ)到存取目錄中,指示所述持久文件區(qū)中的壞塊位置。
16. 如權(quán)利要求15所述的方法,其中所述掃描步驟包括 確定所述持久文件的起始位置; 獲取所述持久文件的大小;以及當(dāng)在掃描所述持久文件的過程中遇到新的塊時(shí),確定塊是否有效。
17. 如權(quán)利要求16所述的方法,其中所述存儲(chǔ)步驟包括 存儲(chǔ)指示每個(gè)持久文件的所述起始位置的頁和偏移;以及 將壞塊頁號(hào)存儲(chǔ)在所述存取目錄的壞塊表中,所述壞塊頁號(hào)指示所述非XIP快閃存儲(chǔ)器裝置中的壞塊位置。
18. 如權(quán)利要求17所述的方法,進(jìn)一步包括存儲(chǔ)對(duì)應(yīng)于每個(gè)持久文件的壞塊索引,每個(gè)壞塊索引指示所述壞 塊表中的位置,所述壞塊表包括從所述非XIP快閃存儲(chǔ)器裝置中讀取 所述持久文件時(shí),每個(gè)持久文件遇到的第 一壞塊的第 一壞塊頁號(hào)。
19. 一種移動(dòng)電話,包括非易失性的非XIP快閃存儲(chǔ)器裝置,包括電話圖像區(qū)、持久文件 區(qū)和存取目錄;以及現(xiàn)場(chǎng)執(zhí)行(XIP)存儲(chǔ)器裝置,配置以執(zhí)行從所述電話圖像區(qū)加 載的固件代碼,所述固件代碼配置以執(zhí)行文件存取過程,以通過跳過 由所述存取目錄指示的壞塊對(duì)存儲(chǔ)在所述非XIP快閃存儲(chǔ)器裝置中的 所示持久文件進(jìn)行存取。
20. 如權(quán)利要求19所述的移動(dòng)電話,其中所述固件代碼被配置以 執(zhí)行以下步驟基于存取目錄中的文件位置數(shù)據(jù),確定所述持久文件區(qū)內(nèi)的持久 文件的文件位置;將所述非XIP快閃存儲(chǔ)器裝置的當(dāng)前頁與所述存取目錄的壞塊表 中的壞塊頁號(hào)進(jìn)行比較;以及讀取所述持久文件,而跳過由所述壞塊頁號(hào)指示的所述壞塊。
全文摘要
在電子裝置的操作期間,對(duì)存儲(chǔ)在非XIP快閃存儲(chǔ)器中的持久文件進(jìn)行存取。在執(zhí)行該裝置上的應(yīng)用代碼時(shí),使用例如查找表的存取目錄對(duì)持久文件進(jìn)行存取。存取目錄提供允許在裝置的處理器上運(yùn)行的應(yīng)用程序或其它軟件代碼對(duì)非XIP快閃存儲(chǔ)器裝置內(nèi)的持久文件進(jìn)行定位和存取的信息,其中所述非XIP快閃存儲(chǔ)器裝置可包括壞塊。在創(chuàng)建存取目錄時(shí),識(shí)別并記錄裝置內(nèi)的壞塊位置。通過從存取目錄中標(biāo)識(shí)的文件起始位置讀取文件并說明存取目錄的壞塊數(shù)據(jù)中識(shí)別的壞塊,從非XIP快閃存儲(chǔ)器裝置中存取文件。
文檔編號(hào)G11C29/00GK101208755SQ200680023055
公開日2008年6月25日 申請(qǐng)日期2006年7月13日 優(yōu)先權(quán)日2005年7月15日
發(fā)明者健 張, 達(dá)米姆·帕克阿爾特 申請(qǐng)人:京瓷無線公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
梓潼县| 缙云县| 北辰区| 福海县| 儋州市| 瓦房店市| 儋州市| 灌云县| 林口县| 镇康县| 儋州市| 隆林| 遵义市| 兴业县| 北辰区| 台南县| 鹤岗市| 丽江市| 巴里| 陆良县| 大安市| 闻喜县| 柘荣县| 牙克石市| 北碚区| 唐河县| 日照市| 桐庐县| 无为县| 天门市| 镇赉县| 孟州市| 武威市| 偃师市| 鄄城县| 无棣县| 晋江市| 海城市| 临泉县| 安新县| 彭阳县|