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

閃存介質(zhì)控制器中的元數(shù)據(jù)處理的制作方法

文檔序號(hào):6373300閱讀:187來(lái)源:國(guó)知局

專利名稱::閃存介質(zhì)控制器中的元數(shù)據(jù)處理的制作方法
技術(shù)領(lǐng)域
:本發(fā)明總體涉及閃存介質(zhì)系統(tǒng),特別地,涉及用于處理閃存介質(zhì)控制器中的元數(shù)據(jù)的方法和/或裝置。
背景技術(shù)
:閃存存儲(chǔ)器在海量存儲(chǔ)環(huán)境中是有吸引力的,因?yàn)殚W存存儲(chǔ)器系統(tǒng)沒有硬盤相關(guān)的機(jī)械延遲。因此,閃存存儲(chǔ)器系統(tǒng)允許更高的性能和相對(duì)較低的成本、功率、發(fā)熱(heating)和空間使用率。然而,由于某些技術(shù)上的限制,閃存存儲(chǔ)器還沒有傳統(tǒng)地用于這些環(huán)境中。第一個(gè)技術(shù)問題是寫入速度,其可能與機(jī)械硬盤驅(qū)動(dòng)器上的順序訪問的速度的十分之一一樣慢。寫入速度慢是由于在沒有較長(zhǎng)的擦除周期之前數(shù)據(jù)不能被覆寫(overwrite)在NAND閃存器件上。因?yàn)椴脸芷谥苯佑绊憣懭胄阅埽蟛糠珠W存設(shè)計(jì)將寫入數(shù)據(jù)移動(dòng)到新位置,并往后延遲擦除。在繁忙的系統(tǒng)中,直到處理器用盡空閑閃存頁(yè)并必須停止以創(chuàng)建新的閃存頁(yè),才可以構(gòu)建被延遲的擦除周期,這大大影響系統(tǒng)性能。第二個(gè)技術(shù)問題是,對(duì)單級(jí)單元(“SLC”)器件的各閃存頁(yè)100,000次擦除周期以及對(duì)多級(jí)單元(“MLC”)器件10,000次周期的具體限制。擦除周期的數(shù)量限制,引發(fā)了數(shù)據(jù)中心的具體問題,其中,不可預(yù)知的數(shù)據(jù)流可能導(dǎo)致特定的高度使用的存儲(chǔ)器分區(qū)受限于大量擦除。第三個(gè)問題是數(shù)據(jù)丟失。數(shù)據(jù)丟失可能因?yàn)橛绊戦W存的各種因素而發(fā)生,包括讀取干擾或編程干擾,從而產(chǎn)生由鄰近受干擾單元的存儲(chǔ)單元的讀取或?qū)懭胨斐傻臄?shù)據(jù)位丟失。閃存存儲(chǔ)器單元的狀態(tài)也可能因?yàn)闀r(shí)間的推移而不可預(yù)知地改變。在閃存技術(shù)中,閃存管理功能在固件中實(shí)施。閃存管理功能包括閃存緩沖管理、缺陷管理、損耗均衡。所有的管理功能利用一些閃存器件存儲(chǔ)器來(lái)存儲(chǔ)固件所用的臨時(shí)數(shù)據(jù)或其他信息。在閃存頁(yè)中存儲(chǔ)的固件所用的臨時(shí)數(shù)據(jù)和信息在本文通常被稱為元數(shù)據(jù)。期望實(shí)現(xiàn)用于處理閃存介質(zhì)控制器中的元數(shù)據(jù)的一種方法和/或裝置。
發(fā)明內(nèi)容本發(fā)明涉及一種閃存介質(zhì)控制器中用于處理存儲(chǔ)在閃存存儲(chǔ)器頁(yè)中的元數(shù)據(jù)的方法。該方法一般包括(i)在各上下文基礎(chǔ)(basis)上定義元數(shù)據(jù),其中,上下文基于各頁(yè)來(lái)定義,(ii)當(dāng)元數(shù)據(jù)的大小小于等于預(yù)定閾值時(shí),將整個(gè)元數(shù)據(jù)存儲(chǔ)在上下文結(jié)構(gòu)中,以及(iii)當(dāng)元數(shù)據(jù)的大小大于預(yù)定閾值時(shí),在上下文中定義元數(shù)據(jù)指針。本發(fā)明的目的、功能和優(yōu)點(diǎn)包括提供用于處理閃存介質(zhì)控制器中的元數(shù)據(jù)的方法和/或裝置,其可以(i)在各上下文基礎(chǔ)上定義元數(shù)據(jù)信息,其中,上下文基于各頁(yè)來(lái)定義,(ii)當(dāng)元數(shù)據(jù)的大小小于等于預(yù)定閾值時(shí),將完整的元數(shù)據(jù)信息存儲(chǔ)在上下文結(jié)構(gòu)中,(iii)當(dāng)元數(shù)據(jù)的大小大于預(yù)定閾值時(shí),在上下文中定義指向元數(shù)據(jù)的指針,(iv)分布帶有主機(jī)用戶數(shù)據(jù)的元數(shù)據(jù),和/或(V)用錯(cuò)誤校正編碼、完整性校驗(yàn)和校正來(lái)保護(hù)元數(shù)據(jù)。從下面的詳細(xì)說(shuō)明書和所附權(quán)利要求書及附圖中,上述和其他目的、特征和優(yōu)點(diǎn)將變得顯而易見,其中圖1是示出了在單芯片系統(tǒng)(S0C)環(huán)境中實(shí)現(xiàn)的閃存介質(zhì)控制器的框圖;圖2是示出了根據(jù)本發(fā)明實(shí)施方式的示例閃存介質(zhì)控制器(FMC)結(jié)構(gòu)的框圖;圖3是示出了根據(jù)本發(fā)明實(shí)施方式的示例閃存通道控制器結(jié)構(gòu)的框圖;圖4是示出了圖3的上下文管理器模塊的示例子模塊的示圖;圖5是示出了圖3的裸片管理模塊的示例子模塊的示圖;圖6是示出了圖3的閃存操作管理器模塊的示例子模塊的示圖;圖7是示出了圖3的數(shù)據(jù)流管理器模塊的示例子模塊的示圖;圖8是示出了實(shí)現(xiàn)了圖3的上下文管理器模塊的示例子模塊的示圖;以及圖9是示出了圖3的閃存操作管理器的示例實(shí)施的示圖;圖10是示出了根據(jù)本發(fā)明實(shí)施方式的示例閃存介質(zhì)上下文的布局的示圖;圖11是示出了根據(jù)本發(fā)明實(shí)施方式的閃存頁(yè)中的示例分區(qū)部分的示圖;圖12A和圖12B是示出了根據(jù)本發(fā)明實(shí)施方式的示例FMC閃存頁(yè)結(jié)構(gòu)的示圖;以及圖13是示出了說(shuō)明根據(jù)本發(fā)明實(shí)施方式的處理的流程圖。具體實(shí)施例方式在一個(gè)實(shí)現(xiàn)方案中,根據(jù)本發(fā)明的系統(tǒng)可以被設(shè)計(jì)為通過各種大容量存儲(chǔ)協(xié)議進(jìn)行操作,包括SAS(“串行連接SCSI”)、FC(“光纖通道”)和FC-AL(“光纖通道仲裁環(huán)路”),所有這些都是基于小型計(jì)算機(jī)系統(tǒng)接口(“SCSI”)協(xié)議和串行ATA(“SATA”)協(xié)議的。本領(lǐng)域普通技術(shù)人員應(yīng)當(dāng)熟悉這些大容量存儲(chǔ)協(xié)議,因此,這樣的協(xié)議不會(huì)在本文中進(jìn)一步討論。除非在調(diào)用特定協(xié)議的情況下,本文所公開的系統(tǒng)和方法不依賴于正在使用的特定協(xié)議,并被設(shè)計(jì)為通過所有協(xié)議進(jìn)行正確操作。此外,根據(jù)本發(fā)明實(shí)施方式的系統(tǒng)和方法可以適用于與目前在使用或?qū)?lái)開發(fā)的其他類似協(xié)議一起使用,這些協(xié)議包括用于企業(yè)級(jí)應(yīng)用的協(xié)議以及用于諸如最終用戶的其他應(yīng)用協(xié)議。本文所述的系統(tǒng)包括用于實(shí)現(xiàn)閃存器件的閃存控制器硬件架構(gòu)的新方法和/或裝置。參照?qǐng)D1,其示出了通過根據(jù)本發(fā)明實(shí)施方式的閃存介質(zhì)控制器所實(shí)現(xiàn)的系統(tǒng)100的框圖。在一個(gè)示例中,系統(tǒng)(或結(jié)構(gòu))100可包括塊(或電路)102、多個(gè)塊(或電路)104a至104n、多個(gè)塊(或電路)106a至106n、塊(或電路)18、塊(或電路)110、塊(或電路)112、塊(或電路)114、塊(或電路)116。電路102至116可以表示被實(shí)現(xiàn)為硬件、固件、軟件、硬件、固件和/或軟件的組合或者其他的模塊和/或塊。在一個(gè)示例中,塊102可以實(shí)現(xiàn)根據(jù)本發(fā)明實(shí)施方式的閃存介質(zhì)控制器(FMC)。塊104a至104n可以被實(shí)現(xiàn)為第一數(shù)量的閃存儲(chǔ)器件或元件。塊104a至塊104n可以耦接至塊102的第一閃存通道。塊102的第一閃存通道可以被配置為對(duì)各個(gè)塊104a至104n提供獨(dú)立的芯片啟用(CE)信號(hào)。塊106a至塊106n可以被實(shí)現(xiàn)為第二數(shù)量的閃存存儲(chǔ)器件或部件。塊106a至塊106η可耦接至塊102的第二閃存通道。塊102的第二閃存通道可以被配置為對(duì)各個(gè)塊106a至塊106η提供獨(dú)立的芯片啟用(CE)信號(hào)。盡管FMC102以兩個(gè)閃存通道的示例進(jìn)行了說(shuō)明,對(duì)本領(lǐng)域技術(shù)人員顯而易見的是,可以相應(yīng)地實(shí)現(xiàn)另外的閃存通道以滿足特定實(shí)現(xiàn)的設(shè)計(jì)標(biāo)準(zhǔn)。閃存器件104a至104η和106a至106η可以被實(shí)現(xiàn)為包括一個(gè)或多個(gè)裸片的單個(gè)閃存組(flashpackage)ο閃存器件104a至104η和106a至106η通過使用NAND和/或NOR閃存器件來(lái)實(shí)現(xiàn)。塊102可以包括用于NAND閃存和/或NOR閃存的適當(dāng)?shù)奈锢韺又С?PHY)。塊108可以實(shí)現(xiàn)可耦接至塊102的外部FMC處理器(FARM)。塊110可以實(shí)現(xiàn)可被配置為將靜態(tài)隨機(jī)存取存儲(chǔ)器(SRAM)和/或動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器(DRAM)耦接至塊102的存儲(chǔ)器控制器。塊112可以被實(shí)現(xiàn)為一個(gè)或多個(gè)SRAM器件。塊114可以被實(shí)現(xiàn)為一個(gè)或多個(gè)DRAM裝置。塊116可以實(shí)現(xiàn)耦接塊110和塊114的雙倍數(shù)據(jù)速率物理層(PHY)接口。在一個(gè)示例中,塊102、108、110、112、114和116可以實(shí)現(xiàn)單芯片系統(tǒng)(SOC)結(jié)構(gòu)。塊102可以實(shí)現(xiàn)為被配置為協(xié)助各種應(yīng)用程序使用閃存器件104a至104η和閃存器件106a至106η的軟IP塊。正如本文使用的,術(shù)語(yǔ)“軟IP塊”通常是指可以以軟件(例如,HDL代碼、RTL代碼等)提供的集成電路的構(gòu)建塊(buildingblock)。塊102通常支持與閃存器件的多個(gè)閃存接口。塊102通常不包括處理器(例如ARM)。然而,在一個(gè)示例中,塊102可以實(shí)現(xiàn)被配置為將塊102耦接至外部處理器108的接口(例如32位的AHB等)。塊102通常被配置為處理由塊104a至104η和塊106a至106η形成的閃存介質(zhì)海量存儲(chǔ)陣列的管理。在一個(gè)示例中,塊102可以利用多例示(multiply-1nstantiated)閃存通道控制器(FLC),其能夠執(zhí)行與附接有多個(gè)獨(dú)立閃存器件的單個(gè)閃存數(shù)據(jù)通道相關(guān)聯(lián)的大部分管理功能。從塊102可能對(duì)閃存訪問了解甚少這個(gè)意義上說(shuō),塊102的功能可能有點(diǎn)寬泛。塊102通常更多地涉及將閃存感知(flash-aware)通道編織(weave)成單個(gè)硬件實(shí)體。在一個(gè)示例中,實(shí)現(xiàn)塊102的軟IP可以進(jìn)行參數(shù)化以支持用于應(yīng)用程序的最大可能通道。例如,在一個(gè)實(shí)現(xiàn)中,通道的數(shù)量可以為2。在另一實(shí)現(xiàn)中,數(shù)量可以為8。在一個(gè)示例中,塊102可以支持的特征包括(i)兩個(gè)閃存通道;(ii)在每個(gè)閃存通道上的高達(dá)八個(gè)芯片啟用信號(hào)(CE);(iii)閃存接口,包括異步正常模式、異步擴(kuò)展模式、Togglel.O,ONFI2.3,ONFI2.l、Toggle2.O;(iv)硬件可配置的多個(gè)通道之間的專用ECC或共享ECC(例如實(shí)現(xiàn)塊102的軟IP包的參數(shù)化特征);(V)閃存接口上的8位數(shù)據(jù);(vi)Toggle2.O或ONFI2.3的閃存接口規(guī)范的閃存接口上的高達(dá)200MHz的DDR速率;(vii)部分讀取命令,(viii)隨機(jī)讀取命令;(ix)關(guān)于閃存寫入/讀取的CRC刪除/插入(strip/insert)選項(xiàng);(x)對(duì)4K字節(jié)數(shù)據(jù)高達(dá)64位的校正;(xii)512、2K、4K字節(jié)數(shù)據(jù)上的可配置的η位校正(η最大值=64);(xii)用于寄存器編程的32位AHB接口;(xiii)上下文命令在外部存儲(chǔ)器(如DRAM或SRAM)上的存儲(chǔ);(xiv)在閃存通道控制器中的直通緩沖器(cut-throughbuffer);(xv)提供更好性能的獨(dú)立閃存讀寫數(shù)據(jù)路徑;(xvi)對(duì)各個(gè)閃存單元號(hào)(FUN)報(bào)告的有序狀態(tài);(xvii)針對(duì)每個(gè)閃存通道的數(shù)據(jù)路徑支持一個(gè)讀取緩沖控制器(BC)接口和一個(gè)寫入緩沖控制器接口;(xviii)支持用于上下文檢索的讀取BC接口;(xix)支持用于上下文更新的寫入BC接口;(XX)支持用于空閑資源指針(CFRP)的讀取/寫入BC接口。參考圖2,圖2示出了圖1的塊102的更詳細(xì)的框圖,該框圖示出了根據(jù)本發(fā)明實(shí)施方式的示例閃存介質(zhì)控制器(FMC)結(jié)構(gòu)。在一個(gè)示例中,塊102可以實(shí)現(xiàn)三個(gè)主要功能接口緩沖控制器(BC)接口、閃存器件接口以及處理器接口(例如,32位AHB等)。在框圖的左側(cè)和左上側(cè)示出了緩沖控制器(BC)接口。在一個(gè)示例中,可以實(shí)現(xiàn)七個(gè)緩沖控制器接口(例如,三個(gè)讀取接口BC_RD_I/F、三個(gè)寫入接口BC_WR_I/F和一個(gè)讀取/寫入接口BC_RD/WR_I/F)。在框圖的右側(cè)示出了閃存器件接口。在一個(gè)示例中,可以實(shí)現(xiàn)兩個(gè)閃存通道接口(例如,F(xiàn)LASH_I/F_0和FLASH_I/F_1)。在框圖的右上側(cè)示出了32位AHB接口。在一個(gè)示例中,32位AHB接口可用于對(duì)塊102中的寄存器進(jìn)行編程、讀取狀態(tài)及使用診斷寄存器。塊102通常包括塊(或電路)150、塊(或電路)152、多個(gè)塊(或電路)154a至154η、多個(gè)塊(或電路)156a至156η、多個(gè)塊(或電路)158a至158η、塊(或電路)160、塊(或電路)162、塊(或電路)164、塊(或電路)166、塊(或電路)168、塊(或電路)170、多個(gè)塊(或電路)172a至172η以及多個(gè)塊(或電路)174a至174η。電路150到174a至174η可以表示可實(shí)現(xiàn)為硬件、固件、軟件、以及硬件、固件和/或軟件的組合或者其他實(shí)施方式的模塊和/或塊。塊150可以實(shí)現(xiàn)處理器接口邏輯(PIL)。塊152可以實(shí)現(xiàn)數(shù)據(jù)DMA管理器(DDM)。塊154a至154η可以實(shí)現(xiàn)閃存總線控制器(FBC)。塊156a至156η可以實(shí)現(xiàn)閃存通道控制器(FLC)。塊158a至158η可以實(shí)現(xiàn)數(shù)據(jù)傳輸路徑(DTP)。塊160可以實(shí)現(xiàn)上下文提取仲裁器(CA)。塊162可以執(zhí)行上下文空閑指針資源(CFPM)。塊164可以實(shí)現(xiàn)消耗上下文管理器(CCM)。塊166可以實(shí)現(xiàn)上下文檢索端口(CRP)。塊168可以實(shí)現(xiàn)上下文更新端口(CUP)。塊170可以實(shí)現(xiàn)上下文指針列表端口(CPLP)。塊170通常是可選的。塊172a至172η可以實(shí)現(xiàn)數(shù)據(jù)DMA讀取接口端口(DDRIP)。塊174a至174η可以實(shí)現(xiàn)數(shù)據(jù)DMA寫入接口端口(DDWIP)。并且,塊172a至172η和塊174a至174η通常形成數(shù)據(jù)DMA接口端口(DDIP)。在一個(gè)示例中,塊150可以提供從塊108至102的可尋址資源(例如,經(jīng)由AMBAAHB-Lite接口)的接口。塊150可以向所有可尋址資源提供接口并且向塊102中的不位于塊156a至156η內(nèi)的子模塊的配置和狀態(tài)寄存器提供直接接口。塊150也可以向各個(gè)塊156a至156η中的可尋址資源提供接口。此外,塊150可以包含一個(gè)上下文構(gòu)成緩沖器(CCB),其中,處理器固件可以將實(shí)際介質(zhì)上下文寫入塊102以經(jīng)由塊168存儲(chǔ)到系統(tǒng)緩沖器。在一個(gè)示例中,塊150可以包括以下特征至108的32位AMBAAHB-Lite從屬接口;可以為輸入時(shí)鐘值(例如,HCLK)的一些劃分值(或相同)的系統(tǒng)時(shí)鐘(例如,SYS_CLK);對(duì)塊102中的所有配置寄存器和狀態(tài)寄存器以及處理器可尋址空間的訪問;由處理器固件用于構(gòu)建存儲(chǔ)在系統(tǒng)緩沖器中的上下文的上下文構(gòu)成緩沖器(CCB);分布到塊156a至156η中的每一個(gè)的處理器接口,其中,對(duì)各個(gè)尋址資源的訪問由處理器訪問端口(PAP)處理,并且其包含可被塊102中的多個(gè)子模塊使用的寄存器。塊150可以對(duì)沒有邏輯地存儲(chǔ)在塊156a至156η中的可尋址資源執(zhí)行所有寄存器解碼和所有讀取數(shù)據(jù)復(fù)用(multiplex)。塊152通常管理兩個(gè)數(shù)據(jù)傳輸,一個(gè)用于閃存編程(例如,從緩沖器到閃存器件的數(shù)據(jù)交易),另一個(gè)用于閃存讀取(例如,從閃存器件到緩沖器的數(shù)據(jù)交易)。DMA數(shù)據(jù)路徑通常包括從塊156a至156η到相應(yīng)的塊158a至158η、數(shù)據(jù)DMA接口端口(DDIP)塊172a至172η以及塊174a至174η的分離的32位讀寫數(shù)據(jù)總線。塊158a至158η可以包含ECC功能。DMA數(shù)據(jù)傳輸通常包括一系列事件,該一序列事件可以包括通過塊102的其他子塊(或端口塊)訪問相應(yīng)的上下文。在一個(gè)示例中,一個(gè)DMA傳輸可以包括FLC請(qǐng)求、檢索上下文操作、數(shù)據(jù)傳輸和FLC完成階段。在FLC的請(qǐng)求步驟中,數(shù)據(jù)傳輸可以隨著塊156a至156η中的一個(gè)升高各自的請(qǐng)求線而開始。在檢索上下文操作中,可以經(jīng)由上下文檢索端口(CRP)接口166從一個(gè)緩沖控制器檢索相應(yīng)的上下文。數(shù)據(jù)傳輸可以發(fā)生在DDIP、DTP和FLC塊之間,在該過程中,上下文可以發(fā)送至DDIP并且可以被寫回或不被寫回。在FLC完成階段,到選定塊156a至156η的完成線可以升高以表示傳輸結(jié)束。DDM152可以執(zhí)行檢索上下文并向DTP塊提供輸入,以方便數(shù)據(jù)交易。塊154a至154η通常在相應(yīng)的閃存通道上執(zhí)行至一組NAND閃存器件的低級(jí)接口信令。通常對(duì)各個(gè)閃存通道控制器(FLC)156a至156η存在一個(gè)閃存總線控制器(FBC)154a至154η。塊154a至154η通常管理用于幾個(gè)接口類型的閃存接口協(xié)議的各個(gè)周期的時(shí)序以及給定類型的不同時(shí)序模式(例如,異步、ONFI2.O同步、ONFI2.3同步、三星Togglel.O、三星Toggle2.0等)。在一個(gè)示例中,通過一組內(nèi)部時(shí)序寄存器中存儲(chǔ)的時(shí)序計(jì)數(shù),可以控制周期的定時(shí)。塊154a至154η的核心邏輯通常在與其余的塊102不同的時(shí)鐘域下操作。一般地,只有時(shí)序寄存器組(set)位于與其余的塊156a至156η相同的時(shí)鐘域中。通常在寄存器和FBC核心之間通常不需要同步邏輯,因?yàn)橹挥性贔BC是靜態(tài)(quiescent)時(shí)(例如,沒有未完成(outstanding)操作)寄存器才被寫入,所以寄存器被視為靜態(tài)(static)的。塊156a至156η通常執(zhí)行對(duì)各個(gè)裸片的命令的調(diào)度。塊156a至156η管理各個(gè)相應(yīng)閃存通道上的命令序列。塊156a至156η提供控制寄存器和狀態(tài)寄存器,通過它們,固件能夠?qū)β闫幊滩⒂^察狀態(tài)。每個(gè)塊156a至156η均包括上下文管理和裸片管理。塊156a至156η通常負(fù)責(zé)處理上下文。塊158a至158η的每一個(gè)路由數(shù)據(jù)流量,并針對(duì)塊154a至154η中的每一個(gè)、可選的內(nèi)部ECC編碼器/解碼器以及相應(yīng)的數(shù)據(jù)DMA接口端口(DDIP)之間的數(shù)據(jù)流啟動(dòng)每個(gè)接口的流控制。在一個(gè)示例中,可在`塊158a至158η內(nèi)實(shí)現(xiàn)內(nèi)部ECC編碼器/解碼器。可選地,塊158a至158η中的每一個(gè)可被配置為共享單個(gè)ECC編碼器/解碼器模塊??梢酝ㄟ^相應(yīng)的數(shù)據(jù)DMA管理器(DDM)模塊152和相應(yīng)的數(shù)據(jù)DMA接口端口(DDIP)塊172a至172η和塊174a至174η針對(duì)每次傳送對(duì)塊158a至158η進(jìn)行編程。各個(gè)塊158a至158η可以包括可在全雙工操作模式下工作的獨(dú)立閃存讀寫路徑。塊158a至158η保持?jǐn)?shù)據(jù)傳輸中的當(dāng)前區(qū)域計(jì)數(shù)以及各個(gè)區(qū)域中的當(dāng)前雙字(dword)計(jì)數(shù)。塊158a至158η通常執(zhí)行DDIP、ECC編碼器及解碼器和FLC塊之間的流控制轉(zhuǎn)化。塊158a至158η保持每次傳輸?shù)倪\(yùn)行可校正(runningcorrectable)ECC錯(cuò)誤和,并在傳輸結(jié)束后向塊152提供該最終值。塊158a至158η可以包含用于對(duì)ECC編碼器及解碼器編程的FMC寄存器。塊150可以通過寄存器接口來(lái)訪問寄存器。ECC模塊通常能夠進(jìn)行4Κ字節(jié)數(shù)據(jù)上的64位校正。然而,可以相應(yīng)地實(shí)現(xiàn)其他級(jí)別的校正以滿足特定實(shí)現(xiàn)的設(shè)計(jì)標(biāo)準(zhǔn)。在一個(gè)示例中,解碼器門計(jì)數(shù)可以為415Κ門,而編碼器門計(jì)數(shù)可以為75Κ門。塊160通常負(fù)責(zé)從塊156a至156η接收對(duì)上下文的請(qǐng)求,從系統(tǒng)緩沖器(例如,通過緩沖控制器進(jìn)行訪問的DRAM)中檢索請(qǐng)求的上下文,然后將上下文分發(fā)給塊156a至156η。檢索實(shí)際上可以經(jīng)由對(duì)上下文檢索訪問端口(CRP)166的請(qǐng)求來(lái)執(zhí)行。上下文為FMC的基本控制單元。上下文通常包含F(xiàn)LC執(zhí)行命令所需的、或者FMC執(zhí)行到系統(tǒng)緩沖器或來(lái)自系統(tǒng)緩沖器的相關(guān)數(shù)據(jù)傳輸(DMA)所需的所有信息。FLC的動(dòng)作完全自主;因此,F(xiàn)LC需要仲裁經(jīng)由緩沖控制器對(duì)系統(tǒng)緩沖器的訪問,其包含由固件構(gòu)建的上下文的鏈接列表(linkedlistofcontext)0塊160通常提供仲裁,以及發(fā)起對(duì)塊166的請(qǐng)求。然后,塊160將檢索到的上下文清楚地路由到相應(yīng)的FLC目的地。塊162通常被實(shí)現(xiàn)為塊102的子塊以提供空閑指針在其中對(duì)固件可用的單點(diǎn)(singlepoint)。塊164通常被實(shí)現(xiàn)為塊102的子塊以提供由固件可以在完成后檢測(cè)已完成的上下文的單點(diǎn)。塊164通常在多個(gè)FLC源之間執(zhí)行仲裁。FLC提供與上下文指針相關(guān)聯(lián)的PASS/FAILECC狀態(tài)。一旦獲得上下文,塊164更新上下文狀態(tài)字段,然后將上下文提供給固件。在固件需要較長(zhǎng)時(shí)間來(lái)讀取已完成的上下文、以及塊164內(nèi)的內(nèi)部存儲(chǔ)器將變滿的情況下,塊164可以使用緩沖器來(lái)存儲(chǔ)在當(dāng)前報(bào)告的上下文之后進(jìn)行排隊(duì)的已完成的上下文。塊166至174η通常實(shí)現(xiàn)端口接口。端口接口可用于與緩沖控制器通信。在一個(gè)示例中,在端口接口內(nèi)可以實(shí)現(xiàn)QBFIFO塊。下面的端口接口也可以被實(shí)現(xiàn)為端口接口的一部分上下文檢索端口(CRP)166、上下文更新端口(CUP)168、上下文指針列表接口端口(CPLIP)170(可選)、數(shù)據(jù)DMA讀取接口端口(DDRIP)172a至172η、數(shù)據(jù)DMA寫入接口端口(DDWIP)174a至174η。在一個(gè)示例中,塊102的信號(hào)接口可被分為4個(gè)主要接口ΑΗΒ接口、緩沖控制器接口、NAND和/或NOR閃存物理層(PHY)接口以及混雜(MISC)接口。緩沖控制器接口可以包括(i)用于通道O和通道I的DDIPBC寫入接口,(ii)用于通道O和通道I的DDIPBC讀取接口(iii)CRPBC讀取接口,(iv)CUPBC寫入接口,以及(v)CPLIPBC讀取/寫入接口。在一個(gè)示例中,塊102可以以三個(gè)時(shí)鐘實(shí)現(xiàn)。塊102中的大部分邏輯可以在被稱為系統(tǒng)時(shí)鐘(例如,SYS_CLK)的時(shí)鐘域上工作。系統(tǒng)時(shí)鐘可以為AHB時(shí)鐘。系統(tǒng)時(shí)鐘通常具有FMC處理器(FARM)112的工作頻率的一半的頻率。第二時(shí)鐘可以為所謂的閃存時(shí)鐘(例如,F(xiàn)BC_CLK)。閃存總線控制器(FBC)154A至154η可以完全工作在閃存時(shí)鐘域。在一個(gè)示例中,可在塊154a至154η的數(shù)據(jù)流管理器(DM)模塊中實(shí)現(xiàn)先進(jìn)先出緩沖器(FIFO),以管理時(shí)鐘FBC_CLK和SYS_CLK之間的頻率。第三時(shí)鐘可以為緩沖控制器時(shí)鐘(例如,BC_CLK)。所有帶有BC的接口端口均工作在緩沖控制器時(shí)鐘域??梢栽诰彌_控制器時(shí)鐘BC_CLK和系統(tǒng)時(shí)鐘SYS_CLK之間實(shí)現(xiàn)緩沖器元件(例如,QBFIFO)ο參考圖3,其示出了圖解根據(jù)本發(fā)明實(shí)施方式的示例閃存通道控制器結(jié)構(gòu)的塊200的示圖。在一個(gè)示例中,塊200可以用于實(shí)現(xiàn)圖2中的塊154a至154η和塊156a至156η。在一個(gè)示例中,塊(或電路)200可以包括塊(或電路)202、塊(或電路)204、塊(或電路)206、塊(或電路)208、塊(或電路)210、塊(或電路)212以及塊(或電路)214。電路202至210可以表示被實(shí)現(xiàn)為硬件、固件、軟件、以及硬件和固件和/或軟件的組合或其他實(shí)施方式的模塊和/或塊。在一個(gè)示例中,塊202可以實(shí)現(xiàn)上下文處理協(xié)調(diào)器(CPC)。在一個(gè)示例中,塊204可以實(shí)現(xiàn)上下文管理器(CM)。在一個(gè)示例中,塊206可以實(shí)現(xiàn)裸片管理模塊(DMM)0在一個(gè)示例中,塊208可以實(shí)現(xiàn)閃存操作管理器(F0M)。在一個(gè)示例中,塊210可以實(shí)現(xiàn)處理器訪問端口(PAP)。在一個(gè)示例中,塊212可以實(shí)現(xiàn)閃存總線控制器(FBC)。在一個(gè)示例中,塊214可以實(shí)現(xiàn)數(shù)據(jù)流管理器(DFM)。塊202可以幫助上下文信息流入和流出塊200。上下文流可以由塊204發(fā)起。塊202主要涉及響應(yīng)于提取或配置上下文的請(qǐng)求。為了獲取上下文,塊202響應(yīng)塊204對(duì)新的上下文的請(qǐng)求。首先,塊202可以向在塊200管理的裸片中進(jìn)行仲裁并將選定的裸片或邏輯單元號(hào)(LUN)轉(zhuǎn)發(fā)至塊202的塊206發(fā)起請(qǐng)求。然后,塊202發(fā)出一個(gè)試圖從系統(tǒng)緩沖器提取上下文的提取至上下文提取仲裁器(CFA)(例如,圖2中的塊160)。一旦提取到上下文,將上下文提交給塊202。塊202對(duì)上下文執(zhí)行一些解釋并轉(zhuǎn)發(fā)上下文至塊204。如果塊206沒有可用的發(fā)起上下文執(zhí)行的裸片(LUN)J^206通知塊202缺乏可用的裸片,然后塊202通知(communicate)塊204缺乏可用的裸片。塊202還協(xié)助塊200完成上下文的配置。此外,啟動(dòng)該流程的是塊204,并且,向?qū)崿F(xiàn)消耗上下文管理器(CCM)的塊(例如,圖2中塊164)發(fā)出配置消息的是塊202。當(dāng)由CCM接收到配置消息并啟動(dòng)工作時(shí),塊202通知塊204,然后塊204可以繼續(xù)處理上下文的執(zhí)行。塊202通常執(zhí)行上下文的一些解釋。具體地,為了確定上下文是否為處理器控制模式(PCM)上下文,塊202可以解釋上下文。當(dāng)接收到PCM上下文時(shí),上下文的提取(追加)應(yīng)當(dāng)停止。然后,塊202等待塊204開始執(zhí)行PCM上下文并且在處理器控制模式完成時(shí)繼續(xù)(reSUme)“標(biāo)準(zhǔn)”操作。在處理器控制模式間隔期間,塊202確定提取到的上下文是否是15個(gè)雙字上下文,而不是4個(gè)雙字閃存上下文,塊202在“標(biāo)準(zhǔn)”操作下將其發(fā)送至塊204。在一個(gè)示例中,塊204可以包括上下文狀態(tài)機(jī)(CSM)、上下文提取管理器(CFM)、上下文配置引擎(⑶E)、上下文解釋器(Cl)。塊204通常負(fù)責(zé)管理正在由塊200有效處理的上下文。塊204通常執(zhí)行有效上下文的簿記(bookke印ing)。上下文是向系統(tǒng)緩沖器提供閃存介質(zhì)控制器(FMC)執(zhí)行閃存交易和DMA所需的所有信息的數(shù)據(jù)結(jié)構(gòu)。塊204管理在閃存通道控制器級(jí)別上的上下文,由此主要涉及閃存交易有關(guān)的上下文管理。塊204保持由塊208執(zhí)行對(duì)閃存通道上的閃存裸片執(zhí)行命令和數(shù)據(jù)傳輸所用的信息。塊206通常負(fù)責(zé)保持塊200的操作所需的基于裸片的信息。塊206管理裸片管理表中的各個(gè)裸片的信息并且在裸片之間仲裁對(duì)上下文表排隊(duì)的訪問。在一個(gè)不例中,塊206可以包括更新裸片狀態(tài)的裸片狀態(tài)機(jī)。塊206可以執(zhí)行/監(jiān)控多裸片操作。塊206通常負(fù)責(zé)閃存命令,包括但不僅限于READ、COPYBACKREAD/COPYBACKWRITE、BLOCKERASE、PAGEPROGRAM,以及目標(biāo)級(jí)命令,其中,目標(biāo)級(jí)命令包括但不僅限于READID、READPARAMETERPAGE、GETFEATURES、SETFEATURES、SYNCHRONOUSRESET、以及RESET。塊208通常處理應(yīng)用到閃存通道的各個(gè)閃存操作序列。通常針對(duì)閃存介質(zhì)控制器的每個(gè)閃存通道控制器(FLC)來(lái)實(shí)現(xiàn)一個(gè)塊208。塊208在塊204的上下文表中的命令之間進(jìn)行仲裁,并應(yīng)用命令至塊212。在一個(gè)示例中,塊208本身支持來(lái)自0NFI2.O命令列表中的最常用的命令,以及在三星NAND閃存器件中出現(xiàn)的一些特定的(和類似的)命令。此外,可以通過納米序列器(nano-sequencer)(在下面圖9到圖11中詳細(xì)說(shuō)明)支持其他現(xiàn)有和將來(lái)的命令。自身支持的命令可以無(wú)需處理器干預(yù)來(lái)操作,但其他命令通常使用一些級(jí)別的處理器支持。閃存命令可以被分解成可串行地應(yīng)用于由塊208控制的實(shí)際閃存裸片的原子“周期”。因?yàn)殚W存命令通常涉及漫長(zhǎng)的等待時(shí)間(例如,在數(shù)據(jù)從芯片中有效讀取之前,頁(yè)讀取可能需要25μS),“命令周期”可以經(jīng)常針對(duì)閃存通道的不同裸片“一個(gè)接一個(gè)”地(back-to-back)操作,從而減少了有效的、累積的等待時(shí)間。塊208通常通過隨著應(yīng)用每個(gè)閃存循環(huán)而更新裸片的狀態(tài)來(lái)管理閃存裸片。然后塊208讀取更新的上下文表來(lái)確定接下來(lái)什么循環(huán)應(yīng)該(或可以)執(zhí)行。NAND閃存存儲(chǔ)器操作通常包括一個(gè)或多個(gè)閃存周期。通常存在四種類型的閃存周期命令、地址、數(shù)據(jù)輸出(w.r.t閃存器件,例如,讀取)、數(shù)據(jù)輸A(w.r.t閃存器件,例如,寫入)。周期類型大致轉(zhuǎn)化為在塊208和塊212之間定義的操作類型。塊210通常實(shí)現(xiàn)提供了從FMC100的AHB-Lite從屬接口至200的可尋址資源的處理器訪問的接口塊。在本文討論的大部分資源主要用于診斷目的,正如所有配置信號(hào)采用全局級(jí)別(作為共享的配置寄存器塊的一部分)。例如,可以通過塊210實(shí)現(xiàn)閃存通道數(shù)據(jù)緩沖器的完全訪問。訪問可以單純作為早期驗(yàn)證支架(scaffold)而提供。然而,對(duì)閃存通道數(shù)據(jù)緩沖器的訪問,也可以支持需要直接訪問內(nèi)部表的固件補(bǔ)丁(Pitch)。這樣的訪問可以通過塊210提供。塊210的特點(diǎn)可以包括簡(jiǎn)單的訪問接口,符合AHB-Lite從屬協(xié)議并且由FMC中的處理器接口邏輯(PIL)進(jìn)行緩沖;提供對(duì)寄存器資源、上下文表、上下文高速緩存以及裸片管理表的讀寫訪問;提供對(duì)位于塊214中的閃存通道數(shù)據(jù)緩沖器存儲(chǔ)器資源的讀寫訪問。塊210通常支持添加每通道配置寄存器的能力,盡管大部分配置寄存器通常被提供為塊200的輸入。類似地,可以支持狀態(tài)寄存器和中斷寄存器訪問,盡管大多數(shù)狀態(tài)寄存器和中斷寄存器通常在塊200以外產(chǎn)生。塊210的主要邏輯組可以包括界面管理器(IF_MGR)、數(shù)據(jù)流管理接口(DM_IF)、寄存器塊解碼器(REG_DEC)、寄存器塊復(fù)用器(REG_MUX)、中斷處理器(INT_HND)和FLC全局寄存器(GL0B_REGS)。參照?qǐng)D4,示出了圖解圖3的上下文管理模塊204的子模塊的示圖。在一個(gè)示例中,塊204可以包括上下文表(CT)220、上下文狀態(tài)機(jī)(CSM)222、上下文高速緩存(CC)224和上下文隊(duì)列控制器(CQC)226。塊204通常劃分和執(zhí)行閃存通道控制器上的操作的階段,保持閃存通道上的所有有效上下文的優(yōu)先級(jí)順序,保持各個(gè)閃存通道上下文的狀態(tài),提供(例如,通過上下文高速緩存)執(zhí)行完整交易所需的上下文的臨時(shí)片上存儲(chǔ)的最低量,保持正在執(zhí)行的處理中的各個(gè)上下文的緩沖器指針,并通過使用上下文狀態(tài)機(jī)(CSM)222確定下一狀態(tài)的上下文以為各個(gè)上下文提供代理(agency)??梢栽谏舷挛谋?CT)220中保持最小的上下文信息。表220通常提供了目前正在執(zhí)行的上下文的優(yōu)先級(jí)隊(duì)列。上下文隊(duì)列控制器(CQC)226可被配置為從上下文表220中移除已完成的上下文并壓縮上下文表220,以消除間隙。參照?qǐng)D5,示出了圖解圖3的裸片管理模塊206的子模塊的示圖。在一個(gè)示例中、塊206可以包括裸片狀態(tài)機(jī)230、裸片服務(wù)仲裁器232以及裸片管理表234。參照?qǐng)D6,示出了圖解圖3的閃存操作管理器(F0M)208的子模塊的示圖。在一個(gè)示例中,塊208可被分為四個(gè)子模塊命令仲裁器(CA)240、數(shù)據(jù)傳輸仲裁器(DTA)242、閃存操作格式化器(FOF)244、納米序列器246。命令仲裁器240通常掃描上下文表以得到要應(yīng)用的命令,然后與閃存操作格式化器(FOF)244通信以發(fā)送信號(hào)至閃存緩沖控制器(FBC)。一旦所有的“命令”部分已經(jīng)運(yùn)行,閃存為“數(shù)據(jù)階段”準(zhǔn)備就緒,數(shù)據(jù)傳輸仲裁器242發(fā)起FBC和數(shù)據(jù)流管理(DM)214之間的傳輸。最后,納米序列器246解釋特殊的“軟上下文”以應(yīng)用任何閃存可能需要的命令序列,即使命令序列本身不支持。參照?qǐng)D7,示出了圖解圖3的數(shù)據(jù)流管理子模塊214的示圖。數(shù)據(jù)流管理214通常提供閃存通道數(shù)據(jù)緩沖器存儲(chǔ)器資源。在一個(gè)示例中,閃存通道數(shù)據(jù)緩沖器存儲(chǔ)器資源可以包括直通緩沖器250和252。在一個(gè)示例中,直通緩沖器250和252可以被實(shí)現(xiàn)為其大小是可編程的。例如,緩沖器250和252的大小可以調(diào)整,以滿足帶寬指標(biāo)。在一個(gè)示例中,緩沖器250和252可以包括靜態(tài)隨機(jī)存取存儲(chǔ)器(SRAM)。然而,可以相應(yīng)地實(shí)現(xiàn)其他類型的存儲(chǔ)器以滿足特定實(shí)施的設(shè)計(jì)標(biāo)準(zhǔn)。通常地,各個(gè)閃存通道實(shí)現(xiàn)兩個(gè)直通緩沖器。參照?qǐng)D8,示出了圖3的上下文管理器(CM)204的示例實(shí)施的示圖。上下文管理器(CM)204通常負(fù)責(zé)管理相應(yīng)的閃存通道控制器(FLC)正在有效地處理的上下文。CM204通常執(zhí)行有效上下文的簿記。如前所述,上下文是向系統(tǒng)緩沖器提供閃存介質(zhì)控制器(FMC)102執(zhí)行閃存交易和DMA所使用的所有信息的數(shù)據(jù)結(jié)構(gòu)。CM204管理FLC級(jí)別處的上下文,由此主要涉及與閃存交易有關(guān)的上下文管理。CM204保持閃存操作管理器(FOM)對(duì)閃存通道上的閃存裸片執(zhí)行命令和數(shù)據(jù)傳輸所用的信息。CM204通常被配置為(i)發(fā)起并執(zhí)行各自的閃存通道控制器上的操作的階段,(ii)保持相應(yīng)的閃存通道上的所有有效上下文的優(yōu)先級(jí)順序,(iii)保持相應(yīng)的閃存通道上的各上下文的狀態(tài),(iv)提供用于執(zhí)行交易的上下文的臨時(shí)片上存儲(chǔ)的最小量(或?qū)⒃摿孔钚』?(例如,通過上下文高速緩存224),(v)保持正在執(zhí)行的處理中的各上下文的緩沖器指針,(vi)通過使用上下文狀態(tài)機(jī)(CSM)222確定下一狀態(tài)的上下文以為各上下文提供代理,(vii)保持目前正在執(zhí)行的上下文的優(yōu)先級(jí)隊(duì)列(例如,上下文表220)中的最小的上下文信息。上下文隊(duì)列控制器226通常被配置為從上下文表220中移除已完成的上下文并且壓縮上下文表220,以消除間隙。上下文隊(duì)列控制器(CQC)226是對(duì)上下文表(CT)220執(zhí)行修改的邏輯塊。在一個(gè)示例中,CT220可以被實(shí)現(xiàn)為寄存器塊,其針對(duì)每個(gè)排隊(duì)上下文被組織成一個(gè)實(shí)體。CQC226是對(duì)按照優(yōu)先級(jí)隊(duì)列組織的表執(zhí)行操作的塊。CQC226通常啟動(dòng)和執(zhí)行上下文處理,并負(fù)責(zé)對(duì)上下文表上執(zhí)行處理。主要處理通常包括追加、等待、修改、配置和壓縮。處理由CQC226進(jìn)行發(fā)起和執(zhí)行。追加階段是FMC提取新上下文并將這些上下文的條目添加至上下文表220的階段。CQC226檢查閃存上下文的內(nèi)容以及由CPC202提供的上下文信息,并且基于內(nèi)容和上下文信息來(lái)追加和創(chuàng)建條目。在一個(gè)示例中、上下文表的條目可以包括表示上下文表的條目是否有效的位(或標(biāo)志)、表示上下文的狀態(tài)的值、表示上下文高速緩存索引的值、表示閃存操作值、表示閃存裸片的值、上下文指針、指示是否禁用數(shù)據(jù)傳輸?shù)奈?或標(biāo)志)以及表示平面地址的值。新條目通常以“有效”位設(shè)置(例如,為“I”)以及被設(shè)置為“QUEUED”的“上下文狀態(tài)”的值開始。如果閃存操作是非法的,初始狀態(tài)可以被設(shè)置為值“ILLEGAL”,并且該上下文條目會(huì)在處理階段被刪除。通常,通過CQC226所提供的上下文和信息來(lái)確定其他字段。新的條目通常都附加到壓縮的上下文表220的末尾。因此,CQC226通常知道220上下文表的深度。當(dāng)CQC226不再等待未完成的數(shù)據(jù)傳輸完成并且CQC226在給定的閃存操作周期內(nèi)已經(jīng)試圖進(jìn)行至少一次追加操作的時(shí)候,CQC226通常退出“追加”階段。當(dāng)上下文表220或上下文高速緩存224中不再有任何有效空間時(shí),CQC226還可以離開“追加”階段。上下文管理器204在全閃存操作周期之間可以或可以不被強(qiáng)制等待。上下文管理器204通常能夠強(qiáng)制(enforce)最低閃存操作時(shí)期(例如,通過閃存操作周期寄存器)。例如,在閃存里除了編程或擦除命令之后的輪詢以外基本上是閑置的情況下,這樣的最小周期是所期待的。在這種情況下,因?yàn)闆]有追加或配置,所以上下文階段需要很短的時(shí)間來(lái)執(zhí)行。因此,通道傾向于處于這樣的狀態(tài),其中,通道為忙碌的連續(xù)輪詢閃存裸片(continuouslypollingflashdie),從而在不應(yīng)該有能量消耗時(shí)在閃存接口上消耗能量。CQC226通常停留在等待階段,直到預(yù)定的時(shí)間已經(jīng)過期(例如,時(shí)間可在“閃存操作計(jì)時(shí)器”寄存器中指定)。當(dāng)預(yù)定的時(shí)間已過期時(shí),CQC226可以進(jìn)入“修改”階段。CQC發(fā)起的下一階段通常為“修改”階段。在修改階段,上下文表220基于由閃存操作管理器(FOM)執(zhí)行的閃存操作以及通過來(lái)自數(shù)據(jù)路徑傳輸?shù)慕Y(jié)果而被修改。更新通常涉及到上下文的狀態(tài)并因此通常通過上下文狀態(tài)機(jī)(CSM)222發(fā)起。當(dāng)狀態(tài)更新發(fā)生時(shí),CSM222發(fā)送更新狀態(tài)和上下文表索引至CQC226。然后,CQC226更新上下文表220中的條目。當(dāng)FOM結(jié)束其閃存接口處理周期時(shí),修改階段結(jié)束。FOM可通過發(fā)出一個(gè)信號(hào)(例如,F(xiàn)0M_CM_FLASH_PR0C_CMPLT)通知上下文管理器204閃存接口處理已完成。一旦修改階段完成,CQC226可以對(duì)上下文表220上的上下文執(zhí)行配置、壓縮和追加。在此期間,上下文表220對(duì)FOM是不可訪問的。CQC226可通過在特定的時(shí)鐘周期內(nèi)解除(de_assert)向FOM表示上下文表讀取條目和上下文高速緩存讀取數(shù)據(jù)有效的信號(hào)(例如,CM_F0M_CT_VALID)的方式,使上下文表220對(duì)FOM是不可訪問的。當(dāng)修改階段完成后,CPC202發(fā)起“配置”動(dòng)作。配置動(dòng)作將CQC226置入CQC226搜尋檢索已完成執(zhí)行的條目的上下文表220的模式。CQC226將條目是否已完成執(zhí)行的確定建立在上下文狀態(tài)上。在上下文處于“完成”狀態(tài)時(shí),上下文可由CQC226配置。在一個(gè)示例中,上下文可以處于這樣的狀態(tài),其中CQC226正在等待來(lái)自數(shù)據(jù)路徑的有關(guān)上下文完成狀態(tài)的通知。例如,在讀取操作的情況下,上下文可以處于DATA_TRANSFER_DONE狀態(tài)中,并等待ECC校驗(yàn)的結(jié)果。在這種情況下,CQC226可以臨時(shí)暫停配置處理并等待從數(shù)據(jù)路徑返回的狀態(tài)。在此期間,CQC226允許“追加”發(fā)生。然而,一旦等待狀態(tài)返回,上下文可由CQC226配置,并且消耗的上下文記錄可以轉(zhuǎn)發(fā)給CPC202(并最終到消耗上下文管理器(CCM)164)。當(dāng)CQC226配置了上下文,CQC226清除上下文表220相應(yīng)的條目的“有效”位。這個(gè)過程一直持續(xù)到CQC226已審閱了上下文表220中的每個(gè)上下文。當(dāng)CQC226到達(dá)上下文表220中的有效上下文的末尾時(shí),配置階段完成。已由CQC226配置的上下文清除各自的表?xiàng)l目中的“有效”位。在沒有一個(gè)機(jī)制來(lái)移動(dòng)該表以填滿空位(hole)的情況下,有效條目會(huì)在上下文表220中變得分散(或分段)。分散的上下文將使得上下文表難以掃描以及“追加”階段更為復(fù)雜。為了確保上下文表220保持其優(yōu)先級(jí)隊(duì)列的特征,上下文表220可以被壓縮。在壓縮過程中,當(dāng)CQC226配置了上下文,CQC226立即將被釋放的條目之后的所有條目上移一個(gè)位置。當(dāng)該處理完成后,所有有效條目都在優(yōu)先級(jí)順序列表的前面并且所有的空位被移除。與其他動(dòng)作的情況一樣,當(dāng)壓縮過程完成時(shí),CQC226維護(hù)“完成”信號(hào)(或位)。在最后壓縮階段結(jié)束之后,CQC226可以開始追加階段。CQC226通常知道處理器的控制模式。在處理器控制模式中,整個(gè)CM204暫停標(biāo)準(zhǔn)操作并且進(jìn)入這樣的模式,其中,F(xiàn)LC的操作本質(zhì)上被閃存操作管理器208中的納米序列器246執(zhí)行的“軟上下文”所驅(qū)動(dòng)。軟上下文具有與標(biāo)準(zhǔn)閃存上下文不同的尺寸。在一個(gè)示例中,軟上下文可以包括全部的十五個(gè)32位雙字,然而“閃存上下文”,即FLC執(zhí)行的全部介質(zhì)上下文的部分,通常僅包括四個(gè)32位雙字。通常,當(dāng)處理器控制模式(PCM)的“閃存操作”字段被設(shè)置為PR0CESS0R_C0NTR0L_MODE的上下文出現(xiàn)在上下文隊(duì)列的頂部時(shí),處理器控制模式(PCM)開始。通常,在上下文表220中,在PCM上下文后面應(yīng)當(dāng)沒有有效條目,因?yàn)橐坏〤QC226對(duì)PCM上下文排隊(duì),CQC226應(yīng)當(dāng)暫停標(biāo)準(zhǔn)上下文的檢索。當(dāng)PCM開始時(shí),CQC226可以經(jīng)由信號(hào)(例如CM_CPCPR0C_CNTL_M0DE)通知CPC202。響應(yīng)于該通知,CPC202可以取得在PCM上下文中的位置出現(xiàn)的“軟上下文”。從提供給FOM的角度來(lái)看,F(xiàn)OM通常不知道在上下文表220中存在PCM上下文,而PCM上下文是在上下文表220中的其他有效條目的后面。上下文表220中的PCM上下文條目將其“有效”位作為O提供給F0M,直到CM204為FOM做好開始執(zhí)行軟上下文的準(zhǔn)備。當(dāng)FOM開始讀取軟上下文時(shí),因?yàn)椴僮饔纱鎯?chǔ)軟上下文的上下文高速緩存224提供給FOM208,CQC226監(jiān)視(snoop)操作。當(dāng)操作涉及DMA上下文(例如預(yù)取數(shù)據(jù),設(shè)置讀取數(shù)據(jù)緩沖器,或配置上下文指針)時(shí),CQC226在上下文表220中指定(co-opt)上下文表中現(xiàn)在未使用的存儲(chǔ),并在上下文表中放置指針以用于跟蹤。在這些DMA上下文完成時(shí),F(xiàn)0M208通知上下文管理器204,其之后用標(biāo)準(zhǔn)方式配置上下文。CQC226在監(jiān)視的同時(shí),還尋找“取得下一軟上下文”操作。當(dāng)CQC226發(fā)現(xiàn)一個(gè)時(shí),CQC226保持至取得下一軟上下文的CPC202的信號(hào)(例如CM_CQCPCM_NEXT_CONTEXT)。在F0M208通知CM204軟上下文執(zhí)行已完成時(shí),F(xiàn)0M208在“F0M/CM”命令接口上通知CM204。然后,CQC226解除到CPC的信號(hào)(例如CM_CPCPR0C_CNTL_M0DE),然后,標(biāo)準(zhǔn)操作繼續(xù)。在一個(gè)示例中,CM_CPCPR0C_CNTL_M0DE可以被保持為表示CM204已經(jīng)進(jìn)入處理器控制模式并且現(xiàn)在準(zhǔn)備好接收軟上下文的信號(hào)的級(jí)別。CQC226的另一重要功能為監(jiān)控超時(shí)情況。在一個(gè)示例中,CQC226可以包括計(jì)數(shù)器,其被配置為對(duì)系統(tǒng)時(shí)鐘(SYS_CLK)周期的數(shù)量進(jìn)行計(jì)數(shù),使得同樣的上下文表的條目位于上下文表220的頂部(B卩,在條目O)。如果計(jì)數(shù)值達(dá)到一個(gè)可編程“超時(shí)”計(jì)數(shù)器的值,上下文表220頂端的條目可以被認(rèn)為已經(jīng)超時(shí)。當(dāng)條目被認(rèn)為已經(jīng)超時(shí)時(shí),條目可以從上下文表220中移除,上下文指針返回到消耗上下文接口上的上下文處理協(xié)調(diào)器(CPC)202。上下文的返回狀態(tài)是兩個(gè)可能的“超時(shí)”狀態(tài)之一。在第一種情況中,超時(shí)會(huì)可能起因于這樣的情形,其中,閃存通道上的另一裸片忙碌并且正在降低R/B線。在這種情況下,狀態(tài)表示超時(shí)可能是起因于另一裸片的超時(shí)。在第二種情況中,上下文的裸片被視為事故原因(culprit)。在這里,可以返回表示裸片是事故原因的不同狀態(tài)。上下文表220本質(zhì)上為條目的存儲(chǔ)介質(zhì)。上下文表的深度是參數(shù)化的。例如,在能支持每通道十六個(gè)裸片)的芯片的情況下,可以實(shí)現(xiàn)十六個(gè)條目。如果每個(gè)裸片(die)可以管理一個(gè)以上的操作,增加深度可以是有利的。上下文表220有最小函數(shù)(minimalfunction).CQC226對(duì)上下文表220實(shí)現(xiàn)大部分更深入的處理。然而,可以通過多重讀取接口以及各個(gè)讀取接口的復(fù)用邏輯來(lái)實(shí)施上下文表220。在一個(gè)示例中,針對(duì)讀取訪問能力,可以通過F0M208的接口以及到上下文狀態(tài)機(jī)(CSM)222的接口來(lái)實(shí)施上下文表220。上下文表220也可以具有到CQC226的讀取接口。上下文表220也可以被處理器訪問。上下文表220還具有用于表的壓縮階段的“移動(dòng)(shift)”能力。除此之外,CQC226可以使用簡(jiǎn)單的寫入接口來(lái)更新上下文表220。在一個(gè)示例中,上下文表220可以在觸發(fā)器(flip-flop)中實(shí)施。當(dāng)上下文表220在觸發(fā)器中實(shí)施時(shí),不需要讀取訪問所需的仲裁。如果上下文表220的規(guī)模增加到超過大約1000個(gè)觸發(fā)器,上下文表220可以在寄存器堆或SRAM中實(shí)現(xiàn),但還應(yīng)當(dāng)實(shí)現(xiàn)額外的管理和訪問仲裁。上下文高速緩存224是類似于上下文表220的另一上下文數(shù)據(jù)存儲(chǔ)元件。上下文高速緩存224通常包括參數(shù)化的條目數(shù)。在一個(gè)示例中,條目的數(shù)量可以為八個(gè)。然而,可以實(shí)現(xiàn)其他數(shù)量的條目以達(dá)到特定實(shí)施方式的設(shè)計(jì)標(biāo)準(zhǔn)。例如,條目的數(shù)量可以被設(shè)置為比實(shí)際上是全流水線操作所需的數(shù)量多一個(gè)或兩個(gè)。數(shù)量通常應(yīng)當(dāng)被設(shè)置得足夠大,以允許在處理器控制模式中用于全“軟上下文”的足夠空間。如上所述,一個(gè)完全的上下文可以包括十五個(gè)32位雙字。全部介質(zhì)上下文的子集稱為“閃存上下文”。閃存上下文通常是全部介質(zhì)上下文的前四個(gè)雙字(或DWORD/雙字)。閃存上下文的四個(gè)雙字通常包含由FLC用來(lái)執(zhí)行由固件指定的完整操作的所有信息。在標(biāo)準(zhǔn)操作(例如,當(dāng)FLC不處于處理器控制模式)中,只有閃存上下文的前兩個(gè)雙字存儲(chǔ)在上下文高速緩存224。閃存上下文的其余部分一般存儲(chǔ)在上下文表220中。上下文高速緩存224通常保持各個(gè)條目上的狀態(tài)。在一個(gè)示例中,狀態(tài)可以包括表示條目是空閑(FREE)還是已用(USED)的位。在一個(gè)示例中,可以在上下文高速緩存224中實(shí)現(xiàn)8個(gè)這樣的位。當(dāng)閃存上下文被寫入到上下文高速緩存224的位置時(shí),位置的狀態(tài)變?yōu)閁SED。當(dāng)CQC226在狀態(tài)變換時(shí)接收到使位置清空的信息時(shí),位置狀態(tài)返回到FREE。在標(biāo)準(zhǔn)操作期間,上下文高速緩存224基于狀態(tài)位通知CQC226上下文高速緩存224具有空閑條目的空間。如果存在空閑的位置,CQC226可自由地從CPC202請(qǐng)求上下文。在CPC202取得新的閃存上下文時(shí),CPC202將閃存上下文作為一串(aburst)32位雙字?jǐn)?shù)據(jù)提供給上下文高速緩存數(shù)據(jù)224。當(dāng)數(shù)據(jù)有效時(shí),可以保持信號(hào)(例如CPCCM_ENQ_CTX_VALID)。上下文高速緩存224將數(shù)據(jù)寫入空閑的位置。上下文高速緩存224預(yù)期CPC202將僅寫入一個(gè)閃存上下文。在上下文表220頂端處的條目被表示為PR0CESS0R_C0NTR0L_M0DE操作的處理器控制模式中,上下文高速緩存224應(yīng)當(dāng)是完全空閑的。在處理器控制模式中,上下文高速緩存224應(yīng)當(dāng)預(yù)期從CPC202接收軟上下文。上下文高速緩存224也可以預(yù)期軟上下文包括15個(gè)雙字。實(shí)質(zhì)上,上下文高速緩存224用作從屬,接收由CPC202提供的任何數(shù)據(jù)。CPC202負(fù)責(zé)將適量數(shù)據(jù)寫入上下文高速緩存224。上下文高速緩存224對(duì)F0M208是可訪問的,其在對(duì)閃存單元實(shí)現(xiàn)實(shí)際的命令時(shí)使用全部的閃存上下文信息。F0M208向32位雙字提供地址,并且上下文高速緩存224在后續(xù)時(shí)鐘周期響應(yīng)請(qǐng)求的雙字。在處理器控制模式期間,來(lái)自上下文高速緩存224的讀取響應(yīng)被可以基于操作的內(nèi)容實(shí)現(xiàn)行動(dòng)的上下文隊(duì)列控制器(CQC)226監(jiān)控。正如上下文表220,上下文高速緩存224也可以通過處理機(jī)接口訪問。通常,上下文狀態(tài)機(jī)(CSM)222被配置為,基于條目的當(dāng)前狀態(tài)以及或者由F0M208執(zhí)行的操作或者數(shù)據(jù)路徑操作狀態(tài)而確定上下文表220中的各上下文的執(zhí)行狀態(tài)。在修改階段中,每當(dāng)F0M208應(yīng)用命令或返回結(jié)果,CSM222被CQC226所調(diào)用。FOM命令通知接口和FOM上下文表讀取接口的內(nèi)容一般提供了CSM222確定下一狀態(tài)的所需所有信息。在處置階段中,當(dāng)CQC226掃描上下文表220并且遇到處于上下文表?xiàng)l目為等待動(dòng)作(action)的狀態(tài)的上下文表?xiàng)l目時(shí),CQC226調(diào)用CSM222(例如,TRANSFER_DATA狀態(tài)或PREFETCH_DATA狀態(tài))。當(dāng)遇到TRANSFER_DATA狀態(tài)或PREFETCH_DATA狀態(tài)時(shí),CQC226根據(jù)數(shù)據(jù)傳輸狀況等待來(lái)自數(shù)據(jù)路徑(例如,DM、DDM、或者DTP)的信息。無(wú)論哪種方式,通常調(diào)用CSM222以對(duì)所關(guān)注的(inquestion)的上下文表?xiàng)l目確定下一狀態(tài)。當(dāng)上下文表?xiàng)l目移動(dòng)至完成狀態(tài)時(shí)(例如,COMPLETED或COMPLETEDWITHERROR(完成或帶錯(cuò)完成)),CSM的222還負(fù)責(zé)通知裸片管理模塊206。參照?qǐng)D9,圖9示出了圖6的閃存操作管理器(FOM)塊208的示例實(shí)施的結(jié)構(gòu)圖。在一個(gè)示例中,塊208可以實(shí)施5個(gè)子模塊。例如,塊208可以包括塊(或電路)240、塊(或電路)242、塊(或電路)244、塊(或電路)246、塊(或電路)248。電路240到電路248可以表示為實(shí)施為硬件、固件、軟件、硬件,固件和/或軟件的組合,或其他的實(shí)施的模塊和/或塊。在一個(gè)示例中,塊240可以實(shí)施為命令仲裁器(CA)。在一個(gè)示例中,塊242可以實(shí)施為數(shù)據(jù)傳輸仲裁器(DTA)。在一個(gè)不例中,塊244可以實(shí)施為閃存操作格式化器(F0F)。在一個(gè)不例中,塊246可以實(shí)施為納米序列器(nano-sequencer)。在一個(gè)示例中,塊248可以實(shí)施為控制狀態(tài)機(jī)(FOMCSM)。數(shù)據(jù)傳輸仲裁器242—般連接閃存操作管理器208至數(shù)據(jù)流管理器214。閃存操作格式化器244通常將閃存操作管理器208耦接至閃存總線控制器212??刂茽顟B(tài)機(jī)248通常將閃存操作管理器208耦接至上下文管理器204。命令仲裁器240通常連接在閃存操作格式化器(FOM)244和控制狀態(tài)機(jī)248之間。數(shù)據(jù)傳輸仲裁器242通常耦接在閃存操作格式化器244和控制狀態(tài)機(jī)248之間。納米序列器246—般耦接在閃存操作格式化器244和控制狀態(tài)機(jī)248之間。命令仲裁器240—般掃描上下文管理器中的上下文表以得到要應(yīng)用的命令,然后與閃存操作格式化器(FOF)244通信以發(fā)送信號(hào)至閃存總線控制器(FBC)212。參考圖10,示出了圖解根據(jù)本發(fā)明實(shí)施方式的示例閃存介質(zhì)上下文布局300的示圖。各個(gè)閃存交易通常由上下文表示。上下文是包括系統(tǒng)硬件執(zhí)行與閃存庫(kù)(flashbank)的交易和/或?qū)⒁苿?dòng)數(shù)據(jù)到系統(tǒng)緩沖器中的位置或從中移動(dòng)該數(shù)據(jù)所使用的所有信息的數(shù)據(jù)結(jié)構(gòu)。上下文通常由固件構(gòu)建,并被作為到上下文內(nèi)容實(shí)際所處的緩沖控制器(BC)里的指針而提供給閃存通道控制器(FLC)。固件可以選擇構(gòu)建這些上下文的鏈接列表(例如上下文列表)從而允許更大的閃存操作的硬件自動(dòng)化。各個(gè)被管理的閃存單元(例如裸片、LUN等)通常有一個(gè)上下文列表。通常,在普通操作期間,全部上下文只有一部分被FLC用于執(zhí)行閃存交易。因此,只有被FLC所使用的部分存儲(chǔ)在FLC的上下文高速緩存中。在正常操作期間均被存儲(chǔ)在FLC的上下文高速緩存中的所有上下文的一部分通常被稱為“閃存上下文”。正如可以從閃存介質(zhì)上下文布局300中可以看到的,在一個(gè)示例中,閃存上下文可以僅包括全部十五個(gè)雙字上下文的前四個(gè)雙字。在一個(gè)示例中,根據(jù)本發(fā)明實(shí)施方式實(shí)現(xiàn)的上下文可以包括下列內(nèi)容和/或字段閃存操作字段、閃存行地址字段、塊描述指針/回拷(copyback)行地址字段、構(gòu)成位字段、下一上下文指針字段、DMA跳過(skip)掩碼字段、數(shù)據(jù)緩沖器指針字段、備用(alternate)數(shù)據(jù)緩沖器指針字段、邏輯塊地址(LBA)字段、狀態(tài)字段、閃存單元號(hào)(FUN)字段、可以包括元數(shù)據(jù)或構(gòu)成數(shù)據(jù)指針、元數(shù)據(jù)、和/或閃存構(gòu)成數(shù)據(jù)的字段、可以包括元數(shù)據(jù)或者閃存構(gòu)成數(shù)據(jù)的字段、如果使用64位LBA模式字段則可以包括元數(shù)據(jù)或邏輯塊地址(LBA)的上部的字段、可以包括上下文的錯(cuò)誤校正編碼技術(shù)(ECC)的字段。閃存操作字段可以包括操作碼。在一個(gè)示例中,操作碼可以包括八個(gè)位。操作碼可以由固件產(chǎn)生,以向硬件傳遞要執(zhí)行的操作。通常,操作涉及對(duì)閃存行列的至少一次訪問。固件可用的基本操作碼可以包括表示下列操作的值,包括例如RESET、SYNCHR0N0US_RESET、READ_ID、READ_PARAMETER_PAGE、GET_FEATURES、SET_FEATURES、READ_PAGE、PR0GRAM_PAGE、ERASE_BL0CK、C0PYBACK_READ/PR0GRAM、READ_STATUS、READ_STATUS_ENHANCED、PROCESSOR—OTNTR0L_MODE、MUILTPLANEPROGRAMPAGE以及MUILTPLANEPROGRAMPAGEEND。閃存行地址字段可以包括閃存存儲(chǔ)器中的訪問的頁(yè)的行地址。在一個(gè)示例中,閃存行地址字段可以包括與頁(yè)面地址串接的塊地址。閃存行地址可以在三(3)個(gè)行地址操作周期期間提供給閃存陣列。對(duì)于清除操作,僅提供閃存存儲(chǔ)器中的訪問的塊地址。對(duì)于僅使用一個(gè)字節(jié)地址的READ_ID操作,在一個(gè)示例中,字節(jié)可以被放入閃存行地址的最左邊的字節(jié)(MSB)。在閃存操作為PR0CESS0R_C0NTR0L_M0DE時(shí),閃存行地址字段也可以用作軟上下文指針。在遇到處理器控制模式操作時(shí),F(xiàn)LC可以使用閃存行地址字段的值作為軟上下文的系統(tǒng)緩沖器地址。在將數(shù)據(jù)移至系統(tǒng)緩沖器的位時(shí),DMA跳過掩碼字段可以基于位的狀態(tài)(例如‘I’或‘0’)而允許轉(zhuǎn)發(fā)或者跳過頁(yè)扇區(qū)(分區(qū))。在一個(gè)示例中,DMA跳過掩碼字段可以被實(shí)現(xiàn)為低有效(activelow)跳過掩碼或轉(zhuǎn)發(fā)掩碼(例如‘I’表示發(fā)送而‘0’表示跳過相應(yīng)頁(yè))。DMA跳過掩碼字段可以主要用于讀取/修改/寫入(RMW)操作,這對(duì)少量扇區(qū)的交易而言是共同的。例如,在8K的頁(yè)器件上,頁(yè)通常被分成十六(16)個(gè)扇區(qū)。在DMA跳過掩碼字段的特定位為I時(shí),在一個(gè)示例中,相應(yīng)的扇區(qū)可以被寫入系統(tǒng)緩沖器或從中讀出。在該位為O時(shí),相應(yīng)的扇區(qū)可以從被寫入系統(tǒng)緩沖器中或從系統(tǒng)緩沖器讀出中省略。在一個(gè)示例中,也可以存在允許數(shù)據(jù)從兩個(gè)分離的源寫入的模式包含未修改的頁(yè)數(shù)據(jù)的緩沖器塊,以及包括修改的頁(yè)數(shù)據(jù)緩沖器塊。對(duì)于這些情況,狀態(tài)(例如‘0’)可以用于表示扇區(qū)從包含更新的頁(yè)數(shù)據(jù)的塊而寫入,其他狀態(tài)(例如‘I’)用于表示扇區(qū)從包含未修改的頁(yè)數(shù)據(jù)的塊而寫入。位的位置也可以是有意義(significant)的。例如,最高有效位(MSB)通常對(duì)應(yīng)于扇區(qū)中的第一頁(yè)或最小數(shù)量的頁(yè)的位。最低有效位(LSB)通常是對(duì)應(yīng)于扇區(qū)的最大數(shù)量的頁(yè)的位。如果在頁(yè)中存在小于16個(gè)的分區(qū),最低有效位可以被視為是可忽略的。然而,可以實(shí)現(xiàn)其他數(shù)量的條目以達(dá)到特定實(shí)施方式的設(shè)計(jì)標(biāo)準(zhǔn)。在一個(gè)示例中,在實(shí)現(xiàn)博斯喬赫里霍克文黑姆(bose_chaudhuri_hocquenghem)錯(cuò)誤校正碼(ECC)時(shí),掩碼粒度可以是一(I)個(gè)信息字。下一上下文指針字段可以指向包括由固件構(gòu)建的上下文列表(例如上下文的鏈接列表)中的下一上下文的指針。如果“下一上下文指針”等于被固件編程到FLC里的“列表末尾指針”,硬件可以假定檢索已到達(dá)末尾。硬件在繼續(xù)遍歷鏈接列表之前可以等待“列表末尾指針”值的改變。也可以定義“空指針”值,其將停止硬件的表檢索。在一個(gè)示例中,塊描述指針(chunkdescriptorpointer)/回拷行地址字段,通常對(duì)于回拷命令將要回寫入的緩存數(shù)據(jù)提供閃存存儲(chǔ)器頁(yè)的行地址。行地址為塊地址和頁(yè)面地址的串接。在另外的示例中,回拷閃存行地址字段與非回拷上下文的未使用的字段共享。例如,塊描述符指針/回拷行地址字段可以用來(lái)提供緩沖器分配管理器(BAM)的輔助字段。BAM輔助字段可以包括由緩沖器分配管理器(BAM)管理的數(shù)據(jù)緩沖器中的數(shù)據(jù)塊的描述符的指針。塊描述符字段可以用于緩存管理。塊描述符可以包括緩沖器管理中所用的塊地址(例如在系統(tǒng)緩沖器中)、有效位、臟(dirty)位、傳輸暫停計(jì)數(shù)、狀態(tài)、LBA和指針。在DMA已經(jīng)完成之后,塊描述符指針通常被閃存介質(zhì)控制器(FMC)中的DMA管理器傳送至BAM。塊描述符指針也可以被傳送到BAM,以便如果標(biāo)志位(例如BAM查找所需要的位)被設(shè)置則獲得緩沖器數(shù)據(jù)指針以開始DMA。塊描述符指針/BAM輔助字段也可以被固件設(shè)置為通用BAM輔助字段,并且內(nèi)容可以由固件根據(jù)BAM序列器具體編程而確定。通常,塊描述符指針/BAM輔助字段對(duì)硬件是完全顯而易見的。數(shù)據(jù)緩沖器指針字段通常提供指向?qū)⒁獜木彌_控制器傳送到閃存介質(zhì)或者從閃存介質(zhì)傳送到緩沖控制器的實(shí)際數(shù)據(jù)的指針。在上下文起初被取得時(shí),數(shù)據(jù)緩沖器指針字段存在于上下文中,或者如果設(shè)置BAM查找所需要的位,數(shù)據(jù)緩沖器指針字段可以被BAM通過BAM查找而填入(populate)。數(shù)據(jù)緩沖器指針字段通常提供塊中的第一個(gè)字節(jié)的地址,而不一定為第一個(gè)有效LBA。備用數(shù)據(jù)緩沖器指針字段也是從緩沖控制器傳送到閃存介質(zhì)或者從閃存介質(zhì)傳送到緩沖控制器的數(shù)據(jù)的指針。在操作使用進(jìn)/出緩沖器的多源或多目的地時(shí),使用備用數(shù)據(jù)緩沖器指針字段。備用數(shù)據(jù)緩沖器指針主要可以用于讀取/修改/寫入(RMW)操作。在主機(jī)(host)執(zhí)行小于整個(gè)頁(yè)的操作時(shí),主機(jī)進(jìn)行RMW操作以更新頁(yè)。備用數(shù)據(jù)緩沖器指針可以用于讀取操作,以便將舊的頁(yè)數(shù)據(jù)存儲(chǔ)在一個(gè)臨時(shí)塊中。然后,在實(shí)施寫入操作時(shí),跳過掩碼可以用于從包括未修改的頁(yè)數(shù)據(jù)的介質(zhì)塊或包括要被更新的數(shù)據(jù)的主機(jī)塊中選擇扇區(qū)(或分區(qū))的寫入源。元數(shù)據(jù)字段通常包括與閃存頁(yè)有關(guān)的元數(shù)據(jù)(例如,諸如LBA、順序編號(hào)、壞塊指示符等)。通常可以預(yù)期所有的元數(shù)據(jù)會(huì)容納在上下文中。否則,一個(gè)元數(shù)據(jù)緩沖器指針可以包含在上下文中以代替元數(shù)據(jù),從而元數(shù)據(jù)可以存儲(chǔ)在系統(tǒng)緩沖器中或從系統(tǒng)緩沖器中檢索。對(duì)于寫入,元數(shù)據(jù)字段通常被固件填入并且被硬件插入到頁(yè)中。對(duì)于讀取,對(duì)于固件來(lái)說(shuō),通常期望請(qǐng)求讀取頁(yè)中的元數(shù)據(jù)的內(nèi)容。對(duì)于這些情況,上下文可以被配置為從頁(yè)中讀取元數(shù)據(jù)到上下文中。在一個(gè)示例中,可以由元數(shù)據(jù)大小寄存器確定以字節(jié)表示的元數(shù)據(jù)的大小。閃存配置數(shù)據(jù)字段通常與元數(shù)據(jù)字段共享字節(jié)位置,并通常用于傳輸有限數(shù)量字節(jié)的操作(例如READ_ID、GET_FEATURES、SET_FEATURES、READ_STATUS等)。由于與這樣的傳輸有關(guān)的字節(jié)數(shù)通常較小(例如SET_FEATURES和GET_FEATURES可以使用4個(gè)字節(jié);READ_ID通常使用5個(gè)字節(jié);READ_STATUS可以僅使用I個(gè)字節(jié)),數(shù)據(jù)僅在上下文中而不是在一個(gè)獨(dú)立的緩沖器位置中傳輸。如果與這樣的傳輸有關(guān)的數(shù)據(jù)超出在上下文中分配的空間,可以使用閃存配置數(shù)據(jù)指針字段?!癎ET_FEATURES和SET_FEATURES”命令往往假定使用4個(gè)字節(jié)。在一個(gè)示例中,從READ_ID命令寄存器的讀取字節(jié)的數(shù)量中可以獲得READ_ID命令所需的字節(jié)的數(shù)量。在閃存配置數(shù)據(jù)字段用于配置數(shù)據(jù)時(shí),所有的7個(gè)雙字均被硬件更新,并且固件僅需要讀取適當(dāng)?shù)淖止?jié)。元數(shù)據(jù)緩沖器指針字段包括頁(yè)元數(shù)據(jù)(例如包含在閃存頁(yè)的用戶數(shù)據(jù)中的管理數(shù)據(jù))的位置的地址。因?yàn)樵谠S多應(yīng)用中所有的元數(shù)據(jù)可以存儲(chǔ)在上下文自身中是預(yù)期的,元數(shù)據(jù)緩沖器指針字段可以省略。在要從外部的系統(tǒng)緩沖器中檢索元數(shù)據(jù)時(shí),可以使用元數(shù)據(jù)緩沖器指針字段。通常只有元數(shù)據(jù)被儲(chǔ)存在外部并且不在上下文中,才使用元數(shù)據(jù)緩沖器指針字段。在一個(gè)示例中,可以實(shí)現(xiàn)配置位,以指定元數(shù)據(jù)是儲(chǔ)存在外部還是儲(chǔ)存在上下文之內(nèi)。在一個(gè)示例中,外部系統(tǒng)緩沖器可以被實(shí)現(xiàn)為包括閃存介質(zhì)控制器(FMC)的芯片的外部的存儲(chǔ)器(例如DDRRAM)。在又一示例中,外部的系統(tǒng)緩沖器可以被實(shí)現(xiàn)為FMCIP的外部的片上RAM。在另一示例中,外部的系統(tǒng)緩沖器可以包括FMCIP內(nèi)的存儲(chǔ)器。通常,外部的系統(tǒng)緩沖器可以為上下文的外部的任何存儲(chǔ)。閃存配置數(shù)據(jù)指針字段通常提供取得的或需要被寫入一個(gè)閃存單元的構(gòu)成數(shù)據(jù)的位置地址。由于元數(shù)據(jù)被分配給上下文字段以用于數(shù)據(jù)交易,所以與READ_ID、GET_FEATURES和SET_FEATURES命令有關(guān)的閃存配置數(shù)據(jù)可以被存儲(chǔ)在上下文中。然而,就像元數(shù)據(jù)的情況那樣,如果數(shù)據(jù)大小超過上下文中為閃存配置數(shù)據(jù)所分配的空間,系統(tǒng)緩沖器的數(shù)據(jù)的指針可以被用于訪問。邏輯塊地址(LBA)字段通常提供頁(yè)中的第一個(gè)數(shù)據(jù)分區(qū)的LBA。針對(duì)系統(tǒng)緩沖器和閃存的各個(gè)扇區(qū),LBA通常被編碼到數(shù)據(jù)保護(hù)。由于頁(yè)為連續(xù)的LBA組,只有該組中的第一個(gè)LBA用作上下文的一部分。LBA可以用于為扇區(qū)頁(yè)的緩沖器CRC做種(seed)。針對(duì)元數(shù)據(jù)的LBA部分,LBA也可以有選擇地進(jìn)行校驗(yàn)。例如,可以實(shí)現(xiàn)配置位以選擇是否相對(duì)于元數(shù)據(jù)的LBA部分來(lái)校驗(yàn)LBA。例如,在配置位被設(shè)置時(shí),LBA可以對(duì)元數(shù)據(jù)的LBA部分進(jìn)行校驗(yàn)。在一個(gè)示例中,只有低32位可以用于做種。閃存單元號(hào)(FUN)字段可以由固件用作用于確定哪個(gè)閃存單元將應(yīng)用上下文的標(biāo)識(shí)符。該確定對(duì)硬件而言是清楚的。閃存單元號(hào)字段被固件單獨(dú)地用于管理目的,使得在上下文已經(jīng)被硬件消耗之后,一旦標(biāo)識(shí)符被提供回固件,固件可以協(xié)調(diào)上下文。構(gòu)成位字段通常包括用于構(gòu)成上下文并以硬件流中的各種點(diǎn)確定上下文(以及上下文表示的傳輸)的處理的所有位。在一個(gè)示例中,上下文配置位字段中的可用的上下文位和字段可以包括但不限于以下消耗上下文管理器中斷啟用;部分命令啟用位,使用閃存接口上的部分命令功能啟用/禁用執(zhí)行DMA跳過掩碼;禁用對(duì)系統(tǒng)緩沖器的DMA;禁用任何從或到FLC本地緩沖器的數(shù)據(jù)傳輸;擾碼器功能啟用,啟用/禁用擾碼器功能;ECC錯(cuò)誤檢測(cè)中斷啟用;ECC宏旁路,啟用/禁用讀取數(shù)據(jù)的解碼或附加奇偶性至寫入數(shù)據(jù);緩沖器CRC啟用;忽略元數(shù)據(jù)信號(hào)(位),使元數(shù)據(jù)在讀取時(shí)不被轉(zhuǎn)發(fā)到系統(tǒng)數(shù)據(jù)緩沖器、系統(tǒng)緩沖器或上下文,并在寫入時(shí)防止從任何源插入元數(shù)據(jù)(例如,葉子元數(shù)據(jù)字段空白);信號(hào)(位),使用于DMA的用戶數(shù)據(jù)保持元數(shù)據(jù)(例如,在讀取時(shí)轉(zhuǎn)發(fā)元數(shù)據(jù)到數(shù)據(jù)緩沖器,以及在寫入時(shí)從數(shù)據(jù)緩沖器接收元數(shù)據(jù));信號(hào)(位),指示是否要將元數(shù)據(jù)中的“開始LBA”字段與上下文中的開始LBA字段相校驗(yàn);信號(hào)(位),指示是否在緩沖器中保持ECC奇偶校驗(yàn)字段(例如,在讀取時(shí)將ECC奇偶校驗(yàn)字節(jié)傳輸?shù)较到y(tǒng)緩沖器,以及在寫入時(shí)將ECC從系統(tǒng)緩沖器傳輸?shù)介W存);信號(hào)(位),指示是否使用平面緩沖器(例如,數(shù)據(jù)傳輸進(jìn)/出非托管存儲(chǔ)器區(qū)域)而不是托管數(shù)據(jù)緩沖器(例如,可用于確定在量子突發(fā)中傳輸多少數(shù)據(jù)到系統(tǒng)緩沖器);信號(hào)(位),指示是否使用用戶數(shù)據(jù)扇區(qū)長(zhǎng)度配置以確定扇區(qū)的數(shù)據(jù)長(zhǎng)度(例如,如果該位是被清除的,扇區(qū)的數(shù)據(jù)長(zhǎng)度可以根據(jù)保留區(qū)域扇區(qū)長(zhǎng)度配置而確定);信號(hào)(位),指示是否傳輸閃存配置數(shù)據(jù)(例如,將閃存數(shù)據(jù)讀取入到上下文中,或?qū)懭雭?lái)自上下文的閃存數(shù)據(jù));信號(hào)(位)指示是否傳輸全部(full)原始閃存頁(yè)面到系統(tǒng)緩沖器或從中傳輸全部(full)原始閃存頁(yè)面;信號(hào)(位)指示是否使用備用緩沖器跳過掩碼(例如,使跳躍掩碼用于標(biāo)識(shí)(mark)將被傳輸進(jìn)/出被備用數(shù)據(jù)緩沖器的指針?biāo)赶虻木彌_器塊的扇區(qū)(分區(qū)),而不是省略扇區(qū)的傳輸;在啟用擾亂器時(shí)為各個(gè)分區(qū)定義擾亂器種子的字段。指示是否傳輸一個(gè)全部原始閃存頁(yè)面到或從系統(tǒng)緩沖器的信號(hào),其實(shí)質(zhì)上與大多數(shù)其他選項(xiàng)是互斥的。指示是否傳輸一個(gè)完整的原始閃存頁(yè)面到或從系統(tǒng)緩沖器的信號(hào)通常超越于(overide)于其他位的設(shè)置。通常傳輸一個(gè)完整的原始閃存頁(yè)到或從系統(tǒng)緩沖器的特征使固件掌握(getat)不屬于任何分區(qū)的頁(yè)的未使用區(qū)域。傳輸閃存配置數(shù)據(jù)信號(hào)可用于諸如ops、READID命令,GETFEATURES,以及SETFEATURE。數(shù)據(jù)的大小,可由配置數(shù)據(jù)長(zhǎng)度寄存器確定。數(shù)據(jù)將出現(xiàn)在元數(shù)據(jù)中通常由上下文占據(jù)的位置。狀態(tài)字段通常包括可用于向固件返回狀態(tài)的位。在一個(gè)示例中,在狀態(tài)字段可以包含編程/擦除操作所用的通過(pass)/失敗(faiI)狀態(tài)。在另一示例中,狀態(tài)字段還可以包含讀取操作中ECC邏輯檢測(cè)到的錯(cuò)誤數(shù)量。然而,可以實(shí)現(xiàn)該字段的其他用途,以滿足特定實(shí)現(xiàn)的設(shè)計(jì)標(biāo)準(zhǔn)。在一個(gè)示例中,狀態(tài)字段可配置為表示閃存頁(yè)面中的錯(cuò)誤數(shù)量和用于上下文的管理器的完成代碼(例如、清除(clean)、編程/擦除錯(cuò)誤、校正的讀取錯(cuò)誤、無(wú)法校正的讀取錯(cuò)誤、從系統(tǒng)緩沖器中的預(yù)取(prefetch)上的緩沖器CRC錯(cuò)誤、操作超時(shí)、LBA/元數(shù)據(jù)不匹配、非法操作等)。如上所述,上下文是確定了命令執(zhí)行的數(shù)據(jù)結(jié)構(gòu)。上下文為固件和硬件之間的通信單元。參考圖2和圖3,一般的上下文流可以總結(jié)如下。固件與150內(nèi)存指針一起寫入FMC102的處理器接口邏輯(PIL)的上下文結(jié)構(gòu)緩沖器(CCB)中的上下文。多個(gè)上下文可以通過使用上下文結(jié)構(gòu)中的下一指針字段而由上下文中的固件鏈接。硬件通過上下文更新端口(CUP)168來(lái)執(zhí)行到內(nèi)存指針相關(guān)聯(lián)的位置的上下文的存儲(chǔ)器寫入。例如,固件可以通過各自的閃存通道控制器(FLC)156a至156η中的裸片管理模塊(DMM)206中的裸片管理寄存器來(lái)啟用特定的裸片的執(zhí)行??梢詾楦鱾€(gè)裸片提供一套獨(dú)立的管理裸片寄存器。DMM206將寄存器中的信息發(fā)送(communicate)至各自的閃存通道控制器(FLC)156a至156η中的上下文管理器(CM)204。CM204可以通過上下文檢索端口(CRP)166從內(nèi)存中提取啟用上下文,并且調(diào)度對(duì)各自的閃存通道總線上的命令的執(zhí)行。CM204通常調(diào)度命令并且指示用于面向數(shù)據(jù)操作的數(shù)據(jù)DMA管理器(DDM)塊152。DDM塊152通常從存儲(chǔ)器中提取上下文以通過CRP166從上下文中提取數(shù)據(jù)參數(shù)。在由DDM152和CM204進(jìn)行的上下文成功地完成以后,狀態(tài)被更新到消耗上下文管理器(CCM)164。在完成后,可由硬件產(chǎn)生中斷并且固件可以讀取出給定上下文下的完成狀態(tài)。包括塊172a至172η和塊174Α至174η的數(shù)據(jù)DMA接口端口(DDIP)通常負(fù)責(zé)DTP158a至158η、系統(tǒng)緩沖控制器和相關(guān)上下文之間的實(shí)時(shí)數(shù)據(jù)路由。各個(gè)數(shù)據(jù)傳輸可包括一個(gè)或多個(gè)分區(qū)。各個(gè)分區(qū)可以包括一個(gè)或多個(gè)區(qū)域。實(shí)際格式來(lái)自FMC(例如,使用寄存器)以及來(lái)自相關(guān)上下文的配置設(shè)置而確定。設(shè)置可按各傳輸、各分區(qū)以及各區(qū)域基礎(chǔ)進(jìn)行分類。路由可根據(jù)數(shù)據(jù)傳輸格式的區(qū)域類型以及其他配置而確定。路由通常包括合并和分片(paddingandstripping)功能。各個(gè)數(shù)據(jù)傳輸涉及的所有上下文的雙字。因此,DDM152發(fā)起上下文對(duì)DDIP的訪問,其中DDIP在實(shí)際數(shù)據(jù)移動(dòng)之前,將所有上下文雙字讀取入其自己的上下文高速緩存區(qū)域。一旦檢索到相關(guān)上下文,DDIP以適當(dāng)?shù)呐渲迷O(shè)置來(lái)編程其內(nèi)部控制邏輯,并提供一些配置信息至相應(yīng)的DTP158a到DTP158η。然后DDIP跟蹤各個(gè)分區(qū)內(nèi)的各個(gè)區(qū)域,并且建立用于適當(dāng)路由的邏輯。在實(shí)際數(shù)據(jù)傳輸中,如果數(shù)據(jù)被重定向到上下文,則DDIP會(huì)切換上下文訪問至寫入模式。當(dāng)傳輸完成后,DDIP會(huì)通知DDM152傳輸和上下文訪問都已完成。DDIP可以執(zhí)行錯(cuò)誤校驗(yàn)。例如,DDIP可配置為執(zhí)行系統(tǒng)緩沖器CRC校驗(yàn)和/或確認(rèn)接收到的LBA符合來(lái)自上下文的預(yù)期的LBA。這些校驗(yàn)以及系統(tǒng)緩沖器ECC字節(jié)錯(cuò)誤(啟用時(shí))的結(jié)果通常都傳回DDM塊152。DDM塊152可以轉(zhuǎn)而將信息傳至選定的FLC156a至156n。DDIP也可以配置為生成和插入CRC??梢酝ㄟ^從各分區(qū)收集所有用戶數(shù)據(jù)字節(jié)而構(gòu)建整個(gè)用戶數(shù)據(jù)。同樣,可以通過從各分區(qū)收集元數(shù)據(jù)字節(jié)而構(gòu)建整個(gè)元數(shù)據(jù)。在一個(gè)示例中,可以收集元數(shù)據(jù)直到達(dá)到預(yù)定的上限。在一個(gè)示例中,DDIP可以具有默認(rèn)配置,其中DDIP僅路由已用用戶數(shù)據(jù)區(qū)域的部分進(jìn)/出系統(tǒng)緩沖器,并且僅路由已用數(shù)據(jù)區(qū)域部分進(jìn)/出上下文元。ECC區(qū)域可以分片/合并。可以修改默認(rèn)配置以提供多種變化。例如,DDIP可以被配置為(1)保持整個(gè)用戶數(shù)據(jù)區(qū)完好,包括未使用的字節(jié),(2)使進(jìn)/出系統(tǒng)緩沖器域的元數(shù)據(jù)區(qū)域保持用戶數(shù)據(jù),(3)分片/合并元數(shù)據(jù)區(qū)域,(4)保持ECC完好,和/或(5)保持整個(gè)分區(qū)完好(例如,沒有分片/合并)。上下文布局結(jié)構(gòu)300(在上面結(jié)合圖10所述的)可用于任何目標(biāo)中的頁(yè)的編程。頂端模塊之間的示例編程數(shù)據(jù)流可以概括如下。固件編程以CCB中的關(guān)聯(lián)存儲(chǔ)器指針、在處理器邏輯接口(PIL)150中、以命令對(duì)上下文編程。CCB通過CUP_168執(zhí)行到存儲(chǔ)器的寫入操作。固件可以啟用各自FLC156a至156η中的DMM206以允許上下文的執(zhí)行。各自的FLC156a至156η中的CM204通過CRP166從內(nèi)存提取上下文,并且處理用于調(diào)度各自的閃存總線控制器(FBC)154a至154η上的命令的上下文部分。DDM與FLC152針對(duì)上下文進(jìn)行通信,DDM152通過CRP166提取上下文,并且提供數(shù)據(jù)塊指針至各自的DTP塊158a至158η。各自的DTP塊158a至158η通過從上下文中解碼的指針從內(nèi)存請(qǐng)求數(shù)據(jù)。該請(qǐng)求是通過塊172a至172η和塊174a至174η組成的DMA接口數(shù)據(jù)端口(DDIP)進(jìn)行的。數(shù)據(jù)DMA接口端口(DDIP)在量子突發(fā)中從存儲(chǔ)器讀取數(shù)據(jù)。從內(nèi)存中讀取的數(shù)據(jù)通常通過由塊172a至172η和塊174a至174η形成的DDIP傳遞到DTP。在DTP中,如果啟用的話,數(shù)據(jù)可以進(jìn)行CRC校驗(yàn),并且如果啟用的話,ECC可以添加到用戶數(shù)據(jù)并傳遞到各自的FLC156a至156η。如果數(shù)據(jù)的完整性失敗,狀態(tài)更新到CCM塊164。各自的FLC156a至156η中的閃存操作管理器(F0M)208調(diào)度編程周期有關(guān)的命令和數(shù)據(jù)至各自的閃存總線控制器(FBC)154a至154η。各自的FBC154a至154η以閃存接口規(guī)范對(duì)閃存總線接口執(zhí)行編程操作。各自的FBC154a至154η讀取閃存操作完成的狀態(tài)。在操作完成時(shí),各自FBC154a至154η與各自FLC156A至156Ν通信,并且各自的FLC156a至156η與CCM164通信。CCM164保持中斷至固件以通知位于在CCM164相關(guān)的上下文寄存器中的上下文已完成,并且準(zhǔn)備好固件的檢查。然后,固件從CCM164讀取上下文。當(dāng)固件完成上下文的讀取和處理時(shí),固件可以保持允許加載另一消耗的上下文的信號(hào)(例如,位)?;镜拈W存讀取數(shù)據(jù)流可描述如下。一個(gè)上下文結(jié)構(gòu)用于讀取任何目標(biāo)頁(yè)。固件程序以CCB中的關(guān)聯(lián)存儲(chǔ)器指針在處理器邏輯接口(PIU150中以命令對(duì)上下文編程。CCB通過CUP_168執(zhí)行到存儲(chǔ)器的寫入操作。CCB通過CUP168執(zhí)行對(duì)存取器的寫入.固件啟用各自的FLC156a至156η中的DMM206以允許執(zhí)行上下文。各自的FLC156a至156η中的CM204通過CRP166從存儲(chǔ)器提取上下文,并且處理調(diào)度被用于各自的FBC154a至154η的命令所需的上下文部分。各自的FLC156a至FLC156n與各自的FLC154a至154η進(jìn)行通信以執(zhí)行對(duì)目標(biāo)的讀取命令。各自的FLC156a至156η與DDM152針對(duì)上下文進(jìn)行通信,DDM152通過CRP166提取上下文,并且提供數(shù)據(jù)塊的指針至各自的DTP塊158a至158η。在接收到從閃存通過各自的FBC154a至154η到各自的DTP158a至158η的數(shù)據(jù)時(shí),各自的DTP158a至158η通過來(lái)自上下文的解碼的指針請(qǐng)求要寫入存儲(chǔ)器的數(shù)據(jù)。各自的DTP158a至158η也通過由塊172a至172η和塊174a至174n(DDIP)形成的DMA接口數(shù)據(jù)端口這樣做。DDIP在量子突發(fā)中將數(shù)據(jù)寫入到存儲(chǔ)器。在DTP中,如果啟用的話,數(shù)據(jù)進(jìn)行ECC校驗(yàn),并且如果啟用的話,CRC添加到用戶數(shù)據(jù)并且該數(shù)據(jù)傳到DDIP。如果數(shù)據(jù)的完整性失敗,狀態(tài)更新到CCM塊164。在操作完成后,讀取操作的狀態(tài)被提供到CCM塊164。CCM塊164保持中斷至固件以通知固件,在CCM塊164的上下文寄存器中位于的上下文是完整的,并以為固件檢查做好準(zhǔn)備。固件讀取來(lái)自CCM塊164的上下文。當(dāng)固件完成上下文的讀取和處理,固件可以保持允許加載另一消耗上下文的信號(hào)(例如,位)。參照?qǐng)D11,圖中示出了根據(jù)本發(fā)明實(shí)施方式的閃存頁(yè)中的示例分區(qū)部分。NAND閃存存儲(chǔ)器通常被組織成包含用戶數(shù)據(jù)的頁(yè)。目前,最常見的頁(yè)大小為8KB。除了用戶數(shù)據(jù)的8KB,NAND閃存存儲(chǔ)器具有備用區(qū),其中可以包含用于多種用途的額外的字節(jié)。首先,備用區(qū)可以包含閃存管理信息(例如,LBA,序列號(hào),壞塊索引等),這通常被稱為頁(yè)元數(shù)據(jù)。接下來(lái),備用區(qū)可以包含錯(cuò)誤校正碼(ECC)的校驗(yàn)和/或端到端(endtoend)數(shù)據(jù)完整性檢查(EDC)的信息。ECC校驗(yàn)可用于用戶數(shù)據(jù)和元數(shù)據(jù)(例如,檢測(cè)和校正錯(cuò)誤)的數(shù)據(jù)保護(hù)。在一個(gè)示例中,除了8KB的用戶數(shù)據(jù),還可以有元數(shù)據(jù)、ECC,EDC之間可以共享的額外的512字節(jié)的備用區(qū)。物理頁(yè)可以包括多個(gè)分區(qū)。根據(jù)本發(fā)明實(shí)施方式的閃存介質(zhì)控制器可以使用傳統(tǒng)頁(yè)分區(qū)(regioning),但允許分區(qū)是可配置(例如,通過寄存器等)的。在一個(gè)示例中,可使用分區(qū)布局400配置各分區(qū)。可使用分區(qū)布局410配置各分區(qū)。當(dāng)使用分區(qū)布局400時(shí),每個(gè)分區(qū)可以包括跟在ECC406之后元數(shù)據(jù)區(qū)404、以及元數(shù)據(jù)區(qū)404之后用戶數(shù)據(jù)字段402。ECC406通常保護(hù)用戶數(shù)據(jù)402和元數(shù)據(jù)404。一般,分區(qū)400的大小以及用戶數(shù)據(jù)402和元數(shù)據(jù)404的大小是可配置的。此外,ECC區(qū)406的大小依存于用戶數(shù)據(jù)402和元數(shù)據(jù)404的大小。根據(jù)本發(fā)明方式的實(shí)施的閃存介質(zhì)控制器通常支持如同常規(guī)頁(yè)格式結(jié)構(gòu)的鄰接頁(yè)分區(qū)(abuttedpageregioning)。鄰接頁(yè)分區(qū)指的是多個(gè)分區(qū)鄰接。然而,該分區(qū)并不局限于2的冪;分區(qū)可以是任意大小。通過跟隨任何大小的分區(qū),根據(jù)本發(fā)明實(shí)施方式實(shí)施的閃存介質(zhì)控制器可支持較大的扇區(qū)、DIF、CRC和/或其他元數(shù)據(jù)。通常,所有的大小是可編程的。當(dāng)使用分區(qū)布局410時(shí),每個(gè)分區(qū)可以包括第一字段412和第二字段414。第一字段412通常包含可以是原始、加擾(如果啟用)和/或加密(如果啟用)的主機(jī)扇區(qū)數(shù)據(jù)。在一個(gè)示例中,用戶數(shù)據(jù)的大小可以512/1K/2K/4K字節(jié)加上η個(gè)雙字,其中η的范圍例如從O到32。在一個(gè)示例,當(dāng)前LBA可用于為加擾和加密引擎做種(seed)。第二字段414可以包含通常被稱為頁(yè)元數(shù)據(jù)的閃存管理信息(例如,LBA、序列號(hào)、壞塊索引等)。使用分區(qū)布局410,有兩種元數(shù)據(jù)可以被放置在物理頁(yè)中的方式(1)元數(shù)據(jù)跨分區(qū)分布,(2)整個(gè)元數(shù)據(jù)只放在最后一個(gè)分區(qū)。當(dāng)元數(shù)據(jù)跨分區(qū)分布時(shí),元數(shù)據(jù)一般被視為該分區(qū)的一部分。分區(qū)的大小以及用戶數(shù)據(jù)和元數(shù)據(jù)的大小一般是可配置的。在一個(gè)示例中,用戶數(shù)據(jù)和元數(shù)據(jù)的大小可以是可編程的(例如,通過寄存器)。通常,固件負(fù)責(zé)確保大小在物理頁(yè)的大小的限制內(nèi)進(jìn)行編程。參考圖12A和圖12B,圖12A和圖12B是示出了示例閃存頁(yè)結(jié)構(gòu)的示圖。根據(jù)本發(fā)明實(shí)施方式實(shí)施的閃存介質(zhì)控制器一般采用傳統(tǒng)的頁(yè)分區(qū),但允許頁(yè)分區(qū)是可配置的(例如,通過寄存器)。在一個(gè)示例中,可以使用分區(qū)布局400實(shí)施閃存頁(yè)結(jié)構(gòu)500。在另一示例中,可以使用分區(qū)布局410實(shí)施多個(gè)閃存結(jié)構(gòu)頁(yè)510、515、520、525、530、535。在一個(gè)示例中,在頁(yè)結(jié)構(gòu)500中的分區(qū)的元數(shù)據(jù)區(qū)中,元數(shù)據(jù)可以由左到右地表示。例如,通過具有8K字節(jié)大小的頁(yè)和512字節(jié)的備用區(qū)的閃存器件,512字節(jié)大小的主機(jī)扇區(qū)可適應(yīng)16個(gè)分區(qū),其中每個(gè)分區(qū)最大具有544字節(jié)。在一個(gè)示例中,每個(gè)分區(qū)可以包括512字節(jié)的用戶數(shù)據(jù)、四(4)字節(jié)的元數(shù)據(jù)、以及多達(dá)28字節(jié)的ECC。如果元數(shù)據(jù)總數(shù)為28字節(jié),元數(shù)據(jù)的4個(gè)字節(jié)將進(jìn)入前7個(gè)分區(qū)的每個(gè)分區(qū)的元數(shù)據(jù)區(qū),其余9個(gè)元數(shù)據(jù)區(qū)(例如,分區(qū)7到15分區(qū)中)將填充O或者或留作其他用途。當(dāng)DMA接口端口數(shù)據(jù)處理頁(yè)時(shí),數(shù)據(jù)DMA接口端口保持頁(yè)處理中的處理的追蹤,從而數(shù)據(jù)DMA接口端口知道在何處開始插入和收集元數(shù)據(jù),并且知道碼字(codeword)邊界所處的位置,其也是分區(qū)邊界所處的位置。雖然該分區(qū)的大小是可編程的,分區(qū)的大小不應(yīng)該大于ECC編解碼所能夠工作的最大的碼字。例如,BCHECC對(duì)1K+80信息字支持多達(dá)48位校正。對(duì)于每個(gè)校正位,添加16位校驗(yàn)。使用分區(qū)布局410,可實(shí)施各種閃存結(jié)構(gòu)頁(yè)510、515、520、525、530、535。在一個(gè)示例中,閃存頁(yè)可分為8個(gè)分區(qū),其中每個(gè)分區(qū)使用分區(qū)布局410構(gòu)成。閃存頁(yè)中未使用的備用區(qū),可以兩種方式利用。在第一示例中,元數(shù)據(jù)可以跨分區(qū)分布,如同分區(qū)的一部分(結(jié)構(gòu)510、520、530所示)。在第二示例中,整個(gè)元數(shù)據(jù)可以只放在頁(yè)的最后一個(gè)分區(qū)(結(jié)構(gòu)515、525,535所示)。在第一示例(結(jié)構(gòu)510和515所示)中,LDPC的信息字等于主機(jī)扇區(qū)大小。在這個(gè)示例中,各分區(qū)都附加有分離的EDC和ECC校驗(yàn)區(qū)。EDC以分區(qū)中的主機(jī)扇區(qū)的BA做種。在第二示例(結(jié)構(gòu)520和525所示)中,LDPC的信息字大于主機(jī)扇區(qū)大小。在這個(gè)示例中,每?jī)蓚€(gè)分區(qū)附加有分離的EDC和ECC校驗(yàn)。EDC以分區(qū)中的最后的主機(jī)扇區(qū)的LBA做種。在第三個(gè)示例(結(jié)構(gòu)530和535所示)中,LDPC的信息字小于主機(jī)扇區(qū)的大小。在這個(gè)示例中,一個(gè)分區(qū)內(nèi)附加有兩個(gè)ECC校驗(yàn)和一個(gè)EDC。EDC以分區(qū)內(nèi)的主機(jī)扇區(qū)的LBA作種。由于頁(yè)分區(qū)是配置的,可相應(yīng)地實(shí)施其他頁(yè)結(jié)構(gòu)以滿足特定實(shí)施的設(shè)計(jì)標(biāo)準(zhǔn)。參照?qǐng)D13,圖13示出了根據(jù)本發(fā)明實(shí)施方式的處理600的流程圖。處理(或方法)600總體上提供了用于根據(jù)本發(fā)明實(shí)施方式處理元數(shù)據(jù)的步驟。在一個(gè)示例中,處理600可以包括步驟(或狀態(tài))602、步驟(或狀態(tài))604、步驟(或狀態(tài))606、步驟(或狀態(tài))608和步驟(或狀態(tài))610。在步驟602中,處理600可以定義與存儲(chǔ)在上下文中的預(yù)定義的元數(shù)據(jù)大小相對(duì)應(yīng)的閾值。在步驟604,處理600可以等待從閃存器件讀取元數(shù)據(jù)或?qū)懭朐獢?shù)據(jù)至閃存器件的請(qǐng)求。當(dāng)要執(zhí)行讀取或?qū)懭氩僮?,處?00可以移動(dòng)至步驟606。在步驟606中,處理600可確定元數(shù)據(jù)的大小是否大于預(yù)定閾值。當(dāng)元數(shù)據(jù)的大小大于預(yù)定閾值,處理600可移動(dòng)至步驟608。當(dāng)元數(shù)據(jù)的大小小于或等于預(yù)定閾值,處理600可移動(dòng)至步驟610。在步驟608中,處理600可以存儲(chǔ)從閃存器件中讀取的元數(shù)據(jù)至與讀取交易相關(guān)的上下文結(jié)構(gòu)中(例如,通過上下文更新端口(CUP)168),或者從與寫入交易(例如,通過上下文檢索端口(CRP)166和BC_RD_I/F)相關(guān)的上下文結(jié)構(gòu)中檢索將編程入閃存器件的元數(shù)據(jù)(例如,通過上下文檢索端口(CRP)166和BC_RD_I/F)。在步驟610,處理600可以存儲(chǔ)從閃存器件中讀取的元數(shù)據(jù)至與讀取交易相關(guān)的上下文結(jié)構(gòu)中所定義的元數(shù)據(jù)指針?biāo)甘镜奈恢?例如,在外部系統(tǒng)緩沖器中),或者從與寫入交易相關(guān)聯(lián)的上下文結(jié)構(gòu)中定義的元數(shù)據(jù)指針?biāo)甘镜奈恢?例如,在外部系統(tǒng)緩沖器中)檢索將被編程至閃存器件中的元數(shù)據(jù)。例如,在編程命令中,將通過各自的數(shù)據(jù)DMA讀取接口端口(DDRIP)172a到172η和BC_RD_I/F檢索元數(shù)據(jù),在讀取命令中,將通過各自的數(shù)據(jù)DMA寫入接口端口(DDWIP)174a到174η和BC_WR_I/F更新元數(shù)據(jù)。在完成步驟608或者步驟610中的交易后,處理600可以返回的步驟604。根據(jù)本發(fā)明實(shí)施方式的閃存介質(zhì)控制器(FMC)總體上提供了處理存儲(chǔ)在系統(tǒng)緩沖和/或閃存介質(zhì)控制器中的元數(shù)據(jù)的各種方法。根據(jù)本發(fā)明實(shí)施方式的閃存介質(zhì)控制器可以包括以下用于元數(shù)據(jù)處理的特征??梢栽诿總€(gè)上下文基礎(chǔ)上定義元數(shù)據(jù)信息,其中,在每個(gè)頁(yè)基礎(chǔ)上定義上下文。當(dāng)元數(shù)據(jù)的大小小于或等于預(yù)定閾值,可以在上下文結(jié)構(gòu)中存儲(chǔ)完整的元數(shù)據(jù)。在閃存編程周期中,來(lái)自上下文(例如,通過CRP166和BC_RD_I/F)的元數(shù)據(jù)可以存儲(chǔ)在閃存目標(biāo)中,并且在讀取周期中,從閃存目標(biāo)中讀取的元數(shù)據(jù)可以被存回上下文結(jié)構(gòu)中(例如,通過CUP168)。當(dāng)元數(shù)據(jù)的大小大于預(yù)定閾值時(shí),可以在上下文中定義元數(shù)據(jù)指針,而不是在上下文結(jié)構(gòu)中存儲(chǔ)元數(shù)據(jù)。元數(shù)據(jù)指針可以提供地址指針,以在閃存編程周期從外部系統(tǒng)存儲(chǔ)器檢索元數(shù)據(jù)(例如,通過各自的DDRIP和BC_RD_I/F)和將來(lái)自閃存讀取命令中的讀取數(shù)據(jù)存儲(chǔ)至上下文指定的元數(shù)據(jù)指針?biāo)甘镜耐獠肯到y(tǒng)存儲(chǔ)器中的位置(例如,通過各自的DDWIP和BC_WR_I/F)。在另一示例中,F(xiàn)MC可被配置為元數(shù)據(jù)的一部分由上下文處理,而元數(shù)據(jù)的另一部分是由外部系統(tǒng)存儲(chǔ)器處理。元數(shù)據(jù)的大小通常由閃存交易層(FTL)定義。在一個(gè)示例中,F(xiàn)TL可以使用大約12個(gè)字節(jié)的元數(shù)據(jù)。圖10中所示的上下文300中的最大可用備用區(qū)為28個(gè)字節(jié)??紤]到上下文300的FTL元數(shù)據(jù)大小參數(shù)和備用區(qū)參數(shù),可以選擇28字節(jié)的預(yù)定閾值。例如,當(dāng)元數(shù)據(jù)的大小小于等于28字節(jié),可以在閃存介質(zhì)控制器中的閃存通道控制器中的上下文結(jié)構(gòu)中存儲(chǔ)完整的元數(shù)據(jù)。在閃存編程周期中,來(lái)自上下文的元數(shù)據(jù)可以存儲(chǔ)在閃存目標(biāo)中,并且在讀取周期,從閃存目標(biāo)讀取的元數(shù)據(jù)可存儲(chǔ)在上下文結(jié)構(gòu)中。當(dāng)元數(shù)據(jù)的大小大于28個(gè)字節(jié)時(shí),閃存通道控制器在上下文中定義指向外部存儲(chǔ)器中存儲(chǔ)元數(shù)據(jù)的位置的元數(shù)據(jù)指針,而不是將元數(shù)據(jù)存儲(chǔ)在上下文結(jié)構(gòu)中。在頁(yè)大小為主機(jī)大小的倍數(shù)的情況下(例如,如圖12所示),元數(shù)據(jù)一般對(duì)每個(gè)主機(jī)用戶數(shù)據(jù)進(jìn)行分配。例如,對(duì)于IK字節(jié)的頁(yè)大小和1024個(gè)字節(jié)的主機(jī)大小,在閃存編程命令中,來(lái)自上下文的28個(gè)字節(jié)可分配在兩個(gè)主機(jī)用戶數(shù)據(jù)之間(例如,對(duì)每個(gè)用戶數(shù)據(jù)14個(gè)字節(jié)的元數(shù)據(jù))主機(jī)用戶數(shù)據(jù)I(512個(gè)字節(jié))+元數(shù)據(jù)I(14個(gè)字節(jié))+ECC+主機(jī)用戶數(shù)據(jù)2(512個(gè)字節(jié))+元數(shù)據(jù)2(14個(gè)字節(jié))+ECC。一般通過使用ECC保護(hù)元數(shù)據(jù)。ECC的使用通常對(duì)元數(shù)據(jù)部分提供了完整性校驗(yàn)和校正。本發(fā)明的各種信號(hào),一般均為“開”(on)(例如,數(shù)字高,或I)或“關(guān)”(off)(例如,數(shù)字低,或O)。然而,信號(hào)狀態(tài)的特定極性的開(例如,保持)和關(guān)(例如,解除)可以相應(yīng)地被調(diào)整(例如,顛倒),以滿足特定實(shí)施方式的設(shè)計(jì)標(biāo)準(zhǔn)。正如相關(guān)領(lǐng)域技術(shù)人員所顯而易見的,圖1到圖9以及圖13的示圖所實(shí)施的功能可以使用一個(gè)或多個(gè)傳統(tǒng)的通用處理器、數(shù)字式計(jì)算機(jī)、微處理器、微控制器、RISC(精簡(jiǎn)指令集計(jì)算機(jī))處理器、CISC(復(fù)雜指令集計(jì)算機(jī))處理器、SMD(單指令多數(shù)據(jù))處理器、數(shù)字信號(hào)處理器、中央處理單元(CPU)、算術(shù)邏輯單元(ALU)、視頻數(shù)字信號(hào)處理器(VDSP)和/或類似計(jì)算機(jī)來(lái)實(shí)現(xiàn),并且可以根據(jù)本說(shuō)明書的教導(dǎo)進(jìn)行編程。還正如相關(guān)領(lǐng)域技術(shù)人員所顯而易見的,熟練的編程員可以基于本發(fā)明的說(shuō)明來(lái)編制合適的軟件、固件、編碼、編程、指令、操作碼、微碼、和/或編程模塊。軟件通常從一個(gè)中等或多個(gè)介質(zhì)中由機(jī)器實(shí)施的一個(gè)或多個(gè)處理器來(lái)執(zhí)行。本發(fā)明也可以通過ASIC(專用集成電路)、平臺(tái)ASIC、FPGA(現(xiàn)場(chǎng)可編程門陣列)、PLD(可編程邏輯器件)、CPLD(復(fù)雜可編程邏輯器件)、海量門(sea-of-gates)、RFIC(射頻集成電路)、ASSP(特定應(yīng)用標(biāo)準(zhǔn)產(chǎn)品)、一個(gè)或多個(gè)單片集成電路、排列為倒裝芯片(flip-chip)模塊和/或多芯片模塊的一個(gè)或多個(gè)芯片或裸片、或與常規(guī)部件電路網(wǎng)絡(luò)適當(dāng)互連的芯片的準(zhǔn)備方式而實(shí)現(xiàn),如本文所描述的,其修改對(duì)于本領(lǐng)域技術(shù)人員是顯而易見的。因此,本發(fā)明還可以包括計(jì)算機(jī)產(chǎn)品,其可以是包括指令的存儲(chǔ)介質(zhì)和/或傳輸介質(zhì),其中,該指令可用于對(duì)機(jī)器編程以執(zhí)行一個(gè)或多個(gè)根據(jù)本發(fā)明的處理或方法。由機(jī)器進(jìn)行的計(jì)算機(jī)產(chǎn)品中所含指令的執(zhí)行,隨著周圍電路的操作,可以將輸入數(shù)據(jù)轉(zhuǎn)換成存儲(chǔ)介質(zhì)上的一個(gè)或多個(gè)文件,和/或轉(zhuǎn)換成表示物理對(duì)象或物質(zhì)的諸如音頻和/或視覺描述(depiction)的一個(gè)或多個(gè)輸出信號(hào)。存儲(chǔ)介質(zhì)可以包括但不僅限于軟盤、硬盤、磁盤、光盤、CD-ROMDVD和磁光盤的任何類型的圓盤,諸如ROM(只讀取存儲(chǔ)器)、RAM(隨機(jī)存取存儲(chǔ)器)、EPR0M(可擦除可編程ROM)、EEPROM(電可擦除可編程ROM)、UVPROM(紫外線可擦除可編程ROM)、閃存、磁卡、光卡的電路,和/或任何合適的用于存儲(chǔ)電子指令的介質(zhì)類型。本發(fā)明的元件可以形成一個(gè)或多個(gè)裝置、單元、部件、系統(tǒng)、機(jī)器和/或裝置的一部分或全部。這些裝置可以包括但不限于服務(wù)器、工作站、存儲(chǔ)陣列控制器、存儲(chǔ)系統(tǒng)、單個(gè)電腦、筆記本電腦、筆記本電腦、掌上電腦、單個(gè)數(shù)字助理、便攜式電子器件、電池供電器件、機(jī)頂盒編碼器、解碼器、轉(zhuǎn)碼器、壓縮機(jī)、解壓縮、預(yù)處理器、后處理器、發(fā)射器、接收器、收發(fā)器、密碼電路、蜂窩電話、數(shù)碼相機(jī)、定位和/或?qū)Ш较到y(tǒng)、醫(yī)療器件、頭戴式顯示器、無(wú)線器件、錄音、音頻存儲(chǔ)和/或音頻播放器件、錄像、視頻存儲(chǔ)和/或視頻播放器件、游戲平臺(tái)、外圍器件和/或多芯片模塊。相關(guān)領(lǐng)域技術(shù)人員應(yīng)當(dāng)了解,本發(fā)明的元件可以在其他類型的裝置中實(shí)現(xiàn),以滿足特定應(yīng)用的標(biāo)準(zhǔn)。盡管本發(fā)明已參考其優(yōu)選實(shí)施方式進(jìn)行了特別說(shuō)明和描述,但是相關(guān)領(lǐng)域技術(shù)人員應(yīng)當(dāng)理解,在不背離本發(fā)明的范圍的前提下可以在形式和細(xì)節(jié)上進(jìn)行各種變化。權(quán)利要求1.一種用于在閃存介質(zhì)控制器中處理存儲(chǔ)在閃存存儲(chǔ)器的頁(yè)中的元數(shù)據(jù)的方法,所述方法包括在每個(gè)上下文的基礎(chǔ)上定義所述元數(shù)據(jù),其中,所述上下文是基于每個(gè)頁(yè)定義的;當(dāng)所述元數(shù)據(jù)的大小小于等于預(yù)定閾值時(shí),將完整的元數(shù)據(jù)存儲(chǔ)在上下文結(jié)構(gòu)中;以及當(dāng)所述元數(shù)據(jù)的大小大于所述預(yù)定閾值時(shí),在所述上下文中定義元數(shù)據(jù)指針。2.根據(jù)權(quán)利要求1所述的方法,還包括使用錯(cuò)誤校正碼來(lái)保護(hù)所述元數(shù)據(jù)。3.根據(jù)權(quán)利要求1所述的方法,其中,所述元數(shù)據(jù)包含管理數(shù)據(jù)。4.根據(jù)權(quán)利要求1所述的方法,其中,所述預(yù)定閾值指定每頁(yè)的字節(jié)數(shù)。5.根據(jù)權(quán)利要求1所述的方法,其中,在閃存編程周期期間,將來(lái)自所述上下文結(jié)構(gòu)的所述元數(shù)據(jù)存儲(chǔ)在閃存目標(biāo)中,并且在讀取周期期間,將從所述閃存目標(biāo)讀取的所述元數(shù)據(jù)存回所述上下文結(jié)構(gòu)中。6.根據(jù)權(quán)利要求1所述的方法,其中,所述元數(shù)據(jù)指針提供地址指針,以在閃存編程周期期間從外部系統(tǒng)存儲(chǔ)器檢索所述元數(shù)據(jù),并且將來(lái)自閃存讀取命令的所述元數(shù)據(jù)存儲(chǔ)至所述外部系統(tǒng)存儲(chǔ)器中由所述上下文指定的所述元數(shù)據(jù)指針?biāo)甘镜奈恢锰帯?.根據(jù)權(quán)利要求1所述的方法,其中在閃存編程周期期間,將被存儲(chǔ)在閃存目標(biāo)中的元數(shù)據(jù)的第一部分來(lái)自所述上下文結(jié)構(gòu),并且將被存儲(chǔ)在所述閃存目標(biāo)中的所述元數(shù)據(jù)的第二部分來(lái)自外部系統(tǒng)存儲(chǔ)器中由所述上下文指定的所述元數(shù)據(jù)指針?biāo)甘镜奈恢茫灰约霸谧x取周期期間,將從所述閃存目標(biāo)中讀取的所述元數(shù)據(jù)的所述第一部分存回所述上下文結(jié)構(gòu)中,并且將所述第二部分存儲(chǔ)在所述外部系統(tǒng)存儲(chǔ)器中由所述上下文指定的所述元數(shù)據(jù)指針?biāo)甘镜奈恢锰帯?.根據(jù)權(quán)利要求1所述的方法,其中,當(dāng)頁(yè)大小為主機(jī)大小的倍數(shù)時(shí),將所述元數(shù)據(jù)在多個(gè)主機(jī)用戶數(shù)據(jù)扇區(qū)的每一個(gè)之間分配。9.一種裝置,包括包含多個(gè)閃存介質(zhì)器件的閃存存儲(chǔ)器,所述閃存存儲(chǔ)器被組織成多個(gè)頁(yè);閃存介質(zhì)控制器,被配置為將元數(shù)據(jù)存儲(chǔ)在所述閃存存儲(chǔ)器的一個(gè)或多個(gè)頁(yè)中,其中,(i)所述閃存介質(zhì)控制器在每個(gè)頁(yè)的基礎(chǔ)上定義所述上下文,并且基于每個(gè)上下文定義所述元數(shù)據(jù),()當(dāng)所述元數(shù)據(jù)的大小小于等于預(yù)定閾值時(shí),所述閃存介質(zhì)控制器將完整的元數(shù)據(jù)存儲(chǔ)在上下文結(jié)構(gòu)中,(iii)當(dāng)所述元數(shù)據(jù)的大小大于所述預(yù)定閾值時(shí),所述閃存介質(zhì)控制器在所述上下文中定義元數(shù)據(jù)指針。10.根據(jù)權(quán)利要求9所述的裝置,其中,所述閃存介質(zhì)控制器使用錯(cuò)誤校正碼保護(hù)所述元數(shù)據(jù)。11.根據(jù)權(quán)利要求9所述的裝置,其中,所述元數(shù)據(jù)包含管理數(shù)據(jù)。12.根據(jù)權(quán)利要求9所述的裝置,其中,對(duì)于小于等于所述預(yù)定閾值的元數(shù)據(jù)大小在閃存編程周期期間,所述閃存介質(zhì)控制器將來(lái)自所述上下文結(jié)構(gòu)的所述元數(shù)據(jù)存儲(chǔ)在閃存目標(biāo)中;以及在讀取周期期間,所述閃存介質(zhì)控制器將從所述閃存目標(biāo)中讀取的所述元數(shù)據(jù)存回所述上下文結(jié)構(gòu)中。13.根據(jù)權(quán)利要求9所述的裝置,其中,所述預(yù)定閾值定義每頁(yè)的字節(jié)數(shù)。14.根據(jù)權(quán)利要求9所述的裝置,其中,所述元數(shù)據(jù)指針提供由所述閃存介質(zhì)控制器使用的地址指針,以在閃存編程周期期間從外部系統(tǒng)存儲(chǔ)器檢索所述元數(shù)據(jù),并且將來(lái)自閃存讀取命令的所述元數(shù)據(jù)存儲(chǔ)至所述外部系統(tǒng)存儲(chǔ)器中由所述上下文指定的所述元數(shù)據(jù)指針?biāo)甘镜奈恢弥小?5.根據(jù)權(quán)利要求9所述的裝置,其中,在閃存編程周期期間,將被存儲(chǔ)在閃存目標(biāo)中的元數(shù)據(jù)的第一部分來(lái)自所述上下文結(jié)構(gòu),并且將被存儲(chǔ)在閃存目標(biāo)中的所述元數(shù)據(jù)的第二部分來(lái)自外部系統(tǒng)存儲(chǔ)器中由所述上下文指定的所述元數(shù)據(jù)指針?biāo)甘镜奈恢茫灰约霸谧x取周期期間,將從所述閃存目標(biāo)讀取的所述元數(shù)據(jù)的所述第一部分存回所述上下文結(jié)構(gòu)中,并且將所述第二部分存儲(chǔ)在所述外部系統(tǒng)存儲(chǔ)器中由所述上下文指定的所述元數(shù)據(jù)指針?biāo)甘镜奈恢锰帯?6.根據(jù)權(quán)利要求9所述的裝置,其中,當(dāng)所述閃存存儲(chǔ)器的頁(yè)的大小為主機(jī)大小的倍數(shù)時(shí),所述閃存介質(zhì)控制器還被配置為在多個(gè)主機(jī)用戶數(shù)據(jù)扇區(qū)的每一個(gè)之間分配所述元數(shù)據(jù)。17.—種閃存存儲(chǔ)器系統(tǒng),包括用于在每個(gè)上下文的基礎(chǔ)上定義元數(shù)據(jù)的裝置,其中,所述上下文是基于每個(gè)頁(yè)定義的;用于當(dāng)所述元數(shù)據(jù)的大小小于等于預(yù)定閾值時(shí)、將完整的元數(shù)據(jù)存儲(chǔ)在上下文結(jié)構(gòu)中的裝置;以及用于當(dāng)所述元數(shù)據(jù)的大小大于所述預(yù)定閾值時(shí)、在所述上下文中定義元數(shù)據(jù)指針的裝置。全文摘要本發(fā)明公開了閃存介質(zhì)控制器中的元數(shù)據(jù)處理,其中,處理存儲(chǔ)在閃存介質(zhì)控制器中的閃存存儲(chǔ)器的頁(yè)中的元數(shù)據(jù)的方法總體上包括(ⅰ)在每個(gè)上下文的基礎(chǔ)上定義元數(shù)據(jù),其中,上下文基于每個(gè)頁(yè)來(lái)定義,(ii)當(dāng)元數(shù)據(jù)的大小小于等于預(yù)定閾值時(shí),將完整的元數(shù)據(jù)存儲(chǔ)在上下文結(jié)構(gòu)中,以及(iii)當(dāng)元數(shù)據(jù)的大小大于預(yù)定閾值時(shí),定義上下文中的元數(shù)據(jù)指針。文檔編號(hào)G06F12/02GK103034562SQ20121024420公開日2013年4月10日申請(qǐng)日期2012年7月13日優(yōu)先權(quán)日2011年7月14日發(fā)明者維奈·阿肖克·蘇曼納切,邁克爾·S·???帕米拉·S·亨普斯特德,蒂莫西·W·斯瓦托什,杰克遜·L·埃利斯,馬丁·S·德爾申請(qǐng)人:Lsi公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
齐齐哈尔市| 龙泉市| 交口县| 昌图县| 个旧市| 米易县| 齐齐哈尔市| 海淀区| 长兴县| 靖边县| 张家口市| 惠州市| 葫芦岛市| 顺平县| 屏山县| 抚松县| 咸阳市| 昌邑市| 化德县| 湘阴县| 阿克苏市| 彰武县| 焉耆| 土默特左旗| 云和县| 平乡县| 磐石市| 安陆市| 无极县| 桃源县| 盐亭县| 开封市| 师宗县| 永仁县| 湄潭县| 桦甸市| 恩施市| 那曲县| 象州县| 仲巴县| 永城市|