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

針對(duì)具有可擦除/可重寫(xiě)存儲(chǔ)器使用帶有主機(jī)裝置的一次或數(shù)次可編程存儲(chǔ)器的方法及裝置的制作方法

文檔序號(hào):6356259閱讀:442來(lái)源:國(guó)知局
專利名稱:針對(duì)具有可擦除/可重寫(xiě)存儲(chǔ)器使用帶有主機(jī)裝置的一次或數(shù)次可編程存儲(chǔ)器的方法及裝置的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及使用一次或數(shù)次可編程存儲(chǔ)器的方法和裝置,其中一次或數(shù)次可編程存儲(chǔ)器能與現(xiàn)有消費(fèi)者電子裝置一起工作而不需要一固件升級(jí),從而提供逆向兼容性且同時(shí)將用戶沖擊減到最小。
背景技術(shù)
可以得到模塊化、便攜式、非易失性存儲(chǔ)器裝置,所述存儲(chǔ)器裝置可易于連接到主機(jī)裝置且與主機(jī)裝置斷開(kāi),所述主機(jī)裝置例如數(shù)碼相機(jī)、數(shù)碼錄音機(jī)和個(gè)人電腦。這些裝置中使用的傳統(tǒng)存儲(chǔ)器(例如閃存卡)是可重寫(xiě)的,從而使得可出于系統(tǒng)或用戶目的而擦除和重寫(xiě)存儲(chǔ)器地址。低成本存儲(chǔ)器技術(shù)(一次可編程的(OTP)或數(shù)次可編程的(FTP))的創(chuàng)造使得主機(jī)裝置具有新的使用模式,其類似于模擬相機(jī)中的膠卷(可簡(jiǎn)單地照相并印出相片)并同時(shí)節(jié)約作為“底片”的低成本卡。理想地,能將此低成本卡用在標(biāo)準(zhǔn)閃光相機(jī)中, 但技術(shù)并不一定兼容,因?yàn)楸銛y式裝置通常使用需要可擦除的系統(tǒng)結(jié)構(gòu)的DOS FAT12/16文件系統(tǒng)。使用針對(duì)OTP或FTP存儲(chǔ)器技術(shù)定制的文件系統(tǒng)來(lái)更新裝置中的固件可以解決這個(gè)問(wèn)題,但這會(huì)限制具有軟件升級(jí)的新型相機(jī)的整個(gè)可達(dá)市場(chǎng),不然就會(huì)要求用戶使用所屬領(lǐng)域中的軟件來(lái)升級(jí)其現(xiàn)有相機(jī)。因此,需要建立一種硬件控制器解決方案,其允許終端用戶相對(duì)無(wú)縫地將OTP或FTP存儲(chǔ)卡用在現(xiàn)有相機(jī)中——逆向兼容控制器(BCC)?,F(xiàn)將參考附圖來(lái)描述優(yōu)選實(shí)施例。

發(fā)明內(nèi)容
無(wú)


圖1是優(yōu)選實(shí)施例的主機(jī)裝置和存儲(chǔ)器裝置的方塊圖。圖2是優(yōu)選實(shí)施例的控制器的方塊圖。圖3是優(yōu)選實(shí)施例的存儲(chǔ)器圖。圖4是說(shuō)明優(yōu)選實(shí)施例的智能過(guò)濾邏輯操作的流程圖。圖5是優(yōu)選實(shí)施例的32字節(jié)文件列表結(jié)構(gòu)的圖。圖6是一實(shí)施例的FAT表的圖。
圖7是與圖6的FAT表相關(guān)聯(lián)的文件列表的實(shí)例。圖8和9說(shuō)明優(yōu)選實(shí)施例的智能過(guò)濾操作。圖10是一實(shí)施例的用于在邊帶區(qū)域存儲(chǔ)重映射信息時(shí)讀取數(shù)據(jù)的方法的流程圖。圖11是優(yōu)選實(shí)施例的動(dòng)態(tài)重映射分配方法的流程圖。圖12是優(yōu)選實(shí)施例的用于重映射實(shí)例中的存儲(chǔ)器圖。圖13是優(yōu)選實(shí)施例的奇偶檢驗(yàn)位布局的說(shuō)明。
具體實(shí)施例方式系統(tǒng)概述本文描述的實(shí)施例可用于使得一次或數(shù)次可編程的存儲(chǔ)器能與現(xiàn)有消費(fèi)者電子裝置(例如與快閃——一種可擦除、非易失性存儲(chǔ)器一起工作的那些裝置)一起工作而不需要固件升級(jí),從而提供逆向兼容性且同時(shí)將用戶沖擊減到最小。因此,這些實(shí)施例是一種將一次或數(shù)次可編程存儲(chǔ)器與具有閃存卡插槽的現(xiàn)有消費(fèi)者電子裝置橋接的可行方式。這些實(shí)施例還允許設(shè)計(jì)出未來(lái)消費(fèi)者電子裝置而不必為了包括針對(duì)一次或數(shù)次可編程存儲(chǔ)器定制的文件系統(tǒng)來(lái)更新固件?,F(xiàn)在轉(zhuǎn)向附圖,圖1是優(yōu)選實(shí)施例的主機(jī)裝置5和存儲(chǔ)器裝置10的方塊圖。主機(jī)裝置5和存儲(chǔ)器裝置10兩者均包含電連接件,所述電連接件彼此配對(duì)以將主機(jī)裝置5與存儲(chǔ)器裝置10電耦合。如本文中使用,術(shù)語(yǔ)“耦合”意味著通過(guò)一個(gè)或一個(gè)以上介入組件而直接耦合或間接耦合。所述主機(jī)裝置5可采取消費(fèi)者電子裝置的形式,例如(但不限于) 數(shù)字靜態(tài)或移動(dòng)相機(jī)、個(gè)人數(shù)字助理、蜂窩式電話、數(shù)字音頻播放器或個(gè)人計(jì)算機(jī)(例如具有USB讀取器/寫(xiě)入器或PCMCIA卡適配器的那些計(jì)算機(jī))。在此實(shí)施例中,主機(jī)裝置5含有多次寫(xiě)入文件系統(tǒng)7,例如DOS-FAT文件系統(tǒng)。存儲(chǔ)器裝置10可采用模塊化小型手持單元的形式,例如存儲(chǔ)卡或棒。存儲(chǔ)器裝置 10包含控制器20和一次寫(xiě)入記憶體陣列30。圖2是控制器20的方框圖。如圖2所示,控制器20包含分別與前端總線協(xié)議邏輯36和后端總線協(xié)議邏輯38耦合的前端總線32和后端總線34。所述前端總線協(xié)議邏輯36可經(jīng)配置為多媒體、安全數(shù)碼卡、存儲(chǔ)棒、壓縮快閃、 智能媒體、xD、USB、HS-MMC或多種可用的便攜式存儲(chǔ)媒體中的任一種。所述后端總線協(xié)議邏輯38可經(jīng)配置為NAND快閃、NOR快閃或任何其它專有或公共存儲(chǔ)器接口。控制器20還包含兩個(gè)頁(yè)面寄存器40、42 (頁(yè)面寄存器0和頁(yè)面寄存器1)、智能過(guò)濾邏輯44、重映射邏輯 46和智能ECC邏輯48。雖然出于簡(jiǎn)單起見(jiàn)圖2中未展示,但存儲(chǔ)器裝置10還可包含計(jì)時(shí)網(wǎng)絡(luò)和其它“膠合”邏輯。如下文詳細(xì)描述,控制器20允許存儲(chǔ)器裝置10與使用多次寫(xiě)入文件系統(tǒng)的主機(jī)裝置逆向兼容。因此,本文中有時(shí)將控制器20稱為“逆向兼容控制器”或 “BBC”??刂破?0的優(yōu)選實(shí)施方案是使用與標(biāo)準(zhǔn)組合邏輯組合的有限狀態(tài)機(jī)(Mealy和/ 或Moore)的ASIC。然而,控制器20可以各種其它形式來(lái)實(shí)施,例如(但不限于)具有固件的微控制器或微處理器。此外,盡管在此實(shí)施例中控制器20通過(guò)后端總線34而與存儲(chǔ)器陣列30分離,但可將所述設(shè)計(jì)集成為單個(gè)晶粒以節(jié)省成本。在極大程度上,本實(shí)施例中的控制器20的設(shè)計(jì)非常類似于用于可重寫(xiě)存儲(chǔ)器技術(shù)的控制器。差異的例子在于此控制器20優(yōu)選地不需要任何損耗均衡或其它與擦除非易失性存儲(chǔ)器相關(guān)聯(lián)的邏輯。盡管此處展現(xiàn)的設(shè)計(jì)可包括這些額外塊和功能,但其可能不是成本最佳的。因此,我們可能希望將它們排除在外。類似地,經(jīng)設(shè)計(jì)以與OTP或FTP存儲(chǔ)器一起工作的極低成本控制器可能不需要一個(gè)以上頁(yè)面寄存器、重映射邏輯或智能過(guò)濾邏輯,所述OTP或FTP存儲(chǔ)器使用新的軟件文件系統(tǒng)以避免兼容性問(wèn)題。一次寫(xiě)入存儲(chǔ)器陣列30包含復(fù)數(shù)個(gè)現(xiàn)場(chǎng)可編程一次寫(xiě)入存儲(chǔ)器單元?,F(xiàn)場(chǎng)可編程一次寫(xiě)入存儲(chǔ)器單元是制作為初始未編程數(shù)字狀態(tài)且可在制作后某時(shí)切換到替代性已編程數(shù)字狀態(tài)的存儲(chǔ)器單元。舉例來(lái)說(shuō),最初未編程數(shù)字狀態(tài)可被識(shí)別為邏輯1(或邏輯 0)狀態(tài),且已編程數(shù)字狀態(tài)可被識(shí)別為邏輯0(或邏輯1)狀態(tài)。因?yàn)榇鎯?chǔ)器單元是一次寫(xiě)入的,所以存儲(chǔ)位置的最初末編程數(shù)字狀態(tài)(例如,邏輯1狀態(tài))一旦切換到已編程數(shù)字狀態(tài)(例如,邏輯0狀態(tài))就不能恢復(fù)了。代替作為一次可編程(即,一次寫(xiě)入)存儲(chǔ)器陣列,存儲(chǔ)器陣列30可采取數(shù)次可編程(FTP)存儲(chǔ)器陣列的形式,所述FTP存儲(chǔ)器陣列是可以一次以上但沒(méi)有多次寫(xiě)入存儲(chǔ)器陣列那么多次被寫(xiě)入的存儲(chǔ)器陣列。同樣,所述存儲(chǔ)器裝置10可含有額外的存儲(chǔ)器陣列(一次寫(xiě)入、數(shù)次可編程或多次寫(xiě)入)。一次寫(xiě)入存儲(chǔ)器陣列30可采用任何適合的形式,例如固態(tài)存儲(chǔ)器裝置(即,響應(yīng)于電子讀取和寫(xiě)入信號(hào)的記憶體裝置)、磁存儲(chǔ)裝置(例如硬盤(pán)驅(qū)動(dòng)器)或光存儲(chǔ)裝置(例如CD或DVD)。當(dāng)具有固態(tài)存儲(chǔ)器單元的形式時(shí),可將存儲(chǔ)器陣列30中的存儲(chǔ)器單元組織成二維或三維形式。在一個(gè)優(yōu)選實(shí)施例中,存儲(chǔ)器陣列30是三維陣列,例如Johnson等人的第6,034,882號(hào)美國(guó)專利、Zhang等人的第5,835,396號(hào)美國(guó)專利和第09/560, 626號(hào)美國(guó)專利申請(qǐng)案中所述的陣列,所有這些專利或?qū)@暾?qǐng)案以引用的方式并入本文中。為了說(shuō)明這些實(shí)施例,DOS FAT文件系統(tǒng)(例如Windows操作系統(tǒng))將用作多次寫(xiě)入文件系統(tǒng)7的實(shí)例。應(yīng)注意,這些實(shí)施例可與其它類型的多次寫(xiě)入文件系統(tǒng)一起使用。 再次轉(zhuǎn)向附圖,圖3是典型的基于FAT 12/16的存儲(chǔ)卡的存儲(chǔ)器圖,其展示多個(gè)文件系統(tǒng)結(jié)構(gòu)。如本文中使用,“文件系統(tǒng)結(jié)構(gòu)”指的是描述存儲(chǔ)器中的分區(qū)、所述分區(qū)內(nèi)的存儲(chǔ)空間和 /或文件系統(tǒng)能或不能在所述分區(qū)中使用的命令類型的任何數(shù)據(jù)。文件系統(tǒng)結(jié)構(gòu)的實(shí)例包括(但不限于)主啟動(dòng)記錄、分區(qū)啟動(dòng)記錄、文件分配表(“FAT”或“FAT表”)、根目錄和子目錄。所述主啟動(dòng)記錄(MBC)用于存儲(chǔ)所述卡(即,存儲(chǔ)器裝置10)的啟動(dòng)信息以及每個(gè)邏輯分區(qū)的開(kāi)始位置。大多數(shù)存儲(chǔ)卡(例如此處所示的一者)只含有一個(gè)邏輯分區(qū)。在此實(shí)例中,分區(qū)啟動(dòng)記錄(PBR)含有例如叢集大小、叢集數(shù)目、分區(qū)類型、分區(qū)名稱等信息,在地址0x4000處開(kāi)始。FATl對(duì)應(yīng)FAT表一,所述FAT表一含有卡10上每個(gè)文件的叢集數(shù)目鏈接列表、目錄和其它信息。FAT2對(duì)應(yīng)FAT表二。最后,根目錄和文件數(shù)據(jù)區(qū)域在物理地址 0xC200處開(kāi)始。這些區(qū)域被劃分成若干叢集,對(duì)應(yīng)于每個(gè)FAT表中的叢集數(shù)目。出于解釋本實(shí)例目的,假設(shè)每個(gè)叢集正好是4KB大小。注意,這只是FAT文件系統(tǒng)的一實(shí)例且絕不希望限制本發(fā)明。每個(gè)結(jié)構(gòu)的不同位置、不同叢集大小和甚至不同文件系統(tǒng)皆可與同此描述的實(shí)施例相關(guān)聯(lián)?,F(xiàn)描述了系統(tǒng)的一般組件,將論述硬件控制器20的智能過(guò)濾邏輯44、重映射邏輯 46和智能ECC邏輯48,以說(shuō)明可如何使用這些邏輯塊來(lái)允許針對(duì)可擦除快閃存儲(chǔ)器而設(shè)計(jì)的主機(jī)裝置幾乎無(wú)縫地使用OTP存儲(chǔ)器。這些邏輯塊利用這樣的事實(shí),即許多現(xiàn)有主機(jī)裝置不發(fā)送擦除命令而是依靠控制器20來(lái)執(zhí)行任何擦管理(例如,損耗均衡和垃圾收集)。主機(jī)裝置僅希望在隨后時(shí)間處讀取一地址時(shí)展現(xiàn)寫(xiě)入到所述地址的最近數(shù)據(jù)。如上文提及,控制器能使用這些邏輯塊中的一些或全部,且權(quán)利要求書(shū)中不需要使用所有三個(gè)邏輯塊,除非那里明確敘述。智能過(guò)濾邏輯44智能過(guò)濾邏輯44允許控制器20基于所需用戶行為而智能地修改主機(jī)操作。一種形式的智能過(guò)濾邏輯44執(zhí)行先讀后寫(xiě)操作以將請(qǐng)求寫(xiě)入到一地址處的數(shù)據(jù)與先前寫(xiě)入到所述地址的數(shù)據(jù)進(jìn)行比較(即,將“新”數(shù)據(jù)與“舊”數(shù)據(jù)進(jìn)行比較)。在最簡(jiǎn)單的情況下, 智能過(guò)濾邏輯44能在先前寫(xiě)入的數(shù)據(jù)存在任何修改時(shí)執(zhí)行重映射操作,但這可能導(dǎo)致不良用戶模型。通過(guò)添加復(fù)雜性并智能地查看數(shù)據(jù)中的差異,控制器20可推斷主機(jī)裝置5正試圖做什么且可接著選擇執(zhí)行以下操作中的一者將新數(shù)據(jù)寫(xiě)入到所述地址;“假寫(xiě)入”數(shù)據(jù)(即,告知主機(jī)裝置5成功地執(zhí)行了寫(xiě)入操作,而事實(shí)上未寫(xiě)入任何內(nèi)容);不允許寫(xiě)入并產(chǎn)生卡錯(cuò)誤;或執(zhí)行重映射操作。這在圖4的流程圖中說(shuō)明。如此圖中所示,逆向兼容控制器20接收到寫(xiě)入操作(行為65)。如果數(shù)據(jù)被寫(xiě)入到空白頁(yè)面或如果正在附加數(shù)據(jù)(行為65),那么控制器20根據(jù)主機(jī)裝置5請(qǐng)求而寫(xiě)入數(shù)據(jù)(行為70)。如果正在更新“最后訪問(wèn)的”字段或試圖使FAT表“歸零”,那么控制器20執(zhí)行“假寫(xiě)入”(行為80)。如果寫(xiě)入是針對(duì)PBR的或如果存在重映射帶沖突(行為85),那么控制器20產(chǎn)生卡錯(cuò)誤(行為90)。響應(yīng)于任何其它寫(xiě)入操作(行為95),控制器20執(zhí)行重映射操作。下文將更詳細(xì)地描述這些分支。重要的是需要注意到,智能過(guò)濾邏輯44可執(zhí)行所述流程圖中展示的所有四個(gè)分支、 少于所有四個(gè)分支或未展示的額外分支。如圖4說(shuō)明,智能過(guò)濾邏輯44優(yōu)選地依據(jù)正寫(xiě)入數(shù)據(jù)的地方來(lái)不同地執(zhí)行。因此, 優(yōu)選的是,智能過(guò)濾邏輯44不但監(jiān)視新數(shù)據(jù)也監(jiān)視主機(jī)所請(qǐng)求的地址。舉例來(lái)說(shuō),適于寫(xiě)入到FAT表的過(guò)濾可不同于適于寫(xiě)入到用戶數(shù)據(jù)區(qū)域的過(guò)濾。因此,控制器20優(yōu)選地得知卡10上FAT表和其它文件系統(tǒng)結(jié)構(gòu)的地址。這可通過(guò)將這些地址變成靜態(tài)并硬編碼到邏輯中,通過(guò)在啟動(dòng)時(shí)讓控制器20讀取并解譯MBR和PBR,或通過(guò)將地址保存在通電時(shí)提供各種配置數(shù)據(jù)的“魔頁(yè)”中。為了全面理解智能過(guò)濾,首先需要了解用戶能對(duì)存儲(chǔ)器裝置執(zhí)行的操作以及如何將其轉(zhuǎn)譯成操作文件系統(tǒng)結(jié)構(gòu)和數(shù)據(jù)的命令。首先,我們描述在用戶照相、復(fù)制文件、保存新文件或?qū)⑽募苿?dòng)到存儲(chǔ)卡上的情況下發(fā)生了什么。雖然這些操作可隨著不同的裝置而有所不同,但其均符合一般趨勢(shì)。首先,主機(jī)裝置將讀取所述FAT表的一者或兩者以確定所述卡上哪里有可用的空閑空間。此空閑空間可在FAT16文件叢集中表示為0x0000。接著, 主機(jī)將把新的32字節(jié)文件列表的最初沈字節(jié)寫(xiě)入到適當(dāng)目錄叢集中。此32字節(jié)結(jié)構(gòu)的存儲(chǔ)器圖可參見(jiàn)圖5。接下來(lái),主機(jī)通過(guò)寫(xiě)入鏈接叢集列表而將用于文件的存儲(chǔ)器分配到 FAT表中。在存儲(chǔ)器已被分配之后,主機(jī)將把文件數(shù)據(jù)寫(xiě)入到適當(dāng)叢集。注意,可按任何次序來(lái)進(jìn)行此分配和寫(xiě)入,且也可將其分開(kāi)以使得每次分配單個(gè)叢集和數(shù)據(jù)寫(xiě)入。在寫(xiě)入了所有數(shù)據(jù)之后,最后六字節(jié)被寫(xiě)入到文件列表中以陳述起始叢集編號(hào)和文件大小。在圖6和7中可看到這樣的實(shí)例。我們假設(shè)主機(jī)正將File2. jpg寫(xiě)入到存儲(chǔ)器中的未用空間。首先會(huì)將文件名稱、屬性信息等寫(xiě)入到恰當(dāng)目錄中。接著,會(huì)針對(duì)所述文件來(lái)更新FAT表,此處通過(guò)將OxOA寫(xiě)入到叢集0x09中來(lái)開(kāi)始,發(fā)信號(hào)通知下個(gè)叢集在叢集A 中。直到文件末端被發(fā)信號(hào)通知已將OxFF寫(xiě)入到叢集Oxll中,才寫(xiě)入鏈接列表。主機(jī)接著將文件數(shù)據(jù)寫(xiě)入到所述卡的新分配叢集中(再次,可將此操作分成每次分配單個(gè)叢集直到到達(dá)文件末端為止)。最后,將所述最后六字節(jié)寫(xiě)入到文件列表,其展示File2. jpg在叢集0x09處開(kāi)始且大小為45KB。以非常類似于創(chuàng)建新文件的方式來(lái)創(chuàng)建新目錄。事實(shí)上,除了目錄屬性位之外,目錄和文件在FAT文件系統(tǒng)實(shí)施方案中是完全相同的。因此,主機(jī)通過(guò)首先將目錄名和屬性位寫(xiě)入到適當(dāng)目錄來(lái)創(chuàng)建目錄(在FAT2之后的用戶數(shù)據(jù)區(qū)域開(kāi)始處定義ROOT目錄)。接著,通過(guò)將Ox FF寫(xiě)入到FAT表中來(lái)分配用于新目錄的叢集。任何新建目錄內(nèi)部是分別指向目錄和其根源的文件“.”和“..”(“.”文件叢集編號(hào)與目錄叢集相同)。在寫(xiě)入這兩個(gè)文件之后,主機(jī)接著通過(guò)將最后六字節(jié)寫(xiě)入到32字節(jié)列表來(lái)完成所述目錄列表。用戶操作的另一實(shí)例是刪除先前寫(xiě)入到卡的文件?;贔AT的操作系統(tǒng)在用戶刪除時(shí)通常不從卡上擦除文件數(shù)據(jù)或文件名稱。相反地,將字符0xE5寫(xiě)入到文件列表的首字節(jié),且通過(guò)將0x00寫(xiě)入到所述文件的叢集在FAT表中的位置來(lái)而將其去分配。讀取到“E5” 作為文件列表中的首字符的任何主機(jī)將知道跳過(guò)此文件,因?yàn)樗呀?jīng)被刪除了。通過(guò)將正確字符重寫(xiě)到文件中并再分配最初叢集而提供恢復(fù)文件的機(jī)會(huì)。存儲(chǔ)器中的每個(gè)文件含有32字節(jié)文件條目,其含有以下信息,例如文件名稱;文件屬性,例如只讀、隱藏、目錄、存檔;文件創(chuàng)建日期;文件最后訪問(wèn)日期;文件大??;和第一叢集條目。為了重命名文件或改變其屬性(例如,隱藏、存檔、只讀),主機(jī)5將僅發(fā)送數(shù)據(jù)寫(xiě)入命令,其關(guān)于將新文件名稱或?qū)傩晕粚?xiě)入到最初列表。一般來(lái)說(shuō),控制器20允許主機(jī) 5通過(guò)實(shí)施重映射操作來(lái)修改任何這些參數(shù)。然而,控制器可選擇通過(guò)在更新文件列表中的“最后訪問(wèn)日期字段”(圖5中字節(jié)18到19)時(shí)執(zhí)行假寫(xiě)入來(lái)節(jié)省存儲(chǔ)器。此異常事件的原因在于某些主機(jī)(例如Microsoft Windows)每次讀取文件時(shí)將把新數(shù)據(jù)寫(xiě)入到此字段,這會(huì)導(dǎo)致使用存儲(chǔ)器的512字節(jié)來(lái)進(jìn)行重映射。這是系統(tǒng)在用戶不知道的情況下執(zhí)行寫(xiě)入操作的實(shí)例。為了避免這種情況,智能過(guò)濾邏輯144可選擇不實(shí)施此特別更新。將稍后將在本說(shuō)明書(shū)中更詳細(xì)地論述這些隱藏操作的含意和處理。用戶也可選擇格式化存儲(chǔ)卡。這由主機(jī)裝置以各種方式來(lái)執(zhí)行。某些裝置將僅把 0寫(xiě)入到FAT和根目錄,從而“釋放”所有存儲(chǔ)空間。其它主機(jī)將試圖通過(guò)用新信息重寫(xiě)MBR 和/或PBR且接著將主機(jī)和根目錄歸零來(lái)重格式化卡。其它主機(jī)將執(zhí)行上述操作中的一項(xiàng)或所有,并且將0寫(xiě)入到整個(gè)卡以確保所有存儲(chǔ)空間被清除。最后,某些主機(jī)將執(zhí)行上述操作中的一項(xiàng)或一項(xiàng)以上,且還使用擦除命令來(lái)確保所有數(shù)據(jù)被完全擦除并為新數(shù)據(jù)做好準(zhǔn)備。用戶可嘗試的最終操作是非常廣泛的——修改現(xiàn)有數(shù)據(jù)。用戶可選擇在相機(jī)上旋轉(zhuǎn)相片,在使用工具改進(jìn)相片顏色或另一變量之后將所述相片重保存到卡上,或許多其它操作中的任一者。主機(jī)裝置可以各種不同方式來(lái)執(zhí)行這些操作中的任一者,所述方式從寫(xiě)入新文件并擦除舊文件到簡(jiǎn)單地用新數(shù)據(jù)蓋寫(xiě)舊文件的恰當(dāng)叢集。既然我們基本了解了主機(jī)是如何執(zhí)行不同用戶操作的,那么我們可以開(kāi)始了解智能過(guò)濾和它們是如何操作的了。BCC控制器將在接收到大多數(shù)寫(xiě)入命令時(shí)執(zhí)行先讀后寫(xiě) (RBW)。優(yōu)選地在從主機(jī)接收到所需寫(xiě)入地址時(shí)立即讀取所述存儲(chǔ)器裝置。這將實(shí)現(xiàn)性能改進(jìn),因?yàn)榭刂破?0能讀取所需數(shù)據(jù)并將其插入到頁(yè)面寄存器1 (PRl) 42中且同時(shí)主機(jī)10 正在發(fā)送移動(dòng)到頁(yè)面寄存器O(PRO)44中的新數(shù)據(jù)。關(guān)于此RBW操作的更多細(xì)節(jié)在本文檔稍后的重映射描述中。現(xiàn)將結(jié)合圖5展示的FAT表來(lái)給出智能過(guò)濾操作的各種實(shí)例。為了創(chuàng)建新文件或目錄,主機(jī)裝置5將在恰當(dāng)子目錄中寫(xiě)入新32字節(jié)文件條目并更新FAT表以分配正確的存儲(chǔ)空間。如果主機(jī)裝置5正試圖寫(xiě)入新文件,其將設(shè)法最可能分別用值0x13和0x14來(lái)分配此圖中的最后兩個(gè)叢集。查看圖4中的流程圖,這將對(duì)應(yīng)于 “附加數(shù)據(jù)”,因?yàn)闆](méi)有任何數(shù)據(jù)正被修改。因此,所述智能過(guò)濾邏輯44會(huì)簡(jiǎn)單地將數(shù)據(jù)寫(xiě)入到最初地址而沒(méi)有任何改變。在這一般情況下,控制器20允許主機(jī)裝置5簡(jiǎn)單地用新文件蓋寫(xiě)空閑空問(wèn)。然而,在某些情況下,由于先前刪除的緣故所述空間可對(duì)于主機(jī)裝置5來(lái)說(shuō)看起來(lái)是空閑的,但是實(shí)際上,存儲(chǔ)器重未被擦除。在這種情況下,智能過(guò)濾邏輯44可實(shí)施重映射操作以使得新數(shù)據(jù)取代舊數(shù)據(jù),如下文所述。為了刪除文件,主機(jī)裝置5執(zhí)行兩個(gè)功能。首先,其用“00h”蓋寫(xiě)FAT表中的文件的叢集指針,以向主機(jī)裝置5展示所述數(shù)據(jù)區(qū)域現(xiàn)在是可用的。在OTP或FTP存儲(chǔ)器的情況下,很可能存儲(chǔ)器不能被擦除,且因此控制器20不會(huì)想要“釋放”存儲(chǔ)器那種方式。換句話說(shuō),控制器20優(yōu)選地使用重映射算法來(lái)使得看起來(lái)似乎主機(jī)裝置5具有修改過(guò)的數(shù)據(jù), 但是實(shí)際上,永遠(yuǎn)不能真正擦除并恢復(fù)此空閑空間。這就是為什么智能過(guò)濾邏輯44優(yōu)選地永遠(yuǎn)不允許主機(jī)將0x00寫(xiě)入到先前分配的叢集。此行為在圖4中被稱為“假寫(xiě)入”。具體地說(shuō),控制器20告知主機(jī)裝置5已將0寫(xiě)入到存儲(chǔ)器,但實(shí)際上不會(huì)進(jìn)行任何寫(xiě)入。重要的是需要了解到,將0寫(xiě)入到FAT表中會(huì)讓用戶認(rèn)為在卡上有比實(shí)際上更多的空間是可用的,因此造成不良用戶經(jīng)歷,即在看起來(lái)似乎卡上具有較多空間時(shí),卻不能再寫(xiě)入任何新數(shù)據(jù)。其次,主機(jī)裝置5用“E5h”來(lái)蓋寫(xiě)32字節(jié)文件條目的首字符,向FAT文件系統(tǒng)表明去跳過(guò)所述文件。當(dāng)主機(jī)5將寫(xiě)入命令發(fā)送給控制器20時(shí),控制器20執(zhí)行先讀后寫(xiě)操作,以實(shí)現(xiàn)先前數(shù)據(jù)和新數(shù)據(jù)的比較。這時(shí),智能過(guò)濾邏輯44啟用重映射操作,以用“E5h”來(lái)蓋寫(xiě)原始文件的首字符,如下文所述。FAT表中的智能過(guò)濾的最后實(shí)例發(fā)生在所述主機(jī)5試圖通過(guò)將除0x00以外的一些內(nèi)容寫(xiě)入到先前已寫(xiě)入的叢集來(lái)改變數(shù)據(jù)時(shí)。舉例來(lái)說(shuō),如果修改文件且在長(zhǎng)度上擴(kuò)展所述文件(例如,將數(shù)據(jù)添加到thumbs, db文件以使其從16KB增長(zhǎng)到MKB),那么可能發(fā)生這種情況。此處,會(huì)用指向新加數(shù)據(jù)的叢集編號(hào)來(lái)取代文件末尾標(biāo)記OxFF。在此情況下,會(huì)發(fā)生重映射操作,從而允許主機(jī)5根據(jù)需要來(lái)修改數(shù)據(jù)。重要的是需要了解到,由于假寫(xiě)入操作,在主機(jī)所認(rèn)為的在存儲(chǔ)器中寫(xiě)入的內(nèi)容與實(shí)際上在存儲(chǔ)器中寫(xiě)入的內(nèi)容之間存在偏差。在將FAT表高速緩沖存儲(chǔ)在易失性RAM中的主機(jī)系統(tǒng)(例如Windows)中,這意味著對(duì)于單個(gè)操作可施加一個(gè)以上智能過(guò)濾。舉例來(lái)說(shuō),假設(shè)用戶在一個(gè)操作中刪除1MB文件,且BCC 20假造FAT表中值1MB的叢集的歸零。接下來(lái),假設(shè)用戶試圖將500KB文件寫(xiě)入到存儲(chǔ)器30。在此情況下,主機(jī)5將試圖把新文件放在由所述刪除操作釋放的叢集中。因此,其會(huì)寫(xiě)入新叢集分配且留下剩余叢集0x00。智能過(guò)濾因此必須重映射新文件叢集,且同時(shí)不將先前假造的空間歸零。在圖8和9中可以看到這個(gè)實(shí)例。在時(shí)間0處,假寫(xiě)入保持卡上的值11-FF,且在時(shí)間1處,通過(guò)重映射操作而將新文件叢集Il-FF寫(xiě)入到卡上,而也保持14-FF以確??雌饋?lái)似乎沒(méi)有釋放任何空間。在此實(shí)施例中,用于數(shù)據(jù)區(qū)域的智能過(guò)濾不同于在FAT表中的那些??纱鎯?chǔ)在用戶區(qū)域中的數(shù)據(jù)限于32字節(jié)文件/目錄列表和實(shí)際文件數(shù)據(jù)叢集。在最簡(jiǎn)單的情況下,再次,智能過(guò)濾可選擇重映射任何正寫(xiě)入在已被使用過(guò)的空間上的數(shù)據(jù)。但是,再次,這會(huì)導(dǎo)致不良使用模型,因?yàn)樵缦忍峒暗碾[藏系統(tǒng)操作會(huì)使用額外存儲(chǔ)空間來(lái)進(jìn)行用戶并不留心的重映射。為了避免這些多余的重映射操作,BCC控制器20優(yōu)選地比較頁(yè)面寄存器0與頁(yè)面寄存器1中的數(shù)據(jù),且如果唯一的改變或多個(gè)改變與特定字段相關(guān)聯(lián)(如圖7所示), 那么執(zhí)行假寫(xiě)入。舉例來(lái)說(shuō),如果頁(yè)面寄存器0中的數(shù)據(jù)與頁(yè)面寄存器1中的數(shù)據(jù)完全匹配(只是所述兩個(gè)字節(jié)偏移了 18),那么控制器20會(huì)確定主機(jī)5曾試圖更新“最后訪問(wèn)”字段,且因此會(huì)執(zhí)行假寫(xiě)入操作。因此,主機(jī)5會(huì)認(rèn)為字段已被更新,但事實(shí)上,并未發(fā)生任何寫(xiě)入??蓪⒁阎募到y(tǒng)結(jié)構(gòu)字段的任何增量或增量組合應(yīng)用于智能過(guò)濾。舉例來(lái)說(shuō), 假定設(shè)計(jì)者確定OTP存儲(chǔ)器應(yīng)不能由用戶修改,且因此將不允許任何重命名或刪除操作。 在此情況下,過(guò)濾操作可檢測(cè)到對(duì)于字節(jié)0到11的改變,且可執(zhí)行假寫(xiě)入。另外,假定設(shè)計(jì)者決定重命名是可以的,但不允許隱藏文件。如果用戶試圖重命名文件并改變屬性位,那么智能過(guò)濾邏輯44可檢測(cè)到這是針對(duì)適當(dāng)字段而發(fā)生的且可用新名稱來(lái)重映射所述數(shù)據(jù)而并不改變屬性位來(lái)允許隱藏文件??捎芍悄苓^(guò)濾邏輯調(diào)用的最后操作是發(fā)信號(hào)通知錯(cuò)誤。在優(yōu)選實(shí)施例中,這將僅在兩種情形下發(fā)生(1)如果用戶試圖格式化卡10或( 如果卡10已滿且不能再寫(xiě)入任何數(shù)據(jù)。為了格式化卡10,主機(jī)5執(zhí)行至少兩個(gè)操作清除FAT表且用所需格式信息來(lái)更新PBR。在此情況下,控制器20檢測(cè)到在FAT表(圖3中地址0x0000-0x4000)上正發(fā)生寫(xiě)入操作,且將在響應(yīng)主機(jī)命令時(shí)設(shè)置某組錯(cuò)誤位。這些可以是CRC錯(cuò)誤、寫(xiě)入失敗錯(cuò)誤或適合于卡形式因數(shù)的任何其它狀態(tài)錯(cuò)誤信號(hào)。另外,控制器20可以再次“假造”任何試圖將FAT表歸零的寫(xiě)入。當(dāng)卡10已滿且不能再寫(xiě)入任何數(shù)據(jù)時(shí),控制器20能從FAT表或?qū)懭氲刂分袡z測(cè)到卡10已滿。在這個(gè)時(shí)間點(diǎn)上,不能寫(xiě)入任何額外數(shù)據(jù),且發(fā)信號(hào)通知一錯(cuò)誤。此外,可設(shè)置任何寫(xiě)入保護(hù)位來(lái)發(fā)信號(hào)通知用戶關(guān)于OTP卡10現(xiàn)在已滿且實(shí)質(zhì)上就是 ROM??刂破?0可以多種方式來(lái)檢測(cè)到卡10已滿,所述方式從檢測(cè)FAT表到發(fā)現(xiàn)重映射尋址與主機(jī)寫(xiě)入尋址重疊。先前實(shí)例都假設(shè)主機(jī)不發(fā)送實(shí)際擦除命令來(lái)刪除文件或系統(tǒng)數(shù)據(jù),而是依賴控制器來(lái)執(zhí)行此操作。然而,實(shí)際上,某些主機(jī)確實(shí)具有額外復(fù)雜性,需要所述額外復(fù)雜性來(lái)由其自身執(zhí)行擦除操作或使物理和邏輯塊失效并在日后執(zhí)行擦除操作。類似這樣的系統(tǒng)實(shí)例是智能媒體接口,其中所述說(shuō)明書(shū)展示如何在存儲(chǔ)器的邊帶區(qū)域中建立邏輯塊,標(biāo)記無(wú)效旗標(biāo),且執(zhí)行其它更復(fù)雜的操作。重要的是需要注意到,智能過(guò)濾概念也可容易地應(yīng)用到此類系統(tǒng),其中控制器會(huì)基于舊數(shù)據(jù)與新數(shù)據(jù)的比較來(lái)智能地執(zhí)行設(shè)置操作,而不管所述操作是寫(xiě)入、擦除還是其它命令??傊?,當(dāng)觀看主機(jī)可執(zhí)行的每個(gè)個(gè)別操作時(shí),智能過(guò)濾邏輯可能看起來(lái)相對(duì)較復(fù)雜。然而,通過(guò)更仔細(xì)觀察,可以看到所述行為的多種模式。如果控制器20在銷售時(shí)已被預(yù)格式化,那么PBR、FAT表、根目錄和數(shù)據(jù)區(qū)域的地址都是已知的。如果主機(jī)5試圖蓋寫(xiě)PBR, 那么控制器20優(yōu)選地強(qiáng)加卡錯(cuò)誤,因?yàn)檫@將改變卡10的格式。由于存儲(chǔ)器陣列30的OTP/ FTP本質(zhì)技術(shù)的緣故,控制器20優(yōu)選地通過(guò)將OOh寫(xiě)入到FAT中先前寫(xiě)入地址來(lái)假造任何試圖釋放卡10上的空間的寫(xiě)入。類似地,可假造針對(duì)例如最后訪問(wèn)字段的文件條目的不良更新以獲得改進(jìn)的存儲(chǔ)器利用。如果主機(jī)5寫(xiě)入到未曾使用過(guò)的存儲(chǔ)空間,那么智能過(guò)濾邏輯優(yōu)選地允許不中斷地繼續(xù)進(jìn)行寫(xiě)入。并且,為了謹(jǐn)慎起見(jiàn),如果主機(jī)5以智能過(guò)濾邏輯44并不理解的方式來(lái)蓋寫(xiě)先前數(shù)據(jù),那么可優(yōu)選地重映射所述寫(xiě)入以允許成功地繼續(xù)進(jìn)行主機(jī)操作。最后,優(yōu)選的是留心可能導(dǎo)致控制器20針對(duì)單個(gè)寫(xiě)入命令來(lái)執(zhí)行多個(gè)功能的過(guò)濾組合。舉例來(lái)說(shuō),如果主機(jī)5已高速緩沖存儲(chǔ)了所述FAT表并試圖擦除大文件且接著在 “釋放的空間”中復(fù)制小文件,那么控制器20優(yōu)選地允許在不釋放FAT表中的額外空間的情況下寫(xiě)入新文件(經(jīng)高速緩沖存儲(chǔ)的FAT與已被過(guò)濾的實(shí)際FAT的不匹配造成這些組合問(wèn)題)。重映射邏輯46重映射邏輯46可用于將數(shù)據(jù)移動(dòng)到一新邏輯地址,所述新邏輯地址允許主機(jī)裝置5認(rèn)為其已擦除了一特定地址。重映射是存儲(chǔ)器控制器20用來(lái)描述數(shù)據(jù)和地址間接的術(shù)語(yǔ)。其指的是在不同于主機(jī)5所提供的邏輯地址的物理位置處寫(xiě)入數(shù)據(jù)的概念。重映射由各種技術(shù)(包括快閃存儲(chǔ)器)出于多種原因使用,所述原因從性能改進(jìn)到通過(guò)損牦均衡算法來(lái)改進(jìn)數(shù)據(jù)完整性。然而,對(duì)于由BCC啟用的OTP或FTP存儲(chǔ)器來(lái)說(shuō),重映射的獨(dú)特之處在于其用于模仿可擦除性。舉例來(lái)說(shuō),如果主機(jī)請(qǐng)求將數(shù)據(jù)集A寫(xiě)入到地址0,那么控制器20可選擇將數(shù)據(jù)寫(xiě)入在地址0。隨后,主機(jī)5可能想要將數(shù)據(jù)從A改變到B,例如在寫(xiě)入字符“E5”來(lái)執(zhí)行擦除操作(如早先所述)時(shí)。此時(shí),控制器20會(huì)使用智能過(guò)濾來(lái)確定主機(jī)5已恰當(dāng)?shù)匦薷臄?shù)據(jù)集A并會(huì)將數(shù)據(jù)集B寫(xiě)入到不同物理位置(例如地址1)?,F(xiàn)在,當(dāng)主機(jī)5讀取地址0時(shí),控制器20必須知道代替地返回位于地址1處的數(shù)據(jù),因而使得對(duì)于主機(jī)5和用戶來(lái)說(shuō)存儲(chǔ)器看來(lái)已被修改過(guò)了。存在許多用于使來(lái)自主機(jī)裝置的數(shù)據(jù)改道的方法。參見(jiàn)(例如)下列專利文獻(xiàn), 所述專利文獻(xiàn)轉(zhuǎn)讓給本發(fā)明的受讓人且以引用的方式并入本文中第09/877,719號(hào)、第 09/878,138號(hào)、第10/327,680號(hào)和第10/023,468號(hào)美國(guó)專利申請(qǐng)案。一種常用方法是使用物理到邏輯地址表,在啟動(dòng)時(shí)讀取或計(jì)算所述物理到邏輯地址表且接著將其存儲(chǔ)在控制器20的易失性存儲(chǔ)器中,但這個(gè)表可能非常大且會(huì)增加控制器20的晶粒大小和成本。對(duì)于本文所述的實(shí)施方案來(lái)說(shuō),優(yōu)選的是在不損害性能應(yīng)用要求的情況下保持盡可能低的成本。在優(yōu)選實(shí)施例中,存在兩種重映射方法。第一種也是最簡(jiǎn)單的方案是使用主機(jī)不可見(jiàn)的存儲(chǔ)器頁(yè)面的“邊帶區(qū)域”。在目前優(yōu)選實(shí)施例中,將存儲(chǔ)器陣列30組織在528B頁(yè)面中,但FAT文件系統(tǒng)使用512B扇區(qū)。這些額外的16B被稱為邊帶,且可由控制器20使用來(lái)存儲(chǔ)額外信息,所述信息包括(但不限于)ECC數(shù)據(jù)、數(shù)據(jù)和地址有效性旗標(biāo)以及重映射指針。在此方案中,如果頁(yè)面已被重映射, 那么控制器20使用此邊帶的一部分來(lái)存儲(chǔ)物理地址。如果第一次寫(xiě)入所述頁(yè)面,那么將不需要任何重映射指針,因?yàn)槲锢砗瓦壿嫷刂肥窍嗤?。?dāng)主機(jī)5試圖修改數(shù)據(jù)時(shí),控制器20 將把新數(shù)據(jù)寫(xiě)入到新位置且把此位置的物理地址存儲(chǔ)到舊位置的邊帶中。圖10含有說(shuō)明在此重映射方案下如何讀取數(shù)據(jù)的流程圖。首先,將讀取命令和地址發(fā)送到卡10(行為110)??刂破?0知道讀取整個(gè)528B頁(yè)面(或包括指針?biāo)璧哪敲炊?(行為120)且確定邊帶是否含有FFh (行為130),此讓控制器20得知所述地址是否已被重映射了。如果指針是未曾被用過(guò)的(即,含有FFh),那么控制器20將所述512B頁(yè)面返回給主機(jī)5。如果邊帶含有地址,那么控制器20讀取存儲(chǔ)在邊帶中的頁(yè)面地址以找出最近寫(xiě)入的數(shù)據(jù)??芍苯訉⑦@個(gè)地址存儲(chǔ)在邊帶中或可存儲(chǔ)地址的偏移量。這種形式的重映射被稱為靜態(tài)的,因?yàn)榭刂破?0不修改FAT表來(lái)分配用于重映射的額外空間。在這個(gè)實(shí)施方案中,卡10已由已經(jīng)分配在FAT表中的一組數(shù)量的重映射數(shù)據(jù)來(lái)預(yù)格式化。一旦使用了此數(shù)量的數(shù)據(jù),就不會(huì)再發(fā)生重映射了。FAT表展示重映射分配,以使得主機(jī)5不會(huì)出于其自身目的(例如,存儲(chǔ)圖像數(shù)據(jù))而試圖使用此空間。這第一種重映射方案是非常強(qiáng)有力的且需要非常少的邏輯額外開(kāi)銷來(lái)實(shí)施。然而,其確實(shí)遇到相對(duì)較高的性能額外開(kāi)銷,因?yàn)橐驯恢赜成銷次的頁(yè)面將需要N次讀取來(lái)找出當(dāng)前數(shù)據(jù)。另一種簡(jiǎn)單的重映射方案可被代替使用以改進(jìn)此性能。此處,不是存儲(chǔ)針對(duì)經(jīng)重映射的頁(yè)面的指針,而是將利用針對(duì)重映射表的指針。此表可使用時(shí)間到空間映射技術(shù)來(lái)存儲(chǔ)最近的頁(yè)面數(shù)據(jù)。時(shí)間到空間映射在第6,738,883號(hào)美國(guó)專利中描述,所述專利轉(zhuǎn)讓給本發(fā)明的受讓人并以引用的方式并入本文中?,F(xiàn)在,已被重映射N次的頁(yè)面可最多被讀入三次,從而顯著改進(jìn)了產(chǎn)品性能且具有非常少的額外成本和復(fù)雜性。應(yīng)注意到,每當(dāng)訪問(wèn)一地址時(shí),控制器20就優(yōu)選地執(zhí)行這些讀取來(lái)找出最新頁(yè)面。對(duì)于早先描述的每個(gè)智能過(guò)濾操作(其中控制器20執(zhí)行先讀后寫(xiě))來(lái)說(shuō),控制器20 也優(yōu)選地沿著重映射鏈來(lái)找出最近頁(yè)面。還應(yīng)了解,可易于向這些算法添加額外復(fù)雜性。舉例來(lái)說(shuō),這些算法中的一者或一者以上可與另一者一起使用以在使復(fù)雜性減到最小的同時(shí)改進(jìn)性能。另一復(fù)雜性實(shí)例是使用FAT文件系統(tǒng)中的強(qiáng)大數(shù)據(jù)位置相關(guān)性來(lái)執(zhí)行經(jīng)高速緩沖存儲(chǔ)的讀取操作,其中控制器 20會(huì)讀取一頁(yè)面或其附近的多個(gè)頁(yè)面來(lái)查找數(shù)據(jù),并行地正由主機(jī)5或控制器20執(zhí)行其它操作。盡管這將向控制器20增加某些成本,但它可顯著減少先讀后寫(xiě)和重映射行進(jìn)額外開(kāi)銷。BCC控制器20可實(shí)施的與標(biāo)準(zhǔn)重映射算法的另一個(gè)較大區(qū)別用于解決主機(jī)5的流量控制問(wèn)題。換句話說(shuō),如果控制器5正在主機(jī)不知道的情況下將數(shù)據(jù)移動(dòng)到新位置,且主機(jī)5認(rèn)為此數(shù)據(jù)實(shí)際上正被擦除并重寫(xiě)入,那么主機(jī)5如何知道實(shí)際上有多少可空閑空間呢?為了解決這個(gè)問(wèn)題,BCC 20實(shí)施兩個(gè)獨(dú)立操作。首先,如早先所述,智能過(guò)濾邏輯44 不讓主機(jī)5在FAT表中寫(xiě)入0來(lái)釋放空間。這樣將防止用戶控制的操作(例如刪除文件) 看起來(lái)似乎擦除并打開(kāi)了存儲(chǔ)器。然而,也必須解決控制器20為重映射而消耗的存儲(chǔ)器。解決這個(gè)問(wèn)題的一種簡(jiǎn)單方式是在銷售存儲(chǔ)器裝置10之前為重映射分配存儲(chǔ)器。這個(gè)靜態(tài)量的重映射可由控制器20使用,直到不剩下任何預(yù)分配的空間為止。此時(shí), 控制器20可發(fā)信號(hào)通知卡錯(cuò)誤,允許不是重映射的任何寫(xiě)入或許多其它操作??梢钥吹剑?這種方法(被稱為靜態(tài)重映射分配)可能是不合需要的,因?yàn)槠湎拗屏擞脩裟軋?zhí)行的操作的數(shù)目和大小。一種更復(fù)雜形式的重映射(稱為動(dòng)態(tài)重映射分配)解決了這個(gè)問(wèn)題。在圖11中可以看到這種方法的流程圖。首先,主機(jī)5發(fā)送寫(xiě)入命令,且將數(shù)據(jù)存儲(chǔ)在頁(yè)面寄存器1中 (行為160)。接下來(lái),控制器20執(zhí)行先讀后寫(xiě)(RBW)操作并將所述數(shù)據(jù)存儲(chǔ)在頁(yè)面寄存器 2中(行為170)。如果頁(yè)面寄存器2是空白的(即,含有FFh)(行為180),那么將頁(yè)面寄存器1的內(nèi)容寫(xiě)入到存儲(chǔ)器陣列(行為190)。如果不是,那么控制器20確定頁(yè)面寄存器1 的內(nèi)容是否等于頁(yè)面寄存器2的內(nèi)容加上附加數(shù)據(jù)(行為200)。如果是,那么將頁(yè)面寄存器1的內(nèi)容寫(xiě)入到存儲(chǔ)器陣列(行為190)。如果不是,確定智能過(guò)濾邏輯是否被啟用(行為210)。如果是,那么過(guò)濾數(shù)據(jù)(行為220)。如果不是,那么需要重映射(行為230)。為了執(zhí)行重映射,找到位于存儲(chǔ)器頂部的第一空閑頁(yè)面(行為M0),且將頁(yè)面寄存器1的內(nèi)容沒(méi)有錯(cuò)誤地寫(xiě)入到最高的空閑頁(yè)面(行為250)。接著,更新FAT表來(lái)將頁(yè)面叢集標(biāo)記為已使用的(行為260)。最后,將新頁(yè)面地址寫(xiě)入到最初頁(yè)面的邊帶中(行為270)。盡管此處展示兩個(gè)頁(yè)面寄存器來(lái)提供性能節(jié)約(例如,在地址可用時(shí)且在完成來(lái)自主機(jī)5的數(shù)據(jù)輸入之前發(fā)生先讀后寫(xiě)),但能夠使用單個(gè)頁(yè)面寄存器。如流程圖中所說(shuō)明,控制器20通過(guò)寫(xiě)入FAT表來(lái)通知主機(jī)5空間已被用于重映射。當(dāng)需要額外存儲(chǔ)器時(shí),控制器20可分配新叢集以供其自身使用,就像主機(jī)5會(huì)為文件數(shù)據(jù)分配叢集一樣。也就是說(shuō),此方案使用相同的指針跟蹤算法(如上所述),而且也因?yàn)樾枰~外空間來(lái)進(jìn)行重映射而動(dòng)態(tài)更新FAT表。此實(shí)施方案的好處在于主機(jī)5和用戶不在其能執(zhí)行的重映射/文件修改數(shù)目上受到限制??刂破?0將允許其重映射,直到卡被完全填滿為止。在此優(yōu)選實(shí)施例中,如圖12所示,控制器20從下往上分配存儲(chǔ)器,而大多數(shù)主機(jī)從上往下分配存儲(chǔ)器。這種分配方案將允許控制器20和主機(jī)5獨(dú)立分配存儲(chǔ)器而不太可能會(huì)發(fā)生分配沖突。這還允許控制器20每當(dāng)所述兩個(gè)分配區(qū)沖突時(shí)認(rèn)識(shí)到卡10已滿。 當(dāng)卡已滿時(shí),控制器20可選擇設(shè)置其永久和暫時(shí)寫(xiě)入保護(hù)寄存器,發(fā)信號(hào)通知主機(jī)5關(guān)于不能再對(duì)卡10進(jìn)行任何寫(xiě)入。非高速緩沖存儲(chǔ)系統(tǒng)將知道還剩多少存儲(chǔ)器,而高速緩沖存儲(chǔ)系統(tǒng)將在啟動(dòng)時(shí)讀取FAT表來(lái)看在所述特定會(huì)話之前使用了多少重映射空間。再次,應(yīng)注意到靜態(tài)與動(dòng)態(tài)重映射不是彼此排斥的。事實(shí)上,為了輔助用戶,可選擇在單個(gè)產(chǎn)品中實(shí)施兩者。舉例來(lái)說(shuō),用戶可能想要?jiǎng)h除或修改文件,即使卡已滿且不能添加任何額外文件。如果一組數(shù)量的存儲(chǔ)器被預(yù)分配且在正常操作中不被使用,那么可需要額外數(shù)據(jù)修改。舉例來(lái)說(shuō),卡10可留出500KB靜態(tài)重映射,控制器20直到由于主機(jī)與控制器分配沖突而使卡10呈現(xiàn)滿載時(shí)才使用所述500KB靜態(tài)重映射。此時(shí),控制器20可允許將主機(jī)的額外數(shù)據(jù)寫(xiě)入到靜態(tài)分配區(qū),直到完成所需操作為止。然后,智能過(guò)濾可用于允許某些用戶操作(例如刪除和重命名)在靜態(tài)區(qū)域中發(fā)生,而其它操作會(huì)導(dǎo)致錯(cuò)誤,因?yàn)榭?0 對(duì)于大多數(shù)使用來(lái)說(shuō)基本上已滿。在又一實(shí)例中,此靜態(tài)分配區(qū)域可由已用BCC技術(shù)的軟件更新的主機(jī)訪問(wèn)。PC或其它電子裝置可由一應(yīng)用程序啟用,所述應(yīng)用程序向卡發(fā)送一信號(hào),所述信號(hào)會(huì)允許應(yīng)用程序顯式訪問(wèn)卡存儲(chǔ)器的全部,如第6,424,581號(hào)美國(guó)專利中描述,所述專利轉(zhuǎn)讓給本發(fā)明的受讓人并以引用的方式并入本文中。此時(shí),所述應(yīng)用程序會(huì)優(yōu)先于任何智能過(guò)濾、重映射等,并可用來(lái)通過(guò)優(yōu)化重映射鏈或甚至允許額外操作進(jìn)入靜態(tài)區(qū)域中來(lái)改進(jìn)性能,而非啟用系統(tǒng)不能做到這些。因此,組合靜態(tài)與動(dòng)態(tài)重映射算法可使用啟用和非啟用系統(tǒng)兩者來(lái)提供最佳用戶體驗(yàn)。另外,其它實(shí)施方案能夠取代上述簡(jiǎn)單的指針跟蹤方案。下文列舉一些實(shí)施方案讀取3命令可使用較快讀取命令(稱為READ; ),其會(huì)允許控制器20只讀取邊帶數(shù)據(jù)。這會(huì)減少在找到最近數(shù)據(jù)之前讀取許多滿頁(yè)面數(shù)據(jù)的額外開(kāi)銷。指針表為了減少讀取每個(gè)頁(yè)面來(lái)找到最近寫(xiě)入的性能損失,可使用指針表,以使得每個(gè)頁(yè)面會(huì)具有列舉所有重映射的表。主機(jī)5會(huì)讀取所述表且使用未曾被用過(guò)的條目之前的最后一個(gè)指針來(lái)確定最近更新。表地址本身會(huì)存儲(chǔ)在頁(yè)面的邊帶中。這類似于上文所參考的專利申請(qǐng)案中所述的硬件重映射中使用的表。系統(tǒng)高速緩沖存儲(chǔ)器控制器20可使用SRAM或類似高速緩沖存儲(chǔ)器來(lái)存儲(chǔ)來(lái)自重映射表的數(shù)據(jù)或存儲(chǔ)在邊帶中的指針。盡管額外SRAM耗費(fèi)區(qū)域且因此使得控制器20更昂貴,但這種結(jié)構(gòu)會(huì)允許重映射特別快速地發(fā)生且使得性能額外開(kāi)銷減到最小。重映射算法組合控制器20可建立重映射利用旗標(biāo),所述旗標(biāo)會(huì)表示正在使用簡(jiǎn)單的指針跟蹤方案還是表方案。因此,如果控制器20看到頁(yè)面已被重映射多次,那么其可選擇建立表以減少未來(lái)重映射的影響。但是對(duì)于簡(jiǎn)單情況(其中一頁(yè)面只被重映射兩次而已)來(lái)說(shuō),指針?lè)桨妇妥銐蛄?。控制?0可動(dòng)態(tài)設(shè)置此旗標(biāo),或其可為靜態(tài)的且基于重映射位置的。舉例來(lái)說(shuō),F(xiàn)AT表將被重映射多次且因此其適于一直使用表或SRAM方案,而數(shù)據(jù)不經(jīng)常被重映射且因此此處其可優(yōu)選使用指針跟蹤方案。此實(shí)施方案可減小SRAM成本, 且同時(shí)仍提供接近最佳的系統(tǒng)性能。智能ECC邏輯48優(yōu)選的是,使用ECC以防止可能會(huì)發(fā)生在字段中的可靠性錯(cuò)誤。在目前優(yōu)選實(shí)施例中,BCC 20使用邊帶來(lái)存儲(chǔ)ECC數(shù)據(jù)以及上述重映射指針。ECC可以是8字節(jié)、16字節(jié)或適于邊帶可用性的任何大小。在目前優(yōu)選實(shí)施例中,使用128B ECC算法,本文中將其稱為“智能大塊ECC”。大塊ECC( "LB ECC”)對(duì)于每個(gè)ECC字使用兩個(gè)關(guān)閉且在附錄1中進(jìn)行論述。根據(jù)正常大塊ECC方案,由于BCC 20利用邊帶來(lái)用于重映射和ECC信息兩者,因而邊帶可能沒(méi)有足夠的空間來(lái)對(duì)每個(gè)字存儲(chǔ)兩個(gè)ECC關(guān)閉。相應(yīng)地,通過(guò)僅將每個(gè)字關(guān)閉一次——當(dāng)已寫(xiě)入字的最后兩個(gè)字節(jié)時(shí),來(lái)使得此大塊ECC方案成為“智能”。選擇兩字節(jié)的值是因?yàn)镕AT表中的每個(gè)條目的大小為2字節(jié)。(當(dāng)執(zhí)行動(dòng)態(tài)重映射連同LB ECC時(shí),控制器20優(yōu)選考慮ECC關(guān)閉操作來(lái)確保字段中產(chǎn)品的最大可靠性。換句話說(shuō),分配優(yōu)選不應(yīng)關(guān)閉FAT表中的ECC字并接著在日后更新相同的字。)還可根據(jù)數(shù)據(jù)區(qū)域來(lái)進(jìn)行所述關(guān)閉操作。舉例來(lái)說(shuō),當(dāng)更新FAT表時(shí),可能適于基于兩字節(jié)片段來(lái)更新(如上所述),但當(dāng)更新數(shù)據(jù)區(qū)域時(shí)這樣做就可能沒(méi)有意義了。當(dāng)更新數(shù)據(jù)區(qū)域時(shí),可基于字中的最后六字節(jié)來(lái)執(zhí)行關(guān)閉操作,因?yàn)榇蠖鄶?shù)主機(jī)在完全寫(xiě)入所有數(shù)據(jù)之后僅更新文件條目的最后六字節(jié)。最后,如果檢測(cè)到正在更新先前關(guān)閉的ECC字,那么BCC 20可選擇實(shí)施重映射操作。這會(huì)利用重映射操作結(jié)合ECC來(lái)保持字段中的最大可靠性。第6,738,883號(hào)美國(guó)專利展示使用ECC作為改進(jìn)OTP或FTP產(chǎn)品中數(shù)據(jù)可靠性的方法,所述專利轉(zhuǎn)讓給本發(fā)明的受讓人且以引用的方式并入本文中。如此專利中論述,ECC 字可被寫(xiě)入一次且僅一次。蓋寫(xiě)ECC字中的新數(shù)據(jù)會(huì)導(dǎo)致ECC數(shù)據(jù)值不正確,從而移除了產(chǎn)品所需的可靠性層面。在已被使得能與OTP或FTP存儲(chǔ)器一起工作的系統(tǒng)中,可易于通過(guò)為存儲(chǔ)器建立線概念(最小寫(xiě)入大小)來(lái)處理這個(gè)問(wèn)題,這在上文參考的’883專利中論述。然而,優(yōu)選地用設(shè)計(jì)復(fù)雜性來(lái)補(bǔ)償這樣的情形,其中BCC產(chǎn)品用于非啟用系統(tǒng)(即,不具有八字節(jié)對(duì)準(zhǔn)概念的主機(jī))中。BCC制器20可以很多方式來(lái)維持ECC完整性。一個(gè)簡(jiǎn)單方法是每當(dāng)ECC字失效時(shí)就調(diào)用重映射操作。此處,控制器20會(huì)檢測(cè)ECC字是否正由智能過(guò)濾或其它邏輯方案蓋寫(xiě)。在使ECC字失效的情況下,重映射操作會(huì)用新ECC數(shù)據(jù)來(lái)重寫(xiě)所述數(shù)據(jù),因而保持非??煽康漠a(chǎn)品。盡管重映射可用于保持存儲(chǔ)器的100% ECC覆蓋,但其會(huì)導(dǎo)致許多額外重映射,從而限制了用戶的操作數(shù)目。在此情況下,可設(shè)計(jì)控制器20以改進(jìn)ECC處理。在優(yōu)選實(shí)施例中,將不寫(xiě)入ECC數(shù)據(jù)且ECC字將在直到寫(xiě)入數(shù)據(jù)的特定部分時(shí)才被完成。舉例來(lái)說(shuō),假設(shè)ECC字是32字節(jié)。在先前所述的寫(xiě)入文件的情況下,主機(jī)5將寫(xiě)入沈字節(jié)的文件列表數(shù)據(jù)且稍后在完成了文件數(shù)據(jù)之后寫(xiě)入最后六字節(jié)。在此情況下,控制器的ECC智能過(guò)濾邏輯 48可確定正在寫(xiě)入文件列表,且直到寫(xiě)入最后六字節(jié)時(shí)才完成所述ECC字。這會(huì)維持ECC 完整性,且同時(shí)將重映射額外開(kāi)銷減到最小。可針對(duì)多種ECC字大小、文件系統(tǒng)結(jié)構(gòu)和數(shù)據(jù)結(jié)構(gòu)來(lái)修改此方案??傊悄蹺CC邏輯48在目前優(yōu)選實(shí)施例中使用癥狀位存儲(chǔ)在邊帶中的128B ECC 字,基于寫(xiě)入最后兩字節(jié)數(shù)據(jù)來(lái)關(guān)閉字,只允許每個(gè)字關(guān)閉一次,針對(duì)FAT表與數(shù)據(jù)區(qū)域使用不同的關(guān)閉方案OB與68關(guān)閉),且在所述ECC字失效或破損時(shí)可使用重映射。在此實(shí)施例中使用智能ECC邏輯48,因?yàn)檫厧Э臻g不足以進(jìn)行多個(gè)ECC關(guān)閉。Mrk存在多種可與這些優(yōu)選實(shí)施例一起使用的替代方法。舉例來(lái)說(shuō),代替在存儲(chǔ)器裝置的控制器中實(shí)施,智能過(guò)濾邏輯、重映射邏輯和智能ECC邏輯中的任一者或所有都可整體或部分地在另一組件中執(zhí)行,所述另一組件例如存儲(chǔ)器裝置中或主機(jī)裝置中的另一控制器。另外,術(shù)語(yǔ)“電路”指的是可實(shí)施針對(duì)其而描述的功能的任何組件。電路的實(shí)例包括上文給出的實(shí)例以及運(yùn)行計(jì)算機(jī)可執(zhí)行指令的處理器、專用集成電路、現(xiàn)場(chǎng)可編程門(mén)陣列、 模擬電路或現(xiàn)在已知的或日后開(kāi)發(fā)的任何其它硬件裝置(運(yùn)行或不運(yùn)行軟件)以及其任何組合。希望將前述詳細(xì)描述理解為本發(fā)明可采取的選定形式的說(shuō)明而不是本發(fā)明的定義。希望只有所附權(quán)利要求書(shū)(包括所有等效物)來(lái)界定本發(fā)明范圍。最后,應(yīng)注意到,可單獨(dú)或彼此組合來(lái)使用本文描述的優(yōu)選實(shí)施例中任一者的任一方面。附錄I大塊ECC實(shí)施概述大塊ECC優(yōu)選地包括以下各項(xiàng)字大小?!五e(cuò)誤校正,但無(wú)雙錯(cuò)誤檢測(cè)?!ぶ悄蹺CC更新,其允許最多兩個(gè)ECC奇偶性更新。SEC ECC 實(shí)施ECC實(shí)施類似于允許對(duì)每個(gè)字節(jié)計(jì)算ECC奇偶校驗(yàn)位的實(shí)施。由于側(cè)帶中的存儲(chǔ)有限而需要減少奇偶校驗(yàn)位,已僅針對(duì)SEC而不含DED進(jìn)行了下列修改。圖13展示奇偶校驗(yàn)位針對(duì)8位數(shù)據(jù)如何運(yùn)作的實(shí)例· PO 覆蓋 D1、D3、D5、D7?!?Pl 覆蓋 D2、D3、D6、D7?!?P2 覆蓋 D4、D5、D6、D7?!?P3 覆蓋 D0、D1、D2、D3?!う?覆蓋所有數(shù)據(jù)位。下表展示任何一位錯(cuò)誤會(huì)導(dǎo)致的癥狀。癥狀[4:0]是由對(duì)期望和實(shí)際奇偶校驗(yàn)位進(jìn)行異或運(yùn)算造成的。這種算法優(yōu)選需要Ν+2個(gè)奇偶校驗(yàn)位來(lái)覆蓋2Ν個(gè)位。針對(duì)1 字節(jié)OlO位)的ECC字,優(yōu)選需要12個(gè)奇偶校驗(yàn)位。
權(quán)利要求
1.一種存儲(chǔ)器裝置,其包含一存儲(chǔ)器陣列,其存儲(chǔ)一文件系統(tǒng)結(jié)構(gòu);和一控制器,其與所述存儲(chǔ)器陣列通信,其中所述控制器可操作以響應(yīng)于一將數(shù)據(jù)寫(xiě)入到所述文件系統(tǒng)結(jié)構(gòu)的一地址之前的一地址的試圖而產(chǎn)生一錯(cuò)誤;其中所述控制器允許所述存儲(chǔ)器裝置與使用多次寫(xiě)入文件系統(tǒng)的主機(jī)裝置逆向兼容。
2.根據(jù)權(quán)利要求1所述的存儲(chǔ)器裝置,其中所述文件系統(tǒng)結(jié)構(gòu)包含一文件分配表。
3.根據(jù)權(quán)利要求1所述的存儲(chǔ)器裝置,其中響應(yīng)于一格式化所述存儲(chǔ)器裝置的命令而作出所述將數(shù)據(jù)寫(xiě)入到所述文件系統(tǒng)結(jié)構(gòu)的所述地址之前的所述地址的試圖。
4.根據(jù)權(quán)利要求1所述的存儲(chǔ)器裝置,其中所述存儲(chǔ)器陣列包含一一次可編程存儲(chǔ)器陣列。
5.根據(jù)權(quán)利要求1所述的存儲(chǔ)器裝置,其中所述存儲(chǔ)器陣列包含一數(shù)次可編程存儲(chǔ)器陣列。
6.根據(jù)權(quán)利要求1所述的存儲(chǔ)器裝置,其中所述存儲(chǔ)器陣列包含一三維存儲(chǔ)器陣列。
7.一種存儲(chǔ)器裝置,其包含一存儲(chǔ)器陣列;和一控制器,其與所述存儲(chǔ)器陣列通信,其中所述控制器可操作以(a)從一與所述存儲(chǔ)器裝置通信的主機(jī)裝置處接收一請(qǐng)求以將數(shù)據(jù)寫(xiě)入到所述存儲(chǔ)器陣列中的一第一地址;(b)將所述數(shù)據(jù)寫(xiě)入到一第二地址而并非所述第一地址;和(c)更新所述存儲(chǔ)器陣列中的一文件系統(tǒng)結(jié)構(gòu)以指示所述第二地址已不再是空閑的;其中所述控制器允許所述存儲(chǔ)器裝置與使用多次寫(xiě)入文件系統(tǒng)的主機(jī)裝置逆向兼容。
8.根據(jù)權(quán)利要求7所述的存儲(chǔ)器裝置,其中所述文件系統(tǒng)結(jié)構(gòu)包含一文件分配表。
9.根據(jù)權(quán)利要求7所述的存儲(chǔ)器裝置,其中將所述存儲(chǔ)器陣列以邏輯形式組織成若干具有一第一大小的區(qū)域,且其中所述數(shù)據(jù)包含一小于所述第一大小的第二大小,其中由所述第一大小與所述第二大小之間的差異界定一邊帶區(qū)域,且其中所述控制器可進(jìn)一步操作以將所述第二地址寫(xiě)入在所述第一地址的一邊帶區(qū)域中。
10.根據(jù)權(quán)利要求9所述的存儲(chǔ)器裝置,其中所述控制器可進(jìn)一步操作以僅讀取所述邊帶區(qū)域。
11.根據(jù)權(quán)利要求9所述的存儲(chǔ)器裝置,其中所述控制器包含一高速緩沖存儲(chǔ)器,所述高速緩沖存儲(chǔ)器可操作以存儲(chǔ)來(lái)自一邊帶的數(shù)據(jù)。
12.根據(jù)權(quán)利要求7所述的存儲(chǔ)器裝置,其中將所述存儲(chǔ)器陣列以邏輯形式組織成若干具有一第一大小的區(qū)域,且其中所述數(shù)據(jù)包含一小于所述第一大小的第二大小,其中由所述第一大小與所述第二大小之間的差異來(lái)界定一邊帶區(qū)域,且其中所述控制器可進(jìn)一步操作以將一地址寫(xiě)入到所述第一地址的一邊帶區(qū)域中的一重映射表。
13.根據(jù)權(quán)利要求12所述的存儲(chǔ)器裝置,其中所述控制器包含一高速緩沖存儲(chǔ)器,所述高速緩沖存儲(chǔ)器可操作以存儲(chǔ)來(lái)自所述重映射表的數(shù)據(jù)。
14.根據(jù)權(quán)利要求7所述的存儲(chǔ)器裝置,其中所述控制器可進(jìn)一步操作以將所述第二地址寫(xiě)入在一物理到邏輯地址表中。
15.根據(jù)權(quán)利要求7所述的存儲(chǔ)器裝置,其中所述控制器可進(jìn)一步操作以將所述第二地址寫(xiě)入在一指針表中。
16.根據(jù)權(quán)利要求7所述的存儲(chǔ)器裝置,其中所述存儲(chǔ)器陣列包含一預(yù)分配的區(qū)域,所述預(yù)分配的區(qū)域經(jīng)指定用于重映射操作,且其中所述控制器可操作以在所述文件系統(tǒng)結(jié)構(gòu)指示在所述存儲(chǔ)器陣列中不再有空閑地址時(shí)寫(xiě)入到所述預(yù)分配的區(qū)域。
17.根據(jù)權(quán)利要求16所述的存儲(chǔ)器裝置,其中所述預(yù)分配的區(qū)域可由所述主機(jī)裝置訪問(wèn)。
18.根據(jù)權(quán)利要求7所述的存儲(chǔ)器裝置,其中所述控制器可操作以存儲(chǔ)一包含兩個(gè)狀態(tài)的旗標(biāo),一第一狀態(tài)指示正在使用一指針跟蹤方案,且一第二狀態(tài)指示正在使用一表方案。
19.根據(jù)權(quán)利要求7所述的存儲(chǔ)器裝置,其中所述存儲(chǔ)器陣列包含一一次可編程存儲(chǔ)器陣列。
20.根據(jù)權(quán)利要求7所述的存儲(chǔ)器裝置,其中所述存儲(chǔ)器陣列包含一數(shù)次可編程存儲(chǔ)器陣列。
21.根據(jù)權(quán)利要求7所述的存儲(chǔ)器裝置,其中所述存儲(chǔ)器陣列包含一三維存儲(chǔ)器陣列。
22.根據(jù)權(quán)利要求7所述的存儲(chǔ)器裝置,其中所述存儲(chǔ)器裝置包含一電連接器,所述電連接器經(jīng)配置以與所述主機(jī)裝置上的一相應(yīng)電連接器緊密配合,且其中所述主機(jī)裝置包含一多次寫(xiě)入文件系統(tǒng)。
23.一種存儲(chǔ)器裝置,其包含一存儲(chǔ)器陣列,其中將所述存儲(chǔ)器陣列組織成若干可被部分寫(xiě)入的邏輯單元,藉此在邏輯單元填滿之前可對(duì)每個(gè)邏輯單元執(zhí)行多個(gè)寫(xiě)入操作;和一控制器,其與所述存儲(chǔ)器陣列通信,其中所述控制器可操作以在對(duì)一邏輯單元進(jìn)行一最后寫(xiě)入操作時(shí)針對(duì)所述邏輯單元寫(xiě)入ECC數(shù)據(jù);其中所述控制器允許所述存儲(chǔ)器裝置與使用多次寫(xiě)入文件系統(tǒng)的主機(jī)裝置逆向兼容。
24.根據(jù)權(quán)利要求23所述的存儲(chǔ)器裝置,其中所述控制器可操作以僅在對(duì)一邏輯單元進(jìn)行一最后寫(xiě)入操作時(shí)針對(duì)所述邏輯單元寫(xiě)入ECC數(shù)據(jù)。
25.根據(jù)權(quán)利要求23所述的存儲(chǔ)器裝置,其中所述控制器可操作以在對(duì)一邏輯單元進(jìn)行一第一寫(xiě)入操作時(shí)和在對(duì)所述邏輯單元進(jìn)行一最后寫(xiě)入操作時(shí)都針對(duì)所述邏輯單元寫(xiě)入ECC數(shù)據(jù)。
26.根據(jù)權(quán)利要求23所述的存儲(chǔ)器裝置,其中所述控制器可操作以在將一最后兩字節(jié)寫(xiě)入到一邏輯單元時(shí)針對(duì)所述邏輯單元寫(xiě)入ECC數(shù)據(jù)。
27.根據(jù)權(quán)利要求23所述的存儲(chǔ)器裝置,其中所述控制器可操作以在將一最后六字節(jié)寫(xiě)入到一邏輯單元時(shí)針對(duì)所述邏輯單元寫(xiě)入ECC數(shù)據(jù)。
28.根據(jù)權(quán)利要求23所述的存儲(chǔ)器裝置,其中所述控制器可進(jìn)一步操作以響應(yīng)于一 ECC字是無(wú)效的而執(zhí)行一重映射操作。
29.根據(jù)權(quán)利要求23所述的存儲(chǔ)器裝置,其中所述存儲(chǔ)器陣列包含一一次可編程存儲(chǔ)器陣列。
30.根據(jù)權(quán)利要求23所述的存儲(chǔ)器裝置,其中所述存儲(chǔ)器陣列包含一數(shù)次可編程存儲(chǔ)器陣列。
31.根據(jù)權(quán)利要求^所述的存儲(chǔ)器裝置,其中所述存儲(chǔ)器陣列包含一三維存儲(chǔ)器陣列。
全文摘要
本發(fā)明涉及針對(duì)具有可擦除/可重寫(xiě)存儲(chǔ)器使用帶有主機(jī)裝置的一次或數(shù)次可編程存儲(chǔ)器的方法及裝置。本文描述的實(shí)施例可用于使得一次或數(shù)次可編程存儲(chǔ)器能與現(xiàn)有消費(fèi)者電子裝置(例如與快閃——可擦除、非易失性存儲(chǔ)器一起工作的那些裝置)一起工作而不需要一固件升級(jí),從而提供逆向兼容性且同時(shí)將用戶沖擊減到最小。因此,這些實(shí)施例是一種將一次或數(shù)次可編程存儲(chǔ)器與具有閃存卡插槽的現(xiàn)有消費(fèi)者電子裝置橋接的可行方式。這些實(shí)施例還允許設(shè)計(jì)出未來(lái)消費(fèi)者電子裝置而不必為了包括針對(duì)一次或數(shù)次可編程存儲(chǔ)器定制的文件系統(tǒng)來(lái)更新固件。
文檔編號(hào)G06F3/06GK102163133SQ20111006416
公開(kāi)日2011年8月24日 申請(qǐng)日期2005年7月22日 優(yōu)先權(quán)日2004年8月24日
發(fā)明者克里斯托弗·S·穆?tīng)? 德里克·博施, 楊佳, 阿德里安·杰戴, 馬特·弗魯因 申請(qǐng)人:桑迪士克3D公司
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
云安县| 六枝特区| 广水市| 罗定市| 历史| 凤阳县| 资兴市| 木兰县| 高密市| 大连市| 尚志市| 拉孜县| 望谟县| 永州市| 洮南市| 巴中市| 苗栗市| 海林市| 修武县| 游戏| 石家庄市| 灌云县| 泸水县| 呼图壁县| 襄城县| 潞城市| 梅河口市| 达日县| 龙陵县| 通江县| 高清| 宣化县| 剑阁县| 崇州市| 海原县| 河北区| 青河县| 长武县| 绥芬河市| 姜堰市| 涞水县|